<?php
session_start();

// Verificar se o usuário está logado e tenant_id existe na sessão
if (!isset($_SESSION['logado'], $_SESSION['usuario_id'], $_SESSION['tenant_id']) || $_SESSION['logado'] !== true) {
    header('Location: login.php');
    exit;
}

// Verifica tenant da sessão
if (!isset($_SESSION['tenant_id']) || empty($_SESSION['tenant_id'])) {
    die("Tenant não definido na sessão. Faça login ou defina o tenant.");
}

$tenant = (int)$_SESSION['tenant_id'];  // Tenant como inteiro

// Caminho do arquivo de configuração específico do tenant
$config_file = "config_email.json";
if (!file_exists($config_file)) {
    die("Configuração de e-mail para o tenant '{$tenant}' não encontrada. Acesse email_app.php primeiro.");
}

$config = json_decode(file_get_contents($config_file), true);
if (json_last_error() !== JSON_ERROR_NONE) {
    die("Erro ao decodificar o arquivo de configuração: " . json_last_error_msg());
}

if ($config['protocolo'] !== 'imap') {
    die("Gerenciamento de e-mails só funciona com IMAP.");
}

// Função para limpar texto (para filtro)
function clean_text($text) {
    $text = strtolower($text);
    $text = preg_replace('/[áàãâä]/u', 'a', $text);
    $text = preg_replace('/[éèêë]/u', 'e', $text);
    $text = preg_replace('/[íìîï]/u', 'i', $text);
    $text = preg_replace('/[óòõôö]/u', 'o', $text);
    $text = preg_replace('/[úùûü]/u', 'u', $text);
    $text = preg_replace('/[ç]/u', 'c', $text);
    return $text;
}

// ==== ABAS ====
$aba = $_GET['aba'] ?? 'inbox';
if (isset($_POST['acao']) && $_POST['acao'] === 'enviar_email') {
    $aba = 'enviar';
}

// ==== ENVIO DE EMAIL (aba enviar) ====
$mensagem_envio = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST' && $aba === 'enviar') {
    $para = filter_var(trim($_POST['para']), FILTER_VALIDATE_EMAIL);
    $assunto = trim($_POST['assunto']);
    $corpo = trim($_POST['corpo']);

    if (!$para) {
        $mensagem_envio = "E-mail destinatário inválido!";
    } elseif (empty($assunto)) {
        $mensagem_envio = "O assunto é obrigatório!";
    } elseif (empty($corpo)) {
        $mensagem_envio = "O corpo do e-mail não pode ser vazio!";
    } else {
        $headers = "From: " . $config['email'] . "\r\n";
        $headers .= "Content-Type: text/plain; charset=utf-8\r\n";

        if (mail($para, $assunto, $corpo, $headers)) {
            $mensagem_envio = "E-mail enviado com sucesso para $para!";
            $_POST['para'] = $_POST['assunto'] = $_POST['corpo'] = '';

            // Salva cópia na caixa de enviados (se suportado pelo servidor)
            $mailbox = "{" . $config['imap_host'] . ":" . $config['imap_port'] . "/imap/ssl}INBOX.Sent";
            $imap_stream = @imap_open($mailbox, $config['email'], $config['senha']);
            if ($imap_stream) {
                imap_append($imap_stream, $mailbox,
                    "From: " . $config['email'] . "\r\n" .
                    "To: $para\r\n" .
                    "Subject: $assunto\r\n" .
                    "Date: " . date('r') . "\r\n" .
                    "\r\n" . $corpo . "\r\n"
                );
                imap_close($imap_stream);
            }
        } else {
            $mensagem_envio = "Falha ao enviar o e-mail.";
        }
    }
}

