/* Global Flatpickr Theme (MUI-inspired, app color scheme) */
.flatpickr-calendar {
    border: 1px solid rgba(191, 222, 168, 0.85);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.12), 0 4px 10px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    overflow: hidden;
}

.flatpickr-months {
    background: linear-gradient(90deg, rgba(127, 207, 214, 0.18), rgba(140, 198, 63, 0.18));
    border-bottom: 1px solid #e8efe3;
}

.flatpickr-current-month {
    color: #1f2937;
    font-weight: 600;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
    font-weight: 600;
    color: #1f2937;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    min-width: 126px;
    height: 30px;
    border: 1px solid #d6dee3;
    border-radius: 8px;
    background-color: #ffffff;
    background-image: linear-gradient(45deg, transparent 50%, #6b7280 50%),
        linear-gradient(135deg, #6b7280 50%, transparent 50%);
    background-position: calc(100% - 14px) 12px, calc(100% - 9px) 12px;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    padding: 2px 28px 2px 10px;
    margin-right: 6px;
    cursor: pointer;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:focus {
    outline: none;
    border-color: #8cc63f;
    box-shadow: 0 0 0 3px rgba(140, 198, 63, 0.16);
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
    border-color: #bec8cf;
}

/* Month dropdown option styling (browser-dependent) */
.flatpickr-current-month .flatpickr-monthDropdown-months option {
    color: #1f2937;
    background: #ffffff;
    font-weight: 500;
}

.flatpickr-current-month .flatpickr-monthDropdown-months option:checked {
    background: #f2f9e8;
    color: #2f4f1f;
}

.flatpickr-weekdays {
    background: #f8fbf6;
}

span.flatpickr-weekday {
    color: #4b5563;
    font-weight: 600;
}

.flatpickr-day {
    color: #1f2937;
    border-radius: 8px;
    border: 1px solid transparent;
}

.flatpickr-day:hover {
    background: #f2f9e8;
    border-color: rgba(140, 198, 63, 0.35);
}

.flatpickr-day.today {
    border-color: #8cc63f;
    color: #2f4f1f;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
    background: #8cc63f;
    border-color: #8cc63f;
    color: #ffffff;
}

.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange {
    background: #f2f9e8;
    border-color: #dbeac9;
    box-shadow: none;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
    color: #b0b7bf;
    background: transparent;
    border-color: transparent;
}

.flatpickr-prev-month:hover svg,
.flatpickr-next-month:hover svg {
    fill: #8cc63f;
}

.flatpickr-time {
    border-top: 1px solid #e8efe3;
}

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