html,body,#root{height:100%}body{margin:0}.fin{padding-bottom:120px}.fin-kopf{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:8px;display:flex}.fin-kopf select{border:1px solid var(--border);border-radius:6px;max-width:100%;padding:7px 10px;font-size:.95rem}.fin-nav{flex-wrap:wrap}.fin-pruef{flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:.85rem;display:inline-flex}.badge.ok{color:var(--ok);background:#e7f4ea}.badge.err{color:var(--err);background:#fdecea}.badge.warn{color:#8a5a00;background:#fff4e0}.fin-probleme{color:var(--muted);flex-basis:100%;max-height:220px;margin:4px 0;padding-left:18px;font-size:.82rem;overflow:auto}.fin-h3{margin:22px 0 8px;font-size:1rem}.fin-kpis{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:8px 0 14px;display:grid}.fin-kpi{border:1px solid var(--border);background:#fff;border-radius:8px;padding:10px 12px;font-size:.85rem}.fin-kpi-wert{font-variant-numeric:tabular-nums;margin-top:2px;font-size:1.25rem;font-weight:600}.fin-kpi-sub{font-size:.78rem}.fin-kpi-btn{text-align:left;font:inherit;color:inherit;cursor:pointer}.fin-kpi-btn:hover,.fin-kpi-btn.aktiv{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.fin-kpi-link{color:var(--accent);margin-top:4px;font-size:.78rem}.fin-zeitreihe{border:1px solid var(--border);background:#fff;border-radius:8px;margin:0 0 14px;padding:6px 14px 10px}.fin-zr-kopf{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.fin-zr-kopf .fin-h3{margin-top:8px}.fin-quelle{font-size:.8rem}.fin-quelle a{color:var(--accent)}.fin-neg{color:var(--err)}.fin-pos{color:var(--ok)}.fin-legende{color:var(--muted);flex-wrap:wrap;gap:14px;margin-bottom:6px;font-size:.85rem;display:flex}.fin-legende i{vertical-align:-1px;border-radius:3px;width:12px;height:12px;margin-right:5px;display:inline-block}.fin-balken{gap:6px;max-width:760px;display:grid}.fin-balken-zeile{grid-template-columns:56px 1fr 90px;align-items:center;gap:8px;font-size:.88rem;display:grid}.fin-balken-spur{background:#f1f1f1;border-radius:4px;height:18px;display:flex;overflow:hidden}.fin-balken-teil{height:100%;display:block}.fin-balken-teil+.fin-balken-teil{border-left:2px solid #fff}.fin-balken-wert{text-align:right;font-variant-numeric:tabular-nums}.fin-zweispaltig{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=900px){.fin-zweispaltig{grid-template-columns:1fr}}.fin-table{margin:6px 0;font-size:.86rem}.fin-table td,.fin-table th{padding:5px 7px}.fin-table th.num{white-space:nowrap}.fin-table td.num{font-variant-numeric:tabular-nums}.fin-table tr.fin-sel td{background:#fff8d6}.fin-table tr.fin-gruppe td{background:var(--accent-bg)}.fin-table tfoot td{border-top:2px solid var(--border)}.fin-nr{color:var(--muted);white-space:nowrap;font-family:ui-monospace,Consolas,monospace;font-size:.8rem}.fin-name{text-align:left;font-size:inherit;padding:0}.fin-ort{font-size:.8rem}.fin-plain{color:inherit;text-decoration:none}.fin-plain:hover{text-decoration:underline}.fin-up{color:var(--err)}.fin-down{color:var(--ok)}.fin-aus{color:#c8c8c8}.fin-filter{flex-wrap:wrap}.fin-check{align-items:center;gap:6px;font-size:.88rem;display:inline-flex}.fin-chips{flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0;display:flex}.fin-chips button:not(.link){border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:14px;padding:4px 11px;font-size:.84rem}.fin-chips button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.fin-chips button.active .muted{color:#dbe8f5}.fin-summenleiste{z-index:15;border-top:2px solid var(--accent);background:#fff;padding:8px 16px 10px;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #00000014}.fin-summen-kopf{flex-wrap:wrap;align-items:baseline;gap:4px 14px;font-size:.9rem;display:flex}.fin-summen-aktionen{gap:14px;margin-left:auto;display:inline-flex}.fin-summen-werte{flex-wrap:wrap;gap:4px 18px;margin-top:4px;display:flex}.fin-summe{flex-direction:column;font-size:.8rem;display:inline-flex}.fin-summe b{font-variant-numeric:tabular-nums;font-size:1rem}.fin-dialog-bg{z-index:30;background:#0000004d;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.fin-dialog{background:#fff;border-radius:10px;width:min(560px,100%);max-height:90vh;padding:16px 18px;overflow:auto}.fin-dialog h3{margin:0 0 8px}.fin-notizen{margin:8px 0;padding:0;list-style:none}.fin-notiz{border:1px solid var(--border);border-left:4px solid var(--accent);background:#fff;border-radius:6px;margin-bottom:10px;padding:10px 12px}.fin-notiz.typ-frage{border-left-color:#eb6834}.fin-notiz.typ-erkenntnis{border-left-color:#1baf7a}.fin-notiz.erledigt{opacity:.65}.fin-notiz-kopf{flex-wrap:wrap;align-items:baseline;gap:6px 10px;display:flex}.fin-notiz-kopf input{flex:1;min-width:200px}.fin-notiz-meta{margin-left:auto;font-size:.8rem}.fin-notiz-text{white-space:pre-wrap;margin:6px 0}.fin-notiz textarea{width:100%;margin-top:6px}.fin-notiz-ergebnis{background:var(--bg);border-radius:6px;margin:6px 0;padding:8px 10px;font-size:.85rem}.fin-notiz-aktionen{flex-wrap:wrap;gap:14px;margin-top:6px;font-size:.88rem;display:flex}.fin-notiz-neu{gap:6px;max-width:700px;margin:8px 0 14px;display:grid}.fin-notiz-neu input,.fin-notiz-neu textarea{border:1px solid var(--border);font:inherit;border-radius:6px;padding:7px 9px}button.link.danger{color:var(--err)}.badge.typ-zwischenergebnis{background:var(--accent-bg);color:var(--accent)}.badge.typ-frage{color:#9a3d12;background:#fdeee6}.badge.typ-erkenntnis{color:#11704d;background:#e3f6ee}.fin-baum .fin-toggle{cursor:pointer;width:18px;color:var(--muted);background:0 0;border:none;padding:0;display:inline-block}.fin-baum .fin-ebene{font-size:.75rem}.fin-baum tr.fin-ebene-fb td{background:#f3f6fa;font-weight:600}.fin-baum tr.fin-ebene-th td{font-weight:500}.fin-baum tr.fin-ebene-kst td{color:#444}.fin-baum tr.fin-fokus td{outline:2px solid var(--accent)}.fin-baum tr.fin-sel td{background:#fff8d6}.fin-minibar{width:120px}.fin-minibar span{border-radius:3px;height:10px;display:block}.fin-minibar span.neg{background:#eb6834}.fin-minibar span.pos{background:#1baf7a}.fin-text{white-space:pre-wrap;border:1px solid var(--border);background:#fff;border-radius:6px;max-height:520px;padding:10px 12px;font-family:inherit;font-size:.85rem;overflow:auto}.fin-treff{border:1px solid var(--border);background:#fff;border-radius:8px;margin:8px 0 4px;padding:8px 12px}.fin-treff summary{cursor:pointer;font-weight:500}.fin-treff select{max-width:100%;margin:8px 0}@media (width<=640px){.fin-summenleiste{padding:6px 10px 8px}.fin-summen-aktionen{margin-left:0}.fin-balken-zeile{grid-template-columns:44px 1fr 70px}.fin-minibar{display:none}}.fin-verlauf-btn{border:1px solid var(--border);color:var(--accent);cursor:pointer;vertical-align:1px;background:#fff;border-radius:4px;margin-left:6px;padding:0 5px;font-size:.78rem;line-height:1.4}.fin-verlauf-btn:hover,.fin-verlauf-btn.aktiv{background:var(--accent);color:#fff;border-color:var(--accent)}.fin-zelle{font:inherit;color:inherit;cursor:pointer;text-align:right;background:0 0;border:none;width:100%;padding:0}.fin-zelle:hover{color:var(--accent);text-decoration:underline}.fin-zelle.aktiv{color:var(--accent);font-weight:600}.fin-zeitreihe .segmented{margin:2px 0 8px}.fin-farbpunkt{vertical-align:0;border-radius:50%;width:9px;height:9px;margin-right:5px;display:inline-block}.fin-seite{color:var(--muted);margin-left:8px;font-size:.75rem}.fin-werkstatt .fin-werkstatt-kopf .field{flex:1;min-width:220px}.fin-werkstatt .row{flex-wrap:wrap}.fin-treffer{border:1px solid var(--border);background:#fff;border-radius:6px;max-height:260px;margin:4px 0 12px;padding:0;list-style:none;overflow:auto}.fin-treffer li{border-bottom:1px solid var(--border);padding:5px 10px;font-size:.88rem}.fin-treffer li .link{margin-right:8px}.fin-aenderungen{padding-left:22px}.fin-aenderung{border:1px solid var(--border);border-left:4px solid var(--accent);background:#fff;border-radius:6px;margin-bottom:10px;padding:8px 12px}.fin-aenderung.deckung{border-left-color:#1baf7a}.fin-aenderung-kopf{flex-wrap:wrap;align-items:baseline;gap:6px 10px;display:flex}.fin-aenderung-kopf input{border:1px solid var(--border);border-radius:4px;min-width:200px;padding:4px 8px}.fin-aenderung-aktionen{gap:14px;margin:4px 0;font-size:.85rem;display:flex}.fin-aenderung-fuss{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:6px;display:flex}.fin-notiz-zeile{border:1px solid var(--border);border-radius:4px;flex:1;min-width:200px;padding:4px 8px}.fin-zahl{text-align:right;border:1px solid var(--border);width:96px;font:inherit;border-radius:4px;padding:3px 5px}.fin-deckung{border-radius:6px;margin:6px 0 10px;padding:8px 12px;font-size:.9rem}.fin-deckung.ok{color:var(--ok);background:#e7f4ea}.fin-deckung.err{color:var(--err);background:#fdecea}.fin-export .fin-text{max-height:420px}.fin-zwei{gap:6px;display:flex}.fin-zwei input{width:50%}.fin-diskrepanz{border:1px solid var(--err);background:color-mix(in srgb, var(--err) 7%, transparent);border-left-width:4px;border-radius:8px;margin:8px 0 14px;padding:10px 12px;font-size:.9rem}.fin-diskrepanz p{margin:6px 0 0}.fin-diskrepanz-zelle{background:color-mix(in srgb, var(--err) 14%, transparent);color:var(--err);font-weight:600}.badge.info{background:var(--accent-bg);color:var(--accent)}.fin-hsk-status-zeile{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.fin-hsk-zeile{cursor:pointer}.fin-hsk-zeile.auf td{border-bottom-color:#0000}.fin-hsk-detail td{background:var(--accent-bg);font-size:.88rem}.fin-hsk-detail p{margin:4px 0 6px}.fin-hsk-belege{margin:4px 0;font-size:.85rem}.fin-hsk-notiz textarea{box-sizing:border-box;width:100%;font:inherit;margin-top:6px;font-size:.88rem}.fin-hsk-notiz .fin-notiz-aktionen{flex-wrap:wrap;align-items:center;gap:12px;font-size:.85rem;display:flex}.fin-hsk-zusatz{gap:10px;padding:0;list-style:none;display:grid}.fin-hsk-zusatz li{border:1px solid var(--border);background:#fff;border-radius:8px;padding:10px 12px}.fin-hsk-fragen{gap:12px;padding-left:22px;display:grid}.fin-hsk-fragen li{border:1px solid var(--border);background:#fff;border-radius:8px;padding:8px 10px}.fin-hsk-fragen li.erledigt{opacity:.75}.fin-hsk-bereiche{margin:6px 0 14px}.fin-hsk-bereiche summary{cursor:pointer;font-size:.9rem}.fin-hsk-umfang{font-size:.8rem}.fin-hsk-stundung{border:1px solid var(--border);background:#fff;border-radius:8px;margin:10px 0 14px;padding:10px 12px}.fin-hsk-stundung summary{cursor:pointer}.fin-hsk-stundung ul{margin:8px 0 4px;padding-left:20px}.fin-hsk-stundung li{margin-bottom:4px}.fin-hsk-balken-zelle{white-space:nowrap;min-width:110px}.fin-hsk-balken{vertical-align:middle;background:#2a78d6;border-radius:2px;max-width:70px;height:10px;margin-right:6px;display:inline-block}.fin-h4{margin:14px 0 6px;font-size:.95rem}.fin-thema-gruppe{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.fin-thema-gruppe .segmented{margin:2px 0 8px}.fin-thema-finanz td{color:var(--muted)}.fin-thema-gruppe .segmented{flex-wrap:wrap}.fin-zr-option{color:var(--text,#222);cursor:pointer;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.fin-treffer td{vertical-align:top}.fin-lesehilfe{margin:4px 0 10px;font-size:.9rem}.fin-lesehilfe summary{cursor:pointer;color:var(--accent)}.fin-lesehilfe dl{border:1px solid var(--border);background:#fff;border-radius:8px;margin:8px 0 0;padding:10px 12px}.fin-lesehilfe dt{margin-top:8px;font-weight:600}.fin-lesehilfe dt:first-child{margin-top:0}.fin-lesehilfe dd{margin:2px 0 0}.fin-rechenweg{margin:6px 0}.fin-rechenweg dd.fin-formel{white-space:normal;overflow-wrap:anywhere;background:#f6f7f9;border-radius:4px;margin:3px 0;padding:4px 6px;font-family:ui-monospace,Consolas,monospace;font-size:.82rem}.fin-rechenweg table{margin:4px 0}.fin-landstand{border-left:3px solid var(--accent);background:#f6f7f9;border-radius:4px;margin:6px 0 10px;padding:8px 10px;font-size:.85rem}.fin-landstand div{margin-top:3px}.fin-stufen{font-size:.8rem}.fin-stufe{white-space:nowrap;margin:1px 8px 1px 0;display:inline-block}.fin-einordnung{background:#1baf7a12;border-left:3px solid #1baf7a;border-radius:4px;margin:10px 0 14px;padding:4px 12px 8px;font-size:.9rem}.fin-einordnung p{margin:6px 0}.fin-einordnung .fin-h4{margin-top:8px}.fin-linkbutton{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.fin-klickbar{cursor:pointer}.fin-klickbar:hover{outline:2px solid var(--accent)}.fin-aufschl{width:min(720px,100%)}.fin-aufschl-kst{margin-top:4px;font-size:.85rem}.fin-aufschl-kst table{width:calc(100% - 14px);margin:4px 0 0 14px}.fin-markiert{background:color-mix(in srgb, var(--accent) 12%, transparent)}.fin-liste{margin:.25rem 0 .5rem 1.1rem;padding:0;font-size:.9rem}.fin-umbruch{flex-wrap:wrap}.fin-chart{width:100%;max-width:680px;height:auto;display:block}.fin-entwurf{background:#fff4d6;border-left:4px solid #e0a800;border-radius:4px;padding:6px 10px}.hhp{max-width:960px}.hhp-ampeln{flex-wrap:wrap;gap:8px;margin:8px 0 4px;display:flex}.hhp-abschnitt{border-top:1px solid var(--border);margin-top:20px;padding-top:8px}.hhp-abschnitt details{margin:8px 0}.hhp-abschnitt summary{cursor:pointer;color:var(--accent)}.hhp-auffaellig td{background:#fff8e1}.hhp-text{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--border);background:#fff;border-radius:4px;max-height:320px;padding:8px 12px;font-size:.82rem;overflow-y:auto}.pp-urteil.pp-info{background:var(--accent-bg);color:var(--muted)}.pp-befund.pp-info{border-left-color:var(--border)}.fin-entwurf-beschluss{background:#e8f1fb;border-left-color:#2b6cb0}.fin-ortsteile{flex-wrap:wrap}.fin-fassung-kopf{text-align:center;border-bottom:1px solid #ccd;font-weight:600}.fin-scroll{overflow-x:auto}.fin-liste{padding-left:1.2em}.fin-liste li{margin:2px 0}:root{--fg:#1a1a1a;--bg:#fafafa;--muted:#6b6b6b;--accent:#1c5f9c;--accent-bg:#e8f1fa;--border:#e0e0e0;--err:#b1382a;--ok:#2e7d32}*{box-sizing:border-box}body{color:var(--fg);background:var(--bg);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{max-width:1100px;margin:0 auto;padding:0 16px 64px}.topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:16px;padding:16px 0;display:flex}.topbar h1{color:var(--accent);margin:0;font-size:1.6rem}.topbar .subtitle{color:var(--muted);font-size:.95rem}.topbar .health{color:var(--muted);margin-left:auto;font-size:.85rem}.topbar .health.ok{color:var(--ok)}.topbar .health.err{color:var(--err)}.tabs{border-bottom:1px solid var(--border);gap:4px;margin:16px 0;display:flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-size:1rem}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.searchform{gap:8px;margin-bottom:16px;display:flex}.searchform input{border:1px solid var(--border);border-radius:4px;flex:1;padding:10px 12px;font-size:1rem}.searchform input:focus{border-color:var(--accent);outline:none}.searchform button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-size:1rem}.searchform button:disabled{background:var(--muted);cursor:not-allowed}.error{color:var(--err);padding:8px 0}.empty{color:var(--muted);padding:12px 0;list-style:none}ul.hitlist,ul.meetinglist,ul.bodylist{margin:0;padding:0;list-style:none}.hitlist li,.meetinglist li,.bodylist li{border-bottom:1px solid var(--border);padding:12px 0}.hitname{font-weight:500}.hitname a{color:var(--accent);text-decoration:none}.hitname a:hover{text-decoration:underline}.badge{background:var(--accent-bg);color:var(--accent);vertical-align:middle;border-radius:3px;margin-left:8px;padding:2px 8px;font-size:.75rem;display:inline-block}.snippet{color:var(--muted);max-height:6em;margin-top:4px;font-size:.9rem;line-height:1.4;overflow:hidden}.snippet mark{color:var(--fg);background:#fff3a8;border-radius:2px;padding:0 1px}.hitmeta{color:var(--muted);margin-top:2px;font-size:.8rem}.mtitle a{color:var(--accent);font-weight:500;text-decoration:none}.mtitle a:hover{text-decoration:underline}.mmeta{color:var(--muted);margin-top:2px;font-size:.85rem}.bodylist li a{color:var(--fg);text-decoration:none}.bodylist li a:hover{color:var(--accent)}.searchform select,.filterbar select{border:1px solid var(--border);background:#fff;border-radius:4px;padding:10px 12px;font-size:1rem}.filterbar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;display:flex}.filterbar .count{color:var(--muted);margin-left:auto;font-size:.9rem}.clickable{cursor:pointer}.clickable:hover{background:var(--accent-bg)}.backbtn{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-bottom:8px;padding:4px 0;font-size:.95rem}.backbtn:hover{text-decoration:underline}.detail-title{margin:8px 0 4px}.detail-meta{margin-bottom:24px}.detail-meta a{color:var(--accent)}.agenda{padding-left:20px;list-style:decimal}.agenda li{padding:6px 0}.agenda-num{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:4px}.ref{color:var(--muted);font-size:.85rem}.badge.nonpublic{color:var(--err);background:#fdecea;margin-left:8px}.docgroup{margin:16px 0}.docgroup h4{margin:8px 0 4px;font-size:1rem}.doclist{margin:0;padding-left:0;list-style:none}.doclist li{padding:4px 0}.doclist a{color:var(--accent);text-decoration:none}.doclist a:hover{text-decoration:underline}.antrag-form,.antrag-editor{max-width:820px}.ki-settings{border:1px solid var(--border);border-radius:6px;margin:12px 0;padding:10px 12px}.ki-settings-head{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.ki-settings-body{margin-top:8px}.ki-settings a{color:var(--accent)}button.link{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-size:.9rem;text-decoration:underline}.muted{color:var(--muted)}.field{flex-direction:column;gap:4px;margin:12px 0;display:flex}.field>span:first-child{font-size:.9rem;font-weight:500}.field input,.field textarea,.field select{border:1px solid var(--border);border-radius:4px;padding:8px 10px;font-family:inherit;font-size:1rem}.field textarea{resize:vertical;min-height:60px}.field .hint{color:var(--muted);font-size:.8rem}.field-label{margin:12px 0 4px;font-size:.9rem;font-weight:500;display:block}.row{align-items:flex-start;gap:12px;display:flex}.row .field{flex:1}button.primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-top:16px;padding:10px 24px;font-size:1rem}button.primary:disabled{background:var(--muted);cursor:not-allowed}button.addbtn{border:1px dashed var(--border);color:var(--accent);cursor:pointer;background:0 0;border-radius:4px;margin:4px 0 12px;padding:6px 12px;font-size:.9rem}button.addbtn:hover{background:var(--accent-bg)}button.iconbtn{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;width:32px;height:32px;font-size:1.1rem}button.iconbtn:hover{color:var(--err);border-color:var(--err)}.editlist{margin:8px 0;padding-left:24px;list-style:decimal}.editlist li{align-items:flex-start;gap:8px;padding:4px 0;display:flex}.editlist li textarea{flex:1}.begruendung-block{border:1px solid var(--border);border-radius:4px;margin-bottom:12px;padding:12px}.begruendung-block textarea{width:100%;margin-top:8px}.zusatz-block{border-left:3px solid var(--accent-bg);margin-bottom:12px;padding-left:12px}.action-row{flex-wrap:wrap;gap:8px;margin:24px 0 12px;display:flex}.action-row button{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:#fff;border-radius:4px;padding:8px 16px;font-size:.95rem}.action-row button:hover{background:var(--accent-bg)}.precedents{background:var(--accent-bg);border-radius:4px;margin:24px 0;padding:12px 16px}.precedents h3{margin:0 0 8px}.precedents ol{margin:0;padding-left:24px}.precedents li{padding:4px 0}.precedent-meta{color:var(--muted);font-size:.8rem}.usage{color:var(--muted);margin-top:8px;font-family:ui-monospace,monospace;font-size:.8rem}.antrag-loading{color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:60px 0;display:flex}.antrag-loading .hint{font-size:.85rem}.spinner{border:3px solid var(--accent-bg);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.antrag-preview{border:1px solid var(--border);background:#fff;border-radius:4px;padding:32px;line-height:1.6}.antrag-preview h1{margin-top:0}.antrag-preview .bezug{border-left:3px solid var(--accent);color:var(--muted);padding-left:12px}.login-wrap{justify-content:center;align-items:center;min-height:100%;padding:24px 16px;display:flex}.login-card{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;max-width:380px;padding:28px 24px}.login-card h1{color:var(--accent);margin:0 0 4px}.login-card p{margin:0 0 12px}.login-card .primary{width:100%}.login-card .action-row{margin-top:16px}.server-box{margin:8px 0 4px;font-size:.85rem}.linkbtn{color:var(--accent);cursor:pointer;font-size:inherit;text-align:left;word-break:break-all;background:0 0;border:none;padding:0;text-decoration:underline}.usermenu{margin-left:8px;position:relative}.userbtn{border:1px solid var(--border);cursor:pointer;color:var(--fg);background:0 0;border-radius:4px;padding:6px 10px;font-size:.9rem}.usermenu .menu{z-index:10;border:1px solid var(--border);background:#fff;border-radius:4px;flex-direction:column;min-width:200px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 4px 16px #00000014}.usermenu .menu-head{color:var(--muted);border-bottom:1px solid var(--border);padding:8px 12px;font-size:.8rem}.usermenu .menu button{text-align:left;cursor:pointer;background:0 0;border:none;padding:10px 12px;font-size:.95rem}.usermenu .menu button:hover{background:var(--accent-bg)}.users h2{margin:8px 0 4px}.user-create{border:1px solid var(--border);background:#fff;border-radius:4px;margin:16px 0 24px;padding:4px 16px 16px}.user-create h3{margin:12px 0 0;font-size:1rem}.pw-notice{background:#fff8e1;border:1px solid #f0d78c;border-radius:4px;margin:12px 0;padding:12px 16px;line-height:1.6}.pw-notice code{font-size:1rem}.pw-notice code.pw{letter-spacing:.05em;font-weight:600}.pw-notice .action-row{margin:8px 0 0}.pw-notice .hint,.hint{color:var(--muted);font-size:.8rem}.tablewrap{overflow-x:auto}.usertable{border-collapse:collapse;width:100%;font-size:.92rem}.usertable th,.usertable td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px}.usertable th{color:var(--muted);font-size:.8rem;font-weight:500}.usertable tr.inactive td{color:var(--muted)}.usertable td.actions{white-space:nowrap}.usertable td.actions button{border:1px solid var(--border);cursor:pointer;color:var(--accent);background:#fff;border-radius:4px;margin:2px 4px 2px 0;padding:4px 8px;font-size:.8rem}.usertable td.actions button:hover{background:var(--accent-bg)}.usertable td.actions button.danger{color:var(--err)}.usertable td.actions button.danger:hover{background:#fdecea}html,body{overflow-x:hidden}.searchform input,.searchform select{min-width:0}.hitname,.snippet,.mtitle,.mmeta,.detail-title,.hitmeta{overflow-wrap:anywhere}@media (width<=640px){.app{padding:0 10px 48px}.topbar{flex-wrap:nowrap;align-items:center;gap:8px;padding:12px 0}.topbar h1{font-size:1.3rem}.topbar .subtitle{display:none}.topbar .health{font-size:.75rem}.userbtn{text-overflow:ellipsis;white-space:nowrap;max-width:130px;padding:5px 8px;font-size:.8rem;overflow:hidden}.tabs{flex-wrap:wrap;gap:0;margin:10px 0}.tabs button{white-space:nowrap;flex:auto;min-width:0;padding:9px 8px;font-size:.85rem}.searchform{flex-wrap:wrap}.searchform input{flex:100%}.searchform select{flex:auto}.searchform button{flex:none}.filterbar select{max-width:100%}.row{flex-direction:column;gap:0}.antrag-preview{padding:16px}.docrow{gap:8px}.hitcount{min-width:34px;padding:5px 6px;font-size:.9rem}}.pwfield{display:flex;position:relative}.pwfield input{flex:1;padding-right:92px}.pwtoggle{cursor:pointer;color:var(--accent);background:0 0;border:none;padding:6px 8px;font-size:.85rem;text-decoration:underline;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.result-summary{color:var(--muted);margin:4px 0 8px;font-size:.9rem}.docrow{align-items:center;gap:12px;display:flex}.docrow-body{flex:1;min-width:0}.hitcount{text-align:center;font-variant-numeric:tabular-nums;background:var(--accent-bg);min-width:40px;color:var(--accent);border-radius:6px;flex:none;padding:6px 8px;font-weight:600}.chevron{color:var(--muted);flex:none;font-size:1.4rem}.hits-in-doc{padding-left:0;list-style:none}.hits-in-doc li{border-bottom:1px solid var(--border);padding:12px 0}.snippet-full{max-height:none}.detail-title .badge{vertical-align:middle;font-size:.75rem}.filterbar .filterinput{border:1px solid var(--border);border-radius:4px;flex:1;min-width:160px;padding:10px 12px;font-size:1rem}.bplan-links{flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:.9rem;display:flex}.bplan-links a{color:var(--accent);text-decoration:none}.bplan-links a:hover{text-decoration:underline}.hitmeta a{color:var(--accent);text-decoration:none}.hitmeta a:hover{text-decoration:underline}.modebar{flex-wrap:wrap;align-items:center;gap:12px;margin:-6px 0 8px;display:flex}.modebar .segmented{margin:0}.modehint{font-size:.85rem}.yearsfilter{color:var(--muted);align-items:center;gap:8px;margin:-6px 0 12px;font-size:.9rem;display:flex}.yearsfilter input{width:18px;height:18px}.mtitle .badge{font-size:.7rem}.stat-group{margin:18px 0 26px}.stat-group h3{margin:0 0 8px;font-size:1rem}.stat-group .usertable td:nth-child(n+2),.stat-group .usertable th:nth-child(n+2){text-align:right;white-space:nowrap}.stat-group .usertable td:first-child{min-width:220px}.stat-row{cursor:pointer}.stat-row:hover td,.stat-row.open td{background:var(--accent-bg)}.stat-row.open td{border-bottom-color:#0000}.stat-toggle{all:unset;cursor:pointer}.stat-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.stat-toggle .chev{width:1em;color:var(--accent);display:inline-block}.stat-toggle .chev.none{color:var(--border)}.stat-group .usertable tr.stat-verlauf td{text-align:left;white-space:normal;background:var(--accent-bg);padding:4px 10px 14px}.stat-verlauf .verlauf{max-width:calc(100vw - 52px);position:sticky;left:10px}.verlauf-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.verlauf-panel{border:1px solid var(--border);background:#fff;border-radius:6px;margin:0;padding:8px 10px}.verlauf-panel figcaption{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:2px;font-size:.85rem;display:flex}.verlauf-title{font-weight:600}.verlauf-summary{color:var(--muted)}.verlauf-summary strong{color:var(--fg);font-weight:600}.verlauf-chart{touch-action:pan-y;width:100%}.verlauf-grid-line{stroke:var(--border);stroke-width:1px}.verlauf-rule{stroke:var(--muted);stroke-width:1px;stroke-dasharray:2 3}.verlauf-readout{font-variant-numeric:tabular-nums;font-size:.85rem}.verlauf-tabelle{margin-top:10px;font-size:.9rem}.verlauf-tabelle summary{cursor:pointer;color:var(--accent)}.verlauf-tabelle .usertable{background:#fff;max-width:560px;margin-top:6px}.verlauf-tabelle .usertable td,.verlauf-tabelle .usertable th{padding:4px 10px}.stat-group .verlauf-tabelle .usertable td:first-child{min-width:0}.verlauf-hinweise{margin:4px 0 0;padding-left:18px}.segmented{border:1px solid var(--border);border-radius:6px;margin:4px 0 14px;display:inline-flex;overflow:hidden}.segmented button{cursor:pointer;color:var(--muted);background:#fff;border:none;padding:8px 14px;font-size:.9rem}.segmented button.active{background:var(--accent);color:#fff}@media (width<=640px){.segmented{display:flex}.segmented button{flex:1;padding:8px 6px;font-size:.8rem}}.stats .legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin:10px 0 4px;font-size:.9rem;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.swatch{vertical-align:-1px;border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.chart-scroll,.table-scroll{overflow-x:auto}.chart{max-width:100%;height:auto;display:block}.chart-label{fill:var(--fg);font-size:13px}.chart-label.emph{font-weight:600}.chart-value{fill:var(--muted);font-size:12px}.tooltip{z-index:20;border:1px solid var(--border);pointer-events:none;background:#fff;border-radius:6px;max-width:320px;padding:8px 10px;font-size:.85rem;position:fixed;box-shadow:0 2px 8px #0000001f}.tooltip-title{margin-bottom:2px;font-weight:600}.stats-table{border-collapse:collapse;width:100%;margin:14px 0;font-size:.9rem}.stats-table th,.stats-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 8px}.stats-table th{color:var(--muted);font-weight:500}.stats-table .num{text-align:right;white-space:nowrap}.stats-table tr.emph td{background:var(--accent-bg)}.stats-table caption{text-align:left;padding:6px 0;font-weight:600}.stats-notes{padding-left:18px}.stats-zeitreihe h3{margin:18px 0 4px;font-size:1rem}.sourcebar{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 0;display:flex}.sourcelabel{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}.sourceswitch{margin:0}.badge.kreis{color:#2e7d32;background:#eef7ee}@media (width<=640px){.sourcebar{gap:6px}.sourcelabel{display:none}.sourceswitch{flex:1}}.activity{margin:24px 0}.activity h3{margin:0 0 4px;font-size:1.05rem}.usertable tr.selected td{background:var(--accent-bg)}.eventtable td.nowrap{white-space:nowrap}.topbar .version{color:var(--muted);white-space:nowrap;align-self:center;font-size:.75rem}.badge.update{color:#7a5a00;background:#fff3cd;margin-left:6px}.seg{flex-wrap:wrap;gap:6px;margin:4px 0 6px;display:flex}.seg button{border:1px solid var(--border);font:inherit;cursor:pointer;color:var(--fg);background:#fff;border-radius:999px;padding:5px 12px;font-size:.88rem}.seg button:hover{border-color:var(--accent)}.seg button.active{background:var(--accent);border-color:var(--accent);color:#fff}.kommunen-index{margin:8px 0 12px}.kommunen-index .legend{color:var(--muted);flex-wrap:wrap;gap:12px;display:inline-flex}.kommunen-other{cursor:pointer}.kommunen-other:hover{stroke:var(--muted);stroke-width:2px}.verlauf-base-line{stroke:var(--muted);stroke-width:1px}.kommunen-table{margin-top:12px}.stat-group .kommunen-table .usertable td,.stat-group .kommunen-table .usertable th{font-variant-numeric:tabular-nums;padding:5px 8px}.stat-group .kommunen-table .usertable td:first-child{background:var(--bg);min-width:170px;position:sticky;left:0}.kommunen-table tr.kreis td{border-bottom:2px solid var(--border)}.kommunen-table tr.selected td{background:var(--accent-bg)}.ehrenamt-sub{margin:14px 0 6px;font-size:.92rem}.stat-group .ehrenamt-invest td:nth-child(2),.stat-group .ehrenamt-invest th:nth-child(2),.stat-group .ehrenamt-invest td:nth-child(n+4),.stat-group .ehrenamt-invest th:nth-child(n+4){text-align:left;white-space:normal}.stat-group .ehrenamt-invest td:first-child{min-width:0}.ehrenamt-fakten{margin:0;padding-left:18px;font-size:.92rem}.ehrenamt-fakten li{margin:3px 0}.update-banner{color:#4a3b0b;background:#fff4d6;border-bottom:1px solid #e8c56a;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 16px;font-size:.95rem;display:flex}.update-banner span{flex:260px}.update-banner .primary-link{background:var(--accent);color:#fff;border-radius:4px;padding:6px 14px;font-weight:600;text-decoration:none}.kommunen-select{color:var(--muted);align-items:center;gap:8px;margin:4px 0 6px;font-size:.9rem;display:inline-flex}.kommunen-select select{font:inherit;color:var(--fg);border:1px solid var(--border);background:#fff;border-radius:6px;max-width:100%;padding:5px 8px}.verlauf-erklaerung{max-width:72ch;margin:8px 0 4px}.verlauf-chart:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.kommunen-table th.bezug,.kommunen-table td.bezug{background:var(--accent-bg);font-weight:600}.planpruefung{max-width:900px}.pp-vorlagen{border:1px solid var(--border);background:#fff;border-radius:4px;max-height:320px;margin:0 0 12px;padding:0;list-style:none;overflow-y:auto}.pp-vorlagen li{border-bottom:1px solid var(--border);cursor:pointer;padding:8px 12px}.pp-vorlagen li:last-child{border-bottom:none}.pp-vorlagen li:hover{background:var(--accent-bg)}.pp-vorlagen li.active{background:var(--accent-bg);box-shadow:inset 3px 0 0 var(--accent)}.pp-vorlage-titel{font-size:.95rem}.pp-actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.pp-plaene,.pp-schritt2,.pp-ergebnis{border-top:1px solid var(--border);margin-top:20px;padding-top:12px}.pp-planliste{margin:8px 0;padding:0;list-style:none}.pp-planliste li{padding:6px 0}.pp-plan{text-align:left;font-weight:500}.pp-auszuege{margin:6px 0 4px 18px}.pp-auszuege blockquote{border-left:3px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;margin:8px 0;padding:8px 12px;font-size:.88rem}.pp-urteil{vertical-align:middle;border-radius:3px;padding:2px 8px;font-size:.8rem;font-weight:600;display:inline-block}.pp-urteil.pp-rot{color:var(--err);background:#fdecea}.pp-urteil.pp-gelb{color:#7a5a00;background:#fff3cd}.pp-urteil.pp-gruen{color:var(--ok);background:#eef7ee}.pp-befund{border:1px solid var(--border);background:#fff;border-left-width:4px;border-radius:4px;margin:12px 0;padding:10px 14px}.pp-befund.pp-rot{border-left-color:var(--err)}.pp-befund.pp-gelb{border-left-color:#d4a100}.pp-befund.pp-gruen{border-left-color:var(--ok)}.pp-befund dl{grid-template-columns:110px 1fr;gap:4px 12px;margin:8px 0 0;font-size:.92rem;display:grid}.pp-befund dt{color:var(--muted)}.pp-befund dd{margin:0}@media (width<=600px){.pp-befund dl{grid-template-columns:1fr}.pp-befund dt{margin-top:6px}}.pp-vorlagen li.leer{color:var(--muted);cursor:not-allowed}.pp-vorlagen li.leer:hover{background:0 0}.badge.neu{color:#7a5a00;background:#fff3cd;font-weight:600}.tab-zaehler{background:var(--err);color:#fff;border-radius:10px;min-width:1.3em;margin-left:6px;padding:1px 6px;font-size:.75rem;font-weight:700;line-height:1.4;display:inline-block}.ol-banner button.primary-link{cursor:pointer;border:none;font-size:.95rem}.offenlegungen h3{margin:18px 0 6px;font-size:1rem}.ol-eintrag.ol-neu{background:#fffbea;border-left:3px solid #e8c56a;padding-left:10px}.ol-status{color:var(--ok);font-weight:600}.ol-status.ol-knapp{color:var(--err)}.ol-status.ol-demnaechst{color:var(--accent)}.ol-status.ol-beendet,.ol-status.ol-ohne_frist{color:var(--muted);font-weight:500}.ol-beendet .mtitle a{color:var(--muted)}.pp-vergleich{margin:8px 0 4px}.pp-chips{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.pp-chip{background:var(--accent-bg);color:var(--accent);overflow-wrap:anywhere;border-radius:12px;align-items:center;gap:4px;max-width:100%;padding:3px 4px 3px 10px;font-size:.85rem;display:inline-flex}.pp-chip button{padding:0 6px;font-size:1rem;line-height:1}.pp-check{margin:4px 0 8px;font-size:.9rem;display:block}.badge.thema{color:var(--ok);background:#eef7ee;font-weight:600}.pp-karte{margin:12px 0}.pp-karte img{border:1px solid var(--border);border-radius:4px;max-width:100%;height:auto;display:block}.pp-karte figcaption{color:var(--muted);margin-top:4px;font-size:.8rem}.hhp-fragen li{margin-bottom:8px}.hhp-hypothese{color:var(--muted);margin:4px 0 0;font-size:.92rem}.hhp-sicher{white-space:nowrap;border-radius:8px;padding:0 6px;font-size:.8rem;display:inline-block}.hhp-sicher-hoch{color:#1e5c37;background:#d9f2e3}.hhp-sicher-mittel{color:#7a5a00;background:#fff3cd}.hhp-sicher-gering{color:#555;background:#eee}
