/* Flatpickr Catppuccin Mocha Theme */
/* Override flatpickr colors to match our custom theme */

.flatpickr-calendar {
  background: #1e1e2e; /* mantle */
  border: 1px solid #45475a; /* surface1 */
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
}

.flatpickr-months {
  background: #181825; /* base */
  border-bottom: 1px solid #45475a; /* surface1 */
}

.flatpickr-month {
  color: #cdd6f4; /* text */
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
  background: #1e1e2e; /* mantle */
  color: #cdd6f4; /* text */
  border: 1px solid #45475a; /* surface1 */
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  background: #313244; /* surface0 */
}

.flatpickr-current-month input.cur-year {
  color: #cdd6f4; /* text */
  background: #1e1e2e; /* mantle */
}

.flatpickr-current-month input.cur-year:hover {
  background: #313244; /* surface0 */
}

.flatpickr-prev-month,
.flatpickr-next-month {
  color: #cdd6f4; /* text */
}

.flatpickr-prev-month:hover,
.flatpickr-next-month:hover {
  color: #89b4fa; /* blue */
}

.flatpickr-weekdays {
  background: #181825; /* base */
  border-bottom: 1px solid #45475a; /* surface1 */
}

span.flatpickr-weekday {
  color: #bac2de; /* subtext0 */
  font-weight: 600;
}

.flatpickr-days {
  background: #1e1e2e; /* mantle */
}

.flatpickr-day {
  color: #cdd6f4; /* text */
  border: 1px solid transparent;
}

.flatpickr-day.today {
  border-color: #89b4fa; /* blue */
  background: #89b4fa20; /* blue with transparency */
  color: #89b4fa; /* blue */
}

.flatpickr-day.today:hover {
  background: #89b4fa40; /* blue with more transparency */
  border-color: #89b4fa; /* blue */
  color: #89b4fa; /* blue */
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background: #89b4fa; /* blue */
  border-color: #89b4fa; /* blue */
  color: #181825; /* base */
}

.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
  background: #74a7f9; /* slightly lighter blue */
  border-color: #74a7f9;
}

.flatpickr-day:hover {
  background: #313244; /* surface0 */
  border-color: #45475a; /* surface1 */
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
  color: #585b70; /* surface2 */
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  color: #585b70; /* surface2 */
  cursor: not-allowed;
}

.flatpickr-day.inRange {
  background: #89b4fa30; /* blue with light transparency */
  border-color: transparent;
  box-shadow: -5px 0 0 #89b4fa30, 5px 0 0 #89b4fa30;
}

.flatpickr-time {
  background: #181825; /* base */
  border-top: 1px solid #45475a; /* surface1 */
}

.flatpickr-time input {
  color: #cdd6f4; /* text */
  background: #1e1e2e; /* mantle */
}

.flatpickr-time input:hover,
.flatpickr-time input:focus {
  background: #313244; /* surface0 */
}

.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
  color: #cdd6f4; /* text */
}

.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time .flatpickr-am-pm:focus {
  background: #313244; /* surface0 */
}

.flatpickr-time .numInputWrapper span.arrowUp:after {
  border-bottom-color: #cdd6f4; /* text */
}

.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: #cdd6f4; /* text */
}

.flatpickr-time .numInputWrapper span:hover {
  background: #313244; /* surface0 */
}
