/* Easylabel brand overrides */

/* Alleen knoppen: maak 'primary' button groen met witte tekst */
.fi-btn.fi-color-primary:not(.fi-outlined) {
    /* Achtergrond (normaal + hover) */
    --bg: #00351d;
    --hover-bg: #002a17;
    --dark-bg: #00351d;
    --dark-hover-bg: #002a17;

    /* Tekst */
    --text: oklch(1 0 0);
    --hover-text: oklch(1 0 0);
    --dark-text: oklch(1 0 0);
    --dark-hover-text: oklch(1 0 0);
}

/* Agenda layout: clean weekly grid inspired by the reference design. */
.filament-fullcalendar {
    --agenda-primary: #000;
    --agenda-accent: #00351D;
    --agenda-border: #e6ebf2;
    --agenda-grid: #e9edf3;
    --agenda-grid-strong: #dde4ee;
    --agenda-header-bg: #f7f9fc;
    --agenda-axis-bg: #f9fbfe;
    --agenda-text: #1f2937;
    --agenda-muted: #6b7280;
    --agenda-today-bg: color-mix(in oklab, var(--agenda-accent) 12%, white);

    --fc-border-color: var(--agenda-grid-strong);
    --fc-page-bg-color: #ffffff;
    --fc-today-bg-color: var(--agenda-today-bg);
    --fc-now-indicator-color: var(--agenda-accent);
    --fc-event-bg-color: color-mix(in oklab, var(--agenda-accent) 20%, white);
    --fc-event-border-color: var(--agenda-accent);
    --fc-event-text-color: var(--agenda-primary);
}

.filament-fullcalendar.fc {
    border: 1px solid var(--agenda-border);
    border-radius: 14px;
    overflow: hidden;
}

.filament-fullcalendar .fc-scrollgrid,
.filament-fullcalendar .fc-scrollgrid-section table {
    border-color: var(--agenda-grid);
}

.filament-fullcalendar .fc-header-toolbar {
    margin: 0;
    padding: 0.9rem 1.1rem;
    border-bottom: 1px solid var(--agenda-border);
    background: #ffffff;
}

.filament-fullcalendar .fc-toolbar-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--agenda-primary);
}

.filament-fullcalendar .fc-button {
    background: #ffffff;
    border: 1px solid var(--agenda-border);
    color: var(--agenda-primary);
    border-radius: 10px;
    padding: 0.4rem 0.75rem;
    font-size: 0.85rem;
    font-weight: 600;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
}

.filament-fullcalendar .fc-button:hover {
    background: color-mix(in oklab, var(--agenda-primary) 8%, white);
    color: var(--agenda-primary);
}

.filament-fullcalendar .fc-button:focus {
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--agenda-accent) 30%, transparent);
}

.filament-fullcalendar .fc-button.fc-button-active {
    background: color-mix(in oklab, var(--agenda-primary) 12%, white);
    border-color: color-mix(in oklab, var(--agenda-primary) 22%, white);
    color: var(--agenda-primary);
}

.filament-fullcalendar .fc-button-group .fc-button {
    margin: 0;
    border-radius: 0;
}

