<?php
// --- CONFIGURAÇÃO ---
ini_set('display_errors', 0);
error_reporting(0);
session_start();
date_default_timezone_set('America/Sao_Paulo');

// FORÇA O NAVEGADOR A LER EM UTF-8
header('Content-Type: text/html; charset=utf-8');

require_once 'config.php';
$pdo = getConexaoAtiva();

// Força a comunicação em UTF-8 com suporte a Emojis
$pdo->exec("SET NAMES utf8mb4");

// --- INÍCIO: BUSCA DE PERSONALIZAÇÃO DINÂMICA ---
$nome_painel = 'TOP IPTV';
$logo_url = '';
$cor_primaria = '#007bff';

try {
    $tabela_existe = $pdo->query("SHOW TABLES LIKE 'painel_config'")->rowCount() > 0;
    if ($tabela_existe) {
        $config_painel = $pdo->query("SELECT * FROM painel_config LIMIT 1")->fetch(PDO::FETCH_ASSOC);
        if ($config_painel) {
            $nome_painel = !empty($config_painel['nome_painel']) ? $config_painel['nome_painel'] : $nome_painel;
            $logo_url = !empty($config_painel['logo_url']) ? $config_painel['logo_url'] : $logo_url;
            $cor_primaria = !empty($config_painel['cor_primaria']) ? $config_painel['cor_primaria'] : $cor_primaria;
        }
    }
} catch (Exception $e) { }

if (!isset($_SESSION['user_id'])) { header("Location: login.php"); exit; }

$role = $_SESSION['user_role'] ?? 'reseller'; 
$nome_usuario = $_SESSION['username'] ?? 'Usuário';
$user_id_logado = $_SESSION['user_id'];
$is_admin = ($role === 'admin');

try {
    $user_credits = $pdo->query("SELECT credits FROM reg_users WHERE id = " . intval($user_id_logado))->fetchColumn() ?: 0;
} catch (Exception $e) { 
    $user_credits = 0; 
}

// --- FILTRO DE REVENDEDOR ---
$id_visualizacao = $user_id_logado; 
$lista_revendedores = [];

if ($is_admin) {
    try {
        $sqlRev = "SELECT id, username as user FROM reg_users WHERE id != '$user_id_logado' AND member_group_id != 1 ORDER BY username ASC";
        $stmtRev = $pdo->query($sqlRev);
        if ($stmtRev) { $lista_revendedores = $stmtRev->fetchAll(PDO::FETCH_ASSOC); }
    } catch (Exception $e) {}

    if (isset($_GET['ver_revendedor']) && is_numeric($_GET['ver_revendedor'])) {
        $id_visualizacao = (int)$_GET['ver_revendedor'];
    }
}

// ====================================================================================
// BUSCA DA CONFIGURAÇÃO (Com garantia de UTF-8)
// ====================================================================================
$config_cobranca = [
    'pix_chave' => '', 'pix_titular' => '', 'pix_banco' => '',
    'msg_4dias' => "🤖 Olá *{nome}*!\nLembrete: seu plano vence em *4 dias* ({vencimento}).",
    'msg_1dia' => "🤖 Olá *{nome}*!\nSeu plano vence *AMANHÃ* ({vencimento}).",
    'msg_hoje' => "🤖 Olá *{nome}*!\nSeu plano *VENCE HOJE* ({vencimento}).",
    'img_4dias' => '', 'img_1dia' => '', 'img_hoje' => ''
];

try {
    $stmtCfg = $pdo->query("SELECT * FROM config_cobranca WHERE admin_id = '$id_visualizacao'");
    if ($stmtCfg && $stmtCfg->rowCount() > 0) {
        $configDB = $stmtCfg->fetch(PDO::FETCH_ASSOC);
        foreach($configDB as $k => $v) {
            if(!empty($v)) $config_cobranca[$k] = $v;
        }
    }
} catch (Exception $e) {}

