/* =========================================================
 * GKRI DIASPORA - Flatpickr Custom 24-Hour & Dark Mode Theme
 * ========================================================= */
.flatpickr-calendar {
    font-family: inherit;
    border-radius: 1.25rem;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.12), 0 8px 10px -6px rgba(0, 0, 0, 0.08);
    border: 1px solid #e2e8f0;
    overflow: hidden;
    z-index: 99999 !important;
}

.flatpickr-months {
    background: #800000;
    color: #ffffff;
    border-top-left-radius: 1.25rem;
    border-top-right-radius: 1.25rem;
    padding: 0.5rem 0;
}

.flatpickr-current-month,
.flatpickr-current-month input.cur-year,
.flatpickr-monthDropdown-months {
    color: #ffffff !important;
    font-weight: 700;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
    color: #ffffff !important;
    fill: #ffffff !important;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
    fill: #ffd700 !important;
}

.flatpickr-weekdays {
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

span.flatpickr-weekday {
    color: #64748b;
    font-weight: 600;
}

.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.selected.nextMonthDay {
    background: #800000 !important;
    border-color: #800000 !important;
    color: #ffffff !important;
    font-weight: 700;
}

.flatpickr-day.today {
    border-color: #800000 !important;
}

.flatpickr-time {
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
    border-bottom-left-radius: 1.25rem;
    border-bottom-right-radius: 1.25rem;
}

.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
    background: #ffffff;
}

/* Dark Mode Support */
.dark .flatpickr-calendar {
    background: #0f172a;
    border-color: #334155;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    color: #f1f5f9;
}

.dark .flatpickr-weekdays {
    background: #1e293b;
    border-bottom-color: #334155;
}

.dark span.flatpickr-weekday {
    color: #94a3b8;
}

.dark .flatpickr-day {
    color: #cbd5e1;
}

.dark .flatpickr-day:hover {
    background: #1e293b;
    border-color: #334155;
}

.dark .flatpickr-day.prevMonthDay,
.dark .flatpickr-day.nextMonthDay {
    color: #475569;
}

.dark .flatpickr-time {
    background: #1e293b;
    border-top-color: #334155;
}

.dark .flatpickr-time input {
    color: #f1f5f9 !important;
}

.dark .flatpickr-time .numInputWrapper span.arrowUp:after {
    border-bottom-color: #94a3b8;
}

.dark .flatpickr-time .numInputWrapper span.arrowDown:after {
    border-top-color: #94a3b8;
}
