<?php
require_once 'conexao.php';
session_start();

// Verifica se usuário está logado
if (!isset($_SESSION['logado']) || $_SESSION['logado'] !== true) {
    header("Location: login.php");
    exit;
}

$tenant_id = $_SESSION['tenant_id'] ?? null;
$usuario_id = $_SESSION['usuario_id'] ?? 0;
$nome_usuario = $_SESSION['nome_usuario'] ?? 'Sistema';

if (!$tenant_id) {
    die("Tenant não definido.");
}

// CSRF token
if (!isset($_SESSION['csrf_token'])) {
    $_SESSION['csrf_token'] = bin2hex(random_bytes(32));
}

$erro = '';
$sucesso = '';

// Processar restauração de cliente
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['restaurar'])) {
    // Validar CSRF token
    if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
        $erro = 'Token de segurança inválido.';
    } else {
        $cliente_perdido_id = intval($_POST['cliente_perdido_id'] ?? 0);
        $cliente_id = intval($_POST['cliente_id'] ?? 0);
        $observacoes = trim($_POST['observacoes'] ?? '');

        if ($cliente_perdido_id <= 0 || $cliente_id <= 0) {
            $erro = 'Dados inválidos para restauração.';
        } else {
            // Iniciar transação
            $conn->begin_transaction();
            
            try {
                // 1. Buscar dados originais do funil
                $sqlBuscarOriginais = "SELECT funil_id_original, etapa_funil_id_original 
                                      FROM clientes_perdidos 
                                      WHERE id = ? AND tenant_id = ? AND restaurado = 0";
                $stmtBuscarOriginais = $conn->prepare($sqlBuscarOriginais);
                $stmtBuscarOriginais->bind_param("ii", $cliente_perdido_id, $tenant_id);
                $stmtBuscarOriginais->execute();
                $resultBuscarOriginais = $stmtBuscarOriginais->get_result();
                
                if ($resultBuscarOriginais->num_rows === 0) {
                    throw new Exception("Registro de cliente perdido não encontrado.");
                }
                
                $originais = $resultBuscarOriginais->fetch_assoc();
                $funil_id_original = $originais['funil_id_original'];
                $etapa_funil_id_original = $originais['etapa_funil_id_original'];
                $stmtBuscarOriginais->close();
                
                // Verificar se o funil original ainda existe
                $funil_id_final = $funil_id_original;
                $etapa_id_final = $etapa_funil_id_original;
                
                if ($funil_id_original) {
                    $sqlVerificarFunil = "SELECT id FROM funis WHERE id = ? AND tenant_id = ? AND ativo = 1";
                    $stmtVerificarFunil = $conn->prepare($sqlVerificarFunil);
                    $stmtVerificarFunil->bind_param("ii", $funil_id_original, $tenant_id);
                    $stmtVerificarFunil->execute();
                    
                    if ($stmtVerificarFunil->get_result()->num_rows === 0) {
                        // Funil não existe mais, usar funil padrão
                        $sqlFunilPadrao = "SELECT id FROM funis WHERE padrao = 1 AND tenant_id = ? AND ativo = 1 LIMIT 1";
                        $stmtFunilPadrao = $conn->prepare($sqlFunilPadrao);
                        $stmtFunilPadrao->bind_param("i", $tenant_id);
                        $stmtFunilPadrao->execute();
                        $resultFunilPadrao = $stmtFunilPadrao->get_result();
                        
                        if ($resultFunilPadrao->num_rows > 0) {
                            $funilPadrao = $resultFunilPadrao->fetch_assoc();
                            $funil_id_final = $funilPadrao['id'];
                            $etapa_id_final = null; // Resetar etapa
                        } else {
                            $funil_id_final = null;
                            $etapa_id_final = null;
                        }
                        $stmtFunilPadrao->close();
                    }
                    $stmtVerificarFunil->close();
                    
                    // Se tiver etapa original, verificar se ainda existe
                    if ($etapa_funil_id_original && $funil_id_final) {
                        $sqlVerificarEtapa = "SELECT id FROM etapas_funis WHERE id = ? AND funil_id = ?";
                        $stmtVerificarEtapa = $conn->prepare($sqlVerificarEtapa);
                        $stmtVerificarEtapa->bind_param("ii", $etapa_funil_id_original, $funil_id_final);
                        $stmtVerificarEtapa->execute();
                        
                        if ($stmtVerificarEtapa->get_result()->num_rows === 0) {
                            $etapa_id_final = null; // Etapa não existe mais
                        }
                        $stmtVerificarEtapa->close();
                    }
                }
                
                // 2. Atualizar registro na tabela clientes_perdidos
                $stmt = $conn->prepare("UPDATE clientes_perdidos SET restaurado = 1, data_restaurado = NOW(), observacoes = ? WHERE id = ? AND tenant_id = ?");
                $stmt->bind_param("sii", $observacoes, $cliente_perdido_id, $tenant_id);
                $stmt->execute();
                $stmt->close();

                // 3. Atualizar cliente: restaurar status E funil/etapa originais
                $sqlUpdateCliente = "UPDATE clientes 
                                    SET status = 1, 
                                        funil_id = ?, 
                                        etapa_funil_id = ?,
                                        atualizado_em = NOW() 
                                    WHERE id = ? AND tenant_id = ?";
                
                $stmtUpdate = $conn->prepare($sqlUpdateCliente);
                $stmtUpdate->bind_param("iiii", $funil_id_final, $etapa_id_final, $cliente_id, $tenant_id);
                
                if (!$stmtUpdate->execute()) {
                    throw new Exception("Erro ao restaurar cliente: " . $stmtUpdate->error);
                }
                $stmtUpdate->close();

                // 4. Registrar log da restauração
                $stmtLog = $conn->prepare("INSERT INTO cliente_logs 
                                          (cliente_id, usuario_id, nome_usuario, acao, detalhes, tenant_id, data_hora) 
                                          VALUES (?, ?, ?, ?, ?, ?, NOW())");
                
                $acao = "Cliente restaurado";
                $detalhes = "Cliente restaurado da lista de clientes perdidos e retornado ao funil.";
                
                if ($funil_id_final) {
                    // Buscar nome do funil
                    $sqlNomeFunil = "SELECT nome FROM funis WHERE id = ?";
                    $stmtNomeFunil = $conn->prepare($sqlNomeFunil);
                    $stmtNomeFunil->bind_param("i", $funil_id_final);
                    $stmtNomeFunil->execute();
                    $resultNomeFunil = $stmtNomeFunil->get_result();
                    
                    if ($resultNomeFunil->num_rows > 0) {
                        $nomeFunil = $resultNomeFunil->fetch_assoc()['nome'];
                        $detalhes .= " Funil: " . $nomeFunil;
                    }
                    $stmtNomeFunil->close();
                }
                
                if (!empty($observacoes)) {
                    $detalhes .= " Observações: " . $observacoes;
                }
                
                $stmtLog->bind_param("iissss", $cliente_id, $usuario_id, $nome_usuario, $acao, $detalhes, $tenant_id);
                $stmtLog->execute();
                $stmtLog->close();

                $conn->commit();
                $sucesso = 'Cliente restaurado com sucesso! Retornado ao funil original.';
                
            } catch (Exception $e) {
                $conn->rollback();
                $erro = 'Erro ao restaurar cliente: ' . $e->getMessage();
            }
        }
    }
}

