/* FullCalendar Premium Theme Override */
.fc {
  --fc-border-color: hsl(var(--border));
  --fc-today-bg-color: hsl(var(--accent));
  --fc-neutral-bg-color: hsl(var(--muted));
  --fc-page-bg-color: transparent;
  --fc-event-border-color: transparent;
  font-family: inherit;
}

.fc .fc-button {
  background-color: hsl(var(--secondary));
  border-color: hsl(var(--border));
  color: hsl(var(--foreground));
  font-weight: 500;
  font-size: 0.8125rem;
  padding: 0.375rem 0.75rem;
  border-radius: 0.5rem;
  text-transform: capitalize;
}

.fc .fc-button:hover {
  background-color: hsl(var(--accent));
}

.fc .fc-button-active, .fc .fc-button:active {
  background-color: hsl(var(--primary)) !important;
  color: hsl(var(--primary-foreground)) !important;
  border-color: hsl(var(--primary)) !important;
}

.fc .fc-toolbar-title {
  font-size: 1.125rem;
  font-weight: 700;
  text-transform: capitalize;
}

.fc .fc-col-header-cell {
  padding: 0.5rem 0;
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.fc .fc-timegrid-slot {
  height: 2.5rem;
}

.fc .fc-timegrid-slot-label {
  font-size: 0.75rem;
  color: hsl(var(--muted-foreground));
}

.fc .fc-event {
  border-radius: 0.375rem;
  border: none;
  font-size: 0.75rem;
  cursor: pointer;
}

.fc .fc-daygrid-event {
  border-radius: 0.375rem;
  padding: 2px 4px;
}

.fc .fc-scrollgrid {
  border-radius: 0.5rem;
  overflow: hidden;
}

.fc td, .fc th {
  border-color: hsl(var(--border));
}
