/* ==========================================================================
   1. GERAL E SCROLLBAR
   ========================================================================== */
body {
    background-color: #0f172a; 
    margin: 0;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}
::-webkit-scrollbar-track {
    background: #0f172a; 
}
::-webkit-scrollbar-thumb {
    background: #334155; 
    border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
    background: #475569; 
}

/* ==========================================================================
   2. ANIMAÇÃO DA SIDEBAR (TOGGLE)
   ========================================================================== */
.sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 300px;
    padding: 2rem 1rem;
    background-color: #020617;
    border-right: 1px solid #334155;
    transition: all 0.5s ease-in-out;
    z-index: 1050;
    overflow-x: hidden; 
    overflow-y: auto;   
    white-space: nowrap;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
}

.sidebar-collapsed {
    width: 0px;
    padding: 0;
    border: none;
    opacity: 0;
    overflow: hidden; 
}

/* Impedir que filhos da sidebar se espalhem */
.sidebar > * {
    flex-shrink: 0;
    flex-grow: 0;
    white-space: normal;
}

.content {
    margin-left: 320px; 
    padding: 2rem 1rem;
    background-color: #0f172a;
    min-height: 100vh;
    transition: all 0.5s ease-in-out;
}

.content-expanded {
    margin-left: 0px; 
    padding-left: 2rem; 
}

/* ==========================================================================
   3. DROPDOWN (REACT-SELECT LEGACY) - MODO ESCURO
   ========================================================================== */
body .dash-dropdown .Select-control, 
body .dash-dropdown .Select-menu-outer,
body .dash-dropdown .Select-multi-value-wrapper {
    background-color: #1e293b !important;
    border: 1px solid #334155 !important;
}

body .dash-dropdown .Select-value-label, 
body .dash-dropdown .Select-placeholder, 
body .dash-dropdown .Select-input > input {
    color: white !important;
    -webkit-text-fill-color: white !important;
}

body .VirtualizedSelectOption {
    color: #cbd5e1 !important;
    background-color: #1e293b !important;
}

body .VirtualizedSelectOptionFocused {
    background-color: #0ea5e9 !important; 
    color: white !important;
}

body .Select-value {
    background-color: rgba(14, 165, 233, 0.2) !important; 
    border: 1px solid #0ea5e9 !important;
    color: #0ea5e9 !important;
}

body .Select-clear-zone,
body .Select-arrow-zone {
    color: #94a3b8 !important;
}

/* ==========================================================================
   4. DROPDOWN (RADIX / DASH 2.x+) - MODO ESCURO
   ========================================================================== */

/* --- Botão trigger do dropdown --- */
body .dash-dropdown > button,
body button.dash-dropdown,
body .dash-dropdown-wrapper > button,
body [class*="dash-dropdown"] > button {
    background: #1e293b !important;
    color: #f8fafc !important;
    border: 1px solid #334155 !important;
    -webkit-text-fill-color: #f8fafc !important;
}

body .dash-dropdown > button span,
body .dash-dropdown > button div {
    color: #f8fafc !important;
    -webkit-text-fill-color: #f8fafc !important;
}

/* Caret/arrow icon */
body .dash-dropdown svg,
body .dash-dropdown-caret-icon svg {
    fill: #94a3b8 !important;
}

/* --- Popup do dropdown (Radix Popper) --- */
body div[data-radix-popper-content-wrapper],
body div[data-radix-popper-content-wrapper] > div,
body div[data-radix-popper-content-wrapper] > div > div,
body div[data-radix-popper-content-wrapper] [role="listbox"],
body div[data-radix-popper-content-wrapper] [data-radix-scroll-area-viewport] {
    background: #1e293b !important;
    border-color: #334155 !important;
    color: #f8fafc !important;
}

/* Opções */
body div[data-radix-popper-content-wrapper] div[role="option"] {
    color: #f8fafc !important;
    background: transparent !important;
}

/* Hover */
body div[data-radix-popper-content-wrapper] div[role="option"]:hover,
body div[data-radix-popper-content-wrapper] [data-highlighted] {
    background: #0ea5e9 !important;
    color: white !important;
}

/* Selecionado */
body div[data-radix-popper-content-wrapper] [aria-selected="true"],
body div[data-radix-popper-content-wrapper] [data-state="checked"] {
    background: #0ea5e9 !important;
    color: white !important;
}

