:root{--pora-font:"Rubik", sans-serif;--pora-brand-ink:#23211e;--pora-brand-paper:#f6f3ee;--pora-brand-sun:#f2c230;--pora-action:var(--pora-brand-sun);--pora-action-ink:var(--pora-brand-ink);--pora-focus:var(--pora-brand-sun);--pora-focus-inner:var(--pora-brand-ink);--pora-adult-avatar:#d9d4cb;--pora-adult-glyph:#4a463f;--pora-neutral-bg:#f6f3ee;--pora-neutral-surface:#fff;--pora-neutral-deep:#23211e;--pora-neutral-muted:#6a655d;--pora-neutral-bg-eve:#3a3733;--pora-neutral-surface-eve:#4c4843;--pora-neutral-text-eve:#f3f0ea;--pora-neutral-muted-eve:#cfc9bf;--pora-dino-accent:#8dc25a;--pora-dino-track-edge:#73a24b;--pora-dino-track-edge-eve:#a6cf7f;--pora-dino-bg:#e6f0d8;--pora-dino-hill1:#d9e9c5;--pora-dino-hill2:#ddebcb;--pora-dino-surface:#fff;--pora-dino-deep:#24401f;--pora-dino-muted:#4a6843;--pora-dino-action:#24401f;--pora-dino-bg-eve:#33452f;--pora-dino-hill1-eve:#3a4e35;--pora-dino-hill2-eve:#3d5238;--pora-dino-surface-eve:#465b41;--pora-dino-text-eve:#f2f5ec;--pora-dino-muted-eve:#c9d6bf;--pora-dino-action-eve:#f2f5ec;--pora-cars-accent:#f2c230;--pora-cars-track:#5a8fd6;--pora-cars-track-edge:#4b7bbd;--pora-cars-track-edge-eve:#78a3dd;--pora-cars-bg:#e1ecf7;--pora-cars-hill1:#d3e3f3;--pora-cars-hill2:#d8e7f5;--pora-cars-surface:#fff;--pora-cars-deep:#1f3f73;--pora-cars-muted:#46618c;--pora-cars-action:#1f4f99;--pora-cars-bg-eve:#2c3a4e;--pora-cars-hill1-eve:#33435a;--pora-cars-hill2-eve:#36475e;--pora-cars-surface-eve:#3f5068;--pora-cars-text-eve:#eef3fa;--pora-cars-muted-eve:#c3cfdf;--pora-cars-action-eve:#eef3fa;--pora-police-accent:#6e86d8;--pora-police-track-edge:#5b71be;--pora-police-track-edge-eve:#8196dd;--pora-police-bg:#e3e7f5;--pora-police-hill1:#d6dcf0;--pora-police-hill2:#dbe0f2;--pora-police-surface:#fff;--pora-police-deep:#22336e;--pora-police-muted:#4a5788;--pora-police-action:#2e45a0;--pora-police-bg-eve:#2e3350;--pora-police-hill1-eve:#363c5c;--pora-police-hill2-eve:#393f60;--pora-police-surface-eve:#424968;--pora-police-text-eve:#eff1fa;--pora-police-muted-eve:#c8cce2;--pora-police-action-eve:#eff1fa;--pora-fire-accent:#f29a4a;--pora-fire-track-edge:#ce7b39;--pora-fire-track-edge-eve:#f5b071;--pora-fire-bg:#fcebdb;--pora-fire-hill1:#f8dec6;--pora-fire-hill2:#fae3cf;--pora-fire-surface:#fff;--pora-fire-deep:#7a3410;--pora-fire-muted:#8a5434;--pora-fire-action:#a4460f;--pora-fire-bg-eve:#4a3426;--pora-fire-hill1-eve:#553c2c;--pora-fire-hill2-eve:#583f2f;--pora-fire-surface-eve:#614737;--pora-fire-text-eve:#fcf1e7;--pora-fire-muted-eve:#e6cdb8;--pora-fire-action-eve:#fcf1e7;--pora-princess-accent:#e58db8;--pora-princess-track-edge:#c6779e;--pora-princess-track-edge-eve:#eba6c7;--pora-princess-bg:#f8e7ef;--pora-princess-hill1:#f3dae6;--pora-princess-hill2:#f5dfe9;--pora-princess-surface:#fff;--pora-princess-deep:#4a1d38;--pora-princess-muted:#7a4766;--pora-princess-action:#7a2e5c;--pora-princess-bg-eve:#4a3142;--pora-princess-hill1-eve:#553848;--pora-princess-hill2-eve:#583b4b;--pora-princess-surface-eve:#5e4255;--pora-princess-text-eve:#fbeff5;--pora-princess-muted-eve:#e3c7d6;--pora-princess-action-eve:#fbeff5;--pora-animals-accent:#e0b067;--pora-animals-track-edge:#b3884a;--pora-animals-track-edge-eve:#e7c187;--pora-animals-bg:#f4ebda;--pora-animals-hill1:#eddfc6;--pora-animals-hill2:#f0e4ce;--pora-animals-surface:#fff;--pora-animals-deep:#5e3f15;--pora-animals-muted:#7a5b33;--pora-animals-action:#7a5214;--pora-animals-bg-eve:#463a28;--pora-animals-hill1-eve:#51432f;--pora-animals-hill2-eve:#544632;--pora-animals-surface-eve:#5c4d38;--pora-animals-text-eve:#faf3e6;--pora-animals-muted-eve:#e3d4bc;--pora-animals-action-eve:#faf3e6;--pora-graphite-accent:#4a5563;--pora-graphite-track:#4a5563;--pora-graphite-track-eve:#a9b4c2;--pora-graphite-glyph:#fff;--pora-graphite-ring-eve:#a9b4c2;--pora-graphite-track-edge:#414b57;--pora-graphite-track-edge-eve:#bbc4cf;--pora-graphite-bg:#e9ecef;--pora-graphite-hill1:#dee2e7;--pora-graphite-hill2:#e3e6ea;--pora-graphite-surface:#fff;--pora-graphite-deep:#252b33;--pora-graphite-muted:#545d69;--pora-graphite-action:#2f3742;--pora-graphite-bg-eve:#33373d;--pora-graphite-hill1-eve:#3a3f46;--pora-graphite-hill2-eve:#3d4249;--pora-graphite-surface-eve:#454b53;--pora-graphite-text-eve:#f1f3f5;--pora-graphite-muted-eve:#c9ced5;--pora-graphite-action-eve:#f1f3f5;--pora-lagoon-accent:#5dbdb1;--pora-lagoon-glyph:#123f3a;--pora-lagoon-track-edge:#4a9e93;--pora-lagoon-track-edge-eve:#81cbc2;--pora-lagoon-bg:#ddeeec;--pora-lagoon-hill1:#cde5e2;--pora-lagoon-hill2:#d3e9e6;--pora-lagoon-surface:#fff;--pora-lagoon-deep:#123f3a;--pora-lagoon-muted:#3c6460;--pora-lagoon-action:#16615a;--pora-lagoon-bg-eve:#263d3b;--pora-lagoon-hill1-eve:#2d4744;--pora-lagoon-hill2-eve:#304a47;--pora-lagoon-surface-eve:#375350;--pora-lagoon-text-eve:#ecf6f5;--pora-lagoon-muted-eve:#bfd7d4;--pora-lagoon-action-eve:#ecf6f5;--pora-plum-accent:#aa92cb;--pora-plum-glyph:#33214a;--pora-plum-track-edge:#9e87be;--pora-plum-track-edge-eve:#bdaad7;--pora-plum-bg:#ece5f2;--pora-plum-hill1:#e1d6eb;--pora-plum-hill2:#e5dbee;--pora-plum-surface:#fff;--pora-plum-deep:#33214a;--pora-plum-muted:#5e4c74;--pora-plum-action:#4e3478;--pora-plum-bg-eve:#382f45;--pora-plum-hill1-eve:#40364f;--pora-plum-hill2-eve:#433952;--pora-plum-surface-eve:#4b405b;--pora-plum-text-eve:#f5f0fa;--pora-plum-muted-eve:#d3c9e0;--pora-plum-action-eve:#f5f0fa;--pora-tv-bg:#f6f3ee;--pora-tv-surface:#fff;--pora-tv-text:#23211e;--pora-tv-muted:#6a655d;--pora-tv-ok:#2e7a3a;--pora-tv-toggle-on:var(--pora-tv-ok);--pora-tv-warn:#9a5200;--pora-tv-warn-bg:#fbebd3;--pora-tv-warn-text:#6b3a00;--pora-tv-eve-bg:#423e3a;--pora-tv-eve-surface:#55504a;--pora-tv-eve-text:#f3f0ea;--pora-tv-eve-muted:#cfc9bf;--pora-tv-eve-ok:#9ad7a4;--pora-tv-eve-toggle-on:var(--pora-tv-eve-ok);--pora-tv-eve-warn:#f2b866;--pora-tv-eve-warn-bg:#4d3d27;--pora-tv-eve-warn-text:#f7d9a8;--pora-pwa-bg:#f6f3ee;--pora-pwa-surface:#fff;--pora-pwa-text:#23211e;--pora-pwa-muted:#6a655d;--pora-pwa-line:#e6e1d8;--pora-pwa-ok:#2e7a3a;--pora-pwa-toggle-on:var(--pora-pwa-ok);--pora-pwa-warn:#9a5200;--pora-pwa-warn-bg:#fbebd3;--pora-pwa-warn-text:#6b3a00;--pora-pwa-dark-bg:#2a2825;--pora-pwa-dark-surface:#35322e;--pora-pwa-dark-text:#f3f0ea;--pora-pwa-dark-muted:#b5afa5;--pora-pwa-dark-line:#46423d;--pora-pwa-dark-ok:#8fd19a;--pora-pwa-dark-toggle-on:var(--pora-pwa-dark-ok);--pora-pwa-nav-pill:#fbedc1;--pora-pwa-dark-nav-pill:#574c2e;--pora-pwa-dark-warn:#f2b866;--pora-pwa-dark-warn-bg:#3d2f1c;--pora-pwa-dark-warn-text:#f7d9a8;--pora-pwa-press:#ece8e1;--pora-pwa-dark-press:#403c37;--pora-pwa-primary-pressed:#3a3733;--pora-pwa-dark-primary-pressed:#d8d3ca;--pora-scrim-tv-overlay:#0006;--pora-scrim-tv-dialog:#00000073;--pora-scrim-pwa-sheet:#0006;--pora-tv-text-display:600 96px/1 var(--pora-font);--pora-tv-text-title:500 68px/1.15 var(--pora-font);--pora-tv-text-heading:500 56px/1.15 var(--pora-font);--pora-tv-text-name:500 44px/1.2 var(--pora-font);--pora-tv-text-body:400 32px/1.3 var(--pora-font);--pora-tv-text-button:500 30px/1 var(--pora-font);--pora-tv-text-label:500 28px/1.3 var(--pora-font);--pora-tv-text-secondary:400 26px/1.35 var(--pora-font);--pora-tv-text-caption:400 24px/1.35 var(--pora-font);--pora-tv-text-annotation:400 22px/1.3 var(--pora-font);--pora-pwa-text-display:500 42px/1 var(--pora-font);--pora-pwa-text-title:500 30px/1.15 var(--pora-font);--pora-pwa-text-headline:500 22px/1.25 var(--pora-font);--pora-pwa-text-name:500 19px/1.25 var(--pora-font);--pora-pwa-text-body:400 17px/1.4 var(--pora-font);--pora-pwa-text-button:500 17px/1 var(--pora-font);--pora-pwa-text-label:500 15px/1.3 var(--pora-font);--pora-pwa-text-secondary:400 14px/1.35 var(--pora-font);--pora-pwa-text-small:400 13px/1.35 var(--pora-font);--pora-pwa-text-caption:500 12px/1.2 var(--pora-font);--pora-tv-space-1:8px;--pora-tv-space-2:12px;--pora-tv-space-3:16px;--pora-tv-space-4:24px;--pora-tv-space-5:32px;--pora-tv-space-6:40px;--pora-tv-space-7:56px;--pora-tv-space-8:80px;--pora-tv-space-9:120px;--pora-pwa-space-1:4px;--pora-pwa-space-2:8px;--pora-pwa-space-3:12px;--pora-pwa-space-4:16px;--pora-pwa-space-5:20px;--pora-pwa-space-6:24px;--pora-pwa-space-7:32px;--pora-tv-safe-x:96px;--pora-tv-safe-y:54px;--pora-tv-grid-gap-x:40px;--pora-tv-grid-gap-y:80px;--pora-tv-tile-w:402px;--pora-tv-tile-h:226px;--pora-tv-tile-icon:96px;--pora-tv-avatar-xl:240px;--pora-tv-avatar-l:220px;--pora-tv-avatar-m:110px;--pora-tv-avatar-s:52px;--pora-tv-icon-l:48px;--pora-tv-icon-m:40px;--pora-tv-icon-s:32px;--pora-tv-track-w:380px;--pora-tv-track-h:24px;--pora-tv-track-mascot:52px;--pora-tv-track-segment-gap:10px;--pora-tv-track-edge:3px;--pora-tv-focus-lift:12px;--pora-tv-focus-lift-button:6px;--pora-tv-focus-lift-small:4px;--pora-tv-focus-lift-pressed:2px;--pora-tv-focus-stroke:6px;--pora-tv-focus-offset:6px;--pora-tv-focus-stroke-avatar:8px;--pora-tv-focus-offset-avatar:10px;--pora-tv-button-h:88px;--pora-tv-button-pad-x:48px;--pora-tv-button-icon:36px;--pora-tv-danger-stroke:3px;--pora-tv-key-w:120px;--pora-tv-key-h:88px;--pora-tv-key-gap:20px;--pora-tv-pin-dot:28px;--pora-tv-row-w:1120px;--pora-tv-row-min-h:120px;--pora-tv-row-pad-y:20px;--pora-tv-row-pad-x:32px;--pora-tv-row-app-icon:72px;--pora-tv-toggle-w:96px;--pora-tv-toggle-h:56px;--pora-tv-toggle-knob-on:44px;--pora-tv-toggle-knob-off:36px;--pora-tv-field-h:104px;--pora-tv-field-pad-x:32px;--pora-tv-theme-swatch:150px;--pora-tv-theme-check:52px;--pora-tv-plate-h:112px;--pora-tv-plate-avatar:80px;--pora-tv-input-title-h:96px;--pora-tv-picker-w:720px;--pora-tv-picker-row-h:104px;--pora-tv-wizard-text-w:840px;--pora-tv-wizard-image-w:760px;--pora-tv-wizard-image-h:560px;--pora-tv-pair-card-w:560px;--pora-tv-pair-qr:280px;--pora-tv-dialog-w:1000px;--pora-tv-dialog-pad:56px;--pora-tv-empty-avatar:160px;--pora-pwa-tap-min:48px;--pora-pwa-avatar:48px;--pora-pwa-icon:24px;--pora-pwa-icon-s:20px;--pora-pwa-card-padding:18px;--pora-pwa-track-h:12px;--pora-pwa-track-mascot:24px;--pora-pwa-track-edge:2px;--pora-pwa-track-segment-gap:5px;--pora-pwa-nav-h:84px;--pora-pwa-button-h:52px;--pora-pwa-quick-h:48px;--pora-pwa-toggle-w:52px;--pora-pwa-toggle-h:32px;--pora-pwa-toggle-knob:26px;--pora-pwa-field-h:52px;--pora-pwa-row-min-h:64px;--pora-pwa-header-h:56px;--pora-pwa-segment-h:48px;--pora-pwa-bar-radius:8px;--pora-pwa-hbar-h:8px;--pora-pwa-event-icon:40px;--pora-pwa-theme-swatch:72px;--pora-pwa-sheet-handle-w:40px;--pora-radius-tv-tile:24px;--pora-radius-tv-card:32px;--pora-radius-tv-row:24px;--pora-radius-tv-key:24px;--pora-radius-tv-app-icon:18px;--pora-radius-pwa-card:28px;--pora-radius-pwa-sheet:28px;--pora-radius-pwa-field:16px;--pora-radius-pwa-row:16px;--pora-radius-pwa-alert:20px;--pora-radius-pwa-chip:12px;--pora-radius-pill:999px;--pora-dur-focus:.15s;--pora-dur-fade:.2s;--pora-dur-mode:.25s;--pora-dur-press:.1s;--pora-dur-sheet:.25s;--pora-dur-instant:0s;--pora-ease:ease-out;--pora-hold-plate:8s;--pora-hold-input-title:3s;--pora-hold-t17:2s;--pora-hold-paired:2s;--pora-opacity-pressed:.85;--pora-opacity-disabled:.4;--pora-opacity-expired:.3}@font-face{font-family:Rubik;src:url(/fonts/Rubik.ttf)format("truetype");font-weight:300 900;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font:var(--pora-pwa-text-body);background:var(--pora-pwa-bg);color:var(--pora-pwa-text);--pora-chip-selected:var(--pora-pwa-nav-pill);--pora-chip-ink:var(--pora-pwa-text);--pora-danger:var(--pora-pwa-warn)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:default}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--pora-brand-sun);outline-offset:3px}.sheet-heading:focus,.sheet-heading:focus-visible{outline:none}.field input:focus,.field select:focus,.password-field:focus-within,.zone-card:focus-within,.stepper-field:focus-within{outline:2px solid var(--pora-brand-sun);outline-offset:-2px;box-shadow:none}.password-field input:focus,.zone-card select:focus,.stepper-field input:focus,.stepper-field input:focus-visible{outline:none}.field input[aria-invalid=true]:focus,.password-field.invalid:focus-within{border-color:#0000}.app-shell{min-height:100dvh}main{--main-bottom:calc(108px + env(safe-area-inset-bottom));max-width:1200px;padding:16px 16px var(--main-bottom);margin:0 auto}main.subpage{--main-bottom:calc(24px + env(safe-area-inset-bottom))}nav.subpage{display:none}.page{min-height:calc(100dvh - 16px - var(--main-bottom));flex-direction:column;gap:12px;display:flex}nav{z-index:10;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));background:var(--pora-pwa-surface);border:1px solid var(--pora-pwa-line);--nav-pill:var(--pora-pwa-nav-pill);--nav-on:var(--pora-pwa-text);border-radius:32px;justify-content:space-around;padding:8px;display:flex;position:fixed;box-shadow:0 8px 24px #23211e1f}nav a{min-width:64px;color:var(--pora-pwa-muted);border-radius:20px;flex-direction:column;align-items:center;gap:4px;padding:6px 8px;font-size:12px;font-weight:400;display:flex}nav a.active{color:var(--nav-on);font-weight:500}.nav-icon{border-radius:999px;justify-content:center;align-items:center;width:56px;height:30px;display:flex}nav a.active .nav-icon{background:var(--nav-pill);color:var(--nav-on)}.nav-brand{display:none}.icon{-webkit-mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;background-color:currentColor;flex-shrink:0;display:block}.icon.ok,.quick-actions .time-add{color:var(--pora-pwa-ok)}.icon.warn{color:var(--pora-pwa-warn)}:root[data-theme=dark] .icon.ok,:root[data-theme=dark] .quick-actions .time-add{color:var(--pora-pwa-dark-ok)}:root[data-theme=dark] .icon.warn{color:var(--pora-pwa-dark-warn)}.solid .icon,.solid .icon.ok,.solid .icon.warn,:root[data-theme=dark] .solid .icon.ok,:root[data-theme=dark] .solid .icon.warn{color:inherit}.section-heading{justify-content:space-between;align-items:center;display:flex}.section-label{font:var(--pora-pwa-text-secondary);color:var(--pora-pwa-text);margin:16px 0 0}.profile-avatar{border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;margin:12px auto 20px;display:flex}.theme-grid{grid-template-columns:repeat(3,1fr);gap:16px 8px;display:grid}.theme-choice{color:inherit;background:0 0;flex-direction:column;align-items:center;gap:8px;padding:4px;font-size:13px;display:flex}.theme-choice.selected{font-weight:500}.theme-circle{width:72px;height:72px;font:500 30px/1 var(--pora-font);color:var(--pora-brand-ink);border-radius:50%;place-items:center;display:grid;position:relative}.theme-check{background:var(--pora-action);width:24px;height:24px;color:var(--pora-action-ink);border:2px solid var(--pora-pwa-bg);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-2px;right:-2px}.segments{gap:6px;display:flex}.segments button{min-height:44px;color:var(--pora-pwa-muted);font:500 16px/1.15 var(--pora-font);background:0 0;border:1.5px solid #0000;border-radius:999px;flex:1}.segments button.active{background:var(--pora-chip-selected);color:var(--pora-chip-ink)}.segments button.active:focus-visible,.chip.active:focus-visible{outline:none}.segments.secondary{margin:16px 0}.theme-option{text-align:left;border:0;width:100%}.segments.secondary button{font-size:14px}.period-navigation{justify-content:space-between;align-items:center;font-size:14px;display:flex}.period-navigation .next{transform:rotate(180deg)}.report-card{background:var(--pora-pwa-surface);border-radius:20px;padding:18px}.report-card .muted{margin:6px 0 0}.report-total{font:var(--pora-pwa-text-display);display:block}.day-bars{align-items:flex-end;gap:10px;height:140px;margin-top:16px;display:flex}.day-bars.month{gap:2px}.day-bars>div{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.day-bars>div>span{background:var(--pora-pwa-muted);opacity:.55;border-radius:8px;width:100%;max-width:37px}.day-bars>div>span.current{background:var(--pora-pwa-text);opacity:1}.day-bars>div>.day-stack{opacity:1;background:0 0;flex-direction:column-reverse;display:flex;overflow:hidden}.day-stack>span{flex-shrink:0;width:100%;display:block}.day-bars small{color:var(--pora-pwa-muted);font-size:12px}.day-bars.month small{font-size:9px}.report-rows{flex-direction:column;gap:14px;display:flex}.report-row{grid-template-columns:1fr auto;gap:6px 12px;font-size:14px;display:grid}.report-time{color:var(--pora-pwa-muted)}.report-bar{background:var(--pora-pwa-bg);border-radius:999px;grid-column:1/-1;height:8px;overflow:hidden}.report-bar>span{border-radius:inherit;background:var(--pora-pwa-text);height:100%;display:block}.empty-period{text-align:center;padding:40px 16px}.notification-empty,.empty{text-align:center;color:var(--pora-pwa-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:32px 16px;display:flex}.notification-empty h2,.empty h2{font:500 19px/1.3 var(--pora-font);color:var(--pora-pwa-text);margin:4px 0 0}.notification-empty p,.empty p{margin:0;font-size:15px;line-height:1.45}.empty .solid{margin-top:12px}.notification-row{align-items:center;gap:12px;min-height:72px;display:flex}.notification-row strong{flex:1;font-weight:500}.install-steps{flex-direction:column;gap:24px;padding:16px 32px;line-height:1.5;display:flex}.connection,.error{font:var(--pora-pwa-text-secondary)}.primary{background:var(--pora-brand-sun);min-height:48px;color:var(--pora-brand-ink);font:var(--pora-pwa-text-button);border-radius:999px;padding:14px 24px}.form-column{max-width:560px;margin:auto}.cards{gap:16px;display:grid}.page-title{padding:0 4px 20px}.child-card{background:var(--card-bg);color:var(--card-ink);border-radius:28px;flex-direction:column;gap:14px;padding:18px;display:flex}.card-heading{align-items:center;gap:12px;display:flex}.avatar{background:var(--card-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.card-name{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.card-name strong{font:var(--pora-pwa-text-name)}.card-name small,.card-time small{font:var(--pora-pwa-text-secondary);color:var(--card-muted)}.card-time{justify-content:space-between;align-items:flex-end;display:flex}.card-time strong{font:var(--pora-pwa-text-display);white-space:nowrap}.card-status{align-items:center;gap:6px;display:flex}.status-dot{background:var(--pora-pwa-ok);border-radius:50%;flex-shrink:0;width:8px;height:8px}.chevron{color:var(--pora-pwa-muted);display:flex}.child-card .chevron{color:var(--card-muted)}.track.zero{border:2px dashed var(--card-accent);background:0 0}.card-time small{text-align:right}.card-state{font:var(--pora-pwa-text-headline)}.track{background:var(--pora-pwa-surface);border-radius:999px;height:12px;margin-top:14px;position:relative}.track>span{border-radius:inherit;background:var(--card-accent);border:2px solid var(--card-accent);height:100%;display:block}.track img{position:absolute;bottom:9px;transform:translate(-50%)}.track-bead{background:var(--card-ink);border:4px solid var(--pora-pwa-surface);border-radius:50%;width:23px;height:23px;position:absolute;top:50%;transform:translate(-50%,-50%)}:root[data-theme=dark] .track-bead{background:var(--pora-pwa-dark-text)}.quick-actions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.quick-actions button{background:var(--pora-pwa-surface);min-height:48px;color:var(--card-ink);font:var(--pora-pwa-text-button);border-radius:999px;font-weight:400}.card-block{color:var(--card-ink);border-color:var(--card-ink);justify-content:center;align-items:center;gap:8px;min-height:48px;display:flex}.warning-card{background:var(--pora-pwa-warn-bg);color:var(--pora-pwa-warn-text);border-radius:20px;align-items:center;gap:12px;margin-bottom:12px;padding:16px;display:flex}.offline-banner{top:calc(8px + env(safe-area-inset-top));z-index:5;margin-top:8px;position:sticky}.warning-card div{flex:1}.warning-card strong{font-weight:500}.warning-card p{margin:4px 0 0;font-size:14px}.away-alert{gap:0;padding:8px}.away-alert-link{border-radius:14px;flex:1;align-items:center;gap:12px;min-width:0;padding:8px;display:flex}.away-alert-link>div{min-width:0}.away-dismiss{flex-shrink:0}.sheet{width:100%;max-width:none;max-height:min(90dvh, calc(var(--sheet-viewport-height,100dvh) - env(safe-area-inset-top)));inset:auto 0 0;bottom:var(--sheet-viewport-bottom,0px);background:var(--pora-pwa-surface);color:var(--pora-pwa-text);border:0;border-radius:28px 28px 0 0;margin:0;padding:0;position:fixed;overflow:auto}.sheet-body{padding:10px 20px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:12px;display:flex}.sheet{overscroll-behavior:contain}.settings-page .build-version{margin-top:auto;padding:0 4px}.diagnostics-send{align-items:center;gap:8px;display:flex}.diagnostics-status{color:var(--pora-pwa-text);margin:0;font-size:15px;line-height:1.4}.diagnostics-status.received{font-weight:500}.sheet-handle{background:var(--pora-pwa-muted);border-radius:999px;align-self:center;width:40px;height:5px;margin-bottom:6px}.sheet::backdrop{background:#0008}.sheet header{justify-content:space-between;align-items:center;display:flex}.sheet h2{font:var(--pora-pwa-text-headline);margin:0}.sheet-sub{color:var(--pora-pwa-muted);margin:0;font-size:15px}.pin-dots{justify-content:center;align-items:center;gap:16px;height:44px;display:flex;position:relative}.pin-dots>span{border:2px solid var(--pora-pwa-muted);border-radius:50%;width:20px;height:20px}.pin-dots>span.filled{background:var(--pora-action);border-color:var(--pora-focus-inner)}.pin-capture{opacity:0;caret-color:#0000;border:0;width:100%;font-size:16px;position:absolute;inset:0}.pin-error{margin:0;font-size:14px;font-weight:500}.pin-screen{z-index:30;min-height:100dvh;padding:calc(16px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));background:var(--pora-pwa-bg);color:var(--pora-pwa-text);flex-direction:column;display:flex;position:fixed;inset:0}.pin-header{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.pin-back{min-height:44px;color:inherit;font:var(--pora-pwa-text-button);background:0 0;align-items:center;gap:8px;padding:0 8px 0 0;display:inline-flex}.pin-header h1{font:var(--pora-pwa-text-title);margin:8px 0 0}.pin-profile{color:var(--pora-pwa-muted);font:var(--pora-pwa-text-body);margin:0}.pin-entry{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;min-height:112px;display:flex}.pin-entry .pin-dots{gap:22px;height:36px}.pin-entry .pin-dots>span{width:16px;height:16px}.qr-screen{z-index:30;padding:calc(16px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));background:var(--pora-pwa-bg);color:var(--pora-pwa-text);flex-direction:column;gap:16px;display:flex;position:fixed;inset:0}.qr-frame{aspect-ratio:1;background:#000;border-radius:24px;align-self:center;width:min(100%,360px);overflow:hidden}.qr-frame video{object-fit:cover;width:100%;height:100%;display:block}.qr-hint{text-align:center}.pin-keypad{grid-template-columns:repeat(3,1fr);align-self:center;gap:12px;width:min(100%,300px);display:grid}.pin-keypad button{background:var(--pora-pwa-surface);min-height:56px;color:var(--pora-pwa-text);font:500 24px/1 var(--pora-font);border-radius:16px}.pin-keypad button:disabled{opacity:.45}.pin-keypad .pin-erase{place-items:center;display:grid}.pull-refresh-root{overscroll-behavior-y:contain;touch-action:pan-y;position:relative}:is(html:has(.pull-refresh-root),body:has(.pull-refresh-root)){overscroll-behavior-y:contain}.pull-refresh-indicator{z-index:12;top:calc(8px + env(safe-area-inset-top));transform:translate(-50%, calc(-100% + var(--pull-offset,0px)));background:var(--pora-pwa-surface);min-height:40px;color:var(--pora-pwa-text);opacity:0;pointer-events:none;border-radius:999px;align-items:center;gap:8px;padding:0 14px;transition:transform .18s,opacity .18s;display:inline-flex;position:fixed;left:50%;box-shadow:0 2px 12px #0002}.pull-refresh-indicator.active{opacity:1}.pull-refresh-indicator>.icon{transform:rotate(var(--pull-rotation,0deg));transition:transform 50ms linear}.pull-refresh-indicator.refreshing>.icon{animation:.8s linear infinite pull-refresh-spin}@keyframes pull-refresh-spin{to{transform:rotate(360deg)}}.row-button{text-align:left;background:var(--pora-pwa-bg);width:100%;min-height:64px;color:inherit;border-radius:16px;padding:12px 14px}.stack{flex-direction:column;gap:12px;display:flex}.theme-row-avatar{background:var(--row-bg);border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}:root[data-theme=dark] .theme-row-avatar{background:var(--row-bg-dark)}.letter{font:500 17px/1 var(--pora-font);color:var(--pora-brand-ink)}.unit-input{align-items:center;display:flex;position:relative}.unit-input small{color:var(--pora-pwa-muted);pointer-events:none;font-size:15px;position:absolute;right:16px}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.two-columns button{white-space:nowrap;gap:6px;padding-inline:8px}.sheet-text{margin:0;font-size:15px;line-height:1.45}.stepper{align-items:center;gap:12px;display:flex}.step{background:var(--pora-pwa-bg);width:52px;height:52px;color:var(--pora-pwa-text);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.stepper-field{min-height:52px;box-shadow:none;border:2px solid #0000;border-radius:16px;flex:1;justify-content:center;align-items:baseline;gap:6px;padding:10px 12px;display:flex}.stepper-field input{width:3.5ch;color:inherit;font:500 26px/1 var(--pora-font);text-align:right;-moz-appearance:textfield;background:0 0;border:0}.stepper-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper-field>span{color:var(--pora-pwa-muted);font-size:15px}.section-title{font:var(--pora-pwa-text-label);color:#6a655d;margin:8px 4px 0}.settings-row{background:var(--pora-pwa-surface);min-height:64px;color:var(--pora-pwa-text);text-align:left;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex}.settings-row>.row-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.settings-row>.theme-row-avatar{flex:0 0 40px;place-items:center;display:grid}.settings-row strong{font-weight:400}.settings-row small{color:#6a655d;font-size:14px}.event-line{border-bottom:1px solid #e6e1d8;align-items:flex-start;gap:12px;padding:12px 0;display:flex}.event-icon{background:var(--pora-pwa-surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.event-icon.ok{color:var(--pora-pwa-ok)}.event-icon.warn{color:var(--pora-pwa-warn)}:root[data-theme=dark] .event-icon.ok{color:var(--pora-pwa-dark-ok)}:root[data-theme=dark] .event-icon.warn{color:var(--pora-pwa-dark-warn)}.event-line div{flex-direction:column;flex:1;gap:4px;display:flex}.event-line strong{font-size:15px;font-weight:500}.event-line small,.event-line time{color:#6a655d;font-size:13px}.target-row{background:var(--pora-pwa-surface);border-radius:16px;align-items:center;gap:12px;min-height:64px;padding:12px 14px;display:flex}.target-label{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.target-label strong{overflow-wrap:anywhere;font-size:17px;font-weight:400}.target-label small{color:#6a655d;font-size:14px}.target-heading{align-items:center;gap:6px;min-width:0;display:flex}.target-icon{object-fit:contain;border-radius:10px}.target-switches{gap:14px;display:flex}.target-switches label{color:#6a655d;flex-direction:column;align-items:center;gap:4px;font-size:11px;display:flex}.profile-chips{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.chip{background:var(--pora-pwa-surface);min-height:44px;color:var(--pora-pwa-text);font:500 15px/1 var(--pora-font);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:4px 16px 4px 4px;display:flex}.chip.active{background:var(--pora-chip-selected);color:var(--pora-chip-ink)}.device-chips .chip{padding:4px 16px}.chip-avatar{width:36px;height:36px;color:var(--pora-brand-ink);border-radius:50%;place-items:center;font-weight:500;display:grid}.new-badge{background:var(--pora-chip-selected);color:var(--pora-chip-ink);font:500 12px/1 var(--pora-font);border-radius:999px;flex-shrink:0;align-self:flex-start;align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.target-name{min-width:0;min-height:44px;color:inherit;text-align:left;font:inherit;background:0 0;border:0;align-items:center;gap:6px;margin:-10px 0;padding:0;display:flex}.rename-pencil{width:28px;height:28px;color:var(--pora-pwa-muted);flex-shrink:0;place-items:center;display:inline-grid}.target-placeholder{background:var(--pora-pwa-bg);border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.switch:disabled{opacity:.4}.switch{background:0 0;border:0;flex-shrink:0;width:52px;height:48px;margin:-8px 0;padding:0;position:relative}.switch:before{content:"";background:0 0;border:1.5px solid #6a655d;border-radius:999px;position:absolute;inset:8px 0}.switch>span{background:#6a655d;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.switch.on:before{background:var(--pora-pwa-toggle-on);border-color:var(--pora-pwa-toggle-on)}.switch.on>span{background:var(--pora-pwa-surface);width:26px;height:26px;left:auto;right:3px}.switch.on .icon{color:var(--pora-pwa-text)}.device-row{background:var(--pora-pwa-surface);min-height:72px;color:var(--pora-pwa-text);text-align:left;border-radius:16px;align-items:center;gap:12px;padding:14px;display:flex}.device-row .device-text{flex-direction:column;flex:1;gap:3px;display:flex}.device-row strong{font-size:17px;font-weight:500}.device-row small{color:#6a655d;font-size:14px}.pair-code{font:500 22px/1 var(--pora-font);letter-spacing:4px}.page-form{flex-direction:column;flex:1;gap:12px;display:flex}.device-status{align-items:center;gap:6px;display:flex}.device-status.warn{color:var(--pora-pwa-warn)}.empty.done{flex:1;justify-content:center}.ok-icon{color:var(--pora-pwa-ok)}.muted{color:#6a655d;font:var(--pora-pwa-text-secondary)}main.auth{height:100dvh;min-height:100svh;padding:env(safe-area-inset-top) 24px env(safe-area-inset-bottom);flex-direction:column;display:flex;overflow:hidden}.auth-session-error{flex:none;max-width:560px;margin:8px auto 0}.auth-form{flex-direction:column;flex:auto;gap:12px;width:100%;max-width:560px;min-height:0;padding:24px 0 16px;display:flex}.auth-brand{flex-direction:column;align-items:center;gap:14px;padding:28px 0 32px;display:flex}h1{font:var(--pora-pwa-text-title);margin:0}.auth-brand p{color:#6a655d;margin:0;font-size:15px}.field{flex-direction:column;gap:6px;display:flex}.field>span:first-child{color:#6a655d;font-size:14px}.field>span.field-title{color:var(--pora-pwa-text);margin-top:6px;font-size:15px;font-weight:500}.zone-card{background:var(--pora-pwa-surface);border-radius:16px;align-items:center;gap:12px;min-height:64px;padding:12px 14px;display:flex;position:relative}.zone-text{flex-direction:column;flex:1;gap:2px;display:flex}.zone-text strong{font-weight:400}.zone-text small,.zone-change{color:var(--pora-pwa-muted);font-size:14px}.zone-card select{opacity:0;width:100%;position:absolute;inset:0}.field input,.field select{background:var(--pora-pwa-surface);width:100%;min-height:52px;color:var(--pora-pwa-text);border:1px solid #0000;border-radius:16px;padding:0 16px}.field input[type=number]{appearance:textfield}.field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.unit-input input{padding-right:52px}.password-field{background:var(--pora-pwa-surface);border:1px solid #0000;border-radius:16px;align-items:center;display:flex}.password-field input{background:0 0;border:0}.icon-button{color:inherit;background:0 0;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;padding:0;display:flex}.field input[aria-invalid=true],.password-field.invalid{border:2px solid var(--pora-pwa-text)}.field-error{align-items:center;gap:8px;margin:0;font-size:14px;display:flex}.screen-header{align-items:center;gap:4px;min-height:56px;margin:0 -16px 8px;display:flex}.screen-header h1{font:var(--pora-pwa-text-headline)}.form-actions{flex-direction:column;gap:12px;margin-top:auto;padding-top:24px;display:flex}.auth-form .form-actions{flex:none}.solid,.outline{width:100%;min-height:52px;font:var(--pora-pwa-text-button);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 24px;display:flex}.solid{background:var(--pora-action);color:var(--pora-action-ink);font-weight:500}.outline{background:var(--pora-pwa-surface);color:var(--pora-pwa-text);border:0;font-weight:400}.danger,.outline.danger,.solid.danger{background:var(--pora-pwa-surface);color:var(--pora-danger);border:0}.row-button.danger{align-items:center;gap:12px;display:flex}.text-link{min-height:44px;color:var(--pora-pwa-text);font:var(--pora-pwa-text-secondary);text-underline-offset:3px;background:0 0;border:0;align-self:flex-end;padding:6px 0;text-decoration:underline}.consent{align-items:flex-start;gap:12px;padding:4px 0;font-size:15px;line-height:1.35;display:flex}.consent input{width:22px;height:22px;accent-color:var(--pora-action);flex:0 0 22px;margin:0}.consent.invalid input{outline:2px solid var(--pora-pwa-text);outline-offset:2px}.consent a,.consent-note a{text-underline-offset:3px;text-decoration:underline}.consent-note{text-align:center;margin:0;font-size:13px}.yandex-mark{color:#fff;width:24px;height:24px;font:500 15px/1 var(--pora-font);background:#fc3f1d;border-radius:50%;place-items:center;display:inline-grid}.settings-row small.warn{color:var(--pora-pwa-warn)}.account-avatar{background:var(--pora-chip-selected);width:40px;height:40px;color:var(--pora-chip-ink);font:500 17px/1 var(--pora-font);border-radius:50%;flex:0 0 40px;place-items:center;display:grid}.settings-row>.yandex-mark{margin:0 2px}.privacy section h2{font:var(--pora-pwa-text-headline);margin:8px 0 4px;font-size:17px}.privacy section p{margin:0;line-height:1.45}@media (height<=700px){.auth-form{gap:8px;padding:12px 0 8px}.auth-brand{gap:8px;padding:8px 0 12px}.auth-brand img{width:56px;height:56px}.form-actions{gap:8px;padding-top:8px}.auth-form .solid,.auth-form .outline{min-height:48px;padding-block:10px}}@media (width>=900px){nav,nav.subpage{border:0;border-bottom:1px solid var(--pora-pwa-line);box-shadow:none;border-radius:0;justify-content:flex-start;align-items:center;gap:8px;padding:14px max(40px,50vw - 600px);display:flex;position:sticky;inset:0 auto auto}nav a{flex-direction:row;gap:8px;min-height:44px;padding:0 18px;font-size:15px}nav a.active{background:var(--nav-pill);color:var(--nav-on)}nav a.active .nav-icon{background:0 0}.nav-icon{width:24px;height:24px}.sheet{inset:var(--sheet-viewport-top,0px) 0 var(--sheet-viewport-bottom,0px) 0;border-radius:28px;width:min(100%,480px);height:fit-content;margin:auto}.sheet-handle{display:none}.nav-brand{margin-right:16px;display:block}main,main.subpage{--main-bottom:32px}.page{min-height:calc(100dvh - 120px)}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1200px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}:root[data-theme=dark]{--pora-pwa-bg:var(--pora-pwa-dark-bg);--pora-pwa-surface:var(--pora-pwa-dark-surface);--pora-pwa-text:var(--pora-pwa-dark-text);--pora-pwa-muted:var(--pora-pwa-dark-muted);--pora-pwa-line:var(--pora-pwa-dark-line);--pora-chip-selected:var(--pora-pwa-dark-nav-pill);--pora-chip-ink:var(--pora-brand-sun);--pora-danger:var(--pora-pwa-dark-warn)}:root[data-theme=dark] nav,:root[data-theme=dark] .event-line,:root[data-theme=dark] .report-row{border-color:var(--pora-pwa-line)}:root[data-theme=dark] nav{--nav-pill:var(--pora-pwa-dark-nav-pill);--nav-on:var(--pora-brand-sun)}:root[data-theme=dark] .muted,:root[data-theme=dark] .settings-row small,:root[data-theme=dark] .event-line small,:root[data-theme=dark] .event-line time{color:var(--pora-pwa-muted)}:root[data-theme=dark] .child-card{background:var(--card-bg-dark);color:var(--pora-pwa-dark-text)}:root[data-theme=dark] .card-name small,:root[data-theme=dark] .card-time small,:root[data-theme=dark] .child-card .chevron{color:var(--pora-pwa-dark-text)}:root[data-theme=dark] .status-dot{background:var(--pora-pwa-dark-ok)}:root[data-theme=dark] .switch.on:before{background:var(--pora-pwa-dark-toggle-on);border-color:var(--pora-pwa-dark-toggle-on)}:root[data-theme=dark] .quick-actions button,:root[data-theme=dark] .card-block{color:var(--pora-pwa-dark-text)}:root[data-theme=dark] .warning-card{background:var(--pora-pwa-dark-warn-bg);color:var(--pora-pwa-dark-warn-text)}:root[data-theme=dark] .settings-row small.warn{color:var(--pora-pwa-dark-warn-text)}:root[data-theme=dark] .field>span:first-child,.password-field .icon-button{color:var(--pora-pwa-muted)}
