/* ==========================================================================
   Flatpickr Date Picker - Theme Aware
   ========================================================================== */

/* Light theme (default) */
.flatpickr-calendar {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 1rem !important;
    box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.15) !important;
    font-family: inherit !important;
    width: 340px !important;
}

.flatpickr-calendar.arrowTop::before,
.flatpickr-calendar.arrowTop::after {
    border-bottom-color: #ffffff !important;
}

/* Header */
.flatpickr-months {
    padding: 1rem 1rem 0.5rem 1rem !important;
}

.flatpickr-months .flatpickr-month {
    background: transparent !important;
    color: #111827 !important;
    fill: #111827 !important;
}

.flatpickr-current-month {
    color: #111827 !important;
    font-weight: 600 !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
    background: #ffffff !important;
    color: #111827 !important;
}

.flatpickr-current-month input.cur-year {
    color: #111827 !important;
}

/* Navigation Arrows */
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
    color: #111827 !important;
    fill: #111827 !important;
}

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

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

/* Weekdays */
.flatpickr-weekdays {
    background: transparent !important;
    padding: 0 1rem !important;
}

.flatpickr-weekday {
    background: transparent !important;
    color: #6b7280 !important;
    font-weight: 500 !important;
}

/* Days Container */
.flatpickr-days {
    border: none !important;
    width: 340px !important;
    padding: 0.5rem 1rem 1rem 1rem !important;
}

.dayContainer {
    min-width: 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
}

/* Individual Days */
.flatpickr-day {
    color: #111827 !important;
    border-radius: 0.5rem !important;
    border: none !important;
    width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    line-height: 44px !important;
    flex-basis: 44px !important;
    margin: 0 !important;
}

.flatpickr-day:hover {
    background: #059669 !important;
    color: #ffffff !important;
    border: none !important;
}

.flatpickr-day.today {
    border: 2px solid #059669 !important;
}

.flatpickr-day.today:hover {
    background: #059669 !important;
    color: #ffffff !important;
}

.flatpickr-day.selected,
.flatpickr-day.selected:hover {
    background: #059669 !important;
    color: #ffffff !important;
    border: none !important;
    font-weight: 600 !important;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
    color: #d1d5db !important;
    background: transparent !important;
    cursor: not-allowed !important;
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    display: none !important;
}

/* ==========================================================================
   Dark Theme
   ========================================================================== */

.dark .flatpickr-calendar {
    background: #1a1a1a !important;
    border: 1px solid #333 !important;
    box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.5) !important;
}

.dark .flatpickr-calendar.arrowTop::before,
.dark .flatpickr-calendar.arrowTop::after {
    border-bottom-color: #1a1a1a !important;
}

.dark .flatpickr-months .flatpickr-month {
    color: #fff !important;
    fill: #fff !important;
}

.dark .flatpickr-current-month {
    color: #fff !important;
}

.dark .flatpickr-current-month .flatpickr-monthDropdown-months {
    background: #1a1a1a !important;
    color: #fff !important;
}

.dark .flatpickr-current-month input.cur-year {
    color: #fff !important;
}

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

.dark .flatpickr-months .flatpickr-prev-month:hover,
.dark .flatpickr-months .flatpickr-next-month:hover {
    color: #22c55e !important;
    fill: #22c55e !important;
}

.dark .flatpickr-weekday {
    color: #9ca3af !important;
}

.dark .flatpickr-day {
    color: #fff !important;
}

.dark .flatpickr-day:hover {
    background: #22c55e !important;
    color: #000 !important;
}

.dark .flatpickr-day.today {
    border: 2px solid #22c55e !important;
}

.dark .flatpickr-day.today:hover {
    background: #22c55e !important;
    color: #000 !important;
}

.dark .flatpickr-day.selected,
.dark .flatpickr-day.selected:hover {
    background: #22c55e !important;
    color: #000 !important;
}

.dark .flatpickr-day.flatpickr-disabled,
.dark .flatpickr-day.flatpickr-disabled:hover {
    color: #4b5563 !important;
}

.dark .flatpickr-day.prevMonthDay,
.dark .flatpickr-day.nextMonthDay {
    display: none !important;
}
