.date-picker-source {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.date-picker-proxy {
    cursor: pointer;
    background-color: #fff !important;
}

.date-picker-proxy:focus {
    border-color: #86b7fe;
    box-shadow: 0 0 0 .2rem rgba(13, 110, 253, .15);
    outline: 0;
}

.date-picker-calendar.datepicker-dropdown {
    z-index: 1085;
    border: 1px solid #d9e1eb;
    border-radius: 8px;
    box-shadow: 0 .5rem 1.25rem rgba(27, 45, 74, .14);
    overflow: hidden;
}

.date-picker-calendar .datepicker-picker {
    background: #fff;
}

.date-picker-calendar .datepicker-header .datepicker-controls .button,
.date-picker-calendar .datepicker-footer .button {
    border-radius: 6px;
}

.date-picker-calendar .datepicker-header .datepicker-controls {
    gap: .35rem;
    padding: .55rem .65rem .35rem;
}

.date-picker-calendar .datepicker-header .datepicker-controls .button {
    min-height: 2rem;
    border: 1px solid transparent;
    color: #243447;
    font-weight: 600;
}

.date-picker-calendar .datepicker-header .datepicker-controls .button:hover {
    background: #eef5ff;
    border-color: #cfe0f7;
}

.date-picker-calendar .datepicker-footer {
    align-items: center;
    border-top: 1px solid #edf1f5;
    display: flex;
    gap: .5rem;
    justify-content: flex-end;
    padding: .45rem .65rem;
}

.date-picker-calendar .datepicker-footer .button {
    background: #fff;
    border: 1px solid #cfd9e5;
    color: #344454;
    font-family: inherit;
    font-weight: 600;
    line-height: 1.25;
    min-height: 2rem;
    padding: .35rem .75rem;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.date-picker-calendar .datepicker-footer .button:hover {
    background: #f5f8fc;
    border-color: #aebed0;
    color: #1f3348;
}

.date-picker-calendar .datepicker-footer .today-btn {
    background: #edf5ff;
    border-color: #b9d5f7;
    color: #0b63ce;
}

.date-picker-calendar .datepicker-footer .today-btn:hover {
    background: #dcecff;
    border-color: #8eb9ed;
    color: #084f9f;
}

.date-picker-calendar .datepicker-footer .button:focus-visible {
    border-color: #6ea8fe;
    box-shadow: 0 0 0 .2rem rgba(13, 110, 253, .15);
    outline: 0;
}

.date-picker-calendar .datepicker-cell {
    min-width: 0;
    height: 2.35rem;
    border-radius: 6px;
}

.date-picker-week-calendar .datepicker-view {
    width: 17.5rem;
}

.date-picker-calendar .datepicker-cell.focused:not(.selected),
.date-picker-calendar .datepicker-cell:hover:not(.selected) {
    background-color: #eef5ff;
}

.date-picker-calendar .datepicker-cell.selected,
.date-picker-calendar .datepicker-cell.selected:hover {
    background-color: #0d6efd;
    color: #fff;
}

.date-picker-calendar .datepicker-cell.week-selected:not(.selected) {
    background-color: #e5f0ff;
    color: #174a8b;
}

.date-picker-calendar .datepicker-cell.week-selected:not(.selected):hover,
.date-picker-calendar .datepicker-cell.week-selected.focused:not(.selected) {
    background-color: #cfe2ff;
}

.date-picker-calendar .datepicker-cell.week-row-selected:not(.selected) {
    background-color: #e5f0ff;
    border-radius: 0;
    color: #174a8b;
}

.date-picker-calendar .datepicker-cell.week-row-selected:nth-child(7n + 1) {
    border-radius: 6px 0 0 6px;
}

.date-picker-calendar .datepicker-cell.week-row-selected:nth-child(7n) {
    border-radius: 0 6px 6px 0;
}

.date-picker-calendar .calendar-weeks .week-number-selected {
    background-color: #d5e7ff;
    color: #0d5ebd;
    font-weight: 700;
}

.date-picker-calendar .datepicker-cell.range,
.date-picker-calendar .datepicker-cell.range-start,
.date-picker-calendar .datepicker-cell.range-end {
    background-color: #dceaff;
    color: #174a8b;
}

.date-picker-calendar .datepicker-cell.range-start,
.date-picker-calendar .datepicker-cell.range-end {
    background-color: #0d6efd;
    color: #fff;
}

.date-picker-calendar .datepicker-cell.disabled {
    color: #adb5bd;
}

@media (max-width: 720px) {
    .date-picker-calendar.datepicker-dropdown {
        max-width: calc(100vw - 1rem);
    }

    .date-picker-calendar .datepicker-cell {
        height: 2.15rem;
    }

    .date-picker-week-calendar .datepicker-view {
        width: min(17.5rem, calc(100vw - 2rem));
    }
}

@media (prefers-reduced-motion: reduce) {
    .date-picker-calendar.datepicker-dropdown,
    .date-picker-calendar .datepicker-cell {
        transition: none !important;
    }
}
