<?php
include_once('../config.php');
include_once('../header.php');

// --- FUNÇÃO PARA BUSCAR DETALHAMENTO POR ITEM ---
function buscarDetalhamentoMensal($conn) {
    $sql = "
        SELECT 
            SUM(VALOR) as total,
            mes,
            ano,
            categoria,
            perfil
        FROM (
            /* Dados de Relatórios (movimentacoes) */
            SELECT 
                VALOR_TOTAL as VALOR,
                MONTH(DATA_MOVIMENTACAO) as mes,
                YEAR(DATA_MOVIMENTACAO) as ano,
                CASE 
                    WHEN PRODUTO_NOME LIKE 'PIX%' THEN 'PIX'
                    WHEN PRODUTO_NOME LIKE 'RETIRADA%' THEN 'RETIRADA'
                    WHEN PRODUTO_NOME LIKE 'LANCHE%' THEN 'LANCHE'
                END as categoria,
                CASE 
                    WHEN PRODUTO_NOME LIKE '%TULIO%' THEN 'TULIO'
                    WHEN PRODUTO_NOME LIKE '%JULIA%' THEN 'JULIA'
                END as perfil
            FROM movimentacoes 
            WHERE TIPO = 'SAÍDA' AND ABONADO = 0 AND ESCONDER_FILHOS = 0
            AND (PRODUTO_NOME IN ('PIX TULIO', 'RETIRADA TULIO', 'LANCHE TULIO', 'PIX JULIA', 'RETIRADA JULIA', 'LANCHE JULIA'))

            UNION ALL

            /* Dados de Caixa de Casa (lancamentos_casa) */
            SELECT 
                valor as VALOR,
                MONTH(data_mov) as mes,
                YEAR(data_mov) as ano,
                CASE 
                    WHEN descricao LIKE '%PIX%' THEN 'PIX'
                    WHEN descricao LIKE '%RETIRADA%' THEN 'RETIRADA'
                    WHEN descricao LIKE '%LANCHE%' THEN 'LANCHE'
                END as categoria,
                CASE 
                    WHEN descricao LIKE '%TULIO%' THEN 'TULIO'
                    WHEN descricao LIKE '%JULIA%' THEN 'JULIA'
                END as perfil
            FROM lancamentos_casa
            WHERE tipo = 'SAIDA'
            AND (descricao LIKE '%PIX TULIO%' OR descricao LIKE '%RETIRADA TULIO%' OR descricao LIKE '%LANCHE TULIO%' OR
                 descricao LIKE '%PIX JULIA%' OR descricao LIKE '%RETIRADA JULIA%' OR descricao LIKE '%LANCHE JULIA%')
            AND descricao NOT LIKE '%[ESCONDIDO_FILHOS]%'
            AND descricao NOT LIKE '%[ABONADO:%'
        ) as consolidado
        WHERE perfil IS NOT NULL AND categoria IS NOT NULL
        GROUP BY ano, mes, perfil, categoria
        ORDER BY ano DESC, mes DESC";

    $res = $conn->query($sql);
    $dados = [];
    while($row = $res->fetch_assoc()){
        $chave = $row['mes'] . '/' . $row['ano'];
        $dados[$chave][$row['perfil']][$row['categoria']] = $row['total'];
    }
    return $dados;
}

$planilha_detalhada = buscarDetalhamentoMensal($conn);

// Cálculo dos Totais Acumulados
$geral_tulio = 0;
$geral_julia = 0;
foreach($planilha_detalhada as $mes){
    foreach($mes['TULIO'] ?? [] as $valor) $geral_tulio += $valor;
    foreach($mes['JULIA'] ?? [] as $valor) $geral_julia += $valor;
}
$soma_absoluta = $geral_tulio + $geral_julia;

function nomeMes($mes_num) {
    $meses = [1=>'JANEIRO', 2=>'FEVEREIRO', 3=>'MARÇO', 4=>'ABRIL', 5=>'MAIO', 6=>'JUNHO', 7=>'JULHO', 8=>'AGOSTO', 9=>'SETEMBRO', 10=>'OUTUBRO', 11=>'NOVEMBRO', 12=>'DEZEMBRO'];
    return $meses[(int)$mes_num] ?? '---';
}
?>

