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

// Verifica se o usuário é super admin
if (!isset($_SESSION['usuario']) || $_SESSION['usuario']['permissao'] !== 'super_admin') {
    header("HTTP/1.1 403 Forbidden");
    echo "Acesso restrito: apenas super administradores podem acessar esta página.";
    exit;
}

// Carrega o PHPMailer
require __DIR__ . '/PHPMailer/PHPMailer-master/src/Exception.php';
require __DIR__ . '/PHPMailer/PHPMailer-master/src/PHPMailer.php';
require __DIR__ . '/PHPMailer/PHPMailer-master/src/SMTP.php';

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

function gerarSenhaAleatoria($tamanho = 12) {
    $caracteres = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()';
    $senha = '';
    for ($i = 0; $i < $tamanho; $i++) {
        $senha .= $caracteres[rand(0, strlen($caracteres) - 1)];
    }
    return $senha;
}

function enviarEmail($destinatario, $nome, $senha) {
    $mail = new PHPMailer(true);
    
    try {
        // Configurações do servidor SMTP
        $mail->isSMTP();
        $mail->Host       = 'ns242.hostgator.com.br';
        $mail->SMTPAuth   = true;
        $mail->Username   = 'moderador@son.tvitecnologia.com.br';
        $mail->Password   = 'Aa1029@#';
        $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
        $mail->Port       = 587;

        // Remetente e destinatário
        $mail->setFrom('recuperacao@son.tvitecnologia.com.br', 'Sistema de Cadastro');
        $mail->addAddress($destinatario, $nome);
        $mail->addReplyTo('suporte@son.tvitecnologia.com.br', 'Suporte');

        // Conteúdo do email
        $mail->isHTML(true);
        $mail->Subject = 'Seu cadastro foi realizado com sucesso';
        $mail->Body    = "<html><body>
                        <h2>Olá $nome,</h2>
                        <p>Seu cadastro foi realizado com sucesso!</p>
                        <p><strong>E-mail:</strong> $destinatario</p>
                        <p><strong>Senha temporária:</strong> <strong>$senha</strong></p>
                        <p>Recomendamos que altere esta senha após o primeiro login.</p>
                        </body></html>";
        $mail->AltBody = "Olá $nome,\n\nSeu cadastro foi realizado com sucesso!\n\nE-mail: $destinatario\nSenha: $senha\n\nRecomendamos que altere esta senha após o primeiro login.";

        return $mail->send();
    } catch (Exception $e) {
        error_log("Erro ao enviar e-mail: " . $e->getMessage());
        return false;
    }
}

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

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $gerarSenhaAutomatica = isset($_POST['gerar_senha_automatica']);

    $nome_empresa = trim($_POST['nome_empresa'] ?? '');
    $nome_admin   = trim($_POST['nome_admin'] ?? '');
    $email        = filter_input(INPUT_POST, 'email_admin', FILTER_SANITIZE_EMAIL);
    $permissao    = $_POST['permissao'] ?? 'admin';
    $plano_id     = (int)($_POST['plano_id'] ?? 1);
    
    // Dados cadastrais da empresa
    $cnpj = preg_replace('/[^0-9]/', '', $_POST['cnpj'] ?? '');
    $razao_social = trim($_POST['razao_social'] ?? '');
    $nome_fantasia = trim($_POST['nome_fantasia'] ?? '');
    $simples_nacional = isset($_POST['simples_nacional']) ? 1 : 0;
    $pais = trim($_POST['pais'] ?? 'Brasil');
    $estado = trim($_POST['estado'] ?? '');
    $cep = preg_replace('/[^0-9]/', '', $_POST['cep'] ?? '');
    $cidade = trim($_POST['cidade'] ?? '');
    $bairro = trim($_POST['bairro'] ?? '');
    $endereco = trim($_POST['endereco'] ?? '');
    $numero = trim($_POST['numero'] ?? '');
    $complemento = trim($_POST['complemento'] ?? '');

    $senha = $gerarSenhaAutomatica ? gerarSenhaAleatoria() : ($_POST['senha_admin'] ?? '');

    if (empty($nome_admin) || empty($email) || empty($permissao)) {
        $erro = 'Preencha todos os campos obrigatórios.';
    } elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        $erro = 'E-mail inválido.';
    } elseif (!$gerarSenhaAutomatica && strlen($senha) < 8) {
        $erro = 'A senha deve ter pelo menos 8 caracteres.';
    } elseif ($permissao === 'admin' && empty($cnpj)) {
        $erro = 'CNPJ é obrigatório para empresas.';
    } else {
        $stmt = $conn->prepare("SELECT id FROM usuarios WHERE email = ?");
        $stmt->bind_param("s", $email);
        $stmt->execute();
        $resultado = $stmt->get_result();

        if ($resultado->num_rows > 0) {
            $erro = 'Este e-mail já está em uso.';
        } else {
            $senha_hash = password_hash($senha, PASSWORD_DEFAULT);
            $ativo = 'sim';

            if ($permissao === 'super_admin') {
                $stmt = $conn->prepare("INSERT INTO usuarios (nome, email, senha, permissao, ativo) VALUES (?, ?, ?, ?, ?)");
                $stmt->bind_param("sssss", $nome_admin, $email, $senha_hash, $permissao, $ativo);
            } else {
                // Cadastrar tenant com todos os dados
                $stmt_tenant = $conn->prepare("INSERT INTO tenants (
                    nome, plano_id, data_inicio, ativo, 
                    cnpj, razao_social, nome_fantasia, simples_nacional,
                    pais, estado, cep, cidade, bairro, endereco, numero, complemento
                ) VALUES (
                    ?, ?, CURRENT_DATE(), 1,
                    ?, ?, ?, ?,
                    ?, ?, ?, ?, ?, ?, ?, ?
                )");
                
               $stmt_tenant->bind_param("sissssisssssss", 
    $nome_empresa, $plano_id,
    $cnpj, $razao_social, $nome_fantasia, $simples_nacional,
    $pais, $estado, $cep, $cidade, $bairro, $endereco, $numero, $complemento
);
                if (!$stmt_tenant->execute()) {
                    $erro = 'Erro ao cadastrar o tenant: ' . $stmt_tenant->error;
                    $stmt_tenant->close();
                    header('Location: cadastrar_tenant.php');
                    exit;
                }
                $tenant_id = $stmt_tenant->insert_id;
                $stmt_tenant->close();

                // Inserir licença inicial
                $stmtLicenca = $conn->prepare("INSERT INTO licencas (tenant_id, plano_id, data_inicio, data_fim, ativa) VALUES (?, ?, CURDATE(), DATE_ADD(CURDATE(), INTERVAL 30 DAY), 1)");
                $stmtLicenca->bind_param("ii", $tenant_id, $plano_id);
                if (!$stmtLicenca->execute()) {
                    $erro = 'Erro ao cadastrar licença para o tenant.';
                    $stmtLicenca->close();
                    header('Location: cadastrar_tenant.php');
                    exit;
                }
                $stmtLicenca->close();

                // Criar usuário admin
                $stmt = $conn->prepare("INSERT INTO usuarios (nome, email, senha, permissao, ativo, tenant_id) VALUES (?, ?, ?, ?, ?, ?)");
                $stmt->bind_param("sssssi", $nome_admin, $email, $senha_hash, $permissao, $ativo, $tenant_id);
            }

            if ($stmt->execute()) {
                $emailEnviado = enviarEmail($email, $nome_admin, $senha);
                $sucesso = $emailEnviado
                    ? 'Usuário cadastrado com sucesso e e-mail enviado!'
                    : 'Usuário cadastrado, mas falha ao enviar o e-mail.';
            } else {
                $erro = 'Erro ao cadastrar usuário: ' . $stmt->error;
            }

            $stmt->close();
        }
    }
}
?>

