/* ══════════════════════════════════════════════════════════════════════════
   Werkstatt-Look fürs Kalkulations-Modul (UX-Lab Rang 3 „Selbstkosten-Werkstatt").
   ALLES unter .klr-werkstatt gescoped → der Rest der App bleibt unverändert.
   Trick: die App-eigenen Tokens (--surface/--border/--text/--accent/--radius) werden
   auf die Werkstatt-Palette umgebogen, dadurch erben bestehende .kalk-*-Bausteine
   den Look automatisch; darauf die neuen Matrix-Klassen (.wk-*).
   ══════════════════════════════════════════════════════════════════════════ */

.klr-werkstatt{
  /* Werkstatt-eigene Tokens (aus variant-werkstatt.html) */
  /* Variante C „Werkstatt-Schiene": Papier-Flächen + EIN warmer Oxblood-Akzent (ersetzt Cobalt). */
  --ink:#20242a; --ink-2:#4a5460; --ink-3:#7c8592;
  --paper:#e9e5dc; --panel:#f5f2eb; --panel-2:#fbf9f4;
  --line:#d2ccc0; --line-strong:#b3aa9b;
  --cobalt:#9e3b2e; --cobalt-wash:#f3e3df; --cobalt-ink:#7a2c22;
  --good:#4c6b4a; --good-w:#dce7d9; --wrn:#a9701f; --wrn-w:#f3e6cf; --bad:#bb342c; --bad-w:#f6d9d2;
  --mono:'JetBrains Mono', ui-monospace, monospace;
  --sans:'Space Grotesk', system-ui, sans-serif;
  /* App-Tokens im Modul auf Werkstatt umbiegen → reskint bestehende kalk-* gratis */
  --surface:#f5f2eb; --surface2:#fbf9f4; --border:#d2ccc0; --border2:#b3aa9b;
  --text:#20242a; --text2:#4a5460; --text3:#7c8592;
  --accent:#9e3b2e; --accent-light:#f3e3df; --accent-deep:#7a2c22;
  --radius:7px; --radius-sm:5px;
  font-family:var(--sans); color:var(--ink);
  /* kein eigener Flächen-Hintergrund → der Content sitzt auf dem normalen App-Hintergrund (kein beiger Kasten) */
}
.klr-werkstatt h2, .klr-werkstatt h3, .klr-werkstatt .kalk-sub{ letter-spacing:-.2px; }
.klr-werkstatt a{ color:var(--cobalt); }
.klr-werkstatt .kalk-pos{ color:var(--good); }
.klr-werkstatt .kalk-neg{ color:var(--bad); }
.klr-werkstatt .kalk-warn{ color:var(--wrn); }
/* Café-weit hereingezogene Zeitraum-Kostenposition (Fremd-Anker) – dezent abgesetzt, read-only */
.klr-werkstatt .ki-crow-shared{ background:var(--panel-2); opacity:.9; }
/* Aktionszelle (Kostenarten-Verwaltung + Kostenpositionen): Bearbeiten + Löschen nebeneinander */
.klr-werkstatt .ki-krow-act{ display:inline-flex; gap:6px; align-items:center; justify-content:flex-end; }
/* Kostenposition im Bearbeiten-Modus: Zeile markiert + Formular hervorgehoben */
.klr-werkstatt .ki-crow-editing{ background:var(--cobalt-wash); }
.klr-werkstatt .kk-form-edit{ border:1px solid var(--cobalt); border-radius:6px; padding:10px; background:var(--panel); }
/* Berechnungslauf-Liste: Hinweise-Zähler aufklappbar → zeigt die konkreten Warn-/Fehlertexte */
.klr-werkstatt .kl-hint-btn{ background:none; border:0; padding:0; cursor:pointer; font:inherit; color:inherit;
  display:inline-flex; align-items:center; gap:4px; }
.klr-werkstatt .kl-hint-btn .caret{ transition:transform .12s; color:var(--ink-3); }
.klr-werkstatt .kl-hint-btn[aria-expanded="true"] .caret{ transform:rotate(90deg); }
.klr-werkstatt .kl-warn-detail{ background:var(--panel-2); border:1px solid var(--line); border-radius:6px;
  padding:8px 12px; margin:2px 0 6px; font-size:12.5px; display:flex; flex-direction:column; gap:4px; }
