/* =========================================================
   DATE PICKER
   ========================================================= */

.custom-date-picker {
    width: 100%;
    font-family: 'JetBrainsMonoNerdFont', monospace;
}


/* ---------------------------------------------------------
   Date input boxes
   --------------------------------------------------------- */

.custom-date-picker .DateInput {
    width: 100%;
    background-color: var(--bg-secondary);
    border-radius: 6px;
}

.custom-date-picker .DateInput_input {
    width: 100%;

    box-sizing: border-box;

    background-color: var(--bg-secondary);
    color: var(--text-primary);

    border: 1px solid var(--border-color);
    border-radius: 6px;

    font-family: 'JetBrainsMonoNerdFont', monospace;
    font-size: 14px;
    font-weight: 400;

    padding: 8px 10px;
}


/* Input focus */

.custom-date-picker .DateInput_input__focused {
    background-color: var(--bg-secondary);
    color: var(--text-primary);

    border-color: var(--accent);
}


/* ---------------------------------------------------------
   Calendar popup
   --------------------------------------------------------- */

.custom-date-picker .DateRangePicker_picker {
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-color);
    box-shadow: 0 4px 12px var(--shadow-color);

    z-index: 3000;
}


/* Calendar */

.custom-date-picker .CalendarMonth {
    background-color: var(--bg-secondary);
}

.custom-date-picker .CalendarMonthGrid {
    background-color: var(--bg-secondary);
}


/* Month/year title */

.custom-date-picker .CalendarMonth_caption {
    color: var(--text-primary);
    font-family: 'JetBrainsMonoNerdFont', monospace;
    font-weight: 600;
}


/* ---------------------------------------------------------
   Weekday labels
   --------------------------------------------------------- */

.custom-date-picker .DayPicker_weekHeader {
    color: var(--text-secondary);
}

.custom-date-picker .DayPicker_weekHeader small {
    color: var(--text-secondary);
    font-family: 'JetBrainsMonoNerdFont', monospace;
}


/* ---------------------------------------------------------
   Calendar days
   --------------------------------------------------------- */

.custom-date-picker .CalendarDay {
    background-color: var(--bg-secondary);
    color: var(--text-primary);

    border: 1px solid var(--border-color);

    font-family: 'JetBrainsMonoNerdFont', monospace;
}


/* Hover */

.custom-date-picker .CalendarDay:hover {
    background-color: var(--selection);
    color: var(--text-primary);

    border-color: var(--accent);
}


/* Today's date */

.custom-date-picker .CalendarDay__today {
    border: 1px solid var(--accent);
    font-weight: 600;
}


/* ---------------------------------------------------------
   Selected dates
   --------------------------------------------------------- */

.custom-date-picker .CalendarDay__selected {
    background-color: var(--accent);
    color: white;

    border-color: var(--accent);
}

.custom-date-picker .CalendarDay__selected:hover {
    background-color: var(--accent);
    color: white;

    border-color: var(--accent);
}


/* ---------------------------------------------------------
   Dates inside selected range
   --------------------------------------------------------- */

.custom-date-picker .CalendarDay__selected_span {
    background-color: var(--selection);
    color: var(--text-primary);

    border-color: var(--selection);
}

.custom-date-picker .CalendarDay__selected_span:hover {
    background-color: var(--accent);
    color: white;
}


/* ---------------------------------------------------------
   Disabled dates
   --------------------------------------------------------- */

.custom-date-picker .CalendarDay__blocked_calendar,
.custom-date-picker .CalendarDay__blocked_out_of_range {
    background-color: var(--darker-background);
    color: var(--dark-foreground);

    border-color: var(--border-color);

    cursor: not-allowed;
}


/* ---------------------------------------------------------
   Previous / next month navigation
   --------------------------------------------------------- */

.custom-date-picker .DayPickerNavigation_button {
    background-color: var(--bg-secondary);

    border: 1px solid var(--border-color);
    border-radius: 6px;

    color: var(--text-primary);
}

.custom-date-picker .DayPickerNavigation_button:hover {
    background-color: var(--selection);
    border-color: var(--accent);
}


/* ---------------------------------------------------------
   Calendar arrows
   --------------------------------------------------------- */

.custom-date-picker .DayPickerNavigation_button::before {
    border-color: var(--text-primary);
}


/* ---------------------------------------------------------
   DatePickerRange separator
   --------------------------------------------------------- */

.custom-date-picker .DateRangePickerInput_arrow {
    color: var(--text-secondary);
}


/* ---------------------------------------------------------
   Input container
   --------------------------------------------------------- */

.custom-date-picker .DateRangePickerInput {
    display: flex;
    align-items: center;

    background-color: var(--bg-secondary);

    border: 0;
    border-radius: 6px;
}


/* ---------------------------------------------------------
   Dark mode explicitly
   --------------------------------------------------------- */

[data-theme="dark"] .custom-date-picker .CalendarDay {
    background-color: var(--bg-secondary);
    color: var(--text-primary);
}

[data-theme="dark"] .custom-date-picker .CalendarMonth,
[data-theme="dark"] .custom-date-picker .CalendarMonthGrid,
[data-theme="dark"] .custom-date-picker .DayPicker {
    background-color: var(--bg-secondary);
}

[data-theme="dark"] .custom-date-picker .DateRangePicker_picker {
    background-color: var(--bg-secondary);
}