:root{color:#17201e;font-synthesis:none;letter-spacing:0;background:#f4f7f6;font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.boot{color:#32685e;place-content:center;justify-items:center;gap:12px;min-height:100vh;display:grid}.auth-shell{background:#e7efed;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{background:#fff;border:1px solid #d5dfdc;border-radius:8px;width:min(390px,100%);padding:28px;box-shadow:0 12px 36px #142f2a14}.brand-mark{color:#123c35;align-items:center;gap:10px;font-weight:750;display:flex}h1{margin:28px 0 20px;font-size:26px}h2{margin:14px 0 4px;font-size:22px}p{color:#697773;margin:0}label{gap:7px;margin:15px 0;font-size:14px;font-weight:650;display:grid}input{background:#fff;border:1px solid #bccbc7;border-radius:6px;outline:none;width:100%;height:46px;padding:0 12px}input:focus{border-color:#1d7564;box-shadow:0 0 0 3px #1d75641f}.primary,.secondary,.success{border:0;border-radius:6px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 18px;font-weight:700;display:inline-flex}.primary{color:#fff;background:#146454}.secondary{color:#263c37;background:#e4ebe9}.success{color:#fff;background:#2b7650}.wide{width:100%}.text-button{color:#35665d;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:6px;display:inline-flex}.auth-panel .text-button{width:100%;margin-top:8px}.app-shell{min-height:100vh}.topbar{color:#fff;background:#123c35;justify-content:space-between;align-items:center;height:64px;padding:0 max(18px,50vw - 520px);display:flex}.topbar .brand-mark{color:#fff}.icon-button{width:42px;height:42px;color:inherit;background:0 0;border:0;border-radius:6px;place-items:center;display:inline-grid}.icon-button svg{width:21px}.topbar .icon-button:hover{background:#ffffff1f}.outlined{color:#385e56;background:#fff;border:1px solid #c7d3d0}.content{max-width:1040px;margin:0 auto;padding:30px 22px 80px}.page-heading{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-heading h1{margin:0 0 5px}.pairing-band{background:#fff8e8;border-left:4px solid #da9b23;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:16px 18px;display:flex}.pairing-band div{align-items:baseline;gap:18px;display:flex}.pairing-band strong{letter-spacing:5px;font-size:28px}.pairing-band small{color:#695b3b}.device-list{border-top:1px solid #d7e0de}.device-row{text-align:left;width:100%;min-height:76px;color:inherit;background:0 0;border:0;border-bottom:1px solid #d7e0de;grid-template-columns:44px 1fr 24px;align-items:center;gap:12px;padding:10px 8px;display:grid}.device-row:hover{background:#eaf0ee}.device-row span:nth-child(2){gap:5px;display:grid}.device-row small{color:#71807c}.device-icon{color:#287565}.empty{color:#7c8a86;place-content:center;justify-items:center;gap:10px;height:180px;display:grid}.add-button{width:auto;margin-top:22px}.search{max-width:420px;margin-bottom:18px}.brand-list{border-top:1px solid #d7e0de;grid-template-columns:repeat(3,1fr);display:grid}.brand-list button{text-align:left;background:0 0;border:0;border-bottom:1px solid #d7e0de;grid-template-columns:1fr auto 20px;align-items:center;gap:8px;min-height:68px;padding:10px 12px;display:grid}.brand-list button:hover{background:#eaf0ee}.brand-list small{color:#788682}.match-workspace{text-align:center;max-width:560px;margin:20px auto}.left{width:auto;margin-right:auto}.candidate-count{color:#72807c;margin-top:30px;font-size:13px}.protocol{font-family:ui-monospace,monospace}.warning{color:#674d18;text-align:left;background:#fff5dc;border-left:3px solid #d99a20;margin:28px 0 16px;padding:12px}.test-button{min-height:58px}.match-actions{grid-template-columns:1fr 1.5fr;gap:10px;margin-top:12px;display:grid}.status-line{color:#687873;align-items:center;gap:8px;margin-bottom:16px;font-size:13px;display:flex}.status-dot{background:#9ca7a4;border-radius:50%;width:8px;height:8px}.status-dot.online{background:#25a269}.spacer{flex:1}.remote-surface{background:#fff;border:1px solid #d7e0de;border-radius:8px;padding:28px}.power-button{color:#697873;background:#fff;border:1px solid #b9c8c4;border-radius:50%;place-items:center;width:54px;height:54px;margin-left:auto;display:grid}.power-button.active{color:#fff;background:#c53838;border-color:#c53838}.temperature{grid-template-columns:46px minmax(130px,220px) 46px;place-content:center;align-items:center;gap:12px;margin:28px 0 38px;display:grid}.temperature .icon-button{color:#345c54;background:#edf2f1}.temperature strong{text-align:center;font-size:58px;font-weight:600}.temperature sup{vertical-align:top;font-size:18px}.control-group{grid-template-columns:70px 1fr;align-items:center;gap:16px;margin:18px 0;display:grid}.control-group>span{font-size:14px;font-weight:700}.segments{border:1px solid #c6d1ce;border-radius:6px;grid-template-columns:repeat(5,1fr);display:grid;overflow:hidden}.segments.four{grid-template-columns:repeat(4,1fr)}.segments button{color:#43544f;background:#fff;border:0;border-right:1px solid #c6d1ce;min-height:42px}.segments button:last-child{border:0}.segments button.active{color:#fff;background:#22695b}.toggle-row{text-align:left;background:#fff;border:0;border-top:1px solid #dce3e1;grid-template-columns:28px 1fr 42px;align-items:center;width:100%;height:54px;margin-top:28px;padding:10px 4px;display:grid}.switch{background:#b5c0bd;border-radius:11px;width:40px;height:22px;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px}.toggle-row.active .switch{background:#267364}.toggle-row.active .switch:after{transform:translate(18px)}.danger{color:#a43737;margin-top:18px}.device-actions{justify-content:space-between;margin-top:12px;display:flex}.device-actions .text-button{margin-top:0}.toast{color:#fff;background:#186453;border-radius:6px;min-width:220px;padding:14px 18px;position:fixed;bottom:22px;right:22px;box-shadow:0 8px 30px #0003}.toast.error{background:#a73535}@media (width<=720px){.topbar{padding:0 12px}.content{padding:24px 16px 70px}.brand-list{grid-template-columns:1fr}.pairing-band{flex-direction:column;align-items:flex-start}.pairing-band div{justify-content:space-between;width:100%}.remote-surface{padding:20px 14px}.control-group{grid-template-columns:1fr;gap:8px}.segments button{font-size:13px}.temperature strong{font-size:48px}.match-actions{grid-template-columns:1fr}}
