/* Flatpickr Bootstrap 5 integration */
.flatpickr-calendar {
    font-family: var(--bs-font-sans-serif);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    box-shadow: var(--bs-box-shadow);
}

.flatpickr-day.selected,
.flatpickr-day.selected:hover {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
}

.flatpickr-day.inRange {
    background: var(--bs-primary-bg-subtle);
    border-color: var(--bs-primary-bg-subtle);
    box-shadow: -5px 0 0 var(--bs-primary-bg-subtle), 5px 0 0 var(--bs-primary-bg-subtle);
}

.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
}

.flatpickr-months .flatpickr-month,
.flatpickr-weekdays,
span.flatpickr-weekday {
    background: var(--bs-primary);
    color: #fff;
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
    color: #fff;
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
    color: #212529;
    background-color: #fff;
}

.numInputWrapper:hover {
    background: rgba(255,255,255,0.1);
}

.flatpickr-day:hover,
.flatpickr-day:focus {
    background: var(--bs-primary-bg-subtle);
    border-color: var(--bs-primary-bg-subtle);
}

/* Touch target size (WCAG 2.5.5 - min 44x44px) */
.flatpickr-day {
    min-height: 44px;
    line-height: 44px;
}

/* Time picker styling */
.flatpickr-time input {
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-sm);
}
