/* FullCalendar dark theme overrides for VisionLAN */

.fc {
    --fc-border-color: rgba(255, 255, 255, 0.08);
    --fc-page-bg-color: transparent;
    --fc-neutral-bg-color: rgba(255, 255, 255, 0.03);
    --fc-list-event-hover-bg-color: rgba(255, 255, 255, 0.05);
    --fc-today-bg-color: rgba(var(--vl-primary-rgb), 0.08);
    --fc-now-indicator-color: var(--vl-primary);
    --fc-event-text-color: #fff;
}

.fc .fc-toolbar-title {
    color: var(--vl-text);
    font-size: 1.1rem;
    font-weight: 600;
}

.fc .fc-button-primary {
    background: var(--vl-glass);
    border-color: rgba(255, 255, 255, 0.1);
    color: var(--vl-text);
    font-size: 0.8rem;
}

.fc .fc-button-primary:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.15);
    color: #fff;
}

.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active {
    background: var(--vl-primary);
    border-color: var(--vl-primary);
    color: #fff;
}

.fc .fc-col-header-cell {
    background: var(--vl-glass);
    color: var(--vl-text-muted);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.5rem 0;
}

.fc .fc-col-header-cell-cushion {
    color: var(--vl-text-muted);
    text-decoration: none;
}

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

.fc .fc-timegrid-slot-label-cushion {
    color: var(--vl-text-muted);
    font-size: 0.7rem;
}

.fc .fc-event {
    border: none;
    border-radius: 4px;
    font-size: 0.8rem;
    padding: 2px 4px;
    cursor: pointer;
}

.fc .fc-event:hover {
    filter: brightness(1.15);
}

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

.fc .fc-timegrid-event .fc-event-time {
    font-size: 0.7rem;
    opacity: 0.8;
}

/* Resource labels */
.fc .fc-resource-timeline .fc-datagrid-cell-frame,
.fc .fc-resourceTimeGridDay-view .fc-col-header-cell {
    color: var(--vl-text);
}

.fc .fc-datagrid-cell-cushion {
    color: var(--vl-text);
    font-size: 0.85rem;
}

/* List view */
.fc .fc-list {
    border-color: rgba(255, 255, 255, 0.08);
}

.fc .fc-list-day-cushion {
    background: var(--vl-glass);
    color: var(--vl-text);
}

.fc .fc-list-event td {
    border-color: rgba(255, 255, 255, 0.05);
    color: var(--vl-text);
}

.fc .fc-list-event:hover td {
    background: rgba(255, 255, 255, 0.05);
}

.fc .fc-list-event-dot {
    border-radius: 50%;
}

/* Scrollbar styling */
.fc .fc-scroller::-webkit-scrollbar {
    width: 6px;
}

.fc .fc-scroller::-webkit-scrollbar-track {
    background: transparent;
}

.fc .fc-scroller::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 3px;
}

/* Popover */
.fc .fc-popover {
    background: var(--vl-bg-card);
    border-color: rgba(255, 255, 255, 0.1);
}

.fc .fc-popover-header {
    background: var(--vl-glass);
    color: var(--vl-text);
}
