/* cf-beschluss.css — Bereich "Beschlüsse" (Scheibe 1, 2026-07-31).
 *
 * Baut auf dem Higgsfield-Sektionsmuster aus cf-intel.css auf (.ig-sec/.ig-grid/.ig-tile) und
 * ergaenzt nur, was ein Rechtsdokument braucht und dort nicht vorkommt: die Erkennungskarte des
 * Copiloten, die Pruefhinweise in drei Stufen, das Dokument selbst (Serifenlose in Dokument-Mass,
 * nicht in App-Mass) und die Stimmverteilung.
 *
 * ABSTANDS-VERTRAG wie im Intelligenz-Bereich: 56 px ueber jedem Sektionskopf, 22 px zwischen Kopf
 * und Raster, 18 px Kachel-Gap, 24 px Kachel-Polster. Alle Farben kommen aus den Theme-Variablen,
 * damit beide Themes ohne Sonderfall tragen — EIN Akzent (--lime), nie zwei.
 *
 * WARUM EIGENE KLASSEN UND KEINE UEBERNAHME DER QUELL-NAMEN: das Verwaltungs-Cockpit nutzt kurze
 * Namen (.dok, .pill, .chip), die in dieser Konsole bereits belegt sind. Jede Klasse hier traegt
 * das Praefix bs-, damit nichts aus dem Bestand still ueberschrieben wird. */

/* ---------- Copilot: Eingabe ---------- */
.bs-intent{padding:24px;display:flex;flex-direction:column;gap:14px}
.bs-intent textarea{width:100%;min-height:120px;padding:14px 16px;border-radius:var(--r-in,12px);
  border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink);
  font-family:inherit;font-size:1rem;line-height:1.55;resize:vertical}
.bs-intent textarea:focus{outline:none;border-color:var(--lime);background:var(--surface);
  box-shadow:0 0 0 3px rgba(207,221,40,.18)}
.bs-bsp{display:flex;flex-wrap:wrap;gap:8px}
.bs-bsp button{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-soft);
  padding:7px 12px;border-radius:20px;font-size:.82rem;font-weight:600;font-family:inherit;
  cursor:pointer;text-align:left;transition:.15s}
.bs-bsp button:hover{border-color:var(--line-strong);color:var(--ink)}

/* Fehlendes Pflichtfeld: Marke am Etikett UND Rahmen am Feld. Der Platzhalter im leeren Feld sieht
   sonst aus wie ein eingetragener Wert — die Zaehlung meldet "es fehlen vier Angaben", waehrend
   vier Felder gefuellt WIRKEN. Beides zeigt jetzt dasselbe an. */
.bs-fehlt{display:inline-block;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:2px 7px;border-radius:20px;background:var(--warn-bg);color:var(--warn);margin-left:6px;vertical-align:1px}
.inp.bs-leer{border-color:var(--warn);border-style:dashed}
.inp.bs-leer::placeholder{color:var(--ink-faint);opacity:.75;font-style:italic}