// ====================================================================================
// BUSCA DE CLIENTES
// ====================================================================================
try {
    $sql = "SELECT id, username AS usuario, username AS name, FROM_UNIXTIME(exp_date) AS Vencimento, whatsapp AS Whatsapp, member_id AS admin_id,
            DATEDIFF(FROM_UNIXTIME(exp_date), CURDATE()) as dias_restantes
            FROM users 
            WHERE exp_date IS NOT NULL AND exp_date > 0 
            AND (is_p2p = 0 OR is_p2p IS NULL)
            AND member_id = '$id_visualizacao'
            HAVING dias_restantes IN (4, 1, 0, -1, -2, -3) 
            ORDER BY dias_restantes ASC";

    $stmt = $pdo->query($sql);
    $clientes = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (Exception $e) {
    $clientes = []; 
}

$grupos = [ 'hoje' => [], 'amanha' => [], '4dias' => [] ];

foreach ($clientes as $c) {
    $zap = isset($c['Whatsapp']) ? preg_replace('/[^0-9]/', '', $c['Whatsapp']) : '';
    $c['zap_limpo'] = $zap;
    $c['data_br'] = date('d/m/Y', strtotime($c['Vencimento']));
    $nome = !empty($c['usuario']) ? $c['usuario'] : $c['name'];
    $c['nome_show'] = ucfirst($nome);

    $pix_text = "";
    if (!empty($config_cobranca['pix_chave'])) {
        $pix_text .= "\n-----------------------------------------\n";
        $pix_text .= "Para fazer o pagamento use a Chave Pix\n";
        $pix_text .= "🔽👇👇👇🔽\n";
        $pix_text .= "-----------------------------------------\n\n";
        $pix_text .= "Pix: *{$config_cobranca['pix_chave']}*\n";
        if($config_cobranca['pix_titular']) $pix_text .= "Titular: {$config_cobranca['pix_titular']}\n";
        if($config_cobranca['pix_banco'])   $pix_text .= "Banco: {$config_cobranca['pix_banco']}\n";
        $pix_text .= "-----------------------------------------\n\n";
        $pix_text .= "Após o pagamento, envie o comprovante. Obrigado!";
    }

    $tags = ['{nome}', '{vencimento}'];
    $vals = ["*{$nome}*", $c['data_br']];

    // BLINDAGEM: rawurlencode transforma o texto e os emojis em código web seguro ANTES de ir pro JS
    if ($c['dias_restantes'] == 4) {
        $msg_bruta = str_replace($tags, $vals, $config_cobranca['msg_4dias']) . $pix_text;
        $c['msg_blindada'] = rawurlencode($msg_bruta);
        $c['img_final'] = $config_cobranca['img_4dias']; 
        $grupos['4dias'][] = $c;
    
    } elseif ($c['dias_restantes'] == 1) {
        $msg_bruta = str_replace($tags, $vals, $config_cobranca['msg_1dia']) . $pix_text;
        $c['msg_blindada'] = rawurlencode($msg_bruta);
        $c['img_final'] = $config_cobranca['img_1dia']; 
        $grupos['amanha'][] = $c;
    
    } else {
        $msg_bruta = str_replace($tags, $vals, $config_cobranca['msg_hoje']) . $pix_text;
        $c['msg_blindada'] = rawurlencode($msg_bruta);
        $c['img_final'] = $config_cobranca['img_hoje']; 
        $grupos['hoje'][] = $c;
    }
}
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>Central de Cobrança - <?php echo htmlspecialchars($nome_painel); ?></title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <style>
        :root { --bg-dark: #121519; --bg-sidebar: #1e2227; --bg-card: #272c33; --text-main: #d1d5da; --text-muted: #8a94a1; --accent: <?php echo $cor_primaria; ?>; --border-color: #3a4149; --success: #28a745; --danger: #dc3545; --warning: #f39c12; --info: #17a2b8; }
        body { margin: 0; font-family: 'Segoe UI', sans-serif; background-color: var(--bg-dark); color: var(--text-main); display: flex; height: 100vh; overflow: hidden; }
        
        .sidebar { width: 260px; background-color: var(--bg-sidebar); display: flex; flex-direction: column; transition: 0.3s; border-right: 1px solid var(--border-color); z-index: 1001; flex-shrink: 0; }
        .sidebar-header { padding: 25px 20px; text-align: center; font-size: 22px; font-weight: bold; color: white; border-bottom: 1px solid var(--border-color); display: flex; flex-direction: column; align-items: center; gap: 10px; }
        .sidebar-logo { max-width: 180px; max-height: 55px; object-fit: contain; }
        
        .user-info { padding: 20px; text-align: center; border-bottom: 1px solid var(--border-color); }
        .user-info .badge { background: rgba(0, 123, 255, 0.2); color: var(--accent); padding: 4px 10px; border-radius: 4px; font-size: 11px; text-transform: uppercase; font-weight: bold; margin-top: 5px; display: inline-block; }
        .credits-badge { display: block; margin-top: 10px; color: var(--success); font-weight: bold; font-size: 13px; }
        
        .menu-list { list-style: none; padding: 0; margin: 0; overflow-y: auto; flex: 1; }
        .menu-item { padding: 14px 20px; color: var(--text-main); text-decoration: none; display: flex; align-items: center; transition: 0.2s; border-left: 3px solid transparent; font-size: 14px; cursor: pointer; }
        .menu-item i:first-child { margin-right: 12px; width: 20px; text-align: center; color: var(--text-muted); }
        .menu-item:hover, .menu-item.active { background-color: #2c3138; color: white; border-left-color: var(--accent); }
        .menu-item.active i:first-child { color: var(--accent); }
        
        .submenu { display: none; background: #16191d; list-style: none; padding: 0; margin: 0; }
        .submenu .menu-item { padding-left: 52px; font-size: 13px; border-left: none; }
        .arrow-icon { margin-left: auto; transition: 0.3s; font-size: 11px; }
        .rotate { transform: rotate(180deg); }
        .menu-category { padding: 20px 20px 8px; font-size: 10px; text-transform: uppercase; color: var(--text-muted); font-weight: bold; letter-spacing: 1px; }
        .logout-btn { padding: 15px; background-color: #dc3545; color: white; text-align: center; text-decoration: none; font-weight: bold; }

        .main-content { flex: 1; display: flex; flex-direction: column; overflow-y: auto; width: 100%; position: relative; }
        .topbar { display: flex; justify-content: space-between; align-items: center; padding: 15px 30px; background-color: var(--bg-sidebar); border-bottom: 1px solid var(--border-color); gap: 10px; }
        .menu-toggle { display: none; background: none; border: none; color: white; font-size: 22px; cursor: pointer; padding: 5px; flex-shrink: 0; }
        .mode-badge { padding: 6px 12px; background: rgba(0, 123, 255, 0.15); color: var(--accent); border-radius: 20px; font-size: 11px; font-weight: bold; border: 1px solid var(--accent); white-space: nowrap; flex-shrink: 0; }
        
        .content-area { padding: 30px; flex: 1; overflow-x: hidden; }

        .container-cobranca { max-width: 900px; margin: 0 auto; }
        .btn-config { background: var(--accent); color: white; padding: 10px 20px; border-radius: 8px; text-decoration: none; font-weight: bold; float: right; margin-bottom: 25px; display: inline-flex; align-items: center; gap: 8px; transition: 0.2s;}
        .btn-config:hover { filter: brightness(1.1); }
        
        .admin-filter-box { background: var(--bg-card); padding: 15px 20px; border-radius: 10px; margin-bottom: 25px; border: 1px solid var(--border-color); display: flex; align-items: center; gap: 15px; flex-wrap: wrap; }
        .select-rev { padding: 10px; border-radius: 6px; border: 1px solid var(--border-color); flex-grow: 1; min-width: 200px; background: #121519; color: white; }
        
        .card-cliente { background: var(--bg-card); border-radius: 10px; padding: 20px; margin-bottom: 15px; border-left: 5px solid #555; display: flex; flex-direction: column; gap: 15px; border-top: 1px solid var(--border-color); border-right: 1px solid var(--border-color); border-bottom: 1px solid var(--border-color);}
        .border-red { border-left-color: var(--danger); } .border-orange { border-left-color: #f97316; } .border-yellow { border-left-color: var(--warning); }
        .text-red { color: var(--danger); } .text-orange { color: #f97316; } .text-yellow { color: var(--warning); }
        .info-user { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--border-color); padding-bottom: 10px;}
        .info-user strong { font-size: 16px; color: white; } 
        .info-user span { font-size: 13px; font-weight: bold; }

        .img-area { width: 100%; background: #121519; padding: 10px; border-radius: 8px; text-align: center; border: 1px dashed var(--border-color); }
        .img-area img { max-height: 140px; max-width: 100%; border-radius: 5px; cursor: pointer; }
        .img-hint { font-size: 11px; color: var(--text-muted); display: block; margin-top: 5px; }

        .actions-area { display: flex; flex-wrap:wrap; gap: 10px; width: 100%; }
        .btn-zap { flex: 1; min-width: 130px; background: #25D366; color: white; padding: 12px; border-radius: 8px; text-decoration: none; font-weight: bold; text-align: center; display: flex; align-items: center; justify-content: center; gap: 8px; border: none; cursor: pointer; font-size: 14px; transition: 0.2s;}
        .btn-zap:hover { background: #128C7E; color: white; }
        .btn-share { background: #8b5cf6; } 
        .btn-share:hover { background: #7c3aed; color: white; }

        .sem-zap { width: 100%; text-align: center; color: var(--text-muted); font-size: 13px; background: #121519; padding: 12px; border-radius: 8px; border: 1px dashed var(--border-color); }
        
        .paginacao-controles { display: flex; justify-content: center; align-items: center; gap: 15px; margin: 20px 0 30px; }
        .btn-pag { background: var(--bg-card); border: 1px solid var(--border-color); padding: 8px 15px; border-radius: 6px; cursor: pointer; color: white; transition: 0.2s;}
        .btn-pag:hover:not([disabled]) { background: var(--accent); border-color: var(--accent); }
        .btn-pag:disabled { opacity: 0.3; cursor: not-allowed; }
        
        .header-secao { margin: 40px 0 15px; font-weight: 800; font-size: 14px; text-transform: uppercase; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--border-color); padding-bottom: 10px;}
        .pill-badge { background: rgba(255,255,255,0.1); padding: 4px 12px; border-radius: 20px; font-size: 12px; color: white;}

        .sidebar-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); z-index: 1000; }

        @media (max-width: 768px) {
            .menu-toggle { display: block; }
            .sidebar { position: fixed; left: -260px; height: 100%; box-shadow: 10px 0 20px rgba(0,0,0,0.5); }
            .sidebar.active { left: 0; }
            .sidebar-overlay.active { display: block; }
            .topbar { padding: 15px; justify-content: flex-start; }
            .topbar-right { margin-left: auto; }
            .topbar h2 { font-size: 15px !important; margin-left: 10px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
            .content-area { padding: 15px; }
            .admin-filter-box { flex-direction: column; align-items: stretch; padding: 15px; } 
            .select-rev { width: 100%; } 
            .actions-area { width: 100%; flex-direction: column;}
            .btn-config { float: none; width: 100%; justify-content: center; margin-bottom: 15px;}
        }
    </style>
</head>
<body>
    <div class="sidebar-overlay" id="overlay"></div>
    
    <nav class="sidebar" id="sidebar">
        <div class="sidebar-header">
            <?php if(!empty($logo_url) && file_exists($logo_url)): ?>
                <img src="<?php echo htmlspecialchars($logo_url); ?>" alt="Logo" class="sidebar-logo">
            <?php else: ?>
                <span style="font-size: 18px;"><?php echo htmlspecialchars($nome_painel); ?></span>
            <?php endif; ?>
        </div>
        
        <div class="user-info">
            <div style="color:white; font-size: 14px;">Olá, <strong><?php echo htmlspecialchars($nome_usuario); ?></strong></div>
            <span class="badge"><?php echo $role === 'admin' ? 'Administrador' : 'Revendedor'; ?></span>
            <div class="credits-badge"><i class="fas fa-coins"></i> Saldo: <?php echo number_format($user_credits, 1); ?></div>
        </div>
        
        <div class="menu-list">
            <a href="dashboard.php" class="menu-item active"><i class="fas fa-chart-line"></i> Dashboard</a>
            <a href="perfil.php" class="menu-item active"><i class="fas fa-user-circle"></i> Meu Perfil</a>
            
            <a href="lancamentos.php" class="menu-item active"><i class="fas fa-fire"></i> Últimos Adicionados</a>
            
            <a href="ajuda.php" class="menu-item active"><i class="fas fa-question-circle"></i> Material de Ajuda</a>
            
            <div class="menu-category">Gestão</div>
            <a href="clientes.php" class="menu-item active"><i class="fas fa-users"></i> Clientes IPTV</a>
            <a href="testes.php" class="menu-item active"><i class="fas fa-vial"></i> Gerenciar Testes</a>
            <a href="online.php" class="menu-item active"><i class="fas fa-plug"></i> Clientes Online</a>
            <a href="revendedores.php" class="menu-item active"><i class="fas fa-user-tie"></i> Revendedores</a>
            <a href="migrar_clientes.php" class="menu-item active"><i class="fas fa-exchange-alt"></i> Migrar Clientes</a>
            <a href="logs_creditos.php" class="menu-item active"><i class="fas fa-list-alt"></i> Extrato de Créditos</a>
            <a href="marketing.php" class="menu-item active"><i class="fas fa-bullhorn"></i> Central de Marketing</a>
            
            
            <div class="menu-category">Clientes P2P</div>
            <a href="p2p_clientes.php" class="menu-item active"><i class="fas fa-tv"></i> Clientes P2P</a>
            
            <?php if (!empty($api_conf['api_binstream_url'])): ?>
                <a href="binstream_p2p.php" class="menu-item active"><i class="fas fa-tv"></i> Binstream P2P</a>
            <?php endif; ?>

            <div class="menu-category">Integração & Cobrança</div>
            <a href="pagamentos.php" class="menu-item active"><i class="fas fa-dollar-sign"></i> Pagamento Automático</a>
            <a href="cobranca.php" class="menu-item active"><i class="fas fa-comment-dollar"></i> Central de Cobrança</a>
            <a href="admin_planos.php" class="menu-item active"><i class="fas fa-tags"></i> Meus Planos de Venda</a>
            <a href="comprar_creditos.php" class="menu-item active"><i class="fas fa-shopping-cart"></i> Comprar Créditos</a>
            
            <div class="menu-item active" onclick="toggleSubmenu('appsSub')">
                <i class="fas fa-rocket"></i><span>Aplicações</span><i class="fas fa-chevron-down arrow-icon" id="arrow-appsSub"></i>
            </div>
            <div class="submenu" id="appsSub">
                <a href="loja_apps.php" class="menu-item active"><i class="fas fa-store"></i> Loja de Aplicativos</a>
                <?php if($role === 'admin'): ?>
                    <a href="admin_loja.php" class="menu-item active"><i class="fas fa-cogs"></i> Gerenciar Loja</a>
                <?php endif; ?>
                <a href="chatbot.php" class="menu-item active"><i class="fab fa-whatsapp"></i> Chatbot Automático</a>
            </div>
           <a href="admin_player_revenda.php" class="menu-item active"><i class="fas fa-play-circle"></i> WebPlayer</a>
            
   <div class="menu-category">Segurança</div>
            <a href="historico_logins.php" class="menu-item active"><i class="fas fa-shield-alt"></i> Sessões Ativas</a>

            <?php if($role === 'admin'): ?>
                <div class="menu-category">Administração</div>
                <a href="admin_monitor.php" class="menu-item active"><i class="fas fa-heartbeat"></i> Monitor do Servidor</a>
                <a href="admin_template.php" class="menu-item active"><i class="fas fa-edit"></i> Editor de Template</a>
                <a href="admin_lb.php" class="menu-item active"><i class="fas fa-server"></i> Load Balancers</a>
                <a href="guia_cloudflare.php" class="menu-item active"><i class="fas fa-cloud"></i> Guia Cloudflare</a>
                 <a href="admin_loja_creditos.php" class="menu-item active"><i class="fas fa-store"></i> Configurar Loja (PIX)</a>
                 <a href="integracoes_api.php" class="menu-item active"><i class="fas fa-plug"></i> Integrações API</a>
                 <a href="integracoes_api_whatsapp.php" class="menu-item active"><i class="fas fa-plug"></i> Integrações API WhatsApp</a>
                 <a href="admin_robo.php" class="menu-item active"><i class="fas fa-robot"></i> Robô de Cobrança</a>
                 <a href="admin_anti_bloqueio.php" class="menu-item active"><i class="fas fa-bolt"></i> Botão de Pânico</a>
                 <a href="admin_anti_fraude.php" class="menu-item active"><i class="fas fa-user-secret"></i> Radar Anti-Fraude</a>  
                 <a href="admin_watchdog.php" class="menu-item active"><i class="fas fa-dog"></i> Watchdog LB</a>  
                 
                 <a href="admin_epg_sync.php" class="menu-item active">
        <i class="fas fa-clock"></i> Sincronizar EPG
    </a>

 <div class="menu-item active" onclick="toggleSubmenu('painelSub')">
                    <i class="fas fa-desktop"></i><span>Painel</span><i class="fas fa-chevron-down arrow-icon" id="arrow-painelSub"></i>
                </div>
                <div class="submenu" id="painelSub">
                    <a href="personalizacao.php" class="menu-item active"><i class="fas fa-paint-brush"></i> Personalização</a>
                </div>
             
                <div class="menu-item active" onclick="toggleSubmenu('adminSub')">
                    <i class="fas fa-toolbox"></i><span>Ferramentas</span><i class="fas fa-chevron-down arrow-icon" id="arrow-adminSub"></i>
                </div>
                <div class="submenu" id="adminSub">
                    <a href="importar.php" class="menu-item active"><i class="fas fa-file-import"></i> Importador</a>
                    <a href="importar3.php" class="menu-item active"><i class="fas fa-file-import"></i> Importador Turbo</a>
                    <a href="dns_manager.php" class="menu-item active"><i class="fas fa-link"></i> Alterar DNS</a>
                    <a href="admin_logos.php" class="menu-item active"><i class="fas fa-image"></i> Alterar Logos</a>
                    <a href="mover_conteudos.php" class="menu-item active"><i class="fas fa-exchange-alt"></i> Mover Conteúdos</a>
                    <a href="limpeza.php" class="menu-item active"><i class="fas fa-trash-alt"></i> Limpeza de Dados</a>
                    <a href="limpar_duplicados.php" class="menu-item active"><i class="fas fa-copy"></i> Limpeza de Duplicados</a>
                    <a href="backup.php" class="menu-item active"><i class="fas fa-database"></i> Backup do Sistema</a>
                    <a href="seguranca.php" class="menu-item active"><i class="fas fa-shield-alt"></i> Sistema de Segurança</a>
                    <a href="configuracoes.php" class="menu-item active"><i class="fas fa-tools"></i> Configurações</a>
                </div>

                 <?php if($role === 'admin'): ?>
    <div class="menu-category">Financeiro</div>
     <!-- NOVO MENU FINANCEIRO COM SUBMENU -->
            <div class="menu-item active" onclick="toggleSubmenu('finSub')">
                <i class="fas fa-hand-holding-usd"></i><span>Financeiro</span><i class="fas fa-chevron-down arrow-icon rotate" id="arrow-finSub"></i>
            </div>
            <div class="submenu" id="finSub" style="display: block;">
                <a href="financeiro.php" class="menu-item active">Faturamento</a>
            </div>
    
    <?php endif; ?>

                <div class="menu-category">Conteúdos</div>
                <a href="categorias.php" class="menu-item active"><i class="fas fa-folder-open"></i><span>Categorias</span></a>
                <div class="menu-item active" onclick="toggleSubmenu('contentSub')">
                    <i class="fas fa-layer-group"></i><span>Mídias</span><i class="fas fa-chevron-down arrow-icon" id="arrow-contentSub"></i>
                </div>
                <div class="submenu" id="contentSub">
                    <a href="bouquets.php" class="menu-item active">Editar Bouquets</a>
                    <a href="canais.php" class="menu-item active">Canais Ao Vivo</a>
                    <a href="filmes.php" class="menu-item active">Filmes (VOD)</a>
                    <a href="series.php" class="menu-item active">Séries</a>
                </div>
                 <a href="admin_autofix_vod.php" class="menu-item active"><i class="fas fa-magic"></i> Auto-Fix TMDB</a>
            <?php endif; ?>
        </div>
        <a href="logout.php" class="logout-btn"><i class="fas fa-power-off"></i> Sair</a>
    </nav>

    <div class="main-content">
        <header class="topbar">
            <button class="menu-toggle" onclick="toggleMenu()"><i class="fas fa-bars"></i></button>
            <h2 style="margin:0; color:white;">Central de Cobrança</h2>
            <div class="topbar-right">
                <span class="mode-badge"><i class="fab fa-whatsapp"></i> AVISOS MANUAIS</span>
            </div>
        </header>

        <div class="content-area">
            <div class="container-cobranca">
                
                <div style="margin-bottom: 20px; overflow: hidden;">
                    <a href="config_cobranca.php" class="btn-config"><i class="fas fa-cogs"></i> Configurar Mensagens e PIX</a>
                </div>

                <?php if ($is_admin): ?>
                <div class="admin-filter-box">
                    <div style="display:flex; align-items:center; gap:8px; color: var(--info);">
                        <i class="fas fa-filter"></i> <strong>Filtrar:</strong>
                    </div>
                    <form method="GET" style="flex-grow:1; display:flex;">
                        <select name="ver_revendedor" class="select-rev" onchange="this.form.submit()">
                            <option value="<?php echo $user_id_logado; ?>" <?php echo ($id_visualizacao == $user_id_logado) ? 'selected' : ''; ?>>👤 Meus Clientes</option>
                            <?php if(!empty($lista_revendedores)): ?>
                                <optgroup label="Revendedores">
                                <?php foreach($lista_revendedores as $rev): ?>
                                    <option value="<?php echo $rev['id']; ?>" <?php echo ($id_visualizacao == $rev['id']) ? 'selected' : ''; ?>>👔 <?php echo htmlspecialchars($rev['user']); ?></option>
                                <?php endforeach; ?>
                                </optgroup>
                            <?php endif; ?>
                        </select>
                    </form>
                </div>
                <?php endif; ?>

                <div style="text-align: center; margin-bottom: 30px;">
                    <p style="margin:0; color:var(--text-muted); font-size:14px;">Exibindo clientes de: <strong style="color:var(--info);"><?php echo ($id_visualizacao == $user_id_logado) ? 'MIM' : 'REVENDEDOR'; ?></strong></p>
                </div>

                <div class="header-secao text-red"><span><i class="fas fa-exclamation-circle"></i> VENCEM HOJE</span><span class="pill-badge"><?php echo count($grupos['hoje']); ?></span></div>
                <div id="container-hoje"></div><div id="pag-hoje" class="paginacao-controles"></div>

                <div class="header-secao text-orange"><span><i class="fas fa-clock"></i> VENCEM AMANHÃ</span><span class="pill-badge"><?php echo count($grupos['amanha']); ?></span></div>
                <div id="container-amanha"></div><div id="pag-amanha" class="paginacao-controles"></div>

                <div class="header-secao text-yellow"><span><i class="fas fa-calendar-day"></i> LEMBRETE 4 DIAS</span><span class="pill-badge"><?php echo count($grupos['4dias']); ?></span></div>
                <div id="container-4dias"></div><div id="pag-4dias" class="paginacao-controles"></div>

            </div>
        </div>
        <?php include 'rodape.php'; ?>
    </div>

    <script>
        const sidebar = document.getElementById('sidebar');
        const overlay = document.getElementById('overlay');
        function toggleMenu() { sidebar.classList.toggle('active'); overlay.classList.toggle('active'); }
        overlay.onclick = toggleMenu;

        function toggleSubmenu(id) {
            const sub = document.getElementById(id);
            const arrow = document.getElementById('arrow-' + id);
            if (sub.style.display === "block") { sub.style.display = "none"; if(arrow) arrow.classList.remove('rotate'); } 
            else { sub.style.display = "block"; if(arrow) arrow.classList.add('rotate'); }
        }

        const dados = {
            hoje: <?php echo json_encode($grupos['hoje']); ?>,
            amanha: <?php echo json_encode($grupos['amanha']); ?>,
            4: <?php echo json_encode($grupos['4dias']); ?>
        };
        const paginas = { hoje: 1, amanha: 1, 4: 1 };
        const porPagina = 5;

        async function compartilharZap(urlImg, textoDecodificado, fone) {
            if (urlImg && navigator.share) {
                try {
                    const response = await fetch(urlImg);
                    const blob = await response.blob();
                    const file = new File([blob], "cobranca.jpg", { type: "image/jpeg" });
                    if (navigator.canShare && navigator.canShare({ files: [file] })) {
                        await navigator.share({ files: [file], text: textoDecodificado, title: 'Cobrança' });
                        return;
                    }
                } catch (e) { console.log("Erro share"); }
            }
            window.open(`https://wa.me/55${fone}?text=${encodeURIComponent(textoDecodificado)}`, '_blank');
        }

        function renderizarLista(tipo, idContainer, idControles, corBorda, classeTexto) {
            const lista = dados[tipo];
            const container = document.getElementById(idContainer);
            const controles = document.getElementById(idControles);
            
            if (lista.length === 0) {
                container.innerHTML = '<div style="background:var(--bg-card); color:var(--text-muted); padding:15px; border-radius:8px; border:1px dashed var(--border-color); text-align:center; font-size:13px;">Nenhum cliente nesta lista.</div>';
                controles.style.display = 'none';
                return;
            }

            const totalPaginas = Math.ceil(lista.length / porPagina);
            const pgAtual = paginas[tipo];
            const inicio = (pgAtual - 1) * porPagina;
            const itens = lista.slice(inicio, inicio + porPagina);

            let html = '';
            itens.forEach(cli => {
                let imgBlock = '';
                let botoes = '';

                if(cli.img_final) {
                    imgBlock = `
                        <div class="img-area">
                            <img src="${cli.img_final}" onclick="window.open(this.src)">
                            <span class="img-hint">Clique para ampliar</span>
                        </div>`;
                }

                if(cli.zap_limpo) {
                    // Agora usamos o link já criptografado e seguro (msg_blindada)
                    let btnTexto = `
                    <a href="https://wa.me/55${cli.zap_limpo}?text=${cli.msg_blindada}" target="_blank" class="btn-zap">
                        <i class="fab fa-whatsapp"></i> Só Texto
                    </a>`;

                    let btnFoto = '';
                    if (cli.img_final) {
                        btnFoto = `
                        <button onclick="compartilharZap('${cli.img_final}', decodeURIComponent('${cli.msg_blindada}'), '${cli.zap_limpo}')" class="btn-zap btn-share">
                            <i class="fas fa-share-alt"></i> Foto + Texto
                        </button>`;
                    }
                    botoes = btnFoto + btnTexto; 
                } else {
                    botoes = `<span class="sem-zap"><i class="fas fa-phone-slash"></i> Sem WhatsApp cadastrado</span>`;
                }

                html += `
                <div class="card-cliente ${corBorda}">
                    <div class="info-user">
                        <strong><i class="fas fa-user" style="color:var(--text-muted); margin-right:5px;"></i> ${cli.nome_show}</strong>
                        <span class="${classeTexto}">${cli.data_br}</span>
                    </div>
                    ${imgBlock}
                    <div class="actions-area">
                        ${botoes}
                    </div>
                </div>`;
            });
            container.innerHTML = html;

            if (totalPaginas > 1) {
                controles.innerHTML = `
                    <button class="btn-pag" onclick="mudarPag('${tipo}', -1)" ${pgAtual === 1 ? 'disabled' : ''}><i class="fas fa-chevron-left"></i></button>
                    <span style="color:var(--text-muted); font-size:13px; font-weight:bold; margin:0 10px;">Página ${pgAtual} de ${totalPaginas}</span>
                    <button class="btn-pag" onclick="mudarPag('${tipo}', 1)" ${pgAtual === totalPaginas ? 'disabled' : ''}><i class="fas fa-chevron-right"></i></button>
                `;
                controles.style.display = 'flex';
            } else { controles.style.display = 'none'; }
        }

        function mudarPag(tipo, direcao) {
            paginas[tipo] += direcao;
            renderizarTodas();
        }
        function renderizarTodas() {
            renderizarLista('hoje', 'container-hoje', 'pag-hoje', 'border-red', 'text-red');
            renderizarLista('amanha', 'container-amanha', 'pag-amanha', 'border-orange', 'text-orange');
            renderizarLista('4', 'container-4dias', 'pag-4dias', 'border-yellow', 'text-yellow');
        }
        document.addEventListener("DOMContentLoaded", renderizarTodas);
    </script>
</body>
</html>