/* Input de busca dentro do dropdown */
body div[data-radix-popper-content-wrapper] input,
body div[data-radix-popper-content-wrapper] input[type="text"],
body div[data-radix-popper-content-wrapper] input[role="combobox"] {
    background: #1e293b !important;
    color: #f8fafc !important;
    border: 1px solid #475569 !important;
    -webkit-text-fill-color: #f8fafc !important;
}

/* Nuclear: variáveis CSS internas */
body div[data-radix-popper-content-wrapper] * {
    --background: #1e293b;
}

/* ==========================================================================
   5. DATEPICKER (LEGACY react-dates) - MODO ESCURO
   ========================================================================== */
body .DateRangePickerInput,
body .DateRangePickerInput__withBorder {
    background-color: transparent !important;
    border: none !important;
}

body .DateInput {
    background-color: transparent !important;
}

body .DateInput_input {
    background-color: #1e293b !important;
    color: #f8fafc !important;
    border: 1px solid #334155 !important;
    border-radius: 6px;
    -webkit-text-fill-color: #f8fafc !important;
}

body .DateInput_input__focused {
    border-color: #0ea5e9 !important;
}

body .DayPicker, 
body .DayPicker_transitionContainer, 
body .CalendarMonth, 
body .CalendarMonthGrid, 
body .DayPicker_weekHeader {
    background-color: #1e293b !important;
}

body .DayPicker__withBorder {
    border: 1px solid #334155 !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.5) !important;
}

body .DayPickerNavigation_button__default {
    background: #334155 !important;
    border: 1px solid #475569 !important;
}

body .DayPickerNavigation_svg__horizontal {
    fill: #f8fafc !important;
}

body .CalendarDay__default {
    background-color: #1e293b !important;
    color: #cbd5e1 !important;
    border: 1px solid #334155 !important;
}

body .CalendarDay__default:hover {
    background-color: #334155 !important;
}

body .CalendarDay__selected, 
body .CalendarDay__selected:hover {
    background: #0ea5e9 !important;
    color: white !important;
    border: 1px solid #0ea5e9 !important;
}

body .CalendarDay__selected_span,
body .CalendarDay__hovered_span {
    background: rgba(14, 165, 233, 0.2) !important;
    color: white !important;
    border: 1px solid #1e3a5f !important;
}

body .CalendarDay__blocked_out_of_range {
    color: #475569 !important;
    background: #0f172a !important;
}

body .CalendarMonth_caption {
    color: #f8fafc !important;
}

body .DayPicker_weekHeader_li small {
    color: #94a3b8 !important;
}

body .DayPickerKeyboardShortcuts_buttonReset {
    display: none !important;
}

body .DateRangePickerInput_arrow_svg {
    fill: #94a3b8 !important;
}

/* ==========================================================================
   6. DATEPICKER (RADIX / DASH 2.x+) - MODO ESCURO
   ========================================================================== */

/* Trigger button (mostra as datas selecionadas) */
body .dash-datepicker button,
body .dash-datepicker [type="button"],
body .dash-datepicker-input-wrapper button,
body [class*="dash-datepicker"] button {
    background: #1e293b !important;
    color: #f8fafc !important;
    border: 1px solid #334155 !important;
    -webkit-text-fill-color: #f8fafc !important;
}

/* Texto e spans dentro do trigger */
body .dash-datepicker button span,
body .dash-datepicker button div,
body .dash-datepicker-input-wrapper span,
body [class*="dash-datepicker"] span {
    color: #f8fafc !important;
    -webkit-text-fill-color: #f8fafc !important;
}

/* Ícones (setas, separador, caret) */
body .dash-datepicker svg,
body .dash-datepicker-range-arrow svg,
body .dash-datepicker-caret-icon svg,
body [class*="dash-datepicker"] svg {
    fill: #94a3b8 !important;
    color: #94a3b8 !important;
}

/* Calendar popup (Radix dialog/popper) */
body .dash-datepicker [data-radix-popper-content-wrapper],
body .dash-datepicker [data-radix-popper-content-wrapper] > div,
body .dash-datepicker [role="dialog"],
body .dash-datepicker [role="grid"],
body .dash-datepicker table,
body .dash-datepicker table thead,
body .dash-datepicker table tbody {
    background: #1e293b !important;
    color: #f8fafc !important;
    border-color: #334155 !important;
}

