:root{--bg:#f6f7f9;--karte:#fff;--text:#1d2433;--gedaempft:#6b7385;--linie:#e3e6ec;--akzent:#1f6f6b;--akzent-hell:#e3f1f0;--negativ:#b3261e;--summe-bg:#f0f2f5}*{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:14px}body,h1{margin:0}h1{font-size:22px}h2{font-size:16px;margin:0}a{color:inherit;text-decoration:none}.gedaempft{color:var(--gedaempft);font-weight:400}.fehler{color:var(--negativ);margin:8px 0 0}.login{min-height:100vh;display:grid;place-items:center}.login-karte{background:var(--karte);border:1px solid var(--linie);border-radius:12px;padding:32px;width:360px}.login-formular,.login-karte{display:flex;flex-direction:column;gap:8px}.login-knopf{margin-top:16px;padding:10px;border-radius:8px;background:var(--akzent);color:#fff;text-align:center;font-size:14px}.login-karte label{font-weight:600;margin-top:12px}.login-karte input{padding:10px;border:1px solid var(--linie);border-radius:8px;font-size:14px}.login-karte button{margin-top:16px;padding:10px;border:0;border-radius:8px;background:var(--akzent);color:#fff;font-size:14px;cursor:pointer}.rahmen{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.seitenleiste{background:var(--karte);border-right:1px solid var(--linie);padding:20px 12px;overflow-y:auto;max-height:100vh;position:-webkit-sticky;position:sticky;top:0}.logo{font-weight:700;font-size:16px;padding:0 8px 16px}.nav-gruppe{margin-bottom:16px}.nav-titel{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--gedaempft);padding:4px 8px}.nav-link{display:flex;gap:8px;padding:6px 8px;border-radius:6px;align-items:baseline}.nav-link:hover{background:var(--summe-bg)}.nav-link.aktiv{background:var(--akzent-hell);color:var(--akzent);font-weight:600}.kuerzel{font-weight:600;min-width:44px}.nav-link span:last-child{color:var(--gedaempft);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inhalt{min-width:0}.kopf{display:flex;justify-content:space-between;padding:12px 28px;border-bottom:1px solid var(--linie);background:var(--karte)}.nutzer{display:flex;gap:12px;align-items:center}.nutzer form{margin:0}button.link{background:none;border:0;color:var(--akzent);cursor:pointer;font-size:14px;padding:0}.seite{padding:24px 28px 64px}.titelzeile{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.jahre{display:flex;gap:6px}.chip{padding:5px 12px;border:1px solid var(--linie);border-radius:999px;background:var(--karte)}.chip.aktiv{background:var(--akzent);color:#fff;border-color:var(--akzent)}.tabelle-rahmen{background:var(--karte)}table{border-collapse:collapse;width:100%;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td,th{padding:7px 12px;border-bottom:1px solid var(--linie);white-space:nowrap}th{text-align:left;font-weight:600;background:var(--summe-bg);top:0}td:first-child,th,th:first-child{position:-webkit-sticky;position:sticky}td:first-child,th:first-child{left:0;background:inherit}tbody td:first-child{background:var(--karte)}.zahl{text-align:right}.summenspalte{font-weight:600;border-left:1px solid var(--linie)}tr.kopfzeile td{color:var(--gedaempft);font-size:12px;text-transform:uppercase;letter-spacing:.04em}tr.kopfzeile td,tr.summe td{background:var(--summe-bg)!important;font-weight:600}tr.summe.stark td{border-top:2px solid var(--linie)}tr.prozent td{color:var(--gedaempft);font-size:12px;font-style:italic}.zelllink{display:inline-block;padding:1px 6px;margin:-1px -6px;border-radius:4px}.zelllink:hover{background:var(--akzent-hell);color:var(--akzent)}.zelllink.aktiv{background:var(--akzent);color:#fff}.fussnote,.hinweis{color:var(--gedaempft);font-size:12px}.fussnote{margin:10px 2px 0}.details{margin-top:32px;scroll-margin-top:16px}tr.kontokopf td{background:var(--summe-bg)!important;font-weight:600}table.buchungen td:nth-child(3){white-space:normal;min-width:280px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--linie);margin-bottom:20px}.tab{padding:8px 16px;border-radius:8px 8px 0 0;color:var(--gedaempft)}.tab:hover{background:var(--summe-bg)}.tab.aktiv{color:var(--akzent);font-weight:600;border-bottom:2px solid var(--akzent);margin-bottom:-1px}.karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:16px;gap:16px;margin-bottom:8px}.karte{background:var(--karte);border:1px solid var(--linie);border-radius:10px;padding:18px 20px;display:flex;flex-direction:column;gap:6px}.karte-titel{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--gedaempft);font-weight:600}.gross{font-size:40px;font-weight:700;line-height:1.1}.zeile-gross{display:flex;flex-direction:column;gap:2px;margin-top:4px}.zeile-gross strong{font-size:15px}.vergleich{margin-top:6px;padding-top:10px;border-top:1px solid var(--linie)}.gut{color:#1b7a43}.mittel{color:#9a6a00}.negativ{color:var(--negativ)}.abschnitt{margin:28px 0 12px}.chart-rahmen{padding:12px}.marge-chart{width:100%;height:auto;display:block}.marge-chart .gitter{stroke:var(--linie);stroke-width:1}.marge-chart .achse{stroke:var(--gedaempft);stroke-width:1}.marge-chart .achsentext{fill:var(--gedaempft);font-size:12px}.marge-chart .wert{fill:var(--text);font-size:12px;font-weight:600}.marge-chart .bar-ok{fill:#1b7a43}.marge-chart .bar-mid{fill:#d9a21b}.marge-chart .bar-neg{fill:var(--negativ)}.marge-chart .ziel{stroke:var(--text);stroke-width:1.25;stroke-dasharray:5 4}.marge-chart .zieltext{fill:var(--text);font-size:12px;font-weight:600}.marge-chart .durchschnitt-linie{fill:none;stroke:var(--akzent);stroke-width:1.5;opacity:.5}.marge-chart .durchschnitt-punkt{fill:var(--akzent)}.upload-formular{display:flex;flex-direction:column;gap:8px;max-width:760px;margin-top:16px}.upload-formular label{font-size:13px;font-weight:600;margin-top:8px}.upload-formular input[type=date],.upload-formular input[type=file]{padding:8px;border:1px solid var(--linie);border-radius:8px;background:var(--karte);font-size:14px}.upload-formular input[type=date]{width:200px}.upload-knoepfe{display:flex;gap:12px;margin-top:16px}.upload-knoepfe button{padding:10px 16px;border:0;border-radius:8px;background:var(--akzent);color:#fff;font-size:14px;cursor:pointer}.upload-knoepfe button.sekundaer{background:var(--karte);color:var(--akzent);border:1px solid var(--akzent)}.upload-knoepfe button:disabled{opacity:.5;cursor:wait}.upload-fehler,.upload-ok{margin-top:16px;padding:12px 14px;border-radius:8px;border:1px solid var(--linie);background:var(--karte)}.upload-fehler{border-color:var(--negativ)}.upload-fehler strong{color:var(--negativ)}.upload-fehler pre,.upload-ok pre{margin:10px 0 0;font-size:12px;overflow-x:auto;white-space:pre}.nutzer-tabelle{width:100%;border-collapse:collapse;font-size:14px;background:var(--karte)}.nutzer-tabelle td,.nutzer-tabelle th{text-align:left;padding:8px 12px;border-bottom:1px solid var(--linie)}.nutzer-tabelle th{font-size:12px;text-transform:uppercase;letter-spacing:.05em}.nutzer-tabelle th,.nutzer-tabelle tr.inaktiv td{color:var(--gedaempft)}.tabelle-rahmen{overflow-x:auto;border:1px solid var(--linie);border-radius:10px;margin-top:16px}.text-eingabe{padding:8px;border:1px solid var(--linie);border-radius:8px;background:var(--karte);font-size:14px;max-width:420px}.text-eingabe[readonly]{background:var(--hintergrund,#f4f4f4);color:var(--gedaempft)}.auswahl-zeile{display:flex;gap:20px;align-items:center;font-weight:400!important}.praxis-auswahl{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:6px 16px;gap:6px 16px;padding:10px 12px;border:1px solid var(--linie);border-radius:8px;background:var(--karte);max-height:280px;overflow-y:auto}.praxis-auswahl label{font-weight:400;margin:0;display:flex;gap:8px;align-items:center;font-size:13px}.praxis-auswahl.deaktiviert{opacity:.5}