/* Relatórios: período, resumo, análise e documentos compartilham a projeção. */
.report-page .conteudo { max-width:1200px; width:100%; }
.rel-config { border:1px solid var(--cor-borda); border-radius:12px; padding:26px; background:var(--cor-superficie); margin-bottom:28px; }
.rel-config h3 { font-size:21px; margin-bottom:10px; }
.periodo-opcoes { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:20px 0; }
.periodo-opcao { display:flex; flex-direction:column; align-items:flex-start; gap:7px; padding:16px; border:1px solid var(--cor-borda-controle); border-radius:8px; background:var(--cor-superficie); color:var(--cor-texto); text-align:left; min-height:76px; }
.periodo-opcao strong { font-size:14px; }.periodo-opcao small { color:var(--cor-texto-suave); font-size:12px; line-height:1.5; }
.periodo-opcao.ativo { background:var(--cor-fundo-suave); border:2px solid var(--cor-primaria-texto); padding:15px; }
.rel-filtros { max-width:640px; margin:24px 0; }.rel-filtro-bloco label { display:block; font-weight:600; font-size:13px; margin-bottom:9px; }
.rel-filtro-bloco .campos-duplos { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
#btn-gerar-relatorio-completo { width:auto; min-width:220px; margin:0; }#report-status { margin:14px 0 0; font-size:13px; }
.report-page .botao-principal:hover:not(:disabled) { background:#ff823f; color:#111; }
.relatorio-vazio,.rel-sem-dados { padding:36px; border:1px dashed var(--cor-borda-controle); border-radius:12px; color:var(--cor-texto-suave); text-align:center; line-height:1.8; }
.rel-sem-dados h3 { color:var(--cor-texto); margin-bottom:10px; }.rel-sem-dados button { width:auto; margin:18px auto 0; }
.rel-sem-dados-icone { display:none; }.rel-cabecalho { padding:12px 0 24px; border-bottom:1px solid var(--cor-borda); margin-bottom:24px; }
.rel-cab-titulo { font-size:13px; color:var(--cor-texto-suave); margin-bottom:12px; }.rel-cab-periodo { font-size:30px; font-weight:650; letter-spacing:-.8px; color:var(--cor-texto); }.rel-cab-meta { color:var(--cor-texto-suave); font-size:12px; margin-top:12px; line-height:1.7; }
.kpis-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:28px; }
.kpi-card { border:1px solid var(--cor-borda); border-radius:10px; padding:22px 18px; background:var(--cor-superficie); min-width:0; }
.kpi-rotulo { color:var(--cor-texto-suave); font-size:12px; }.kpi-valor { color:var(--cor-texto); font-size:25px; font-weight:650; letter-spacing:-.6px; margin:14px 0; overflow-wrap:anywhere; }
.kpi-card.tipo-receita .kpi-valor { color:var(--cor-receita); }.kpi-card.tipo-despesa .kpi-valor { color:var(--cor-despesa); }
.kpi-secundario,.kpi-comparativo { font-size:12px; color:var(--cor-texto-suave); line-height:1.7; }.kpi-comparativo { display:block; margin-top:10px; }
.rel-graficos { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.rel-grafico-card { min-width:0; padding:24px; border:1px solid var(--cor-borda); border-radius:12px; background:var(--cor-superficie); }
.rel-grafico-card h3 { font-size:19px; margin-bottom:8px; }.grafico-sub { color:var(--cor-texto-suave); font-size:13px; line-height:1.6; margin-bottom:22px; }.rel-grafico-card.grafico-largo:first-child { grid-column:1/-1; }
.rel-grafico-wrapper { position:relative; height:290px; }.rel-grafico-wrapper.alto { height:330px; }.rel-grafico-vazio { color:var(--cor-texto-suave); text-align:center; padding:20px; }
.report-data-table { margin-top:20px; color:var(--cor-texto-suave); font-size:12px; }.report-data-table summary { cursor:pointer; min-height:44px; display:flex; align-items:center; text-decoration:underline; }
.report-data-table summary::before { content:'›'; margin-right:8px; font-size:20px; }.report-data-table[open] summary::before { content:'⌄'; }
.report-table-scroll { overflow:auto; max-height:300px; }.report-data-table table { width:100%; border-collapse:collapse; }.report-data-table th,.report-data-table td { padding:10px; border-bottom:1px solid var(--cor-borda); text-align:left; white-space:nowrap; }.report-data-table thead th { color:var(--cor-texto); }
.rel-insights { margin:28px 0; }.rel-insights-header { display:flex; align-items:center; gap:12px; margin-bottom:18px; }.rel-insights-header h3 { font-size:21px; }.badge-contador { font-size:12px; padding:4px 8px; background:var(--cor-fundo-suave); border-radius:6px; }
.insights-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.insight-card { background:var(--cor-superficie); border:1px solid var(--cor-borda); border-left:3px solid var(--cor-primaria-texto); border-radius:8px; padding:20px; }.insight-titulo { font-size:14px; font-weight:650; margin-bottom:9px; }.insight-descricao { color:var(--cor-texto-suave); font-size:13px; line-height:1.8; }.insight-destaque { color:var(--cor-texto); font-weight:600; }
.insight-card.tipo-alerta { border-left-color:var(--cor-despesa); }.insight-card.tipo-conquista { border-left-color:var(--cor-receita); }
.botao-exportar-rel { border:0; border-radius:8px; background:var(--cor-marca); color:#111; font-size:14px; font-weight:650; min-height:46px; padding:13px 24px; margin:12px 0 24px; }
#modal-exportar-rel .checkbox-formato { min-height:72px; }#modal-exportar-rel .modal-conteudo { max-width:640px; }
@media(max-width:1050px) { .kpis-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .periodo-opcoes { grid-template-columns:1fr 1fr; }.rel-config { padding:22px 18px; }.rel-filtro-bloco .campos-duplos { grid-template-columns:1fr; }.rel-graficos,.insights-grid { grid-template-columns:1fr; }.rel-grafico-card.grafico-largo { grid-column:1; }.rel-grafico-card { padding:20px 16px; }.rel-cab-periodo { font-size:25px; }.kpi-card { padding:18px 14px; }.kpi-valor { font-size:22px; }.rel-grafico-wrapper.alto { height:290px; }#btn-gerar-relatorio-completo,.botao-exportar-rel { width:100%; }.relatorio-vazio,.rel-sem-dados { padding:26px 20px; } }
