/**
 * Contraste em páginas autenticadas — carregado por último (instâncias BASE/Alicerce).
 * Corrige .card-header escuro com texto escuro em qualquer módulo.
 */

/* Bootstrap .card (não card-item de grid) */
body:not(.login-page) .card:not(.card-item) > .card-header:not(.bg-dark):not(.bg-primary):not(.bg-danger):not(.bg-success):not(.bg-info):not(.bg-secondary):not(.bg-warning):not([class*="bg-"]) {
    background: #f8fafc !important;
    background-image: none !important;
    color: #2C2E35 !important;
    border-bottom: 1px solid #e9ecef;
}

body:not(.login-page) .card:not(.card-item) > .card-header:not(.bg-dark):not(.bg-primary):not(.bg-danger):not(.bg-success):not(.bg-info):not(.bg-secondary):not(.bg-warning):not([class*="bg-"]) :is(h1, h2, h3, h4, h5, h6, .card-title, span, strong, i, small) {
    color: #2C2E35 !important;
}

/* Grid cards (card-item) — fundo escuro, texto claro */
body:not(.login-page) .card-item .card-header,
body:not(.login-page) .card-item .card-header :is(.card-title, .card-subtitle, h1, h2, h3, h4, h5, h6, span, strong, i) {
    color: #fff !important;
}

/* Headers coloridos / gradientes de módulo */
body:not(.login-page) .card-header.bg-dark,
body:not(.login-page) .card-header.bg-primary,
body:not(.login-page) .card-header.bg-secondary,
body:not(.login-page) .card-header.bg-danger,
body:not(.login-page) .card-header.bg-success,
body:not(.login-page) .card-header.bg-info,
body:not(.login-page) .card-header[style*="gradient"],
body:not(.login-page) .card-header[style*="linear-gradient"],
body:not(.login-page) .fuel-card .card-header,
body:not(.login-page) .fuel-card .card-header :is(h1, h2, h3, h4, h5, h6, span, strong, i),
body:not(.login-page) .reemb-form-page .card-header,
body:not(.login-page) .reemb-form-page .card-header :is(h1, h2, h3, span, i) {
    color: #fff !important;
}

/* Evita cards_responsive vazar cor branca para títulos fora de card-item */
body:not(.login-page) .card:not(.card-item) .card-title,
body:not(.login-page) .card:not(.card-item) .card-subtitle {
    color: inherit !important;
}

/* Legendas de fieldset com fundo chumbo */
body:not(.login-page) .form-section legend,
body:not(.login-page) fieldset legend {
    color: #fff !important;
}

/* Painéis financeiro (boletos, cadastros) */
.fin-panel-card {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    margin-bottom: 24px;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.fin-panel-card > .fin-panel-header {
    background: #f8fafc !important;
    background-image: none !important;
    border-bottom: 1px solid #e9ecef;
    padding: 14px 20px;
    color: #2c3e50 !important;
}

.fin-panel-card > .fin-panel-header h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: #2c3e50 !important;
    display: flex;
    align-items: center;
    gap: 8px;
}

.fin-panel-card > .fin-panel-header h3 i {
    color: #3498db;
}

.fin-panel-card > .fin-panel-body {
    padding: 20px;
}

/* Financeiro — painéis padronizados */
.financeiro-page .fin-panel-card > .fin-panel-header,
.financeiro-page .fin-panel-card > .fin-panel-header h3,
.financeiro-page .fin-panel-card > .fin-panel-header h3 i {
    background: #f8fafc;
    color: #2c3e50 !important;
}

.financeiro-page .fin-section-title,
.financeiro-page .filters-card .fin-section-title {
    color: #2c3e50;
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 16px;
}

/* Financeiro — th claro (#f8f9fa): anula o "color:#fff" do theme-base
   pensado para tabelas RH com cabeçalho chumbo */
body:not(.login-page) .financeiro-page .table-container th,
body:not(.login-page) .financeiro-page .table-responsive th,
body:not(.login-page) .financeiro-page .table th {
    color: #495057 !important;
}

/* ============================================================
   Densidade global — 2026-07-21
   Todo o sistema renderizado a 80% (fontes e espaçamentos eram
   grandes demais; melhor leitura validada em telas de 14"/15").
   zoom padronizado (Interop 2024): unidades de viewport (100vh
   da sidebar) continuam preenchendo a tela corretamente.
   ============================================================ */
body:not(.login-page) {
    zoom: 0.8;
}

/* Hero escuro dos painéis de inbox (Central de Atividades): a cor global de
   h1 (chumbo) deixava o título ilegível. Fica aqui (e não no
   inbox_panel_shared.php) porque aquele include é revertido pelo sync da origem. */
body:not(.login-page) .inbox-panel-hero h1 {
    color: #fff !important;
}

body:not(.login-page) .inbox-panel-hero p {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* Com zoom 0.8, comprimentos em vh são renderizados a 80% do viewport —
   alturas de tela cheia precisam compensar dividindo pelo fator. */
body:not(.login-page) .sidebar {
    height: calc(100vh / 0.8);
}

body:not(.login-page) .content-area {
    min-height: calc(100vh / 0.8);
}

@media print {
    body:not(.login-page) {
        zoom: 1;
    }
}
