/* Leitstand: Kopfzeile mit Bildschirm-Reitern, darunter Kacheln aus dem Register */
:root{
  --bg:#eef1f3; --panel:#ffffff; --ink:#18232b; --muted:#5d6b75; --line:#d5dde2;
  --accent:#0d6a6a; --accent-soft:#dcefee;
  --ok:#2f7d32; --warn:#a86a00; --crit:#b3261e; --ok-soft:#e3f1e3; --warn-soft:#f8ecd6; --crit-soft:#f8e0de;
  --f-display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --f-body:"IBM Plex Sans","Segoe UI",system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#10171c; --panel:#18222a; --ink:#e4eaee; --muted:#93a3ae; --line:#2a3842;
  --accent:#4fb8b4; --accent-soft:#173634;
  --ok:#7cc47f; --warn:#e0a84a; --crit:#f08a80; --ok-soft:#1d3320; --warn-soft:#3a2d14; --crit-soft:#3d1f1c;
  color-scheme:dark}}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg); color:var(--ink); font:14px/1.45 var(--f-body); min-height:100vh;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px)}
.wrap{padding-left:max(16px,env(safe-area-inset-left,0px)); padding-right:max(16px,env(safe-area-inset-right,0px)); max-width:1360px; margin:0 auto}
header{position:sticky; top:0; z-index:5; background:var(--panel); border-bottom:1px solid var(--line)}
.hbar{display:flex; align-items:center; gap:16px; padding-block:10px; flex-wrap:wrap}
.brand{font-family:var(--f-display); font-weight:800; letter-spacing:.14em; font-size:18px; display:flex; align-items:center; gap:10px}
.core{width:22px; height:22px; border-radius:50%; border:2px solid var(--accent); display:grid; place-items:center}
.core::after{content:""; width:8px; height:8px; border-radius:50%; background:var(--accent)}
.tabs{display:flex; border:1px solid var(--line); border-radius:8px; overflow:hidden}
.tabs button{font:600 13px var(--f-body); padding:7px 14px; border:0; background:transparent; color:var(--muted); cursor:pointer}
.tabs button[aria-pressed="true"]{background:var(--accent); color:var(--panel)}
.me{margin-left:auto; display:flex; gap:10px; align-items:center; font:12px var(--f-mono); color:var(--muted)}
button:focus-visible{outline:2px solid var(--accent); outline-offset:2px}
main{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding-block:16px 48px}
@media (max-width:720px){main{grid-template-columns:minmax(0,1fr)}}
.card{background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:14px 16px; min-width:0}
.breit,.leer{grid-column:1/-1}
h2{font:700 12px var(--f-display); letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:0 0 10px; display:flex; justify-content:space-between; gap:8px}
h2 small{font:11px var(--f-mono); letter-spacing:0; text-transform:none}
.btn{font:600 14px var(--f-body); padding:10px 16px; border-radius:8px; border:1px solid var(--accent); background:var(--accent); color:var(--panel); cursor:pointer}
.btn.leise{background:transparent; color:var(--muted); border-color:var(--line); font-size:12px; padding:4px 10px}
.hinweis{color:var(--muted)}
.fehler{color:var(--crit)}
.ampel{display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:8px}
.amp{display:flex; align-items:center; gap:8px; padding:8px 10px; background:var(--bg); border-radius:6px; font-size:13px; min-width:0}
.amp .n{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.amp .i{font:11px var(--f-mono); color:var(--muted)}
.dot{width:8px; height:8px; border-radius:50%; background:var(--ok); flex:none}
.dot.aus{background:var(--crit)}
.gruppe{font:600 11px var(--f-body); color:var(--muted); text-transform:uppercase; letter-spacing:.06em; margin:10px 0 6px}
.kan{display:grid; grid-template-columns:repeat(4,minmax(200px,1fr)); gap:10px; overflow-x:auto}
.col h3{font:600 12px var(--f-body); margin:0 0 6px; color:var(--muted); display:flex; justify-content:space-between}
.kc{background:var(--bg); border:1px solid var(--line); border-radius:6px; padding:7px 9px; margin-bottom:6px; font-size:13px}
.kc.hoch{border-left:3px solid var(--crit)}
.kc .src{font:10.5px var(--f-mono); color:var(--muted); display:flex; gap:8px; flex-wrap:wrap; margin-top:3px}
.mehr{font-size:12px; color:var(--muted)}
.login{display:flex; flex-direction:column; gap:12px; align-items:flex-start; max-width:520px}
