:root{color-scheme:light;--ink:#172b2a;--muted:#667573;--line:#e2e8e5;--canvas:#f5f7f6;--paper:#fff;--accent:#b38c4e;--green:#246d57;--soft:#edf4ef;--danger:#a33832;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);min-height:100vh}.shell{max-width:760px;margin:0 auto;padding:calc(20px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom))}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:2px 2px 24px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:50px;height:50px;border-radius:15px}.brand-overline,.section-kicker{font-size:10px;letter-spacing:.15em;font-weight:800;color:var(--muted)}.brand h1{font-size:22px;letter-spacing:-.04em;margin:2px 0 0}.connection{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 11px;white-space:nowrap}.dot{width:7px;height:7px;border-radius:100%;background:#9aa9a4;display:inline-block}.connection.online .dot,.live-label .dot{background:#29956d;box-shadow:0 0 0 3px #e1f2e8}.connection.offline .dot{background:#c44d45}.panel{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 8px 30px #233a3408}.pairing{margin-top:10px}.pairing h2,.hero h2,.section-title h2,.device-heading h2,.notification-copy h2{font-size:22px;letter-spacing:-.035em;margin:8px 0}.muted{font-size:13px;line-height:1.6;color:var(--muted);margin:5px 0 0}.form-stack{display:grid;gap:9px;margin-top:22px}.form-stack label{font-weight:750;font-size:12px;margin-top:4px}.form-stack input{font:inherit;color:var(--ink);background:#fbfcfb;border:1px solid #d8e0dc;border-radius:12px;padding:14px;width:100%;outline:none}.form-stack input:focus{border-color:#648b7c;box-shadow:0 0 0 3px #dceae3}.button{border:0;border-radius:12px;font:inherit;font-size:13px;font-weight:800;padding:14px 16px;cursor:pointer;transition:transform .12s,opacity .12s}.button:active{transform:scale(.99)}.button:disabled{opacity:.55;cursor:wait}.primary{background:var(--ink);color:white}.form-stack .button{margin-top:7px}.error{color:var(--danger);font-size:12px;line-height:1.5;margin:6px 0 0}.device-heading{display:flex;justify-content:space-between;align-items:center;margin:0 1px 18px}.device-heading h2{font-size:24px}.icon-button{height:42px;width:42px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);font-size:21px;cursor:pointer}.hero{background:var(--ink);color:#f4f6ef;border-color:var(--ink);padding:23px}.hero .section-kicker{color:#bdc8c1}.hero .muted{color:#c0cdc6}.hero-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.status-pill{border-radius:999px;padding:7px 10px;background:#ffffff17;color:#e9eee9;font-size:11px;font-weight:750}.hero h2{font-size:28px;margin:18px 0 4px}.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;padding-top:19px;border-top:1px solid #ffffff21}.hero-stats>div{display:grid;gap:8px}.hero-stats span{font-size:11px;color:#c3cfc8}.hero-stats strong{font-size:31px;letter-spacing:-.04em;font-weight:650}.hero-stats small{font-size:13px;color:#c3cfc8;font-weight:500}.section-block{margin-top:26px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 1px 14px}.section-title h2{margin-bottom:0;font-size:20px}.live-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px;white-space:nowrap}.stage-grid{display:grid;grid-template-columns:1fr;gap:9px}.stage-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px 14px}.stage-number{width:34px;height:34px;display:grid;place-items:center;background:#eff2f0;border-radius:10px;color:#74837c;font-size:11px;font-weight:800}.stage-card strong{display:block;font-size:14px}.stage-card small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.stage-state{font-size:10px;font-weight:800;color:#77847e;background:#f1f3f2;border-radius:999px;padding:7px 9px;white-space:nowrap}.stage-card.active{border-color:#b6d8c7;background:#fbfefc}.stage-card.active .stage-number{background:#dff0e5;color:#236e53}.stage-card.active .stage-state{color:#1f7352;background:#e3f4e9}.notification-panel{display:grid;gap:18px}.notification-copy{display:flex;gap:13px;align-items:start}.notification-symbol{height:43px;min-width:43px;border-radius:13px;background:#f3ede2;display:grid;place-items:center;color:#9a7537;font-size:23px}.notification-copy h2{font-size:20px;margin:5px 0 0}.notification-panel .button{width:100%}.text-button{border:0;background:transparent;color:var(--green);font:inherit;font-size:12px;font-weight:800;cursor:pointer;padding:8px}.event-list{display:grid;gap:9px}.event-item{display:flex;align-items:flex-start;gap:12px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:14px}.event-mark{width:9px;height:9px;min-width:9px;margin-top:5px;border-radius:50%;background:#7b9c8d}.event-item.alert .event-mark{background:#c4544b}.event-item strong{font-size:12px;display:block}.event-item p{font-size:12px;line-height:1.5;color:var(--muted);margin:4px 0 0}.event-item time{display:block;font-size:10px;color:#87938e;margin-top:7px}.empty-state{padding:22px;text-align:center;border:1px dashed #ccd7d1;border-radius:14px;color:var(--muted);font-size:12px}footer{text-align:center;color:#8a9691;font-size:10px;margin-top:28px}.toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));transform:translate(-50%,15px);background:#172b2a;color:white;padding:12px 16px;border-radius:12px;font-size:12px;box-shadow:0 8px 35px #001b1725;opacity:0;pointer-events:none;transition:.2s;max-width:calc(100vw - 30px);z-index:10}.toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}@media(min-width:600px){.shell{padding-left:24px;padding-right:24px}.stage-grid{grid-template-columns:1fr 1fr}.stage-card:last-child{grid-column:1/-1}.hero{padding:28px}.pairing{padding:28px}}
