:root{--obs:#0a0e14;--gph:#151b24;--amber:#f2a93b;--bone:#e8ecf1;--muted:#8a94a3;--green:#37b26c;--red:#e5484d;--line:#e8ecf114;--amber-dim:#f2a93b1f;--green-dim:#37b26c1f;--red-dim:#e5484d1f;--muted-dim:#8a94a31f;--radius:10px;--tap:44px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{max-width:100%;overflow-x:clip}body{background:var(--obs);color:var(--bone);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.5}#root{min-height:100dvh}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:650}p{margin:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}button:disabled{cursor:not-allowed}input{font:inherit}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.muted{color:var(--muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{min-height:var(--tap);border-radius:var(--radius);background:var(--amber);color:var(--obs);justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:650;transition:opacity .15s,transform 50ms;display:inline-flex}.btn:disabled{background:var(--gph);color:var(--muted)}.btn:not(:disabled):active{transform:translateY(1px)}.btn-secondary{color:var(--bone);border:1px solid var(--line);background:0 0}.btn-secondary:disabled{color:var(--muted);opacity:.5;background:0 0}.inline-error{border-radius:var(--radius);border:1px solid var(--red);background:var(--red-dim);color:var(--bone);align-items:flex-start;gap:8px;margin-top:12px;padding:12px;font-size:14px;display:flex}.status-panel{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:40px 16px;display:flex}.status-panel p{color:var(--muted)}.wp-root{background:var(--obs);flex-direction:column;min-height:100dvh;display:flex}.wp-loading{min-height:100dvh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.login-wrap{justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex}.login-card{border:1px solid var(--line);background:var(--gph);border-radius:14px;width:100%;max-width:380px;padding:28px 22px}.login-card h1{margin-bottom:6px;font-size:20px}.login-card .login-sub{color:var(--muted);margin-bottom:22px;font-size:14px}.field{margin-bottom:16px;display:block}.field-label{color:var(--bone);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.field-input{width:100%;min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius);background:var(--obs);color:var(--bone);padding:0 12px}.field-input::placeholder{color:var(--muted)}.field-input:focus{border-color:var(--amber);outline:none}.field-input[aria-invalid=true]{border-color:var(--red)}.login-card .btn{width:100%;margin-top:4px}.login-forgot{text-align:right;margin:10px 0 2px}.forgot-link{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;transition:color .2s}.forgot-link:hover{color:var(--amber)}.forgot-link:disabled{opacity:.6;cursor:default}.reset-msg{border:1px solid var(--amber-b);background:var(--amber-dim);color:var(--bone);border-radius:8px;margin-top:10px;padding:10px 12px;font-size:13px;line-height:1.5}.shell{flex-direction:column;flex:1;width:100%;max-width:720px;margin:0 auto;padding:0 16px 96px;display:flex}.pbar{z-index:5;background:var(--obs);padding:14px 0 12px;position:sticky;top:0}.pbar-track{background:var(--gph);border-radius:999px;height:4px;overflow:hidden}.pbar-fill{background:var(--amber);border-radius:999px;height:100%;transition:width .25s}.pbar-meta{color:var(--muted);justify-content:space-between;margin-top:8px;font-size:12px;display:flex}.shell-head{padding:18px 0 4px;position:relative}.shell-signout{border:1px solid var(--line);border-radius:var(--radius);min-height:32px;color:var(--muted);cursor:pointer;background:0 0;padding:0 12px;font-family:inherit;font-size:13px;line-height:1;position:absolute;top:14px;right:0}.shell-signout:hover{border-color:var(--amber);color:var(--amber)}.shell-signout:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.shell-title{padding-right:96px;font-size:24px;line-height:1.25}.shell-sub{color:var(--muted);margin-top:6px;font-size:14px}.shell-body{flex:1;padding:20px 0 0}.shell-actions{padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top, var(--obs) 72%, #0a0e1400);gap:10px;margin-top:24px;display:flex;position:sticky;bottom:0}.shell-actions .btn{flex:1}.help-btn{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;min-height:var(--tap);border:1px solid var(--line);background:var(--gph);color:var(--bone);border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex;position:fixed;box-shadow:0 6px 20px #00000080}.brand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width>=560px){.brand-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.brand-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--gph);min-height:76px;color:var(--bone);text-align:left;justify-content:space-between;align-items:center;gap:8px;padding:14px;font-weight:650;transition:border-color .15s,background .15s;display:flex}.brand-card[aria-pressed=true]{border-color:var(--amber);background:var(--amber-dim)}.brand-card .tick{color:var(--amber);font-weight:700}.chip{border:1px solid var(--line);background:var(--gph);color:var(--bone);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.step2-brand{margin-bottom:18px}.verdict{border:1px solid var(--line);border-radius:var(--radius);background:var(--gph);border-left-width:3px;align-items:flex-start;gap:10px;margin-top:14px;padding:12px;display:flex}.verdict-icon{flex:none;font-weight:700;line-height:1.4}.verdict-label{font-weight:650}.verdict-desc{color:var(--muted);margin-top:4px;font-size:13px}.verdict-green{border-left-color:var(--green)}.verdict-green .verdict-icon{color:var(--green)}.verdict-amber{border-left-color:var(--amber)}.verdict-amber .verdict-icon{color:var(--amber)}.verdict-red{border-left-color:var(--red)}.verdict-red .verdict-icon{color:var(--red)}.verdict-muted{border-left-color:var(--muted)}.verdict-muted .verdict-icon{color:var(--muted)}.blocked-note{border:1px solid var(--red);border-radius:var(--radius);background:var(--red-dim);margin-top:12px;padding:12px;font-size:14px}.step3-summary{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;display:flex}.tip{border:1px solid var(--amber);border-radius:var(--radius);background:var(--amber-dim);gap:8px;margin-top:12px;padding:12px;font-size:13.5px;display:flex}.pw-wrap{position:relative}.pw-wrap .field-input{padding-right:82px}.pw-toggle{min-height:36px;color:var(--muted);letter-spacing:.02em;text-transform:uppercase;border-radius:8px;padding:0 10px;font-size:12.5px;font-weight:650;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.rtsp-label{margin-top:22px;margin-bottom:8px;font-size:13px;font-weight:600}.rtsp-box{border:1px solid var(--line);border-radius:var(--radius);width:100%;color:var(--bone);overflow-wrap:anywhere;word-break:break-all;background:#06090d;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.5;display:block}.rtsp-note{color:var(--muted);margin-top:8px;font-size:12.5px}.aperture{border:3px solid var(--amber-dim);border-top-color:var(--amber);border-radius:999px;width:56px;height:56px;animation:.9s linear infinite aperture-spin}@keyframes aperture-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.aperture{border-top-color:var(--amber);animation:none}}.thumb{border:1px solid var(--line);border-radius:var(--radius);background:var(--gph);width:100%;max-width:100%;height:auto;display:block}.connected{color:var(--green);align-items:center;gap:8px;margin-top:14px;font-weight:650;display:flex}.step4-success{margin-top:4px}.verified{border:1px solid var(--green);border-radius:var(--radius);background:var(--green-dim);align-items:center;gap:12px;margin-top:16px;padding:14px;display:flex}.verified__tick{background:var(--green);width:28px;height:28px;color:var(--obs);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:16px;font-weight:800;display:inline-flex}.verified__title{color:var(--green);font-size:16px;font-weight:700}.verified__model{color:var(--bone);word-break:break-word;margin-top:2px;font-size:14px}.step4-error{margin-top:4px}.hint{color:var(--bone);margin-top:12px;font-size:14.5px}.fix{border:1px solid var(--line);border-radius:var(--radius);background:var(--gph);margin-top:14px;padding:12px;font-size:14px}.fix-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:700}.placeholder-link{border:1px dashed var(--muted);border-radius:var(--radius);color:var(--muted);margin-top:8px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-block}.step4-actions{gap:10px;margin-top:18px;display:flex}.step4-actions .btn{flex:1}.wa-cta{min-height:var(--tap);color:var(--amber);align-items:center;margin-top:16px;font-size:14px;font-weight:650;text-decoration:none;display:inline-flex}.zone-canvas-wrap{width:100%;margin:0 0 1rem;position:relative}.zone-canvas-img,.zone-canvas-placeholder{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:8px;width:100%;height:auto;display:block}.zone-canvas-placeholder{aspect-ratio:16/9;color:#ffffffb8;text-align:center;background:#2a2a2e;justify-content:center;align-items:center;padding:1rem;font-size:.9rem;line-height:1.4;display:flex}.zone-canvas{cursor:crosshair;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.zone-controls{gap:.5rem;margin-bottom:1rem;display:flex}.zone-hint{color:#ffffffa8;margin:.5rem 0;font-size:.9rem}.zone-error{color:#ff8a8a;margin:.5rem 0;font-size:.9rem}.zone-form{background:#ffffff08;border:1px solid #ffffff1f;border-radius:8px;flex-direction:column;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.zone-field{flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.zone-field input{color:inherit;font:inherit;background:#00000040;border:1px solid #ffffff2e;border-radius:6px;padding:.5rem .6rem}.zone-fieldset{border:none;flex-direction:column;gap:.4rem;margin:0;padding:0;display:flex}.zone-fieldset legend{margin-bottom:.35rem;font-size:.9rem}.zone-check{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.zone-list{flex-direction:column;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.zone-list__item{background:#ffffff0a;border-radius:6px;align-items:center;gap:.6rem;padding:.5rem .65rem;display:flex}.zone-list__name{flex:1}.zone-swatch{border-radius:3px;flex:none;width:14px;height:14px;display:inline-block}.zone-cards{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.zone-card{background:#ffffff08;border:1px solid #ffffff1f;border-radius:8px;flex-direction:column;gap:.9rem;padding:1rem;display:flex}.zone-card__head{align-items:center;gap:.5rem;display:flex}.zone-card__title{margin:0;font-size:1.05rem}.zone-card__row{flex-direction:column;gap:.4rem;display:flex}.zone-card__label{font-size:.9rem}.zone-card__desc{color:#ffffff9e;margin:0;font-size:.82rem}.day-toggles,.sensitivity-toggles{flex-wrap:wrap;gap:.35rem;display:flex}.day-toggle,.sens-toggle{min-width:44px;color:inherit;font:inherit;cursor:pointer;background:#00000040;border:1px solid #ffffff2e;border-radius:6px;padding:.45rem .6rem}.day-toggle--on,.sens-toggle--on{color:#1a1a1a;background:#f2a93b;border-color:#f2a93b;font-weight:600}.day-toggle:disabled{opacity:.45;cursor:not-allowed}.btn--sm{padding:.35rem .6rem;font-size:.82rem}.btn--danger{color:#fff;background:#e5484d;border-color:#e5484d}.contacts-form{flex-direction:column;gap:1.25rem;margin-bottom:1rem;display:flex}.field-required{color:#f2a93b}.field-hint{color:#fff9;font-size:.82rem;line-height:1.4}.field-hint--amber{color:#f2a93b}.link-button{font:inherit;color:#00f2ff;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link-button:hover{color:#7ff8ff}.wizard-step--complete{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;padding-top:1rem;display:flex}.complete-mark{will-change:transform;animation:3s ease-in-out infinite se-aperture-pulse}@keyframes se-aperture-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.complete-mark{animation:none}}.complete-heading{color:var(--bone,#f5f3ef);margin:0;font-family:Sora,system-ui,sans-serif;font-size:clamp(24px,4vw,36px);font-weight:800;line-height:1.15}.complete-card{text-align:left;background:#0a0a0a;border-left:3px solid #f2a93b;border-radius:12px;width:100%;padding:20px}.complete-card__rows{flex-direction:column;gap:.75rem;margin:0;display:flex}.complete-card__row{flex-direction:column;gap:.2rem;display:flex}.complete-card__row dt{text-transform:uppercase;letter-spacing:.04em;color:#ffffff8c;font-size:.78rem}.complete-card__row dd{color:var(--bone,#f5f3ef);word-break:break-word;margin:0;font-size:.95rem}.complete-actions{flex-direction:column;gap:.75rem;width:100%;display:flex}.btn--block{text-align:center;width:100%;margin-top:12px;display:block}.btn--ghost{color:inherit;cursor:pointer;background:0 0;border:1px solid #e8ecf133;border-radius:6px;padding:.75rem 1rem;text-decoration:none}.btn--ghost:not(:disabled){color:#e8ecf1}.btn--ghost:hover{background:#e8ecf10f}.complete-note{color:#ffffff8c;margin:0;font-size:.82rem;line-height:1.5}.thumb--empty{aspect-ratio:16/9;color:#ffffffb8;text-align:center;background:#2a2a2e;border-radius:8px;justify-content:center;align-items:center;padding:1rem;font-size:.9rem;display:flex}.complete-testfire{background:var(--gph,#151b24);width:100%;color:var(--bone,#e8ecf1);text-align:left;border:1px solid #e8ecf117;border-radius:8px;margin-top:24px;padding:16px}.complete-testfire__title{color:var(--bone,#e8ecf1);margin:0 0 8px;font-family:Sora,system-ui,sans-serif;font-size:16px;font-weight:700}.complete-testfire__copy{color:var(--muted,#8a94a3);margin:0 0 16px;font-size:14px;line-height:1.55}.complete-testfire__status{color:var(--muted,#8a94a3);text-align:center;margin:0;padding:24px 0;font-size:14px;font-style:italic}.complete-testfire__check{cursor:pointer;align-items:flex-start;gap:10px;margin-bottom:12px;font-size:14px;display:flex}.complete-testfire__check input[type=checkbox]{accent-color:#f2a93b;flex-shrink:0;width:16px;height:16px;margin-top:2px}.complete-testfire__stub{color:var(--muted,#8a94a3);background:#f2a93b14;border-left:2px solid #f2a93b;margin:0 0 16px;padding:8px 12px;font-size:12px;font-style:italic}.complete-testfire__error{color:var(--red,#e5484d);margin:0 0 16px;font-size:14px}.complete-testfire__hint{color:var(--muted,#8a94a3);text-align:center;margin:8px 0 0;font-size:12px}.complete-badge{color:#f2a93b;background:#f2a93b1f;border:1px solid #f2a93b66;border-radius:6px;margin-top:8px;padding:8px 16px;font-family:Sora,system-ui,sans-serif;font-size:15px;font-weight:700;display:inline-block}.error-boundary{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;max-width:420px;min-height:60vh;margin:0 auto;padding:48px 24px;display:flex}.error-boundary__title{color:#f4f6fa;margin:0;font-size:1.5rem}.error-boundary__msg{color:#9aa4b2;margin:0;line-height:1.5}.error-boundary__actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.hub-card{border-radius:var(--radius);border:1px solid var(--line);background:var(--gph);color:var(--bone);flex-direction:column;gap:14px;padding:20px;display:flex}.hub-card__head{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.hub-card__title{letter-spacing:-.01em;margin:0;font-family:Sora,system-ui,sans-serif;font-size:16px;font-weight:600}.hub-card__body{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.hub-card__loading{color:var(--muted);margin:0;font-size:14px}.hub-card--loading{justify-content:center;align-items:center;min-height:120px}.hub-badge{letter-spacing:.01em;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.hub-badge:before{content:"";background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.hub-badge--pending{background:var(--amber-dim);color:var(--amber)}.hub-badge--active{background:var(--green-dim);color:var(--green)}.hub-badge--offline{background:var(--amber-dim);color:var(--amber)}.hub-pair{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.hub-pair__code-wrap{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.hub-pair__code{letter-spacing:.18em;color:var(--bone);white-space:nowrap;-webkit-user-select:all;user-select:all;align-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:32px;font-weight:700;display:inline-flex}.hub-pair__code-gap{width:.5em;display:inline-block}.hub-pair__code>span:not(.hub-pair__code-gap){margin-right:-.18em}.hub-pair__copy{min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;padding:0 14px;font-family:inherit;font-size:13px}.hub-pair__copy:hover{border-color:var(--amber);color:var(--amber)}.hub-qr{border-radius:var(--radius);background:#fff;flex:none;padding:12px;display:block}.hub-card__btn{min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--line);color:var(--bone);cursor:pointer;background:0 0;justify-content:center;align-self:flex-start;align-items:center;padding:0 18px;font-family:inherit;font-size:14px;text-decoration:none;display:inline-flex}.hub-card__btn:hover{border-color:var(--amber);color:var(--amber)}.hub-card__btn--primary{border-color:var(--amber);color:var(--amber);background:var(--amber-dim)}.hub-card__btn--primary:hover{background:var(--amber);color:var(--obs)}.hub-card__note{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.hub-card__note--polling{align-items:center;gap:8px;display:inline-flex}.hub-card__note--installer-pending{color:var(--muted);align-items:flex-start;gap:8px;display:inline-flex}.hub-card__note--installer-pending a{color:var(--amber);text-decoration:underline}.hub-dot{background:var(--amber);border-radius:50%;flex:none;width:8px;height:8px;animation:1.8s ease-in-out infinite hub-pulse}@keyframes hub-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.hub-dot{animation:none}}.hub-facts{flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.hub-facts__row{flex-wrap:wrap;align-items:baseline;gap:8px 12px;display:flex}.hub-facts dt{min-width:130px;color:var(--muted);flex:none;font-size:13px}.hub-facts dd{color:var(--bone);margin:0;font-size:14px}.hub-facts__mono{letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.hub-card--error{border-color:var(--red);background:var(--red-dim)}.hub-card--active{border-color:var(--green)}.hub-card--empty{border-style:dashed}@media (width<=520px){.hub-pair__code{font-size:26px}.hub-facts dt{min-width:0}}.wa-trigger{right:16px;bottom:calc(16px + var(--tap) + 10px + env(safe-area-inset-bottom,0px));z-index:41;min-height:var(--tap);border:1px solid var(--amber);background:var(--amber-dim);color:var(--amber);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex;position:fixed;box-shadow:0 6px 20px #00000080}.wa-trigger:hover{background:var(--amber);color:var(--obs)}.wa-trigger__label{display:inline}@media (width<=400px){.wa-trigger__label{display:none}.wa-trigger{padding:0 12px}}.wa-panel{right:16px;bottom:calc(16px + var(--tap) * 2 + 24px + env(safe-area-inset-bottom,0px));z-index:42;border:1px solid var(--line);border-radius:var(--radius);background:var(--obs);width:min(380px,100vw - 32px);max-height:min(70vh,560px);color:var(--bone);flex-direction:column;display:flex;position:fixed;overflow:hidden;box-shadow:0 18px 50px #000000a6}.wa-panel__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:10px;padding:14px 14px 10px;display:flex}.wa-panel__title{color:var(--bone);margin:0;font-size:15px;font-weight:600}.wa-panel__step{color:var(--muted);margin:2px 0 0;font-size:12px}.wa-panel__close{width:var(--tap);height:var(--tap);min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);cursor:pointer;background:0 0;flex:none;font-size:18px;line-height:1}.wa-panel__close:hover{border-color:var(--amber);color:var(--amber)}.wa-panel__body{flex-direction:column;flex:auto;gap:10px;padding:14px;display:flex;overflow-y:auto}.wa-msg{border-radius:var(--radius);margin:0;padding:10px 12px;font-size:13px;line-height:1.55}.wa-msg p{margin:0}.wa-msg--ai{background:var(--muted-dim);border:1px solid var(--line)}.wa-msg--prompt{background:var(--amber-dim);border-color:#f2a93b59}.wa-msg--user{background:var(--amber);max-width:88%;color:var(--obs);align-self:flex-end;font-weight:500}.wa-stub-badge{border:1px solid var(--line);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;background:#0a0e1480;border-radius:4px;margin-bottom:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.wa-thinking{color:var(--muted);margin:0;padding:4px 2px;font-size:12px;font-style:italic}.wa-chips{flex-wrap:wrap;gap:6px;margin-bottom:2px;display:flex}.wa-chip{border:1px solid var(--line);min-height:30px;color:var(--muted);text-align:left;cursor:pointer;background:#e8ecf10a;border-radius:999px;padding:4px 10px;font-family:inherit;font-size:12px;line-height:1.3}.wa-chip:hover{border-color:var(--amber);color:var(--bone)}.wa-chip:focus-visible{outline:2px solid var(--amber);outline-offset:1px}.wa-panel__form{border-top:1px solid var(--line);flex-direction:column;flex:none;gap:8px;padding:12px 14px 14px;display:flex}.wa-panel__label{color:var(--muted);font-size:11px}.wa-panel__input-row{gap:8px;display:flex}.wa-panel__input{min-width:0;min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius);color:var(--bone);background:#e8ecf10a;flex:auto;padding:0 12px;font-family:inherit;font-size:13px}.wa-panel__input:focus{outline:2px solid var(--amber);outline-offset:1px}.wa-panel__send{min-height:var(--tap);border:1px solid var(--amber);border-radius:var(--radius);background:var(--amber);color:var(--obs);cursor:pointer;flex:none;padding:0 14px;font-family:inherit;font-size:13px;font-weight:600}.wa-panel__send:disabled{opacity:.45;cursor:not-allowed}.wa-panel__dismiss{min-height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-family:inherit;font-size:11px;text-decoration:underline}.wa-panel__dismiss:hover{color:var(--bone)}@media (prefers-reduced-motion:reduce){.wa-trigger,.wa-panel{transition:none}}.op-dash{background:var(--obs);min-height:100vh;color:var(--bone);padding:24px 16px 64px}.op-dash__inner{max-width:1280px;margin:0 auto}.op-dash__header{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-bottom:24px;padding-bottom:16px;display:flex}.op-dash__title{letter-spacing:-.01em;margin:0;font-family:Sora,system-ui,sans-serif;font-size:20px;font-weight:600}.op-dash__subtitle{color:var(--muted);margin:0;font-size:13px}.op-dash__refresh{min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--line);background:var(--gph);color:var(--bone);cursor:pointer;margin-left:auto;padding:0 18px;font-family:inherit;font-size:13px}.op-dash__refresh:hover:not(:disabled){border-color:var(--amber);color:var(--amber)}.op-dash__refresh:disabled{opacity:.5;cursor:default}.op-dash__signout{border:1px solid var(--line);border-radius:var(--radius);min-height:34px;color:var(--muted);cursor:pointer;background:0 0;padding:0 14px;font-family:inherit;font-size:13px}.op-dash__signout:hover{border-color:var(--amber);color:var(--amber)}.op-dash__signout:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.op-dash__grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=900px){.op-dash__grid{grid-template-columns:1fr 1fr}.op-dash__cell--full{grid-column:1/-1}}.op-state{border:1px solid var(--line);border-radius:var(--radius);background:var(--gph);text-align:center;padding:32px 24px}.op-state--error{border-color:var(--red);background:var(--red-dim)}.op-state__title{margin:0 0 8px;font-family:Sora,system-ui,sans-serif;font-size:16px}.op-state__body{color:var(--muted);word-break:break-word;margin:0 0 16px;font-size:14px}.op-state__retry{min-height:var(--tap);border-radius:var(--radius);background:var(--amber);color:var(--obs);cursor:pointer;border:none;padding:0 20px;font-family:inherit;font-size:14px;font-weight:600}.op-skeleton{border:1px solid var(--line);border-radius:var(--radius);background:var(--gph);min-height:120px;animation:1.4s ease-in-out infinite op-pulse}@keyframes op-pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.op-skeleton{animation:none}}.op-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--gph);padding:18px 20px 20px}.op-card__head{flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-bottom:14px;display:flex}.op-card__title{margin:0;font-family:Sora,system-ui,sans-serif;font-size:15px;font-weight:600}.op-card__count{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.op-card__empty{color:var(--muted);margin:8px 0 0;font-size:14px;font-style:italic}.op-billing__mrr-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 2px;font-size:12px}.op-billing__mrr{color:var(--amber);margin:0;font-family:Sora,system-ui,sans-serif;font-size:38px;font-weight:700;line-height:1.1}.op-billing__mrr-unit{color:var(--muted);margin-left:6px;font-size:15px;font-weight:500}.op-billing__founding{margin:14px 0 0;font-size:14px}.op-billing__founding-num{color:var(--bone);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.op-billing__over{color:var(--red);font-weight:600}.op-billing__chips{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.op-chip{border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:baseline;gap:6px;padding:6px 12px;font-size:12px;display:inline-flex}.op-chip__value{color:var(--bone);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px}.op-chip--active{border-color:var(--green);background:var(--green-dim)}.op-chip--active .op-chip__value{color:var(--green)}.op-chip--pending{border-color:var(--amber);background:var(--amber-dim)}.op-chip--pending .op-chip__value{color:var(--amber)}.op-chip--inactive{border-color:var(--muted-dim);background:var(--muted-dim)}.op-billing__note{border-top:1px solid var(--line);color:var(--muted);margin:16px 0 0;padding-top:12px;font-size:12px;font-style:italic}.op-filter{width:100%;min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius);background:var(--obs);color:var(--bone);margin-bottom:12px;padding:0 12px;font-family:inherit;font-size:14px}.op-filter:focus{outline:2px solid var(--amber);outline-offset:1px}.op-filter::placeholder{color:var(--muted)}.op-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.op-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:13px}.op-table th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-bottom:1px solid var(--line);padding:6px 10px 8px 0;font-size:11px;font-weight:600}.op-table td{border-bottom:1px solid var(--line);color:var(--bone);vertical-align:middle;padding:9px 10px 9px 0}.op-table tr:last-child td{border-bottom:none}.op-table__mono{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.op-table__name{font-weight:500}.op-cap{color:var(--muted);margin:10px 0 0;font-size:12px}.op-badge{border:1px solid var(--line);text-transform:lowercase;color:var(--muted);background:var(--muted-dim);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:11px;display:inline-flex}.op-badge--on{border-color:var(--green);background:var(--green-dim);color:var(--green)}.op-badge--pending{border-color:var(--amber);background:var(--amber-dim);color:var(--amber)}.op-badge--error{border-color:var(--red);background:var(--red-dim);color:var(--red)}.op-badge--billing{border-style:dashed}.op-dot{background:var(--muted);border-radius:50%;flex:none;width:7px;height:7px}.op-dot--on{background:var(--green)}.op-dot--pending{background:var(--amber)}.op-dot--error{background:var(--red)}.op-cert{color:var(--amber);font-size:13px;font-weight:700}.op-feed{margin:0;padding:0;list-style:none}.op-feed__item{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:11px 0;display:flex}.op-feed__item:last-child{border-bottom:none}.op-feed__type{color:var(--bone);font-family:Sora,system-ui,sans-serif;font-size:13px;font-weight:600}.op-feed__meta{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.op-feed__time{color:var(--muted);margin-left:auto;font-size:12px}.op-select{min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius);background:var(--obs);color:var(--bone);margin-bottom:12px;padding:0 12px;font-family:inherit;font-size:14px}.op-select:focus{outline:2px solid var(--amber);outline-offset:1px}.op-badge--muted{border-color:var(--line);background:var(--muted-dim);color:var(--muted)}.op-channels{color:var(--muted);font-size:.85rem}.op-table__note{color:var(--muted);padding-top:10px;font-size:.8rem;font-style:italic}.dash{background:var(--obs);min-height:100vh;color:var(--bone);padding:24px 16px 64px}.dash__inner{max-width:1080px;margin:0 auto}.dash__header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:20px;padding-bottom:16px;display:flex}.dash__brand{align-items:center;gap:10px;display:flex}.dash__mark{background:var(--amber);width:12px;height:12px;box-shadow:0 0 0 3px var(--amber-dim);border-radius:3px;flex:none}.dash__wordmark{letter-spacing:-.01em;margin:0;font-family:Sora,system-ui,sans-serif;font-size:20px;font-weight:600}.dash__who{align-items:center;gap:14px;display:flex}.dash__email{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.dash__signout{border:1px solid var(--line);border-radius:var(--radius);min-height:34px;color:var(--bone);cursor:pointer;background:0 0;padding:0 14px;font-size:13px}.dash__signout:hover{border-color:var(--amber);color:var(--amber)}.dash__strip{border:1px solid var(--line);border-radius:var(--radius);background:var(--line);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin-bottom:20px;display:grid;overflow:hidden}.dash__stat{background:var(--gph);flex-direction:column;gap:6px;padding:14px 16px;display:flex}.dash__stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.dash__stat-value{font-size:14px;font-weight:500}.dash__mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.dash__grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;display:grid}.dash__card{border:1px solid var(--line);border-radius:var(--radius);background:var(--gph);padding:18px 20px 20px}.dash__card-head{align-items:baseline;gap:10px;margin-bottom:14px;display:flex}.dash__card-title{margin:0;font-family:Sora,system-ui,sans-serif;font-size:15px;font-weight:600}.dash__card-count{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.dash__skeleton{border:1px solid var(--line);border-radius:var(--radius);background:var(--obs);min-height:120px;animation:1.4s ease-in-out infinite dash-pulse}@keyframes dash-pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.dash__skeleton{animation:none}}.dash__empty{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.dash__error{color:var(--red);margin:0;font-size:13px;line-height:1.5}.dash__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dash__cam,.dash__inc{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;font-size:14px;display:flex}.dash__cam:last-child,.dash__inc:last-child{border-bottom:none;padding-bottom:0}.dash__cam-name{font-weight:500}.dash__cam-meta{color:var(--muted);font-size:12px}.dash__cam-time,.dash__inc-time{color:var(--muted);white-space:nowrap;margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.dash__inc-cam{color:var(--bone)}.dash__inc-type{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.dash__badge{border:1px solid var(--line);text-transform:lowercase;color:var(--muted);background:var(--muted-dim);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:11px;display:inline-flex}.dash__badge--on{border-color:var(--green);background:var(--green-dim);color:var(--green)}.dash__badge--pending{border-color:var(--amber);background:var(--amber-dim);color:var(--amber)}.dash__badge--error,.dash__badge--off{border-color:var(--red);background:var(--red-dim);color:var(--red)}.dash__badge--stub{border-style:dashed;border-color:var(--amber);color:var(--amber);background:0 0}.dash__dot{background:var(--muted);border-radius:50%;flex:none;width:7px;height:7px}.dash__dot--on{background:var(--green)}.dash__dot--pending{background:var(--amber)}.dash__dot--error{background:var(--red)}.dash__actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.dash__fire{min-height:var(--tap);border-radius:var(--radius);background:var(--amber);color:var(--obs);cursor:pointer;border:none;padding:0 20px;font-size:14px;font-weight:600}.dash__fire:hover:not(:disabled){filter:brightness(1.08)}.dash__fire:disabled{opacity:.45;cursor:not-allowed}.dash__hint{color:var(--muted);font-size:13px}.dash__notice{color:var(--green);font-size:13px}.dash__notice--error{color:var(--red)}.dash__foot{color:var(--muted);margin:24px 0 0;font-size:12px;line-height:1.5}.dash__tiles{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:16px;display:grid}.dash__tile{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, #ffffff09 0%, #fff0 62%), var(--gph);flex-direction:column;gap:6px;padding:18px 20px 16px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,0 1px 2px #00000059}.dash__tile:before{content:"";background:linear-gradient(90deg, var(--amber) 0%, transparent 70%);opacity:.7;height:2px;position:absolute;inset:0 0 auto}.dash__tile-label{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:500}.dash__tile-value{letter-spacing:-.02em;color:var(--amber);align-items:center;gap:8px;font-family:Sora,system-ui,sans-serif;font-size:30px;font-weight:700;line-height:1.05;display:flex}.dash__tile-of{color:var(--muted);font-size:15px;font-weight:500}.dash__tile-value--status{letter-spacing:-.01em;color:var(--bone);font-size:19px;font-weight:600}.dash__tile-foot{color:var(--muted);font-size:12px}.dash__dot--off{background:var(--red)}.dash__camlist{gap:12px;margin:0;padding:0;list-style:none;display:grid}.dash__camcard{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, #ffffff08 0%, #fff0 70%), var(--obs);flex-direction:column;gap:12px;padding:14px 16px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:inset 0 1px #ffffff0a}.dash__camcard:hover{border-color:#f2a93b59;box-shadow:inset 0 1px #ffffff0f,0 0 0 1px #f2a93b14}.dash__camcard--busy{opacity:.72;pointer-events:none}.dash__camcard-top{align-items:flex-start;gap:10px;display:flex}.dash__camcard-top .dash__dot{margin-top:6px}.dash__camcard-id{flex:auto;min-width:0}.dash__camcard-name-row{align-items:center;gap:6px;display:flex}.dash__camcard-name{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-family:Sora,system-ui,sans-serif;font-size:17px;font-weight:600;line-height:1.25;overflow:hidden}.dash__camcard-model{color:var(--muted);margin-top:3px;font-size:12px;display:block}.dash__camcard-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-top:10px;display:flex}.dash__camcard-meta{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px}.dash__camcard-actions{align-items:center;gap:6px;display:flex}.dash__icon-btn{border:1px solid var(--line);width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border-radius:7px;flex:none;justify-content:center;align-items:center;font-size:13px;line-height:1;display:inline-flex}.dash__icon-btn:hover:not(:disabled){border-color:var(--amber);color:var(--amber)}.dash__icon-btn:disabled{opacity:.4;cursor:not-allowed}.dash__rename-input{border:1px solid var(--amber);background:var(--obs);width:100%;min-height:34px;color:var(--bone);border-radius:7px;outline:none;padding:0 10px;font-family:Sora,system-ui,sans-serif;font-size:16px;font-weight:600}.dash__rename-input:focus{box-shadow:0 0 0 3px var(--amber-dim)}.dash__danger{border:1px solid var(--line);min-height:30px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:0 12px;font-size:12px;font-weight:500;transition:color .12s,border-color .12s,background .12s}.dash__danger:hover:not(:disabled){border-color:var(--red);color:var(--red)}.dash__danger--armed{border-color:var(--red);background:var(--red-dim);color:var(--red);font-weight:600}.dash__danger:disabled{opacity:.45;cursor:not-allowed}.dash__card-notice{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.dash__card-notice--error{color:var(--red)}.dash__inc-icon{text-align:center;flex:none;width:22px;font-size:14px;line-height:1}.dash__inc-body{flex-direction:column;gap:2px;min-width:0;display:flex}.dash__inc-type{color:var(--bone);font-size:13.5px;font-weight:600}.dash__inc-cam{color:var(--muted);font-size:12px}.dash__inc{align-items:flex-start}.dash__inc-time{align-self:center}