.klr-werkstatt .kl-warn-item{ color:var(--ink-2); }
.klr-werkstatt .kl-warn-lvl{ font-family:var(--mono); font-size:11px; font-weight:700; }
.klr-werkstatt .kalk-noprice{ color:var(--bad); }
.klr-werkstatt .kalk-price, .klr-werkstatt .kalk-kpi-v{ font-family:var(--mono); font-variant-numeric:tabular-nums; }

/* Buttons/Chips: Cobalt-Akzent mit sicherem Kontrast */
.klr-werkstatt .btn-primary{ background:var(--cobalt); border-color:var(--cobalt); color:#fff; }
.klr-werkstatt .btn-primary:hover{ background:#2a63dd; }
.klr-werkstatt .filter-chip[aria-pressed="true"]{ background:var(--cobalt); border-color:var(--cobalt); color:#fff; }

/* Tabellen-Kopfzeilen (Auswertung u. a.): dunkler Werkbank-Kopf + Cobalt-Kante, Mono-Zahlen */
.klr-werkstatt .kalk-row.kalk-head{ background:var(--ink); color:#dfe6ef; border-bottom:2px solid var(--cobalt); border-radius:6px 6px 0 0; }
.klr-werkstatt .kalk-head span{ text-transform:uppercase; letter-spacing:.4px; font-size:11px; }
.klr-werkstatt .ka-row span:not(:first-child), .klr-werkstatt .kg-row span:not(:first-child){ font-family:var(--mono); font-variant-numeric:tabular-nums; }

/* ── Matrix (Herzstück, #page-artikel) ─────────────────────────────────────── */
.klr-werkstatt .wk-shell{ border:1px solid var(--line-strong); border-radius:7px; overflow-x:auto; background:var(--panel);
  box-shadow:0 1px 0 rgba(27,36,49,.06), 0 6px 22px -14px rgba(27,36,49,.5); margin-top:8px; }
.klr-werkstatt .wk-matrix{ border-collapse:separate; border-spacing:0; width:100%; min-width:720px; font-size:13px; }
.klr-werkstatt .wk-matrix thead th{ position:sticky; top:0; z-index:5; background:var(--ink); color:#dfe6ef;
  font-weight:600; font-size:11px; letter-spacing:.4px; text-transform:uppercase; padding:9px 11px; text-align:right;
  white-space:nowrap; border-bottom:2px solid var(--cobalt); }
.klr-werkstatt .wk-matrix thead th.lft{ text-align:left; }
.klr-werkstatt .wk-matrix td{ padding:7px 11px; border-bottom:1px solid var(--line); white-space:nowrap; text-align:right; vertical-align:middle; }
.klr-werkstatt .wk-matrix td.wk-name{ text-align:left; }
.klr-werkstatt tr.wk-art:hover td{ background:var(--panel-2); }
.klr-werkstatt tr.wk-art.open td{ background:var(--cobalt-wash); }
.klr-werkstatt .num{ font-family:var(--mono); font-variant-numeric:tabular-nums lining-nums; }

.klr-werkstatt .wk-namebtn{ display:flex; align-items:center; gap:9px; width:100%; background:none; border:0; padding:0;
  font-family:var(--sans); color:var(--ink); font-size:13.5px; text-align:left; cursor:pointer; }
.klr-werkstatt .wk-namebtn b{ font-weight:600; }
.klr-werkstatt .caret{ width:18px; height:18px; flex:0 0 auto; border:1px solid var(--line-strong); border-radius:4px;
  display:grid; place-items:center; background:var(--panel); font-family:var(--mono); font-size:12px; color:var(--ink-2);
  transition:transform .18s, background .15s, color .15s; }
.klr-werkstatt tr.wk-art.open .caret{ transform:rotate(90deg); background:var(--cobalt); color:#fff; border-color:var(--cobalt); }
.klr-werkstatt .type-tag{ font-family:var(--mono); font-size:9.5px; text-transform:uppercase; letter-spacing:.6px;
  padding:1px 6px; border-radius:4px; border:1px solid var(--line-strong); color:var(--ink-3); }
.klr-werkstatt .type-tag.rez{ border-color:var(--cobalt); color:var(--cobalt); background:var(--cobalt-wash); }
.klr-werkstatt .wk-flag{ font-family:var(--mono); font-size:9.5px; text-transform:uppercase; letter-spacing:.5px;
  background:var(--bad-w); color:var(--bad); padding:1px 6px; border-radius:4px; margin-left:4px; }

/* editierbare VK-Zelle */
.klr-werkstatt td.wk-edit{ text-align:right; }
.klr-werkstatt .cell-in{ font-family:var(--mono); font-variant-numeric:tabular-nums; text-align:right; width:80px;
  border:1px dashed var(--line-strong); background:var(--panel); border-radius:5px; padding:3px 6px; color:var(--ink); font-size:12.5px; outline:none; }
.klr-werkstatt .cell-in:hover{ border-style:solid; border-color:var(--cobalt); }
.klr-werkstatt .cell-in:focus{ border-style:solid; border-color:var(--cobalt); background:#fff; box-shadow:0 0 0 3px rgba(31,82,196,.15); }
.klr-werkstatt tr.wk-dirty .cell-in{ border-color:var(--wrn); background:#fffaef; }
.klr-werkstatt tr.wk-dirty td.wk-name b::after{ content:" •"; color:var(--wrn); }

/* Margen-Pill (RAG nur hier) */
.klr-werkstatt .wk-marge{ text-align:right; }
.klr-werkstatt .marge-pill{ display:inline-flex; justify-content:flex-end; font-family:var(--mono); font-weight:700;
  font-size:12.5px; padding:3px 9px; border-radius:5px; min-width:60px; }
.klr-werkstatt .marge-pill.m-good{ background:var(--good-w); color:var(--good); }
.klr-werkstatt .marge-pill.m-warn{ background:var(--wrn-w); color:var(--wrn); }
.klr-werkstatt .marge-pill.m-bad{ background:var(--bad-w); color:var(--bad); }
.klr-werkstatt .wk-marge-eur.kalk-pos{ color:var(--good); }
.klr-werkstatt .wk-marge-eur.kalk-neg{ color:var(--bad); }

/* ── aufgeklappte Kaskade (Signatur) ──────────────────────────────────────── */
.klr-werkstatt tr.wk-cascade>td{ padding:0; border-bottom:2px solid var(--line-strong); }
.klr-werkstatt .cascade-body{ background:linear-gradient(180deg,#f4f6ff,var(--panel)); padding:16px 18px;
  display:grid; grid-template-columns:1.7fr 1fr; gap:22px; }
.klr-werkstatt .casc-title{ font-family:var(--mono); font-size:10.5px; letter-spacing:1.2px; text-transform:uppercase; color:var(--ink-3); margin:0 0 10px; }
.klr-werkstatt .waterfall{ display:flex; align-items:stretch; flex-wrap:wrap; margin-bottom:12px; }
.klr-werkstatt .wf-step{ padding:9px 14px; background:var(--panel); border:1px solid var(--line); border-right:0; min-width:104px; }
.klr-werkstatt .wf-step:first-child{ border-radius:7px 0 0 7px; }
.klr-werkstatt .wf-step.op{ background:transparent; border:0; display:grid; place-items:center; min-width:24px; padding:0 2px;
  font-family:var(--mono); font-weight:700; color:var(--cobalt); font-size:16px; }
.klr-werkstatt .wf-step.sum{ background:var(--ink); color:#eaf0f8; border-color:var(--ink); }
.klr-werkstatt .wf-step.result{ background:var(--cobalt); border-color:var(--cobalt); color:#fff; border-radius:0 7px 7px 0; border-right:1px solid var(--cobalt); }
.klr-werkstatt .wf-lbl{ font-family:var(--mono); font-size:9.5px; text-transform:uppercase; letter-spacing:.5px; opacity:.72; display:block; margin-bottom:3px; }
.klr-werkstatt .wf-num{ font-family:var(--mono); font-weight:700; font-size:14px; }
.klr-werkstatt .wk-figs{ display:flex; flex-wrap:wrap; gap:18px; margin-bottom:12px; font-size:12.5px; color:var(--ink-2); }
.klr-werkstatt .wk-figs b{ font-family:var(--mono); }
.klr-werkstatt .pug{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:12px; }
.klr-werkstatt .pug-box{ flex:1 1 130px; border:1px solid var(--line); border-radius:6px; padding:8px 11px; background:var(--panel); }
.klr-werkstatt .pug-box.short{ border-left:3px solid var(--wrn); }
.klr-werkstatt .pug-box.long{ border-left:3px solid var(--cobalt); }
.klr-werkstatt .pug-k{ font-family:var(--mono); font-size:9.5px; text-transform:uppercase; letter-spacing:.5px; color:var(--ink-3); display:block; }
.klr-werkstatt .pug-v{ font-family:var(--mono); font-weight:700; font-size:15px; display:block; margin-top:2px; }
.klr-werkstatt .pug-box small{ font-family:var(--mono); font-size:10px; color:var(--ink-3); }
.klr-werkstatt .wk-badge{ font-family:var(--mono); font-size:9.5px; text-transform:uppercase; letter-spacing:.5px; background:var(--cobalt-wash); color:var(--cobalt); padding:1px 6px; border-radius:4px; }
.klr-werkstatt .wk-edit-panel{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
@media(max-width:820px){ .klr-werkstatt .cascade-body{ grid-template-columns:1fr; } }

/* ── Kommando-Leiste (sticky bottom innerhalb der Artikel-Seite) ──────────── */
.klr-werkstatt .wk-cmdbar{ position:sticky; bottom:0; z-index:20; margin-top:14px; display:flex; align-items:center;
  flex-wrap:wrap; background:var(--ink); color:#e7edf4; border-top:2px solid var(--cobalt); border-radius:7px 7px 0 0;
  box-shadow:0 -8px 26px -18px rgba(0,0,0,.7); }
.klr-werkstatt .sum-cell{ padding:9px 15px; border-right:1px solid #2b3a55; display:flex; flex-direction:column; line-height:1.15; }
.klr-werkstatt .sum-cell .sk{ font-family:var(--mono); font-size:9.5px; text-transform:uppercase; letter-spacing:.6px; color:#8ea3c0; }
.klr-werkstatt .sum-cell .sv{ font-family:var(--mono); font-weight:700; font-size:15px; color:#fff; }
.klr-werkstatt .sum-cell .sv.acc{ color:#8fc9ff; }
.klr-werkstatt .cmd-spacer{ flex:1 1 auto; }
.klr-werkstatt .cmd-actions{ display:flex; gap:8px; padding:8px 10px; }
.klr-werkstatt .wk-cmdbar .btn{ background:transparent; border:1px solid #3d5178; color:#cfe0ff; }
.klr-werkstatt .wk-cmdbar .btn:hover{ background:#2a3a56; }
@media(max-width:720px){ .klr-werkstatt .sum-cell:nth-child(n+4){ display:none; } }

/* ── A11y / Motion ────────────────────────────────────────────────────────── */
.klr-werkstatt :focus-visible{ outline:2.5px solid var(--cobalt); outline-offset:2px; border-radius:3px; }
@media(prefers-reduced-motion:reduce){ .klr-werkstatt *{ transition:none !important; } }

/* ── Modul-Kopf (Chrome): Kontext + Phasen-Fluss + Chips — nur im Kalk-Modul sichtbar ── */
#kalk-chrome{display:none;}
body[data-module="kalkulation"] #kalk-chrome{display:block;}
.klr-chrome{position:sticky; top:52px; z-index:30; background:var(--panel);
  border-bottom:2px solid var(--cobalt); box-shadow:0 6px 18px -14px rgba(27,36,49,.6);
  padding:9px 24px 0; margin-bottom:16px; background-image:none;}
.klr-chrome .klr-chead{display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding-bottom:9px;}
.klr-chrome .klr-chead .m-inp{font-family:var(--sans);}
.klr-runchip{display:inline-flex; align-items:center; gap:8px; margin-left:auto; font-family:var(--mono);
  font-size:12px; background:var(--ink); color:#dfe6ef; border-radius:20px; padding:5px 13px 5px 9px;}
.klr-runchip .dot{width:8px; height:8px; border-radius:50%; background:var(--good); box-shadow:0 0 0 3px rgba(33,122,75,.28);}
.klr-runchip .dot.open{background:var(--wrn); box-shadow:0 0 0 3px rgba(154,106,18,.25);}
.klr-runchip.frozen{color:#8fc9ff;}
.klr-flow{display:flex; align-items:stretch; overflow-x:auto; gap:0;}
.klr-step{flex:1 1 0; min-width:150px; display:flex; align-items:center; gap:10px; padding:11px 13px;
  border:0; border-right:1px solid var(--line); background:none; text-align:left; cursor:pointer;
  font-family:var(--sans); color:var(--ink-2); position:relative;}
.klr-step:first-child{border-left:1px solid var(--line);}
.klr-step:hover{background:var(--panel-2);}
.klr-step .no{width:22px; height:22px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center;
  font-family:var(--mono); font-size:12px; font-weight:700; border:1.5px solid var(--line-strong); color:var(--ink-3); background:var(--panel);}
.klr-step .lbl{display:flex; flex-direction:column; line-height:1.2; min-width:0;}
.klr-step .lbl b{font-size:12.5px; color:var(--ink); font-weight:600;}
.klr-step .lbl span{font-size:10.5px; color:var(--ink-3); font-family:var(--mono); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.klr-step.done .no{background:var(--good); border-color:var(--good); color:#fff;}
.klr-step.current{background:var(--cobalt-wash);}
.klr-step.current .no{background:var(--cobalt); border-color:var(--cobalt); color:#fff;}
.klr-step.current::after{content:""; position:absolute; left:0; right:0; bottom:-2px; height:3px; background:var(--cobalt);}
.klr-chips{display:flex; gap:6px; flex-wrap:wrap; padding:9px 0;}
.klr-chip{font-family:var(--sans); font-weight:600; font-size:12.5px; padding:6px 13px; cursor:pointer;
  background:var(--panel); border:1px solid var(--line); border-radius:20px; color:var(--ink-2);}
.klr-chip:hover{color:var(--ink); border-color:var(--line-strong);}
.klr-chip.on{background:var(--cobalt); border-color:var(--cobalt); color:#fff;}

/* ── Übersicht/Hub ── */
.wk-hub .hub-head{margin-bottom:16px;}
.wk-hub .eyebrow{font-family:var(--mono); font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--cobalt); font-weight:700;}
.wk-hub h2{font-size:23px; margin:4px 0 4px; letter-spacing:-.3px;}
.hub-cards{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px;}
.wk-hubcard{border:1px solid var(--line-strong); border-radius:7px; padding:13px 15px; background:var(--panel); display:flex; flex-direction:column; gap:6px;}
.wk-hubcard.done{opacity:.85;}
.wk-hubcard.next{border-color:var(--cobalt); border-left:4px solid var(--cobalt); background:linear-gradient(180deg,#f4f6ff,var(--panel));}
.wk-hubcard.next.ok{border-color:var(--good); border-left-color:var(--good);}
.wk-hubcard .hc-k{font-family:var(--mono); font-size:10px; letter-spacing:.6px; text-transform:uppercase; color:var(--ink-3);}
.wk-hubcard .hc-v{font-size:16px; font-weight:600; color:var(--ink);}
.wk-hubcard .hc-h{font-size:12px; color:var(--ink-2); flex:1;}
.wk-hubcard .btn{align-self:flex-start; margin-top:4px;}
@media(max-width:720px){ .klr-chrome{top:0;} }

/* Selbstkosten-Herleitung: „i"-Button in der Matrix (nutzt die Werkstatt-Tokens) */
.klr-werkstatt .sk-info{ display:inline-grid; place-items:center; width:15px; height:15px; margin-left:6px;
  vertical-align:middle; font-family:var(--mono); font-size:9.5px; font-weight:700; line-height:1;
  color:var(--ink-3); background:var(--panel); border:1px solid var(--line-strong); border-radius:4px;
  cursor:help; padding:0; }
.klr-werkstatt .sk-info:hover, .klr-werkstatt .sk-info:focus-visible{
  color:var(--cobalt); border-color:var(--cobalt); background:var(--cobalt-wash); }
/* ponytail: .sk-pop hängt an document.body (kein Overflow-Clipping durch .wk-shell) → liegt AUSSERHALB
   von .klr-werkstatt, wo die Tokens gescopt sind. Palette hier deshalb bewusst hart. */
.sk-pop{ position:fixed; z-index:60; max-width:360px; max-height:72vh; overflow:auto;
  background:#faf9f4; border:1px solid #a9a89b; border-radius:7px; box-shadow:0 10px 30px rgba(0,0,0,.18);
  padding:12px 14px; font-family:'Space Grotesk', system-ui, sans-serif; font-size:12.5px; color:#1b2431;
  opacity:0; visibility:hidden; transform:translateY(-2px); transition:opacity .12s, transform .12s; }
.sk-pop.open{ opacity:1; visibility:visible; transform:none; }
.sk-pop-hd{ font-family:'JetBrains Mono',ui-monospace,monospace; font-size:10px; letter-spacing:1px;
  text-transform:uppercase; color:#7c8797; margin-bottom:8px; }
.sk-pop .sk-note{ color:#9a6a12; font-size:11.5px; margin-bottom:8px; }
.sk-pop .sk-cat{ margin:8px 0; }
.sk-pop .sk-cl{ font-family:'JetBrains Mono',ui-monospace,monospace; font-size:10px; letter-spacing:.6px;
  text-transform:uppercase; color:#4a5666; margin-bottom:3px; }
.sk-pop .sk-src{ display:flex; justify-content:space-between; gap:12px; padding:1px 0; color:#4a5666; }
.sk-pop .sk-src span:last-child{ font-family:'JetBrains Mono',ui-monospace,monospace; white-space:nowrap; }
.sk-pop .sk-calc{ font-family:'JetBrains Mono',ui-monospace,monospace; padding:2px 0 2px 10px; color:#1b2431; }
.sk-pop .sk-calc.sk-sub{ color:#7c8797; }
.sk-pop .sk-total{ margin-top:8px; padding-top:8px; border-top:2px solid #a9a89b; }
.sk-pop .sk-total .sk-calc{ color:#1f52c4; font-size:13px; padding-left:0; }
.sk-pop .sk-foot{ margin-top:8px; padding-top:8px; border-top:1px dashed #c9c8bd; font-size:11px;
  color:#7c8797; line-height:1.45; }
@media(prefers-reduced-motion:reduce){ .sk-pop{ transition:none; } }

/* ══════════════════════════════════════════════════════════════════════════
   Variante C · Werkbank-Schiene (Spalte 2) — GRAPHIT, gescoped auf das Kalk-Modul.
   Eigene .kr-*-Klassen (NICHT .page/.mod) → keine Kollision mit core.css .page{display:none}.
   ══════════════════════════════════════════════════════════════════════════ */
body[data-module="kalkulation"] #sb-col2{ background:#282d34; padding:0; display:block; }
body[data-module="kalkulation"] .kr-rail{ font-family:var(--sans); color:#c7cdd4; }
body[data-module="kalkulation"] .kr-scroll{ padding:4px 0; }
body[data-module="kalkulation"] .kr-cockpit{ display:flex; align-items:center; gap:10px; margin:6px 8px;
  padding:8px 10px; border-radius:4px; cursor:pointer; border:1px solid #3a414a; background:rgba(255,255,255,.02);
  color:#c7cdd4; width:calc(100% - 16px); text-align:left; font:inherit; }
body[data-module="kalkulation"] .kr-cockpit:hover{ background:rgba(255,255,255,.05); }
body[data-module="kalkulation"] .kr-cockpit.on{ background:linear-gradient(90deg,rgba(158,59,46,.22),rgba(158,59,46,.05));
  border-color:#9e3b2e; color:#fbefec; }
body[data-module="kalkulation"] .kr-co-ic{ width:22px; height:22px; flex:none; display:grid; place-items:center;
  background:#20242a; border:1px solid #3a414a; border-radius:3px; color:#dde2e7; font-size:12px; }
body[data-module="kalkulation"] .kr-co-t b{ font-weight:600; color:#eef1f4; display:block; }
body[data-module="kalkulation"] .kr-co-t small{ font-family:var(--mono); font-size:10px; color:#8a929c; letter-spacing:.03em; }
body[data-module="kalkulation"] .kr-grp{ border-bottom:1px solid #3a414a; }
body[data-module="kalkulation"] .kr-grp-head{ display:flex; align-items:center; gap:9px; width:100%;
  padding:9px 12px; color:#8a929c; font:600 11px/1 var(--sans); letter-spacing:.13em;
  text-transform:uppercase; text-align:left; }
body[data-module="kalkulation"] .kr-idx, body[data-module="kalkulation"] .kr-gicon{ font-family:var(--mono);
  font-size:11px; color:#8a929c; width:16px; text-align:center; font-weight:500; letter-spacing:0; flex:none; }
body[data-module="kalkulation"] .kr-name{ flex:1; }
body[data-module="kalkulation"] .kr-stat{ font-family:var(--mono); font-size:9.5px; font-weight:500; letter-spacing:.02em;
  padding:2px 6px; border-radius:3px; }
body[data-module="kalkulation"] .kr-stat.ok{ color:#b6d6b3; background:rgba(76,107,74,.28); border:1px solid rgba(76,107,74,.5); }
body[data-module="kalkulation"] .kr-stat.due{ color:#e7be86; background:rgba(169,112,31,.24); border:1px solid rgba(169,112,31,.5); }
body[data-module="kalkulation"] .kr-stat.now{ color:#f0b7ab; background:rgba(158,59,46,.28); border:1px solid rgba(158,59,46,.6); }
body[data-module="kalkulation"] .kr-pages{ padding:2px 0 8px; }
body[data-module="kalkulation"] .kr-page{ display:flex; align-items:center; gap:10px; padding:5px 12px; cursor:pointer;
  position:relative; color:#c7cdd4; font-size:13.5px; line-height:1.25; text-decoration:none; }
body[data-module="kalkulation"] .kr-page:hover{ background:rgba(255,255,255,.035); }
body[data-module="kalkulation"] .kr-ln{ font-family:var(--mono); font-size:11px; color:#616974; width:26px;
  text-align:right; flex:none; }
body[data-module="kalkulation"] .kr-pn{ flex:1; display:flex; align-items:center; gap:7px; min-width:0; }
body[data-module="kalkulation"] .kr-t{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body[data-module="kalkulation"] .kr-marker{ width:6px; height:6px; border-radius:50%; flex:none; background:#5a626c; }
body[data-module="kalkulation"] .kr-page.done .kr-marker{ background:#4c6b4a; }
body[data-module="kalkulation"] .kr-page.open-todo .kr-marker{ background:transparent; border:1.5px solid #6e7680; width:8px; height:8px; }
body[data-module="kalkulation"] .kr-page.rule .kr-marker{ background:transparent; }
body[data-module="kalkulation"] .kr-opt{ font-family:var(--mono); font-size:10px; color:#6b7079; font-style:italic; }
body[data-module="kalkulation"] .kr-page.on{ background:linear-gradient(90deg,rgba(158,59,46,.22),rgba(158,59,46,.05));
  color:#fbefec; font-weight:600; }
body[data-module="kalkulation"] .kr-page.on::before{ content:""; position:absolute; left:0; top:0; bottom:0;
  width:3px; background:#c2543f; }
body[data-module="kalkulation"] .kr-page.on .kr-ln{ color:#d89a8e; }
body[data-module="kalkulation"] .kr-page.on .kr-marker{ background:#c2543f; }
body[data-module="kalkulation"] .kr-watershed{ margin:2px 0; padding:7px 12px; display:flex; align-items:center; gap:9px;
  background:repeating-linear-gradient(45deg,rgba(158,59,46,.12) 0 8px,rgba(158,59,46,.03) 8px 16px);
  border-top:1px solid rgba(158,59,46,.4); border-bottom:1px solid rgba(158,59,46,.4); }
body[data-module="kalkulation"] .kr-watershed.idle{ background:none; border-color:#3a414a; opacity:.7; }
body[data-module="kalkulation"] .kr-lock{ font-family:var(--mono); font-size:12px; color:#c2543f; }
body[data-module="kalkulation"] .kr-wtxt{ font-family:var(--mono); font-size:10px; letter-spacing:.06em;
  text-transform:uppercase; color:#d79a8e; line-height:1.3; }
body[data-module="kalkulation"] .kr-watershed.idle .kr-wtxt, body[data-module="kalkulation"] .kr-watershed.idle .kr-lock{ color:#8a929c; }
body[data-module="kalkulation"] .kr-wtxt b{ color:#f0c4bb; font-weight:600; display:block; }
body[data-module="kalkulation"] .kr-pin{ border-top:2px solid #000; background:#20242a; }
body[data-module="kalkulation"] .kr-grp.kr-gear{ border-bottom:0; }
body[data-module="kalkulation"] .kr-grp.kr-gear .kr-grp-head{ background:rgba(255,255,255,.02); }
body[data-module="kalkulation"] .kr-page:focus-visible, body[data-module="kalkulation"] .kr-cockpit:focus-visible,
body[data-module="kalkulation"] .kr-grp-head:focus-visible{ outline:2px solid #c2543f; outline-offset:-2px; }

/* ── Content-Bausteine Variante C (Papier-Arbeitsblatt), gescoped .klr-werkstatt ── */
.klr-chrome .klr-crumbs{ font-family:var(--mono); font-size:11px; color:#8a8378; padding:2px 0 0; }
.klr-chrome .klr-crumbs .sep{ color:var(--line-strong); margin:0 4px; }
.klr-chrome .klr-crumbs b{ color:var(--ink); }
.klr-werkstatt .kpis{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin:16px 0 4px; }
/* Seitenkopf im Werkstatt-Design (jede Kalk-Seite hat eine .members-head) */
.klr-werkstatt .members-head{ border-bottom:1px solid var(--line); padding-bottom:12px; margin-bottom:16px; }
.klr-werkstatt .members-title{ font-family:var(--sans); font-size:19px; font-weight:650; letter-spacing:-.01em; color:var(--ink); }
.klr-werkstatt .members-sub{ color:var(--ink-2); font-size:13px; max-width:74ch; }
.klr-werkstatt .ki-head{ font-family:var(--mono); font-size:11px; color:var(--ink-3); }
/* Listen als Papier-Arbeitsblatt — container-unabhängig (fast alle Kalk-Zeilen tragen .kalk-row):
   Zeilen-Padding + Haarlinien-Trenner überall; der Rahmen kommt dort dazu, wo ein .kalk-table-Wrapper existiert
   (Kostenpositionen/-arten, Umlage, Lauf, Auswertung, Personal). Zutaten/Semester/Inventur haben keinen Wrapper,
   bekommen aber dieselben Zeilen-Trenner. */
.klr-werkstatt .kalk-table{ gap:0; border:1px solid var(--line); border-radius:6px; overflow:hidden; background:var(--panel-2); }
.klr-werkstatt .kalk-row{ padding:7px 12px; }
.klr-werkstatt .kalk-row + .kalk-row{ border-top:1px solid var(--line); }
.klr-werkstatt .kalk-row:not(.kalk-head):hover{ background:var(--panel); }
.klr-werkstatt .kalk-row.kalk-head{ border-radius:0; }
.klr-werkstatt .kalk-row.kalk-head span{ font-family:var(--mono); font-size:10.5px; letter-spacing:.05em; text-transform:uppercase; }
.klr-werkstatt .kpi{ border:1px solid var(--line); border-radius:5px; padding:11px 13px; background:var(--panel-2); }
.klr-werkstatt .kpi .k{ font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:#8a8378; }
.klr-werkstatt .kpi .v{ font-family:var(--mono); font-size:22px; font-weight:600; letter-spacing:-.01em; margin-top:3px; }
.klr-werkstatt .kpi .v .u{ font-size:12px; color:#8a8378; font-weight:400; }
.klr-werkstatt .kpi.accent .v{ color:var(--cobalt); }
.klr-werkstatt .worklog{ margin-top:16px; border-left:2px solid var(--line); padding-left:14px;
  font-family:var(--mono); font-size:11.5px; color:#7a7268; line-height:1.9; }
.klr-werkstatt .worklog b{ color:var(--ink-2); }
.klr-werkstatt .worklog .ok{ color:var(--good); }
