.yastrav-date-display {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding-right: 2.35rem !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%232b67a5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right .68rem center !important;
    background-size: 1.05rem 1.05rem !important;
    cursor: pointer;
}

.yastrav-date-display.is-invalid-date {
    border-color: #d94b5b !important;
    box-shadow: 0 0 0 3px rgba(217, 75, 91, .13) !important;
}

[data-theme="dark"] .yastrav-date-display {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2386c2ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E") !important;
}

.flatpickr-calendar {
    z-index: 12050 !important;
    width: 23.5rem !important;
    border: 1px solid rgba(36, 98, 159, .18) !important;
    border-radius: .8rem !important;
    font-family: inherit;
    font-size: 1rem !important;
}

.flatpickr-calendar.open {
    overflow: hidden;
}

.light-style .flatpickr-calendar,
.light-style .flatpickr-days,
.dark-style .flatpickr-calendar,
.dark-style .flatpickr-days {
    width: 23.5rem !important;
}

.flatpickr-month {
    height: 2.15rem;
}

.flatpickr-months {
    min-height: 3.45rem;
    padding: .95rem .85rem .62rem;
    background: linear-gradient(155deg, #eef7ff 0%, #d9e9f8 100%);
}

.flatpickr-current-month {
    height: 1.8rem;
    padding-top: .18rem;
    font-size: 1.12rem !important;
}

.flatpickr-next-month,
.flatpickr-prev-month {
    top: .85rem;
    height: 1.8rem;
    min-width: 1.8rem;
    line-height: 1.65rem;
}

.flatpickr-weekdays {
    height: 2.35rem;
    padding: .25rem .8rem 0;
}

span.flatpickr-weekday {
    font-size: .9rem;
    font-weight: 700;
}

.flatpickr-days {
    padding: .78rem !important;
}

.dayContainer {
    min-width: 21.9rem;
    max-width: 21.9rem;
}

.flatpickr-day {
    flex-basis: 14.2857143%;
    width: 14.2857143%;
    max-width: 3.12rem;
    height: 2.85rem;
    line-height: calc(2.85rem - 2px);
    font-size: 1rem;
}

.flatpickr-current-month,
.flatpickr-weekday {
    color: #183a5d !important;
}

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

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    color: #fff !important;
    background: linear-gradient(145deg, #347dbe, #174d83) !important;
    border-color: #205d96 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .34),
        0 3px 8px rgba(22, 76, 128, .25);
}

.flatpickr-time {
    height: 3.25rem !important;
    max-height: 3.25rem !important;
    line-height: 3.25rem;
    border-radius: 0 0 .8rem .8rem !important;
}

.flatpickr-time .numInputWrapper {
    height: 3.25rem;
}

[data-theme="dark"] .flatpickr-months {
    background: linear-gradient(155deg, #203952 0%, #14283d 100%);
}

[data-theme="dark"] .flatpickr-current-month,
[data-theme="dark"] .flatpickr-weekday {
    color: #e3effd !important;
}

[data-theme="dark"] .flatpickr-calendar {
    border-color: rgba(134, 194, 255, .24) !important;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .45) !important;
}

.field-hint {
    display: block;
    margin-top: .38rem;
    color: var(--text-muted, #60758a);
    font-size: .76rem;
    line-height: 1.45;
}

@media (max-width: 520px) {
    .flatpickr-calendar {
        width: 18.5rem !important;
        max-width: calc(100vw - 20px);
    }

    .light-style .flatpickr-calendar,
    .light-style .flatpickr-days,
    .dark-style .flatpickr-calendar,
    .dark-style .flatpickr-days {
        width: 18.5rem !important;
    }

    .dayContainer {
        min-width: 17rem;
        max-width: 17rem;
    }

    .flatpickr-day {
        max-width: 2.42rem;
        height: 2.4rem;
        line-height: calc(2.4rem - 2px);
    }
}
