@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Mono Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-mono-latin-ext-wght-normal-CXgNM06D.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Mono Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-mono-latin-wght-normal-CoA7y8X5.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-ui:"Atkinson Hyperlegible Next Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-digits:"Atkinson Hyperlegible Mono Variable", ui-monospace, "SF Mono", Consolas, monospace;--body:#dce1e5;--face:#f5f7f8;--face-2:#eaeef1;--ink:#1d2a33;--ink-2:#56636d;--edge:#c9d0d6;--edge-strong:#aab4bc;--go:#23905a;--stop:#c73a33;--led-idle:#2ba862;--led-busy:#d6423a;--led-ring:#e39a22;--led-hold:#8667cf;--led-off:#a7b1b9;--accent:#2f6672;--on-accent:#fff;--accent-text:#2f6672;--accent-text-dark:#7fb6c2;--accent-fg:var(--accent-text);--r-key:14px;--r-panel:18px;--r-field:10px;--key-shadow:0 1px 0 #fffc inset, 0 1px 2px #1d2a3324;--key-pressed:0 1px 3px #1d2a3338 inset;--strip-h:56px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--body:#11171c;--face:#1a2228;--face-2:#222c33;--ink:#e3e9ed;--ink-2:#98a6b0;--edge:#2c3740;--edge-strong:#3d4a55;--go:#2a9d63;--stop:#d24a42;--led-off:#56636c;--accent-fg:var(--accent-text-dark);--key-shadow:0 1px 0 #ffffff0d inset, 0 1px 2px #00000073;--key-pressed:0 1px 3px #00000080 inset;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--body);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:16px;line-height:1.45}h1,h2,h3{line-height:1.2}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent-fg)}:focus-visible{outline:2px solid var(--accent-fg);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--ink-2)}.num{font-variant-numeric:tabular-nums}.spacer{flex:1}.loading{text-align:center;color:var(--ink-2);padding:48px 16px}.empty{color:var(--ink-2);margin:8px 0}.form-error{color:var(--stop);margin:0;font-size:14px}.form-ok{color:var(--go);margin:0;font-size:14px}.stack{flex-direction:column;gap:16px;display:flex}.stack>.btn{align-self:flex-start}.row-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.btn{border:1px solid var(--edge-strong);border-radius:var(--r-field);background:var(--face);min-height:40px;color:var(--ink);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:15px;font-weight:650;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{background:var(--face-2)}.btn:active{box-shadow:var(--key-pressed)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-accent{background:var(--accent);color:var(--on-accent);border-color:#0000}.btn-accent:hover{background:color-mix(in oklab, var(--accent) 86%, #000)}.btn-go{background:var(--go);color:#fff;border-color:#0000}.btn-go:hover{background:color-mix(in oklab, var(--go) 86%, #000)}.btn-stop{background:var(--stop);color:#fff;border-color:#0000}.btn-stop:hover{background:color-mix(in oklab, var(--stop) 86%, #000)}.btn-quiet{color:var(--accent-fg);background:0 0;border-color:#0000}a.btn{text-decoration:none}.btn-danger-text{color:var(--stop)}.btn-block{width:100%}.icon-btn{border-radius:var(--r-field);width:40px;height:40px;color:var(--ink-2);background:0 0;border:0;place-items:center;padding:0;display:grid}.icon-btn:hover{background:var(--face-2);color:var(--ink)}.led{background:var(--led-off);border-radius:4px;flex:none;width:14px;height:8px;display:inline-block;box-shadow:inset 0 0 0 1px #1d2a331f}.led-idle,.led-ready{background:var(--led-idle);box-shadow:0 0 6px color-mix(in srgb, var(--led-idle) 70%, transparent)}.led-busy,.led-error{background:var(--led-busy);box-shadow:0 0 6px color-mix(in srgb, var(--led-busy) 70%, transparent)}.led-hold{background:var(--led-hold);box-shadow:0 0 6px color-mix(in srgb, var(--led-hold) 70%, transparent)}.led-ringing,.led-connecting{background:var(--led-ring);box-shadow:0 0 8px color-mix(in srgb, var(--led-ring) 80%, transparent);animation:.9s steps(2,jump-none) infinite lamp-blink}.led-connecting{animation-duration:1.6s}.led-unknown{box-shadow:0 0 0 1.5px var(--led-off) inset;background:0 0}.led-warn{background:var(--led-ring);box-shadow:0 0 6px color-mix(in srgb, var(--led-ring) 70%, transparent)}.led-spacer{width:14px;display:inline-block}@keyframes lamp-blink{0%{opacity:1}to{opacity:.25}}.strip{z-index:5;min-height:var(--strip-h);padding:0 16px;padding-top:env(safe-area-inset-top);background:var(--face);border-bottom:1px solid var(--edge);align-items:center;gap:16px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-logo{object-fit:contain;max-width:120px;max-height:30px}.brand-mark{background:var(--accent);border-radius:9px;flex:none;width:30px;height:30px;position:relative}.brand-mark:before{content:"";background:var(--on-accent);position:absolute;inset:6px 7px 6px 5px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 3.5h2.7l1.6 4.4-2 1.3a10.5 10.5 0 0 0 5.9 5.9l1.3-2 4.4 1.6v2.7a2 2 0 0 1-2.1 2A15.7 15.7 0 0 1 4.6 5.6a2 2 0 0 1 2-2.1z'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 3.5h2.7l1.6 4.4-2 1.3a10.5 10.5 0 0 0 5.9 5.9l1.3-2 4.4 1.6v2.7a2 2 0 0 1-2.1 2A15.7 15.7 0 0 1 4.6 5.6a2 2 0 0 1 2-2.1z'/%3E%3C/svg%3E") 50%/contain no-repeat}.brand-mark:after{content:"";background:#45d483;border-radius:2px;width:7px;height:4px;position:absolute;top:6px;right:4px}.brand-mark-lg{border-radius:14px;width:48px;height:48px}.brand-mark-lg:before{inset:10px 11px 10px 8px}.brand-mark-lg:after{border-radius:3px;width:11px;height:6px;top:10px;right:7px}.brand-name{white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:750;overflow:hidden}.strip-title{color:var(--ink-2);font-weight:600}.strip-line{color:var(--ink-2);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.strip-me{text-align:right;flex-direction:column;align-items:flex-end;margin-left:auto;line-height:1.25;display:flex}.strip-name{font-size:14px;font-weight:700}.strip-ext{color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.strip-link{color:var(--accent-fg);align-items:center;gap:6px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.strip-link:hover{text-decoration:underline}.strip-actions{align-items:center;gap:18px;margin-left:auto;display:inline-flex}button.strip-link{cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}.line-notice{border-bottom:1px solid var(--edge);background:color-mix(in oklab, var(--led-ring) 18%, var(--face));margin:0;padding:10px 16px;font-size:14px;font-weight:600}.line-notice-stop{background:color-mix(in oklab, var(--led-busy) 16%, var(--face))}.phone-app{min-height:100dvh}.phone-grid{height:calc(100dvh - var(--strip-h));grid-template-columns:minmax(250px,300px) minmax(380px,1fr) minmax(270px,340px);gap:16px;padding:16px;display:grid}.col{min-height:0;overflow:auto}.col-center{justify-content:center;align-items:flex-start;padding-top:8px;display:flex}.panel{border:1px solid var(--edge);border-radius:var(--r-panel);background:var(--face);padding:16px}.panel-title{margin:0 0 12px;font-size:15px;font-weight:750}.panel-head{justify-content:space-between;align-items:center;gap:8px;min-height:40px;margin:-10px -8px 2px 0;display:flex}.panel-head .panel-title{margin:0}.panel-subtitle{color:var(--ink-2);margin:20px 0 8px;font-size:14px;font-weight:700}.phone-narrow{flex-direction:column;display:flex}.phone-single{padding:16px 16px calc(84px + env(safe-area-inset-bottom));flex:1;justify-content:center;align-items:flex-start;display:flex}.phone-single>.panel{width:100%;max-width:560px}.phone-narrow.has-call .phone-single{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.tabbar{z-index:5;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--edge);background:var(--face);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:var(--ink-2);background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:8px 0 10px;font-size:12px;font-weight:650;display:flex}.tabbar button.is-on{color:var(--accent-fg)}.blocked{text-align:center;max-width:480px;margin:48px auto;padding:0 16px}.blocked-actions{justify-content:center;gap:8px;margin-top:16px;display:flex}.dialer{flex-direction:column;align-items:center;gap:14px;width:100%;max-width:400px;display:flex}.readout{border:1px solid var(--edge);background:color-mix(in oklab, var(--accent) 8%, var(--face-2));border-radius:16px;align-items:center;width:100%;min-height:86px;padding:14px 48px;display:flex;position:relative;box-shadow:inset 0 2px 6px #1d2a3324,0 1px #fff9;container-type:inline-size}.readout-input{width:100%;color:var(--ink);caret-color:var(--accent-fg);font-family:var(--font-digits);font-size:clamp(28px,7vw,40px);font-size:clamp(15px, calc(100cqi / (var(--chars,10) * .68)), 40px);letter-spacing:.03em;text-align:center;background:0 0;border:0;outline:none;padding:0;font-weight:500}.readout-input::placeholder{color:var(--ink-2);font-family:var(--font-ui);letter-spacing:0;font-size:17px}.readout:focus-within{outline:2px solid var(--accent-fg);outline-offset:2px}.readout-back{width:40px;height:40px;color:var(--ink-2);background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.readout-back:hover{background:color-mix(in oklab, var(--accent) 10%, var(--face));color:var(--ink)}.dialer-notice{min-height:1.4em;color:var(--stop);text-align:center;margin:-6px 0 -4px;font-size:14px}.keypad{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:360px;display:grid}.key{border:1px solid var(--edge);border-radius:var(--r-key);background:var(--face);height:64px;box-shadow:var(--key-shadow);color:var(--ink);touch-action:manipulation;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.key:hover{background:color-mix(in oklab, var(--face-2) 60%, var(--face))}.key:active{box-shadow:var(--key-pressed);transform:translateY(1px)}.key-digit{font-family:var(--font-digits);font-size:26px;font-weight:500;line-height:1}.key-letters{min-height:12px;color:var(--ink-2);letter-spacing:.14em;margin-top:3px;font-size:10px;font-weight:700;line-height:1}.keypad-compact .key{height:54px}.call-btn{background:var(--go);width:70px;height:70px;box-shadow:0 2px 8px color-mix(in srgb, var(--go) 45%, transparent);color:#fff;border:0;border-radius:50%;place-items:center;margin-top:4px;display:grid}.call-btn:hover{background:color-mix(in oklab, var(--go) 86%, #000)}.call-btn:active{transform:translateY(1px)}.stage{text-align:center;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:420px;padding:8px 0 24px;display:flex}.stage-who{border:1px solid var(--edge);background:color-mix(in oklab, var(--accent) 8%, var(--face-2));border-radius:16px;width:100%;padding:18px 16px 16px;box-shadow:inset 0 2px 6px #1d2a331f}.stage-name{overflow-wrap:anywhere;margin:0;font-size:28px;font-weight:750}.stage-number{color:var(--ink-2);font-family:var(--font-digits);margin:4px 0 0;font-size:18px}.stage-status{min-height:1.6em;color:var(--ink-2);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 12px;margin:10px 0 0;font-size:16px;font-weight:600;display:flex}.stage-time{color:var(--ink);font-family:var(--font-digits);font-variant-numeric:tabular-nums;font-size:22px;font-weight:500}.stage-held .stage-who{background:color-mix(in oklab, var(--led-hold) 12%, var(--face-2))}.stage-incoming .stage-who{background:color-mix(in oklab, var(--led-idle) 12%, var(--face-2))}.stage-ended .stage-who{opacity:.75}.stage-note{color:var(--ink-2);margin:-6px 0 0;font-size:14px;font-weight:600}.stage-note-warn{color:var(--stop)}.stage-answer{justify-content:center;gap:48px;margin-top:8px;display:flex}.round-btn{color:var(--ink);background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;padding:0;font-size:15px;font-weight:700;display:flex}.round-btn svg{color:#fff;border-radius:50%;width:76px;height:76px;padding:22px}.round-go svg{background:var(--go);box-shadow:0 2px 10px color-mix(in srgb, var(--go) 50%, transparent)}.round-stop svg{background:var(--stop);box-shadow:0 2px 10px color-mix(in srgb, var(--stop) 45%, transparent)}.round-btn:active svg{transform:translateY(1px)}.controls{grid-template-columns:repeat(4,1fr);gap:10px;width:100%;display:grid}.control{border:1px solid var(--edge);border-radius:var(--r-key);background:var(--face);box-shadow:var(--key-shadow);color:var(--ink);flex-direction:column;align-items:center;gap:6px;padding:14px 4px 12px;font-size:13px;font-weight:700;display:flex}.control:hover{background:color-mix(in oklab, var(--face-2) 60%, var(--face))}.control:active{box-shadow:var(--key-pressed)}.control:disabled{opacity:.4;cursor:not-allowed}.control-on,.control-on:hover{background:var(--accent);color:var(--on-accent);border-color:#0000}.hangup-btn{background:var(--stop);width:72px;height:72px;box-shadow:0 2px 10px color-mix(in srgb, var(--stop) 45%, transparent);color:#fff;border:0;border-radius:50%;place-items:center;display:grid}.hangup-btn:hover{background:color-mix(in oklab, var(--stop) 86%, #000)}.stage-keypad{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.stage-dtmf{min-height:1.4em;font-family:var(--font-digits);letter-spacing:.08em;margin:0;font-size:24px}.stage-consult{border:1px solid color-mix(in oklab, var(--accent) 35%, var(--edge));background:color-mix(in oklab, var(--accent) 10%, var(--face));border-radius:14px;width:100%;padding:12px 14px}.stage-consult p{margin:0 0 10px;font-weight:600}.stage-consult-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.transfer{text-align:left;flex-direction:column;gap:10px;width:100%;display:flex}.transfer-label{font-weight:700}.transfer-list{border:1px solid var(--edge);background:var(--face);border-radius:12px;max-height:220px;margin:0;padding:4px;list-style:none;overflow:auto}.transfer-pick{text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:14px 1fr auto;align-items:center;gap:10px;width:100%;padding:8px 10px;display:grid}.transfer-pick:hover{background:var(--face-2)}.transfer-name{font-weight:600}.transfer-number{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:14px}.transfer-actions{flex-wrap:wrap;gap:8px;display:flex}.transfer-help{color:var(--ink-2);margin:0;font-size:13px}.others{text-align:left;width:100%}.others h3{color:var(--ink-2);margin:0 0 8px;font-size:14px}.others-waiting h3{color:var(--ink)}.others ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.other-call{border:1px solid var(--edge);background:var(--face);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.other-call-ringing{border-color:color-mix(in oklab, var(--led-ring) 55%, var(--edge));background:color-mix(in oklab, var(--led-ring) 12%, var(--face))}.other-call-who{text-align:left;background:0 0;border:0;flex-direction:column;flex:1;min-width:0;padding:0;display:flex}.other-call-name{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.other-call-state{color:var(--ink-2);font-size:13px}.other-call-actions{gap:6px;display:flex}.search{border:1px solid var(--edge-strong);border-radius:var(--r-field);background:var(--face);color:var(--ink-2);align-items:center;gap:8px;margin-bottom:12px;padding:0 10px;display:flex}.search:focus-within{outline:2px solid var(--accent-fg);outline-offset:1px}.search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:9px 0}.linekeys{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.linekey{border:1px solid var(--edge);background:var(--face);box-shadow:var(--key-shadow);border-radius:12px;align-items:stretch;display:flex;overflow:hidden}.linekey-main{text-align:left;background:0 0;border:0;flex:1;grid-template-columns:14px 1fr auto;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:grid}.linekey-main:hover{background:color-mix(in oklab, var(--face-2) 60%, var(--face))}.linekey-main:active{box-shadow:var(--key-pressed)}.linekey-name{white-space:nowrap;text-overflow:ellipsis;font-weight:650;overflow:hidden}.linekey-number{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:14px}.linekey-pickup{border:0;border-left:1px solid var(--edge);background:color-mix(in oklab, var(--led-ring) 18%, var(--face));align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:750;display:flex}.linekey-pickup:hover{background:color-mix(in oklab, var(--led-ring) 30%, var(--face))}.recent-list{margin:0;padding:0;list-style:none}.recent-list li{position:relative}.recent-row{text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;width:100%;padding:9px 8px;display:grid}.recent-list li:hover .recent-row{background:var(--face-2)}.recent-remove{width:32px;height:32px;color:var(--ink-2);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.recent-remove:hover{background:color-mix(in oklab, var(--stop) 12%, var(--face));color:var(--stop)}@media (hover:hover){.recent-remove{opacity:0}.recent-list li:hover .recent-remove,.recent-list li:focus-within .recent-remove{opacity:1}.recent-list li:hover .recent-when,.recent-list li:focus-within .recent-when{visibility:hidden}}@media (hover:none){.recent-row{padding-right:44px}}.recent-problem{margin:0 0 8px}.recent-icon{color:var(--ink-2);place-items:center;display:grid}.recent-who{flex-direction:column;min-width:0;display:flex}.recent-name{white-space:nowrap;text-overflow:ellipsis;font-weight:650;overflow:hidden}.recent-detail,.recent-when{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:13px}.recent-missed .recent-icon,.recent-missed .recent-name{color:var(--stop)}.clear-groups{border:0;min-width:0;margin:0;padding:0}.clear-groups legend{padding:0 0 12px;font-weight:700}.clear-group{border:1px solid var(--edge);cursor:pointer;border-radius:12px;grid-template-columns:auto 22px 1fr auto;align-items:center;gap:10px;padding:12px 14px;display:grid}.clear-group+.clear-group{margin-top:8px}.clear-group input{accent-color:var(--stop);margin:0}.clear-group:has(input:checked){border-color:color-mix(in oklab, var(--stop) 60%, var(--edge));background:color-mix(in oklab, var(--stop) 6%, var(--face))}.clear-group:has(input:disabled){color:var(--ink-2);cursor:default}.clear-group-icon{color:var(--ink-2);place-items:center;display:grid}.clear-group.is-missed .clear-group-icon{color:var(--stop)}.clear-group-label{font-weight:650}.clear-group-count{color:var(--ink-2);font-variant-numeric:tabular-nums}.clear-note{color:var(--ink-2);margin:16px 0 0;font-size:14px}.field label{margin-bottom:6px;font-size:14px;font-weight:700;display:block}.field-hint{color:var(--ink-2);margin:6px 0 0;font-size:13px}.field-error .field-hint{color:var(--stop)}.input{border:1px solid var(--edge-strong);border-radius:var(--r-field);background:var(--face);width:100%;min-height:42px;color:var(--ink);padding:9px 12px}.input:focus{outline:2px solid var(--accent-fg);outline-offset:1px}.input:disabled{background:var(--face-2);color:var(--ink-2)}textarea.input{resize:vertical}.fieldset{border:1px solid var(--edge);border-radius:14px;flex-direction:column;gap:12px;margin:0;padding:12px 14px 16px;display:flex}.fieldset legend{padding:0 6px;font-size:14px;font-weight:750}.toggle{cursor:pointer;align-items:center;gap:12px;font-weight:650;display:flex;position:relative}.toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle-track{background:var(--edge-strong);border-radius:999px;flex:none;width:42px;height:24px;transition:background .15s;position:relative}.toggle-track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.toggle input:checked+.toggle-track{background:var(--accent)}.toggle input:checked+.toggle-track:after{transform:translate(18px)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--accent-fg);outline-offset:2px}.toggle input:disabled+.toggle-track{opacity:.5}.segmented{border:1px solid var(--edge-strong);border-radius:var(--r-field);align-self:flex-start;display:inline-flex;overflow:hidden}.segmented button{background:var(--face);border:0;padding:8px 16px;font-weight:650}.segmented button+button{border-left:1px solid var(--edge-strong)}.segmented button.is-on{background:var(--accent);color:var(--on-accent)}.color-row{align-items:center;gap:10px;display:flex}.color-row input[type=color]{border:1px solid var(--edge-strong);border-radius:var(--r-field);background:var(--face);flex:none;width:48px;height:42px;padding:3px}.color-row .input{max-width:140px;font-family:var(--font-digits)}.logo-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.logo-preview{object-fit:contain;border:1px solid var(--edge);background:var(--face);border-radius:8px;max-width:120px;max-height:44px;padding:4px}.sheet{border:0;border-left:1px solid var(--edge);background:var(--face);width:min(460px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;color:var(--ink);margin:0;padding:0;position:fixed;inset:0 0 0 auto;box-shadow:-16px 0 40px #11171c2e}.sheet::backdrop{background:#11171c61}.sheet-body{flex-direction:column;height:100%;display:flex}.sheet-head{border-bottom:1px solid var(--edge);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 14px 20px;display:flex}.sheet-head h2{margin:0;font-size:19px}.sheet-content{flex:1;padding:20px;overflow:auto}.sheet-foot{padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--edge);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.settings-group{border-bottom:1px solid var(--edge);flex-direction:column;gap:14px;margin-bottom:20px;padding-bottom:20px;display:flex}.settings-group:last-child{border-bottom:0}.settings-group h3{margin:0;font-size:16px}.settings-group p{margin:0}.settings-signout{margin-top:4px}.confirm-delete{flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.secret-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.secret-row code{background:var(--face-2);font-family:var(--font-digits);word-break:break-all;border-radius:8px;padding:6px 10px;font-size:15px}.login{place-items:center;min-height:100dvh;padding:24px;display:grid}.login-panel{border:1px solid var(--edge);background:var(--face);border-radius:20px;flex-direction:column;gap:16px;width:min(380px,100%);padding:28px;display:flex}.login-panel h1{margin:4px 0 0;font-size:24px}.admin-app{flex-direction:column;min-height:100dvh;display:flex}.callbar{border-bottom:1px solid var(--edge);background:color-mix(in oklab, var(--go) 14%, var(--face));flex-wrap:wrap;align-items:center;gap:10px 12px;padding:8px 16px;font-weight:650;display:flex}.callbar-ringing{background:color-mix(in oklab, var(--led-ring) 20%, var(--face))}.callbar-text{flex:1;min-width:160px}.admin-body{flex:1;grid-template-columns:240px minmax(0,1fr);min-height:0;display:grid}.admin-nav{border-right:1px solid var(--edge);background:var(--face);flex-direction:column;gap:8px;padding:16px 12px;display:flex}.admin-nav ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.admin-nav a{border-radius:var(--r-field);color:var(--ink);align-items:center;gap:10px;padding:9px 12px;font-weight:650;text-decoration:none;display:flex}.admin-nav a:hover{background:var(--face-2)}.admin-nav a.is-on{background:color-mix(in oklab, var(--accent) 14%, var(--face));color:var(--accent-fg)}.admin-nav-group{color:var(--ink-2);margin:14px 12px 2px;font-size:13px;font-weight:700}.company-picker{color:var(--ink-2);flex-direction:column;gap:4px;margin:0 4px 10px;font-size:13px;font-weight:700;display:flex}.admin-main{width:100%;max-width:1120px;padding:28px 32px 48px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:20px;display:flex}.page-head h1{margin:0;font-size:26px}.page-actions{gap:8px;display:flex}.filters{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.filters label{min-width:200px;color:var(--ink-2);flex-direction:column;gap:4px;font-size:13px;font-weight:700;display:flex}.filters .input,.company-picker .input{color:var(--ink);font-size:15px;font-weight:400}.table{border:1px solid var(--edge);border-collapse:separate;border-spacing:0;background:var(--face);border-radius:14px;width:100%;overflow:hidden}.table th{border-bottom:1px solid var(--edge);background:var(--face-2);color:var(--ink-2);text-align:left;padding:10px 14px;font-size:13px;font-weight:750}.table td{border-bottom:1px solid var(--edge);vertical-align:top;padding:11px 14px;font-size:15px}.table tbody tr:last-child td{border-bottom:0}.row-link{cursor:pointer}.row-link:hover td{background:color-mix(in oklab, var(--face-2) 55%, var(--face))}.cell-link{color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;padding:0;font-weight:750;display:inline-flex}.cell-link:hover{color:var(--accent-fg)}.cell-sub{color:var(--ink-2);margin-top:2px;font-size:13px;display:block}.cell-code{color:var(--ink-2);word-break:break-all;font-size:13px}.cell-actions{text-align:right}.swatch{border-radius:4px;flex:none;width:12px;height:12px;margin-right:8px;display:inline-block;box-shadow:inset 0 0 0 1px #00000026}.state{background:var(--face-2);border-radius:999px;padding:2px 9px;font-size:13px;font-weight:750;display:inline-block}.state-ok{background:color-mix(in oklab, var(--led-idle) 18%, var(--face));color:var(--go)}.state-error{background:color-mix(in oklab, var(--led-busy) 16%, var(--face));color:var(--stop)}.state-pending{background:color-mix(in oklab, var(--led-ring) 22%, var(--face))}.branding{grid-template-columns:minmax(280px,420px) minmax(260px,1fr);align-items:start;gap:32px;display:grid}.branding-preview{border:1px solid var(--edge);border-radius:var(--r-panel);background:var(--body);margin:0;overflow:hidden}.branding-preview figcaption{color:var(--ink-2);padding:8px 14px;font-size:13px;font-weight:700}.preview-strip{border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);background:var(--face);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.preview-body{flex-direction:column;align-items:center;gap:16px;padding:24px;display:flex}.readout-sample{border:1px solid var(--edge);background:color-mix(in oklab, var(--accent) 8%, var(--face-2));width:100%;font-family:var(--font-digits);text-align:center;border-radius:14px;padding:14px;font-size:34px;box-shadow:inset 0 2px 6px #1d2a3324}.btn-sample{pointer-events:none}.form-error p{margin:0}.error-info{color:var(--ink-2);margin-top:6px}.error-info summary{cursor:pointer;font-weight:650}.error-info code{background:var(--face-2);font-family:var(--font-digits);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin-top:6px;padding:8px 10px;font-size:12.5px;display:block}.conn{align-items:center;gap:8px;margin:0;display:inline-flex}.conn .led{flex:none}.row-actions{gap:4px;display:inline-flex}.conn-panel{border:1px solid var(--edge);background:var(--face-2);border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex}.conn-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-weight:700;display:flex}.conn-panel .field-hint{margin:0}.findings{flex-direction:column;gap:10px;display:flex}.versions{flex-wrap:wrap;gap:6px 18px;margin:0;display:flex}.versions div{gap:6px;display:flex}.versions dt{color:var(--ink-2);font-size:13px;font-weight:700}.versions dd{font-family:var(--font-digits);margin:0;font-size:13px}.lamp-list{flex-direction:column;gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.lamp-list li{word-break:break-word;align-items:center;gap:10px;display:flex}.identity{border-top:1px solid var(--edge);justify-content:space-between;align-items:flex-start;gap:10px;padding-top:10px;display:flex}.identity code{font-family:var(--font-digits);word-break:break-all;font-size:13px}.identity-label{margin:0 0 4px;font-size:14px;font-weight:700}.identity-check{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.identity-check>p,.identity-check .field-hint{margin:0}.fingerprint{font-family:var(--font-digits);letter-spacing:.01em;word-break:break-all;font-size:15px;font-weight:700;display:block}.portal-key{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.portal-key .field-hint{margin:0}.code-block{border:1px solid var(--edge);background:var(--face-2);width:100%;font-family:var(--font-digits);white-space:pre-wrap;word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:10px;padding:10px 12px;font-size:12.5px;line-height:1.5;display:block}.note-ok{background:color-mix(in oklab, var(--led-idle) 14%, var(--face));border-radius:10px;margin:0;padding:10px 12px;font-size:14px}.notice{border:1px solid color-mix(in oklab, var(--led-ring) 45%, var(--edge));background:color-mix(in oklab, var(--led-ring) 12%, var(--face));border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;font-weight:650;display:flex}.notice .led{flex:none}.notice-text{flex:1;min-width:200px}.pick-list{border:1px solid var(--edge);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.pick-list li+li{border-top:1px solid var(--edge)}.pick-list label{cursor:pointer;grid-template-columns:auto 64px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;display:grid}.pick-list label:hover{background:var(--face-2)}.pick-list label.is-disabled{color:var(--ink-2);cursor:default}.pick-list input{width:18px;height:18px;accent-color:var(--accent)}.pick-number{font-family:var(--font-digits);font-weight:700}.pick-text{flex-direction:column;min-width:0;display:flex}.pick-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pick-sub{color:var(--ink-2);font-size:13px}.state-cell{flex-direction:column;align-items:flex-start;gap:6px;display:inline-flex}.state-cell .conn{font-size:13px}.remote-actions{border-bottom:1px solid var(--edge);flex-direction:column;align-items:flex-start;gap:12px;padding-bottom:16px;display:flex}.action-row{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.action-row .field-hint{margin:0}.action-row-inline{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.delete-box{flex-direction:column;gap:10px;width:100%;font-size:14px;font-weight:600;display:flex}.field-static{flex-direction:column;gap:4px;margin:0;display:flex}.field-static span:first-child{font-size:14px;font-weight:700}.embed{border-bottom:1px solid var(--edge);flex-direction:column;gap:8px;padding-bottom:16px;display:flex}.embed .field-hint{margin:0}@media (max-width:959px){.strip-me .strip-name{display:none}}@media (max-width:820px){.admin-body{grid-template-columns:minmax(0,1fr)}.admin-nav{border-right:0;border-bottom:1px solid var(--edge);flex-direction:row;align-items:center;gap:8px;padding:8px 12px;overflow-x:auto}.admin-nav ul{flex-direction:row}.admin-nav a{white-space:nowrap}.admin-nav-group{display:none}.company-picker{flex-direction:row;align-items:center;margin:0}.admin-main{padding:18px 16px 40px}.table{display:block;overflow-x:auto}.branding{grid-template-columns:minmax(0,1fr)}}@media (max-width:600px){.sheet{border-left:0;border-radius:18px 18px 0 0;width:100vw;height:auto;max-height:92dvh;inset:auto 0 0}.row-2{grid-template-columns:minmax(0,1fr)}.strip{gap:10px}.strip-line span:last-child,.phone-app .strip-link,.admin-app .strip-title{display:none}.strip-link{white-space:nowrap}}@media (max-width:380px){.controls{grid-template-columns:repeat(2,1fr)}.key{height:58px}.stage-answer{gap:28px}}@media (prefers-reduced-motion:reduce){.led-ringing,.led-connecting{outline:2px solid var(--led-ring);outline-offset:1px;animation:none}.toggle-track,.toggle-track:after{transition:none}.key:active,.call-btn:active,.round-btn:active svg{transform:none}}
