.flatpickr-calendar {
  font-family: "Poppins", sans-serif;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(30, 58, 138, 0.16);
  overflow: hidden;
}

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after,
.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  display: none;
}

.flatpickr-calendar.open {
  margin-top: 4px;
}

.flatpickr-months {
  background: var(--primary, #1e3a8a);
  padding: 6px 4px;
}

.flatpickr-months .flatpickr-month {
  color: #fff;
  fill: #fff;
  height: 38px;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  top: 6px;
  height: 38px;
  padding: 10px 12px;
  color: #fff;
  fill: #fff;
  font-size: 14px;
  line-height: 18px;
}

.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  color: var(--secondary, #FFA633);
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: var(--secondary, #FFA633);
}

.flatpickr-current-month {
  font-size: 15px;
  font-weight: 600;
  padding-top: 6px;
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
  color: #fff;
  font-weight: 600;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover,
.flatpickr-current-month .numInputWrapper:hover {
  background: rgba(255, 255, 255, 0.12);
  border-radius: 6px;
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
  background: #fff;
  color: #1f2937;
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: #fff;
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: #fff;
}

.flatpickr-weekdays {
  margin-top: 6px;
}

span.flatpickr-weekday {
  color: var(--primary, #1e3a8a);
  font-size: 12px;
  font-weight: 600;
}

.flatpickr-day {
  border-radius: 8px;
  color: #374151;
  font-weight: 500;
}

.flatpickr-day:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover {
  background: rgba(255, 166, 51, 0.15);
  border-color: transparent;
  color: #1f2937;
}

.flatpickr-day.today {
  border-color: var(--secondary, #FFA633);
  color: var(--primary, #1e3a8a);
  font-weight: 600;
}

.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
  background: var(--secondary, #FFA633);
  border-color: var(--secondary, #FFA633);
  color: #fff;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: var(--secondary, #FFA633);
  border-color: var(--secondary, #FFA633);
  color: #fff;
  box-shadow: none;
}

.flatpickr-day.inRange,
.flatpickr-day.inRange:hover {
  background: rgba(255, 166, 51, 0.18);
  border-color: transparent;
  border-radius: 0;
  box-shadow: -5px 0 0 rgba(255, 166, 51, 0.18), 5px 0 0 rgba(255, 166, 51, 0.18);
  color: #1f2937;
}

.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  box-shadow: -10px 0 0 var(--secondary, #FFA633);
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  color: #cbd5e1;
}

.flatpickr-day.flatpickr-disabled:hover {
  background: transparent;
}

.flatpickr-calendar.hasTime .flatpickr-time {
  border-top: 1px solid #e5e7eb;
}

.flatpickr-calendar.noCalendar .flatpickr-time {
  border-top: 0;
}

.flatpickr-time input,
.flatpickr-time .flatpickr-am-pm,
.flatpickr-time .flatpickr-time-separator {
  color: #1f2937;
  font-weight: 600;
}

.flatpickr-time input:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time .flatpickr-am-pm:focus {
  background: rgba(255, 166, 51, 0.12);
}

.flatpickr-time .numInputWrapper span.arrowUp:after {
  border-bottom-color: var(--primary, #1e3a8a);
}

.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: var(--primary, #1e3a8a);
}

.flatpickr-wrapper {
  display: block;
  width: 100%;
}

.form-control.flatpickr-input[readonly],
.form-control.flatpickr-input.input {
  background-color: #fff;
  cursor: pointer;
}
