/* Calendar emphasis and global theme toggle. */
.theme-toggle-header {
  border: 1px solid hsl(var(--border));
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
}

.theme-toggle-header:hover {
  background: hsl(var(--muted));
}

.dark .theme-toggle-header {
  background: rgba(31, 44, 65, .96) !important;
  border-color: rgba(127, 145, 174, .34) !important;
  color: #f8fafc !important;
  box-shadow:
    0 12px 26px rgba(0, 0, 0, .22),
    inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

.dark .theme-toggle-header:hover {
  background: rgba(48, 64, 89, .98) !important;
}

.dark [data-slot="calendar"] .af-calendar-today,
.dark [data-slot="calendar"] button.af-calendar-today {
  border-radius: 999px !important;
  background: transparent !important;
}

.dark [data-slot="calendar"] .af-calendar-today button,
.dark [data-slot="calendar"] button.af-calendar-today {
  width: var(--cell-size, 2rem) !important;
  height: var(--cell-size, 2rem) !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  border: 1px solid rgba(255, 255, 255, .9) !important;
  color: #0f172a !important;
  box-shadow:
    0 0 0 3px rgba(248, 250, 252, .13),
    0 10px 18px rgba(0, 0, 0, .24) !important;
}

.dark [data-slot="calendar"] .af-calendar-event-day,
.dark [data-slot="calendar"] button.af-calendar-event-day {
  border-radius: 999px !important;
}

.dark [data-slot="calendar"] .af-calendar-event-day button,
.dark [data-slot="calendar"] button.af-calendar-event-day {
  position: relative;
  border-radius: 999px !important;
  background: rgba(96, 165, 250, .2) !important;
  border: 1px solid rgba(125, 211, 252, .78) !important;
  color: #dbeafe !important;
  box-shadow:
    0 0 0 3px rgba(56, 189, 248, .14),
    inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

.dark [data-slot="calendar"] .af-calendar-event-day button::after,
.dark [data-slot="calendar"] button.af-calendar-event-day::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 3px;
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: #38bdf8;
  transform: translateX(-50%);
  box-shadow: 0 0 10px rgba(56, 189, 248, .85);
}

.dark [data-slot="calendar"] .af-calendar-event-day button[data-selected-single="true"],
.dark [data-slot="calendar"] button.af-calendar-event-day[data-selected-single="true"] {
  background: linear-gradient(180deg, #93c5fd, #60a5fa) !important;
  border-color: rgba(219, 234, 254, .9) !important;
  color: #07111f !important;
}

.dark [data-slot="calendar"] .af-calendar-event-day.af-calendar-today button,
.dark [data-slot="calendar"] button.af-calendar-event-day.af-calendar-today {
  background: #f8fafc !important;
  border-color: #38bdf8 !important;
  color: #0f172a !important;
  box-shadow:
    0 0 0 3px rgba(56, 189, 248, .34),
    0 0 0 6px rgba(248, 250, 252, .08),
    0 12px 22px rgba(0, 0, 0, .26) !important;
}
