/* Dark-mode bridge for flatpickr — the vendored CSS only ships a light palette, so the popup,
   day cells, header arrows and the time / confirmDate footer all stayed bright on
   data-bs-theme="dark". Map the Bootstrap body / tertiary / border vars onto the calendar so the
   widget matches the rest of the page. */
[data-bs-theme="dark"] .flatpickr-calendar {
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    box-shadow: 0 3px 13px rgba(0, 0, 0, 0.5);
    border: 1px solid var(--bs-border-color);
}
[data-bs-theme="dark"] .flatpickr-calendar.hasTime .flatpickr-time {
    border-top-color: var(--bs-border-color);
}
[data-bs-theme="dark"] .flatpickr-months .flatpickr-month,
[data-bs-theme="dark"] .flatpickr-current-month .flatpickr-monthDropdown-months,
[data-bs-theme="dark"] .flatpickr-current-month input.cur-year {
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
}
[data-bs-theme="dark"] .flatpickr-current-month input.cur-year[disabled] {
    color: var(--bs-secondary-color);
}
[data-bs-theme="dark"] .flatpickr-months .flatpickr-prev-month svg,
[data-bs-theme="dark"] .flatpickr-months .flatpickr-next-month svg {
    fill: var(--bs-body-color);
}
[data-bs-theme="dark"] .flatpickr-weekdays,
[data-bs-theme="dark"] span.flatpickr-weekday {
    background: var(--bs-body-bg);
    color: var(--bs-secondary-color);
}
[data-bs-theme="dark"] .flatpickr-day {
    color: var(--bs-body-color);
}
[data-bs-theme="dark"] .flatpickr-day.prevMonthDay,
[data-bs-theme="dark"] .flatpickr-day.nextMonthDay {
    color: var(--bs-secondary-color);
}
[data-bs-theme="dark"] .flatpickr-day:hover,
[data-bs-theme="dark"] .flatpickr-day:focus,
[data-bs-theme="dark"] .flatpickr-day.today:hover {
    background: var(--bs-tertiary-bg);
    border-color: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
}
[data-bs-theme="dark"] .flatpickr-day.selected,
[data-bs-theme="dark"] .flatpickr-day.selected:hover {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: var(--bs-light);
}
[data-bs-theme="dark"] .flatpickr-day.today {
    border-color: var(--bs-primary);
}
[data-bs-theme="dark"] .flatpickr-day.disabled,
[data-bs-theme="dark"] .flatpickr-day.flatpickr-disabled {
    color: var(--bs-secondary-color);
}
[data-bs-theme="dark"] .flatpickr-time input,
[data-bs-theme="dark"] .flatpickr-time .flatpickr-time-separator,
[data-bs-theme="dark"] .flatpickr-time .flatpickr-am-pm {
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
}
[data-bs-theme="dark"] .flatpickr-time input:hover,
[data-bs-theme="dark"] .flatpickr-time input:focus {
    background: var(--bs-tertiary-bg);
}
[data-bs-theme="dark"] .flatpickr-calendar.hasTime.showTimeInput.hasConfirmDate .flatpickr-confirm,
[data-bs-theme="dark"] .flatpickr-confirm {
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    border-top: 1px solid var(--bs-border-color);
}
[data-bs-theme="dark"] .flatpickr-confirm svg path {
    fill: var(--bs-body-color);
}
