/* assets/style.css - VERSÃO MERGE (MODERNO + DARK FIXES) */

/* ==========================================================================
   1. DESIGN MODERNO (BASE - FONTE E VISUAL GLASS/CLEAN)
   ========================================================================== */

/* Fonte Global - Visual Executivo */
body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, span, div, p, label {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* Fundo Geral (Padrão Light) - O Python sobrescreve isso no Dark Mode */
body {
    background-color: #f4f6f8 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Scrollbar Elegante */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* --- COMPONENTES MODERNOS --- */

/* Cards: Remove borda padrão e adiciona sombra suave */
.card {
    border: none !important;
    background-color: #ffffff; /* Fundo branco padrão */
    box-shadow: 0 2px 6px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.02) !important;
    border-radius: 12px !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Header Fixo (Barra de Topo) */
.header-container {
    background: #ffffff;
    border-bottom: 1px solid #eaeaea;
    box-shadow: 0 2px 4px rgba(0,0,0,0.03);
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 10px 0;
}

/* Caixa da IA (Estilo Chat Premium) */
.ia-box {
    background: linear-gradient(135deg, #ffffff 0%, #f0f7ff 100%) !important;
    border: 1px solid #bfdbfe !important;
    border-left: 6px solid #2563eb !important;
    border-radius: 10px !important;
}
.ia-header {
    font-weight: 700;
    color: #0A3369;
    letter-spacing: -0.5px;
}

/* Inputs e Dropdowns (Visual Limpo no Light Mode) */
.dash-dropdown .Select-control, .form-control, .DateRangePickerInput {
    border-radius: 8px !important;
    border: 1px solid #e2e8f0 !important;
}


/* ==========================================================================
   2. CORREÇÕES DO MODO ESCURO (SUAS REGRAS ORIGINAIS MANTIDAS)
   Essas regras garantem que Dropdowns e DatePickers funcionem no Dark Mode.
   ========================================================================== */

/* Estilização FORÇADA para Dropdowns no modo Dark */
.dark-theme-wrapper .Select-control {
    background-color: #1E1E1E !important; 
    border: 1px solid #444 !important;
}
.dark-theme-wrapper .Select-menu-outer {
    background-color: #1E1E1E !important; 
    border: 1px solid #444 !important;
}
.dark-theme-wrapper .Select-value-label { color: #E0E0E0 !important; }
.dark-theme-wrapper .Select-placeholder { color: #888 !important; }
.dark-theme-wrapper .Select-input input { color: #E0E0E0 !important; }
.dark-theme-wrapper .Select-option {
    background-color: #1E1E1E !important;
    color: #E0E0E0 !important;
}
.dark-theme-wrapper .Select-option.is-focused { background-color: #333 !important; }

/* Estilização DatePicker Dark */
.dark-theme-wrapper .DateRangePicker { background-color: transparent !important; }
.dark-theme-wrapper .DateRangePickerInput {
    background-color: #1E1E1E !important;
    border: 1px solid #444 !important;
}
.dark-theme-wrapper .DateInput_input {
    background-color: transparent !important;
    color: #E0E0E0 !important;
    border: none !important;
}
.dark-theme-wrapper .DateInput { background-color: transparent !important; }
.dark-theme-wrapper .DateRangePickerInput_arrow { color: #E0E0E0 !important; }

/* Labels e Textos Dark */
.dark-theme-wrapper label { color: #E0E0E0 !important; }
.dark-theme-wrapper .card-body { color: #E0E0E0 !important; }

/* Input IA Dark */
.dark-theme-wrapper .form-control {
    background-color: #1E1E1E !important;
    border-color: #444 !important;
    color: #E0E0E0 !important;
}
.dark-theme-wrapper .form-control:focus {
    background-color: #1E1E1E !important;
    color: #ffffff !important;
    border-color: #64B5F6 !important;
}

/* Calendário Popup Dark */
.dark-theme-wrapper .DayPicker,
.dark-theme-wrapper .DayPicker_transitionContainer,
.dark-theme-wrapper .CalendarMonth,
.dark-theme-wrapper .CalendarMonthGrid,
.dark-theme-wrapper .DayPicker_focusRegion {
    background-color: #1E1E1E !important;
}
.dark-theme-wrapper .CalendarMonth_caption { color: #E0E0E0 !important; }
.dark-theme-wrapper .DayPicker_weekHeader { color: #888 !important; }
.dark-theme-wrapper .CalendarDay__default {
    background-color: #1E1E1E !important;
    color: #E0E0E0 !important;
    border: 1px solid #333 !important;
}
.dark-theme-wrapper .CalendarDay__default:hover {
    background-color: #333 !important;
    color: white !important;
}
.dark-theme-wrapper .CalendarDay__selected,
.dark-theme-wrapper .CalendarDay__selected:hover {
    background-color: #0A3369 !important; 
    color: white !important;
    border: 1px solid #0A3369 !important;
}
.dark-theme-wrapper .CalendarDay__selected_span {
    background-color: #1c4e8c !important; 
    color: white !important;
    border: 1px solid #1c4e8c !important;
}
.dark-theme-wrapper .CalendarDay__blocked_out_of_range {
    background-color: #121212 !important;
    color: #444 !important;
    border: 1px solid #222 !important;
}
.dark-theme-wrapper .DayPickerNavigation_button__default {
    border: 1px solid #444 !important;
    background-color: #1E1E1E !important;
}
.dark-theme-wrapper .DayPickerNavigation_svg__horizontal {
    fill: #E0E0E0 !important;
}