<?php
require_once 'validador.php';

// ... [Mantenha a conexão do banco de dados no topo do arquivo] ...
try {
    $connGeral = new PDO("mysql:host=localhost;dbname=geanrober_cstophd_geral;charset=utf8mb4", "geanrober_cstophd_geral", "Jean#909110");
    $connGeral->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    $connUser = new PDO("mysql:host=localhost;dbname=geanrober_cstophd_user;charset=utf8mb4", "geanrober_cstophd_user", "Jean#909110");
    $connUser->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    $connAcessos = new PDO("mysql:host=localhost;dbname=geanrober_cstophd_acessos;charset=utf8mb4", "geanrober_cstophd_acessos", "Jean#909110");
    $connAcessos->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) { 
    die("Erro BD: " . $e->getMessage()); 
}

// =========================================================================
// 🔒 SISTEMA MESTRE DE LICENÇA (SAAS) - TEMPO REAL (SEM CACHE)
// =========================================================================

// Trava para não rodar em requisições de fundo (AJAX) ou terminal
if (php_sapi_name() !== 'cli' && (empty($_SERVER['HTTP_X_REQUESTED_WITH']) || strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) !== 'xmlhttprequest')) {
    
    if (session_status() === PHP_SESSION_NONE) { @session_start(); }

    // Só roda para o ADMINISTRADOR
    if (isset($_SESSION['logado']) && isset($_SESSION['nivel']) && strtolower($_SESSION['nivel']) === 'admin') {
        
        $MINHA_CHAVE = "95579CBC158E6923"; 
        $URL_MATRIZ = "https://painelcs4.tvsbr.top/servidor/api_licenca.php"; 
        $meu_dominio = $_SERVER['HTTP_HOST'] ?? 'desconhecido';

        // REQUISIÇÃO INSTANTÂNEA PARA A MATRIZ
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $URL_MATRIZ);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(['chave' => $MINHA_CHAVE, 'dominio' => $meu_dominio]));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
        curl_setopt($ch, CURLOPT_TIMEOUT, 2); 
        $resposta = curl_exec($ch);
        curl_close($ch);

        if ($resposta) {
            $dados = @json_decode($resposta, true);
            
            if ($dados) {
                $status_licenca = $dados['status'] ?? 'erro';
                $dias_restantes = $dados['dias_restantes'] ?? 99;
                $mensagem_matriz = $dados['msg'] ?? '';

                // =========================================================================
                // 🛑 1. NOVO BLOQUEIO INSTANTÂNEO - DESIGN PROFISSIONAL & RESPONSIVO
                // =========================================================================
                if ($status_licenca !== 'ativo') {
                    // Texto padrão se a matriz não enviar um motivo específico
                    $motivo = !empty($mensagem_matriz) ? $mensagem_matriz : "A sua assinatura expirou.";
                    
                    die("
                    <!DOCTYPE html>
                    <html lang='pt-br'>
                    <head>
                        <meta charset='utf-8'>
                        <meta name='viewport' content='width=device-width, initial-scale=1, shrink-to-fit=no'>
                        <title>Acesso Suspenso</title>
                        <style>
                            :root {
                                --bg-dark: #151521;
                                --bg-card: #1e1e2d;
                                --color-red: #ea5455;
                                --color-text: #d0d2d6;
                                --color-text-muted: #a6a6b7;
                                --font-stack: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
                            }

                            /* Garante que ocupe toda a tela e tire barras de rolagem */
                            html, body { 
                                margin: 0; padding: 0; 
                                height: 100vh; width: 100vw; 
                                overflow: hidden; 
                            }

                            /* Alinhamento Mestre no Centro */
                            .suspend-container {
                                font-family: var(--font-stack);
                                background-color: var(--bg-dark);
                                color: #fff;
                                display: flex;
                                justify-content: center;
                                align-items: center;
                                height: 100vh;
                                width: 100vw;
                                padding: 20px;
                                box-sizing: border-box;
                            }

                            /* O Cartão de bloqueio */
                            .suspend-card {
                                background-color: var(--bg-card);
                                border: 1px solid rgba(234, 84, 85, 0.4);
                                padding: 3.5rem 2.5rem;
                                border-radius: 1rem;
                                box-shadow: 0 0 50px rgba(234, 84, 85, 0.15);
                                text-align: center;
                                width: 100%;
                                max-width: 500px;
                                box-sizing: border-box;
                                /* Animação suave de pop-in */
                                transition: transform 0.3s ease-out;
                                animation: suspend-popin 0.4s ease-out;
                            }

                            @keyframes suspend-popin {
                                0% { transform: scale(0.9); opacity: 0; }
                                100% { transform: scale(1); opacity: 1; }
                            }

                            /* Ícone SVG de Atenção */
                            .suspend-icon {
                                color: var(--color-red);
                                width: 70px; height: 70px;
                                margin: 0 auto 2rem auto;
                            }
                            .suspend-icon svg { width: 100%; height: 100%; }

                            .suspend-card h1 {
                                color: var(--color-red);
                                font-size: 2.3rem;
                                font-weight: 900;
                                margin: 0 0 1rem 0;
                                letter-spacing: 0.5px;
                                text-transform: uppercase;
                            }

                            .suspend-card p {
                                color: var(--color-text);
                                font-size: 1.15rem;
                                line-height: 1.6;
                                margin: 0 0 1.5rem 0;
                            }

                            /* Área do Motivo Específico */
                            .suspend-reason {
                                display: block;
                                background-color: rgba(234, 84, 85, 0.1);
                                color: #fff;
                                padding: 12px;
                                border-radius: 6px;
                                font-weight: 600;
                                font-size: 1rem;
                                margin-bottom: 2.5rem;
                                border: 1px dashed rgba(234, 84, 85, 0.3);
                            }

                            /* Botão de Acção Profissional */
                            .suspend-card button {
                                background-color: var(--color-red);
                                color: white;
                                border: none;
                                padding: 1rem 2.2rem;
                                border-radius: 50px;
                                font-weight: 700;
                                font-size: 1rem;
                                cursor: pointer;
                                transition: 0.2s;
                                box-shadow: 0 4px 15px rgba(234, 84, 85, 0.4);
                                text-transform: uppercase;
                                letter-spacing: 1px;
                            }
                            .suspend-card button:hover {
                                background-color: #d13f40;
                                transform: translateY(-2px);
                                box-shadow: 0 6px 20px rgba(234, 84, 85, 0.6);
                            }

                            /* =========================================================================
                                📱 AJUSTES DE RESPONSIVIDADE PARA CELULAR
                               ========================================================================= */
                            @media (max-width: 576px) {
                                .suspend-card {
                                    padding: 2.5rem 1.5rem; /* Menos padding */
                                    border-radius: 12px;
                                }
                                .suspend-icon {
                                    width: 50px; height: 50px; /* Ícone menor */
                                    margin-bottom: 1.5rem;
                                }
                                .suspend-card h1 {
                                    font-size: 1.8rem; /* Fonte do título menor */
                                }
                                .suspend-card p {
                                    font-size: 1rem; /* Fonte do texto menor */
                                    line-height: 1.5;
                                }
                                .suspend-reason {
                                    font-size: 0.9rem;
                                    padding: 10px;
                                    margin-bottom: 2rem;
                                }
                                .suspend-card button {
                                    padding: 0.9rem 1.8rem;
                                    font-size: 0.9rem;
                                    letter-spacing: 0.5px;
                                }
                            }
                        </style>
                    </head>
                    <body>
                        <div class='suspend-container'>
                            <div class='suspend-card'>
                                <div class='suspend-icon'>
                                    <svg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>
                                        <path d='M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z'></path>
                                        <line x1='12' y1='9' x2='12' y2='13'></line>
                                        <line x1='12' y1='17' x2='12.01' y2='17'></line>
                                    </svg>
                                </div>
                                <h1>ACESSO SUSPENSO</h1>
                                <p>Por favor contacte o administrador para regularizar a situação e retomar o acesso imediato.</p>
                                <span class='suspend-reason'>Motivo: " . htmlspecialchars($motivo) . "</span>
                                <button onclick='window.location.reload();'>TENTAR NOVAMENTE</button>
                            </div>
                        </div>
                    </body>
                    </html>
                    ");
                } 
                
                // ... [Mantenha a lógica do Aviso Amarelo (2. AVISO INSTANTÂNEO) inalterada abaixo] ...
                else if ($dias_restantes <= 7) {
                    // ... [Conteúdo do aviso amarelo] ...
                }
            }
        }
    }
}
?>