/* Calendar container shadow */
body .dash-datepicker [role="dialog"] {
    box-shadow: 0 4px 24px rgba(0,0,0,0.6) !important;
    border: 1px solid #334155 !important;
    border-radius: 8px !important;
}

/* Navigation buttons (prev/next month) */
body .dash-datepicker [role="dialog"] button {
    background: transparent !important;
    color: #f8fafc !important;
}

body .dash-datepicker [role="dialog"] nav button:hover {
    background: #334155 !important;
}

/* Month/Year selects */
body .dash-datepicker [role="dialog"] select {
    background: #334155 !important;
    color: #f8fafc !important;
    border: 1px solid #475569 !important;
}

/* Weekday headers */
body .dash-datepicker th,
body .dash-datepicker thead span,
body .dash-datepicker thead abbr {
    color: #94a3b8 !important;
}

/* Day cells */
body .dash-datepicker td,
body .dash-datepicker [role="gridcell"],
body .dash-datepicker [role="gridcell"] button {
    color: #f8fafc !important;
    background: transparent !important;
}

body .dash-datepicker [role="gridcell"] button:hover,
body .dash-datepicker td button:hover {
    background: #334155 !important;
}

/* Selected days */
body .dash-datepicker [role="gridcell"] button[data-selected],
body .dash-datepicker [role="gridcell"] button[aria-selected="true"],
body .dash-datepicker td[aria-selected="true"],
body .dash-datepicker td[aria-selected="true"] button {
    background: #0ea5e9 !important;
    color: white !important;
}

/* Range between selected */
body .dash-datepicker [role="gridcell"] button[data-in-range],
body .dash-datepicker td[data-in-range] {
    background: rgba(14, 165, 233, 0.2) !important;
}

/* Disabled / outside month */
body .dash-datepicker [role="gridcell"] button:disabled,
body .dash-datepicker [role="gridcell"] button[data-outside-month],
body .dash-datepicker td[data-outside-month] {
    color: #475569 !important;
}

/* ==========================================================================
   7. LOGO BRANCA
   ========================================================================== */
.header-logo {
    filter: brightness(0) invert(1);
}

/* ==========================================================================
   8. FIXES ADICIONAIS
   ========================================================================== */

/* Retângulo branco no DatePicker — forçar fundo escuro em TODOS os filhos */
body .dash-datepicker,
body .dash-datepicker > *,
body .dash-datepicker-input-wrapper,
body [id*="filtro-data"],
body [id*="filtro-data"] > div,
body [id*="filtro-data"] > div > div,
body .DateRangePicker,
body .DateRangePicker > div,
body .DateRangePicker_picker,
body .SingleDatePicker,
body .SingleDatePicker > div {
    background: transparent !important;
    background-color: transparent !important;
}

/* Dropdown list text — nuclear: qualquer opção em qualquer dropdown */
body .Select-option,
body .Select-noresults,
body [class*="option"],
body [class*="Option"],
body .VirtualizedSelectOption,
body .VirtualizedSelectFocusedOption,
body .Select-menu div,
body .Select-menu-outer div {
    color: #f8fafc !important;
    -webkit-text-fill-color: #f8fafc !important;
}

/* Focused option highlight */
body .VirtualizedSelectFocusedOption,
body .Select-option.is-focused {
    background-color: #0ea5e9 !important;
    color: white !important;
    -webkit-text-fill-color: white !important;
}

/* ==========================================================================
   9. DASH DATATABLE - FILTROS ESCURO
   ========================================================================== */
body .dash-spreadsheet-container input,
body .dash-spreadsheet input,
body .dash-filter input,
body tr.dash-filter input,
body input.dash-filter--case--sensitive,
body input.dash-filter--case--insensitive,
body .cell-filter input,
body .dash-spreadsheet-container .dash-filter input {
    color: #f8fafc !important;
    -webkit-text-fill-color: #f8fafc !important;
    background-color: #1e293b !important;
    border: 1px solid #334155 !important;
    caret-color: #f8fafc !important;
}

body .dash-spreadsheet-container input::placeholder,
body .dash-filter input::placeholder,
body tr.dash-filter input::placeholder {
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
}
