/* cf-slideout.css — BBE-STD-SLIDEOUT-001, die Nachruestung fuer die ALTEN Slide-outs.

   cf-vorhaben.css beschreibt die vier Stufen fuer Panels, die ueber CF_SIDE laufen
   (Vorhaben, Kunden-Akte, Trigger, Intelligenz, Marke, Beschluesse, Werkbank). Die
   Konsole hat daneben eine zweite, aeltere Gattung: openPanel('settings'|'vars'|
   'actions'|'versions'|'bank') und openSidep() zeichnen flaches Markup direkt in
   #sidepBody. Die hatten GAR KEINE Stufe — 560 px, Ende.

   Eigene Klassennamen (std2/std3/std4) statt der stufeN-Klassen sind Absicht: die
   stufe3-Regeln aus cf-vorhaben.css setzen die .cfs-*-Struktur voraus (stehende
   Navigation links). Auf ein flaches Panel angewandt schoeben sie den gesamten Inhalt
   in eine 236-px-Spalte. Zwei Gattungen, zwei Regelwerke, ein Bedienbild. */

/* ------------------------------------------------------------------ Der Kopf
   Der Kopf traegt jetzt mehr als vorher: Titel, Einfahren, vier Punkte, Ausfahren,
   Schliessen. Auf der Lesespur (560 px) ist das zu viel, und der Titel einer Akte ist
   nicht kurz ("Rufnummer — +49 30 22 37 48 28"). Ungebremst brach er dreizeilig um und
   schob die Register aus dem Bild.

   Der Umbruch darf sich NICHT nach der Fensterbreite richten — die bestehende Regel in
   cf-vorhaben.css tat das und liess deshalb auf einem 1600-px-Schirm die Beschriftungen
   stehen, obwohl das PANEL 560 px schmal war. Massgeblich ist die Stufe, nicht das Glas.
   Der volle Titel geht nicht verloren: cf-slideout.js spiegelt ihn in title=. */
#sidepTitle{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidep-h{flex-wrap:nowrap}
.sidep:not(.stufe2):not(.stufe3):not(.std2):not(.std3) .cfs-stufe span{display:none}

.sidep.std2,.sidep.std3,.sidep.std4{transition:transform .28s var(--ease),width .34s var(--ease)}
.sidep.std2{width:min(1100px,72vw)}
.sidep.std3{width:calc(100vw - var(--railw))}
body.rail-collapsed .sidep.std3{width:calc(100vw - var(--railw-c))}
.sidep.std4,body.rail-collapsed .sidep.std4{width:100vw}
@media(max-width:900px){.sidep.std2,.sidep.std3,.sidep.std4{width:100%}}

/* Ab Stufe 2 laeuft der Rumpf mehrspaltig. Gesetzt wird das auf einen Traeger, den
   cf-slideout.js einzieht (.std-raster) — NICHT auf #sidepBody selbst: der scrollt
   vertikal, und CSS-Spalten in einem vertikal scrollenden Kasten laufen nach RECHTS
   aus dem Bild. Ein Raster aus fertig gruppierten Bloecken kann das nicht. */
/* display:grid steht auf JEDER Stufe einzeln — nicht nur auf std2. Stufe 3 und 4 tragen
   die Klasse std2 NICHT (sie sind eigene Stufen, keine Steigerung derselben), und eine
   Regel, die nur die Spaltenbreite setzt, laesst den Traeger auf display:block stehen:
   das Panel wird dann breit und der Inhalt bleibt in einer schmalen Spalte links.
   Genau so ist es beim ersten Bau passiert. */
.std-raster{display:block}
.sidep.std2 .std-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:0 30px;align-items:start}
.sidep.std3 .std-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:0 34px;align-items:start}
.sidep.std4 .std-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:0 38px;align-items:start}
/* Der Kopf eines Panels (alles vor dem ersten Abschnittstitel) gehoert ueber die
   ganze Breite — er traegt Name, Kennzeichen und die Knopfreihe. */
.sidep.std2 .std-lead,.sidep.std3 .std-lead,.sidep.std4 .std-lead{grid-column:1 / -1}
/* Ein Abschnitt bleibt zusammen. Ohne das reisst die erste Zeile einer Tabelle vom
   Titel ab und der Operator liest eine Ueberschrift ohne Inhalt. */
.std-blk{min-width:0}
.sidep.std2 .std-blk > .subhead:first-child,
.sidep.std3 .std-blk > .subhead:first-child,
.sidep.std4 .std-blk > .subhead:first-child{margin-top:14px}

/* Die Fahrt selbst darf nicht ruckeln, wenn der Inhalt beim Umschalten neu umbricht. */
.sidep.std2 .sidep-b,.sidep.std3 .sidep-b,.sidep.std4 .sidep-b{padding-right:24px}

/* ---------------------------------------------------------------- Rufnummern-Akte
   Eigene Kennzahlen-Zeile, weil eine Nummer andere Groessen hat als ein Kontakt:
   Erreichbarkeit statt Bonitaet, Rufweg statt Kaufmotiv. */
.nr-kopf{display:flex;align-items:center;gap:13px;padding:2px 0 4px}
.nr-av{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex:none;
  background:var(--surface-3);color:var(--ink);font-weight:800;font-size:.82rem;letter-spacing:.02em}
.nr-id{min-width:0}
.nr-id b{display:block;font-family:var(--disp);font-size:1.12rem;line-height:1.25}
.nr-id span{display:block;font-size:.84rem;color:var(--ink-soft)}
.nr-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}

/* Ein Wert, der NICHT gemessen wurde, sieht anders aus als einer, der gemessen wurde.
   Sonst liest sich eine Annahme wie ein Messwert — genau daran ist hier schon einmal
   eine Auswertung vorbeigelaufen. */
.nr-offen{color:var(--ink-faint);font-weight:600}
