/*
 * Compacte weergave voor het adminpaneel.
 *
 * Filament maatvoert de hele interface in rem: één kleinere root-fontgrootte
 * schaalt dus tekst, knoppen, witruimte én sidebar evenredig mee. Bewust een
 * los CSS-bestand (geen Vite-thema): de productieserver bouwt geen frontend-
 * assets. Publicatie gebeurt automatisch via `filament:assets`, dat bij elke
 * deploy meedraait in `filament:upgrade` (composer post-autoload-dump).
 */

/* Desktop compacter: 87,5% van 16px = 14px basis. Op smalle schermen blijft
   de standaardgrootte staan zodat tapdoelen groot genoeg blijven. */
@media (min-width: 1024px) {
    html {
        font-size: 87.5%;
    }

    /* Uitgezonderd: de inlogschermen (Filaments "simple pages"). Die zijn
       de gedeelde voordeur en moeten er precies zo uitzien als het portaal
       en de startpagina — die kennen deze compacte schaal niet. */
    html:has(.fi-simple-layout) {
        font-size: 100%;
    }
}

/* Smalle, rustige scrollbalken in plaats van de brede systeembalken.
   `scrollbar-width` erft niet, vandaar de universele selector;
   `scrollbar-color` erft wél en hoeft alleen op html te staan. */
* {
    scrollbar-width: thin;
}

html {
    scrollbar-color: rgb(0 0 0 / 0.25) transparent;
}

html.dark {
    scrollbar-color: rgb(255 255 255 / 0.15) transparent;
}

/* Krappere sidebar-navigatie: de standaard witruimte (py-8, gap-y-7 tussen
   groepen, p-2 per item) is de reden dat het menu op een normale
   schermhoogte niet past en een eigen scrollbalk krijgt. `!important` is
   nodig omdat dit bestand vóór het kernthema laadt (zie `filament:assets`-
   volgorde) en anders door gelijke specificiteit wordt overschreven. */
.fi-sidebar-nav {
    padding-block: 1.25rem !important;
    padding-inline: 1rem !important;
    gap: 1rem !important;
}

.fi-sidebar-nav-groups {
    gap: 1rem !important;
}

.fi-sidebar-group-btn,
.fi-sidebar-item-btn {
    padding: 0.375rem !important;
}

.fi-sidebar-footer {
    margin-block: 0.5rem !important;
    gap: 0.5rem !important;
}

/* Compactere density voor pagina-inhoud: secties/cards, formulieren,
   tabellen en repeaters krijgen minder padding/gaps. Geldt voor List,
   Create, Edit/View en Relation Managers — die renderen allemaal dezelfde
   Filament-componenten. Waar Filament zelf al een "compact"-variant van een
   component kent (Section), gebruiken we exact diezelfde, door Filament
   zelf gekozen waarden in plaats van eigen getallen te verzinnen; dat blijft
   dus visueel consistent bij een Filament-update. */

/* Secties/cards (formuliergroepen, infolist-groepen, widget-cards). */
.fi-section:not(.fi-section-not-contained) > .fi-section-header {
    padding: 0.625rem 1rem !important;
}

.fi-section:not(.fi-section-not-contained)
    > .fi-section-content-ctn
    > .fi-section-content {
    padding: 1rem !important;
}

.fi-section:not(.fi-section-not-contained)
    > .fi-section-content-ctn
    > .fi-section-footer {
    padding: 0.625rem 1rem !important;
}

.fi-section.fi-section-not-contained:not(.fi-aside) {
    gap: 0.625rem !important;
}

.fi-section.fi-section-not-contained:not(.fi-aside) > .fi-section-content-ctn {
    gap: 0.625rem !important;
}

/* Formuliergrid: gap tussen velden/kolommen binnen een sectie of grid. */
.fi-sc-has-gap {
    gap: 0.75rem !important;
}

.fi-sc-form {
    gap: 0.75rem !important;
}

/* Pagina-opbouw: minder lucht rond titel/breadcrumbs en tussen widgets. */
.fi-page-header-main-ctn {
    gap: 1rem !important;
    padding-block: 1.25rem !important;
}

/* Alleen de gewone paneelpagina's; de inlogschermen houden Filaments eigen
   maatvoering aan (zie de uitzondering op de compacte schaal hierboven). */
.fi-page-content {
    gap: 1rem !important;
}

.fi-main {
    padding-inline: 1rem !important;
}

/* Tabellen (List-pagina's en Relation Managers): rijhoogte en headers. */
.fi-ta-header-cell {
    padding-block: 0.5rem !important;
}

.fi-ta-text:not(.fi-inline),
.fi-ta-icon:not(.fi-inline) {
    padding-block: 0.5rem !important;
}

.fi-ta-cell:has(.fi-ta-actions) {
    padding-block: 0.5rem !important;
}

.fi-ta-header {
    padding: 0.75rem 1rem !important;
}

.fi-ta-header-toolbar {
    padding-block: 0.5rem !important;
}

.fi-pagination {
    padding-block: 0.5rem !important;
}

/* Repeaters (formulier) en repeatable entries (infolist): items zoals
   ticketreacties. */
.fi-fo-repeater-item-header {
    padding: 0.5rem 0.75rem !important;
}

.fi-fo-repeater-item-content {
    padding: 0.75rem !important;
}

.fi-in-repeatable.fi-contained > .fi-in-repeatable-item {
    padding: 0.625rem !important;
}

/* Dashboard-widgets: statistiekkaarten gebruiken dezelfde ruime p-6 als een
   standaardsectie. */
.fi-wi-stats-overview-stat {
    padding: 1rem !important;
}

/* Hint-iconen (het oranje vraagteken met uitleg-tooltip) direct achter het
   veldlabel in plaats van rechts-uitgelijnd in de labelrij: bij brede velden
   raakt het icoon anders visueel los van de titel waar het bij hoort. Het
   after-label-schema groeit standaard (flex-grow: 1) met align-end; niet
   laten groeien zet de inhoud aansluitend achter het label. */
.fi-fo-field-label-ctn > .fi-sc.fi-inline {
    flex-grow: 0 !important;
}
