:root{--bg: #f4f5f7;--karte: #ffffff;--text: #111827;--leise: #6b7280;--rand: #e5e7eb;--akzent: #2563eb;--ok: #16a34a;--warn: #d97706;--gefahr: #dc2626;--mess: #ff2d95;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--akzent)}h1{font-size:1.5rem;margin:.3rem 0}h2{font-size:1.15rem;margin:1.2rem 0 .5rem}.leiste{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:calc(.5rem + env(safe-area-inset-top)) .8rem .5rem;background:#111827;color:#fff}.leiste .marke{color:#fff;font-weight:700;text-decoration:none;margin-right:auto}.ble{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem}.ble .punkt{width:.7rem;height:.7rem;border-radius:50%;background:#6b7280;display:inline-block}.ble-verbunden .punkt{background:#22c55e;box-shadow:0 0 6px #22c55e}.ble-verbinde .punkt{background:#f59e0b;animation:blink .8s infinite}.ble-getrennt .punkt{background:#ef4444}.ble-fehler{flex-basis:100%;font-size:.8rem;color:#fca5a5}@keyframes blink{50%{opacity:.3}}.inhalt{max-width:820px;margin:0 auto;padding:.8rem .8rem calc(2rem + env(safe-area-inset-bottom))}button,.knopf{font:inherit;font-weight:600;border:0;border-radius:.6rem;padding:.7rem 1rem;min-height:2.9rem;background:var(--akzent);color:#fff;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.3rem;touch-action:manipulation}button:disabled{opacity:.45;cursor:default}button.zweit,.knopf.zweit{background:#e5e7eb;color:var(--text)}button.gross{min-height:3.6rem;font-size:1.1rem;flex:1}button.klein{min-height:2.2rem;padding:.3rem .8rem;font-size:.9rem}button.link{background:none;color:var(--akzent);padding:.4rem 0;min-height:0;font-weight:500}button.gefahr,.gefahr,button.zweit.gefahr{color:var(--gefahr)}button.mini{min-height:2.4rem;min-width:2.4rem;padding:.2rem .5rem;background:#f3f4f6;color:var(--text)}button.mini.gefahr{color:var(--gefahr)}button.rund{width:2.8rem;height:2.8rem;min-height:0;padding:0;border-radius:50%;background:#111827bf;font-size:1.3rem}input,textarea,select{font:inherit;width:100%;padding:.7rem .8rem;border:1px solid var(--rand);border-radius:.6rem;background:#fff;color:var(--text);font-size:17px}label{display:block;font-size:.9rem;color:var(--leise);margin:.6rem 0}label input,label textarea{margin-top:.25rem;color:var(--text)}label.check{display:flex;gap:.5rem;align-items:center}label.check input{width:auto;margin:0}.karte{background:var(--karte);border-radius:1rem;padding:1.2rem;box-shadow:0 1px 3px #00000014}.login{max-width:380px;margin:12vh auto 0;display:flex;flex-direction:column}.fehler{color:var(--gefahr);min-height:1.2em;margin:.3rem 0}.leise{color:var(--leise);font-size:.9rem}.ok{color:var(--ok);font-size:.9rem;font-weight:600}.leer{color:var(--leise);padding:1rem 0}.notiz{white-space:pre-wrap;background:#fffbea;padding:.6rem .8rem;border-radius:.6rem}.hinweis{background:#fff7ed;border:1px solid #fed7aa;border-radius:.8rem;padding:.8rem 1rem;margin-bottom:1rem}.hinweis p{margin:.4rem 0 0}.kopf{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.6rem}.zurueck{display:inline-block;padding:.3rem 0;text-decoration:none}.knopfreihe{display:flex;gap:.6rem;flex-wrap:wrap;margin:.8rem 0}.knopfreihe>*{flex:1}.fuss{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;font-size:.9rem;flex-wrap:wrap}.liste{list-style:none;padding:0;margin:.8rem 0}.liste li{margin-bottom:.5rem}.zeile{display:flex;flex-direction:column;gap:.15rem;background:#fff;border-radius:.8rem;padding:.85rem 1rem;text-decoration:none;color:var(--text);box-shadow:0 1px 2px #0000000f}.raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem}.kachel{display:flex;flex-direction:column;gap:.15rem;background:#fff;border-radius:.8rem;overflow:hidden;text-decoration:none;color:var(--text);padding-bottom:.5rem;box-shadow:0 1px 2px #0000000f}.kachel img{width:100%;aspect-ratio:4 / 3;object-fit:cover;background:#ddd}.kachel>:not(img){padding:0 .6rem}.sheet-hinter{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:50;display:flex;align-items:flex-end;justify-content:center}.sheet{background:#fff;width:100%;max-width:560px;max-height:92vh;overflow:auto;border-radius:1.1rem 1.1rem 0 0;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom))}.formular h2{margin-top:.2rem}.chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:.6rem 0 .8rem}.chip{background:#eef2ff;color:#1e3a8a;min-height:2.6rem;padding:.4rem .8rem;font-weight:600}.segment{display:flex;border-radius:.6rem;overflow:hidden;border:1px solid var(--rand);flex-shrink:0}.segment button{background:#fff;color:var(--text);border-radius:0;min-height:2.9rem;padding:.5rem .8rem}.segment button.an{background:var(--akzent);color:#fff}.zeile-eingabe{display:flex;gap:.5rem}.zeile-eingabe input{font-size:1.6rem;font-weight:700}.toast{position:fixed;left:50%;bottom:calc(1.2rem + env(safe-area-inset-bottom));transform:translate(-50%,150%);background:#111827;color:#fff;padding:.75rem 1rem;border-radius:.8rem;max-width:92vw;z-index:60;transition:transform .2s;box-shadow:0 4px 16px #00000040}.toast.sichtbar{transform:translate(-50%)}.toast.fehler{background:var(--gefahr)}.foto-ansicht .kopf h1.bearbeitbar{cursor:pointer}.buehne-rahmen{position:relative;margin:0 -.8rem}.buehne{position:relative;height:58vh;min-height:300px;overflow:hidden;background:#0b0f17;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.welt{position:absolute;left:0;top:0;transform-origin:0 0}.welt img{display:block;width:100%;height:100%;pointer-events:none}.welt .overlay{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.buehne-werkzeuge{position:absolute;right:.6rem;top:.6rem;display:flex;flex-direction:column;gap:.4rem}.pulsieren{animation:puls 1s ease-in-out infinite}@keyframes puls{50%{opacity:.45}}.panel{background:#fff;margin:0 -.8rem;padding:.8rem;box-shadow:0 2px 6px #00000014;position:sticky;bottom:0;z-index:10}.panel .anleitung{margin:0 0 .6rem;color:var(--leise);font-size:.95rem}.panel.plan{display:flex;flex-direction:column;gap:.5rem}.panel.mess{display:flex;flex-direction:column;gap:.6rem;padding-bottom:calc(.8rem + env(safe-area-inset-bottom))}.fortschritt{position:relative;height:1.8rem;background:#e5e7eb;border-radius:.9rem;overflow:hidden}.fortschritt .balken{position:absolute;inset:0 auto 0 0;background:#86efac;transition:width .3s}.fortschritt span{position:relative;display:block;text-align:center;line-height:1.8rem;font-weight:600;font-size:.95rem}.jetzt{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.2rem 0}.jetzt strong{font-size:2rem;line-height:1.15;color:var(--mess)}.jetzt.fertig strong{color:var(--ok)}.jetzt.offen strong{color:var(--warn)}.ble-hinweis{display:flex;flex-direction:column;align-items:stretch;gap:.3rem;text-align:center}.mess-knoepfe{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.mess-knoepfe button{min-height:3.4rem;padding:.4rem;font-size:.95rem}.linienliste{list-style:none;padding:0;margin:1rem 0}.linie{display:grid;grid-template-columns:2.6rem 1fr auto;align-items:center;gap:.4rem;background:#fff;border-radius:.7rem;padding:.35rem;margin-bottom:.4rem;border-left:5px solid #ffb020}.linie.gemessen{border-left-color:#22c55e}.linie.uebersprungen{border-left-color:#9ca3af}.linie.aktiv{outline:2px solid var(--mess)}.linie .nr{min-height:2.4rem;padding:0;background:#111827;border-radius:50%;width:2.4rem;height:2.4rem}.linie .name{background:none;color:var(--text);justify-content:flex-start;text-align:left;padding:.3rem;min-height:2.4rem;font-weight:600}.linie .name em{color:var(--leise);font-weight:400}.linie .wert{background:#f3f4f6;color:var(--text);min-height:2.4rem;padding:.3rem .7rem;font-variant-numeric:tabular-nums}.linie.offen .wert{color:var(--warn)}.linie .aktionen{grid-column:1 / -1;display:flex;gap:.3rem;justify-content:flex-end}@media(min-width:560px){.linie{grid-template-columns:2.6rem 1fr auto auto}.linie .aktionen{grid-column:auto}}.export{margin-top:1.5rem}.debug .service{background:#fff;border-radius:.7rem;padding:.6rem .8rem;margin:.6rem 0;font-size:.85rem;word-break:break-all}.debug .service ul{padding-left:1rem;margin:.4rem 0 0}.debug .service li{margin:.3rem 0}.log{background:#0b0f17;color:#a7f3d0;font-size:.75rem;padding:.7rem;border-radius:.7rem;max-height:50vh;overflow:auto;white-space:pre-wrap;word-break:break-all}.knopfreihe.eng{margin:0}