// ==== EXCLUSÃO DE EMAIL ====
if (isset($_GET['excluir']) && is_numeric($_GET['excluir'])) {
    $msg_num = (int)$_GET['excluir'];
    $pasta_origem = $_GET['pasta'] ?? 'INBOX';

    $mailbox = "{" . $config['imap_host'] . ":" . $config['imap_port'] . "/imap/ssl}";
    $imap_stream = @imap_open($mailbox . $pasta_origem, $config['email'], $config['senha']);

    if ($imap_stream) {
        $result = imap_mail_move($imap_stream, (string)$msg_num, "INBOX.Trash");
        imap_expunge($imap_stream);
        imap_close($imap_stream);

        if ($result) {
            $_SESSION['mensagem'] = "E-mail movido para a lixeira com sucesso!";
        } else {
            $_SESSION['mensagem'] = "Erro ao mover e-mail para a lixeira: " . imap_last_error();
        }
    } else {
        $_SESSION['mensagem'] = "Erro ao conectar: " . imap_last_error();
    }

    header("Location: ?aba=" . urlencode($pasta_origem === 'INBOX.Sent' ? 'enviados' : 'inbox'));
    exit();
}

// ==== FUNÇÃO PARA LISTAR EMAILS DE UMA PASTA IMAP COM FILTROS ====
function listar_emails_pasta($imap, $pasta, $filtro_assunto, $filtro_de, $filtro_data, $limite = 100) {
    $mailbox = "{" . $imap['imap_host'] . ":" . $imap['imap_port'] . "/imap/ssl}" . $pasta;
    $inbox = @imap_open($mailbox, $imap['email'], $imap['senha']);
    if (!$inbox) {
        return ['erro' => imap_last_error()];
    }
    $total = imap_num_msg($inbox);
    $mensagens_filtradas = [];

    for ($i = $total; $i > max(0, $total - $limite); $i--) {
        $header = imap_headerinfo($inbox, $i);
        $assunto = isset($header->subject) ? imap_utf8($header->subject) : '';
        $de = imap_utf8($header->fromaddress);
        $data = $header->date;

        $passa_filtro = true;

        if ($filtro_assunto !== '') {
            if (stripos(clean_text($assunto), clean_text($filtro_assunto)) === false) {
                $passa_filtro = false;
            }
        }
        if ($passa_filtro && $filtro_de !== '') {
            if (stripos(clean_text($de), clean_text($filtro_de)) === false) {
                $passa_filtro = false;
            }
        }
        if ($passa_filtro && $filtro_data !== '') {
            if (stripos($data, $filtro_data) === false) {
                $passa_filtro = false;
            }
        }

        if ($passa_filtro) {
            $mensagens_filtradas[] = [
                'num' => $i,
                'assunto' => $assunto,
                'de' => $de,
                'data' => $data,
                'para' => isset($header->toaddress) ? imap_utf8($header->toaddress) : ''
            ];
        }
    }

    imap_close($inbox);

    return ['mensagens' => $mensagens_filtradas, 'total' => $total];
}

// ==== FUNÇÃO PARA PEGAR MENSAGEM COMPLETA DE UMA PASTA ====
function pegar_mensagem($imap, $pasta, $msgno) {
    $mailbox = "{" . $imap['imap_host'] . ":" . $imap['imap_port'] . "/imap/ssl}" . $pasta;
    $inbox = @imap_open($mailbox, $imap['email'], $imap['senha']);
    if (!$inbox) {
        return ['erro' => imap_last_error()];
    }

    $header = imap_headerinfo($inbox, $msgno);
    $body = imap_fetchbody($inbox, $msgno, 1.1);
    if (empty($body)) {
        $body = imap_fetchbody($inbox, $msgno, 1);
    }

    imap_close($inbox);
    return ['header' => $header, 'body' => $body];
}

// ==== DEFINIÇÕES DAS PASTAS IMAP ====
$pasta_inbox = "INBOX";
$pasta_sent = "INBOX.Sent";  // Ajustado para usar prefixo INBOX
$pasta_trash = "INBOX.Trash"; // Ajustado para usar prefixo INBOX

// ===== RECEBER FILTROS =====
$filtro_assunto = $_GET['f_assunto'] ?? '';
$filtro_de = $_GET['f_de'] ?? '';
$filtro_data = $_GET['f_data'] ?? '';

// Exibir mensagem de sucesso se existir
if (isset($_SESSION['mensagem'])) {
    echo '<div style="position: fixed; top: 80px; right: 20px; padding: 10px 20px; background: #2ecc71; color: white; border-radius: 4px; z-index: 2000;">'
       . htmlspecialchars($_SESSION['mensagem'])
       . '</div>';
    
    // Limpar a mensagem após exibir
    unset($_SESSION['mensagem']);
    
    // Remover a mensagem após 3 segundos
    echo '<script>
            setTimeout(function() {
                document.querySelector("div[style*=\'position: fixed\']").style.display = "none";
            }, 3000);
          </script>';
}

