:root{--grund:#f5f6f7;--karte:#fff;--text:#16212a;--leise:#5b6770;--linie:#d7dde1;--akzent:#1f5f8b;--akzent-text:#fff;--weich:#e4eef5;--gut:#2d7a46;--gut-weich:#dcefe2;--warn:#8a5a00;--warn-weich:#fbefd6;--schlecht:#b23a2e;--schlecht-weich:#f6dedb;color-scheme:light}
@media (prefers-color-scheme:dark){:root{--grund:#10171c;--karte:#18232a;--text:#e3eaee;--leise:#95a4ac;--linie:#2c3b44;--akzent:#6fb0dc;--akzent-text:#0d151a;--weich:#1c3341;--gut:#6cc48a;--gut-weich:#1d3527;--warn:#e8b45a;--warn-weich:#3a2f17;--schlecht:#ec7d70;--schlecht-weich:#3d221f;color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;background:var(--grund);color:var(--text);font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
.rahmen{max-width:900px;margin:0 auto;padding:0 16px}
.kopf{background:var(--karte);border-bottom:1px solid var(--linie);padding:10px 0;margin-bottom:16px}
.marke{font-size:1.1rem}
.zeile{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.zwischen{justify-content:space-between}
.karte{background:var(--karte);border:1px solid var(--linie);border-radius:10px;padding:16px;margin:0 0 14px}
h1{font-size:1.4rem;margin:0 0 12px}h2{font-size:1.15rem;margin:18px 0 8px}h3{font-size:1rem;margin:0 0 4px}
.leise{color:var(--leise)}.klein{font-size:.88rem}
.knopf{font:inherit;border:1px solid var(--linie);background:var(--karte);color:var(--text);border-radius:8px;padding:8px 14px;cursor:pointer;min-height:40px}
.knopf.klein{padding:5px 10px;min-height:32px;font-size:.9rem}
.knopf.haupt{background:var(--akzent);color:var(--akzent-text);border-color:var(--akzent)}
.knopf.gefahr{color:var(--schlecht);border-color:var(--schlecht)}
.knopf:disabled{opacity:.6;cursor:wait}
label{display:block;margin:0 0 10px}
label>span{display:block;font-size:.9rem;color:var(--leise);margin-bottom:3px}
input,select,textarea{font:inherit;width:100%;padding:8px 10px;border:1px solid var(--linie);border-radius:8px;background:var(--karte);color:var(--text)}
input[type=radio],input[type=checkbox]{width:auto;margin-right:6px}
textarea{min-height:90px}
.raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.liste{list-style:none;padding:0;margin:0}
.termin{border-top:1px solid var(--linie);padding:10px 0}
.termin:first-child{border-top:0}
.termin.abgesagt h3{text-decoration:line-through;color:var(--leise)}
.marke-klein{display:inline-block;font-size:.78rem;padding:1px 8px;border-radius:999px;background:var(--weich);margin-left:6px}
.marke-klein.gut{background:var(--gut-weich);color:var(--gut)}.marke-klein.warn{background:var(--warn-weich);color:var(--warn)}.marke-klein.schlecht{background:var(--schlecht-weich);color:var(--schlecht)}
.code{font:600 1.6rem/1.2 ui-monospace,Menlo,monospace;letter-spacing:.15em}
.mono{font-family:ui-monospace,Menlo,monospace;word-break:break-all}
.warnung{background:var(--warn-weich);color:var(--warn);border-radius:8px;padding:10px 12px}
.fehler{background:var(--schlecht-weich);color:var(--schlecht);border-radius:8px;padding:10px 12px}
.erfolg{background:var(--gut-weich);color:var(--gut);border-radius:8px;padding:10px 12px}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{text-align:left;padding:6px 6px;border-top:1px solid var(--linie);vertical-align:top}
.tabelle{overflow-x:auto}
.fuss{color:var(--leise);font-size:.85rem;padding:20px 16px 40px}
.fuss a{color:var(--leise)}
#hinweis{position:fixed;left:50%;top:12px;transform:translateX(-50%);max-width:min(92vw,640px);background:var(--text);color:var(--grund);padding:10px 14px;border-radius:8px;z-index:9}
#hinweis.schlecht{background:var(--schlecht);color:#fff}
details>summary{cursor:pointer}
.zeilen{white-space:pre-line}
.schmal{width:8em}