/* ---------- Copilot: Erkennung ---------- */
.bs-erk{padding:24px;display:flex;flex-direction:column;gap:16px}
.bs-erk-top{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.bs-erk-top h3{font-family:var(--disp);font-size:1.3rem;font-weight:900;letter-spacing:-.02em;margin:0}
.bs-erk-kurz{color:var(--ink-soft);font-size:.9rem;margin-top:4px}
.bs-konf{flex:none;min-width:190px}
.bs-konf-zahl{font-family:var(--disp);font-size:1.9rem;font-weight:900;line-height:1}
.bs-konf-bar{height:7px;border-radius:5px;background:var(--surface-3);overflow:hidden;margin-top:8px}
.bs-konf-bar i{display:block;height:100%;background:var(--lime);border-radius:5px}
.bs-konf-txt{font-size:.78rem;color:var(--ink-faint);margin-top:7px;line-height:1.4}

/* Merkmale: worauf die Erkennung beruht — ohne diese Liste ist die Konfidenz eine Behauptung */
.bs-merk{display:flex;flex-wrap:wrap;gap:6px}
.bs-merk span{font-size:.75rem;font-weight:700;padding:3px 9px;border-radius:20px;
  background:var(--surface-3);color:var(--ink-soft)}

/* Formale Eckdaten des Dokuments: Gremium, Form, Register, Mehrheit */
.bs-eck{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.bs-eck div{padding:12px 14px;border-radius:var(--r-sm);background:var(--surface-2);
  border:1px solid var(--line)}
.bs-eck b{display:block;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-faint);margin-bottom:5px}
.bs-eck i{font-style:normal;font-size:.9rem;font-weight:700;color:var(--ink)}

/* Alternativen: die zweit- und drittbeste Deutung, umschaltbar. Ein Klassifikator ohne sichtbare
   Alternativen zwingt den Nutzer, seine Lage neu zu tippen, wenn er anders gemeint war. */
.bs-alt{display:flex;flex-wrap:wrap;gap:8px}
.bs-alt button{border:1px solid var(--line);background:none;color:var(--ink-soft);padding:7px 12px;
  border-radius:20px;font-size:.82rem;font-weight:700;font-family:inherit;cursor:pointer;transition:.15s}
.bs-alt button:hover{border-color:var(--lime);color:var(--ink)}

/* ---------- Pruefhinweise in drei Stufen ---------- */
.bs-hw{display:flex;flex-direction:column;gap:10px}
.bs-hw-row{display:flex;gap:11px;align-items:flex-start;padding:13px 15px;border-radius:var(--r-sm);
  font-size:.88rem;line-height:1.5}
.bs-hw-row .ic{width:16px;height:16px;flex:none;margin-top:2px}
.bs-hw-row b{font-weight:800}
.bs-hw-row.h-stop{background:var(--bad-bg);color:var(--bad)}
.bs-hw-row.h-warn{background:var(--warn-bg);color:var(--warn)}
.bs-hw-row.h-info{background:var(--info-bg);color:var(--info)}

/* ---------- Dokument ----------
   Bewusst ruhiger als die Konsole: das hier verlaesst spaeter das Haus. Kein Akzent, keine
   Kachel-Optik, groessere Zeilenhoehe, klare Absatzfolge. */
.bs-dok{padding:32px 34px;line-height:1.62;font-size:.95rem;color:var(--ink)}
@media(max-width:640px){.bs-dok{padding:22px 20px}}
.bs-dok h3{font-family:var(--disp);font-size:1.25rem;font-weight:900;letter-spacing:-.02em;
  margin:0 0 18px;line-height:1.25;text-wrap:balance}
.bs-dok-abs{white-space:pre-wrap;margin-bottom:18px;color:var(--ink-soft)}
.bs-dok-inh{white-space:pre-wrap;margin:18px 0;padding:18px 20px;border-left:3px solid var(--lime);
  background:var(--surface-2);border-radius:0 var(--r-sm) var(--r-sm) 0}
.bs-dok-fuss{white-space:pre-wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);
  font-size:.85rem;color:var(--ink-faint)}
.bs-dok-ent{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:20px;
  background:var(--warn-bg);color:var(--warn);margin-bottom:14px}

/* ---------- Vorgangs-Liste ---------- */
.bs-vg{display:flex;flex-direction:column;gap:12px}
.bs-vg-row{padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.bs-vg-kopf{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
.bs-vg-mid{flex:1;min-width:220px;display:flex;flex-direction:column;gap:4px}
.bs-vg-mid b{font-size:.99rem;letter-spacing:-.01em}
.bs-vg-sub{font-size:.83rem;color:var(--ink-faint)}
.bs-vg-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.bs-st{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:800;
  padding:3px 10px;border-radius:20px;white-space:nowrap}
.bs-st .dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.bs-st.s-entwurf{color:var(--ink-soft);background:var(--surface-3)}
.bs-st.s-freigegeben{color:var(--info);background:var(--info-bg)}
.bs-st.s-abstimmung{color:var(--warn);background:var(--warn-bg)}
.bs-st.s-beschlossen{color:var(--good);background:var(--good-bg)}
.bs-st.s-abgelehnt{color:var(--bad);background:var(--bad-bg)}
.bs-st.s-abgelaufen{color:var(--bad);background:var(--bad-bg)}
.bs-st.s-archiviert{color:var(--ink-faint);background:var(--surface-3)}

/* ---------- Stimmverteilung ----------
   Ja/Nein/offen als eine Leiste. Der Schwellenstrich sitzt an der noetigen Mehrheit — man sieht,
   ob es traegt, ohne zu rechnen. */
.bs-stim{display:flex;flex-direction:column;gap:10px;padding:16px 18px;border-radius:var(--r-sm);
  background:var(--surface-2);border:1px solid var(--line)}
.bs-bal{position:relative;height:12px;border-radius:6px;background:var(--surface-3);overflow:hidden;display:flex}
.bs-bal i{display:block;height:100%}
.bs-bal .b-ja{background:var(--good)}
.bs-bal .b-nein{background:var(--bad)}
.bs-schw{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink);opacity:.75}
.bs-bal-wrap{position:relative;padding:4px 0}
.bs-stim-leg{display:flex;gap:16px;flex-wrap:wrap;font-size:.82rem;color:var(--ink-soft)}
.bs-stim-leg b{color:var(--ink)}
.bs-mitg{display:flex;flex-direction:column;gap:8px}
.bs-mitg-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:.87rem}
.bs-mitg-row .nm{flex:1;min-width:150px}
.bs-mitg-row .nm i{font-style:normal;color:var(--ink-faint);font-size:.8rem;display:block}
.bs-verbot{font-size:.74rem;font-weight:700;color:var(--bad);background:var(--bad-bg);
  padding:2px 8px;border-radius:20px}

