
/* ==========================================================================
   Gestaltung abgeleitet aus dem Pammys-Auftritt: weisse Basis, Deep Black als
   Schrift, dazu die Produktfarben Pistachio Dream, Rose Blush, Coral Cloud,
   Pearl Grey und Lemon Sorbet. Die exakten Markenwerte liegen mir nicht vor;
   alle Farben stehen als Variablen und sind in einer Minute austauschbar.
   Bewusst beibehalten: einspaltige Zahlen im Monospace und Haarlinien in den
   Tabellen. Eine Bilanz mit 300 Zeilen braucht Lesbarkeit, keine Pastelltoene.
   ========================================================================== */
:root{
  --paper:#F5F6FA;          /* Flaeche, leicht blaeulich */
  --sheet:#FFFFFF;
  --nav:#1B2340;            /* Navy, Seitenleiste */
  --nav-2:#2A3358;          /* Navy, aktiver Punkt */
  --ink:#1B2340; --ink2:#5A6382; --ink3:#8E96AE;
  --onnav:#FFFFFF; --onnav2:#9AA3C0;
  --rule:#E4E7F0; --hair:#EDEFF6;
  --acc:#4B5BD7;            /* Blau, Bedienelemente */
  --pos:#3EA96B;            /* Gruen, Einzahlungen und positive Werte */
  --neg:#E05A4E;            /* Rot, Auszahlungen und negative Werte */
  --warn:#B8860B;
  --brand:#5E8C55;          /* Pammys Pistachio, fuer die Marke */
  --blush:#E6C3C6; --pearl:#D8D4CE; --coral:#F0A896; --lemon:#F1E4A8;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --sans:'IBM Plex Sans',system-ui,sans-serif;
  --disp:'Outfit',system-ui,sans-serif;
  --r:12px; --r2:8px;
  --sh:0 1px 2px rgba(27,35,64,.06),0 4px 14px rgba(27,35,64,.05);
}
/* Dunkles Erscheinungsbild. Dieselben Variablen, andere Werte: die
   Markenfarben bleiben, nur Flaeche und Schrift tauschen die Rollen. */
body.dark{
  --paper:#12141C; --sheet:#1A1D27; --nav:#0F1220; --nav-2:#242A42;
  --ink:#E8EAF2; --ink2:#A3AAC2; --ink3:#79809B;
  --pos:#5BC98A; --neg:#F08376; --acc:#7C87E8;
  --onnav:#EDEAE6; --onnav2:#8E8892;
  --rule:#302E36; --hair:#26242B;
  --acc:#8FBF83; --neg:#E08A72; --warn:#D6B25A;
  --blush:#8F6A6E; --pearl:#6B6862; --coral:#B0705F; --lemon:#8A7B44;
}
body.dark .assign{background:#2A2416}
body.dark .assign.soft{background:var(--sheet)}
body.dark table.accts tr.changed td{background:#1E2A1C}
body.dark table.accts tr.newacct td{background:#2A2416}
body.dark .dz code{background:#26242B}
body.dark .nav select{border-color:#332F39}
body.dark svg.chart .seg.c0{fill:#8FBF83} body.dark svg.chart .seg.c1{fill:#6E9765}
body.dark svg.chart .seglab{fill:#0C0B0E}
body.dark .ghost.primary,body.dark .seg button.on{color:#0C0B0E}
body.dark .badge{color:#0C0B0E}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:13.5px;
  line-height:1.5;-webkit-font-smoothing:antialiased}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.eyebrow{font-family:var(--disp);font-weight:600;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink3);margin:0 0 14px}
.sub{font-size:12px;color:var(--ink2);margin:0 0 16px;max-width:96ch;line-height:1.55}
.sub.ok{color:var(--acc)} .sub.bad{color:var(--neg)} .sub.warnc{color:var(--warn)}
.fine{font-size:11px;color:var(--ink3);line-height:1.4}

/* ---- Grundgeruest: feste Seitenleiste, scrollender Inhalt ---- */
#app{min-height:100vh}
.shell{display:grid;grid-template-columns:288px 1fr;align-items:start}
.shell.navrail{grid-template-columns:64px 1fr}
.content{min-width:0;padding:30px 34px 72px;max-width:1420px}
.nav{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--nav);
  color:var(--onnav);padding:22px 20px 28px;display:flex;flex-direction:column;gap:22px}
/* Schmale Schiene: Symbole bleiben erreichbar, ohne auszuklappen */
.rail{position:sticky;top:0;height:100vh;background:var(--nav);color:var(--onnav);
  padding:18px 0;display:flex;flex-direction:column;align-items:center;gap:12px}
.rail .navtog{color:var(--onnav);padding:8px}
.railtabs{display:flex;flex-direction:column;gap:4px;width:100%;align-items:center}
.railtabs button{position:relative;border:0;background:transparent;color:var(--onnav2);
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;
  border-radius:var(--r2)}
.railtabs button:hover{background:var(--nav-2);color:var(--onnav)}
.railtabs button.on{background:var(--sheet);color:var(--ink)}
.railtabs .dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;
  background:var(--acc)}
.railtabs .dot.e{background:var(--neg)} .railtabs .dot.w{background:var(--warn)}
.ico{flex:0 0 auto;display:block}
.brand{display:flex;align-items:center;gap:11px}
.logo{flex:0 0 auto;display:block}
.wordmark{display:block;width:118px;height:auto}
/* Punkt 5: die Seitenleiste ist in beiden Erscheinungsbildern dunkel, die
   Wortmarke muss dort also immer weiß sein. Im Ausdruck bleibt sie schwarz. */
.nav .wordmark,.rail .wordmark{filter:invert(1) brightness(2.2)}
@media print{.wordmark{filter:none}}
.raillogo{border:0;background:transparent;padding:0;cursor:pointer;line-height:0}
.raillogo .logo{border-radius:6px}
.railid{border:0;background:var(--nav-2);color:var(--onnav);cursor:pointer;width:44px;
  padding:5px 2px;border-radius:var(--r2);display:flex;flex-direction:column;align-items:center;
  gap:1px;line-height:1.1}
.railid:hover{background:#312D38}
.rcode{font-family:var(--disp);font-weight:700;font-size:11px;letter-spacing:.02em}
.rper{font-family:var(--mono);font-size:9px;color:var(--onnav2)}
.navtog{border:0;background:transparent;cursor:pointer;padding:6px 4px;flex:0 0 auto;
  color:var(--onnav);display:flex}
.btx{display:flex;flex-direction:column;line-height:1.15}
.bmark{font-family:var(--disp);font-weight:700;font-size:19px;letter-spacing:-.01em}
.bsub{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--onnav2)}
.nav .ident{display:flex;flex-direction:column;gap:3px;padding-bottom:20px;
  border-bottom:1px solid var(--nav-2)}
.nav .firm{font-family:var(--disp);font-weight:600;font-size:17px;line-height:1.2}
.nav .date{font-family:var(--mono);font-size:10.5px;color:var(--onnav2)}
.nav .date.sm{font-size:9.5px;line-height:1.4}
.nav .ctl{display:flex;flex-direction:column;gap:14px}
.nav .setblock{margin-top:8px;padding-top:16px;border-top:1px solid var(--nav-2);gap:12px}
.nav .setlabel{font-family:var(--disp);font-size:10px;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:var(--onnav2);margin:0}
.nav .sel{display:flex;flex-direction:column;gap:5px}
.nav .sel>span{font-family:var(--disp);font-size:10px;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:var(--onnav2)}
.nav select{width:100%;max-width:none;font-family:var(--sans);font-size:12.5px;
  color:var(--onnav);background:var(--nav-2);border:1px solid #332F39;
  border-radius:var(--r2);padding:8px 9px}
.nav select:hover{border-color:var(--acc)}
.seg.wide{margin-bottom:18px;border:1px solid var(--rule);background:var(--sheet);border-radius:var(--r2);display:inline-flex;overflow:hidden}
.seg.wide button{font-family:var(--disp);font-size:12.5px;font-weight:600;letter-spacing:.03em;border:0;background:transparent;color:var(--ink2);padding:9px 16px;cursor:pointer}
.seg.wide button.on{background:var(--ink);color:var(--paper)}
.nav .seg{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;border:0;background:transparent}
.nav .segl{flex:1 0 100%;font-family:var(--disp);font-size:10px;font-weight:600;
  letter-spacing:.13em;text-transform:uppercase;color:var(--onnav2)}
.nav .seg button{font-family:var(--disp);font-size:12px;font-weight:600;letter-spacing:.04em;
  border:1px solid #332F39;background:var(--nav-2);color:var(--onnav2);padding:7px 14px;
  cursor:pointer;border-radius:var(--r2)}
.nav .seg button.on{background:var(--acc);border-color:var(--acc);color:#fff}
.nav .tabs{display:flex;flex-direction:column;border:0;margin:0;gap:1px}
.nav .tabs button{font-family:var(--disp);font-weight:500;font-size:13px;border:0;
  background:transparent;color:var(--onnav2);padding:8px 10px;cursor:pointer;display:flex;
  align-items:center;gap:10px;text-align:left;border-radius:var(--r2);justify-content:flex-start}
.nav .tabs .tl{flex:1 1 auto}
.nav .tabs button:hover{background:var(--nav-2);color:var(--onnav)}
.nav .tabs button.on{background:var(--sheet);color:var(--ink);font-weight:600}
.nav .ghost.block{width:100%;justify-content:center;text-align:center;margin-top:auto;
  border-color:#332F39;background:var(--nav-2);color:var(--onnav2)}
.nav .ghost.block:hover{border-color:var(--acc);color:var(--onnav)}
@media(max-width:940px){
  .shell,.shell.navrail{grid-template-columns:1fr}
  .nav,.rail{position:static;height:auto}
  .rail{flex-direction:row;justify-content:flex-start;padding:12px 16px;gap:10px}
  .railtabs{flex-direction:row;width:auto}
  .content{padding:22px 20px 60px}
}

/* ---- Bedienelemente im Inhalt ---- */
select,input[type=search]{font-family:var(--sans);font-size:12.5px;color:var(--ink);
  background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r2);padding:7px 9px}
select{max-width:300px} select:hover{border-color:var(--ink2)}
input[type=search]{min-width:250px}
.ghost{font-family:var(--disp);font-size:12px;font-weight:600;letter-spacing:.04em;
  border:1px solid var(--rule);background:var(--sheet);padding:8px 13px;cursor:pointer;
  color:var(--ink2);border-radius:var(--r2)}
.ghost:hover{border-color:var(--ink);color:var(--ink)}
.ghost input{display:none}
.ghost.primary{background:var(--acc);color:#fff;border-color:var(--acc)}
.ghost.primary:hover{background:#4E7647;border-color:#4E7647;color:#fff}
.ghost:disabled{opacity:.42;cursor:not-allowed}
.ghost:disabled:hover{border-color:var(--rule);color:var(--ink3)}
.badge{font-family:var(--mono);font-size:9.5px;padding:2px 6px;color:#fff;background:var(--acc);
  border-radius:99px;margin-left:auto}
.badge.e{background:var(--neg)} .badge.w{background:var(--warn)}

/* ---- Zuordnungsleiste ---- */
.assign{display:flex;flex-wrap:wrap;gap:16px 28px;justify-content:space-between;
  align-items:flex-end;background:#FDF8E9;border:1px solid var(--warn);border-left-width:3px;
  border-radius:var(--r);padding:15px 18px;margin-bottom:20px}
.assign.soft{background:var(--sheet);border-color:var(--rule);border-left-color:var(--warn)}
.atxt{display:flex;flex-direction:column;gap:3px;max-width:88ch}
.ah{font-family:var(--disp);font-weight:600;font-size:14px}
.ad{font-size:12px;color:var(--ink2);line-height:1.5}
.assign .sel{display:flex;flex-direction:column;gap:4px}
.assign .sel>span{font-family:var(--disp);font-size:10px;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink3)}
.assign select{border-color:var(--warn)}

/* ---- Leerzustand ---- */
.empty{padding:72px 0 0;display:grid;gap:56px;max-width:780px;margin:0 auto}
.dz{border:1px solid var(--rule);background:var(--sheet);border-radius:var(--r);
  padding:52px 46px;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}
.dz:hover,.dz.over{border-color:var(--acc);box-shadow:0 2px 20px rgba(23,22,26,.06)}
.dz h1{font-family:var(--disp);font-weight:700;font-size:clamp(28px,4.2vw,42px);line-height:1.1;
  letter-spacing:-.02em;margin:0 0 20px}
.dz h1 .thin{font-weight:400;color:var(--ink3)}
.dz .lede{font-size:14.5px;color:var(--ink2);margin:0 0 12px;max-width:58ch}
.dz .fine{margin:0;max-width:58ch}
.dz code{font-family:var(--mono);font-size:12.5px;background:var(--paper);padding:2px 6px;
  border-radius:3px}
.spec dl{display:grid;grid-template-columns:auto 1fr;gap:14px 22px;margin:0;
  border-top:1px solid var(--rule);padding-top:22px}
.spec dt{font-family:var(--mono);font-weight:450;font-size:21px;text-align:right;
  font-variant-numeric:tabular-nums}
.spec dd{margin:0;font-size:12.5px;color:var(--ink2);align-self:center}

/* ---- Flaechen ---- */
.side{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r);
  padding:22px 24px}
.side.wide{margin-bottom:18px}
.bilanz{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;align-items:start}
@media(max-width:1100px){.bilanz{grid-template-columns:1fr}}

/* ---- Aufstellungen ---- */
table{width:100%;border-collapse:collapse}
table.stmt td,table.stmt th{padding:4px 8px;vertical-align:baseline}
table.stmt th{font-family:var(--disp);font-size:10px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink3);border-bottom:1px solid var(--rule);
  text-align:right;padding-bottom:8px}
table.stmt th.num,table.stmt th.lbl{text-align:left}
tr.k-head td{font-family:var(--disp);font-size:10px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink3);border-bottom:1px solid var(--rule)}
td.num{font-family:var(--mono);font-size:10.5px;color:var(--ink3);white-space:nowrap;
  width:1%;padding-right:10px}
td.lbl{width:auto} td.lbl .txt{display:block}
td.lbl .ref{display:block;font-family:var(--mono);font-size:9.5px;color:var(--ink3);margin-top:1px}
td.lbl .adjmark{display:block;font-family:var(--mono);font-size:9.5px;color:var(--acc);
  margin-top:1px}
td.val,th.val{text-align:right;white-space:nowrap;width:1%}
.n{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12.5px;
  font-weight:450;color:var(--ink)}
.n.h{color:var(--neg)}
tr.spacer td{height:12px;padding:0}
tr.l1 td.lbl{padding-left:18px} tr.l2 td.lbl{padding-left:34px}
tr.k-group td{padding-top:20px;padding-bottom:5px}
tr.k-group td.lbl{font-family:var(--disp);font-weight:700;font-size:13px;letter-spacing:.03em;
  text-transform:uppercase}
tr.k-group:first-child td{padding-top:2px}
tr.k-head:not(:first-child) td{padding-top:12px;padding-bottom:4px}
tr.k-pos td{border-bottom:1px solid var(--hair)}
tr.k-pos[tabindex]{cursor:pointer}
tr.k-pos[tabindex]:hover td{background:var(--paper)}
tr.k-sub td,tr.k-gsum td,tr.k-calc td{border-top:1px solid var(--ink);padding-top:6px;
  padding-bottom:7px}
tr.k-sub td.lbl,tr.k-gsum td.lbl,tr.k-calc td.lbl{font-family:var(--disp);font-weight:600}
tr.k-gsum td{box-shadow:inset 0 -3px 0 -2px var(--ink)}
tr.k-calc.strong td{box-shadow:inset 0 -3px 0 -2px var(--ink)}
tr.k-calc.strong td.lbl{font-weight:700} tr.k-calc.strong .n{font-weight:500}
tr.sub td{border-bottom:0;padding-top:0;padding-bottom:6px}
.bilsum{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:14px;
  padding-top:9px;border-top:1px solid var(--ink);box-shadow:inset 0 -3px 0 -2px var(--ink);
  padding-bottom:9px}
.bilsum .bl{font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase}
.bilsum .n{font-size:15px;font-weight:500}
.scroll{overflow-x:auto;position:relative}
/* Punkt 3: Postennummer und Bezeichnung bleiben stehen, nur die Monate wandern */
.scroll table.mx td.num,.scroll table.mx th.num,
.scroll table.multi td.num,.scroll table.multi th.num{position:sticky;left:0;z-index:2;
  background:var(--sheet);width:42px;min-width:42px;max-width:42px}
.scroll table.mx td.lbl,.scroll table.mx th.lbl,
.scroll table.multi td.lbl,.scroll table.multi th.lbl{position:sticky;left:42px;z-index:2;
  background:var(--sheet);min-width:250px;box-shadow:1px 0 0 var(--rule)}
.scroll table.multi td.lbl,.scroll table.multi th.lbl{min-width:290px}
.scroll tr.k-pos[tabindex]:hover td.num,.scroll tr.k-pos[tabindex]:hover td.lbl,
.scroll tr.planrow:hover td.num,.scroll tr.planrow:hover td.lbl{background:var(--paper)}
.scroll tr.k-subline td.num,.scroll tr.k-subline td.lbl{background:var(--sheet)}
table.mx td.lbl{min-width:240px} table.mx .tsum{border-left:1px solid var(--rule)}
table.accts td.lbl{max-width:300px}
table.accts tr.changed td{background:#F1F6EE}
table.accts tr.newacct td{background:#FDF8E9}
table.cmp td.lbl{max-width:420px}
table.files{min-width:1180px}
table.files td:first-child{min-width:320px;overflow-wrap:anywhere;word-break:break-word}
table.files td:nth-child(2){min-width:220px}
table.files td:nth-child(3){min-width:70px}
table.files td:nth-child(4){min-width:110px}
table.files td:nth-child(5){min-width:110px}
table.files td:nth-child(6){min-width:140px}
table.files td:last-child{min-width:164px;position:sticky;right:0;z-index:3;background:var(--sheet);border-left:1px solid var(--rule);box-shadow:-8px 0 14px -14px rgba(16,24,40,.42)}
table.files tr.active td:last-child{background:var(--paper)}
table.files tr.k-head td:last-child{z-index:4;background:var(--sheet)}
table.files .file-remove{white-space:nowrap;border-color:color-mix(in srgb,var(--neg) 28%,var(--line));color:var(--neg);font-weight:600}
table.files .file-remove:hover{background:color-mix(in srgb,var(--neg) 7%,var(--sheet));border-color:color-mix(in srgb,var(--neg) 48%,var(--line))}
.file-delete-hint{display:flex;align-items:center;gap:8px;margin:10px 0 14px;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:var(--soft);font-size:11px;color:var(--ink2)}
.file-delete-hint .dot{width:7px;height:7px;border-radius:999px;background:var(--neg);flex:0 0 auto}
table.files select{max-width:230px;width:100%}
table.files tr.active td{background:var(--paper)}
select.posel{font-size:11.5px;padding:4px 6px;max-width:260px;border-color:var(--hair)}
tr.changed select.posel{border-color:var(--acc);color:var(--acc)}
select.posel.needs{border-color:var(--neg);color:var(--neg)}
tr.newacct select.posel{border-color:var(--warn)}
td.lbl.bad{color:var(--neg)} td.lbl.warnc{color:var(--warn)}

/* ---- Bilanzkontrolle ---- */
.check{background:var(--sheet);border:1px solid var(--rule);border-left:3px solid var(--neg);
  border-radius:var(--r);padding:18px 24px;margin-bottom:18px;display:grid;gap:8px}
.check.ok{border-left-color:var(--acc)}
.cleft{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.ct{font-family:var(--disp);font-weight:700;font-size:14px;letter-spacing:.03em;
  text-transform:uppercase}
.check.ok .ct{color:var(--acc)} .check.bad .ct{color:var(--neg)}
.cv .n{font-size:17px}
.check.ok .cv .n{color:var(--acc)} .check.bad .cv .n{color:var(--neg)}
.cn{font-size:12px;color:var(--ink2);margin:0;max-width:96ch}
.adjbox{border-left:3px solid var(--warn)} .adjbox.on{border-left-color:var(--acc)}
.adjbox button{margin-top:6px}

/* ---- Kennzahlenstreifen ---- */
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r);overflow:hidden}
.kc{padding:16px 20px;border-left:1px solid var(--hair);display:flex;flex-direction:column;gap:4px}
.kc:first-child{border-left:0}
.kl{font-family:var(--disp);font-size:10px;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink3)}
.kv .n{font-size:18px}
table.kpi td{padding:5px 8px}
table.kpi tr td{border-bottom:1px solid var(--hair)}
table.kpi tr.spacer td{border-bottom:0}

/* ---- Werkzeuge ---- */
.tools{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:flex-end;margin-bottom:18px}
.chk{display:flex;gap:7px;align-items:center;font-size:12px;color:var(--ink2);cursor:pointer;
  padding-bottom:7px}
.cmpsel{display:flex;flex-direction:row;align-items:flex-end;gap:6px}
.cmpsel .cl{font-family:var(--disp);font-size:10px;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink3);align-self:center;padding-bottom:8px;min-width:64px}
.cmpsel select{max-width:170px}
.quick{display:flex;flex-wrap:wrap;gap:8px}

/* ---- Grafiken ---- */
.wbhead{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;
  align-items:flex-start}
.wbhead .tools{margin-bottom:14px}
.wgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(430px,1fr));gap:18px;margin-top:4px}
@media(max-width:980px){.wgrid{grid-template-columns:1fr}}
.wcard{border:1px solid var(--rule);border-radius:var(--r);padding:16px 18px 14px;
  background:var(--sheet);min-width:0}
.wch{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.wt{font-family:var(--disp);font-weight:600;font-size:13px;letter-spacing:.04em;
  text-transform:uppercase}
.wsel{margin-left:auto;font-size:11.5px;padding:4px 7px;max-width:210px}
.wx{border:0;background:transparent;color:var(--ink3);font-size:18px;line-height:1;
  cursor:pointer;padding:0 2px}
.wx:hover{color:var(--neg)}
.wnote{font-size:11px;color:var(--ink3);margin:10px 0 0;line-height:1.45}
.wlegend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}
.lgi{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10.5px;
  color:var(--ink2)}
.lgs{width:15px;height:2px;background:var(--acc);display:inline-block}
.lgs.blk{height:10px;width:10px;border-radius:2px}
.lgs.s0{background:var(--ink3)} .lgs.s1{background:var(--acc)}
.lgs.g0{background:var(--pearl)} .lgs.g1{background:var(--acc)}
.minigrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:700px){.minigrid{grid-template-columns:1fr}}
.minicell{display:flex;flex-direction:column;gap:2px;min-width:0}
.mt{font-family:var(--disp);font-size:11px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink3)}
.mfoot{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.mv .n{font-size:15px}
.mdelta{font-family:var(--mono);font-size:10px;color:var(--acc)}
.mdelta.neg{color:var(--neg)}
svg.chart{display:block;overflow:visible}
svg.chart .ax{stroke:var(--ink);stroke-width:.7}
svg.chart .bar{fill:var(--acc)}
svg.chart .bar.neg{fill:var(--neg)}
svg.chart .bar.g0{fill:var(--pearl)} svg.chart .bar.g0.neg{fill:var(--coral)}
svg.chart .bar.g1{fill:var(--acc)} svg.chart .bar.g1.neg{fill:var(--neg)}
svg.chart .bar:hover{fill:var(--ink)}
svg.chart .ln{fill:none;stroke:var(--acc);stroke-width:1.7;stroke-linejoin:round;
  stroke-linecap:round}
svg.chart .ln.s0{stroke:var(--ink3);stroke-dasharray:4 3;stroke-width:1.3}
svg.chart .ln.s1{stroke:var(--acc)}
svg.chart .dot{fill:var(--acc)} svg.chart .dot.s0{fill:var(--ink3)}
svg.chart .dot.s1{fill:var(--acc)}
svg.chart .hit{fill:transparent}
svg.chart text{font-family:var(--mono);fill:var(--ink3)}
svg.chart .xlab{font-size:10px} svg.chart .atick{font-size:9.5px}
svg.chart .vlab{font-size:9.5px;fill:var(--ink2)}
svg.chart .ylab{font-family:var(--sans);font-size:11px;fill:var(--ink2)}
svg.chart .seg{fill:var(--acc)}
svg.chart .seg.c0{fill:#5E8C55} svg.chart .seg.c1{fill:#8FB287}
svg.chart .seg.c2{fill:var(--blush)} svg.chart .seg.c3{fill:var(--lemon)}
svg.chart .seg.c4{fill:var(--pearl)}
svg.chart .seglab{font-size:9.5px;fill:#fff}

/* ---- Untergliederung und Mehrspaltenansicht ---- */
.exp{border:1px solid var(--rule);background:var(--sheet);color:var(--ink2);width:16px;
  height:16px;line-height:1;font-size:11px;font-family:var(--mono);cursor:pointer;
  border-radius:3px;margin-right:7px;padding:0;vertical-align:1px}
.exp:hover{border-color:var(--acc);color:var(--acc)}
.exp.on{background:var(--acc);border-color:var(--acc);color:#fff}
body.dark .exp.on{color:#0C0B0E}
tr.k-subline td{border-bottom:1px dotted var(--rule);background:color-mix(in srgb,var(--acc) 5%,transparent)}
tr.k-subline td.lbl{padding-left:38px}
tr.k-subline td.lbl .txt{font-size:12.5px;color:var(--ink2)}
tr.k-subline:hover td{background:color-mix(in srgb,var(--acc) 11%,transparent)}
tr.k-subline{cursor:pointer}
table.multi td.val,table.multi th.val{min-width:118px}
table.plan th.cplan,table.plan td.cplan{background:color-mix(in srgb,var(--acc) 7%,transparent)}
table.plan th.cist,table.plan td.cist{background:transparent}
table.plan th.cplan{border-top:2px solid var(--acc)}
input.vin{width:120px;text-align:right;font-family:var(--mono);font-size:12px;padding:4px 6px;
  border:1px solid var(--hair);border-radius:3px;background:var(--sheet);color:var(--ink)}
input.vin:focus{border-color:var(--acc)}
input.vin.sm{width:88px}
input.gname{width:170px;font-family:var(--sans);font-size:12.5px;padding:4px 6px;
  border:1px solid var(--hair);border-radius:3px;background:var(--sheet);color:var(--ink)}
.dist{margin:14px 0 4px;padding:14px 16px;border:1px solid var(--hair);border-radius:var(--r2);
  background:color-mix(in srgb,var(--acc) 4%,transparent)}
.dgrid{display:grid;gap:5px;margin:12px 0}
.drow{display:grid;grid-template-columns:44px 1fr 78px 130px;align-items:center;gap:10px}
.dm{font-family:var(--mono);font-size:11px;color:var(--ink3)}
.drow input[type=range]{width:100%;accent-color:var(--acc);height:18px}
input.dpct{width:100%;text-align:right;font-family:var(--mono);font-size:11.5px;padding:3px 5px;
  border:1px solid var(--hair);border-radius:3px;background:var(--sheet);color:var(--ink)}
.damt{text-align:right;font-family:var(--mono)}
.damt .n{font-size:11.5px}
tr.k-distrow td{background:transparent;border-bottom:1px solid var(--rule)}
tr.planrow{cursor:pointer}
tr.planrow:hover td{background:color-mix(in srgb,var(--acc) 12%,transparent)}
svg.chart rect.drag{pointer-events:none}
svg.chart rect.draghit{fill:transparent;cursor:ns-resize}
svg.chart rect.draghit:hover{fill:color-mix(in srgb,var(--acc) 12%,transparent)}
svg.chart rect.draghit:focus{fill:color-mix(in srgb,var(--acc) 18%,transparent);outline:none}
@media(max-width:760px){.drow{grid-template-columns:40px 1fr 66px}.damt{display:none}}
table.multi .celim{color:var(--ink3)}
table.multi .celim .n{color:var(--ink3)}
table.multi th.ctot,table.multi td.ctot{border-left:1px solid var(--ink);
  background:color-mix(in srgb,var(--acc) 6%,transparent)}
table.multi td.ctot .n{font-weight:500}
table.multi th.celim{border-left:1px solid var(--rule)}

/* ---- Konsolidierung ---- */
.icbox{border:1px solid var(--hair);border-left:3px solid var(--acc);border-radius:var(--r2);
  padding:16px 18px;margin-bottom:16px}
.ict{font-family:var(--disp);font-weight:600;font-size:13.5px;margin:0 0 6px}
.icbox .tools{margin:14px 0 0}
.icbox select.wide{max-width:520px}
.sub.fine{font-size:11px;color:var(--ink3)}

/* ---- Druckansicht ----
   Ziel ist ein Bericht, nicht eine ausgedruckte Website: je Abschnitt eine
   Seite, laufender Kopf auf jeder Seite, keine Kartenrahmen, keine
   Bedienelemente, Tabellenkopf auf jeder Folgeseite wiederholt. */
@media print {
  @page { size: A4 landscape; margin: 14mm 12mm 12mm 12mm; }
  html, body { background:#fff !important; color:#000 !important }
  body { font-size:8.4pt; line-height:1.35 }
  .nav, .rail, .tabs, .tools, .assign, .overlay, .ghost, .seg, .quick,
  button, select, input, .wx, .exp, .navtog { display:none !important }
  .shell, .shell.navrail { display:block !important }
  .content { padding:0 !important; max-width:none !important }

  /* Laufender Kopf auf jeder Seite */
  .printhead { display:flex !important; position:fixed; top:0; left:0; right:0;
    flex-direction:row; align-items:baseline; gap:10mm;
    border-bottom:.4pt solid #000; padding-bottom:1.5mm; background:#fff }
  .printhead .firm { font-family:var(--disp); font-weight:700; font-size:11pt }
  .printhead .date { font-family:var(--mono); font-size:7.5pt; color:#000 }
  main.sheet { margin-top:9mm }

  /* Je Bericht eine Seite, innerhalb eines Berichts nur wenn nötig */
  .preport { break-before:page }
  .preport:first-of-type { break-before:avoid }
  .rtitle { font-size:12pt; margin:0 0 3mm; border-bottom:.6pt solid #000; padding-bottom:1mm }
  .side.wide, .strip, .check { break-inside:avoid }
  .printdoc .side.wide { break-before:auto }
  main.sheet > .side.wide, main.sheet > .strip, main.sheet > .check { break-before:page }
  main.sheet > *:first-child, .bilanz { break-before:avoid }
  .side, .strip, .check, .wcard { border:0 !important; border-radius:0 !important;
    box-shadow:none !important; padding:0 0 4mm 0 !important; background:#fff !important }
  .check { border-left:0 !important }
  .eyebrow { color:#000; font-size:9pt; letter-spacing:.08em; margin:0 0 2mm;
    border-bottom:.3pt solid #666; padding-bottom:1mm }
  .sub, .cn, .wnote { color:#222; font-size:7.4pt; max-width:none }
  .sub.fine { display:none }

  /* Bilanz zweispaltig, passt im Querformat auf eine Seite */
  .bilanz { display:grid !important; grid-template-columns:1fr 1fr !important; gap:8mm }
  .bilanz .side { break-inside:avoid }
  .scroll { overflow:visible !important }
  .scroll table.mx td.num, .scroll table.mx td.lbl,
  .scroll table.multi td.num, .scroll table.multi td.lbl,
  .scroll table.mx th.num, .scroll table.mx th.lbl,
  .scroll table.multi th.num, .scroll table.multi th.lbl {
    position:static !important; box-shadow:none !important; min-width:0 !important }
  table { width:100% !important; break-inside:auto }
  thead { display:table-header-group }
  tr { break-inside:avoid }
  table.stmt td, table.stmt th { padding:1.4pt 3pt }
  td.lbl .ref, td.lbl .adjmark { font-size:6pt }
  .n { color:#000; font-size:7.6pt }
  .n.h { color:#000 }
  tr.k-gsum td, tr.k-calc.strong td { box-shadow:inset 0 -1.6pt 0 -1.1pt #000 }
  .bilsum { box-shadow:inset 0 -1.6pt 0 -1.1pt #000 }
  .kv .n, .bilsum .n, .cv .n { font-size:9pt }
  .strip { display:grid !important; grid-template-columns:repeat(6,1fr) !important }
  .kc { border-left:.3pt solid #999; padding:0 3mm !important }

  /* Grafiken klein halten, damit sie den Bericht nicht dominieren */
  .wgrid { grid-template-columns:1fr 1fr !important; gap:6mm }
  .wcard { break-inside:avoid }
  svg.chart { max-height:52mm }
  svg.chart .bar { fill:#555 } svg.chart .bar.neg { fill:#aaa }
  svg.chart .bar.g0 { fill:#bbb } svg.chart .bar.g1 { fill:#555 }
  svg.chart .ln { stroke:#333 } svg.chart .ln.s0 { stroke:#999 }
  svg.chart .dot, svg.chart .dot.s1 { fill:#333 } svg.chart .dot.s0 { fill:#999 }
  svg.chart .seg.c0 { fill:#444 } svg.chart .seg.c1 { fill:#6e6e6e }
  svg.chart .seg.c2 { fill:#9a9a9a } svg.chart .seg.c3 { fill:#c4c4c4 }
  svg.chart .seg.c4 { fill:#e2e2e2 }
  svg.chart text { fill:#000 } svg.chart .seglab { fill:#fff }
  .wlegend, .lgi { color:#000 }
  .foot { display:none }
  .nopr { display:none !important }
  .rsec { break-before:page }
  .rsec:first-of-type { break-before:avoid }
  .rtitle { font-size:11pt }
}
.repgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:7px;margin:14px 0}
.repgrid .chk .ref{margin-left:6px}
.rsec{margin-top:26px}
.rtitle{font-family:var(--disp);font-size:15px;font-weight:600;margin:0 0 10px;padding-bottom:5px;border-bottom:1px solid var(--rule)}
body.printing .nav,body.printing .foot{display:none}
.rpart{margin-top:22px}
.printhead{display:none}
.printdoc{display:block}
.repgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px 22px;
  margin-bottom:16px}
.chk.rep{align-items:flex-start;padding-bottom:0}
.chk.rep .ref{display:block;font-family:var(--mono);font-size:10px;color:var(--ink3)}
.chk.rep.off{opacity:.5}
.rtitle{font-family:var(--disp);font-weight:700;font-size:15px;margin:0 0 10px}
body.printing .shell{display:none}

.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;
  margin:0 0 22px}
.tile{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r1);
  padding:16px 18px 14px}
.tile.clk{cursor:pointer}
.tile.clk:hover{border-color:var(--acc)}
.tile .tlabel{display:flex;align-items:center;gap:0;font-family:var(--disp);font-size:10.5px;
  font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink3);
  margin-bottom:10px}
.tile .tval .n{font-size:22px;letter-spacing:-.01em}
.tile .tsub{font-family:var(--mono);font-size:10.5px;color:var(--ink3);margin-top:6px}
.strow{display:grid;grid-template-columns:auto 190px 1fr;gap:12px;align-items:baseline;
  padding:9px 0;border-bottom:1px solid var(--hair)}
.strow:last-child{border-bottom:0}
.strow.clk{cursor:pointer}
.strow.clk:hover .slab{text-decoration:underline;text-decoration-color:var(--acc);
  text-underline-offset:3px}
.strow .slab{font-family:var(--disp);font-size:13px;font-weight:600;color:var(--ink)}
.strow .stxt{font-family:var(--mono);font-size:11.5px;color:var(--ink2)}
.dgrid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 20px}
@media(max-width:900px){.dgrid2{grid-template-columns:1fr}}
@media print{.dgrid2{grid-template-columns:1fr 1fr}.tiles{grid-template-columns:repeat(3,1fr)}}
.tl{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;
  vertical-align:middle;position:relative;top:-1px;flex:0 0 auto}
.tl-g{background:#4f9d4f} .tl-y{background:#d8a33a} .tl-r{background:#b04a34}
body.dark .tl-g{background:#7fc47f} body.dark .tl-y{background:#e6bd63}
body.dark .tl-r{background:#e08a72}
td.ovr{position:relative}
td.ovr::after{content:'';position:absolute;top:3px;right:3px;width:5px;height:5px;
  border-radius:50%;background:var(--acc)}
.planlbl{cursor:pointer}
.planlbl:hover .txt,.planlbl:hover{text-decoration:underline;text-decoration-color:var(--acc);
  text-underline-offset:3px}
td.cplan.edit{cursor:cell}
td.cplan.edit:hover{outline:1px solid var(--acc);outline-offset:-1px}
input.cellin{width:100%;text-align:right;font-family:var(--mono);font-size:12px;
  border:1px solid var(--acc);border-radius:2px;padding:2px 3px;background:var(--sheet);
  color:var(--ink)}
.finding{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:baseline;
  padding:8px 0;border-bottom:1px solid var(--hair)}
.finding:last-child{border-bottom:0}
.finding .fsev{font-family:var(--mono);font-size:10px;text-transform:uppercase;
  letter-spacing:.1em}
.finding.hi .fsev{color:var(--neg)} .finding.mid .fsev{color:#b8860b}
.finding .fnum{font-family:var(--mono);font-size:11.5px;color:var(--ink2);white-space:nowrap}

/* Punkt 4: Segmentschalter im Inhaltsbereich, nicht rohe Knöpfe */
.vbar{display:flex;align-items:center;justify-content:space-between;gap:16px;
  flex-wrap:wrap;margin:0 0 18px}
.vbar .vtitle{font-family:var(--disp);font-size:19px;font-weight:600;letter-spacing:-.01em;
  color:var(--ink)}
.vbar .vsub{font-family:var(--mono);font-size:11px;color:var(--ink3);margin-top:2px}
.vbar .vctl{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}
.vbar .vctl .sel{display:flex;flex-direction:column;gap:4px}
.vbar .vctl .sel>span{font-family:var(--disp);font-size:9.5px;font-weight:600;
  letter-spacing:.13em;text-transform:uppercase;color:var(--ink3)}
.vbar .vctl select,.vbar .vctl input{font-family:var(--sans);font-size:12.5px;
  color:var(--ink);background:var(--sheet);border:1px solid var(--rule);
  border-radius:var(--r2);padding:6px 8px;min-width:104px}
.vbar .vctl input{text-align:right;font-family:var(--mono);min-width:82px}
.mtag{display:inline-block;font-family:var(--mono);font-size:9.5px;letter-spacing:.04em;
  color:var(--ink3);border:1px solid var(--hair);border-radius:3px;padding:1px 5px;
  margin-left:8px;white-space:nowrap;vertical-align:middle}
.mtag.man{color:var(--acc);border-color:var(--acc)}
.segbox{border:1px solid var(--hair);border-radius:var(--r2);padding:14px 16px;margin:16px 0}
.segrow{display:grid;grid-template-columns:118px 1fr 128px auto;gap:10px;align-items:center;
  padding:7px 8px;border-radius:var(--r2);cursor:pointer;border:1px solid transparent}
.segrow:hover{background:var(--paper)}
.segrow.on{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 8%,transparent)}
.segrow .sfrom{font-family:var(--mono);font-size:11px;color:var(--ink2)}
.segrow .smode{font-family:var(--sans);font-size:12.5px;color:var(--ink)}
.segrow .sval{font-family:var(--mono);font-size:11.5px;text-align:right;color:var(--ink2)}
.segbox .tools{margin-top:10px}
.mchoose{margin:8px 0 4px}
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 18px}
@media(max-width:640px){.mgrid{grid-template-columns:1fr}}
.mcard{appearance:none;text-align:left;cursor:pointer;background:var(--sheet);
  border:1px solid var(--rule);border-radius:var(--r2);padding:13px 15px;display:flex;
  flex-direction:column;gap:5px}
.mcard:hover{border-color:var(--acc)}
.mcard .mct{font-family:var(--disp);font-size:13.5px;font-weight:600;color:var(--ink)}
.mcard .mcd{font-family:var(--sans);font-size:11.5px;line-height:1.45;color:var(--ink3)}
.mcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:8px 0 18px}
.mcard{border:1px solid var(--rule);border-radius:var(--r2);padding:12px 14px;cursor:pointer;background:var(--sheet)}
.mcard:hover{border-color:var(--acc)}
.mcard.on{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 8%,transparent);box-shadow:inset 0 0 0 1px var(--acc)}
.mcard .mct{font-family:var(--disp);font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:4px}
.mcard .mcd{font-size:11.5px;line-height:1.45;color:var(--ink3)}
.rateb{display:flex;gap:6px}
.rateb select{min-width:96px}
.rateb input{max-width:96px}
.segbox select{font-family:var(--sans);font-size:12.5px;padding:6px 8px;
  border:1px solid var(--rule);border-radius:var(--r2);background:var(--sheet);color:var(--ink)}
/* ---- V29: Planphasen statt impliziter Abschnitte ---- */
.phasebox{border:1px solid var(--rule);border-radius:var(--r);padding:16px 18px;margin:16px 0;background:var(--sheet);box-shadow:var(--sh)}
.phase-list{display:grid;gap:8px;margin:12px 0 16px}
.phase-row{display:grid;grid-template-columns:minmax(170px,1.1fr) minmax(180px,1.5fr) minmax(110px,.7fr) auto;gap:12px;align-items:center;border:1px solid var(--hair);border-radius:var(--r2);padding:11px 12px;background:var(--sheet);cursor:pointer}
.phase-row:hover{border-color:var(--acc)}
.phase-row.on{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 7%,transparent);box-shadow:inset 0 0 0 1px var(--acc)}
.phase-range{font-family:var(--mono);font-size:11px;color:var(--ink2)}
.phase-mode{font-size:12.5px;color:var(--ink)}
.phase-value{font-family:var(--mono);font-size:11.5px;text-align:right;color:var(--ink2)}
.phase-edit-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin:18px 0 10px;padding-top:15px;border-top:1px solid var(--hair)}
.phase-edit-head .pt{font-family:var(--disp);font-size:15px;font-weight:700}
.phase-edit-head .pr{font-family:var(--mono);font-size:11px;color:var(--ink3);margin-top:2px}
.phase-period{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 14px}
.phase-add{display:flex;gap:9px;align-items:end;flex-wrap:wrap;border-top:1px solid var(--hair);padding-top:14px}
.phase-add .sel{display:flex;flex-direction:column;gap:4px}
.phase-add .sel>span{font-family:var(--disp);font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
@media(max-width:760px){.phase-row{grid-template-columns:1fr}.phase-value{text-align:left}.phase-period{grid-template-columns:1fr}}

.pill{display:inline-flex;padding:3px;border:1px solid var(--rule);border-radius:999px;
  background:var(--paper);gap:2px}
.pill button{appearance:none;border:0;cursor:pointer;background:transparent;
  font-family:var(--disp);font-size:12px;font-weight:600;letter-spacing:.02em;
  color:var(--ink3);padding:6px 14px;border-radius:999px;transition:none}
.pill button:hover{color:var(--ink)}
.pill button.on{background:var(--sheet);color:var(--ink);
  box-shadow:0 1px 2px rgba(0,0,0,.09),0 0 0 1px var(--hair)}
body.dark .pill button.on{box-shadow:0 1px 2px rgba(0,0,0,.4),0 0 0 1px var(--hair)}
@media print{.vbar .pill{display:none}.vbar{margin-bottom:8pt}}


/* ---- Planungs-Governance und lokale Sicherung ---- */
.plan-note{min-width:280px;max-width:440px}
.assumptions .k-pos{cursor:pointer}
.assumptions .k-pos:hover td{background:var(--paper)}
.assumptions td.logic{min-width:190px;color:var(--ink2)}
.assumptions td.param{min-width:250px;color:var(--ink2);font-family:var(--mono);font-size:10.5px}
.assumptions .source{display:block;font-family:var(--mono);font-size:9.5px;color:var(--ink3);margin-top:2px}
.save-state{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:var(--mono);font-size:10.5px;color:var(--ink3);margin-top:10px}
.save-state .okdot{width:7px;height:7px;border-radius:50%;background:var(--acc);display:inline-block}
.save-state .warndot{width:7px;height:7px;border-radius:50%;background:var(--warn);display:inline-block}
.save-state .baddot{width:7px;height:7px;border-radius:50%;background:var(--bad);display:inline-block}
@media(max-width:760px){.plan-note{min-width:180px;width:100%}.assumptions td.param{min-width:180px}}


/* ---- Vereinfachte Planungsnavigation ---- */
.plan-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}
.plan-flow button{appearance:none;text-align:left;border:1px solid var(--rule);background:var(--sheet);
  border-radius:var(--r);padding:14px 16px;cursor:pointer;box-shadow:var(--sh);color:var(--ink)}
.plan-flow button:hover{border-color:var(--acc)}
.plan-flow button.on{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc),var(--sh)}
.plan-flow .step{display:block;font-family:var(--mono);font-size:9.5px;color:var(--ink3);margin-bottom:5px}
.plan-flow .title{display:block;font-family:var(--disp);font-size:14px;font-weight:600;margin-bottom:3px}
.plan-flow .desc{display:block;font-size:11.5px;line-height:1.4;color:var(--ink3);font-weight:400}
.plan-controls{display:grid;gap:14px}
.plan-control-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}
.plan-control-grid .sel{display:flex;flex-direction:column;gap:5px;min-width:0}
.plan-control-grid .sel>span{font-family:var(--disp);font-size:9.5px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.plan-control-grid input,.plan-control-grid select{width:100%;max-width:none;font-family:var(--sans);font-size:12.5px;
  color:var(--ink);background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r2);padding:8px 10px}
.plan-control-grid input:hover,.plan-control-grid select:hover{border-color:var(--ink2)}
.plan-control-grid input:focus,.plan-control-grid select:focus{border-color:var(--acc)}
.plan-control-grid .wide{grid-column:1/-1}
.plan-admin{border-top:1px solid var(--hair);padding-top:11px}
.plan-admin summary{cursor:pointer;font-family:var(--disp);font-size:12px;font-weight:600;color:var(--ink2);
  list-style:none;display:inline-flex;align-items:center;gap:7px}
.plan-admin summary::-webkit-details-marker{display:none}
.plan-admin summary::before{content:'+';font-family:var(--mono);color:var(--acc)}
.plan-admin[open] summary::before{content:'–'}
.plan-admin .tools{margin:12px 0 0}
.plan-kpis{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin-top:4px}
.plan-kpi{border:1px solid var(--hair);border-radius:var(--r2);padding:14px 15px;background:var(--sheet)}
.plan-kpi .label{font-family:var(--disp);font-size:9.5px;font-weight:600;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink3);margin-bottom:7px}
.plan-kpi .value .n{font-size:19px}
.plan-kpi .hint{font-family:var(--mono);font-size:9.5px;color:var(--ink3);margin-top:5px}
.plan-kpi.clk{cursor:pointer;transition:border-color .12s ease,transform .12s ease}
.plan-kpi.clk:hover{border-color:var(--acc);transform:translateY(-1px)}
.plan-kpi.clk:focus-visible{border-color:var(--acc)}
.plan-detail{margin:14px 0;border-top:1px solid var(--hair);padding-top:12px}
.plan-detail summary{cursor:pointer;font-family:var(--disp);font-size:12px;font-weight:600;color:var(--ink2);list-style:none}
.plan-detail summary::-webkit-details-marker{display:none}
.plan-detail summary::before{content:'+';font-family:var(--mono);color:var(--acc);margin-right:7px}
.plan-detail[open] summary::before{content:'–'}
.overlay .pane>.phd{position:sticky;top:-1px;z-index:5;background:var(--sheet);box-shadow:0 8px 12px -12px rgba(0,0,0,.35)}
.plan-status{display:flex;flex-wrap:wrap;gap:8px 18px;padding-top:14px;margin-top:14px;border-top:1px solid var(--hair);
  font-family:var(--mono);font-size:10px;color:var(--ink3)}
.plan-compare{margin-top:16px;border-top:1px solid var(--hair);padding-top:12px}
.plan-compare summary{cursor:pointer;font-family:var(--disp);font-weight:600;color:var(--ink2)}
.plan-compare .scroll{margin-top:12px}
@media(max-width:980px){.plan-control-grid,.plan-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.plan-flow,.plan-control-grid,.plan-kpis{grid-template-columns:1fr}.plan-control-grid .wide{grid-column:auto}}


/* ---- Optik nach Vorbild einer Cashflow-Anwendung -------------------------
   Karten mit Rundung und leichter Schattierung, blaue Bedienelemente,
   gruen und rot fuer Ein- und Auszahlungen, Navy fuer die Seitenleiste. */
.side,.strip,.check,.wcard,.tile,.segbox{box-shadow:var(--sh)}
.side,.wcard,.tile{border-radius:var(--r)}
.nav{background:var(--nav)}
.nav .tabs button{border-radius:var(--r2)}
.nav .tabs button.on{background:var(--nav-2);color:#fff}
.nav .tabs button.on svg.ico{stroke:#9FB4FF}
.nav .tabs button:hover{background:rgba(255,255,255,.06)}
/* Werkzeugleiste über dem Inhalt, wie die Pillenreihe im Vorbild */
.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 20px}
.toolbar .tsel{display:inline-flex;align-items:center;gap:8px;background:var(--sheet);
  border:1px solid var(--rule);border-radius:999px;padding:7px 14px;box-shadow:var(--sh)}
.toolbar .tsel>span{font-family:var(--disp);font-size:10px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.toolbar .tsel select{appearance:none;border:0;background:transparent;color:var(--ink);
  font-family:var(--sans);font-size:13px;font-weight:500;padding-right:14px;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink3) 50%),
    linear-gradient(135deg,var(--ink3) 50%,transparent 50%);
  background-position:calc(100% - 6px) 52%,calc(100% - 2px) 52%;
  background-size:4px 4px,4px 4px;background-repeat:no-repeat}
.toolbar .scenario-switch{display:inline-flex;align-items:center;gap:7px;padding:4px 5px 4px 10px;background:var(--sheet);border:1px solid var(--rule);border-radius:999px;box-shadow:var(--shadow-xs)}
.toolbar .scenario-switch>.slab{font-family:var(--disp);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.toolbar .scenario-switch .pill{border:0;padding:0;background:transparent;max-width:min(760px,62vw);overflow-x:auto;scrollbar-width:thin}
.toolbar .scenario-switch .pill button{padding:7px 12px;font-size:11px;white-space:nowrap}
.toolbar .scenario-switch .pill button.sc-base.on{background:var(--acc);color:#fff}
.toolbar .scenario-switch .pill button.sc-best.on{background:#157347;color:#fff}
.toolbar .scenario-switch .pill button.sc-worst.on{background:#b42318;color:#fff}
.toolbar .scenario-switch .pill button.sc-custom.on{background:var(--acc);color:#fff}
.toolbar .scenario-switch .pill button.sc-add{font-size:15px;line-height:1;padding:6px 10px;border:1px dashed var(--rule)}
.scenario-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:10px 13px;border:1px solid var(--rule);border-radius:10px;background:var(--soft)}
.scenario-banner .sb-main{font-family:var(--disp);font-size:12px;font-weight:700}
.scenario-banner .sb-sub{font-family:var(--mono);font-size:10px;color:var(--ink3);margin-top:2px}
.scenario-compare-table td.active,.scenario-compare-table th.active{background:color-mix(in srgb,var(--acc) 8%,transparent)}
.toolbar .tspacer{flex:1}
.toolbar .rbtn{width:38px;height:38px;border-radius:999px;border:1px solid var(--rule);
  background:var(--sheet);display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:var(--sh);padding:0}
.toolbar .rbtn:hover{border-color:var(--acc)}
.toolbar .rbtn svg{stroke:var(--ink2);width:18px;height:18px;fill:none;stroke-width:1.6}
.toolbar .rbtn:hover svg{stroke:var(--acc)}
.toolbar .rbtn.prim{background:var(--acc);border-color:var(--acc)}
.toolbar .rbtn.prim svg{stroke:#fff}
/* ---- V67: robuster Kontext-Export --------------------------------------- */
.toolbar .export-menu{position:relative;display:inline-flex;justify-self:start}
.toolbar .export-menu>summary{list-style:none}
.toolbar .export-menu>summary::-webkit-details-marker{display:none}
.toolbar .export-menu[open]>summary{border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 12%,transparent)}
.export-pop{position:absolute;z-index:80;top:46px;right:0;width:292px;padding:7px;background:var(--sheet);border:1px solid var(--rule);border-radius:12px;box-shadow:0 14px 38px rgba(27,35,64,.16)}
.export-pop button{appearance:none;width:100%;border:0;background:transparent;color:var(--ink);border-radius:9px;padding:10px 11px;text-align:left;cursor:pointer;display:block}
.export-pop button:hover{background:var(--paper)}
.export-pop button:disabled{opacity:.45;cursor:not-allowed;background:transparent}
.export-pop .ep-title{display:block;font-family:var(--disp);font-size:12.5px;font-weight:650}
.export-pop .ep-sub{display:block;margin-top:2px;font-size:10.5px;line-height:1.35;color:var(--ink3)}
.export-pop .ep-sep{height:1px;background:var(--hair);margin:5px 3px}
.export-toast{position:fixed;right:20px;bottom:20px;z-index:2200;max-width:min(430px,calc(100vw - 32px));padding:11px 14px;border:1px solid var(--rule);border-left:3px solid var(--pos);border-radius:10px;background:var(--sheet);box-shadow:0 12px 34px rgba(27,35,64,.18);font-size:12px;color:var(--ink)}
.export-toast.bad{border-left-color:var(--neg)}
.export-toast.fade{opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease}
/* Monatskopf: Monat kräftig, Jahr leicht */
th.val .yy,td.val .yy{color:var(--ink3);font-weight:400;margin-left:4px}
th.val.cnow,td.val.cnow{background:color-mix(in srgb,var(--acc) 7%,transparent)}
table.mx td.tsum,table.mx th.tsum{border-left:1px solid var(--rule);font-weight:600}
/* Zahlen: gruen und rot wie im Vorbild */
.n.up{color:var(--pos)}
.pill button.on{background:var(--acc);color:#fff;box-shadow:none}
body.dark .pill button.on{background:var(--acc);color:#fff}
.ghost.primary{background:var(--acc);border-color:var(--acc);color:#fff}
.ghost.primary:hover{filter:brightness(1.08)}
.tl-g{background:var(--pos)} .tl-r{background:var(--neg)}
/* Grafiken */
svg.chart .bar{fill:var(--pos)}
svg.chart .bar.neg{fill:var(--neg)}
svg.chart .bar.g0{fill:#C7CCDC}
svg.chart .bar.g1{fill:var(--pos)}
svg.chart .ln{stroke:var(--nav);stroke-width:2}
svg.chart .ln.s0{stroke:#B9C0D6}
svg.chart .dot{fill:var(--nav)} svg.chart .dot.s0{fill:#B9C0D6}
svg.chart .gl{stroke:var(--hair);stroke-dasharray:3 4}
svg.chart .ax{stroke:var(--rule)}
svg.chart .seg.c0{fill:var(--nav)} svg.chart .seg.c1{fill:#3E4A73}
svg.chart .seg.c2{fill:#6B77A0} svg.chart .seg.c3{fill:#9AA3C0}
svg.chart .seg.c4{fill:#C7CCDC}


/* ---- Planung: Filter, Zellherkunft und Wirkung ---- */
.assumption-filters{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}
.assumption-filters button{border:1px solid var(--rule);background:var(--sheet);color:var(--ink2);
  border-radius:999px;padding:6px 11px;font-family:var(--disp);font-size:11.5px;font-weight:600;cursor:pointer}
.assumption-filters button.on{background:var(--acc);border-color:var(--acc);color:#fff}
.assumptions tr.hidden{display:none}
.assumptions .change-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--acc);
  margin-left:7px;vertical-align:middle}
.cell-breakdown{font-family:var(--mono);font-size:8.8px;line-height:1.25;color:var(--ink3);margin-top:2px;white-space:nowrap}
.cell-breakdown .adj{color:var(--acc)}
.cell-reset{appearance:none;border:0;background:transparent;color:var(--ink3);cursor:pointer;font-family:var(--mono);font-size:10px;padding:0 2px;margin-left:3px;vertical-align:baseline}
.cell-reset:hover{color:var(--neg)}
.plan-meta-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.plan-meta-line select,.plan-meta-line input{min-width:120px}
.plan-meta-line .version{min-width:190px;flex:1}
.plan-status .status-badge{font-weight:600;color:var(--acc)}
.plan-admin .subgroup{margin-top:12px;padding-top:12px;border-top:1px solid var(--hair)}
.impact-strip{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:1px;background:var(--rule);
  border:1px solid var(--rule);border-radius:var(--r2);overflow:hidden;margin:14px 0 2px}
.impact-item{background:var(--sheet);padding:11px 14px}
.impact-item .il{font-family:var(--disp);font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.impact-item .iv{font-family:var(--mono);font-size:15px;font-weight:500;margin-top:3px}
.impact-item .iv.pos{color:var(--pos)} .impact-item .iv.neg{color:var(--neg)}
@media(max-width:760px){.impact-strip{grid-template-columns:1fr}}
.assumption-note{display:block;margin-top:4px;font-size:10.5px;color:var(--ink3);line-height:1.35}
.dep-tag{display:inline-flex;align-items:center;margin-top:4px;padding:2px 6px;border-radius:99px;
  background:color-mix(in srgb,var(--acc) 8%,transparent);color:var(--acc);font-family:var(--mono);font-size:9.5px}
.note-box{margin:16px 0 4px;padding:14px 16px;border:1px solid var(--hair);border-radius:var(--r2);background:var(--paper)}
.note-box textarea{width:100%;min-height:72px;resize:vertical;font-family:var(--sans);font-size:12.5px;
  line-height:1.45;color:var(--ink);background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r2);padding:9px 10px}
.liq-alert{display:flex;gap:12px;align-items:flex-start;margin:14px 0 0;padding:13px 15px;border:1px solid var(--rule);
  border-left:3px solid var(--pos);border-radius:var(--r2);background:var(--sheet)}
.liq-alert.warn{border-left-color:var(--warn);background:color-mix(in srgb,var(--warn) 5%,var(--sheet))}
.liq-alert.bad{border-left-color:var(--neg);background:color-mix(in srgb,var(--neg) 5%,var(--sheet))}
.liq-alert .lat{font-family:var(--disp);font-weight:600;font-size:12.5px;margin-bottom:2px}
.liq-alert .lad{font-size:11.5px;color:var(--ink2);line-height:1.45}
.liq-alert button{margin-left:auto;flex:0 0 auto}

/* ---- Ergänzungen v19: Common-size GuV, Kontenübersetzung, Management ---- */
.stmtpct{font-family:var(--mono);font-size:10px;color:var(--ink3);margin-left:10px;white-space:nowrap}
.acct-en-wrap{display:flex;align-items:center;gap:6px;min-width:250px}
.acct-en{width:100%;min-width:190px;max-width:300px;font-family:var(--sans);font-size:11.5px;padding:5px 7px;border:1px solid var(--hair);border-radius:var(--r2);background:var(--sheet);color:var(--ink)}
.acct-en:focus{border-color:var(--acc);outline:none}
.acct-en.manual{border-color:color-mix(in srgb,var(--acc) 55%,var(--rule));background:color-mix(in srgb,var(--acc) 4%,var(--sheet))}
.acct-auto{flex:0 0 auto;font-family:var(--mono);font-size:9px;color:var(--ink3);border:1px solid var(--hair);border-radius:99px;padding:2px 5px}
.acct-reset{flex:0 0 auto;border:0;background:transparent;color:var(--ink3);font-size:15px;cursor:pointer;padding:1px 3px;line-height:1}
.acct-reset:hover{color:var(--acc)}
.acct-original{display:block;font-size:10px;color:var(--ink3);margin-top:2px}
.mgmt-status{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 16px}
.mgmt-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--rule);background:var(--paper);border-radius:999px;padding:6px 10px;font-family:var(--mono);font-size:10.5px;color:var(--ink2)}
.mgmt-pill .sdot{width:8px;height:8px;border-radius:50%;background:var(--ink3)}
.mgmt-pill.good .sdot{background:var(--pos)} .mgmt-pill.warn .sdot{background:var(--warn)} .mgmt-pill.bad .sdot{background:var(--neg)}
.mgmt-table td{padding:6px 8px}.mgmt-table .delta.pos{color:var(--pos)}.mgmt-table .delta.neg{color:var(--neg)}
.topdrivers{display:grid;gap:7px;margin-top:12px}.topdriver{display:grid;grid-template-columns:1fr auto;gap:14px;padding:8px 0;border-bottom:1px solid var(--hair)}
.topdriver:last-child{border-bottom:0}.topdriver .dval{font-family:var(--mono)}.topdriver .dval.pos{color:var(--pos)}.topdriver .dval.neg{color:var(--neg)}
\
/* ---- Version 21: Management Cockpit YTD / Full Year -------------------- */
.mgmt-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:14px 0 18px}
.mgmt-kpi{border:1px solid var(--rule);border-radius:var(--r);padding:13px 15px;background:var(--sheet);box-shadow:var(--sh)}
.mgmt-kpi .mklabel{font-family:var(--disp);font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--ink3);margin-bottom:6px}
.mgmt-kpi .mkvalue{font-family:var(--mono);font-size:19px;color:var(--ink)}
.mgmt-kpi .mkdelta{font-family:var(--mono);font-size:10.5px;color:var(--ink3);margin-top:5px}
.mgmt-kpi .mkdelta.pos{color:var(--pos)}.mgmt-kpi .mkdelta.neg{color:var(--neg)}
.mgmt-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:22px 0 8px}
.mgmt-section-title .mst{font-family:var(--disp);font-weight:700;font-size:14px;letter-spacing:.02em}
.mgmt-section-title .mss{font-family:var(--mono);font-size:10px;color:var(--ink3)}
.mgmt-table-wrap{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--r2);background:var(--sheet)}
.mgmt-table-wrap .mgmt-table{min-width:850px}
.mgmt-table .delta.good .n,.mgmt-table .delta.good{color:var(--pos)}
.mgmt-table .delta.bad .n,.mgmt-table .delta.bad{color:var(--neg)}
.mgmt-table .delta.neutral .n,.mgmt-table .delta.neutral{color:var(--ink2)}
.mgmt-driver-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
.mgmt-driver-col{border:1px solid var(--rule);border-radius:var(--r2);padding:10px 13px;background:var(--sheet)}
.mgmt-driver-col .mdh{font-family:var(--disp);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.mgmt-driver-col.positive .mdh{color:var(--pos)}.mgmt-driver-col.negative .mdh{color:var(--neg)}
.mgmt-driver-empty{font-size:11px;color:var(--ink3);padding:8px 0}
@media(max-width:760px){.mgmt-driver-grid{grid-template-columns:1fr}.mgmt-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.mgmt-kpis{grid-template-columns:1fr}}

/* ---- Version 23: Marketing-Kanalplanung ------------------------------- */
.mkt-table{width:100%;border-collapse:collapse;margin:12px 0 16px}
.mkt-table th{font-family:var(--disp);font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);text-align:right;padding:6px 5px;border-bottom:1px solid var(--rule)}
.mkt-table th:first-child{text-align:left}
.mkt-table td{padding:6px 5px;border-bottom:1px solid var(--hair);text-align:right}
.mkt-table td:first-child{text-align:left;font-family:var(--disp);font-weight:600}
.mkt-table input{width:100%;min-width:82px;text-align:right;font-family:var(--mono);font-size:11.5px;padding:5px 6px;border:1px solid var(--hair);border-radius:var(--r2);background:var(--sheet);color:var(--ink)}
.mkt-table input:focus{border-color:var(--acc)}
.mkt-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:14px 0}
.mkt-kpi{border:1px solid var(--hair);border-radius:var(--r2);padding:11px 12px;background:var(--paper)}
.mkt-kpi .mk{font-family:var(--disp);font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:5px}
.mkt-kpi .mv{font-family:var(--mono);font-size:14px;color:var(--ink)}


/* ---- Vereinfachte Mehrjahresplanung ------------------------------------- */
.rev-timeline{border:1px solid var(--hair);border-radius:var(--r2);padding:14px 16px;margin:16px 0;background:var(--sheet)}
.rev-timeline .rt-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.rev-timeline .rt-title{font-family:var(--disp);font-size:13.5px;font-weight:700;color:var(--ink)}
.rev-timeline .rt-sub{font-size:11.5px;color:var(--ink3);margin-top:3px}
.rev-phase{display:grid;grid-template-columns:150px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--hair)}
.rev-phase:first-of-type{border-top:0}
.rev-phase .rp-date{font-family:var(--mono);font-size:11px;color:var(--ink2)}
.rev-phase .rp-val{display:flex;align-items:center;gap:8px}
.rev-phase .rp-val input{width:110px;text-align:right;font-family:var(--mono)}
.rev-phase .rp-note{font-size:11px;color:var(--ink3)}
.rev-year-table{width:100%;margin:8px 0 14px}
.rev-year-table th,.rev-year-table td{padding:7px 8px;border-bottom:1px solid var(--hair)}
.rev-year-table th{text-align:left;font-family:var(--disp);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.rev-year-table th:last-child,.rev-year-table td:last-child{text-align:right}
.rev-year-table input{width:110px;text-align:right;font-family:var(--mono)}
.rev-subhead{font-family:var(--disp);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);margin:14px 0 5px}
.rev-add{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--hair)}
.rev-add select{min-width:150px}
.rev-horizon{margin-top:16px;border-top:1px solid var(--hair);padding-top:12px}
.rev-horizon .rh-title{font-family:var(--disp);font-size:12px;font-weight:700;margin-bottom:8px}
.rev-horizon table td,.rev-horizon table th{padding:6px 8px}
.rev-horizon .growth-pos{color:var(--pos)} .rev-horizon .growth-neg{color:var(--neg)}
.plan-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0 4px}
.plan-quick button{appearance:none;text-align:left;border:1px solid var(--rule);background:var(--sheet);border-radius:var(--r2);padding:13px 14px;cursor:pointer;color:var(--ink)}
.plan-quick button:hover{border-color:var(--acc)}
.plan-quick .pq-title{display:block;font-family:var(--disp);font-weight:700;font-size:12.5px}
.plan-quick .pq-sub{display:block;font-size:11px;color:var(--ink3);margin-top:3px}
@media(max-width:760px){.rev-phase{grid-template-columns:1fr}.plan-quick{grid-template-columns:1fr}}



/* ---- V27: Jahresplanung, Bilanz- und Beschaffungs-UX -------------------- */
.year-plan-table{width:100%;margin-top:12px}
.year-plan-table th,.year-plan-table td{padding:9px 10px;border-bottom:1px solid var(--hair)}
.year-plan-table th{font-family:var(--disp);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);text-align:left}
.year-plan-table th.val,.year-plan-table td.val{text-align:right}
.year-plan-table tr.selected td{background:color-mix(in srgb,var(--acc) 6%,transparent)}
.year-plan-table .season-btn{white-space:nowrap}
.year-season-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 0 6px;padding-top:14px;border-top:1px solid var(--hair)}
.year-season-head .ys-title{font-family:var(--disp);font-size:15px;font-weight:700}
.year-season-head .ys-meta{font-family:var(--mono);font-size:10.5px;color:var(--ink3);margin-top:3px}
.driver-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.driver-card{border:1px solid var(--rule);border-radius:var(--r);background:var(--sheet);padding:16px 17px;box-shadow:var(--sh);min-width:0}
.driver-card.wide{grid-column:1/-1}
.driver-card .dc-title{font-family:var(--disp);font-size:14px;font-weight:700;margin-bottom:4px}
.driver-card .dc-sub{font-size:11.5px;color:var(--ink3);line-height:1.45;margin-bottom:13px}
.driver-card .dc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.driver-card .dc-fields .sel{display:flex;flex-direction:column;gap:5px;min-width:0}
.driver-card .dc-fields .sel>span{font-family:var(--disp);font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.driver-card .dc-fields input,.driver-card .dc-fields select{width:100%;max-width:none}
.driver-card details{margin-top:12px;border-top:1px solid var(--hair);padding-top:10px}
.driver-card details summary{cursor:pointer;font-family:var(--disp);font-size:11.5px;font-weight:600;color:var(--ink2)}
.planobj-list{display:grid;gap:10px;margin-top:12px}
.planobj-row{border:1px solid var(--hair);border-radius:var(--r2);padding:13px 14px;background:var(--sheet)}
.planobj-head{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:10px}
.planobj-name{font-family:var(--disp);font-size:13px;font-weight:700;color:var(--ink)}
.planobj-fields{display:grid;grid-template-columns:minmax(180px,1.6fr) minmax(130px,.8fr) minmax(145px,1fr) minmax(115px,.7fr) minmax(115px,.7fr);gap:9px;align-items:end}
.planobj-fields .sel{display:flex;flex-direction:column;gap:4px;min-width:0}
.planobj-fields .sel>span{font-family:var(--disp);font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.planobj-fields input,.planobj-fields select{width:100%;max-width:none}
.planobj-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:9px;font-family:var(--mono);font-size:10px;color:var(--ink3)}
.planobj-empty{padding:18px;border:1px dashed var(--rule);border-radius:var(--r2);color:var(--ink3);font-size:12px;text-align:center}
.planobj-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
@media(max-width:1050px){.planobj-fields{grid-template-columns:1fr 1fr 1fr}.planobj-fields .wide{grid-column:1/-1}}
@media(max-width:700px){.planobj-fields{grid-template-columns:1fr}}
.proc-groups{display:grid;gap:10px;margin:14px 0}
.proc-card{border:1px solid var(--rule);border-radius:var(--r);background:var(--sheet);padding:15px 16px;box-shadow:var(--sh)}
.proc-card-head{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:12px}
.proc-card-head input.gname{font-family:var(--disp);font-weight:600;font-size:14px;width:min(320px,70%)}
.proc-core{display:grid;grid-template-columns:repeat(4,minmax(125px,1fr));gap:10px}
.proc-core .sel,.proc-pay .sel{display:flex;flex-direction:column;gap:5px}
.proc-core .sel>span,.proc-pay .sel>span{font-family:var(--disp);font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.proc-core input,.proc-pay input{width:100%;max-width:none}
.proc-pay{display:grid;grid-template-columns:repeat(4,minmax(125px,1fr));gap:10px;margin-top:10px}
.flow-strip{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:6px;margin:12px 0 18px}
.flow-step{border:1px solid var(--hair);border-radius:var(--r2);padding:10px 11px;background:var(--paper)}
.flow-step .fs-n{font-family:var(--mono);font-size:9px;color:var(--acc);margin-bottom:3px}
.flow-step .fs-t{font-family:var(--disp);font-size:11.5px;font-weight:600}
@media(max-width:900px){.driver-grid{grid-template-columns:1fr}.driver-card.wide{grid-column:auto}.proc-core,.proc-pay{grid-template-columns:1fr 1fr}.flow-strip{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.driver-card .dc-fields,.proc-core,.proc-pay,.flow-strip{grid-template-columns:1fr}}

/* ---- Forecast-Bibliothek ------------------------------------------------ */
.forecast-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.forecast-hero h2{font-family:var(--disp);font-size:24px;line-height:1.15;margin:0 0 6px}
.forecast-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 16px}
.forecast-toolbar input[type=search]{min-width:240px;flex:1 1 280px}
.forecast-list{display:grid;gap:8px}
.forecast-item{display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(150px,.8fr) minmax(170px,.9fr) auto;gap:12px;align-items:center;padding:13px 15px;border:1px solid var(--rule);border-radius:var(--r2);background:var(--sheet)}
.forecast-item:hover{border-color:var(--acc)}
.forecast-item .fi-title{font-family:var(--disp);font-weight:600;font-size:13.5px}
.forecast-item .fi-sub{font-size:11px;color:var(--ink3);margin-top:2px}
.forecast-item .fi-method{font-size:12px;color:var(--ink2)}
.forecast-item .fi-period{font-family:var(--mono);font-size:10.5px;color:var(--ink3)}
.forecast-item .fi-actions{display:flex;gap:6px;justify-content:flex-end}
.forecast-empty{border:1px dashed var(--rule);border-radius:var(--r);background:var(--sheet);padding:56px 28px;text-align:center}
.forecast-empty h3{font-family:var(--disp);font-size:19px;margin:0 0 8px}
.forecast-empty p{max-width:62ch;margin:0 auto 18px;color:var(--ink2)}
.forecast-addbox{border:1px solid var(--rule);border-radius:var(--r);background:var(--sheet);padding:18px;margin-bottom:16px;box-shadow:var(--sh)}
.forecast-addgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-top:12px}
.forecast-choice{appearance:none;text-align:left;border:1px solid var(--rule);border-radius:var(--r2);padding:12px 13px;background:var(--sheet);cursor:pointer}
.forecast-choice:hover{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 4%,transparent)}
.forecast-choice .fc-title{font-family:var(--disp);font-weight:600;font-size:13px}
.forecast-choice .fc-sub{font-size:10.5px;color:var(--ink3);margin-top:3px}
.forecast-count{font-family:var(--mono);font-size:10.5px;color:var(--ink3)}
@media(max-width:900px){.forecast-item{grid-template-columns:1fr}.forecast-item .fi-actions{justify-content:flex-start}}
.forecast-wizard{border:1px solid var(--rule);border-radius:var(--r);background:var(--sheet);padding:20px;margin-bottom:18px;box-shadow:var(--sh)}
.fw-steps{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.fw-step{font-family:var(--disp);font-size:11px;font-weight:600;color:var(--ink3);padding:6px 10px;border:1px solid var(--rule);border-radius:999px}
.fw-step.on{background:var(--acc);border-color:var(--acc);color:#fff}
.fw-step.done{color:var(--acc);border-color:color-mix(in srgb,var(--acc) 45%,var(--rule))}
.fw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px;margin:12px 0 18px}
.fw-card{appearance:none;text-align:left;border:1px solid var(--rule);border-radius:var(--r2);padding:14px;background:var(--sheet);cursor:pointer}
.fw-card:hover,.fw-card.on{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 6%,transparent)}
.fw-card.on{box-shadow:inset 0 0 0 1px var(--acc)}
.fw-card .fc-title{font-family:var(--disp);font-weight:600;font-size:13px}.fw-card .fc-sub{font-size:11px;color:var(--ink3);margin-top:4px;line-height:1.4}
.fw-actions{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:16px}.fw-actions .right{display:flex;gap:8px}
.fw-period{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:12px 0}.fw-period .sel{display:flex;flex-direction:column;gap:5px}
.fw-period .sel>span{font-family:var(--disp);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}



/* ---- V35: ruhigere Steuerungs-UX fuer Cockpit, Bilanz und Beschaffung ---- */
.mgmt-context{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 14px}
.mgmt-context .ctx{font-family:var(--mono);font-size:10.5px;border:1px solid var(--hair);border-radius:999px;padding:5px 9px;background:var(--paper);color:var(--ink2)}
.mgmt-details{border:1px solid var(--rule);border-radius:var(--r);background:var(--sheet);margin:12px 0;overflow:hidden}
.mgmt-details>summary{list-style:none;cursor:pointer;padding:14px 16px;font-family:var(--disp);font-weight:700;font-size:13px;display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.mgmt-details>summary::-webkit-details-marker{display:none}
.mgmt-details>summary:after{content:'+';font-family:var(--mono);font-size:16px;color:var(--ink3)}
.mgmt-details[open]>summary:after{content:'−'}
.mgmt-details .md-sub{display:block;font-family:var(--sans);font-size:11px;font-weight:400;color:var(--ink3);margin-top:3px}
.mgmt-details>.md-body{border-top:1px solid var(--hair);padding:14px 16px 16px}
.mgmt-alert{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;border:1px solid var(--rule);border-radius:var(--r2);padding:11px 13px;margin:10px 0;background:var(--paper)}
.mgmt-alert .ma-dot{width:9px;height:9px;border-radius:50%;background:var(--pos);margin-top:4px}.mgmt-alert.bad .ma-dot{background:var(--neg)}.mgmt-alert.warn .ma-dot{background:var(--warn)}
.mgmt-alert .ma-title{font-family:var(--disp);font-weight:700;font-size:11.5px}.mgmt-alert .ma-text{font-size:11px;color:var(--ink3);margin-top:2px}
.driver-impact{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:12px}
.driver-impact .di{border:1px solid var(--hair);border-radius:var(--r2);padding:9px 11px;background:var(--paper)}
.driver-impact .dil{font-family:var(--disp);font-size:9px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3)}
.driver-impact .div{font-family:var(--mono);font-size:13px;margin-top:4px}.driver-impact .div.pos{color:var(--pos)}.driver-impact .div.neg{color:var(--neg)}
.integration-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid var(--rule);border-radius:var(--r2);padding:11px 13px;margin:12px 0;background:var(--paper)}
.integration-bar .ib-title{font-family:var(--disp);font-weight:700;font-size:11.5px}.integration-bar .ib-sub{font-size:10.8px;color:var(--ink3);margin-top:2px}
.proc-result{display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));gap:1px;border:1px solid var(--hair);border-radius:var(--r2);overflow:hidden;margin-top:10px;background:var(--hair)}
.proc-result .pr{background:var(--paper);padding:8px 9px}.proc-result .prl{font-family:var(--disp);font-size:8.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}.proc-result .prv{font-family:var(--mono);font-size:11px;margin-top:3px}
.proc-sharebar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--hair);border-radius:var(--r2);background:var(--paper);margin:12px 0}
.wc-formula{font-family:var(--mono);font-size:10.5px;color:var(--ink3);margin:10px 0 0}.wc-formula strong{color:var(--ink)}
.sel.disabled{opacity:.55}.sel.disabled input{cursor:not-allowed}
@media(max-width:760px){.proc-result{grid-template-columns:1fr 1fr}}

/* ---- Drilldown ---- */
.overlay{position:fixed;inset:0;background:rgba(23,22,26,.34);display:flex;
  justify-content:flex-end;z-index:60}
.pane.narrow{width:min(460px,95vw)}
.eform{display:grid;gap:12px;margin:18px 0}
.eform .sel{display:flex;flex-direction:column;gap:5px}
.eform .sel>span{font-family:var(--disp);font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink3)}
.eform input,.eform select{width:100%;max-width:none;font-family:var(--sans);font-size:13px;color:var(--ink);background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r2);padding:8px 9px}
td.val.clickable{cursor:pointer}
td.val.clickable:hover{background:color-mix(in srgb,var(--acc) 14%,transparent);outline:1px solid var(--acc)}
.pane{background:var(--sheet);width:min(690px,95vw);height:100%;overflow-y:auto;
  padding:26px 28px 48px;animation:slide .16s ease-out}
@keyframes slide{from{transform:translateX(12px);opacity:.5}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.pane{animation:none}}
.phd{position:relative;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--rule)}
.phd h2{font-family:var(--disp);font-weight:700;font-size:22px;line-height:1.18;margin:0;
  max-width:46ch}
.close{position:absolute;top:-6px;right:-6px;border:0;background:transparent;font-size:26px;
  line-height:1;color:var(--ink3);cursor:pointer;padding:6px 10px}
.close:hover{color:var(--ink)}

.foot{display:flex;flex-wrap:wrap;gap:6px 30px;justify-content:space-between;margin-top:34px;
  padding-top:16px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:10px;
  color:var(--ink3)}

/* ---- Planhistorie, Undo/Redo und Forecast-Snapshots -------------------- */
.plan-historybar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 0}
.plan-historybar .histstate{font-family:var(--mono);font-size:10.5px;color:var(--ink3);margin-left:auto}
.snapshot-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}
.snapshot-tools select{min-width:240px}
.snapshot-table td.delta .n.pos,.snapshot-table .n.pos{color:var(--pos)}
.snapshot-table td.delta .n.neg,.snapshot-table .n.neg{color:var(--neg)}
.assumption-history{border-top:1px solid var(--rule);margin-top:18px;padding-top:16px}
.assumption-history .histrow{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid var(--hair)}
.assumption-history .histrow:last-child{border-bottom:0}
.assumption-history .htime{font-family:var(--mono);font-size:10px;color:var(--ink3)}
.assumption-history .hdesc{font-size:11.5px;color:var(--ink2);line-height:1.45}
@media(max-width:700px){.plan-historybar .histstate{width:100%;margin-left:0}.assumption-history .histrow{grid-template-columns:1fr}}

/* ---- Version 18: Forecast-Bridge, Management-Cockpit, Tidely-Bruecke ---- */
.bridge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0 16px}
.bridge-card{border:1px solid var(--rule);border-radius:var(--r2);padding:12px 14px;background:var(--sheet)}
.bridge-card .blab{font-family:var(--disp);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:5px}
.bridge-card .bval{font-family:var(--mono);font-size:16px;color:var(--ink)}
.bridge-card .bsub{font-family:var(--mono);font-size:10px;color:var(--ink3);margin-top:4px}
.bridge-list{display:grid;gap:0;margin-top:8px}
.bridge-row{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(110px,.7fr));gap:10px;padding:8px 0;border-bottom:1px solid var(--hair);align-items:baseline}
.bridge-row.head{font-family:var(--disp);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.bridge-row .brnum{text-align:right;font-family:var(--mono);white-space:nowrap}
.bridge-row .pos{color:var(--pos)} .bridge-row .neg{color:var(--neg)}
.mgmt-note{border-left:3px solid var(--acc);padding:10px 12px;background:color-mix(in srgb,var(--acc) 5%,transparent);margin:12px 0}
.tidely-box{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}
@media(max-width:760px){.bridge-row{grid-template-columns:1fr 1fr}.bridge-row.head{display:none}.tidely-box{grid-template-columns:1fr}}

/* ---- V30/V31: eigenstaendige Forecast-Objekte und schnellere Bedienung ---- */
.forecast-item.v30{grid-template-columns:minmax(210px,1.25fr) minmax(150px,.8fr) minmax(180px,1fr) minmax(170px,.85fr) auto}
.fi-status{font-family:var(--mono);font-size:10px;color:var(--ink3);margin-top:4px}
.fi-status.off{color:var(--neg)}
.forecast-target-list{display:grid;gap:10px;margin:14px 0}
.forecast-target-card{border:1px solid var(--rule);border-radius:var(--r2);background:var(--sheet);padding:13px 15px;display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.8fr) minmax(160px,.8fr) auto;gap:12px;align-items:center}
.forecast-target-card .ft-title{font-family:var(--disp);font-weight:600;font-size:13px}
.forecast-target-card .ft-sub{font-family:var(--mono);font-size:10.5px;color:var(--ink3);margin-top:3px}
.forecast-target-card .ft-method{font-size:12px;color:var(--ink2)}
.forecast-target-card .ft-period{font-family:var(--mono);font-size:11px;color:var(--ink2)}
.forecast-target-card .ft-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.forecast-editor-head{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;margin-bottom:14px}
.forecast-editor-head input{width:100%;font-family:var(--disp);font-size:18px;font-weight:600;padding:8px 10px;border:1px solid var(--rule);border-radius:var(--r2);background:var(--sheet);color:var(--ink)}
.forecast-range{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.forecast-range .sel{display:flex;flex-direction:column;gap:5px}
.forecast-range .sel>span{font-family:var(--disp);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.forecast-callout{border:1px solid var(--rule);border-left:3px solid var(--acc);border-radius:var(--r2);padding:12px 14px;margin:12px 0;background:color-mix(in srgb,var(--acc) 4%,transparent)}
.forecast-callout.warn{border-left-color:var(--warn)}
.forecast-callout .fc-title{font-family:var(--disp);font-weight:600;margin-bottom:4px}
.forecast-item-note{width:100%;min-height:76px;resize:vertical;font-family:var(--sans);font-size:12.5px;color:var(--ink);background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r2);padding:9px 10px}
@media(max-width:980px){.forecast-item.v30,.forecast-target-card{grid-template-columns:1fr}.forecast-range{grid-template-columns:1fr}}


/* ---- V31: schnellere Forecast-Bibliothek ------------------------------- */
.forecast-quickadd{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:10px 12px;margin:-4px 0 14px;border:1px solid var(--hair);border-radius:var(--r2);background:var(--paper)}
.forecast-quickadd .fq-label{font-family:var(--disp);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-right:3px}
.forecast-template-tag{display:inline-block;font-family:var(--mono);font-size:10px;color:var(--acc);border:1px solid color-mix(in srgb,var(--acc) 35%,var(--rule));border-radius:999px;padding:5px 8px;margin-bottom:10px}
.forecast-bulk{position:sticky;top:8px;z-index:8;display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:8px 0 12px;padding:9px 11px;border:1px solid var(--acc);border-radius:var(--r2);background:var(--sheet);box-shadow:var(--sh)}
.forecast-bulk strong{font-family:var(--disp);font-size:11px}.forecast-bulk .fb-spacer{flex:1}
.forecast-item.v31{grid-template-columns:auto minmax(185px,1.3fr) minmax(130px,.85fr) minmax(95px,.58fr) minmax(132px,.72fr) minmax(132px,.72fr) auto;gap:10px;padding:11px 12px}
.forecast-item.v31.special{grid-template-columns:minmax(210px,1.4fr) minmax(160px,.8fr) minmax(180px,.8fr) auto}
.forecast-item.v31.disabled{opacity:.65;background:var(--paper)}
.fi-check{display:flex;align-items:center;justify-content:center}.fi-check input{width:16px;height:16px}
.fi-main{min-width:0}.fi-active{display:inline-flex;align-items:center;gap:3px;margin-top:5px;font-family:var(--mono);font-size:9.5px;color:var(--ink3)}.fi-active input{width:13px;height:13px}
.fi-overlap{display:inline-block;margin-left:7px;font-family:var(--mono);font-size:9px;color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 45%,var(--rule));border-radius:999px;padding:2px 6px}
.fi-kicker,.fi-quickfield>span{display:block;font-family:var(--disp);font-size:8.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:4px}
.fi-quickfield{display:block;min-width:0}.fi-quickfield input,.fi-quickfield select{width:100%;max-width:none;font-family:var(--mono);font-size:10.5px;color:var(--ink);background:var(--sheet);border:1px solid var(--rule);border-radius:7px;padding:6px 7px}
.forecast-item.v31 .fi-actions{gap:5px;flex-wrap:wrap}.forecast-item.v31 .fi-actions button{white-space:nowrap}
button.iconish{font-size:17px;line-height:1;padding-left:9px;padding-right:9px}
button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:1180px){.forecast-item.v31{grid-template-columns:auto minmax(190px,1.2fr) minmax(130px,.8fr) minmax(95px,.55fr) minmax(125px,.7fr) minmax(125px,.7fr)}.forecast-item.v31 .fi-actions{grid-column:2/-1;justify-content:flex-start}}
@media(max-width:760px){.forecast-item.v31,.forecast-item.v31.special{grid-template-columns:1fr}.fi-check{justify-content:flex-start}.forecast-item.v31 .fi-actions{grid-column:auto}.forecast-bulk{position:static}}


/* ---- V36: Rolling Forecast / Monatsabschluss --------------------------- */
.rolling-fc{border:1px solid var(--line);background:linear-gradient(180deg,var(--card),var(--card2));}
.rf-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px}
.rf-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 16px}
.rf-step{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--bg)}
.rf-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:5px}
.rf-step strong{font-size:14px}.rf-table{margin-top:8px}.rf-table .pos{color:var(--green)}.rf-table .neg{color:var(--red)}
@media(max-width:900px){.rf-flow{grid-template-columns:1fr}}


/* ---- V40: Forecast Revision / Closing Bridge --------------------------- */
.close-bridge{margin-top:16px;border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden}
.close-bridge-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--line)}
.close-bridge-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 16px 4px}
.close-bridge-step{border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:var(--soft)}
.close-bridge-step span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);margin-bottom:4px}
.close-bridge-step strong{font-size:12px}
.close-bridge-table-wrap{overflow:auto;padding:10px 16px 14px}
.close-bridge-table .pos{color:var(--green)}.close-bridge-table .neg{color:var(--red)}
.close-bridge-note{margin:0 16px 14px}
@media(max-width:900px){.close-bridge-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.close-bridge-flow{grid-template-columns:1fr}}

/* ---- V37: Interner Plan / Budget --------------------------------------- */
.internal-budget .budget-meta{display:grid;grid-template-columns:minmax(260px,2fr) minmax(180px,1fr);gap:12px;margin:12px 0}
.internal-budget .budget-kpis{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin:12px 0 16px}
.internal-budget .metric-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--card)}
.internal-budget .budget-note{padding:10px 12px;border:1px solid var(--line);border-radius:12px;margin:8px 0 14px;background:var(--soft)}
.budget-table td.budget-cell{cursor:text;min-width:106px}
.budget-table td.budget-cell.past{background:color-mix(in srgb,var(--soft) 72%,transparent)}
.budget-table td.budget-cell:hover{box-shadow:inset 0 0 0 1px var(--blue)}
.rf-empty{padding:18px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);margin-top:12px}
@media(max-width:900px){.internal-budget .budget-kpis{grid-template-columns:repeat(2,minmax(140px,1fr))}.internal-budget .budget-meta{grid-template-columns:1fr}}

/* ---- V38: Excel-Planungsschnittstelle ---------------------------------- */
.plan-excel-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0 14px}
.plan-excel-layer{border:1px solid var(--line);background:var(--soft);border-radius:14px;padding:12px 14px;margin:10px 0 14px;display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}
.plan-excel-layer .pel-main{min-width:240px;flex:1}
.plan-excel-layer .pel-title{font-family:var(--disp);font-weight:700;margin-bottom:3px}
.plan-excel-layer .pel-sub{font-size:12px;color:var(--ink3)}
.excel-preview-pane{width:min(920px,94vw)}
.excel-preview-kpis{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin:12px 0}
.excel-preview-kpis .metric-card{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--card)}
.excel-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;margin:12px 0}
.excel-mode{display:block;border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;background:var(--card)}
.excel-mode:has(input:checked){border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.excel-mode strong{display:block;margin-bottom:4px}.excel-mode span{display:block;color:var(--ink3);font-size:12px}
.excel-warn{border:1px solid var(--warn);border-radius:12px;padding:10px 12px;margin:8px 0}
@media(max-width:800px){.excel-preview-kpis{grid-template-columns:repeat(2,minmax(120px,1fr))}.excel-mode-grid{grid-template-columns:1fr}}

/* ---- V41: Bottom-up Planung auf Produktebene --------------------------- */
.bu-hero{display:grid;gap:14px}.bu-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}
.bu-kpi{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--card)}.bu-kpi .lab{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.bu-kpi .val{font-size:20px;font-weight:800;margin-top:5px}.bu-kpi .hint{font-size:11px;color:var(--muted);margin-top:3px}
.bu-gap.pos,.bu-coverage.ok{color:var(--good)}.bu-gap.neg,.bu-coverage.bad{color:var(--bad)}
.bu-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.bu-note{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--soft);font-size:12px;color:var(--muted)}
.bu-products{display:grid;gap:12px}.bu-product{border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--card)}.bu-product-head{display:flex;align-items:center;gap:10px;justify-content:space-between}.bu-product-title{display:flex;gap:8px;align-items:center;min-width:0;flex:1}.bu-product-title input{font-weight:800;font-size:15px;min-width:120px;max-width:320px}.bu-product-meta{font-size:12px;color:var(--muted)}
.bu-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.bu-fields .sel{min-width:0}.bu-impact{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.bu-impact .bi{min-width:0}.bu-impact .bil{font-size:11px;color:var(--muted)}.bu-impact .biv{font-weight:800;margin-top:3px;overflow:hidden;text-overflow:ellipsis}
.bu-month-grid{display:grid;grid-template-columns:repeat(12,minmax(72px,1fr));gap:6px;min-width:980px}.bu-month{display:grid;gap:4px}.bu-month span{font-size:11px;color:var(--muted);text-align:center}.bu-month input{width:100%;text-align:right}.bu-scroll{overflow-x:auto;padding-bottom:4px}.bu-subhead{font-weight:800;margin:14px 0 7px}.bu-lots{display:grid;gap:8px}.bu-lot{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--soft)}.bu-lot-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.bu-lot-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:9px}.bu-lot-advanced{margin-top:8px}.bu-lot-advanced .bu-lot-fields{grid-template-columns:repeat(4,minmax(0,1fr))}
.bu-compare td,.bu-compare th{white-space:nowrap}.bu-shortage{color:var(--bad);font-weight:800}.bu-ok{color:var(--good);font-weight:800}.bu-cash-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.bu-cash-item{border:1px solid var(--line);border-radius:12px;padding:10px}.bu-cash-item .l{font-size:11px;color:var(--muted)}.bu-cash-item .v{font-weight:800;margin-top:3px}
@media(max-width:1100px){.bu-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.bu-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.bu-impact{grid-template-columns:repeat(3,minmax(0,1fr))}.bu-lot-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.bu-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.bu-fields,.bu-lot-fields,.bu-lot-advanced .bu-lot-fields{grid-template-columns:1fr}.bu-impact{grid-template-columns:repeat(2,minmax(0,1fr))}.bu-cash-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* ---- V43: Management / Board Pack --------------------------------------- */
.board-pack-launch{border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:14px;background:var(--card)}
.board-pack-launch .bp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.board-pack-launch .bp-title{font-size:18px;font-weight:800;margin-top:2px}.board-pack-launch .bp-flow{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:10px}
.board-pack-launch .bp-step{border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:11px;color:var(--muted);background:var(--soft)}
.board-pack{display:grid;gap:14px}.board-page{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--card)}
.board-titlebar{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap;margin-bottom:12px}.board-page-title{font-size:19px;font-weight:850}.board-context{font-size:11px;color:var(--muted);margin-top:3px}
.board-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:10px 0 14px}.board-kpi{border:1px solid var(--line);border-radius:12px;padding:11px;background:var(--soft)}.board-kpi .l{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700}.board-kpi .v{font-size:19px;font-weight:850;margin-top:4px}.board-kpi .d{font-size:11px;color:var(--muted);margin-top:3px}.board-kpi .d.pos{color:var(--good)}.board-kpi .d.neg{color:var(--bad)}
.board-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px}.board-block{border-top:1px solid var(--line);padding-top:10px}.board-block h3{font-size:13px;margin:0 0 7px}.board-bullets{margin:0;padding-left:18px}.board-bullets li{margin:5px 0}.board-table td,.board-table th{white-space:nowrap}.board-note{font-size:11px;color:var(--muted);margin-top:8px}
.board-driver-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.board-driver{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:6px 0}.board-driver .pos{color:var(--good)}.board-driver .neg{color:var(--bad)}
@media(max-width:900px){.board-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.board-summary,.board-driver-grid{grid-template-columns:1fr}}
@media print{.board-pack{display:block}.board-page{border:0!important;border-radius:0!important;padding:0!important;background:#fff!important}.board-page.preport{break-before:page}.board-page.preport:first-child{break-before:avoid}.board-kpis{grid-template-columns:repeat(4,1fr)}.board-kpi{background:#fff!important;border:.3pt solid #aaa!important}.board-summary,.board-driver-grid{grid-template-columns:1fr 1fr}.board-note{font-size:7pt}.board-pack-launch{display:none!important}}

/* ---- V42: Finance Model Validation -------------------------------------- */
.model-qa-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.model-qa-score{display:flex;gap:8px;flex-wrap:wrap}
.model-qa-chip{border:1px solid var(--rule);border-radius:999px;padding:5px 9px;font-size:12px;background:var(--sheet)}
.model-qa-chip.ok{color:var(--pos)}.model-qa-chip.warn{color:var(--warn)}.model-qa-chip.error{color:var(--neg)}
.model-qa-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.model-qa-card{border:1px solid var(--rule);border-radius:14px;padding:12px;background:var(--sheet)}
.model-qa-card .qv{font-size:24px;font-weight:650;margin-top:3px}.model-qa-card .ql{font-size:12px;color:var(--ink2)}
.model-qa-group{margin-top:12px;border-top:1px solid var(--rule);padding-top:10px}
.model-qa-group>summary{cursor:pointer;font-weight:650;display:flex;gap:8px;align-items:center}
.model-qa-row{display:grid;grid-template-columns:18px minmax(180px,1fr) minmax(260px,2fr);gap:9px;padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--rule) 65%,transparent);align-items:start}
.model-qa-dot{width:9px;height:9px;border-radius:50%;margin-top:5px;background:var(--ink2)}
.model-qa-row.ok .model-qa-dot{background:var(--pos)}.model-qa-row.warn .model-qa-dot{background:var(--warn)}.model-qa-row.error .model-qa-dot{background:var(--neg)}
.model-qa-title{font-weight:600}.model-qa-detail{color:var(--ink2);font-size:13px;line-height:1.4}
@media(max-width:900px){.model-qa-grid{grid-template-columns:1fr}.model-qa-row{grid-template-columns:18px 1fr}.model-qa-detail{grid-column:2}}



/* ---- V44: Multi-User / Supabase Foundation ------------------------------ */
.cloud-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:var(--card);font-size:12px;font-weight:750;cursor:pointer;color:var(--ink)}
.cloud-btn .dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:0 0 auto}.cloud-btn.ready .dot{background:var(--good)}.cloud-btn.saving .dot{background:var(--warn)}.cloud-btn.error .dot,.cloud-btn.conflict .dot{background:var(--bad)}
.cloud-gate{min-height:100vh;display:grid;place-items:center;padding:28px;background:var(--bg)}.cloud-gate-card{width:min(520px,100%);border:1px solid var(--line);border-radius:18px;background:var(--card);padding:24px}.cloud-gate-card h1{font-size:24px;margin:5px 0 8px}.cloud-gate-card .cg-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.cloud-gate-card input{width:100%;box-sizing:border-box;margin-top:5px}.cloud-form{display:grid;gap:12px;margin-top:16px}.cloud-form label>span{display:block;font-size:12px;color:var(--muted);font-weight:700;margin-bottom:4px}.cloud-auth-msg{margin-top:12px;font-size:12px}.cloud-auth-msg.bad{color:var(--bad)}.cloud-auth-msg.ok{color:var(--good)}
.cloud-overlay{position:fixed;inset:0;z-index:1200;background:rgba(5,12,25,.48);display:grid;place-items:center;padding:24px}.cloud-pane{width:min(760px,96vw);max-height:88vh;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 24px 70px rgba(0,0,0,.22)}.cloud-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.cloud-head h2{margin:2px 0 4px}.cloud-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.cloud-kpi{border:1px solid var(--line);border-radius:12px;padding:10px}.cloud-kpi span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.cloud-kpi strong{display:block;margin-top:4px;font-size:13px;overflow-wrap:anywhere}.cloud-section{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.cloud-section h3{margin:0 0 8px;font-size:15px}.cloud-tools{display:flex;gap:8px;flex-wrap:wrap}.cloud-member{display:grid;grid-template-columns:minmax(160px,1fr) 120px auto;gap:8px;align-items:center;border-top:1px solid var(--line);padding:8px 0}.cloud-member:first-child{border-top:0}.cloud-member select{width:100%}.cloud-member-email{font-size:13px;overflow-wrap:anywhere}.cloud-add-member{display:grid;grid-template-columns:minmax(180px,1fr) 130px auto;gap:8px;margin-top:10px}.cloud-note{border:1px solid var(--line);border-radius:12px;background:var(--soft);padding:10px 12px;font-size:12px;color:var(--muted)}.cloud-note.warn{border-color:var(--warn);color:var(--ink)}.cloud-note.bad{border-color:var(--bad);color:var(--bad)}
.cloud-sync-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--warn);background:var(--soft);border-radius:12px;padding:10px 12px;margin:0 0 12px}.cloud-sync-banner.bad{border-color:var(--bad)}.cloud-sync-banner .txt{font-size:12px}.cloud-sync-banner .acts{display:flex;gap:6px;flex-wrap:wrap}
.cloud-local-launch{margin-top:14px;display:flex;justify-content:center}.cloud-local-launch button{font-size:12px}
body.cloud-readonly .edit,body.cloud-readonly .cellin{cursor:not-allowed}
@media(max-width:700px){.cloud-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cloud-member,.cloud-add-member{grid-template-columns:1fr}.cloud-member button,.cloud-add-member button{justify-self:start}}

/* ---- V45: Bereichsrechte / benutzerdefinierte Zugriffe ------------------ */
.cloud-member.v45{grid-template-columns:minmax(150px,.8fr) minmax(190px,1.2fr) 150px auto;align-items:center}
.cloud-member-name input{width:100%;font-weight:700}.cloud-member-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.cloud-role-badge{font-size:11px;color:var(--muted)}
.cloud-perm-editor{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--soft);margin-top:12px}
.cloud-perm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.cloud-perm-head h4{margin:0 0 3px}
.cloud-perm-grid{display:grid;grid-template-columns:minmax(150px,1fr) repeat(3,minmax(90px,.55fr));border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}
.cloud-perm-grid>div{padding:9px 10px;border-bottom:1px solid var(--line);display:flex;align-items:center}.cloud-perm-grid>div:nth-last-child(-n+4){border-bottom:0}.cloud-perm-grid .ph{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:var(--soft)}
.cloud-perm-grid .area{font-weight:700}.cloud-perm-grid label{justify-content:center;gap:5px;font-size:12px}.cloud-perm-grid input[type=radio]{margin:0}
.cloud-add-member.v45{grid-template-columns:minmax(140px,.8fr) minmax(190px,1.2fr) 150px auto}
.cloud-access-denied{border:1px solid var(--warn);border-radius:14px;padding:18px;background:var(--soft)}
.cloud-readonly-note{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-bottom:10px;font-size:12px;color:var(--muted);background:var(--soft)}
@media(max-width:900px){.cloud-member.v45,.cloud-add-member.v45{grid-template-columns:1fr}.cloud-member-actions{justify-content:flex-start}.cloud-perm-grid{grid-template-columns:minmax(130px,1fr) repeat(3,minmax(72px,.55fr));font-size:12px}}
@media(max-width:600px){.cloud-perm-grid{grid-template-columns:1fr}.cloud-perm-grid .ph:not(:first-child){display:none}.cloud-perm-grid>div{border-bottom:0}.cloud-perm-grid .area{border-top:1px solid var(--line);background:var(--soft)}.cloud-perm-grid label{justify-content:flex-start;padding-left:20px}}

/* ---- V46: Gesellschaftsrechte ------------------------------------------- */
.cloud-entity-scope{margin:12px 0;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--card)}
.cloud-entity-scope h5{margin:0 0 8px;font-size:13px}.cloud-entity-mode{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:9px}.cloud-entity-list{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:7px}.cloud-entity-list label{display:flex;gap:7px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:8px 9px;background:var(--soft)}
.cloud-scope-pill{display:inline-flex;margin-top:3px;font-size:10px;color:var(--muted);font-weight:650}.cloud-scope-warning{font-size:11px;color:var(--warn);margin-top:7px}
@media(max-width:700px){.cloud-entity-list{grid-template-columns:1fr}}



/* ---- V50: Pammysphere Shell / Pammys Logo ------------------------------- */
:root{
  --ps-sidebar:#f6f7f8;--ps-sidebar-ink:#15171a;--ps-sidebar-muted:#70757d;
  --ps-topbar:rgba(255,255,255,.92);--ps-active:#eaecf0;--ps-card:#fff;
  --ps-purple:#7475f5;--ps-purple-soft:#ececff;--ps-page:#f7f8fb;
  --ps-border:#e3e5e9;--ps-shadow:0 12px 36px rgba(23,27,36,.06);
}
body.dark{
  --ps-sidebar:#181b1e;--ps-sidebar-ink:#f2f3f5;--ps-sidebar-muted:#a3a8ae;
  --ps-topbar:rgba(9,11,13,.92);--ps-active:#252a2e;--ps-card:#171a1d;
  --ps-purple:#8586ff;--ps-purple-soft:#292a50;--ps-page:#090b0d;
  --ps-border:#2c3034;--ps-shadow:0 18px 50px rgba(0,0,0,.22);
}
body{background:var(--ps-page)}
.ps-shell{min-height:100vh;display:grid;grid-template-columns:264px minmax(0,1fr);background:var(--ps-page)}
.ps-shell.collapsed{grid-template-columns:76px minmax(0,1fr)}
.ps-side{position:sticky;top:0;height:100vh;z-index:40;background:var(--ps-sidebar);border-right:1px solid var(--ps-border);padding:16px 10px;display:flex;flex-direction:column;color:var(--ps-sidebar-ink);overflow-y:auto}
.ps-brand{height:46px;display:flex;align-items:center;gap:10px;padding:0 12px 12px;font-family:var(--disp);font-size:24px;font-weight:700;letter-spacing:-.025em;white-space:nowrap}
.ps-brand .sphere{font-weight:500;color:var(--ps-sidebar-muted)}
.ps-brand>.logo{width:28px;height:28px;border-radius:7px;object-fit:contain;flex:0 0 28px}
.ps-area-card{display:flex;align-items:center;gap:11px;margin:8px 0 18px;padding:10px 12px;border:1px solid var(--ps-border);border-radius:17px;background:color-mix(in srgb,var(--ps-card) 64%,transparent)}
.ps-area-icon{width:36px;height:36px;border-radius:12px;background:var(--ps-purple);color:white;display:grid;place-items:center;flex:none}.ps-area-icon .ico{width:18px;height:18px}
.ps-area-copy{min-width:0}.ps-area-copy strong{display:block;font-size:14px}.ps-area-copy span{display:block;font-family:var(--mono);font-size:10px;color:var(--ps-sidebar-muted);margin-top:1px}
.ps-nav-label{padding:0 14px;margin:10px 0 5px;font-size:11px;font-weight:700;color:var(--ps-sidebar-muted)}
.ps-nav-list{display:grid;gap:3px}.ps-nav-item{position:relative;width:100%;display:flex;align-items:center;gap:11px;border:0;background:transparent;color:var(--ps-sidebar-ink);padding:9px 13px;border-radius:13px;text-align:left;cursor:pointer;font:600 13px var(--sans)}
.ps-nav-item:hover{background:color-mix(in srgb,var(--ps-active) 70%,transparent)}.ps-nav-item.on{background:var(--ps-active)}.ps-nav-item .ico{width:18px;height:18px;color:var(--ps-sidebar-muted)}.ps-nav-item.on .ico{color:var(--ps-sidebar-ink)}
.ps-nav-item .ps-badge{margin-left:auto;min-width:19px;height:19px;padding:0 5px;border-radius:20px;display:grid;place-items:center;font:600 9px var(--mono);background:#fff0d4;color:#9c6900}.ps-nav-item .ps-badge.e{background:#ffe5e3;color:#bd382e}
.ps-side-bottom{margin-top:auto;display:grid;gap:3px;padding-top:12px}.ps-side-bottom .ps-nav-item{font-weight:500}
.ps-shell.collapsed .ps-brand-word,.ps-shell.collapsed .ps-area-copy,.ps-shell.collapsed .ps-nav-label,.ps-shell.collapsed .ps-nav-item span:not(.ps-badge){display:none}
.ps-shell.collapsed .ps-brand{justify-content:center;padding-left:0;padding-right:0}.ps-shell.collapsed .ps-area-card{justify-content:center;padding:8px}.ps-shell.collapsed .ps-nav-item{justify-content:center;padding:10px}.ps-shell.collapsed .ps-nav-item .ps-badge{position:absolute;right:5px;top:4px}
.ps-work{min-width:0;display:flex;flex-direction:column}.ps-top{height:62px;position:sticky;top:0;z-index:35;background:var(--ps-topbar);backdrop-filter:blur(16px);border-bottom:1px solid var(--ps-border);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 24px}
.ps-top-left{display:flex;align-items:center}.ps-collapse{border:0;background:transparent;color:var(--ink);width:34px;height:34px;border-radius:9px;display:grid;place-items:center;cursor:pointer}.ps-collapse:hover{background:var(--ps-active)}
.ps-top-title{font-family:var(--disp);font-weight:650;font-size:19px;letter-spacing:-.01em}.ps-user-wrap{justify-self:end;position:relative}.ps-user{border:0;background:transparent;color:var(--ink);display:flex;align-items:center;gap:9px;padding:5px 7px 5px 10px;border-radius:13px;cursor:pointer;font-weight:650}.ps-user:hover{background:var(--ps-active)}
.ps-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--ps-purple),#5bbf9c);color:white;font:700 11px var(--sans);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.ps-profile{position:absolute;right:0;top:45px;width:272px;background:var(--ps-card);border:1px solid var(--ps-border);border-radius:20px;box-shadow:0 24px 65px rgba(0,0,0,.18);overflow:hidden;z-index:100}.ps-profile-head{padding:17px 18px 14px;border-bottom:1px solid var(--ps-border)}.ps-profile-head strong{display:block;font-size:15px}.ps-profile-head span{display:block;color:var(--ink2);font-size:12px;margin-top:2px}.ps-profile-sec{padding:12px 14px;border-bottom:1px solid var(--ps-border)}.ps-profile-sec:last-child{border-bottom:0}.ps-profile-label{font-size:11px;color:var(--ink3);margin:0 0 6px;padding:0 4px}.ps-profile-row{width:100%;border:0;background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:space-between;padding:9px 8px;border-radius:10px;cursor:pointer;text-align:left;font:600 13px var(--sans)}.ps-profile-row:hover{background:var(--ps-active)}.ps-profile-row.on::after{content:'✓';font-weight:700}.ps-profile-row.logout{color:var(--neg)}
.ps-content{max-width:none!important;padding:24px 32px 72px!important}.ps-content .toolbar{padding:10px;border:1px solid var(--ps-border);border-radius:18px;background:var(--ps-card);box-shadow:0 3px 14px rgba(30,35,45,.025);margin-bottom:18px}.ps-content .toolbar .tsel,.ps-content .toolbar .scenario-switch{box-shadow:none;border-color:var(--ps-border)}
.ps-content .side,.ps-content .assign,.ps-content .close-bridge,.ps-content .rolling-fc,.ps-content .model-qa{border-color:var(--ps-border);border-radius:18px;box-shadow:0 2px 14px rgba(30,35,45,.025)}
.ps-content .sheet{max-width:1500px}.ps-content .vbar{border-radius:16px}
.ps-hero-strip{display:flex;align-items:center;gap:8px;margin:0 0 16px}.ps-hero-pill{display:inline-flex;align-items:center;border:1px solid var(--ps-border);background:var(--ps-card);border-radius:999px;padding:4px}.ps-hero-pill span{padding:6px 13px;border-radius:999px;font-size:12px;font-weight:650;color:var(--ink2)}.ps-hero-pill span.on{background:var(--ps-purple);color:white}
.cloud-btn{border-radius:12px!important}
@media(max-width:940px){.ps-shell,.ps-shell.collapsed{grid-template-columns:1fr}.ps-side{position:relative;height:auto;max-height:none}.ps-shell.collapsed .ps-brand-word,.ps-shell.collapsed .ps-area-copy,.ps-shell.collapsed .ps-nav-label,.ps-shell.collapsed .ps-nav-item span:not(.ps-badge){display:initial}.ps-shell.collapsed .ps-nav-item{justify-content:flex-start}.ps-top{position:sticky;grid-template-columns:auto 1fr auto;padding:0 12px}.ps-top-title{text-align:center}.ps-content{padding:18px 14px 54px!important}}
@media print{.ps-side,.ps-top,.ps-hero-strip{display:none!important}.ps-shell,.ps-shell.collapsed{display:block}.ps-content{padding:0!important}}



/* ---- V51: Pammysphere UI Match -----------------------------------------
   Screenshot-basierter Nachbau der internen Pammysphere-Shell. Die exakte
   Originalschrift liegt nicht vor; Inter ist der visuell naechste robuste
   Web-Font-Match. Finance-Tabellen behalten fuer Zahlen IBM Plex Mono. */
:root{
  --ps-font:'Inter',Arial,Helvetica,sans-serif;
  --ps-sidebar:#ffffff;--ps-sidebar-ink:#151719;--ps-sidebar-muted:#85898e;
  --ps-topbar:#ffffff;--ps-active:#eef0f1;--ps-card:#ffffff;
  --ps-purple:#7772f5;--ps-purple-soft:#eeedff;--ps-page:#f5f6f8;
  --ps-border:#e0e3e6;--ps-shadow:0 14px 34px rgba(20,24,31,.07);
  --sans:var(--ps-font);--disp:var(--ps-font);
}
body.dark{
  --ps-sidebar:#181b1d;--ps-sidebar-ink:#f3f4f5;--ps-sidebar-muted:#9da1a5;
  --ps-topbar:#090b0c;--ps-active:#272b2e;--ps-card:#191c1e;
  --ps-purple:#7c79ff;--ps-purple-soft:#2b2a4c;--ps-page:#080a0b;
  --ps-border:#303438;--ps-shadow:0 18px 50px rgba(0,0,0,.27);
}
html,body{font-family:var(--ps-font)}
.ps-shell{grid-template-columns:264px minmax(0,1fr)}
.ps-shell.collapsed{grid-template-columns:72px minmax(0,1fr)}
.ps-side{
  padding:13px 9px 14px;background:var(--ps-sidebar);border-right:1px solid var(--ps-border);
  scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ps-sidebar-muted) 35%,transparent) transparent;
}
.ps-brand{
  height:55px;padding:2px 27px 12px;gap:0;font-family:var(--ps-font);font-size:27px;
  font-weight:700;letter-spacing:-1.35px;line-height:1;color:var(--ps-sidebar-ink)
}
.ps-brand .sphere{font-weight:550;color:#85888c;letter-spacing:-1.25px}
body.dark .ps-brand .sphere{color:#919599}
.ps-area-card{
  min-height:72px;margin:0 0 28px;padding:10px 14px;border-radius:18px;border:1px solid var(--ps-border);
  background:var(--ps-card);gap:12px;box-shadow:none
}
body.dark .ps-area-card{background:#191d1f;border-color:#363a3d}
.ps-area-icon{width:44px;height:44px;border-radius:17px;background:var(--ps-purple);box-shadow:none}
.ps-area-icon .ico{width:21px;height:21px;stroke-width:1.45}
.ps-area-copy strong{font:600 17px/1.15 var(--ps-font);letter-spacing:-.25px}
.ps-area-copy span{font:500 14px/1.25 var(--ps-font);color:var(--ps-sidebar-muted);margin-top:4px}
.ps-nav-label{padding:0 21px;margin:13px 0 7px;font:600 14px/1.2 var(--ps-font);color:var(--ps-sidebar-muted)}
.ps-nav-list{gap:4px}
.ps-nav-item{
  min-height:45px;gap:12px;padding:10px 18px;border-radius:24px;font:600 15px/1 var(--ps-font);letter-spacing:-.1px
}
.ps-nav-item:hover{background:color-mix(in srgb,var(--ps-active) 76%,transparent)}
.ps-nav-item.on{background:var(--ps-active)}
.ps-nav-item .ico{width:20px;height:20px;color:var(--ps-sidebar-ink);stroke-width:1.65}
.ps-side-bottom{padding:16px 3px 0;gap:2px}
.ps-side-bottom .ps-nav-item{border-radius:13px;min-height:42px;font-weight:500;padding-left:17px}
.ps-shell.collapsed .ps-brand{padding:0;justify-content:center;font-size:0}
.ps-shell.collapsed .ps-brand::before{content:'P';font:700 24px var(--ps-font);letter-spacing:-1px;color:var(--ps-sidebar-ink)}
.ps-shell.collapsed .ps-area-card{margin-left:2px;margin-right:2px;border-radius:17px}
.ps-work{background:var(--ps-page)}
.ps-top{
  height:61px;padding:0 21px;background:var(--ps-topbar);backdrop-filter:none;border-bottom:1px solid var(--ps-border);
  grid-template-columns:1fr auto 1fr
}
.ps-top-left{height:100%;align-items:center}
.ps-collapse{width:35px;height:35px;border-radius:8px;color:var(--ink);position:relative}
.ps-collapse::after{content:'';position:absolute;right:-13px;top:8px;height:19px;width:1px;background:var(--ps-border)}
.ps-collapse .ico{width:18px;height:18px}
.ps-top-title{font:650 18px/1 var(--ps-font);letter-spacing:-.35px;color:var(--ink)}
.ps-user{gap:9px;padding:4px 2px 4px 9px;border-radius:18px;font:600 14px var(--ps-font);letter-spacing:-.15px}
.ps-avatar{
  width:35px;height:35px;font-size:0;background:
    radial-gradient(circle at 67% 28%,#75e9a2 0 15%,transparent 16%),
    radial-gradient(circle at 35% 68%,#6355c8 0 18%,transparent 19%),
    conic-gradient(from 210deg,#5039aa,#4e44d0,#54e296,#7859dc,#5039aa);
  border:1px solid color-mix(in srgb,var(--ps-border) 75%,transparent);box-shadow:none
}
.ps-profile{
  top:45px;width:276px;border-radius:21px;border:1px solid var(--ps-border);background:var(--ps-card);
  box-shadow:0 20px 52px rgba(0,0,0,.18)
}
.ps-profile-head{padding:18px 25px 16px}
.ps-profile-head strong{font:650 17px/1.2 var(--ps-font);letter-spacing:-.25px}
.ps-profile-head span{font:450 13px/1.35 var(--ps-font);margin-top:3px;color:var(--ink2)}
.ps-profile-sec{padding:14px 18px}
.ps-profile-label{font:500 12px var(--ps-font);color:var(--ink3);padding:0 7px;margin:0 0 5px}
.ps-profile-row{min-height:42px;padding:9px 9px;border-radius:10px;font:600 14px var(--ps-font)}
.ps-profile-row.theme-hell::before{content:'☀';font-size:17px;margin-right:11px}
.ps-profile-row.theme-dunkel::before{content:'☾';font-size:19px;margin-right:11px}
.ps-profile-row.theme-system::before{content:'▣';font-size:16px;margin-right:11px}
.ps-profile-row{justify-content:flex-start}.ps-profile-row.on::after{content:'✓';margin-left:auto}
.ps-profile-row.logout{color:#dc5b58}
.ps-content{padding:29px 108px 76px!important}
.ps-content>.toolbar{margin-top:0}
.ps-hero-strip{margin:0 0 30px}
.ps-hero-pill{border:1px solid #c9ccd0;background:transparent;border-radius:999px;padding:3px;box-shadow:none}
body.dark .ps-hero-pill{border-color:#44494d}
.ps-hero-pill span{padding:6px 15px;font:550 13px var(--ps-font);color:var(--ps-sidebar-muted)}
.ps-hero-pill span.on{background:var(--ps-purple);color:#fff;box-shadow:0 2px 7px rgba(96,89,223,.20)}
.ps-content .toolbar{border-radius:18px;background:var(--ps-card);border-color:var(--ps-border);box-shadow:none}
.ps-content .sheet,.ps-content .side,.ps-content .assign,.ps-content .close-bridge,.ps-content .rolling-fc,.ps-content .model-qa{box-shadow:none}
@media(max-width:1250px){.ps-content{padding-left:44px!important;padding-right:44px!important}}
@media(max-width:940px){
  .ps-content{padding:20px 14px 54px!important}.ps-brand{padding-left:17px}.ps-side{padding-bottom:8px}
  .ps-area-card{margin-bottom:14px}.ps-top{padding:0 13px}
}


/* ---- V52: Pammysphere Brand- und Typografie-Korrektur -------------------
   Originales eingebettetes Pammys-Icon wiederverwenden. Wortmarke korrekt
   als Pammy + sphere. Leichtere, kompaktere Typografie nach Screenshot. */
:root{
  --ps-font:'Inter Tight','Inter','Segoe UI',Arial,sans-serif;
  --sans:var(--ps-font);--disp:var(--ps-font);
}
html,body{font-family:var(--ps-font);font-weight:400;letter-spacing:-.006em}
.ps-brand{
  height:58px;padding:2px 18px 12px;gap:10px;font-family:var(--ps-font);
  font-size:27px;font-weight:500;letter-spacing:-1.15px;line-height:1;color:var(--ps-sidebar-ink)
}
.ps-brand-logo{width:31px;height:31px;display:block;object-fit:contain;border-radius:5px;flex:0 0 31px}
.ps-brand-word{font-weight:500;white-space:nowrap}
.ps-brand .sphere{font-weight:400;color:#85888c;letter-spacing:-1.1px}
body.dark .ps-brand .sphere{color:#919599}
.ps-area-copy strong{font:500 17px/1.15 var(--ps-font);letter-spacing:-.28px}
.ps-area-copy span{font:400 14px/1.25 var(--ps-font);letter-spacing:-.12px}
.ps-nav-label{font:500 13px/1.2 var(--ps-font);letter-spacing:-.08px}
.ps-nav-item{font:500 15px/1 var(--ps-font);letter-spacing:-.22px}
.ps-side-bottom .ps-nav-item{font-weight:450}
.ps-top-title{font:600 18px/1 var(--ps-font);letter-spacing:-.48px}
.ps-user{font:500 14px var(--ps-font);letter-spacing:-.22px}
.ps-profile-head strong{font:550 17px/1.2 var(--ps-font);letter-spacing:-.32px}
.ps-profile-head span{font:400 13px/1.35 var(--ps-font);letter-spacing:-.08px}
.ps-profile-label{font:450 12px var(--ps-font);letter-spacing:-.04px}
.ps-profile-row{font:500 14px var(--ps-font);letter-spacing:-.18px}
.ps-hero-pill span{font:500 13px var(--ps-font);letter-spacing:-.15px}
/* Auch die fachlichen Oberflaechen etwas weniger schwer und weniger weit. */
.eyebrow,.nav .setlabel,.nav .sel>span,.kl,.cmpsel .cl,.tile .tlabel,.vbar .vctl .sel>span,
table.stmt th,tr.k-head td{font-weight:500;letter-spacing:.09em}
.ah,.wt,.ict,.mcard .mct,.strow .slab,.vbar .vtitle{font-weight:550;letter-spacing:-.12px}
.rtitle,.ct,tr.k-group td.lbl,.bilsum .bl{font-weight:600;letter-spacing:-.05px}
.ghost,.seg.wide button,.nav .seg button{font-weight:500;letter-spacing:.01em}
.ps-shell.collapsed .ps-brand{padding:0;justify-content:center;font-size:0}
.ps-shell.collapsed .ps-brand::before{content:none}
.ps-shell.collapsed .ps-brand-logo{width:32px;height:32px;flex-basis:32px}
.ps-shell.collapsed .ps-brand-word{display:none}


/* ---- V53: Shell- und Freigabe-UI-Überarbeitung -------------------------- */
:root{
  --ps-sidebar-w:278px;
  --ps-sidebar-w-collapsed:78px;
}
.ps-shell{grid-template-columns:var(--ps-sidebar-w) minmax(0,1fr)}
.ps-shell.collapsed{grid-template-columns:var(--ps-sidebar-w-collapsed) minmax(0,1fr)}
.ps-side{
  padding:18px 14px 16px;
  overflow-x:hidden;
  scrollbar-width:none;
}
.ps-side::-webkit-scrollbar{width:0;height:0}
.ps-brand{
  min-height:60px;height:auto;padding:4px 12px 16px;margin-bottom:2px;
  justify-content:flex-start;cursor:pointer;border-radius:18px;transition:background .16s ease
}
.ps-brand:hover{background:var(--ps-active)}
.ps-brand-mark{display:flex;align-items:flex-end;min-width:0;gap:0}
.ps-brand-wordmark{display:block;height:34px;width:auto;object-fit:contain;flex:none}
.ps-brand-suffix{display:inline-block;margin-left:-1px;font:400 27px/1 var(--ps-font);letter-spacing:-1.12px;color:#8e9398;transform:translateY(-1px)}
body.dark .ps-brand-suffix{color:#989da2}
.ps-brand-mini{display:none;width:38px;height:38px;border-radius:12px;background:var(--ps-active);align-items:center;justify-content:center;font:600 21px/1 var(--ps-font);letter-spacing:-.04em;color:var(--ps-sidebar-ink)}
.ps-area-card{margin:4px 0 14px;padding:14px 15px;border-radius:22px;min-height:86px;background:var(--ps-card)}
.ps-area-icon{width:48px;height:48px;border-radius:18px}
.ps-area-copy strong{font:500 18px/1.08 var(--ps-font);letter-spacing:-.03em}
.ps-area-copy span{font:400 14px/1.2 var(--ps-font);margin-top:6px;color:var(--ps-sidebar-muted)}
.ps-context-card{margin:0 0 16px;padding:14px 16px;border:1px solid var(--ps-border);border-radius:18px;background:color-mix(in srgb,var(--ps-card) 88%,transparent)}
.ps-context-label{display:block;font:500 11px/1 var(--ps-font);letter-spacing:.08em;text-transform:uppercase;color:var(--ps-sidebar-muted);margin-bottom:9px}
.ps-context-entity{display:block;font:550 15px/1.2 var(--ps-font);letter-spacing:-.02em;color:var(--ps-sidebar-ink)}
.ps-context-meta{display:block;font:400 12px/1.35 var(--ps-font);color:var(--ps-sidebar-muted);margin-top:6px}
.ps-nav-label{padding:0 18px;margin:12px 0 8px}
.ps-nav-list{gap:5px}
.ps-nav-item{min-height:46px;padding:11px 16px 11px 17px;border-radius:18px}
.ps-nav-item .ps-badge{margin-left:auto}
.ps-side-bottom{padding:18px 2px 0;gap:4px}
.ps-side-bottom .ps-nav-item{min-height:44px}
.ps-work{background:var(--ps-page)}
.ps-top{
  height:68px;padding:0 26px;grid-template-columns:minmax(0,1fr) auto;background:var(--ps-topbar)
}
.ps-top-left,.ps-collapse{display:none!important}
.ps-top-title-wrap{display:flex;flex-direction:column;gap:3px;min-width:0}
.ps-top-title{font:600 21px/1.05 var(--ps-font);letter-spacing:-.04em;color:var(--ink)}
.ps-top-sub{font:400 12px/1.3 var(--ps-font);color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-user-wrap{justify-self:end}
.ps-user{padding:6px 3px 6px 10px}
.ps-profile{top:52px}
.ps-content{padding:30px 54px 76px!important}
.ps-hero-strip--hidden{display:none!important}
.ps-shell.collapsed .ps-brand{justify-content:center;padding:4px 0 14px}
.ps-shell.collapsed .ps-brand-mark,.ps-shell.collapsed .ps-context-card,.ps-shell.collapsed .ps-area-copy,.ps-shell.collapsed .ps-nav-label,.ps-shell.collapsed .ps-nav-item span:not(.ps-badge){display:none!important}
.ps-shell.collapsed .ps-brand-mini{display:flex}
.ps-shell.collapsed .ps-area-card{justify-content:center;padding:12px 10px}
.ps-shell.collapsed .ps-area-icon{width:46px;height:46px}
.ps-shell.collapsed .ps-nav-item{justify-content:center;padding:11px 10px}
.ps-shell.collapsed .ps-side-bottom .ps-nav-item{padding:10px}

.cloud-overlay{
  position:fixed;inset:0;z-index:1200;background:rgba(6,10,14,.72);
  display:grid;place-items:center;padding:20px;backdrop-filter:blur(8px)
}
.cloud-pane{
  width:min(1160px,96vw);max-height:92vh;overflow:auto;background:var(--card);
  border:1px solid var(--line);border-radius:24px;padding:0;box-shadow:0 28px 90px rgba(0,0,0,.34)
}
.cloud-head{
  position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;
  padding:24px 28px 18px;background:var(--card);border-bottom:1px solid var(--line)
}
.cloud-head h2{margin:2px 0 6px;font-size:26px;letter-spacing:-.03em}
.cloud-body{padding:22px 28px 28px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.95fr);gap:22px}
.cloud-main,.cloud-side{display:grid;gap:18px;align-content:start}
.cloud-section-card{border:1px solid var(--line);border-radius:20px;background:var(--card);padding:18px 18px 16px;box-shadow:0 8px 28px rgba(18,20,28,.04)}
.cloud-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.cloud-section-head h3{margin:0;font-size:18px;letter-spacing:-.02em}
.cloud-section-head p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.45}
.cloud-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cloud-stat{border:1px solid var(--line);border-radius:16px;background:var(--soft);padding:12px 13px}
.cloud-stat .k{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.cloud-stat .v{display:block;margin-top:8px;font-size:18px;font-weight:700;letter-spacing:-.03em;color:var(--ink)}
.cloud-stat .s{display:block;margin-top:4px;font-size:12px;color:var(--muted)}
.cloud-note{border-radius:16px;background:var(--soft);padding:12px 14px;font-size:12px;color:var(--muted)}
.cloud-list{display:grid;gap:12px}
.cloud-member-card{border:1px solid var(--line);border-radius:18px;background:var(--soft);padding:14px 14px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:flex-start}
.cloud-member-main{display:flex;gap:12px;min-width:0}
.cloud-member-avatar{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:var(--ps-purple);color:#fff;font:700 13px/1 var(--ps-font);flex:none}
.cloud-member-copy{min-width:0}
.cloud-member-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cloud-member-name{font:600 15px/1.2 var(--ps-font);color:var(--ink)}
.cloud-member-email{margin-top:4px;font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.cloud-member-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.cloud-pill{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-size:12px;color:var(--ink2)}
.cloud-pill.role-admin{border-color:rgba(97,115,255,.38);background:color-mix(in srgb,var(--ps-purple-soft) 56%,var(--card));color:var(--ink)}
.cloud-pill.role-custom{border-color:rgba(245,183,67,.42)}
.cloud-pill.current{border-color:rgba(76,186,124,.45)}
.cloud-member-side{display:grid;gap:10px;justify-items:end}
.cloud-role-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.cloud-role-row select{min-width:132px}
.cloud-member-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.cloud-member-actions .ghost{padding:9px 12px}
.cloud-add-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) 170px auto;gap:10px}
.cloud-side .cloud-tools{display:flex;flex-wrap:wrap;gap:8px}
.cloud-side .cloud-tools .ghost{min-height:40px}
.cloud-empty{padding:18px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);font-size:13px;background:var(--soft)}
.cloud-perm-editor{border:1px solid var(--line);border-radius:20px;padding:18px;background:var(--soft);margin-top:0}
.cloud-perm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.cloud-perm-head h4{margin:0;font-size:18px;letter-spacing:-.02em}
.cloud-perm-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.cloud-editor-section{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.cloud-editor-section:first-of-type{margin-top:0;padding-top:0;border-top:0}
.cloud-editor-section h5{margin:0 0 10px;font-size:14px;letter-spacing:-.01em}
.cloud-perm-grid{margin-top:8px}
.cloud-inline-help{margin-top:10px;font-size:12px;color:var(--muted)}
.close{border:0;background:transparent;font-size:26px;line-height:1;color:var(--ink2);cursor:pointer;padding:4px 6px;border-radius:10px}
.close:hover{background:var(--soft)}
@media(max-width:1040px){
  .cloud-body{grid-template-columns:1fr}
  .cloud-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cloud-add-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .ps-content{padding:22px 16px 54px!important}
  .ps-top{padding:0 16px;height:64px}
  .ps-top-title{font-size:19px}
  .ps-top-sub{font-size:11px}
  .cloud-head{padding:20px 18px 16px}
  .cloud-body{padding:18px}
  .cloud-stats,.cloud-add-grid,.cloud-member-card{grid-template-columns:1fr}
  .cloud-member-side,.cloud-member-actions,.cloud-role-row{justify-items:start;justify-content:flex-start}
}



/* ---- V54: Pammysphere Feinschliff --------------------------------------- */
:root{--ps-sidebar-w:258px;--ps-sidebar-w-collapsed:72px}
.ps-side{padding:15px 11px 14px}
.ps-brand{min-height:54px;padding:3px 10px 13px;border-radius:14px}
.ps-brand-wordmark{height:30px}
.ps-brand-suffix{font-size:24px;letter-spacing:-1px;transform:translateY(-1px)}
.ps-brand-mini{width:34px;height:34px;border-radius:10px;font-size:19px}
.ps-area-card{min-height:70px;margin:3px 0 8px;padding:10px 11px;border-radius:17px;gap:10px;background:transparent;border-color:transparent}
.ps-area-card:hover{background:var(--ps-active)}
.ps-area-icon{width:42px;height:42px;border-radius:15px}
.ps-area-icon .ico{width:19px;height:19px}
.ps-area-copy strong{font:500 16px/1.08 var(--ps-font);letter-spacing:-.025em}
.ps-area-copy span{font:400 13px/1.2 var(--ps-font);margin-top:4px}
.ps-context-card{position:relative;margin:0 3px 14px;padding:10px 12px 10px 14px;border-radius:12px;border:0;background:var(--ps-active)}
.ps-context-card::before{content:'';position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:4px;background:var(--ps-purple)}
.ps-context-label{font:500 9px/1 var(--ps-font);letter-spacing:.1em;margin-bottom:7px}
.ps-context-entity{font:550 13px/1.2 var(--ps-font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-context-meta{font:400 10.5px/1.35 var(--ps-font);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-nav-label{padding:0 14px;margin:10px 0 6px;font:500 11px/1.2 var(--ps-font);letter-spacing:.01em}
.ps-nav-list{gap:2px}
.ps-nav-item{min-height:40px;padding:9px 13px;border-radius:13px;gap:10px;font:450 13.5px/1.05 var(--ps-font);letter-spacing:-.015em}
.ps-nav-item .ico{width:18px;height:18px;stroke-width:1.55}
.ps-nav-item.on{font-weight:520}
.ps-side-bottom{padding:12px 2px 0;gap:2px}
.ps-side-bottom .ps-nav-item{min-height:40px}
.ps-top{height:62px;padding:0 24px}
.ps-top-title{font:560 18px/1.05 var(--ps-font);letter-spacing:-.03em}
.ps-top-sub{font:400 11px/1.3 var(--ps-font)}
.ps-user{font:480 13px var(--ps-font)}
.ps-profile-head strong{font-weight:560}.ps-profile-row{font-weight:450}
.ps-content{padding:25px 42px 70px!important}
.ps-shell.collapsed .ps-area-card{min-height:56px;padding:7px}
.ps-shell.collapsed .ps-area-icon{width:40px;height:40px}
.ps-shell.collapsed .ps-nav-item{min-height:40px;padding:9px}

/* Nutzerverwaltung als kompakte Liste statt großer Karten */
.cloud-user-table{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card);margin-top:14px}
.cloud-user-head,.cloud-user-row{display:grid;grid-template-columns:minmax(240px,1.25fr) 145px minmax(160px,.8fr) 118px 170px;align-items:center;gap:10px;padding:0 14px}
.cloud-user-head{min-height:39px;background:var(--soft);border-bottom:1px solid var(--line);font:500 10px/1 var(--ps-font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cloud-user-row{min-height:70px;border-bottom:1px solid var(--line)}
.cloud-user-row:last-child{border-bottom:0}
.cloud-user-person{display:flex;align-items:center;gap:10px;min-width:0}
.cloud-user-avatar{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:var(--ps-purple-soft);color:var(--ps-purple);font:650 11px/1 var(--ps-font);flex:none;border:1px solid color-mix(in srgb,var(--ps-purple) 24%,var(--line))}
body.dark .cloud-user-avatar{color:#cbc9ff}
.cloud-user-name{font:550 13px/1.2 var(--ps-font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cloud-user-email{font:400 11px/1.25 var(--ps-font);color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cloud-user-role select{width:100%;min-width:0;height:36px;padding-top:0;padding-bottom:0;font-size:12px}
.cloud-user-scope{font:450 12px/1.3 var(--ps-font);color:var(--ink2)}
.cloud-user-status{display:inline-flex;align-items:center;gap:6px;font:500 11px/1 var(--ps-font);color:var(--ink2)}
.cloud-user-status::before{content:'';width:7px;height:7px;border-radius:50%;background:#4eba7c;box-shadow:0 0 0 3px color-mix(in srgb,#4eba7c 14%,transparent)}
.cloud-user-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.cloud-user-actions .ghost{padding:8px 10px;min-height:34px;font-size:11px}
.cloud-you{display:inline-flex;margin-left:6px;padding:2px 6px;border-radius:999px;background:var(--ps-purple-soft);color:var(--ps-purple);font-size:9px;font-weight:600;vertical-align:middle}
.cloud-add-grid{grid-template-columns:minmax(140px,.7fr) minmax(220px,1fr) 150px auto}
.cloud-section-head h3{font-weight:560}.cloud-stat .v{font-weight:600}.cloud-member-name{font-weight:550}
.cloud-pane{width:min(1240px,97vw)}
.cloud-body{grid-template-columns:minmax(0,1.75fr) minmax(320px,.75fr)}
.cloud-section-card{padding:17px}
@media(max-width:1120px){
 .cloud-user-head{display:none}
 .cloud-user-table{display:grid;gap:0}
 .cloud-user-row{grid-template-columns:minmax(0,1fr) 150px;min-height:auto;padding:14px}
 .cloud-user-scope,.cloud-user-status{grid-column:1}
 .cloud-user-actions{grid-column:2;grid-row:1 / span 3}
 .cloud-user-role{grid-column:2;grid-row:1}
 .cloud-user-actions{align-self:end}
}
@media(max-width:760px){
 .ps-content{padding:20px 14px 54px!important}
 .cloud-user-row{grid-template-columns:1fr;gap:9px}
 .cloud-user-role,.cloud-user-scope,.cloud-user-status,.cloud-user-actions{grid-column:1;grid-row:auto}
 .cloud-user-actions{justify-content:flex-start}
 .cloud-add-grid{grid-template-columns:1fr}
}


/* ---- V55: eigenständige Benutzerverwaltung + stabile Sidebar ------------ */
.ps-top-left,.ps-collapse{display:none!important}
.ps-brand{border:0;background:transparent;width:100%;text-align:left}
.ps-brand:hover{background:var(--ps-active)}
.ps-shell.collapsed .ps-brand:hover{background:var(--ps-active)}
.ps-shell.collapsed .ps-brand-mini{display:grid}
.ps-shell.collapsed .ps-brand-mark{display:none!important}
.ps-shell.collapsed .ps-side{overflow:hidden}
.ps-admin-active .ps-context-card{opacity:.82}

.access-page{max-width:1480px;margin:0 auto;display:grid;gap:20px}
.access-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:2px 2px 0}
.access-page-head h1{margin:3px 0 0;font:600 30px/1.05 var(--ps-font);letter-spacing:-.045em;color:var(--ink)}
.access-page-head p{margin:8px 0 0;max-width:760px;font-size:13px;line-height:1.5;color:var(--muted)}
.access-tabs{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:14px;background:var(--card);width:max-content;max-width:100%;overflow:auto}
.access-tabs button{border:0;background:transparent;color:var(--ink2);padding:9px 14px;border-radius:10px;cursor:pointer;font:500 12.5px var(--ps-font);white-space:nowrap}
.access-tabs button.on{background:var(--ps-active);color:var(--ink);font-weight:600}
.access-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.access-summary-card{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:14px 15px}
.access-summary-card span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.075em;color:var(--muted)}
.access-summary-card strong{display:block;margin-top:8px;font:600 21px/1 var(--ps-font);letter-spacing:-.04em;color:var(--ink)}
.access-summary-card small{display:block;margin-top:5px;font-size:11px;color:var(--muted)}
.access-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
.access-card{border:1px solid var(--line);background:var(--card);border-radius:20px;overflow:hidden;box-shadow:0 7px 24px rgba(17,22,29,.035)}
.access-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:17px 18px 14px;border-bottom:1px solid var(--line)}
.access-card-head h2,.access-card-head h3{margin:0;font:600 17px/1.2 var(--ps-font);letter-spacing:-.025em;color:var(--ink)}
.access-card-head p{margin:5px 0 0;font-size:12px;line-height:1.45;color:var(--muted)}
.access-card-body{padding:16px 18px 18px}
.access-add{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(210px,1fr) 145px auto;gap:9px;align-items:center}
.access-add input,.access-add select{min-height:39px}
.access-search{display:flex;align-items:center;gap:10px;min-width:220px;max-width:360px;width:100%;border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:0 11px}
.access-search input{border:0!important;background:transparent!important;box-shadow:none!important;min-height:38px;width:100%;padding:0!important}
.access-search .ico{width:17px;height:17px;color:var(--muted)}
.access-help{margin-top:10px;font-size:11.5px;line-height:1.45;color:var(--muted)}
.access-user-table{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--card)}
.access-user-head,.access-user-row{display:grid;grid-template-columns:minmax(210px,1.25fr) 110px 130px minmax(145px,.85fr) minmax(130px,.75fr) 120px;gap:10px;align-items:center;padding:0 13px}
.access-user-head{min-height:38px;background:var(--soft);border-bottom:1px solid var(--line);font:500 9.5px/1 var(--ps-font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.access-user-row{min-height:68px;border-bottom:1px solid var(--line);transition:background .12s ease}
.access-user-row:last-child{border-bottom:0}
.access-user-row:hover{background:color-mix(in srgb,var(--ps-active) 45%,transparent)}
.access-user-person{display:flex;gap:10px;align-items:center;min-width:0}
.access-user-avatar{width:34px;height:34px;border-radius:11px;background:var(--ps-purple-soft);color:var(--ps-purple);border:1px solid color-mix(in srgb,var(--ps-purple) 23%,var(--line));display:grid;place-items:center;font:650 10.5px/1 var(--ps-font);flex:none}
body.dark .access-user-avatar{color:#d0ceff}
.access-user-name{font:550 12.5px/1.25 var(--ps-font);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.access-user-email{margin-top:3px;font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.access-badge{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;min-height:26px;padding:0 9px;border-radius:999px;border:1px solid var(--line);background:var(--soft);font:500 10.5px/1 var(--ps-font);color:var(--ink2);white-space:nowrap}
.access-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:#7f8790}
.access-badge.login::before{background:#42b978;box-shadow:0 0 0 3px color-mix(in srgb,#42b978 15%,transparent)}
.access-badge.granted::before{background:#7772f5}
.access-scope{font:450 11.5px/1.35 var(--ps-font);color:var(--ink2)}
.access-rights{font:450 11.5px/1.35 var(--ps-font);color:var(--ink2)}
.access-actions{display:flex;gap:6px;justify-content:flex-end;align-items:center}
.access-actions .ghost{min-height:32px;padding:7px 9px;font-size:10.5px}
.access-side{position:sticky;top:82px}
.access-empty{padding:22px;border:1px dashed var(--line);border-radius:14px;background:var(--soft);font-size:12px;line-height:1.5;color:var(--muted)}
.access-side .cloud-perm-editor{margin:0;border:0;border-radius:20px;background:var(--card);box-shadow:none;padding:18px}
.access-side .cloud-perm-head{margin-bottom:15px}
.access-side .cloud-editor-section{margin-top:15px;padding-top:15px}
.access-side .cloud-entity-list{max-height:190px;overflow:auto}
.access-side .cloud-perm-grid{font-size:11px}

.access-matrix-card{border:1px solid var(--line);background:var(--card);border-radius:20px;overflow:hidden}
.access-matrix-scroll{overflow:auto;max-width:100%}
.access-matrix{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:11px}
.access-matrix th,.access-matrix td{padding:10px 11px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;white-space:nowrap;background:var(--card)}
.access-matrix th{position:sticky;top:0;z-index:2;background:var(--soft);font:500 9.5px/1.2 var(--ps-font);letter-spacing:.055em;text-transform:uppercase;color:var(--muted)}
.access-matrix th:first-child,.access-matrix td:first-child{position:sticky;left:0;z-index:3;text-align:left;min-width:210px;max-width:210px;background:var(--card)}
.access-matrix th:first-child{background:var(--soft);z-index:4}
.access-matrix tr:last-child td{border-bottom:0}.access-matrix th:last-child,.access-matrix td:last-child{border-right:0}
.access-matrix-user{font:550 11.5px/1.25 var(--ps-font);color:var(--ink)}
.access-matrix-email{display:block;margin-top:3px;font-size:9.5px;font-weight:400;color:var(--muted);text-transform:none;letter-spacing:0}
.perm-chip{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:25px;border-radius:8px;font:650 9.5px/1 var(--ps-font);border:1px solid var(--line);background:var(--soft);color:var(--muted)}
.perm-chip.write{background:color-mix(in srgb,#4eba7c 14%,var(--card));border-color:color-mix(in srgb,#4eba7c 42%,var(--line));color:#27814f}
body.dark .perm-chip.write{color:#7cdaa4}
.perm-chip.read{background:color-mix(in srgb,var(--ps-purple) 12%,var(--card));border-color:color-mix(in srgb,var(--ps-purple) 35%,var(--line));color:var(--ps-purple)}
.access-legend{display:flex;gap:14px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.access-legend span{display:inline-flex;align-items:center;gap:6px}
.entity-check{font-size:15px;color:#42a96d}.entity-no{color:var(--muted)}
.access-sync-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.access-sync-card{border:1px solid var(--line);background:var(--card);border-radius:18px;padding:17px}
.access-sync-card h3{margin:0 0 6px;font:600 16px var(--ps-font);letter-spacing:-.02em}.access-sync-card p{margin:0 0 14px;font-size:12px;color:var(--muted);line-height:1.45}

@media(max-width:1220px){
 .access-grid{grid-template-columns:1fr}
 .access-side{position:static}
 .access-user-head{display:none}
 .access-user-row{grid-template-columns:minmax(0,1fr) 110px 130px;min-height:auto;padding:13px}
 .access-user-row>.access-scope,.access-user-row>.access-rights{grid-column:1}
 .access-user-row>.access-actions{grid-column:3;grid-row:1 / span 3}
}
@media(max-width:820px){
 .access-page-head{align-items:flex-start;flex-direction:column}
 .access-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .access-add{grid-template-columns:1fr}
 .access-user-row{grid-template-columns:1fr;gap:8px}
 .access-user-row>*{grid-column:1!important;grid-row:auto!important}
 .access-actions{justify-content:flex-start}
 .access-sync-grid{grid-template-columns:1fr}
}


/* ---- V60: kompakter Gesellschaft/Jahr-Kontext in collapsed Sidebar ----- */
.ps-area-context{display:none}
.ps-shell.collapsed .ps-area-card{
  background:transparent;border-color:transparent;min-height:58px;padding:6px 4px;margin:2px 0 10px;
}
.ps-shell.collapsed .ps-area-icon{display:none!important}
.ps-shell.collapsed .ps-area-context{
  width:48px;height:48px;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:var(--ps-active);border:1px solid var(--ps-border);color:var(--ps-sidebar-ink);line-height:1;gap:3px;
  box-shadow:none
}
.ps-shell.collapsed .ps-area-context .entity{
  display:block!important;font:650 13px/1 var(--ps-font);letter-spacing:-.03em;color:var(--ps-sidebar-ink)
}
.ps-shell.collapsed .ps-area-context .year{
  display:block!important;font:500 10px/1 var(--mono);letter-spacing:.04em;color:var(--ps-sidebar-muted)
}
.ps-shell.collapsed .ps-area-card:hover .ps-area-context{border-color:color-mix(in srgb,var(--ps-purple) 46%,var(--ps-border))}


/* ---- V61/V62: zentrale Cloud-Konfiguration + echte Mobile-Oberfläche ----- */
.ps-mobile-nav,.ps-mobile-drawer-overlay{display:none}
@media(max-width:820px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body{padding-bottom:env(safe-area-inset-bottom)}
  .ps-shell,.ps-shell.collapsed{display:block;min-height:100vh;background:var(--ps-page)}
  .ps-side{display:none!important}
  .ps-work{display:block;min-height:100vh;width:100%;min-width:0}
  .ps-top{
    position:sticky;top:0;z-index:90;height:60px;padding:0 14px 0 16px;
    display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;
    background:color-mix(in srgb,var(--ps-topbar) 96%,transparent);backdrop-filter:blur(18px)
  }
  .ps-top-title-wrap{min-width:0;gap:2px}
  .ps-top-title{font-size:17px;line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ps-top-sub{font-size:10.5px;line-height:1.25;max-width:calc(100vw - 100px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ps-user{padding:3px;border-radius:50%}
  .ps-user>span:first-child{display:none}
  .ps-avatar{width:36px;height:36px}
  .ps-profile{position:fixed;right:10px;top:66px;width:min(310px,calc(100vw - 20px));max-height:calc(100vh - 90px);overflow:auto}
  .ps-content{width:100%;max-width:none!important;padding:14px 11px calc(88px + env(safe-area-inset-bottom))!important}
  .ps-content>.toolbar{margin:0 0 12px!important}
  .toolbar{
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px!important;
    padding:10px!important;overflow:visible
  }
  .toolbar .tsel{width:100%;min-width:0;justify-content:space-between;padding:7px 10px!important;border-radius:13px!important}
  .toolbar .tsel>span{font-size:8.5px!important;letter-spacing:.06em}
  .toolbar .tsel select{min-width:0!important;max-width:62%;font-size:12px!important;text-overflow:ellipsis}
  .toolbar .scenario-switch{grid-column:1/-1;width:100%;min-width:0;padding:5px 7px 5px 9px!important;border-radius:13px!important;overflow:hidden}
  .toolbar .scenario-switch>.slab{font-size:8.5px!important;flex:none}
  .toolbar .scenario-switch .pill{max-width:none!important;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .toolbar .scenario-switch .pill button{padding:7px 10px!important}
  .toolbar .tspacer{display:none!important}
  .toolbar .rbtn{width:38px;height:38px;justify-self:start}
  .toolbar .export-menu{justify-self:start}
  .toolbar .export-menu .export-pop{left:0;right:auto;width:min(292px,calc(100vw - 32px))}
  .ps-content .sheet{width:100%;max-width:none!important;min-width:0}
  .side,.strip,.check,.wcard,.tile,.segbox,.assign,.rolling-fc,.close-bridge,.model-qa{border-radius:15px!important}
  .side{padding:14px 12px!important}
  .side.wide{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
  .side.wide>table.stmt{min-width:620px}
  .scroll{max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
  table.stmt.mx,table.year-compare-table,.cm-group-table,.cm-map-table,.access-matrix{min-width:690px}
  table.stmt td,table.stmt th{padding:7px 8px}
  table.stmt .lbl{min-width:220px}
  .vbar{align-items:stretch;flex-direction:column;gap:11px;margin-bottom:12px}
  .vbar .vtitle{font-size:17px}
  .vbar .vsub{font-size:10px}
  .vbar .vctl{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:stretch}
  .vbar .vctl .sel{width:100%}
  .vbar .vctl select,.vbar .vctl input{width:100%;min-width:0}
  .vbar .pill{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .vbar .pill button{flex:1;white-space:nowrap}
  .strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
  .kc{min-width:0;padding:13px 12px}
  .kc:nth-child(odd){border-left:0}
  .kc:nth-child(n+3){border-top:1px solid var(--hair)}
  .kl{font-size:9px!important}.kv{font-size:17px!important}
  .guv-logicbar{padding:10px!important}
  .guv-logicbar .pill{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .cm-tools{align-items:stretch!important;flex-direction:column}
  .cm-tools .ghost{width:100%}
  .cm-table{min-width:560px}
  .bilanz{display:grid!important;grid-template-columns:1fr!important;gap:12px}
  .access-page{gap:13px}
  .access-page-head{align-items:flex-start;flex-direction:column;gap:10px;padding:0}
  .access-page-head h1{font-size:24px}
  .access-page-head p{font-size:12px;margin-top:6px}
  .access-tabs{width:100%;border-radius:13px;padding:3px}
  .access-tabs button{flex:1;padding:9px 10px;text-align:center}
  .access-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .access-summary-card{padding:12px;border-radius:14px}
  .access-summary-card strong{font-size:18px}
  .access-grid{grid-template-columns:1fr;gap:12px}
  .access-card{border-radius:16px}
  .access-card-head{padding:14px 13px 12px;flex-direction:column;align-items:stretch}
  .access-card-body{padding:13px}
  .access-search{max-width:none;width:100%}
  .access-add{grid-template-columns:1fr!important;gap:8px}
  .access-user-head{display:none!important}
  .access-user-table{border:0;background:transparent;display:grid;gap:9px;overflow:visible}
  .access-user-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;min-height:0!important;padding:12px!important;border:1px solid var(--line)!important;border-radius:14px;background:var(--card)}
  .access-user-row>div:first-child{grid-column:1/-1}
  .access-user-row .access-actions{grid-column:1/-1;justify-content:flex-start}
  .access-user-row .access-actions .ghost{flex:1}
  .access-matrix-card{border-radius:16px;overflow:hidden}
  .access-matrix-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .cloud-perm-grid{min-width:0!important}
  .cloud-entity-mode{display:grid!important;gap:8px!important}
  .cloud-entity-list{grid-template-columns:1fr!important}
  .access-sync-grid{grid-template-columns:1fr!important}
  .planobj-fields,.bu-fields,.bu-lot-fields,.driver-grid,.plan-control-grid,.plan-kpis,.mgmt-kpis,.board-kpis,.internal-budget .budget-kpis{grid-template-columns:1fr!important}
  .forecast-item.v31,.forecast-item.v31.special,.forecast-item,.proc-core,.proc-pay,.flow-strip,.rf-flow,.close-bridge-flow{grid-template-columns:1fr!important}
  .forecast-bulk{position:static!important}
  input,select,textarea,button{font-size:16px}
  select,input[type=text],input[type=email],input[type=password],input[type=number],textarea{max-width:100%}

  .ps-mobile-nav{
    display:grid;position:fixed;left:0;right:0;bottom:0;z-index:110;
    grid-template-columns:repeat(5,minmax(0,1fr));height:calc(64px + env(safe-area-inset-bottom));
    padding:5px 5px env(safe-area-inset-bottom);border-top:1px solid var(--ps-border);
    background:color-mix(in srgb,var(--ps-sidebar) 97%,transparent);backdrop-filter:blur(20px);box-shadow:0 -10px 30px rgba(10,15,25,.08)
  }
  .ps-mobile-nav button{position:relative;border:0;background:transparent;color:var(--ps-sidebar-muted);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;font:500 9.5px/1 var(--ps-font);cursor:pointer}
  .ps-mobile-nav button .ico{width:20px;height:20px;stroke-width:1.65}
  .ps-mobile-nav button.on{color:var(--ps-purple);background:color-mix(in srgb,var(--ps-purple-soft) 62%,transparent)}
  .ps-mobile-nav button span{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ps-mobile-drawer-overlay{display:block;position:fixed;inset:0;z-index:105;background:rgba(5,8,12,.48);backdrop-filter:blur(3px)}
  .ps-mobile-drawer{position:absolute;left:8px;right:8px;bottom:calc(68px + env(safe-area-inset-bottom));max-height:min(72vh,620px);overflow:auto;background:var(--ps-card);border:1px solid var(--ps-border);border-radius:22px;box-shadow:0 22px 70px rgba(0,0,0,.28);padding:10px 10px 14px}
  .ps-mobile-drawer-head{position:sticky;top:-10px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 10px 12px;background:var(--ps-card);border-bottom:1px solid var(--ps-border);margin-bottom:8px}
  .ps-mobile-drawer-head strong{display:block;font:600 17px/1.1 var(--ps-font)}
  .ps-mobile-drawer-head span{display:block;margin-top:3px;font:400 11px/1.25 var(--ps-font);color:var(--ps-sidebar-muted);max-width:72vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ps-mobile-drawer-label{padding:10px 11px 5px;font:500 10px/1 var(--ps-font);letter-spacing:.06em;text-transform:uppercase;color:var(--ps-sidebar-muted)}
  .ps-mobile-drawer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .ps-mobile-drawer-list button{position:relative;border:0;background:var(--soft);color:var(--ink);min-height:50px;border-radius:13px;padding:10px 11px;display:flex;align-items:center;gap:10px;text-align:left;font:500 12px/1.15 var(--ps-font)}
  .ps-mobile-drawer-list button.on{background:var(--ps-purple-soft);color:var(--ps-purple)}
  .ps-mobile-drawer-list .ico{width:19px;height:19px;flex:none}
  .ps-mobile-drawer-list .ps-badge{margin-left:auto}
}

/* ---- V62: Supabase-only Login-Gate ---------------------------------------- */
.cloud-gate.v62-auth{min-height:100dvh;padding:24px;background:var(--ps-page,var(--paper));}
.cloud-gate.v62-auth .cloud-gate-card{width:min(440px,100%);padding:30px;border-radius:22px;box-shadow:0 18px 60px rgba(16,24,40,.10)}
.cloud-gate.v62-auth .v62-login-brand{display:flex;align-items:center;gap:11px;margin-bottom:24px}
.cloud-gate.v62-auth .v62-login-brand img{width:36px;height:36px;border-radius:8px;object-fit:contain}
.cloud-gate.v62-auth .v62-login-brand strong{font-family:var(--disp);font-size:18px;letter-spacing:-.01em}
.cloud-gate.v62-auth .cloud-form{gap:14px}
.cloud-gate.v62-auth .cloud-form input{min-height:46px;padding:10px 12px;font-size:16px}
.cloud-gate.v62-auth .cg-actions{display:grid;grid-template-columns:1fr;margin-top:18px}
.cloud-gate.v62-auth .cg-actions .ghost{min-height:44px}
.cloud-gate.v62-auth .v62-security-note{margin:16px 0 0;font-size:11px;color:var(--ink3);line-height:1.5}
.cloud-gate.v62-denied .cloud-note{margin:14px 0 4px}
@media(max-width:520px){
  .cloud-gate.v62-auth{padding:14px}
  .cloud-gate.v62-auth .cloud-gate-card{padding:22px 18px;border-radius:18px}
}

@media(max-width:430px){
  .toolbar{grid-template-columns:1fr!important}
  .toolbar .scenario-switch{grid-column:1}
  .strip{grid-template-columns:1fr}
  .kc{border-left:0!important;border-top:1px solid var(--hair)}
  .kc:first-child{border-top:0}
  .access-summary{grid-template-columns:1fr 1fr}
  .ps-mobile-drawer-list{grid-template-columns:1fr 1fr}
}



/* V120.3.23 performance: lange operative Listen nicht komplett layouten/painten. */
.payment-ux-row,.payment-creditor-row,.subscription-row{content-visibility:auto;contain-intrinsic-size:64px;}
.payment-ux-progressive{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;}


.ps-brand-mark{display:flex;align-items:center;gap:10px;min-width:0}
.ps-brand-logo{width:31px;height:31px;flex:0 0 31px;border-radius:6px;object-fit:contain}
.ps-brand-text{font:500 25px/1 var(--ps-font);letter-spacing:-1.05px;color:var(--ps-sidebar-ink);white-space:nowrap}
.ps-brand-text>span{font-weight:350;color:#8d9196;letter-spacing:-1px}
.ps-shell.collapsed .ps-brand-logo,.ps-shell.collapsed .ps-brand-text{display:none!important}

/* ---- V57: Contribution-Margin-Logik in der GuV -------------------------- */
.guv-logicbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.guv-logic-copy{min-width:0}.guv-logic-copy strong{display:block;font:600 14px/1.2 var(--sans);letter-spacing:-.015em}.guv-logic-copy span{display:block;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.35}
.guv-logicbar .pill{flex:none}
.cm-wrap{display:grid;gap:12px}
.cm-note{border:1px solid var(--line);border-radius:14px;background:var(--soft);padding:11px 13px;color:var(--muted);font-size:12px;line-height:1.45}
.cm-note strong{color:var(--ink);font-weight:600}
.cm-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.cm-table th,.cm-table td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.cm-table tr:last-child td{border-bottom:0}
.cm-table th{font:550 11px/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--soft);text-align:right}
.cm-table th:first-child{text-align:left}
.cm-table td.lbl{font:500 14px/1.25 var(--sans);color:var(--ink)}
.cm-table td.val{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.cm-table td.pct{text-align:right;white-space:nowrap;color:var(--ink2);font-variant-numeric:tabular-nums}
.cm-table tr.cm-subtotal td{font-weight:650;background:color-mix(in srgb,var(--soft) 70%,transparent)}
.cm-table tr.cm-final td{font-weight:700;border-top:1px solid color-mix(in srgb,var(--ink) 14%,var(--line));background:color-mix(in srgb,var(--ps-purple-soft) 34%,var(--card))}
.cm-table tr.cm-cost td.lbl{padding-left:28px;color:var(--ink2)}
.cm-table .cm-na{color:var(--muted)}
.cm-table .stmtpct{display:block;margin-top:2px}
.cm-group-scroll{overflow:auto}
.cm-group-table{min-width:900px}
.cm-group-table th,.cm-group-table td{min-width:140px}.cm-group-table th:first-child,.cm-group-table td:first-child{min-width:210px;position:sticky;left:0;z-index:2;background:var(--card)}
.cm-group-table th:first-child{background:var(--soft)}
.cm-group-table tr.cm-subtotal td:first-child{background:var(--soft)}
.cm-group-table tr.cm-final td:first-child{background:color-mix(in srgb,var(--ps-purple-soft) 34%,var(--card))}
@media(max-width:760px){.guv-logicbar{align-items:flex-start;flex-direction:column}.guv-logicbar .pill{width:100%}.guv-logicbar .pill button{flex:1}.cm-table th,.cm-table td{padding:11px 10px}}


/* ---- V58: CM-Zuordnung + Mehrjahresansichten ---------------------------- */
.year-compare{margin-top:4px}
.year-compare .scroll{border:1px solid var(--line);border-radius:16px;overflow:auto}
.year-compare table{min-width:860px;width:max-content}
.year-compare th.year-col{min-width:150px;text-align:right}
.year-col-label{display:block;font-weight:650;color:var(--ink)}
.year-col-sub{display:block;margin-top:3px;font-size:10px;font-weight:450;color:var(--muted);white-space:nowrap}
.year-compare-note{margin-top:10px;font-size:11px;color:var(--muted)}
.cm-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0}
.cm-tools-copy{font-size:12px;color:var(--muted);max-width:720px}
.cm-table .cm-expand-btn{border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;display:inline-flex;align-items:center;gap:7px;padding:0;cursor:pointer;text-align:left}
.cm-table .cm-caret{width:14px;display:inline-block;color:var(--muted);transition:transform .15s ease}
.cm-table .cm-caret.open{transform:rotate(90deg)}
.cm-detail-row td{padding:0!important;background:color-mix(in srgb,var(--soft) 72%,transparent)}
.cm-detail-box{padding:8px 18px 12px 38px;display:grid;gap:5px}
.cm-detail-line{display:grid;grid-template-columns:82px minmax(180px,1fr) 140px;gap:12px;align-items:center;font-size:11px;color:var(--muted)}
.cm-detail-line .acc{font-family:var(--mono);color:var(--ink2)}
.cm-detail-line .amt{text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}
.cm-detail-empty{font-size:11px;color:var(--muted);padding:3px 0}
.cm-map-panel{margin-top:16px;border:1px solid var(--line);border-radius:18px;background:var(--soft);padding:16px}
.cm-map-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.cm-map-head h3{margin:0;font-size:16px;letter-spacing:-.02em}.cm-map-head p{margin:4px 0 0;font-size:11px;color:var(--muted)}
.cm-map-table{width:100%;border-collapse:collapse;font-size:11px}.cm-map-table th{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:left;padding:8px 7px;border-bottom:1px solid var(--line)}
.cm-map-table td{padding:7px;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);vertical-align:middle}.cm-map-table tr:last-child td{border-bottom:0}.cm-map-table .amt{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.cm-map-table select{min-width:170px;width:100%;font-size:11px}.cm-map-table .pos{font-family:var(--mono);font-size:10px;color:var(--muted)}
.cm-map-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.cm-map-summary span{border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:10px;color:var(--muted);background:var(--card)}
.cm-recon{margin-top:10px;border:1px solid var(--line);border-radius:12px;padding:9px 11px;font-size:11px;color:var(--muted)}.cm-recon.bad{border-color:var(--warn);color:var(--ink)}
@media(max-width:760px){.cm-detail-line{grid-template-columns:65px 1fr}.cm-detail-line .amt{grid-column:2}.cm-map-table{min-width:760px}.cm-map-panel{overflow:auto}}


/* ---- V60: kompakter Gesellschaft/Jahr-Kontext in collapsed Sidebar ----- */
.ps-area-context{display:none}
.ps-shell.collapsed .ps-area-card{
  background:transparent;border-color:transparent;min-height:58px;padding:6px 4px;margin:2px 0 10px;
}
.ps-shell.collapsed .ps-area-icon{display:none!important}
.ps-shell.collapsed .ps-area-context{
  width:48px;height:48px;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:var(--ps-active);border:1px solid var(--ps-border);color:var(--ps-sidebar-ink);line-height:1;gap:3px;
  box-shadow:none
}
.ps-shell.collapsed .ps-area-context .entity{
  display:block!important;font:650 13px/1 var(--ps-font);letter-spacing:-.03em;color:var(--ps-sidebar-ink)
}
.ps-shell.collapsed .ps-area-context .year{
  display:block!important;font:500 10px/1 var(--mono);letter-spacing:.04em;color:var(--ps-sidebar-muted)
}
.ps-shell.collapsed .ps-area-card:hover .ps-area-context{border-color:color-mix(in srgb,var(--ps-purple) 46%,var(--ps-border))}



/* ---- V65: stabile Sidebar-Geometrie + gleitender Rail-Uebergang ----------
   Desktop verwendet in beiden Zustaenden dieselben geometrischen Anker.
   Icons, Logo und Gesellschaft bleiben auf derselben X-Position; nur Breite,
   Text und Kontextdetails werden animiert. Dadurch gibt es keine diskreten
   justify/display-Spruenge mehr. */
@media (min-width:821px){
  .ps-shell{
    transition:grid-template-columns .34s cubic-bezier(.2,.8,.2,1);
    will-change:grid-template-columns;
  }
  .ps-side{
    overflow-x:hidden;
    contain:paint;
  }

  /* App-Titel ist redundant zum Pammysphere-Branding und bleibt in beiden
     Sidebar-Zustaenden aus dem Layout. Das verhindert vertikale Spruenge. */
  .ps-area-card{display:none!important}

  /* Marke: Logo behaelt exakt denselben Ankerpunkt. */
  .ps-brand{
    justify-content:flex-start!important;
    padding:3px 10px 13px!important;
    background:transparent!important;
    transition:background-color .16s ease;
  }
  .ps-brand:hover{background:transparent!important}
  .ps-brand-mini{display:none!important}
  .ps-brand-mark{
    display:flex!important;align-items:center;gap:10px;min-width:0;width:100%;
  }
  .ps-brand-logo{
    display:block!important;width:31px!important;height:31px!important;flex:0 0 31px!important;
    margin:0;transform:none!important;
  }
  .ps-brand-text{
    display:block!important;overflow:hidden;max-width:185px;opacity:1;white-space:nowrap;
    transform:translateX(0);
    transition:max-width .30s cubic-bezier(.2,.8,.2,1),opacity .16s ease .08s,transform .30s cubic-bezier(.2,.8,.2,1);
  }
  .ps-shell.collapsed .ps-brand{justify-content:flex-start!important;padding:3px 10px 13px!important}
  .ps-shell.collapsed .ps-brand-mark{display:flex!important;gap:10px;width:100%}
  .ps-shell.collapsed .ps-brand-logo{display:block!important}
  .ps-shell.collapsed .ps-brand-text{
    display:block!important;max-width:0;opacity:0;transform:translateX(-8px);pointer-events:none;
  }

  /* Gesellschaft: dieselbe linke Kante und dieselbe relative Breite. Nur die
     Hoehe und der Inhalt morphen zwischen Detailkarte und DIE/26-Badge. */
  .ps-context-card{
    display:block!important;box-sizing:border-box;position:relative;
    width:calc(100% - 4px);height:72px;min-height:72px;
    margin:2px 2px 14px;padding:10px 12px 10px 14px;
    overflow:hidden;white-space:nowrap;border-radius:12px;
    transition:height .30s cubic-bezier(.2,.8,.2,1),min-height .30s cubic-bezier(.2,.8,.2,1),
      padding .30s cubic-bezier(.2,.8,.2,1),border-radius .30s cubic-bezier(.2,.8,.2,1),
      background-color .18s ease;
  }
  .ps-context-card::before{transition:opacity .16s ease}
  .ps-context-card>.ps-context-label,
  .ps-context-card>.ps-context-entity,
  .ps-context-card>.ps-context-meta{
    display:block!important;opacity:1;transform:translateX(0);
    transition:opacity .14s ease .07s,transform .28s cubic-bezier(.2,.8,.2,1);
  }
  .ps-context-mini{
    position:absolute;inset:0;display:flex!important;flex-direction:column;align-items:center;justify-content:center;
    gap:4px;opacity:0;transform:scale(.94);pointer-events:none;
    transition:opacity .14s ease,transform .28s cubic-bezier(.2,.8,.2,1);
  }
  .ps-context-mini .entity{font:650 13px/1 var(--ps-font);letter-spacing:-.03em;color:var(--ps-sidebar-ink)}
  .ps-context-mini .year{font:500 10px/1 var(--mono);letter-spacing:.04em;color:var(--ps-sidebar-muted)}
  .ps-shell.collapsed .ps-context-card{
    display:block!important;width:calc(100% - 4px);height:52px;min-height:52px;
    margin:2px 2px 14px;padding:0;border:1px solid var(--ps-border);border-radius:15px;background:var(--ps-active);
  }
  .ps-shell.collapsed .ps-context-card::before{opacity:0}
  .ps-shell.collapsed .ps-context-card>.ps-context-label,
  .ps-shell.collapsed .ps-context-card>.ps-context-entity,
  .ps-shell.collapsed .ps-context-card>.ps-context-meta{
    display:block!important;opacity:0;transform:translateX(-8px);pointer-events:none;
  }
  .ps-shell.collapsed .ps-context-mini{opacity:1;transform:scale(1)}

  /* Keine Gruppenueberschriften im Desktop-Rail. So bleiben alle Navigation-
     Icons in beiden Zustaenden auf derselben Y-Geometrie. */
  .ps-nav-label{display:none!important}
  .ps-nav-list{gap:2px}

  /* Navigation: feste Icon-Spalte statt justify-content-Wechsel. */
  .ps-nav-item{
    display:grid!important;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;
    justify-content:stretch!important;column-gap:10px;min-height:40px;
    padding:9px 10px 9px 12px!important;
    transition:background-color .14s ease,border-radius .20s ease;
  }
  .ps-nav-item .ico{grid-column:1;width:18px;height:18px;justify-self:center;flex:none}
  .ps-nav-item span:not(.ps-badge){
    grid-column:2;display:block!important;min-width:0;overflow:hidden;max-width:190px;opacity:1;
    white-space:nowrap;text-overflow:clip;transform:translateX(0);
    transition:max-width .28s cubic-bezier(.2,.8,.2,1),opacity .14s ease .06s,transform .28s cubic-bezier(.2,.8,.2,1);
  }
  .ps-nav-item .ps-badge{grid-column:3;justify-self:end;margin-left:0}
  .ps-shell.collapsed .ps-nav-item{
    display:grid!important;grid-template-columns:24px minmax(0,1fr) auto;justify-content:stretch!important;
    column-gap:0;padding:9px 10px 9px 12px!important;
  }
  .ps-shell.collapsed .ps-side-bottom .ps-nav-item{padding:9px 10px 9px 12px!important}
  .ps-shell.collapsed .ps-nav-item span:not(.ps-badge){
    display:block!important;max-width:0;opacity:0;transform:translateX(-7px);pointer-events:none;
  }
  .ps-shell.collapsed .ps-nav-item .ps-badge{
    position:absolute;right:1px;top:1px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;
  }

  /* Untere Aktionen bleiben an derselben Icon-Achse. */
  .ps-side-bottom{padding:12px 2px 0;gap:2px}

  @media (prefers-reduced-motion:reduce){
    .ps-shell,.ps-brand-text,.ps-context-card,.ps-context-card>*,.ps-context-mini,
    .ps-nav-item,.ps-nav-item span:not(.ps-badge){transition:none!important}
  }
}


/* ---- V66: responsive Rechtematrix ohne Desktop-Horizontalscroll ---------- */
/* ---- V67: Kontext-Export, Fehlerbehandlung und Download-Menü --------------- */
.access-rights-users,.access-entity-users{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));
  gap:14px;padding:16px 18px 18px
}
.access-right-user,.access-entity-user{
  min-width:0;border:1px solid var(--line);border-radius:15px;background:var(--card);overflow:hidden
}
.access-right-user-head,.access-entity-user-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:13px 14px;background:var(--soft);border-bottom:1px solid var(--line)
}
.access-right-user-head .who,.access-entity-user-head .who{min-width:0}
.access-right-user-head strong,.access-entity-user-head strong{
  display:block;font:600 12.5px/1.25 var(--ps-font);color:var(--ink);overflow-wrap:anywhere
}
.access-right-user-head small,.access-entity-user-head small{
  display:block;margin-top:3px;font-size:10px;line-height:1.3;color:var(--muted);overflow-wrap:anywhere
}
.access-right-user-head .access-badge,.access-entity-user-head .access-badge{
  flex:none;white-space:normal;height:auto;min-height:26px;line-height:1.2;text-align:right;padding:6px 9px
}
.access-right-user-grid{
  display:grid;grid-template-columns:minmax(0,1fr) 72px 88px;align-items:stretch
}
.access-right-user-grid>div{
  min-width:0;padding:9px 11px;border-bottom:1px solid var(--line);display:flex;align-items:center
}
.access-right-user-grid>div:nth-last-child(-n+3){border-bottom:0}
.access-right-user-grid .rh{
  min-height:35px;background:color-mix(in srgb,var(--soft) 72%,var(--card));
  font:600 9px/1.15 var(--ps-font);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)
}
.access-right-user-grid .rh:not(:first-child){justify-content:center;text-align:center}
.access-right-user-grid .area{
  font:550 11px/1.3 var(--ps-font);color:var(--ink2);overflow-wrap:anywhere;white-space:normal
}
.access-right-cell{justify-content:center!important;text-align:center}
.access-right-mark{
  width:25px;height:25px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line);background:var(--soft);font:700 11px/1 var(--ps-font);color:var(--muted)
}
.access-right-mark.read{
  background:color-mix(in srgb,var(--ps-purple) 11%,var(--card));
  border-color:color-mix(in srgb,var(--ps-purple) 32%,var(--line));color:var(--ps-purple)
}
.access-right-mark.write{
  background:color-mix(in srgb,#4eba7c 13%,var(--card));
  border-color:color-mix(in srgb,#4eba7c 38%,var(--line));color:#27814f
}
body.dark .access-right-mark.write{color:#7cdaa4}
.access-entity-list-v66{display:grid;gap:7px;padding:12px 14px 14px}
.access-entity-row-v66{
  display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;align-items:center;
  min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:10px;background:var(--soft)
}
.access-entity-row-v66 .entity-name{min-width:0;font-size:11px;line-height:1.3;color:var(--ink2);overflow-wrap:anywhere}
.access-entity-row-v66 .entity-code{display:block;margin-top:2px;font:500 9px/1.2 var(--mono);color:var(--muted)}
.access-matrix-v66-empty{margin:16px 18px 18px}
@media(max-width:720px){
  .access-rights-users,.access-entity-users{grid-template-columns:1fr;padding:12px}
  .access-right-user-grid{grid-template-columns:minmax(0,1fr) 62px 74px}
  .access-right-user-grid>div{padding:8px 9px}
  .access-right-user-head,.access-entity-user-head{padding:11px 12px}
}
@media(max-width:430px){
  .access-right-user-grid{grid-template-columns:minmax(0,1fr) 54px 64px}
  .access-right-user-grid .rh{font-size:8px;letter-spacing:.035em}
  .access-right-user-grid .area{font-size:10.5px}
}


/* ---- V68: zentrale Änderungshistorie / Audit Log ------------------------ */
.audit-toolbar{display:flex;gap:9px;align-items:end;flex-wrap:wrap;padding:16px 18px;border-bottom:1px solid var(--line)}
.audit-toolbar .sel{display:flex;flex-direction:column;gap:5px;min-width:170px}.audit-toolbar .sel.search{flex:1 1 260px}
.audit-toolbar .sel>span{font:600 9.5px/1 var(--ps-font);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.audit-toolbar input,.audit-toolbar select{width:100%;max-width:none;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);padding:9px 10px;font:500 12px var(--ps-font)}
.audit-list{display:grid}.audit-row{display:grid;grid-template-columns:168px minmax(180px,.85fr) minmax(280px,1.8fr);gap:14px;padding:14px 18px;border-bottom:1px solid var(--line);align-items:start}.audit-row:last-child{border-bottom:0}
.audit-time{font-family:var(--mono);font-size:10.5px;color:var(--muted);white-space:nowrap}.audit-actor{min-width:0}.audit-actor strong{display:block;font:600 12.5px/1.25 var(--ps-font);overflow:hidden;text-overflow:ellipsis}.audit-actor small{display:block;margin-top:3px;font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}
.audit-main{min-width:0}.audit-title{font:600 13px/1.35 var(--ps-font);color:var(--ink)}.audit-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.audit-chip{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--soft);padding:3px 7px;font:500 9.5px var(--mono);color:var(--ink2)}
.audit-details{margin-top:8px}.audit-details summary{cursor:pointer;font-size:10.5px;color:var(--muted)}.audit-details pre{white-space:pre-wrap;word-break:break-word;margin:8px 0 0;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--soft);font:10px/1.45 var(--mono);color:var(--ink2)}
.audit-status{margin:16px 18px;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:var(--soft);font-size:12px;color:var(--ink2)}.audit-status.bad{border-color:color-mix(in srgb,var(--neg) 35%,var(--line));background:color-mix(in srgb,var(--neg) 5%,var(--card))}.audit-status strong{display:block;margin-bottom:4px;color:var(--ink)}
.audit-count{font:500 10.5px var(--mono);color:var(--muted);margin-left:auto;align-self:center}
@media(max-width:860px){.audit-row{grid-template-columns:1fr;gap:6px}.audit-time{white-space:normal}.audit-toolbar{padding:13px}.audit-toolbar .sel{min-width:140px}.audit-toolbar .sel.search{flex-basis:100%}}


/* V69: Nutzerliste ohne abgeschnittene Aktion; ganze Zeile oeffnet den Editor. */
.access-card-body{min-width:0}
.access-user-table{max-width:100%;min-width:0}
.access-user-head,.access-user-row{grid-template-columns:minmax(170px,1.3fr) 100px 115px minmax(115px,.9fr) minmax(90px,.65fr) 92px}
.access-user-row{cursor:pointer;outline:none}
.access-user-row:focus-visible{box-shadow:inset 0 0 0 2px var(--ps-purple)}
.access-user-row.selected{background:color-mix(in srgb,var(--ps-purple) 8%,var(--card))}
.access-actions{min-width:0}
.access-actions .ghost{white-space:nowrap}
@media(max-width:1220px){.access-user-row{grid-template-columns:minmax(0,1fr) 110px 120px!important}}
@media(max-width:820px){.access-user-row{grid-template-columns:1fr!important}}


/* V72: Benutzerverwaltung – klare Tabelle, sichtbare Rechte und echtes Modal. */
.access-users-card{width:100%;min-width:0}
.access-users-card .access-card-body{overflow:visible}
.access-user-table{width:100%;max-width:100%;overflow:hidden}
.access-user-head,.access-user-row{grid-template-columns:minmax(220px,1.25fr) 145px minmax(180px,.85fr) minmax(180px,1fr) 128px!important;gap:14px!important;padding-left:16px!important;padding-right:16px!important}
.access-user-head{min-height:42px!important}
.access-user-row{min-height:78px!important;cursor:default!important}
.access-user-row:hover{background:color-mix(in srgb,var(--ps-active) 55%,transparent)}
.access-user-row.selected{background:color-mix(in srgb,var(--ps-purple) 7%,var(--card))}
.access-status-cell{min-width:0}
.access-role-stack{min-width:0;display:grid;gap:4px;color:var(--ink2)}
.access-role-stack strong{font:600 12px/1.25 var(--ps-font);color:var(--ink)}
.access-role-stack small{font:450 10.5px/1.3 var(--ps-font);color:var(--muted);white-space:normal}
.access-entity-cell{min-width:0;white-space:normal;overflow-wrap:anywhere}
.access-actions{justify-content:flex-end!important;min-width:0}
.access-edit-btn{height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:1px solid color-mix(in srgb,var(--ps-purple) 28%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--ps-purple) 6%,var(--card));color:var(--ink);font:600 11px/1 var(--ps-font);cursor:pointer;white-space:nowrap;transition:transform .14s ease,background .14s ease,border-color .14s ease,box-shadow .14s ease}
.access-edit-btn .ico{width:15px;height:15px;color:var(--ps-purple)}
.access-edit-btn:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--ps-purple) 11%,var(--card));border-color:color-mix(in srgb,var(--ps-purple) 48%,var(--line));box-shadow:0 7px 18px rgba(35,42,75,.08)}
.access-edit-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--ps-purple) 70%,transparent);outline-offset:2px}
.access-add{margin-bottom:0}
.access-grant-btn{white-space:nowrap}
.access-auth-callout{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start;margin:12px 0 18px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--ps-purple) 20%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--ps-purple) 4%,var(--soft))}
.access-invite-msg{margin:0 0 18px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);font-size:13px;line-height:1.45;background:var(--soft)}
.access-invite-msg.ok{border-color:color-mix(in srgb,#2f9b69 35%,var(--line));background:color-mix(in srgb,#2f9b69 8%,var(--card));color:var(--text)}
.access-invite-msg.warn{border-color:color-mix(in srgb,#c8952c 35%,var(--line));background:color-mix(in srgb,#c8952c 8%,var(--card));color:var(--text)}
.access-invite-msg.bad{border-color:color-mix(in srgb,#c6534f 35%,var(--line));background:color-mix(in srgb,#c6534f 8%,var(--card));color:var(--text)}
.access-grant-btn svg{width:17px;height:17px;margin-right:7px;vertical-align:-3px}
.access-auth-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--ps-purple) 12%,var(--card));color:var(--ps-purple)}
.access-auth-icon .ico{width:18px;height:18px}
.access-auth-copy{min-width:0}.access-auth-copy strong{display:block;font:600 12px/1.3 var(--ps-font);color:var(--ink)}
.access-auth-steps{display:grid;gap:3px;margin-top:5px;font-size:11px;line-height:1.4;color:var(--ink2)}
.access-auth-copy small{display:block;margin-top:6px;font-size:10px;line-height:1.4;color:var(--muted)}

.access-editor-overlay{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:28px;background:rgba(15,20,31,.38);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);animation:accessOverlayIn .18s ease-out}
.access-editor-modal{width:min(820px,calc(100vw - 44px));max-height:calc(100vh - 56px);overflow:auto;overscroll-behavior:contain;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:24px;background:var(--card);box-shadow:0 30px 90px rgba(8,14,28,.24),0 4px 18px rgba(8,14,28,.1);animation:accessModalIn .22s cubic-bezier(.22,1,.36,1)}
@keyframes accessOverlayIn{from{opacity:0}to{opacity:1}}
@keyframes accessModalIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.access-editor-modal .cloud-perm-editor{margin:0!important;padding:0!important;border:0!important;border-radius:24px!important;background:var(--card)!important;box-shadow:none!important;overflow:hidden}
.access-editor-modal .cloud-perm-head{position:sticky;top:0;z-index:3;margin:0!important;padding:22px 26px 18px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.access-editor-modal .cloud-perm-head h4{font:650 23px/1.08 var(--ps-font);letter-spacing:-.035em;color:var(--ink)}
.access-editor-modal .cloud-perm-head .sub{margin-top:5px;font-size:11.5px;color:var(--muted)}
.access-editor-modal .cloud-perm-meta{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap}
.access-editor-modal .cloud-perm-head .close{width:36px;height:36px;border:1px solid var(--line);border-radius:11px;background:var(--soft);color:var(--ink2);font-size:20px;display:grid;place-items:center;cursor:pointer}
.access-editor-modal .cloud-perm-editor>.sel{display:grid!important;gap:6px;margin:16px 26px 0!important}
.access-editor-modal .cloud-perm-editor>.sel>span{font:600 10px/1 var(--ps-font);letter-spacing:.065em;text-transform:uppercase;color:var(--muted)}
.access-editor-modal .cloud-perm-editor>.sel input,.access-editor-modal .cloud-perm-editor>.sel select{width:100%;max-width:none;min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--soft);padding:10px 12px;color:var(--ink);font:500 13px var(--ps-font);box-shadow:none}
.access-editor-modal .cloud-editor-section{margin:20px 26px 0!important;padding:20px 0 0!important;border-top:1px solid var(--line)!important}
.access-editor-modal .cloud-editor-section h5{margin:0 0 12px;font:650 14px/1.2 var(--ps-font);letter-spacing:-.01em;color:var(--ink)}
.access-editor-modal .cloud-entity-mode{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important;margin-bottom:12px!important}
.access-editor-modal .cloud-entity-mode label{display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft);font-size:12px;color:var(--ink2);cursor:pointer}
.access-editor-modal .cloud-entity-mode label:has(input:checked){border-color:color-mix(in srgb,var(--ps-purple) 45%,var(--line));background:color-mix(in srgb,var(--ps-purple) 8%,var(--card));color:var(--ink)}
.access-editor-modal .cloud-entity-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;max-height:210px;overflow:auto;padding:1px}
.access-editor-modal .cloud-entity-list label{min-height:42px;border-radius:11px;background:var(--card);font-size:11.5px;line-height:1.3}
.access-editor-modal .cloud-perm-grid{margin-top:10px!important;border-radius:14px!important;overflow:hidden!important}
.access-editor-modal .cloud-perm-grid .area{font-weight:600!important}
.access-editor-modal .cloud-inline-help,.access-editor-modal .cloud-note{margin-top:10px!important;border-radius:11px!important}
.access-editor-actions{position:sticky;bottom:0;z-index:3;display:flex!important;align-items:center;gap:8px!important;margin-top:22px!important;padding:16px 26px 20px!important;border-top:1px solid var(--line);background:color-mix(in srgb,var(--card) 96%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.access-action-spacer{flex:1}
.access-editor-actions .ghost{min-height:40px;border-radius:11px;padding:9px 14px}
.access-editor-actions .access-danger{color:var(--neg);border-color:color-mix(in srgb,var(--neg) 28%,var(--line));background:color-mix(in srgb,var(--neg) 4%,var(--card))}
.access-editor-actions .access-danger:hover{background:color-mix(in srgb,var(--neg) 9%,var(--card))}

@media(max-width:1180px){
 .access-user-head{display:none!important}
 .access-user-table{border:0!important;background:transparent!important;display:grid!important;gap:9px!important;overflow:visible!important}
 .access-user-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:9px 14px!important;min-height:0!important;padding:14px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:var(--card)!important}
 .access-user-person{grid-column:1;grid-row:1}
 .access-status-cell{grid-column:2;grid-row:1;justify-self:end}
 .access-role-stack{grid-column:1;grid-row:2}
 .access-entity-cell{grid-column:1;grid-row:3}
 .access-actions{grid-column:2;grid-row:2 / span 2;align-self:end;justify-self:end!important}
}
@media(max-width:700px){
 .access-editor-overlay{padding:0;place-items:end center;background:rgba(15,20,31,.42)}
 .access-editor-modal{width:100%;max-height:92vh;border-radius:22px 22px 0 0;border-bottom:0;animation:accessModalMobileIn .24s cubic-bezier(.22,1,.36,1)}
 @keyframes accessModalMobileIn{from{transform:translateY(100%)}to{transform:translateY(0)}}
 .access-editor-modal .cloud-perm-head{padding:18px 18px 15px}
 .access-editor-modal .cloud-perm-head h4{font-size:20px}
 .access-editor-modal .cloud-perm-editor>.sel{margin:14px 18px 0!important}
 .access-editor-modal .cloud-editor-section{margin:18px 18px 0!important}
 .access-editor-modal .cloud-entity-mode{grid-template-columns:1fr!important}
 .access-editor-modal .cloud-entity-list{grid-template-columns:1fr!important;max-height:none}
 .access-editor-actions{padding:14px 18px calc(14px + env(safe-area-inset-bottom))!important;flex-wrap:wrap}
 .access-editor-actions .access-danger{order:3;width:100%}
 .access-user-row{grid-template-columns:1fr!important}
 .access-user-person,.access-status-cell,.access-role-stack,.access-entity-cell,.access-actions{grid-column:1!important;grid-row:auto!important;justify-self:stretch!important}
 .access-actions{justify-content:flex-start!important}.access-edit-btn{width:100%}
 .access-auth-callout{grid-template-columns:1fr}.access-auth-icon{display:none}
}
@media(prefers-reduced-motion:reduce){.access-editor-overlay,.access-editor-modal,.access-edit-btn{animation:none!important;transition:none!important}}


/* V73: Rechte-Modal vollstaendig deckend + eigenes Profil/Sicherheit. */
.access-editor-modal,
.access-editor-modal .access-card,
.access-editor-modal .cloud-perm-editor{background:var(--ps-card)!important;opacity:1!important}
.access-editor-modal .cloud-perm-head,
.access-editor-actions{background:var(--ps-card)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.access-editor-modal .cloud-editor-section,
.access-editor-modal .cloud-perm-grid,
.access-editor-modal .cloud-perm-grid>div,
.access-editor-modal .cloud-entity-mode label,
.access-editor-modal .cloud-entity-list label{opacity:1!important}
body.dark .access-editor-modal,
body.dark .access-editor-modal .access-card,
body.dark .access-editor-modal .cloud-perm-editor,
body.dark .access-editor-modal .cloud-perm-head,
body.dark .access-editor-actions{background:var(--ps-card)!important}

.ps-avatar.has-image{overflow:hidden;background:var(--ps-card)!important}
.ps-avatar.has-image img{width:100%;height:100%;display:block;object-fit:cover}
.ps-profile-row.profile-settings::before{content:'';width:18px;height:18px;border:1.7px solid currentColor;border-radius:50%;margin-right:11px;box-shadow:inset 0 -6px 0 -4px currentColor}

.profile-editor-overlay{position:fixed;inset:0;z-index:1350;display:grid;place-items:center;padding:28px;background:rgba(15,20,31,.42);animation:profileOverlayIn .18s ease-out}
.profile-editor-modal{width:min(720px,calc(100vw - 44px));max-height:calc(100vh - 56px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--ps-border);border-radius:24px;background:var(--ps-card);box-shadow:0 32px 90px rgba(8,14,28,.26),0 4px 18px rgba(8,14,28,.11);animation:profileModalIn .22s cubic-bezier(.22,1,.36,1)}
@keyframes profileOverlayIn{from{opacity:0}to{opacity:1}}
@keyframes profileModalIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.profile-modal-head{position:sticky;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 26px 18px;border-bottom:1px solid var(--ps-border);background:var(--ps-card)}
.profile-modal-head .eyebrow{margin:0 0 5px;font-size:9.5px}.profile-modal-head h2{margin:0;font:650 24px/1.08 var(--ps-font);letter-spacing:-.035em}.profile-modal-head p{margin:6px 0 0;color:var(--ink2);font-size:12px}
.profile-close{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--ps-border);border-radius:12px;background:var(--ps-active);color:var(--ink2);cursor:pointer;font-size:21px;line-height:1}
.profile-modal-body{padding:22px 26px 6px;background:var(--ps-card)}
.profile-section{padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid var(--ps-border)}.profile-section:last-child{margin-bottom:0}
.profile-section-head{margin-bottom:14px}.profile-section-head h3{margin:0;font:650 15px/1.2 var(--ps-font);letter-spacing:-.01em}.profile-section-head p{margin:5px 0 0;color:var(--ink2);font-size:11.5px;line-height:1.45}
.profile-avatar-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center}
.profile-avatar-large{width:82px;height:82px;border-radius:24px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,var(--ps-purple),#5bbf9c);color:white;font:700 22px var(--ps-font);border:1px solid var(--ps-border)}
.profile-avatar-large img{width:100%;height:100%;object-fit:cover;display:block}.profile-avatar-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.profile-avatar-actions .ghost{min-height:39px;border-radius:11px}.profile-avatar-help{margin-top:7px;color:var(--ink3);font-size:10px}
.profile-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.profile-fields.one{grid-template-columns:1fr}.profile-field{display:grid;gap:6px}.profile-field>span{font:600 10px/1 var(--ps-font);letter-spacing:.065em;text-transform:uppercase;color:var(--ink3)}
.profile-field input{width:100%;max-width:none;min-height:44px;border:1px solid var(--ps-border);border-radius:12px;background:var(--ps-active);color:var(--ink);padding:10px 12px;font:500 13px var(--ps-font);box-shadow:none}.profile-field input[disabled]{opacity:.7;cursor:not-allowed}
.profile-security-box{padding:15px;border:1px solid var(--ps-border);border-radius:15px;background:var(--ps-active)}.profile-security-actions{display:flex;justify-content:flex-end;margin-top:12px}
.profile-msg{display:none;margin-top:12px;padding:10px 12px;border:1px solid var(--ps-border);border-radius:11px;background:var(--ps-active);font-size:11.5px;line-height:1.4}.profile-msg.show{display:block}.profile-msg.ok{border-color:color-mix(in srgb,#42b978 36%,var(--ps-border));color:#27814f}.profile-msg.bad{border-color:color-mix(in srgb,var(--neg) 38%,var(--ps-border));color:var(--neg)}
.profile-modal-actions{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 26px 20px;border-top:1px solid var(--ps-border);background:var(--ps-card)}.profile-modal-actions .ghost{min-height:41px;border-radius:11px;padding:9px 15px}.profile-save-primary{min-width:132px}
.profile-storage-note{margin-top:10px;padding:10px 12px;border:1px dashed var(--ps-border);border-radius:11px;color:var(--ink2);font-size:10.5px;line-height:1.45}
@media(max-width:700px){.profile-editor-overlay{padding:0;place-items:end center}.profile-editor-modal{width:100%;max-height:94vh;border-radius:22px 22px 0 0;border-bottom:0;animation:profileMobileIn .24s cubic-bezier(.22,1,.36,1)}@keyframes profileMobileIn{from{transform:translateY(100%)}to{transform:translateY(0)}}.profile-modal-head{padding:18px}.profile-modal-body{padding:18px 18px 4px}.profile-fields{grid-template-columns:1fr}.profile-avatar-row{grid-template-columns:1fr}.profile-avatar-large{width:74px;height:74px}.profile-modal-actions{padding:14px 18px calc(14px + env(safe-area-inset-bottom));flex-wrap:wrap}.profile-modal-actions .ghost{flex:1}.profile-save-primary{min-width:0}}
@media(prefers-reduced-motion:reduce){.profile-editor-overlay,.profile-editor-modal{animation:none!important}}


/* V74: mobile GuV/Bilanz ohne abgeschnittene Wertespalte + fixer Kontext */
.ps-mobile-context{display:none}
@media(max-width:820px){
  .ps-shell.has-mobile-context .ps-top{position:relative;top:auto;margin-top:52px}
  .ps-mobile-context{
    display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:8px;align-items:center;
    position:fixed;left:0;right:0;top:0;z-index:118;height:52px;padding:6px 10px;
    background:var(--ps-topbar);border-bottom:1px solid var(--ps-border);
    box-shadow:0 3px 14px rgba(16,24,40,.06)
  }
  .ps-mobile-context .pmc-field{
    min-width:0;height:40px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;
    padding:0 9px;border:1px solid var(--ps-border);border-radius:12px;background:var(--ps-card)
  }
  .ps-mobile-context .pmc-field.year{grid-template-columns:auto minmax(0,1fr)}
  .ps-mobile-context .pmc-label{font:600 8px/1 var(--ps-font);letter-spacing:.07em;text-transform:uppercase;color:var(--ps-sidebar-muted);white-space:nowrap}
  .ps-mobile-context select{
    min-width:0;width:100%;height:36px;border:0!important;outline:0;background:transparent!important;box-shadow:none!important;
    padding:0 18px 0 0!important;font:600 12px/1 var(--ps-font)!important;color:var(--ink);text-overflow:ellipsis
  }
  .ps-shell.has-mobile-context .toolbar>label.tsel:nth-of-type(1),
  .ps-shell.has-mobile-context .toolbar>label.tsel:nth-of-type(2){display:none!important}

  /* Einspaltige HGB-Aufstellungen muessen auf dem Telefon ohne horizontales Suchen lesbar sein. */
  .mobile-statement{overflow:hidden!important}
  .mobile-statement table.stmt{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed}
  .mobile-statement table.stmt td,.mobile-statement table.stmt th{box-sizing:border-box}
  .mobile-statement table.stmt td.num{width:30px!important;min-width:30px!important;max-width:30px!important;padding-left:0!important;padding-right:5px!important;font-size:9.5px}
  .mobile-statement table.stmt td.lbl{width:auto!important;min-width:0!important;max-width:none!important;padding-left:5px!important;padding-right:7px!important;overflow-wrap:anywhere;word-break:normal}
  .mobile-statement table.stmt td.lbl .txt{white-space:normal;line-height:1.28}
  .mobile-statement table.stmt td.val{width:104px!important;min-width:104px!important;max-width:104px!important;padding-left:4px!important;padding-right:0!important;overflow:hidden;text-overflow:clip}
  .mobile-statement table.stmt td.val .n{font-size:11.2px;letter-spacing:-.02em}
  .mobile-statement table.stmt .stmtpct{display:block;margin:2px 0 0;font-size:8.8px;line-height:1.15}
  .mobile-statement table.stmt tr.l1 td.lbl{padding-left:10px!important}
  .mobile-statement table.stmt tr.l2 td.lbl{padding-left:16px!important}
  .mobile-statement .bilsum{gap:10px}
  .mobile-statement .bilsum .n{font-size:12px}
}
@media(max-width:370px){
  .ps-mobile-context{grid-template-columns:minmax(0,1fr) 92px;padding-left:7px;padding-right:7px}
  .ps-mobile-context .pmc-field{padding-left:7px;padding-right:7px}
  .ps-mobile-context .pmc-label{display:none}
  .mobile-statement table.stmt td.num{width:25px!important;min-width:25px!important;max-width:25px!important}
  .mobile-statement table.stmt td.val{width:94px!important;min-width:94px!important;max-width:94px!important}
  .mobile-statement table.stmt td.val .n{font-size:10.6px}
}


/* V75: Mobile Drilldown liegt ueber fixer Gesellschaft/Jahr-Leiste und Bottom-Navigation. */
@media(max-width:820px){
  .overlay{z-index:460!important}
  .overlay .pane{
    width:100%!important;max-width:100%!important;
    padding:18px 18px calc(84px + env(safe-area-inset-bottom))!important;
  }
  .overlay .pane>.phd{
    position:sticky!important;top:0!important;z-index:12!important;
    margin:-18px -18px 18px!important;padding:18px 54px 14px 18px!important;
    background:var(--sheet)!important;border-bottom:1px solid var(--rule)!important;
    box-shadow:0 8px 18px -16px rgba(0,0,0,.42)!important;
  }
  .overlay .pane>.phd .close{
    position:absolute!important;top:10px!important;right:10px!important;z-index:14!important;
    width:40px!important;height:40px!important;padding:0!important;
    display:grid!important;place-items:center!important;
    border:1px solid var(--line)!important;border-radius:12px!important;
    background:var(--sheet)!important;color:var(--ink)!important;
    box-shadow:0 4px 14px rgba(16,24,40,.08)!important;
  }
  .overlay .pane>.phd h2{max-width:none!important;padding-right:4px}
}


/* V77: robuste Konten-Detailansicht + sichtbarer Cash-Conversion-Block. */
.dashboard-cash-cycle{margin-top:4px}
.dashboard-cash-cycle .cash-cycle-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.dashboard-cash-cycle .cash-cycle-head .sub{margin-top:4px}
.dashboard-cash-cycle .tiles{margin-bottom:0;grid-template-columns:repeat(3,minmax(0,1fr))}
.dashboard-cash-cycle .tile{min-width:0}

/* Der Drilldown hat einen festen Kopf und einen getrennten Scrollbereich.
   Damit kann der Schliessen-Button nicht mehr weggescrollt werden. */
.drill-overlay{z-index:2100!important}
.drill-overlay .drill-pane{display:flex;flex-direction:column;overflow:hidden;padding:0!important}
.drill-overlay .drill-pane>.phd{position:relative!important;top:auto!important;flex:0 0 auto;margin:0!important;padding:26px 72px 18px 28px!important;background:var(--sheet)!important;border-bottom:1px solid var(--rule);box-shadow:0 8px 18px -18px rgba(0,0,0,.4);z-index:3}
.drill-overlay .drill-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:0 28px 48px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.drill-overlay .drill-scroll table.stmt{margin-top:8px}
body.drill-open{overflow:hidden}

@media(max-width:820px){
  body.drill-open .ps-mobile-context,
  body.drill-open .ps-mobile-nav{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
  .drill-overlay{position:fixed!important;inset:0!important;z-index:3000!important;background:var(--sheet)!important}
  .drill-overlay .drill-pane{position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;border-radius:0!important;background:var(--sheet)!important}
  .drill-overlay .drill-pane>.phd{
    padding:calc(14px + env(safe-area-inset-top)) 64px 13px 16px!important;
    min-height:76px;margin:0!important;background:var(--sheet)!important
  }
  .drill-overlay .drill-pane>.phd .eyebrow{margin-bottom:4px}
  .drill-overlay .drill-pane>.phd h2{font-size:18px!important;line-height:1.2!important;max-width:none!important;padding:0!important;margin:0!important}
  .drill-overlay .drill-pane>.phd .close{
    position:absolute!important;right:12px!important;top:calc(10px + env(safe-area-inset-top))!important;
    width:44px!important;height:44px!important;display:grid!important;place-items:center!important;
    padding:0!important;border:1px solid var(--rule)!important;border-radius:13px!important;
    background:var(--sheet)!important;color:var(--ink)!important;font-size:28px!important;
    box-shadow:0 3px 12px rgba(16,24,40,.08)!important;z-index:6!important
  }
  .drill-overlay .drill-scroll{padding:8px 14px calc(24px + env(safe-area-inset-bottom))!important}
  .drill-overlay .drill-scroll table.stmt{width:100%!important;min-width:0!important;table-layout:fixed!important}
  .drill-overlay .drill-scroll table.stmt td.num{width:62px!important;min-width:62px!important;max-width:62px!important;padding-left:0!important;padding-right:6px!important;font-size:9.8px!important}
  .drill-overlay .drill-scroll table.stmt td.lbl{width:auto!important;min-width:0!important;padding-left:5px!important;padding-right:7px!important;overflow-wrap:anywhere!important}
  .drill-overlay .drill-scroll table.stmt td.val{width:112px!important;min-width:112px!important;max-width:112px!important;padding-left:4px!important;padding-right:0!important;overflow:hidden!important}
  .drill-overlay .drill-scroll table.stmt td.val .n{font-size:11px!important;letter-spacing:-.02em!important}
  .dashboard-cash-cycle .tiles{grid-template-columns:1fr!important}
}


/* V78: Kreditoren-Subledger fuer Working-Capital-/CCC-Analyse. */
.creditor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.creditor-head .tools{margin:0}
.creditor-import-note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--card);margin:0 0 18px}
.creditor-import-note strong{display:block;margin-bottom:3px}.creditor-import-note p{margin:0;color:var(--muted);line-height:1.45}
.creditor-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0 0 18px}
.creditor-kpi{border:1px solid var(--line);border-radius:18px;background:var(--card);padding:16px 18px;min-width:0}
.creditor-kpi span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}
.creditor-kpi strong{display:block;font-size:22px;line-height:1.1;font-weight:650;overflow-wrap:anywhere}
.creditor-kpi small{display:block;color:var(--muted);margin-top:7px;line-height:1.35}
.creditor-kpi.bad strong{color:var(--red)}
.creditor-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.95fr);gap:18px;align-items:start}
.creditor-card{border:1px solid var(--line);border-radius:20px;background:var(--card);min-width:0;overflow:hidden}
.creditor-card-head{padding:18px 20px;border-bottom:1px solid var(--line)}
.creditor-card-head h3{margin:0 0 5px;font-size:18px}.creditor-card-head p{margin:0;color:var(--muted);line-height:1.4}
.creditor-chart{padding:18px 20px}
.creditor-toolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--line)}
.creditor-toolbar label{display:grid;gap:5px;min-width:190px;flex:1}.creditor-toolbar label span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.creditor-toolbar input,.creditor-toolbar select,.creditor-category-select{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);padding:10px 12px;font:inherit}
.creditor-list{padding:0 20px 18px;min-width:0}
.creditor-list-head,.creditor-row{display:grid;grid-template-columns:minmax(180px,1.55fr) minmax(150px,1fr) minmax(90px,.65fr) 80px 128px 76px;gap:12px;align-items:center}
.creditor-list-head{padding:13px 8px 10px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line)}
.creditor-row{padding:13px 8px;border-bottom:1px solid var(--line);min-width:0}.creditor-row:last-child{border-bottom:0}
.creditor-who{min-width:0}.creditor-who strong,.creditor-who small{display:block;overflow-wrap:anywhere}.creditor-who small{color:var(--muted);margin-top:3px}
.creditor-country,.creditor-items,.creditor-share{color:var(--muted)}
.creditor-amount{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--mono);font-weight:600}.creditor-amount.neg{color:var(--red)}
.creditor-share{text-align:right;font-variant-numeric:tabular-nums}
.creditor-empty{padding:26px 20px;color:var(--muted);line-height:1.5}
.creditor-recon{margin-top:14px;padding:13px 15px;border-radius:14px;background:var(--soft);color:var(--muted);line-height:1.45}.creditor-recon strong{color:var(--ink)}
.creditor-dpo-note{margin-top:18px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:var(--soft);line-height:1.5}.creditor-dpo-note strong{display:block;margin-bottom:4px}
@media(max-width:1180px){.creditor-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.creditor-grid{grid-template-columns:1fr}.creditor-list-head,.creditor-row{grid-template-columns:minmax(170px,1.5fr) minmax(145px,1fr) 90px 70px 120px 70px}}
@media(max-width:820px){.creditor-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.creditor-kpi{padding:14px}.creditor-grid{display:block}.creditor-card+.creditor-card{margin-top:14px}.creditor-list{padding:8px 14px 16px}.creditor-list-head{display:none}.creditor-row{grid-template-columns:minmax(0,1fr) minmax(120px,.8fr);gap:9px 12px;padding:15px 2px}.creditor-who{grid-column:1/-1}.creditor-category{grid-column:1/-1}.creditor-country:before{content:attr(data-label) ': ';color:var(--muted)}.creditor-items{text-align:right}.creditor-amount{font-size:17px}.creditor-share{text-align:right}.creditor-toolbar{padding:14px}.creditor-toolbar label{min-width:0;flex-basis:100%}.creditor-import-note{margin-left:0;margin-right:0}.creditor-head{display:block}.creditor-head .tools{margin-top:12px}}


/* V80: recoverable cloud versions, category DPO and in-app system checks. */
.backup-list{display:grid;gap:8px;margin-top:14px}.backup-row{display:grid;grid-template-columns:minmax(0,1.4fr) 90px minmax(110px,.8fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.backup-row strong,.backup-row small{display:block}.backup-row small{color:var(--muted);margin-top:2px}.backup-rev{font-family:var(--mono);font-size:11px;color:var(--muted)}.backup-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.backup-status{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.45}
.creditor-dpo-table{width:100%;border-collapse:collapse}.creditor-dpo-table td{padding:10px 4px;border-bottom:1px solid var(--line)}.creditor-dpo-table td.val{text-align:right;font-family:var(--mono)}.creditor-dpo-table tr:last-child td{border-bottom:0}.creditor-dpo-missing{color:var(--muted);font-size:11px;display:block;margin-top:2px}.creditor-dpo-value{font-weight:650}.creditor-purchase{font-family:var(--mono);text-align:right}.creditor-list-card{grid-column:1/-1}.creditor-list.v80 .creditor-list-head,.creditor-list.v80 .creditor-row{grid-template-columns:minmax(170px,1.45fr) minmax(145px,1fr) 72px 70px 118px 118px 78px;}
.system-check{margin-top:14px}.system-check-summary{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}.system-check-pill{border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:11px}.system-check-list{display:grid;gap:7px}.system-check-row{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:start;padding:9px 10px;border:1px solid var(--line);border-radius:10px}.system-check-row .mark{font-weight:700}.system-check-row.pass .mark{color:var(--green)}.system-check-row.warn .mark{color:var(--warn)}.system-check-row.fail .mark{color:var(--red)}.system-check-row strong{display:block}.system-check-row small{display:block;color:var(--muted);margin-top:2px;line-height:1.4}
@media(max-width:900px){.backup-row{grid-template-columns:1fr auto}.backup-row .backup-meta{grid-column:1/-1}.creditor-list.v80 .creditor-list-head{display:none}.creditor-list.v80 .creditor-row{grid-template-columns:minmax(0,1fr) minmax(120px,.8fr)}.creditor-list.v80 .creditor-purchase{grid-column:1}.creditor-list.v80 .creditor-dpo-cell{grid-column:2;text-align:right}}


/* V81: vollstaendiger Invite-/Recovery-Flow fuer Supabase Auth. */
.cloud-auth-secondary{display:flex;justify-content:flex-start;margin-top:-2px}
.cloud-auth-link{appearance:none;border:0;background:transparent;color:var(--acc);padding:4px 0;font:inherit;font-size:12.5px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cloud-auth-link:hover{color:var(--ink)}
.cloud-auth-msg.ok{border-color:color-mix(in srgb,var(--green) 38%,var(--line));background:color-mix(in srgb,var(--green) 8%,var(--sheet));color:var(--ink)}
.cloud-password-flow .cloud-gate-card{max-width:470px}
.cloud-password-flow .password-flow-email{font-family:var(--mono);font-size:12px;color:var(--muted);margin:-4px 0 14px;overflow-wrap:anywhere}
.cloud-password-flow .password-flow-note{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.cloud-password-flow .cg-actions{gap:9px;flex-wrap:wrap}
@media(max-width:620px){.cloud-password-flow .cloud-gate-card{max-width:none}}


/* V85: Bank-/WP-Optik mit Dokumentkontrolle, Vertraulichkeit und Freigabefeldern. */
.bank-report{display:block;min-width:0;color:var(--ink)}
.bank-brandline{display:flex;align-items:center;gap:10px;margin:0 0 8px}
.bank-brandmark{width:14px;height:14px;border-radius:4px;background:linear-gradient(135deg,var(--acc),#91a0ff)}
.bank-brandtext{font-family:var(--disp);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.bank-report-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin:0 0 14px;padding:0 0 12px;border-bottom:1px solid var(--ink)}
.bank-report-head h1{font-family:var(--disp);font-size:24px;line-height:1.05;margin:0;font-weight:700}
.bank-report-head p{margin:5px 0 0;color:var(--muted);font-size:12px}
.bank-report-meta{text-align:right;font-family:var(--mono);font-size:11px;color:var(--muted);white-space:nowrap}
.bank-report-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 12px}
.bank-summary-chip{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:color-mix(in srgb,var(--sheet) 88%, white);min-height:58px}
.bank-summary-chip .k{display:block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-weight:700}
.bank-summary-chip strong{display:block;font-family:var(--disp);font-size:14px;line-height:1.15}
.bank-balance-grid{display:grid;grid-template-columns:repeat(2,minmax(520px,1fr));gap:18px;align-items:start;overflow-x:auto}
.bank-statement-panel{min-width:0;border:1px solid var(--line);border-radius:18px;padding:0;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,248,253,.98));box-shadow:0 12px 28px rgba(17,23,53,.06);overflow:hidden}
.bank-statement-title{display:flex;justify-content:space-between;gap:8px;align-items:baseline;padding:10px 12px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(91,99,230,.08),rgba(91,99,230,.02));font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:18px 18px 0 0}
.bank-statement-title small{font-family:var(--mono);font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted)}
.bank-statement-scroll{overflow:auto}
.bank-statement{width:100%;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums}
.bank-statement col.bank-pos{width:42%}.bank-statement col.bank-val{width:auto}
.bank-statement th{padding:8px 7px;border-bottom:1px solid var(--line);font-family:var(--disp);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);vertical-align:bottom;white-space:normal;overflow-wrap:anywhere;background:rgba(247,248,253,.95)}
.bank-statement th .bank-col-short{display:block;font-size:10px;line-height:1.1;color:var(--ink);letter-spacing:.03em}
.bank-statement th .bank-col-full{display:block;margin-top:3px;font-family:var(--mono);font-size:8px;line-height:1.1;text-transform:none;letter-spacing:0;color:var(--muted)}
.bank-statement.bank-many-cols th .bank-col-full{display:none}
.bank-statement.bank-many-cols td.bank-val{font-size:9.5px;letter-spacing:-.01em}
.bank-column-legend{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.bank-column-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(249,250,255,.96);font-size:10px;color:var(--ink2)}
.bank-column-chip strong{font-family:var(--mono);font-size:10px;color:var(--ink)}
.bank-statement th:first-child{text-align:left}.bank-statement th:not(:first-child){text-align:right}
.bank-statement td{padding:7px 7px;border-bottom:1px solid rgba(214,220,236,.9);font-size:10.4px;vertical-align:top;background:rgba(255,255,255,.98)}
.bank-statement tbody tr:nth-child(even) td{background:rgba(249,250,255,.96)}
.bank-statement td.bank-label{line-height:1.24;overflow-wrap:anywhere}.bank-statement td.bank-val{text-align:right;white-space:nowrap;font-family:var(--mono)}
.bank-statement .bank-nr{display:inline-block;min-width:22px;color:var(--muted);font-family:var(--mono);font-size:9px}
.bank-statement .bank-ref{display:block;margin:2px 0 0 22px;color:var(--muted);font-family:var(--mono);font-size:8px}
.bank-statement tr.bank-head td{padding-top:9px;padding-bottom:5px;border-bottom:0;font-family:var(--disp);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);background:#fff}
.bank-statement tr.bank-subtotal td,.bank-statement tr.bank-gsum td,.bank-statement tr.bank-calc.strong td{font-weight:700;border-top:1px solid var(--ink);background:rgba(245,247,255,.98)}
.bank-statement td.bank-elim,.bank-statement th.bank-elim{border-left:1px solid var(--line)}
.bank-statement td.bank-totalcol,.bank-statement th.bank-totalcol{border-left:1px solid var(--ink);background:color-mix(in srgb,var(--acc) 7%,var(--sheet));font-weight:700}
.bank-statement tr.bank-total td{font-weight:800;border-top:1.5px solid var(--ink);border-bottom:3px double var(--ink);padding-top:9px;padding-bottom:9px;background:rgba(241,244,255,.95)}
.bank-statement .n{font-size:inherit;color:inherit}
.bank-report-note{margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(249,250,255,.95);font-size:10.4px;color:var(--muted);line-height:1.45}
.bank-guv-wrap{max-width:100%}.bank-guv-wrap .bank-statement col.bank-pos{width:48%}
.bank-page-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:14px;padding-top:9px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}
.bank-page-footer .right{font-family:var(--mono)}
.bank-cover{min-height:185mm;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);border-radius:24px;padding:28px;background:linear-gradient(180deg,#ffffff 0%, #f6f7fc 100%);box-shadow:0 16px 38px rgba(17,23,53,.08)}
.bank-cover-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:26px;align-items:start}
.bank-cover-eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted);margin-bottom:14px}
.bank-cover h1{font-family:var(--disp);font-size:38px;line-height:1.02;margin:0 0 10px;font-weight:750;color:var(--ink)}
.bank-cover .subtitle{font-size:15px;line-height:1.45;color:var(--muted);max-width:760px}
.bank-cover-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(91,99,230,.10);color:var(--acc);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px}
.bank-cover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bank-kv{border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:rgba(255,255,255,.95)}
.bank-kv .k{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px;font-weight:700}
.bank-kv .v{display:block;font-family:var(--disp);font-size:17px;line-height:1.2;color:var(--ink)}
.bank-cover-section{margin-top:24px}
.bank-cover-section h2{margin:0 0 10px;font-family:var(--disp);font-size:17px}
.bank-cover-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;margin:0;list-style:none}
.bank-cover-list li{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:rgba(255,255,255,.92)}
.bank-cover-list .step{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:999px;background:rgba(91,99,230,.12);color:var(--acc);font-family:var(--mono);font-size:11px;margin-right:9px}
.bank-cover-note{margin-top:18px;padding:14px 16px;border-left:4px solid var(--acc);background:rgba(91,99,230,.06);border-radius:14px;font-size:12px;line-height:1.5;color:var(--ink2)}

.bank-brandline{gap:9px}
.bank-brand-logo{width:18px;height:18px;object-fit:contain;display:block}
.bank-brandtext{letter-spacing:.10em;color:#24304b}
.bank-docstrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.bank-docflag{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef1f7;border:1px solid #d7ddea;color:#27324b;font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.bank-docflag.strong{background:#24304b;color:#fff;border-color:#24304b}
.bank-docflag.financing{background:#f6f7fa;color:#3d465a}
.bank-control{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px;margin:0 0 16px}
.bank-control-cell{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}
.bank-control-cell .k{display:block;font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:4px}
.bank-control-cell .v{display:block;font-family:var(--disp);font-size:11px;color:var(--ink);line-height:1.25}
.bank-signoff{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}
.bank-signbox{border-top:1px solid #8991a3;padding-top:8px;min-height:54px}
.bank-signbox .role{display:block;font-size:8.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin-bottom:5px}
.bank-signbox strong{display:block;font-size:12px;font-family:var(--disp);font-weight:650}
.bank-signbox small{display:block;font-size:9px;color:var(--muted);margin-top:2px}
.bank-cover-legal{margin-top:12px;font-size:9.5px;line-height:1.45;color:#596175}
.bank-cover-brand{display:flex;align-items:center;gap:11px;margin-bottom:18px}
.bank-cover-brand img{width:34px;height:34px;object-fit:contain}
.bank-cover-brand-copy strong{display:block;font-family:var(--disp);font-size:15px;color:#20283a}
.bank-cover-brand-copy span{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#747c8e;margin-top:2px}
.bank-cover .bank-cover-badge{background:#24304b;color:#fff}
.bank-report-head{border-bottom-color:#24304b}
.bank-statement-title{background:#f1f3f7;color:#20283a}
.bank-statement td.bank-totalcol,.bank-statement th.bank-totalcol{background:#eef1f6}
.bank-page-footer{color:#555f72}
@media(max-width:900px){.bank-balance-grid{grid-template-columns:1fr}.bank-report-meta{text-align:left}.bank-report-head{display:block}.bank-report-meta{margin-top:8px}.bank-report-summary,.bank-cover-top,.bank-cover-grid,.bank-cover-list{grid-template-columns:1fr}}
@media print{
  @page { size:A4 landscape; margin:11mm 10mm 11mm 10mm; }
  body.printing{background:#fff!important}
  .printdoc.bank-pack>.printhead{display:none!important}
  .printdoc.bank-pack .bank-rsec{padding-top:0!important}
  .bank-rsec{break-before:page!important;page-break-before:always!important;margin:0!important;padding:0!important;min-height:174mm!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important}
  .bank-rsec:first-of-type{break-before:avoid!important;page-break-before:avoid!important}
  .bank-rsec>.rtitle{display:none!important}
  .bank-cover-page{padding:0!important}
  .bank-report{width:100%!important;color:#000!important;display:flex!important;flex-direction:column!important;min-height:174mm!important;box-sizing:border-box!important}
  .bank-brandline{margin:0 0 2.5mm!important}.bank-brandmark{width:4mm!important;height:4mm!important}.bank-brandtext{font-size:6.2pt!important;color:#555!important}
  .bank-report-head{margin:0 0 3mm!important;padding:0 0 2mm!important;border-bottom:.7pt solid #111!important;break-inside:avoid}
  .bank-report-head h1{font-size:13.5pt!important;color:#000!important}
  .bank-report-head p,.bank-report-meta{font-size:6.8pt!important;color:#333!important}
  .bank-report-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:2mm!important;margin:0 0 3.2mm!important}
  .bank-summary-chip{border:.35pt solid #b9bfd0!important;border-radius:8pt!important;padding:1.8mm 2mm!important;background:#fafbff!important;min-height:auto!important;box-shadow:none!important}
  .bank-column-legend{display:flex!important;flex-wrap:wrap!important;gap:1.5mm!important;margin:0 0 2.6mm!important}
  .bank-column-chip{display:inline-flex!important;align-items:center!important;gap:1.1mm!important;padding:.9mm 1.4mm!important;border:.35pt solid #c4cad8!important;border-radius:999px!important;background:#fafbff!important;font-size:5.1pt!important;color:#333!important}
  .bank-column-chip strong{font-size:5.2pt!important}
  .bank-summary-chip .k{font-size:4.8pt!important;margin-bottom:.6mm!important;color:#666!important}
  .bank-summary-chip strong{font-size:7.3pt!important;color:#000!important}
  .bank-balance-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:2.4mm!important;align-items:start!important;overflow:visible!important}
  .bank-statement-panel{break-inside:avoid!important;min-width:0!important;border:.45pt solid #bfc5d6!important;border-radius:9pt!important;box-shadow:none!important;background:#fff!important}
  .bank-statement-title{padding:1.4mm 1.6mm!important;border-bottom:.45pt solid #bfc5d6!important;border-top:0!important;font-size:7pt!important;background:#f4f6fb!important;border-radius:9pt 9pt 0 0!important}
  .bank-statement-title small{font-size:5.5pt!important;color:#444!important}
  .bank-statement-scroll{overflow:visible!important}
  .bank-statement{table-layout:fixed!important;width:100%!important;border-collapse:collapse!important}
  .bank-statement col.bank-pos{width:40%!important}.bank-guv-wrap .bank-statement col.bank-pos{width:46%!important}
  .bank-statement th{padding:1.05mm .8mm!important;border-bottom:.35pt solid #999!important;font-size:4.9pt!important;line-height:1.08!important;color:#222!important;white-space:normal!important;overflow-wrap:anywhere!important;background:#f8f9fc!important}
  .bank-statement th .bank-col-short{display:block!important;font-size:5.2pt!important;line-height:1.05!important;color:#000!important}
  .bank-statement th .bank-col-full{display:block!important;margin-top:.35mm!important;font-size:4.1pt!important;line-height:1.05!important;color:#555!important;text-transform:none!important;letter-spacing:0!important}
  .bank-statement.bank-many-cols th .bank-col-full{display:none!important}
  .bank-statement td{padding:.95mm .75mm!important;border-bottom:.24pt solid #d0d4df!important;font-size:5.45pt!important;line-height:1.12!important;color:#000!important;background:#fff!important}
  .bank-statement.bank-many-cols td.bank-val{font-size:4.75pt!important;letter-spacing:-.02em!important}
  .bank-statement tbody tr:nth-child(even) td{background:#fbfbfd!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .bank-statement td.bank-label{white-space:normal!important}.bank-statement td.bank-val{white-space:nowrap!important;text-align:right!important}
  .bank-statement .bank-nr{min-width:4.2mm!important;font-size:4.8pt!important;color:#444!important}
  .bank-statement .bank-ref{margin:.3mm 0 0 4.2mm!important;font-size:4.2pt!important;color:#666!important}
  .bank-statement tr.bank-head td{padding-top:1.4mm!important;padding-bottom:.6mm!important;border-bottom:0!important;font-size:5.15pt!important;color:#333!important;background:#fff!important}
  .bank-statement tr.bank-subtotal td,.bank-statement tr.bank-gsum td,.bank-statement tr.bank-calc.strong td{border-top:.45pt solid #333!important;font-weight:700!important;background:#f6f7fb!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .bank-statement td.bank-elim,.bank-statement th.bank-elim{border-left:.35pt solid #aaa!important}
  .bank-statement td.bank-totalcol,.bank-statement th.bank-totalcol{border-left:.65pt solid #000!important;background:#f1f3f9!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;font-weight:700!important}
  .bank-statement tr.bank-total td{padding-top:1.35mm!important;padding-bottom:1.35mm!important;border-top:.85pt solid #000!important;border-bottom:1.7pt double #000!important;font-weight:750!important;background:#eef1fa!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .bank-statement .n{font-size:inherit!important;color:#000!important}
  .bank-report-note{margin-top:2.5mm!important;padding:1.8mm 2mm!important;border:.35pt solid #bcc4d7!important;border-radius:7pt!important;background:#fafbff!important;font-size:5.45pt!important;color:#333!important;break-inside:avoid!important}
  .bank-page-footer{margin-top:auto!important;padding-top:1.8mm!important;border-top:.35pt solid #bfc5d6!important;font-size:5.2pt!important;color:#555!important}
  .bank-cover{min-height:174mm!important;box-sizing:border-box!important;border:.5pt solid #c0c6d8!important;border-radius:12pt!important;padding:7mm!important;box-shadow:none!important;background:linear-gradient(180deg,#fff 0%,#f7f8fc 100%)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .bank-cover-top{grid-template-columns:minmax(0,1.2fr) minmax(78mm,.8fr)!important;gap:5mm!important}
  .bank-cover-eyebrow{font-size:5.3pt!important;margin-bottom:2.4mm!important;color:#666!important}
  .bank-cover h1{font-size:21pt!important;margin:0 0 2.2mm!important}
  .bank-cover .subtitle{font-size:8pt!important;max-width:none!important}
  .bank-cover-badge{padding:1mm 1.8mm!important;font-size:5.1pt!important;margin-bottom:3mm!important}
  .bank-cover-grid{gap:2mm!important}.bank-kv{border:.35pt solid #bfc5d6!important;border-radius:8pt!important;padding:2.2mm 2.4mm!important;background:#fff!important}
  .bank-kv .k{font-size:4.7pt!important;margin-bottom:.7mm!important;color:#666!important}.bank-kv .v{font-size:7.8pt!important}
  .bank-cover-section{margin-top:4mm!important}.bank-cover-section h2{font-size:8.3pt!important;margin:0 0 1.5mm!important}
  .bank-cover-list{gap:2mm!important}.bank-cover-list li{border:.35pt solid #c5cad8!important;border-radius:8pt!important;padding:1.8mm 2mm!important;background:#fff!important}
  .bank-cover-list .step{width:5mm!important;height:5mm!important;font-size:5pt!important;margin-right:1.4mm!important}
  .bank-cover-note{margin-top:3mm!important;padding:2mm 2.4mm!important;border-left:1.4pt solid #24304b!important;border-radius:7pt!important;font-size:5.65pt!important;line-height:1.38!important;background:#f2f4f8!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .bank-brand-logo{width:4.4mm!important;height:4.4mm!important}
  .bank-brandtext{color:#24304b!important}
  .bank-docstrap{gap:1.2mm!important;margin:0 0 2.2mm!important}
  .bank-docflag{padding:.8mm 1.3mm!important;border-radius:999px!important;font-size:4.7pt!important;background:#f0f2f6!important;border:.35pt solid #c9ced9!important;color:#30384a!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .bank-docflag.strong{background:#24304b!important;color:#fff!important;border-color:#24304b!important}
  .bank-control{grid-template-columns:1.2fr 1fr 1fr!important;gap:1.6mm!important;margin:0 0 2.6mm!important}
  .bank-control-cell{border:.35pt solid #c4cad6!important;border-radius:6pt!important;padding:1.35mm 1.6mm!important;background:#fff!important}
  .bank-control-cell .k{font-size:4.25pt!important;margin-bottom:.35mm!important;color:#666!important}.bank-control-cell .v{font-size:5.6pt!important;color:#111!important}
  .bank-signoff{grid-template-columns:1fr 1fr!important;gap:8mm!important;margin-top:5mm!important}
  .bank-signbox{border-top:.5pt solid #767e8f!important;padding-top:1.4mm!important;min-height:10mm!important}.bank-signbox .role{font-size:4.4pt!important;margin-bottom:.7mm!important}.bank-signbox strong{font-size:6.2pt!important}.bank-signbox small{font-size:4.7pt!important}
  .bank-cover-brand{gap:2.2mm!important;margin-bottom:3.4mm!important}.bank-cover-brand img{width:8mm!important;height:8mm!important}.bank-cover-brand-copy strong{font-size:8.4pt!important}.bank-cover-brand-copy span{font-size:4.6pt!important}
  .bank-cover-legal{margin-top:1.9mm!important;font-size:4.55pt!important;line-height:1.35!important;color:#555!important}
}

<style id="v86-stability">
.bank-pack.bank-draft::before{content:"ENTWURF · NICHT FREIGEGEBEN";position:fixed;inset:42% auto auto 18%;z-index:9999;transform:rotate(-24deg);font:700 42pt/1 var(--disp);letter-spacing:.08em;color:rgba(172,37,37,.12);pointer-events:none;white-space:nowrap}
.cloud-readonly-note{position:sticky;top:0;z-index:20}
body.cloud-readonly main.sheet [aria-disabled="true"]{opacity:.58;cursor:not-allowed!important}


/* V87: MFA, Auth-Status und produktionsnahe Sicherheitsoberflaeche. */
.mfa-gate .cloud-gate-card{max-width:520px}.mfa-code{font-family:var(--mono);font-size:22px;letter-spacing:.3em;text-align:center}
.mfa-status-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--soft)}
.mfa-status-copy{display:flex;flex-direction:column;gap:3px}.mfa-status-copy strong{font-size:14px}.mfa-status-copy small{color:var(--muted)}
.mfa-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:var(--soft);border:1px solid var(--line)}
.mfa-badge.on{color:#27723b;border-color:#76b988;background:rgba(79,157,79,.08)}.mfa-badge.off{color:var(--muted)}
.mfa-enroll{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:start;border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--soft)}
.mfa-qr{width:180px;height:180px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px}.mfa-qr img{width:100%;height:100%;object-fit:contain}
.mfa-secret{font-family:var(--mono);font-size:11px;word-break:break-all;border:1px dashed var(--line);padding:8px;border-radius:8px;background:var(--sheet);margin:8px 0}
.password-rules{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin:8px 0 0;font-size:10.5px;color:var(--muted)}.password-rules span.ok{color:#27723b}.password-rules span.bad{color:var(--bad)}
.access-auth-state{display:flex;flex-direction:column;gap:3px}.access-auth-state small{color:var(--muted);font-size:10px}.access-auth-state .mfa-mini{font-size:9px;color:var(--acc)}
.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.security-item{border:1px solid var(--line);border-radius:12px;padding:12px}.security-item span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.security-item strong{display:block;margin-top:5px;font-size:13px}.security-item.ok strong{color:#27723b}.security-item.warn strong{color:#a06d0b}
@media(max-width:700px){.mfa-enroll{grid-template-columns:1fr}.mfa-qr{width:160px;height:160px}.password-rules,.security-grid{grid-template-columns:1fr}}


/* V88: vereinheitlichte Administration und bewusste Desktop-Optimierung. */
@media(min-width:941px){
  .ps-content{padding-left:42px!important;padding-right:42px!important}
  .ps-content .sheet{width:100%!important;max-width:1760px!important;margin-inline:auto}
  .ps-content .side.wide{width:100%;min-width:0;overflow:hidden}
  .ps-content .side.wide>.scroll,.ps-content .cm-group-scroll,.ps-content .year-compare-wrap{overflow:auto;scrollbar-gutter:stable}
  .ps-content table.stmt{width:100%}
  .ps-content table.stmt td.val,.ps-content table.stmt th.val{min-width:128px}
  .ps-content table.stmt td.lbl{min-width:300px}
  .ps-content .scroll table thead th,.ps-content .scroll table tr.k-head td{position:sticky;top:0;z-index:3;background:var(--sheet)}
  .ps-content .bilanz{gap:24px!important}
  .access-page{max-width:1760px;margin-inline:auto}
}
@media(min-width:1280px) and (max-width:1499px){.ps-content{padding-left:30px!important;padding-right:30px!important}.ps-content table.stmt td.lbl{min-width:260px}.ps-content table.stmt td.val{min-width:116px}}
@media(min-width:1500px){.ps-content table.stmt td.lbl{min-width:340px}.ps-content table.stmt td.val{min-width:142px}}
.admin-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.admin-status-card{border:1px solid var(--line);border-radius:16px;padding:15px;background:var(--card)}.admin-status-card h3{margin:0 0 6px}.admin-status-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.admin-status-card .status-line{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12px}.admin-status-card .status-dot{width:9px;height:9px;border-radius:50%;background:var(--good)}.admin-status-card.warn .status-dot{background:var(--warn)}.admin-status-card.bad .status-dot{background:var(--bad)}.access-user-last{display:block;margin-top:4px;font-size:10px;color:var(--muted)}.conflict-panel{border:1px solid var(--bad);border-radius:16px;padding:16px;background:color-mix(in srgb,var(--bad) 5%,var(--card));margin-bottom:16px}.conflict-panel h3{margin:0 0 5px}.conflict-panel p{font-size:12px;color:var(--muted)}


.env-badge{display:inline-flex;align-items:center;margin-left:9px;padding:3px 7px;border-radius:999px;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);color:var(--muted);vertical-align:middle}.env-badge.staging{border-color:var(--warn);color:var(--warn);background:color-mix(in srgb,var(--warn) 7%,transparent)}.env-badge.production{border-color:var(--good);color:var(--good);background:color-mix(in srgb,var(--good) 6%,transparent)}
.staging-ribbon{position:fixed;right:14px;bottom:84px;z-index:600;padding:7px 10px;border-radius:999px;background:var(--warn);color:#fff;font:700 10px/1 var(--mono);letter-spacing:.08em;box-shadow:var(--shadow);pointer-events:none}.data-env-warning{position:fixed;left:50%;top:8px;transform:translateX(-50%);z-index:2500;padding:7px 12px;border-radius:999px;background:#b42318;color:#fff;font:800 10px/1 var(--mono);letter-spacing:.08em;box-shadow:0 8px 28px rgba(180,35,24,.28);pointer-events:none}


/* V90: OPOS-Faelligkeitsanalyse und Kreditoren-Drilldown. */
.creditor-aging-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;margin:0 0 18px}
.creditor-aging-card{border:1px solid var(--line);border-radius:20px;background:var(--card);padding:18px 20px;min-width:0}
.creditor-aging-card h3{margin:0 0 5px;font-size:18px}.creditor-aging-card>p{margin:0 0 16px;color:var(--muted);line-height:1.45}
.creditor-aging-list{display:grid;gap:11px}.creditor-aging-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,2fr) auto;gap:12px;align-items:center}
.creditor-aging-label{font-size:12px;font-weight:600}.creditor-aging-track{height:10px;border-radius:999px;background:var(--soft);overflow:hidden;border:1px solid var(--line)}
.creditor-aging-fill{height:100%;min-width:0;background:var(--acc);border-radius:999px}.creditor-aging-fill.warn{background:var(--warn)}.creditor-aging-fill.bad{background:var(--red)}
.creditor-aging-value{font-family:var(--mono);text-align:right;white-space:nowrap;font-size:11px}
.creditor-aging-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.creditor-aging-metric{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--soft)}
.creditor-aging-metric span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.creditor-aging-metric strong{font-size:18px;line-height:1.15}
.creditor-row.is-clickable{cursor:pointer}.creditor-row.is-clickable:hover{background:color-mix(in srgb,var(--acc) 4%,transparent)}
.creditor-overdue,.creditor-over90,.creditor-dpo-cell,.creditor-purchase{font-family:var(--mono);text-align:right;white-space:nowrap}.creditor-overdue.bad,.creditor-over90.bad{color:var(--red);font-weight:650}
.creditor-detail-btn{border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);padding:7px 9px;cursor:pointer;font:inherit}.creditor-detail-btn:hover{border-color:var(--acc);color:var(--acc)}
.creditor-detail-overlay{position:fixed;inset:0;z-index:1710;background:rgba(8,13,28,.55);display:flex;align-items:center;justify-content:center;padding:22px;backdrop-filter:blur(4px)}
.creditor-detail-modal{width:min(1180px,96vw);max-height:90vh;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.28);overflow:hidden}
.creditor-detail-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:20px 24px;border-bottom:1px solid var(--line)}.creditor-detail-head h2{margin:2px 0 4px}.creditor-detail-head p{margin:0;color:var(--muted)}
.creditor-detail-close{border:0;background:transparent;color:var(--muted);font-size:28px;line-height:1;cursor:pointer;padding:4px 8px}
.creditor-detail-body{padding:20px 24px 24px;overflow:auto}.creditor-detail-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}
.creditor-detail-kpi{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--soft)}.creditor-detail-kpi span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.creditor-detail-kpi strong{display:block;margin-top:5px;font-size:15px;overflow-wrap:anywhere}
.creditor-opos-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}.creditor-opos{width:100%;border-collapse:collapse;min-width:850px}.creditor-opos th,.creditor-opos td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}.creditor-opos th{position:sticky;top:0;background:var(--soft);z-index:1;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.creditor-opos td.val{text-align:right;font-family:var(--mono);white-space:nowrap}.creditor-opos tr:last-child td{border-bottom:0}.creditor-opos .late{color:var(--red);font-weight:650}.creditor-opos .future{color:var(--muted)}
.creditor-list.v90 .creditor-list-head,.creditor-list.v90 .creditor-row{grid-template-columns:minmax(180px,1.5fr) minmax(140px,.95fr) 70px 115px 105px 120px 75px 82px;gap:10px}
@media(max-width:1180px){.creditor-aging-grid{grid-template-columns:1fr}.creditor-detail-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.creditor-list.v90 .creditor-list-head,.creditor-list.v90 .creditor-row{grid-template-columns:minmax(170px,1.4fr) minmax(135px,.9fr) 62px 105px 92px 110px 68px 76px}}
@media(max-width:900px){.creditor-detail-overlay{padding:0;align-items:flex-end}.creditor-detail-modal{width:100%;max-width:none;max-height:94vh;border-radius:22px 22px 0 0}.creditor-detail-head,.creditor-detail-body{padding-left:16px;padding-right:16px}.creditor-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.creditor-aging-row{grid-template-columns:110px 1fr auto}.creditor-list.v90 .creditor-list-head{display:none}.creditor-list.v90 .creditor-row{grid-template-columns:minmax(0,1fr) minmax(120px,.8fr)}.creditor-list.v90 .creditor-overdue{grid-column:1}.creditor-list.v90 .creditor-over90{grid-column:2}.creditor-list.v90 .creditor-purchase{grid-column:1}.creditor-list.v90 .creditor-dpo-cell{grid-column:2}.creditor-list.v90 .creditor-detail-btn{grid-column:1/-1;justify-self:stretch}}
@media(max-width:560px){.creditor-aging-summary{grid-template-columns:1fr}.creditor-aging-row{grid-template-columns:1fr auto}.creditor-aging-track{grid-column:1/-1}.creditor-detail-kpis{grid-template-columns:1fr 1fr}}


/* V91: Konsolidierungs-Reifegrad und Konzernplan-Vorschau. */
.cons-readiness{border:1px solid var(--line);border-radius:22px;background:var(--card);overflow:hidden;margin:0 0 18px}
.cons-readiness-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid var(--line)}.cons-readiness-head h2{margin:2px 0 5px}.cons-readiness-head p{margin:0;color:var(--muted);line-height:1.45}
.cons-readiness-score{min-width:118px;text-align:right}.cons-readiness-score strong{display:block;font-size:30px;line-height:1}.cons-readiness-score span{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.cons-readiness-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.cons-readiness-col{padding:18px 22px}.cons-readiness-col+.cons-readiness-col{border-left:1px solid var(--line)}.cons-readiness-col h3{margin:0 0 4px}.cons-readiness-col>p{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.4}
.cons-checks{display:grid;gap:8px}.cons-check{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;border:1px solid var(--line);border-radius:13px;padding:10px 12px;background:var(--soft)}.cons-check .mark{width:20px;height:20px;border-radius:999px;display:grid;place-items:center;font-size:11px;font-weight:800;background:var(--line);color:var(--muted)}.cons-check.pass .mark{background:rgba(79,157,79,.14);color:#28743c}.cons-check.warn .mark{background:rgba(216,163,58,.15);color:#9a6d0f}.cons-check.fail .mark{background:rgba(176,74,52,.13);color:var(--red)}.cons-check strong{display:block;font-size:12px}.cons-check small{display:block;margin-top:3px;color:var(--muted);line-height:1.35}
.group-plan-preview{border:1px solid var(--line);border-radius:22px;background:var(--card);overflow:hidden}.group-plan-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid var(--line)}.group-plan-head h1{margin:2px 0 5px}.group-plan-head p{margin:0;color:var(--muted);line-height:1.45;max-width:820px}.group-plan-body{padding:18px 22px 22px}.group-plan-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.group-plan-kpi{border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:var(--soft)}.group-plan-kpi span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.group-plan-kpi strong{display:block;margin-top:7px;font-size:20px}.group-plan-table{width:100%;border-collapse:collapse}.group-plan-table th,.group-plan-table td{padding:11px 10px;border-bottom:1px solid var(--line);font-size:12px}.group-plan-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.group-plan-table td.val,.group-plan-table th.val{text-align:right;font-family:var(--mono)}.group-plan-table tr.group-total td{font-weight:750;border-top:1px solid var(--ink);background:var(--soft)}.group-plan-missing{color:var(--red)}.group-plan-open{border:1px solid var(--line);border-radius:9px;background:var(--card);padding:6px 9px;color:var(--ink);cursor:pointer}.group-plan-note{margin-top:15px;border-left:4px solid var(--warn);border-radius:12px;background:color-mix(in srgb,var(--warn) 7%,var(--sheet));padding:12px 14px;line-height:1.45;color:var(--ink2)}
@media(max-width:900px){.cons-readiness-grid{grid-template-columns:1fr}.cons-readiness-col+.cons-readiness-col{border-left:0;border-top:1px solid var(--line)}.group-plan-kpis{grid-template-columns:1fr 1fr}.group-plan-head{display:block}.group-plan-head .tools{margin-top:12px}.group-plan-body{overflow:auto}.group-plan-table{min-width:760px}}
@media(max-width:560px){.cons-readiness-head{display:block}.cons-readiness-score{text-align:left;margin-top:12px}.group-plan-kpis{grid-template-columns:1fr}}


.cons-doc{border:1px solid var(--line);border-radius:22px;background:var(--card);overflow:hidden;margin:0 0 18px}
.cons-doc-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid var(--line)}
.cons-doc-head h2{margin:2px 0 5px}.cons-doc-head p{margin:0;color:var(--muted);line-height:1.45;max-width:860px}
.cons-doc-body{padding:18px 22px 22px}.cons-doc-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:18px}
.cons-doc-card{border:1px solid var(--line);border-radius:16px;padding:15px;background:var(--soft);min-width:0}.cons-doc-card h3{margin:0 0 5px}.cons-doc-card>p{margin:0 0 12px;color:var(--muted);font-size:12px;line-height:1.4}
.cons-form{display:grid;gap:11px}.cons-form label{display:grid;gap:5px}.cons-form label>span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.cons-form input,.cons-form select,.cons-form textarea{width:100%}.cons-form textarea{min-height:88px;resize:vertical}
.cons-entity-wrap{overflow:auto}.cons-entity-table{width:100%;border-collapse:collapse;min-width:900px}.cons-entity-table th,.cons-entity-table td{padding:9px 7px;border-bottom:1px solid var(--line);vertical-align:middle}.cons-entity-table th{text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.cons-entity-table td.num,.cons-entity-table th.num{text-align:right}.cons-entity-table input[type="number"]{width:112px;text-align:right}.cons-entity-table input[type="date"]{width:142px}.cons-entity-table input[type="checkbox"]{width:auto}
.cons-checklist{display:grid;gap:8px}.cons-check-edit{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;border:1px solid var(--line);border-radius:13px;padding:11px 12px;background:var(--card)}.cons-check-edit input{margin-top:3px}.cons-check-edit strong{display:block}.cons-check-edit small{display:block;margin-top:3px;color:var(--muted);line-height:1.35}
.cons-prelim{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.cons-prelim div{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--card)}.cons-prelim span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.cons-prelim strong{display:block;margin-top:5px;font-family:var(--mono)}
.cons-doc-warning{margin-top:14px;border-left:4px solid var(--warn);border-radius:12px;background:color-mix(in srgb,var(--warn) 7%,var(--sheet));padding:12px 14px;line-height:1.45;color:var(--ink2)}
@media(max-width:1050px){.cons-doc-grid{grid-template-columns:1fr}}
@media(max-width:700px){.cons-doc-head{display:block}.cons-doc-body{padding:14px}.cons-prelim{grid-template-columns:1fr}}


/* V97: integrierte Hilfe & Wissen, vollstaendig DE/EN, kontextbezogen und responsive. */
.help-page{display:grid;gap:18px;max-width:1380px;margin:0 auto;width:100%}
.help-hero{border:1px solid var(--line);border-radius:24px;padding:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--acc) 7%,var(--sheet)),var(--card));display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:24px;align-items:center}
.help-hero h1{margin:3px 0 8px;font-family:var(--disp);font-size:32px;line-height:1.05}.help-hero p{margin:0;color:var(--muted);line-height:1.55;max-width:850px}.help-hero-badge{display:inline-flex;align-items:center;gap:7px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:750;color:var(--acc)}
.help-searchbox{border:1px solid var(--line);border-radius:18px;padding:14px;background:var(--card);box-shadow:0 12px 28px rgba(17,23,53,.06)}.help-searchbox label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:7px}.help-search-row{display:flex;gap:8px}.help-search-row input{min-width:0;flex:1;height:42px}.help-search-row button{white-space:nowrap}
.help-cats{display:flex;gap:8px;flex-wrap:wrap}.help-cat{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 12px;font-size:11px;cursor:pointer;color:var(--ink2)}.help-cat.on{background:var(--ink);color:var(--sheet);border-color:var(--ink)}
.help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.help-card{border:1px solid var(--line);border-radius:18px;background:var(--card);padding:17px;min-width:0;display:flex;flex-direction:column;gap:10px}.help-card .help-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.help-card .help-icon{width:34px;height:34px;border-radius:11px;background:color-mix(in srgb,var(--acc) 10%,var(--sheet));color:var(--acc);display:grid;place-items:center;flex:0 0 auto}.help-card h2{font-size:16px;margin:0}.help-card p{font-size:12px;color:var(--muted);line-height:1.5;margin:0}.help-card .help-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.help-tag{font-size:9px;text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--line);border-radius:999px;padding:4px 7px;color:var(--muted)}
.help-card details{border-top:1px solid var(--line);padding-top:10px}.help-card summary{cursor:pointer;font-weight:700;font-size:11px}.help-card details ul{padding-left:18px;margin:9px 0 0}.help-card details li{margin:6px 0;font-size:11.5px;line-height:1.4;color:var(--ink2)}
.help-section{border:1px solid var(--line);border-radius:20px;background:var(--card);overflow:hidden}.help-section-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.help-section-head h2{margin:0 0 4px}.help-section-head p{margin:0;color:var(--muted);font-size:12px}.help-section-body{padding:18px 20px}.help-glossary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.help-term{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--soft)}.help-term strong{display:block;font-size:12px}.help-term span{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.4}
.help-context{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid color-mix(in srgb,var(--acc) 24%,var(--line));border-radius:14px;padding:10px 12px;margin:0 0 12px;background:color-mix(in srgb,var(--acc) 4%,var(--sheet))}.help-context-copy{display:flex;align-items:center;gap:9px;min-width:0}.help-context-copy .help-dot{width:24px;height:24px;border-radius:999px;background:color-mix(in srgb,var(--acc) 12%,var(--sheet));color:var(--acc);font-weight:800;display:grid;place-items:center;flex:0 0 auto}.help-context-copy span{font-size:11.5px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.help-context button{white-space:nowrap}
.help-overlay{position:fixed;inset:0;background:rgba(9,13,28,.48);z-index:220;display:grid;place-items:center;padding:22px}.help-modal{width:min(900px,96vw);max-height:88vh;overflow:auto;background:var(--sheet);border:1px solid var(--line);border-radius:22px;box-shadow:0 28px 70px rgba(6,10,26,.28)}.help-modal-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--sheet) 95%,transparent);backdrop-filter:blur(10px)}.help-modal-head h2{margin:0}.help-modal-head button{width:36px;height:36px;border-radius:10px}.help-modal-body{padding:18px}.help-modal-body h3{font-size:14px;margin:20px 0 7px}.help-modal-body h3:first-child{margin-top:0}.help-modal-body p{font-size:12px;line-height:1.55;color:var(--ink2)}.help-modal-body ul{margin:8px 0 0;padding-left:20px}.help-modal-body li{margin:6px 0;font-size:12px;line-height:1.45}.help-example{border-left:4px solid var(--acc);background:color-mix(in srgb,var(--acc) 5%,var(--sheet));border-radius:12px;padding:12px 14px;margin:12px 0;font-size:12px;line-height:1.5;color:var(--ink2)}
.plan-help-intro{border:1px solid color-mix(in srgb,var(--acc) 20%,var(--line));border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--acc) 5%,var(--sheet)),var(--card));padding:15px 16px;margin:0 0 16px}.plan-help-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.plan-help-top h3{margin:0 0 4px;font-size:15px}.plan-help-top p{margin:0;color:var(--muted);font-size:11.5px;line-height:1.45}.plan-help-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.plan-help-step{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:9px 10px;min-width:0}.plan-help-step b{display:block;font-size:10px}.plan-help-step span{display:block;margin-top:3px;font-size:9.5px;color:var(--muted);line-height:1.35}.plan-help-arrow{display:none}
.help-empty{border:1px dashed var(--line);border-radius:18px;padding:26px;text-align:center;color:var(--muted)}
.ps-side-bottom .ps-help-item{margin-top:4px}
@media(max-width:1100px){.help-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.help-glossary{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-help-flow{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.help-hero{grid-template-columns:1fr;padding:18px}.help-hero h1{font-size:26px}.help-grid,.help-glossary{grid-template-columns:1fr}.help-section-head{display:block}.help-search-row{flex-direction:column}.plan-help-top{display:block}.plan-help-top .tools{margin-top:10px}.plan-help-flow{grid-template-columns:1fr 1fr}.help-context-copy span{white-space:normal}.help-context{align-items:flex-start}.help-modal{width:100%;max-height:92vh}.help-overlay{padding:10px}}
@media(max-width:480px){.plan-help-flow{grid-template-columns:1fr}.help-context{display:block}.help-context button{margin-top:8px;width:100%}}


/* V100: Desktop und Mobile strikt getrennt. Werte bleiben auf kleinen Displays sichtbar. */
@media(max-width:820px){
  /* Stichtags-Bilanz/GuV: immer Position UND Wert in einer Bildschirmbreite. */
  .mobile-statement{overflow:hidden!important;max-width:100%!important}
  .mobile-statement table.stmt{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important}
  .mobile-statement table.stmt td.num,.mobile-statement table.stmt th.num{width:28px!important;min-width:28px!important;max-width:28px!important;padding-left:0!important;padding-right:4px!important}
  .mobile-statement table.stmt td.lbl,.mobile-statement table.stmt th.lbl{width:auto!important;min-width:0!important;max-width:none!important;padding-left:4px!important;padding-right:6px!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .mobile-statement table.stmt td.val,.mobile-statement table.stmt th.val{width:108px!important;min-width:108px!important;max-width:108px!important;padding-left:4px!important;padding-right:0!important;text-align:right!important;overflow:visible!important}
  .mobile-statement table.stmt td.val .n{display:block!important;max-width:100%!important;font-size:10.8px!important;letter-spacing:-.025em!important;white-space:nowrap!important}
  .mobile-statement table.stmt .stmtpct{font-size:8.3px!important;white-space:nowrap!important}

  /* Monatsverlauf: links bleibt die Position, rechts bleibt der relevante Wert sichtbar. */
  .mobile-trend-statement{overflow:hidden!important}
  .mobile-trend-statement>.scroll{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;position:relative!important}
  .mobile-trend-statement table.mx td.num,.mobile-trend-statement table.mx th.num{left:0!important;width:28px!important;min-width:28px!important;max-width:28px!important;z-index:5!important}
  .mobile-trend-statement table.mx td.lbl,.mobile-trend-statement table.mx th.lbl{left:28px!important;width:174px!important;min-width:174px!important;max-width:174px!important;z-index:5!important;overflow:hidden!important}
  .mobile-trend-statement table.mx td.lbl{white-space:normal!important;overflow-wrap:anywhere!important}
  .mobile-trend-statement table.mx td.val,.mobile-trend-statement table.mx th.val{min-width:104px!important}
  .mobile-trend-statement table.mx .mobile-current,
  .mobile-trend-statement table.mx .tsum{position:sticky!important;right:0!important;z-index:6!important;width:108px!important;min-width:108px!important;max-width:108px!important;background:var(--sheet)!important;border-left:1px solid var(--rule)!important;box-shadow:-4px 0 8px rgba(20,24,35,.04)}
  .mobile-trend-statement table.mx th.mobile-current,
  .mobile-trend-statement table.mx th.tsum{z-index:8!important}

  /* Jahresvergleich: aktuelles/rechtestes Jahr bleibt sichtbar. */
  .year-compare-table .mobile-current{position:sticky!important;right:0!important;z-index:6!important;min-width:108px!important;background:var(--sheet)!important;border-left:1px solid var(--rule)!important;box-shadow:-4px 0 8px rgba(20,24,35,.04)}
  .year-compare-table th.mobile-current{z-index:8!important}

  /* Konzernansichten: Konzernspalte bleibt rechts sichtbar, Gesellschaften sind horizontal scrollbar. */
  .scroll table.multi .ctot{position:sticky!important;right:0!important;z-index:6!important;min-width:112px!important;background:var(--paper)!important;border-left:1px solid var(--ink)!important;box-shadow:-4px 0 8px rgba(20,24,35,.05)}
  .scroll table.multi th.ctot{z-index:8!important}

  /* Konten-Drilldown/Overlay: Wertespalte darf nie hinter der Bezeichnung verschwinden. */
  .drill-overlay .drill-scroll table.stmt td.lbl{min-width:0!important;max-width:none!important}
  .drill-overlay .drill-scroll table.stmt td.val{display:table-cell!important;width:112px!important;min-width:112px!important;max-width:112px!important;text-align:right!important}
  .drill-overlay .drill-scroll table.stmt td.val .n{display:block!important;white-space:nowrap!important;font-size:10.8px!important}
}
@media(max-width:380px){
  .mobile-statement table.stmt td.num,.mobile-statement table.stmt th.num{width:24px!important;min-width:24px!important;max-width:24px!important}
  .mobile-statement table.stmt td.val,.mobile-statement table.stmt th.val{width:98px!important;min-width:98px!important;max-width:98px!important}
  .mobile-trend-statement table.mx td.num,.mobile-trend-statement table.mx th.num{width:24px!important;min-width:24px!important;max-width:24px!important}
  .mobile-trend-statement table.mx td.lbl,.mobile-trend-statement table.mx th.lbl{left:24px!important;width:154px!important;min-width:154px!important;max-width:154px!important}
  .mobile-trend-statement table.mx .mobile-current,.mobile-trend-statement table.mx .tsum{width:100px!important;min-width:100px!important;max-width:100px!important}
}

/* V101: Wiederkehrende Zahlungen / operativer Zahlungskalender. Alle Regeln sind
   bewusst auf den neuen Bereich begrenzt; keine globalen Tabellenregeln. */
.payments-page{display:grid;gap:16px}
.payments-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.payments-head .tools{margin-top:0}
.payments-scope{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.payments-scope .sel{min-width:170px}
.payments-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.payment-kpi{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:14px;min-width:0}
.payment-kpi .pk-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.payment-kpi .pk-value{font-size:21px;font-weight:720;margin-top:5px;line-height:1.15}
.payment-kpi .pk-hint{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.35}
.payment-months{display:grid;grid-template-columns:repeat(12,minmax(76px,1fr));gap:7px;overflow-x:auto;padding-bottom:3px}
.payment-month{min-width:76px;border:1px solid var(--line);border-radius:11px;padding:10px;background:var(--card)}
.payment-month strong,.payment-month span{display:block}.payment-month span{font-size:10px;color:var(--muted);text-transform:uppercase}.payment-month strong{margin-top:4px;font-size:13px;white-space:nowrap}
.payment-list{display:grid;gap:9px}
.payment-row{display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(125px,.8fr) minmax(120px,.75fr) minmax(125px,.8fr) auto;gap:12px;align-items:center;border:1px solid var(--line);background:var(--card);border-radius:13px;padding:12px}
.payment-row.inactive{opacity:.62}.payment-main{min-width:0}.payment-title{font-weight:690;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-meta{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.4}.payment-amount{font-family:var(--mono);font-weight:680;text-align:right;white-space:nowrap}.payment-next{font-size:12px;line-height:1.35}.payment-next small{display:block;color:var(--muted)}
.payment-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.payment-badge{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:3px 7px;font-size:10px;color:var(--muted)}.payment-badge.plan{border-color:var(--accent);color:var(--text)}
.payment-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.payment-empty{border:1px dashed var(--line);border-radius:13px;padding:18px;color:var(--muted);line-height:1.5}
.payment-plan-note{border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:12px;font-size:12px;line-height:1.5;color:var(--muted)}
.payment-overlay-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0}.payment-overlay-kpi{border:1px solid var(--line);border-radius:11px;padding:11px;background:var(--card)}.payment-overlay-kpi span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase}.payment-overlay-kpi strong{display:block;margin-top:4px;font-size:16px}
.payment-overlay-months{display:grid;grid-template-columns:repeat(12,minmax(88px,1fr));gap:6px;overflow-x:auto}.payment-overlay-month{min-width:88px;border:1px solid var(--line);border-radius:10px;padding:9px;background:var(--card)}.payment-overlay-month .m{font-size:10px;color:var(--muted);text-transform:uppercase}.payment-overlay-month .base,.payment-overlay-month .adj,.payment-overlay-month .out{display:block;font-size:11px;margin-top:3px;white-space:nowrap}.payment-overlay-month .out{color:var(--muted)}.payment-overlay-month .adj{font-weight:700}
.payment-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.payment-form-grid .wide{grid-column:1/-1}.payment-check{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);border-radius:11px;padding:11px;background:var(--soft)}.payment-check input{margin-top:2px}.payment-check span{font-size:12px;line-height:1.45}.payment-check small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:900px){
  .payments-kpis{grid-template-columns:1fr 1fr}.payment-kpi{padding:12px}.payment-kpi .pk-value{font-size:18px}
  .payments-scope{display:grid;grid-template-columns:1fr 1fr;width:100%}.payments-scope .sel{min-width:0}
  .payment-row{grid-template-columns:1fr auto;gap:8px 10px}.payment-main{grid-column:1}.payment-amount{grid-column:2;grid-row:1}.payment-next{grid-column:1/-1}.payment-badges{grid-column:1}.payment-actions{grid-column:2;grid-row:3;align-self:end}.payment-row .payment-category{display:none}
  .payment-overlay-grid{grid-template-columns:1fr 1fr}.payment-form-grid{grid-template-columns:1fr}.payment-form-grid .wide{grid-column:auto}
}
@media(max-width:520px){.payments-kpis{grid-template-columns:1fr}.payments-scope{grid-template-columns:1fr}.payment-row{grid-template-columns:1fr}.payment-main,.payment-amount,.payment-next,.payment-badges,.payment-actions{grid-column:1;grid-row:auto}.payment-amount{text-align:left}.payment-actions{justify-content:flex-start}.payment-overlay-grid{grid-template-columns:1fr}}


/* V105: Payment-Cockpit mit Sortierung nach Fälligkeit, Monats-Drilldown,
   Suche und Filtern. Weiterhin ausschließlich payment-* Klassen. */
.payment-toolbar{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(5,minmax(0,1fr));gap:10px;align-items:end}
.payment-toolbar .sel{min-width:0;display:flex;flex-direction:column;gap:6px}
.payment-search{display:flex;flex-direction:column;gap:6px;min-width:0}
.payment-search>span,.payment-toolbar .sel>span{font-family:var(--disp);font-size:10px;font-weight:650;letter-spacing:.075em;text-transform:uppercase;color:var(--muted)}
.payment-search input{width:100%;min-width:0;min-height:42px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font:500 13px/1.35 var(--sans);padding:10px 12px}
.payment-search input:focus{outline:0;border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 12%,transparent)}
.payment-toolbar-actions{display:flex;justify-content:flex-end;align-items:flex-end}
.payment-months-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.payment-months-note{font-size:12px;color:var(--muted);line-height:1.45;max-width:700px}
.payment-month{appearance:none;-webkit-appearance:none;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease;position:relative}
.payment-month:hover{border-color:color-mix(in srgb,var(--acc) 40%,var(--line));transform:translateY(-1px)}
.payment-month.active{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 7%,var(--card));box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 10%,transparent)}
.payment-month em{display:block;margin-top:5px;font-style:normal;font-size:10px;color:var(--muted)}
.payment-list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.payment-list-summary strong{display:block;font-size:13px;color:var(--ink);margin-bottom:3px}
.payment-list-summary div{font-size:12px;color:var(--muted);line-height:1.45}
.payment-list-actions{display:flex;gap:8px;flex-wrap:wrap}
.payment-list{gap:12px}
.payment-row{grid-template-columns:minmax(240px,1.55fr) minmax(150px,.9fr) minmax(120px,.72fr) minmax(150px,.85fr) auto;padding:14px 15px;border-radius:16px;align-items:flex-start}
.payment-main{display:grid;gap:8px}
.payment-title{white-space:normal;line-height:1.3}
.payment-category{font-size:12px;line-height:1.4;color:var(--text)}
.payment-amount{font-size:18px;line-height:1.2;padding-top:2px}
.payment-next{padding-top:2px}
.payment-next strong{display:block;font-size:14px;line-height:1.3}
.payment-next small{margin-top:2px}
.payment-due-list{display:flex;gap:6px;flex-wrap:wrap}
.payment-due-pill{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:4px 8px;font-size:10px;color:var(--text);white-space:nowrap}
.payment-due-pill.next{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 7%,var(--soft));font-weight:700}
.payment-due-more{font-size:10px;color:var(--muted);align-self:center}
.payment-row.inactive .payment-due-pill{opacity:.72}
.payment-empty strong{display:block;margin-bottom:6px}
@media(max-width:1200px){.payment-toolbar{grid-template-columns:minmax(220px,1.3fr) repeat(3,minmax(0,1fr));}.payment-toolbar .sel[data-payment-filter='source'],.payment-toolbar .sel[data-payment-filter='plan']{grid-column:auto}.payment-toolbar-actions{grid-column:1/-1;justify-content:flex-start}.payment-row{grid-template-columns:minmax(220px,1.4fr) minmax(130px,.8fr) minmax(140px,.9fr) auto}}
@media(max-width:900px){.payment-toolbar{grid-template-columns:1fr 1fr}.payment-search{grid-column:1/-1}.payment-months{grid-template-columns:repeat(6,minmax(88px,1fr))}.payment-list-head{margin-bottom:10px}.payment-row{grid-template-columns:1fr auto;gap:10px}.payment-main{grid-column:1/-1}.payment-category{grid-column:1;grid-row:2}.payment-amount{grid-column:2;grid-row:2;align-self:start}.payment-next{grid-column:1;grid-row:3}.payment-actions{grid-column:1/-1;grid-row:auto;justify-content:flex-start}}
@media(max-width:640px){.payment-toolbar{grid-template-columns:1fr}.payment-months{grid-template-columns:repeat(3,minmax(82px,1fr))}.payment-month{min-width:0}.payment-list-actions{width:100%}.payment-list-actions .ghost{flex:1 1 auto}.payment-row{grid-template-columns:1fr}.payment-category,.payment-amount,.payment-next,.payment-actions{grid-column:1;grid-row:auto}.payment-amount{text-align:left}.payment-actions .ghost{flex:1 1 auto}}


/* V106: Zahlungsliste neu gerastert. Desktop und Mobile bewusst getrennt. */
.payment-row{
  display:grid;
  grid-template-columns:minmax(320px,1.8fr) minmax(110px,.55fr) minmax(145px,.72fr) minmax(190px,.9fr) auto;
  gap:18px;
  align-items:center;
  padding:17px 18px;
}
.payment-main{display:grid;gap:7px;align-self:start}
.payment-title{font-size:14px;line-height:1.35;white-space:normal}
.payment-meta{margin-top:0;line-height:1.45}
.payment-badges{margin-top:1px}
.payment-category{display:none!important}
.payment-cell-label{display:block;margin-bottom:5px;font-family:var(--disp);font-size:9px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.payment-amount{padding-top:0;text-align:right;font-size:18px;line-height:1.2;align-self:start}
.payment-next{padding-top:0;align-self:start}
.payment-next strong{font-size:13px;line-height:1.3;white-space:nowrap}
.payment-due-col{min-width:0;align-self:start}
.payment-due-list{gap:5px;margin-top:0}
.payment-due-pill{padding:4px 7px;font-size:10px}
.payment-actions{align-self:center;justify-content:flex-end;flex-wrap:nowrap;gap:6px}
.payment-actions .ghost{white-space:nowrap}
@media(max-width:1180px){
  .payment-row{grid-template-columns:minmax(280px,1.6fr) minmax(105px,.55fr) minmax(140px,.72fr) auto;gap:14px}
  .payment-due-col{grid-column:1/4;grid-row:2;border-top:1px solid var(--line);padding-top:10px}
  .payment-actions{grid-column:4;grid-row:1/3;flex-direction:column;align-items:stretch}
}
@media(max-width:900px){
  .payment-row{grid-template-columns:minmax(0,1fr) minmax(110px,.45fr);gap:12px 14px;padding:15px}
  .payment-main{grid-column:1/-1;grid-row:1}
  .payment-amount{grid-column:1;grid-row:2;text-align:left}
  .payment-next{grid-column:2;grid-row:2}
  .payment-due-col{grid-column:1/-1;grid-row:3;border-top:1px solid var(--line);padding-top:10px}
  .payment-actions{grid-column:1/-1;grid-row:4;flex-direction:row;justify-content:flex-start;align-items:center;flex-wrap:wrap;padding-top:2px}
}
@media(max-width:520px){
  .payment-row{grid-template-columns:1fr 1fr;gap:12px;padding:14px}
  .payment-main{grid-column:1/-1}
  .payment-amount{grid-column:1;grid-row:2}
  .payment-next{grid-column:2;grid-row:2;min-width:0}
  .payment-next strong{white-space:normal}
  .payment-due-col{grid-column:1/-1;grid-row:3}
  .payment-actions{grid-column:1/-1;grid-row:4;display:grid;grid-template-columns:1fr 1fr;gap:7px;width:100%}
  .payment-actions .ghost{width:100%;min-width:0}
}



/* V108: Operative Fälligkeiten. Ausschließlich payment-occ-* Klassen. */
.payment-occ-section{display:grid;gap:12px}.payment-occ-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.payment-occ-list{display:grid;gap:9px}.payment-occ-row{display:grid;grid-template-columns:minmax(112px,.55fr) minmax(260px,1.55fr) minmax(120px,.65fr) minmax(150px,.8fr) minmax(140px,.75fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:13px 14px}.payment-occ-date strong,.payment-occ-main strong{display:block}.payment-occ-date small,.payment-occ-main small,.payment-occ-owner small{display:block;color:var(--muted);font-size:10.5px;margin-top:3px;line-height:1.4}.payment-occ-main strong{font-size:13px;line-height:1.35}.payment-occ-money{font-family:var(--mono);font-size:15px;font-weight:720;white-space:nowrap}.payment-occ-money small{display:block;font-family:var(--sans);font-size:9.5px;font-weight:500;color:var(--muted);margin-top:3px}.payment-occ-status{display:inline-flex;align-items:center;width:max-content;max-width:100%;border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:10px;font-weight:650}.payment-occ-status.paid{border-color:color-mix(in srgb,var(--good,#2f7d54) 45%,var(--line));color:var(--good,#2f7d54);background:color-mix(in srgb,var(--good,#2f7d54) 7%,var(--card))}.payment-occ-status.overdue{border-color:color-mix(in srgb,var(--bad,#b13b3b) 45%,var(--line));color:var(--bad,#b13b3b);background:color-mix(in srgb,var(--bad,#b13b3b) 7%,var(--card))}.payment-occ-status.due{border-color:color-mix(in srgb,var(--warn,#a66a00) 45%,var(--line));color:var(--warn,#a66a00);background:color-mix(in srgb,var(--warn,#a66a00) 7%,var(--card))}.payment-occ-status.cancelled{opacity:.68}.payment-occ-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.payment-occ-actions .ghost{white-space:nowrap}.payment-due-pill{cursor:pointer}.payment-due-pill:hover{border-color:var(--acc)}.payment-occ-form-pane{width:min(660px,96vw)}.payment-occ-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px}.payment-occ-summary>div{border:1px solid var(--line);border-radius:12px;background:var(--soft);padding:11px}.payment-occ-summary span{display:block;color:var(--muted);font-size:9.5px;text-transform:uppercase}.payment-occ-summary strong{display:block;margin-top:4px;font-size:15px}.payment-occ-docs{display:grid;gap:7px}.payment-occ-doc{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;padding:9px 10px}.payment-occ-doc span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.payment-occ-empty{border:1px dashed var(--line);border-radius:13px;padding:16px;color:var(--muted);font-size:12px}.payment-toolbar.v108{grid-template-columns:minmax(220px,1.35fr) repeat(5,minmax(0,1fr));}
@media(max-width:1180px){.payment-occ-row{grid-template-columns:minmax(110px,.55fr) minmax(230px,1.4fr) minmax(110px,.6fr) minmax(145px,.75fr) auto}.payment-occ-owner{display:none}.payment-toolbar.v108{grid-template-columns:minmax(220px,1.3fr) repeat(3,minmax(0,1fr))}.payment-toolbar.v108 .payment-toolbar-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:900px){.payment-occ-row{grid-template-columns:120px 1fr auto;gap:10px}.payment-occ-date{grid-column:1}.payment-occ-main{grid-column:2}.payment-occ-money{grid-column:3}.payment-occ-status-wrap{grid-column:1/3}.payment-occ-owner{display:block;grid-column:1/3}.payment-occ-actions{grid-column:3;grid-row:2/4;flex-direction:column}.payment-occ-summary{grid-template-columns:1fr 1fr 1fr}.payment-toolbar.v108{grid-template-columns:1fr 1fr}.payment-toolbar.v108 .payment-search{grid-column:1/-1}}
@media(max-width:560px){.payment-occ-row{grid-template-columns:1fr 1fr;padding:12px}.payment-occ-date,.payment-occ-main,.payment-occ-status-wrap,.payment-occ-owner,.payment-occ-actions{grid-column:1/-1;grid-row:auto}.payment-occ-money{grid-column:1/-1;grid-row:auto}.payment-occ-actions{display:grid;grid-template-columns:1fr 1fr}.payment-occ-actions .ghost{width:100%;min-width:0}.payment-occ-summary{grid-template-columns:1fr}.payment-toolbar.v108{grid-template-columns:1fr}.payment-occ-form-pane{width:min(96vw,660px)}}

/* V107: Treasury / FX. Ausschließlich treasury-* und fx-* Klassen. */
.treasury-page{display:grid;gap:16px;min-width:0}.treasury-page>.side{min-width:0}.treasury-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.treasury-actions{display:flex;gap:8px;flex-wrap:wrap}.treasury-scope{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-top:14px}.treasury-scope .sel{min-width:170px}.treasury-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.treasury-kpi{border:1px solid var(--line);border-radius:15px;background:var(--card);padding:14px;min-width:0}.treasury-kpi span{display:block;font-size:10px;text-transform:uppercase;color:var(--muted);letter-spacing:.05em}.treasury-kpi strong{display:block;margin-top:5px;font-size:21px;line-height:1.15}.treasury-kpi small{display:block;margin-top:5px;color:var(--muted);font-size:10.5px;line-height:1.4}.treasury-table-wrap{overflow-x:auto;min-width:0;max-width:100%;width:100%}.treasury-table{width:100%;border-collapse:collapse;min-width:780px}.treasury-table th{font-size:10px;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);font-weight:650;padding:9px 10px;text-align:left;border-bottom:1px solid var(--line)}.treasury-table td{padding:12px 10px;border-bottom:1px solid var(--line);font-size:12px;vertical-align:middle}.treasury-table td.num,.treasury-table th.num{text-align:right;font-family:var(--mono)}.treasury-table tr:last-child td{border-bottom:0}.treasury-ccy{font-size:15px;font-weight:750}.treasury-coverage{display:flex;align-items:center;gap:9px}.treasury-bar{height:7px;min-width:80px;flex:1;border-radius:99px;background:var(--soft);overflow:hidden}.treasury-bar i{display:block;height:100%;background:var(--acc);border-radius:99px}.treasury-bar.over i{background:var(--warn,#b57900)}.treasury-list{display:grid;gap:9px}.treasury-row{display:grid;grid-template-columns:minmax(210px,1.4fr) minmax(90px,.55fr) minmax(135px,.8fr) minmax(130px,.7fr) minmax(130px,.75fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.treasury-row-title{font-weight:700;line-height:1.3}.treasury-row-meta{margin-top:4px;font-size:10.5px;color:var(--muted);line-height:1.45}.treasury-tag{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px 7px;font-size:9.5px;margin:6px 4px 0 0;color:var(--muted)}.treasury-row .money{font-family:var(--mono);font-weight:700}.treasury-row .date strong{display:block}.treasury-row .date small{display:block;color:var(--muted);margin-top:2px}.treasury-empty{border:1px dashed var(--line);border-radius:13px;padding:18px;color:var(--muted);line-height:1.5}.fx-form-pane{width:min(720px,96vw)}.fx-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 14px}.fx-form-grid .wide{grid-column:1/-1}.fx-form-grid .sel{display:flex;flex-direction:column;gap:6px}.fx-form-grid .sel>span{font-family:var(--disp);font-size:10px;font-weight:650;letter-spacing:.075em;text-transform:uppercase;color:var(--muted)}.fx-form-grid input,.fx-form-grid select,.fx-form-grid textarea{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--soft);color:var(--ink);font:500 13px/1.35 var(--sans);padding:10px 11px}.fx-form-grid textarea{min-height:88px;resize:vertical}.fx-form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:6px}.treasury-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:10px}
@media(max-width:900px){.treasury-kpis{grid-template-columns:1fr 1fr}.treasury-row{grid-template-columns:1fr auto}.treasury-row>div:nth-child(n+3){grid-column:1/-1}.treasury-row .treasury-actions{grid-column:1/-1}.fx-form-grid{grid-template-columns:1fr}.fx-form-grid .wide{grid-column:auto}}
@media(max-width:520px){.treasury-kpis{grid-template-columns:1fr 1fr}.treasury-scope{display:grid;grid-template-columns:1fr}.treasury-scope .sel{min-width:0}.treasury-row{grid-template-columns:1fr}.treasury-row>div{grid-column:1!important}.treasury-actions .ghost{flex:1 1 auto}.fx-form-actions{display:grid;grid-template-columns:1fr}.fx-form-actions .ghost{width:100%}}


/* V110: Structured FX / Barrier Forward Improver. Nur fx-/treasury-* Klassen. */
.fx-structured-box{display:grid;gap:12px;margin-top:14px;padding:14px;border:1px solid color-mix(in srgb,var(--acc) 28%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--acc) 4%,var(--card))}
.fx-structured-head strong{display:block;font-size:13px}.fx-structured-head small{display:block;margin-top:4px;color:var(--muted);font-size:10.5px;line-height:1.45}
.fx-structured-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.fx-structured-chip{display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--acc) 28%,var(--line));border-radius:999px;padding:3px 7px;font-size:9.5px;color:var(--ink);background:color-mix(in srgb,var(--acc) 4%,var(--card))}
.fx-structured-warning{border:1px solid color-mix(in srgb,var(--warn,#b57900) 42%,var(--line));background:color-mix(in srgb,var(--warn,#b57900) 6%,var(--card));border-radius:11px;padding:10px 11px;font-size:10.5px;line-height:1.5;color:var(--muted)}
.fx-structured-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:10px}.fx-structured-summary>div{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--soft);min-width:0}.fx-structured-summary span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.fx-structured-summary strong{display:block;margin-top:4px;font-size:13px;overflow-wrap:anywhere}
.treasury-tag.structured{border-color:color-mix(in srgb,var(--acc) 38%,var(--line));color:var(--ink);font-weight:650}
@media(max-width:900px){.fx-structured-summary{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.fx-structured-summary{grid-template-columns:1fr 1fr}.fx-structured-box{padding:12px}}


/* V116: Structured FX term-sheet/tranche model. Nur fx-/treasury-* Klassen. */
.fx-term-card{display:grid;gap:12px;margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.fx-term-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.fx-term-metric{border:1px solid var(--line);border-radius:12px;background:var(--soft);padding:10px;min-width:0}.fx-term-metric span{display:block;font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.fx-term-metric strong{display:block;margin-top:4px;font-size:14px;overflow-wrap:anywhere}
.fx-payoff-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.fx-payoff-seg{border:1px solid var(--line);border-radius:11px;padding:9px;background:var(--soft);min-width:0}.fx-payoff-seg span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);line-height:1.35}.fx-payoff-seg strong{display:block;margin-top:5px;font-size:10.5px;line-height:1.45}
.fx-tranche-section{display:grid;gap:10px;margin-top:12px}.fx-tranche-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;flex-wrap:wrap}.fx-tranche-head strong{display:block}.fx-tranche-head small{display:block;color:var(--muted);margin-top:3px;font-size:10.5px}.fx-tranche-list{display:grid;gap:8px}.fx-tranche-row{display:grid;grid-template-columns:minmax(125px,.9fr) minmax(125px,.9fr) minmax(120px,.9fr) minmax(115px,.8fr) minmax(110px,.8fr) minmax(110px,.8fr) auto;gap:8px;align-items:end;border:1px solid var(--line);border-radius:13px;padding:10px;background:var(--card)}.fx-tranche-field{display:grid;gap:5px;min-width:0}.fx-tranche-field>span{font-family:var(--disp);font-size:8.5px;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.fx-tranche-field input,.fx-tranche-field select{width:100%;min-width:0;min-height:39px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--ink);font:500 11px/1.3 var(--sans);padding:8px}.fx-tranche-remove{min-height:39px}.fx-tranche-totals{display:flex;gap:10px;flex-wrap:wrap}.fx-tranche-total{border:1px solid var(--line);border-radius:11px;padding:8px 10px;background:var(--soft)}.fx-tranche-total span{display:block;font-size:8.5px;text-transform:uppercase;color:var(--muted)}.fx-tranche-total strong{display:block;margin-top:3px;font-size:12px}.fx-tranche-details{margin-top:9px;border-top:1px solid var(--line);padding-top:8px}.fx-tranche-details summary{cursor:pointer;font-size:10.5px;font-weight:700;color:var(--ink)}.fx-tranche-detail-list{display:grid;gap:5px;margin-top:8px}.fx-tranche-detail-row{display:grid;grid-template-columns:100px 100px 1fr 100px 100px;gap:8px;align-items:center;font-size:9.5px}.fx-tranche-detail-row span:nth-child(3){font-family:var(--mono);font-weight:700;text-align:right}.fx-tranche-state{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:2px 6px;font-size:8.5px;width:max-content}.fx-tranche-state.overdue{border-color:color-mix(in srgb,var(--neg,#b42318) 38%,var(--line));color:var(--neg,#b42318)}.fx-term-docs{margin-top:12px}.treasury-v112-entry-money small{display:block;color:var(--muted);font-size:9px;margin-top:3px;font-weight:500}
@media(max-width:1100px){.fx-tranche-row{grid-template-columns:repeat(3,minmax(0,1fr))}.fx-tranche-remove{align-self:end}.fx-term-grid,.fx-payoff-strip{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.fx-term-grid,.fx-payoff-strip{grid-template-columns:1fr}.fx-tranche-row{grid-template-columns:1fr 1fr}.fx-tranche-row .fx-tranche-field:nth-child(3),.fx-tranche-row .fx-tranche-field:nth-child(4),.fx-tranche-row .fx-tranche-field:nth-child(5),.fx-tranche-row .fx-tranche-field:nth-child(6){grid-column:auto}.fx-tranche-remove{grid-column:1/-1;width:100%}.fx-tranche-detail-row{grid-template-columns:1fr 1fr}.fx-tranche-detail-row span:nth-child(3){text-align:left}.fx-tranche-detail-row span:nth-child(n+3){grid-column:auto}}

/* V109: 13-Week Cash Forecast. Ausschließlich cash13-* Klassen. */
.cash13-page{display:grid;gap:16px;min-width:0}.cash13-page>.side{min-width:0}.cash13-switch{display:flex;gap:7px;flex-wrap:wrap}.cash13-switch .active{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 8%,var(--card));font-weight:700}.cash13-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.cash13-kpi{border:1px solid var(--line);border-radius:15px;padding:14px;background:var(--card);min-width:0}.cash13-kpi span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.cash13-kpi strong{display:block;margin-top:5px;font-size:21px;line-height:1.15}.cash13-kpi small{display:block;margin-top:5px;font-size:10.5px;color:var(--muted);line-height:1.4}.cash13-grid-wrap{overflow-x:auto;min-width:0;max-width:100%;width:100%;padding-bottom:4px}.cash13-grid{display:grid;grid-template-columns:155px repeat(13,minmax(112px,1fr));min-width:1610px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card)}.cash13-cell{padding:10px 9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px;min-width:0}.cash13-cell:nth-child(14n){border-right:0}.cash13-label{font-weight:700;background:var(--soft);position:sticky;left:0;z-index:2}.cash13-week{cursor:pointer;background:var(--soft);text-align:right}.cash13-week strong{display:block;font-size:11px}.cash13-week small{display:block;color:var(--muted);margin-top:3px;font-size:9.5px}.cash13-week.active{background:color-mix(in srgb,var(--acc) 9%,var(--soft))}.cash13-value{text-align:right;font-family:var(--mono);white-space:nowrap}.cash13-value.strong{font-weight:750}.cash13-value.neg{color:var(--neg,#b42318)}.cash13-value.pos{color:var(--pos,#067647)}.cash13-row-end{border-bottom:0}.cash13-detail-list{display:grid;gap:8px}.cash13-detail-row{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(120px,.7fr) minmax(120px,.65fr) minmax(130px,.7fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:11px 12px;background:var(--card)}.cash13-detail-main strong{display:block}.cash13-detail-main small{display:block;color:var(--muted);margin-top:3px;line-height:1.4}.cash13-amount{text-align:right;font-family:var(--mono);font-weight:700}.cash13-form-pane{width:min(680px,96vw)}.cash13-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 14px}.cash13-form-grid .wide{grid-column:1/-1}.cash13-form-grid .sel{display:flex;flex-direction:column;gap:6px}.cash13-form-grid .sel>span{font-family:var(--disp);font-size:10px;font-weight:650;letter-spacing:.075em;text-transform:uppercase;color:var(--muted)}.cash13-form-grid input,.cash13-form-grid select,.cash13-form-grid textarea{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--soft);color:var(--ink);font:500 13px/1.35 var(--sans);padding:10px 11px}.cash13-form-grid textarea{min-height:82px;resize:vertical}.cash13-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.cash13-note{margin-top:12px}.cash13-warning{border:1px solid color-mix(in srgb,var(--warn,#b57900) 45%,var(--line));background:color-mix(in srgb,var(--warn,#b57900) 7%,var(--card));border-radius:12px;padding:11px 12px;font-size:11px;line-height:1.45}
@media(max-width:900px){.cash13-kpis{grid-template-columns:1fr 1fr}.cash13-detail-row{grid-template-columns:1fr auto}.cash13-detail-row>div:nth-child(n+3){grid-column:1/-1}.cash13-form-grid{grid-template-columns:1fr}.cash13-form-grid .wide{grid-column:auto}}
@media(max-width:520px){.cash13-kpis{grid-template-columns:1fr 1fr}.cash13-detail-row{grid-template-columns:1fr}.cash13-detail-row>div{grid-column:1!important}.cash13-amount{text-align:left}.cash13-form-actions{display:grid;grid-template-columns:1fr}.cash13-form-actions .ghost{width:100%}}





/* V114: Tax Cockpit. Ausschließlich tax-* Klassen; keine globalen Tabellenregeln. */
.tax-page{display:grid;gap:16px}
.tax-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.tax-head-copy{max-width:780px}.tax-head-copy .vtitle{margin-bottom:5px}
.tax-context-note{margin-top:12px;border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:11px 13px;color:var(--muted);font-size:12px;line-height:1.5}
.tax-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tax-kpi{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:14px;min-width:0}
.tax-kpi span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.tax-kpi strong{display:block;font-size:20px;line-height:1.2;margin-top:5px}.tax-kpi small{display:block;color:var(--muted);font-size:10.5px;line-height:1.4;margin-top:5px}
.tax-calendar-head,.tax-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.tax-months{display:grid;grid-template-columns:repeat(12,minmax(78px,1fr));gap:7px;overflow-x:auto;padding:2px 0 4px;margin-top:10px}
.tax-month{min-width:78px;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:10px;text-align:left;cursor:pointer;color:var(--ink)}
.tax-month:hover{border-color:color-mix(in srgb,var(--acc) 42%,var(--line))}.tax-month.on{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 7%,var(--card));box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 9%,transparent)}
.tax-month span,.tax-month strong,.tax-month small{display:block}.tax-month span{font-size:10px;color:var(--muted);text-transform:uppercase}.tax-month strong{font-size:13px;margin-top:4px}.tax-month small{font-size:9.5px;color:var(--muted);margin-top:4px}
.tax-toolbar{display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(2,minmax(150px,.7fr)) auto;gap:10px;align-items:end;margin-bottom:14px}
.tax-toolbar .sel,.tax-search{display:flex;flex-direction:column;gap:6px;min-width:0}.tax-toolbar .sel>span,.tax-search>span{font-family:var(--disp);font-size:10px;font-weight:650;letter-spacing:.075em;text-transform:uppercase;color:var(--muted)}
.tax-toolbar input,.tax-toolbar select{width:100%;min-width:0;min-height:42px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);padding:9px 11px}
.tax-list{display:grid;gap:9px}.tax-row{display:grid;grid-template-columns:110px minmax(240px,1.5fr) minmax(130px,.75fr) minmax(120px,.65fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:13px 14px}
.tax-row-date strong,.tax-row-main strong{display:block}.tax-row-date small,.tax-row-main small{display:block;color:var(--muted);font-size:10.5px;line-height:1.4;margin-top:3px}.tax-row-amount{text-align:right;font-family:var(--mono);font-weight:680;white-space:nowrap}.tax-row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.tax-status{display:inline-flex;align-items:center;width:max-content;border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:10px;color:var(--muted);white-space:nowrap}.tax-status.overdue{border-color:#e08c86;color:#a22}.tax-status.due{border-color:#d5ab55;color:#8b6200}.tax-status.submitted,.tax-status.completed{border-color:#7fb18a;color:#286436}.tax-status.in_progress{border-color:#93a4d8;color:#3a4d91}
.tax-payments{display:grid;gap:8px}.tax-payment-row{display:grid;grid-template-columns:110px minmax(220px,1.4fr) 140px 110px auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:11px 2px}.tax-payment-row:last-child{border-bottom:0}.tax-payment-main strong{display:block}.tax-payment-main small{display:block;color:var(--muted);font-size:10.5px;margin-top:3px}.tax-payment-amount{text-align:right;font-family:var(--mono);font-weight:680}.tax-empty{border:1px dashed var(--line);border-radius:13px;padding:17px;color:var(--muted);font-size:12px;line-height:1.5}
.tax-form-pane{width:min(720px,96vw)}.tax-form-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px}.tax-form-summary>div{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--soft)}.tax-form-summary span{display:block;color:var(--muted);font-size:10px}.tax-form-summary strong{display:block;margin-top:4px;font-size:13px}
@media(max-width:1050px){.tax-kpis{grid-template-columns:1fr 1fr}.tax-toolbar{grid-template-columns:1fr 1fr}.tax-search{grid-column:1/-1}.tax-row{grid-template-columns:100px minmax(190px,1fr) 130px auto}.tax-row-amount{grid-column:3}.tax-row-actions{grid-column:4}.tax-payment-row{grid-template-columns:100px minmax(190px,1fr) 120px auto}.tax-payment-amount{grid-column:3}.tax-payment-row>.tax-status{display:none}}
@media(max-width:650px){.tax-kpis{grid-template-columns:1fr 1fr}.tax-toolbar{grid-template-columns:1fr}.tax-search{grid-column:auto}.tax-months{grid-template-columns:repeat(3,minmax(82px,1fr));overflow:visible}.tax-month{min-width:0}.tax-row{grid-template-columns:1fr auto;align-items:start}.tax-row-date{grid-column:1}.tax-row-main{grid-column:1/-1;grid-row:2}.tax-row-status{grid-column:2;grid-row:1}.tax-row-amount{grid-column:1;grid-row:3;text-align:left}.tax-row-actions{grid-column:1/-1;grid-row:4;justify-content:flex-start}.tax-row-actions .ghost{flex:1 1 auto}.tax-payment-row{grid-template-columns:1fr auto;align-items:start}.tax-payment-row>.tax-row-date{grid-column:1}.tax-payment-main{grid-column:1/-1;grid-row:2}.tax-payment-amount{grid-column:2;grid-row:1}.tax-payment-row>.tax-row-actions{grid-column:1/-1;grid-row:3}.tax-form-summary{grid-template-columns:1fr}.tax-form-pane .payment-form-grid{grid-template-columns:1fr}}

/* V113: skalierbare Department-Navigation. Ausschliesslich ps-nav-tree/-group. */
.ps-nav-tree{display:grid;gap:3px;min-width:0}
.ps-nav-primary{font-weight:540}
.ps-nav-group{display:grid;gap:2px;min-width:0}
.ps-nav-group-head{position:relative;width:100%;display:grid;grid-template-columns:24px minmax(0,1fr) auto 18px;align-items:center;gap:9px;min-height:40px;padding:8px 11px;border:0;border-radius:13px;background:transparent;color:var(--ps-sidebar-ink);text-align:left;cursor:pointer;font:500 13px/1.1 var(--ps-font);letter-spacing:-.01em}
.ps-nav-group-head:hover{background:color-mix(in srgb,var(--ps-active) 72%,transparent)}
.ps-nav-group-head.active{background:color-mix(in srgb,var(--ps-active) 72%,transparent);font-weight:570}
.ps-nav-group-head .ico{grid-column:1;width:18px;height:18px;justify-self:center;stroke-width:1.55;color:var(--ps-sidebar-ink)}
.ps-nav-group-title{grid-column:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ps-nav-group-head .ps-badge{grid-column:3;margin-left:0}
.ps-nav-chevron{grid-column:4;justify-self:center;font:600 19px/1 var(--ps-font);color:var(--ps-sidebar-muted);transform:rotate(0deg);transition:transform .15s ease}
.ps-nav-group-head.open .ps-nav-chevron{transform:rotate(90deg)}
.ps-nav-group-body{position:relative;display:grid;gap:1px;margin:1px 0 4px 14px;padding-left:10px;min-width:0}
.ps-nav-group-body[hidden]{display:none!important}
.ps-nav-group-body::before{content:'';position:absolute;left:3px;top:4px;bottom:4px;width:1px;background:color-mix(in srgb,var(--ps-sidebar-muted) 25%,transparent)}
.ps-nav-group-body .ps-nav-item.ps-nav-sub{min-height:35px;padding:7px 10px 7px 11px;border-radius:11px;font-size:12.5px;gap:9px}
.ps-nav-group-body .ps-nav-item.ps-nav-sub .ico{width:16px;height:16px;color:var(--ps-sidebar-muted)}
.ps-nav-group-body .ps-nav-item.ps-nav-sub.on .ico{color:var(--ps-sidebar-ink)}
.ps-shell.collapsed .ps-nav-group-head{display:grid!important;grid-template-columns:24px minmax(0,1fr) auto 0;column-gap:0;padding:9px 10px 9px 12px!important}
.ps-shell.collapsed .ps-nav-group-head .ps-nav-group-title,.ps-shell.collapsed .ps-nav-group-head .ps-nav-chevron{display:block!important;max-width:0;opacity:0;overflow:hidden;pointer-events:none}
.ps-shell.collapsed .ps-nav-group-head .ps-badge{position:absolute;right:1px;top:1px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center}
.ps-shell.collapsed .ps-nav-group-body{display:none!important}
.ps-shell.collapsed .ps-nav-tree{gap:2px}
@media(max-width:940px){.ps-nav-tree{display:none}}

/* V112: Treasury UX 2.0, globaler Finance-Kontext und CM-Monatsverlauf.
   Ausschließlich treasury-v112-, cash13-recon- und cm-month-* Klassen. */
.treasury-v112-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.treasury-v112-context strong{display:block;font-size:15px;line-height:1.25}.treasury-v112-context small{display:block;margin-top:4px;color:var(--muted);font-size:10.5px}
.treasury-v112-tabs{display:flex;gap:7px;flex-wrap:wrap}.treasury-v112-tabs .ghost.active{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 8%,var(--card));font-weight:700}
.treasury-v112-filterbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-top:12px}.treasury-v112-filterbar .sel{min-width:170px}
.treasury-v112-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.treasury-v112-card{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:15px;min-width:0}.treasury-v112-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.treasury-v112-card-head h3{margin:0;font-size:14px}.treasury-v112-card-head p{margin:4px 0 0;font-size:10.5px;color:var(--muted);line-height:1.4}
.treasury-v112-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.treasury-v112-metric{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--soft);min-width:0}.treasury-v112-metric span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.treasury-v112-metric strong{display:block;margin-top:4px;font-size:15px;overflow-wrap:anywhere}
.treasury-v112-mini-list{display:grid;gap:7px;margin-top:10px}.treasury-v112-mini-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:8px}.treasury-v112-mini-row:first-child{border-top:0;padding-top:0}.treasury-v112-mini-row strong{font-size:11.5px}.treasury-v112-mini-row small{display:block;color:var(--muted);font-size:9.5px;margin-top:2px}.treasury-v112-mini-row .value{text-align:right;font-family:var(--mono);font-weight:700;white-space:nowrap}
.treasury-v112-dual{display:grid;grid-template-columns:1fr 1fr;gap:14px}.treasury-v112-entry{border:1px solid var(--line);border-radius:13px;padding:12px;background:var(--card);display:grid;gap:9px}.treasury-v112-entry-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.treasury-v112-entry-title{font-weight:700;font-size:12.5px;line-height:1.35}.treasury-v112-entry-meta{font-size:10px;color:var(--muted);margin-top:3px;line-height:1.4}.treasury-v112-entry-money{font-family:var(--mono);font-weight:750;white-space:nowrap;text-align:right}.treasury-v112-entry-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.treasury-v112-entry-detail{border:1px solid var(--line);border-radius:10px;padding:7px 8px;background:var(--soft);min-width:0}.treasury-v112-entry-detail span{display:block;font-size:8.5px;text-transform:uppercase;color:var(--muted)}.treasury-v112-entry-detail strong{display:block;margin-top:3px;font-size:10.5px;overflow-wrap:anywhere}.treasury-v112-entry-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.treasury-v112-global-note{border:1px solid var(--line);border-radius:12px;background:var(--soft);padding:10px 12px;font-size:10.5px;color:var(--muted);line-height:1.45}.treasury-v112-global-note strong{color:var(--ink)}
.cash13-recon-wrap{overflow-x:auto}.cash13-recon-table{width:100%;min-width:680px;border-collapse:collapse}.cash13-recon-table th,.cash13-recon-table td{padding:9px 10px;border-bottom:1px solid var(--line);font-size:11px}.cash13-recon-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:9px;text-align:right}.cash13-recon-table th:first-child,.cash13-recon-table td:first-child{text-align:left}.cash13-recon-table td:not(:first-child){text-align:right;font-family:var(--mono)}.cash13-recon-diff{font-weight:750}.cash13-recon-diff.bad{color:var(--warn,#b57900)}
.cm-month-scroll{overflow-x:auto;max-width:100%}.cm-month-table{width:max-content;min-width:1180px;border-collapse:collapse}.cm-month-table th,.cm-month-table td{padding:10px 9px;border-bottom:1px solid var(--line);font-size:11px}.cm-month-table th{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--soft);text-align:right}.cm-month-table th:first-child,.cm-month-table td:first-child{position:sticky;left:0;z-index:2;min-width:205px;text-align:left;background:var(--card)}.cm-month-table th:first-child{background:var(--soft);z-index:3}.cm-month-table tr.cm-subtotal td:first-child{background:var(--soft)}.cm-month-table tr.cm-final td:first-child{background:color-mix(in srgb,var(--ps-purple-soft) 34%,var(--card))}.cm-month-table td:not(:first-child){min-width:78px;text-align:right;font-variant-numeric:tabular-nums}.cm-month-table .cist{background:color-mix(in srgb,var(--soft) 46%,transparent)}.cm-month-table .cplan{background:color-mix(in srgb,var(--acc) 3%,transparent)}.cm-month-table .tsum{font-weight:750;border-left:1px solid var(--line)}
.fx-product-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.fx-product-quick button{text-align:left;justify-content:flex-start;min-height:48px}.fx-product-quick button.active{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 8%,var(--card));font-weight:700}
@media(max-width:900px){.treasury-v112-grid,.treasury-v112-dual{grid-template-columns:1fr}.treasury-v112-entry-details{grid-template-columns:1fr 1fr}.treasury-v112-tabs{width:100%}.treasury-v112-tabs .ghost{flex:1 1 auto}}
@media(max-width:560px){.treasury-v112-nav{align-items:flex-start}.treasury-v112-tabs{display:grid;grid-template-columns:1fr}.treasury-v112-filterbar{display:grid;grid-template-columns:1fr}.treasury-v112-filterbar .sel{min-width:0}.treasury-v112-metrics{grid-template-columns:1fr 1fr}.treasury-v112-entry-top{display:grid;grid-template-columns:1fr}.treasury-v112-entry-money{text-align:left}.treasury-v112-entry-details{grid-template-columns:1fr 1fr}.treasury-v112-entry-actions{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}.treasury-v112-entry-actions .ghost{width:100%}.fx-product-quick{grid-template-columns:1fr}}

/* V111: CFO Cockpit / Finance Attention. Ausschliesslich cfo-* Klassen. */
.cfo-attention{display:grid;gap:12px}.cfo-attention-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}.cfo-attention-head h2{font-family:var(--disp);font-size:18px;line-height:1.25;margin:0}.cfo-attention-head p{margin:5px 0 0;color:var(--muted);font-size:11.5px;line-height:1.45}.cfo-attention-count{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border:1px solid var(--line);border-radius:999px;background:var(--soft);font-weight:750;font-size:12px}.cfo-attention-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cfo-attention-item{display:grid;grid-template-columns:5px minmax(0,1fr) auto;gap:12px;align-items:stretch;border:1px solid var(--line);border-radius:15px;background:var(--card);overflow:hidden;min-width:0}.cfo-attention-rail{background:var(--line)}.cfo-attention-item.critical .cfo-attention-rail{background:var(--bad,#b42318)}.cfo-attention-item.warning .cfo-attention-rail{background:var(--warn,#b57900)}.cfo-attention-item.info .cfo-attention-rail{background:var(--acc)}.cfo-attention-item.positive .cfo-attention-rail{background:var(--good,#067647)}.cfo-attention-copy{padding:13px 0;min-width:0}.cfo-attention-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.cfo-attention-label{font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.cfo-attention-value{font-family:var(--mono);font-size:18px;font-weight:760;line-height:1.2;margin-top:5px;overflow-wrap:anywhere}.cfo-attention-title{font-size:12.5px;font-weight:700;line-height:1.35;margin-top:3px}.cfo-attention-detail{font-size:10.5px;color:var(--muted);line-height:1.45;margin-top:4px}.cfo-attention-action{display:flex;align-items:center;padding:12px 12px 12px 0}.cfo-attention-action .ghost{white-space:nowrap}.cfo-attention-empty{border:1px dashed var(--line);border-radius:14px;padding:16px;color:var(--muted);font-size:12px;line-height:1.5}.cfo-departments{display:grid;gap:12px}.cfo-department-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.cfo-department-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:15px;background:var(--card);padding:14px;cursor:pointer;transition:border-color .15s ease,transform .15s ease}.cfo-department-card:hover{border-color:color-mix(in srgb,var(--acc) 38%,var(--line));transform:translateY(-1px)}.cfo-department-label{font-size:9.5px;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);font-weight:700}.cfo-department-value{font-size:19px;font-weight:760;line-height:1.2;margin-top:7px;overflow-wrap:anywhere}.cfo-department-title{font-size:12.5px;font-weight:700;margin-top:5px}.cfo-department-detail{font-size:10.5px;color:var(--muted);line-height:1.45;margin-top:4px;min-height:30px}.cfo-department-link{margin-top:auto;padding-top:11px;font-size:10.5px;font-weight:700;color:var(--ink)}
@media(max-width:1050px){.cfo-department-grid{grid-template-columns:1fr 1fr}.cfo-attention-list{grid-template-columns:1fr}}
@media(max-width:600px){.cfo-department-grid{grid-template-columns:1fr}.cfo-attention-item{grid-template-columns:4px minmax(0,1fr)}.cfo-attention-action{grid-column:2;padding:0 12px 12px 0;justify-content:flex-start}.cfo-attention-action .ghost{width:100%}.cfo-department-detail{min-height:0}}


/* V117 Quality Foundation: progressive disclosure, global finance context and a calmer CFO layer. */
.plan-progressive-nav{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.plan-advanced-menu{position:relative}.plan-advanced-menu>summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:999px;padding:8px 11px;font-size:11px;font-weight:700;background:var(--card);white-space:nowrap}.plan-advanced-menu>summary::-webkit-details-marker{display:none}.plan-advanced-pill{margin-top:8px;justify-content:flex-end}.cfo-secondary-details{margin-top:12px;border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden}.cfo-secondary-details>summary{cursor:pointer;padding:14px 16px;font-family:var(--disp);font-size:12px;font-weight:750;letter-spacing:.02em}.cfo-secondary-body{display:grid;gap:14px;padding:0 12px 12px}.cfo-secondary-body>.side{margin:0}.cfo-foundation-note{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.cfo-foundation-note strong{font-size:12px}.cfo-foundation-note span{font-size:11px;color:var(--muted);line-height:1.5}.cash13-recon-table td:nth-child(2),.cash13-recon-table th:nth-child(2){white-space:nowrap}
@media(max-width:760px){.plan-progressive-nav{width:100%;justify-content:flex-start}.plan-progressive-nav>.pill{width:100%;overflow-x:auto;justify-content:flex-start}.plan-advanced-menu{width:100%}.plan-advanced-pill{justify-content:flex-start;overflow-x:auto}.cfo-secondary-body{padding:0 8px 8px}}

/* V115: Accounting / Monatsabschluss. Nur close-* Klassen. */
.close-page{display:grid;gap:16px;min-width:0}.close-page>.side{min-width:0}.close-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}.close-head-actions{display:flex;gap:8px;flex-wrap:wrap}.close-context{margin-top:12px;border:1px solid var(--line);border-radius:12px;background:var(--soft);padding:10px 12px;font-size:10.5px;color:var(--muted);line-height:1.5}.close-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.close-kpi{border:1px solid var(--line);border-radius:15px;padding:14px;background:var(--card);min-width:0}.close-kpi span{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);font-weight:700}.close-kpi strong{display:block;margin-top:5px;font-size:20px;line-height:1.2;overflow-wrap:anywhere}.close-kpi small{display:block;margin-top:5px;font-size:10px;color:var(--muted);line-height:1.4}.close-progress-card{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:18px;align-items:center}.close-progress-main{display:grid;gap:9px}.close-progress-top{display:flex;justify-content:space-between;align-items:end;gap:12px}.close-progress-top strong{font-size:20px}.close-progress-bar{height:10px;border-radius:999px;background:var(--soft);overflow:hidden}.close-progress-bar i{display:block;height:100%;background:var(--acc);border-radius:999px}.close-progress-copy{font-size:10.5px;color:var(--muted);line-height:1.5}.close-progress-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.close-progress-meta>div{border:1px solid var(--line);border-radius:12px;background:var(--soft);padding:10px;min-width:0}.close-progress-meta span{display:block;font-size:8.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.close-progress-meta strong{display:block;margin-top:4px;font-size:11.5px;overflow-wrap:anywhere}.close-status-badge{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:9.5px;font-weight:700;background:var(--soft);white-space:nowrap}.close-status-badge.done,.close-status-badge.closed{border-color:color-mix(in srgb,var(--good,#067647) 40%,var(--line));background:color-mix(in srgb,var(--good,#067647) 7%,var(--card))}.close-status-badge.blocked,.close-status-badge.overdue{border-color:color-mix(in srgb,var(--bad,#b42318) 38%,var(--line));background:color-mix(in srgb,var(--bad,#b42318) 6%,var(--card))}.close-status-badge.in_progress,.close-status-badge.ready{border-color:color-mix(in srgb,var(--acc) 38%,var(--line));background:color-mix(in srgb,var(--acc) 6%,var(--card))}.close-section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:10px}.close-section-head h2{font-family:var(--disp);font-size:17px;margin:0}.close-section-head p{font-size:10.5px;color:var(--muted);line-height:1.45;margin:4px 0 0}.close-task-list{display:grid;gap:8px}.close-task-row{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(130px,.65fr) minmax(115px,.55fr) minmax(110px,.5fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:11px 12px;background:var(--card);min-width:0}.close-task-title{font-weight:700;font-size:12px;line-height:1.35}.close-task-meta{font-size:9.5px;color:var(--muted);line-height:1.45;margin-top:3px}.close-task-cell strong{display:block;font-size:10.5px;line-height:1.35}.close-task-cell small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.close-task-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.close-task-row.is-overdue{border-color:color-mix(in srgb,var(--bad,#b42318) 28%,var(--line))}.close-task-row.is-blocked{border-color:color-mix(in srgb,var(--warn,#b57900) 35%,var(--line))}.close-task-row.is-done{opacity:.78}.close-task-empty{border:1px dashed var(--line);border-radius:13px;padding:17px;color:var(--muted);font-size:11px;line-height:1.5}.close-issues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.close-issue{border:1px solid var(--line);border-radius:13px;padding:12px;background:var(--card);min-width:0}.close-issue-top{display:flex;justify-content:space-between;gap:9px;align-items:flex-start}.close-issue-title{font-weight:700;font-size:11.5px;line-height:1.35}.close-issue-meta{margin-top:5px;color:var(--muted);font-size:9.5px;line-height:1.45}.close-data-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.close-data-card{border:1px solid var(--line);border-radius:13px;padding:12px;background:var(--soft);min-width:0}.close-data-card span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.close-data-card strong{display:block;margin-top:4px;font-size:12px;line-height:1.4}.close-data-card small{display:block;margin-top:4px;font-size:9.5px;color:var(--muted);line-height:1.4}.close-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.close-group-card{border:1px solid var(--line);border-radius:15px;padding:14px;background:var(--card);display:grid;gap:10px;min-width:0}.close-group-card-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.close-group-card h3{font-size:13px;margin:0}.close-group-card p{font-size:9.5px;color:var(--muted);margin:3px 0 0}.close-group-progress{height:7px;border-radius:999px;background:var(--soft);overflow:hidden}.close-group-progress i{display:block;height:100%;background:var(--acc)}.close-group-footer{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:9.5px;color:var(--muted)}.close-form-pane{width:min(700px,96vw)}.close-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 14px}.close-form-grid .wide{grid-column:1/-1}.close-form-grid .sel{display:flex;flex-direction:column;gap:6px}.close-form-grid .sel>span{font-family:var(--disp);font-size:10px;font-weight:650;letter-spacing:.075em;text-transform:uppercase;color:var(--muted)}.close-form-grid input,.close-form-grid select,.close-form-grid textarea{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--soft);color:var(--ink);font:500 13px/1.35 var(--sans);padding:10px 11px}.close-form-grid textarea{min-height:88px;resize:vertical}.close-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.close-check{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:11px;background:var(--soft)}.close-check input{margin-top:2px}.close-check strong{display:block;font-size:11px}.close-check small{display:block;margin-top:3px;color:var(--muted);font-size:9.5px;line-height:1.45}
@media(max-width:1050px){.close-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.close-group-grid{grid-template-columns:1fr 1fr}.close-task-row{grid-template-columns:minmax(220px,1.3fr) minmax(110px,.6fr) minmax(105px,.55fr) auto}}
@media(max-width:760px){.close-progress-card{grid-template-columns:1fr}.close-data-strip{grid-template-columns:1fr}.close-task-row{grid-template-columns:1fr 1fr}.close-task-main{grid-column:1/-1}.close-task-actions{grid-column:1/-1;justify-content:flex-start}.close-issues,.close-group-grid{grid-template-columns:1fr}.close-form-grid{grid-template-columns:1fr}.close-form-grid .wide{grid-column:auto}}
@media(max-width:520px){.close-kpis{grid-template-columns:1fr 1fr}.close-task-row{grid-template-columns:1fr}.close-task-row>div,.close-task-actions{grid-column:1!important}.close-task-actions{display:grid;grid-template-columns:1fr 1fr}.close-task-actions .ghost{width:100%}.close-progress-meta{grid-template-columns:1fr 1fr}.close-form-actions{display:grid;grid-template-columns:1fr}.close-form-actions .ghost{width:100%}}

/* V102: Payment-Editor visuell und funktional eigenstaendig. Bewusst nur
   payment-* Klassen, damit Desktop-/Mobile-Tabellen aus V98/V100 unberuehrt bleiben. */
.payment-form-pane{width:min(680px,96vw)}
.payment-form-pane>.phd{margin-bottom:20px}
.payment-form-sub{margin:7px 44px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.payment-form-section{display:grid;gap:13px;margin:0 0 16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.payment-form-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.payment-form-section-title{font-family:var(--disp);font-size:13px;font-weight:720;color:var(--ink);letter-spacing:.01em}
.payment-form-section-hint{font-size:11px;color:var(--muted);line-height:1.45;margin-top:3px}
.payment-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 14px;margin:0}
.payment-form-grid .wide{grid-column:1/-1}
.payment-form-grid .sel{display:flex;flex-direction:column;gap:6px;min-width:0}
.payment-form-grid .sel>span{font-family:var(--disp);font-size:10px;font-weight:650;letter-spacing:.075em;text-transform:uppercase;color:var(--muted)}
.payment-form-grid input,.payment-form-grid select,.payment-form-grid textarea{width:100%;max-width:none;min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--soft);color:var(--ink);font:500 13px/1.35 var(--sans);padding:10px 11px;box-shadow:0 1px 2px rgba(16,24,40,.025)}
.payment-form-grid input,.payment-form-grid select{min-height:44px}
.payment-form-grid textarea{min-height:88px;resize:vertical}
.payment-form-grid input:focus,.payment-form-grid select:focus,.payment-form-grid textarea:focus{outline:0;border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 12%,transparent)}
.payment-options{display:grid;gap:9px}
.payment-check{border-radius:13px;padding:12px 13px;background:var(--soft)}
.payment-check span{font-size:12px;line-height:1.45}.payment-check small{font-size:10.5px;line-height:1.45}
.payment-document-box{display:grid;gap:11px}
.payment-document-drop{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px dashed var(--line);border-radius:13px;background:var(--soft);transition:border-color .15s ease,background .15s ease}
.payment-document-drop.is-drag{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 7%,var(--soft))}
.payment-document-drop strong{display:block;font-size:12px}.payment-document-drop small{display:block;margin-top:3px;color:var(--muted);font-size:10.5px;line-height:1.45}
.payment-document-drop .ghost{flex:0 0 auto;white-space:nowrap}
.payment-document-list{display:grid;gap:7px}
.payment-document-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 11px;background:var(--sheet)}
.payment-document-info{min-width:0}.payment-document-name{font-size:12px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payment-document-meta{margin-top:3px;font-size:10px;color:var(--muted);line-height:1.35}
.payment-document-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.payment-document-actions .ghost{padding:6px 9px;font-size:10.5px}
.payment-document-badge{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:2px 6px;font-size:9.5px;color:var(--muted);margin-left:6px;vertical-align:1px}
.payment-document-error{border:1px solid color-mix(in srgb,#c23b3b 30%,var(--line));border-radius:11px;padding:9px 10px;background:color-mix(in srgb,#c23b3b 5%,var(--card));font-size:11px;line-height:1.45;color:var(--ink)}
.payment-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px;padding-top:14px;border-top:1px solid var(--line)}
.payment-form-actions .ghost{min-width:110px;justify-content:center}
.payment-form-saving{font-size:11px;color:var(--muted);margin-right:auto;align-self:center}
.payment-badge.doc{border-color:color-mix(in srgb,var(--acc) 35%,var(--line));color:var(--ink)}
@media(max-width:900px){.payment-form-pane{width:min(640px,100vw)}}
@media(max-width:620px){
  .payment-form-section{padding:13px;border-radius:14px}.payment-form-grid{grid-template-columns:1fr;gap:11px}.payment-form-grid .wide{grid-column:auto}
  .payment-document-drop{align-items:flex-start;flex-direction:column}.payment-document-drop .ghost{width:100%;justify-content:center}
  .payment-document-item{grid-template-columns:1fr}.payment-document-actions{justify-content:flex-start}.payment-form-actions{margin-top:8px;padding-top:14px;padding-bottom:calc(6px + env(safe-area-inset-bottom));background:var(--sheet)}
  .payment-form-actions .ghost{flex:1 1 0;min-width:0}.payment-form-sub{margin-right:0}
}


/* V120.3.10: Tools & Abos UX; weiterhin ausschliesslich subscription-* Klassen; keine globalen
   Tabellenregeln, damit V98/V100 Mobile-/Desktop-Statements unberuehrt bleiben. */
.subscription-page{display:grid;gap:16px}
.subscription-head{display:grid;gap:14px}
.subscription-head-main{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.subscription-toolbar{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.subscription-toolbar .sel{min-width:170px}.subscription-toolbar .subscription-search{min-width:230px;flex:1 1 230px}
.subscription-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.subscription-kpi{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:14px;min-width:0}
.subscription-kpi .sk-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.055em}
.subscription-kpi .sk-value{font-size:21px;font-weight:720;line-height:1.15;margin-top:5px;overflow-wrap:anywhere}
.subscription-kpi .sk-hint{font-size:10.5px;color:var(--muted);line-height:1.4;margin-top:5px}
.subscription-alerts{display:grid;gap:8px}.subscription-alert{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:var(--soft)}
.subscription-alert strong{font-size:12px}.subscription-alert small{display:block;color:var(--muted);font-size:10.5px;margin-top:3px}.subscription-alert .subscription-deadline{white-space:nowrap;text-align:right}
.subscription-list{display:grid;gap:8px}.subscription-list-head,.subscription-row{display:grid;grid-template-columns:minmax(220px,1.55fr) minmax(135px,.85fr) minmax(140px,.9fr) minmax(160px,1fr) minmax(130px,.8fr) auto;gap:12px;align-items:center}
.subscription-list-head{padding:0 12px 4px;color:var(--muted);font-size:9.5px;text-transform:uppercase;letter-spacing:.055em}
.subscription-row{border:1px solid var(--line);border-radius:14px;padding:13px;background:var(--card);min-width:0}.subscription-row.inactive{opacity:.62}
.subscription-main{min-width:0}.subscription-title{font-size:14px;font-weight:720;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subscription-vendor{font-size:11px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.subscription-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.subscription-badge{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:3px 7px;font-size:9.5px;color:var(--muted)}.subscription-badge.good{border-color:color-mix(in srgb,#219653 36%,var(--line));color:var(--ink)}.subscription-badge.warn{border-color:color-mix(in srgb,#d28a00 45%,var(--line));color:var(--ink)}.subscription-badge.bad{border-color:color-mix(in srgb,#c23b3b 42%,var(--line));color:var(--ink)}
.subscription-cell{min-width:0;font-size:11px;line-height:1.4}.subscription-cell strong{display:block;font-size:12px;color:var(--ink);overflow-wrap:anywhere}.subscription-cell small{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.35}.subscription-cost strong{font-family:var(--mono);font-size:13px}
.subscription-deadline.good strong{color:var(--ink)}.subscription-deadline.warn strong{color:#a66900}.subscription-deadline.bad strong{color:var(--bad)}
.subscription-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.subscription-actions .ghost{padding:7px 9px;font-size:10.5px;white-space:nowrap}
.subscription-empty{border:1px dashed var(--line);border-radius:14px;padding:20px;color:var(--muted);line-height:1.55}.subscription-empty strong{color:var(--ink)}
.subscription-form-pane{width:min(760px,96vw)}.subscription-form-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.subscription-form-summary>div{border:1px solid var(--line);border-radius:11px;padding:10px;background:var(--soft)}.subscription-form-summary span{display:block;color:var(--muted);font-size:9.5px;text-transform:uppercase;letter-spacing:.05em}.subscription-form-summary strong{display:block;margin-top:4px;font-size:12px;line-height:1.35}
.subscription-form-note{font-size:10.5px;line-height:1.5;color:var(--muted)}
.subscription-url{word-break:break-all}
@media(max-width:1050px){.subscription-list-head,.subscription-row{grid-template-columns:minmax(200px,1.4fr) minmax(130px,.8fr) minmax(150px,.9fr) minmax(145px,.9fr) auto}.subscription-owner-col{display:none}}
@media(max-width:820px){.subscription-kpis{grid-template-columns:1fr 1fr}.subscription-toolbar{display:grid;grid-template-columns:1fr 1fr;width:100%}.subscription-toolbar .sel,.subscription-toolbar .subscription-search{min-width:0}.subscription-list-head{display:none}.subscription-row{grid-template-columns:1fr auto;gap:10px 12px}.subscription-main{grid-column:1/-1}.subscription-cost{grid-column:1}.subscription-contract{grid-column:2;text-align:right}.subscription-deadline{grid-column:1}.subscription-owner-col{display:block;grid-column:2;text-align:right}.subscription-actions{grid-column:1/-1;justify-content:flex-start;border-top:1px solid var(--line);padding-top:9px}.subscription-form-pane{width:min(680px,100vw)}}
@media(max-width:560px){.subscription-toolbar{grid-template-columns:1fr}.subscription-row{grid-template-columns:1fr}.subscription-main,.subscription-cost,.subscription-contract,.subscription-deadline,.subscription-owner-col,.subscription-actions{grid-column:1;text-align:left}.subscription-alert{grid-template-columns:1fr}.subscription-alert .subscription-deadline{text-align:left}.subscription-form-summary{grid-template-columns:1fr}.subscription-form-pane{width:100vw;max-width:100vw}}
@media(max-width:350px){.subscription-kpis{grid-template-columns:1fr}}

/* V120.3.10 · Tools & Abos UX cleanup */
.ps-top.subscription-topbar{height:auto;min-height:72px;padding-top:8px;padding-bottom:8px}
.subscription-topbar .ps-top-title-wrap{display:flex;flex-direction:row;align-items:center;gap:14px;min-width:0;flex-wrap:wrap}
.ps-top-tools-context{display:flex;align-items:center;gap:7px;min-width:0;flex:1 1 auto;flex-wrap:wrap}
.subscription-top-control{display:flex;align-items:center;gap:7px;height:38px;padding:0 9px;border:1px solid var(--line);border-radius:11px;background:var(--card);min-width:0}
.subscription-top-control>span{font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);white-space:nowrap}
.subscription-top-control select{border:0!important;outline:0;background:transparent!important;color:var(--ink);font:600 11px/1.2 var(--ps-font);min-width:82px;max-width:190px;padding:0 20px 0 0!important;height:30px!important;box-shadow:none!important}
.subscription-top-scenario{display:flex;align-items:center;gap:6px;height:38px;padding:0 11px;border:1px solid var(--line);border-radius:11px;background:var(--soft);font-size:10.5px;color:var(--muted);white-space:nowrap}
.subscription-top-scenario strong{color:var(--ink);font-weight:700}
.subscription-top-help{height:38px;padding:0 12px!important;border-radius:11px!important;white-space:nowrap}
.subscription-topbar .cloud-btn{height:38px;min-height:38px;border-radius:11px;white-space:nowrap}

.subscription-page{gap:12px}
.subscription-page .subscription-head{padding:14px 16px;gap:10px}
.subscription-page .subscription-head-main{align-items:center}
.subscription-page .subscription-toolbar{display:grid;grid-template-columns:170px 210px minmax(250px,1fr) auto;gap:9px;align-items:end;width:100%}
.subscription-page .subscription-toolbar .sel,.subscription-page .subscription-toolbar .subscription-search{min-width:0}
.subscription-page .subscription-toolbar .subscription-add{height:42px;align-self:end;white-space:nowrap}
.subscription-page .subscription-kpis{gap:0;border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden}
.subscription-page .subscription-kpi{border:0;border-radius:0;background:transparent;padding:12px 15px;min-height:78px}
.subscription-page .subscription-kpi+.subscription-kpi{border-left:1px solid var(--line)}
.subscription-page .subscription-kpi .sk-value{font-size:18px;margin-top:4px}
.subscription-page .subscription-kpi .sk-hint{margin-top:3px}
.subscription-page .subscription-list{gap:0;border:1px solid var(--line);border-radius:14px;overflow:visible;background:var(--card)}
.subscription-page .subscription-list-head,.subscription-page .subscription-row{grid-template-columns:minmax(210px,1.45fr) minmax(135px,.82fr) minmax(120px,.72fr) minmax(120px,.72fr) minmax(145px,.88fr) minmax(145px,.88fr) minmax(130px,.76fr) auto;gap:12px;align-items:center}
.subscription-page .subscription-list-head{padding:11px 14px;background:var(--soft);border-bottom:1px solid var(--line);font-size:9px}
.subscription-page .subscription-row{border:0;border-radius:0;padding:13px 14px;background:var(--card)}
.subscription-page .subscription-row+.subscription-row{border-top:1px solid var(--line)}
.subscription-page .subscription-row:hover{background:color-mix(in srgb,var(--soft) 72%,var(--card))}
.subscription-page .subscription-meta{margin-top:5px}
.subscription-page .subscription-category-cell strong{font-size:11px;font-weight:650}
.subscription-page .subscription-money strong{font-family:var(--mono);font-size:12px;white-space:nowrap}
.subscription-page .subscription-money small{white-space:normal}
.subscription-page .subscription-net-missing strong{color:var(--muted)}
.subscription-page .subscription-result-note{font-size:10.5px;color:var(--muted);margin:1px 2px 0}

/* Inputs in the tool editor should look editable, not like blank white space. */
.subscription-form-pane .payment-form-section{background:var(--card)}
.subscription-form-pane label.sel>input:not([type="checkbox"]),
.subscription-form-pane label.sel>select,
.subscription-form-pane label.sel>textarea,
.subscription-form-pane .payment-form-grid input:not([type="checkbox"]),
.subscription-form-pane .payment-form-grid select,
.subscription-form-pane .payment-form-grid textarea{
  background:var(--soft)!important;border:1px solid color-mix(in srgb,var(--ink3) 26%,var(--line))!important;
  border-radius:11px!important;box-shadow:inset 0 1px 2px rgba(20,30,55,.025);transition:border-color .14s ease,box-shadow .14s ease,background .14s ease
}
.subscription-form-pane label.sel>input:not([type="checkbox"]):focus,
.subscription-form-pane label.sel>select:focus,
.subscription-form-pane label.sel>textarea:focus,
.subscription-form-pane .payment-form-grid input:not([type="checkbox"]):focus,
.subscription-form-pane .payment-form-grid select:focus,
.subscription-form-pane .payment-form-grid textarea:focus{
  outline:0;border-color:color-mix(in srgb,var(--acc) 70%,var(--line))!important;background:var(--card)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 12%,transparent)
}
.subscription-form-pane input:disabled,.subscription-form-pane select:disabled,.subscription-form-pane textarea:disabled{opacity:.72;background:color-mix(in srgb,var(--soft) 72%,var(--card))!important}

@media(max-width:1320px){
  .subscription-page .subscription-list-head,.subscription-page .subscription-row{grid-template-columns:minmax(200px,1.35fr) minmax(130px,.8fr) minmax(115px,.7fr) minmax(115px,.7fr) minmax(140px,.85fr) minmax(140px,.85fr) auto}
  .subscription-page .subscription-owner-col{display:none}
}
@media(max-width:1050px){
  .subscription-page .subscription-toolbar{grid-template-columns:1fr 1fr;}
  .subscription-page .subscription-toolbar .subscription-search{grid-column:1/-1}
  .subscription-page .subscription-toolbar .subscription-add{grid-column:1/-1;width:max-content}
  .subscription-page .subscription-list-head{display:none}
  .subscription-page .subscription-row{grid-template-columns:1fr 1fr;gap:10px 14px;padding:14px}
  .subscription-page .subscription-main{grid-column:1/-1}
  .subscription-page .subscription-category-cell{grid-column:1}
  .subscription-page .subscription-gross{grid-column:2;text-align:right}
  .subscription-page .subscription-net{grid-column:1}
  .subscription-page .subscription-contract{grid-column:2;text-align:right}
  .subscription-page .subscription-deadline{grid-column:1}
  .subscription-page .subscription-owner-col{display:block;grid-column:2;text-align:right}
  .subscription-page .subscription-actions{grid-column:1/-1;justify-content:flex-start;border-top:1px solid var(--line);padding-top:9px}
}
@media(max-width:820px){
  .ps-top.subscription-topbar{min-height:98px;align-items:start;padding-top:9px;padding-bottom:8px}
  .subscription-topbar .ps-top-title-wrap{flex-direction:column;align-items:flex-start;gap:6px;overflow:hidden}
  .ps-top-tools-context{width:calc(100vw - 74px);max-width:calc(100vw - 74px);overflow-x:auto;flex-wrap:nowrap;padding-bottom:1px;scrollbar-width:none}
  .ps-top-tools-context::-webkit-scrollbar{display:none}
  .subscription-top-control,.subscription-top-scenario,.subscription-top-help,.subscription-topbar .cloud-btn{flex:none;height:34px;min-height:34px}
  .subscription-top-control>span{display:none}
  .subscription-top-control select{max-width:145px;min-width:90px;height:28px!important}
  .subscription-top-scenario{padding:0 9px}
  .subscription-page .subscription-kpis{grid-template-columns:1fr 1fr}
  .subscription-page .subscription-kpi+.subscription-kpi{border-left:1px solid var(--line)}
  .subscription-page .subscription-kpi:nth-child(3){border-left:0;border-top:1px solid var(--line)}
  .subscription-page .subscription-kpi:nth-child(4){border-top:1px solid var(--line)}
}
@media(max-width:560px){
  .subscription-page .subscription-toolbar{grid-template-columns:1fr}
  .subscription-page .subscription-toolbar .subscription-search,.subscription-page .subscription-toolbar .subscription-add{grid-column:1}
  .subscription-page .subscription-toolbar .subscription-add{width:100%}
  .subscription-page .subscription-row{grid-template-columns:1fr}
  .subscription-page .subscription-main,.subscription-page .subscription-category-cell,.subscription-page .subscription-gross,.subscription-page .subscription-net,.subscription-page .subscription-contract,.subscription-page .subscription-deadline,.subscription-page .subscription-owner-col,.subscription-page .subscription-actions{grid-column:1;text-align:left}
}



/* V120.3.12 · clearer tools list, filters/sort, department run-rate and explicit editor fields */
.subscription-page .subscription-toolbar{grid-template-columns:145px 180px 180px 190px minmax(230px,1fr) auto auto;gap:9px}
.subscription-page .subscription-reset{height:42px;align-self:end;white-space:nowrap}
.subscription-filter-chips{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.subscription-filter-chip{display:inline-flex;gap:7px;align-items:center;border:1px solid var(--line);background:var(--card);color:var(--ink2);border-radius:999px;padding:6px 9px;font:600 10.5px/1 var(--ps-font);cursor:pointer}
.subscription-filter-chip:hover{border-color:color-mix(in srgb,var(--acc) 34%,var(--line));background:var(--soft)}
.subscription-filter-chip span{font-size:14px;line-height:1;color:var(--muted)}

.subscription-page .subscription-list{display:grid;gap:9px;border:0;border-radius:0;overflow:visible;background:transparent}
.subscription-page .subscription-list-head{border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:var(--soft);box-shadow:none}
.subscription-page .subscription-row{border:1px solid var(--line);border-radius:14px;padding:15px 14px;background:var(--card);box-shadow:0 3px 12px rgba(18,27,45,.035);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease,background .14s ease}
.subscription-page .subscription-row+.subscription-row{border-top:1px solid var(--line)}
.subscription-page .subscription-row:hover{background:var(--card);border-color:color-mix(in srgb,var(--ink3) 34%,var(--line));box-shadow:0 7px 20px rgba(18,27,45,.07);transform:translateY(-1px)}
.subscription-page .subscription-title{font-size:15px;font-weight:740;letter-spacing:-.015em}
.subscription-page .subscription-vendor{font-size:11.5px;margin-top:4px}
.subscription-page .subscription-cell{font-size:11.5px}
.subscription-page .subscription-cell strong{font-size:12.5px}
.subscription-page .subscription-cell small{font-size:10.5px;margin-top:4px}
.subscription-page .subscription-category-cell strong{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:var(--soft);font-size:10.5px;font-weight:700}
.subscription-page .subscription-money strong{font-size:13px}
.subscription-page .subscription-actions .primary-lite{border-color:color-mix(in srgb,var(--acc) 30%,var(--line));background:color-mix(in srgb,var(--acc) 5%,var(--card));color:var(--ink)}
.subscription-page .subscription-delete{color:var(--muted)}

.subscription-department-section{display:grid;gap:10px}
.subscription-department-table{display:grid;gap:7px}
.subscription-department-head,.subscription-department-row{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(135px,.9fr) minmax(135px,.9fr) minmax(120px,.8fr) minmax(95px,.65fr) minmax(80px,.55fr);gap:12px;align-items:center}
.subscription-department-head{padding:0 12px 3px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.055em}
.subscription-department-row{width:100%;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);padding:11px 12px;font:inherit;cursor:pointer;transition:.14s ease}
.subscription-department-row:hover,.subscription-department-row.selected{border-color:color-mix(in srgb,var(--acc) 38%,var(--line));background:color-mix(in srgb,var(--acc) 4%,var(--soft))}
.subscription-department-row strong{font-size:12.5px}.subscription-department-row>div{font-size:11.5px}.subscription-dept-money{font-family:var(--mono);font-weight:650}.subscription-dept-money small{display:block;font-family:var(--ps-font);font-size:9px;color:var(--muted);font-weight:400;margin-top:3px}

/* Tool editor: each input is a clearly separated interactive field. */
.subscription-form-pane .payment-form-grid{gap:12px}
.subscription-form-pane .subscription-field{display:grid;gap:7px;padding:10px 11px 11px;border:1px solid color-mix(in srgb,var(--ink3) 24%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--soft) 62%,var(--card));min-width:0}
.subscription-form-pane .subscription-field>span{font-size:9.5px;font-weight:750;letter-spacing:.055em;text-transform:uppercase;color:var(--ink2)}
.subscription-form-pane .subscription-field>input:not([type="checkbox"]),
.subscription-form-pane .subscription-field>select,
.subscription-form-pane .subscription-field>textarea,
.subscription-form-pane .subscription-field>div input:not([type="checkbox"]),
.subscription-form-pane .subscription-field>div select{
  min-height:45px!important;background:var(--card)!important;border:1.5px solid color-mix(in srgb,var(--ink3) 48%,var(--line))!important;color:var(--ink)!important;box-shadow:0 1px 2px rgba(18,27,45,.04)!important
}
.subscription-form-pane .subscription-field>textarea{min-height:88px!important}
.subscription-form-pane .subscription-field select option{background:var(--card);color:var(--ink)}
.subscription-form-pane .subscription-field input::placeholder,.subscription-form-pane .subscription-field textarea::placeholder{color:color-mix(in srgb,var(--muted) 78%,transparent);opacity:1}
.subscription-form-pane .subscription-field:focus-within{border-color:color-mix(in srgb,var(--acc) 52%,var(--line));background:color-mix(in srgb,var(--acc) 3%,var(--soft));box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 7%,transparent)}
.subscription-auto-plan-note{margin-top:10px}

@media(max-width:1450px){.subscription-page .subscription-toolbar{grid-template-columns:repeat(4,minmax(145px,1fr));}.subscription-page .subscription-toolbar .subscription-search{grid-column:span 2}.subscription-page .subscription-add,.subscription-page .subscription-reset{width:100%}}
@media(max-width:1050px){.subscription-page .subscription-toolbar{grid-template-columns:1fr 1fr}.subscription-page .subscription-toolbar .subscription-search{grid-column:1/-1}.subscription-page .subscription-toolbar .subscription-add,.subscription-page .subscription-toolbar .subscription-reset{grid-column:auto;width:100%}.subscription-department-head{display:none}.subscription-department-row{grid-template-columns:1fr 1fr;gap:8px 14px}.subscription-department-row strong{grid-column:1/-1}.subscription-department-row>div:nth-child(even){text-align:right}}
@media(max-width:560px){.subscription-page .subscription-toolbar{grid-template-columns:1fr}.subscription-page .subscription-toolbar .subscription-search,.subscription-page .subscription-toolbar .subscription-add,.subscription-page .subscription-toolbar .subscription-reset{grid-column:1}.subscription-department-row{grid-template-columns:1fr}.subscription-department-row strong,.subscription-department-row>div{grid-column:1;text-align:left!important}}

/* V120.3.12 · consistent local tabs + always-visible edit action */
.subscription-subnav{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:14px;background:var(--soft);margin:0 0 14px}
.subscription-subnav-btn{border:0;background:transparent;color:var(--ink2);font:650 12px/1 var(--ps-font);padding:10px 16px;border-radius:10px;cursor:pointer}
.subscription-subnav-btn:hover{color:var(--ink);background:color-mix(in srgb,var(--card) 72%,transparent)}
.subscription-subnav-btn.on{background:var(--card);color:var(--ink);box-shadow:0 1px 4px rgba(18,27,45,.08)}
.subscription-title-row{display:flex;align-items:center;gap:10px;justify-content:space-between;min-width:0}
.subscription-title-row .subscription-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.subscription-inline-edit{flex:none;border:1px solid color-mix(in srgb,var(--acc) 28%,var(--line));background:color-mix(in srgb,var(--acc) 5%,var(--card));color:var(--ink);border-radius:9px;padding:6px 8px;font:650 10px/1 var(--ps-font);cursor:pointer}
.subscription-inline-edit:hover{border-color:color-mix(in srgb,var(--acc) 48%,var(--line));background:color-mix(in srgb,var(--acc) 9%,var(--card))}
@media(max-width:820px){.subscription-subnav{width:100%;display:grid;grid-template-columns:1fr 1fr}.subscription-subnav-btn{width:100%}}

/* V118 Finance workflow: local styles only. */
.finance-workflow{display:grid;gap:18px}.finance-workflow-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.finance-workflow-head h2{margin:2px 0 5px}.finance-workflow-head p{margin:0}.finance-workflow-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.finance-workflow-kpi{border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;justify-content:space-between;gap:10px;align-items:center;background:var(--card)}.finance-workflow-kpi span{font-size:12px;color:var(--muted)}.finance-workflow-kpi strong{font-size:18px}.finance-workflow-list,.finance-workflow-panel-list{display:grid;gap:9px}.finance-workflow-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid var(--line);border-left:4px solid var(--line);border-radius:14px;padding:13px 14px;background:var(--card)}.finance-workflow-row.p-critical{border-left-color:#c9372c}.finance-workflow-row.p-high{border-left-color:#d98b19}.finance-workflow-row.p-normal{border-left-color:#5c6ac4}.finance-workflow-row.p-low{border-left-color:#8a94a6}.finance-workflow-copy{min-width:0;display:grid;gap:5px}.finance-workflow-top{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.finance-workflow-area,.finance-workflow-priority,.finance-workflow-review{font-size:10px;font-weight:700;padding:4px 7px;border-radius:999px;background:var(--soft);color:var(--muted)}.finance-workflow-row.p-critical .finance-workflow-priority{color:#a51d16}.finance-workflow-row.p-high .finance-workflow-priority{color:#995e08}.finance-workflow-review.r-pending,.finance-workflow-review.r-changes{color:#995e08}.finance-workflow-review.r-approved{color:#18794e}.finance-workflow-title{font-size:14px;overflow-wrap:anywhere}.finance-workflow-meta,.finance-workflow-detail{color:var(--muted);font-size:11px;line-height:1.45}.finance-workflow-signals{display:flex;gap:7px;flex-wrap:wrap}.finance-workflow-signals span{font-size:10px;color:var(--muted);background:var(--soft);padding:3px 6px;border-radius:8px}.finance-workflow-actions{display:flex;gap:7px;align-items:center}.finance-workflow-empty{padding:18px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}.finance-workflow-pane{width:min(1040px,calc(100vw - 28px));max-width:1040px}.finance-workflow-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 190px 180px;gap:10px;padding:0 22px 14px}.finance-workflow-toolbar input,.finance-workflow-toolbar select{width:100%}.finance-workflow-panel-summary{margin:0 22px 14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;display:flex;justify-content:space-between;gap:12px;align-items:center}.finance-workflow-panel-summary span{font-size:11px;color:var(--muted)}.finance-workflow-panel-list{padding:0 22px 24px}.finance-workflow-editor{width:min(560px,calc(100vw - 20px));max-width:560px}.finance-workflow-editor-summary{margin:0 22px 18px;padding:14px;border:1px solid var(--line);border-radius:14px;display:grid;gap:5px}.finance-workflow-editor-summary small{color:var(--muted)}.finance-workflow-editor-grid{padding:0 22px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.finance-workflow-editor-grid .sel:last-child{grid-column:1/-1}.finance-workflow-editor-note{margin:16px 22px;padding:12px 14px;border-radius:12px;background:var(--soft);font-size:11px;color:var(--muted);line-height:1.5}
@media(max-width:720px){.finance-workflow-head{align-items:stretch;flex-direction:column}.finance-workflow-head .ghost{align-self:flex-start}.finance-workflow-kpis{grid-template-columns:1fr 1fr}.finance-workflow-row{grid-template-columns:1fr;gap:10px}.finance-workflow-actions{justify-content:flex-start;flex-wrap:wrap}.finance-workflow-toolbar{grid-template-columns:1fr;padding:0 14px 12px}.finance-workflow-panel-summary{margin:0 14px 12px;display:grid}.finance-workflow-panel-list{padding:0 14px 20px}.finance-workflow-editor-grid{padding:0 14px;grid-template-columns:1fr}.finance-workflow-editor-grid .sel:last-child{grid-column:auto}.finance-workflow-editor-summary,.finance-workflow-editor-note{margin-left:14px;margin-right:14px}}


/* V120.3.4 · Payments UX: daily work first, configuration on demand. */
.payment-ux-page{display:grid;gap:16px;max-width:1500px}
.payment-ux-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:4px 2px 0}
.payment-ux-title{min-width:0}.payment-ux-title h1{margin:0;font:650 28px/1.1 var(--ps-font);letter-spacing:-.035em;color:var(--ink)}
.payment-ux-title p{margin:7px 0 0;color:var(--ink2);font-size:13px}.payment-ux-title strong{color:var(--ink);font-weight:600}
.payment-ux-header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.payment-ux-tabs{display:flex;gap:4px;align-items:center;padding:4px;background:color-mix(in srgb,var(--ps-active) 82%,var(--ps-card));border:1px solid var(--ps-border);border-radius:14px;width:max-content;max-width:100%;overflow-x:auto}
.payment-ux-tab{border:0;background:transparent;color:var(--ink2);border-radius:10px;padding:9px 14px;font:550 12.5px/1 var(--ps-font);white-space:nowrap;cursor:pointer}
.payment-ux-tab:hover{color:var(--ink);background:color-mix(in srgb,var(--ps-card) 70%,transparent)}
.payment-ux-tab.on{background:var(--ps-card);color:var(--ink);box-shadow:0 1px 3px rgba(20,24,31,.08)}
.payment-ux-card{background:var(--ps-card);border:1px solid var(--ps-border);border-radius:18px;box-shadow:0 2px 14px rgba(30,35,45,.025)}
.payment-ux-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.payment-ux-kpi{padding:16px 17px;min-width:0}.payment-ux-kpi-label{font:500 11px/1.2 var(--ps-font);color:var(--ink2);margin-bottom:7px}.payment-ux-kpi-value{font:650 20px/1.15 var(--mono);letter-spacing:-.02em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payment-ux-kpi-meta{margin-top:6px;font-size:11px;color:var(--ink3)}
.payment-ux-kpi.alert .payment-ux-kpi-value{color:var(--neg)}
.payment-ux-toolbar{display:grid;grid-template-columns:minmax(280px,1.4fr) repeat(4,minmax(145px,.65fr)) auto;gap:9px;align-items:center;padding:12px}
.payment-ux-search{position:relative;min-width:0}.payment-ux-search input{width:100%;min-width:0;max-width:none;height:40px;padding:0 12px 0 37px;border-color:var(--ps-border);border-radius:10px;background:var(--ps-card);font-size:12.5px}.payment-ux-search .ico{position:absolute;left:12px;top:11px;width:17px;height:17px;color:var(--ink3);pointer-events:none}
.payment-ux-filter{width:100%;max-width:none;height:40px;border-color:var(--ps-border);border-radius:10px;background:var(--ps-card);font-size:12px;padding:0 28px 0 10px}
.payment-ux-reset{height:40px;white-space:nowrap}.payment-ux-active{display:flex;gap:7px;flex-wrap:wrap;padding:0 2px}.payment-ux-filter-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ps-border);background:var(--ps-card);border-radius:999px;padding:5px 9px;font-size:11px;color:var(--ink2)}.payment-ux-filter-chip b{font-weight:600;color:var(--ink)}
.payment-ux-list{overflow:hidden}.payment-ux-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:16px 18px 12px;border-bottom:1px solid var(--ps-border)}.payment-ux-list-head h2{margin:0;font:600 15px/1.2 var(--ps-font);letter-spacing:-.015em}.payment-ux-list-head p{margin:4px 0 0;color:var(--ink2);font-size:11.5px}.payment-ux-list-sum{text-align:right;font:600 14px/1.2 var(--mono);white-space:nowrap}.payment-ux-list-sum small{display:block;font:400 10.5px/1.2 var(--ps-font);color:var(--ink3);margin-top:4px}
.payment-ux-row-head,.payment-ux-row{display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(120px,.62fr) minmax(230px,1.05fr) minmax(112px,.55fr) minmax(110px,.55fr) minmax(135px,.65fr);gap:14px;align-items:center;padding-left:18px;padding-right:18px}
.payment-ux-row-head{min-height:38px;background:color-mix(in srgb,var(--ps-active) 58%,var(--ps-card));border-bottom:1px solid var(--ps-border);font:500 9.5px/1 var(--ps-font);letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}.payment-ux-row-head>div:last-child{text-align:right}
.payment-ux-row{min-height:66px;border-bottom:1px solid var(--ps-border);transition:background .12s ease}.payment-ux-row:last-child{border-bottom:0}.payment-ux-row:hover{background:color-mix(in srgb,var(--ps-active) 46%,transparent)}
.payment-ux-vendor{min-width:0}.payment-ux-vendor strong{display:block;font:550 13px/1.25 var(--ps-font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payment-ux-vendor span,.payment-ux-cell-muted{display:block;margin-top:3px;font-size:10.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.payment-ux-class{display:flex;flex-direction:column;gap:4px;min-width:0}.payment-ux-class strong{font:500 11.5px/1.15 var(--ps-font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payment-ux-class span{font-size:10.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.payment-ux-date{font:500 11.5px/1.2 var(--ps-font)}.payment-ux-date.overdue{color:var(--neg)}.payment-ux-date small{display:block;margin-top:3px;font-size:10px;color:var(--ink3)}
.payment-ux-status{display:inline-flex;width:max-content;max-width:100%;border-radius:999px;padding:4px 8px;background:rgba(34,139,94,.09);color:#338a66;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payment-ux-status.pending{background:rgba(168,150,112,.13);color:#7d7462}
.payment-ux-money{text-align:right;font:600 12px/1.2 var(--mono);white-space:nowrap}.payment-ux-money.credit{color:var(--pos)}
.payment-ux-empty{padding:28px 18px;text-align:center;color:var(--ink2);font-size:12px}
.payment-ux-more{padding:10px 18px 14px;border-top:1px solid var(--ps-border);font-size:10.5px;color:var(--ink3)}
.payment-ux-section{padding:18px}.payment-ux-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.payment-ux-section-head h2{margin:0;font:600 16px/1.2 var(--ps-font);letter-spacing:-.015em}.payment-ux-section-head p{margin:5px 0 0;color:var(--ink2);font-size:12px}
.payment-ux-analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.payment-ux-breakdown{padding:16px}.payment-ux-breakdown h3{margin:0 0 12px;font:600 13px/1.2 var(--ps-font)}.payment-ux-breakdown-list{display:grid;gap:2px}.payment-ux-breakdown-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:0;background:transparent;color:var(--ink);padding:9px 8px;border-radius:9px;text-align:left;cursor:pointer}.payment-ux-breakdown-row:hover{background:var(--ps-active)}.payment-ux-breakdown-row span{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payment-ux-breakdown-row strong{font:550 11.5px/1 var(--mono);white-space:nowrap}.payment-ux-breakdown-row small{display:block;color:var(--ink3);font:400 9.5px/1.25 var(--ps-font);margin-top:3px}
.payment-ux-quality{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.payment-ux-quality-card{padding:14px;cursor:pointer}.payment-ux-quality-card:hover{border-color:color-mix(in srgb,var(--ps-purple) 35%,var(--ps-border))}.payment-ux-quality-card span{display:block;font-size:10.5px;color:var(--ink2)}.payment-ux-quality-card strong{display:block;margin-top:5px;font:600 15px/1.1 var(--mono)}
.payment-ux-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.payment-ux-setting{padding:17px;display:flex;flex-direction:column;min-height:210px}.payment-ux-setting-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.payment-ux-setting h3{margin:0;font:600 14px/1.2 var(--ps-font)}.payment-ux-setting p{margin:9px 0 0;font-size:11.5px;line-height:1.5;color:var(--ink2)}.payment-ux-setting-meta{margin-top:13px;padding-top:12px;border-top:1px solid var(--ps-border);display:grid;gap:7px}.payment-ux-setting-meta div{display:flex;justify-content:space-between;gap:12px;font-size:10.5px;color:var(--ink2)}.payment-ux-setting-meta strong{color:var(--ink);font-weight:550;text-align:right}.payment-ux-setting-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:15px}
.payment-ux-dot{width:8px;height:8px;border-radius:50%;background:#4eba7c;box-shadow:0 0 0 3px color-mix(in srgb,#4eba7c 12%,transparent)}.payment-ux-dot.warn{background:#c49535}.payment-ux-note{padding:12px 14px;border:1px solid var(--ps-border);border-radius:12px;background:color-mix(in srgb,var(--ps-active) 54%,var(--ps-card));font-size:11.5px;line-height:1.5;color:var(--ink2)}
.payment-ux-recurring>.side{margin:0;box-shadow:none;border:0;border-radius:0;background:transparent;padding:0}.payment-ux-recurring .ops-recurring-section{margin-top:0}.payment-ux-recurring .ops-invoice-section-head{margin-bottom:8px}
@media(max-width:1180px){.payment-ux-toolbar{grid-template-columns:minmax(260px,1.2fr) repeat(2,minmax(150px,.65fr));}.payment-ux-toolbar .payment-ux-filter:nth-of-type(4),.payment-ux-toolbar .payment-ux-filter:nth-of-type(5){display:block}.payment-ux-reset{grid-column:auto}.payment-ux-row-head,.payment-ux-row{grid-template-columns:minmax(200px,1.25fr) 110px minmax(180px,.9fr) 105px 120px}.payment-ux-row-head>div:nth-child(5),.payment-ux-row>.payment-ux-status-wrap{display:none}}
@media(max-width:900px){.payment-ux-kpis{grid-template-columns:1fr 1fr}.payment-ux-toolbar{grid-template-columns:1fr 1fr}.payment-ux-search{grid-column:1/-1}.payment-ux-analysis-grid,.payment-ux-settings{grid-template-columns:1fr}.payment-ux-quality{grid-template-columns:1fr 1fr}.payment-ux-row-head{display:none}.payment-ux-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding-top:13px;padding-bottom:13px}.payment-ux-row>.payment-ux-vendor{grid-column:1}.payment-ux-row>.payment-ux-invoice-no{grid-column:1}.payment-ux-row>.payment-ux-class{grid-column:1}.payment-ux-row>.payment-ux-date{grid-column:1}.payment-ux-row>.payment-ux-status-wrap{display:block;grid-column:1}.payment-ux-row>.payment-ux-money{grid-column:2;grid-row:1;text-align:right;align-self:start}.payment-ux-list-sum{font-size:12px}}
@media(max-width:620px){.payment-ux-header{flex-direction:column}.payment-ux-header-actions{width:100%;justify-content:flex-start}.payment-ux-tabs{width:100%}.payment-ux-kpis{grid-template-columns:1fr 1fr}.payment-ux-kpi{padding:13px}.payment-ux-kpi-value{font-size:16px}.payment-ux-toolbar{grid-template-columns:1fr}.payment-ux-search{grid-column:auto}.payment-ux-filter,.payment-ux-reset{width:100%}.payment-ux-quality{grid-template-columns:1fr}.payment-ux-list-head{align-items:flex-start;flex-direction:column}.payment-ux-list-sum{text-align:left}.payment-ux-row{grid-template-columns:1fr}.payment-ux-row>.payment-ux-money{grid-column:1;grid-row:auto;text-align:left;margin-top:4px}.payment-ux-title h1{font-size:24px}}


/* V120.3.18 · Moss-backed creditor aggregation lives inside Payments. */
.payment-creditors-view{display:grid;gap:16px}
.payment-creditor-summary{padding:22px}
.payment-creditor-kpis{display:grid;grid-template-columns:minmax(160px,.55fr) minmax(180px,.65fr) minmax(360px,1.8fr);gap:12px;margin-top:18px}
.payment-creditor-kpi{border:1px solid var(--ps-border);border-radius:14px;background:var(--ps-active);padding:14px 16px;min-width:0}
.payment-creditor-kpi>span:first-child{display:block;color:var(--ink3);font-size:10px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px}
.payment-creditor-kpi>strong{font-size:24px;line-height:1.1}.payment-creditor-kpi-wide .payment-ux-currency-lines{margin-top:2px}
.payment-creditor-toolbar{display:grid;grid-template-columns:minmax(280px,1.4fr) minmax(180px,.7fr) minmax(220px,.9fr) auto;gap:14px;align-items:end;padding:18px}
.payment-creditor-list{overflow:hidden}
.payment-creditor-head,.payment-creditor-row{display:grid;grid-template-columns:minmax(240px,1.35fr) 110px minmax(185px,.95fr) minmax(185px,.95fr) 130px minmax(150px,.75fr);gap:16px;align-items:center;padding-left:18px;padding-right:18px}
.payment-creditor-head{min-height:42px;background:color-mix(in srgb,var(--ps-active) 58%,var(--ps-card));border-bottom:1px solid var(--ps-border);font:500 9.5px/1 var(--ps-font);letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.payment-creditor-row{min-height:78px;padding-top:13px;padding-bottom:13px;border-bottom:1px solid var(--ps-border)}.payment-creditor-row:last-of-type{border-bottom:0}.payment-creditor-row:hover{background:color-mix(in srgb,var(--ps-active) 45%,transparent)}
.payment-creditor-who strong,.payment-creditor-who small,.payment-creditor-count strong,.payment-creditor-count small{display:block}.payment-creditor-who small,.payment-creditor-count small{margin-top:4px;color:var(--ink3);font-size:11px}
.payment-creditor-count strong{font-size:18px}.payment-creditor-overdue .payment-ux-currency-lines span{color:var(--red)}
.payment-creditor-due{font-variant-numeric:tabular-nums}.payment-creditor-action{text-align:right}
.payment-creditor-row>.payment-ux-currency-lines{display:grid;gap:3px}.payment-creditor-row>.payment-ux-currency-lines span{font-family:var(--mono);font-size:12px}.payment-creditor-overdue>.payment-ux-currency-lines{display:grid;gap:3px}.payment-creditor-overdue>.payment-ux-currency-lines span{font-family:var(--mono);font-size:12px}
@media(max-width:1180px){.payment-creditor-kpis{grid-template-columns:1fr 1fr}.payment-creditor-kpi-wide{grid-column:1/-1}.payment-creditor-toolbar{grid-template-columns:1fr 1fr}.payment-creditor-toolbar .payment-ux-reset{width:100%}.payment-creditor-head,.payment-creditor-row{grid-template-columns:minmax(220px,1.2fr) 90px minmax(170px,.9fr) minmax(170px,.9fr) 120px}.payment-creditor-head>div:last-child,.payment-creditor-row>.payment-creditor-action{display:none}}
@media(max-width:820px){.payment-creditor-kpis,.payment-creditor-toolbar{grid-template-columns:1fr}.payment-creditor-kpi-wide{grid-column:auto}.payment-creditor-head{display:none}.payment-creditor-row{grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;padding:14px}.payment-creditor-who{grid-column:1/-1}.payment-creditor-count{grid-column:1}.payment-creditor-row>.payment-ux-currency-lines{grid-column:2;text-align:right}.payment-creditor-overdue{grid-column:1/-1}.payment-creditor-due{grid-column:1}.payment-creditor-action{display:block!important;grid-column:2;text-align:right}}


/* V120.3.17 · Kreditoren nutzt denselben kompakten Modul-Header wie Zahlungen/Tools. */
.creditor-head.creditor-head-compact{justify-content:flex-end;margin:0 0 18px}.creditor-head.creditor-head-compact .tools{margin:0}


.payment-ux-vendor-select{display:flex;align-items:flex-start;gap:10px;min-width:0}.payment-ux-vendor-select>input,.payment-ux-head-select input{width:16px;height:16px;margin:1px 0 0;accent-color:var(--ps-purple);cursor:pointer;flex:0 0 auto}.payment-ux-vendor-copy{min-width:0;flex:1}.payment-ux-head-select{display:flex;align-items:center;gap:8px}.payment-ux-head-select span{white-space:nowrap}.payment-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 18px;border-bottom:1px solid var(--ps-border);background:color-mix(in srgb,var(--ps-purple) 5%,var(--ps-card))}.payment-bulk-bar-copy{display:flex;align-items:center;gap:10px;min-width:0}.payment-bulk-bar-copy strong{font:600 12px/1.2 var(--ps-font)}.payment-bulk-bar-copy span{font-size:11px;color:var(--ink3)}.payment-bulk-actions{display:flex;align-items:center;gap:8px}.payment-class-actions{display:flex;justify-content:flex-end;margin-top:12px;padding-top:12px;border-top:1px solid var(--ps-border)}.payment-cost-learning-note{padding:11px 12px;border:1px solid var(--ps-border);border-radius:10px;background:var(--ps-active);font-size:11px;line-height:1.45;color:var(--ink2)}.payment-cost-learning-note strong{color:var(--ink)}.payment-cost-check{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--ps-border);border-radius:10px;background:var(--ps-active)}.payment-cost-check input{width:16px;height:16px;margin-top:1px;accent-color:var(--ps-purple)}.payment-cost-check-copy{display:flex;flex-direction:column;gap:3px}.payment-cost-check-copy strong{font-size:12px}.payment-cost-check-copy span{font-size:10.5px;color:var(--ink3);line-height:1.4}.payment-cost-form-meta{font-size:11px;color:var(--ink3);margin-top:-2px}.payment-learned-badge{display:inline-flex;align-items:center;gap:5px;margin-top:4px;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--ps-purple) 9%,var(--ps-card));color:var(--ps-purple);font-size:9.5px;font-weight:650}.payment-learned-badge:before{content:'↻';font-size:10px}\n@media(max-width:900px){.payment-bulk-bar{align-items:flex-start;flex-direction:column}.payment-bulk-actions{width:100%;flex-wrap:wrap}.payment-ux-vendor-select{gap:8px}}


/* V120.3.29: GetKlar shop selection/date basis fix; V120.3.27 mobile containment retained. */
.ccr-diagnostic{border:1px solid var(--line,#dadde3);border-radius:12px;padding:16px;margin:14px 0;min-width:0;break-inside:avoid}
.ccr-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:12px 0}
.ccr-values small,.ccr-values strong{display:block;overflow-wrap:anywhere}.ccr-values strong{margin-top:6px;font-variant-numeric:tabular-nums}
@media(max-width:760px){
.ps-work,.ps-content,main.sheet,.payment-ux,.payments-ux,.subscription-page{min-width:0;max-width:100%;box-sizing:border-box}
.payment-ux-page,.payment-ux-card,.payment-ux-section,.module-local-nav,.payment-ux-tabs,.payment-ux-actions,.payment-ux-filters,.payment-ux-kpi-matrix{min-width:0;max-width:100%;box-sizing:border-box}
.module-local-nav,.payment-ux-tabs{overflow-x:auto;flex-wrap:nowrap;overscroll-behavior-x:contain}
.subscription-top-control{min-width:0;max-width:100%}.subscription-topbar,.subscription-top-controls{min-width:0;max-width:100%;flex-wrap:wrap}
.ccr-values{grid-template-columns:1fr;gap:10px}
}


.datev-cf-nav{display:flex;gap:8px;margin:0 0 16px;max-width:100%;flex-wrap:wrap;}
.datev-cf-nav button{min-height:36px;}
.datev-cf-scroll{max-width:100%;overflow-x:auto;}
.datev-cf-table{min-width:950px;}
.datev-cf-accounts{margin-top:18px;max-width:100%;min-width:0;}
.datev-cf-accounts summary{cursor:pointer;font-weight:600;padding:8px 0;}
.datev-cf-accounts .scroll{max-width:100%;overflow-x:auto;}
@media(max-width:700px){.ccr-values{grid-template-columns:1fr!important;}.datev-cf-table .lbl{min-width:190px!important;width:190px!important;max-width:190px!important;white-space:normal;}.datev-cf-nav button{white-space:normal;}}
@media print{.datev-cf-nav{display:none;}.datev-cf-table{min-width:0;}.datev-cf-accounts:not([open]){display:none;}.ccr-diagnostic button{display:none;}}

/* V119: Data & Integrations. Scoped to the integrations page only. */
.ops-page{display:flex;flex-direction:column;gap:22px;max-width:1540px;margin:0 auto;padding-bottom:28px}
.ops-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:28px 30px;border:1px solid var(--rule);border-radius:20px;background:var(--sheet)}
.ops-hero h1{margin:5px 0 8px;font-size:clamp(24px,2.1vw,36px);line-height:1.12;max-width:900px}.ops-lede{margin:0;color:var(--ink2);max-width:850px;line-height:1.55}
.ops-hero-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.ops-hero-meta>span:not(.ops-status){font:600 11px var(--mono);color:var(--ink2);padding:6px 8px;border:1px solid var(--rule);border-radius:999px}
.ops-status{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid var(--rule)}.ops-status.ready{background:color-mix(in srgb,var(--pos) 10%,var(--sheet));color:var(--pos);border-color:color-mix(in srgb,var(--pos) 25%,var(--rule))}.ops-status.planned{background:var(--paper);color:var(--ink2)}
.ops-connector-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.ops-connector-card{min-width:0;padding:18px;border:1px solid var(--rule);border-radius:18px;background:var(--sheet);display:flex;flex-direction:column;gap:13px}.ops-connector-top{display:flex;gap:11px;align-items:flex-start}.ops-connector-icon{width:36px;height:36px;border-radius:11px;background:var(--paper);display:grid;place-items:center;flex:0 0 auto}.ops-connector-icon .ico{width:18px;height:18px}.ops-connector-copy{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex:1;flex-wrap:wrap}.ops-connector-copy h3{font-size:14px;margin:3px 0 0}.ops-connector-card>p{margin:0;color:var(--ink2);font-size:12px;line-height:1.5}.ops-connector-meta{margin-top:auto;padding-top:2px;color:var(--ink2);font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:700}
.ops-section{padding:24px 26px;border:1px solid var(--rule);border-radius:20px;background:var(--sheet)}.ops-section-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:18px}.ops-section-head h2{margin:4px 0 6px;font-size:20px}.ops-section-head p:not(.eyebrow){margin:0;max-width:900px;color:var(--ink2);font-size:12px;line-height:1.5}
.ops-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.ops-stat{padding:14px 15px;border:1px solid var(--rule);border-radius:14px;background:var(--paper);min-width:0}.ops-stat span{display:block;color:var(--ink2);font-size:10px;text-transform:uppercase;letter-spacing:.06em;line-height:1.35}.ops-stat strong{display:block;margin-top:6px;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ops-flow{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 28px minmax(0,1fr);align-items:stretch;gap:8px}.ops-flow-step{padding:16px;border:1px solid var(--rule);border-radius:15px;background:var(--paper);display:flex;flex-direction:column;gap:5px}.ops-flow-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:var(--acc);font-weight:800}.ops-flow-step strong{font-size:14px}.ops-flow-step small{font-size:11px;line-height:1.45;color:var(--ink2)}.ops-flow-arrow{display:grid;place-items:center;color:var(--ink2);font-size:20px}
.ops-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.ops-rule{padding:14px;border:1px solid var(--rule);border-radius:14px;display:flex;gap:10px;align-items:flex-start}.ops-rule-num{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--paper);font:700 10px var(--mono);flex:0 0 auto}.ops-rule p{margin:1px 0 0;color:var(--ink2);font-size:11px;line-height:1.5}
.ops-moss-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.ops-moss-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ops-moss-note{margin:4px 0 0;color:var(--ink2);font-size:11px;line-height:1.5}.ops-moss-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.ops-moss-summary>div{padding:12px 14px;border:1px solid var(--rule);border-radius:13px;background:var(--paper)}.ops-moss-summary span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2)}.ops-moss-summary strong{display:block;margin-top:5px;font-size:13px;word-break:break-word}.ops-moss-probes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.ops-moss-probe{padding:12px 13px;border:1px solid var(--rule);border-radius:13px;background:var(--paper);min-width:0}.ops-moss-probe.ok{border-color:color-mix(in srgb,var(--pos) 32%,var(--rule))}.ops-moss-probe.warn{border-color:color-mix(in srgb,#c28b2c 38%,var(--rule))}.ops-moss-probe.bad{border-color:color-mix(in srgb,#d64d58 38%,var(--rule))}.ops-moss-probe-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.ops-moss-probe strong{font-size:12px}.ops-moss-http{font:700 9px var(--mono);color:var(--ink2);white-space:nowrap}.ops-moss-count{font-size:18px;font-weight:800;margin-top:8px}.ops-moss-detail{font-size:10px;color:var(--ink2);margin-top:4px;line-height:1.35;overflow-wrap:anywhere}.ops-moss-error{margin-top:12px;padding:11px 13px;border:1px solid color-mix(in srgb,#d64d58 38%,var(--rule));border-radius:12px;background:var(--paper);color:var(--ink);font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.ops-moss-reconcile{margin-top:20px;padding-top:18px;border-top:1px solid var(--rule)}.ops-moss-reconcile-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}.ops-moss-reconcile-head h3{margin:4px 0 5px;font-size:16px}.ops-moss-reconcile-head p{margin:0;color:var(--ink2);font-size:11px;line-height:1.5;max-width:850px}.ops-moss-reconcile-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ops-recon-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:13px}.ops-recon-kpi{border:1px solid var(--rule);border-radius:13px;background:var(--paper);padding:12px 13px;min-width:0}.ops-recon-kpi.good{border-color:color-mix(in srgb,var(--pos) 35%,var(--rule))}.ops-recon-kpi.warn{border-color:color-mix(in srgb,#c28b2c 42%,var(--rule))}.ops-recon-kpi.bad{border-color:color-mix(in srgb,#d64d58 42%,var(--rule))}.ops-recon-kpi span{display:block;color:var(--ink2);font-size:9px;text-transform:uppercase;letter-spacing:.06em;line-height:1.35}.ops-recon-kpi strong{display:block;margin-top:6px;font-size:18px}.ops-recon-kpi small{display:block;margin-top:4px;color:var(--ink2);font-size:10px;line-height:1.35}.ops-recon-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:11px}.ops-recon-box{border:1px solid var(--rule);border-radius:13px;background:var(--paper);padding:13px;min-width:0}.ops-recon-box h4{margin:0 0 9px;font-size:12px}.ops-recon-row{display:grid;grid-template-columns:minmax(120px,1fr) auto auto;gap:9px;padding:6px 0;border-bottom:1px solid color-mix(in srgb,var(--rule) 70%,transparent);font-size:10.5px;align-items:baseline}.ops-recon-row:last-child{border-bottom:0}.ops-recon-row span{color:var(--ink2)}.ops-recon-row strong{font-family:var(--mono);font-size:10.5px}.ops-recon-note{margin-top:10px;padding:10px 12px;border-radius:11px;background:var(--paper);border:1px solid var(--rule);font-size:10.5px;color:var(--ink2);line-height:1.5}.ops-recon-note.good{border-color:color-mix(in srgb,var(--pos) 35%,var(--rule));color:var(--ink)}.ops-recon-note.warn{border-color:color-mix(in srgb,#c28b2c 42%,var(--rule));color:var(--ink)}
@media(max-width:1180px){.ops-connector-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ops-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.ops-page{gap:14px}.ops-hero{padding:18px;display:block}.ops-hero-meta{justify-content:flex-start;margin-top:13px}.ops-connector-grid{grid-template-columns:1fr}.ops-connector-card{padding:15px}.ops-section{padding:17px}.ops-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-flow{grid-template-columns:1fr;gap:7px}.ops-flow-arrow{height:18px;transform:rotate(90deg)}.ops-rules{grid-template-columns:1fr}.ops-section-head{margin-bottom:13px}.ops-stat strong{font-size:16px}.ops-moss-summary,.ops-moss-probes,.ops-recon-kpis,.ops-recon-grid{grid-template-columns:1fr}.ops-moss-actions,.ops-moss-reconcile-actions{width:100%}.ops-moss-actions button,.ops-moss-reconcile-actions button{width:100%}}

/* V120: Barrier Forward Improver settlement validation */
.fx-tranche-validation{grid-column:1/-1;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:12px;line-height:1.35}
.fx-tranche-validation.ok{border-color:#87b69a}
.fx-tranche-validation.warning{border-color:#d5ad61;font-weight:600}
.fx-tranche-validation.error{border-color:#c96e6e;font-weight:700}

/* V120.1 — BWA & Management Cockpit */
.bwa-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 16px}.bwa-head h1{font-size:24px;line-height:1.15;margin:2px 0 6px}.bwa-head-tools{display:flex;gap:8px;flex-wrap:wrap}.bwa-tabs{display:flex;gap:4px;overflow:auto;border-bottom:1px solid var(--rule);margin:0 0 16px}.bwa-tabs button{appearance:none;border:0;background:transparent;color:var(--ink2);font:inherit;padding:9px 13px;border-bottom:2px solid transparent;white-space:nowrap;cursor:pointer}.bwa-tabs button:hover{color:var(--ink)}.bwa-tabs button.on{color:var(--ink);border-bottom-color:var(--acc);font-weight:700}.bwa-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.bwa-kpi-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.bwa-kpi{background:var(--sheet);border:1px solid var(--rule);border-radius:14px;padding:14px;min-width:0;display:flex;flex-direction:column;gap:5px}.bwa-kpi.primary{border-color:color-mix(in srgb,var(--acc) 35%,var(--rule))}.bwa-kpi.good{border-color:color-mix(in srgb,#1b9b65 35%,var(--rule))}.bwa-kpi.bad{border-color:color-mix(in srgb,#d64d58 35%,var(--rule))}.bwa-kpi-label{font-size:11px;color:var(--ink2);text-transform:uppercase;letter-spacing:.055em}.bwa-kpi-value{font-size:21px;line-height:1.12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bwa-kpi-sub{font-size:11px;color:var(--ink2);min-height:15px}.bwa-kpi-delta{font-size:11px;font-weight:700}.bwa-kpi-delta.pos{color:#16845a}.bwa-kpi-delta.neg{color:#c8434e}.bwa-kpi-delta.flat{color:var(--ink2)}.bwa-overview-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:12px;margin-bottom:12px}.bwa-card{background:var(--sheet);border:1px solid var(--rule);border-radius:14px;padding:16px;margin-bottom:12px}.bwa-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:13px}.bwa-card-head>div{font-weight:800}.bwa-card-head small{color:var(--ink2)}.bwa-trend-list{display:flex;flex-direction:column;gap:8px}.bwa-trend-row{display:grid;grid-template-columns:42px 1fr;gap:9px;align-items:center}.bwa-month{font-size:11px;font-weight:700;color:var(--ink2)}.bwa-trend-body{min-width:0}.bwa-bar-track{height:7px;border-radius:999px;background:var(--paper);overflow:hidden}.bwa-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--acc),#8d6cff)}.bwa-trend-meta{display:grid;grid-template-columns:1fr auto auto;gap:10px;margin-top:4px;font-size:10px;color:var(--ink2)}.bwa-trend-meta .pos{color:#16845a}.bwa-trend-meta .neg{color:#c8434e}.bwa-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bwa-mini{background:var(--paper);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:4px}.bwa-mini span{font-size:10px;color:var(--ink2)}.bwa-mini strong{font-size:15px}.bwa-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.bwa-action{display:flex;align-items:flex-start;gap:10px;background:var(--sheet);color:var(--ink);border:1px solid var(--rule);border-radius:12px;padding:12px;text-align:left;cursor:pointer}.bwa-action:hover{border-color:var(--ink3);transform:translateY(-1px)}.bwa-action .ico{flex:0 0 20px;margin-top:1px;color:var(--acc)}.bwa-action>span{display:flex;flex-direction:column;gap:3px}.bwa-action small{color:var(--ink2);font-size:10px;line-height:1.35}.bwa-stmt{width:100%;border-collapse:collapse}.bwa-stmt th,.bwa-stmt td{padding:9px 10px;border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums}.bwa-stmt th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink2);text-align:right}.bwa-stmt th:first-child,.bwa-stmt td.lbl{text-align:left}.bwa-stmt td.num,.bwa-stmt td.pct{text-align:right}.bwa-stmt td.pct{color:var(--ink2);width:110px}.bwa-stmt tr.strong td{font-weight:800;background:var(--paper)}.bwa-stmt tr.clickable{cursor:pointer}.bwa-stmt tr.clickable:hover td{background:var(--paper)}.bwa-table-scroll{overflow:auto}.bwa-muted{color:var(--ink2);padding:8px 0 14px;line-height:1.5}.bwa-creditor-list{display:flex;flex-direction:column}.bwa-creditor-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,.8fr) 110px;gap:12px;align-items:center;border:0;border-bottom:1px solid var(--rule);background:transparent;color:var(--ink);padding:9px 0;cursor:pointer;text-align:left}.bwa-creditor-row>span:first-child{display:flex;flex-direction:column}.bwa-creditor-row small{color:var(--ink2);font-size:10px}.bwa-creditor-bar{height:5px;border-radius:999px;background:var(--paper);overflow:hidden}.bwa-creditor-bar>span{display:block;height:100%;background:var(--acc);border-radius:inherit}.bwa-creditor-value{text-align:right;font-variant-numeric:tabular-nums}.bwa-plan-table .pos{color:#16845a}.bwa-plan-table .neg{color:#c8434e}.bwa-empty h2{margin:4px 0 8px}
@media(max-width:1150px){.bwa-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bwa-kpi-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.bwa-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bwa-overview-grid{grid-template-columns:1fr}}
@media(max-width:700px){.bwa-head{display:block}.bwa-head-tools{margin-top:12px}.bwa-kpi-grid,.bwa-kpi-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.bwa-kpi-value{font-size:18px}.bwa-action-grid{grid-template-columns:1fr}.bwa-trend-meta{grid-template-columns:1fr;gap:2px}.bwa-creditor-row{grid-template-columns:1fr 90px}.bwa-creditor-bar{display:none}.bwa-card{padding:12px}.bwa-tabs button{padding:8px 10px}.bwa-stmt{min-width:680px}}


/* V120.3.5 · Payments feedback */
.payment-ux-row-head,.payment-ux-row{grid-template-columns:minmax(205px,1.25fr) minmax(110px,.58fr) minmax(190px,.9fr) minmax(105px,.52fr) minmax(105px,.52fr) minmax(105px,.52fr) minmax(125px,.62fr)}
.payment-ux-row{cursor:pointer}.payment-ux-row:focus{outline:2px solid color-mix(in srgb,var(--ps-purple) 55%,transparent);outline-offset:-2px}
.payment-ux-sort{appearance:none;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.payment-ux-sort:hover{color:var(--ink)}.payment-ux-sort .sort-mark{font-size:11px;letter-spacing:0;color:var(--ink2)}
.payment-ux-currency-lines{display:flex;gap:6px 10px;flex-wrap:wrap;margin-top:6px}.payment-ux-currency-lines span{font:500 10.5px/1.2 var(--mono);color:var(--ink2);white-space:nowrap}.payment-ux-currency-lines span.primary{color:var(--ink);font-weight:650}
.payment-ux-filter-chip{appearance:none;cursor:pointer;font:inherit}.payment-ux-filter-chip:hover{border-color:color-mix(in srgb,var(--ps-purple) 35%,var(--ps-border));background:color-mix(in srgb,var(--ps-purple) 5%,var(--ps-card));color:var(--ink)}.payment-ux-filter-chip .chip-x{font-size:13px;line-height:1;color:var(--ink3);margin-left:2px}.payment-ux-filter-chip:hover .chip-x{color:var(--ink)}
.payment-ux-kpi-total .payment-ux-kpi-value{font-size:18px;white-space:normal}.payment-ux-kpi-main-currencies{display:grid;gap:3px;margin-top:3px}.payment-ux-kpi-main-currencies strong{font:650 17px/1.2 var(--mono);letter-spacing:-.02em;color:var(--ink)}.payment-ux-kpi-main-currencies strong.usd{color:var(--ink2)}.payment-ux-kpi-total .payment-ux-currency-lines{margin-top:7px}
.payment-invoice-pane{width:min(760px,96vw)}.payment-invoice-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:4px 0 15px}.payment-invoice-summary>div{border:1px solid var(--ps-border);background:var(--ps-active);border-radius:12px;padding:11px 12px}.payment-invoice-summary span{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3)}.payment-invoice-summary strong{display:block;margin-top:5px;font:650 15px/1.15 var(--mono)}
.payment-invoice-meta{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px}.payment-invoice-meta>div{border-bottom:1px solid var(--ps-border);padding:8px 0}.payment-invoice-meta span{display:block;font-size:9.5px;text-transform:uppercase;color:var(--ink3)}.payment-invoice-meta strong{display:block;margin-top:4px;font-size:12px;font-weight:550}.payment-partial-list{display:grid;gap:7px}.payment-partial-row{display:grid;grid-template-columns:110px 130px minmax(0,1fr);gap:12px;align-items:start;border:1px solid var(--ps-border);border-radius:11px;padding:10px 11px}.payment-partial-row strong{font-family:var(--mono);font-size:12px}.payment-partial-row small{color:var(--ink3);line-height:1.35}.payment-partial-empty{border:1px dashed var(--ps-border);border-radius:11px;padding:12px;color:var(--ink3);font-size:11.5px}.payment-partial-error{border:1px solid color-mix(in srgb,var(--neg) 35%,var(--ps-border));background:color-mix(in srgb,var(--neg) 6%,var(--ps-card));color:var(--neg);border-radius:11px;padding:10px 12px;font-size:11.5px}.payment-partial-hint{font-size:10.5px;color:var(--ink3);line-height:1.45;margin-top:6px}
@media(max-width:1180px){.payment-ux-row-head,.payment-ux-row{grid-template-columns:minmax(190px,1.15fr) minmax(105px,.55fr) minmax(170px,.8fr) 100px 100px 120px}.payment-ux-row-head>div:nth-child(6),.payment-ux-row>.payment-ux-status-wrap{display:none}}
@media(max-width:900px){.payment-ux-row-head{display:none}.payment-ux-row{grid-template-columns:minmax(0,1fr) auto}.payment-ux-row>.payment-ux-vendor,.payment-ux-row>.payment-ux-invoice-no,.payment-ux-row>.payment-ux-class,.payment-ux-row>.payment-ux-invoice-date,.payment-ux-row>.payment-ux-date,.payment-ux-row>.payment-ux-status-wrap{grid-column:1}.payment-ux-row>.payment-ux-money{grid-column:2;grid-row:1/4}.payment-invoice-summary{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:560px){.payment-invoice-summary,.payment-invoice-meta{grid-template-columns:1fr}.payment-partial-row{grid-template-columns:1fr 1fr}.payment-partial-row small{grid-column:1/-1}.payment-ux-currency-lines{display:grid;grid-template-columns:1fr 1fr}}
/* V120.3.7 · reactive payment KPI strip */
.payment-ux-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.payment-ux-kpi{min-height:132px;display:flex;flex-direction:column}
.payment-ux-kpi .payment-ux-kpi-main-currencies{margin-top:2px;gap:4px}
.payment-ux-kpi .payment-ux-kpi-main-currencies strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.payment-ux-kpi .payment-ux-currency-lines{margin-top:7px}
.payment-ux-kpi .payment-ux-kpi-meta{margin-top:auto;padding-top:8px}
@media(max-width:1350px){.payment-ux-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.payment-ux-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.payment-ux-kpis{grid-template-columns:1fr}}
/* V120.3.9 · compact reactive KPI matrix */
.payment-ux-kpi-matrix{overflow:hidden}
.payment-ux-kpi-matrix-scroll{overflow-x:auto}
.payment-ux-kpi-grid{min-width:760px;display:grid;grid-template-columns:150px repeat(5,minmax(122px,1fr))}
.payment-ux-kpi-cell{min-height:42px;display:flex;align-items:center;justify-content:flex-end;padding:9px 14px;border-right:1px solid var(--ps-border);border-bottom:1px solid var(--ps-border);font:550 11.5px/1.2 var(--mono);white-space:nowrap}
.payment-ux-kpi-cell:nth-child(6n){border-right:0}
.payment-ux-kpi-cell.head{min-height:44px;background:color-mix(in srgb,var(--ps-active) 58%,var(--ps-card));font:550 10px/1.15 var(--ps-font);letter-spacing:.035em;color:var(--ink2);text-align:right}
.payment-ux-kpi-cell.rowhead{justify-content:flex-start;font:550 11px/1.2 var(--ps-font);color:var(--ink2);background:color-mix(in srgb,var(--ps-active) 28%,var(--ps-card))}
.payment-ux-kpi-cell.rowhead strong{font-weight:650;color:var(--ink)}
.payment-ux-kpi-cell.primary{font-weight:680;color:var(--ink);font-size:12px}
.payment-ux-kpi-cell.usd{color:var(--ink2)}
.payment-ux-kpi-cell.overdue-col:not(.head):not(.rowhead){color:var(--neg)}
.payment-ux-kpi-cell.count{font:600 12px/1.15 var(--ps-font);color:var(--ink)}
.payment-ux-kpi-cell.muted{color:var(--ink3);font-weight:450}
.payment-ux-kpi-cell.last-row{border-bottom:0}
.payment-ux-kpi-more{appearance:none;border:0;background:transparent;padding:0;color:inherit;font:inherit;cursor:pointer;display:inline-flex;gap:6px;align-items:center}.payment-ux-kpi-more:hover{color:var(--ink)}
.payment-ux-kpi-more .chev{font-size:10px;color:var(--ink3)}
@media(max-width:900px){.payment-ux-kpi-grid{min-width:700px;grid-template-columns:135px repeat(5,minmax(112px,1fr))}.payment-ux-kpi-cell{padding:8px 11px}}

/* V120.2 · invoice-first operations and feedback UX */
.ops-invoice-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ops-fx-note{margin-top:8px;padding:9px 12px;border:1px solid var(--rule);border-radius:10px;color:var(--ink2);font-size:12px;background:color-mix(in srgb,var(--brand) 3%,transparent)}
.ops-invoice-box{overflow:hidden}.ops-due-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.ops-due-chip{border:1px solid var(--rule);background:var(--paper);color:var(--ink2);border-radius:9px;padding:8px 12px;font:inherit;cursor:pointer}.ops-due-chip.on{background:var(--ink);color:var(--sheet);border-color:var(--ink)}.ops-invoice-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}.ops-invoice-summary>div{display:flex;align-items:baseline;gap:18px}.ops-invoice-summary strong{font-family:var(--mono);font-size:17px}.ops-invoice-search{min-width:280px;max-width:430px;width:40%;border:1px solid var(--rule);border-radius:10px;padding:9px 12px;background:var(--sheet);color:var(--ink)}
.ops-invoice-table-wrap{overflow:auto;max-height:610px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.ops-invoice-table{width:100%;border-collapse:collapse;min-width:960px}.ops-invoice-table thead{position:sticky;top:0;z-index:2;background:var(--sheet)}.ops-invoice-table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink2);font-weight:600;padding:12px 10px;text-align:right;border-bottom:1px solid var(--rule)}.ops-invoice-table th.left{text-align:left}.ops-invoice-table td{padding:11px 10px;text-align:right;border-bottom:1px solid color-mix(in srgb,var(--rule) 78%,transparent);font-variant-numeric:tabular-nums}.ops-invoice-table td.left{text-align:left}.ops-invoice-vendor{max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-period-cell{white-space:nowrap}.ops-period-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;background:#8b8b85}.ops-period-dot.overdue,.ops-period-dot.today{background:#bf4d3f}.ops-period-dot.d7{background:#a67a35}.ops-period-dot.d14{background:#d1ae35}.ops-period-dot.d30{background:#3865a6}.ops-period-dot.d60{background:#8b8b85}.ops-moss-status{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:11px;background:rgba(34,139,94,.10);color:#338a66;white-space:nowrap}.ops-moss-status.pending{background:rgba(168,150,112,.13);color:#7d7462}.ops-invoice-money{font-family:var(--mono);font-weight:600;white-space:nowrap}.ops-invoice-money.credit{color:var(--pos)}.ops-invoice-foot{display:flex;justify-content:flex-end;gap:16px;padding:12px 6px 0;font-family:var(--mono)}
.ops-recurring-section{margin-top:18px}.ops-invoice-section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.ops-recurring-list{display:flex;flex-direction:column}.ops-recurring-head,.ops-recurring-row{display:grid;grid-template-columns:minmax(220px,1fr) 130px 130px 145px auto;gap:16px;align-items:center}.ops-recurring-head{padding:0 0 8px;border-bottom:1px solid var(--line);font:650 10px/1.2 var(--disp);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.ops-recurring-head>div:nth-child(2),.ops-recurring-head>div:nth-child(3),.ops-recurring-head>div:nth-child(4){text-align:right}.ops-recurring-row{padding:12px 0;border-bottom:1px solid var(--rule)}.ops-recurring-row>div:first-child{display:flex;flex-direction:column;gap:3px}.ops-recurring-row small{color:var(--ink2)}.ops-recurring-amount,.ops-recurring-net,.ops-recurring-next{text-align:right;font-family:var(--mono)}.ops-recurring-net{display:flex;flex-direction:column;gap:2px}.ops-recurring-net small{font-family:var(--sans);font-size:10px}.ops-recurring-net.missing strong{color:var(--muted)}
.fx-form-section-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin:4px 0 14px;color:var(--ink)}.fx-offer-preset{margin-left:auto}.fx-payoff-strip.v1202{grid-template-columns:repeat(3,minmax(0,1fr))}.fx-offer-range{margin-top:10px;color:var(--ink2);font-size:12px}.fx-section-number{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand);margin-right:7px;font-size:11px}
.close-month-picker{display:flex;align-items:center;gap:8px;margin-left:auto}.close-month-picker label{display:flex;flex-direction:column;gap:4px;color:var(--ink2);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.close-month-picker select{min-width:145px;border:1px solid var(--rule);border-radius:9px;padding:8px 10px;background:var(--sheet);color:var(--ink)}
@media(max-width:900px){.ops-invoice-summary{align-items:stretch;flex-direction:column}.ops-invoice-search{width:100%;max-width:none}.ops-recurring-head{display:none}.ops-recurring-row{grid-template-columns:1fr 110px 110px}.ops-recurring-row .ops-recurring-next{grid-column:1}.ops-recurring-row .ghost{grid-column:1/-1}.fx-payoff-strip.v1202{grid-template-columns:1fr}.close-month-picker{width:100%;margin-left:0}.close-month-picker label{width:100%}.close-month-picker select{width:100%}}

/* V120.2.2 · team / payout-area split */
.ops-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:2px 0 14px}.ops-team-card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;border:1px solid var(--rule);background:var(--sheet);color:var(--ink);border-radius:11px;padding:11px 12px;cursor:pointer;min-height:66px}.ops-team-card span{font-size:11px;color:var(--ink2)}.ops-team-card strong{font-family:var(--mono);font-size:12px;font-weight:600}.ops-team-card.on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:color-mix(in srgb,var(--brand) 4%,var(--sheet))}.ops-team-card.on span{color:var(--brand)}
.ops-team-badge{display:inline-flex;align-items:center;max-width:180px;border:1px solid var(--rule);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:color-mix(in srgb,var(--ink) 2%,var(--sheet))}.ops-team-badge.procurement,.ops-team-badge.marketing{border-color:color-mix(in srgb,var(--brand) 35%,var(--rule));background:color-mix(in srgb,var(--brand) 6%,var(--sheet))}.ops-invoice-table{min-width:1120px}
.cash13-area-label{padding-left:26px!important;color:var(--ink2);font-size:11px}.cash13-area-label:before{content:'↳';margin-right:7px;color:var(--ink3)}.cash13-area-value{font-size:11px;color:var(--ink2)}
@media(max-width:900px){.ops-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-team-card{min-width:0}.cash13-area-label{padding-left:18px!important}}
@media(max-width:560px){.ops-team-grid{grid-template-columns:1fr}}


/* V120.3.19 · recurring payments use gross amount + explicit VAT rate; net is derived for transparency while cash remains gross. */

/* V120.3 · functional process UX */
.tax-process-v1203,.close-process-v1203,.close-next-v1203{display:grid;gap:12px}
.tax-process-head,.close-process-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.tax-process-head h2,.close-process-head h2{font-family:var(--disp);font-size:18px;margin:1px 0 4px}
.tax-process-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tax-process-metrics>div{border:1px solid var(--line);border-radius:12px;background:var(--soft);padding:10px 12px}.tax-process-metrics span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.tax-process-metrics strong{display:block;margin-top:4px;font-size:18px}
.tax-next-list{display:grid;gap:7px}.tax-next-row{display:grid;grid-template-columns:105px minmax(220px,1fr) 120px auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:10px 12px;background:var(--card)}.tax-next-row.overdue{border-color:color-mix(in srgb,var(--bad,#b42318) 32%,var(--line))}.tax-next-row.due{border-color:color-mix(in srgb,var(--warn,#b57900) 38%,var(--line))}.tax-next-date strong,.tax-next-main strong{display:block;font-size:11.5px}.tax-next-date small,.tax-next-main small{display:block;margin-top:2px;color:var(--muted);font-size:9.5px;line-height:1.4}.tax-next-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.tax-process-empty{border:1px dashed var(--line);border-radius:13px;padding:14px;display:grid;gap:3px;color:var(--muted);font-size:11px}.tax-process-empty strong{color:var(--ink)}
.tax-process-meta{margin-top:5px!important;padding-top:4px;border-top:1px dashed var(--line)}.tax-process-meta.linked{color:var(--good,#067647)!important}.tax-process-meta.none{color:var(--warn,#8b6200)!important}.tax-owner-warning{color:var(--bad,#b42318)!important;font-weight:700}.tax-quick-action{border-color:color-mix(in srgb,var(--acc) 38%,var(--line))!important}
.close-stage-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.close-stage{display:flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:13px;background:var(--soft);padding:11px;min-width:0}.close-stage-no{width:25px;height:25px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--line);font-size:10px;font-weight:800;flex:0 0 auto}.close-stage strong{display:block;font-size:11px;line-height:1.25}.close-stage small{display:block;margin-top:2px;font-size:9px;color:var(--muted)}.close-stage.done{border-color:color-mix(in srgb,var(--good,#067647) 38%,var(--line));background:color-mix(in srgb,var(--good,#067647) 6%,var(--card))}.close-stage.current{border-color:color-mix(in srgb,var(--acc) 45%,var(--line));background:color-mix(in srgb,var(--acc) 7%,var(--card))}.close-stage.warn{border-color:color-mix(in srgb,var(--warn,#b57900) 45%,var(--line));background:color-mix(in srgb,var(--warn,#b57900) 7%,var(--card))}
.close-workstream-head{padding-top:2px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.close-workstreams{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.close-workstream{border:1px solid var(--line);border-radius:12px;padding:9px;background:var(--card);min-width:0}.close-workstream span{display:block;font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.close-workstream strong{display:block;margin-top:3px;font-size:12px}.close-workstream-bar{height:5px;border-radius:999px;background:var(--soft);overflow:hidden;margin-top:6px}.close-workstream-bar i{display:block;height:100%;background:var(--acc)}.close-workstream small{display:block;margin-top:4px;font-size:8.5px;color:var(--bad,#b42318)}.close-workstream.critical{border-color:color-mix(in srgb,var(--bad,#b42318) 26%,var(--line))}
.close-next-list{display:grid;gap:7px}.close-next-row{display:grid;grid-template-columns:minmax(240px,1fr) 120px auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--card)}.close-next-row.overdue,.close-next-row.blocked{border-color:color-mix(in srgb,var(--bad,#b42318) 30%,var(--line))}.close-next-row strong{display:block;font-size:11.5px}.close-next-row small{display:block;margin-top:3px;font-size:9.5px;color:var(--muted)}.close-next-empty,.close-ready-action,.close-data-warning{border:1px solid var(--line);border-radius:13px;padding:12px 13px;background:var(--soft);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11px}.close-next-empty.done,.close-ready-action{border-color:color-mix(in srgb,var(--good,#067647) 32%,var(--line));background:color-mix(in srgb,var(--good,#067647) 6%,var(--card))}.close-data-warning{border-color:color-mix(in srgb,var(--warn,#b57900) 38%,var(--line));background:color-mix(in srgb,var(--warn,#b57900) 6%,var(--card))}.close-data-warning span{flex:1 1 420px;color:var(--muted);line-height:1.45}
.close-task-filter{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 10px}.close-filter-chip{border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--muted);padding:6px 9px;font:650 9.5px/1 var(--sans);cursor:pointer}.close-filter-chip.on{border-color:var(--acc);color:var(--ink);background:color-mix(in srgb,var(--acc) 7%,var(--card))}.close-filter-empty{border:1px dashed var(--line);border-radius:12px;padding:12px;color:var(--muted);font-size:10.5px;margin-top:8px}
@media(max-width:1100px){.close-workstreams{grid-template-columns:repeat(3,minmax(0,1fr))}.tax-next-row{grid-template-columns:95px minmax(190px,1fr) auto}.tax-next-row>.tax-status{display:none}.tax-next-actions{grid-column:3}.close-stage-strip{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.tax-process-metrics{grid-template-columns:1fr 1fr}.tax-next-row{grid-template-columns:1fr auto;align-items:start}.tax-next-date{grid-column:1}.tax-next-main{grid-column:1/-1;grid-row:2}.tax-next-actions{grid-column:1/-1;grid-row:3;justify-content:flex-start}.tax-next-actions .ghost{flex:1 1 auto}.close-stage-strip,.close-workstreams{grid-template-columns:1fr 1fr}.close-next-row{grid-template-columns:1fr auto;align-items:start}.close-next-row>button{grid-column:1/-1;width:100%}}
@media(max-width:500px){.tax-process-metrics,.close-stage-strip,.close-workstreams{grid-template-columns:1fr}.close-next-empty,.close-ready-action,.close-data-warning{align-items:stretch}.close-next-empty .ghost,.close-ready-action .ghost,.close-data-warning .ghost{width:100%}}

.ops-cost-filter{margin:2px 0 16px;padding-top:13px;border-top:1px solid var(--rule)}
.ops-cost-filter-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.ops-cost-filter-head>span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.ops-cost-filter-head>small{font-size:11px;color:var(--ink2)}
.ops-cost-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px}.ops-cost-card{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;border:1px solid var(--rule);background:color-mix(in srgb,var(--ink) 1.5%,var(--sheet));color:var(--ink);border-radius:9px;padding:9px 10px;cursor:pointer;min-height:58px}.ops-cost-card span{font-size:10px;color:var(--ink2)}.ops-cost-card strong{font-family:var(--mono);font-size:11px}.ops-cost-card.on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:color-mix(in srgb,var(--brand) 4%,var(--sheet))}.ops-cost-card.on span{color:var(--brand)}
.ops-cost-note{margin-top:8px;font-size:10px;line-height:1.45;color:var(--ink2)}.ops-cost-badge{display:inline-flex;max-width:190px;border-radius:999px;border:1px solid var(--rule);padding:4px 8px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:color-mix(in srgb,var(--ink) 2%,var(--sheet))}.ops-cost-badge.import,.ops-cost-badge.inventory,.ops-cost-badge.creator,.ops-cost-badge.paid_media{border-color:color-mix(in srgb,var(--brand) 25%,var(--rule))}
.cash13-cost-wrap{overflow:auto;border:1px solid var(--rule);border-radius:10px}.cash13-cost-table{width:100%;min-width:760px;border-collapse:collapse}.cash13-cost-table th,.cash13-cost-table td{padding:10px 12px;border-bottom:1px solid var(--rule);font-size:11px}.cash13-cost-table th{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink2);background:var(--sheet)}.cash13-cost-table th.left,.cash13-cost-table td.left{text-align:left}.cash13-cost-table th.num,.cash13-cost-table td.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.cash13-cost-table tbody tr:last-child td{border-bottom:0}.cash13-cost-table td:nth-child(2){font-weight:600}.cash13-cost-section .vtitle{font-size:17px}
@media(max-width:900px){.ops-cost-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-invoice-table{min-width:1280px}}
@media(max-width:560px){.ops-cost-grid{grid-template-columns:1fr}.ops-cost-filter-head{align-items:flex-start;flex-direction:column;gap:3px}}


/* V120.3.16 · filtered totals + cleaner tool overview hierarchy */
.subscription-page .subscription-kpis{margin-bottom:18px}
.subscription-page .subscription-head{margin-top:0}
.subscription-list-total{display:grid;grid-template-columns:minmax(260px,1.55fr) minmax(140px,.8fr) minmax(125px,.7fr) minmax(125px,.7fr) minmax(150px,.85fr) minmax(150px,.85fr) minmax(135px,.75fr);gap:10px;align-items:center;padding:18px 20px;border-top:2px solid var(--line);background:color-mix(in srgb,var(--soft) 78%,var(--card));position:sticky;bottom:0;z-index:1;box-sizing:border-box;min-width:0}
.subscription-total-main,.subscription-total-money{display:grid;gap:4px;min-width:0}.subscription-total-main strong{font-size:13px}.subscription-total-main small,.subscription-total-money small{font-size:10.5px;color:var(--mut)}.subscription-total-money strong{font-family:var(--mono);font-size:13px;font-variant-numeric:tabular-nums}.subscription-total-money.partial strong{color:var(--warn,#8b6200)}
@media(max-width:980px){.subscription-list-total{min-width:1120px}}

/* V120.3.2 · cost taxonomy governance, mapping quality and BWA alignment */
.ops-class-filter{margin:10px 0 16px;padding-top:13px;border-top:1px dashed var(--rule)}.ops-class-filter-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.ops-class-filter-head>span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.ops-class-filter-head>small{font-size:11px;color:var(--ink2)}
.ops-class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:7px}.ops-class-card{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;border:1px solid var(--rule);background:var(--sheet);color:var(--ink);border-radius:9px;padding:9px 10px;cursor:pointer;min-height:58px}.ops-class-card span{font-size:10px;color:var(--ink2)}.ops-class-card strong{font-family:var(--mono);font-size:11px}.ops-class-card.on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:color-mix(in srgb,var(--brand) 4%,var(--sheet))}.ops-class-card.review{border-color:color-mix(in srgb,var(--warn,#b57900) 38%,var(--rule))}.ops-class-card.review.on{border-color:var(--warn,#b57900);box-shadow:inset 0 0 0 1px var(--warn,#b57900)}
.ops-class-badge{display:inline-flex;align-items:center;max-width:150px;border:1px solid var(--rule);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:600;white-space:nowrap;background:color-mix(in srgb,var(--ink) 2%,var(--sheet))}.ops-class-badge.high{border-color:color-mix(in srgb,var(--good,#067647) 30%,var(--rule));color:var(--good,#067647)}.ops-class-badge.medium{border-color:color-mix(in srgb,var(--brand) 30%,var(--rule));color:var(--brand)}.ops-class-badge.low,.ops-class-badge.review{border-color:color-mix(in srgb,var(--warn,#b57900) 38%,var(--rule));color:var(--warn,#8b6200)}
.cash13-cost-recon{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:9px;padding:9px 11px;border:1px solid var(--rule);border-radius:9px;background:color-mix(in srgb,var(--ink) 1.5%,var(--sheet));font-size:10px;color:var(--ink2)}.cash13-cost-recon strong{font-family:var(--mono);font-size:11px;color:var(--good,#067647)}.cash13-cost-recon.warn strong{color:var(--bad,#b42318)}
.bwa-cost-note{margin-top:10px;padding:10px 12px;border:1px solid var(--rule);border-radius:10px;color:var(--ink2);font-size:11px;line-height:1.45;background:color-mix(in srgb,var(--ink) 1.5%,var(--sheet))}.bwa-cost-coverage{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}.bwa-cost-coverage .bwa-kpi{margin:0}.bwa-cost-unmapped{margin-top:12px}.bwa-cost-unmapped h3{font-size:13px;margin:0 0 7px}.bwa-cost-unmapped .bwa-stmt{min-width:660px}.bwa-cost-top{max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink2);font-size:10px}
@media(max-width:900px){.ops-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-invoice-table{min-width:1420px}.bwa-cost-coverage{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ops-class-grid,.bwa-cost-coverage{grid-template-columns:1fr}.ops-class-filter-head{align-items:flex-start;flex-direction:column;gap:3px}.cash13-cost-recon{align-items:flex-start;flex-direction:column}}

/* V120.3.8 · Treasury Finanzierungen */
.financing-subnav{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.financing-subnav .ghost.active{background:var(--ps-purple-soft,#eef0ff);border-color:color-mix(in srgb,var(--ps-purple,#5964d8) 30%,#dfe3ea);color:var(--ps-purple,#4f59c8)}
.financing-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:12px}.financing-kpi{border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:18px;display:grid;gap:7px;min-width:0}.financing-kpi>span{font-size:12px;color:var(--mut)}.financing-kpi strong{font-size:20px;line-height:1.25;overflow-wrap:anywhere}.financing-kpi small{font-size:11px;color:var(--mut)}
.financing-table-wrap{overflow:auto;margin-top:14px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.financing-table{width:100%;border-collapse:collapse;min-width:1050px}.financing-table th,.financing-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;font-size:12px}.financing-table th{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);background:color-mix(in srgb,var(--sheet) 72%,white)}.financing-table tbody tr{cursor:pointer}.financing-table tbody tr:hover{background:color-mix(in srgb,var(--sheet) 80%,white)}.financing-table tr.inactive{opacity:.55}.financing-table.schedule tbody tr{cursor:default}
.financing-facility-list{display:grid;gap:12px;margin-top:12px}.financing-facility-card{border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:18px;display:grid;gap:14px}.financing-facility-card.inactive{opacity:.6}.financing-facility-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.financing-facility-top h3{margin:0 0 5px;font-size:17px}.financing-facility-top p{margin:0;color:var(--mut);font-size:12px}.financing-facility-value{text-align:right;display:grid;gap:3px}.financing-facility-value strong{font-size:20px}.financing-facility-value small{color:var(--mut)}.financing-facility-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.financing-facility-meta>div{background:var(--sheet);border-radius:12px;padding:10px 12px;display:grid;gap:4px}.financing-facility-meta span{font-size:10.5px;color:var(--mut)}.financing-facility-meta strong{font-size:12px}
.financing-form-grid{padding:16px 20px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.financing-form-grid .sel{display:grid;gap:6px}.financing-form-grid .sel.wide{grid-column:1/-1}.financing-form-grid .sel>span{font-size:11px;color:var(--mut)}.financing-form-grid input,.financing-form-grid select,.financing-form-grid textarea{width:100%;box-sizing:border-box}.financing-form-grid input[type=checkbox]{width:18px;height:18px}.financing-form-preview{margin:0 20px 18px;border:1px solid var(--line);border-radius:14px;background:var(--sheet);padding:14px;display:grid;gap:7px}.financing-form-preview span{font-size:11.5px;color:var(--mut)}
@media(max-width:1100px){.financing-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.financing-facility-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.financing-kpis,.financing-facility-meta,.financing-form-grid{grid-template-columns:1fr}.financing-form-grid .sel.wide{grid-column:auto}.financing-facility-top{flex-direction:column}.financing-facility-value{text-align:left}}

/* V120.3.13 · compact module headers, consistent local tabs, tool actions and sorting */
.module-local-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.module-local-action{min-height:38px;white-space:nowrap}
.subscription-page .subscription-toolbar{grid-template-columns:170px 210px minmax(200px,1fr) 220px minmax(250px,1fr) auto}.subscription-page .subscription-toolbar .subscription-reset{align-self:end;height:42px}
.subscription-page .subscription-list-head,.subscription-page .subscription-row{grid-template-columns:minmax(260px,1.55fr) minmax(140px,.8fr) minmax(125px,.7fr) minmax(125px,.7fr) minmax(150px,.85fr) minmax(150px,.85fr) minmax(135px,.75fr)}
.subscription-sort-head{appearance:none;border:0;background:transparent;padding:0;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;display:inline-flex;align-items:center;gap:5px;cursor:pointer;text-align:left}.subscription-sort-head:hover{color:var(--ink)}.subscription-sort-head span{font-size:11px;color:var(--acc)}
.subscription-row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:9px}.subscription-row-actions .ghost{padding:6px 9px;font-size:9.5px}.subscription-row-actions .subscription-delete{color:var(--bad)}
.subscription-row[role="button"]{cursor:pointer}.subscription-row[role="button"]:focus-visible{outline:2px solid color-mix(in srgb,var(--acc) 55%,transparent);outline-offset:-2px}
.subscription-workflow-action{margin-top:7px}.payment-ux-quality-card small{display:block;margin-top:4px;color:var(--ink3);font-size:9.5px;font-weight:400}
@media(max-width:1320px){.subscription-page .subscription-list-head,.subscription-page .subscription-row{grid-template-columns:minmax(240px,1.45fr) minmax(130px,.76fr) minmax(115px,.68fr) minmax(115px,.68fr) minmax(140px,.82fr) minmax(140px,.82fr)}.subscription-page .subscription-owner-col{display:none}.subscription-page .subscription-toolbar{grid-template-columns:1fr 1fr 1fr 1fr}.subscription-page .subscription-toolbar .subscription-search{grid-column:1/4}.subscription-page .subscription-toolbar .subscription-reset{grid-column:4}}
@media(max-width:900px){.module-local-nav{align-items:stretch}.module-local-action{width:100%}.subscription-page .subscription-toolbar{grid-template-columns:1fr 1fr}.subscription-page .subscription-toolbar .subscription-search,.subscription-page .subscription-toolbar .subscription-reset{grid-column:1/-1}.subscription-page .subscription-list-head{display:none}.subscription-page .subscription-row{grid-template-columns:1fr 1fr}}

/* V120.3.16 · tools KPI/filter order, filtered totals footer, net sorting and payments header cleanup */
.subscription-tools-section,.subscription-page .subscription-list{min-width:0;max-width:100%;box-sizing:border-box}.subscription-page .subscription-list{overflow-x:auto;overflow-y:visible}.subscription-page .subscription-list-head,.subscription-page .subscription-row{width:100%;min-width:0;box-sizing:border-box;grid-template-columns:minmax(190px,1.25fr) minmax(110px,.72fr) minmax(100px,.62fr) minmax(100px,.62fr) minmax(118px,.72fr) minmax(118px,.72fr) minmax(100px,.62fr);gap:10px}.subscription-page .subscription-list-head>*,.subscription-page .subscription-row>*{min-width:0}.subscription-page .subscription-owner-col strong,.subscription-page .subscription-owner-col small{overflow-wrap:anywhere}.subscription-page .subscription-title{white-space:normal;line-height:1.25}.subscription-row-actions{row-gap:5px}
.payment-ux-toolbar-tools-style{display:grid;grid-template-columns:minmax(260px,1.25fr) repeat(4,minmax(145px,.7fr)) auto;gap:10px;align-items:end;padding:16px 18px}.payment-ux-labeled{min-width:0;display:grid;gap:6px}.payment-ux-labeled>span{font-size:11px;color:var(--ink2);line-height:1}.payment-ux-labeled input,.payment-ux-labeled select{width:100%;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font-size:12px;padding:0 32px 0 12px;box-sizing:border-box}.payment-ux-labeled input{padding-right:12px}.payment-ux-labeled input:focus,.payment-ux-labeled select:focus{outline:none;border-color:color-mix(in srgb,var(--acc) 55%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 10%,transparent)}.payment-ux-toolbar-tools-style .payment-ux-reset{height:42px;align-self:end}.payment-ux-toolbar-tools-style .payment-ux-filter{max-width:none}.payment-ux-active-in-toolbar{grid-column:1/-1;padding:3px 0 0}
@media(max-width:1320px){.subscription-page .subscription-list-head,.subscription-page .subscription-row{grid-template-columns:minmax(180px,1.2fr) minmax(105px,.7fr) minmax(95px,.62fr) minmax(95px,.62fr) minmax(110px,.7fr) minmax(110px,.7fr)}.subscription-page .subscription-owner-col{display:none}.payment-ux-toolbar-tools-style{grid-template-columns:repeat(3,minmax(0,1fr))}.payment-ux-toolbar-tools-style .payment-ux-search-field{grid-column:1/3}}
@media(max-width:900px){.payment-ux-toolbar-tools-style{grid-template-columns:1fr 1fr}.payment-ux-toolbar-tools-style .payment-ux-search-field{grid-column:1/-1}.payment-ux-toolbar-tools-style .payment-ux-reset{grid-column:1/-1;width:100%}}
@media(max-width:620px){.payment-ux-toolbar-tools-style{grid-template-columns:1fr}.payment-ux-toolbar-tools-style .payment-ux-search-field,.payment-ux-toolbar-tools-style .payment-ux-reset{grid-column:auto}}


/* V120.3.35 · GetKlar Profitability + Marketing scope */
.gk-page{display:grid;gap:16px;min-width:0;--gk-card:var(--sheet);--gk-soft:color-mix(in srgb,var(--acc) 3%,var(--sheet));--gk-good:#2f8f62;--gk-warn:#a36d00;--gk-cost:#b05b4e}.gk-dashboard{padding-bottom:8px}.gk-hero{display:flex;justify-content:space-between;gap:28px;align-items:flex-start;padding:24px 26px;border:1px solid var(--rule);border-radius:20px;background:linear-gradient(135deg,var(--sheet),color-mix(in srgb,var(--acc) 4%,var(--sheet)));box-shadow:var(--sh)}.gk-hero h1{margin:3px 0 7px;font-family:var(--disp);font-size:31px;line-height:1.05;letter-spacing:-.035em}.gk-lede{margin:0;max-width:760px;color:var(--ink2);font-size:13px;line-height:1.55}.gk-meta{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;max-width:420px}
.gk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--rule);border-radius:14px;background:var(--sheet)}.gk-quick{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.gk-toolbar-caption{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-right:4px}.gk-chip{border:1px solid var(--rule);background:var(--sheet);color:var(--ink2);border-radius:999px;padding:7px 10px;font:550 11px/1 var(--sans);cursor:pointer}.gk-chip:hover{border-color:var(--ink3);color:var(--ink)}.gk-chip.on{border-color:color-mix(in srgb,var(--acc) 48%,var(--rule));background:color-mix(in srgb,var(--acc) 8%,var(--sheet));color:var(--acc)}.gk-live-flag{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}.gk-live-flag i{width:7px;height:7px;border-radius:50%;background:currentColor}.gk-live-flag.ok{background:color-mix(in srgb,var(--gk-good) 9%,var(--sheet));color:var(--gk-good)}.gk-live-flag.warn{background:color-mix(in srgb,var(--gk-warn) 10%,var(--sheet));color:var(--gk-warn)}
.gk-filter{display:flex;justify-content:space-between;gap:14px;align-items:end;padding:15px 16px;border:1px solid var(--rule);border-radius:16px;background:var(--sheet);box-shadow:0 1px 3px rgba(27,35,64,.025)}.gk-filter-fields{display:grid;grid-template-columns:minmax(190px,1.2fr) 145px 145px minmax(220px,1fr);gap:10px;flex:1}.gk-filter label{display:grid;gap:5px;min-width:0}.gk-filter label>span{font-size:10.5px;color:var(--ink2)}.gk-filter input,.gk-filter select{width:100%;max-width:none;height:40px;border:1px solid var(--rule);border-radius:10px;background:var(--sheet);color:var(--ink);padding:0 10px;box-sizing:border-box}.gk-actions{display:flex;gap:8px;flex-wrap:wrap}.gk-load{min-width:140px;height:40px}.gk-note{padding:12px 14px;border:1px solid var(--rule);border-radius:13px;background:var(--sheet);font-size:12px;line-height:1.45;color:var(--ink2)}.gk-note.ok{border-color:color-mix(in srgb,var(--gk-good) 25%,var(--rule));background:color-mix(in srgb,var(--gk-good) 4%,var(--sheet))}.gk-note.warn{border-color:color-mix(in srgb,var(--gk-warn) 28%,var(--rule));background:color-mix(in srgb,var(--gk-warn) 5%,var(--sheet))}.gk-note.bad{border-color:color-mix(in srgb,var(--neg) 35%,var(--rule));color:var(--neg)}.gk-loading-card{padding:22px;border:1px solid var(--rule);border-radius:16px;background:var(--sheet);color:var(--ink2);font-size:12px;position:relative;overflow:hidden}.gk-loading-card:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:35%;background:var(--acc);animation:gkload 1.1s ease-in-out infinite alternate}@keyframes gkload{from{transform:translateX(-70%)}to{transform:translateX(270%)}}
.gk-status-card{display:grid;grid-template-columns:minmax(260px,1.1fr) minmax(420px,1.5fr);gap:18px;align-items:center;padding:15px 17px;border:1px solid var(--rule);border-radius:16px;background:var(--sheet)}.gk-status-main{display:flex;align-items:center;gap:11px;min-width:0}.gk-status-main>div{display:grid;gap:2px;min-width:0}.gk-status-main strong{font-size:12.5px}.gk-status-main small{font-size:10.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gk-status-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 10%,transparent)}.gk-status-dot.ok{background:var(--gk-good);color:var(--gk-good)}.gk-status-dot.warn{background:var(--gk-warn);color:var(--gk-warn)}.gk-status-meta{display:grid;grid-template-columns:1.35fr .7fr .9fr;gap:8px}.gk-mini{padding:10px 11px;border:1px solid var(--hair);border-radius:11px;background:color-mix(in srgb,var(--paper) 55%,var(--sheet));min-width:0}.gk-mini>span{display:block;font-size:9.5px;color:var(--ink3);margin-bottom:4px}.gk-mini>strong{display:block;font:600 12.5px/1.25 var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gk-mini>small{display:block;margin-top:3px;font-size:9px;color:var(--ink3)}
.gk-kpi-grid{display:grid;gap:11px}.gk-kpi-grid.primary{grid-template-columns:1.35fr 1.15fr 1.15fr .9fr .9fr}.gk-kpi-grid.drivers{grid-template-columns:repeat(4,minmax(0,1fr))}.gk-kpi-card{position:relative;overflow:hidden;border:1px solid var(--rule);border-radius:17px;background:var(--sheet);padding:16px;min-width:0;box-shadow:0 1px 3px rgba(27,35,64,.025)}.gk-kpi-card.hero{padding:18px}.gk-kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--rule)}.gk-kpi-card.good:before{background:var(--gk-good)}.gk-kpi-card.accent:before{background:var(--acc)}.gk-kpi-card.cost:before{background:color-mix(in srgb,var(--gk-cost) 75%,var(--rule))}.gk-kpi-card.warn:before{background:var(--gk-warn)}.gk-kpi-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.gk-kpi-label{font-size:10.5px;color:var(--ink2)}.gk-kpi-badge{font-size:8.5px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);border:1px solid var(--hair);border-radius:999px;padding:3px 6px}.gk-kpi-number{display:block;margin-top:9px;font:650 24px/1.05 var(--mono);letter-spacing:-.035em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gk-kpi-card.hero .gk-kpi-number{font-size:26px}.gk-kpi-meta{display:block;margin-top:7px;color:var(--ink3);font-size:10px;line-height:1.35}.gk-kpi-ratio{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;margin-top:9px;font:550 10px/1 var(--mono);color:var(--ink2)}.gk-kpi-track{height:5px;border-radius:999px;background:var(--hair);overflow:hidden}.gk-kpi-fill{display:block;height:100%;border-radius:999px;background:var(--acc)}.gk-kpi-card.good .gk-kpi-fill{background:var(--gk-good)}.gk-kpi-card.cost .gk-kpi-fill{background:var(--gk-cost)}.gk-kpi-card.warn .gk-kpi-fill{background:var(--gk-warn)}
.gk-section-title{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:4px 2px 0}.gk-section-title .eyebrow{margin-bottom:3px}.gk-section-title h2{margin:0;font:650 18px/1.15 var(--disp);letter-spacing:-.02em}.gk-section-title small{color:var(--ink3);font-size:10.5px}.gk-visual-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:12px}.gk-panel,.gk-section{border:1px solid var(--rule);border-radius:18px;background:var(--sheet);overflow:hidden;min-width:0;box-shadow:0 1px 3px rgba(27,35,64,.025)}.gk-panel-head,.gk-section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--rule)}.gk-panel-head .eyebrow{margin-bottom:3px}.gk-panel-head h2{margin:0;font:650 16px/1.15 var(--disp);letter-spacing:-.015em}.gk-panel-head small,.gk-section-head small{font-weight:400;color:var(--ink3);font-size:10.5px}.gk-bridge-list{display:grid;padding:10px 18px 15px}.gk-bridge-row{display:grid;grid-template-columns:145px minmax(120px,1fr) 125px;gap:14px;align-items:center;padding:9px 0;border-bottom:1px solid var(--hair)}.gk-bridge-row:last-child{border-bottom:0}.gk-bridge-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.gk-bridge-label strong{font-size:11px}.gk-bridge-label span{font:500 9.5px/1 var(--mono);color:var(--ink3)}.gk-bridge-track{height:8px;border-radius:999px;background:var(--hair);overflow:hidden}.gk-bridge-fill{display:block;height:100%;background:var(--acc);border-radius:999px}.gk-bridge-row.cost .gk-bridge-fill{background:var(--gk-cost)}.gk-bridge-row.margin .gk-bridge-fill{background:var(--gk-good)}.gk-bridge-row.strong{font-weight:700}.gk-bridge-value{text-align:right;font:600 11.5px/1 var(--mono);white-space:nowrap}.gk-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:15px}.gk-mini-grid .gk-mini{padding:12px}.gk-mini-grid .gk-mini strong{font-size:14px}
.gk-table-wrap{overflow:auto;max-width:100%}.gk-pnl-table,.gk-daily-table{width:100%;border-collapse:collapse;font-size:12px}.gk-pnl-table td,.gk-daily-table th,.gk-daily-table td{padding:12px 16px;border-bottom:1px solid var(--rule)}.gk-pnl-table td.val,.gk-daily-table td.val{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.gk-pnl-table td.muted{color:var(--ink3);width:110px}.gk-pnl-table tr.subtotal,.gk-pnl-table tr.total{font-weight:800;background:color-mix(in srgb,var(--acc) 4%,var(--sheet))}.gk-pnl-table tr.total{border-top:2px solid var(--rule)}.gk-pnl-table tr.cost td:first-child{color:var(--ink2)}.gk-detail-section{margin-top:1px}.gk-footnote{font-size:10.5px;line-height:1.5;color:var(--ink3);padding:0 3px}.gk-footnote strong{color:var(--ink2)}
.gk-shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;padding:16px 18px}.gk-shop{border:1px solid var(--rule);border-radius:13px;padding:12px;display:grid;grid-template-columns:1fr auto;gap:5px 10px;background:var(--sheet)}.gk-shop strong{min-width:0;overflow-wrap:anywhere}.gk-shop span{font-size:10px;font-weight:700}.gk-shop span.ok{color:var(--gk-good)}.gk-shop small{grid-column:1/-1;color:var(--ink3);font-size:10.5px}.gk-shop.selected{border-color:color-mix(in srgb,var(--gk-good) 45%,var(--rule));background:color-mix(in srgb,var(--gk-good) 4%,var(--sheet))}.gk-sources-collapsed{opacity:.92}
@media(max-width:1280px){.gk-kpi-grid.primary{grid-template-columns:repeat(3,minmax(0,1fr))}.gk-kpi-grid.drivers{grid-template-columns:repeat(2,minmax(0,1fr))}.gk-visual-grid{grid-template-columns:1fr}.gk-filter-fields{grid-template-columns:1.1fr 140px 140px 1fr}.gk-status-card{grid-template-columns:1fr}.gk-status-meta{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.gk-hero,.gk-filter,.gk-toolbar{flex-direction:column;align-items:stretch}.gk-meta{justify-content:flex-start}.gk-filter-fields{grid-template-columns:1fr 1fr}.gk-actions .ghost{flex:1}.gk-kpi-grid.primary{grid-template-columns:1fr 1fr}.gk-status-meta{grid-template-columns:1fr 1fr 1fr}.gk-bridge-row{grid-template-columns:125px minmax(80px,1fr) 110px}.gk-live-flag{width:max-content}}
@media(max-width:620px){.gk-hero{padding:19px}.gk-hero h1{font-size:25px}.gk-filter-fields,.gk-kpi-grid.primary,.gk-kpi-grid.drivers,.gk-status-meta,.gk-mini-grid{grid-template-columns:1fr}.gk-kpi-card.hero .gk-kpi-number,.gk-kpi-number{font-size:22px}.gk-bridge-row{grid-template-columns:1fr;gap:6px}.gk-bridge-value{text-align:left}.gk-toolbar{padding:10px}.gk-quick{align-items:flex-start}.gk-live-flag{white-space:normal}.gk-section-title{align-items:flex-start;flex-direction:column}.gk-section-title small{display:none}}

/* V120.3.35 · CM3 live via Marketing scope; EBITDA remains gated by overhead source */
.gk-kpi-grid.profitability{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.gk-kpi-card.missing{background:color-mix(in srgb,var(--ink) 1.5%,var(--sheet));border-style:dashed;box-shadow:none}.gk-kpi-card.missing:before{background:var(--hair)}.gk-kpi-card.missing .gk-kpi-number{color:var(--ink3)}.gk-kpi-card.missing .gk-kpi-badge{color:var(--gk-warn);border-color:color-mix(in srgb,var(--gk-warn) 30%,var(--hair));background:color-mix(in srgb,var(--gk-warn) 5%,var(--sheet))}.gk-commercial-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.gk-commercial-strip .gk-mini{padding:12px 14px;background:var(--sheet);border-color:var(--rule)}.gk-commercial-strip .gk-mini strong{font-size:16px}.gk-source-gap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--gk-warn) 28%,var(--rule));border-radius:14px;background:color-mix(in srgb,var(--gk-warn) 4%,var(--sheet))}.gk-source-gap>div{display:grid;gap:3px}.gk-source-gap strong{font-size:11.5px}.gk-source-gap span{font-size:10.5px;line-height:1.4;color:var(--ink2)}.gk-source-gap-badge{white-space:nowrap!important;font-weight:650!important;color:var(--gk-warn)!important;border:1px solid color-mix(in srgb,var(--gk-warn) 35%,var(--rule));border-radius:999px;padding:5px 8px}.gk-pnl-table tr.missing td{color:var(--ink3);background:color-mix(in srgb,var(--ink) 1.2%,var(--sheet));font-style:italic}.gk-pnl-table tr.missing td:first-child{font-style:normal}.gk-pnl-table tr.subtotal td:first-child,.gk-pnl-table tr.total td:first-child{font-weight:800}.gk-detail-section{margin-top:0}.gk-section-title,.gk-visual-grid{display:none!important}
@media(max-width:1280px){.gk-kpi-grid.profitability{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.gk-kpi-grid.profitability,.gk-commercial-strip{grid-template-columns:1fr 1fr}.gk-source-gap{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.gk-kpi-grid.profitability,.gk-commercial-strip{grid-template-columns:1fr}}