// Consulta clientes perdidos com informações do funil original
$sql = "SELECT cp.*, 
               c.Nome_Cliente, 
               c.Email, 
               c.Telefone, 
               c.status as cliente_status,
               u.nome as usuario_nome,
               f.nome as funil_original_nome,
               ef.nome as etapa_original_nome
        FROM clientes_perdidos cp
        JOIN clientes c ON cp.cliente_id = c.id
        LEFT JOIN usuarios u ON cp.usuario_id = u.id
        LEFT JOIN funis f ON cp.funil_id_original = f.id
        LEFT JOIN etapas_funis ef ON cp.etapa_funil_id_original = ef.id
        WHERE cp.tenant_id = ? AND cp.restaurado = 0
        ORDER BY cp.data_perdido DESC";

$stmt = $conn->prepare($sql);
$stmt->bind_param("i", $tenant_id);
$stmt->execute();
$resultado = $stmt->get_result();
$clientesPerdidos = $resultado->fetch_all(MYSQLI_ASSOC);
$stmt->close();

?>

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>SON - Negócios Perdidos</title>
    <link rel="icon" type="image/png" sizes="16x16" href="/favicon_io/favicon-16x16.png">
    <link rel="icon" type="image/png" sizes="32x32" href="/favicon_io/favicon-32x32.png">
    <meta name="csrf-token" content="<?= htmlspecialchars($_SESSION['csrf_token'] ?? '') ?>">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
    <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 0;
            background-color: #f5f5f5;
        }

        .header-fixed {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            background-color: #f5f5f5;
            padding: 15px 20px;
            z-index: 1000;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        
        .header-fixed img {
            height: 50px;
            margin-right: 15px;
        }
        
        .header-fixed h2 {
            margin: 0;
            flex-grow: 1;
            text-align: center;
        }
        
        /* Menu Lateral */
        .sidebar {
            position: fixed;
            left: 0;
            top: 80px;
            height: calc(100vh - 80px);
            width: 60px;
            background: white;
            box-shadow: 2px 0 5px rgba(0,0,0,0.1);
            z-index: 999;
            transition: width 0.3s ease;
            overflow-x: hidden;
        }
        
        .sidebar-menu {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        
        .sidebar-menu li {
            border-bottom: 1px solid #eee;
        }
        
        .sidebar-menu a {
            display: flex;
            align-items: center;
            padding: 15px 20px;
            text-decoration: none;
            color: #333;
            white-space: nowrap;
            transition: background-color 0.3s;
        }
        
        .sidebar-menu i {
            width: 24px;
            height: 24px;
            margin-right: 15px;
            text-align: center;
            flex-shrink: 0;
        }
        
        .sidebar-menu .menu-text {
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        /* Classes para menu */
        .menu-btn-success {
            color: #6B8E23;
        }
        
        .menu-btn-primary {
            color: #0000FF;
        }
        
        .menu-btn-danger {
            color: #e74c3c;
        }
        
        .content-wrapper {
            margin-top: 20px;
            padding: 60px;
            margin-right: 80px;
            margin-left: 80px;
            transition: margin-left 0.3s ease;
        }
        
        .container {
            max-width: 1200px;
            margin: 0 auto;
            background: white;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 0 10px rgba(0,0,0,0.1);
        }
        
        h1 {
            color: #333;
            border-bottom: 1px solid #eee;
            padding-bottom: 10px;
            margin-top: 0;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        
        /* Estilos para a tabela */
        .table-responsive {
            overflow-x: auto;
            margin-top: 20px;
        }
        
        table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 10px;
        }
        
        thead {
            background-color: #f8f9fa;
        }
        
        th, td {
            padding: 12px 15px;
            text-align: left;
            border-bottom: 1px solid #dee2e6;
        }
        
        th {
            font-weight: 600;
            color: #495057;
            white-space: nowrap;
        }
        
        tr:hover {
            background-color: #f8f9fa;
        }
        
        .badge {
            display: inline-block;
            padding: 4px 8px;
            border-radius: 4px;
            font-size: 12px;
            font-weight: 600;
        }
        
        .badge-danger {
            background-color: #f8d7da;
            color: #721c24;
        }
        
        .badge-warning {
            background-color: #fff3cd;
            color: #856404;
        }
        
        .badge-success {
            background-color: #d4edda;
            color: #155724;
        }
        
        .badge-info {
            background-color: #d1ecf1;
            color: #0c5460;
        }
        
        .actions {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
        }
        
        .btn-action {
            padding: 6px 12px;
            border: none;
            border-radius: 4px;
            color: white;
            cursor: pointer;
            font-size: 14px;
            transition: all 0.3s;
            display: inline-flex;
            align-items: center;
            gap: 5px;
            text-decoration: none;
        }
        
        .btn-view {
            background-color: #3498db;
        }
        
        .btn-view:hover {
            background-color: #2980b9;
        }
        
        .btn-restore {
            background-color: #27ae60;
        }
        
        .btn-restore:hover {
            background-color: #219653;
        }
        
        .btn-edit {
            background-color: #f39c12;
        }
        
        .btn-edit:hover {
            background-color: #d68910;
        }
        
        .empty-state {
            text-align: center;
            padding: 40px 20px;
            color: #6c757d;
        }
        
        .empty-state i {
            font-size: 48px;
            margin-bottom: 20px;
            color: #dee2e6;
        }
        
        .empty-state h3 {
            margin-bottom: 10px;
            color: #495057;
        }
        
        .alert {
            padding: 15px;
            margin-bottom: 20px;
            border: 1px solid transparent;
            border-radius: 4px;
            text-align: center;
        }
        
        .alert-success {
            background-color: #dff0d8;
            border-color: #d6e9c6;
            color: #3c763d;
        }
        
        .alert-danger {
            background-color: #f2dede;
            border-color: #ebccd1;
            color: #a94442;
        }
        
        /* Modal para restauração */
        .modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: rgba(0,0,0,0.5);
            z-index: 1001;
            align-items: center;
            justify-content: center;
        }
        
        .modal-content {
            background: white;
            padding: 20px;
            border-radius: 8px;
            max-width: 500px;
            width: 90%;
            max-height: 80vh;
            overflow-y: auto;
        }
        
        .modal-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
            border-bottom: 1px solid #eee;
            padding-bottom: 10px;
        }
        
        .modal-title {
            margin: 0;
            font-size: 1.2em;
            color: #333;
        }
        
        .close-modal {
            background: none;
            border: none;
            font-size: 24px;
            cursor: pointer;
            color: #999;
        }
        
        .close-modal:hover {
            color: #333;
        }
        
        .form-group {
            margin-bottom: 20px;
        }
        
        .form-group label {
            display: block;
            margin-bottom: 8px;
            font-weight: 600;
            color: #555;
        }
        
        .form-group textarea,
        .form-group input {
            width: 100%;
            padding: 12px;
            border: 1px solid #ddd;
            border-radius: 4px;
            font-size: 14px;
            box-sizing: border-box;
        }
        
        .form-group textarea {
            resize: vertical;
            min-height: 100px;
        }
        
        .form-group input:read-only {
            background-color: #f8f9fa;
            cursor: not-allowed;
        }
        
        .form-group textarea:focus,
        .form-group input:focus {
            border-color: #3498db;
            outline: none;
            box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.2);
        }
        
        .modal-footer {
            display: flex;
            justify-content: flex-end;
            gap: 10px;
            margin-top: 20px;
        }
        
        .btn {
            padding: 10px 20px;
            border: none;
            border-radius: 4px;
            color: white;
            cursor: pointer;
            font-size: 14px;
            transition: all 0.3s;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
        }
        
        .btn-primary {
            background-color: #3498db;
        }
        
        .btn-primary:hover {
            background-color: #2980b9;
        }
        
        .btn-secondary {
            background-color: #6c757d;
        }
        
        .btn-secondary:hover {
            background-color: #5a6268;
        }
        
        .user-initial {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: #ccc;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            font-size: 1.2em;
        }
        
        .funil-info {
            background-color: #f8f9fa;
            border-left: 4px solid #3498db;
            padding: 10px 15px;
            margin: 10px 0;
            border-radius: 4px;
        }
        
        .funil-info h4 {
            margin: 0 0 5px 0;
            color: #495057;
            font-size: 0.95em;
        }
        
        .funil-info p {
            margin: 0;
            color: #6c757d;
            font-size: 0.9em;
        }
        
        .admin-fixed-btn {
            position: fixed;
            bottom: 30px;
            right: 30px;
            background: #8e44ad;
            color: white;
            width: 60px;
            height: 60px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 24px;
            box-shadow: 0 4px 8px rgba(0,0,0,0.2);
            z-index: 999;
            cursor: pointer;
            transition: all 0.3s;
        }

        .admin-fixed-btn:hover {
            transform: scale(1.1);
            box-shadow: 0 6px 12px rgba(0,0,0,0.3);
        }

        .admin-fixed-btn .tooltip {
            position: absolute;
            right: 70px;
            background: #333;
            color: white;
            padding: 5px 10px;
            border-radius: 4px;
            font-size: 14px;
            white-space: nowrap;
            opacity: 0;
            transition: opacity 0.3s;
            pointer-events: none;
        }

        .admin-fixed-btn:hover .tooltip {
            opacity: 1;
        }
        
        .version-info {
            position: fixed;
            bottom: 10px;
            left: 10px;
            color: #7f8c8d;
            font-size: 0.8em;
        }

        /* Responsividade */
        @media (max-width: 768px) {
            .header-fixed {
                padding: 12px 15px;
            }
            
            .header-fixed h2 {
                font-size: 1.3rem;
            }
            
            .content-wrapper {
                margin-top: 80px;
                padding: 15px;
                margin-left: 0;
            }
            
            .sidebar {
                display: none;
            }
            
            .container {
                padding: 15px;
            }
            
            th, td {
                padding: 8px 10px;
                font-size: 14px;
            }
            
            .actions {
                flex-direction: column;
                gap: 5px;
            }
            
            .btn-action {
                width: 100%;
                justify-content: center;
            }
        }
    </style>
