:root{color-scheme:light;--ink:#171b28;--muted:#8890a1;--line:#e9edf4;--bg:#f6f7fb;--accent:#485bff;--soft:#eef0ff}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font:15px -apple-system,BlinkMacSystemFont,"SF Pro Display",Inter,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}.shell{max-width:510px;min-height:100dvh;margin:0 auto;padding:30px 22px 28px}.topbar,.brand,.section-head,.lock-head,.device-metrics,.metric-value,.secondary-action,.person,.setting-row{display:flex;align-items:center}.topbar,.section-head,.setting-row{justify-content:space-between}.topbar{margin-bottom:37px}.brand{gap:12px}.brand-icon{height:46px;width:46px;display:grid;place-items:center;border-radius:16px;background:#171b28;color:white;font-size:31px;line-height:1}.eyebrow{font-size:10px;letter-spacing:1.65px;font-weight:750;color:#969cad;margin:0 0 6px}h1{font-size:25px;letter-spacing:-1.1px;margin:0;line-height:1.1}h2{font-size:22px;letter-spacing:-.7px;margin:0}h3{margin:0}.brand-dot{color:var(--accent)}.avatar{border:1px solid var(--line);border-radius:15px;background:#fff;width:44px;height:44px;color:#41485b;font-size:23px;cursor:pointer;box-shadow:0 5px 15px #17204006}.section-head{margin-bottom:16px;gap:10px}.status{font-size:12px;font-weight:700;color:#707a8e;background:#edf0f5;padding:8px 11px;border-radius:100px;white-space:nowrap}.status:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#a8b0bf;margin-right:6px}.status.online{background:#e7f8ef;color:#148652}.status.online:before{background:#1aab66}.card{background:#fff;border:1px solid var(--line);border-radius:25px;box-shadow:0 12px 40px #1d274408}.lock-card{overflow:hidden;padding:22px 21px 17px}.lock-head{gap:13px}.door-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:#414c7b;background:#f1f3fb;flex-shrink:0}.lock-head>div:nth-child(2){min-width:0;flex:1}.lock-head h3{font-size:16px;letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lock-head p{color:var(--muted);font-size:12px;margin:5px 0 0}.device-chip{background:#f3f4f8;color:#8b91a0;padding:6px 8px;border-radius:7px;font-size:9px;font-weight:800;letter-spacing:.9px}.hero-control{height:287px;display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate}.halo{position:absolute;border-radius:50%;pointer-events:none}.halo-one{height:245px;width:245px;background:#f8f9ff;border:1px solid #f1f3fd}.halo-two{height:208px;width:208px;background:#f1f3ff;border:1px solid #e9edff}.hold-button{position:relative;z-index:1;width:175px;height:175px;border:0;border-radius:50%;background:linear-gradient(145deg,#5c6dff,#3b4fe6);color:#fff;box-shadow:0 14px 34px #4656eb4d, inset 0 2px 2px #ffffff40;display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .16s,box-shadow .16s}.hold-button:active,.hold-button.holding{transform:scale(.97);box-shadow:0 8px 22px #4656eb4d}.hold-button:disabled{background:#a9afc7;box-shadow:none;cursor:not-allowed}.hold-progress{position:absolute;inset:7px;width:161px;height:161px;transform:rotate(-90deg);overflow:visible}.hold-track,.hold-indicator{fill:none;stroke-width:3}.hold-track{stroke:#ffffff35}.hold-indicator{stroke:white;stroke-linecap:round;stroke-dasharray:458.67;stroke-dashoffset:458.67;transition:stroke-dashoffset .12s linear}.hold-button.holding .hold-indicator{stroke-dashoffset:0;transition:stroke-dashoffset 2s linear}.hold-content{display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.hold-content strong{font-size:17px;letter-spacing:-.4px}.hold-content small{font-size:10px;color:#e7eaff}.hold-help{text-align:center;margin:-9px 0 23px;color:#8d95a8;font-size:12px;line-height:1.5}.device-metrics{background:#f8f9fc;border:1px solid #f0f2f8;border-radius:17px;padding:17px 18px;gap:16px}.metric{flex:1;min-width:0}.metric+.metric{border-left:1px solid #e6e9f2;padding-left:17px}.metric-label{display:block;font-size:10px;font-weight:750;letter-spacing:1.3px;color:#a0a6b4;margin-bottom:8px}.metric-value{gap:8px}.metric-value strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-icon{color:#5d6cf2;font-size:21px}.connection-dot{width:9px;height:9px;border-radius:50%;background:#b8bdc9;flex-shrink:0}.connection-dot.connected{background:#23b675;box-shadow:0 0 0 4px #dff9eb}.secondary-actions{margin-top:18px}.secondary-action{border:0;border-top:1px solid #eef0f5;background:#fff;width:100%;text-align:left;padding:15px 2px;gap:13px;cursor:pointer;color:var(--ink)}.secondary-icon{display:grid;place-items:center;height:40px;width:40px;border-radius:13px;background:#f3f5fa;font-size:23px;color:#68738f}.secondary-action>span:nth-child(2){flex:1}.secondary-action strong,.secondary-action small{display:block}.secondary-action strong{font-size:14px}.secondary-action small{color:#9ca3b2;font-size:11px;margin-top:5px}.chevron{font-size:26px;color:#b8becc}.history-head{margin:31px 0 15px}.refresh-button{background:#eef0fa;color:#5360a5;border:0;border-radius:11px;padding:9px 11px;font-size:12px;font-weight:700;cursor:pointer}.history-card{padding:12px 18px}.activity-item{display:flex;gap:12px;align-items:flex-start;padding:13px 0}.activity-item+.activity-item{border-top:1px solid #eff1f6}.activity-icon{display:grid;place-items:center;width:37px;height:37px;flex-shrink:0;border-radius:12px;background:#eef1ff;color:#5966d8;font-size:19px}.activity-body{flex:1;min-width:0}.activity-body strong,.activity-body small{display:block}.activity-body strong{font-size:13px}.activity-body small{font-size:11px;color:var(--muted);margin-top:5px}.activity-empty{text-align:center;padding:22px 8px;color:#9199aa;font-size:13px;line-height:1.6}.tech-details{border-top:1px solid #edf0f5;padding:12px 0 4px;font-size:11px;color:#8992a6;line-height:1.7}.bottom-nav{position:sticky;bottom:12px;z-index:5;display:flex;justify-content:space-around;gap:5px;margin:27px 0 0;padding:11px 8px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 35px #171b2812}.bottom-nav button{background:transparent;border:0;color:#a1a8b7;font-size:11px;font-weight:650;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:65px;padding:4px 8px;cursor:pointer}.bottom-nav .nav-icon{font-size:25px;line-height:1.1}.bottom-nav button.active{color:var(--accent)}.people-card,.settings-card{padding:22px}.person{gap:12px}.person-icon{border-radius:15px;background:#f0f2ff;color:#5261d9;width:45px;height:45px;display:grid;place-items:center;font-size:25px}.person strong,.person small{display:block}.person small{color:#9199a9;font-size:12px;margin-top:4px}.primary{background:#485bff;color:white;border:0;border-radius:13px;padding:15px;font-size:14px;font-weight:750;cursor:pointer}.primary:disabled{opacity:.6;cursor:wait}#adminPanel>.primary{width:100%;margin:24px 0 12px}#adminPanel h3{font-size:15px;margin:20px 0 10px}.invite-result{overflow-wrap:anywhere;font-size:12px;color:#5764bd}.user{border-top:1px solid #eee;padding:13px 0;font-size:13px;overflow-wrap:anywhere}.user button{border:0;background:#f0f2f9;border-radius:8px;padding:7px 9px;margin-left:8px;color:#4654a8}.setting-row{gap:12px;border-bottom:1px solid #edf0f5;padding:15px 0;font-size:13px;color:#7d8699}.setting-row strong{color:#28314a;text-align:right}.settings-note{font-size:12px;line-height:1.65;color:#9299a8}.logout-button{background:#fff1f1;border:0;color:#b53f47;border-radius:12px;padding:13px 16px;font-weight:700;margin-top:10px;cursor:pointer}.auth{padding:28px 24px}.auth-icon{height:58px;width:58px;background:#eef0ff;color:#4c5be8;display:grid;place-items:center;border-radius:18px;font-size:36px;margin-bottom:22px}.auth h2{margin-bottom:7px}.muted{color:#929aab;font-size:13px;line-height:1.5}.auth label{display:block;font-size:12px;font-weight:700;margin:21px 0 0}.auth input{display:block;width:100%;margin-top:8px;padding:15px;border:1px solid #e1e5ee;border-radius:12px;font-size:16px;background:#fafbfe;outline-color:#5365ff}.auth .primary{width:100%;margin-top:24px}#message{font-size:13px;color:#9c4c34;line-height:1.5;min-height:1.2em;margin:14px 5px}dialog{border:0;border-radius:24px;max-width:370px;width:calc(100% - 34px);padding:0;box-shadow:0 25px 85px #0a133d50}dialog::backdrop{background:#0e163b70;backdrop-filter:blur(4px)}.modal-content{padding:29px 25px;position:relative}.modal-content h2{margin:12px 25px 10px 0;font-size:23px}.modal-content p{font-size:14px;color:#7c8699;line-height:1.65}.modal-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:#edf0ff;color:#4b5ce9;font-size:29px}.modal-close{position:absolute;right:18px;top:16px;background:#f3f4f8;border:0;border-radius:50%;width:32px;height:32px;font-size:24px;color:#80889a;cursor:pointer}.modal-actions{display:flex;gap:9px;margin-top:25px}.modal-actions button{flex:1;border:0;border-radius:12px;padding:14px 10px;font-weight:750}.modal-actions button:first-child{background:#f0f2f7;color:#525b6e}.video-placeholder{background:#f5f6fb;border-radius:14px;display:flex;flex-direction:column;gap:8px;text-align:center;padding:20px}.video-placeholder small{color:#9ca4b3;line-height:1.5}button:focus-visible{outline:3px solid #99a4ff;outline-offset:3px}[hidden]{display:none!important}@media(max-width:370px){.shell{padding:22px 13px}.lock-card{padding:17px 14px}.device-metrics{padding:13px 11px}.metric+.metric{padding-left:12px}.brand-icon{width:40px;height:40px}h1{font-size:23px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* v06 — botão central único com cores vinculadas somente a estado validado */
.hold-button.state-locked{background:linear-gradient(145deg,#29aa68,#13834a);box-shadow:0 14px 34px #168c5350,inset 0 2px 2px #ffffff40}
.hold-button.state-unlocked{background:linear-gradient(145deg,#ef6666,#b82739);box-shadow:0 14px 34px #c82d4650,inset 0 2px 2px #ffffff40}
.hold-button.state-unknown{background:linear-gradient(145deg,#6174ee,#4858c9)}
.hold-button:disabled{opacity:.8;cursor:not-allowed}
.lock-state-note{text-align:center;margin:-14px 0 9px;color:#636e84;font-size:12px;font-weight:700}
@media(prefers-reduced-motion:reduce){.hold-button.holding .hold-indicator{transition:stroke-dashoffset 2s linear!important}}
