/* ============ FULLCALENDAR — 2026 OVERRIDES ============ */

/* Map FC's CSS variables to our tokens so all chrome inherits the theme. */

[data-fc] {
  --fc-border-color:               var(--border-soft);
  --fc-page-bg-color:              var(--bg-card);
  --fc-neutral-bg-color:           var(--bg-muted);
  --fc-neutral-text-color:         var(--t-muted);
  --fc-today-bg-color:             color-mix(in oklab, var(--primary) 10%, transparent);
  --fc-now-indicator-color:        var(--danger);
  --fc-event-bg-color:             var(--primary);
  --fc-event-border-color:         var(--primary);
  --fc-event-text-color:           #fff;
  --fc-event-selected-overlay-color: rgb(15 23 42 / 0.06);
  --fc-list-event-hover-bg-color:  var(--bg-hover);
  --fc-highlight-color:            color-mix(in oklab, var(--primary) 16%, transparent);
  font-family: 'Inter', system-ui, sans-serif;
  height: 100%;
}

/* Day-grid header row (S M T W T F S) */
.fc .fc-col-header-cell-cushion {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--t-light);
  font-weight: 500;
  padding: 10px 0;
}
.fc-theme-standard .fc-scrollgrid,
.fc-theme-standard td,
.fc-theme-standard th { border-color: var(--border-soft); }

/* Day numbers in month grid */
.fc .fc-daygrid-day-number {
  font-family: 'Inter Tight', sans-serif;
  font-weight: 600;
  font-size: 12.5px;
  color: var(--t-base);
  padding: 6px 8px;
}
.fc .fc-day-other .fc-daygrid-day-number { color: var(--t-light); font-weight: 500; }
.fc .fc-day-today .fc-daygrid-day-number {
  background: var(--primary);
  color: #fff;
  border-radius: 6px;
  margin: 4px;
  padding: 3px 7px;
  min-width: 22px;
  text-align: center;
}

.fc .fc-day-today { background: transparent; }
.fc .fc-daygrid-day-frame { padding: 2px 4px; }

/* Events — base chip */
.fc .fc-daygrid-event,
.fc .fc-timegrid-event {
  border-radius: 5px;
  border: 0;
  border-left: 2px solid transparent;
  font-size: 11px;
  font-weight: 500;
  padding: 2px 6px;
  margin: 1px 4px;
  line-height: 1.3;
  cursor: pointer;
  transition: transform 140ms ease, filter 160ms ease;
}
.fc .fc-daygrid-event:hover { transform: translateX(1px); }
.fc .fc-daygrid-event-dot { display: none; }
.fc .fc-event-time {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  font-weight: 600;
  margin-right: 4px;
  opacity: 0.85;
}

/* Category colors via classNames — match dashboard cal-chip variants */
.fc .fc-event.fc-cat-work     { background: var(--primary-soft); color: var(--primary);  border-left-color: var(--primary); }
.fc .fc-event.fc-cat-team     { background: var(--success-soft); color: var(--success);  border-left-color: var(--success); }
.fc .fc-event.fc-cat-personal { background: var(--purple-soft);  color: var(--purple);   border-left-color: var(--purple); }
.fc .fc-event.fc-cat-travel   { background: var(--info-soft);    color: var(--info);     border-left-color: var(--info); }
.fc .fc-event.fc-cat-finance  { background: var(--warning-soft); color: var(--warning);  border-left-color: var(--warning); }
.fc .fc-event.fc-cat-birthday { background: var(--pink-soft);    color: var(--pink);     border-left-color: var(--pink); }

.fc .fc-event.fc-cat-travel .fc-event-time,
.fc .fc-event.fc-cat-team   .fc-event-time,
.fc .fc-event.fc-cat-work   .fc-event-time { color: inherit; }

/* "more" link */
.fc .fc-daygrid-more-link {
  font-size: 10.5px;
  font-weight: 600;
  color: var(--t-muted);
  padding: 2px 6px;
}
.fc .fc-daygrid-more-link:hover { color: var(--primary); }

/* Time-grid axis */
.fc .fc-timegrid-axis-cushion,
.fc .fc-timegrid-slot-label-cushion {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--t-light);
  letter-spacing: 0.04em;
}
.fc .fc-timegrid-now-indicator-line { border-color: var(--danger); border-width: 1.5px; }
.fc .fc-timegrid-now-indicator-arrow { border-color: var(--danger); }

/* List view */
.fc .fc-list-day-cushion {
  background: var(--bg-muted);
}
.fc .fc-list-day-text,
.fc .fc-list-day-side-text {
  color: var(--t-base);
  font-family: 'Inter Tight', sans-serif;
  font-weight: 600;
  font-size: 13px;
}
.fc .fc-list-event-time,
.fc .fc-list-event-title {
  font-size: 13px;
  color: var(--t-base);
}
.fc .fc-list-event-dot { border-color: var(--primary); }
.fc .fc-list-empty {
  background: var(--bg-card);
  color: var(--t-muted);
}
