/* Lesbarkeit (UX-Review 2026-10-15, G1/G2): Grundschrift 16 px, Kleintext ab 14 px; Grau, Grün und Orange so dunkel, dass sie
   WCAG AA (4,5 : 1) auf hellem Grund erfüllen.
   Layout: Leiste links über die volle Höhe · Kopfzeile · Inhalt · Seitenleiste rechts (Beleg oder Chat) · Original-Ansicht.
   Erscheinungsbild „D3 edel“ (seit 2026-10-30, vorher Marineblau mit Inter): Elfenbein als Grund, Tannengrün als Farbe der
   Aktionen, Messing nur als Münze und feine Linie, Schrift Public Sans. Ampelfarben nur für Bedeutung. Die Bausteine dazu
   (Leiste, Kopf, Knopfsatz M1 „Münze vorne dran“) stehen in thema.css. --serif nur für die nachgebaute Druckseite (.blatt.serif). */
:root{
  color-scheme:light;
  --bg:#fffdf8;--grund:#f6f4ee;--fill:#f3efe6;--fill-2:#ebe5d7;--ink:#18201d;--ink-2:#444b47;--muted:#5b625d;--line:#e6e0d2;--line-2:#d6ccb6;
  --accent:#10302a;--accent-ink:#f6f1e5;--accent-soft:#f3ecda;--accent-line:#dccb9f;--marine:#0d2621;--marine-2:#163a32;
  --messing:#c9a24a;--messing-ring:#a8842f;--messing-linie:#b08a3e;--messing-text:#7d5f1f;--elfenbein:#f6f1e5;--sand:#ece6d8;--sand-2:#e2d9c5;
  --ok:#136c34;--ok-soft:#e7f4eb;--warn:#a24f0c;--warn-soft:#fcefe2;--bad:#bf2e2e;--bad-soft:#fbeaea;--gelb:#8f6100;--gelb-soft:#fff4d4;
  --lila:#6a44c4;--lila-soft:#f1ecfc;--grau:#6b7076;--hl:#ffef9e;--hl-line:#d9a400;
  --shadow:0 14px 44px rgba(16,48,42,.14);--r:16px;--top:56px;--panel:440px;
  /* Gestaltungssystem (UX-Review dritte Runde, M6 bis M8, 2026-10-28): Schriftstufen statt rund 25 Einzelwerten, Abstände,
     Radien und Schatten als Tokens. Neue Regeln nehmen nur diese Werte.
     Seit 2026-11-05 (Basti: „größere Zahlen und Überschriften, Überschriften fett, mehr Luft mit Hierarchie nach der Regel
     4-8-16-32-64, rundere Ecken“): Abstände nur noch 4 (innerhalb eines Elements), 8 (zusammengehörig), 16 (Gruppe),
     32 (Abschnitt), 64 (Bereich); feine Werte bis 3 px bleiben für Linien und Feinjustage. Überschriften fett in eigenen
     Stufen (--h1 bis --h3), Kennzahlen größer, Radien 6 · 8 · 12 · 16. */
  --fs-xs:14px;--fs-s:15px;--fs-m:16px;--fs-l:19px;--fs-xl:24px;--fs-xxl:34px;--fs-gross:48px;
  --h1:34px;--h2:22px;--h3:18px;
  --s-1:4px;--s-2:8px;--s-4:16px;--s-6:32px;--s-8:64px;
  --r-s:6px;--r-m:8px;--r-l:12px;--r-rund:999px;
  --schatten-1:0 0 0 transparent;--schatten-2:0 4px 16px rgba(16,48,42,.07);
  --accent-hover:#1d4a3f;--weiss:#ffffff;--schwarz:#000000;--tief:#1d1f22;
  --ease:cubic-bezier(.2,.7,.2,1);--dauer:.16s;
  --sans:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--serif:Georgia,"Times New Roman",serif;--display:var(--sans);--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}