</head>
<body>

<?php include 'menu_lateral.php'; ?>

    <div class="content-wrapper">
        <div class="container">
            <h1><i class="fas fa-user-slash"></i> Negócios Perdidos</h1>
            
            <?php if ($erro): ?>
                <div class="alert alert-danger">
                    <?= htmlspecialchars($erro) ?>
                </div>
            <?php endif; ?>
            
            <?php if ($sucesso): ?>
                <div class="alert alert-success">
                    <?= htmlspecialchars($sucesso) ?>
                </div>
            <?php endif; ?>

            <?php if (empty($clientesPerdidos)): ?>
                <div class="empty-state">
                    <i class="fas fa-user-check"></i>
                    <h3>Nenhum cliente perdido encontrado</h3>
                    <p>Todos os seus negócios estão ativos no momento.</p>
                    <p><a href="lista_clientes.php" class="btn-action btn-view">Ver lista de negócios</a></p>
                </div>
            <?php else: ?>
                <div class="table-responsive">
                    <table>
                        <thead>
                            <tr>
                                <th>Cliente</th>
                                <th>Funil Original</th>
                                <th>Motivo</th>
                                <th>Data Perda</th>
                                <th>Marcado por</th>
                                <th>Ações</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php foreach ($clientesPerdidos as $cliente): ?>
                            <tr>
                                <td>
                                    <strong><?= htmlspecialchars($cliente['Nome_Cliente']) ?></strong>
                                    <?php if ($cliente['cliente_status'] == 0): ?>
                                        <span class="badge badge-danger">Inativo</span>
                                    <?php endif; ?>
                                    <div style="font-size: 0.85em; color: #6c757d; margin-top: 3px;">
                                        <?php if ($cliente['Email']): ?>
                                            <div><i class="fas fa-envelope"></i> <?= htmlspecialchars($cliente['Email']) ?></div>
                                        <?php endif; ?>
                                        <?php if ($cliente['Telefone']): ?>
                                            <div><i class="fas fa-phone"></i> <?= htmlspecialchars($cliente['Telefone']) ?></div>
                                        <?php endif; ?>
                                    </div>
                                </td>
                                <td>
                                    <?php if ($cliente['funil_original_nome']): ?>
                                        <div class="funil-info">
                                            <h4><i class="fas fa-filter"></i> <?= htmlspecialchars($cliente['funil_original_nome']) ?></h4>
                                            <?php if ($cliente['etapa_original_nome']): ?>
                                                <p><i class="fas fa-step-forward"></i> <?= htmlspecialchars($cliente['etapa_original_nome']) ?></p>
                                            <?php endif; ?>
                                        </div>
                                    <?php else: ?>
                                        <span class="badge badge-info">Funil padrão</span>
                                    <?php endif; ?>
                                </td>
                                <td><?= nl2br(htmlspecialchars($cliente['motivo'] ?? 'Não informado')) ?></td>
                                <td><?= date('d/m/Y H:i', strtotime($cliente['data_perdido'])) ?></td>
                                <td><?= htmlspecialchars($cliente['usuario_nome'] ?? 'Sistema') ?></td>
                                <td>
                                    <div class="actions">
                                        <a href="visao_geral_cliente.php?id=<?= $cliente['cliente_id'] ?>" class="btn-action btn-view">
                                            <i class="fas fa-eye"></i> Ver
                                        </a>
                                        <button type="button" class="btn-action btn-restore" onclick="abrirModalRestauracao(<?= $cliente['id'] ?>, <?= $cliente['cliente_id'] ?>, '<?= addslashes($cliente['Nome_Cliente']) ?>', '<?= addslashes($cliente['funil_original_nome'] ?? 'Funil padrão') ?>', '<?= addslashes($cliente['etapa_original_nome'] ?? '') ?>')">
                                            <i class="fas fa-undo"></i> Restaurar
                                        </button>
                                        <button type="button" class="btn-action btn-edit" onclick="editarMotivo(<?= $cliente['id'] ?>, '<?= addslashes($cliente['motivo'] ?? '') ?>')">
                                            <i class="fas fa-edit"></i> Editar Motivo
                                        </button>
                                    </div>
                                </td>
                            </tr>
                            <?php endforeach; ?>
                        </tbody>
                    </table>
                </div>
            <?php endif; ?>
        </div>
    </div>

    <!-- Modal para restauração -->
    <div id="modalRestauracao" class="modal">
        <div class="modal-content">
            <div class="modal-header">
                <h3 class="modal-title"><i class="fas fa-undo"></i> Restaurar Cliente</h3>
                <button type="button" class="close-modal" onclick="fecharModalRestauracao()">&times;</button>
            </div>
            <form id="formRestauracao" method="POST">
                <input type="hidden" name="csrf_token" value="<?= htmlspecialchars($_SESSION['csrf_token']) ?>">
                <input type="hidden" name="restaurar" value="1">
                <input type="hidden" id="cliente_perdido_id" name="cliente_perdido_id" value="">
                <input type="hidden" id="cliente_id" name="cliente_id" value="">
                
                <div class="form-group">
                    <label for="nome_cliente">Cliente</label>
                    <input type="text" id="nome_cliente" class="form-control" readonly>
                </div>
                
                <div class="form-group">
                    <label for="info_funil_original">Será restaurado para:</label>
                    <div id="info_funil_original" style="background: #e9ecef; padding: 10px; border-radius: 4px; font-size: 0.9em;">
                        <!-- Será preenchido via JavaScript -->
                    </div>
                </div>
                
                <div class="form-group">
                    <label for="observacoes">Observações da Restauração (opcional)</label>
                    <textarea id="observacoes" name="observacoes" placeholder="Digite observações sobre a restauração deste cliente..."></textarea>
                </div>
                
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" onclick="fecharModalRestauracao()">Cancelar</button>
                    <button type="submit" class="btn btn-primary">
                        <i class="fas fa-check"></i> Confirmar Restauração
                    </button>
                </div>
            </form>
        </div>
    </div>

    <!-- Modal para editar motivo -->
    <div id="modalEditarMotivo" class="modal">
        <div class="modal-content">
            <div class="modal-header">
                <h3 class="modal-title"><i class="fas fa-edit"></i> Editar Motivo</h3>
                <button type="button" class="close-modal" onclick="fecharModalEditarMotivo()">&times;</button>
            </div>
            <form id="formEditarMotivo" method="POST" action="atualizar_motivo_cliente_perdido.php">
                <input type="hidden" name="csrf_token" value="<?= htmlspecialchars($_SESSION['csrf_token']) ?>">
                <input type="hidden" id="editar_cliente_perdido_id" name="cliente_perdido_id" value="">
                
                <div class="form-group">
                    <label for="novo_motivo">Motivo</label>
                    <textarea id="novo_motivo" name="motivo" placeholder="Digite o motivo pelo qual o cliente foi marcado como perdido..." required></textarea>
                </div>
                
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" onclick="fecharModalEditarMotivo()">Cancelar</button>
                    <button type="submit" class="btn btn-primary">
                        <i class="fas fa-save"></i> Salvar Alterações
                    </button>
                </div>
            </form>
        </div>
    </div>

    <!-- Botão Fixo para Administração -->
    <?php if (in_array($_SESSION['permissao'] ?? '', ['super_admin'])): ?>
        <div class="admin-fixed-btn" onclick="window.location.href='gerenciar_sistema.php'">
            <i class="fas fa-cog"></i>
            <span class="tooltip">Administração</span>
        </div>
    <?php endif; ?>

    <script>
        // ========== MODAIS ========== //
        function abrirModalRestauracao(clientePerdidoId, clienteId, nomeCliente, funilNome, etapaNome) {
            document.getElementById('cliente_perdido_id').value = clientePerdidoId;
            document.getElementById('cliente_id').value = clienteId;
            document.getElementById('nome_cliente').value = nomeCliente;
            document.getElementById('observacoes').value = '';
            
            // Configurar informações do funil
            const infoDiv = document.getElementById('info_funil_original');
            let infoHTML = `<strong><i class="fas fa-filter"></i> ${funilNome}</strong>`;
            if (etapaNome && etapaNome.trim() !== '') {
                infoHTML += `<br><i class="fas fa-step-forward"></i> ${etapaNome}`;
            }
            infoHTML += `<br><small style="color: #6c757d;">O cliente será restaurado para este funil.</small>`;
            infoDiv.innerHTML = infoHTML;
            
            document.getElementById('modalRestauracao').style.display = 'flex';
        }

        function fecharModalRestauracao() {
            document.getElementById('modalRestauracao').style.display = 'none';
        }

        function editarMotivo(clientePerdidoId, motivoAtual) {
            document.getElementById('editar_cliente_perdido_id').value = clientePerdidoId;
            document.getElementById('novo_motivo').value = motivoAtual;
            document.getElementById('modalEditarMotivo').style.display = 'flex';
        }

        function fecharModalEditarMotivo() {
            document.getElementById('modalEditarMotivo').style.display = 'none';
        }

        // Fechar modal ao clicar fora
        window.onclick = function(event) {
            const modals = document.querySelectorAll('.modal');
            modals.forEach(modal => {
                if (event.target === modal) {
                    modal.style.display = 'none';
                }
            });
        }

        // ========== VALIDAÇÕES ========== //
        document.addEventListener('DOMContentLoaded', function() {
            // Validação do formulário de restauração
            document.getElementById('formRestauracao')?.addEventListener('submit', function(e) {
                const clienteId = document.getElementById('cliente_id').value;
                if (!clienteId || clienteId <= 0) {
                    e.preventDefault();
                    Swal.fire('Erro', 'Cliente inválido para restauração.', 'error');
                } else {
                    if (!confirm('Tem certeza que deseja restaurar este cliente?\n\nO cliente será:\n1. Ativado novamente\n2. Retornado ao funil original\n3. Removido da lista de perdidos')) {
                        e.preventDefault();
                    }
                }
            });

            // Validação do formulário de edição de motivo
            document.getElementById('formEditarMotivo')?.addEventListener('submit', function(e) {
                const motivo = document.getElementById('novo_motivo').value.trim();
                if (!motivo) {
                    e.preventDefault();
                    Swal.fire('Erro', 'Por favor, informe o motivo.', 'error');
                    return;
                }
            });
        });

        // Função para alternar submenus
        function toggleSubmenu(id) {
            const submenu = document.getElementById(id);
            const menuItem = submenu.previousElementSibling;
            
            if (submenu.style.display === 'block') {
                submenu.style.display = 'none';
                menuItem.classList.remove('open');
            } else {
                submenu.style.display = 'block';
                menuItem.classList.add('open');
            }
        }
    </script>
    <?php include 'sino_notificacoes.php'; ?>
</body>
</html>
<?php
$conn->close();
?>