/* ═══════════════════════════════════════════════════════════════════════════
   css/ebenen.css — WAS LIEGT UEBER WAS
   ═══════════════════════════════════════════════════════════════════════════

   ZWECK (1 Satz)
   Eine einzige Liste, die festlegt, in welcher Reihenfolge sich Dinge
   ueberdecken — statt Zahlen, die an 187 Stellen von Hand geraten wurden.

   WARUM ES DIESE DATEI GIBT (Befund 2026-08-03)
   Stefan: „Auch wenn ich mail senden will landet die mail oberfläche unter
   der profil karte das geht so nicht. Generell muss das in den griff
   gekriegt werden mit einer logik."

   Er hat den Fehler an einer Stelle gesehen; er stand ueberall. Gezaehlt:
   39 verschiedene z-index-Werte, 187 Vorkommen, davon 55 mal die Zahl 9999.
   Wer eine neue Flaeche baut, schaut nach, was die Nachbarflaeche hat, und
   nimmt eins mehr. Nach zwei Jahren liegt das Kundenprofil (9999) ueber
   jedem Blatt (9501) — also auch ueber dem Blatt, das man AUS dem Profil
   heraus oeffnet. Das ist kein Versehen an einer Stelle, das ist die
   zwangslaeufige Folge davon, dass jede Zahl fuer sich erfunden wurde.

   DIE REGEL, DIE ES ERSETZT
   Es gibt neun Ebenen. Jede hat einen Namen. Wer etwas Neues baut, waehlt
   die Ebene nach ihrer BEDEUTUNG, nicht nach einer Zahl:

     Ebene            wofuer                                    Beispiel
     ───────────────────────────────────────────────────────────────────────
     --z-kopf         bleibt beim Scrollen oben stehen          Modul-Kopfzeile
     --z-navigation   Sidebar, Tab-Leiste, Bodenleiste          Menue
     --z-schwebend    schwebt ueber dem Inhalt                  KI-Knopf (FAB)
     --z-seite        ersetzt die ganze Seite                   Kundenprofil
     --z-blatt        Antwort auf etwas — LIEGT IMMER DARUEBER  Mail schreiben
     --z-blatt-hoch   Blatt aus einem Blatt heraus              Bestaetigen?
     --z-tabbar-ueber-blatt  Leiste bleibt ueber IHREM Blatt    Plus-Blatt
     --z-blatt-ueber-tabbar  Blatt deckt die Leiste zu          Mail schreiben
     --z-panel        dauerhafter Begleiter am Rand             Neva-Panel
     --z-menu         klappt aus einem Knopf auf                Kontextmenue
     --z-hinweis      sagt kurz Bescheid und geht wieder        Toast
     --z-sperre       nichts geht mehr vor                      Sperrbildschirm

   DIE EINE REGEL, DIE DEN FEHLER OBEN UNMOEGLICH MACHT
   **Ein Blatt liegt immer ueber einer Seite.** Ein Blatt ist die Antwort auf
   eine Handlung auf der Seite darunter — es kann per Definition nie
   darunter gehoeren. Solange beide ihre Ebene aus dieser Liste nehmen, kann
   das nicht mehr auseinanderlaufen, egal wer als naechstes etwas baut.

   ZU JEDER EBENE GEHOERT EIN HINTERGRUND
   `--z-seite-hinter` liegt genau eine Stufe unter `--z-seite`. Damit bleibt
   „die abdunkelnde Flaeche liegt unter ihrem eigenen Fenster" erhalten, ohne
   dass jemand wieder +1 rechnen muss.

   AENDERN
   Reihenfolge aendern heisst: hier die Zahlen tauschen. Sonst nirgends.
   Die Abstaende von 1000 sind Absicht — wer wirklich eine Zwischenstufe
   braucht, hat Platz, ohne die Liste umzubauen.

   NEU GEBAUT?
   Nie eine nackte Zahl schreiben. `tools/ebenen-pruefen.sh` faellt sonst
   auf (laeuft in .github/workflows/ci.yml).

   VERLINKUNGEN: tools/ebenen-umstellen.php (hat die Alt-Werte einmalig
   umgesetzt), tools/ebenen-pruefen.sh (Waechter), docs/DEVLOG.md 2026-08-03,
   CLAUDE.md §12 („Ein Wert = eine Stelle").
   ═══════════════════════════════════════════════════════════════════════ */

:root {
  /* Inhalt der Seite selbst — braucht normalerweise gar kein z-index. */
  --z-inhalt: 1;

  --z-kopf-hinter: 99;
  --z-kopf: 100;

  --z-navigation-hinter: 199;
  --z-navigation: 200;

  --z-schwebend: 300;

  /* Ganzseitige Overlays: Kundenprofil, Termin erstellen, Modul-Vollbild. */
  --z-seite-hinter: 999;
  --z-seite: 1000;

  /* Blaetter und Dialoge — IMMER ueber der Seite. Siehe Regel oben. */
  --z-blatt-hinter: 1999;
  --z-blatt: 2000;

  /* Blatt aus einem Blatt heraus (Rueckfrage, Bestaetigung). */
  --z-blatt-hoch-hinter: 2099;
  --z-blatt-hoch: 2100;

  /* Die beiden Sonderfaelle rund um die Tab-Leiste — bis Etappe 1 standen
     sie als `calc(--z-blatt-hoch + 2)` bzw. `+ 4` verstreut in
     app-chrome.css und system.css. Eine gerechnete Stufe ohne Namen ist
     eine Stufe, die niemand findet: wer den Rechenweg nicht kennt, kann
     nicht wissen, was zwischen 2100 und 2104 noch liegt.
     --z-tabbar-ueber-blatt  Das Plus-Blatt gehoert zur Leiste (der FAB
                             dreht sich dort zum «x») — die Leiste bleibt
                             also sichtbar UEBER dem eigenen Blatt.
     --z-blatt-ueber-tabbar  JEDES andere Blatt deckt die Leiste zu; sonst
                             schwebt eine Navigation ueber einem Dialog. */
  --z-tabbar-ueber-blatt: 2102;
  --z-blatt-ueber-tabbar: 2104;

  --z-panel-hinter: 2999;
  --z-panel: 3000;

  --z-menu-hinter: 3999;
  --z-menu: 4000;

  --z-hinweis: 5000;

  /* Sperrbildschirm / PIN: darueber liegt nichts mehr. */
  --z-sperre-hinter: 5999;
  --z-sperre: 6000;
}
