:root{--orange:#fd5f00;--orange-dk:#e35400;--navy:#00204a;--navy-2:#0a2f63;--red:#e11900;--green:#18a352;--blue:#1a56a4;--ink:#0d1c33;--dim:#56627a;--faint:#8a97ad;--line:#e6eaf2;--surface:#fff;--surf-2:#f6f8fc;--bg:#eef1f7;--green-soft:#e7f5ee;--red-soft:#fdecea;--orange-soft:#fff0e6;--blue-soft:#e9f0fa;--r-sm:10px;--r-md:14px;--r-lg:18px;--r-pill:999px;--shadow-card:0 3px 12px #0d1c330f;--shadow-hover:0 10px 26px #0d1c3321;--font-sans:"Montserrat",system-ui,sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}.ti{font-size:20px;line-height:1}.app-main{max-width:480px;font-family:var(--font-sans);margin:0 auto;padding:16px 16px 84px}.appbar{justify-content:space-between;align-items:center;gap:12px;padding:6px 2px 10px;display:flex}.appbar .hi{letter-spacing:-.02em;color:var(--navy);margin:0;font-size:1.35rem;font-weight:800}.appbar .hi small{color:var(--dim);letter-spacing:0;margin-top:1px;font-size:.74rem;font-weight:600;display:block}.chip{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);color:var(--navy);box-shadow:var(--shadow-card);cursor:pointer;font-size:.8rem;font-weight:800;font-family:var(--font-sans);align-items:center;gap:.4rem;padding:.42rem .7rem;display:inline-flex}.chip .ti{font-size:16px}.status{border-radius:var(--r-md);text-align:center;margin:4px 0 14px;padding:24px 18px;position:relative;overflow:hidden}.status .ring{border-radius:50%;place-items:center;width:88px;height:88px;margin:0 auto 12px;display:grid;position:relative}.status .ring .ti{font-size:40px}.status .symico{object-fit:contain;filter:drop-shadow(0 2px 3px #00204a1f);width:56px;height:56px}.status.off .symico{filter:grayscale()opacity(.42)}.status .lbl{letter-spacing:-.01em;font-size:1.5rem;font-weight:800}.status .sub{margin-top:.2rem;font-size:.82rem;font-weight:600}.status .live{text-transform:uppercase;letter-spacing:.06em;border-radius:var(--r-pill);align-items:center;gap:.4rem;margin-bottom:10px;padding:.25rem .6rem;font-size:.72rem;font-weight:800;display:inline-flex}.dotpulse{background:currentColor;border-radius:50%;width:8px;height:8px;position:relative}.dotpulse:after{content:"";background:currentColor;border-radius:50%;animation:1.5s ease-out infinite pl;position:absolute;inset:0}@keyframes pl{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(3)}}.status.off{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-card)}.status.off .ring{background:var(--surf-2)}.status.off .ring .ti{color:var(--faint);opacity:.55}.status.off .lbl{color:var(--ink)}.status.off .sub{color:var(--dim)}.status.pending{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-card)}.status.pending .ring{background:var(--orange-soft);color:var(--orange)}.status.pending .lbl{color:var(--orange)}.status.pending .sub{color:var(--dim)}.spinner{border:3px solid #ffe0cc;border-top-color:var(--orange);border-radius:50%;width:44px;height:44px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.status.on{background:var(--navy);color:#fff}.status.on .ring{background:#fff;box-shadow:0 0 0 6px #ffffff14}.status.on .ring .ti{color:var(--navy)}.status.on .lbl{color:#fff}.status.on .sub{color:#ffffffb8}.status.on .live{color:#7ff0ad;background:#18a35238}.btn{border-radius:var(--r-sm);width:100%;font-family:var(--font-sans);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:14px;font-size:1rem;font-weight:800;transition:all .15s;display:flex}.btn .ti{font-size:20px}.btn.primary{background:var(--orange);color:#fff;box-shadow:0 8px 18px -8px #fd5f0099}.btn.primary:hover{background:var(--orange-dk)}.btn.ghost{background:var(--surface);border:1px solid var(--line);color:var(--navy)}.btn.ghost:hover{border-color:var(--orange);color:var(--orange)}.btn.onnavy{background:var(--orange);color:#fff}.btn.disabled,.btn:disabled{background:var(--surf-2);color:var(--faint);cursor:default;border:1px solid var(--line);box-shadow:none}.hintline{text-align:center;color:var(--dim);justify-content:center;align-items:center;gap:.35rem;margin-top:9px;font-size:.75rem;font-weight:600;display:flex}.hintline .ti{color:var(--faint);font-size:14px}.hintline b{color:var(--ink);font-weight:800}.section-t{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin:14px 2px 8px;font-size:.69rem;font-weight:800}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-card);align-items:center;gap:11px;padding:11px 12px;display:flex}.tile+.tile{margin-top:8px}.tile .ico{border-radius:var(--r-sm);background:var(--surf-2);width:34px;height:34px;color:var(--navy);flex:none;place-items:center;display:grid}.tile .ico .ti{font-size:18px}.tile .tx{flex:1;min-width:0}.tile .tx b{color:var(--ink);font-size:.86rem;font-weight:800;display:block}.tile .tx span{color:var(--dim);font-size:.75rem;font-weight:600}.pill-ok{color:var(--green);background:var(--green-soft);border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:.03em;padding:.22rem .5rem;font-size:.68rem;font-weight:800}.pill-fix{color:var(--dim);background:var(--surf-2);border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:.03em;padding:.22rem .5rem;font-size:.68rem;font-weight:800}.nav{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;background:#ffffffeb;justify-content:space-around;align-items:center;height:62px;padding-bottom:6px;display:flex;position:fixed;bottom:0;left:0;right:0}.nav a,.nav button{color:var(--faint);cursor:pointer;font-size:.64rem;font-weight:800;font-family:var(--font-sans);background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;text-decoration:none;display:flex}.nav a .ti,.nav button .ti{font-size:22px}.nav a.on,.nav button.on{color:var(--orange)}.auth{text-align:center;flex-direction:column;min-height:100vh;padding:6px 8px 20px;display:flex}.brandmark{border-radius:var(--r-md);background:var(--navy);color:#fff;place-items:center;width:60px;height:60px;margin:24px auto 14px;display:grid;box-shadow:0 12px 26px -12px #00204ab3}.brandmark .ti{font-size:32px}.logo-app{object-fit:contain;width:150px;height:auto;margin:24px auto 12px;display:block}.auth h2{letter-spacing:-.01em;color:var(--navy);font-size:1.4rem;font-weight:800}.auth .p{color:var(--dim);margin-top:.35rem;font-size:.85rem;font-weight:600;line-height:1.45}.faceid{border-radius:var(--r-md);border:2px solid var(--orange);width:72px;height:72px;color:var(--orange);place-items:center;margin:14px auto 0;display:grid}.faceid .ti{font-size:40px}.pins{justify-content:center;gap:11px;margin:18px 0 4px;display:flex}.pins i{background:#dfe4ee;border-radius:50%;width:14px;height:14px}.pins i.f{background:var(--orange)}.keypad{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px;display:grid}.key{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--navy);box-shadow:var(--shadow-card);cursor:pointer;font-size:1.15rem;font-weight:800;font-family:var(--font-sans);padding:14px 0}.key.b{color:var(--orange);box-shadow:none;background:0 0;border:none;place-items:center;font-size:.82rem;display:grid}.key.b .ti{font-size:20px}.microcopy{color:var(--faint);justify-content:center;align-items:center;gap:.35rem;margin-top:auto;font-size:.7rem;font-weight:600;display:flex}.alarm-top{background:var(--red);color:#fff;text-align:center;border-radius:var(--r-md);margin:4px 0 14px;padding:18px 18px 16px;position:relative;overflow:hidden}.alarm-top .bell{background:#ffffff2e;border-radius:50%;place-items:center;width:50px;height:50px;margin:2px auto 8px;display:grid;position:relative}.alarm-top .bell .ti{font-size:26px}.alarm-top .bell .dotpulse{background:0 0;border:2px solid #fff;border-radius:50%;width:auto;height:auto;position:absolute;inset:0}.alarm-top .bell .dotpulse:after{background:0 0;border:2px solid #fff;animation:1.6s ease-out infinite pl}.alarm-top h2{letter-spacing:.01em;font-size:1.3rem;font-weight:800}.alarm-top .when{opacity:.92;margin-top:1px;font-size:.8rem;font-weight:600}.ack{border-radius:var(--r-pill);background:#ffffff29;align-items:center;gap:6px;margin-top:10px;padding:.32rem .7rem;font-size:.74rem;font-weight:700;display:inline-flex}.ack .ti{font-size:14px}.serious{background:var(--red-soft);color:#a82214;border-radius:var(--r-sm);border:1px solid #f6cdc7;align-items:center;gap:8px;margin:12px 0 4px;padding:9px 11px;font-size:.8rem;font-weight:800;display:flex}.serious .ti{flex:none;font-size:18px}.sensor{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:10px 0;display:flex}.sensor:last-child{border-bottom:none}.sensor .d{border-radius:var(--r-sm);background:var(--red-soft);width:32px;height:32px;color:var(--red);flex:none;place-items:center;display:grid}.sensor .d .ti{font-size:17px}.sensor .tx{flex:1}.sensor .tx b{font-size:.85rem;font-weight:800;display:block}.sensor .tx span{color:var(--dim);font-size:.74rem;font-weight:600}.sensor .tm{color:var(--red);font-size:.8rem;font-weight:800}.tabs{background:var(--surf-2);border-radius:var(--r-sm);gap:5px;margin:2px 0 10px;padding:4px;display:flex}.tabs button{font-family:var(--font-sans);color:var(--dim);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:8px;font-size:.82rem;font-weight:800}.tabs button.on{background:var(--surface);color:var(--navy);box-shadow:var(--shadow-card)}.log{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:10px 0;display:flex}.log .d{border-radius:var(--r-sm);flex:none;place-items:center;width:36px;height:36px;display:grid}.log .d .ti{font-size:18px}.log .d.arm{background:var(--navy);color:#fff}.log .d.dis{background:var(--surf-2);color:var(--dim)}.log .d.alr{background:var(--red-soft);color:var(--red)}.log .tx{flex:1}.log .tx b{font-size:.85rem;font-weight:800;display:block}.log .tx span{color:var(--dim);font-size:.74rem;font-weight:600}.log .tm{color:var(--dim);text-align:right;font-size:.74rem;font-weight:700;line-height:1.25}.pref{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-card);margin-bottom:11px;overflow:hidden}.pref .h{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--line);padding:11px 13px;font-size:.68rem;font-weight:800}.prow{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:11px 13px;display:flex}.prow:last-child{border-bottom:none}.prow .ico{border-radius:var(--r-sm);background:var(--surf-2);width:32px;height:32px;color:var(--navy);flex:none;place-items:center;display:grid}.prow .ico .ti{font-size:18px}.prow .tx{flex:1}.prow .tx b{font-size:.85rem;font-weight:800;display:block}.prow .tx span{color:var(--dim);font-size:.73rem;font-weight:600}.prow .ti.chev{color:#c3ccd8;font-size:18px}.radio{cursor:pointer;background:0 0;border:2px solid #cfd8e3;border-radius:50%;flex:none;width:20px;height:20px;padding:0}.radio.on{border-color:var(--orange);background:radial-gradient(circle,var(--orange) 42%,transparent 46%)}.toggle{border-radius:var(--r-pill);background:var(--orange);cursor:pointer;border:none;flex:none;width:42px;height:25px;padding:0;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:19px;height:19px;position:absolute;top:3px;right:3px;box-shadow:0 1px 3px #0003}.toggle.off{background:#cfd8e3}.toggle.off:after{left:3px;right:auto}.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}.stepup-backdrop.svelte-nbv4bw{z-index:100;background:#0d1c3373;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}