html,body{background:var(--grund)}
body{margin:0;color:var(--ink);font:var(--fs-m)/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
*{box-sizing:border-box}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:inherit}
input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-m)}
h1,h2,h3{margin:0;text-wrap:balance;font-weight:700;letter-spacing:-.01em;line-height:1.25}
h1{font-family:var(--display);font-weight:700;font-size:var(--h1);line-height:1.15;letter-spacing:-.025em}h2{font-size:var(--h2)}h3{font-size:var(--h3)}
p{margin:0}
a{color:var(--accent)}
.muted{color:var(--ink-2)}.small{font-size:var(--fs-s)}.tiny{font-size:var(--fs-xs)}.num{font-variant-numeric:tabular-nums}
.label{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Rahmen */
.app{display:grid;grid-template-columns:224px minmax(0,1fr);grid-template-rows:var(--top) 1fr;min-height:100vh}
.app.mit-panel{grid-template-columns:224px minmax(0,1fr) var(--panel)}
.top{grid-column:1/-1;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--s-4);padding:0 var(--s-4);height:var(--top);background:var(--bg);border-bottom:1px solid var(--line)}
.marke{font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:var(--s-2);white-space:nowrap}
.marke i{width:18px;height:18px;border-radius:var(--r-m);background:var(--accent);display:inline-block;position:relative}
.marke i::after{content:"";position:absolute;left:4px;top:4px;width:10px;height:10px;border-radius:2px;border:2px solid var(--weiss);border-right-color:transparent;border-bottom-color:transparent}
.fallwahl{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-2);border-radius:var(--r-m);border:1px solid var(--line);min-width:0;max-width:340px}
.fallwahl:hover{border-color:var(--line-2);background:var(--fill)}
.fallwahl b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top .grow{flex:1}
.suche{position:relative;width:min(340px,32vw)}
.suche input{width:100%;height:36px;border:1px solid var(--line);border-radius:var(--r-m);padding:0 var(--s-4) 0 var(--s-6);background:var(--fill)}
.suche input:focus{background:var(--bg);border-color:var(--accent-line);outline:none}
.suche .lupe{position:absolute;left:11px;top:9px;color:var(--muted);font-size:var(--fs-xs)}
.treffer{position:absolute;top:42px;left:0;right:0;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow);max-height:60vh;overflow:auto;z-index:40;padding:var(--s-2)}
.treffer button{display:flex;gap:var(--s-2);align-items:baseline;width:100%;padding:var(--s-2) var(--s-2);border-radius:var(--r-m)}
.treffer button:hover,.treffer button.on{background:var(--fill)}
.treffer .t{font-size:var(--fs-xs);color:var(--muted);min-width:76px}
.nav{position:sticky;top:var(--top);align-self:start;height:calc(100vh - var(--top));overflow:auto;border-right:1px solid var(--line);padding:var(--s-4) var(--s-2);display:flex;flex-direction:column;gap:2px;background:var(--bg)}
.nav button{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-2);border-radius:var(--r-m);min-height:40px;color:var(--ink-2)}
.nav button:hover{background:var(--fill);color:var(--ink)}
.nav button.on{background:var(--accent-soft);color:var(--ink);font-weight:500}
.nav .ic{width:18px;text-align:center;color:var(--muted)}
.nav button.on .ic{color:var(--accent)}
.nav .zahl{margin-left:auto;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--muted)}
.nav .zahl.offen{color:var(--warn);font-weight:600}
.nav .zahl.ok{color:var(--ok)}
.nav hr{border:0;border-top:1px solid var(--line);margin:var(--s-2) var(--s-1)}
.nav .fuss{margin-top:auto;padding:var(--s-2);font-size:var(--fs-xs);color:var(--muted)}
main{min-width:0;padding:var(--s-6) var(--s-6) 96px}
.seite{max-width:1120px}
.kopf{display:flex;flex-wrap:wrap;gap:var(--s-4);align-items:flex-end;justify-content:space-between;margin-bottom:var(--s-6)}
.kopf .lead{color:var(--ink-2);margin-top:var(--s-2);max-width:68ch}
.stack{display:flex;flex-direction:column;gap:var(--s-4)}
.seite.stack{gap:var(--s-6)}   /* Abschnitte einer Seite: 32, innerhalb eines Abschnitts 16 */
/* Rechts eine Leiste offen (Beleg, Chat, Dokument): der Inhalt ist schmal, Karten nehmen 16 statt 32 innen, damit große Zahlen passen */
.app.mit-panel main .karte,.app.mit-original main .karte{padding:var(--s-4)}
.row{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4)}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}

