:root{--brand:#00324B;--brand-dark:#001f30;--brand-light:#D6E4F0;--accent:#9DC042;--bg:#f5f7fa;--card:#fff;--text:#1a1a2e;--muted:#6b7280;--border:#e5e7eb;--danger:#c0392b;--warn:#e0822d;--ok:#2e7d32;--radius:10px;--shadow:0 2px 8px rgba(0,0,0,.08)}
[data-theme="dark"]{--brand:#3A7BD5;--brand-dark:#2E6BC4;--brand-light:#0f1e3d;--bg:#0f1117;--card:#1a1d27;--text:#e4e6eb;--muted:#8b8fa3;--border:#2d3040;--shadow:0 2px 8px rgba(0,0,0,.3)}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
.container{max-width:1200px;margin:0 auto;padding:0 16px}
.header{background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}
.header__inner{display:flex;align-items:center;justify-content:space-between;min-height:60px;flex-wrap:wrap;gap:8px}
.header__logo{display:flex;align-items:center;gap:14px;line-height:1.1}.header__logo:hover{text-decoration:none}.header__logo-img{height:44px;width:auto;display:block}.header__logo-name{font-weight:600;font-size:1.05rem;color:var(--brand);border-left:1px solid var(--border);padding-left:14px}
.auth__logo{display:block;max-width:260px;width:80%;height:auto;margin:4px auto 18px}
[data-theme="dark"] .header__logo-img,[data-theme="dark"] .auth__logo{filter:brightness(0) invert(1)}
@media(max-width:600px){.header__logo-name{display:none}.header__logo-img{height:36px}}
.header__nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.header__nav>a{padding:8px 12px;border-radius:8px;color:var(--text);font-weight:500}.header__nav>a.active,.header__nav>a:hover{background:var(--brand-light);color:var(--brand);text-decoration:none}
.header__user{position:relative}.header__user-btn{width:36px;height:36px;border-radius:50%;border:0;background:var(--brand);color:#fff;font-weight:700;cursor:pointer}
.header__dropdown{position:absolute;right:0;top:44px;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);min-width:200px;padding:6px 0;z-index:20}
.header__dropdown-name{display:block;padding:8px 14px;border-bottom:1px solid var(--border);font-size:.9rem}.header__dropdown-item{display:block;padding:8px 14px;color:var(--text)}.header__dropdown-item:hover{background:var(--bg);text-decoration:none}.header__dropdown-item--logout{color:var(--danger)}
.theme-toggle{background:none;border:1px solid var(--border);border-radius:8px;padding:6px 10px;cursor:pointer;color:var(--text)}
.main{padding:24px 0 40px;min-height:70vh}
.footer{border-top:1px solid var(--border);padding:16px 0;color:var(--muted);font-size:.85rem}.footer__inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.footer__links a{margin-left:12px}
h1{font-size:1.6rem;margin:0 0 12px}h2{font-size:1.15rem;margin:0 0 10px}h3{font-size:1rem;margin:14px 0 6px}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:18px;box-shadow:var(--shadow)}
.card__head{display:flex;justify-content:space-between;align-items:baseline}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:800px){.grid2{grid-template-columns:1fr}}
.seitenkopf{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.aktionen{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline{display:inline}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px}
.kpi{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column}.kpi__zahl{font-size:1.8rem;font-weight:700;color:var(--brand)}.kpi__text{color:var(--muted);font-size:.85rem}.kpi--warn .kpi__zahl{color:var(--danger)}
.tabelle{width:100%;border-collapse:collapse;font-size:.93rem}.tabelle th{text-align:left;font-weight:600;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;padding:8px 6px;border-bottom:1px solid var(--border)}
.tabelle td{padding:8px 6px;border-bottom:1px solid var(--border);vertical-align:middle}.tabelle tr:last-child td{border-bottom:0}.tabelle--klein{font-size:.82rem}
tr.ueberfaellig td:nth-child(n){background:rgba(192,57,43,.06)}td.ueberfaellig,dd.ueberfaellig{color:var(--danger);font-weight:600}tr.erledigt td{opacity:.6}
.rechts{text-align:right}.center{text-align:center}.muted{color:var(--muted)}.small{font-size:.82rem}.abstand{flex:1}
.vorformatiert{white-space:pre-wrap}
.status{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--border)}
.status--aktiv,.status--in_arbeit{background:#dbeafe;color:#1e40af}.status--geplant,.status--offen{background:#fef3c7;color:#92400e}.status--pausiert,.status--wartet{background:#ede9fe;color:#5b21b6}.status--abgeschlossen,.status--erledigt{background:#dcfce7;color:#166534}.status--archiviert{background:#e5e7eb;color:#374151}
.status-select{border-radius:999px;font-size:.8rem;padding:2px 8px;border:1px solid var(--border)}
.badge{display:inline-block;padding:1px 8px;border-radius:6px;font-size:.74rem;background:var(--border);color:var(--text)}
.badge--niedrig{background:#e5e7eb;color:#374151}.badge--normal{background:var(--brand-light);color:var(--brand)}.badge--hoch{background:#ffedd5;color:#9a3412}.badge--kritisch{background:#fee2e2;color:#991b1b}
.balken{display:inline-block;width:110px;height:8px;background:var(--border);border-radius:4px;vertical-align:middle;overflow:hidden}.balken__fuell{height:100%;background:var(--accent)}
.btn{display:inline-block;padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;font-size:.9rem;font-family:inherit}.btn:hover{text-decoration:none;border-color:var(--brand)}
.btn--primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn--primary:hover{background:var(--brand-dark)}.btn--danger{color:var(--danger)}.btn--danger:hover{border-color:var(--danger)}.btn--klein{padding:3px 9px;font-size:.78rem}.btn--full{width:100%}
.form label{display:block;margin-bottom:12px;font-weight:500;font-size:.9rem}.form input[type=text],.form input[type=password],.form input[type=email],.form input[type=date],.form input[type=search],.form select,.form textarea,.filter input,.filter select{width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;margin-top:4px}
.form--breit{max-width:900px}.zeile{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}.zeile label{margin-bottom:12px}
.form fieldset{border:1px solid var(--border);border-radius:8px;padding:10px 14px;margin:0 0 14px}.form legend{font-weight:600;padding:0 6px}.check{font-weight:400;display:block;margin:6px 0}
.filter{display:flex;gap:8px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.filter input{max-width:320px}.filter select{max-width:220px}
.alert{padding:10px 14px;border-radius:8px;margin-bottom:14px;font-size:.92rem}.alert--info{background:var(--brand-light);color:var(--brand)}.alert--error{background:#fee2e2;color:#991b1b}
.auth{display:flex;justify-content:center;padding:30px 0}.auth__card{max-width:420px;width:100%}
.dl{display:grid;grid-template-columns:140px 1fr;gap:6px 12px;margin:0}.dl dt{color:var(--muted);font-size:.85rem}.dl dd{margin:0}
.kommentar{border-left:3px solid var(--brand-light);padding:6px 12px;margin-bottom:10px}.kommentar__kopf{font-size:.85rem}.kommentar p{margin:4px 0 0}
.passwort-anzeige{font-family:ui-monospace,monospace;font-size:1.6rem;letter-spacing:.08em;background:var(--bg);padding:14px;border-radius:8px;user-select:all}
code.small{font-family:ui-monospace,monospace;color:var(--muted)}
