:root{--bg:#f4f5f7;--fl:#fff;--tx:#1d2733;--tx2:#5b6877;--ak:#14507a;--ak2:#e3eef6;--ok:#1d7a46;--okbg:#e2f3ea;--warn:#8a5a00;--warnbg:#fff1cf;--err:#b3261e;--errbg:#fbe5e3;--rand:#d4d9e0;--r:8px;--nav:#14507a;--primaer:#14507a;--toast:#14507a;--aus-bg:#e6e9ee;--aus-tx:#46515f}
@media (prefers-color-scheme:dark){:root{--bg:#14181d;--fl:#1c2128;--tx:#e6eaf0;--tx2:#9aa6b4;--ak:#6cb4e4;--ak2:#1f3447;--ok:#5fcf90;--okbg:#17321f;--warn:#f0c060;--warnbg:#3a2e12;--err:#ff8a80;--errbg:#3d1d1a;--rand:#333b46;--nav:#1d3b54;--primaer:#2a6ea3;--toast:#1f4f73;--aus-bg:#333b46;--aus-tx:#b8c2ce}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);font:15px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}
h1,h2,h3,h4{margin:.2em 0 .5em;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.08rem}h4{font-size:1rem}
a{color:var(--ak)}
button,select,input,textarea{font:inherit;color:inherit}
button{border:1px solid var(--rand);background:var(--fl);border-radius:var(--r);padding:.5em .9em;cursor:pointer;min-height:2.4em}
button:hover:not(:disabled){border-color:var(--ak)}button:disabled{opacity:.5;cursor:default}
button.primaer{background:var(--primaer);color:#fff;border-color:var(--primaer)}button.gefahr{color:var(--err);border-color:var(--err)}button.klein{padding:.2em .6em;min-height:0;font-size:.88em}
input[type=text],input[type=password],input[type=number],input[type=date],input[type=time],input[type=search],input:not([type]),select,textarea{width:100%;border:1px solid var(--rand);border-radius:var(--r);padding:.45em .6em;background:var(--fl)}
textarea{resize:vertical}
.feld{display:block;margin:.5em 0}.etikett{display:block;font-size:.85em;color:var(--tx2);margin-bottom:.15em}.hinweis{display:block;font-size:.8em;color:var(--tx2)}
.karte{background:var(--fl);border:1px solid var(--rand);border-radius:var(--r);padding:.9em 1em;margin:.7em 0}
.karte.ok{border-left:4px solid var(--ok)}.karte.warn{border-left:4px solid var(--warn)}.karte.err{border-left:4px solid var(--err)}
.leiste{display:flex;gap:.5em;flex-wrap:wrap;align-items:center;margin:.6em 0}.leiste.rechts{justify-content:flex-end}.abstand{flex:1}
.raster{display:grid;gap:.8em;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.raster2{display:grid;gap:.8em;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.chip{display:inline-block;font-size:.78em;padding:.1em .6em;border-radius:99px;background:var(--ak2);color:var(--ak);margin:0 .25em .2em 0;white-space:nowrap}
.chip.ok{background:var(--okbg);color:var(--ok)}.chip.warn{background:var(--warnbg);color:var(--warn)}.chip.err{background:var(--errbg);color:var(--err)}.chip.aus{background:var(--aus-bg);color:var(--aus-tx)}
table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--rand);padding:.4em .5em;text-align:left;vertical-align:top}th{font-size:.85em;color:var(--tx2);font-weight:600}
.tabelle{overflow-x:auto}.klein{font-size:.88em}.grau{color:var(--tx2)}.mono{font-family:ui-monospace,Menlo,monospace}
.toasts,#toasts{position:fixed;right:1em;bottom:1em;display:flex;flex-direction:column;gap:.4em;z-index:100;max-width:min(26em,92vw)}
.toast{background:var(--toast);color:#fff;padding:.6em .9em;border-radius:var(--r);box-shadow:0 2px 8px #0004}.toast.fehler{background:var(--err);color:#fff}
dialog.modal{border:1px solid var(--rand);border-radius:var(--r);background:var(--fl);color:var(--tx);max-width:min(40em,94vw);width:100%;padding:1em 1.2em;position:relative}
dialog::backdrop{background:#0006}dialog .zu{position:absolute;right:.4em;top:.3em;border:0;background:none;font-size:1.4em;min-height:0}
.uebertitel{display:flex;align-items:baseline;gap:1em;flex-wrap:wrap}
.leer{color:var(--tx2);font-style:italic;padding:.5em 0}
.thumb{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;background:var(--rand);display:block}
.pruefzeile{padding:.4em .6em;border-radius:6px;margin:.25em 0}.pruefzeile.sperre{background:var(--errbg)}.pruefzeile.vorbehalt{background:var(--warnbg)}.pruefzeile.hinweis{background:var(--ak2)}
.negativ{border-left:3px solid var(--err);padding-left:.5em}.zitat{font-style:italic}

/* Symbole */
.ik{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em;margin-right:.4em}
button.mit-ik,a.knopf.mit-ik,.chip.mit-ik{display:inline-flex;align-items:center;gap:.4em}
button.mit-ik .ik,a.knopf.mit-ik .ik,.chip.mit-ik .ik{margin-right:0}
.chip.mit-ik .ik{width:1em;height:1em}
h1.mit-ik,h2.mit-ik,h3.mit-ik,h4.mit-ik,summary.mit-ik{display:flex;align-items:center;gap:.45em}
h1.mit-ik .ik,h2.mit-ik .ik,h3.mit-ik .ik,h4.mit-ik .ik,summary.mit-ik .ik{margin-right:0;color:var(--ak)}
.leer.mit-ik{display:flex;align-items:center;gap:.5em}.leer.mit-ik .ik{margin-right:0}

/* Ruhigere Flächen, sichtbarer Fokus */
:focus-visible{outline:3px solid var(--ak);outline-offset:2px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0;border-color:var(--ak)}
nav.haupt :focus-visible,.kopf :focus-visible,button.primaer:focus-visible,.toast :focus-visible{outline-color:#fff}
.karte{box-shadow:0 1px 2px #0000000d}
.karte>h3:first-child{margin-top:0}
tbody tr:hover td{background:var(--ak2)}
.leiste{gap:.6em}

/* Logo */
.logo-feld{background:#fff;border-radius:var(--r);padding:.35em .5em;line-height:0;display:inline-block;max-width:100%}
.logo-feld[hidden]{display:none}
img.logo{max-height:3.2em;max-width:100%;object-fit:contain;display:block}
.logo-vorschau{margin:.6em 0;padding:.8em;border:1px dashed var(--rand);border-radius:var(--r)}
.logo-vorschau img.logo{max-height:5em}
.login .logo-feld{display:block;text-align:center;margin:0 auto 1em;border:1px solid var(--rand)}
.login img.logo{margin:0 auto;max-height:5em}