/* ---------- Gremien-Tafel ----------
   Kapitalanteil und Stimmanteil stehen NEBENEINANDER. Ein Feld fuer beides zaehlt jede
   Satzungsgestaltung falsch aus und faellt nie auf, weil es im Normalfall stimmt. */
.bs-tab{width:100%;border-collapse:collapse;font-size:.88rem}
.bs-tab th{text-align:left;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-faint);padding:0 12px 10px 0;border-bottom:1px solid var(--line)}
.bs-tab td{padding:12px 12px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
.bs-tab tr:last-child td{border-bottom:0}
.bs-tab .num{text-align:right;font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.bs-tab-wrap{overflow-x:auto}

/* ---------- Fristen ---------- */
.bs-fr-row{display:flex;gap:14px;align-items:center;padding:16px 18px;flex-wrap:wrap}
.bs-fr-mid{flex:1;min-width:200px;display:flex;flex-direction:column;gap:3px}
.bs-fr-mid b{font-size:.94rem}
.bs-fr-tage{flex:none;text-align:right;font-variant-numeric:tabular-nums}
.bs-fr-tage b{font-family:var(--disp);font-size:1.15rem;font-weight:900;display:block}
.bs-fr-tage.t-rot b{color:var(--bad)}
.bs-fr-tage.t-gelb b{color:var(--warn)}
.bs-fr-tage span{font-size:.76rem;color:var(--ink-faint)}

/* ---------- Journal ---------- */
.bs-log{display:flex;flex-direction:column}
.bs-log-row{display:flex;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.88rem;
  align-items:flex-start}
.bs-log-row:last-child{border-bottom:0}
.bs-log-t{flex:none;width:130px;font-size:.8rem;color:var(--ink-faint);font-variant-numeric:tabular-nums}
.bs-log-art{flex:none;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:2px 8px;border-radius:20px;background:var(--surface-3);color:var(--ink-soft);min-width:92px;
  text-align:center}
.bs-log-txt{flex:1;min-width:0;line-height:1.45;color:var(--ink-soft)}
@media(max-width:640px){.bs-log-row{flex-wrap:wrap}.bs-log-t{width:auto}}

/* ---------- Katalog / Ausbaustufen ---------- */
.bs-kat-grund{font-size:.78rem;color:var(--ink-faint);line-height:1.4;margin-top:2px}
.bs-stufe{display:inline-flex;align-items:center;gap:6px;font-size:.68rem;font-weight:800;
  letter-spacing:.04em;padding:3px 9px;border-radius:20px;white-space:nowrap}
.bs-stufe .dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.bs-stufe.p-laeuft{color:var(--good);background:var(--good-bg)}
.bs-stufe.p-phase2{color:var(--info);background:var(--info-bg)}
.bs-stufe.p-offen{color:var(--ink-soft);background:var(--surface-3)}

/* ==========================================================================================
   AUSBAU 2026-07-31 — die Beanstandungen des Operators, der Reihe nach.

   "aktuell ist es noch zu simple und alles sieht gleich aus" · "2 mal text untereinander ohne
   design style, ohne visuelle aufmerksamkeit" · "dafür nimmst du volle breite? wozu? es sieht
   einfach nur in die länge gezogen aus" · "wenn ich hier etwas klicke, was zunächst nicht so
   aussieht" · "dann will ich links slide out mehr infos haben".

   Die Antwort ist nicht mehr Farbe, sondern mehr UNTERSCHIED: eine Mandantenkarte sieht anders
   aus als eine Gremienkarte, eine Gremienkarte anders als eine Frist, eine Frist anders als ein
   Journaltag. Gleiche Bausteine fuer gleiche Dinge, verschiedene fuer verschiedene — sonst muss
   der Nutzer jedes Mal lesen, wo er ist.
   ========================================================================================== */

/* ---------- Werkzeug-Knopf: das kleine quadratische Symbol in Tabellen und Zeilen ---------- */
.ikn{width:30px;height:30px;flex:none;display:inline-grid;place-items:center;padding:0;
  border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink-faint);
  cursor:pointer;transition:.15s}
.ikn .ic{width:14px;height:14px}
.ikn:hover{border-color:var(--line-strong);color:var(--ink);background:var(--surface-2)}
.ikn[data-bsgrdel]:hover,.ikn[data-bsmdel]:hover,.ikn[data-bsfrdel]:hover,.ikn[data-bszgdel]:hover{
  border-color:var(--bad);color:var(--bad);background:var(--bad-bg)}

/* ---------- Aktionszeile über einer Liste ---------- */
.bs-gr-akt{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:22px 0 16px}
.bs-gr-hint{display:flex;align-items:center;gap:7px;font-size:.82rem;color:var(--ink-faint);
  line-height:1.45;flex:1;min-width:220px}
.bs-gr-hint .ic{width:14px;height:14px;flex:none;color:var(--ink-faint)}

/* ---------- Mandantenkarte: zwei Flächen statt einer breiten Zeile ----------
   Sechs Angaben ueber 1400 px gezogen haben zwischen Etikett und Wert eine halbe Bildschirm-
   breite Nichts. Links die Stammdaten als Paare mit begrenzter Zeilenlaenge, rechts der
   Rechtsform-Hinweis als eigene, farblich abgesetzte Flaeche. */
.bs-mand{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px;align-items:stretch}
@media(max-width:900px){.bs-mand{grid-template-columns:1fr}}
.bs-mand-l{padding:24px;display:flex;flex-direction:column;gap:14px}
.bs-mand-l h3{font-family:var(--disp);font-size:1.35rem;font-weight:900;letter-spacing:-.025em;margin:0;line-height:1.2}
.bs-mand-paare{display:grid;gap:0}
.bs-mand-akt{margin-top:auto;padding-top:4px}
.bs-mand-r{padding:24px;display:flex;flex-direction:column;gap:10px;background:var(--surface-2)}
.bs-mand-r-ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;
  background:var(--info-bg);color:var(--info)}
