:root{--bg: #f4f5f7;--karte: #ffffff;--text: #1c1f24;--leise: #667085;--rand: #e3e6ea;--rot: #d92d20;--rot-hell: #fef3f2;--gruen: #079455;--gruen-hell: #ecfdf3;--akzent: #1d4ed8;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}h1{font-size:22px;margin:0 0 16px}h2{font-size:17px;margin:28px 0 12px}.layout{display:flex;min-height:100vh}.seitenleiste{width:210px;background:var(--karte);border-right:1px solid var(--rand);padding:20px 14px;display:flex;flex-direction:column}.marke{font-weight:700;font-size:17px;margin-bottom:20px;display:flex;gap:8px;align-items:center}.marke span{width:10px;height:10px;border-radius:50%;background:var(--rot)}.navlink{display:block;padding:9px 10px;border-radius:8px;color:var(--leise);text-decoration:none;margin-bottom:2px}.navlink.active{background:var(--bg);color:var(--text);font-weight:600}.unten{margin-top:auto;font-size:13px;color:var(--leise)}.inhalt{flex:1;padding:28px;max-width:1100px}.karte{background:var(--karte);border:1px solid var(--rand);border-radius:12px;padding:18px}button{font:inherit;border:1px solid var(--rand);background:var(--karte);border-radius:8px;padding:8px 14px;cursor:pointer}button:hover{background:var(--bg)}button:disabled{opacity:.5;cursor:default}button.primaer{background:var(--akzent);border-color:var(--akzent);color:#fff}button.gefahr{color:var(--rot)}input,select{font:inherit;padding:9px 10px;border:1px solid var(--rand);border-radius:8px;background:#fff}.alarmknopf{width:100%;padding:26px;font-size:22px;font-weight:700;color:#fff;background:var(--rot);border:none;border-radius:14px;box-shadow:0 4px #a51c12}.alarmknopf:hover{background:#c4271b}.alarmknopf:active{transform:translateY(2px);box-shadow:0 2px #a51c12}.meldung{padding:12px 14px;border-radius:10px;margin:12px 0}.meldung.ok{background:var(--gruen-hell);color:#05603a}.meldung.warn{background:#fffaeb;color:#93370d}.meldung.fehler{background:var(--rot-hell);color:#912018}.alarm{display:flex;gap:14px;align-items:center;padding:14px;border-radius:10px;border:1px solid var(--rand);background:var(--karte);margin-bottom:8px}.alarm.offen{border-color:#fda29b;background:var(--rot-hell)}.alarm .info{flex:1;min-width:0}.alarm .titel{font-weight:600}.alarm .details{font-size:13px;color:var(--leise);margin-top:3px}.badge{font-size:12px;font-weight:600;padding:3px 9px;border-radius:99px;white-space:nowrap}.badge.offen{background:var(--rot);color:#fff}.badge.quittiert{background:var(--gruen-hell);color:var(--gruen)}table{width:100%;border-collapse:collapse;background:var(--karte);border-radius:12px;overflow:hidden;border:1px solid var(--rand)}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--rand);font-size:14px}th{color:var(--leise);font-weight:500;font-size:13px}tr.inaktiv td{opacity:.45}.zeile{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.login{max-width:380px;margin:80px auto;padding:0 16px}.login input{display:block;width:100%;margin:8px 0}.login button{width:100%;margin-top:8px;padding:11px}@media (max-width: 700px){.layout{flex-direction:column}.seitenleiste{width:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px;border-right:none;border-bottom:1px solid var(--rand);padding:10px 14px}.marke{margin:0 12px 0 0}.unten{margin:0 0 0 auto}.inhalt{padding:16px}.tabelle-scroll{overflow-x:auto}}.leise{color:var(--leise)}label{font-size:13px;color:var(--leise)}label input,label select{display:block;margin-top:3px;color:var(--text)}h2 select{color:var(--text)}
