:root{color-scheme:dark;--bg:#0b1221;--panel:#131e31;--panel2:#19263b;--line:#26334a;--text:#edf3ff;--muted:#8f9eb6;--blue:#397cf5;--green:#44d3a2;--red:#fa7d87;--radius:17px;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.55}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.45}a{color:#83adff;text-decoration:none}a:hover{text-decoration:underline}button{border:1px solid transparent;border-radius:9px;padding:9px 15px;background:var(--panel2);color:var(--text);transition:background .15s,transform .15s}button:hover{background:#253751}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7aabff;outline-offset:3px}.primary{background:var(--blue);color:white}.primary:hover{background:#518eff}.secondary{border-color:#34445f;background:transparent}.danger{background:#492932;color:#ffb1b7}.danger:hover{background:#63333c}.text-button{background:transparent;color:var(--muted);padding:5px}.small{padding:6px 10px;font-size:12px}.icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.shell{min-height:100vh;display:grid;grid-template-columns:224px minmax(0,1fr)}.sidebar{padding:30px 18px;background:#10192a;border-right:1px solid #1d2b40;display:flex;flex-direction:column;gap:33px;position:fixed;inset:0 auto 0 0;width:224px;z-index:5}.brand{display:flex;align-items:center;gap:11px;padding:0 10px}.brand-mark{display:grid;place-items:center;width:39px;height:39px;background:linear-gradient(140deg,#5b99ff,#215add);color:white;border-radius:12px;font-size:29px;line-height:1;box-shadow:0 4px 20px #245ac52a}.brand-name{font-size:22px;font-weight:750;letter-spacing:3px}.brand-caption{font-size:10px;letter-spacing:2px;color:var(--muted)}.nav{display:grid;gap:7px}.nav button{display:flex;gap:13px;align-items:center;width:100%;padding:13px 16px;background:transparent;text-align:left;color:#9dabc1;border-radius:10px}.nav button:hover{background:#18263e;color:#e0ecff}.nav button.active{background:#244c94;color:#f2f7ff}.nav-label{font-size:10px;color:#64758e;letter-spacing:2px;padding:0 17px 10px}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding:19px 10px 0;color:var(--muted);font-size:12px}.admin{display:flex;align-items:center;gap:10px;margin-bottom:14px}.avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#21344f;color:#a8c8ff;font-size:12px}.main{grid-column:2;min-width:0}.topbar{height:82px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1d293d;gap:16px}.breadcrumb{color:var(--muted);font-size:12px}.breadcrumb strong{margin-left:10px;color:#e4edff;font-size:13px;font-weight:500}.topbar-actions{display:flex;align-items:center;gap:12px}.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:#708097;margin-right:7px}.status-dot.good{background:var(--green);box-shadow:0 0 10px #44d3a230}.top-status{font-size:12px;color:var(--muted);white-space:nowrap}.workspace{max-width:1540px;margin:auto;padding:35px 42px 48px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.eyebrow{color:#7c91b0;font-size:11px;letter-spacing:2px;margin:0 0 7px}.page-head h1{font-size:26px;letter-spacing:1px;line-height:1.35;margin:0;font-weight:650}.subtitle{color:var(--muted);margin:9px 0 0;font-size:13px}.head-actions{display:flex;gap:9px;flex-shrink:0}.notice{display:flex;align-items:flex-start;gap:13px;padding:17px 20px;border:1px solid #2d466b;background:#14243b;border-radius:12px;margin-bottom:25px}.notice .icon{color:#79aaff;margin-top:2px}.notice strong{font-size:13px;font-weight:600}.notice p{margin:3px 0 0;color:#96a8c3;font-size:12px}.notice button{margin-left:auto;flex-shrink:0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:31px}.metric{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:21px 23px;position:relative}.metric-label{color:#93a4bd;font-size:12px}.metric-value{font-size:32px;line-height:1.2;font-weight:600;margin:13px 0 10px;letter-spacing:-1px}.metric-note{font-size:11px;color:#7589a7}.metric>.icon{position:absolute;right:23px;top:24px;color:#5789df}.section-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 17px;gap:12px}.section-head h2{font-size:16px;margin:0;font-weight:600}.section-head h2 span{font-size:12px;color:#71829d;margin-left:10px;font-weight:400}.section-head a,.section-head button{font-size:12px}.device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:18px}.device-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;min-width:0}.device-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.device-symbol{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:#223955;color:#89b1f6}.device-symbol .icon{width:25px;height:25px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:4px 9px;border-radius:6px;color:#9facbe;background:#243043;white-space:nowrap}.badge::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.badge.online{color:#59dfb0;background:#183b36}.badge.offline{color:#b0bacb;background:#283345}.badge.pending{color:#e0ba7c;background:#3a3028}.device-card h3{font-size:16px;font-weight:600;margin:18px 0 3px;overflow-wrap:anywhere}.device-meta{color:#8194b0;font-size:11px;overflow-wrap:anywhere}.device-details{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;padding:20px 0;margin:17px 0 15px;border-block:1px solid #243249}.detail-label{font-size:10px;color:#71839e;margin-bottom:4px}.detail-value{font-size:12px;color:#d4e1f5;overflow-wrap:anywhere}.mono{font-family:Consolas,"Cascadia Mono",monospace;letter-spacing:.1px}.device-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.device-actions .delete{margin-left:auto;padding:6px;color:#8092ad}.download{display:inline-block;padding:6px 10px;border:1px solid #354864;border-radius:7px;font-size:12px;color:#9ebef8}.download:hover{background:#203250;text-decoration:none}.empty{border:1px dashed #30405a;border-radius:var(--radius);text-align:center;padding:42px 24px;background:#101a2b}.empty .empty-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 17px;border-radius:17px;background:#1b2c46;color:#6e9ce9}.empty .empty-icon .icon{width:29px;height:29px}.empty h3{font-size:16px;margin:0 0 7px}.empty p{color:var(--muted);font-size:12px;max-width:440px;margin:0 auto 19px}.overview-bottom{display:grid;grid-template-columns:1.1fr 1fr;gap:23px;margin-top:30px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:23px}.panel h2{font-size:15px;margin:0 0 20px;font-weight:600}.event{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #243046;font-size:12px}.event:last-child{border:0}.event-dot{height:7px;width:7px;background:#466a9a;border-radius:50%;margin-top:6px;flex-shrink:0}.event p{margin:0;overflow-wrap:anywhere}.event time{display:block;font-size:10px;color:#7486a0;margin-top:3px}.muted{color:var(--muted)}.hint{color:var(--muted);font-size:12px;line-height:1.8}.steps{list-style:none;padding:0;margin:0;display:grid;gap:17px}.steps li{display:flex;gap:12px;align-items:flex-start}.step-number{display:grid;place-items:center;width:24px;height:24px;border:1px solid #35517a;color:#8ab3f9;border-radius:7px;flex-shrink:0;font-size:11px}.steps strong{font-size:12px;font-weight:500}.steps p{font-size:11px;color:#8295b2;margin:3px 0 0}.toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:22px}.search{max-width:300px;position:relative;flex:1}.search .icon{position:absolute;left:12px;top:11px;color:#6b7d98;width:17px;height:17px}.search input{padding-left:39px;width:100%;height:40px}.toolbar-select{min-width:160px;max-width:240px}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow:auto;background:var(--panel)}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{padding:15px 21px;color:#7f91ae;font-weight:500;font-size:11px;background:#172337}td{padding:20px 21px;border-top:1px solid #243149;font-size:12px}td strong{display:block;font-size:13px;font-weight:500}td small{color:#768ca9;display:block;font-size:10px;margin-top:3px}.table-actions{display:flex;gap:7px;align-items:center}.table-actions button{font-size:11px;padding:6px 9px}.table-actions .text-button{color:#e49ba4}.settings-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:17px 0;border-bottom:1px solid #253249}.setting-row:last-child{border:0;padding-bottom:0}.setting-row:first-of-type{padding-top:0}.setting-row strong{font-size:12px;font-weight:500}.setting-row p{color:#7d91ae;font-size:11px;margin:4px 0 0}.setting-value{font-size:12px;color:#aec5e7;overflow-wrap:anywhere;text-align:right}.code-block{padding:16px;background:#0b1526;border:1px solid #243650;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.9 Consolas,monospace;color:#b0c6e7;margin:15px 0}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.guide-grid .panel p,.guide-grid .panel li{font-size:12px;color:#9aacc5;line-height:1.9}.guide-grid .panel h2{display:flex;align-items:center;gap:9px;color:#dbe9ff;margin-bottom:15px}.guide-grid ol,.guide-grid ul{padding-left:20px}.guide-grid .panel:last-child{grid-column:1/-1}.footer-note{font-size:10px;color:#607692;margin-top:28px;text-align:center}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);padding:13px 20px;background:#243957;border:1px solid #46668d;color:#e2edff;border-radius:11px;box-shadow:0 10px 35px #0005;z-index:30;max-width:calc(100vw - 32px);font-size:13px}.toast.error{border-color:#9c4a5b;background:#412a36}dialog{color:var(--text);background:#152137;border:1px solid #354763;border-radius:18px;padding:0;width:min(530px,calc(100vw - 32px));max-height:90vh;box-shadow:0 24px 90px #0008}dialog::backdrop{background:#030915bc;backdrop-filter:blur(5px)}.dialog-head{padding:23px 26px 19px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2a3850}.dialog-head h2{margin:0;font-size:19px;font-weight:600}.close-button{background:transparent;color:#8d9db5;padding:4px;font-size:25px;line-height:1}.dialog-body{padding:23px 26px}.dialog-foot{padding:17px 26px;border-top:1px solid #2a3850;display:flex;justify-content:flex-end;gap:10px;background:#121d30}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}.form-field{display:block;min-width:0}.form-field.wide{grid-column:1/-1}.form-field>span{display:block;color:#b8c8df;font-size:12px;margin-bottom:7px}input,select{background:#0e192b;border:1px solid #30415b;border-radius:8px;color:#e2edff;padding:10px 12px;width:100%;min-width:0}input::placeholder{color:#5d718e}input:focus,select:focus{border-color:#5a91f4;outline:0}select{height:42px}label small{display:block;font-size:10px;color:#788eac;margin-top:6px}.check{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:#b1c1d9}.check input{width:15px;height:15px;margin:3px 0 0;accent-color:var(--blue)}.form-error{padding:10px 13px;border-radius:8px;border:1px solid #754453;background:#3b2632;color:#ffb4bd;font-size:12px;margin-top:17px}.dialog-description{color:#94a7c3;font-size:12px;margin:0 0 20px}.auth-screen{min-height:100vh;display:grid;grid-template-columns:1.15fr 1fr;background:radial-gradient(ellipse at 20% 50%,#172e55 0,transparent 65%),#0b1323}.auth-story{padding:70px max(50px,10vw);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid #21324c}.auth-story .brand{padding:0}.auth-story h1{font-size:40px;line-height:1.6;letter-spacing:2px;margin-bottom:20px}.auth-story p{color:#8fa6c8;max-width:350px;line-height:2}.orbit-art{height:185px;position:relative;max-width:370px;margin:38px 0}.orbit-art::before,.orbit-art::after{content:"";position:absolute;border:1px solid #365d963d;border-radius:50%;inset:15px 25px;transform:rotate(-25deg)}.orbit-art::after{inset:40px 0;transform:rotate(25deg)}.orbit-node{position:absolute;width:45px;height:45px;display:grid;place-items:center;background:#1f3b65;border:1px solid #426ca6;border-radius:13px;color:#9cc4ff;box-shadow:0 0 35px #286bdd18}.orbit-node:nth-child(1){top:66px;left:145px;width:56px;height:56px;background:#2867cf;color:#fff;z-index:2}.orbit-node:nth-child(2){top:0;left:40px}.orbit-node:nth-child(3){bottom:0;left:20px}.orbit-node:nth-child(4){right:0;top:40px}.auth-story footer{font-size:11px;color:#5d769a}.auth-main{display:flex;align-items:center;justify-content:center;padding:45px}.auth-box{width:340px}.auth-box h2{font-size:25px;margin:0 0 8px}.auth-box>.hint{margin-bottom:29px}.auth-box .form-field{margin-bottom:18px}.auth-box .primary{width:100%;margin-top:7px;padding:12px}.auth-note{font-size:10px;line-height:1.9;color:#627b9f;margin-top:25px}.boot{height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#8498b6;gap:14px}.compact .shell{grid-template-columns:190px 1fr}.compact .sidebar{width:190px}.compact .workspace{max-width:1020px}.compact .metrics{grid-template-columns:repeat(3,1fr)}.compact .metric:last-child{display:none}.compact .device-grid{grid-template-columns:repeat(auto-fill,minmax(255px,1fr))}.compact .overview-bottom{grid-template-columns:1fr}.compact .overview-bottom>.panel:last-child{display:none}[hidden]{display:none!important}@media(min-width:1500px){.workspace{padding-top:43px}.device-grid{grid-template-columns:repeat(auto-fill,minmax(285px,1fr))}}@media(max-width:1100px){.sidebar{width:194px;padding-inline:13px}.shell{grid-template-columns:194px 1fr}.workspace{padding:28px}.topbar{padding:0 28px}.metrics{gap:12px}.metric{padding:18px}.metric>.icon{right:17px;top:20px}.metric-note{font-size:10px}.overview-bottom,.settings-grid{grid-template-columns:1fr}.auth-story{padding:50px}.auth-story h1{font-size:31px}}@media(max-width:760px){.shell,.compact .shell{display:block}.sidebar,.compact .sidebar{position:static;width:auto;padding:19px 18px 0;gap:19px;border-right:0;border-bottom:1px solid var(--line)}.brand-mark{width:32px;height:32px;font-size:24px;border-radius:9px}.brand-name{font-size:20px}.brand-caption{font-size:8px}.nav{display:flex;gap:3px;overflow:auto;padding-bottom:10px}.nav button{width:auto;flex-shrink:0;padding:9px 12px;gap:7px;font-size:12px}.nav .icon{width:16px;height:16px}.nav-label,.sidebar-footer{display:none}.main{width:100%}.topbar{height:60px;padding:0 20px}.workspace{padding:25px 20px}.page-head{align-items:flex-start}.page-head h1{font-size:23px}.subtitle{font-size:11px;max-width:240px}.head-actions{flex-wrap:wrap;justify-content:flex-end;max-width:160px;gap:6px}.head-actions button{font-size:11px;padding:8px 10px}.top-status{font-size:10px}.topbar-actions{gap:5px}.metrics,.compact .metrics{grid-template-columns:repeat(2,1fr);gap:11px;margin-bottom:25px}.compact .metric:last-child{display:block}.metric-value{font-size:27px;margin:12px 0 6px}.notice{padding:14px;gap:10px}.notice button{font-size:10px;padding:5px}.notice strong{font-size:12px}.notice p{font-size:11px}.device-grid,.compact .device-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr))}.overview-bottom,.guide-grid{grid-template-columns:1fr}.guide-grid .panel:last-child{grid-column:auto}.toolbar{flex-wrap:wrap}.search{max-width:none}.toolbar-select{min-width:125px;max-width:165px;font-size:12px}.auth-screen{display:block}.auth-story{padding:30px;border:0}.auth-story>div:nth-child(2),.auth-story footer{display:none}.auth-main{padding:40px 28px}.auth-box{width:100%;max-width:370px}.form-grid{gap:15px 12px}.dialog-body{padding:20px}.dialog-head,.dialog-foot{padding:18px 20px}.footer-note{font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.form-grid>.wide{grid-column:1/-1}.spaced-panel{margin-top:22px}
.pairing-copy{display:flex;gap:10px;align-items:center}.pairing-copy input{min-width:0;flex:1}.pairing-copy button{flex-shrink:0}.pairing-dialog .form-field{margin-bottom:20px}.pairing-code{font-size:25px;letter-spacing:3px;font-weight:700;color:var(--primary,#7697ff)}.pairing-expiry{font-size:13px;color:var(--muted,#9ca9c6);margin-top:-6px}.device-advanced{font-size:12px;margin-right:auto}.device-advanced summary{cursor:pointer;color:var(--muted,#9ca9c6);padding:7px}.device-advanced[open]{width:100%;order:3}.device-advanced>div{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0 0}.device-actions{flex-wrap:wrap}@media(max-width:480px){.pairing-code{font-size:20px;letter-spacing:2px}.pairing-copy{gap:6px}.pairing-copy button{padding:9px 10px}}
