/* ============================================================================
   BAUTEIL-TOKENS · Maße, die mehrere Bausteine teilen
   ----------------------------------------------------------------------------
   Reines CSS, ohne Build — die gemeinsame Grundlage von App, Landing-Seite,
   Doku und Mockup.
============================================================================ */

:root {
  /* Bestandsname, den viele Bausteine benutzen — zeigt auf die Meta-Größe. */
  --text-ui-sm: var(--text-meta); /* 12px — Meta, Badges, Köpfe, Labels */

  /* EINE Standardhöhe für Knöpfe, Eingabefelder und Wähler.
     ⚠ `--control-h` gab es NIE — der Tippfehler ließ eine Mindesthöhe
     wirkungslos. Jede `var()` gegen diese Datei prüfen, nicht raten. */
  --control-height: var(--control-height-sm); /* 32px */
  --control-height-compact: 1.75rem; /* 28px — btn--sm, Segmente, Zeilen-Aktionen */

  /* Zeilen tragen MINDEST-Höhen, keine festen (§3.1): Eine Zeile wächst mit
     ihrem Inhalt, die 12-px-Innenabstände bleiben dabei erhalten. */
  --row-height: 3rem; /* 48px — Tabellenzeile Standard */
  --row-height-dense: 2.5rem; /* 40px — dichte Zahlentabellen */
  --row-height-verf: 5.25rem; /* 84px — Verfahren-Liste, drei Inhaltszeilen */

  /* Die Polsterung EINER Tabellenzelle (Kopf wie Zeile) als Rolle statt als
     feste Utility: Der flache Stil rückt sie enger, ohne dass eine Tabelle
     etwas davon weiß. Die Varianten `dicht` und `eng` bringen weiterhin ihre
     eigenen Maße mit — sie sind eine Aussage über die DATENDICHTE, nicht über
     den Stil, und gelten in beiden. */
  --zelle-x: 1rem; /* 16px */
  --zelle-y: 0.75rem; /* 12px */

  --val-min-width: 5.5rem; /* 88px — Regelmaß */
  --val-min-width-eng: 3.25rem; /* 52px — enge Fassung ab 12 Spalten */
  /* Das schmale Feld einer Paar-Zelle. ⚠ Diese Zeile war schon einmal gelöscht:
     Die Breite wird als `val--${breite}` zusammengesetzt, keine Suche nach dem
     Literal findet sie. Zusammengesetzte Klassennamen immer gegen die Vorlage
     prüfen, nie gegen den Quelltext allein. */
  --feld-anteil: 3.25rem; /* 52px */

  /* Die Karte mit festem Maß (Rasterelement, `groesse="fest"`). */
  --karte-fest-w: 18.5rem; /* 296px */
  --karte-fest-h: 11.5rem; /* 184px */

  /* Der Monatskalender rollt unter dieser Breite, statt Spalten zu quetschen. */
  --kal-monat-min: 45rem; /* 720px */

  /* Die kräftige Kontur: Auswahl-Innenring am Termin-Chip und am Kalendertag,
     Kästchenrand im Menü. 1 px verschwindet auf kleinen Flächen, 2 px liest
     sich als Rahmen — dieselbe Zahl an drei Stellen ist ein Name, kein Zufall. */
  --kontur-stark: 1.5px;

  /* Wenn die Vierfelder der Übersicht untereinander rutschen, bekommt jedes
     Feld eine feste Höhe — sonst schrumpfen Karten auf einen sichtbaren
     Eintrag. Gestaltungsentscheidung, deshalb benannt. */
  --ub-hoehe-liste: 28.75rem; /* 460px — Verfahren, laufende Vorgänge */
  --ub-hoehe-aufgaben: 38.75rem; /* 620px */
  --ub-hoehe-termine: 18.75rem; /* 300px */
  /* Gestapelt bleiben die Felder auf der Halb-Stufe: über die volle Breite
     gezogen lesen sie sich wie ein eigener Bereich statt wie eine Karte. */
  --ub-breite-halb: 48.75rem; /* 780px */

  /* Der eingebettete Marken-Entwurf bringt seine eigene Rollzone mit — ein
     Rahmen kennt die Hoehe seines Inhalts nicht und braucht eine gepflegte. */
  --marke-hoehe: 62.5rem; /* 1000px — deckt Zeichen, Wortmarke und Begriffe */

  --icon-ui: 1rem; /* 16px — Bedienelemente, Zeilen */
  --icon-ui-sm: 0.75rem; /* 12px — Badges, Chips, Meta */
  --icon-ui-lg: 1.25rem; /* 20px — Kartenkopf, Leerzustand, Suchfeld */

  --focus-ring: var(--focus-ring-width) solid var(--color-focus);
  /* Innerer Kontrastring: füllt den outline-offset-Spalt mit der Grundfläche
     des Schemas, damit der Fokus auch auf farbigen Flächen abgrenzt (dort maß
     Ring gegen Fläche sonst 1,1–1,5:1). Immer ZUSAMMEN mit --focus-ring. */
  --focus-halo: 0 0 0 var(--focus-ring-offset) var(--color-focus-contrast);

  /* ⚠ KEINE feste Farbe, sondern die Überfahren-Farbe der aktuellen EBENE.
     Verschachtelte überfahrbare Flächen (Karte über Zeile) brauchen je Ebene
     eine andere Stufe, sonst verschwindet die innere beim Überfahren in der
     äußeren. Neue Ebene öffnen heißt: eine Stufe weiterreichen, alles darin
     erbt sie. Zwei Stufen sind das Maximum im Bestand. */
  --flaeche-hover: var(--color-hover);
  /* Die Gedrückt-Sprosse derselben Ebene. Wer --flaeche-hover weiterreicht,
     reicht diese mit weiter — sonst hat die innere Ebene ein Überfahren, aber
     kein eigenes Gedrückt. */
  --flaeche-aktiv: var(--color-active);
}
