.flatpickr-calendar {
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,.15);
    font-family: inherit;
}
.flatpickr-calendar .flatpickr-months {
    border-bottom: 1px solid #dee2e6;
}
.flatpickr-calendar .flatpickr-months .flatpickr-month {
    background: transparent;
    color: #212529;
    fill: #212529;
}
.flatpickr-calendar .flatpickr-months .flatpickr-prev-month,
.flatpickr-calendar .flatpickr-months .flatpickr-next-month {
    color: #6c757d;
    fill: #6c757d;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
}
.flatpickr-calendar .flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-calendar .flatpickr-months .flatpickr-next-month:hover svg {
    fill: #0d6efd;
}
.flatpickr-calendar .flatpickr-current-month {
    font-size: 0.9rem;
    font-weight: 600;
    padding-top: 0.5rem;
}
.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-calendar .flatpickr-current-month input.cur-year {
    font-weight: 600;
    color: #212529;
}
.flatpickr-calendar span.flatpickr-weekday {
    color: #6c757d;
    font-size: 0.8rem;
    font-weight: 500;
    background: #f8f9fa;
}
.flatpickr-day {
    border-radius: 0.375rem;
    color: #212529;
    font-weight: 400;
    line-height: 2.2rem;
    height: 2.2rem;
}
.flatpickr-day:hover {
    background: #e9ecef;
    border-color: #e9ecef;
}
.flatpickr-day.selected,
.flatpickr-day.selected:hover {
    background: #0d6efd;
    border-color: #0d6efd;
    color: #fff;
}
.flatpickr-day.today {
    border-color: #dee2e6;
}
.flatpickr-day.today:hover,
.flatpickr-day.today.selected {
    background: #0d6efd;
    border-color: #0d6efd;
    color: #fff;
}
.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange {
    background: #cfe2ff;
    border-color: #cfe2ff;
    box-shadow: none;
}
.flatpickr-day.flatpickr-disabled {
    color: #adb5bd;
}
.flatpickr-day.outsideCurrentMonth {
    color: #adb5bd;
}
span.flatpickr-weekday {
    background: transparent;
}
.flatpickr-weekwrapper .flatpickr-weeks {
    border: 1px solid #dee2e6;
    border-radius: 0 0 0.5rem 0.5rem;
}
.flatpickr-time {
    border-top: 1px solid #dee2e6;
}
.flatpickr-time input {
    font-size: 0.9rem;
    color: #212529;
}
.flatpickr-time .flatpickr-am-pm {
    color: #6c757d;
}
.flatpickr-input {
    background-color: #fff;
}
