/* FullCalendar Dark Mode Styles */

/* Base calendar container */
.dark .fc {
  --fc-border-color: #374151;
  --fc-page-bg-color: #1f2937;
  --fc-neutral-bg-color: #374151;
  --fc-list-event-hover-bg-color: #374151;
  --fc-today-bg-color: rgba(79, 70, 229, 0.15);
}

/* Calendar background */
.dark .fc-theme-standard td,
.dark .fc-theme-standard th {
  border-color: #374151;
}

.dark .fc-theme-standard .fc-scrollgrid {
  border-color: #374151;
}

/* Day cells */
.dark .fc-daygrid-day {
  background-color: #1f2937;
}

.dark .fc-daygrid-day:hover {
  background-color: #374151;
}

/* Today highlight */
.dark .fc-day-today {
  background-color: rgba(79, 70, 229, 0.15) !important;
}

/* Header toolbar */
.dark .fc-toolbar-title {
  color: #f3f4f6;
}

.dark .fc-button-primary {
  background-color: #4f46e5;
  border-color: #4f46e5;
}

.dark .fc-button-primary:hover {
  background-color: #4338ca;
  border-color: #4338ca;
}

.dark .fc-button-primary:disabled {
  background-color: #6366f1;
  border-color: #6366f1;
}

.dark .fc-button-primary:not(:disabled):active,
.dark .fc-button-primary:not(:disabled).fc-button-active {
  background-color: #3730a3;
  border-color: #3730a3;
}

/* Day headers (Mon, Tue, etc.) */
.dark .fc-col-header-cell {
  background-color: #374151;
}

.dark .fc-col-header-cell-cushion {
  color: #9ca3af;
  font-weight: 500;
}

/* Day numbers */
.dark .fc-daygrid-day-number {
  color: #d1d5db;
}

.dark .fc-day-today .fc-daygrid-day-number {
  color: #818cf8;
  font-weight: 600;
}

/* Time grid (week/day view) */
.dark .fc-timegrid-slot {
  background-color: #1f2937;
}

.dark .fc-timegrid-slot-label-cushion {
  color: #9ca3af;
}

.dark .fc-timegrid-col.fc-day-today {
  background-color: rgba(79, 70, 229, 0.1) !important;
}

/* All-day section */
.dark .fc-timegrid-axis-cushion,
.dark .fc-timegrid-slot-label {
  color: #9ca3af;
}

.dark .fc-daygrid-day-frame {
  background-color: #1f2937;
}

/* Events */
.dark .fc-event {
  border-radius: 4px;
  font-size: 0.85em;
}

.dark .fc-daygrid-event {
  padding: 2px 4px;
}

.dark .fc-event-title {
  font-weight: 500;
}

/* More events popover */
.dark .fc-more-popover {
  background-color: #1f2937;
  border-color: #374151;
}

.dark .fc-more-popover .fc-popover-header {
  background-color: #374151;
  color: #f3f4f6;
}

/* Scrollbar styling for calendar */
.dark .fc-scroller::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.dark .fc-scroller::-webkit-scrollbar-track {
  background: #1f2937;
}

.dark .fc-scroller::-webkit-scrollbar-thumb {
  background: #4b5563;
  border-radius: 4px;
}

.dark .fc-scroller::-webkit-scrollbar-thumb:hover {
  background: #6b7280;
}

/* Now indicator line */
.dark .fc-timegrid-now-indicator-line {
  border-color: #ef4444;
}

.dark .fc-timegrid-now-indicator-arrow {
  border-top-color: #ef4444;
}

/* List view (if used) */
.dark .fc-list {
  border-color: #374151;
}

.dark .fc-list-day-cushion {
  background-color: #374151;
}

.dark .fc-list-day-text,
.dark .fc-list-day-side-text {
  color: #d1d5db;
}

.dark .fc-list-event:hover td {
  background-color: #374151;
}

/* Light mode overrides (ensure good styling in light mode too) */
.fc-theme-standard td,
.fc-theme-standard th {
  border-color: #e5e7eb;
}

.fc-col-header-cell {
  background-color: #f9fafb;
}

.fc-day-today {
  background-color: rgba(79, 70, 229, 0.1) !important;
}

.fc-daygrid-day:hover {
  background-color: #f3f4f6;
}

/* Event hover states */
.fc-event {
  cursor: pointer;
  transition: opacity 0.15s ease;
}

.fc-event:hover {
  opacity: 0.9;
}

/* Better event text visibility */
.fc-event-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Mobile responsiveness */
@media (max-width: 640px) {
  .fc-toolbar {
    flex-direction: column;
    gap: 0.5rem;
  }

  .fc-toolbar-chunk {
    display: flex;
    justify-content: center;
  }

  .fc-toolbar-title {
    font-size: 1.25rem;
  }
}
