/* hidden-Attribut gewinnt IMMER — auch gegen Klassen mit eigener display-
   Regel (Suite-Festnagel, Dashboard Review-Fund 4, 2026-06-12). */
[hidden] { display: none !important; }

/* Benutzerverwaltung — Basis-Komponenten.
   Subset der Dashboard-components.css (gleiche Tokens, gleiche Patterns):
   Base/Inputs/Buttons/Modal 1:1 übernommen, dazu Topbar + Login-Gate +
   Formular-Raster dieses Moduls. tokens.css bleibt die einzige Farb-Wahrheit. */

* { margin: 0; padding: 0; box-sizing: border-box; }

html, body {
    height: 100%;
    background: var(--flaeche);
    color: var(--text);
    font-family: var(--schriftart-ui);
    font-weight: var(--gewicht-normal);
    font-size: var(--schrift-sm);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

/* Formular-Grundton (Schrift/Farbe erben) und der ausgeblendete Passwort-
   Schlüssel kommen seit 15.08.2026 aus dem Suite-Kit (forms.css, Abschnitt
   „Formular-Grundton + Passwort-Schlüssel — SUITE-Beschluss"). Hier standen
   Kopien davon, byte-identisch in drei Modulen — der Kit-Audit hat sie
   eingesammelt. Feld-Optik, Spinner, Kontakte-Symbol: HAUS-Baustein „feld". */

a { color: inherit; text-decoration: none; }

/* Buttons: zentral im Suite UI-Kit (css/ui-kit.css, per Sync verteilt). */


/* === FORMULAR-RASTER === */

.form-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 var(--formular-reihe);
}

/* Benutzer-Modal: Felder + Checkboxen kommen jetzt aus dem Kit
   (.feld/.feld-etikett/.eingabe · .checkbox/.checkbox-box). Zeilen-Rhythmus über
   Flex-Gap am Modal-Body — der WERT kommt seit 16.08.2026 aus der Rolle
   `--formular-reihe` (16px, Haus-Entscheidung, Quelle Material/design/formen.css).
   Die BAUWEISE bleibt hier: Flex-Spalte am Rumpf, nicht das 2-Spalten-Raster
   des Büro-Dachs — `.feld.voll` spannt über grid-column und täte hier nichts. */
#benutzer-modal .modal-body {
    display: flex;
    flex-direction: column;
    gap: var(--formular-reihe);
}

/* Admin/Aktiv-Optionen nutzen jetzt das Kit-Muster .checkbox-list
   (Stapel + Zeilen-Padding + Hover) — kein lokales Layout mehr nötig. */

/* Passwort-Hinweis/-Fehler kommen jetzt aus dem Kit (.feld-hinweis / .feld-fehler). */

/* === APP-LAYOUT: Topbar + Main === */

body.uv-page {
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow: hidden;
}

/* #app ist nur ein Sichtbarkeits-Schalter — layouttechnisch transparent,
   damit Topbar + Main direkte Flex-Kinder des Body bleiben.
   [hidden] muss display:contents schlagen, sonst versteckt es nicht. */
#app { display: contents; }
#app[hidden] { display: none; }

/* Topbar (.topbar / .topbar-title / .topbar-right) kommt jetzt aus dem Kit. */


.main {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: var(--abstand-24);
    max-width: 1440px;   /* Suite-Inhaltsbreite Listen-Tools (SUITE-UI.md §3) */
    width: 100%;
    margin: 0 auto;
}

/* Hinweis-Banner (z.B. Dashboard-DB nicht erreichbar) */
.banner-warn {
    background: var(--karte);
    border: 1px solid var(--linie-stark);
    border-left: 3px solid var(--warnung);
    border-radius: var(--rundung-mittel);
    padding: var(--abstand-12) var(--abstand-16);
    margin-bottom: var(--abstand-16);
    color: var(--text-gedaempft);
    font-size: var(--schrift-sm);
}

/* Panel für Nicht-Admins (eingeloggt, aber keine Verwaltungsrechte) */

/* === LOGIN-GATE === */
/* Vollflächiges Modal ohne ✕ — ohne Login gibt es kein „dahinter".
   Backdrop dunkler als Standard-Modale (es liegt nichts Sichtbares darunter). */


#login-gate .modal { max-width: 380px; }

