/* ============================================================
   AUTO-GENERIERT von ui-kit/sync.py — NICHT hier editieren!
   Quelle: ui-kit/tokens.css + tokens-domain.css
   Aussehen aendern? -> in der Quelle, dann "Sync".
   ============================================================ */

@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-VariableFont_wdth_wght.ttf') format('truetype-variations');
    font-weight: 100 900;
    font-style: normal;
}
@font-face {
    font-family: 'Roboto Mono';
    src: url('../fonts/RobotoMono-VariableFont_wght.ttf') format('truetype-variations');
    font-weight: 100 900;
    font-style: normal;
}

:root {
    /* === HINTERGRÜNDE === */
    --flaeche:        #121A23;   /* Workspace + ausgewählte Karten ("sinkt rein") */
    --flaeche-erhaben:     #17212C;   /* Panel-Fläche — etwas heller als bg-base (auch Topbar-Grund) */
    --flaeche-gehoben:    #1c232e;   /* Header, Tabs, Modal-Header */
    --karte:        #222B3C;   /* Karten default — heller als Sidebar ("schwebt drauf") */
    --karte-aktiv:  #2a3345;   /* Karten hover */
    --eingabe:       #151D27;
    --vertieft:      #0e131c;   /* dunkle Widget-/Block-Fläche, kein Border */
    /* Die Meldung, die über dem Inhalt schwebt (V-6, 05.08.2026). Wert ist der
       bisherige Toast-Grund der Suite — es ändert sich nichts, die Fläche ist
       nur endlich eine Rolle und damit teilbar. Das Büro-Dunkel löst dieselbe
       Rolle mit #1c232e auf; Chris hat beide am Bild bestätigt. */
    --flaeche-schwebend: #222B3C;

    /* === BORDERS === */
    --linie:  #2e3748;
    /* Neu in V-2a (04.08.2026): Die Suite hatte keine zarte Linie, das Büro
       nutzt sie 79-mal. Der geteilte Dialog braucht sie als HOVER-FLÄCHE des
       Schließen-Knopfs — die Rolle hat im Haus zwei Jobs, Haarlinie und
       leise Fläche. Nicht erfunden: Der Wert steht als --dunkel-linie-zart
       in farben.css und ist von Chris am 02.08.2026 am gerenderten Bild
       entschieden worden (dunkel-blicke.html); die Suite hat ihn nur nie
       adoptiert. */
    --linie-zart:  #232c3a;
    --linie-stark:  #3f4a5e;
    --linie-tief:    #0B1119;   /* fast schwarz — stärkste Trennlinie (z. B. Sidebar↔Workspace) */

    /* === TEXT === */
    --text:    #e6e9ef;
    --text-gedaempft:  #8a94a6;
    --text-leise:      #79839a;
    --text-auf-akzent:  #ffffff;  /* Schrift auf gefüllten Akzent-/Destructive-Buttons */

    /* === GEZEICHNETER HAKEN ===
       Der Haken im Konto-Menü ist ein SVG in einer `data:`-URL. Dort kann
       `var()` NICHT hineingreifen: Das SVG ist ein eigenes Dokument und sieht
       die Variablen dieser Seite nicht. Die Farbe muss als Literal im Bild
       stehen. Was geht, ist die URL als GANZES zu einer Rolle zu machen — dann
       steht der Ton EINMAL hier statt verstreut in vier Modulen
       (Chris 04.08.2026). Der Wert ist `--text-gedaempft` von oben.

       HIER STAND BIS 05.08.2026 auch `--menue-pfeil`, der Pfeil im
       Auswahlfeld. Er ist mit V-4c/2 entfallen: Die Auswahl trägt jetzt einen
       Chevron aus zwei gedrehten Rahmenlinien, dessen Ton eine echte Rolle ist
       und der Farbwelt von allein folgt. Der Haken bleibt der letzte Fall, in
       dem wir eine Farbe in ein Bild schreiben müssen. */
    --konto-haken: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 10 6' fill='none'><path d='M1 1L5 5L9 1' stroke='%238a94a6' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/></svg>");

    /* === AKZENT === */
    --akzent:         #4d7da8;
    --akzent-aktiv:   #5e8eb9;

    /* === STATUS (Toasts, Indicators, Feedback) ============================
       Fehler-Rot nach Rolle getrennt:
         --fehler     = Vordergrund (Text, Icons, dünne Streifen) auf dunklem BG
         --fehler-flaeche       = Background mit weißer Schrift drauf (Destructive-Buttons)
         --fehler-flaeche-aktiv = Hover-Variante für --fehler-flaeche
       Ink = dunkler Vordergrund-Ton auf dem hellen --c-*-Icon-Kreis. */
    --ok:           #4ade80;   /* grün — Erfolg (Pastell-Trio 14.08. probiert & zurückgestellt) */
    --warnung:         #fbbf24;   /* gelb — Warnung */
    --fehler:     #ef5e6e;   /* rot Vordergrund — Text, Toast-Stripe, Status */
    --fehler-flaeche:       #d04040;   /* rot Background — Destructive-Buttons */
    --fehler-flaeche-aktiv: #b91c1c;   /* dunklerer Hover-Stand für --fehler-flaeche */
    --fehler-tinte:   #ffffff;   /* Text auf Fehler-Flaeche (war Literal im Toast) */
    --info:         #38bdf8;   /* cyan — Info */
    --ok-tinte:       #0a3d18;
    --warnung-tinte:     #4a3200;
    --info-tinte:     #073049;

    /* === SPACING ===
       Die Leiter fuehrte bis F6-5 nur jede zweite Stufe — 6/10/14/20 px standen
       trotzdem 227× hart im Code (Befund der Formkarte F6-1: "der Rhythmus ist
       laengst gemeinsam, nur halb aufgeschrieben"). Seit 02.08.2026 vollstaendig.
       Modell wie im Buero-Dach: unter 4px = Feinjustage (kein Raster),
       4-24 = die benannte Leiter, ueber 24 = 4er-Raster. */
    --abstand-4:   4px;
    --abstand-6:   6px;
    --abstand-8:   8px;
    --abstand-10: 10px;
    --abstand-12: 12px;
    --abstand-14: 14px;
    --abstand-16: 16px;
    --abstand-20: 20px;
    --abstand-24: 24px;
    --abstand-40: 40px;
    /* Formular-Rhythmus: Abstand zwischen zwei Feldzeilen im Dialog.
       ENTSCHIEDEN Chris 16.08.2026 am Bild (design/formularkarte.html) — 16px
       fuer das ganze Haus. Vorher Buero 14, Suite 12; der Unterschied war nie
       beschlossen. Eigene Rolle statt --abstand-16, weil es EINE Entscheidung
       ist, die man als Ganzes nachjustiert (Argument wie bei der Schrift-Leiter).
       Sie vereinheitlicht den WERT, nicht die Bauweise: Das Buero setzt ihn auf
       sein 2-Spalten-Raster, die Suite auf den Rhythmus ihres Dialog-Rumpfs.
       Quelle: Material/design/formen.css. */
    --formular-reihe: 16px;

    /* === RADIUS === */
    --rundung-mittel: 6px;
    --rundung-gross: 12px;   /* Modal-Fenster — Chris 02.08.2026 (war 14px) */

    /* === SHADOW === */
    --schatten: 0 4px 16px rgba(0,0,0,0.3);
    /* Bedienknopf auf Farbe — der Griff des Schalters hebt sich von seiner Bahn
       ab. Kam mit V-4c/1 (05.08.2026) aus dem Büro-Dach, wo er schon stand;
       gleicher Wert in beiden Dächern, damit es eine Rolle bleibt und kein
       zweiter Wert. Gehört NICHT zu den drei Schatten aus O-8 (Kante,
       Schwebend, Modal) — die bleiben offen. */
    --schatten-knopf: 0 1px 2px rgba(0,0,0,0.2);
    /* Schatten einer schwebenden Meldung (V-6). Stand bisher HART im toast.css
       — derselbe Fall wie das Zebra in V-5. Wert unverändert übernommen. */
    --schatten-schwebend: 0 6px 24px rgba(0,0,0,0.35);

    /* === TYPOGRAFIE === */
    /* Kette wie in der Werkstatt (formen.css) und im Büro-Kit — seit 16.08.2026
       mit "Segoe UI": Roboto liegt lokal und steht auf Platz 1; die Plätze
       dahinter sind der Notfall, falls die Datei einmal nicht lädt. Ohne
       Segoe fiel Windows (der Truck!) dabei auf Arial zurück. */
    --schriftart-ui:    "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --schriftart-mono:  "Roboto Mono", "SF Mono", Menlo, monospace;

    /* Type-Scale (Screen) — Major-Third-Skala */
    --schrift-2xs:  10px;   /* Mini-Mini-Labels */
    --schrift-xs:   11px;   /* Mini-Labels, getrackte Caps */
    /* Neu in V-3a (05.08.2026): Die Suite-Leiter kannte kein 12px, der
       geteilte LEISE Knopf braucht es. Wert aus der Büro-Leiter (formen.css),
       nicht erfunden. Steht bewusst UNTER sm — die Leiter bleibt aufsteigend. */
    --schrift-kompakt: 12px;   /* leise Knöpfe, Nebenbemerkungen */
    --schrift-sm:   13px;   /* Body Default, Buttons, Inputs, Tabellen-Zellen */
    /* Hieß bis V-2a (04.08.2026) `--schrift-md` — umbenannt, weil derselbe
       Name im Büro-Dach 14px bedeutet. Für einen GETEILTEN Baustein war das
       eine Mine: Er hätte eine Rolle geschrieben und wäre in einem Dach zwei
       Pixel kleiner geworden, ohne dass es jemand entschieden hat. Gefunden
       nur durchs Nebeneinanderlegen der beiden Leitern; kein Wächter kannte
       das Merkmal. `grund` heißt jetzt in BEIDEN Dächern 16px. */
    --schrift-grund: 16px;  /* Sektion-Headers, Modal-Titel, Grundgröße */
    --schrift-lg:   18px;   /* Block-Titel */
    /* Neu in V-2a: Die Suite-Leiter kannte kein 20px, der geteilte Dialog
       braucht es für den Schließen-Knopf. Der Wert stammt aus der Büro-Leiter
       (formen.css), ist also nicht erfunden. */
    --schrift-titel: 20px;  /* Schließen-Knopf im Dialog, große Kopfzeilen */
    --schrift-xl:   24px;   /* große Zahlen / KPI (O-4, Chris 02.08.2026:
                              war 26px — jetzt derselbe Wert wie im Büro) */

    /* Schriftstärken — vom Roboto Variable Font nativ abgedeckt */
    --gewicht-leicht:    300;
    --gewicht-normal:  400;
    --gewicht-mittel:   500;
    --gewicht-halbfett: 600;
    --gewicht-fett:     700;

    /* Letter-Spacing */
    --laufweite: 0.08em;
}

