/* Hangar360 universal datepicker theme (Flatpickr + MonthSelect plugin) */
.flatpickr-calendar,
.flatpickr-calendar.flatpickr-monthSelect-theme-light,
.flatpickr-calendar.flatpickr-monthSelect-theme-dark {
  border: 1px solid var(--h360-border-subtle);
  border-radius: var(--h360-radius-md);
  background-color: var(--h360-surface-card);
  box-shadow: var(--h360-shadow-md);
}

.flatpickr-months .flatpickr-month,
.flatpickr-weekdays,
.flatpickr-monthSelect-theme-light .flatpickr-month,
.flatpickr-monthSelect-theme-dark .flatpickr-month {
  background: transparent;
}

.flatpickr-current-month,
.flatpickr-current-month .cur-month,
.flatpickr-current-month .numInput.cur-year,
span.flatpickr-weekday {
  color: var(--h360-text-secondary);
}

.flatpickr-prev-month,
.flatpickr-next-month {
  border-radius: var(--h360-radius-pill);
  background-color: var(--h360-surface-soft);
}

.flatpickr-prev-month:hover,
.flatpickr-next-month:hover {
  background-color: var(--h360-color-brand-100);
}

.flatpickr-prev-month svg,
.flatpickr-next-month svg {
  fill: var(--h360-text-secondary);
  stroke: var(--h360-text-secondary);
}

.flatpickr-day,
.flatpickr-monthSelect-month {
  color: var(--h360-text-primary);
  font-weight: var(--h360-font-weight-medium);
}

.flatpickr-calendar.flatpickr-monthSelect-theme-light .flatpickr-monthSelect-month,
.flatpickr-calendar.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month {
  color: var(--h360-text-primary) !important;
}

.flatpickr-day:hover,
.flatpickr-day:focus,
.flatpickr-monthSelect-month:hover,
.flatpickr-monthSelect-month:focus {
  color: var(--h360-text-primary);
  background-color: var(--h360-surface-soft);
  border-color: transparent;
}

.flatpickr-calendar.flatpickr-monthSelect-theme-light .flatpickr-monthSelect-month:hover,
.flatpickr-calendar.flatpickr-monthSelect-theme-light .flatpickr-monthSelect-month:focus,
.flatpickr-calendar.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month:hover,
.flatpickr-calendar.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month:focus {
  color: var(--h360-text-primary) !important;
  background-color: var(--h360-surface-soft) !important;
  border-color: transparent !important;
}

.flatpickr-day.today,
.flatpickr-day.today:hover,
.flatpickr-monthSelect-month.today,
.flatpickr-monthSelect-month.today:hover {
  color: var(--h360-color-brand-600) !important;
  border-color: var(--h360-color-brand-300);
  background-color: var(--h360-color-brand-50) !important;
}

.flatpickr-day.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange {
  color: var(--h360-color-brand-600) !important;
  background-color: var(--h360-color-brand-50) !important;
  border-color: var(--h360-color-brand-50) !important;
}

.flatpickr-day.selected,
.flatpickr-day.selected.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.startRange:focus,
.flatpickr-day.startRange:hover,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.endRange:focus,
.flatpickr-day.endRange:hover,
.flatpickr-day.endRange.nextMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.week.selected,
.flatpickr-monthSelect-month.selected,
.flatpickr-monthSelect-month.startRange,
.flatpickr-monthSelect-month.endRange {
  color: #fff !important;
  background: var(--h360-color-brand-500) !important;
  border-color: var(--h360-color-brand-500) !important;
  box-shadow: 0 0.125rem 0.375rem rgba(86, 132, 158, 0.32);
}

.flatpickr-calendar.flatpickr-monthSelect-theme-light .flatpickr-monthSelect-month.selected,
.flatpickr-calendar.flatpickr-monthSelect-theme-light .flatpickr-monthSelect-month.startRange,
.flatpickr-calendar.flatpickr-monthSelect-theme-light .flatpickr-monthSelect-month.endRange,
.flatpickr-calendar.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month.selected,
.flatpickr-calendar.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month.startRange,
.flatpickr-calendar.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month.endRange {
  color: #fff !important;
  background: var(--h360-color-brand-500) !important;
  border-color: var(--h360-color-brand-500) !important;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-monthSelect-month.flatpickr-disabled {
  color: var(--h360-text-muted) !important;
  opacity: 0.58;
}

.flatpickr-monthSelect-month.flatpickr-disabled:hover,
.flatpickr-monthSelect-month.flatpickr-disabled:focus {
  background: transparent !important;
  border-color: transparent !important;
}

.flatpickr-input.form-control:focus,
.flatpickr-input ~ .form-control:focus {
  border-color: var(--h360-color-brand-500);
  box-shadow: 0 0 0 0.2rem var(--h360-focus-ring);
}
