/* Apple-Stil für den IP-Monitor: helle ruhige Flächen, große Radien, Systemschrift, Glas-Menüleiste.
   Wird nach style.css geladen und überschreibt nur die Optik – Aufbau und Funktion bleiben. */
:root{--bg:#f5f5f7;--panel:#fff;--border:#e5e5ea;--accent:#007aff;--text:#1d1d1f;--muted:#86868b;--sub:#6e6e73;
  --green:#30b350;--yellow:#f5b800;--orange:#ff9500;--red:#ff3b30;--grey:#8e8e93;--head:#f5f5f7;--row:#f2f2f7;--hover:#f2f7ff;--btn:#efeff4;--statbg:#f3fbf5;
  --shadow:0 1px 2px rgba(0,0,0,.04),0 4px 14px rgba(0,0,0,.05);--glass:rgba(250,250,252,.78)}
body.dark{--bg:#000;--panel:#1c1c1e;--border:#2c2c2e;--text:#f5f5f7;--muted:#98989d;--sub:#a1a1a6;--head:#232326;--row:#2a2a2d;--hover:#26303d;--btn:#2c2c2e;--statbg:#14241a;
  --green:#30d158;--yellow:#ffd60a;--orange:#ff9f0a;--red:#ff453a;--accent:#0a84ff;--shadow:0 1px 2px rgba(0,0,0,.5);--glass:rgba(28,28,30,.8)}
body{font:13.5px/1.4 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI Variable","Segoe UI",system-ui,Roboto,sans-serif;-webkit-font-smoothing:antialiased;letter-spacing:-.005em}

/* Menüleiste */
.menubar{background:var(--glass);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border);padding:0 14px;min-height:40px}
.menubar .brand{font-weight:700;letter-spacing:-.01em}
.menu>button{padding:8px 11px;border-radius:8px;font-weight:500}
.menu>button:hover,.menu.open>button{background:var(--btn)}
.dd{border-radius:12px;border:1px solid var(--border);box-shadow:0 12px 36px rgba(0,0,0,.18);padding:6px;margin-top:4px;background:var(--glass);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px)}
.dd button{border-radius:7px;padding:7px 11px}
.dd button:hover{background:var(--accent);color:#fff}

/* Karten & Überschriften */
main,section{padding:14px 16px}
.card{border:0;border-radius:14px;box-shadow:var(--shadow);padding:16px 18px}
.card h3{font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--sub);margin-bottom:10px}
h2.pg{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:8px 0 10px}
.toprow{gap:14px;margin-bottom:14px}
.statcard{border:0;border-radius:12px;background:var(--statbg)}
.statcard .t{text-transform:none;font-size:12px;letter-spacing:0}

/* Schaltflächen & Eingaben */
.btn{border:0;border-radius:9px;text-transform:none;letter-spacing:0;font-weight:600;font-size:13px;padding:8px 15px;background:var(--btn);transition:filter .12s}
.btn:hover:not(:disabled){filter:brightness(.95);border-color:transparent}
body.dark .btn:hover:not(:disabled){filter:brightness(1.2)}
.btn.blue{background:var(--accent);color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.btn.small{padding:5px 11px;font-size:12px;border-radius:8px}
.btn.danger{color:var(--red)}
input,select,textarea{border:1px solid transparent;border-radius:9px;background:var(--btn);padding:7px 10px;outline:none;transition:box-shadow .12s,border-color .12s}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,122,255,.2)}
input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}
label{color:var(--sub)}

/* Filter & Chips */
.filter{padding:12px 18px 0;margin-bottom:14px}
.chips{border-top:1px solid var(--row)}
.chips b{text-transform:none;letter-spacing:0;font-size:12px;color:var(--sub)}
.chip{border:0;border-radius:20px;background:var(--btn);padding:5px 12px}
.chip.on{background:var(--accent);color:#fff}

/* Live-Übersicht, Kacheln */
.livehead h2{font-size:22px;font-weight:700;letter-spacing:-.02em;text-transform:none}
.badge{border-radius:20px;padding:4px 13px;font-size:12px;letter-spacing:0}
.tiles{gap:12px}
.tile{border:0;border-radius:14px;background:var(--panel);box-shadow:var(--shadow);padding:12px 16px;transition:transform .12s,box-shadow .12s}
.tile:hover{transform:translateY(-1px)}
.tile .l{text-transform:none;letter-spacing:0;font-size:12px;font-weight:500;color:var(--sub)}
.tile .n{font-size:28px;font-weight:700;letter-spacing:-.02em}
.tile.on{outline:0;box-shadow:0 0 0 2px var(--accent),var(--shadow)}
.massbar{border:0;border-radius:12px;padding:9px 14px;background:rgba(255,59,48,.1)}
.banner{border:0;border-radius:12px;margin:8px 16px 0;padding:9px 14px;background:rgba(255,59,48,.1)}

/* Tabellen */
.listcard{border-radius:14px}
.lhead{padding:11px 18px;border-bottom:1px solid var(--row);color:var(--sub)}
.upper{border-bottom:1px solid var(--border)}
th,td{padding:7px 12px;border-bottom:1px solid var(--row)}
th{background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--sub);font-weight:600;border-bottom:1px solid var(--border)}
tbody tr{transition:background .1s}
tbody tr:hover{background:var(--hover)}
.tablewrap{border:0;border-radius:14px;box-shadow:var(--shadow)}
.ball{width:14px;height:14px;border:0;background:var(--c,#8e8e93);box-shadow:0 0 0 3px color-mix(in srgb,var(--c,#8e8e93) 22%,transparent)}
.ball.ROT{animation:pulse 2s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--c) 10%,transparent)}}
@media(prefers-reduced-motion:reduce){.ball.ROT{animation:none}}

/* Dialoge */
.modal{background:rgba(0,0,0,.32);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.dlg{border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.35);border:0}
#dlgHead{background:var(--glass);border-bottom:1px solid var(--border);padding:10px 12px 10px 18px}
.dbtn{border-radius:50%;width:28px;height:28px;font-size:18px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--btn)}
#modalBody{padding:18px 22px}
.kv{grid-template-columns:130px 1fr;gap:5px 12px}
pre{border-radius:12px;background:#1c1c1e}
#dmap,#map{border:0;border-radius:14px}
.toast{border:0;border-radius:24px;padding:10px 20px;background:rgba(40,40,44,.92);backdrop-filter:blur(14px);box-shadow:0 8px 30px rgba(0,0,0,.3)}
.secret{border-radius:10px}

/* Login */
#login{min-height:100vh;display:flex;align-items:center;justify-content:center}
#login .login{margin:0;width:min(380px,92vw);max-width:none;padding:32px 30px;border-radius:20px;gap:14px}
.login h1{font-size:26px;font-weight:700;letter-spacing:-.02em;text-align:center;color:var(--text)}

/* Zurück-Leiste, Bereiche */
#backbar{padding:10px 16px 0}
.rng .btn.on{background:var(--accent);color:#fff}
.up{color:var(--sub)}
#tacho{border-radius:16px;margin:10px 16px}
.tpan{border-radius:14px}
.dlg{padding:0}
.lhead,.lhead *,.cnt,.frow .cnt{text-transform:none}
