/* Statusseite der Drehscheibe – Farben, Maße und Raster aus dem abgestimmten Entwurf
   (X32Live-Dev/doku/entwurf-abgleich-server.html, Handy-Perspektive, Runde 3.3).
   Drei Schriftgrößen (20/15/13), zwei Grautöne, Farbe nur für Zustände und nie allein
   (Marke ✓ ⏸ ⚠ ≡ + Wort). Blau kommt auf dieser Seite NICHT vor – am Handy ist nichts tippbar. */
:root{
  --bg:#101214; --panel:#1a1d21; --panel2:#22262b; --line:#30353c; --text:#dfe5ea; --dim:#8f99a3;
  --ok:#58c470; --blau:#7cc4ef; --orange:#ffb02e;
  --mono:"SF Mono",ui-monospace,Menlo,Consolas,monospace;
  --gross:20px; --normal:15px; --klein:13px;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--text);font:var(--normal)/1.45 -apple-system,"Segoe UI",Roboto,sans-serif;-webkit-text-size-adjust:100%}
h1,h2,h3,h4,p,ul,ol{font-size:var(--normal)}
[hidden]{display:none!important}

button{background:transparent;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:0 14px;font:inherit;font-size:var(--normal);font-weight:700;cursor:pointer;touch-action:manipulation;min-height:44px;max-width:100%;line-height:1.3;white-space:nowrap}
button.link{border:none;background:transparent;color:var(--dim);font-weight:700;padding:0 6px}

/* Zustände */
.s-ok{--c:var(--ok)}
.s-ent{--c:var(--orange)}
.s-wart{--c:var(--dim)}
.s-neutral{--c:var(--line)}
.st{color:var(--c);font-weight:400;display:inline-flex;align-items:baseline;gap:6px;max-width:100%}
.st .sym{font-weight:500;min-width:1.1em;text-align:center;flex:0 0 auto}
.st.leise{color:var(--text)}
.st.leise .sym{color:var(--c)}

/* Kopf */
.kopf{position:sticky;top:0;z-index:40;background:var(--bg);display:flex;align-items:center;gap:10px;padding:10px 18px;border-bottom:1px solid var(--line)}
.kopf h1{margin:0;font-size:var(--gross);font-weight:700;flex:1 1 auto;min-width:0;line-height:1.3}
.kopf h1 small{font-weight:400;color:var(--dim);font-size:var(--normal);white-space:nowrap}
@media (max-width:600px){.kopf{padding:8px 12px}.kopf h1 small{display:block}}

.body{padding:12px 18px 8px;max-width:1100px}
@media (max-width:600px){.body{padding:10px 12px 8px}}
.note{font-size:var(--klein);color:var(--dim);margin:6px 0 0;line-height:1.4}
.mini{font-size:var(--klein);color:var(--dim)}

/* Anmeldung */
.anmeldung{max-width:420px;margin:24px 0}
.anmeldung h2{font-size:var(--gross);margin:0 0 4px}
.anmeldung form{display:flex;flex-direction:column;gap:6px;margin-top:14px}
.anmeldung label{font-size:var(--klein);color:var(--dim);margin-top:6px}
.anmeldung input{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;min-height:44px;padding:0 12px;font:inherit}
.anmeldung input:focus{outline:2px solid var(--dim);outline-offset:1px}
.anmeldung button[type=submit]{margin-top:12px}
.fehler{min-height:1.4em;color:var(--orange);font-size:var(--klein);margin:8px 0 0}

/* Ampel: Überschrift + GENAU eine Zeile darunter */
.ampel{display:grid;grid-template-columns:44px minmax(0,1fr);gap:6px 14px;align-items:center;border:1px solid var(--line);border-left:4px solid var(--c);border-radius:12px;background:var(--panel);padding:12px 16px 12px 14px;margin-bottom:10px}
.ampel .z{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--gross);font-weight:500;color:var(--c);background:var(--panel2)}
.ampel .tx{min-width:0}
.ampel h2{margin:0 0 3px;font-size:var(--gross);line-height:1.3;font-weight:700;overflow-wrap:anywhere}
.ampel .unter{font-size:var(--klein);color:var(--dim);margin:0;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:600px){.ampel{padding:10px 12px 10px 10px;gap:6px 10px;grid-template-columns:40px minmax(0,1fr)}.ampel .z{width:40px;height:40px}}
.handyhinweis{display:flex;gap:10px;align-items:center;padding:4px 14px 10px;font-size:var(--klein);color:var(--dim)}
.handyhinweis .sym{font-weight:500}

/* „Das wartet“ – Karten wie die Aufgabenkarten, nur ohne Knopf */
.ueb{display:flex;align-items:center;gap:8px 14px;margin:10px 0 6px;min-height:32px}
.ueb h3{margin:0;font-weight:700;flex:1 1 auto}
.ueb h3 span{font-weight:400;color:var(--dim)}
.aufg{border:1px solid var(--line);border-left:4px solid var(--c);border-radius:12px;background:var(--panel);padding:12px 14px;margin-bottom:8px;display:grid;grid-template-columns:28px minmax(0,1fr);gap:6px 12px;align-items:center}
.aufg .sy{font-size:var(--gross);font-weight:500;color:var(--c);text-align:center;line-height:1.2}
.aufg .tx{min-width:0;overflow-wrap:anywhere}
.aufg .tx b{font-weight:700}
.aufg .tx .e{font-size:var(--klein);color:var(--dim);margin-top:2px}
@media (max-width:600px){.aufg{padding:10px 12px;gap:5px 10px}}

