:root{--bg:#f6f7f9;--fg:#1c2330;--mut:#5d6778;--card:#fff;--line:#dfe3ea;--acc:#1f5fbf;--ok:#1d7a46;--bad:#b3261e;--warn:#9a6700}
@media (prefers-color-scheme:dark){:root{--bg:#12161d;--fg:#e8ebf0;--mut:#9aa4b5;--card:#1a202a;--line:#2c3441;--acc:#6ea8ff;--ok:#5fc88a;--bad:#ff8a80;--warn:#e3b341}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--acc)}header{background:var(--card);border-bottom:1px solid var(--line);padding:.5rem 1rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
header nav{display:flex;gap:.2rem;flex-wrap:wrap;flex:1}header nav a{padding:.35rem .6rem;border-radius:6px;text-decoration:none;color:var(--fg)}
header nav a.aktiv,header nav a:hover{background:var(--bg)}header form{display:inline}
main{max-width:1180px;margin:1rem auto;padding:0 1rem}h1{font-size:1.4rem;margin:.2rem 0 1rem}h2{font-size:1.1rem;margin:1.4rem 0 .5rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem;margin-bottom:1rem}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.kpi b{display:block;font-size:1.5rem}.kpi span{color:var(--mut);font-size:.85rem}
table{width:100%;border-collapse:collapse}th,td{padding:.4rem .5rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:.8rem;color:var(--mut);text-transform:none}
td.r,th.r{text-align:right;font-variant-numeric:tabular-nums}.mut{color:var(--mut)}.ok{color:var(--ok)}.bad{color:var(--bad)}.warn{color:var(--warn)}
label{display:block;font-size:.85rem;color:var(--mut);margin:.5rem 0 .15rem}input,select,textarea{width:100%;padding:.45rem .55rem;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--fg);font:inherit}
.form{display:grid;gap:.2rem .9rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.form .voll{grid-column:1/-1}
button,.btn{background:var(--acc);color:#fff;border:0;border-radius:6px;padding:.45rem .9rem;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}
button.sek{background:transparent;color:var(--acc);border:1px solid var(--line)}button.gef{background:var(--bad)}
.meldung{padding:.6rem .9rem;border-radius:8px;margin-bottom:1rem;border:1px solid var(--line);background:var(--card)}.meldung.fehler{border-color:var(--bad);color:var(--bad)}.meldung.ok{border-color:var(--ok)}
.tag{font-size:.75rem;padding:.1rem .45rem;border:1px solid var(--line);border-radius:99px;color:var(--mut)}.inline{display:inline-flex;gap:.4rem;align-items:center}.inline input{width:auto}
.zentriert{max-width:380px;margin:12vh auto}.qr svg{width:180px;height:180px;background:#fff;padding:6px;border-radius:8px}code{background:var(--bg);padding:.1rem .35rem;border-radius:4px;word-break:break-all}
small.hinweis{color:var(--mut)}

.leg-e{color:#2f7d5b}.leg-a{color:#b5651d}.leg-k{color:#1f4e9c}.chart{width:100%;height:auto;color:inherit}
.card h2:first-child,.card h3:first-child{margin-top:0}.btn.sek{background:transparent;color:var(--acc);border:1px solid var(--line)}
.schmal{max-width:420px}
a.aktiv{font-weight:700}