.bs-mand-r-ic .ic{width:20px;height:20px}
.bs-mand-r b{font-size:.98rem;font-weight:800;letter-spacing:-.01em;line-height:1.35}
.bs-mand-r p{margin:0;font-size:.87rem;line-height:1.6;color:var(--ink-soft)}

/* Etikett/Wert-Paar — dieselbe Form in Karte und Seitenblatt.
   GESTAPELT als Vorgabe, nicht zweispaltig. Gemessen am 31.07.2026 in der Personenakte bei
   Stufe 3: die Spalte ist dort rund 190 px breit, und ein Etikett wie STAATSANGEHÖRIGKEIT oder
   VERTRETUNGSBEFUGNIS ist in Versalien mit Sperrung laenger als das. Es lief in den Wert hinein —
   zwei Woerter uebereinander, unlesbar, und zwar GENAU an der Stelle, an der ein Notar nachsieht.
   Nebeneinander steht das Paar nur dort, wo die Breite dafuer bekannt ist (Mandantenkarte). */
.bs-sb-paar{display:block;padding:9px 0;border-bottom:1px solid var(--line);min-width:0}
.bs-sb-paar:last-child{border-bottom:0}
.bs-sb-paar > b{display:flex;align-items:center;flex-wrap:wrap;margin-bottom:3px;
  font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  color:var(--ink-faint);overflow-wrap:anywhere;hyphens:auto}
.bs-sb-paar > span{display:block;font-size:.9rem;line-height:1.5;color:var(--ink);
  min-width:0;overflow-wrap:anywhere}
.bs-sb-paar.fehlt > span{color:var(--ink-faint);font-style:italic}
/* Nebeneinander nur in der Mandantenkarte: dort ist die Flaeche breit und die Etiketten kurz. */
@media(min-width:640px){
  .bs-mand-paare .bs-sb-paar{display:grid;grid-template-columns:minmax(130px,32%) 1fr;gap:12px;
    align-items:baseline}
  .bs-mand-paare .bs-sb-paar > b{margin-bottom:0}
}

