/* Flatpickr theme overrides for BeOEE (Turbo-safe).
   Keep minimal to avoid affecting unrelated UI. */

.flatpickr-calendar {
  background: var(--bs-body-bg, #fff);
  color: var(--bs-body-color, #212529);
  border: 1px solid rgba(var(--bs-body-color-rgb, 33, 37, 41), 0.15);
  box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.15);
}

.flatpickr-calendar::before,
.flatpickr-calendar::after {
  border-bottom-color: var(--bs-body-bg, #fff);
}

.flatpickr-months .flatpickr-month,
.flatpickr-weekdays {
  background: transparent;
}

.flatpickr-current-month,
.flatpickr-weekday,
.flatpickr-day {
  color: var(--bs-body-color, #212529);
}

.flatpickr-day.today {
  border-color: var(--bs-primary, #0d6efd);
}

.flatpickr-day:hover,
.flatpickr-day:focus {
  background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.12);
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange {
  background: var(--bs-primary, #0d6efd);
  border-color: var(--bs-primary, #0d6efd);
  color: #fff;
}

.flatpickr-day.inRange {
  background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.16);
  border-color: transparent;
  color: var(--bs-body-color, #212529);
}

.flatpickr-time input,
.flatpickr-time .flatpickr-am-pm {
  color: var(--bs-body-color, #212529);
}

.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb, 13, 110, 253), 0.25);
}

/* Dark mode helpers (Hyper uses data-layout-mode, Bootstrap uses data-bs-theme, custom theme uses data-theme) */
[data-layout-mode="dark"] .flatpickr-calendar,
[data-bs-theme="dark"] .flatpickr-calendar,
:root[data-theme="dark"] .flatpickr-calendar,
:root[data-theme="aero-dark"] .flatpickr-calendar {
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.45);
}