:root {
    /* === WIDGET-HINTERGRÜNDE === */

    /* === WIDGET-BORDERS === */
    --border-widget:     #2a3550;
    --border-chart-grid: #242d3b;   /* dezente Splitlines der Chart-Y-Achsen — blau-grau
                                        (kanonischer Wert; behebt beim 1. Sync das alte
                                        #222222 in Sollkurven, siehe SUITE-ARCHITEKTUR §8) */

    /* === WIDGET-TEXT === */
    --text-widget:    #ffffff;

    /* === MESS-/CHART-/LAMPEN-FARBEN === */
    --c-t1:        #ea580c;   /* temp1 — orange */
    --c-t2:        #fb923c;   /* temp2 — hellorange */
    --c-t3:        #fcd34d;   /* temp3 — gelb */
    --c-t4:        #fca5a5;   /* temp4 — hellrot/rosa */
    --c-ambient:   #94a3b8;   /* Umgebungstemperatur — gedämpftes Grau-Blau */
    --c-speed:     #3b82f6;   /* speed — blue-500 */
    --c-distance:  #8b5cf6;   /* distance — violet-500. Bis 13.08. Teal #14b8a6:
                                 wurde als Nachbar des Druck-Cyans #06b6d4
                                 staendig mit ihm verwechselt; ein dunkleres
                                 Teal (#0d9488) reichte nicht. Violett ist die
                                 einzige freie Familie im System — Cyan=Druck,
                                 Blau=Geschw., Gruen=Lampe-an, Gelb=Zuendung,
                                 Orange/Rot=Temperaturen. Dieselbe 500er-Stufe
                                 wie die anderen Kanaele. */
    --c-pressure:  #06b6d4;   /* pressure — cyan-500 */
    /* Soll-Töne (Chris' Muster-Review 10.08.2026): Die Soll-Linien liefen im
       SELBEN Ton wie ihre Ist-Kanäle und waren praktisch unsichtbar — beim
       Aufstellen lag die Soll-Treppe exakt UNTER der Ist-Linie. Soll ist das
       PASTELL-Geschwister seines Kanals: gleiche Familie (zuordenbar),
       hellere Stufe (unterscheidbar). Pauspapier bleibt hinter der Tinte.
       LEHRE desselben Tages: Diese zwei Zeilen standen erst in der VERTEILTEN
       Dashboard-tokens.css — der nächste Sync hat sie kommentarlos gefressen
       (die 04.08.-Falle, wortwörtlich). Kanalfarben ändern sich NUR hier.

       BLEIBT PASTELL (11.08.2026, Chris: „die blau töne waren besser … wenn es
       ein korridor mit transparenz ist, dann geht blau auch"): Kurz war die
       400er-Stufe drin, weil die dünne 2-px-Strichel-Linie in Pastell gegen
       Weissgrau lief. Der eigentliche Fehler war aber die LINIENFORM, nicht der
       Ton — seit die Sollkurve ein 7 px breites Band ist, trägt die FLÄCHE die
       Sichtbarkeit, und der helle Ton darf hell bleiben. Pauspapier hinter der
       Tinte, jetzt in der richtigen Breite. */
    --c-speed-soll:    #a5c4fa;   /* Soll zur Geschwindigkeit — blue-300-Klasse */
    --c-pressure-soll: #83e3f2;   /* Soll/Band zum Druck — cyan-300-Klasse */
    /* Soll-KORRIDOR am Instrument (D-079, Chris am Bild entschieden 13.08.2026):
       Der Druck-Ring trägt den vorgeschriebenen Arbeitsdruck als Segment auf
       seiner Skala. Fläche und Kante tragen DENSELBEN Soll-Ton des Kanals —
       die Fläche wird per CSS auf 60 % gedimmt (widgets.css, .gauge-korridor),
       die Kanten bleiben voll.
       DIE DECKKRAFT IST HIER GEWOLLT, kein Nebeneffekt: Durch das
       halbtransparente Segment scheinen die Skalenstriche durch — genau der
       Look, den Chris an der Ringkarte gewählt hat. Ein VORGEMISCHTER Vollton
       (erster Einbau: #5895a3) sah auf leerer Fläche gleich aus, deckte aber
       die Striche zu; Chris hat den Unterschied sofort gesehen („da hat man
       die linien darunter noch gesehen — jetzt ist es nicht so schön").
       Je Kanal ein eigener Ton (ein globaler gab dem blauen Geschwindigkeits-
       Ring eine cyane Marke). Diese Zeilen stehen HIER und nicht im verteilten
       tokens.css — dieselbe 04.08.-Falle wie oben, am 13.08. fast wiederholt. */
    --c-korridor-druck:       #83e3f2;   /* = --c-pressure-soll */
    --c-korridor-druck-kante: #83e3f2;
    --c-korridor-speed:       #a5c4fa;   /* = --c-speed-soll */
    --c-korridor-speed-kante: #a5c4fa;
    /* Lampen-Status-Farben (Status-Byte 0–5; Bedeutung mit dem SPS-Entwickler final
       zugeordnet 2026-06-23, D-055). Single source — die Anzeige referenziert nur diese Tokens. */
    --c-lamp-off:        #2a3340;   /* 0 — nicht verfügbar (Grau) */
    --c-lamp-available:  #ffffff;   /* 1 — verfügbar (Weiß) */
    --c-lamp-selected:   #ea580c;   /* 2 — ausgewählt (Orange) */
    --c-lamp-ign:        #fbbf24;   /* 3 — Zündung (Gelb) */
    --c-lamp-on:         #22c55e;   /* 4 — An (Grün) */
    --c-lamp-fault:      #ef5e6e;   /* 5 — Störung (Rot) */
    /* „kalt" (< 30 °C) — und zugleich der LEERE Balken (Chris 17.08.2026): Ein
       Balken ohne Messwerte ist ein Balken, der überall kalt ist — dieselbe
       Aussage, dieselbe Farbe. Bis dahin trug er --bg-phase-empty #2a2a2a, ein
       Zinc-Grau aus der Zeit vor dem Farbsystem, auf Blaugrau fast unsichtbar. */
    --c-sparkline-cold:  #475569;
    --lamp-label-default:    #ffffff;   /* Bubble-Label auf dunklem Bubble (grau/orange/grün/rot) */
    --lamp-label-on-yellow:  #0f1218;   /* dunkles Bubble-Label auf heller Fläche: weiß (verfügbar) + gelb (Zündung) */

    /* ====================================================================
       === PRINT — eigene Farb-/Typo-Welt für den Bericht-Druck (A4) ===
       Bewusst getrennt von den Screen-Tokens: auf weißem Papier brauchen
       Linien & Töne anderen Kontrast.
       ==================================================================== */
    --print-text:        #000000;   /* Haupttext, Achsen-Linien, Tick-Marken */
    --print-text-body:   #333333;   /* Body-Text leicht weicher */
    --print-text-soft:   #555555;   /* Sekundär-Text, Labels, Footer */
    --print-rule:        #cccccc;   /* Splitlines, gestrichelte Trenner */
    --print-bg:          #ffffff;   /* Seitenhintergrund */
    --print-ok:          #16a34a;   /* OK-Markierung, Lampe „An" */
    --print-err:         #dc2626;   /* Fehler-Markierung, Lampe „Störung" */
    --print-c-t1:        #c2410c;   /* Temp 1 — orange-700 */
    --print-c-t2:        #0e7490;   /* Temp 2 — cyan-700 */
    --print-c-t3:        #7c3aed;   /* Temp 3 — violet-600 */
    --print-c-t4:        #94a3b8;   /* Temp 4 — slate-400 */
    --print-c-ambient:   #94a3b8;   /* Umgebungstemperatur */
    --print-c-pressure:  #1e3a8a;   /* Druck — blue-900 */
    --print-c-speed:     #1e7a3a;   /* Geschwindigkeit — green-700 */
    --print-c-distance:  #9f1239;   /* Distanz — rose-800 */
    /* SOLL AUF PAPIER (K4, 21.08.2026 — Chris am Entscheidungsblatt, Fassung D
       „grau gestrichelt"). Bewusst NICHT das Pastell des Bildschirms: Dort
       trägt die Fläche hinter der Tinte, auf weissem Papier verschwindet ein
       Ton dieser Helligkeit. Und bewusst NICHT die Kanalfarbe: Auf dem Blatt
       liegen Vorgabe und Beweis nebeneinander, ohne Schalter dazwischen — die
       Trennung muss aus der Linie selbst kommen, nicht aus dem Zusammenhang.
       Grau + gestrichelt trennt beides am deutlichsten und überlebt als
       Einziges das Schwarz-Weiss-Kopieren, das ein Reklamations-Dokument
       erfahrungsgemäss hinter sich bringt.
       EIN Ton für beide Kanäle: Die Vorgabe ist auf Papier eine Sorte Linie,
       welcher Kanal gemeint ist, sagt die Achse. */
    --print-c-soll:      #8c8c8c;   /* Sollkurve auf Papier — neutralgrau */
    --print-c-lamp-selected: #ea580c;   /* Code 2 „ausgewählt" — orange-600 (D-055) */
    --print-c-lamp-ign:      #d97706;   /* Code 3 „Zündung" — amber-600, druck-tauglicher als reines Gelb (D-055) */
    /* EINE GRÖSSE FÜRS GANZE BLATT (Chris, 21.08.2026: "die Schriftgröße
       überall gleich machen"). Vorher standen drei Grade nebeneinander —
       Labels 8 pt, Werte 9 pt, Abschnitts-Überschriften 10 pt. Der Unterschied
       zwischen Label und Wert war ein einziger Punkt: zu klein, um eine
       Rangfolge zu behaupten, groß genug, um die Zeile unruhig zu machen.
       Jetzt trägt das GEWICHT die Auszeichnung, nicht der Grad: Überschriften
       fett, Labels grau, Werte schwarz — alles gleich groß.
       Wer das Blatt größer oder kleiner setzen will, ändert diese eine Zeile. */
    /* EINE FUGE ZWISCHEN ALLEM (Chris, 21.08.2026). Der Kopf hatte 6 mm unter
       sich, die Blöcke 10 — der Titel klebte dadurch an der ersten Zeile,
       obwohl er die größte Trennung im Blatt markiert. Seit die Linien unter
       den Überschriften weg sind, ist der Abstand das EINZIGE, was gliedert;
       verschiedene Werte lesen sich dann als verschieden starke Trennung, wo
       keine gemeint ist. Ein Wert, ein Takt — wie bei der Schriftgröße. */
    --print-fuge:       10mm;    /* Abstand zwischen Kopf, Blöcken und Diagrammen */
    --print-text-blatt: 8pt;     /* alles auf dem Blatt: Labels, Werte, Überschriften */
    --print-text-xs:    7pt;     /* NUR die Seiten-Fußzeile im Seitenrand */
    /* Kopfbalken-Größe: Dokumenttitel UND Auftraggeber. EIN Token, weil die
       beiden nebeneinander stehen und gleich groß sein sollen (Chris,
       21.08.2026: "das nimmt viel zu viel Platz sonst") — zwei getrennte
       Werte wären zwei Gelegenheiten, wieder auseinanderzulaufen.
       Vorher 16 pt, allein für den Titel. */
    --print-text-title: 11pt;    /* Kopfbalken: Titel und Auftraggeber */
}
