/* Shared Flatpickr date UI (filter modal + reminder / event / wish forms) */

:root {
    --dash-primary: #696cff;
}

.flatpickr-calendar.open {
    z-index: 2100 !important;
}

/* Popup calendars (forms) — fixed to viewport */
.flatpickr-calendar.das-flatpickr-calendar:not(.static),
.flatpickr-calendar.list-filter-calendar:not(.static),
body > .flatpickr-calendar.das-flatpickr-calendar,
body > .flatpickr-calendar.list-filter-calendar {
    position: fixed !important;
    z-index: 2100 !important;
    width: 18.5rem !important;
    max-width: min(18.5rem, calc(100vw - 2rem)) !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    pointer-events: auto !important;
}

/* Inline/static calendars (filter modal) — stay in document flow */
.flatpickr-calendar.das-flatpickr-calendar.static,
.flatpickr-calendar.list-filter-calendar.static,
.flatpickr-wrapper > .flatpickr-calendar.static {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 1 !important;
    width: 100% !important;
    max-width: 18.5rem !important;
    margin: 0.65rem auto 0 !important;
    box-sizing: border-box !important;
}

.flatpickr-calendar.das-flatpickr-calendar .flatpickr-months,
.flatpickr-calendar.das-flatpickr-calendar .flatpickr-innerContainer,
.flatpickr-calendar.das-flatpickr-calendar .flatpickr-rContainer,
.flatpickr-calendar.das-flatpickr-calendar .flatpickr-weekdays,
.flatpickr-calendar.das-flatpickr-calendar .flatpickr-days,
.flatpickr-calendar.das-flatpickr-calendar .dayContainer,
.flatpickr-calendar.list-filter-calendar .flatpickr-months,
.flatpickr-calendar.list-filter-calendar .flatpickr-innerContainer,
.flatpickr-calendar.list-filter-calendar .flatpickr-rContainer,
.flatpickr-calendar.list-filter-calendar .flatpickr-weekdays,
.flatpickr-calendar.list-filter-calendar .flatpickr-days,
.flatpickr-calendar.list-filter-calendar .dayContainer {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

.flatpickr-calendar.das-flatpickr-calendar .flatpickr-months,
.flatpickr-calendar.list-filter-calendar .flatpickr-months {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.25rem;
    height: auto !important;
    min-height: 2.25rem;
    padding: 0.4rem 0.4rem 0.2rem !important;
}

.flatpickr-calendar.das-flatpickr-calendar .flatpickr-month,
.flatpickr-calendar.list-filter-calendar .flatpickr-month {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 auto;
    height: auto !important;
    overflow: visible !important;
}

.flatpickr-calendar.das-flatpickr-calendar .flatpickr-prev-month,
.flatpickr-calendar.das-flatpickr-calendar .flatpickr-next-month,
.flatpickr-calendar.list-filter-calendar .flatpickr-prev-month,
.flatpickr-calendar.list-filter-calendar .flatpickr-next-month {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1.75rem !important;
    height: 1.75rem !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    flex: 0 0 1.75rem;
}

.flatpickr-calendar.das-flatpickr-calendar .flatpickr-prev-month svg,
.flatpickr-calendar.das-flatpickr-calendar .flatpickr-next-month svg,
.flatpickr-calendar.list-filter-calendar .flatpickr-prev-month svg,
.flatpickr-calendar.list-filter-calendar .flatpickr-next-month svg {
    display: block;
    margin: 0;
}

.flatpickr-calendar.das-flatpickr-calendar .flatpickr-current-month,
.flatpickr-calendar.list-filter-calendar .flatpickr-current-month {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 0.35rem;
    width: auto !important;
    max-width: 100% !important;
    height: 1.75rem !important;
    padding: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.flatpickr-calendar.das-flatpickr-calendar .flatpickr-current-month .numInputWrapper,
.flatpickr-calendar.das-flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-calendar.das-flatpickr-calendar .flatpickr-current-month input.cur-year,
.flatpickr-calendar.list-filter-calendar .flatpickr-current-month .numInputWrapper,
.flatpickr-calendar.list-filter-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-calendar.list-filter-calendar .flatpickr-current-month input.cur-year {
    display: inline-flex !important;
    align-items: center !important;
    height: 1.75rem !important;
    line-height: 1.75rem !important;
    margin: 0 !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
    font-size: 0.8125rem !important;
}

.flatpickr-calendar.das-flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-calendar.list-filter-calendar .flatpickr-current-month .flatpickr-monthDropdown-months {
    flex: 0 1 auto !important;
    max-width: 7.25rem !important;
    min-width: 0 !important;
    padding: 0 1.15rem 0 0.35rem !important;
    border: 1px solid rgba(105, 108, 255, 0.35) !important;
    border-radius: 0.3rem !important;
    background-color: transparent !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23696cff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.3rem center !important;
    background-size: 0.65rem !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer !important;
}

.flatpickr-calendar.das-flatpickr-calendar .flatpickr-current-month .numInputWrapper,
.flatpickr-calendar.list-filter-calendar .flatpickr-current-month .numInputWrapper {
    flex: 0 0 4.6ch !important;
    width: 4.6ch !important;
    min-width: 4.6ch !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.flatpickr-calendar.das-flatpickr-calendar .flatpickr-current-month input.cur-year,
.flatpickr-calendar.list-filter-calendar .flatpickr-current-month input.cur-year {
    width: 4.6ch !important;
    min-width: 4.6ch !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.flatpickr-calendar.das-flatpickr-calendar .flatpickr-current-month .numInputWrapper span,
.flatpickr-calendar.list-filter-calendar .flatpickr-current-month .numInputWrapper span {
    display: none;
}

.flatpickr-calendar.das-flatpickr-calendar .flatpickr-innerContainer,
.flatpickr-calendar.das-flatpickr-calendar .flatpickr-rContainer,
.flatpickr-calendar.das-flatpickr-calendar .flatpickr-days,
.flatpickr-calendar.das-flatpickr-calendar .dayContainer,
.flatpickr-calendar.list-filter-calendar .flatpickr-innerContainer,
.flatpickr-calendar.list-filter-calendar .flatpickr-rContainer,
.flatpickr-calendar.list-filter-calendar .flatpickr-days,
.flatpickr-calendar.list-filter-calendar .dayContainer {
    background: inherit !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

.flatpickr-calendar.das-flatpickr-calendar .dayContainer,
.flatpickr-calendar.list-filter-calendar .dayContainer {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    padding: 0.35rem !important;
}

.flatpickr-calendar.das-flatpickr-calendar .flatpickr-day,
.flatpickr-calendar.list-filter-calendar .flatpickr-day {
    flex: 0 0 14.2857143% !important;
    max-width: 14.2857143% !important;
    width: 14.2857143% !important;
    height: 2.15rem !important;
    line-height: 2.15rem !important;
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

.flatpickr-calendar.das-flatpickr-calendar:before,
.flatpickr-calendar.das-flatpickr-calendar:after,
.flatpickr-calendar.list-filter-calendar:before,
.flatpickr-calendar.list-filter-calendar:after {
    display: none !important;
}

.flatpickr-calendar.das-flatpickr-calendar .flatpickr-day.selected,
.flatpickr-calendar.das-flatpickr-calendar .flatpickr-day.startRange,
.flatpickr-calendar.das-flatpickr-calendar .flatpickr-day.endRange,
.flatpickr-calendar.list-filter-calendar .flatpickr-day.selected,
.flatpickr-calendar.list-filter-calendar .flatpickr-day.startRange,
.flatpickr-calendar.list-filter-calendar .flatpickr-day.endRange {
    background: var(--dash-primary) !important;
    border-color: var(--dash-primary) !important;
    color: #fff !important;
}

.flatpickr-calendar.das-flatpickr-calendar .flatpickr-day.inRange,
.flatpickr-calendar.list-filter-calendar .flatpickr-day.inRange {
    background: rgba(105, 108, 255, 0.18) !important;
    box-shadow: none !important;
}

.flatpickr-calendar.das-flatpickr-calendar .flatpickr-day.today,
.flatpickr-calendar.list-filter-calendar .flatpickr-day.today {
    border-color: var(--dash-primary) !important;
}

html.dark-style .flatpickr-calendar.das-flatpickr-calendar,
html[data-theme="dark"] .flatpickr-calendar.das-flatpickr-calendar,
html.dark-style .flatpickr-calendar.list-filter-calendar,
html[data-theme="dark"] .flatpickr-calendar.list-filter-calendar,
html.dark-style .flatpickr-calendar.das-flatpickr-calendar .flatpickr-months,
html.dark-style .flatpickr-calendar.das-flatpickr-calendar .flatpickr-weekdays,
html.dark-style .flatpickr-calendar.das-flatpickr-calendar .flatpickr-innerContainer,
html.dark-style .flatpickr-calendar.das-flatpickr-calendar .flatpickr-rContainer,
html.dark-style .flatpickr-calendar.das-flatpickr-calendar .flatpickr-days,
html.dark-style .flatpickr-calendar.das-flatpickr-calendar .dayContainer,
html.dark-style .flatpickr-calendar.list-filter-calendar .flatpickr-months,
html.dark-style .flatpickr-calendar.list-filter-calendar .flatpickr-weekdays,
html.dark-style .flatpickr-calendar.list-filter-calendar .flatpickr-innerContainer,
html.dark-style .flatpickr-calendar.list-filter-calendar .flatpickr-rContainer,
html.dark-style .flatpickr-calendar.list-filter-calendar .flatpickr-days,
html.dark-style .flatpickr-calendar.list-filter-calendar .dayContainer,
html[data-theme="dark"] .flatpickr-calendar.list-filter-calendar .flatpickr-months,
html[data-theme="dark"] .flatpickr-calendar.list-filter-calendar .flatpickr-weekdays,
html[data-theme="dark"] .flatpickr-calendar.list-filter-calendar .flatpickr-innerContainer,
html[data-theme="dark"] .flatpickr-calendar.list-filter-calendar .flatpickr-rContainer,
html[data-theme="dark"] .flatpickr-calendar.list-filter-calendar .flatpickr-days,
html[data-theme="dark"] .flatpickr-calendar.list-filter-calendar .dayContainer {
    background: #2b2c40 !important;
    background-color: #2b2c40 !important;
}

html.dark-style .flatpickr-calendar.das-flatpickr-calendar .flatpickr-day,
html[data-theme="dark"] .flatpickr-calendar.das-flatpickr-calendar .flatpickr-day,
html.dark-style .flatpickr-calendar.list-filter-calendar .flatpickr-day,
html[data-theme="dark"] .flatpickr-calendar.list-filter-calendar .flatpickr-day {
    background: transparent !important;
    color: #c6c6e8;
}

html.dark-style .flatpickr-calendar.das-flatpickr-calendar .flatpickr-day.prevMonthDay,
html.dark-style .flatpickr-calendar.das-flatpickr-calendar .flatpickr-day.nextMonthDay,
html[data-theme="dark"] .flatpickr-calendar.das-flatpickr-calendar .flatpickr-day.prevMonthDay,
html[data-theme="dark"] .flatpickr-calendar.das-flatpickr-calendar .flatpickr-day.nextMonthDay,
html.dark-style .flatpickr-calendar.list-filter-calendar .flatpickr-day.prevMonthDay,
html.dark-style .flatpickr-calendar.list-filter-calendar .flatpickr-day.nextMonthDay,
html[data-theme="dark"] .flatpickr-calendar.list-filter-calendar .flatpickr-day.prevMonthDay,
html[data-theme="dark"] .flatpickr-calendar.list-filter-calendar .flatpickr-day.nextMonthDay {
    color: #6d6e9c;
}

html.dark-style .flatpickr-calendar.das-flatpickr-calendar .flatpickr-day:hover,
html[data-theme="dark"] .flatpickr-calendar.das-flatpickr-calendar .flatpickr-day:hover,
html.dark-style .flatpickr-calendar.list-filter-calendar .flatpickr-day:hover,
html[data-theme="dark"] .flatpickr-calendar.list-filter-calendar .flatpickr-day:hover {
    background: rgba(105, 108, 255, 0.18) !important;
}

html.dark-style .flatpickr-calendar.das-flatpickr-calendar .flatpickr-day.selected,
html.dark-style .flatpickr-calendar.das-flatpickr-calendar .flatpickr-day.startRange,
html.dark-style .flatpickr-calendar.das-flatpickr-calendar .flatpickr-day.endRange,
html[data-theme="dark"] .flatpickr-calendar.das-flatpickr-calendar .flatpickr-day.selected,
html[data-theme="dark"] .flatpickr-calendar.das-flatpickr-calendar .flatpickr-day.startRange,
html[data-theme="dark"] .flatpickr-calendar.das-flatpickr-calendar .flatpickr-day.endRange,
html.dark-style .flatpickr-calendar.list-filter-calendar .flatpickr-day.selected,
html.dark-style .flatpickr-calendar.list-filter-calendar .flatpickr-day.startRange,
html.dark-style .flatpickr-calendar.list-filter-calendar .flatpickr-day.endRange,
html[data-theme="dark"] .flatpickr-calendar.list-filter-calendar .flatpickr-day.selected,
html[data-theme="dark"] .flatpickr-calendar.list-filter-calendar .flatpickr-day.startRange,
html[data-theme="dark"] .flatpickr-calendar.list-filter-calendar .flatpickr-day.endRange {
    background: var(--dash-primary) !important;
    color: #fff !important;
}

html.dark-style .flatpickr-calendar.das-flatpickr-calendar .flatpickr-day.inRange,
html[data-theme="dark"] .flatpickr-calendar.das-flatpickr-calendar .flatpickr-day.inRange,
html.dark-style .flatpickr-calendar.list-filter-calendar .flatpickr-day.inRange,
html[data-theme="dark"] .flatpickr-calendar.list-filter-calendar .flatpickr-day.inRange {
    background: rgba(105, 108, 255, 0.22) !important;
    box-shadow: none !important;
}

html.light-style:not(.dark-style) .flatpickr-calendar.das-flatpickr-calendar,
html.light-style:not(.dark-style) .flatpickr-calendar.das-flatpickr-calendar .flatpickr-days,
html.light-style:not(.dark-style) .flatpickr-calendar.das-flatpickr-calendar .dayContainer,
html.light-style:not(.dark-style) .flatpickr-calendar.das-flatpickr-calendar .flatpickr-innerContainer,
html.light-style:not(.dark-style) .flatpickr-calendar.list-filter-calendar,
html.light-style:not(.dark-style) .flatpickr-calendar.list-filter-calendar .flatpickr-days,
html.light-style:not(.dark-style) .flatpickr-calendar.list-filter-calendar .dayContainer,
html.light-style:not(.dark-style) .flatpickr-calendar.list-filter-calendar .flatpickr-innerContainer {
    background: #fff !important;
    background-color: #fff !important;
}
