:root{--bg:#fafafa;--fg:#1a1a1a;--mu:#6b6b6b;--line:#e2e2e2;--ac:#1f5fbf;--ok:#1a7f37;--warn:#b26a00;--err:#c62828;--card:#fff}
@media (prefers-color-scheme:dark){:root{--bg:#161616;--fg:#e8e8e8;--mu:#9a9a9a;--line:#2e2e2e;--ac:#6ea8ff;--ok:#4cc26a;--warn:#e0a030;--err:#ff6b6b;--card:#1e1e1e}}
*{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}
header{display:flex;gap:1.2rem;align-items:center;padding:.6rem 1rem;border-bottom:1px solid var(--line);background:var(--card);flex-wrap:wrap}
header nav{display:flex;gap:.9rem;flex:1;flex-wrap:wrap}
header a{color:var(--fg);text-decoration:none;padding:.2rem 0}
header a.on{border-bottom:2px solid var(--ac);font-weight:600}
main{max-width:1100px;margin:0 auto;padding:1rem}
h1{font-size:1.4rem;margin:.4rem 0 .8rem}
h2{font-size:1.05rem;margin:1.5rem 0 .5rem}
a{color:var(--ac)}
table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line)}
th,td{text-align:left;padding:.4rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:600;color:var(--mu);font-size:.85rem}
.kv th{width:12rem}
.r{text-align:right;font-variant-numeric:tabular-nums}
.act{white-space:nowrap}
.muted{color:var(--mu)}
.ok{color:var(--ok)}.warn{color:var(--warn)}.err{color:var(--err)}
.flash{background:var(--card);border:1px solid var(--ac);padding:.5rem .8rem;border-radius:4px}
button{font:inherit;background:var(--ac);color:#fff;border:0;border-radius:4px;padding:.35rem .8rem;cursor:pointer}
button.sec{background:transparent;color:var(--ac);border:1px solid var(--ac)}
button.link{background:none;color:var(--mu);padding:0}
input,select,textarea{font:inherit;color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:4px;padding:.3rem .5rem;width:100%}
textarea{font-family:ui-monospace,Menlo,monospace;font-size:.85rem}
form.inline{display:flex;gap:.6rem;align-items:center}
form.inline select{width:auto}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}
.grid label{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem;color:var(--mu)}
.grid .wide{grid-column:1/-1}
.login{max-width:260px;margin:15vh auto;display:flex;flex-direction:column;gap:.6rem}
.tag{display:inline-block;border:1px solid var(--line);border-radius:12px;padding:.1rem .6rem;margin:0 .2rem .3rem 0;text-decoration:none;background:var(--card)}
.dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;background:var(--mu)}
.dot.gruen{background:var(--ok)}.dot.gelb{background:var(--warn)}.dot.rot{background:var(--err)}
details{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:.5rem .8rem;margin:.5rem 0}
summary{cursor:pointer}
pre{white-space:pre-wrap;font:inherit;line-height:1.55;margin:.5rem 0 0}
@media (max-width:640px){table{font-size:.85rem}th,td{padding:.3rem .4rem}}