/* ---------- Gremienkarte ---------- */
.bs-gr{padding:0;overflow:hidden;margin-top:18px}
.bs-gr-kopf{display:flex;gap:14px;align-items:flex-start;padding:22px 24px 16px}
.bs-gr-mid{flex:1;min-width:0}
.bs-gr-mid h4{font-family:var(--disp);font-size:1.2rem;font-weight:900;letter-spacing:-.02em;margin:2px 0 4px}
.bs-gr-sub{font-size:.84rem;color:var(--ink-faint)}
.bs-gr-tools{display:flex;gap:7px;align-items:center;flex:none;flex-wrap:wrap}
.bs-gr .bs-tab-wrap{padding:0 24px}
.bs-gr-fuss{display:flex;gap:9px;align-items:flex-start;padding:14px 24px 18px;margin-top:6px;
  font-size:.83rem;line-height:1.5;color:var(--ink-faint);background:var(--surface-2);
  border-top:1px solid var(--line)}
.bs-gr-fuss .ic{width:15px;height:15px;flex:none;margin-top:2px}
.bs-gr-fuss.warn{color:var(--warn);background:var(--warn-bg);border-top-color:transparent}
.bs-gr-fuss.warn b{color:var(--warn)}
.bs-gr-leer{padding:26px 24px 30px;text-align:center;color:var(--ink-soft);font-size:.88rem;line-height:1.6}
.bs-gr-leer .ic{width:24px;height:24px;color:var(--ink-faint);margin-bottom:8px}
.bs-gr-leer b{display:block;color:var(--ink);font-size:.98rem;margin-bottom:4px}

/* Anklickbare Tabellenzeile — und man SIEHT, dass sie es ist.
   Der Operator: "wenn ich hier etwas klicke, was zunächst nicht so aussieht". Ein Zeiger allein
   reicht nicht: er erscheint erst, wenn die Maus schon dort ist. Deshalb der stehende Pfeil in
   der letzten Spalte und die Flaeche beim Ueberfahren. */
.bs-tab-klick tbody tr{cursor:pointer;transition:background .13s var(--ease)}
.bs-tab-klick tbody tr:hover,.bs-tab-klick tbody tr:focus-visible{background:var(--surface-2);outline:none}
.bs-tab-klick tbody tr:focus-visible td:first-child{box-shadow:inset 3px 0 0 var(--lime)}
.bs-tab-tools{white-space:nowrap;opacity:.45;transition:opacity .13s}
.bs-tab-klick tbody tr:hover .bs-tab-tools,.bs-tab-klick tbody tr:focus-within .bs-tab-tools{opacity:1}
.bs-tab-tools .ikn{margin-left:4px}

/* ---------- Fristen ---------- */
.bs-fr-grp{display:flex;align-items:center;gap:10px;margin:30px 0 12px;flex-wrap:wrap}
.bs-fr-grp-l{font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;
  padding:4px 11px;border-radius:7px;background:var(--surface-3);color:var(--ink-soft)}