/* Abschnittszeilen: [Marke] [Titel] [Zustandswort + Zusammenfassung] [Chevron] */
details.abs{border-top:1px solid var(--line);border-left:4px solid var(--c);margin:0}
details.abs.letzte{border-bottom:1px solid var(--line)}
details.abs > summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:28px 170px minmax(0,1fr) 20px;align-items:center;gap:0 12px;padding:0 6px 0 10px;min-height:52px;touch-action:manipulation}
details.abs > summary::-webkit-details-marker{display:none}
details.abs > summary .sym{font-weight:500;color:var(--c);text-align:center}
details.abs.s-neutral > summary .sym{color:var(--dim)}
details.abs > summary .t{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
details.abs > summary .zu{color:var(--dim);font-size:var(--klein);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
details.abs > summary .zu .zw{color:var(--c);margin-right:10px}
details.abs > summary .pf{color:var(--dim);transition:transform .15s;text-align:center}
details.abs[open] > summary .pf{transform:rotate(90deg)}
@media (max-width:900px){
  details.abs > summary{grid-template-columns:28px minmax(0,1fr) 20px;padding:8px 4px 8px 8px;row-gap:1px;min-height:0}
  details.abs > summary .sym{grid-column:1;grid-row:1}
  details.abs > summary .t{grid-column:2;grid-row:1}
  details.abs > summary .zu{grid-column:2;grid-row:2;line-height:1.4}
  details.abs > summary .pf{grid-column:3;grid-row:1/3}
}
@media (max-width:600px){
  details.abs > summary .zu{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;height:calc(2 * 1.4 * var(--klein))}
}
.abs-in{padding:2px 6px 16px 50px}
@media (max-width:600px){.abs-in{padding:2px 4px 14px 16px}}

details.sub{border-top:1px solid var(--line);margin-top:6px}
details.sub > summary{list-style:none;cursor:pointer;padding:0 4px;min-height:44px;display:flex;align-items:center;gap:8px;touch-action:manipulation}
details.sub > summary::-webkit-details-marker{display:none}
details.sub > summary::before{content:"▸";color:var(--dim);transition:transform .15s}
details.sub[open] > summary::before{transform:rotate(90deg)}
.sub-in{padding:0 4px 12px 22px;color:var(--dim)}
.sub-in ul{margin:4px 0 0;padding-left:20px}
.sub-in li{margin:4px 0;overflow-wrap:anywhere}

.tech{display:grid;grid-template-columns:minmax(120px,auto) minmax(0,1fr);gap:4px 14px;font-size:var(--klein)}
.tech .k{color:var(--dim)}
.tech .v{overflow-wrap:anywhere;color:var(--text)}
.technik .tech .v{font-family:var(--mono)}

.fuss{margin-top:14px}
.etikett{font-size:var(--klein);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin:12px 0 2px}

/* Geräte – flache Blöcke */
.gk{margin-top:14px}
.gk:first-child{margin-top:0}
.gk-kopf{display:flex;gap:8px 10px;align-items:baseline;flex-wrap:wrap;padding:6px 0 4px}
.gk-kopf b{font-weight:700}
.hier-pl{font-size:var(--klein);font-weight:500;letter-spacing:.08em;text-transform:uppercase;background:var(--panel2);border-radius:5px;padding:1px 7px;white-space:nowrap}
.gk-kopf .on{font-size:var(--klein)}
.gz{display:grid;grid-template-columns:110px minmax(0,1fr);gap:3px 12px;align-items:baseline;border-top:1px solid var(--line);padding:7px 0}
.gz .k{color:var(--dim);font-size:var(--klein)}
.gz .v{min-width:0;overflow-wrap:anywhere}
.gz .v .st{margin-left:0}
@media (max-width:600px){.gz{grid-template-columns:92px minmax(0,1fr)}}
.speicher{height:6px;border-radius:3px;background:#2a2f35;overflow:hidden;margin-top:5px;max-width:320px}
.speicher i{display:block;height:100%;background:var(--dim);border-radius:3px}

/* Software – Vorrat */
.vz-zeile{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:4px 14px;align-items:center;border-top:1px solid var(--line);padding:8px 0}
.vz-zeile:first-child{border-top:none}
.vz-zeile .d{font-size:var(--klein);color:var(--dim)}
.vz-zeile .r{justify-self:end;text-align:right}

/* Verlauf */
.vl{display:grid;grid-template-columns:92px 120px minmax(0,1fr);gap:4px 10px;align-items:center;border-top:1px solid var(--line);padding:8px 0}
.vl .z{font-size:var(--klein);color:var(--dim)}
.vl .g{font-size:var(--klein);font-weight:500;letter-spacing:.06em;text-transform:uppercase;background:var(--panel2);border-radius:5px;padding:2px 6px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vl .t{min-width:0;overflow-wrap:anywhere}
@media (max-width:560px){.vl{grid-template-columns:auto 1fr}.vl .g{justify-self:start}.vl .t{grid-column:1/-1}}
