:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--grund:#12160f;--flaeche:#1b2018;--flaeche-hoch:#242b20;--rand:#333b2c;--rand-hell:#4a5540;--schrift:#edefe8;--leise:#99a191;--oliv:#8fb86a;--oliv-dunkel:#6d904f;--oliv-tief:#2c3a1c;--koralle:#f36f63;--koralle-tief:#47201c;--bernstein:#e8a33d;--bernstein-tief:#43300d;--ui:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;--r-klein:10px;--r:14px;--r-gross:22px;--kurz:.12s;--takt:.2s;--kurve:cubic-bezier(.2, .7, .3, 1);--griff:56px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--grund);color:var(--schrift);font-family:var(--ui);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0;font-size:17px;line-height:1.45}button,a,label,.kachel{-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none}h1,h2,h3{letter-spacing:-.02em;margin:0;font-weight:600}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}code,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.01em}.app{z-index:1;grid-template-rows:auto 1fr;height:100dvh;display:grid;position:relative}.statusleiste{padding:max(8px, env(safe-area-inset-top)) 16px 8px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));flex-wrap:wrap;grid-row:1;justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.statusleiste .sitzung{align-items:baseline;gap:8px;min-width:0;display:flex}.statusleiste .anzeigen{align-items:center;gap:8px;display:flex}.statusleiste .kunde{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.statusleiste .zaehler{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--leise);white-space:nowrap;font-size:13px}.buehne{min-height:0;padding:4px max(16px, env(safe-area-inset-left)) 0 max(16px, env(safe-area-inset-right));animation:einblenden var(--takt) var(--kurve);flex-direction:column;grid-row:2;display:flex;overflow-y:auto}.buehne>*{flex-direction:column;flex:1 0 auto;display:flex}.aktionsleiste{z-index:2;padding:12px 16px max(12px, env(safe-area-inset-bottom));background:linear-gradient(to top, var(--grund) 62%, #12160f00);gap:10px;margin:auto -16px 0;display:flex;position:sticky;bottom:0}.aktionsleiste.ueberlagert{background:0 0}.aktionsleiste>*{flex:1}.aktionsleiste>.schmal{flex:none}.knopf{min-height:var(--griff);border:1px solid var(--rand);border-radius:var(--r);background:var(--flaeche);color:var(--schrift);font:inherit;cursor:pointer;transition:transform var(--kurz) var(--kurve), background var(--kurz) var(--kurve), border-color var(--kurz) var(--kurve), opacity var(--kurz) var(--kurve);justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:16px;font-weight:600;display:inline-flex}.knopf:active{transform:scale(.965)}.knopf.primaer{background:var(--oliv);border-color:var(--oliv);color:#10170a}.knopf.primaer:active{background:var(--oliv-dunkel)}.knopf.geist{background:0 0}.knopf.gefahr{color:var(--koralle);border-color:var(--koralle-tief)}.knopf.umriss{border-color:var(--oliv-dunkel);color:var(--oliv);background:0 0}.knopf.umriss:active{background:var(--oliv-tief)}.knopf:disabled{opacity:.38;cursor:default;transform:none}.knopf.gross{min-height:60px;font-size:17px}.feld{margin-bottom:12px;display:block}.feld>.marke{margin-bottom:6px;display:block}.eingabe{width:100%;min-height:var(--griff);border:1px solid var(--rand);border-radius:var(--r);background:var(--flaeche);color:var(--schrift);font:inherit;transition:border-color var(--kurz) var(--kurve), box-shadow var(--kurz) var(--kurve);padding:0 16px;font-size:17px;display:block}.eingabe:focus{border-color:var(--oliv);outline:none;box-shadow:0 0 0 3px #8fb86a38}.eingabe::placeholder{color:var(--leise)}.eingabe[type=date]{appearance:none;text-align:left;min-width:0;max-width:100%}textarea.eingabe{resize:none;min-height:96px;padding:14px 16px;line-height:1.5}.eingabe.ziffern{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.14em;font-size:22px}.marke{letter-spacing:.13em;text-transform:uppercase;color:var(--leise);font-size:11px;font-weight:700}.hilfe{color:var(--leise);font-size:14px}.fehler{border-radius:var(--r-klein);background:var(--koralle-tief);color:var(--koralle);margin-top:8px;padding:10px 14px;font-size:15px}.karte{border:1px solid var(--rand);border-radius:var(--r-gross);background:var(--flaeche);padding:16px}.upload{color:inherit;font:inherit;cursor:pointer;white-space:nowrap;transition:background var(--takt) var(--kurve), color var(--takt) var(--kurve);background:0 0;border:0;border-radius:999px;align-items:center;gap:7px;padding:6px 12px 6px 10px;font-size:13px;font-weight:600;display:inline-flex}.upload .punkt{border-radius:50%;flex:none;width:8px;height:8px}.upload.ok{color:var(--leise)}.upload.ok .punkt{background:var(--oliv)}.upload.aktualisierung{background:var(--oliv-tief);color:var(--oliv)}.upload.aktualisierung .punkt{background:var(--oliv)}.upload.offen{background:var(--bernstein-tief);color:var(--bernstein)}.upload.offen .punkt{background:var(--bernstein);animation:1.8s ease-in-out infinite pochen}.upload.stockt{background:var(--koralle-tief);color:var(--koralle)}.upload.stockt .punkt{background:var(--koralle)}.upload .zahl{font-family:var(--mono);font-variant-numeric:tabular-nums}.uploadfehler{border-radius:var(--r-klein);background:var(--flaeche);color:var(--leise);word-break:break-word;animation:hochblenden var(--takt) var(--kurve);flex-basis:100%;padding:8px 12px;font-size:13px;line-height:1.4}.anmeldung{flex-direction:column;justify-content:center;max-width:420px;margin:0 auto;padding:24px;display:flex}.wortmarke{letter-spacing:-.03em;margin-bottom:4px;font-size:34px}.wortmarke+.hilfe{margin-bottom:28px}.sitzungen{max-width:520px;margin:0 auto;padding-top:8px}.sitzungen h1{margin-bottom:4px;font-size:30px}.sitzungen .hilfe{margin-bottom:20px}.sitzungen>.marke{margin:26px 0 10px;display:block}.sitzungskarte{text-align:left;width:100%;min-height:var(--griff);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:14px 16px;display:flex}.sitzungskarte .datum{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--leise);font-size:13px}.sitzungskarte .pfeil{color:var(--oliv);font-size:20px}.sucher{object-fit:cover;z-index:0;background:#000;width:100%;height:100%;position:fixed;inset:0}.schleier{z-index:0;pointer-events:none;height:190px;position:fixed;left:0;right:0}.schleier.oben{background:linear-gradient(#080a06d1,#0000);top:0}.schleier.unten{background:linear-gradient(#0000,#080a06e0);bottom:0}.scan{justify-content:flex-start}.scanflaeche{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:22px;padding:24px 0;display:flex}.rahmen{aspect-ratio:1;width:min(72vw,300px);position:relative}.rahmen .ecke{border:3px solid var(--oliv);filter:drop-shadow(0 0 3px #080a06e6);width:34px;height:34px;animation:2.6s ease-in-out infinite atmen;position:absolute}.rahmen .ecke.lo{border-radius:var(--r) 0 0 0;border-bottom:0;border-right:0;top:0;left:0}.rahmen .ecke.ro{border-radius:0 var(--r) 0 0;border-bottom:0;border-left:0;top:0;right:0}.rahmen .ecke.lu{border-radius:0 0 0 var(--r);border-top:0;border-right:0;bottom:0;left:0}.rahmen .ecke.ru{border-radius:0 0 var(--r) 0;border-top:0;border-left:0;bottom:0;right:0}.hinweis{-webkit-backdrop-filter:blur(12px);text-align:center;background:#12160fc7;border-radius:999px;max-width:300px;padding:10px 16px;font-size:15px}.hinweis.warnung{color:var(--bernstein)}.treffer{z-index:3;background:var(--oliv);pointer-events:none;animation:aufblitzen .42s var(--kurve) forwards;position:fixed;inset:0}.fremdcode{max-width:460px;margin:0 auto;padding-top:8px}.fremdcode h2{color:var(--koralle);margin-bottom:12px;font-size:22px}.fremdcode .karte{margin-bottom:14px}.fremdcode .rohcode{word-break:break-all;margin-bottom:10px;font-size:15px;display:block}.fallback{max-width:460px;margin:0 auto;padding-top:8px}.fallback h2{margin-bottom:6px;font-size:24px}.fallback>.hilfe{margin-bottom:20px}.zaehlmarke{float:right;font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0}.zaehlmarke.voll{color:var(--oliv)}.codevorschau{border:1px solid var(--oliv-tief);border-radius:var(--r);background:var(--oliv-tief);animation:hochblenden var(--takt) var(--kurve);align-items:flex-end;gap:8px;margin:16px 0;padding:14px 16px;display:flex;overflow-x:auto}.codevorschau .segment{flex-direction:column;gap:3px;display:flex}.codevorschau .ziffer{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--oliv);white-space:nowrap;font-size:17px}.codevorschau .segment>.marke{letter-spacing:.1em;font-size:9px}.behaelter{flex-direction:column;gap:18px;max-width:520px;margin:0 auto;display:flex}.kopf{border:1px solid var(--rand);border-radius:var(--r-gross);background:var(--flaeche);align-items:center;gap:14px;padding:12px 16px;display:flex}.kopf .position{border:1px solid var(--oliv-tief);border-radius:var(--r-klein);background:var(--oliv-tief);color:var(--oliv);font-family:var(--mono);font-variant-numeric:tabular-nums;flex:none;align-items:baseline;gap:1px;padding:4px 10px;display:flex}.kopf .position .raute{opacity:.65;font-size:12px}.kopf .position .zahl{letter-spacing:-.02em;font-size:24px;font-weight:600}.kopf .identitaet{min-width:0}.kopf .typ{font-size:18px;font-weight:600}.kopf .code{color:var(--leise);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.kopf .code .b{color:var(--schrift)}.abschnitt>.marke{margin-bottom:10px;display:block}.kacheln{grid-template-columns:1fr 1fr;gap:8px;display:grid}.kachel{min-height:var(--griff);border:1px solid var(--rand);border-radius:var(--r);background:var(--flaeche);color:var(--schrift);font:inherit;text-align:left;cursor:pointer;transition:background var(--kurz) var(--kurve), border-color var(--kurz) var(--kurve), color var(--kurz) var(--kurve), transform var(--kurz) var(--kurve);align-items:center;padding:8px 14px;font-size:15px;font-weight:600;line-height:1.2;display:flex}.kachel:active{transform:scale(.965)}.kachel[aria-pressed=true]{background:var(--koralle-tief);border-color:var(--koralle);color:var(--koralle)}.abgrenzung{border-left:2px solid var(--rand-hell);margin-top:10px;padding-left:12px}.abgrenzung>div{gap:8px;font-size:13px;line-height:1.4;display:flex}.abgrenzung>div+div{margin-top:4px}.abgrenzung dt{color:var(--schrift);flex:0 0 46px;font-weight:700}.abgrenzung dd{color:var(--leise);margin:0}.fotostreifen{scrollbar-width:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.fotostreifen::-webkit-scrollbar{display:none}.aufnahme{border:1px dashed var(--rand-hell);border-radius:var(--r);background:var(--flaeche);width:76px;height:76px;color:var(--oliv);font:inherit;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:transform var(--kurz) var(--kurve), background var(--kurz) var(--kurve);flex-direction:column;flex:none;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex}.aufnahme:active{background:var(--flaeche-hoch);transform:scale(.94)}.aufnahme .linse{border:2px solid var(--oliv);border-radius:50%;width:22px;height:22px}.fotokachel{border-radius:var(--r);background:var(--flaeche-hoch);width:76px;height:76px;animation:hochblenden var(--takt) var(--kurve);flex:none;position:relative;overflow:hidden}.fotokachel img{object-fit:cover;width:100%;height:100%;display:block}.fotokachel .weg{width:28px;height:28px;color:var(--schrift);font:inherit;cursor:pointer;background:#0a0c08b8;border:0;border-radius:50%;place-items:center;font-size:17px;line-height:1;display:grid;position:absolute;top:2px;right:2px}.befundknopf{border:1px dashed var(--rand-hell);border-radius:var(--r);width:100%;min-height:52px;color:var(--leise);font:inherit;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;padding:10px 16px;font-size:15px;display:flex}.befundknopf.gefuellt{border-style:solid;border-color:var(--rand);background:var(--flaeche);color:var(--schrift)}.befundknopf .plus{color:var(--oliv);font-size:20px}.kameraflaeche{z-index:40;animation:hochblenden var(--takt) var(--kurve);background:#000;position:fixed;inset:0}.kameraflaeche video{object-fit:cover;width:100%;height:100%}.kameraflaeche .bedienung{padding:24px max(20px, env(safe-area-inset-left)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-right));background:linear-gradient(#0000,#000000c7);justify-content:space-between;align-items:center;gap:16px;display:flex;position:absolute;bottom:0;left:0;right:0}.ausloeser{background:var(--oliv);cursor:pointer;width:74px;height:74px;transition:transform var(--kurz) var(--kurve);border:4px solid #ffffffe6;border-radius:50%}.ausloeser:active{transform:scale(.9)}.kameraflaeche .stueck{color:#fff;min-width:74px;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:15px}.kameraflaeche .fertig{color:#fff;min-width:74px;font:inherit;text-align:right;cursor:pointer;background:0 0;border:0;font-size:17px;font-weight:600}.blitz{z-index:41;pointer-events:none;animation:aufblitzen .24s var(--kurve) forwards;background:#fff;position:fixed;inset:0}.uebersicht{max-width:560px;margin:0 auto}.uebersicht h2{font-size:24px}.uebersicht>.hilfe{margin-bottom:18px}.zeile{border-bottom:1px solid var(--rand);align-items:center;gap:10px;display:flex}.zeile .oeffnen{min-width:0;min-height:64px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:14px;padding:10px 0;display:flex}.zeile .nr{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--oliv);text-align:right;flex:0 0 30px;font-size:15px}.zeile .angaben{min-width:0}.zeile .typ{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:600;overflow:hidden}.zeile .chips{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.chip{background:var(--koralle-tief);color:var(--koralle);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.chip.leer{color:var(--leise);background:0 0;padding-left:0}.chip.fehlt{background:var(--bernstein-tief);color:var(--bernstein)}.uebersicht>.fehlt{border-left:3px solid var(--bernstein);border-radius:0 var(--r-klein) var(--r-klein) 0;background:var(--bernstein-tief);color:var(--schrift);margin:14px 0 4px;padding:10px 14px;font-size:14px;line-height:1.45}.uebersicht>.fehlt strong{color:var(--bernstein)}.zeile .weg{border-radius:var(--r-klein);width:44px;height:44px;color:var(--leise);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;font-size:22px;line-height:1;display:grid}.zeile .weg:active{background:var(--koralle-tief);color:var(--koralle)}.leerhinweis{text-align:center;color:var(--leise);padding:40px 0}.nachfrage{border:1px solid var(--bernstein-tief);border-radius:var(--r);background:var(--bernstein-tief);animation:hochblenden var(--takt) var(--kurve);margin-top:18px;padding:14px 16px;font-size:14px;line-height:1.45}.nachfrage strong{color:var(--bernstein)}.nachfrage .reihe{gap:10px;margin-top:12px;display:flex}.nachfrage .reihe>.knopf{flex:1}.sitzungsId{color:var(--leise);word-break:break-all;margin-top:20px;font-size:12px}@keyframes einblenden{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes hochblenden{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}@keyframes aufblitzen{0%{opacity:.85}to{opacity:0}}@keyframes atmen{0%,to{opacity:.62}50%{opacity:1}}@keyframes pochen{0%,to{opacity:1}50%{opacity:.3}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.rahmen .ecke,.upload.offen .punkt{opacity:1}.treffer,.blitz{animation:.3s linear forwards aufblitzen!important}}.anmeldung>.knopf{margin-top:12px}.sitzungen form>.knopf{width:100%}.kopf .identitaet,.kopf .typ,.zeile .angaben,.zeile .typ{display:block}.kamerafehler{max-width:80%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.serverstand{max-width:560px;margin:0 auto}.serverstand h2{margin-bottom:4px;font-size:24px}.serverstand>.hilfe{margin-bottom:18px}.serverstand ul{flex-direction:column;gap:8px;display:flex}.serverstand>.knopf{width:100%;margin-top:12px}.standkarte{text-align:left;justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.standkarte .angaben{flex-direction:column;gap:2px;min-width:0;display:flex}.standkarte .kunde{font-size:17px;font-weight:600}.standkarte .zahlen{color:var(--leise);font-variant-numeric:tabular-nums;font-size:13px}.standkarte .abweichung{color:var(--koralle);font-variant-numeric:tabular-nums;font-size:13px}.stand{white-space:nowrap;border-radius:999px;flex:none;padding:4px 9px;font-size:12px;font-weight:600}.stand.vollstaendig{background:var(--oliv-tief);color:var(--oliv)}.stand.unterwegs{background:var(--bernstein-tief);color:var(--bernstein)}.stand.fehlt{background:var(--koralle-tief);color:var(--koralle)}.stand.nurOben{color:var(--leise);border:1px solid var(--rand);background:0 0}.serverstand .geloescht,.serversitzung .geloescht{opacity:.55}.serverstand .geloescht .kunde,.serversitzung .geloescht .typ{text-decoration:line-through}.serversitzung{max-width:560px;margin:0 auto}.serversitzung h2{font-size:24px}.serversitzung>.hilfe{margin-bottom:18px}.serversitzung .zeile{align-items:flex-start;padding:12px 0}.serversitzung .befund{margin-top:6px;font-size:13px;display:block}.serversitzung .gs1{font-family:var(--mono);color:var(--leise);word-break:break-all;margin-top:4px;font-size:12px;display:block}.chip.leise{color:var(--leise);border:1px solid var(--rand);background:0 0}.fotoknoepfe{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.fotoknopf{border:1px solid var(--rand);background:var(--flaeche);color:var(--schrift);border-radius:8px;padding:8px 12px;font-size:13px}.fotoknopf:active{background:var(--flaeche-hoch)}.fotoebene{z-index:50;background:#080a06f5;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}.fotoebene img{object-fit:contain;border-radius:10px;max-width:100%;max-height:100%}.fotoebene .schliessen{right:12px;top:max(12px, env(safe-area-inset-top));width:52px;min-height:52px;padding:0;font-size:26px;line-height:1;position:absolute}.sitzungen>form{flex-direction:column;flex:1 0 auto;display:flex}.sitzungen>form>h1{margin-bottom:4px;font-size:30px}.sitzungen>form>.hilfe{margin-bottom:20px}.sitzungen>.knopf.umriss{width:100%;margin-top:auto}.sitzungen>.leerhinweis{padding:28px 0 4px}
