/* Custom Flatpickr Styling for DentiGo (Light & Dark Mode Support) */

.flatpickr-calendar {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
    border: none !important;
    border-radius: 10px !important;
}

.flatpickr-months,
.flatpickr-months .flatpickr-month {
    border-top-left-radius: 10px !important;
    border-top-right-radius: 10px !important;
}


.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: #0d9488 !important;
    border-color: #0d9488 !important;
}

.flatpickr-months .flatpickr-month {
    background: #0d9488 !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month .numInputWrapper {
    background: #0d9488 !important;
}

.flatpickr-weekdays {
    background: #0d9488 !important;
}

span.flatpickr-weekday {
    background: #0d9488 !important;
    color: #fff !important;
}

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

.flatpickr-time {
    border-bottom-left-radius: 10px !important;
    border-bottom-right-radius: 10px !important;
}

.cursor-pointer {
    cursor: pointer !important;
}

/* Dark Mode Overrides for Flatpickr */
body.dark-mode .flatpickr-calendar {
    background: #1e293b !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}

body.dark-mode .flatpickr-day {
    color: #e2e8f0;
}

body.dark-mode .flatpickr-day:hover {
    background: #334155;
    border-color: #334155;
}

body.dark-mode .flatpickr-time {
    border-top-color: #334155;
}

body.dark-mode .flatpickr-time input,
body.dark-mode .flatpickr-time .flatpickr-am-pm {
    color: #e2e8f0;
}

body.dark-mode .flatpickr-time input:hover,
body.dark-mode .flatpickr-time .flatpickr-am-pm:hover,
body.dark-mode .flatpickr-time input:focus,
body.dark-mode .flatpickr-time .flatpickr-am-pm:focus {
    background: #334155;
}

body.dark-mode .flatpickr-time .numInputWrapper span.arrowUp:after {
    border-bottom-color: #e2e8f0;
}

body.dark-mode .flatpickr-time .numInputWrapper span.arrowDown:after {
    border-top-color: #e2e8f0;
}

/* Month Select Plugin Dark Mode Overrides */
body.dark-mode .flatpickr-monthSelect-month {
    color: #e2e8f0;
}

body.dark-mode .flatpickr-monthSelect-month:hover {
    background: #334155;
}

body.dark-mode .flatpickr-monthSelect-month.selected {
    background: #0d9488 !important;
}

/* Smooth Input Group for Dark/Light Mode */
.date-input-group {
    background-color: #ffffff;
    transition: background-color 0.3s ease, border-color 0.3s ease;
    border: 1px solid #e2e8f0 !important;
}

body.dark-mode .date-input-group {
    background-color: transparent;
    border-color: #334155 !important;
}

body.dark-mode .date-input-group input {
    background-color: transparent !important;
    color: #f1f5f9 !important;
    border-color: #334155 !important;
}

body.dark-mode .date-input-group .input-group-text {
    border-color: #334155 !important;
}

body.dark-mode .date-input-group .input-group-text i {
    color: #94a3b8 !important;
}

body.dark-mode .date-input-group input::placeholder {
    color: #64748b !important;
}

/* Remove outline and box-shadow on focus */
.date-input-group input:focus,
.date-input-group input:active,
.date-input-group:focus-within {
    outline: none !important;
    box-shadow: none !important;
}