/* Bausteine */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:38px;padding:0 var(--s-4);border:1px solid var(--line-2);border-radius:var(--r-m);background:var(--bg);font-weight:500;white-space:nowrap}
.btn:hover{background:var(--fill)}
.btn.primaer{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primaer:hover{background:var(--accent-hover)}
.btn.klein{height:30px;padding:0 var(--s-2);font-size:var(--fs-xs)}
.btn.ghost{border-color:transparent;color:var(--accent)}
.btn.ghost:hover{background:var(--accent-soft)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.link{color:var(--accent);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.karte{border:1px solid var(--line);border-radius:var(--r);background:var(--bg);padding:var(--s-6)}
.karte.flach{padding:0;overflow:hidden}
.karte h2+p,.karte h3+p{margin-top:var(--s-1)}
.kachel .label{display:block;margin-bottom:var(--s-2)}
.kachel .gross{font-size:var(--fs-xxl);font-weight:600;letter-spacing:-.02em;line-height:1.15}
.kachel .sub{font-size:var(--fs-xs);color:var(--ink-2);margin-top:var(--s-2)}
.chip{display:inline-flex;align-items:center;gap:var(--s-1);height:24px;padding:0 var(--s-2);border-radius:999px;font-size:var(--fs-xs);border:1px solid var(--line);white-space:nowrap;color:var(--ink-2);background:var(--bg)}
.chip.ok{background:var(--ok-soft);border-color:transparent;color:var(--ok)}
.chip.warn{background:var(--warn-soft);border-color:transparent;color:var(--warn)}
.chip.bad{background:var(--bad-soft);border-color:transparent;color:var(--bad)}
.chip.gelb{background:var(--gelb-soft);border-color:transparent;color:var(--gelb)}
.chip.lila{background:var(--lila-soft);border-color:transparent;color:var(--lila)}
.chip.accent{background:var(--accent-soft);border-color:transparent;color:var(--accent)}
.chip.grau{background:var(--fill);border-color:transparent;color:var(--grau)}
.hinweis{display:flex;gap:var(--s-4);align-items:flex-start;padding:var(--s-4) var(--s-4);border-radius:var(--r);border:1px solid var(--line);background:var(--fill)}
.hinweis.lila{background:var(--lila-soft);border-color:#ddd2f6}
.hinweis.warn{background:var(--warn-soft);border-color:#f3d6b8}
.hinweis.accent{background:var(--accent-soft);border-color:var(--accent-line)}
.hinweis.ok{background:var(--ok-soft);border-color:#c7e6d0}
.hinweis .sym{font-size:var(--fs-m);line-height:1.3}
.leer{text-align:center;padding:var(--s-8) var(--s-6);border:1px dashed var(--line-2);border-radius:var(--r);color:var(--ink-2)}
.leer h2{color:var(--ink);margin-bottom:var(--s-2)}
.tabwrap{overflow-x:auto}
table.tab{width:100%;border-collapse:collapse;font-size:var(--fs-s)}
.tab th{text-align:left;font-weight:500;font-size:var(--fs-xs);color:var(--muted);padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--bg);position:sticky;top:0}
.tab td{padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--line);vertical-align:middle}
.tab tr:last-child td{border-bottom:0}
.tab tr.klick{cursor:pointer}
.tab tr.klick:hover td{background:var(--fill)}
.tab tr.sel td{background:var(--accent-soft)}
.tab .r{text-align:right}
.tab th button{font-weight:500;color:inherit}
.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:var(--r-m);overflow:hidden;background:var(--bg)}
.seg button{padding:0 var(--s-4);height:32px;font-size:var(--fs-xs);color:var(--ink-2)}
.seg button+button{border-left:1px solid var(--line-2)}
.seg button.on{background:var(--ink);color:var(--weiss)}
.feld{display:grid;gap:var(--s-2)}
.feld label{font-size:var(--fs-xs);color:var(--ink-2)}
.input,select.input,textarea.input{width:100%;min-height:40px;border:1px solid var(--line-2);border-radius:var(--r-m);padding:var(--s-2) var(--s-4);background:var(--bg)}
.input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}
.progress{height:6px;border-radius:3px;background:var(--fill-2);overflow:hidden}
.progress i{display:block;height:100%;background:var(--accent);border-radius:3px;transition:width .3s}

/* Wert-Komponente: Zahl + kleine Markierung, Annahmen in Lila */
.w{display:inline-flex;align-items:baseline;gap:var(--s-1);font-variant-numeric:tabular-nums;border-bottom:1px dotted var(--line-2);line-height:1.25;cursor:pointer;white-space:nowrap}
.w:hover{color:var(--accent);border-bottom-color:var(--accent)}
.w.ann{color:var(--lila);border-bottom:2px solid var(--lila)}
.w.geaendert::after{content:"geändert";font-size:var(--fs-xs);color:var(--accent);margin-left:var(--s-1);letter-spacing:.02em}
.w .mk{font-size:9px;line-height:1;align-self:center}
.w .mk.pruefen{color:var(--gelb)}.w .mk.konflikt{color:var(--warn)}.w .mk.ann{color:var(--lila)}
.w.puls{animation:puls 1.6s ease-out 1}
@keyframes puls{0%{background:var(--accent-soft)}100%{background:transparent}}
@media (prefers-reduced-motion:reduce){.w.puls{animation:none}}
.legende{display:flex;flex-wrap:wrap;gap:var(--s-4);font-size:var(--fs-xs);color:var(--ink-2)}
.legende span{display:inline-flex;align-items:center;gap:var(--s-2)}
.sw{width:10px;height:10px;border-radius:2px;display:inline-block}

/* Seitenleiste rechts */
.panel{position:sticky;top:var(--top);align-self:start;height:calc(100vh - var(--top));border-left:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column;min-width:0}
.panel-kopf{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--line)}
.panel-kopf .grow{flex:1}
.panel-inhalt{flex:1;overflow:auto;padding:var(--s-4) var(--s-6) var(--s-6)}
.panel-inhalt h3{margin:var(--s-6) 0 var(--s-2)}
.panel-inhalt h3:first-child{margin-top:0}
.beleg-wert{font-size:var(--fs-xxl);font-weight:600;letter-spacing:-.02em;margin:var(--s-1) 0 var(--s-2);font-variant-numeric:tabular-nums}
.beleg-wert.ann{color:var(--lila)}
.zitat{border-left:3px solid var(--hl-line);background:#fffbe6;padding:var(--s-2) var(--s-4);border-radius:0 var(--r-m) var(--r-m) 0;font-size:var(--fs-xs)}
.zitat b{background:var(--hl);padding:0 2px}
.quelle{display:flex;gap:var(--s-2);align-items:center;padding:var(--s-2) var(--s-4);border:1px solid var(--line);border-radius:var(--r-m);width:100%}
.quelle:hover{border-color:var(--accent-line);background:var(--accent-soft)}
.quelle .doc{width:28px;height:34px;border:1px solid var(--line-2);border-radius:3px;background:var(--bg);position:relative;flex:none}
.quelle .doc::before{content:"";position:absolute;left:5px;right:5px;top:8px;height:2px;background:var(--line-2);box-shadow:0 5px 0 var(--line-2),0 10px 0 var(--line-2),0 15px 0 var(--hl-line)}
.quelle .grow{flex:1;min-width:0}
.quelle .zu{color:var(--accent);font-weight:500;white-space:nowrap;font-size:var(--fs-xs)}
.norm{display:inline-flex;align-items:center;gap:var(--s-1);font-size:var(--fs-xs);color:var(--accent);text-decoration:none;border:1px solid var(--accent-line);border-radius:var(--r-m);padding:1px var(--s-2);margin:2px var(--s-1) 2px 0}
.norm:hover{background:var(--accent-soft)}
.baum{list-style:none;margin:0;padding:0}
.baum ul{list-style:none;margin:var(--s-1) 0 0 var(--s-2);padding:0 0 0 var(--s-4);border-left:1px solid var(--line)}
.baum li{padding:var(--s-2) 0}
.baum .formel{font-size:var(--fs-xs);color:var(--ink-2);margin-top:2px}
.baum summary{cursor:pointer;list-style:none}
.baum summary::-webkit-details-marker{display:none}
.baum summary .pf{display:inline-block;width:14px;color:var(--muted);transition:transform .15s}
.baum details[open]>summary .pf{transform:rotate(90deg)}
.verlauf{list-style:none;padding:0;margin:0}
.verlauf li{padding:var(--s-2) 0;border-bottom:1px solid var(--line);font-size:var(--fs-xs)}

/* Chat */
.chat{display:flex;flex-direction:column;flex:1;min-height:0}
.chat-liste{flex:1;overflow:auto;padding:var(--s-4) var(--s-4) var(--s-2);display:flex;flex-direction:column;gap:var(--s-4)}
.msg{max-width:92%;font-size:var(--fs-s);line-height:1.55}
.msg.du{align-self:flex-end;background:var(--fill-2);padding:var(--s-2) var(--s-4);border-radius:var(--r) var(--r) var(--r-m) var(--r)}
.msg.ki{align-self:flex-start}
.msg.ki p+p,.msg.ki ul{margin-top:var(--s-2)}
.msg.ki ul{padding-left:var(--s-4);margin-bottom:0}
.msg .meta{font-size:var(--fs-xs);color:var(--muted);margin-top:var(--s-2)}
.msg .gelesen{margin-top:var(--s-1);font-size:var(--fs-xs);color:var(--muted)}
.msg .gelesen summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:var(--s-2)}
.msg .gelesen summary::-webkit-details-marker{display:none}
.msg .gelesen summary::before{content:'▸';display:inline-block;transition:transform .15s}
.msg .gelesen[open] summary::before{transform:rotate(90deg)}
.msg .gelesen summary:hover{color:var(--accent)}
.ki-schutz{display:flex;gap:var(--s-2);align-items:flex-start;margin-top:var(--s-2);padding:var(--s-2) var(--s-4);border-radius:var(--r-m);background:var(--warn-soft);color:var(--ink);font-size:var(--fs-xs);line-height:1.4}
.ki-schutz .sym{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--warn);color:#fff;font-weight:700;font-size:var(--fs-xs)}
.gelesen-liste{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-1);margin-top:var(--s-2)}
.gelesen-liste .ref{max-width:100%;overflow:hidden}
.gelesen-titel{overflow:hidden;text-overflow:ellipsis;min-width:0}
.gelesen-seiten{flex:none;color:var(--muted);font-weight:400}
.arbeitsweg{list-style:none;margin:var(--s-2) 0 0;padding:0;display:flex;flex-direction:column;gap:3px}
.arbeitsweg li{display:flex;gap:var(--s-2);align-items:baseline;line-height:1.4;overflow-wrap:anywhere}
.arbeitsweg .sym{flex:none;width:12px;text-align:center;color:var(--muted)}
.arbeitsweg .fehlt .sym{color:var(--warn)}
.arbeitsweg .geprueft .sym,.arbeitsweg .pruefung .sym{color:var(--ok)}
.msg .entwurf{color:var(--muted);opacity:.75;margin-bottom:var(--s-2)}
.arbeitsweg.live{margin-top:var(--s-2);font-size:var(--fs-xs);color:var(--muted)}
.arbeitsweg.live li:last-child{color:var(--ink-2)}
.ref{display:inline-flex;align-items:center;gap:var(--s-1);padding:0 var(--s-2);border-radius:var(--r-m);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-xs);font-weight:500;white-space:nowrap;vertical-align:baseline}
.ref:hover{background:#d2e9e9}
.ref.wertref{background:none;padding:0;border-bottom:1px dotted var(--accent);border-radius:0;font-size:inherit}
.ref.ann{color:var(--lila);border-bottom-color:var(--lila)}
.vorschlaege{display:flex;flex-wrap:wrap;gap:var(--s-2)}
.vorschlaege button{border:1px solid var(--line-2);border-radius:999px;padding:var(--s-2) var(--s-4);font-size:var(--fs-xs);text-align:left}
.vorschlaege button:hover{border-color:var(--accent);color:var(--accent)}
.chat-eingabe{border-top:1px solid var(--line);padding:var(--s-4) var(--s-4);display:grid;gap:var(--s-2)}
.chat-eingabe textarea{resize:none;min-height:44px;max-height:140px}
.denkt{display:inline-flex;gap:var(--s-1);align-items:center;color:var(--muted);font-size:var(--fs-xs)}
.denkt i{width:5px;height:5px;border-radius:50%;background:var(--muted);animation:blink 1.2s infinite}
.denkt i:nth-child(2){animation-delay:.2s}.denkt i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,100%{opacity:.25}50%{opacity:1}}