.bs-fr-grp.ueber .bs-fr-grp-l{background:var(--bad);color:#fff}
.bs-fr-grp.bald .bs-fr-grp-l{background:var(--warn);color:var(--on-lime,#1a1a1a)}
.bs-fr-grp.erledigt .bs-fr-grp-l{background:var(--good-bg);color:var(--good)}
.bs-fr-grp-n{font-family:var(--disp);font-size:1.05rem;font-weight:900;color:var(--ink)}
.bs-fr-grp-s{font-size:.82rem;color:var(--ink-faint);flex:1;min-width:180px}
.bs-fr-row{cursor:pointer;transition:transform .16s var(--ease),border-color .16s var(--ease)}
.bs-fr-row:hover{transform:translateY(-2px);border-color:var(--line-strong)}
.bs-fr-row:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.bs-fr-row.ueber{border-left:3px solid var(--bad)}
.bs-fr-row.bald{border-left:3px solid var(--warn)}
.bs-fr-row.erledigt{opacity:.72}
.bs-fr-row.erledigt .bs-fr-mid b{text-decoration:line-through;text-decoration-color:var(--ink-faint)}
.bs-fr-art{font-weight:700;color:var(--ink-soft)}
.bs-fr-tools{display:flex;gap:6px;flex:none;opacity:.5;transition:opacity .13s}
.bs-fr-row:hover .bs-fr-tools,.bs-fr-row:focus-within .bs-fr-tools{opacity:1}

/* ---------- Vorgänge ---------- */
.bs-vg-row{cursor:pointer;transition:transform .16s var(--ease),border-color .16s var(--ease)}
.bs-vg-row:hover{transform:translateY(-2px);border-color:var(--line-strong)}
.bs-vg-row:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.bs-vg-sub.zitat{font-style:italic;color:var(--ink-soft);border-left:2px solid var(--line-strong);
  padding-left:9px;margin-top:2px}
.bs-zg-leiste{display:flex;gap:14px;align-items:center;padding:16px 20px;margin-bottom:8px;flex-wrap:wrap;
  background:var(--info-bg);border-color:transparent}
.bs-zg-ic{width:38px;height:38px;flex:none;border-radius:11px;display:grid;place-items:center;
  background:var(--surface);color:var(--info)}
.bs-zg-ic .ic{width:19px;height:19px}
.bs-zg-mid{flex:1;min-width:200px}
.bs-zg-mid b{display:block;font-size:.93rem;font-weight:800;color:var(--ink);margin-bottom:3px}
.bs-zg-mid span{font-size:.82rem;color:var(--ink-soft);line-height:1.45}

/* ---------- Journal ---------- */
.bs-log-karte{padding:0;overflow:hidden}
.bs-log-tag{display:flex;align-items:baseline;gap:10px;padding:13px 20px 11px;
  background:var(--surface-2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}
.bs-log-tag span{font-size:.78rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--ink)}
.bs-log-tag i{font-style:normal;font-size:.76rem;color:var(--ink-faint)}
.bs-log-karte .bs-log-row{padding:13px 20px;border-bottom:1px solid var(--line)}
.bs-log-karte .bs-log-row:last-child{border-bottom:0}
.bs-log-karte .bs-log-row:hover{background:var(--surface-2)}
.bs-log-meta{display:block;margin-top:4px;font-size:.76rem;color:var(--ink-faint)}
/* Die Art als Farbfläche statt als graues Etikett: bei vierzig Zeilen ist die Art das einzige,
   woran das Auge sich beim Ueberfliegen festhalten kann. */
.bs-log-art.a-freigabe{background:var(--good-bg);color:var(--good)}
.bs-log-art.a-abstimmung,.bs-log-art.a-stimme{background:var(--warn-bg);color:var(--warn)}
.bs-log-art.a-ergebnis{background:var(--info-bg);color:var(--info)}
.bs-log-art.a-zugriff{background:var(--bad-bg);color:var(--bad)}
.bs-log-art.a-KIAblauf{background:var(--info-bg);color:var(--info)}

/* ---------- Katalog ---------- */
.bs-kat-fuss{display:flex;align-items:center;gap:8px;justify-content:space-between;flex-wrap:wrap;margin-top:auto}
.bs-merk-tab{display:flex;flex-direction:column;gap:7px}
.bs-merk-z{display:grid;grid-template-columns:minmax(0,1fr) 90px 26px;gap:10px;align-items:center;font-size:.85rem}
.bs-merk-z .w{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.bs-merk-z .g{height:6px;border-radius:4px;background:var(--surface-3);overflow:hidden}
.bs-merk-z .g i{display:block;height:100%;width:var(--g);background:var(--lime);border-radius:4px}
.bs-merk-z .z{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-faint);font-size:.8rem}

/* ---------- Seitenblatt: FLACH ----------
   Auftrag des Operators: keine stehende Navigation links, in keiner Stufe. Die Regie aus
   cf-vorhaben.css schiebt die Unterkategorien ab Stufe 3 in eine 236-px-Spalte; diese Klasse
   holt sie zurueck ueber den Inhalt. Sie wirkt NUR auf Blaetter dieses Bereichs (.bs-flach) —
   die uebrigen Bereiche behalten ihr Verhalten unveraendert. */
.sidep.bs-flach.stufe3 .sidep-b,.sidep.bs-flach.stufe4 .sidep-b{display:block}
.sidep.bs-flach.stufe3 .cfs-tabwrap,.sidep.bs-flach.stufe4 .cfs-tabwrap{
  position:sticky;top:0;z-index:3;border-right:0;min-height:0;background:var(--surface)}
.sidep.bs-flach.stufe3 .cfs-tabs,.sidep.bs-flach.stufe4 .cfs-tabs{
  flex-direction:row;gap:4px;padding:0 24px;border-bottom:1px solid var(--line);overflow-x:auto}
.sidep.bs-flach.stufe3 .cfs-tab,.sidep.bs-flach.stufe4 .cfs-tab{
  width:auto;border-radius:0;padding:12px 12px 11px;background:none;box-shadow:none;
  border-bottom:2px solid transparent;margin-bottom:-1px}
.sidep.bs-flach.stufe3 .cfs-tab.on,.sidep.bs-flach.stufe4 .cfs-tab.on{
  background:none;box-shadow:none;border-bottom-color:var(--lime)}
.sidep.bs-flach.stufe3 .cfs-tab .zahl,.sidep.bs-flach.stufe4 .cfs-tab .zahl{margin-left:0}
.sidep.bs-flach .cfs-navfuss{display:none}
.sidep.bs-flach.stufe3 .cfs-inhalt,.sidep.bs-flach.stufe4 .cfs-inhalt{padding:20px 26px 52px}
/* Ab Stufe 2 laeuft der Inhalt zweispaltig, ab Stufe 3 dreispaltig — die Breite muss dem Inhalt
   zugutekommen, sonst ist Ausfahren nur ein breiterer Rand. Ein Abschnitt bleibt zusammen. */
.sidep.bs-flach.stufe2 .cfs-inhalt{column-count:2;column-gap:26px}
.sidep.bs-flach.stufe3 .cfs-inhalt{column-count:3;column-gap:30px}
.sidep.bs-flach.stufe4 .cfs-inhalt{column-count:4;column-gap:32px}
.sidep.bs-flach .cfs-inhalt > *{break-inside:avoid;-webkit-column-break-inside:avoid}
@media(max-width:1100px){.sidep.bs-flach.stufe3 .cfs-inhalt,.sidep.bs-flach.stufe4 .cfs-inhalt{column-count:2}}
@media(max-width:760px){.sidep.bs-flach .cfs-inhalt{column-count:1 !important}}

/* Kopfzeile eines Seitenblatts */
.bs-sb-kopf{display:flex;gap:13px;align-items:center;flex-wrap:wrap;padding:2px 0 4px}
.bs-sb-av{width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center;
  background:var(--rail-active);color:var(--ink);font-family:var(--disp);font-size:1rem;font-weight:900}
.bs-sb-av .ic{width:21px;height:21px}
.bs-sb-av.rot{background:var(--bad-bg);color:var(--bad)}
.bs-sb-av.gruen{background:var(--good-bg);color:var(--good)}
.bs-sb-kopf-m{flex:1;min-width:150px}
.bs-sb-kopf-m b{display:block;font-size:.92rem;font-weight:800;color:var(--ink);line-height:1.35}
.bs-sb-kopf-m span{font-size:.82rem;color:var(--ink-faint);line-height:1.45}

/* Abschnitt im Seitenblatt */
.bs-sb-sek{margin-bottom:22px;break-inside:avoid}
.bs-sb-h{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.bs-sb-h b{font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}
.bs-sb-h .btn,.bs-sb-h .cfu-hk{margin-left:auto}
.bs-sb-gitter{display:grid;gap:0;background:var(--surface-2);border:1px solid var(--line);
  border-radius:var(--r-sm,12px);padding:4px 16px}
.bs-sb-p{margin:0;font-size:.89rem;line-height:1.6;color:var(--ink-soft)}
.bs-sb-nix{font-size:.86rem;line-height:1.55;color:var(--ink-faint);padding:12px 14px;
  background:var(--surface-2);border-radius:var(--r-sm,12px);border:1px dashed var(--line-strong)}
.bs-sb-liste{display:flex;flex-direction:column;gap:8px}
.bs-sb-z{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 14px;
  background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm,12px)}
.bs-sb-z-m{flex:1;min-width:140px}
.bs-sb-z-m b{display:block;font-size:.89rem;font-weight:700;color:var(--ink);line-height:1.35}
.bs-sb-z-m span{font-size:.78rem;color:var(--ink-faint);line-height:1.45}
.bs-sb-akt{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}
.bs-sb-akt.spalte{flex-direction:column;align-items:stretch}
.bs-sb-akt.spalte .btn{justify-content:flex-start}

/* Unterlagenliste — der Zustand steht als Farbe UND als Wort da. Nur Farbe waere fuer jeden
   zweiten Mann in einem Handwerksbetrieb keine Aussage. */
.bs-dok-liste{display:flex;flex-direction:column;gap:8px}
.bs-dok-z{display:flex;gap:11px;align-items:center;padding:12px 14px;border-radius:var(--r-sm,12px);
  border:1px solid var(--line);background:var(--surface-2)}
.bs-dok-z-ic{width:28px;height:28px;flex:none;border-radius:8px;display:grid;place-items:center}
.bs-dok-z-ic .ic{width:14px;height:14px}
.bs-dok-z.ok .bs-dok-z-ic{background:var(--good-bg);color:var(--good)}
.bs-dok-z.alt .bs-dok-z-ic{background:var(--warn-bg);color:var(--warn)}
.bs-dok-z.weg{border-color:var(--bad);border-style:dashed}
.bs-dok-z.weg .bs-dok-z-ic{background:var(--bad-bg);color:var(--bad)}
.bs-dok-z-m{flex:1;min-width:0}
.bs-dok-z-m b{display:block;font-size:.87rem;font-weight:700;line-height:1.35}
.bs-dok-z-m span{font-size:.77rem;color:var(--ink-faint);line-height:1.4}
.bs-dok-z-st{flex:none;font-size:.7rem;font-weight:800;letter-spacing:.04em;padding:3px 9px;border-radius:20px;
  background:var(--surface-3);color:var(--ink-soft)}
.bs-dok-z.ok .bs-dok-z-st{background:var(--good-bg);color:var(--good)}
.bs-dok-z.alt .bs-dok-z-st{background:var(--warn-bg);color:var(--warn)}
.bs-dok-z.weg .bs-dok-z-st{background:var(--bad-bg);color:var(--bad)}

/* Rechtestufe */
.bs-recht{flex:none;font-size:.7rem;font-weight:800;padding:3px 10px;border-radius:20px;white-space:nowrap}
.bs-recht.r-lesen{background:var(--surface-3);color:var(--ink-soft)}
.bs-recht.r-kommentieren{background:var(--info-bg);color:var(--info)}
.bs-recht.r-zeichnen{background:var(--warn-bg);color:var(--warn)}
.bs-recht.r-verwalten{background:var(--bad-bg);color:var(--bad)}

/* ---------- Formular im Seitenblatt ---------- */
.bs-form{display:flex;flex-direction:column;gap:16px}
.bs-form .field{display:flex;flex-direction:column;gap:6px}
.bs-form .field label{font-size:.8rem;font-weight:800;color:var(--ink);display:flex;align-items:center;flex-wrap:wrap}
.bs-fhint{font-size:.76rem;color:var(--ink-faint);line-height:1.45}
.bs-fwahl button.an{border-color:var(--lime);background:var(--lime);color:var(--on-lime);font-weight:800}
.bs-form-f{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:6px;
  padding-top:16px;border-top:1px solid var(--line)}
.bs-form-note{margin:0;font-size:.78rem;color:var(--ink-faint);line-height:1.5;text-align:right}
@media(max-width:520px){.bs-form-f .btn{flex:1;justify-content:center}.bs-form-note{text-align:left}}

/* ---------- Copilot: die zweite Spur ---------- */
.bs-ki-hint{display:flex;align-items:center;gap:7px;font-size:.79rem;color:var(--ink-faint);
  line-height:1.45;flex:1;min-width:230px}
.bs-ki-hint .ic{width:13px;height:13px;flex:none}
.btn.laeuft{opacity:.7;position:relative}
.bs-ki-karte{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;margin-top:16px;
  background:var(--info-bg);border-color:transparent}
.bs-ki-k-ic{width:36px;height:36px;flex:none;border-radius:10px;display:grid;place-items:center;
  background:var(--surface);color:var(--info)}
.bs-ki-k-ic .ic{width:18px;height:18px}
.bs-ki-k-m{flex:1;min-width:0}
.bs-ki-k-m b{display:flex;align-items:center;gap:8px;font-size:.92rem;font-weight:800;color:var(--ink);margin-bottom:5px}
.bs-ki-k-m p{margin:0 0 6px;font-size:.88rem;line-height:1.55;color:var(--ink)}
.bs-ki-k-m span{font-size:.77rem;color:var(--ink-soft);line-height:1.5;display:block}
