/* Flatpickr Theme Integration */
.flatpickr-calendar { font-family: var(--font-body); box-shadow: var(--shadow-lg); border-radius: 12px; border: 1px solid var(--color-border); padding: 5px 0; }
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {
    background: var(--color-primary); border-color: var(--color-primary); color: #fff;
}
.flatpickr-months .flatpickr-prev-month:hover svg, .flatpickr-months .flatpickr-next-month:hover svg { fill: var(--color-primary); }

/* Dark Mode Flatpickr Overrides */
[data-theme="dark"] .flatpickr-calendar,
[data-theme="dark"] .flatpickr-months,
[data-theme="dark"] .flatpickr-weekdays,
[data-theme="dark"] span.flatpickr-weekday {
    background: var(--color-surface);
}
[data-theme="dark"] .flatpickr-calendar {
    box-shadow: 0 4px 20px rgba(0,0,0,0.5);
    border: 1px solid var(--color-border);
}
[data-theme="dark"] .flatpickr-calendar.arrowTop:before, [data-theme="dark"] .flatpickr-calendar.arrowTop:after { border-bottom-color: var(--color-border); }
[data-theme="dark"] .flatpickr-calendar.arrowBottom:before, [data-theme="dark"] .flatpickr-calendar.arrowBottom:after { border-top-color: var(--color-border); }
[data-theme="dark"] .flatpickr-day { color: var(--color-text); }
[data-theme="dark"] .flatpickr-day:hover { background: var(--color-surface-2); border-color: var(--color-surface-2); }
[data-theme="dark"] .flatpickr-day.disabled { color: var(--color-text-muted) !important; background: transparent; }
[data-theme="dark"] .flatpickr-day.prevMonthDay, [data-theme="dark"] .flatpickr-day.nextMonthDay { color: var(--color-text-muted); }
[data-theme="dark"] .flatpickr-months .flatpickr-month { color: var(--color-text); fill: var(--color-text); }
[data-theme="dark"] .flatpickr-current-month .flatpickr-monthDropdown-months { background: var(--color-surface); color: var(--color-text); }
[data-theme="dark"] .flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month { background: var(--color-surface); }
[data-theme="dark"] .flatpickr-current-month .numInputWrapper span.arrowUp:after { border-bottom-color: var(--color-text); }
[data-theme="dark"] .flatpickr-current-month .numInputWrapper span.arrowDown:after { border-top-color: var(--color-text); }
[data-theme="dark"] span.flatpickr-weekday { color: var(--color-text-secondary); }
[data-theme="dark"] .flatpickr-time { border-top-color: var(--color-border); }
[data-theme="dark"] .flatpickr-time input { color: var(--color-text); }
[data-theme="dark"] .flatpickr-time input:hover, [data-theme="dark"] .flatpickr-time .flatpickr-am-pm:hover, [data-theme="dark"] .flatpickr-time input:focus, [data-theme="dark"] .flatpickr-time .flatpickr-am-pm:focus { background: var(--color-surface-2); }
