
  :root{
    --lime:#CFDD28;--lime-ink:#171819;--amber:#E6B95A;--amber-strong:#c9902a;--red:#E7705E;--red-strong:#c74a38;
    --blue:#6ba3ea;--teal:#5cc8b6;
    --ink:#F4F4F1;--mut:#a8aaa7;--faint:#8D8F91;--bg:#0A0B0C;--card:#17181B;--card2:#1D1F22;--panel:#242629;--rail:#0A0B0C;
    --gray:#5f6165;--line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.15);
    --grid:rgba(255,255,255,.06);--track:rgba(255,255,255,.07);--shadow:0 24px 60px -30px rgba(0,0,0,.85);
    --redwash:rgba(231,112,94,.10);--limewash:rgba(207,221,40,.12);--bluewash:rgba(107,163,234,.12);
    --lime-text:#CFDD28;
    --blue-ink:#6BA3EA;--amber-ink:#E6B95A;--red-ink:#E7705E
  }
  html[data-theme="light"]{
    --ink:#161719;--mut:#5b5f63;--faint:#63666A;--bg:#E9EBE1;--card:#FFFFFF;--card2:#FBFCF6;--panel:#F2F4E8;--rail:#E9EBE1;
    --red:#c74a38;--red-strong:#a63322;--blue:#3a72c0;--teal:#2f9b86;--gray:#a9abae;--line:rgba(20,22,20,.11);--line2:rgba(20,22,20,.18);
    --grid:rgba(20,22,20,.08);--track:rgba(20,22,20,.08);--amber-strong:#9c6a15;--shadow:0 24px 60px -34px rgba(30,40,15,.30);
    --redwash:rgba(199,74,56,.08);--limewash:rgba(160,180,20,.14);--bluewash:rgba(58,114,192,.10);
    --lime-text:#5c6410;
    --blue-ink:#2F62A8;--amber-ink:#7F5C13;--red-ink:#A93E2E
  }
  *{box-sizing:border-box;margin:0;padding:0}
  body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5;transition:background .3s,color .3s}
  svg{overflow:visible}
  .app{display:grid;grid-template-columns:262px 1fr;min-height:100vh}
  @media(max-width:960px){.app{grid-template-columns:66px 1fr}}

  .rail{background:var(--rail);padding:1.1rem .8rem;display:flex;flex-direction:column;gap:.3rem;position:sticky;top:0;height:100vh}
  .brand{display:flex;align-items:center;gap:.65rem;padding:.2rem .5rem 1rem;margin-bottom:.7rem}
  .brand .mk{width:38px;height:38px;border-radius:11px;background:var(--lime);color:var(--lime-ink);display:grid;place-items:center;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.05rem;flex:none}
  .brand .bt{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.02rem;letter-spacing:-.02em;line-height:1.05}
  .brand .bs{font-size:.68rem;color:var(--mut);font-weight:600}
  @media(max-width:960px){.brand .bt,.brand .bs{display:none}}
  .nav{display:flex;flex-direction:column;gap:.12rem}
  .nav a{display:flex;align-items:center;gap:.7rem;padding:.52rem .72rem;border-radius:11px;color:var(--mut);font-weight:500;font-size:.81rem;text-decoration:none;transition:all .18s;cursor:pointer;position:relative;min-width:0}
  .nav a .svgi{width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .nav a .lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .nav a:hover{background:var(--panel);color:var(--ink)}
  .nav a.on{background:var(--panel);color:var(--ink)}
  .nav a.on .svgi{color:var(--lime)}
  .nav a .badge{margin-left:auto;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.66rem;background:var(--redwash);color:var(--red-strong);border-radius:999px;padding:.05rem .42rem;min-width:20px;text-align:center}
  @media(max-width:960px){.nav a .lbl{display:none}.nav a{justify-content:center;padding:.6rem}.nav a .badge{position:absolute;top:.2rem;right:.2rem;margin:0}}
  .railfoot{margin-top:auto;padding-top:.8rem;font-size:.7rem;color:var(--faint);line-height:1.45}

  .main{min-width:0}
  .topbar{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(12px);padding:.8rem clamp(1rem,2.6vw,2.2rem);display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
  .co .cn{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.05rem;letter-spacing:-.01em}
  .co .cs{font-size:.72rem;color:var(--mut);font-weight:600}
  .spacer{flex:1}
  .livepill{display:inline-flex;align-items:center;gap:.45rem;font-size:.72rem;font-weight:700;color:var(--ink);background:var(--card);border:1px solid var(--line2);border-radius:999px;padding:.32rem .8rem}
  .livepill .dot{width:8px;height:8px;border-radius:50%;background:var(--lime);animation:pulse 2s infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--lime) 60%,transparent)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
  .demopill{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:700;color:var(--amber-ink);background:color-mix(in srgb,var(--amber) 15%,transparent);border:1px solid color-mix(in srgb,var(--amber) 34%,transparent);border-radius:999px;padding:.28rem .72rem}
  .demopill.live{color:var(--lime-ink);background:var(--limewash);border-color:color-mix(in srgb,var(--lime) 40%,transparent)}
  html[data-theme="dark"] .demopill.live{color:var(--lime-text)}
  .demopill .svgi{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}
  .cdd{position:relative}
  .cdd-btn,.themebtn{height:40px;border-radius:999px;border:1px solid var(--line2);background:var(--card);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;font-family:'Inter',sans-serif;font-weight:700;font-size:.82rem}
  .cdd-btn{padding:0 .8rem}
  .cdd-btn:hover,.themebtn:hover{border-color:var(--lime)}
  .cdd-btn .svgi{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
  .cdd-menu{position:absolute;top:46px;right:0;background:var(--card);border:1px solid var(--line2);border-radius:14px;box-shadow:var(--shadow);padding:.3rem;display:none;z-index:60;min-width:170px}
  .cdd.open .cdd-menu{display:block}
  .cdd-menu button,.cdd-menu label{display:flex;width:100%;align-items:center;gap:.5rem;background:transparent;border:0;color:var(--ink);font-family:'Inter',sans-serif;font-weight:600;font-size:.83rem;padding:.44rem .55rem;border-radius:9px;cursor:pointer;text-align:left}
  .cdd-menu button:hover,.cdd-menu label:hover{background:var(--panel)}
  .cdd-menu label input{accent-color:var(--lime)}
  .themebtn{width:40px;justify-content:center;padding:0}
  /* Aufgaben-Center: Glocke (Topbar) + Slide-out-Panel; Modal (z 200) bleibt darüber */
  .taskbell{position:relative;width:40px;height:40px;border-radius:999px;border:1px solid var(--line2);background:var(--card);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
  .taskbell .svgi{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
  .taskbell:hover{border-color:var(--lime)}
  /* Zähler AA-fest: solide rote Fläche; dunkles Theme = dunkle Ziffer auf hellem Rot (#E7705E), helles Theme = weisse Ziffer auf sattem Rot (#c74a38) */
  .tbadge{position:absolute;top:-5px;right:-5px;background:var(--red);color:#171819;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.64rem;border-radius:999px;padding:.08rem .34rem;min-width:17px;text-align:center;line-height:1.3}
  html[data-theme=light] .tbadge{color:#fff}
  .tcbd{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:175;opacity:0;pointer-events:none;transition:opacity .25s}
  .tcbd.show{opacity:1;pointer-events:auto}
  .tcpanel{position:fixed;top:0;right:0;height:100vh;width:430px;max-width:94vw;background:var(--card);border-left:1px solid var(--line2);box-shadow:-30px 0 60px -30px rgba(0,0,0,.7);z-index:185;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}
  .tcpanel.show{transform:translateX(0)}
  .tch{padding:1.1rem 1.2rem .9rem;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:.7rem}
  .tch .tcic{width:34px;height:34px;border-radius:10px;background:var(--lime);color:var(--lime-ink);display:flex;align-items:center;justify-content:center;flex:none}
  .tch .tcic .svgi{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2}
  .tch h3{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-size:1.02rem;margin:0}
  .tch .tcsub{font-size:.74rem;color:var(--mut);font-weight:600;margin-top:.15rem}
  .tcx{margin-left:auto;width:30px;height:30px;border-radius:8px;border:1px solid var(--line2);background:var(--card);color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none}
  .tcbody{flex:1;overflow-y:auto;padding:.9rem 1.2rem 1.2rem}
  .tcgrp{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin:.9rem 0 .45rem}
  .tcgrp:first-child{margin-top:0}
  .tcrow{border:1px solid var(--line2);border-radius:12px;padding:.7rem .8rem;margin-bottom:.55rem;background:var(--card2)}
  .tcrow .tct{font-size:.82rem;font-weight:700;line-height:1.3}
  .tcrow .tcs{font-size:.7rem;color:var(--mut);font-weight:600;margin-top:.15rem}
  .tcact{display:flex;gap:.5rem;margin-top:.6rem;flex-wrap:wrap}
  .tcact .abtn{flex:1;min-width:0;text-align:center;white-space:nowrap}
  .tcact .tcauto{flex:1;min-width:0;text-align:center;white-space:nowrap;border:1px solid var(--line2);background:var(--card);color:var(--ink);border-radius:9px;padding:.42rem .6rem;font:inherit;font-size:.76rem;font-weight:700;cursor:pointer}
  .tcact .tcauto:hover{border-color:var(--lime)}
  .tcact .tcauto.done{border-color:var(--lime);color:var(--lime-text);cursor:default}
  .tclink{display:flex;align-items:center;gap:.55rem;border:1px solid var(--line2);border-radius:12px;padding:.6rem .8rem;margin-bottom:.55rem;background:var(--card2);cursor:pointer;font-size:.78rem;font-weight:700}
  .tclink:hover{border-color:var(--lime)}
  .tclink .svgi{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;flex:none;color:var(--mut)}
  .tclink b{margin-left:auto;color:var(--lime-text)}
  .tcfoot{padding:.8rem 1.2rem;border-top:1px solid var(--line);font-size:.68rem;color:var(--faint);font-weight:600}
  @media(max-width:640px){.tcpanel{width:100vw;max-width:100vw}}
  .themebtn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  html[data-theme="dark"] .i-sun{display:block}html[data-theme="dark"] .i-moon{display:none}
  html[data-theme="light"] .i-sun{display:none}html[data-theme="light"] .i-moon{display:block}

  .content{padding:1.3rem clamp(1rem,2.6vw,2.2rem) 3.5rem;max-width:1340px}
  section{scroll-margin-top:120px;display:none}
  section.active{display:block;animation:fade .3s}
  @keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
  .sechead{display:flex;align-items:center;gap:.6rem;margin:.4rem 0 1.1rem;flex-wrap:wrap}
  .sechead h2{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.4rem;letter-spacing:-.02em}
  .sechead .si{width:22px;height:22px;color:var(--lime);fill:none;stroke:currentColor;stroke-width:2}
  .sechead .pill{font-size:.66rem;font-weight:800;color:var(--faint);border:1px solid var(--line2);border-radius:999px;padding:.16rem .58rem}
  .card{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);position:relative}
  .ct{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin-bottom:1rem;display:flex;align-items:center;gap:.45rem}
  .ct .svgi{width:15px;height:15px;color:var(--lime);fill:none;stroke:currentColor;stroke-width:2}
  .pad{padding:1.3rem 1.4rem}

  .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.2rem}
  @media(max-width:1040px){.kpis{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:520px){.kpis{grid-template-columns:1fr}}
  .kpi{padding:1.2rem 1.3rem;display:flex;flex-direction:column;gap:.15rem}
  .kpi .kl{font-size:.74rem;color:var(--mut);font-weight:700;display:flex;align-items:center;gap:.4rem;width:auto;height:auto}
  .kpi .kl .svgi{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
  .kpi .kv{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:2.05rem;letter-spacing:-.02em;line-height:1.05;margin-top:.25rem}
  .kpi .ks{font-size:.74rem;color:var(--faint);font-weight:600;margin-top:.1rem}
  .kpi.in .kv{color:var(--lime)}.kpi.out .kv{color:var(--ink)}.kpi.due .kv{color:var(--amber-strong)}.kpi.crit .kv{color:var(--red-strong)}
  .kpi .spark{margin-top:.7rem;height:34px;width:100%}

  .cfhero{display:grid;grid-template-columns:1fr 1.55fr;gap:1.2rem;margin-bottom:1.2rem}
  @media(max-width:960px){.cfhero{grid-template-columns:1fr}}
  .netcard{padding:1.6rem 1.7rem;display:flex;flex-direction:column;background:radial-gradient(120% 90% at 50% 0%, var(--limewash), transparent 62%),var(--card)}
  .netcard .nl{font-size:.76rem;color:var(--mut);font-weight:700}
  .netcard .nv{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:3.1rem;letter-spacing:-.03em;line-height:1;margin:.3rem 0 .1rem}
  .netcard .nsub{font-size:.78rem;color:var(--faint);font-weight:600}
  .flowbars{margin-top:1.4rem;display:flex;flex-direction:column;gap:.9rem}
  .fb{display:flex;flex-direction:column;gap:.35rem}
  .fb .fbh{display:flex;justify-content:space-between;align-items:baseline;font-size:.78rem;font-weight:700}
  .fb .fbh .fn{color:var(--mut);display:flex;align-items:center;gap:.4rem}
  .fb .fbh .fn .svgi{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
  .fb .fbh .fv{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1rem}
  .fb .bar{height:9px;border-radius:999px;background:var(--track);overflow:hidden}
  .fb .bar i{display:block;height:100%;border-radius:999px}
  .fb.in .fv{color:var(--lime)}.fb.in .bar i{background:var(--lime)}
  .fb.out .fv{color:var(--ink)}.fb.out .bar i{background:linear-gradient(90deg,var(--gray),var(--faint))}

  .cfchart{padding:1.3rem 1.4rem;display:flex;flex-direction:column}
  .switch{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.5rem;flex-wrap:wrap}
  .switch .sl{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);display:flex;align-items:center;gap:.45rem}
  .switch .sl .svgi{width:15px;height:15px;color:var(--lime);fill:none;stroke:currentColor;stroke-width:2}
  .vtabs{display:inline-flex;gap:.2rem;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:.22rem}
  .vtab{display:inline-flex;align-items:center;gap:.3rem;border:0;background:transparent;color:var(--mut);font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.74rem;padding:.4rem .7rem;border-radius:999px;cursor:pointer;transition:all .2s}
  .vtab:hover{color:var(--ink)}
  .vtab.on{background:var(--lime);color:var(--lime-ink)}
  .vtab .svgi{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;stroke-width:2}
  .stage{width:100%;height:300px;position:relative}.stage svg{width:100%;height:100%;display:block}
  .legend{display:flex;gap:.3rem 1rem;flex-wrap:wrap;font-size:.7rem;color:var(--mut);font-weight:700;margin-top:.6rem}
  .legend span{display:inline-flex;align-items:center;gap:.4rem}.legend i{width:10px;height:10px;border-radius:3px;flex:none}
  #tip{position:absolute;pointer-events:none;background:var(--card2);border:1px solid var(--line2);border-radius:10px;padding:.5rem .65rem;font-size:.74rem;box-shadow:var(--shadow);opacity:0;transition:opacity .12s;z-index:5;white-space:nowrap}
  #tip b{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900}

  .statrow{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.2rem}
  @media(max-width:1040px){.statrow{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:520px){.statrow{grid-template-columns:1fr}}
  .stat{padding:1rem 1.15rem;display:flex;align-items:center;gap:.85rem}
  .stat .sic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none}
  .stat .sic .svgi{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
  .stat.g .sic{background:var(--limewash);color:var(--lime-text)}html[data-theme="dark"] .stat.g .sic{color:var(--lime)}
  .stat.y .sic{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber-strong)}
  .stat.r .sic{background:var(--redwash);color:var(--red-strong)}
  .stat.b .sic{background:var(--bluewash);color:var(--blue)}
  .stat .sv{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.4rem;line-height:1}
  .stat .snm{font-size:.74rem;color:var(--mut);font-weight:600;margin-top:.15rem}

  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
  @media(max-width:900px){.grid2{grid-template-columns:1fr}}
  .tbl{width:100%;border-collapse:collapse;font-size:.84rem}
  .tblwrap{overflow-x:auto}
  .tbl th{text-align:left;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);padding:.5rem .7rem;border-bottom:1px solid var(--line2);white-space:nowrap}
  .tbl th.sortable{cursor:pointer;user-select:none}
  .tbl th.sortable:hover{color:var(--ink)}
  .tbl th .sar{display:inline-block;width:12px;color:var(--lime);font-size:.7rem}
  .tbl td{padding:.6rem .7rem;border-bottom:1px solid var(--line);vertical-align:middle}
  .tbl tbody tr{cursor:pointer}
  .tbl tbody tr:hover td{background:var(--panel)}
  .tbl .num{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;text-align:right;white-space:nowrap}
  .tbl .gp{font-weight:700}
  .chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;border-radius:999px;padding:.16rem .55rem;white-space:nowrap}
  .chip i{width:7px;height:7px;border-radius:50%;flex:none}
  .chip.g{background:var(--limewash);color:var(--lime-text)}html[data-theme="dark"] .chip.g{color:var(--lime-text)}
  .chip.y{background:color-mix(in srgb,var(--amber) 15%,transparent);color:var(--amber-ink)}
  .chip.r{background:var(--redwash);color:var(--red-strong)}
  .chip.b{background:var(--bluewash);color:var(--blue-ink)}
  .chip.n{background:var(--track);color:var(--mut)}
  .chip.g i{background:var(--lime)}.chip.y i{background:var(--amber)}.chip.r i{background:var(--red)}.chip.b i{background:var(--blue)}.chip.n i{background:var(--gray)}
  .manual{display:inline-flex;align-items:center;gap:.3rem;font-size:.64rem;font-weight:800;border-radius:6px;padding:.08rem .4rem;background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber-strong);margin-left:.35rem}
  .manual .svgi{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.4}
  .gtag{font-size:.66rem;font-weight:800;border-radius:6px;padding:.1rem .42rem;background:var(--track);color:var(--mut)}
  .toolbar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem;align-items:center}
  .filterbar{display:flex;gap:.4rem;flex-wrap:wrap}
  .fbtn{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.78rem;color:var(--mut);background:var(--card);border:1px solid var(--line2);border-radius:999px;padding:.4rem .9rem;cursor:pointer;transition:all .18s}
  .fbtn:hover{color:var(--ink)}
  .fbtn.on{background:var(--lime);color:var(--lime-ink);border-color:var(--lime)}
  .fbtn .svgi{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;vertical-align:-2px;margin-right:.25rem}

  .aging{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;margin-bottom:1.2rem}
  @media(max-width:820px){.aging{grid-template-columns:repeat(2,1fr)}}
  .agb{padding:1rem 1.1rem;border-radius:16px;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--line2)}
  .agb.b0{border-top-color:var(--lime)}.agb.b1{border-top-color:var(--teal)}.agb.b2{border-top-color:var(--amber)}.agb.b3{border-top-color:var(--amber-strong)}.agb.b4{border-top-color:var(--red)}
  .agb .al{font-size:.72rem;color:var(--mut);font-weight:700}
  .agb .av{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.35rem;margin-top:.3rem;letter-spacing:-.01em}
  .agb .ac{font-size:.7rem;color:var(--faint);font-weight:600}
  .aging-sm{gap:.5rem;margin-bottom:0}.aging-sm .agb{padding:.65rem .7rem;border-radius:12px}.aging-sm .av{font-size:1.02rem;margin-top:.15rem}.aging-sm .al{font-size:.66rem}
  .agingtwo{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}@media(max-width:900px){.agingtwo{grid-template-columns:1fr}}
  .agsh{display:flex;align-items:center;gap:.4rem;font-size:.74rem;font-weight:800;margin-bottom:.55rem;text-transform:uppercase;letter-spacing:.04em}
  .agsh .svgi{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}.agsh.in{color:var(--lime)}.agsh.out{color:var(--mut)}
  /* ===== Liquiditäts-Ladder · bidirektionale Fälligkeits-Timeline (Eingang links-gespiegelt, Ausgang, Netto) ===== */
  .lad-sum{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-bottom:1.15rem}
  @media(max-width:820px){.lad-sum{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:460px){.lad-sum{grid-template-columns:1fr}}
  .lst{background:var(--card2);border:1px solid var(--line);border-radius:14px;padding:.8rem .95rem;position:relative;overflow:hidden}
  .lst::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--line2)}
  .lst.in::before{background:var(--lime)}.lst.out::before{background:var(--gray)}
  .lst.pos::before{background:var(--teal)}.lst.neg::before{background:var(--red)}.lst.tip::before{background:var(--amber)}
  .lst .ll{font-size:.66rem;font-weight:800;color:var(--mut);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:.35rem}
  .lst .ll .svgi{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}
  .lst .lv{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.42rem;letter-spacing:-.02em;margin-top:.28rem;color:var(--ink)}
  .lst.pos .lv{color:var(--teal)}.lst.neg .lv{color:var(--red-strong)}
  .lst .lc{font-size:.68rem;color:var(--faint);font-weight:600;margin-top:.15rem}
  .ladhead{display:grid;grid-template-columns:118px minmax(0,1fr) 3px minmax(0,1fr) 132px;align-items:end;gap:.55rem;padding:.2rem 0 .5rem;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
  .ladhead .ho{text-align:right;color:var(--faint)}.ladhead .hi{text-align:left;color:var(--lime-text,var(--mut))}.ladhead .hn{text-align:right}
  @media(prefers-color-scheme:light){.ladhead .hi{color:var(--mut)}}
  .lad-row{display:grid;grid-template-columns:118px minmax(0,1fr) 3px minmax(0,1fr) 132px;align-items:center;gap:.55rem;padding:.55rem 0;border-top:1px solid var(--line)}
  .lad-row.empty{opacity:.42}
  .lad-lbl{font-size:.8rem;font-weight:800;color:var(--ink);line-height:1.15}
  .lad-lbl .sub{display:block;font-size:.63rem;font-weight:600;color:var(--faint);margin-top:.1rem}
  .lad-cell{display:flex;align-items:center;gap:.5rem;min-width:0}
  .lad-cell.out{flex-direction:row-reverse}
  .lad-bar{flex:1;height:24px;border-radius:7px;background:color-mix(in srgb,var(--ink) 6%,transparent);display:flex;overflow:hidden;min-width:0}
  .lad-cell.out .lad-bar{justify-content:flex-end}
  .lad-bar .fill{height:100%;border-radius:7px}
  .lad-cell.in .fill{background:linear-gradient(90deg,color-mix(in srgb,var(--lime) 45%,transparent),var(--lime))}
  .lad-cell.out .fill{background:linear-gradient(90deg,var(--gray),color-mix(in srgb,var(--gray) 45%,transparent))}
  .lad-amt{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.72rem;color:var(--ink);white-space:nowrap;flex:none}
  .lad-cell.empty .lad-amt{color:var(--faint);font-weight:600}
  .lad-axis{width:3px;height:30px;background:var(--line2);border-radius:2px;justify-self:center}
  .lad-net{text-align:right;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:.96rem;line-height:1.1}
  .lad-net.pos{color:var(--teal)}.lad-net.neg{color:var(--red-strong)}.lad-net.zero{color:var(--faint);font-weight:700}
  .lad-net .cum{display:block;font-family:'Inter',system-ui,sans-serif;font-size:.62rem;font-weight:700;color:var(--faint);margin-top:.12rem;letter-spacing:0}
  .lad-net .cum.neg{color:var(--red-strong)}
  @media(max-width:720px){
    .ladhead{display:none}
    .lad-row{grid-template-columns:1fr auto;grid-template-areas:'lbl net' 'out out' 'in in';gap:.35rem .5rem;row-gap:.3rem}
    .lad-lbl{grid-area:lbl}.lad-net{grid-area:net}
    .lad-cell.out{grid-area:out;flex-direction:row}.lad-axis{display:none}.lad-cell.in{grid-area:in}
    .lad-cell.out .lad-bar{justify-content:flex-start}
  }
  /* ===== NOVA + Ask AI (Idiom aus der Callfluence-Konsole, in SSR-CI) ===== */
  .askai-fab{position:fixed;right:22px;bottom:22px;z-index:150;display:flex;align-items:center;gap:9px;height:50px;padding:0 18px;border-radius:26px;border:1px solid var(--line2);background:var(--lime);color:var(--lime-ink);font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.92rem;cursor:pointer;box-shadow:0 12px 34px -10px rgba(0,0,0,.55)}
  .askai-fab .svgi{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
  .askai-fab:hover{filter:brightness(1.06)}
  .askai{position:fixed;right:22px;bottom:22px;z-index:151;width:min(400px,calc(100vw - 32px));height:min(560px,calc(100vh - 44px));background:var(--card);border:1px solid var(--line2);border-radius:20px;box-shadow:0 30px 70px -20px rgba(0,0,0,.6);display:none;flex-direction:column;overflow:hidden}
  .askai.open{display:flex}
  .askai-h{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--panel)}
  .askai-h b{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-size:.95rem}
  .ai-av{width:34px;height:34px;border-radius:10px;background:var(--lime);color:var(--lime-ink);display:grid;place-items:center;flex:none}
  .ai-av .svgi{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
  .askai-vp{font-size:.62rem;font-weight:800;color:var(--lime-text);background:var(--limewash);border-radius:999px;padding:.15rem .5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
  .askai-h .closex{margin-left:auto;border:0;background:transparent;color:var(--mut);cursor:pointer;display:grid;place-items:center;width:28px;height:28px;border-radius:8px}
  .askai-h .closex:hover{background:var(--card2);color:var(--ink)}
  .askai-h .closex .svgi{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.4}
  .askai-b{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}
  .askai-msg{max-width:85%;padding:11px 14px;border-radius:14px;font-size:.9rem;line-height:1.5}
  .askai-msg.ai{background:var(--panel);color:var(--ink);border-top-left-radius:5px;align-self:flex-start}
  .askai-msg.me{background:var(--lime);color:var(--lime-ink);font-weight:600;border-top-right-radius:5px;align-self:flex-end}
  .askai-msg.think{color:var(--faint);font-style:italic;background:transparent;padding:2px 4px}
  .askai-src{display:flex;align-items:center;gap:.35rem;margin-top:.5rem;font-size:.7rem;color:var(--faint);font-weight:700}
  .askai-src .svgi{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}
  .askai-disc{font-size:.68rem;color:var(--faint);text-align:center;padding:0 12px 8px;line-height:1.4}
  .askai-in{display:flex;align-items:center;gap:.5rem;padding:12px;border-top:1px solid var(--line);background:var(--panel)}
  .askai-in input{flex:1;border:1px solid var(--line2);background:var(--card);color:var(--ink);border-radius:11px;padding:.6rem .7rem;font-family:inherit;font-size:.86rem;font-weight:600;outline:none;min-width:0}
  .askai-in input:focus{border-color:var(--lime)}
  .askai-mic,.askai-send{width:38px;height:38px;flex:none;border-radius:11px;border:1px solid var(--line2);background:var(--card);color:var(--mut);cursor:pointer;display:grid;place-items:center}
  .askai-send{background:var(--lime);color:var(--lime-ink);border-color:var(--lime)}
  .askai-mic:hover{color:var(--ink);border-color:var(--lime)}
  .askai-mic.listening{background:var(--red);border-color:var(--red);color:#fff;animation:kmicpulse 1.1s ease-in-out infinite}
  .askai-mic .svgi,.askai-send .svgi{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
  @media(max-width:520px){.askai{right:8px;bottom:8px;height:calc(100vh - 16px)}.askai-fab{right:12px;bottom:12px}}
  .nova-hero{background:linear-gradient(150deg,var(--rail),var(--card2));border:1px solid var(--line);border-radius:22px;padding:44px 30px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;position:relative;overflow:hidden}
  .nova-hero:before{content:'';position:absolute;inset:-40% -10% auto -10%;height:70%;background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--lime) 20%,transparent),transparent 70%);pointer-events:none}
  .nova-badge{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-size:.66rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .7rem;border-radius:999px;background:var(--limewash);color:var(--lime-text);position:relative}
  .nova-hero h2{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:2rem;letter-spacing:-.02em;margin:0;position:relative}
  .nova-hero p{max-width:640px;color:var(--mut);font-size:.92rem;line-height:1.6;margin:0;position:relative}
  .nova-feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;width:100%;margin-top:6px;position:relative}
  .nova-feat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem;text-align:left}
  .nova-feat b{display:block;font-size:.86rem;margin-bottom:.25rem}
  .nova-feat span{font-size:.76rem;color:var(--mut);line-height:1.45}
  .nova-cta{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;position:relative;margin-top:4px}
  .nova-btn{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--line2);background:var(--card);color:var(--ink);border-radius:12px;padding:.7rem 1.1rem;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.88rem;cursor:pointer}
  .nova-btn.primary{background:var(--lime);color:var(--lime-ink);border-color:var(--lime)}
  .nova-btn:hover{border-color:var(--lime)}
  .nova-btn .svgi{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}



  /* ai-act v1 — Offenlegung nach Art. 50 */
  .aiml{display:flex;align-items:flex-start;gap:.5rem;border:1px solid var(--line2);border-radius:12px;padding:.55rem .7rem;background:var(--panel);margin-bottom:.7rem}
  .aiml .svgi{width:14px;height:14px;flex:none;margin-top:.1rem;color:var(--lime-text);fill:none;stroke:currentColor;stroke-width:2}
  .aiml span{font-size:.72rem;color:var(--mut);line-height:1.5}
  .aiml b{color:var(--ink);font-weight:800}
  /* voice-settings v1 — Regler je Stimme, Start/Stopp */
  .vcfg{border-top:1px solid var(--line);margin-top:.2rem;padding-top:.6rem;display:flex;flex-direction:column;gap:.5rem}
  .vcfgh{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
  .vcfgh b{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--faint)}
  .vrst{display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--line2);background:transparent;color:var(--mut);border-radius:999px;padding:.2rem .5rem;font-family:inherit;font-size:.68rem;font-weight:700;cursor:pointer}
  .vrst:hover{border-color:var(--lime);color:var(--lime-text)}
  .vrst .svgi{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2}
  .vrow2{display:grid;grid-template-columns:88px 1fr 52px;align-items:center;gap:.5rem}
  .vrow2 label{font-size:.72rem;font-weight:700;color:var(--mut)}
  .vrow2 .vval{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-size:.78rem;font-weight:900;color:var(--lime-text);text-align:right;font-variant-numeric:tabular-nums}
  .vrow2 input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:5px;border-radius:999px;outline:none;cursor:pointer;
    background:linear-gradient(90deg,var(--lime) 0,var(--lime) var(--fill,0%),var(--track) var(--fill,0%),var(--track) 100%)}
  .vrow2 input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:15px;height:15px;border-radius:999px;background:var(--lime);border:2px solid var(--card);box-shadow:0 1px 3px rgba(0,0,0,.35);cursor:pointer}
  .vrow2 input[type=range]::-moz-range-thumb{width:15px;height:15px;border-radius:999px;background:var(--lime);border:2px solid var(--card);cursor:pointer}
  .vtgr{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
  .vtgr span{font-size:.72rem;font-weight:700;color:var(--mut)}
  .vcfgn{font-size:.68rem;color:var(--faint);line-height:1.45}
  .vpv.on{border-color:var(--lime);background:var(--lime);color:var(--lime-ink)}
  .vpv.on .vpdot{background:var(--lime-ink)}
  .vsp{font-size:.62rem;font-weight:800;color:var(--lime-text);background:var(--limewash);border-radius:999px;padding:.05rem .35rem;margin-left:.1rem;font-variant-numeric:tabular-nums}
  /* nova-voice v1 — Anbieter-Karten + Stimmen-Auswahl */
  .vprov{display:grid;grid-template-columns:repeat(auto-fit,minmax(288px,1fr));gap:.7rem}
  .vpcard2{border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem;background:var(--card2);display:flex;flex-direction:column;gap:.45rem}
  .vpcard2.gate,.vpcard2.off{border-style:dashed}
  .vpcard2.off{opacity:.66}
  .vph2{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
  .vpst{font-size:.6rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:.14rem .5rem;white-space:nowrap}
  .vpst.ok{background:var(--limewash);color:var(--lime-text)}
  .vpst.warn{background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber-strong)}
  .vpst.gate{background:var(--panel);color:var(--mut);border:1px solid var(--line2)}
  .vpst.off{background:var(--panel);color:var(--faint);border:1px solid var(--line)}
  @supports not (background:color-mix(in srgb,red 50%,transparent)){.vpst.warn{background:var(--panel)}}
  .vpvia{font-size:.68rem;font-weight:700;color:var(--lime-text)}
  .vpnote{font-size:.74rem;color:var(--mut);line-height:1.5}
  .vprow{display:flex;align-items:center;gap:.5rem;margin-top:.15rem}
  .vplang{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-size:.6rem;font-weight:900;letter-spacing:.06em;color:var(--faint);width:20px;flex:none}
  .vpvs{display:flex;flex-wrap:wrap;gap:.35rem;flex:1;min-width:0}
  .vpv{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line2);background:var(--card);color:var(--ink);border-radius:999px;padding:.28rem .6rem;font-family:inherit;font-size:.74rem;font-weight:700;cursor:pointer}
  .vpv:hover:not(:disabled){border-color:var(--lime)}
  .vpv.sel{border-color:var(--lime);background:var(--limewash);color:var(--lime-text)}
  .vpv:disabled{opacity:.5;cursor:not-allowed}
  .vpv .svgi{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2}
  .vpdot{width:5px;height:5px;border-radius:50%;background:var(--lime-text)}
  .vpnone{font-size:.72rem;color:var(--faint);font-style:italic;padding:.2rem 0}
  .vsets{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.8rem;width:100%}
  .vset{border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem;background:var(--card2);display:flex;flex-direction:column;gap:.5rem}
  .vseth{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}
  .vseth b{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-size:.95rem}
  .vseth span{font-size:.7rem;color:var(--mut);text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .vswarn{font-size:.68rem;color:var(--amber-strong);font-weight:700}
  .vptbl{width:100%;overflow-x:auto}
  .vptbl table{width:100%;border-collapse:collapse;font-size:.76rem}
  .vptbl th{text-align:left;font-size:.6rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:.4rem .5rem;border-bottom:1px solid var(--line)}
  .vptbl td{padding:.5rem;border-bottom:1px solid var(--line);vertical-align:top}
  .vptvia{font-size:.66rem;color:var(--faint);margin-top:.1rem}
  .vptc{color:var(--mut);font-size:.72rem}
  .vprobe{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.7rem;margin-bottom:.6rem}
  .vpcard{border:1px solid var(--line);border-radius:14px;padding:.85rem .9rem;background:var(--card2);display:flex;flex-direction:column;gap:.4rem}
  .vpcard.locked{opacity:.62;border-style:dashed}
  .vph{display:flex;align-items:baseline;gap:.5rem}
  .vpn{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1rem}
  .vpe{font-size:.64rem;font-weight:800;color:var(--lime-text);background:var(--limewash);border-radius:999px;padding:.1rem .45rem}
  .vpcard.locked .vpe{color:var(--mut);background:var(--panel)}
  .vpd{font-size:.75rem;color:var(--mut);line-height:1.45;flex:1}
  .vpplay{align-self:flex-start;padding:.45rem .8rem;font-size:.8rem}
  .vplock{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:800;color:var(--amber-strong)}
  .vplock .svgi{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}
  .nova-voice{display:flex;align-items:center;gap:.5rem;font-size:.74rem;font-weight:700;color:var(--mut);position:relative;flex-wrap:wrap;justify-content:center}
  .nova-voice .vdot{width:8px;height:8px;border-radius:999px;background:var(--lime);flex:none}
  .nova-voice .vdot.pend{background:var(--amber)}
  .ovalert{display:flex;align-items:center;gap:1rem;border:1px solid var(--line);border-left:4px solid var(--lime);border-radius:14px;padding:.9rem 1.1rem;background:var(--card);margin-bottom:1.1rem}
  .ovalert.warn{border-left-color:var(--amber-strong)}.ovalert.crit{border-left-color:var(--red)}
  .ovalert .oaic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none;background:var(--limewash);color:var(--lime-text)}
  .ovalert.warn .oaic{background:rgba(230,185,90,.14);color:var(--amber-strong)}.ovalert.crit .oaic{background:var(--redwash);color:var(--red-strong)}
  .ovalert .oaic .svgi{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}
  .ovalert .oat{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.05rem;letter-spacing:-.01em}
  .ovalert .oas{font-size:.78rem;color:var(--mut);font-weight:600;margin-top:.1rem}
  .ovalert .oaact{margin-left:auto;flex:none}
  .top3grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}@media(max-width:900px){.top3grid{grid-template-columns:1fr}}
  .top3{display:flex;flex-direction:column;gap:.4rem;border:1px solid var(--line);border-radius:14px;padding:.85rem .95rem;background:var(--card2);border-left:3px solid var(--lime);cursor:pointer;transition:border-color .15s}
  .top3.db{border-left-color:var(--teal)}
  .top3:hover{border-color:var(--lime)}
  .top3 .t3r{display:flex;align-items:center;gap:.5rem}
  .top3 .t3n{width:18px;height:18px;border-radius:5px;background:var(--limewash);color:var(--lime-text);font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:.66rem;display:grid;place-items:center;flex:none}
  .top3 .t3t{font-weight:800;font-size:.84rem;letter-spacing:-.01em}
  .top3 .t3p{font-size:.72rem;color:var(--faint);font-weight:600}
  .top3 .t3m{display:flex;gap:.9rem;margin-top:.15rem}
  .top3 .t3m span{font-size:.72rem;font-weight:700}
  .top3 .up{color:var(--lime-text)}.top3 .down{color:var(--red-strong)}
  /* KPI lebendig: Δ + Ziel */
  .kpi .kdelta{display:inline-flex;align-items:center;gap:.2rem;font-size:.68rem;font-weight:800;padding:.08rem .4rem;border-radius:999px;margin-left:.4rem;vertical-align:2px}
  .kpi .kdelta.good{color:var(--lime-text);background:var(--limewash)}
  .kpi .kdelta.bad{color:var(--red-strong);background:var(--redwash)}
  .kpi .ktarget{font-size:.68rem;color:var(--faint);font-weight:600;margin-top:.15rem}
  .kpi .ktbar{height:3px;border-radius:2px;background:var(--track);margin-top:.3rem;overflow:hidden}
  .kpi .ktbar i{display:block;height:100%;border-radius:2px}
  .konzgrid{display:grid;grid-template-columns:220px 1fr;gap:1.6rem;align-items:center}@media(max-width:820px){.konzgrid{grid-template-columns:1fr}}
  .konzscore{text-align:center}.konzscore .kzv{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:2.6rem;letter-spacing:-.03em;line-height:1}
  .konzscore .kzl{font-size:.72rem;color:var(--mut);font-weight:700;margin-top:.2rem}
  .konzscore .kzb{display:inline-block;margin-top:.5rem;font-size:.66rem;font-weight:800;padding:.2rem .6rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}
  .konzbar{display:flex;height:14px;border-radius:999px;overflow:hidden;background:var(--track);margin-bottom:.8rem}
  .konzbar i{display:block;height:100%}
  .konzlist{display:flex;flex-direction:column;gap:.45rem}
  .konzrow{display:flex;align-items:center;gap:.6rem;font-size:.78rem}
  .konzrow .kd{width:10px;height:10px;border-radius:3px;flex:none}
  .konzrow .kn{font-weight:600;color:var(--mut);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .konzrow .kv{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;flex:none}
  .konzrow .kp{font-size:.72rem;color:var(--faint);font-weight:700;flex:none;width:44px;text-align:right}
  .cclegend{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.7rem;font-size:.72rem;color:var(--mut);font-weight:600}
  .cclegend span{display:inline-flex;align-items:center;gap:.4rem}.cclegend i{width:14px;height:4px;border-radius:2px;display:inline-block}
  #cctip,#tip{position:absolute;pointer-events:none;background:var(--card);border:1px solid var(--line2);border-radius:9px;padding:.45rem .6rem;font-size:.72rem;font-weight:600;opacity:0;transition:opacity .12s;box-shadow:0 6px 20px rgba(0,0,0,.18);z-index:5;white-space:nowrap}
  .lamwrap{margin:.3rem 0 .2rem}.lamends{display:flex;justify-content:space-between;font-size:.74rem;font-weight:800;color:var(--mut);margin-bottom:.35rem}
  .lamval{text-align:center;font-size:.76rem;color:var(--mut);font-weight:700;margin-top:.4rem}
  .dcparams{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.9rem}
  .dcparam{flex:1;min-width:150px;background:var(--card2,var(--bg));border:1px solid var(--line);border-radius:12px;padding:.7rem .8rem}
  .dcparam .pl{font-size:.68rem;color:var(--faint);font-weight:700;text-transform:uppercase;letter-spacing:.03em}
  .dcparam .pv{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.15rem;margin-top:.15rem}
  .clrow{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem}@media(max-width:820px){.clrow{grid-template-columns:repeat(2,1fr)}}
  .clcard{border:1px solid var(--line);border-radius:12px;padding:.7rem .8rem;background:var(--card);border-left:3px solid var(--line2)}
  .clcard .cln{font-size:.7rem;color:var(--mut);font-weight:700}.clcard .clv{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.3rem}.clcard .cld{font-size:.66rem;color:var(--faint);font-weight:600}
  .dcgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1rem}
  .dccard{border:1px solid var(--line);border-radius:16px;padding:1rem 1.1rem;background:var(--card);position:relative;border-top:3px solid var(--lime)}
  .dccard.obj-db{border-top-color:var(--teal)}.dccard.obj-risk{border-top-color:var(--amber-strong)}
  .dchead{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}
  .dctitle{font-weight:800;font-size:.95rem;letter-spacing:-.01em}.dctgt{font-size:.72rem;color:var(--faint);font-weight:600;margin-top:.15rem}
  .dcobj{flex:none;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:.2rem .5rem;border-radius:999px;border:1px solid var(--line2)}
  .dcobj.cash{color:var(--lime);border-color:color-mix(in srgb,var(--lime) 50%,transparent)}.dcobj.db{color:var(--teal)}
  .dcmetrics{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .8rem;margin:.85rem 0 .7rem}
  .dcm .dml{font-size:.66rem;color:var(--faint);font-weight:700}.dcm .dmv{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.98rem;margin-top:.1rem}
  .dcm .up{color:var(--lime)}.dcm .down{color:var(--red-strong)}
  .dcfoot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;border-top:1px solid var(--line);padding-top:.7rem}
  .dcconf{font-size:.7rem;color:var(--mut);font-weight:700}.dcrev{font-size:.66rem;font-weight:700;padding:.15rem .45rem;border-radius:999px}
  .dcrev.y{color:var(--lime);background:color-mix(in srgb,var(--lime) 14%,transparent)}.dcrev.n{color:var(--amber-strong);background:color-mix(in srgb,var(--amber-strong) 14%,transparent)}
  .dcbtn{border:1px solid var(--line2);background:var(--card);color:var(--ink);border-radius:10px;padding:.4rem .8rem;font-size:.76rem;font-weight:700;cursor:pointer;font-family:inherit}
  .dcbtn:hover{border-color:var(--lime)}
  .dcexpl{font-size:.74rem;color:var(--mut);line-height:1.45;margin-top:.2rem}

  .pipe{display:flex;gap:.5rem;overflow-x:auto;padding:.4rem .1rem 1.1rem}
  .pstage{flex:none;min-width:132px;border:1px solid var(--line);border-radius:14px;padding:.85rem .9rem;background:var(--card);position:relative}
  .pstage.auto{border-left:3px solid var(--lime)}.pstage.gate{border-left:3px solid var(--amber)}.pstage.legal{border-left:3px solid var(--red)}
  .pstage .psn{font-size:.66rem;font-weight:800;color:var(--faint);display:flex;align-items:center;gap:.35rem;text-transform:uppercase;letter-spacing:.03em}
  .pstage .pst{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:.92rem;margin:.35rem 0 .5rem;letter-spacing:-.01em;line-height:1.15}
  .pstage .pcnt{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.5rem;line-height:1}
  .pstage .pvol{font-size:.7rem;color:var(--mut);font-weight:600;margin-top:.15rem}
  .pstage .pmode{position:absolute;top:.6rem;right:.6rem;font-size:.6rem;font-weight:800;border-radius:6px;padding:.08rem .34rem}
  .pstage.auto .pmode{background:var(--limewash);color:var(--lime-text)}html[data-theme="dark"] .pstage.auto .pmode{color:var(--lime-text)}
  .pstage.gate .pmode{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber-strong)}
  .pstage.legal .pmode{background:var(--redwash);color:var(--red-strong)}
  .pipelegend{display:flex;gap:1.2rem;flex-wrap:wrap;font-size:.74rem;color:var(--mut);font-weight:700;margin-top:.2rem}
  .pipelegend span{display:inline-flex;align-items:center;gap:.4rem}.pipelegend i{width:11px;height:11px;border-radius:3px}

  .aq{display:flex;flex-direction:column;gap:.6rem}
  .aqrow{display:flex;align-items:center;gap:.9rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:14px;background:var(--card)}
  .aqrow .aic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none}
  .aqrow .aic .svgi{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}
  .aqrow.auto .aic{background:var(--limewash);color:var(--lime-text)}html[data-theme="dark"] .aqrow.auto .aic{color:var(--lime)}
  .aqrow.gate .aic{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber-strong)}
  .aqrow.legal .aic{background:var(--redwash);color:var(--red-strong)}
  .aqrow .amid{flex:1;min-width:0}
  .aqrow .atitle{font-weight:700;font-size:.9rem}
  .aqrow .asub{font-size:.75rem;color:var(--faint);margin-top:.1rem}
  .abtn{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.78rem;border-radius:999px;padding:.45rem .95rem;cursor:pointer;border:0;white-space:nowrap;flex:none}
  .aqrow.auto .abtn{background:var(--lime);color:var(--lime-ink)}
  .aqrow.gate .abtn,.aqrow.legal .abtn{background:var(--card);color:var(--ink);border:1px solid var(--line2)}
  .aqrow.gate .abtn:hover,.aqrow.legal .abtn:hover{border-color:var(--lime)}
  .abtn.done{opacity:.55;pointer-events:none}

  .donutwrap{display:grid;grid-template-columns:220px 1fr;gap:1.4rem;align-items:center}
  @media(max-width:620px){.donutwrap{grid-template-columns:1fr}}
  .donut{width:100%;height:200px}
  .clist{display:flex;flex-direction:column;gap:.5rem}
  .clrow{display:flex;align-items:center;gap:.7rem;padding:.5rem 0;border-bottom:1px solid var(--line)}
  .clrow:last-child{border-bottom:0}
  .clrow .cdot{width:11px;height:11px;border-radius:3px;flex:none}
  .clrow .cnm{flex:1;font-weight:700;font-size:.86rem}
  .clrow .cnm small{display:block;font-weight:500;color:var(--faint);font-size:.72rem}
  .clrow .cvl{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:.98rem;white-space:nowrap}
  .clrow .cpc{font-size:.72rem;color:var(--mut);font-weight:700;width:44px;text-align:right}

  .dtypes{display:flex;flex-direction:column;gap:.7rem}
  .dtrow{display:flex;align-items:center;gap:.8rem}
  .dtrow .dic{width:34px;height:34px;border-radius:10px;background:var(--panel);color:var(--lime-ink);display:grid;place-items:center;flex:none}
  html[data-theme="dark"] .dtrow .dic{color:var(--lime)}
  .dtrow .dic .svgi{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}
  .dtrow .dmid{flex:1;min-width:0}
  .dtrow .dnm{font-weight:700;font-size:.84rem;display:flex;justify-content:space-between;gap:.5rem}
  .dtrow .dnm b{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900}
  .dtrow .dbar{height:7px;border-radius:999px;background:var(--track);margin-top:.35rem;overflow:hidden}
  .dtrow .dbar i{display:block;height:100%;background:var(--lime);border-radius:999px}
  .dtrow .dconf{font-size:.68rem;color:var(--faint);font-weight:700;width:96px;text-align:right;flex:none}

  .note{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1rem 1.15rem;font-size:.85rem;line-height:1.6;color:var(--mut);margin-top:1.1rem}
  .note b{color:var(--ink)}
  .prov{font-size:.6rem;font-weight:800;border-radius:999px;padding:.08rem .46rem;margin-left:.4rem}
  .prov.crm{background:var(--limewash);color:var(--lime-text)}html[data-theme="dark"] .prov.crm{color:var(--lime-text)}
  .prov.ocr{background:var(--bluewash);color:var(--blue)}
  .prov.psd2{background:var(--track);color:var(--faint)}
  .foot{margin-top:2.4rem;color:var(--faint);font-size:.8rem;border-top:1px solid var(--line);padding-top:1.2rem;max-width:110ch;line-height:1.6}
  .foot b{color:var(--mut)}

  /* ===== confirm modal ===== */
  .ovl{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(3px);display:none;place-items:center;z-index:200;padding:1rem}
  .ovl.show{display:grid;animation:fade .2s}
  .modal{background:var(--card);border:1px solid var(--line2);border-radius:20px;box-shadow:var(--shadow);max-width:520px;width:100%;overflow:hidden}
  .modal .mhead{padding:1.3rem 1.5rem 1rem;display:flex;align-items:flex-start;gap:.9rem;border-bottom:1px solid var(--line)}
  .modal .mic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none}
  .modal .mic .svgi{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
  .modal.auto .mic{background:var(--limewash);color:var(--lime-text)}html[data-theme="dark"] .modal.auto .mic{color:var(--lime)}
  .modal.gate .mic{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber-strong)}
  .modal.legal .mic{background:var(--redwash);color:var(--red-strong)}
  .modal .mt{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.15rem;letter-spacing:-.01em}
  .modal .mtag{font-size:.66rem;font-weight:800;border-radius:6px;padding:.1rem .45rem;display:inline-block;margin-top:.3rem}
  .modal.auto .mtag{background:var(--limewash);color:var(--lime-text)}html[data-theme="dark"] .modal.auto .mtag{color:var(--lime-text)}
  .modal.gate .mtag{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber-strong)}
  .modal.legal .mtag{background:var(--redwash);color:var(--red-strong)}
  .modal .mbody{padding:1.2rem 1.5rem}
  .mblock{margin-bottom:1rem}
  .mblock .mbh{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:.4rem;display:flex;align-items:center;gap:.4rem}
  .mblock .mbh .svgi{width:14px;height:14px;color:var(--lime);fill:none;stroke:currentColor;stroke-width:2}
  .mblock p{font-size:.88rem;color:var(--ink);line-height:1.55}
  .mblock ul{list-style:none;display:flex;flex-direction:column;gap:.35rem}
  .mblock li{font-size:.84rem;color:var(--mut);display:flex;gap:.5rem;align-items:flex-start}
  .mblock li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--lime);margin-top:.5rem;flex:none}
  .mrev{font-size:.82rem;font-weight:700;border-radius:10px;padding:.6rem .8rem;display:flex;gap:.5rem;align-items:center}
  .mrev .svgi{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2}
  .mrev.ok{background:var(--limewash);color:var(--lime-text)}html[data-theme="dark"] .mrev.ok{color:var(--lime-text)}
  .mrev.no{background:var(--redwash);color:var(--red-strong)}
  .mack{display:flex;gap:.6rem;align-items:flex-start;margin-top:1.1rem;padding:.8rem .9rem;border:1px dashed var(--line2);border-radius:12px;cursor:pointer}
  .mack input{width:20px;height:20px;accent-color:var(--lime);flex:none;margin-top:.05rem;cursor:pointer}
  .mack span{font-size:.85rem;font-weight:600}
  .mfoot{padding:1rem 1.5rem 1.3rem;display:flex;gap:.7rem;justify-content:flex-end;border-top:1px solid var(--line)}
  .mbtn{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.88rem;border-radius:999px;padding:.6rem 1.3rem;cursor:pointer;border:1px solid var(--line2);background:var(--card);color:var(--ink)}
  .mbtn:hover{border-color:var(--lime)}
  .mbtn.go{border:0;color:var(--lime-ink);background:var(--lime)}
  .mbtn.go.legal{background:var(--red);color:#fff}
  .mbtn.go:disabled{opacity:.4;cursor:not-allowed}
  .mbtn.go.arm{background:var(--red-strong);color:#fff;animation:pulse2 1.2s infinite}
  @keyframes pulse2{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}

  /* ===== detail drawer ===== */
  .drw{position:fixed;top:0;right:0;height:100vh;width:440px;max-width:94vw;background:var(--card);border-left:1px solid var(--line2);box-shadow:-30px 0 60px -30px rgba(0,0,0,.7);z-index:180;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}
  .drw.show{transform:none}
  .drwbd{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:170;opacity:0;pointer-events:none;transition:opacity .25s}
  .drwbd.show{opacity:1;pointer-events:auto}
  .drwhead{padding:1.3rem 1.4rem 1.1rem;border-bottom:1px solid var(--line);position:relative}
  .drwhead .dx{position:absolute;top:1.1rem;right:1.1rem;width:32px;height:32px;border-radius:999px;border:1px solid var(--line2);background:var(--card);color:var(--mut);cursor:pointer;display:grid;place-items:center}
  .drwhead .dx:hover{border-color:var(--lime);color:var(--ink)}
  .drwhead .dx .svgi{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.4}
  .drwhead .dno{font-size:.72rem;color:var(--faint);font-weight:800;letter-spacing:.04em}
  .drwhead .dpt{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.2rem;letter-spacing:-.01em;margin:.2rem 0 .5rem;padding-right:2rem}
  .drwhead .damt{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.9rem;letter-spacing:-.02em}
  .drwtools{display:flex;gap:.5rem;padding:.7rem 1.4rem;border-bottom:1px solid var(--line);align-items:center}
  .drwtools .tt{font-size:.7rem;color:var(--faint);font-weight:700;margin-right:auto}
  .drwtiny{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.72rem;color:var(--mut);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:.3rem .7rem;cursor:pointer}
  .drwtiny:hover{color:var(--ink);border-color:var(--line2)}
  .drwbody{overflow-y:auto;flex:1;padding:.5rem 0 1.5rem}
  .acc{border-bottom:1px solid var(--line)}
  .acch{display:flex;align-items:center;gap:.7rem;padding:.9rem 1.4rem;cursor:pointer;user-select:none}
  .acch .aip{width:26px;height:26px;border-radius:8px;background:var(--panel);color:var(--lime-ink);display:grid;place-items:center;flex:none}
  html[data-theme="dark"] .acch .aip{color:var(--lime)}
  .acch .aip .svgi{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
  .acch .an{flex:1;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.92rem}
  .acch .apm{width:22px;height:22px;color:var(--faint);position:relative;flex:none}
  .acch .apm::before,.acch .apm::after{content:"";position:absolute;background:currentColor;border-radius:2px;transition:transform .2s}
  .acch .apm::before{width:14px;height:2px;top:10px;left:4px}
  .acch .apm::after{width:2px;height:14px;top:4px;left:10px}
  .acc.open .acch .apm::after{transform:rotate(90deg);opacity:0}
  .acc.open .acch .apm{color:var(--lime)}
  .accb{display:none;padding:0 1.4rem 1.1rem}
  .acc.open .accb{display:block}
  .drow{display:flex;justify-content:space-between;gap:1rem;padding:.42rem 0;border-bottom:1px solid var(--line);font-size:.85rem}
  .drow:last-child{border-bottom:0}
  .drow .dk{color:var(--mut);font-weight:600}
  .drow .dv{font-weight:700;text-align:right}
  .drow .dv.big{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900}
  .checkline{display:flex;align-items:center;gap:.6rem;padding:.42rem 0;font-size:.84rem}
  .checkline .ck{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;flex:none}
  .checkline .ck .svgi{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:3}
  .checkline.ok .ck{background:var(--limewash);color:var(--lime-text)}html[data-theme="dark"] .checkline.ok .ck{color:var(--lime)}
  .checkline.bad .ck{background:var(--redwash);color:var(--red-strong)}
  .checkline.bad{color:var(--red-strong);font-weight:700}
  .tline{position:relative;padding-left:1.3rem}
  .tline .tev{position:relative;padding:.35rem 0 .7rem;font-size:.82rem}
  .tline .tev::before{content:"";position:absolute;left:-1.02rem;top:.6rem;width:9px;height:9px;border-radius:50%;background:var(--lime)}
  .tline .tev::after{content:"";position:absolute;left:-.66rem;top:1.1rem;bottom:-.2rem;width:1px;background:var(--line2)}
  .tline .tev:last-child::after{display:none}
  .tline .tev .td{font-weight:700}.tline .tev .tt{color:var(--faint);font-size:.74rem}
  .drwact{display:flex;flex-direction:column;gap:.5rem}

  /* academy */
  .rulegrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
  @media(max-width:820px){.rulegrid{grid-template-columns:1fr}}
  .rule{border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden;border-left:3px solid var(--red)}
  .rule.learned{border-left-color:var(--lime)}
  .rule .rh{padding:1rem 1.2rem .7rem;display:flex;align-items:flex-start;gap:.7rem}
  .rule .rnum{width:30px;height:30px;border-radius:9px;background:var(--redwash);color:var(--red-strong);display:grid;place-items:center;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;flex:none}
  .rule.learned .rnum{background:var(--limewash);color:var(--lime-text)}html[data-theme="dark"] .rule.learned .rnum{color:var(--lime)}
  .rule .rt{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1rem;letter-spacing:-.01em;line-height:1.2}
  .rule .rsev{font-size:.64rem;font-weight:800;color:var(--red-strong);text-transform:uppercase;letter-spacing:.05em}
  .rule .rb{padding:0 1.2rem 1rem}
  .rule .rlbl{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:.7rem 0 .2rem}
  .rule .rtx{font-size:.85rem;color:var(--mut);line-height:1.5}
  .rule .rtx b{color:var(--ink)}
  .rule .rfoot{display:flex;align-items:center;gap:.6rem;padding:.8rem 1.2rem;border-top:1px solid var(--line);background:var(--card2)}
  .rule .lbtn{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.76rem;border-radius:999px;padding:.4rem .9rem;cursor:pointer;border:1px solid var(--line2);background:var(--card);color:var(--ink)}
  .rule .lbtn:hover{border-color:var(--lime)}
  .rule.learned .lbtn{background:var(--lime);color:var(--lime-ink);border:0}
  .acadhero{display:flex;align-items:center;gap:1.2rem;padding:1.3rem 1.5rem;margin-bottom:1.2rem;background:radial-gradient(120% 100% at 0% 0%,var(--limewash),transparent 60%),var(--card)}
  .acadhero .prg{width:88px;height:88px;flex:none}
  .acadhero .ah{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.2rem;letter-spacing:-.01em}
  .acadhero .as{font-size:.86rem;color:var(--mut);margin-top:.2rem;max-width:60ch}
  .subtool{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.3rem;margin-top:1.2rem;border:1px solid var(--line2);border-radius:16px;background:var(--card);text-decoration:none;color:inherit}
  .subtool:hover{border-color:var(--lime)}
  .subtool .stic{width:44px;height:44px;border-radius:12px;background:var(--panel);color:var(--lime-ink);display:grid;place-items:center;flex:none}
  html[data-theme="dark"] .subtool .stic{color:var(--lime)}
  .subtool .stic .svgi{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
  .subtool .stt{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1rem}
  .subtool .sts{font-size:.8rem;color:var(--mut)}
  .subtool .go{margin-left:auto;color:var(--lime);font-weight:800;font-size:.82rem}

  /* ===== skonto & liquidität ===== */
  .liqctx{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;padding:.85rem 1.1rem;margin-bottom:1.1rem;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
  .liqctx .lcl{font-size:.78rem;color:var(--mut);font-weight:800;display:flex;align-items:center;gap:.45rem;margin-right:.3rem}
  .liqctx .lcl .svgi{width:15px;height:15px;color:var(--lime);fill:none;stroke:currentColor;stroke-width:2}
  .liqchip{font-size:.7rem;font-weight:800;border-radius:999px;padding:.24rem .62rem;border:1px solid var(--line2);color:var(--faint);white-space:nowrap}
  .liqchip.on{background:var(--limewash);color:var(--lime-text);border-color:color-mix(in srgb,var(--lime) 42%,transparent)}
  html[data-theme="dark"] .liqchip.on{color:var(--lime-text)}
  .subnav{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin-bottom:1.2rem}
  /* Die Pillen-Reihe ist inline-flex und kann nicht umbrechen -> auf schmalen Schirmen wischbar statt ueberlaufend */
  @media(max-width:900px){.subnav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
   .subnav::-webkit-scrollbar{display:none}
   .subnav .vtabs{flex:0 0 auto}}
  .lvpanel{display:none;animation:fade .3s}
  .lvpanel.active{display:block}
  .uvpanel{display:none;animation:fade .3s}
  .uvpanel.active{display:block}
  .ustflow{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(255px,100%),1fr));gap:.9rem}
  .ufc{padding:1.05rem 1.1rem;border:1px solid var(--line);border-radius:.9rem;background:var(--card);display:flex;flex-direction:column}
  .ufc .ufh{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:.9rem}
  .ufc .ufh svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;color:var(--lime-text);flex:0 0 auto}
  .ufc .ufd{font-size:.78rem;color:var(--faint);line-height:1.55;margin:.45rem 0 .65rem}
  .ufc .ufm{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto}
  .ufkz{font-size:.65rem;font-weight:800;padding:.16rem .42rem;border-radius:.35rem;background:var(--limewash);color:var(--lime-text);border:1px solid var(--line)}
  .uflat{font-size:.65rem;font-weight:800;padding:.16rem .42rem;border-radius:.35rem;border:1px solid var(--line);color:var(--mut)}
  .uflat.live{color:var(--lime-text);border-color:var(--lime)}
  .uflat.gate{color:var(--amber-strong)}
  .hebel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(310px,100%),1fr));gap:.9rem}
  .hbc{padding:1.1rem 1.15rem;border:1px solid var(--line);border-radius:.9rem;background:var(--card);display:flex;flex-direction:column;gap:.5rem}
  /* Kopf immer gleich aufgebaut: Titel, darunter die Norm — sonst springt das Badge je nach Titellaenge */
  .hbc .hbt{font-weight:800;font-size:.92rem;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}
  .hbc .hbn{font-size:.63rem;font-weight:800;color:var(--faint);border:1px solid var(--line);border-radius:.35rem;padding:.14rem .4rem;white-space:nowrap;align-self:flex-start;max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .hbc .hbd{font-size:.78rem;color:var(--faint);line-height:1.55}
  .hbc .hbv{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.5rem;letter-spacing:-.02em;line-height:1.1;color:var(--lime-text)}
  .hbc .hbv.neutral{color:var(--mut)}
  .hbc .hbf{margin-top:auto;padding-top:.25rem;display:flex;gap:.4rem;flex-wrap:wrap}
  .mslugrow{margin-top:.4rem}
  .mslug{display:inline-flex;align-items:center;gap:.28rem;font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums;font-size:.66rem;font-weight:700;color:var(--faint);border:1px solid var(--line);border-radius:.35rem;padding:.1rem .38rem;background:var(--panel);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .mslug.link{cursor:pointer;color:var(--lime-text);border-color:var(--line2)}
  .mslug.link:hover{border-color:var(--lime);background:var(--limewash)}
  .mslug svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:2.4;flex:0 0 auto}
  .kzt .kz{font-weight:800;color:var(--lime-text);white-space:nowrap}
  .kzt tr.sum td{border-top:2px solid var(--line);font-weight:800}
  /* Warnbanner gemischte Herkunft. color-mix()+var() NUR per @supports gaten — die
     Zwei-Deklarations-Technik traegt hier nicht ([[feedback_color_mix_supports_fallback]]). */
  .mixwarn{margin-top:0;margin-bottom:1.1rem;border-color:var(--amber);background:var(--panel)}
  @supports (background:color-mix(in srgb,red 50%,transparent)){
    .mixwarn{background:color-mix(in srgb,var(--amber) 8%,var(--panel))}
  }
  .ustpar{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:1.1rem;align-items:stretch}
  .ustpar .zinsblock{display:flex;flex-direction:column}
  .ustpar .zinsblock .note{margin-top:auto}
  .brpills{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}
  .brpills .brl{font-size:.72rem;font-weight:800;color:var(--mut);margin-right:.15rem;display:inline-flex;align-items:center;gap:.35rem}
  .brpills .brl .svgi{width:14px;height:14px;color:var(--lime);fill:none;stroke:currentColor;stroke-width:2}
  .bp{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.74rem;color:var(--mut);background:var(--card);border:1px solid var(--line2);border-radius:999px;padding:.28rem .6rem;cursor:pointer}
  .bp:hover{color:var(--ink)}
  .bp.on{background:var(--lime);color:var(--lime-ink);border-color:var(--lime)}
  .bignum{padding:1.5rem 1.7rem;background:radial-gradient(120% 100% at 0% 0%,var(--limewash),transparent 62%),var(--card)}
  .bignum .bnl{font-size:.78rem;color:var(--mut);font-weight:700}
  .bignum .bnv{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:2.9rem;letter-spacing:-.03em;line-height:1;margin:.25rem 0 .1rem;color:var(--lime-ink)}
  html[data-theme="dark"] .bignum .bnv{color:var(--lime-text)}
  .bignum .bns{font-size:.8rem;color:var(--faint);font-weight:600;max-width:52ch;line-height:1.5}
  .cmpbar{display:flex;flex-direction:column;gap:1rem}
  .cmprow .cmph{display:flex;justify-content:space-between;align-items:baseline;font-size:.82rem;font-weight:700;margin-bottom:.32rem;gap:1rem}
  .cmprow .cmph .cmt{color:var(--mut);display:flex;align-items:center;gap:.45rem}
  .cmprow .cmph .cmt i{width:9px;height:9px;border-radius:3px;flex:none}
  .cmprow .cmph .cmv{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;white-space:nowrap}
  .cmprow .track2{height:13px;border-radius:999px;background:var(--track);overflow:hidden}
  .cmprow .track2 i{display:block;height:100%;border-radius:999px}
  .ybar{display:grid;grid-template-columns:150px 1fr auto;gap:.7rem;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.82rem}
  .ybar:last-child{border-bottom:0}
  .ybar .ybn{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ybar .ybtrack{display:flex;flex-direction:column;gap:3px}
  .ybar .ybt{height:8px;border-radius:999px;background:var(--track);overflow:hidden}
  .ybar .ybt i{display:block;height:100%;border-radius:999px}
  .ybar .yby i{background:var(--lime)}.ybar .ybb i{background:var(--gray)}
  .ybar .ybval{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;text-align:right;white-space:nowrap;font-size:.78rem}
  .ybar .ybval .neg{color:var(--faint);font-weight:700;font-size:.72rem}
  .flow{display:flex;flex-direction:column;gap:.7rem}
  .fstep{display:flex;gap:.9rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:14px;background:var(--card);align-items:flex-start;border-left:3px solid var(--gray)}
  .fstep.done{border-left-color:var(--lime)}.fstep.doing{border-left-color:var(--amber)}
  .fstep .fnu{width:30px;height:30px;border-radius:9px;background:var(--panel);color:var(--mut);display:grid;place-items:center;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;flex:none;font-size:.9rem}
  .fstep.done .fnu{background:var(--limewash);color:var(--lime-text)}html[data-theme="dark"] .fstep.done .fnu{color:var(--lime)}
  .fstep.doing .fnu{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber-strong)}
  .fstep .fmid{flex:1;min-width:0}
  .fstep .ft{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.94rem;letter-spacing:-.01em}
  .fstep .fd{font-size:.8rem;color:var(--mut);margin-top:.25rem;line-height:1.5}
  .fstep .fmeta{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.55rem}
  .fstep .fmeta span{font-size:.7rem;color:var(--faint);font-weight:700;background:var(--panel);border-radius:999px;padding:.16rem .55rem;display:inline-flex;align-items:center;gap:.3rem}
  .fstep .fmeta span .svgi{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2}
  .fstep .fright{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;flex:none}
  .fstat{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.72rem;border-radius:999px;padding:.36rem .75rem;cursor:pointer;border:1px solid var(--line2);background:var(--card);color:var(--ink);white-space:nowrap}
  .fstat:hover{border-color:var(--lime)}
  .fpct{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:.9rem}
  .fstep.done .fpct{color:var(--lime-text)}html[data-theme="dark"] .fstep.done .fpct{color:var(--lime-text)}
  .fstep.doing .fpct{color:var(--amber-strong)}.fstep.open .fpct{color:var(--faint)}
  .apgrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
  @media(max-width:820px){.apgrid{grid-template-columns:1fr}}
  .apcard{border:1px solid var(--line);border-radius:16px;padding:1.1rem 1.2rem;background:var(--card)}
  .apcard .aph{display:flex;align-items:center;gap:.6rem;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:.96rem;margin-bottom:.5rem;letter-spacing:-.01em}
  .apcard .aic2{width:34px;height:34px;border-radius:10px;background:var(--limewash);color:var(--lime-text);display:grid;place-items:center;flex:none}
  html[data-theme="dark"] .apcard .aic2{color:var(--lime)}
  .apcard .aic2 .svgi{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
  .apcard .apx{font-size:.83rem;color:var(--mut);line-height:1.55}
  .apcard .aptag{display:inline-flex;align-items:center;gap:.3rem;margin-top:.7rem;font-size:.64rem;font-weight:800;border-radius:6px;padding:.14rem .5rem;background:var(--limewash);color:var(--lime-text)}
  html[data-theme="dark"] .apcard .aptag{color:var(--lime-text)}
  .apcard .aptag.gate{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber-strong)}
  /* ===== Belegakte · Plausibilitätsprüfung ===== */
  .miniwrap{display:flex;gap:.3rem;flex-wrap:wrap}
  .mc{font-size:.64rem;font-weight:800;border-radius:6px;padding:.12rem .42rem;display:inline-flex;align-items:center;gap:.25rem;border:1px solid var(--line2);color:var(--mut);white-space:nowrap}
  .mc .svgi{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.4}
  .mc.g{background:var(--limewash);color:var(--lime-text);border-color:transparent}html[data-theme="dark"] .mc.g{color:var(--lime-text)}
  .mc.r{background:var(--redwash);color:var(--red-strong);border-color:transparent}
  .mc.y{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber-strong);border-color:transparent}
  .mc.n{background:var(--track);color:var(--faint);border-color:transparent}
  .plchip{cursor:pointer;font-family:'Inter Tight'}
  .verdict{display:flex;align-items:center;gap:.9rem;padding:1rem 1.2rem;border-radius:14px;margin:0 1.4rem 0}
  .verdict .vic{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;flex:none}
  .verdict .vic .svgi{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2}
  .verdict.ok{background:var(--limewash)}.verdict.ok .vic{color:var(--lime-ink)}html[data-theme="dark"] .verdict.ok .vic{color:var(--lime)}
  .verdict.bad{background:var(--redwash)}.verdict.bad .vic,.verdict.bad .vt{color:var(--red-strong)}
  .verdict .vt{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.05rem;letter-spacing:-.01em}
  .verdict .vs{font-size:.79rem;color:var(--mut);margin-top:.1rem}
  .verdict .vpct{margin-left:auto;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.5rem;text-align:right;line-height:1}
  .verdict .vpct small{display:block;font-size:.6rem;font-weight:700;color:var(--faint);letter-spacing:.04em}
  .cathd{display:flex;align-items:center;gap:.5rem;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);padding:.2rem 0 .3rem}
  .cathd .cc{margin-left:auto;font-size:.64rem;font-weight:800;border-radius:6px;padding:.08rem .42rem}
  .cathd .cc.g{background:var(--limewash);color:var(--lime-text)}html[data-theme="dark"] .cathd .cc.g{color:var(--lime-text)}
  .cathd .cc.r{background:var(--redwash);color:var(--red-strong)}
  .fldrow{display:grid;grid-template-columns:1fr auto auto;gap:.5rem .8rem;padding:.42rem 0;border-bottom:1px solid var(--line);font-size:.83rem;align-items:center}
  .fldrow:last-child{border-bottom:0}
  .fldrow .fkv{min-width:0}
  .fldrow .fkn{color:var(--mut);font-weight:600;font-size:.73rem}
  .fldrow .fvv{font-weight:700;overflow:hidden;text-overflow:ellipsis}
  .fldrow .fvv.miss{color:var(--red-strong);font-style:italic}
  .fldrow .fsrc{font-size:.62rem;font-weight:800;border-radius:6px;padding:.08rem .4rem;background:var(--track);color:var(--faint);white-space:nowrap}
  .fldrow .fst{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;flex:none}
  .fldrow .fst .svgi{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:3}
  .fldrow .fst.ok{background:var(--limewash);color:var(--lime-text)}html[data-theme="dark"] .fldrow .fst.ok{color:var(--lime)}
  .fldrow .fst.bad{background:var(--redwash);color:var(--red-strong)}
  .fldrow .fst.warn{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber-strong)}
  .docrow2{display:flex;align-items:center;gap:.7rem;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.84rem}
  .docrow2:last-child{border-bottom:0}
  .docrow2 .dicn{width:32px;height:32px;border-radius:8px;background:var(--panel);color:var(--lime-ink);display:grid;place-items:center;flex:none}
  html[data-theme="dark"] .docrow2 .dicn{color:var(--lime)}
  .docrow2 .dicn .svgi{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
  .docrow2 .dmid2{flex:1;min-width:0}
  .docrow2 .dnm2{font-weight:700}.docrow2 .dsub2{font-size:.72rem;color:var(--faint)}
  .docopen{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.72rem;border-radius:999px;padding:.34rem .72rem;border:1px solid var(--line2);background:var(--card);color:var(--ink);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:.35rem;flex:none}
  .docopen:hover{border-color:var(--lime)}
  .docopen .svgi{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2}
  /* doc viewer */
  .dvhead{padding:1.1rem 1.5rem .3rem;display:flex;align-items:flex-start;gap:.8rem;border-bottom:1px solid var(--line)}
  .dvhead .dvt{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.05rem}
  .dvhead .dvs{font-size:.74rem;color:var(--mut)}
  .dvhead .dvx{margin-left:auto;width:30px;height:30px;border-radius:999px;border:1px solid var(--line2);background:var(--card);color:var(--mut);cursor:pointer;display:grid;place-items:center;flex:none}
  .dvhead .dvx:hover{border-color:var(--lime);color:var(--ink)}
  .dvhead .dvx .svgi{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4}
  .dvtabs{display:flex;gap:.3rem;padding:.7rem 1.5rem 0;flex-wrap:wrap}
  .dvtab{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.73rem;border-radius:999px;padding:.3rem .72rem;border:1px solid var(--line2);background:var(--card);color:var(--mut);cursor:pointer}
  .dvtab.on{background:var(--lime);color:var(--lime-ink);border-color:var(--lime)}
  .dvtab.miss{border-color:var(--red);color:var(--red-strong)}
  .dvpage{padding:1rem 1.5rem 1.4rem}
  .dvsheet{aspect-ratio:1/1.35;background:var(--card2);border:1px solid var(--line2);border-radius:8px;padding:1.3rem 1.4rem;display:flex;flex-direction:column;gap:.55rem;position:relative;overflow:hidden}
  .dvsheet.missing{align-items:center;justify-content:center;border-style:dashed;border-color:var(--red);gap:.5rem}
  .dvsheet .dvln{height:9px;border-radius:3px;background:var(--track)}
  .dvsheet .dvmiss{color:var(--red-strong);font-weight:800;font-family:'Inter Tight',Inter,system-ui,sans-serif;text-align:center}
  .dvsheet .dvmiss .svgi{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;display:block;margin:0 auto .4rem}
  .dvnote{font-size:.74rem;color:var(--faint);margin-top:.7rem;line-height:1.5}
  /* ===== Belegakten-Register · Suche · Rating · Partner ===== */
  .searchwrap{display:flex;align-items:center;gap:.6rem;flex:1;min-width:220px}
  .searchbox{flex:1;display:flex;align-items:center;gap:.5rem;background:var(--card);border:1px solid var(--line2);border-radius:999px;padding:.15rem .3rem .15rem .9rem;min-width:200px}
  .searchbox:focus-within{border-color:var(--lime)}
  .searchbox .svgi{width:16px;height:16px;color:var(--faint);fill:none;stroke:currentColor;stroke-width:2;flex:none}
  .searchbox input{flex:1;border:0;background:transparent;color:var(--ink);font-family:'Inter',sans-serif;font-weight:600;font-size:.9rem;padding:.5rem 0;outline:none;min-width:0}
  .searchbox input::placeholder{color:var(--faint)}
  .searchbox .sclr{width:26px;height:26px;border-radius:999px;border:0;background:var(--panel);color:var(--mut);cursor:pointer;display:grid;place-items:center;flex:none}
  .searchbox .sclr .svgi{width:12px;height:12px;color:currentColor}
  .searchbox .sclr:hover{color:var(--ink)}
  .searchmeta{font-size:.74rem;color:var(--faint);font-weight:700;white-space:nowrap}
  /* Einstellungen · Kontroll-Panel */
  .setgrp{margin-bottom:1.5rem}
  .setgh h3{font-family:'Inter Tight',sans-serif;font-size:1.02rem;font-weight:800;margin:0 0 .2rem}
  .setgh p{font-size:.82rem;color:var(--mut);margin:0 0 .75rem;max-width:82ch;line-height:1.5}
  .setgrid{display:flex;flex-direction:column;gap:.55rem}
  .setgridwide{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.55rem}
  .setrow{display:flex;align-items:center;gap:.8rem;background:var(--card);border:1px solid var(--line2);border-radius:14px;padding:.7rem .9rem}
  .setic{width:34px;height:34px;border-radius:9px;background:var(--panel);display:grid;place-items:center;flex:none}
  .setic .svgi{width:17px;height:17px;color:var(--mut);fill:none;stroke:currentColor;stroke-width:2}
  .setmid{flex:1;min-width:0}
  .setnm{font-weight:800;font-size:.9rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
  .setds{font-size:.78rem;color:var(--mut);margin-top:.18rem;line-height:1.45}
  .setrow .mneed{font-size:.75rem;color:var(--amber-strong);margin-top:.4rem;display:flex;gap:.4rem;align-items:flex-start;line-height:1.4}
  .setrow .mneed .svgi{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.2;flex:none;margin-top:.15rem}
  .tgl{flex:none;width:46px;height:26px;border-radius:999px;border:1px solid var(--line2);background:var(--panel);position:relative;cursor:pointer;padding:0;transition:background .15s,border-color .15s}
  .tgl .tgk{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:999px;background:var(--faint);transition:transform .15s,background .15s}
  .tgl.on{background:color-mix(in srgb,var(--lime) 22%,transparent);border-color:var(--lime)}
  .tgl.on .tgk{transform:translateX(20px);background:var(--lime)}
  .tgl.lock,.tgl[disabled]{opacity:.55;cursor:default}
  .chiprow{display:flex;flex-wrap:wrap;gap:.4rem}
  .chipbtn{font-family:'Inter',sans-serif;font-size:.8rem;font-weight:700;padding:.34rem .72rem;border-radius:999px;border:1px solid var(--line2);background:var(--card);color:var(--mut);cursor:pointer}
  .chipbtn.on{border-color:var(--lime);background:color-mix(in srgb,var(--lime) 16%,transparent);color:var(--ink)}
  .subblk{margin-bottom:.95rem}
  .sbl{font-size:.72rem;font-weight:800;color:var(--faint);text-transform:uppercase;letter-spacing:.045em;margin-bottom:.4rem}
  /* Zins-Schieberegler */
  .zinsblock .brl{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:.9rem;margin-bottom:.7rem}
  .zinsblock .brl .svgi{width:16px;height:16px;color:var(--lime);fill:none;stroke:currentColor;stroke-width:2}
  .zinsval{margin-left:auto;font-family:'Inter Tight',sans-serif;font-weight:900;font-size:1.15rem;color:var(--lime-text);background:color-mix(in srgb,var(--lime) 14%,transparent);border:1px solid var(--line2);border-radius:999px;padding:.15rem .7rem;min-width:5.2ch;text-align:center}
  .zinssl{display:flex;align-items:center;gap:.7rem}
  .zinssl .zsm{font-size:.72rem;font-weight:700;color:var(--faint);flex:none}
  .zinssl input[type=range]{flex:1;-webkit-appearance:none;appearance:none;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--lime) 0,var(--lime) var(--fill,45%),var(--track) var(--fill,45%),var(--track) 100%);outline:none;cursor:pointer}
  .zinssl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:999px;background:var(--lime);border:3px solid var(--card);box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:pointer}
  .zinssl input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:999px;background:var(--lime);border:3px solid var(--card);cursor:pointer}
  .setslider{display:flex;align-items:center;gap:.7rem;max-width:520px}
  .setslider .zinsval{font-size:1rem}
  .kl{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:.72rem;border-radius:7px;width:22px;height:22px;display:inline-grid;place-items:center;flex:none}
  .kl.A{background:var(--lime);color:var(--lime-ink);box-shadow:0 0 0 3px var(--limewash)}
  .kl.B{background:color-mix(in srgb,var(--blue) 20%,transparent);color:var(--blue)}
  .kl.C{background:var(--track);color:var(--mut)}
  .prow{display:flex;align-items:center;gap:.5rem}
  .scorepill{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:.8rem;border-radius:999px;padding:.16rem .5rem;display:inline-flex;align-items:center;gap:.3rem}
  .scorepill.g{background:var(--limewash);color:var(--lime-text)}html[data-theme="dark"] .scorepill.g{color:var(--lime-text)}
  .scorepill.y{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber-strong)}
  .scorepill.r{background:var(--redwash);color:var(--red-strong)}
  /* partner layers in drawer */
  .kontakt{display:flex;align-items:flex-start;gap:.7rem;padding:.6rem 0;border-bottom:1px solid var(--line)}
  .kontakt:last-child{border-bottom:0}
  .kontakt .kav{width:34px;height:34px;border-radius:10px;background:var(--panel);color:var(--lime-ink);display:grid;place-items:center;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;flex:none;font-size:.82rem}
  html[data-theme="dark"] .kontakt .kav{color:var(--lime)}
  .kontakt .kmid{flex:1;min-width:0}
  .kontakt .knm{font-weight:700;font-size:.88rem}.kontakt .krl{font-size:.72rem;color:var(--faint)}
  .kontakt .kln{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.35rem}
  .kontakt .kln a{font-size:.72rem;font-weight:700;color:var(--mut);text-decoration:none;background:var(--panel);border-radius:999px;padding:.18rem .55rem;display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--line)}
  .kontakt .kln a:hover{border-color:var(--lime);color:var(--ink)}
  .kontakt .kln a .svgi{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2}
  .scmetric{display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:.42rem 0;border-bottom:1px solid var(--line);font-size:.84rem;align-items:center}
  .scmetric:last-child{border-bottom:0}
  .scmetric .smn{color:var(--mut);font-weight:600}
  .scmetric .smv{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900}
  .scmetric .smv.r{color:var(--red-strong)}.scmetric .smv.y{color:var(--amber-strong)}.scmetric .smv.g{color:var(--lime-text)}html[data-theme="dark"] .scmetric .smv.g{color:var(--lime-text)}
  .intentbox{display:flex;flex-direction:column;gap:.6rem}
  .intentbox textarea{width:100%;background:var(--card2);border:1px solid var(--line2);border-radius:10px;color:var(--ink);font-family:'Inter',sans-serif;font-size:.85rem;padding:.6rem .7rem;resize:vertical;min-height:56px;outline:none}
  .intentbox textarea:focus{border-color:var(--lime)}
  .tone{display:inline-flex;gap:.3rem;flex-wrap:wrap}
  .tone .tn{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.74rem;border-radius:999px;padding:.32rem .7rem;border:1px solid var(--line2);background:var(--card);color:var(--mut);cursor:pointer}
  .tone .tn.on{background:var(--lime);color:var(--lime-ink);border-color:var(--lime)}
  .tone .tn.on.energisch{background:var(--red);color:#fff;border-color:var(--red)}
  .tone .tn.on.sanft{background:var(--teal);color:#04241f;border-color:var(--teal)}
  .doca{display:flex;align-items:center;gap:.7rem;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.84rem}
  .doca:last-child{border-bottom:0}
  .doca .dai{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex:none}
  .doca.has .dai{background:var(--panel);color:var(--lime-ink)}html[data-theme="dark"] .doca.has .dai{color:var(--lime)}
  .doca.miss .dai{background:var(--track);color:var(--faint)}
  .doca .dai .svgi{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
  .doca .dam{flex:1;min-width:0}
  .doca .dan{font-weight:700}.doca.miss .dan{color:var(--faint)}
  .doca .das{font-size:.71rem;color:var(--faint)}
  .doca .dabtn{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.71rem;border-radius:999px;padding:.32rem .68rem;cursor:pointer;white-space:nowrap;flex:none;border:1px solid var(--line2);background:var(--card);color:var(--ink);display:inline-flex;align-items:center;gap:.3rem}
  .doca .dabtn:hover{border-color:var(--lime)}
  .doca .dabtn.req{background:color-mix(in srgb,var(--amber) 14%,transparent);border-color:transparent;color:var(--amber-strong)}
  .doca .dabtn.queued{background:var(--limewash);color:var(--lime-text);border-color:transparent;pointer-events:none}
  html[data-theme="dark"] .doca .dabtn.queued{color:var(--lime-text)}
  .doca .dabtn .svgi{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.2}
  .reqbar{display:flex;align-items:center;gap:.6rem;margin-top:.8rem;padding:.7rem .9rem;border:1px dashed var(--line2);border-radius:12px;font-size:.8rem;color:var(--mut);font-weight:600}
  .reqbar b{color:var(--ink);font-family:'Inter Tight'}
  .reqbar .rqsend{margin-left:auto;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.76rem;border-radius:999px;padding:.4rem .9rem;cursor:pointer;border:0;background:var(--lime);color:var(--lime-ink)}
  .umsatzbig{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.8rem;letter-spacing:-.02em}
  /* ===== Ausbau-Roadmap ===== */
  .rmhero{display:flex;align-items:center;gap:1.5rem;padding:1.5rem 1.7rem;margin-bottom:1.2rem;background:radial-gradient(120% 100% at 0% 0%,var(--limewash),transparent 60%),var(--card)}
  @media(max-width:620px){.rmhero{flex-direction:column;text-align:center}}
  .rmhero .prg{width:100px;height:100px;flex:none}
  .rmhero .rmh{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.35rem;letter-spacing:-.01em}
  .rmhero .rms{font-size:.86rem;color:var(--mut);margin-top:.25rem;max-width:66ch;line-height:1.5}
  .rmhero .rmstats{display:flex;gap:1.6rem;margin-top:.9rem;flex-wrap:wrap}
  @media(max-width:620px){.rmhero .rmstats{justify-content:center}}
  .rmhero .rmstat b{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.3rem;display:block;line-height:1}
  .rmhero .rmstat.g b{color:var(--lime-text)}html[data-theme="dark"] .rmhero .rmstat.g b{color:var(--lime-text)}
  .rmhero .rmstat.y b{color:var(--amber-strong)}.rmhero .rmstat.n b{color:var(--mut)}
  .rmhero .rmstat span{font-size:.72rem;color:var(--faint);font-weight:700}
  /* Mikro-Diagramm je Kennzahl: gleiche Breite fuer alle sechs, damit die Reihe eine
     Reihe bleibt und die drei Status-Kacheln wirklich vergleichbar nebeneinander liegen. */
  .rmhero .rmstat{min-width:118px}
  .rmhero .rmstat .spark{display:block;width:118px;height:30px;margin-top:.45rem;color:var(--lime-text)}
  /* Farbe MUSS aus dem CSS kommen, nicht als fill aus JS: sonst behalten die Marken
     beim Theme-/Mandantenwechsel die alte Farbe bis zum naechsten Neuzeichnen —
     hell zeigte so Dunkel-Lime auf weisser Karte (1,5:1, gemessen). currentColor erbt. */
  .rmhero .rmstat .spark .mk{fill:currentColor}
  .rmhero .rmstat.g .spark{color:var(--lime-text)}
  .rmhero .rmstat.y .spark{color:var(--amber-strong)}
  .rmhero .rmstat.n .spark{color:var(--mut)}
  .rmhero .rmstat .spark .s-live{fill:var(--lime-text)}
  .rmhero .rmstat .spark .s-wip{fill:var(--amber-strong)}
  .rmhero .rmstat .spark .s-open{fill:var(--mut)}
  .rmhero .rmstat .spark .ar{fill:currentColor;fill-opacity:.16}
  .rmhero .rmstat .spark .ln{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
  .rmhero .rmstat .spark .dot{fill:currentColor;stroke:var(--card);stroke-width:1.5}
  @media(max-width:620px){.rmhero .rmstats{gap:1.1rem}}
  .phase{border:1px solid var(--line);border-radius:16px;background:var(--card);margin-bottom:.9rem;overflow:hidden}
  .phasehd{display:flex;align-items:center;gap:.9rem;padding:1rem 1.2rem;cursor:pointer;user-select:none}
  .phasehd .pnum{width:30px;height:30px;border-radius:9px;background:var(--panel);color:var(--mut);display:grid;place-items:center;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;flex:none;font-size:.85rem}
  .phase.done .phasehd .pnum{background:var(--limewash);color:var(--lime-text)}html[data-theme="dark"] .phase.done .phasehd .pnum{color:var(--lime)}
  .phasehd .ptit{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1rem;letter-spacing:-.01em}
  .phasehd .pmini{flex:1;height:7px;border-radius:999px;background:var(--track);overflow:hidden;max-width:280px;min-width:60px}
  .phasehd .pmini i{display:block;height:100%;background:var(--lime);border-radius:999px;transition:width .4s}
  .phasehd .ppct{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:.92rem;margin-left:auto}
  .phasehd .pcar{width:19px;height:19px;color:var(--faint);transition:transform .25s;flex:none;fill:none;stroke:currentColor;stroke-width:2}
  .phase.open2 .phasehd .pcar{transform:rotate(180deg)}
  .phasebody{display:none;padding:.2rem 1.2rem 1rem}
  .phase.open2 .phasebody{display:block}
  .modrow{display:flex;align-items:flex-start;gap:.85rem;padding:.75rem 0;border-top:1px solid var(--line)}
  .modrow .mst{width:12px;height:12px;border-radius:50%;margin-top:.3rem;flex:none}
  .modrow .mst.live{background:var(--lime)}.modrow .mst.wip{background:var(--amber)}.modrow .mst.open{background:var(--gray)}
  .modrow .mmid{flex:1;min-width:0}
  .modrow .mnm{font-weight:700;font-size:.9rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
  .modrow .mtag{font-size:.61rem;font-weight:800;border-radius:6px;padding:.08rem .42rem;text-transform:uppercase;letter-spacing:.03em}
  .modrow .mtag.live{background:var(--limewash);color:var(--lime-text)}html[data-theme="dark"] .modrow .mtag.live{color:var(--lime-text)}
  .modrow .mtag.wip{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber-strong)}
  .modrow .mtag.open{background:var(--track);color:var(--mut)}
  .modrow .mds{font-size:.79rem;color:var(--mut);margin-top:.18rem;line-height:1.45}
  .modrow .mneed{font-size:.75rem;color:var(--amber-strong);margin-top:.28rem;display:flex;gap:.4rem;align-items:flex-start}
  .modrow .mneed .svgi{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.2;flex:none;margin-top:.15rem}
  .modrow .mpct{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:.84rem;flex:none;color:var(--faint);min-width:38px;text-align:right}
  .modrow.live .mpct{color:var(--lime-text)}html[data-theme="dark"] .modrow.live .mpct{color:var(--lime-text)}
  .modrow.wip .mpct{color:var(--amber-strong)}
  /* ===== Klartext · KI-Ask ===== */
  .kaskwrap{margin-bottom:1.1rem}
  .kask{display:flex;align-items:center;gap:.6rem;background:var(--card);border:1px solid var(--line2);border-radius:16px;padding:.4rem .5rem .4rem 1rem;box-shadow:var(--shadow)}
  .kask:focus-within{border-color:var(--lime)}
  .kask .ksi{width:20px;height:20px;color:var(--lime);fill:none;stroke:currentColor;stroke-width:2;flex:none}
  .kask input{flex:1;border:0;background:transparent;color:var(--ink);font-family:'Inter',sans-serif;font-weight:600;font-size:1rem;padding:.7rem 0;outline:none;min-width:0}
  .kask input::placeholder{color:var(--faint)}
  .kask .kgo{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.85rem;border:0;border-radius:12px;padding:.7rem 1.2rem;background:var(--lime);color:var(--lime-ink);cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;flex:none}
  .kask .kgo .svgi{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.4}
  .kask .kmic,.kask .kvoice{width:40px;height:40px;border-radius:12px;border:1px solid var(--line2);background:var(--panel);color:var(--mut);cursor:pointer;display:grid;place-items:center;flex:none;transition:background .15s,color .15s,border-color .15s}
  .kask .kmic .svgi,.kask .kvoice .svgi{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}
  .kask .kmic:hover,.kask .kvoice:hover{color:var(--ink)}
  .kask .kvoice.on{background:var(--lime);border-color:var(--lime);color:var(--lime-ink)}
  .kask .kmic.listening{background:var(--red);border-color:var(--red);color:#fff;animation:kmicpulse 1.1s ease-in-out infinite}
  .kask .kmic.nosup{opacity:.4;cursor:not-allowed}
  @keyframes kmicpulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--red) 55%,transparent)}50%{box-shadow:0 0 0 7px transparent}}
  /* Beleg-Upload / Klassifizierung */
  .dropzone{margin-top:.4rem;border:1.5px dashed var(--line2);border-radius:14px;padding:1.6rem 1rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}
  .dropzone:hover,.dropzone:focus,.dropzone.drag{border-color:var(--lime);background:color-mix(in srgb,var(--lime) 7%,transparent);outline:none}
  .dropzone .dzi{width:28px;height:28px;color:var(--lime);fill:none;stroke:currentColor;stroke-width:1.8;margin-bottom:.4rem}
  .dropzone .dzt{font-family:'Inter Tight',sans-serif;font-weight:800;font-size:.95rem}
  .dropzone .dzs{font-size:.78rem;color:var(--faint);margin-top:.25rem}
  .uprow{display:flex;align-items:flex-start;gap:.8rem;background:var(--card);border:1px solid var(--line2);border-radius:14px;padding:.75rem .9rem;margin-top:.7rem}
  .upic{width:34px;height:34px;border-radius:9px;background:var(--panel);display:grid;place-items:center;flex:none}
  .upic .svgi{width:17px;height:17px;color:var(--mut);fill:none;stroke:currentColor;stroke-width:2}
  .upmid{flex:1;min-width:0}
  .upnm{font-weight:800;font-size:.88rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
  .upmeta{font-size:.74rem;color:var(--faint);margin-top:.1rem}
  .upfields{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.35rem;margin-top:.55rem}
  .upf{background:var(--panel);border-radius:8px;padding:.35rem .55rem;font-size:.75rem}
  .upf .upfl{color:var(--faint);font-weight:700;display:block;font-size:.68rem}
  .upf .upfv{font-weight:700}
  .upproc{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--mut);margin-top:.4rem}
  .upspin{width:14px;height:14px;border-radius:999px;border:2px solid var(--line2);border-top-color:var(--lime);animation:upspin .7s linear infinite;flex:none}
  @keyframes upspin{to{transform:rotate(360deg)}}
  .conf{font-size:.68rem;font-weight:800;padding:.08rem .4rem;border-radius:999px}
  .conf.hi{background:color-mix(in srgb,var(--lime) 18%,transparent);color:var(--lime-ink)}
  .conf.lo{background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber-strong)}
  .kfree{margin-top:.8rem;font-size:.95rem;line-height:1.6;color:var(--ink)}
  .kprov{margin-top:.9rem;font-size:.72rem;font-weight:800;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}
  .kvhint{font-size:.76rem;color:var(--faint);font-weight:600;margin-top:.5rem;min-height:1em}
  .kvhint.speaking{color:var(--lime-text)}
  .ksug{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.7rem}
  .ksug .sgc{font-family:'Inter',sans-serif;font-weight:600;font-size:.8rem;color:var(--mut);background:var(--card);border:1px solid var(--line2);border-radius:999px;padding:.38rem .8rem;cursor:pointer;transition:all .15s}
  .ksug .sgc:hover{border-color:var(--lime);color:var(--ink)}
  .kgvals{margin-top:.9rem;display:flex;flex-direction:column;gap:.5rem}
  .kgrow{padding:.7rem .85rem;border:1px solid var(--line2);border-radius:12px;background:var(--card2,var(--card))}
  .kgval{font-size:1.05rem;font-weight:800;color:var(--ink);line-height:1.3}
  .kgwho{font-size:.82rem;color:var(--mut);margin-top:.15rem}
  .kgsrc{font-size:.72rem;color:var(--faint);margin-top:.25rem;text-transform:uppercase;letter-spacing:.03em}
  .kgrid{display:grid;grid-template-columns:1fr 300px;gap:1.1rem;align-items:start}
  @media(max-width:900px){.kgrid{grid-template-columns:1fr}}
  .kmain{min-width:0}
  .kanswer .kah{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:.3rem}
  .kanswer .kabadge{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.62rem;letter-spacing:.05em;text-transform:uppercase;color:var(--lime-ink);background:var(--limewash);border-radius:6px;padding:.15rem .5rem;flex:none;margin-top:.2rem}
  html[data-theme="dark"] .kanswer .kabadge{color:var(--lime-text)}
  .kanswer .katitle{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.15rem;letter-spacing:-.01em;line-height:1.2}
  .kanswer .kahl{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:2.2rem;letter-spacing:-.02em;line-height:1.05;margin:.5rem 0 .1rem}
  .kanswer .kasub{font-size:.85rem;color:var(--mut);line-height:1.5;max-width:70ch}
  .kchart{width:100%;margin:1.1rem 0 .3rem}.kchart svg{width:100%;height:auto;display:block;overflow:visible}
  .kfacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem;margin-top:1rem}
  .kfact{background:var(--panel);border-radius:12px;padding:.7rem .85rem}
  .kfact .kfl{font-size:.72rem;color:var(--mut);font-weight:700}
  .kfact .kfv{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.15rem;margin-top:.15rem}
  .kfollow{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line)}
  .kfollow .fyl{font-size:.72rem;color:var(--faint);font-weight:800;text-transform:uppercase;letter-spacing:.05em;width:100%;margin-bottom:.1rem}
  .kside .ksh{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:.7rem;display:flex;align-items:center;gap:.4rem}
  .kside .ksh .svgi{width:14px;height:14px;color:var(--lime);fill:none;stroke:currentColor;stroke-width:2}
  .krel{display:flex;align-items:center;gap:.6rem;padding:.6rem;border:1px solid var(--line);border-radius:11px;background:var(--card);cursor:pointer;margin-bottom:.5rem;transition:all .15s}
  .krel:hover{border-color:var(--lime)}
  .krel .kri{width:32px;height:32px;border-radius:9px;background:var(--panel);color:var(--lime-ink);display:grid;place-items:center;flex:none}
  html[data-theme="dark"] .krel .kri{color:var(--lime)}
  .krel .kri .svgi{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
  .krel .krm{flex:1;min-width:0}
  .krel .krn{font-weight:700;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .krel .krs{font-size:.71rem;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .kempty{text-align:center;padding:2.4rem 1rem;color:var(--mut)}
  .kempty .kei{width:54px;height:54px;border-radius:16px;background:var(--limewash);color:var(--lime-text);display:grid;place-items:center;margin:0 auto 1rem}
  html[data-theme="dark"] .kempty .kei{color:var(--lime)}
  .kempty .kei .svgi{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2}
  .kempty h3{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.15rem;margin-bottom:.3rem;color:var(--ink)}
  .kbridge{margin-top:1rem;padding:.85rem 1rem;border:1px dashed var(--line2);border-radius:12px;font-size:.82rem;color:var(--mut);line-height:1.5;display:flex;gap:.6rem;align-items:flex-start}
  .kbridge .svgi{width:16px;height:16px;color:var(--amber-strong);fill:none;stroke:currentColor;stroke-width:2;flex:none;margin-top:.15rem}
  .kbridge b{color:var(--ink)}
  .ksaved{margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid var(--line)}
  .ksaved .kslbl{font-size:.72rem;color:var(--faint);font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.6rem;display:flex;align-items:center;gap:.5rem}
  .kslist{display:flex;gap:.4rem;flex-wrap:wrap}
  .ksitem{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;color:var(--mut);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:.35rem .5rem .35rem .8rem;cursor:pointer}
  .ksitem:hover{border-color:var(--lime);color:var(--ink)}
  .ksitem .ksx{width:18px;height:18px;border-radius:999px;background:var(--track);color:var(--faint);display:grid;place-items:center}
  .ksitem .ksx .svgi{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:2.4}
  @supports not (background:color-mix(in srgb,red 50%,transparent)){.topbar{background:var(--bg)}}

  /* ===== Einstellungen · Tab-Navigation ===== */
  .settabs{display:flex;gap:.3rem;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:1.3rem;padding-bottom:.6rem}
  .stab{font-family:'Inter',sans-serif;font-size:.82rem;font-weight:700;padding:.46rem .82rem;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--mut);cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;transition:background .15s,color .15s}
  .stab .svgi{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;flex:none}
  .stab:hover{background:var(--panel);color:var(--ink)}
  .stab.on{background:var(--panel);border-color:var(--line2);color:var(--ink)}
  .stab.on .svgi{color:var(--lime)}

  /* ===== Formular-Bausteine ===== */
  .sfgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.7rem}
  .sfield{display:flex;flex-direction:column;gap:.28rem;min-width:0}
  .sfield.wide{grid-column:1/-1}
  .sfl{font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--mut)}
  .sinp,.starea{font-family:'Inter',sans-serif;font-size:.86rem;font-weight:600;color:var(--ink);background:var(--card);border:1px solid var(--line2);border-radius:10px;padding:.52rem .7rem;width:100%;transition:border-color .15s}
  .sinp:focus,.starea:focus{outline:none;border-color:var(--lime)}
  .sinp::placeholder,.starea::placeholder{color:var(--faint);font-weight:500}
  .starea{resize:vertical;min-height:88px;line-height:1.5;font-weight:500}
  .sinp.mono,.starea.mono{font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums;font-size:.8rem}
  .shint{font-size:.72rem;color:var(--mut);line-height:1.45}

  /* ===== CI-Dropdown (ersetzt natives select) ===== */
  .cds{position:relative}
  .cds-b{font-family:'Inter',sans-serif;font-size:.86rem;font-weight:600;color:var(--ink);background:var(--card);border:1px solid var(--line2);border-radius:10px;padding:.52rem .7rem;width:100%;cursor:pointer;display:flex;align-items:center;gap:.5rem;text-align:left}
  .cds-b .cv{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cds-b .svgi{width:14px;height:14px;flex:none;color:var(--faint);fill:none;stroke:currentColor;stroke-width:2.2;transition:transform .15s}
  .cds.open .cds-b{border-color:var(--lime)}
  .cds.open .cds-b .svgi{transform:rotate(180deg)}
  .cds-m{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card);border:1px solid var(--line2);border-radius:12px;box-shadow:var(--shadow);padding:.28rem;display:none;z-index:70;max-height:280px;overflow:auto}
  .cds.open .cds-m{display:block}
  .cds-m button{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;font-family:'Inter',sans-serif;font-size:.84rem;font-weight:600;color:var(--mut);background:transparent;border:0;border-radius:8px;padding:.44rem .6rem;cursor:pointer}
  .cds-m button:hover{background:var(--panel);color:var(--ink)}
  .cds-m button.sel{color:var(--ink);background:var(--limewash)}
  .cds-m button .dt{width:7px;height:7px;border-radius:50%;background:var(--lime);flex:none;opacity:0}
  .cds-m button.sel .dt{opacity:1}

  /* ===== Datentabelle ===== */
  .stblwrap{overflow-x:auto;border:1px solid var(--line2);border-radius:14px;background:var(--card)}
  .stbl{width:100%;border-collapse:collapse;font-size:.82rem;min-width:640px}
  .stbl th{text-align:left;font-size:.66rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--mut);padding:.62rem .8rem;border-bottom:1px solid var(--line2);white-space:nowrap;background:var(--rail)}
  .stbl td{padding:.6rem .8rem;border-bottom:1px solid var(--line);color:var(--mut);vertical-align:middle}
  .stbl tr:last-child td{border-bottom:0}
  .stbl tr:hover td{background:var(--panel)}
  .stbl td.nm{font-weight:800;color:var(--ink)}
  .stbl td.num{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;color:var(--ink);text-align:right;white-space:nowrap}
  .stbl td.act{text-align:right;white-space:nowrap}
  .stbl .code{font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums;font-size:.76rem;color:var(--ink);background:var(--panel);border-radius:5px;padding:.1rem .38rem}

  /* ===== kleine Aktions-Buttons ===== */
  .sact{font-family:'Inter',sans-serif;font-size:.75rem;font-weight:700;padding:.3rem .6rem;border-radius:8px;border:1px solid var(--line2);background:var(--card);color:var(--mut);cursor:pointer;display:inline-flex;align-items:center;gap:.3rem}
  .sact .svgi{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2}
  .sact:hover{border-color:var(--lime);color:var(--ink)}
  .sact.dgr:hover{border-color:var(--red);color:var(--red-strong)}
  .sact.ico{padding:.3rem;border-radius:7px}
  .sbtn{font-family:'Inter',sans-serif;font-size:.82rem;font-weight:800;padding:.5rem .95rem;border-radius:10px;border:1px solid var(--line2);background:var(--card);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:.45rem}
  .sbtn .svgi{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2}
  .sbtn:hover{border-color:var(--lime)}
  .sbtn.pri{background:var(--lime);border-color:var(--lime);color:var(--lime-ink)}
  .sbtn.pri:hover{filter:brightness(1.06)}
  .sbtn.ai .svgi{color:var(--lime)}
  .sbtn.ai:hover .svgi{color:currentColor}
  .sbar{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:.8rem}
  .sbar .spacer{flex:1}

  /* ===== Status-Chips (ergänzend) ===== */
  .chip.b2{background:var(--bluewash);color:var(--blue-ink)}
  .savedok{font-size:.75rem;font-weight:800;color:var(--lime-text);display:inline-flex;align-items:center;gap:.3rem;opacity:0;transition:opacity .2s}
  .savedok.show{opacity:1}
  .savedok .svgi{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.6}

  /* ===== Mandanten-Umschalter (Logo-Bereich) ===== */
  .tsw{position:relative;margin-bottom:.7rem}
  .tsw-b{width:100%;display:flex;align-items:center;gap:.65rem;padding:.45rem .5rem;border-radius:12px;border:1px solid var(--line);background:var(--card);cursor:pointer;text-align:left;transition:border-color .15s}
  .tsw-b:hover{border-color:var(--line2)}
  .tsw.open .tsw-b{border-color:var(--lime)}
  .tsw-b .mk{width:38px;height:38px;border-radius:11px;background:var(--lime);color:var(--lime-ink);display:grid;place-items:center;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.05rem;flex:none}
  .tsw-b .tt{flex:1;min-width:0}
  .tsw-b .bt{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.02rem;letter-spacing:-.02em;line-height:1.05;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tsw-b .bs{font-size:.68rem;color:var(--mut);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tsw-b .cr{width:14px;height:14px;flex:none;color:var(--faint);fill:none;stroke:currentColor;stroke-width:2.2;transition:transform .15s}
  .tsw.open .tsw-b .cr{transform:rotate(180deg)}
  @media(max-width:960px){.tsw-b .tt,.tsw-b .cr{display:none}.tsw-b{justify-content:center;padding:.45rem .2rem}}
  .tsw-m{position:absolute;top:calc(100% + 5px);left:0;min-width:250px;height:min(60vh,360px);overflow-y:auto;background:var(--card);border:1px solid var(--line2);border-radius:14px;box-shadow:var(--shadow);padding:.3rem;display:none;z-index:80}
  .tsw.open .tsw-m{display:block}
  .tsw-m .tmh{font-size:.63rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:.45rem .6rem .3rem}
  .tsw-m button{display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;background:transparent;border:0;border-radius:10px;padding:.45rem .6rem;cursor:pointer}
  .tsw-m button:hover{background:var(--panel)}
  .tsw-m button.sel{background:var(--limewash)}
  .tsw-m .tmk{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:.8rem;flex:none}
  .tsw-m .tnm{font-size:.82rem;font-weight:800;color:var(--ink);line-height:1.2}
  .tsw-m .tsb{font-size:.68rem;color:var(--mut);font-weight:600}
  .tsw-m .tck{margin-left:auto;width:14px;height:14px;color:var(--lime);fill:none;stroke:currentColor;stroke-width:2.6;opacity:0;flex:none}
  .tsw-m button.sel .tck{opacity:1}

  /* ===== Farb-Auswahl · Primärfarbe ===== */
  .cpick{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:1.1rem;align-items:start}
  @media(max-width:860px){.cpick{grid-template-columns:1fr}}
  .cpv{border:1px solid var(--line2);border-radius:16px;overflow:hidden;background:var(--card)}
  .cpv .cpvh{height:104px;display:grid;place-items:center;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.5rem;letter-spacing:-.02em}
  .cpv .cpvb{padding:.8rem .9rem;display:flex;flex-direction:column;gap:.5rem}
  .cpsw{display:flex;flex-wrap:wrap;gap:.4rem}
  .cpsw button{width:30px;height:30px;border-radius:9px;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .12s}
  .cpsw button:hover{transform:scale(1.1)}
  .cpsw button.sel{border-color:var(--ink);box-shadow:0 0 0 2px var(--bg) inset}
  .hues{-webkit-appearance:none;appearance:none;width:100%;height:14px;border-radius:999px;outline:none;cursor:pointer;background:linear-gradient(90deg,#f00 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,#f00 100%)}
  .hues::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--card);border:3px solid var(--ink);cursor:pointer}
  .hues::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--card);border:3px solid var(--ink);cursor:pointer}
  .slv{-webkit-appearance:none;appearance:none;width:100%;height:14px;border-radius:999px;outline:none;cursor:pointer;background:var(--track)}
  .slv::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--card);border:3px solid var(--ink);cursor:pointer}
  .slv::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--card);border:3px solid var(--ink);cursor:pointer}
  .hexrow{display:flex;gap:.5rem;align-items:center}
  .hexrow .sinp{font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
  .cdot{width:38px;height:38px;border-radius:10px;border:1px solid var(--line2);flex:none}

  /* ===== Paletten-Abstufung ===== */
  .palrow{display:grid;grid-template-columns:repeat(10,1fr);border-radius:12px;overflow:hidden;border:1px solid var(--line2)}
  @media(max-width:700px){.palrow{grid-template-columns:repeat(5,1fr)}}
  .palcell{height:66px;display:flex;flex-direction:column;justify-content:flex-end;padding:.35rem .3rem;gap:.05rem;position:relative;cursor:pointer}
  .palcell b{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:.62rem;line-height:1}
  .palcell span{font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums;font-size:.53rem;font-weight:600;opacity:.8;line-height:1}
  .palcell.anchor:after{content:'';position:absolute;top:5px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:currentColor}
  .ctrow{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}
  .ctcard{flex:1;min-width:150px;border:1px solid var(--line2);border-radius:12px;padding:.6rem .7rem;background:var(--card)}
  .ctcard .ctl{font-size:.65rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--mut)}
  .ctcard .ctv{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:1.15rem;margin-top:.15rem;display:flex;align-items:center;gap:.4rem}
  .ctcard .ctv .svgi{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.6}
  .ctcard.pass .ctv{color:var(--lime-text)}
  .ctcard.fail .ctv{color:var(--red-ink)}
  .tokrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.5rem;margin-top:.6rem}
  .tokcard{border:1px solid var(--line2);border-radius:11px;padding:.5rem .6rem;background:var(--card);display:flex;align-items:center;gap:.55rem}
  .tokcard .tkd{width:26px;height:26px;border-radius:7px;border:1px solid var(--line);flex:none}
  .tokcard .tkn{font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums;font-size:.7rem;font-weight:700;color:var(--ink);line-height:1.2}
  .tokcard .tkv{font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums;font-size:.64rem;color:var(--mut)}

  /* ===== Berechtigungs-Matrix ===== */
  .mxwrap{overflow-x:auto;border:1px solid var(--line2);border-radius:14px;background:var(--card)}
  .mx{border-collapse:collapse;width:100%;min-width:760px;font-size:.8rem}
  .mx th{padding:.55rem .6rem;font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--mut);border-bottom:1px solid var(--line2);background:var(--rail);white-space:nowrap}
  .mx th.rl{text-align:center;min-width:104px}
  .mx th.fn{text-align:left;position:sticky;left:0;background:var(--rail);z-index:2;min-width:210px}
  .mx td{padding:.4rem .5rem;border-bottom:1px solid var(--line);text-align:center}
  .mx td.fn{text-align:left;font-weight:700;color:var(--ink);position:sticky;left:0;background:var(--card);z-index:1}
  .mx tr:hover td{background:var(--panel)}
  .mx tr:hover td.fn{background:var(--panel)}
  .mx tr.grp td{background:var(--rail);font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--mut);text-align:left;padding:.45rem .6rem}
  .mx tr.grp:hover td{background:var(--rail)}
  .lvl{font-family:'Inter',sans-serif;font-size:.66rem;font-weight:800;border-radius:7px;padding:.24rem .46rem;border:1px solid var(--line2);background:var(--panel);color:var(--mut);cursor:pointer;min-width:80px}
  .lvl.l0{color:var(--mut)}
  .lvl.l1{border-color:color-mix(in srgb,var(--blue) 40%,transparent);background:var(--bluewash);color:var(--blue-ink)}
  .lvl.l2{border-color:color-mix(in srgb,var(--lime) 45%,transparent);background:var(--limewash);color:var(--lime-text)}
  .lvl.l3{border-color:color-mix(in srgb,var(--amber) 45%,transparent);background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber-ink)}
  .lvl:hover{filter:brightness(1.12)}
  .lgd{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.6rem;font-size:.72rem;color:var(--mut)}
  .lgd span{display:inline-flex;align-items:center;gap:.32rem;font-weight:600}
  .lgd i{width:9px;height:9px;border-radius:3px;display:inline-block}

  /* ===== Ordner-Baum ===== */
  .tree{border:1px solid var(--line2);border-radius:14px;background:var(--card);padding:.5rem;font-size:.83rem}
  .tnode{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:9px;cursor:pointer}
  .tnode:hover{background:var(--panel)}
  .tnode .svgi{width:15px;height:15px;flex:none;color:var(--lime);fill:none;stroke:currentColor;stroke-width:2}
  .tnode .tn{font-weight:700;color:var(--ink)}
  .tnode .tc{font-size:.7rem;color:var(--mut);font-weight:700;margin-left:auto;background:var(--panel);border-radius:999px;padding:.05rem .42rem}
  .tnode .tai{font-size:.62rem;font-weight:800;color:var(--lime-text);background:var(--limewash);border-radius:5px;padding:.05rem .32rem}
  .tkids{margin-left:1.15rem;border-left:1px solid var(--line);padding-left:.45rem}

  /* ===== Datei-Ablage ===== */
  .drop{border:1.5px dashed var(--line2);border-radius:14px;padding:1.5rem 1rem;text-align:center;background:var(--card);transition:border-color .15s,background .15s;cursor:pointer}
  .drop:hover,.drop.dragover{border-color:var(--lime);background:var(--limewash)}
  .drop .svgi{width:26px;height:26px;color:var(--lime);fill:none;stroke:currentColor;stroke-width:1.8;margin-bottom:.4rem}
  .drop .dh{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:.95rem;color:var(--ink)}
  .drop .ds{font-size:.78rem;color:var(--mut);margin-top:.2rem;max-width:56ch;margin-left:auto;margin-right:auto;line-height:1.5}
  .conf{display:inline-flex;align-items:center;gap:.3rem;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:800;font-size:.7rem}
  .confbar{width:34px;height:4px;border-radius:999px;background:var(--track);overflow:hidden;flex:none}
  .confbar i{display:block;height:100%;background:var(--lime);border-radius:999px}

  /* ===== Workflow-Schritte ===== */
  .wfsteps{display:flex;flex-direction:column;gap:.4rem}
  .wfstep{display:flex;align-items:center;gap:.7rem;background:var(--card);border:1px solid var(--line2);border-radius:12px;padding:.5rem .7rem}
  .wfstep .wo{width:24px;height:24px;border-radius:7px;background:var(--panel);display:grid;place-items:center;font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:.72rem;color:var(--mut);flex:none}
  .wfstep .wn{font-weight:800;font-size:.85rem;color:var(--ink);min-width:0;flex:1}
  .wfstep .wmeta{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
  .wfstep .warr{display:flex;gap:.2rem;flex:none}
  .wfline{width:1px;height:8px;background:var(--line2);margin-left:1.45rem}

  /* ===== API-Register ===== */
  .apirow{display:flex;align-items:center;gap:.7rem;padding:.5rem .7rem;border-bottom:1px solid var(--line);font-size:.8rem}
  .apirow:last-child{border-bottom:0}
  .apirow:hover{background:var(--panel)}
  .verb{font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums;font-size:.64rem;font-weight:800;border-radius:5px;padding:.14rem .4rem;flex:none;min-width:46px;text-align:center}
  .verb.get{background:var(--bluewash);color:var(--blue-ink)}
  .verb.post{background:var(--limewash);color:var(--lime-text)}
  .verb.patch{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber-ink)}
  .verb.del{background:var(--redwash);color:var(--red-ink)}
  .apip{font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums;font-size:.76rem;color:var(--ink);font-weight:600}
  .apid{color:var(--mut);font-size:.76rem;margin-left:auto;text-align:right;max-width:44ch}
  @media(max-width:760px){.apid{display:none}}
  .apigrp{font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--mut);background:var(--rail);padding:.4rem .7rem;border-bottom:1px solid var(--line2)}
  .apibox{border:1px solid var(--line2);border-radius:14px;background:var(--card);overflow:hidden}
  .grow{display:flex;align-items:flex-start;gap:.6rem;font-size:.78rem;color:var(--mut);padding:.4rem 0;line-height:1.45}
  .grow .gd{width:7px;height:7px;border-radius:50%;background:var(--lime);flex:none;margin-top:.4rem}
  .grow b{color:var(--ink);font-weight:800}
  .grow .gt{font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums;font-size:.7rem;color:var(--mut);flex:none}

  /* ===== Checklisten ===== */
  .ckitem{display:flex;align-items:flex-start;gap:.6rem;padding:.42rem .1rem;font-size:.83rem;color:var(--mut);line-height:1.45}
  .ckbox{width:16px;height:16px;border-radius:5px;border:1.5px solid var(--line2);flex:none;margin-top:.1rem;display:grid;place-items:center;cursor:pointer}
  .ckbox .svgi{width:10px;height:10px;opacity:0;color:var(--lime-ink);fill:none;stroke:currentColor;stroke-width:3.4}
  .ckbox.on{background:var(--lime);border-color:var(--lime)}
  .ckbox.on .svgi{opacity:1}
  .ckitem .cktx{flex:1;min-width:0}
  .ckitem.done .cktx{text-decoration:line-through;opacity:.55}
  .ckpf{font-size:.6rem;font-weight:800;border-radius:4px;padding:.05rem .3rem;background:var(--redwash);color:var(--red-ink);flex:none}

  .brand.tenant{display:block;padding:.2rem 0 .8rem}

  /* ================= Rail v2 · Kategorien · Einklappen · Konto-Menue ================= */
  .brand.tenant{display:flex;align-items:center;gap:.4rem}
  .brand.tenant .tsw{flex:1;min-width:0;margin-bottom:0}
  /* Umschalter ohne Container: die Marke steht frei, kein Kasten drumherum */
  .tsw-b{border-color:transparent;background:transparent}
  .tsw-b:hover{border-color:transparent;background:var(--panel)}
  .tsw.open .tsw-b{border-color:transparent;background:var(--panel)}
  /* Ausklapp-Pfeil sitzt in der Topbar (nicht im Rail-Kopf) */
  .railtog{flex:none;width:40px;height:40px;border-radius:999px;border:1px solid var(--line2);background:var(--card);color:var(--mut);display:grid;place-items:center;cursor:pointer;transition:border-color .15s,color .15s}
  .railtog:hover{border-color:var(--lime);color:var(--ink)}
  .railtog .svgi{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;transition:transform .22s}
  body.rail-collapsed .railtog .svgi{transform:rotate(180deg)}
  @media(max-width:960px){.railtog{display:none}}

  /* Nav scrollt, Konto bleibt unten verankert — sonst schieben die Kategorien den Fuss aus dem Bild */
  .nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}
  .nav::-webkit-scrollbar{width:0;height:0;display:none}
  .railfoot{flex:none}

  /* Kategorie-Gruppen (aufklappbar) */
  .grp{display:flex;flex-direction:column}
  .grp+.grp{margin-top:.15rem}
  .grp-h{display:flex;align-items:center;gap:.55rem;width:100%;padding:.5rem .6rem;border:0;border-radius:9px;background:transparent;cursor:pointer;color:var(--mut);font-family:inherit;font-size:.82rem;font-weight:800;letter-spacing:.02em;text-transform:none;text-align:left;transition:color .15s,background .15s}
  .grp-h:hover{background:var(--panel);color:var(--ink)}
  .grp-h .gi{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
  .grp-h .gl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .grp-h .gc{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;stroke-width:2.4;transition:transform .2s}
  .grp:not(.open) .grp-h .gc{transform:rotate(-90deg)}
  .grp.open .grp-h .gi{color:var(--lime)}
  /* Einrueck-Linie markiert die Untermenue-Ebene (Idiom aus dem Partner-Programm) */
  .grp-b{display:none;flex-direction:column;gap:.12rem;padding-top:.1rem;margin-left:.62rem;padding-left:.4rem;border-left:0}
  .grp.open .grp-b{display:flex}
  body.rail-collapsed .grp-b{margin-left:0;padding-left:0;border-left:0}
  @media(max-width:960px){.grp-b{margin-left:0;padding-left:0;border-left:0}}
  .grp.hasact:not(.open) .grp-h{color:var(--ink)}
  .grp.hasact:not(.open) .grp-h .gi{color:var(--lime)}

  /* Konto-Bereich unten */
  .railfoot{margin-top:auto;padding-top:calc(.45rem + 5px);display:flex;flex-direction:column;gap:.5rem}/* rail-slim v1 */
  .acct{position:relative}
  .acctbtn{display:flex;align-items:center;gap:.55rem;width:100%;padding:.28rem .4rem;border-radius:12px;border:1px solid transparent;background:transparent;cursor:pointer;text-align:left;font-family:inherit;transition:border-color .15s,background .15s}
  .acctbtn:hover{background:var(--panel);border-color:var(--line)}
  .acct.open .acctbtn{border-color:var(--lime);background:var(--panel)}
  .acctbtn .ava{width:24px;height:24px;border-radius:8px;flex:none;display:grid;place-items:center;background:var(--lime);color:var(--lime-ink);font-family:'Inter Tight',Inter,system-ui,sans-serif;font-weight:900;font-size:.62rem;letter-spacing:.02em}
  .acctbtn .who{flex:1;min-width:0;display:flex;align-items:baseline;gap:.3rem;overflow:hidden}
  .acctbtn .who b{flex:none;font-size:.78rem;font-weight:800;color:var(--ink);line-height:1.3;white-space:nowrap}
  .acctbtn .who span{flex:0 1 auto;min-width:0;font-size:.66rem;font-weight:600;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acctbtn .who span:not(:empty)::before{content:"·";margin-right:.3rem;color:var(--faint)}
  .acctbtn .cr{width:13px;height:13px;flex:none;color:var(--faint);fill:none;stroke:currentColor;stroke-width:2.2;transition:transform .15s}
  .acct.open .acctbtn .cr{transform:rotate(180deg)}
  /* Beide Menues schliessen exakt mit der Navigationsspalte ab: left+right 0 statt fester Breite */
  .tsw-m{left:0;right:0;min-width:0}
  .acct-menu{position:absolute;bottom:calc(100% + 7px);left:0;right:0;min-width:0;height:min(60vh,360px);overflow-y:auto;background:var(--card);border:1px solid var(--line2);border-radius:14px;box-shadow:var(--shadow);padding:.3rem;display:none;z-index:85}
  .acct.open .acct-menu{display:block}
  .acct-menu .amh{font-size:.63rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:.5rem .6rem .35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .acct-menu .amc{font-size:.6rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);padding:.5rem .6rem .25rem;border-top:1px solid var(--line);margin-top:.2rem}
  .acct-menu .amc.first{border-top:0;margin-top:0}
  .acct-menu button{display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;background:transparent;border:0;border-radius:10px;padding:.46rem .6rem;cursor:pointer;color:var(--ink);font-family:inherit;font-size:.82rem;font-weight:600}
  .acct-menu button:hover{background:var(--panel)}
  .acct-menu button.on{background:var(--limewash)}
  .acct-menu button .svgi{width:15px;height:15px;flex:none;color:var(--mut);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .acct-menu button:hover .svgi,.acct-menu button.on .svgi{color:var(--lime)}
  .acct-menu button.danger:hover{background:var(--redwash);color:var(--red-ink)}
  .acct-menu button.danger:hover .svgi{color:var(--red-ink)}
  .acct-menu .amsep{height:1px;background:var(--line);margin:.3rem .5rem}

  /* Einstellungs-Subnavigation (ersetzt die Hauptnav, kommt aus dem Konto-Menue) */
  .rail-set{display:none;flex-direction:column;gap:.12rem;overflow-y:auto;flex:1;min-height:0}
  body.in-settings .nav{display:none}
  body.in-settings .rail-set{display:flex}
  .set-back{display:flex;align-items:center;gap:.55rem;width:100%;padding:.5rem .6rem;margin-bottom:.35rem;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer;color:var(--mut);font-family:inherit;font-size:.78rem;font-weight:700;text-align:left;transition:border-color .15s,color .15s}
  .set-back:hover{border-color:var(--lime);color:var(--ink)}
  .set-back .svgi{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
  .sn-lbl{font-size:.6rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:.6rem .6rem .25rem}
  .sni{display:flex;align-items:center;gap:.6rem;width:100%;padding:.46rem .6rem;border:0;border-radius:10px;background:transparent;cursor:pointer;color:var(--mut);font-family:inherit;font-size:.82rem;font-weight:600;text-align:left;transition:background .15s,color .15s}
  .sni:hover{background:var(--panel);color:var(--ink)}
  .sni.on{background:var(--panel);color:var(--ink);font-weight:700}
  .sni .svgi{width:16px;height:16px;flex:none;color:var(--faint);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .sni.on .svgi{color:var(--lime)}
  .sni span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  /* Eingeklappter Zustand (Desktop) — Icons bleiben, Text geht.
     Kategorie-Kopf verschwindet ganz: im Icon-Zustand trennen Linien die Kategorien,
     ein zweites Icon ueber dem Punkt-Icon wuerde nur doppeln. */
  body.rail-collapsed .app{grid-template-columns:66px 1fr}
  @media(min-width:961px){
    body.rail-collapsed .nav a .lbl,body.rail-collapsed .grp-h,
    body.rail-collapsed .acctbtn .who,body.rail-collapsed .acctbtn .cr,
    body.rail-collapsed .set-back span,body.rail-collapsed .sn-lbl,body.rail-collapsed .sni span{display:none}
    body.rail-collapsed .rail{padding:1.1rem .5rem}
    body.rail-collapsed .nav a,body.rail-collapsed .sni,body.rail-collapsed .set-back{justify-content:center;padding:.6rem .3rem}
    body.rail-collapsed .grp-b{display:flex}
    body.rail-collapsed .grp+.grp{margin-top:.35rem;padding-top:.35rem}
    body.rail-collapsed .nav a .badge{position:absolute;top:.15rem;right:.15rem;margin:0}
    body.rail-collapsed .acctbtn{justify-content:center;padding:.28rem .2rem}
    /* In der 66px-Spalte kann nichts buendig sein — die Menues klappen seitlich aus */
    body.rail-collapsed .acct-menu{left:calc(100% + 6px);right:auto;width:252px;bottom:0}
    body.rail-collapsed .tsw-b .tt,body.rail-collapsed .tsw-b .cr{display:none}
    body.rail-collapsed .tsw-b{justify-content:center;padding:.45rem .2rem}
    body.rail-collapsed .tsw-m{left:calc(100% + 6px);right:auto;width:250px;top:0}
  }
  /* Mobil: Rail ist bereits Icon-Spalte — Labels weg, Badges als Punkt */
  @media(max-width:960px){
    .grp-h{display:none}
    .grp-b{display:flex}
    .grp+.grp{margin-top:.35rem;padding-top:.35rem}
    .sn-lbl,.sni span,.set-back span{display:none}
    .sni,.set-back{justify-content:center;padding:.6rem .3rem}
    .acctbtn{justify-content:center;padding:.42rem .2rem}
    .acctbtn .who,.acctbtn .cr{display:none}
    .acct-menu{left:calc(100% + 6px);right:auto;width:252px;bottom:0}
    .tsw-m{left:calc(100% + 6px);right:auto;width:250px;top:0}
  }
