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

// Verificar se o usuário está logado como administrador
if (
    !isset($_SESSION['logado']) || $_SESSION['logado'] !== true ||
    !in_array($_SESSION['permissao'], ['admin', 'super_admin'])
) {
    header("HTTP/1.1 403 Forbidden");
    echo "Acesso restrito: apenas administradores ou super administradores podem acessar esta página.";
    exit;
}

// Obter tenant_id da sessão, obrigatório para multitenant
if (!isset($_SESSION['tenant_id'])) {
    die('Tenant ID não definido. Acesso negado.');
}
$tenant_id = $_SESSION['tenant_id'];

// FUNÇÃO: Verificar limite de usuários baseado na coluna max_usuarios da tabela tenants
function verificarLimiteUsuarios($conn, $tenantId) {
    try {
        // Buscar informações do tenant - USA max_usuarios DIRETAMENTE DA TABELA TENANTS
        $stmt = $conn->prepare("
            SELECT t.id, t.nome, t.plano_id, t.max_usuarios,
                   p.nome as plano_nome, p.valor, p.permite_georreferenciada, 
                   p.permite_chat, p.permite_fluxos, p.permite_email_marketing, 
                   p.permite_formularios, p.max_armazenamento_mb, p.codigo
            FROM tenants t 
            LEFT JOIN planos p ON t.plano_id = p.id 
            WHERE t.id = ?
        ");
        $stmt->bind_param("i", $tenantId);
        $stmt->execute();
        $result = $stmt->get_result();
        
        if ($result->num_rows === 0) {
            return ['excedeu' => false, 'limite' => 0, 'atual' => 0];
        }
        
        $tenant = $result->fetch_assoc();
        $stmt->close();
        
        // Contar quantos usuários o tenant já possui (ativos)
        $stmt = $conn->prepare("SELECT COUNT(*) as total FROM usuarios WHERE tenant_id = ? AND ativo = 'sim'");
        $stmt->bind_param("i", $tenantId);
        $stmt->execute();
        $result = $stmt->get_result();
        $row = $result->fetch_assoc();
        $stmt->close();
        
        $totalUsuarios = $row['total'];
        
        // USAR O max_usuarios DIRETAMENTE DA TABELA TENANTS
        // Se não tiver valor definido, usar um valor padrão baseado no plano como fallback
        $limiteUsuarios = $tenant['max_usuarios'];
        
        // Se max_usuarios for NULL ou 0, usar fallback baseado no plano (para compatibilidade)
        if (empty($limiteUsuarios) || $limiteUsuarios <= 0) {
            switch ($tenant['codigo']) {
                case 'teste':
                    $limiteUsuarios = 1;
                    break;
                case 'basic':
                    $limiteUsuarios = 2;
                    break;
                case 'pro':
                    $limiteUsuarios = 5;
                    break;
                case 'enterprise':
                    $limiteUsuarios = 8;
                    break;
                default:
                    $limiteUsuarios = 1; // Plano desconhecido - limite padrão
            }
        }
        
        return [
            'excedeu' => $totalUsuarios >= $limiteUsuarios,
            'limite' => $limiteUsuarios,
            'atual' => $totalUsuarios,
            'plano_nome' => $tenant['plano_nome'] ?? 'Desconhecido',
            'plano_codigo' => $tenant['codigo'] ?? 'desconhecido',
            'plano_id' => $tenant['plano_id'],
            'tenant_nome' => $tenant['nome'] ?? ''
        ];
        
    } catch (Exception $e) {
        error_log('Erro ao verificar limite de usuários: ' . $e->getMessage());
        return ['excedeu' => false, 'limite' => 0, 'atual' => 0];
    }
}

// Verificar limite antes de qualquer processamento
$limitePlano = verificarLimiteUsuarios($conn, $tenant_id);

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

// Mensagem de sucesso
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>';

    unset($_SESSION['mensagem']);

    echo '<script>
            setTimeout(function() {
                const msgDiv = document.querySelector("div[style*=\'position: fixed\']"); 
                if (msgDiv) msgDiv.style.display = "none";
            }, 3000);
          </script>';
}

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

