:root{--text:#1f2328;--leise:#5b616b;--grund:#f5f5f2;--karte:#fff;--linie:#dcdcd6;--akzent:#2f5d62;--warn:#a1260d;--gut:#1e6b2c}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--text);background:var(--grund)}
header{background:var(--akzent);color:#fff;padding:.6rem 1rem;display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center;justify-content:space-between}
header .titel{font-weight:600}
header nav{display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:center}
header a{color:#fff}
main{max-width:76rem;margin:0 auto;padding:1rem}
h1{font-size:1.4rem;margin:0 0 .6rem}
h2{font-size:1.15rem;margin:0 0 .6rem}
a{color:#1d4f91}
.karte{background:var(--karte);border:1px solid var(--linie);border-radius:6px;padding:1rem;margin:0 0 1rem}
.schmal{max-width:26rem;margin:2rem auto}
.raster{display:grid;gap:0 1rem;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}
label{display:block;font-weight:600;margin:.7rem 0 .25rem}
input[type=text],input[type=password],input[type=number],textarea{width:100%;font:inherit;padding:.45rem .5rem;border:1px solid #b5b5ad;border-radius:4px;background:#fff;color:inherit}
input[type=number],input.kurz{max-width:8rem}
h3{font-size:1rem;margin:.8rem 0 .2rem}
button.gefahr{background:var(--warn)}
textarea{resize:vertical}
button,.knopf{display:inline-block;font:inherit;padding:.45rem .9rem;border:0;border-radius:4px;background:var(--akzent);color:#fff;cursor:pointer;text-decoration:none}
button:hover,.knopf:hover{filter:brightness(1.15)}
button.klein{padding:.2rem .6rem;font-size:.85rem;background:#6b6b66}
button.abmelden{background:transparent;border:1px solid #fff;padding:.2rem .7rem}
.knoepfe{display:flex;flex-wrap:wrap;gap:.5rem}
.inline{display:inline;margin:0}
.meldung{padding:.6rem .8rem;border-radius:4px;border:1px solid;margin:0 0 1rem}
.meldung.ok{background:#e6f4e8;border-color:#9ccaa3}
.meldung.hinweis{background:#fff7dc;border-color:#e3cf82}
.meldung.fehler{background:#fde9e6;border-color:#e2a297}
.leise{color:var(--leise);font-size:.9rem}
.warn{color:var(--warn);font-weight:600}
.gut{color:var(--gut)}
code{background:#eeeeea;padding:.05rem .3rem;border-radius:3px;font-size:.9em;word-break:break-all}
dl{display:grid;grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:0}
dt{font-weight:600}
dd{margin:0}
@media (max-width:40rem){dl{grid-template-columns:1fr}dd{margin-bottom:.4rem}}
.tabelle{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%}
th,td{border-bottom:1px solid var(--linie);padding:.45rem .5rem;text-align:left;vertical-align:top}
th{font-size:.9rem;background:#f0f0ec;white-space:nowrap}
table.praxen td{min-width:7rem}
table.praxen td:nth-child(3),table.praxen td:nth-child(6){min-width:16rem}
td.zahl{text-align:right;white-space:nowrap}
q{font-style:italic}
.marke{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.85rem;font-weight:600;white-space:nowrap;border:1px solid transparent}
.p-hoch{background:#cdeccf;color:#14501f;border-color:#8fcb96}
.p-mittel{background:#fff1a8;color:#5c4b00;border-color:#e2cc5a}
.p-niedrig{background:#ffd9b0;color:#7a3a00;border-color:#f0a860}
.p-ausschluss{background:#e4e4e4;color:#4a4a4a;border-color:#bdbdbd}
.p-unbekannt{background:#eee;color:#444}
.s-fertig{background:#cdeccf;color:#14501f}
.s-fehler{background:#fde0db;color:#8a1f0d}
.s-laeuft{background:#dfe9f6;color:#1d3f6e}