require_once 'conexao.php';

// Função para registrar logs
function registrarLog($acao, $detalhes = '') {
    $arquivoLog = 'logs/cliente_acoes.log';
    $dataHora = date('Y-m-d H:i:s');
    $usuario = isset($_SESSION['usuario_id']) ? $_SESSION['usuario_id'] : 'Sistema';
    $ip = $_SERVER['REMOTE_ADDR'] ?? 'IP desconhecido';
    
    $mensagem = "[$dataHora] [Usuário: $usuario] [IP: $ip] [Ação: $acao] $detalhes" . PHP_EOL;
    
    if (!file_exists('logs')) {
        mkdir('logs', 0755, true);
    }
    
    file_put_contents($arquivoLog, $mensagem, FILE_APPEND);
}

// Gerar token CSRF se não existir
if (empty($_SESSION['csrf_token'])) {
    $_SESSION['csrf_token'] = bin2hex(random_bytes(32));
}
?>

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>SON - Gerenciador de E-mails</title>
    <meta name="csrf-token" content="<?php echo $_SESSION['csrf_token']; ?>">
    <!-- SweetAlert2 CSS & JS -->
    <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 0;
            background-color: #f5f5f5;
        }
        
        /* Cabeçalho Fixo */
        .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 Hamburger */
        .menu-container {
            position: relative;
            display: inline-block;
        }
        
        .hamburger-btn {
            background: none;
            border: none;
            font-size: 24px;
            cursor: pointer;
            padding: 10px;
            color: #333;
        }
        
        .dropdown-menu {
            display: none;
            position: absolute;
            right: 0;
            background-color: white;
            min-width: 200px;
            box-shadow: 0 8px 16px rgba(0,0,0,0.2);
            z-index: 1;
            border-radius: 4px;
            overflow: hidden;
        }
        
        .dropdown-menu a {
            color: #333;
            padding: 12px 16px;
            text-decoration: none;
            display: block;
            text-align: left;
            transition: background-color 0.3s;
        }
        
        .dropdown-menu a:hover {
            background-color: #f1f1f1;
        }
        
        .dropdown-menu.show {
            display: block;
        }
        
        /* Oculta os submenus por padrão */
        .submenu {
            display: none;
            padding-left: 20px;
            margin-top: 10px;
        }

        /* Estilo do submenu */
        .submenu a {
            display: block;
            padding: 8px;
            text-decoration: none;
            color: #333;
        }

        /* Exemplo de cor do submenu ao passar o mouse */
        .submenu a:hover {
            background-color: #f4f4f4;
        }
        
        /* Conteúdo Principal */
        .content-wrapper {
            margin-top: 80px;
            padding: 20px;
        }
        
        .container {
            max-width: 1000px;
            margin: 0 auto;
            background: white;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }
        
        h1 {
            color: #2c3e50;
            border-bottom: 1px solid #eee;
            padding-bottom: 10px;
        }
        
        /* Estilos específicos do gerenciador de e-mails */
        .mensagem {
            text-align: center;
            margin-bottom: 20px;
            font-weight: bold;
            color: #27ae60;
        }
        
        form.filtro {
            background: #fff;
            padding: 15px 20px;
            border-radius: 8px;
            box-shadow: 0 0 12px #ddd;
            margin-bottom: 20px;
        }
        
        form.filtro input[type="text"] {
            padding: 8px;
            width: 180px;
            margin-right: 10px;
            border: 1px solid #ccc;
            border-radius: 4px;
        }
        
        form.filtro button {
            padding: 8px 14px;
            background: #2980b9;
            border: none;
            color: #fff;
            border-radius: 4px;
            cursor: pointer;
        }
        
        form.filtro button:hover {
            background: #3498db;
        }
        
        table {
            width: 100%;
            border-collapse: collapse;
            background: #fff;
            box-shadow: 0 0 12px #ddd;
        }
        
        table thead {
            background-color: #2980b9;
            color: white;
        }
        
        table th, table td {
            padding: 12px 10px;
            text-align: left;
            border-bottom: 1px solid #ddd;
        }
        
        table tbody tr:hover {
            background-color: #f1faff;
        }
        
        .acoes a {
            margin-right: 10px;
            color: #2980b9;
            text-decoration: none;
        }
        
        .acoes a:hover {
            text-decoration: underline;
        }
        
        .email-detalhe {
            background: #fff;
            padding: 15px 20px;
            border-radius: 8px;
            box-shadow: 0 0 12px #ddd;
            margin-top: 20px;
        }
        
        .btn-enviar {
            background-color: #27ae60;
            color: white;
            border: none;
            padding: 10px 16px;
            border-radius: 6px;
            cursor: pointer;
        }
        
        .btn-enviar:hover {
            background-color: #2ecc71;
        }
        
        textarea {
            width: 100%;
            height: 150px;
            resize: vertical;
            padding: 10px;
            font-family: Arial, sans-serif;
            font-size: 14px;
        }
        
        label {
            font-weight: bold;
        }
        
        /* Rodapé */
        footer {
            margin-top: 40px;
            text-align: center;
            color: #777;
            font-size: 14px;
            padding: 15px 0;
        }

        /* Botões no menu */
        .menu-btn-success {
            color: #6B8E23;
        }
        
        .menu-btn-primary {
            color: #0000FF;
        }
        
        .menu-btn-danger {
            color: #e74c3c;
        }
        
        /* Nav tabs */
        nav.tabs {
            text-align: center;
            margin-bottom: 30px;
        }
        
        nav.tabs a {
            display: inline-block;
            margin: 0 15px;
            padding: 8px 18px;
            text-decoration: none;
            color: #fff;
            background-color: #2980b9;
            border-radius: 4px;
            transition: background-color 0.3s ease;
        }
        
        nav.tabs a.active, nav.tabs a:hover {
            background-color: #3498db;
        }
    </style>
