:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#201f1d;--card:#2e2c29;--card2:#3e3c37;--line:#4f4c47;--text:#faf9f7;--muted:#a09c94;--ok:#5fc99a;--warn:#f0924a;--bad:#ef6f6f;--accent:#c9a45c;--auf-accent:#1a1508;--radius:8px;--tabbar-h:62px;--serif:ui-serif, Georgia, "Noto Serif", "Times New Roman", serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#root{min-height:100%}button,input,select,textarea,summary{touch-action:manipulation}:is(button,summary,input,select,textarea,a):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{max-width:480px;padding:12px 16px calc(var(--tabbar-h) + 96px);margin:0 auto}h1{font-family:var(--serif);letter-spacing:0;font-size:28px;font-weight:600}h2{font-family:var(--serif);color:var(--text);text-wrap:balance;margin:34px 0 12px;font-size:21px;font-weight:600}.card{background:var(--card);border:1px solid var(--card);border-radius:var(--radius);margin-bottom:12px;padding:16px}.kopf{align-items:center;gap:4px;min-height:48px;margin-bottom:10px;display:flex}.kopf h1{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.kopf-knopf{width:44px;height:44px;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.kopf-knopf.an{background:var(--card2);color:var(--accent)}.kopf-knopf .laeuft{background:var(--accent);border-radius:50%;width:9px;height:9px;position:absolute;top:8px;right:8px}.blick{text-align:center;border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;margin-bottom:18px;padding:8px 0 24px}.blick .label{color:var(--muted);font-size:15px}.blick .zahl{font-family:var(--serif);letter-spacing:-1.5px;font-variant-numeric:tabular-nums;margin:2px 0;font-size:64px;font-weight:600}.blick .zahl.ok{color:var(--ok)}.blick .zahl.warn{color:var(--warn)}.blick .zahl.bad{color:var(--bad)}.blick .tag{color:var(--text);font-size:16px}.blick .tag b{font-variant-numeric:tabular-nums}.blick .sub{color:var(--muted);margin-top:6px;font-size:13px}.blick .wenn-alle{color:var(--muted);margin-top:-2px;font-size:14px}.heute{text-align:left;margin-top:18px}.heute-kopf{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.heute-kopf .name{font-size:17px;font-weight:600}.heute-wert{font-family:var(--serif);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:26px;font-weight:600}.balken{background:var(--card2);border-radius:4px;height:8px;margin:8px 0 6px;overflow:hidden}.balken>div{border-radius:4px;height:100%}.kennwerte{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:18px 0 6px;display:grid}.kennwerte>div{text-align:center;padding:12px 4px}.kennwerte>div+div{border-left:1px solid var(--line)}.kennwerte dt{color:var(--muted);font-size:12px}.kennwerte dd{font-family:var(--serif);font-variant-numeric:tabular-nums;margin-top:2px;font-size:18px;font-weight:600}.blick-zeile{border:0;border-bottom:1px solid var(--line);width:100%;min-height:60px;color:var(--text);text-align:left;background:0 0;align-items:center;gap:10px;padding:10px 0;font-family:inherit;display:flex}button.blick-zeile{cursor:pointer;-webkit-tap-highlight-color:transparent}.blick .blick-zeile:last-child{border-bottom:0;padding-bottom:0}.blick-zeile .txt{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.blick-zeile .name{font-size:15px;font-weight:600}.blick-zeile .meta{color:var(--muted);font-size:12px}.blick-zeile .wert{font-family:var(--serif);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:19px;font-weight:600}.blick-zeile .wert.warn{color:var(--warn)}.blick-zeile .pfeil{width:18px;color:var(--accent);text-align:right;font-size:17px}.zeile{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:9px 0;display:flex}.zeile:last-child{border-bottom:0}.zeile .l{align-items:center;gap:10px;min-width:0;display:flex}.zeile .l .txt{min-width:0;display:block}.zeile .name{white-space:nowrap;text-overflow:ellipsis;font-size:15px;display:block;overflow:hidden}.zeile .meta{color:var(--muted);font-size:12px;display:block}.zeile .betrag{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600;display:block}button.zeile,button.card,button.karte-zeile{width:100%;font-family:inherit;font-size:inherit;color:var(--text);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}button.zeile{border:0;border-bottom:1px solid var(--line);background:0 0}button.zeile:last-child{border-bottom:0}button.karte-zeile{background:0 0;border:0}button.card{display:block}:is(button.zeile,button.card,button.karte-zeile):active{opacity:.7}.zeile .betrag.plus{color:var(--ok)}.ico{display:none}.ico.wichtig{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:19px;display:flex}.btn{border:1px solid var(--line);border-radius:var(--radius);background:var(--card2);color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 16px;font-size:15px;font-weight:600;display:inline-flex}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--auf-accent)}.btn.ghost{background:0 0}.btn.danger{color:var(--bad)}.btn:disabled{opacity:.5}.btn.klein{width:auto;padding:8px 14px;font-size:14px}.btn+.card{margin-top:12px}input,select,textarea{background:var(--card2);border:1px solid var(--line);border-radius:var(--radius);width:100%;color:var(--text);outline:none;padding:12px 14px;font-family:inherit;font-size:16px}input:focus,select:focus,textarea:focus{border-color:var(--accent)}label{color:var(--muted);margin:12px 0 6px;font-size:13px;display:block}.err{color:var(--bad);margin-top:10px;font-size:14px}.betrag-input{font-family:var(--serif);text-align:center;font-variant-numeric:tabular-nums;background:0 0;border:0;padding:8px 0;font-size:40px;font-weight:600}.betrag-input::placeholder{color:#6b6862}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--card2);color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:999px;padding:9px 14px;font-size:14px;font-weight:600}.chip.an{background:var(--accent);border-color:var(--accent);color:var(--auf-accent)}.schalter{border-radius:var(--radius);background:var(--card2);gap:4px;margin-bottom:16px;padding:4px;display:flex}.schalter button{min-height:40px;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:6px;flex:1;padding:0 6px;font-family:inherit;font-size:15px;font-weight:600}.schalter button.an{background:var(--accent);color:var(--auf-accent)}.katgrid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.kat{background:var(--card2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;display:flex}.kat.an{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.kat .e{font-size:20px}.kat .n{color:var(--muted);text-align:center;font-size:11px;line-height:1.2}.kat.an .n{color:var(--text)}.menue{background:var(--card);border:1px solid var(--card);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}.menue-zeile{border:0;border-bottom:1px solid var(--line);width:100%;min-height:64px;color:var(--text);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;align-items:center;gap:12px;padding:10px 16px;font-family:inherit;display:flex}.menue .menue-zeile:last-child{border-bottom:0}.menue-zeile:active{background:var(--card2)}.menue-zeile .txt{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.menue-zeile .titel{font-size:16px;font-weight:600;line-height:1.3}.menue-zeile .info{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.menue-zeile .pfeil{color:var(--muted);display:flex}.zurueck{min-height:44px;color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0 8px 0 0;font-family:inherit;font-size:16px;font-weight:600;display:inline-flex}.sheet-bg{z-index:40;cursor:pointer;background:#0009;border:0;padding:0;position:fixed;inset:0}.sheet{z-index:41;background:var(--card);border-top:1px solid var(--line);max-width:480px;padding:18px 16px calc(18px + env(safe-area-inset-bottom));overscroll-behavior:contain;border-radius:16px 16px 0 0;max-height:88vh;margin:0 auto;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sheet h3{font-family:var(--serif);margin-bottom:12px;font-size:19px;font-weight:600}.sheet .griff{background:var(--line);border-radius:2px;width:36px;height:4px;margin:0 auto 12px}.tabbar{z-index:30;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);align-items:stretch;max-width:480px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{min-width:0;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-family:inherit;font-size:11px;font-weight:600;display:flex}.tabbar button.an{color:var(--accent);box-shadow:inset 0 2px 0 var(--accent)}.tabbar .symbol{justify-content:center;align-items:center;height:24px;display:flex;position:relative}.zaehler{background:var(--bad);color:#fff;text-align:center;font-variant-numeric:tabular-nums;border-radius:9px;min-width:17px;height:17px;padding:0 5px;font-size:11px;font-weight:700;line-height:17px;position:absolute;top:-5px;right:-10px}.fab{right:18px;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 16px);z-index:31;background:var(--accent);width:56px;height:56px;color:var(--auf-accent);box-shadow:0 6px 18px color-mix(in srgb, var(--accent) 30%, transparent);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed}.login{text-align:center;max-width:480px;margin:0 auto;padding:18vh 24px 24px}.login .logo{font-size:56px}.login h1{margin:10px 0 6px}.login p{color:var(--muted);margin-bottom:24px;font-size:14px}.login form{text-align:left;flex-direction:column;gap:10px;display:flex}.toasts{z-index:50;left:12px;right:12px;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 84px);pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed}.toast{background:var(--card2);border:1px solid var(--line);border-radius:var(--radius);overflow-wrap:break-word;pointer-events:auto;cursor:pointer;max-width:480px;padding:10px 16px;font-size:14px;font-weight:600;line-height:1.45}.toast.ok{border-color:var(--ok);color:var(--ok)}.toast.bad{border-color:var(--bad);color:var(--bad)}.toast .toast-hint{color:var(--muted);margin-top:4px;font-size:11px;font-weight:400}.leer{text-align:center;color:var(--muted);padding:28px 12px;font-size:14px;line-height:1.5}.hinweis{color:var(--muted);font-size:13px;line-height:1.5}.card.hinweis[role=status]{border-color:var(--warn);color:#f7e4cd;background:#32271a;padding:12px 14px}.mt{margin-top:12px}.geraete-liste .zeile .name{font-size:17px}.geraete-liste .zeile .meta{font-size:13px}.geraete-liste .btn.klein{padding:10px 16px;font-size:15px}.stat-kacheln{gap:8px;margin-top:10px;display:flex}.stat-kachel{background:var(--card2);border:1px solid var(--card2);border-radius:var(--radius);flex:1;min-width:0;padding:10px 12px}.stat-kachel .label{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.stat-kachel .wert{font-family:var(--serif);font-variant-numeric:tabular-nums;margin:2px 0;font-size:20px;font-weight:600}.stat-kachel .sub{color:var(--muted);font-size:12px}.geraete-liste details{border-top:1px solid var(--line);margin-top:10px}.geraete-liste summary{cursor:pointer;color:var(--muted);align-items:center;padding:10px 0;font-size:14px;list-style:none;display:flex}.geraete-liste summary::-webkit-details-marker{display:none}.geraete-liste summary:after{content:"▾";margin-left:auto;transition:transform .15s}.geraete-liste details[open]>summary:after{transform:rotate(180deg)}.btn.relais-an{background:color-mix(in srgb, var(--ok) 16%, transparent);border-color:var(--ok);color:var(--ok);font-weight:600}.btn.relais-aus{background:color-mix(in srgb, var(--bad) 14%, transparent);border-color:var(--bad);color:var(--bad);font-weight:600}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
