/**
 * 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;
}
