.flatpickr-calendar {
  border: none;
  border-radius: 10px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", sans-serif;
  overflow: hidden;
}

.flatpickr-months {
  background: linear-gradient(135deg, #1677ff 0%, #4096ff 100%);
  padding: .35rem 0;
}

.flatpickr-months .flatpickr-month,
.flatpickr-current-month,
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  color: #fff;
  fill: #fff;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: rgba(255, 255, 255, 0.85);
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
  color: #fff;
  font-weight: 600;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
  background: transparent;
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: #fff;
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: #fff;
}

.flatpickr-weekdays {
  background: #f0f7ff;
}

.flatpickr-weekday {
  color: #1677ff;
  font-weight: 600;
  font-size: .75rem;
}

.flatpickr-days {
  padding: .25rem .5rem .5rem;
}

.flatpickr-day {
  border-radius: 6px;
  color: #333;
  font-size: .8125rem;
  line-height: 36px;
  height: 36px;
  max-width: 36px;
}

.flatpickr-day:hover {
  background: #e6f4ff;
  border-color: #e6f4ff;
}

.flatpickr-day.today {
  border-color: #91caff;
  color: #1677ff;
  font-weight: 600;
}

.flatpickr-day.today:hover {
  background: #e6f4ff;
  border-color: #1677ff;
}

.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background: #1677ff;
  border-color: #1677ff;
  color: #fff;
}

.flatpickr-day.inRange {
  background: #e6f4ff;
  border-color: #e6f4ff;
  box-shadow: -5px 0 0 #e6f4ff, 5px 0 0 #e6f4ff;
}

.flatpickr-time {
  border-top: 1px solid #f0f0f0;
  padding: .5rem .75rem;
}

.flatpickr-time input {
  font-size: .875rem;
  font-weight: 500;
  color: #333;
}

.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
  color: #888;
}

.flatpickr-time input:hover,
.flatpickr-time input:focus {
  background: #f0f7ff;
}

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
  display: none;
}