<!DOCTYPE html>
<html lang="pt-br">
<head>
      <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 charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>SON - Cadastro de Tenant</title>
    <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">
    <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 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;
        }
        
        .submenu {
            display: none;
            padding-left: 20px;
            margin-top: 10px;
            background-color: #f9f9f9;
        }
        
        .submenu a {
            display: block;
            padding: 8px 16px;
            text-decoration: none;
            color: #333;
            font-size: 0.9em;
        }
        
        .submenu a:hover {
            background-color: #f1f1f1;
        }
        
        .menu-item {
            position: relative;
        }
        
        .menu-item > a {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        
        .menu-item > a:after {
            content: "▶";
            font-size: 0.8em;
            transition: transform 0.3s;
        }
        
        .menu-item.open > a:after {
            transform: rotate(90deg);
        }
        
        /* Classes para menu */
        .menu-btn-success {
            color: #6B8E23;
        }
        
        .menu-btn-primary {
            color: #0000FF;
        }
        
        .menu-btn-danger {
            color: #e74c3c;
        }

        .content-wrapper {
            margin-top: 80px;
            padding: 20px;
        }
        
        .container {
            max-width: 1000px;
            margin: 0 auto;
            background: white;
            padding: 25px;
            border-radius: 8px;
            box-shadow: 0 0 15px rgba(0, 0, 0, 0.05);
        }
        
        h1 {
            color: #333;
            border-bottom: 1px solid #eee;
            padding-bottom: 10px;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        
        /* Formulário */
        .form-group {
            margin-bottom: 20px;
        }
        
        label {
            display: block;
            margin-bottom: 8px;
            font-weight: 600;
            color: #2c3e50;
        }
        
        .required:after {
            content: " *";
            color: #e74c3c;
        }
        
        input, textarea, select {
            width: 100%;
            padding: 10px 12px;
            border: 1px solid #ddd;
            border-radius: 4px;
            font-size: 16px;
            transition: border-color 0.3s;
        }
        
        input:focus, textarea:focus, select:focus {
            border-color: #3498db;
            outline: none;
            box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.2);
        }
        
        textarea {
            min-height: 120px;
            resize: vertical;
        }
        
        .checkbox-container {
            display: flex;
            align-items: center;
            margin: 20px 0;
        }
        
        .checkbox-container input {
            width: auto;
            margin-right: 10px;
        }
        
        /* Botões */
        .btn {
            padding: 10px 18px;
            border: none;
            border-radius: 4px;
            color: white;
            cursor: pointer;
            font-size: 16px;
            transition: all 0.3s;
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }
        
        .btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
        }
        
        .btn-primary {
            background-color: #3498db;
        }
        
        .btn-primary:hover {
            background-color: #2980b9;
        }
        
        .btn-success {
            background-color: #2ecc71;
        }
        
        .btn-success:hover {
            background-color: #27ae60;
        }
        
        /* Seções do formulário */
        .form-section {
            margin: 30px 0;
            padding: 20px;
            border: 1px solid #eee;
            border-radius: 8px;
            background-color: #f9f9f9;
        }
        
        .form-section h2 {
            margin-top: 0;
            color: #333;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        
        /* Mensagens */
        .msg {
            padding: 10px;
            margin: 10px 0;
            border-radius: 4px;
        }
        
        .msg.error {
            background-color: #ffdddd;
            color: #d8000c;
        }
        
        .msg.success {
            background-color: #ddffdd;
            color: #4F8A10;
        }
        
        /* Responsividade */
        @media (max-width: 768px) {
            .header-fixed {
                padding: 12px 15px;
            }
            
            .header-fixed h2 {
                font-size: 1.3rem;
            }
            
            .content-wrapper {
                margin-top: 80px;
                padding: 15px;
            }
            
            .container {
                padding: 18px;
            }
        }
    </style>
</head>
<body>
    <div class="header-fixed">
        <img src="tvitec.png" alt="Logo TVITEC"> 
        <h2>Sistema de Organização de Negócios</h2>
        <div class="user-info" style="display:flex; align-items:center; gap:10px;">
            <?php if (!empty($_SESSION['usuario']['foto_perfil'])): ?>
                <img src="<?= htmlspecialchars($_SESSION['usuario']['foto_perfil']) ?>" style="width:40px; height:40px; border-radius:50%;">
            <?php else: ?>
                <div style="width:40px; height:40px; border-radius:50%; background:#ccc; display:flex; align-items:center; justify-content:center; font-weight:bold; font-size:1.2em;">
                    <?= strtoupper(substr($_SESSION['usuario']['nome'] ?? 'U', 0, 1)) ?>
                </div>
            <?php endif; ?>
            <div style="text-align:left;">
                <div style="font-weight: bold; color: #333; font-size: 1.1em;">
                    <?= htmlspecialchars($_SESSION['usuario']['nome'] ?? 'Usuário') ?>
                </div>
                <div style="font-size: 0.9em; color: #555;">
                    <?= htmlspecialchars($_SESSION['usuario']['email'] ?? '') ?>
                </div>
            </div>
        </div>
        
        <!-- Menu Hamburger -->
        <div class="menu-container">
            <button class="hamburger-btn" onclick="toggleMenu()">☰</button>
            <div class="dropdown-menu" id="dropdownMenu">
                <a href="index.php" class="menu-btn-primary">← Início</a>

                <?php if (in_array($_SESSION['usuario']['permissao'], ['usuario', 'vendedor', 'admin', 'super_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; ?>

                <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>

                <div class="menu-item">
                    <a href="javascript:void(0);" class="menu-btn-primary" onclick="toggleSubmenu('atividadesSubmenu')">📝 Atividades</a>
                    <div id="atividadesSubmenu" class="submenu">
                        <a href="lista_atividades.php" class="menu-btn-primary">📋 Listar Atividades</a>
                        <a href="cadastrar_atividade.php" class="menu-btn-primary">✍️ Cadastrar Tipo de Atividade</a>
                        <a href="consulta_atividades.php" class="menu-btn-primary">🔍 Consulta atividades</a>
                    </div>
                </div>

                <!-- Seção de Origens -->
                <div class="menu-item">
                    <a href="javascript:void(0);" class="menu-btn-primary" onclick="toggleSubmenu('origensSubmenu')">🌐 Origens</a>
                    <div id="origensSubmenu" class="submenu">
                        <a href="cadastrar_origem.php" class="menu-btn-primary">➕ Cadastrar Origem</a>
                        <a href="lista_origens.php" class="menu-btn-primary">📋 Listar Origens</a>
                    </div>
                </div>

              

                <?php if (in_array($_SESSION['usuario']['permissao'], ['admin', 'super_admin'])): ?>
                    <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; ?>

                <!-- Novo submenu: Análise -->
                <div class="menu-item">
                    <a href="javascript:void(0);" class="menu-btn-primary" onclick="toggleSubmenu('analiseSubmenu')">📈 Análise</a>
                    <div id="analiseSubmenu" class="submenu">
                        <a href="dashboard_clientes.php" class="menu-btn-primary">📊 Dashboard</a>
                        <a href="mapa_vendas.php" class="menu-btn-primary">📍 Mapa de Vendas</a>
                    </div>
                </div>
                <a href="formulario.php" class="menu-btn-primary">📝 Formulários</a>
                <a href="calendario.php" class="menu-btn-primary">📅 Calendário</a>
                <a href="funis.php" class="menu-btn-primary">🔽 Gerenciar Funis</a>
                <a href="chat.php" class="menu-btn-success">💬 Chat</a>
                <a href="#" onclick="abrirModalAlterarSenha()" class="menu-btn-primary">🔒 Alterar Senha</a>

                <a href="perfil_usuario.php" class="menu-btn-primary">🪪 Perfil</a>

                <a href="logout.php" class="menu-btn-danger">🚪 Sair</a>
                <h6 class="version-info">Tvitecnologia SON v1.0</h6>
            </div>
        </div>
    </div>

    <div class="content-wrapper">
        <div class="container">
            <h1><i class="fas fa-building"></i> Cadastrar Novo Tenant</h1>
            
            <?php if ($erro): ?>
                <div class="msg error"><?= htmlspecialchars($erro) ?></div>
            <?php elseif ($sucesso): ?>
                <div class="msg success"><?= htmlspecialchars($sucesso) ?></div>
            <?php endif; ?>
            
            <form method="POST">
                <!-- Seção Dados do Usuário Admin -->
                <div class="form-section">
                    <h2><i class="fas fa-user"></i> Dados do Administrador</h2>
                    
                    <div class="form-group">
                        <label for="nome_admin" class="required">Nome Completo</label>
                        <input type="text" name="nome_admin" id="nome_admin" required>
                    </div>
                    
                    <div class="form-group">
                        <label for="email_admin" class="required">E-mail</label>
                        <input type="email" name="email_admin" id="email_admin" required>
                    </div>
                    
                    <div class="form-group">
                        <label for="permissao" class="required">Permissão</label>
                        <select name="permissao" id="permissao" required>
                            <option value="admin">Administrador de Empresa</option>
                            <option value="super_admin">Super Administrador</option>
                        </select>
                    </div>
                    
                    <div class="checkbox-container">
                        <input type="checkbox" name="gerar_senha_automatica" id="gerar_senha_automatica" checked onchange="toggleSenhaField()">
                        <label for="gerar_senha_automatica">Gerar senha automaticamente</label>
                    </div>
                    
                    <div id="senha_gerada" style="margin: 15px 0; padding: 10px; background: #f0f0f0; border-radius: 4px; display: none;"></div>
                    
                    <div class="form-group" id="senha_admin_field" style="display: none;">
                        <label for="senha_admin">Senha</label>
                        <input type="password" name="senha_admin" id="senha_admin" minlength="8">
                    </div>
                </div>
                
                <!-- Seção Dados da Empresa (visível apenas para admin) -->
                <div id="empresa_fields">
                    <div class="form-section">
                        <h2><i class="fas fa-building"></i> Dados da Empresa</h2>
                        
                        <div class="form-group">
                            <label for="nome_empresa" class="required">Nome da Empresa</label>
                            <input type="text" name="nome_empresa" id="nome_empresa">
                        </div>
                        
                        <div class="form-group">
                            <label for="plano_id" class="required">Plano</label>
                            <select name="plano_id" id="plano_id" required>
                                <option value="1">Free (2 usuários)</option>
                                <option value="2">Basic (3 usuários)</option>
                                <option value="3">Pro (4 usuários)</option>
                                <option value="4">Plus (Ilimitado)</option>
                            </select>
                        </div>
                    </div>
                    
                    <div class="form-section">
                        <h2><i class="fas fa-file-contract"></i> Dados Cadastrais</h2>
                        
                        <div class="form-group">
                            <label for="cnpj" class="required">CNPJ</label>
                            <input type="text" name="cnpj" id="cnpj" oninput="formatarCNPJ(this)">
                        </div>
                        
                        <div class="form-group">
                            <label for="razao_social">Razão Social</label>
                            <input type="text" name="razao_social" id="razao_social">
                        </div>
                        
                        <div class="form-group">
                            <label for="nome_fantasia">Nome Fantasia</label>
                            <input type="text" name="nome_fantasia" id="nome_fantasia">
                        </div>
                        
                        <div class="checkbox-container">
                            <input type="checkbox" name="simples_nacional" id="simples_nacional" value="1">
                            <label for="simples_nacional">Optante pelo Simples Nacional</label>
                        </div>
                    </div>
                    
                    <div class="form-section">
                        <h2><i class="fas fa-map-marker-alt"></i> Endereço de Faturamento</h2>
                        
                        <div class="form-group">
                            <label for="pais">País</label>
                            <input type="text" name="pais" id="pais" value="Brasil">
                        </div>
                        
                        <div class="form-group">
                            <label for="estado">Estado (UF)</label>
                            <select name="estado" id="estado">
                                <option value="">Selecione...</option>
                                <option value="AC">Acre</option>
                                <option value="AL">Alagoas</option>
                                <option value="AP">Amapá</option>
                                <option value="AM">Amazonas</option>
                                <option value="BA">Bahia</option>
                                <option value="CE">Ceará</option>
                                <option value="DF">Distrito Federal</option>
                                <option value="ES">Espírito Santo</option>
                                <option value="GO">Goiás</option>
                                <option value="MA">Maranhão</option>
                                <option value="MT">Mato Grosso</option>
                                <option value="MS">Mato Grosso do Sul</option>
                                <option value="MG">Minas Gerais</option>
                                <option value="PA">Pará</option>
                                <option value="PB">Paraíba</option>
                                <option value="PR">Paraná</option>
                                <option value="PE">Pernambuco</option>
                                <option value="PI">Piauí</option>
                                <option value="RJ">Rio de Janeiro</option>
                                <option value="RN">Rio Grande do Norte</option>
                                <option value="RS">Rio Grande do Sul</option>
                                <option value="RO">Rondônia</option>
                                <option value="RR">Roraima</option>
                                <option value="SC">Santa Catarina</option>
                                <option value="SP">São Paulo</option>
                                <option value="SE">Sergipe</option>
                                <option value="TO">Tocantins</option>
                            </select>
                        </div>
                        
                        <div class="form-group">
                            <label for="cep">CEP</label>
                            <input type="text" name="cep" id="cep" oninput="formatarCEP(this)" onblur="buscarCEP(this.value)">
                        </div>
                        
                        <div class="form-group">
                            <label for="cidade">Cidade</label>
                            <input type="text" name="cidade" id="cidade">
                        </div>
                        
                        <div class="form-group">
                            <label for="bairro">Bairro</label>
                            <input type="text" name="bairro" id="bairro">
                        </div>
                        
                        <div class="form-group">
                            <label for="endereco">Endereço</label>
                            <input type="text" name="endereco" id="endereco">
                        </div>
                        
                        <div class="form-group">
                            <label for="numero">Número</label>
                            <input type="text" name="numero" id="numero">
                        </div>
                        
                        <div class="form-group">
                            <label for="complemento">Complemento</label>
                            <input type="text" name="complemento" id="complemento">
                        </div>
                    </div>
                </div>
                
                <button type="submit" class="btn btn-success">
                    <i class="fas fa-save"></i> Cadastrar
                </button>
            </form>
        </div>
    </div>

    <script>
        // Função para alternar o menu hamburger
        function toggleMenu() {
            var dropdown = document.getElementById('dropdownMenu');
            dropdown.classList.toggle('show');
        }

        function toggleSubmenu(id) {
            const submenu = document.getElementById(id);
            const menuItem = submenu.parentElement;
            
            if (submenu.style.display === 'block') {
                submenu.style.display = 'none';
                menuItem.classList.remove('open');
            } else {
                submenu.style.display = 'block';
                menuItem.classList.add('open');
            }
        }

        window.addEventListener('click', function(event) {
            if (!event.target.matches('.hamburger-btn') && !event.target.closest('.dropdown-menu')) {
                const dropdown = document.getElementById('dropdownMenu');
                if (dropdown.classList.contains('show')) {
                    dropdown.classList.remove('show');
                }
            }
        });

        function abrirModalAlterarSenha() {
            alert("Função para alterar senha será implementada aqui");
        }

        // Funções para o formulário
        function formatarCNPJ(input) {
            let value = input.value.replace(/\D/g, '');
            if (value.length > 14) value = value.substring(0, 14);
            
            if (value.length > 12) {
                value = value.replace(/^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/, '$1.$2.$3/$4-$5');
            } else if (value.length > 8) {
                value = value.replace(/^(\d{2})(\d{3})(\d{3})(\d{4})$/, '$1.$2.$3/$4');
            } else if (value.length > 5) {
                value = value.replace(/^(\d{2})(\d{3})(\d{3})$/, '$1.$2.$3');
            } else if (value.length > 2) {
                value = value.replace(/^(\d{2})(\d{3})$/, '$1.$2');
            }
            input.value = value;
        }

        function formatarCEP(input) {
            let value = input.value.replace(/\D/g, '');
            if (value.length > 8) value = value.substring(0, 8);
            if (value.length > 5) {
                value = value.replace(/^(\d{5})(\d{3})$/, '$1-$2');
            }
            input.value = value;
        }

        function buscarCEP(cep) {
            cep = cep.replace(/\D/g, '');
            if (cep.length !== 8) return;
            
            fetch(`https://viacep.com.br/ws/${cep}/json/`)
                .then(response => response.json())
                .then(data => {
                    if (!data.erro) {
                        document.getElementById('endereco').value = data.logradouro || '';
                        document.getElementById('bairro').value = data.bairro || '';
                        document.getElementById('cidade').value = data.localidade || '';
                        document.getElementById('estado').value = data.uf || '';
                    }
                })
                .catch(error => console.error('Erro ao buscar CEP:', error));
        }

        function toggleSenhaField() {
            const checkbox = document.getElementById('gerar_senha_automatica');
            const senhaField = document.getElementById('senha_admin_field');
            const senhaGeradaDiv = document.getElementById('senha_gerada');
            
            if (checkbox.checked) {
                senhaField.style.display = 'none';
                senhaGeradaDiv.style.display = 'block';
                senhaGeradaDiv.innerHTML = '<strong>Senha que será gerada:</strong> ' + Math.random().toString(36).slice(2, 14);
            } else {
                senhaField.style.display = 'block';
                senhaGeradaDiv.style.display = 'none';
            }
        }

        function toggleEmpresaFields() {
            const permissao = document.getElementById('permissao').value;
            const empresaFields = document.getElementById('empresa_fields');
            
            if (permissao === 'admin') {
                empresaFields.style.display = 'block';
                
                // Tornar campos obrigatórios
                document.getElementById('nome_empresa').required = true;
                document.getElementById('plano_id').required = true;
                document.getElementById('cnpj').required = true;
            } else {
                empresaFields.style.display = 'none';
                
                // Remover obrigatoriedade
                document.getElementById('nome_empresa').required = false;
                document.getElementById('plano_id').required = false;
                document.getElementById('cnpj').required = false;
            }
        }

        // Inicialização
        document.addEventListener('DOMContentLoaded', function() {
            toggleEmpresaFields();
            toggleSenhaField();
            
            document.getElementById('permissao').addEventListener('change', toggleEmpresaFields);
        });
    </script>
</body>
</html>