:root{--bg: #f4f5f7;--bg-card: #ffffff;--bg-elev: #f8fafc;--fg: #16202c;--fg-muted: #5b6b7c;--accent: #1a365d;--accent-hover: #244a80;--border: #d8dee6;--rot: #b3261e;--rot-bg: #fdecea;--gelb: #8a6100;--gelb-bg: #fdf4e3;--gruen: #1c6b45;--gruen-bg: #e9f5ef;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:light}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--fg)}a{color:var(--accent)}a:hover{color:var(--accent-hover)}.app{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0 28px;height:58px;background:var(--accent);color:#fff}.topbar .marke{font-size:1rem;font-weight:600;letter-spacing:.01em}.topbar .marke span{font-weight:400;opacity:.72;margin-left:8px;font-size:.86rem}.topbar nav{display:flex;gap:22px;margin-right:auto;margin-left:34px}.topbar nav a{color:#ffffffbd;font-size:.92rem;text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}.topbar nav a:hover{color:#fff}.topbar nav a.active{color:#fff;border-bottom-color:#fff}.topbar .rechts{display:flex;align-items:center;gap:14px;font-size:.85rem}.topbar .rechts .kennung{opacity:.72}.main{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:28px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:22px 24px;margin-bottom:20px}.card>h2:first-child,.card>h3:first-child{margin-top:0}h2{font-size:1.18rem;font-weight:600;margin:0 0 4px}h3{font-size:1rem;font-weight:600;margin:22px 0 10px}.untertitel{color:var(--fg-muted);font-size:.9rem;margin:0 0 20px}.muted{color:var(--fg-muted);font-size:.86rem}label{display:block;font-size:.82rem;color:var(--fg-muted);margin-bottom:5px}input[type=text],input[type=url],input[type=password],select{width:100%;padding:9px 11px;background:#fff;border:1px solid var(--border);border-radius:4px;color:var(--fg);font-size:.94rem;font-family:inherit}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}.feld{margin-bottom:15px}.reihe{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}.reihe>.feld{flex:1;min-width:200px;margin-bottom:0}.kasten{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--fg)}.kasten input{width:auto;margin:0}.kasten-gruppe{display:flex;gap:22px;flex-wrap:wrap;align-items:center}button{padding:9px 17px;background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:4px;font-size:.92rem;font-weight:500;font-family:inherit;cursor:pointer}button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button:disabled{opacity:.45;cursor:not-allowed}button.sekundaer{background:#fff;color:var(--fg);border-color:var(--border)}button.sekundaer:hover:not(:disabled){background:var(--bg-elev);border-color:var(--fg-muted)}button.klein{padding:5px 11px;font-size:.84rem}button.gefahr{background:#fff;color:var(--rot);border-color:var(--border)}button.gefahr:hover:not(:disabled){background:var(--rot-bg);border-color:var(--rot)}.meldung{padding:11px 14px;border-radius:4px;margin-bottom:16px;font-size:.9rem;border:1px solid transparent}.meldung.fehler{background:var(--rot-bg);color:var(--rot);border-color:#f0c4c0}.meldung.erfolg{background:var(--gruen-bg);color:var(--gruen);border-color:#bfe0cf}.meldung.hinweis{background:var(--bg-elev);color:var(--fg-muted);border-color:var(--border)}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--fg-muted);font-weight:600;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;border-bottom-width:2px}tbody tr:hover{background:var(--bg-elev)}tr:last-child td{border-bottom:none}td.rechts,th.rechts{text-align:right}.tabellenhuelle{overflow-x:auto}.marke-zustand{display:inline-block;padding:2px 9px;border-radius:3px;font-size:.78rem;font-weight:500;white-space:nowrap;border:1px solid transparent}.marke-zustand.wartend{background:var(--bg-elev);color:var(--fg-muted);border-color:var(--border)}.marke-zustand.laeuft{background:#e8f0fb;color:var(--accent);border-color:#c2d6f0}.marke-zustand.fertig{background:var(--gruen-bg);color:var(--gruen);border-color:#bfe0cf}.marke-zustand.gescheitert{background:var(--rot-bg);color:var(--rot);border-color:#f0c4c0}.marke-zustand.abgebrochen{background:var(--bg-elev);color:var(--fg-muted);border-color:var(--border)}.ampel{display:inline-flex;gap:6px;font-size:.8rem}.ampel span{padding:2px 7px;border-radius:3px;font-variant-numeric:tabular-nums}.ampel .rot{background:var(--rot-bg);color:var(--rot)}.ampel .gelb{background:var(--gelb-bg);color:var(--gelb)}.ampel .gruen{background:var(--gruen-bg);color:var(--gruen)}.ampel .offen{background:var(--bg-elev);color:var(--fg-muted)}.verlauf{list-style:none;margin:0;padding:0;font-size:.88rem}.verlauf li{padding:7px 0 7px 18px;border-left:2px solid var(--border);position:relative;color:var(--fg-muted)}.verlauf li:before{content:"";position:absolute;left:-5px;top:13px;width:8px;height:8px;border-radius:50%;background:var(--border)}.verlauf li:last-child{color:var(--fg)}.verlauf li:last-child:before{background:var(--accent)}.verlauf .zeit{color:var(--fg-muted);font-size:.78rem;margin-left:8px}.anmeldung{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.anmeldung .card{width:100%;max-width:400px;margin:0;padding:30px}.anmeldung h1{font-size:1.3rem;font-weight:700;margin:0 0 5px}.kennung{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.84rem}.dateien{display:flex;gap:8px;flex-wrap:wrap}.leer{padding:30px 0;text-align:center;color:var(--fg-muted);font-size:.92rem}.grenzen{margin:0;padding-left:18px;font-size:.88rem;color:var(--fg-muted)}.grenzen li{margin-bottom:6px}.kopfzeile-mit-knopf{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.bericht .card{padding:26px 28px}.bericht h2 .nummer,.bericht h3 .nummer{display:inline-block;min-width:2.6em;color:var(--fg-muted);font-weight:500}.berichtskopf .gesamt{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:16px 0;padding:12px 14px;background:var(--bg-elev);border:1px solid var(--border);border-radius:4px}.fliess{max-width:68ch;line-height:1.62;font-size:.95rem;margin:0 0 14px}.befund{padding:20px 0;border-top:1px solid var(--border)}.befund:first-of-type{padding-top:6px;border-top:none}.befund h3{margin:0 0 8px;font-size:1.02rem}.befund h4{margin:16px 0 5px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted)}.befundkopf{display:flex;align-items:center;gap:12px;margin:0 0 6px}.befund .zeile{margin:6px 0;font-size:.9rem;max-width:68ch}.ampelpunkt{display:inline-block;padding:2px 9px;border-radius:3px;font-size:.78rem;font-weight:600;border:1px solid transparent}.ampelpunkt.rot{background:var(--rot-bg);color:var(--rot);border-color:#f0c4c0}.ampelpunkt.gelb{background:var(--gelb-bg);color:var(--gelb);border-color:#ecdcb4}.ampelpunkt.gruen{background:var(--gruen-bg);color:var(--gruen);border-color:#bfe0cf}.belege{margin:0 0 4px;padding-left:18px;font-size:.88rem;color:var(--fg-muted);max-width:78ch}.belege li{margin-bottom:4px;word-break:break-word}.massnahme{margin:16px 0 0;padding:11px 14px;background:var(--bg-elev);border-left:3px solid var(--accent);border-radius:0 4px 4px 0;font-size:.92rem;max-width:74ch}.abbildung{margin:16px 0 0}.abbildung img{max-width:100%;border:1px solid var(--border);border-radius:4px;display:block}.abbildung.klein img{max-width:420px}.abbildung figcaption{margin-top:6px;font-size:.82rem;color:var(--fg-muted)}.berichtsfuss{padding:4px 28px 24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.berichtsfuss p{margin:0}
