:root{font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171a1b;--text:#edf0ee;--muted:#a1aaa5;--line:#343b38;--hover:#29312d;--focus:#95bca5;--accent:#92c4a5;--camera:#101213;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.4}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}[hidden]{display:none!important}button:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.monitor{grid-template-rows:minmax(0,1fr) min(45dvh,56.25vw);height:100dvh;display:grid;overflow:hidden}body:has(.monitor){overscroll-behavior:none;height:100dvh;overflow:hidden}.well{background:var(--bg);min-height:0;padding-top:env(safe-area-inset-top);border-bottom:0;position:relative}.well-label{top:max(16px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));align-items:center;gap:8px;font-size:16px;font-weight:400;display:flex;position:absolute}.freshness-dot{background:0 0;border-radius:100%;width:6px;height:6px}.well[data-freshness=live] .freshness-dot{background:#3d815b}.well[data-freshness=stale] .freshness-dot{background:#b98b36}.well[data-freshness=offline] .freshness-dot,.well[data-freshness=invalid] .freshness-dot{background:#a46a62}.menu-button{right:max(12px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top));width:40px;height:36px;color:var(--text);background:0 0;border:0;border-radius:5px;padding:6px;position:absolute}.menu-button svg{fill:currentColor;width:28px;height:16px}.menu-button:hover{background:0 0}.reading{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:48px 16px 12px}.current{letter-spacing:-1.5px;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(48px,10vw,76px);font-weight:600;line-height:1.1}.pump-state{color:var(--muted);margin-top:9px;font-size:16px;font-weight:400}.run-timer{font-variant-numeric:tabular-nums;color:var(--text);margin-top:7px;font-size:18px}.camera{background:var(--bg);min-height:0;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:relative;overflow:hidden}.camera video{object-fit:contain;background:var(--bg);width:100%;height:100%;position:absolute;inset:0}.camera-unavailable{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:16px;font-weight:400;display:flex;position:absolute;inset:0}.camera-unavailable svg{stroke:currentColor;stroke-width:2.4px;fill:none;stroke-linejoin:round;width:42px;height:37px}.camera-unavailable button{border:1px solid var(--line);color:var(--text);background:0 0;border-radius:6px;padding:8px 14px}.options{right:max(12px,env(safe-area-inset-right));top:max(49px,calc(env(safe-area-inset-top) + 38px));background:var(--bg);border:1px solid var(--line);z-index:5;border-radius:9px;width:250px;max-width:calc(100% - 24px);padding:4px 0;position:absolute;overflow:hidden;box-shadow:0 8px 25px #0002}.options button{text-align:left;background:var(--bg);width:100%;min-height:44px;color:var(--text);border:0;justify-content:space-between;align-items:center;gap:12px;padding:11px 15px;font-size:14px;line-height:1.3;display:flex}.options button:hover{background:var(--hover)}.options button+button{border-top:1px solid var(--line)}.options small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.access-page{justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.access-card{width:100%;max-width:430px}.access-card h1{margin:0 0 18px;font-size:26px;font-weight:600;line-height:1.2}.access-card p{color:var(--muted);font-size:14px}.access-card form{flex-direction:column;gap:10px;display:flex}.access-card label{margin-top:8px;font-size:15px;font-weight:600}.access-card input:not([type=checkbox]){border:1px solid var(--line);width:100%;min-height:46px;color:var(--text);background:var(--bg);border-radius:7px;padding:12px;font-size:16px}.access-card button{background:var(--accent);color:var(--bg);border:0;border-radius:7px;min-height:46px;margin-top:10px;padding:11px 16px;font-size:15px;font-weight:600}.access-card .consent{align-items:flex-start;gap:10px;margin-top:14px;font-size:13px;font-weight:400;line-height:1.5;display:flex}.consent input{accent-color:var(--accent);margin-top:4px}.access-card a{color:var(--accent);font-size:14px}.setup-note{border-top:1px solid var(--line);margin:24px 0;padding-top:12px}#access-state{min-height:1.4em;color:var(--muted);margin:8px 0}@media (height<=500px){.reading{inset:42px 12px 10px}.current{font-size:42px}.pump-state{margin-top:4px;font-size:14px}.run-timer{margin-top:3px;font-size:15px}.well-label{font-size:14px;top:10px}.menu-button{top:4px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.app-title{right:62px;top:max(16px,env(safe-area-inset-top));color:var(--text);margin:0;font-size:16px;font-weight:500;line-height:1.4;position:absolute}.panel-back{background:var(--hover);color:var(--muted);border:0;padding:6px 10px;font-size:13px}.pump-history{overscroll-behavior:contain;scrollbar-width:thin;font-size:13px;position:absolute;inset:52px 18px 12px;overflow-y:auto}.pump-history p{color:var(--muted);margin:12px 0}.pump-history ol{margin:0;padding:0;list-style:none}.pump-history li{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;column-gap:12px;padding:10px 0;display:grid}.pump-history li>div:nth-child(2){color:var(--muted);grid-column:1;margin-top:3px}.history-duration{font-variant-numeric:tabular-nums;color:var(--muted);grid-area:1/2/3;align-self:center}.load-note{color:var(--muted);text-align:center;max-width:570px;margin:7px auto 0;font-size:11px;line-height:1.35}.owner-only{display:none}body[data-role=owner][data-view=detailed] .owner-only{display:block}body[data-view=household] .pump-state{letter-spacing:0;white-space:nowrap;color:var(--text);margin:0;font-size:clamp(32px,10vw,76px);font-weight:600;line-height:1.1}body[data-view=household] .current{color:var(--muted);margin-top:9px;font-size:24px;font-weight:400}body[data-view=household] .run-timer{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;inline-size:8ch;font-size:24px}.access-card select{font:inherit;border:1px solid var(--line);background:var(--bg);min-height:44px;color:var(--text);border-radius:7px;padding:10px}.sensor-details button{background:var(--hover);color:var(--muted);font:inherit;border:0;padding:6px 10px}.sensor-details dl{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;display:grid}.sensor-details dt{color:var(--muted);font-size:11px}.sensor-details dd{overflow-wrap:anywhere;margin:3px 0;font-size:13px}.history-provenance{color:var(--muted);grid-column:1/-1;margin-top:5px;font-size:11px}@media (height<=500px){.load-note{margin-top:3px;font-size:10px}.owner-only.current{font-size:36px}.app-title{font-size:14px;top:10px}}.well[data-freshness=estimated] .freshness-dot{background:#3d815b}.monitor{padding-bottom:clamp(24px,8dvh,80px)}.current{text-align:center;letter-spacing:0;font-variant-numeric:tabular-nums;inline-size:7ch;max-inline-size:100%}.camera{margin-left:max(12px,env(safe-area-inset-left));margin-right:max(12px,env(safe-area-inset-right))}@media (height<=500px){.monitor{padding-bottom:12px}}.well[data-runtime=idle] .pump-state{color:var(--text)}.well[data-runtime=green] .pump-state,.well[data-runtime=green] .run-timer{color:#92c4a5}.well[data-runtime=yellow] .pump-state,.well[data-runtime=yellow] .run-timer{color:#e2bd60}.well[data-runtime=red] .pump-state,.well[data-runtime=red] .run-timer{color:#f18a80}.run-timer{position:relative}.run-warning{white-space:nowrap;font-size:14px;font-weight:600;line-height:1.6;position:absolute;top:100%;left:50%;transform:translate(-50%)}.history-toggle{right:calc(max(12px,env(safe-area-inset-right)) - 2px);top:calc(max(10px,env(safe-area-inset-top)) + 36px);width:44px;height:44px;color:var(--text);z-index:3;background:0 0;border:0;border-radius:5px;padding:10px;position:absolute}.history-toggle:hover{background:0 0}.history-toggle svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px;display:block}.history-face,.history-hand{transform-origin:12px 12px;transition:transform .24s,opacity .18s}.history-hand-hour{transform:translateY(-3px)scaleY(.5)}.history-hand-minute{transform:translate(2.5px)scaleX(.416667)}.history-toggle[aria-expanded=true] .history-face{opacity:0;transform:scale(.65)}.history-toggle[aria-expanded=true] .history-hand{transform:rotate(45deg)}.pump-history:not(.sensor-details){inset-block-start:calc(max(10px,env(safe-area-inset-top)) + 82px)}@media (height<=500px){.history-toggle{top:40px}.pump-history:not(.sensor-details){inset-block-start:86px}}@media (prefers-reduced-motion:reduce){.history-face,.history-hand{transition:none}}.menu-button,.history-toggle{appearance:none;-webkit-tap-highlight-color:transparent;box-shadow:none}.menu-button:hover,.menu-button:active,.menu-button:focus,.menu-button[aria-expanded=true],.history-toggle:hover,.history-toggle:active,.history-toggle:focus,.history-toggle[aria-expanded=true]{box-shadow:none;background:0 0}.menu-dots,.menu-cross{transform-origin:16px 8px;transition:transform .24s,opacity .18s}.menu-cross{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;opacity:0;transform:rotate(-45deg)scale(.45)}.menu-button[aria-expanded=true] .menu-dots{opacity:0;transform:scale(.2)}.menu-button[aria-expanded=true] .menu-cross{opacity:1;transform:rotate(0)scale(1)}@media (prefers-reduced-motion:reduce){.menu-dots,.menu-cross{transition:none}}
