
:root{--goodbg:color-mix(in srgb,var(--good) 14%,var(--surface));--badbg:color-mix(in srgb,var(--bad) 10%,var(--surface));--warnc:#c58f00;--warnbg:color-mix(in srgb,#e0a400 16%,var(--surface));--gold:#fbb900;--tcc:#3f8f4a}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--warnc:#f2c14e;--tcc:#6fc28a}}
:root[data-theme="dark"]{--warnc:#f2c14e;--tcc:#6fc28a}
html:not([lang="en"]) .en{display:none!important}html[lang="en"] .de{display:none!important}
[hidden]{display:none!important}
body{overflow-x:hidden}
.cta:not(.alt){box-shadow:0 3px 0 color-mix(in srgb,var(--btn) 70%,#000)}
.cta.alt{color:var(--ink);border-color:var(--ink2)}
/* Kopf */
.l2h .brand img{height:40px}
.umbadge{font:800 .72rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;background:var(--btn);color:var(--btnink);padding:5px 8px;border-radius:6px;white-space:nowrap}
.l2h .tools{display:flex;gap:6px;margin-left:auto;align-items:center}
.thm{display:inline-grid;place-items:center;font:700 1rem var(--body);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;min-height:44px;min-width:44px;cursor:pointer}
@media (max-width:820px){.l2h .brand img{height:32px}}
@media (max-width:430px){.umbadge{display:none}}
main{padding-bottom:40px}
html.l2page main section{padding-block:clamp(26px,4vw,56px)}
html.l2page main section.uhero{padding-block:clamp(18px,3vw,40px) 4px}
h1{font-size:clamp(1.9rem,4.2vw,3.3rem);font-weight:850;letter-spacing:-.03em;line-height:1.05}
h1 em{font-style:normal;background:linear-gradient(transparent 62%,color-mix(in srgb,var(--btn) 70%,transparent) 0)}
h2.h{font-size:clamp(1.5rem,2.8vw,2.3rem)!important;letter-spacing:-.02em;line-height:1.08;font-weight:850}
.lead{font-size:clamp(1rem,1.2vw,1.12rem);max-width:64ch}
/* Raster: Handy = Urteil → Eingaben; breit = Eingaben links, Urteil rechts (klebt) */
.ugrid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:18px}
.ugrid>*{min-width:0}
@media (min-width:980px){.ugrid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}.ugrid .urteilbox{order:2;position:sticky;top:84px}.ugrid .eingabe{order:1}}
.box{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:clamp(16px,2.2vw,24px);min-width:0}
.box h3{font-size:1.12rem}
/* Ampel */
.urteil{display:flex;gap:16px;align-items:center}
.ampel{flex:none;display:flex;flex-direction:column;gap:6px;background:#1f2328;padding:8px;border-radius:16px}
.ampel i{display:block;width:22px;height:22px;border-radius:50%;background:#3a4048;opacity:.55}
.ampel[data-a=r] i.r{background:#e5533d;opacity:1;box-shadow:0 0 12px #e5533d}
.ampel[data-a=y] i.y{background:#f2b705;opacity:1;box-shadow:0 0 12px #f2b705}
.ampel[data-a=g] i.g{background:#3fb45b;opacity:1;box-shadow:0 0 12px #3fb45b}
.uwort{font:850 clamp(1.5rem,3.4vw,2.1rem)/1.1 var(--body);letter-spacing:-.02em}
.uwort[data-a=g]{color:var(--good)}.uwort[data-a=r]{color:var(--bad)}.uwort[data-a=y]{color:var(--warnc)}
.usatz{margin-top:6px;font-size:1.02rem}
.kz{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.kz li{background:var(--band);border-radius:14px;padding:10px 12px;min-width:0}
.kz b{display:block;font:850 1.15rem/1.2 var(--body)}.kz span{font-size:.84rem;color:var(--ink2)}
.var{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.var button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;text-align:left;font:600 .95rem/1.3 var(--body);color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:14px;padding:10px 12px;min-height:52px;cursor:pointer}
.var button[aria-pressed=true]{border-color:var(--btn);box-shadow:0 0 0 1.5px var(--btn) inset;background:var(--soft)}
.var .dot{width:16px;height:16px;border-radius:50%;background:var(--bar0)}
.dot[data-a=g]{background:#3fb45b}.dot[data-a=y]{background:#f2b705}.dot[data-a=r]{background:#e5533d}
.var .vt small{display:block;color:var(--ink2);font-weight:500;font-size:.84rem}
.var .ve{font-weight:800;white-space:nowrap;font-size:.92rem}
.vors{margin-top:10px;font-size:.9rem;color:var(--ink2)}
.groesst{margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--warnbg);font-size:.95rem}
/* Eingaben */
.eingabe fieldset{border:0;margin:0 0 16px;padding:0;min-width:0}
.eingabe legend{font-weight:800;margin-bottom:8px;padding:0}
.eingabe .hint{display:block;font-size:.84rem;color:var(--ink2);margin-top:4px}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.upill{position:relative;display:inline-flex}
.upill input{position:absolute;opacity:0;width:1px;height:1px}
.upill>span{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:700 .93rem/1.2 var(--body);cursor:pointer}
.upill>input:checked+span{background:var(--btn);border-color:var(--btn);color:var(--btnink)}
.upill>input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}
.numf{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.numf label{font-weight:700}
input.n{width:7.5em;font:600 1rem/1.3 var(--body);color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;min-height:46px}
input.n:focus{border-color:var(--btn)}
.mlist{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mrow{border:1.5px solid var(--line);border-radius:14px;padding:8px 12px;background:var(--bg)}
.mrow.on{border-color:var(--btn)}
.mrow .mh{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font-weight:700}
.mrow .mh input{width:22px;height:22px;accent-color:#c58f00;flex:none}
.mrow .mi{font-size:1.25rem;flex:none}
.mrow .mb{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:4px 0 6px 32px}
.mrow .mb label{font-size:.9rem;font-weight:600;color:var(--ink2)}
.mrow .mb input.n{width:6.5em;min-height:42px;padding:8px 10px}
.mrow small{display:block;width:100%;color:var(--ink2);font-size:.82rem}
/* Tabelle */
.tw{overflow-x:auto;margin-top:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.tw:focus-visible{outline:3px solid var(--accent)}
table.jt{border-collapse:collapse;width:100%;min-width:640px;font-size:.92rem}
.jt th,.jt td{padding:9px 10px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
.jt th:first-child,.jt td:first-child{text-align:left;position:sticky;left:0;background:var(--surface);white-space:normal;min-width:9.5em}
.jt thead th{background:var(--band);font-size:.84rem}
.jt tr.sum td{font-weight:800}.jt tr.cum td{color:var(--ink2)}
.jt .neg{color:var(--bad)}.jt .pos{color:var(--good)}
/* Grafik */
.fig{margin:14px 0 0;padding:12px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.fig svg{display:block;width:100%;height:auto}
.fig figcaption{font-size:.86rem;color:var(--ink2);margin-top:8px}
.leg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.86rem;margin-top:8px}
.leg span{display:inline-flex;align-items:center;gap:6px}.leg i{width:14px;height:14px;border-radius:4px;display:inline-block}
.leg .lt{background:var(--gold)}.leg .lc{background:var(--tcc)}.leg .lr{border:2px dashed var(--ink2);background:transparent}.leg .ll{height:3px;border-radius:2px;background:var(--ink)}.leg .ld{height:0;border-top:3px dashed var(--ink2);border-radius:0}
.sv-ax{stroke:var(--line);stroke-width:1}.sv-zero{stroke:var(--ink2);stroke-width:1.2}.sv-t{fill:var(--gold)}.sv-c{fill:var(--tcc)}.sv-rl{fill:none;stroke:var(--ink2);stroke-width:1.2;stroke-dasharray:3 3}
.sv-lab{fill:var(--ink2);font:600 12px var(--body)}.sv-cum{fill:none;stroke:var(--ink);stroke-width:2.5}.sv-cumrl{fill:none;stroke:var(--ink2);stroke-width:2;stroke-dasharray:6 5}
.sv-be{fill:var(--good)}.sv-bel{fill:var(--good);font:800 11px var(--body)}
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.split div{border-radius:14px;padding:12px;background:var(--band)}
.split .st{border-left:6px solid var(--gold)}.split .sc{border-left:6px solid var(--tcc)}
.split b{display:block;font:850 1.2rem/1.2 var(--body)}.split span{font-size:.86rem;color:var(--ink2)}
.erkl{margin-top:14px;padding:14px 16px 14px 50px;border-radius:16px;background:var(--soft);position:relative}
.erkl::before{content:"💡";position:absolute;left:16px;top:13px;font-size:1.25rem}
.erkl ol{margin:6px 0 0;padding-left:1.2em}.erkl li{margin-top:4px}
/* Maßnahmen einzeln */
.elist{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.elist li{display:flex;gap:10px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px;min-width:0}
.elist .dot{flex:none;width:16px;height:16px;border-radius:50%;margin-top:3px}
.elist b{display:block}.elist span{font-size:.88rem;color:var(--ink2)}
/* Hinweise, Förderung, Paket */
.hinw{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.hinw li{padding:10px 12px;border-radius:12px;background:var(--warnbg);font-size:.93rem}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);margin-top:18px}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);margin-top:18px}
.pk h3{display:flex;gap:10px;align-items:center}.pk h3 i{font-style:normal;font-size:1.5rem}
.pk p,.pk li{color:var(--ink2);font-size:.95rem}.pk ul{margin:8px 0 0;padding-left:1.1em}
.warn{border:0;background:var(--warnbg)}
.ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;align-items:center}
.klein{font-size:.86rem;color:var(--ink2)}
details.dd{margin-top:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:0 16px}
details.dd>summary{cursor:pointer;min-height:48px;display:flex;align-items:center;font-weight:800;list-style:none;gap:8px}
details.dd>summary::-webkit-details-marker{display:none}
details.dd>summary::before{content:"▸";transition:transform .2s;display:inline-block}
details.dd[open]>summary::before{transform:rotate(90deg)}
details.dd .in{padding-bottom:14px}
.qlist{margin:6px 0 0;padding-left:1.2em;font-size:.9rem;color:var(--ink2)}.qlist li{margin-top:8px}
.qlist .ann{display:inline-block;font:800 .72rem/1 var(--body);text-transform:uppercase;letter-spacing:.06em;background:var(--warnbg);color:var(--ink);padding:4px 6px;border-radius:6px;margin-right:6px}
.qlist .bel{display:inline-block;font:800 .72rem/1 var(--body);text-transform:uppercase;letter-spacing:.06em;background:var(--goodbg);color:var(--ink);padding:4px 6px;border-radius:6px;margin-right:6px}
.qlist a{word-break:break-all}
/* Fuß */
footer.uft{border-top:1px solid var(--line);padding-block:28px 40px;margin-top:20px}
.uft .fl{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 16px}
.uft .fl a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-weight:600;text-decoration:none}.uft .fl a:hover{text-decoration:underline}
.uft p{font-size:.88rem;color:var(--ink2);max-width:80ch}
@media (max-width:760px){.g3,.g2,.elist{grid-template-columns:1fr}.uft .fl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:380px){.kz{grid-template-columns:1fr}.split{grid-template-columns:1fr}}
@media (prefers-reduced-motion:no-preference){.ampel i{transition:background .3s,box-shadow .3s,opacity .3s}}
@media print{.l2h,footer,.eingabe,.ctas{display:none!important}.ugrid{display:block}}