</head>
<body>
    <!-- Cabeçalho Fixo -->
    <div class="header-fixed">
        <img src="tvitec.png" alt="Logo TVITEC"> 
        <h2>Sistema de Organização de Negócios</h2>
        <div style="margin-right: 15px; font-weight: bold; color: #333; font-size: 1.1em;">
            Olá, <?php echo htmlspecialchars($_SESSION['nome_usuario'] ?? 'Usuário'); ?>
        </div>
        
        <!-- Estrutura do Menu Hamburger -->
        <div class="menu-container">
            <!-- Botão do Menu Hamburger -->
            <button class="hamburger-btn" onclick="toggleMenu()">☰</button>

            <!-- Menu Dropdown -->
            <div class="dropdown-menu" id="dropdownMenu">
                
                <!-- Link Início -->
                <a href="index.php" class="menu-btn-primary">← Início</a>
                
                <!-- Submenu de Clientes (acessível para admin e outros usuários com permissão) -->
                <?php if ($_SESSION['permissao'] === 'usuario' || $_SESSION['permissao'] === 'vendedor' || $_SESSION['permissao'] === 'admin'): ?>
                    <div class="menu-item">
                        <a href="javascript:void(0);" class="menu-btn-primary" onclick="toggleSubmenu('clientesSubmenu')">👥 Clientes</a>
                        <div id="clientesSubmenu" class="submenu">
                            <a href="cadastrar_cliente.php" class="menu-btn-success">➕ Novo Cliente</a>
                            <a href="lista_clientes.php" class="menu-btn-primary">👥 Listar Clientes</a>
                        </div>
                    </div>
                <?php endif; ?>

                <!-- Submenu de Produtos (acessível para admin e outros usuários com permissão) -->
                <div class="menu-item">
                    <a href="javascript:void(0);" class="menu-btn-primary" onclick="toggleSubmenu('produtosSubmenu')">📋 Produtos</a>
                    <div id="produtosSubmenu" class="submenu">
                        <a href="lista_produtos.php" class="menu-btn-primary">📋 Lista de Produtos</a>
                        <a href="cadastrar_produto.php" class="menu-btn-primary">📦 Novo Produto</a>
                    </div>
                </div>

                <!-- Submenu de E-mail e Configurações -->
                <div class="menu-item">
                    <a href="javascript:void(0);" class="menu-btn-primary" onclick="toggleSubmenu('emailSubmenu')">📧 E-mail & Configurações</a>
                    <div id="emailSubmenu" class="submenu">
                        <a href="email_app.php" class="menu-btn-primary">📧 Configurar E-mail</a>
                        <a href="email.php" class="menu-btn-primary active">📧 E-mail</a>
                    </div>
                </div>

                <!-- Link Dashboard -->
                <a href="dashboard_clientes.php" class="menu-btn-primary">📊 Dashboard</a>
                
                <!-- Menu de Admin (Permissões de Admin) -->
                <?php if ($_SESSION['permissao'] === 'admin'): ?>
                    <!-- Submenu de Administração -->
                    <div class="menu-item">
                        <a href="javascript:void(0);" class="menu-btn-primary" onclick="toggleSubmenu('adminSubmenu')">👤 Administração</a>
                        <div id="adminSubmenu" class="submenu">
                            <a href="cadastrar_usuario.php" class="menu-btn-primary">👤 Cadastrar Usuário</a>
                            <a href="gerenciar_usuarios.php" class="menu-btn-primary">👥 Gerenciar Usuários</a>
                        </div>
                    </div>
                <?php endif; ?>

                <!-- Link Alterar Senha -->
                <a href="#" onclick="abrirModalAlterarSenha()" class="menu-btn-primary">🔒 Alterar Senha</a>
                
                <!-- Link Logout -->
                <a href="logout.php" class="menu-btn-danger">🚪 Sair</a>
                
                <!-- Informação de Versão -->
                <h6>Tvitecnologia SON v1.0</h6>
            </div>
        </div>
    </div>

    <main class="content-wrapper">
        <div class="container">
            <h1>Gerenciador de E-mails - Tenant: <?=htmlspecialchars($tenant)?></h1>

            <nav class="tabs">
                <a href="?aba=inbox" class="<?= $aba === 'inbox' ? 'active' : '' ?>">Caixa de Entrada</a>
                <a href="?aba=enviados" class="<?= $aba === 'enviados' ? 'active' : '' ?>">Enviados</a>
                <a href="?aba=lixeira" class="<?= $aba === 'lixeira' ? 'active' : '' ?>">Lixeira</a>
                <a href="?aba=enviar" class="<?= $aba === 'enviar' ? 'active' : '' ?>">Enviar E-mail</a>
            </nav>

            <?php if (isset($_SESSION['mensagem'])): ?>
                <p class="mensagem"><?=htmlspecialchars($_SESSION['mensagem'])?></p>
                <?php unset($_SESSION['mensagem']); ?>
            <?php endif; ?>

            <?php if ($aba === 'inbox' || $aba === 'enviados' || $aba === 'lixeira'): ?>

                <?php
                $pasta_ativa = $aba === 'inbox' ? $pasta_inbox : ($aba === 'enviados' ? $pasta_sent : $pasta_trash);
                $lista = listar_emails_pasta($config, $pasta_ativa, $filtro_assunto, $filtro_de, $filtro_data);
                ?>

                <?php if (isset($lista['erro'])): ?>
                    <p class="mensagem" style="color:red;">Erro: <?=htmlspecialchars($lista['erro'])?></p>
                <?php else: ?>
                    <form class="filtro" method="get">
                        <input type="hidden" name="aba" value="<?=htmlspecialchars($aba)?>">
                        <label>Assunto: <input type="text" name="f_assunto" value="<?=htmlspecialchars($filtro_assunto)?>" /></label>
                        <label>De: <input type="text" name="f_de" value="<?=htmlspecialchars($filtro_de)?>" /></label>
                        <label>Data (parte): <input type="text" name="f_data" value="<?=htmlspecialchars($filtro_data)?>" placeholder="ex: 2025-05" /></label>
                        <button type="submit">Filtrar</button>
                    </form>

                    <table>
                        <thead>
                            <tr>
                                <th>Assunto</th>
                                <th>De</th>
                                <th>Data</th>
                                <th>Ações</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php if (count($lista['mensagens']) === 0): ?>
                                <tr><td colspan="4" style="text-align:center;">Nenhum e-mail encontrado.</td></tr>
                            <?php else: ?>
                                <?php foreach ($lista['mensagens'] as $email): ?>
                                    <tr>
                                        <td><?=htmlspecialchars($email['assunto'])?></td>
                                        <td><?=htmlspecialchars($email['de'])?></td>
                                        <td><?=htmlspecialchars($email['data'])?></td>
                                        <td class="acoes">
                                            <a href="?aba=detalhe&msg=<?=intval($email['num'])?>&pasta=<?=urlencode($pasta_ativa)?>">Ver</a>
                                            <?php if ($aba !== 'lixeira'): ?>
                                                <a href="?excluir=<?=intval($email['num'])?>&pasta=<?=urlencode($pasta_ativa)?>" onclick="return confirm('Deseja mover este e-mail para a lixeira?');">Excluir</a>
                                            <?php endif; ?>
                                        </td>
                                    </tr>
                                <?php endforeach; ?>
                            <?php endif; ?>
                        </tbody>
                    </table>
                <?php endif; ?>

            <?php elseif ($aba === 'detalhe' && isset($_GET['msg']) && isset($_GET['pasta'])): ?>
                <?php
                $msgno = (int)$_GET['msg'];
                $pasta_msg = $_GET['pasta'];
                $detalhe = pegar_mensagem($config, $pasta_msg, $msgno);
                ?>
                <?php if (isset($detalhe['erro'])): ?>
                    <p class="mensagem" style="color:red;">Erro: <?=htmlspecialchars($detalhe['erro'])?></p>
                <?php else: ?>
                    <div class="email-detalhe">
                        <p><strong>Assunto:</strong> <?=htmlspecialchars(imap_utf8($detalhe['header']->subject))?></p>
                        <p><strong>De:</strong> <?=htmlspecialchars(imap_utf8($detalhe['header']->fromaddress))?></p>
                        <p><strong>Para:</strong> <?=htmlspecialchars(imap_utf8($detalhe['header']->toaddress))?></p>
                        <p><strong>Data:</strong> <?=htmlspecialchars($detalhe['header']->date)?></p>
                        <hr>
                        <pre><?=htmlspecialchars($detalhe['body'])?></pre>
                        <p><a href="?aba=<?=htmlspecialchars($aba === 'detalhe' ? 'inbox' : $aba)?>">Voltar</a></p>
                    </div>
                <?php endif; ?>

            <?php elseif ($aba === 'enviar'): ?>

                <h2>Enviar E-mail</h2>
                <?php if ($mensagem_envio): ?>
                    <p class="mensagem" style="color:<?=strpos($mensagem_envio, 'sucesso') !== false ? '#27ae60' : 'red'?>;"><?=htmlspecialchars($mensagem_envio)?></p>
                <?php endif; ?>
                <form method="post">
                    <input type="hidden" name="acao" value="enviar_email" />
                    <label for="para">Para:</label><br />
                    <input type="email" id="para" name="para" required value="<?=htmlspecialchars($_POST['para'] ?? '')?>" /><br /><br />

                    <label for="assunto">Assunto:</label><br />
                    <input type="text" id="assunto" name="assunto" required value="<?=htmlspecialchars($_POST['assunto'] ?? '')?>" /><br /><br />

                    <label for="corpo">Mensagem:</label><br />
                    <textarea id="corpo" name="corpo" required><?=htmlspecialchars($_POST['corpo'] ?? '')?></textarea><br /><br />

                    <button type="submit" class="btn-enviar">Enviar</button>
                </form>

            <?php else: ?>

                <p>Seção inválida.</p>

            <?php endif; ?>
        </div>
    </main>

    <footer>
        &copy; <?php echo date('Y'); ?> SON - Todos os direitos reservados.
    </footer>

    <!-- Modal de Alteração de Senha -->
    <div id="modalSenha" class="modal-senha">
        <div class="modal-senha-content">
            <span class="close-modal" onclick="fecharModalAlterarSenha()">&times;</span>
            <h2>Alterar Senha</h2>
            <form id="formAlterarSenha" onsubmit="alterarSenha(event)">
                <div class="form-group">
                    <label for="senhaAtual">Senha Atual:</label>
                    <input type="password" id="senhaAtual" required>
                </div>
                <div class="form-group">
                    <label for="novaSenha">Nova Senha:</label>
                    <input type="password" id="novaSenha" required minlength="6">
                </div>
                <div class="form-group">
                    <label for="confirmarSenha">Confirmar Nova Senha:</label>
                    <input type="password" id="confirmarSenha" required minlength="6">
                </div>
                <div style="text-align: right;">
                    <button type="button" class="btn btn-default" onclick="fecharModalAlterarSenha()">Cancelar</button>
                    <button type="submit" class="btn btn-primary">Alterar Senha</button>
                </div>
            </form>
            <div id="mensagemSenha" style="margin-top: 15px;"></div>
        </div>
    </div>

    <script>
        // Função para alternar a visibilidade do submenu
        function toggleSubmenu(submenuId) {
            var submenu = document.getElementById(submenuId);
            if (submenu.style.display === "block") {
                submenu.style.display = "none";
            } else {
                submenu.style.display = "block";
            }
        }

        // Função para alternar a visibilidade do menu
        function toggleMenu() {
            var menu = document.getElementById('dropdownMenu');
            if (menu.style.display === "block") {
                menu.style.display = "none";
            } else {
                menu.style.display = "block";
            }
        }

        // Fechar menu quando clicar fora
        window.addEventListener('click', function(event) {
            if (!event.target.matches('.hamburger-btn') && !event.target.matches('.menu-item a')) {
                const dropdowns = document.getElementsByClassName('dropdown-menu');
                for (let i = 0; i < dropdowns.length; i++) {
                    const openDropdown = dropdowns[i];
                    if (openDropdown.classList.contains('show')) {
                        openDropdown.classList.remove('show');
                    }
                }
                
                // Fechar submenus
                const submenus = document.getElementsByClassName('submenu');
                for (let i = 0; i < submenus.length; i++) {
                    submenus[i].style.display = 'none';
                }
            }
        });

        // Funções para o modal de alteração de senha
        function abrirModalAlterarSenha() {
            document.getElementById('modalSenha').style.display = 'block';
            document.getElementById('dropdownMenu').classList.remove('show');
        }
        
        function fecharModalAlterarSenha() {
            document.getElementById('modalSenha').style.display = 'none';
            document.getElementById('mensagemSenha').textContent = '';
            document.getElementById('formAlterarSenha').reset();
        }
        
        function alterarSenha(event) {
            event.preventDefault();
            
            const senhaAtual = document.getElementById('senhaAtual').value;
            const novaSenha = document.getElementById('novaSenha').value;
            const confirmarSenha = document.getElementById('confirmarSenha').value;
            const mensagemElement = document.getElementById('mensagemSenha');
            const btnSubmit = event.target.querySelector('button[type="submit"]');
            
            // Resetar mensagem e desabilitar botão
            mensagemElement.textContent = '';
            mensagemElement.style.color = '';
            btnSubmit.disabled = true;
            btnSubmit.textContent = 'Processando...';
            
            // Validações
            if (novaSenha !== confirmarSenha) {
                mensagemElement.textContent = 'As senhas não coincidem!';
                mensagemElement.style.color = 'red';
                btnSubmit.disabled = false;
                btnSubmit.textContent = 'Alterar Senha';
                return;
            }
            
            if (novaSenha.length < 6) {
                mensagemElement.textContent = 'A senha deve ter pelo menos 6 caracteres!';
                mensagemElement.style.color = 'red';
                btnSubmit.disabled = false;
                btnSubmit.textContent = 'Alterar Senha';
                return;
            }
            
            // Enviar requisição
            fetch('alterar_senha.php', {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json',
                    'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').content
                },
                body: JSON.stringify({
                    senhaAtual: senhaAtual,
                    novaSenha: novaSenha
                })
            })
            .then(response => {
                if (!response.ok) {
                    return response.json().then(err => {
                        throw new Error(err.message || 'Erro no servidor');
                    });
                }
                return response.json();
            })
            .then(data => {
                if (data.success) {
                    mensagemElement.textContent = data.message || 'Senha alterada com sucesso!';
                    mensagemElement.style.color = 'green';
                    
                    // Limpar e fechar após 2 segundos
                    setTimeout(() => {
                        fecharModalAl