/* FullCalendar Base Styles */
.fc {
    font-family: inherit;
}

.fc .fc-button {
    @apply px-4 py-2 rounded-lg bg-primary text-white font-semibold hover:bg-primary/90 transition;
    border: none;
    text-transform: capitalize;
}

.fc .fc-button:disabled {
    @apply opacity-50 cursor-not-allowed;
}

.fc .fc-button-primary:not(:disabled):active,
.fc .fc-button-primary:not(:disabled).fc-button-active {
    @apply bg-primary/80;
}

.fc-theme-standard td,
.fc-theme-standard th {
    @apply border-black/10 dark:border-white/10;
}

.fc-theme-standard .fc-scrollgrid {
    @apply border-black/10 dark:border-white/10;
}

.fc .fc-daygrid-day-number {
    @apply text-black dark:text-white;
}

.fc .fc-col-header-cell-cushion {
    @apply text-black/70 dark:text-white/70 font-semibold;
}

.fc .fc-daygrid-day.fc-day-today {
    @apply bg-primary/10;
}

.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number {
    @apply text-primary font-bold;
}

.fc-event {
    @apply cursor-pointer;
}

.fc-event:hover {
    @apply opacity-90;
}

.fc .fc-daygrid-event {
    @apply rounded px-2 py-1;
}

.fc .fc-timegrid-event {
    @apply rounded px-2;
}

.fc .fc-list-event:hover td {
    @apply bg-primary/5;
}

.fc .fc-more-link {
    @apply text-primary hover:underline;
}

.fc-popover {
    @apply bg-white dark:bg-gray border border-black/10 dark:border-white/10 rounded-lg shadow-lg;
}

.fc-popover-header {
    @apply bg-black/5 dark:bg-white/5 text-black dark:text-white;
}

.fc-popover-close {
    @apply text-black/70 dark:text-white/70 hover:text-black dark:hover:text-white;
}

/* Dark mode support */
html.dark .fc {
    @apply text-white;
}

html.dark .fc-theme-standard td,
html.dark .fc-theme-standard th {
    @apply border-white/10;
}

html.dark .fc-theme-standard .fc-scrollgrid {
    @apply border-white/10;
}

html.dark .fc .fc-col-header-cell {
    @apply bg-white/5;
}

html.dark .fc .fc-daygrid-day {
    background-color: transparent;
}

html.dark .fc .fc-daygrid-day.fc-day-other {
    @apply bg-white/5;
}