// Processar formulário
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Verificar token CSRF
    if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
        $erro = 'Token de segurança inválido.';
    } else {
        // Verificar limite do plano
        if ($limitePlano['excedeu']) {
            $erro = "Limite de usuários atingido. O tenant '{$limitePlano['tenant_nome']}' possui limite de {$limitePlano['limite']} usuários e já tem {$limitePlano['atual']} usuários ativos.";
        } else {
            // Prosseguir com validações apenas se não houver erro de limite
            $nome = trim($_POST['nome'] ?? '');
            $email = trim($_POST['email'] ?? '');
            $senha = trim($_POST['senha'] ?? '');
            $confirmar_senha = trim($_POST['confirmar_senha'] ?? '');
            $permissao = $_POST['permissao'] ?? '';
            $cargo = trim($_POST['cargo'] ?? '');

            if (empty($erro)) {
                // Validações de formulário
                if (empty($nome) || empty($email) || empty($senha) || empty($confirmar_senha) || empty($permissao)) {
                    $erro = 'Todos os campos são obrigatórios.';
                } elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
                    $erro = 'E-mail inválido.';
                } elseif ($senha !== $confirmar_senha) {
                    $erro = 'As senhas não coincidem.';
                } elseif (strlen($senha) < 8) {
                    $erro = 'A senha deve ter no mínimo 8 caracteres.';
                }
            }

            if (empty($erro)) {
                // Verificar e-mail duplicado para o tenant
                $stmt = $conn->prepare("SELECT id FROM usuarios WHERE email = ? AND tenant_id = ?");
                $stmt->bind_param("si", $email, $tenant_id);
                $stmt->execute();
                $stmt->store_result();

                if ($stmt->num_rows > 0) {
                    $erro = 'Este e-mail já está cadastrado neste tenant.';
                } else {
                    $stmt->close();

                    // Atualizar verificação de limite antes da inserção
                    $limiteAtualizado = verificarLimiteUsuarios($conn, $tenant_id);
                    if ($limiteAtualizado['excedeu']) {
                        $erro = "Limite de usuários atingido durante o processo. O tenant possui {$limiteAtualizado['atual']} de {$limiteAtualizado['limite']} usuários permitidos.";
                    } else {
                        $senha_hash = password_hash($senha, PASSWORD_DEFAULT);

                        // Inserir usuário COM CARGO
                        $stmt = $conn->prepare("INSERT INTO usuarios (nome, email, senha, permissao, cargo, tenant_id, ativo) VALUES (?, ?, ?, ?, ?, ?, 'sim')");
                        $stmt->bind_param("ssssss", $nome, $email, $senha_hash, $permissao, $cargo, $tenant_id);

                        if ($stmt->execute()) {
                            $novo_usuario_id = $stmt->insert_id;

                            $sucesso = 'Usuário cadastrado com sucesso!';
                            $_POST = [];
                            
                            // Atualizar limite após cadastro bem-sucedido
                            $limitePlano = verificarLimiteUsuarios($conn, $tenant_id);
                        } else {
                            $erro = 'Erro ao cadastrar usuário: ' . $conn->error;
                        }
                    }
                }
                if ($stmt) $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>Cadastrar Usuário - SON</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>
        /* ========== ESTILOS GERAIS ========== */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            min-height: 100vh;
            margin: 0;
            padding: 0;
        }

        /* ========== HEADER FIXO ========== */
        .header-fixed {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            padding: 10px 30px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            box-shadow: 0 2px 20px rgba(0,0,0,0.1);
            z-index: 1000;
            border-bottom: 1px solid rgba(255,255,255,0.3);
        }

        .logo-area {
            display: flex;
            align-items: center;
            gap: 20px;
        }

        .logo-area img {
            height: 45px;
            transition: transform 0.3s;
        }

        .logo-area img:hover {
            transform: scale(1.05);
        }

        .header-fixed h2 {
            color: #333;
            font-size: 1.5rem;
            font-weight: 600;
            margin: 0;
            background: linear-gradient(135deg, #667eea, #764ba2);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        /* ========== MENU HAMBURGUER ========== */
        .menu-container {
            position: relative;
        }

        .hamburger-btn {
            background: linear-gradient(135deg, #667eea, #764ba2);
            border: none;
            color: white;
            font-size: 24px;
            cursor: pointer;
            padding: 12px 18px;
            border-radius: 12px;
            transition: all 0.3s;
            box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
        }

        .hamburger-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(102, 126, 234, 0.6);
        }

        .dropdown-menu {
            position: absolute;
            right: 0;
            top: 60px;
            background: white;
            min-width: 280px;
            border-radius: 15px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.2);
            opacity: 0;
            visibility: hidden;
            transform: translateY(-10px);
            transition: all 0.3s;
            z-index: 1001;
            max-height: 80vh;
            overflow-y: auto;
        }

        .dropdown-menu.show {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

        .dropdown-menu a, .menu-item > a {
            padding: 15px 20px;
            color: #333;
            text-decoration: none;
            display: flex;
            align-items: center;
            gap: 12px;
            transition: all 0.3s;
            border-bottom: 1px solid #f0f0f0;
            font-weight: 500;
        }

        .dropdown-menu a:hover, .menu-item > a:hover {
            background: linear-gradient(135deg, #f5f7ff, #f0f4ff);
            padding-left: 25px;
        }

        .menu-item {
            position: relative;
        }

        .menu-item > a:after {
            content: "▶";
            margin-left: auto;
            font-size: 12px;
            transition: transform 0.3s;
        }

        .menu-item.open > a:after {
            transform: rotate(90deg);
        }

        .submenu {
            display: none;
            background: #f8f9ff;
            padding: 10px 0;
        }

        .submenu a {
            padding-left: 50px;
            font-size: 0.95em;
            border-bottom: 1px solid #e8ecff;
        }

        .version-info {
            padding: 15px 20px;
            margin: 0;
            color: #999;
            font-size: 12px;
            text-align: center;
            border-top: 1px solid #f0f0f0;
        }

        /* ========== MENU LATERAL ========== */
        .sidebar {
            position: fixed;
            left: 0;
            top: 70px;
            height: calc(100vh - 70px);
            width: 70px;
            background: white;
            box-shadow: 2px 0 20px rgba(0,0,0,0.1);
            transition: width 0.3s;
            z-index: 999;
            overflow-x: hidden;
            border-radius: 0 20px 20px 0;
        }

        .sidebar:hover {
            width: 250px;
        }

        .sidebar-menu {
            list-style: none;
            padding: 20px 0;
        }

        .sidebar-menu li {
            margin: 5px 0;
        }

        .sidebar-menu a {
            display: flex;
            align-items: center;
            padding: 15px 20px;
            color: #333;
            text-decoration: none;
            white-space: nowrap;
            transition: all 0.3s;
            border-radius: 0 30px 30px 0;
        }

        .sidebar-menu a:hover {
            background: linear-gradient(135deg, #667eea20, #764ba220);
            color: #667eea;
        }

        .sidebar-menu i {
            width: 30px;
            height: 30px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.3rem;
            margin-right: 15px;
        }

        .sidebar-menu .menu-text {
            opacity: 0;
            transition: opacity 0.3s;
        }

        .sidebar:hover .menu-text {
            opacity: 1;
        }

        /* ========== CONTEÚDO PRINCIPAL ========== */
        .content-wrapper {
            margin-left: 90px;
            margin-right: 30px;
            margin-top: 90px;
            padding: 30px;
            transition: margin-left 0.3s;
        }

        .container {
            max-width: 700px;
            margin: 0 auto;
            background: white;
            border-radius: 30px;
            padding: 40px;
            box-shadow: 0 20px 60px rgba(0,0,0,0.15);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255,255,255,0.2);
        }

        h1 {
            color: #333;
            font-size: 2rem;
            margin-bottom: 30px;
            display: flex;
            align-items: center;
            gap: 15px;
            border-bottom: 2px solid #f0f0f0;
            padding-bottom: 20px;
        }

        h1 i {
            color: #667eea;
            font-size: 2rem;
        }

        /* ========== CARD DO TENANT ========== */
        .tenant-card {
            background: linear-gradient(135deg, #667eea, #764ba2);
            border-radius: 20px;
            padding: 25px;
            margin-bottom: 30px;
            color: white;
            box-shadow: 0 10px 30px rgba(102, 126, 234, 0.3);
        }

        .tenant-header {
            display: flex;
            align-items: center;
            gap: 15px;
            margin-bottom: 20px;
        }

        .tenant-header i {
            font-size: 2.5rem;
            background: rgba(255,255,255,0.2);
            padding: 15px;
            border-radius: 15px;
        }

        .tenant-header h3 {
            font-size: 1.3rem;
            margin: 0;
        }

        .tenant-header p {
            margin: 5px 0 0;
            opacity: 0.9;
        }

        .tenant-stats {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 15px;
        }

        .stat-item {
            background: rgba(255,255,255,0.15);
            border-radius: 12px;
            padding: 12px;
            text-align: center;
            backdrop-filter: blur(5px);
        }

        .stat-label {
            font-size: 0.8rem;
            opacity: 0.9;
            margin-bottom: 5px;
        }

        .stat-value {
            font-size: 1.5rem;
            font-weight: bold;
        }

        /* ========== ALERTA DE LIMITE ========== */
        .limite-alert {
            background: linear-gradient(135deg, #f6f9fc, #ffffff);
            border-left: 5px solid #667eea;
            border-radius: 15px;
            padding: 20px;
            margin-bottom: 30px;
            display: flex;
            align-items: center;
            gap: 20px;
            box-shadow: 0 5px 20px rgba(0,0,0,0.05);
        }

        .limite-alert i {
            font-size: 2rem;
            color: #667eea;
        }

        .alert-content {
            flex: 1;
        }

        .alert-content h4 {
            color: #333;
            margin-bottom: 5px;
            font-size: 1.1rem;
        }

        .alert-content p {
            color: #666;
            margin: 0;
        }

        .limite-alert.warning {
            border-left-color: #fbbf24;
        }

        .limite-alert.warning i {
            color: #fbbf24;
        }

        .limite-alert.danger {
            border-left-color: #ef4444;
        }

        .limite-alert.danger i {
            color: #ef4444;
        }

        .limite-alert.success {
            border-left-color: #10b981;
        }

        .limite-alert.success i {
            color: #10b981;
        }

        /* ========== PROGRESS BAR ========== */
        .progress-container {
            margin-top: 15px;
        }

        .progress-header {
            display: flex;
            justify-content: space-between;
            margin-bottom: 5px;
            font-size: 0.9rem;
            color: #666;
        }

        .progress-bar {
            height: 10px;
            background: #e0e7ff;
            border-radius: 10px;
            overflow: hidden;
        }

        .progress-fill {
            height: 100%;
            background: linear-gradient(90deg, #667eea, #764ba2);
            border-radius: 10px;
            transition: width 0.3s ease;
        }

        .progress-fill.warning {
            background: linear-gradient(90deg, #fbbf24, #f59e0b);
        }

        .progress-fill.danger {
            background: linear-gradient(90deg, #ef4444, #dc2626);
        }

        /* ========== FORMULÁRIO ========== */
        .form-group {
            margin-bottom: 25px;
        }

        label {
            display: block;
            margin-bottom: 8px;
            color: #333;
            font-weight: 600;
            font-size: 0.95rem;
        }

        label i {
            color: #667eea;
            margin-right: 8px;
        }

        .required:after {
            content: " *";
            color: #ef4444;
        }

        input, select {
            width: 100%;
            padding: 15px 20px;
            border: 2px solid #e0e7ff;
            border-radius: 15px;
            font-size: 1rem;
            transition: all 0.3s;
            background: white;
        }

        input:focus, select:focus {
            outline: none;
            border-color: #667eea;
            box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1);
        }

        input:hover, select:hover {
            border-color: #764ba2;
        }

        /* ========== BOTÕES ========== */
        .button-group {
            display: flex;
            gap: 15px;
            margin-top: 30px;
        }

        .btn {
            flex: 1;
            padding: 15px 25px;
            border: none;
            border-radius: 15px;
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
        }

        .btn-primary {
            background: linear-gradient(135deg, #667eea, #764ba2);
            color: white;
            box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
        }

        .btn-primary:hover:not(:disabled) {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(102, 126, 234, 0.6);
        }

        .btn-primary:disabled {
            opacity: 0.6;
            cursor: not-allowed;
            background: #a0aec0;
            box-shadow: none;
        }

        .btn-secondary {
            background: white;
            color: #ef4444;
            border: 2px solid #ef4444;
        }

        .btn-secondary:hover {
            background: #ef4444;
            color: white;
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(239, 68, 68, 0.3);
        }

        /* ========== ALERTAS ========== */
        .alert {
            padding: 20px;
            border-radius: 15px;
            margin-bottom: 30px;
            display: flex;
            align-items: center;
            gap: 15px;
            animation: slideIn 0.3s ease;
        }

        .alert i {
            font-size: 1.5rem;
        }

        .alert-success {
            background: #d1fae5;
            color: #065f46;
            border-left: 5px solid #10b981;
        }

        .alert-danger {
            background: #fee2e2;
            color: #991b1b;
            border-left: 5px solid #ef4444;
        }

        /* ========== NOTIFICAÇÕES ========== */
        .notification-container {
            position: fixed;
            top: 100px;
            right: 30px;
            z-index: 9999;
            max-width: 380px;
        }

        .notification-alert {
            background: white;
            border-radius: 20px;
            padding: 20px;
            margin-bottom: 15px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.15);
            animation: slideInRight 0.3s ease;
            border-left: 5px solid #667eea;
        }

        .notification-alert .alert-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 12px;
        }

        .notification-alert .alert-title {
            font-weight: bold;
            color: #333;
            margin: 0;
        }

        .notification-alert .activity-name {
            color: #666;
            font-size: 0.9rem;
            margin-top: 5px;
        }

        .notification-alert .btn-close {
            background: none;
            border: none;
            font-size: 1.2rem;
            cursor: pointer;
            color: #999;
            padding: 5px;
        }

        .notification-alert .alert-buttons {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
        }

        .notification-alert .btn {
            flex: 1;
            padding: 8px 12px;
            font-size: 0.9rem;
            border: 1px solid;
            background: white;
            border-radius: 10px;
            cursor: pointer;
            transition: all 0.3s;
        }

        .notification-alert .btn-outline-primary {
            color: #667eea;
            border-color: #667eea;
        }

        .notification-alert .btn-outline-primary:hover {
            background: #667eea;
            color: white;
        }

        .notification-alert .btn-outline-warning {
            color: #fbbf24;
            border-color: #fbbf24;
        }

        .notification-alert .btn-outline-warning:hover {
            background: #fbbf24;
            color: white;
        }

        .notification-alert .btn-outline-success {
            color: #10b981;
            border-color: #10b981;
        }

        .notification-alert .btn-outline-success:hover {
            background: #10b981;
            color: white;
        }

        /* ========== BOTÃO ADMIN FIXO ========== */
        .admin-fixed-btn {
            position: fixed;
            bottom: 30px;
            right: 30px;
            background: linear-gradient(135deg, #667eea, #764ba2);
            color: white;
            width: 60px;
            height: 60px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 24px;
            box-shadow: 0 4px 20px rgba(102, 126, 234, 0.5);
            cursor: pointer;
            transition: all 0.3s;
            z-index: 999;
        }

        .admin-fixed-btn:hover {
            transform: scale(1.1) rotate(90deg);
            box-shadow: 0 6px 25px rgba(102, 126, 234, 0.7);
        }

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

        .admin-fixed-btn:hover .tooltip {
            opacity: 1;
        }

        /* ========== ANIMAÇÕES ========== */
        @keyframes slideIn {
            from {
                transform: translateY(-20px);
                opacity: 0;
            }
            to {
                transform: translateY(0);
                opacity: 1;
            }
        }

        @keyframes slideInRight {
            from {
                transform: translateX(100%);
                opacity: 0;
            }
            to {
                transform: translateX(0);
                opacity: 1;
            }
        }

        /* ========== RESPONSIVIDADE ========== */
        @media (max-width: 768px) {
            .header-fixed {
                padding: 10px 15px;
            }

            .header-fixed h2 {
                font-size: 1.2rem;
            }

            .content-wrapper {
                margin-left: 20px;
                margin-right: 20px;
                padding: 20px;
            }

            .container {
                padding: 25px;
            }

            .tenant-stats {
                grid-template-columns: 1fr;
            }

            .button-group {
                flex-direction: column;
            }

            .notification-container {
                right: 15px;
                left: 15px;
                max-width: none;
            }

            .sidebar {
                display: none;
            }
        }
    </style>
</head>
<body>

    <!-- HEADER FIXO -->
    <div class="header-fixed">
        <div class="logo-area">
            <img src="tvitec.png" alt="Logo TVITEC">
            <h2>Sistema de Organização de Negócios</h2>
        </div>
        
        <div class="user-info" style="display:flex; align-items:center; gap:20px;">
            <?php if (!empty($_SESSION['usuario']['foto_perfil'])): ?>
                <img src="<?= htmlspecialchars($_SESSION['usuario']['foto_perfil']) ?>" 
                     style="width:45px; height:45px; border-radius:50%; object-fit:cover; border:3px solid white; box-shadow:0 2px 10px rgba(0,0,0,0.1);">
            <?php else: ?>
                <div style="width:45px; height:45px; border-radius:50%; background:linear-gradient(135deg, #667eea, #764ba2); display:flex; align-items:center; justify-content:center; font-weight:bold; font-size:1.2rem; color:white; box-shadow:0 2px 10px rgba(102,126,234,0.3);">
                    <?= 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.1rem;">
                    <?= htmlspecialchars($_SESSION['usuario']['nome'] ?? 'Usuário') ?>
                </div>
                <div style="font-size:0.9rem; color:#666;">
                    <?= htmlspecialchars($_SESSION['usuario']['email'] ?? '') ?>
                </div>
            </div>
        </div>

        <!-- MENU HAMBURGUER -->
        <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"><i class="fas fa-home"></i> Início</a>

                <?php if (in_array($_SESSION['usuario']['permissao'], ['usuario', 'vendedor', 'admin', 'super_admin'])): ?>
                    <div class="menu-item">
                        <a href="javascript:void(0);" onclick="toggleSubmenu('clientesSubmenu')">
                            <i class="fas fa-users"></i> Clientes
                        </a>
                        <div id="clientesSubmenu" class="submenu">
                            <a href="cadastrar_cliente.php"><i class="fas fa-user-plus"></i> Novo Cliente</a>
                            <a href="lista_clientes.php"><i class="fas fa-list"></i> Listar Clientes</a>
                        </div>
                    </div>
                <?php endif; ?>

                <div class="menu-item">
                    <a href="javascript:void(0);" onclick="toggleSubmenu('produtosSubmenu')">
                        <i class="fas fa-box"></i> Produtos
                    </a>
                    <div id="produtosSubmenu" class="submenu">
                        <a href="lista_produtos.php"><i class="fas fa-list"></i> Lista de Produtos</a>
                        <a href="cadastrar_produto.php"><i class="fas fa-plus-circle"></i> Novo Produto</a>
                    </div>
                </div>

                <div class="menu-item">
                    <a href="javascript:void(0);" onclick="toggleSubmenu('atividadesSubmenu')">
                        <i class="fas fa-tasks"></i> Atividades
                    </a>
                    <div id="atividadesSubmenu" class="submenu">
                        <a href="lista_atividades.php"><i class="fas fa-list"></i> Listar Atividades</a>
                        <a href="cadastrar_atividade.php"><i class="fas fa-plus-circle"></i> Cadastrar Tipo</a>
                        <a href="consulta_atividades.php"><i class="fas fa-search"></i> Consulta</a>
                    </div>
                </div>

                <div class="menu-item">
                    <a href="javascript:void(0);" onclick="toggleSubmenu('origensSubmenu')">
                        <i class="fas fa-globe"></i> Origens
                    </a>
                    <div id="origensSubmenu" class="submenu">
                        <a href="cadastrar_origem.php"><i class="fas fa-plus-circle"></i> Cadastrar Origem</a>
                        <a href="lista_origens.php"><i class="fas fa-list"></i> Listar Origens</a>
                    </div>
                </div>

                <?php if (in_array($_SESSION['usuario']['permissao'], ['admin', 'super_admin'])): ?>
                    <div class="menu-item">
                        <a href="javascript:void(0);" onclick="toggleSubmenu('adminSubmenu')">
                            <i class="fas fa-user-shield"></i> Administração
                        </a>
                        <div id="adminSubmenu" class="submenu">
                            <a href="cadastrar_usuario.php"><i class="fas fa-user-plus"></i> Cadastrar Usuário</a>
                            <a href="gerenciar_usuarios.php"><i class="fas fa-users-cog"></i> Gerenciar Usuários</a>
                        </div>
                    </div>
                <?php endif; ?>

                <div class="menu-item">
                    <a href="javascript:void(0);" onclick="toggleSubmenu('analiseSubmenu')">
                        <i class="fas fa-chart-line"></i> Análise
                    </a>
                    <div id="analiseSubmenu" class="submenu">
                        <a href="dashboard_clientes.php"><i class="fas fa-chart-pie"></i> Dashboard</a>
                        <a href="mapa_vendas.php"><i class="fas fa-map-marked-alt"></i> Mapa de Vendas</a>
                    </div>
                </div>

                <a href="formulario.php"><i class="fas fa-file-alt"></i> Formulários</a>
                <a href="calendario.php"><i class="fas fa-calendar-alt"></i> Calendário</a>
                <a href="funis.php"><i class="fas fa-filter"></i> Gerenciar Funis</a>
                <a href="chat.php" class="menu-btn-success"><i class="fas fa-comments"></i> Chat</a>
                <a href="#" onclick="abrirModalAlterarSenha()"><i class="fas fa-key"></i> Alterar Senha</a>
                <a href="perfil_usuario.php"><i class="fas fa-id-card"></i> Perfil</a>
                <a href="logout.php" class="menu-btn-danger"><i class="fas fa-sign-out-alt"></i> Sair</a>
                <h6 class="version-info">Tvitecnologia SON v1.0</h6>
            </div>
        </div>
    </div>

    <!-- MENU LATERAL -->
    <?php include 'menu_lateral.php'; ?>

    <!-- CONTEÚDO PRINCIPAL -->
    <div class="content-wrapper">
        <div class="container">
            <h1>
                <i class="fas fa-user-plus"></i>
                Cadastrar Usuário
            </h1>
            
            <!-- CARD DO TENANT -->
            <div class="tenant-card">
                <div class="tenant-header">
                    <i class="fas fa-building"></i>
                    <div>
                        <h3><?php echo htmlspecialchars($limitePlano['tenant_nome']); ?></h3>
                        <p>Plano: <?php echo htmlspecialchars($limitePlano['plano_nome']); ?></p>
                    </div>
                </div>
                
                <div class="tenant-stats">
                    <div class="stat-item">
                        <div class="stat-label">Usuários Ativos</div>
                        <div class="stat-value"><?php echo number_format($limitePlano['atual'], 0, ',', '.'); ?></div>
                    </div>
                    <div class="stat-item">
                        <div class="stat-label">Limite</div>
                        <div class="stat-value"><?php echo number_format($limitePlano['limite'], 0, ',', '.'); ?></div>
                    </div>
                    <div class="stat-item">
                        <div class="stat-label">Disponível</div>
                        <div class="stat-value"><?php echo number_format(max(0, $limitePlano['limite'] - $limitePlano['atual']), 0, ',', '.'); ?></div>
                    </div>
                </div>
            </div>
            
            <!-- ALERTA DE LIMITE -->
            <?php if ($limitePlano['excedeu']): ?>
                <div class="limite-alert danger">
                    <i class="fas fa-exclamation-triangle"></i>
                    <div class="alert-content">
                        <h4>Limite de Usuários Atingido</h4>
                        <p>Este tenant atingiu o limite máximo de <?php echo number_format($limitePlano['limite'], 0, ',', '.'); ?> usuários. Não é possível cadastrar novos usuários. Entre em contato com o administrador para aumentar o limite.</p>
                    </div>
                </div>
            <?php else: ?>
                <div class="limite-alert <?php 
                    $percentual = ($limitePlano['atual'] / $limitePlano['limite']) * 100;
                    if ($percentual >= 90) echo 'danger';
                    elseif ($percentual >= 75) echo 'warning';
                    else echo 'success';
                ?>">
                    <i class="fas fa-info-circle"></i>
                    <div class="alert-content">
                        <h4>Limite de Usuários</h4>
                        <p>Este tenant tem limite de <?php echo number_format($limitePlano['limite'], 0, ',', '.'); ?> usuários. Atualmente possui <?php echo number_format($limitePlano['atual'], 0, ',', '.'); ?> usuários ativos.</p>
                        
                        <?php if ($limitePlano['limite'] > 0): ?>
                            <div class="progress-container">
                                <div class="progress-header">
                                    <span>Progresso</span>
                                    <span><?php echo number_format($percentual, 1); ?>%</span>
                                </div>
                                <div class="progress-bar">
                                    <?php 
                                    $classeProgresso = '';
                                    if ($percentual >= 90) $classeProgresso = 'danger';
                                    elseif ($percentual >= 75) $classeProgresso = 'warning';
                                    ?>
                                    <div class="progress-fill <?php echo $classeProgresso; ?>" 
                                         style="width: <?php echo min(100, $percentual); ?>%">
                                    </div>
                                </div>
                            </div>
                        <?php endif; ?>
                    </div>
                </div>
            <?php endif; ?>
            
            <!-- MENSAGENS DE ERRO/SUCESSO -->
            <?php if (!empty($erro)): ?>
                <div class="alert alert-danger">
                    <i class="fas fa-exclamation-circle"></i>
                    <?= htmlspecialchars($erro) ?>
                </div>
            <?php elseif (!empty($sucesso)): ?>
                <div class="alert alert-success">
                    <i class="fas fa-check-circle"></i>
                    <?= htmlspecialchars($sucesso) ?>
                </div>
            <?php endif; ?>

            <!-- FORMULÁRIO DE CADASTRO -->
            <form method="post" action="" id="formCadastro">
                <input type="hidden" name="csrf_token" value="<?= htmlspecialchars($_SESSION['csrf_token'] ?? '') ?>">

                <div class="form-group">
                    <label for="nome" class="required">
                        <i class="fas fa-user"></i>
                        Nome Completo
                    </label>
                    <input type="text" name="nome" id="nome" required 
                           value="<?= htmlspecialchars($_POST['nome'] ?? '') ?>"
                           placeholder="Digite o nome completo do usuário">
                </div>

                <div class="form-group">
                    <label for="email" class="required">
                        <i class="fas fa-envelope"></i>
                        E-mail
                    </label>
                    <input type="email" name="email" id="email" required 
                           value="<?= htmlspecialchars($_POST['email'] ?? '') ?>"
                           placeholder="Digite o e-mail do usuário">
                </div>

                <div class="form-group">
                    <label for="senha" class="required">
                        <i class="fas fa-lock"></i>
                        Senha
                    </label>
                    <input type="password" name="senha" id="senha" required 
                           minlength="8" placeholder="Mínimo 8 caracteres">
                </div>

                <div class="form-group">
                    <label for="confirmar_senha" class="required">
                        <i class="fas fa-lock"></i>
                        Confirmar Senha
                    </label>
                    <input type="password" name="confirmar_senha" id="confirmar_senha" required 
                           minlength="8" placeholder="Confirme a senha">
                </div>

                <div class="form-group">
                    <label for="cargo">
                        <i class="fas fa-briefcase"></i>
                        Cargo
                    </label>
                    <input type="text" name="cargo" id="cargo" 
                           value="<?= htmlspecialchars($_POST['cargo'] ?? '') ?>"
                           placeholder="Digite o cargo do usuário (opcional)">
                </div>

                <div class="form-group">
                    <label for="permissao" class="required">
                        <i class="fas fa-user-tag"></i>
                        Permissão
                    </label>
                    <select name="permissao" id="permissao" required>
                        <option value="">-- Selecione uma permissão --</option>
                        <option value="admin" <?= (($_POST['permissao'] ?? '') === 'admin') ? 'selected' : '' ?>>Administrador</option>
                        <option value="usuario" <?= (($_POST['permissao'] ?? '') === 'usuario') ? 'selected' : '' ?>>Usuário</option>
                        <option value="vendedor" <?= (($_POST['permissao'] ?? '') === 'vendedor') ? 'selected' : '' ?>>Vendedor</option>
                    </select>
                </div>

                <div class="button-group">
                    <button type="submit" class="btn btn-primary" <?php echo ($limitePlano['excedeu']) ? 'disabled' : ''; ?>>
                        <i class="fas fa-save"></i>
                        <?php if ($limitePlano['excedeu']): ?>
                            Limite Atingido
                        <?php else: ?>
                            Cadastrar Usuário
                        <?php endif; ?>
                    </button>
                    
                    <button type="button" class="btn btn-secondary" onclick="window.location.href='gerenciar_usuarios.php'">
                        <i class="fas fa-times"></i>
                        Cancelar
                    </button>
                </div>
            </form>
        </div>
    </div>

    <!-- BOTÃO ADMIN FIXO -->
    <?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 do Sistema</span>
        </div>
    <?php endif; ?>

    <!-- SCRIPT DO MENU -->
    <script>
        function toggleMenu() {
            document.getElementById('dropdownMenu').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');
            }
        }

        // Fechar menu ao clicar fora
        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');
                }
            }
        });

        // Validação do formulário
        document.getElementById('formCadastro').addEventListener('submit', function(e) {
            const senha = document.getElementById('senha').value;
            const confirmarSenha = document.getElementById('confirmar_senha').value;
            
            if (senha !== confirmarSenha) {
                e.preventDefault();
                alert('As senhas não coincidem!');
                return;
            }
            
            if (senha.length < 8) {
                e.preventDefault();
                alert('A senha deve ter no mínimo 8 caracteres!');
                return;
            }
        });

        // Função para alterar senha (placeholder)
        function abrirModalAlterarSenha() {
            alert('Função para alterar senha será implementada em breve.');
        }

        // Mostrar mensagens de sucesso/erro
        <?php if (!empty($sucesso)): ?>
            setTimeout(function() {
                const successMsg = document.querySelector('.alert-success');
                if (successMsg) {
                    successMsg.style.opacity = '0';
                    setTimeout(() => successMsg.remove(), 300);
                }
            }, 5000);
        <?php endif; ?>
    </script>

    <!-- NOTIFICAÇÕES -->
    <?php include 'sino_notificacoes.php'; ?>
</body>
</html>