.filament-fullcalendar .fc-button-group .fc-button:first-child {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

.filament-fullcalendar .fc-button-group .fc-button:last-child {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

.filament-fullcalendar .fc-button-group .fc-button + .fc-button {
    border-left: 0;
}

.filament-fullcalendar .fc-col-header {
    background: var(--agenda-header-bg);
    border-bottom: 1px solid var(--agenda-grid-strong);
}

.filament-fullcalendar .fc-col-header-cell {
    background: var(--agenda-header-bg);
}

.filament-fullcalendar .fc-col-header-cell.fc-day-today {
    background: var(--agenda-today-bg);
}

.filament-fullcalendar .fc-col-header-cell-cushion {
    display: inline-block;
    padding: 0.6rem 0.45rem 0.7rem;
    max-width: 4.5rem;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: normal;
    color: var(--agenda-muted);
}

.filament-fullcalendar .fc-timegrid-axis,
.filament-fullcalendar .fc-timegrid-axis-frame {
    background: var(--agenda-axis-bg);
    border-right: 1px solid var(--agenda-grid);
}

.filament-fullcalendar .fc-timegrid-axis-cushion,
.filament-fullcalendar .fc-timegrid-slot-label-cushion {
    padding: 0.35rem 0.6rem;
    font-size: 0.8rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    text-align: right;
    color: var(--agenda-muted);
}

.filament-fullcalendar .fc-timegrid-axis-cushion {
    max-width: 5.5rem;
}

.filament-fullcalendar .fc-timegrid-slot {
    height: 2.6rem;
    border-top: 1px dashed var(--agenda-grid);
}

.filament-fullcalendar .fc-timegrid-slot-minor {
    border-top-style: dotted;
}

.filament-fullcalendar .fc-timegrid-col.fc-day-today {
    background: var(--agenda-today-bg);
}

.filament-fullcalendar .fc-timegrid-event {
    border: 1px solid color-mix(in oklab, var(--fc-event-border-color) 60%, transparent);
    border-left: 4px solid var(--fc-event-border-color);
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.08);
    background: color-mix(in oklab, var(--fc-event-bg-color) 70%, white);
}

.filament-fullcalendar .fc-timegrid-event .fc-event-main {
    padding: 0.35rem 0.5rem;
    color: var(--fc-event-text-color);
    line-height: 1.3;
}

.filament-fullcalendar .fc-event-time {
    font-size: 0.75rem;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

/* Spoed-rijen in Filament tabellen: subtiele rode achtergrond */
.fi-ta-table tbody tr.is-rush-row td {
    background-color: #fef2f2 !important;
}

.dark .fi-ta-table tbody tr.is-rush-row td {
    background-color: rgba(127, 29, 29, 0.25) !important;
}

@media (max-width: 640px) {
    .filament-fullcalendar .fc-header-toolbar {
        padding: 0.8rem 0.75rem;
    }

    .filament-fullcalendar .fc-toolbar-title {
        font-size: 1rem;
    }

    .filament-fullcalendar .fc-col-header-cell-cushion {
        max-width: 3.75rem;
        font-size: 0.72rem;
    }

    .filament-fullcalendar .fc-timegrid-axis-cushion,
    .filament-fullcalendar .fc-timegrid-slot-label-cushion {
        padding: 0.25rem 0.45rem;
        font-size: 0.72rem;
    }

    .filament-fullcalendar .fc-timegrid-axis-cushion {
        max-width: 4.5rem;
    }

    .filament-fullcalendar .fc-timegrid-slot {
        height: 2.2rem;
    }
}

@media (max-width: 640px) {
    .filament-fullcalendar {
        --agenda-mobile-bg: #f4f7fb;
        --agenda-mobile-card: #ffffff;
        --agenda-mobile-card-border: #e2e8f0;
    }

    .filament-fullcalendar .fc-view.fc-list {
        background: var(--agenda-mobile-bg);
    }

    .filament-fullcalendar .fc-list {
        border: 0;
        padding: 0.5rem 0.8rem 1rem;
    }

    .filament-fullcalendar .fc-list-table {
        border-collapse: separate;
        border-spacing: 0 0.75rem;
        width: 100%;
    }

    .filament-fullcalendar .fc-list-table tr > * {
        border: 0;
    }

    .filament-fullcalendar .fc-list-day th {
        padding: 0;
    }

    .filament-fullcalendar .fc-list-day-cushion {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        padding: 0.45rem 0.8rem;
        border-radius: 999px;
        background: #f1f5f9;
        color: var(--agenda-muted);
        font-size: 0.75rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .filament-fullcalendar .fc-list-day.fc-day-today .fc-list-day-cushion {
        background: var(--agenda-today-bg);
        color: var(--agenda-primary);
    }

    .filament-fullcalendar .fc-list-event td {
        background: var(--agenda-mobile-card);
        padding: 0.65rem 0.7rem;
        vertical-align: top;
    }

    .filament-fullcalendar .fc-list-event-time {
        width: 4rem;
        border: 1px solid var(--agenda-mobile-card-border);
        border-right: 0;
        border-top-left-radius: 14px;
        border-bottom-left-radius: 14px;
        color: var(--agenda-accent);
        font-size: 0.85rem;
        font-weight: 700;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }

    .filament-fullcalendar .fc-list-event-graphic {
        display: none;
    }

    .filament-fullcalendar .fc-list-event-title {
        border: 1px solid var(--agenda-mobile-card-border);
        border-left: 0;
        border-top-right-radius: 14px;
        border-bottom-right-radius: 14px;
    }

    .filament-fullcalendar .fc-list-event-title a {
        display: block;
        color: var(--agenda-primary);
        font-weight: 600;
        line-height: 1.35;
    }

    .filament-fullcalendar .fc-list-event-title a:hover {
        color: var(--agenda-accent);
    }

    .filament-fullcalendar .fc-list-empty {
        background: transparent;
    }

    .filament-fullcalendar .fc-list-empty-cushion {
        margin: 1rem 0;
        border: 1px dashed var(--agenda-border);
        border-radius: 12px;
        padding: 1rem;
        color: var(--agenda-muted);
        background: var(--agenda-mobile-card);
        text-align: center;
    }
}