/* Original-Ansicht */
.original{position:fixed;inset:0;z-index:70;background:#eef0ec;display:grid;grid-template-rows:auto 1fr}
.original-kopf{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-2) var(--s-4);background:var(--bg);border-bottom:1px solid var(--line);flex-wrap:wrap}
.original-kopf .grow{flex:1;min-width:120px}
.original-body{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:0}
.original-toc{background:var(--bg);border-right:1px solid var(--line);overflow:auto;padding:var(--s-4) var(--s-2)}
.original-toc button{display:flex;justify-content:space-between;gap:var(--s-2);width:100%;padding:var(--s-2) var(--s-2);border-radius:var(--r-m);font-size:var(--fs-xs);color:var(--ink-2)}
.original-toc button:hover{background:var(--fill)}
.original-toc button.on{background:var(--accent-soft);color:var(--ink);font-weight:500}
.original-seiten{overflow:auto;padding:var(--s-6) var(--s-6) var(--s-8)}
.fund-leiste{position:sticky;top:-28px;z-index:2;box-shadow:0 4px 14px rgba(0,0,0,.06);max-width:794px;margin:0 auto var(--s-4);display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-l);padding:var(--s-2) var(--s-4);font-size:var(--fs-xs)}
.blatt{background:var(--weiss);max-width:794px;margin:0 auto var(--s-6);padding:var(--s-8) var(--s-8) var(--s-8);box-shadow:0 1px 2px rgba(0,0,0,.08),0 10px 30px rgba(0,0,0,.07);font-family:var(--sans);font-size:13px;line-height:1.6;color:var(--tief);position:relative}
.blatt.serif{font-family:var(--serif);font-size:13.5px}
.blatt .snr{position:absolute;bottom:26px;right:72px;font-size:11px;color:#9a9da3}
.blatt .skopf{position:absolute;top:26px;left:72px;right:72px;display:flex;justify-content:space-between;font-size:10.5px;color:#9a9da3;font-family:var(--sans)}
.blatt h1{font-size:20px;margin:0 0 var(--s-4)}
.blatt h2{font-size:15px;margin:var(--s-4) 0 var(--s-2)}
.blatt p{margin:0 0 var(--s-2)}
.blatt .meta{font-size:12px;color:#5f636a;margin-bottom:var(--s-4);letter-spacing:.02em}
.blatt .sig{margin-top:var(--s-6);font-size:12px;color:#5f636a;font-style:italic}
.blatt table{width:100%;border-collapse:collapse;margin:var(--s-2) 0 var(--s-4);font-family:var(--sans);font-size:12.5px}
.blatt th{text-align:left;font-weight:600;border-bottom:1.5px solid #333;padding:var(--s-2) var(--s-2)}
.blatt td{padding:var(--s-2) var(--s-2);border-bottom:1px solid #e3e3e3}
.blatt td.zahl,.blatt th.zahl{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.blatt tr.hl td{background:#fff8cf}
.blatt td.hl{background:var(--hl);box-shadow:inset 0 0 0 2px var(--hl-line);font-weight:600;color:var(--schwarz)}
.blatt mark{background:var(--hl);padding:0 2px;border-radius:2px;outline:2px solid var(--hl-line);font-weight:600;color:var(--schwarz)}
.blatt .blk.hl{background:#fff8cf;margin-left:-8px;margin-right:-8px;padding-left:var(--s-2);padding-right:var(--s-2);border-radius:var(--r-m)}
.blatt.sheet{padding:var(--s-6) 0 var(--s-6);font-family:var(--mono);font-size:12px}
.blatt.sheet .bl{padding:0 var(--s-6) var(--s-2);font-family:var(--sans);font-size:12px;color:#5f636a}
.blatt.sheet .tabwrap{padding:0 var(--s-6)}
.blatt.sheet table{font-family:var(--mono);font-size:12px;margin:0}
.blatt.sheet th,.blatt.sheet td{border:1px solid #dadcd7;padding:var(--s-1) var(--s-2)}
.blatt.sheet th{background:#f1f2ef;font-weight:500;color:#5f636a;text-align:center}
.blatt.sheet td.rn{background:#f1f2ef;color:#8a8d92;text-align:center;width:36px}
.ausgelassen{max-width:794px;margin:0 auto var(--s-6);text-align:center;color:#8a8d92;font-size:var(--fs-xs)}

/* Struktur */
.werkzeug{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;margin-bottom:var(--s-4)}
.werkzeug .input{min-height:34px;height:34px;width:min(280px,100%)}
.filter{display:inline-flex;gap:var(--s-2);flex-wrap:wrap}
.filter button{height:30px;padding:0 var(--s-2);border:1px solid var(--line-2);border-radius:999px;font-size:var(--fs-xs);display:inline-flex;align-items:center;gap:var(--s-2);color:var(--ink-2)}
.filter button.on{border-color:var(--ink);color:var(--ink);background:var(--fill)}
.graph{position:relative;height:min(70vh,680px);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--fill);background-image:radial-gradient(#d9dcd5 1px,transparent 1px);background-size:22px 22px;cursor:grab;touch-action:none}
.graph.ziehen{cursor:grabbing}
.graph svg{width:100%;height:100%;display:block}
.graph .steuer{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:var(--s-2)}
.graph .steuer button{width:34px;height:34px;border-radius:var(--r-m);background:var(--bg);border:1px solid var(--line-2);font-size:var(--fs-m);display:flex;align-items:center;justify-content:center}
.graph .tipp{position:absolute;left:12px;bottom:10px;font-size:var(--fs-xs);color:var(--muted);background:rgba(255,255,255,.88);padding:2px var(--s-2);border-radius:var(--r-m)}
.knoten{cursor:pointer}
.knoten rect.box{fill:var(--weiss);stroke:var(--line-2);stroke-width:1}
.knoten:hover rect.box{stroke:var(--accent)}
.knoten.sel rect.box{stroke:var(--accent);stroke-width:2.5}
.knoten.treffer rect.box{fill:#fff8d6;stroke:var(--hl-line);stroke-width:2}
.knoten.spitze rect.box{fill:var(--ink);stroke:var(--ink)}
.knoten.spitze text{fill:var(--weiss)}
.knoten text{font-family:var(--sans);font-size:12px;fill:var(--ink)}
.knoten .klein{font-size:11.5px;fill:var(--ink-2)}
.knoten.spitze .klein{fill:#cfd3d8}
.toggle{cursor:pointer}
.toggle rect{fill:var(--weiss);stroke:var(--line-2)}
.toggle text{font-size:10.5px;fill:var(--ink-2);font-family:var(--sans);font-weight:500}
.toggle:hover rect{stroke:var(--accent)}
.kante{fill:none;stroke-width:1.6}
.kante.ok{stroke:var(--ok)}.kante.warn{stroke:var(--warn)}.kante.bad{stroke:var(--bad)}.kante.grau{stroke:#b8bcb4}.kante.quer{stroke-dasharray:5 4}
.kante.ann{stroke:var(--lila)}
.kante.person{stroke:var(--ink-2)}
.qlabel.person{fill:var(--ink-2)}
.qlabel.halo{paint-order:stroke;stroke:var(--weiss);stroke-width:4px;stroke-linejoin:round}
.knoten.person rect.box{fill:var(--weiss);stroke:var(--line-2)}
.knoten .ini{fill:var(--weiss);font-size:11px;font-weight:600}
.knoten .z3{fill:var(--muted)}
.knoten .extern-pille rect{fill:var(--fill-2);stroke:var(--line-2)}.knoten .extern-pille text{fill:var(--ink-2);font-size:10.5px;font-weight:600}   /* externe Gesellschafter an der Gesellschaft */
.knoten.spitze .z3{fill:#aeb4ba}
.diagramm{overflow-x:auto}
.qlabel{font-family:var(--sans);font-size:var(--fs-xs);font-weight:600}
.qlabel.ok{fill:var(--ok)}.qlabel.warn{fill:var(--warn)}.qlabel.bad{fill:var(--bad)}.qlabel.grau{fill:var(--grau)}.qlabel.ann{fill:var(--lila)}
.baumliste{max-height:68vh;overflow:auto}
.baumliste .zeile{display:grid;grid-template-columns:minmax(0,1fr) 100px 60px 90px 150px 110px;gap:var(--s-2);align-items:center;padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--line);font-size:var(--fs-s);cursor:pointer}
.baumliste .zeile:hover{background:var(--fill)}
.baumliste .zeile.sel{background:var(--accent-soft)}
.baumliste .zeile.fund .t{font-weight:600}
.baumliste .zeile.kopfzeile{cursor:default;font-size:var(--fs-xs);color:var(--muted);background:var(--bg);position:sticky;top:0;z-index:1}
.baumliste .name{display:flex;align-items:center;gap:var(--s-2);min-width:0}
.baumliste .name span.t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.baumliste .auf{width:20px;height:20px;border-radius:var(--r-m);color:var(--muted);flex:none;display:inline-flex;align-items:center;justify-content:center}
.baumliste .auf:hover{background:var(--fill-2);color:var(--ink)}
.baumliste .r{text-align:right;font-variant-numeric:tabular-nums}

/* Personen */
.anteilsbalken{display:flex;height:36px;border-radius:var(--r-m);overflow:hidden;gap:2px}
.anteilsbalken div{display:flex;align-items:center;padding:0 var(--s-2);color:var(--weiss);font-size:var(--fs-xs);font-weight:500;white-space:nowrap;overflow:hidden;min-width:0}
.person-kopf{display:flex;gap:var(--s-4);align-items:center}
.avatar{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--fs-xs);color:var(--weiss);flex:none}
.avatar.firma{border-radius:var(--r-m)}

/* Fragen */
.optionen{display:grid;gap:var(--s-2);grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.optionen button{border:1px solid var(--line-2);border-radius:var(--r-l);padding:var(--s-4) var(--s-4);font-weight:500}
.optionen button:hover{border-color:var(--accent)}
.optionen button.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}

/* Ergebnis */
.stufen{list-style:none;margin:0;padding:0}
.stufen li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:var(--s-4);align-items:start;padding:var(--s-4) 0;border-bottom:1px solid var(--line)}
.stufen li:last-child{border-bottom:0}
.stufen .n{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:600;color:var(--weiss)}
.n.ok{background:var(--ok)}.n.warn{background:var(--warn)}.n.bad{background:var(--bad)}
.chart{width:100%;height:auto;display:block}
.chart text{font-family:var(--sans);font-size:12px;fill:var(--ink-2)}
.chart .lbl{fill:var(--ink);font-weight:500}
.chart .gitter{stroke:var(--line)}

/* Übersicht */
.schritte{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.schritte button{padding:var(--s-4) var(--s-4);border-right:1px solid var(--line);display:grid;gap:var(--s-1)}
.schritte button:last-child{border-right:0}
.schritte button:hover{background:var(--fill)}
.schritte .st{font-size:var(--fs-xs)}

/* Dokumente */
.dokzeile{display:grid;grid-template-columns:36px minmax(0,1.6fr) minmax(0,1fr) 70px minmax(0,1.1fr) 24px;gap:var(--s-4);align-items:center;padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--line);width:100%;text-align:left}
.dokzeile:hover{background:var(--fill)}
.dokzeile .icon{width:26px;height:32px;border:1px solid var(--line-2);border-radius:3px;position:relative;background:var(--weiss)}
.dokzeile .icon::before{content:"";position:absolute;left:5px;right:5px;top:8px;height:2px;background:var(--line-2);box-shadow:0 5px 0 var(--line-2),0 10px 0 var(--line-2)}
.dokzeile .icon.sheet::before{left:3px;right:3px;top:6px;height:18px;background:repeating-linear-gradient(90deg,var(--line-2) 0 1px,transparent 1px 6px),repeating-linear-gradient(0deg,var(--line-2) 0 1px,transparent 1px 5px);box-shadow:none}
.dokzeile.fehler{background:var(--bad-soft)}
.gruppe-titel{padding:var(--s-2) var(--s-4);background:var(--fill);font-size:var(--fs-xs);color:var(--ink-2);font-weight:500;border-bottom:1px solid var(--line)}
.ablage{border:1.5px dashed var(--accent-line);border-radius:var(--r);padding:var(--s-4) var(--s-4);display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;background:#fbfdfd}

/* Toast, Dialog */
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--weiss);border-radius:var(--r-l);padding:var(--s-2) var(--s-4);display:flex;gap:var(--s-4);align-items:center;box-shadow:var(--shadow);z-index:90;font-size:var(--fs-xs);max-width:calc(100vw - 32px)}
.toast button{color:#9ee0e3;font-weight:500;text-decoration:underline}
.dialog-grund{position:fixed;inset:0;background:rgba(20,24,28,.35);z-index:85;display:flex;align-items:center;justify-content:center;padding:var(--s-4)}
.dialog{background:var(--bg);border-radius:var(--r);max-width:460px;width:100%;padding:var(--s-6);box-shadow:var(--shadow)}
.dialog{position:relative}
.dialog.breit{max-width:560px}
.dialog-weg{position:absolute;inset:0;width:100%;height:100%;cursor:default}

/* Kopf: Einstellungen der App (⚙) und „…“-Menü der Bewertung */
.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 var(--s-2);border-radius:var(--r-m);border:1px solid var(--line);color:var(--ink-2);font-size:var(--fs-m);flex:none}
.icon-btn:hover{border-color:var(--line-2);background:var(--fill);color:var(--ink)}
.b-wahl{position:relative;display:flex;align-items:center;gap:var(--s-2);min-width:0}
.menue{position:absolute;top:44px;left:0;width:280px;max-width:calc(100vw - 32px);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow);padding:var(--s-2);z-index:60;display:flex;flex-direction:column}
.menue>button{text-align:left;padding:var(--s-2);border-radius:var(--r-m);font-size:var(--fs-s);color:var(--ink)}
.menue>button:hover{background:var(--fill)}
.menue .gefahr-text{color:var(--bad)}
.menue-frage{padding:var(--s-2);display:flex;flex-direction:column;gap:var(--s-2)}
.tab.kompakt td,.tab.kompakt th{padding:var(--s-2) var(--s-2);font-size:var(--fs-xs)}

/* Untere Navigation (Handy) */
.unten{display:none}
/* Bis 1440 px schwebt die Leiste rechts (Beleg, Chat) über dem Inhalt, statt ihn auf rund 560 px zu drücken (seit 2026-11-05;
   vorher 1240 px: auf einem Laptop mit 1280 px rutschten Kennzahlen und Zeilen über ihren Rand) */
@media (max-width:1440px){
  .app.mit-panel{grid-template-columns:224px minmax(0,1fr)}
  /* align-self:stretch: sonst gilt das „start“ von oben auch für die feste Leiste, sie wird so hoch wie ihr Inhalt und
     lässt sich nicht mehr scrollen (2026-10-16) */
  .panel{position:fixed;right:0;top:var(--top);bottom:0;height:auto;align-self:stretch;width:min(var(--panel),100vw);box-shadow:var(--shadow);z-index:30}
}
@media (max-width:900px){
  .grid3,.grid2{grid-template-columns:minmax(0,1fr)}
  .schritte{grid-template-columns:repeat(2,minmax(0,1fr))}
  .schritte button:nth-child(2){border-right:0}
  .schritte button:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .baumliste .zeile{grid-template-columns:minmax(0,1fr) 70px 92px}
  .baumliste .zeile>:nth-child(2),.baumliste .zeile>:nth-child(3),.baumliste .zeile>:nth-child(5){display:none}
}
@media (max-width:760px){
  .app,.app.mit-panel{grid-template-columns:minmax(0,1fr)}
  .nav{display:none}
  main{padding:var(--s-4) var(--s-4) 110px}
  .top{gap:var(--s-2);padding:0 var(--s-4)}
  .marke span{display:none}
  .suche{width:auto;flex:1;min-width:0}
  .fallwahl{max-width:150px}
  .top .chatbtn .txt{display:none}
  .top .chatbtn{padding:0 var(--s-2)}
  .panel{top:0;width:100vw;z-index:60}
  .unten{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;background:var(--bg);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));z-index:25}
  .unten button{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:var(--fs-xs);padding:var(--s-1) 2px;min-height:46px;color:var(--ink-2);border-radius:var(--r-m)}
  .unten button.on{color:var(--accent);font-weight:600}
  .unten .ic{font-size:var(--fs-m)}
  .original-body{grid-template-columns:minmax(0,1fr)}
  .original-toc{display:none}
  .blatt{padding:var(--s-6) var(--s-6) var(--s-8)}
  .blatt .skopf{left:22px;right:22px}.blatt .snr{right:22px}
  .dokzeile{grid-template-columns:30px minmax(0,1fr) 24px}
  .dokzeile>:nth-child(3),.dokzeile>:nth-child(4),.dokzeile>:nth-child(5){display:none}
  .kachel .gross{font-size:var(--fs-xl)}
  .toast{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
}

/* Personen-Auswahl, Schenkung / Erbfall */
.pchips{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-2)}
.pchip{display:flex;align-items:center;gap:var(--s-2);border:1px solid var(--line-2);border-radius:999px;padding:var(--s-2) var(--s-4) var(--s-2) var(--s-2);background:var(--bg);max-width:340px}
.pchip:hover{border-color:var(--accent)}
.pchip.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}
.pchip .avatar{width:32px;height:32px;font-size:var(--fs-xs)}
.pchip .pt{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.pchip .pt b,.pchip .pt span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.avatar.gross{width:48px;height:48px;font-size:var(--fs-m)}
.person-kopf .grow{flex:1}
.panel-titel{font-size:var(--fs-s)}
.schritt-kopf{display:flex;gap:var(--s-4);align-items:flex-start;margin-bottom:var(--s-4)}
.schritt-kopf .nr{width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--weiss);display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:600;flex:none;margin-top:1px}
.optionen.wahl2 button{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-4) var(--s-6);font-size:var(--fs-m)}
.input.kurz{width:84px;min-height:34px;height:34px;text-align:right;padding:var(--s-1) var(--s-2)}
.tab select.input{min-height:34px;height:34px;padding:var(--s-1) var(--s-2);min-width:230px}
.nowrap{white-space:nowrap}
.ue-dazu{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--line)}
.ue-dazu .input{width:auto;min-height:34px;height:34px;padding:var(--s-1) var(--s-2)}
.ue-dazu select.input:first-child{min-width:260px}
.ue-dazu #neu-name{min-width:220px}
.tab tr.summe td{border-top:1px solid var(--line-2);background:var(--fill)}
.rechenweg-box{border:1px solid var(--line);border-radius:var(--r);padding:0 var(--s-4)}
.rechenweg-box summary{cursor:pointer;padding:var(--s-2) 0;font-weight:500;list-style:none}
.rechenweg-box summary::-webkit-details-marker{display:none}
.rechenweg-box .pf{display:inline-block;transition:transform .15s;color:var(--muted)}
.rechenweg-box[open] .pf{transform:rotate(90deg)}
.tab.rechenweg{margin-bottom:var(--s-4)}
.tab.rechenweg td{padding:var(--s-2) var(--s-2)}
.tab.rechenweg tr.summe td{font-weight:600}
.tab.rechenweg tr.ergebnis td{border-top:2px solid var(--ink);font-size:var(--fs-s)}
.tab .person-kopf b{white-space:nowrap}
.kopfzeile-karte{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-4);margin-bottom:var(--s-4)}
.kopfzeile-karte>div{flex:1;min-width:0}
.ann-zahl{color:var(--lila)}
.rechenweg-box h4{font-size:var(--fs-xs);font-weight:600;margin:var(--s-1) 0 var(--s-2)}
.tab.rechenweg tr.zwischen td{color:var(--ink-2);border-top:1px dashed var(--line-2)}
.ue-felder{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--s-4);padding:var(--s-2) 0 var(--s-4)}
.ue-gruppe{display:flex;flex-direction:column;gap:var(--s-2)}
.ue-feld{display:flex;flex-direction:column;gap:3px}
.ue-feld .input{min-height:34px;height:34px;padding:var(--s-1) var(--s-2)}
.ue-feld .input.num{width:170px;text-align:right}
.ue-feld .input.datum{width:190px}
.ue-check{display:flex;gap:var(--s-2);align-items:center;font-size:var(--fs-xs)}
.nachlass-box{border:1px solid var(--line);border-radius:var(--r);background:var(--fill);padding:var(--s-4) var(--s-4);margin-bottom:var(--s-4)}
.nachlass-box .ue-felder{padding-top:var(--s-2)}

/* Wertbrücke (Ergebnis): Zeilen mit Balken; start und summe ab 0, plus und minus ab der laufenden Summe */
.wf{display:flex;flex-direction:column;gap:2px}
.wf-zeile{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,2fr) minmax(104px,auto);gap:var(--s-4);align-items:center;padding:var(--s-2) 0;border-bottom:1px solid var(--line)}
.wf-zeile:last-child{border-bottom:0}
.wf-zeile.summe .wf-text,.wf-zeile.summe .wf-betrag{font-weight:600}
.wf-text{font-size:var(--fs-xs);line-height:1.35;overflow-wrap:anywhere}
.wf-spur{position:relative;height:16px;background:var(--fill);border-radius:var(--r-m)}
.wf-balken{position:absolute;top:2px;bottom:2px;border-radius:3px;border:0;padding:0;display:block}
button.wf-balken{cursor:pointer}
button.wf-balken:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wf-balken.start{background:var(--ink-2)}.wf-balken.summe{background:var(--ink)}.wf-balken.plus{background:var(--accent)}.wf-balken.minus{background:var(--warn)}
.wf-betrag{text-align:right;font-size:var(--fs-xs);white-space:nowrap}
.wf-steuer{margin-top:var(--s-2);padding-top:var(--s-2);border-top:1px dashed var(--line-2)}
.wf-vergleich{margin:0 0 var(--s-2);line-height:1.45}.wf-vergleich .wf-detail{margin-top:var(--s-1)}   /* welcher Weg gilt, über der Brücke */
/* Schwellen-Radar (Ergebnis) */
.schwellen{display:flex;flex-direction:column;gap:var(--s-4);margin-top:var(--s-2)}
.schwelle{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-4) 0;border-top:1px solid var(--line)}
.schwelle-mess{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-4);align-items:center}
.skala{position:relative;height:12px;border-radius:var(--r-m);overflow:visible;background:var(--fill)}
.skala .zone{position:absolute;top:0;bottom:0}
.skala .zone.gut{background:var(--ok-soft)}.skala .zone.schlecht{background:var(--warn-soft)}
.skala .grenze{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--ink)}
.skala .punkt{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;   /* zentriert den 14 px großen Punkt */border-radius:50%;border:2px solid var(--weiss);background:var(--ok);box-shadow:0 0 0 1px var(--line-2)}
.skala .punkt.knapp{background:var(--gelb)}.skala .punkt.jenseits{background:var(--warn)}
@media (max-width:720px){.wf-zeile{grid-template-columns:minmax(0,1fr) auto}.wf-spur{grid-column:1/-1;grid-row:2}}

/* Änderungen mit Ursache (Prüfung) */
.aend-tab .plus{color:var(--warn)}.aend-tab .minus{color:var(--ok)}
.aend-tab tfoot td{border-top:2px solid var(--line-2)}
.chip .plus{color:var(--warn)}.chip .minus{color:var(--ok)}

/* Große Strukturen (konzern.js): Gesellschaft wählen, Verbund von unten nach oben */
.combo{display:inline-flex;align-items:center;gap:var(--s-1);max-width:100%;min-width:0}
.combo-anker{position:relative;min-width:0;display:flex}
.combo-knopf{display:inline-flex;align-items:center;gap:var(--s-2);height:34px;padding:0 var(--s-2);border:1px solid var(--line-2);border-radius:var(--r-m);background:var(--bg);width:min(380px,calc(100vw - 120px));min-width:0}
.combo-knopf .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:left;font-weight:500}
.combo-knopf:hover,.combo-knopf[aria-expanded="true"]{border-color:var(--accent)}
.combo-knopf .chip,.combo-opt .chip{padding:0 var(--s-2);min-width:20px;justify-content:center}
.combo .blaettern{width:34px;height:34px;border:1px solid var(--line-2);border-radius:var(--r-m);display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-l);color:var(--ink-2);background:var(--bg);flex:none}
.combo .blaettern:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.combo .blaettern:disabled{opacity:.35;cursor:default}
.combo-pop{position:absolute;top:40px;left:0;width:min(460px,calc(100vw - 32px));background:var(--bg);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow);padding:var(--s-2);z-index:70;display:flex;flex-direction:column;gap:var(--s-2)}
.combo-pop .input{min-height:36px;height:36px}
.combo-liste{max-height:min(55vh,420px);overflow:auto;display:flex;flex-direction:column}
.combo-opt{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-2);border-radius:var(--r-m);font-size:var(--fs-s);text-align:left;flex:none}
.combo-opt .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.combo-opt:hover,.combo-opt.aktiv{background:var(--fill)}
.combo-opt.aktiv{box-shadow:inset 2px 0 0 var(--accent)}
.combo-opt.gewaehlt .t{font-weight:600}
.combo-opt mark{background:var(--hl);color:inherit;border-radius:2px}
.firmenwahl-zeile{gap:var(--s-2)}
.link-schlicht{color:inherit;text-align:left;cursor:pointer}
.link-schlicht:hover{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.kante.fluss{stroke:var(--accent)}
.qlabel.fluss{fill:var(--accent)}
.pfeil-k{fill:var(--accent);stroke:var(--weiss);stroke-width:1.5;stroke-linejoin:round}
.pfeil-k.vv{fill:var(--warn)}
.knoten .lb.eigen{fill:var(--accent)}
.knoten .lb.unten{fill:var(--accent-line)}
.knoten.spitze .lb.eigen{fill:#8fd3d8}
.knoten.spitze .lb.unten{fill:#3d7f86}
.knoten.linse.leer rect.box{fill:#fafaf8}
.knoten.linse.leer text{fill:var(--muted)}
.baumliste.stufen .zeile{grid-template-columns:minmax(200px,1fr) 64px 124px 124px 132px 124px;min-width:800px}
.baumliste.stufen .name .t{font:inherit}
.stufen-tab td:first-child{white-space:nowrap}
.schwellen-gruppe{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--line)}
