:root{--bg:#f6f6f6;--card:#fff;--text:#2b303a;--muted:#666;--line:#e2e2e2;--primary:#c90000;--primary-2:#b3261e;--akzent:#e02b20;--dunkel:#2b303a;--ok:#2e9e4f;--warn:#a86400;--err:#b3261e;--info:#2b303a}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 "Lato",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:var(--primary-2)}
header.top{background:#fff;color:var(--dunkel);padding:0 16px;border-bottom:4px solid var(--primary);box-shadow:0 2px 8px rgba(0,0,0,.06)}
header.top .inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:22px;min-height:64px;flex-wrap:wrap}
header.top a{color:var(--dunkel);text-decoration:none;font-weight:600}
header.top a:hover,header.top a.aktiv{color:var(--primary)}
header.top .marke{display:flex;align-items:center;gap:10px;margin-right:10px;color:var(--primary);font-weight:800;letter-spacing:.02em}
header.top .marke img{height:40px;width:auto;display:block}
header.top nav{display:flex;gap:18px;flex-wrap:wrap;flex:1}
header.top form{margin:0}
header.top button{background:#fff;border:1px solid var(--primary);color:var(--primary);padding:4px 10px;border-radius:4px;cursor:pointer;font-weight:600}
header.top button:hover{background:var(--primary);color:#fff}
main{max-width:1400px;margin:0 auto;padding:20px 16px 60px}
h1{font-size:22px;margin:4px 0 16px;color:var(--dunkel)}
h1::after{content:"";display:block;width:48px;height:3px;background:var(--akzent);margin-top:6px}
h2{font-size:17px;margin:0 0 12px}
h3{font-size:15px;margin:16px 0 8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:16px}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.kacheln{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:16px}
.kachel{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--dunkel);border-radius:8px;padding:12px 14px;text-decoration:none;color:inherit;display:block}
.kachel:hover{border-top-color:var(--primary)}
.kachel .zahl{font-size:28px;font-weight:700}
.kachel .label{color:var(--muted);font-size:13px}
.kachel.warn .zahl{color:var(--warn)}.kachel.err .zahl{color:var(--err)}.kachel.ok .zahl{color:var(--ok)}
.tabelle{overflow-x:auto}
table{border-collapse:collapse;width:100%}
th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:12px;color:var(--muted);font-weight:700;white-space:nowrap;background:#fafafa}
td.nowrap,th.nowrap{white-space:nowrap}
.badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;font-weight:600;white-space:nowrap}
.b-OFFEN{background:#fdecea;color:#b3261e}.b-UNVOLLSTÄNDIG{background:#fff3e0;color:#8a4b00}.b-ABGESCHLOSSEN{background:#e6f4ea;color:#1e7a46}
.b-GESENDET,.b-OK{background:#e6f4ea;color:#1e7a46}.b-GEPLANT,.b-LAEUFT{background:#eef0f2;color:#2b303a}
.b-FEHLGESCHLAGEN,.b-FEHLER{background:#fdecea;color:#b42318}.b-UEBERSPRUNGEN,.b-ABGEBROCHEN,.b-DUPLIKAT{background:#eef0f2;color:#5b6470}.b-VERARBEITET{background:#e6f4ea;color:#1e7a46}
.b-block{background:#fdecea;color:#b42318}
.meldungen{list-style:none;padding:0;margin:0 0 16px}
.meldungen li{padding:10px 14px;border-radius:6px;margin-bottom:6px;border:1px solid}
.meldungen .success{background:#e6f4ea;border-color:#b7dfc3}.meldungen .error{background:#fdecea;border-color:#f5c2bd}
.meldungen .warning{background:#fff3e0;border-color:#f3d39c}.meldungen .info{background:#f2f3f5;border-color:#d5d8dd}
.hinweis{color:var(--muted);font-size:13px}
.alarm{background:#fdecea;border:1px solid #f5c2bd;color:#7a1a12;border-radius:8px;padding:12px 14px;margin-bottom:16px}
.alarm a{color:#7a1a12;font-weight:600}
form.inline{display:inline-flex;gap:6px;align-items:center;margin:0;flex-wrap:wrap}
input[type=text],input[type=email],input[type=password],input[type=search],select,textarea{font:inherit;padding:6px 8px;border:1px solid #c5ccd4;border-radius:4px;background:#fff;max-width:100%}
textarea{width:100%}
textarea.mono,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}
button,.knopf{font:inherit;padding:6px 12px;border-radius:4px;border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;text-decoration:none;display:inline-block;white-space:nowrap}
button.zweit,.knopf.zweit{background:#fff;color:var(--primary)}
button.gefahr,.knopf.gefahr{background:var(--err);border-color:var(--err)}
button.klein{padding:2px 8px;font-size:12px}
.feld{margin-bottom:12px}.feld label{display:block;font-weight:600;margin-bottom:4px}
.errorlist{color:var(--err);margin:4px 0;padding-left:18px}
dl.daten{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:0}
dl.daten dt{color:var(--muted)}dl.daten dd{margin:0}
.filter{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.einheit-kopf td{background:#fff5f4;font-weight:700;border-left:3px solid var(--primary)}
iframe.vorschau{width:100%;height:520px;border:1px solid var(--line);border-radius:6px;background:#fff}
pre.text{white-space:pre-wrap;background:#fafbfc;border:1px solid var(--line);border-radius:6px;padding:12px;font-size:13px}
.login{max-width:380px;margin:60px auto}
.aktionen{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
details summary{cursor:pointer;color:var(--primary-2);font-weight:600}
button:hover,.knopf:hover{background:var(--primary-2);border-color:var(--primary-2);color:#fff}
button.zweit:hover,.knopf.zweit:hover{background:#fff5f4;color:var(--primary)}
button:disabled{opacity:.5;cursor:not-allowed}
header.top button.sync-knopf{background:var(--primary);color:#fff;border-color:var(--primary);padding:6px 14px}
header.top button.sync-knopf:hover{background:var(--primary-2)}
header.top button.sync-knopf:disabled{opacity:.7}