<style>
    .container-geral { padding: 20px; font-family: 'Segoe UI', sans-serif; text-transform: uppercase; background: #f4f7f6; }
    
    /* TOPO COM TOTAIS: TULIO -> JULIA -> GERAL */
    .header-resumo-topo { background: #1a1a1a; color: #fff; padding: 20px; border-radius: 8px; margin-bottom: 25px; border-bottom: 5px solid #44ff44; text-align: center; }
    .grid-totais-topo { display: flex; justify-content: center; gap: 30px; align-items: center; flex-wrap: wrap; }
    .card-topo-valor { padding: 0 15px; }
    .card-topo-valor label { display: block; font-size: 10px; margin-bottom: 5px; font-weight: bold; color: #888; }
    .val-topo { font-size: 22px; font-family: monospace; font-weight: 900; }
    .val-tulio { color: #4db8ff; }
    .val-julia { color: #ff85af; }
    .val-geral { color: #44ff44; font-size: 28px; }
    .divisor-v { width: 1px; height: 40px; background: #444; }

    .card-mes { background: #fff; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); margin-bottom: 35px; overflow: hidden; border: 1px solid #ddd; }
    .header-mes { background: #333; color: #fff; padding: 12px; font-size: 15px; font-weight: 900; text-align: center; display: flex; justify-content: space-between; align-items: center; }
    
    .grid-filhos { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: #ddd; }
    .coluna-filho { background: #fff; padding: 15px; }
    .nome-filho { font-size: 18px; font-weight: 900; margin-bottom: 15px; text-align: center; padding-bottom: 8px; border-bottom: 2px solid #f0f0f0; }
    
    .tulio-txt { color: #00569e; }
    .julia-txt { color: #e91e63; }

    .item-gasto { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px dashed #eee; font-size: 12px; font-weight: 700; }
    .item-label { color: #777; }
    .item-valor { color: #000; font-family: monospace; }
    
    .total-filho { margin-top: 15px; padding-top: 10px; border-top: 2px solid #333; display: flex; justify-content: space-between; font-weight: 900; font-size: 15px; }
    .soma-mensal-geral { background: #ffc107; color: #000; padding: 4px 10px; border-radius: 4px; font-size: 12px; }

    @media (max-width: 768px) {
        .grid-totais-topo { flex-direction: column; gap: 15px; }
        .divisor-v { display: none; }
        .grid-filhos { grid-template-columns: 1fr; }
    }
</style>

<div class="container-geral">
    <div class="header-resumo-topo">
        <div class="grid-totais-topo">
            <div class="card-topo-valor">
                <label>👦 TOTAL TÚLIO</label>
                <span class="val-topo val-tulio">R$ <?php echo number_format($geral_tulio, 2, ',', '.'); ?></span>
            </div>
            
            <div class="divisor-v"></div>

            <div class="card-topo-valor">
                <label>👧 TOTAL JÚLIA</label>
                <span class="val-topo val-julia">R$ <?php echo number_format($geral_julia, 2, ',', '.'); ?></span>
            </div>

            <div class="divisor-v"></div>

            <div class="card-topo-valor">
                <label>💰 TOTAL GERAL</label>
                <span class="val-topo val-geral">R$ <?php echo number_format($soma_absoluta, 2, ',', '.'); ?></span>
            </div>
        </div>
    </div>

    <?php foreach($planilha_detalhada as $mes_ano => $perfis): 
        $p = explode('/', $mes_ano);
        $total_tulio = array_sum($perfis['TULIO'] ?? []);
        $total_julia = array_sum($perfis['JULIA'] ?? []);
    ?>
    <div class="card-mes">
        <div class="header-mes">
            <span>📅 <?php echo nomeMes($p[0]) . " " . $p[1]; ?></span>
            <span class="soma-mensal-geral">TOTAL MÊS: R$ <?php echo number_format($total_tulio + $total_julia, 2, ',', '.'); ?></span>
        </div>

        <div class="grid-filhos">
            <div class="coluna-filho">
                <div class="nome-filho tulio-txt">👦 TÚLIO</div>
                <div class="item-gasto"><span>PIX TULIO</span><span class="item-valor">R$ <?php echo number_format($perfis['TULIO']['PIX'] ?? 0, 2, ',', '.'); ?></span></div>
                <div class="item-gasto"><span>RETIRADA TULIO</span><span class="item-valor">R$ <?php echo number_format($perfis['TULIO']['RETIRADA'] ?? 0, 2, ',', '.'); ?></span></div>
                <div class="item-gasto"><span>LANCHE TULIO</span><span class="item-valor">R$ <?php echo number_format($perfis['TULIO']['LANCHE'] ?? 0, 2, ',', '.'); ?></span></div>
                <div class="total-filho tulio-txt"><span>SUBTOTAL</span><span>R$ <?php echo number_format($total_tulio, 2, ',', '.'); ?></span></div>
            </div>

            <div class="coluna-filho">
                <div class="nome-filho julia-txt">👧 JÚLIA</div>
                <div class="item-gasto"><span>PIX JULIA</span><span class="item-valor">R$ <?php echo number_format($perfis['JULIA']['PIX'] ?? 0, 2, ',', '.'); ?></span></div>
                <div class="item-gasto"><span>RETIRADA JULIA</span><span class="item-valor">R$ <?php echo number_format($perfis['JULIA']['RETIRADA'] ?? 0, 2, ',', '.'); ?></span></div>
                <div class="item-gasto"><span>LANCHE JULIA</span><span class="item-valor">R$ <?php echo number_format($perfis['JULIA']['LANCHE'] ?? 0, 2, ',', '.'); ?></span></div>
                <div class="total-filho julia-txt"><span>SUBTOTAL</span><span>R$ <?php echo number_format($total_julia, 2, ',', '.'); ?></span></div>
            </div>
        </div>
    </div>
    <?php endforeach; ?>
</div>

<?php include_once('../footer.php'); ?>