.wan-test-card{padding:22px;margin:0;min-width:0;border:1px solid #217e9a80;border-radius:16px;background:linear-gradient(145deg,#0b2334,#101526);color:#dfedf8}.wan-test-title{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.wan-test-title h3{display:flex;align-items:center;gap:8px;margin:7px 0;font-size:20px;color:#e1f7ff}.wan-test-title>span{font-size:12px;color:#91cddd;border:1px solid #2d6176;border-radius:20px;padding:6px 12px}.wan-test-eyebrow{color:#72ccd9;font-size:10px;letter-spacing:1.7px}.wan-test-path{font-size:13px;color:#94b4c8;margin:8px 0 18px}.wan-test-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.wan-test-metrics>div{padding:15px;border-radius:12px;border:1px solid #2a425d;background:#0b1524}.wan-test-metrics span{display:flex;align-items:center;gap:7px;color:#aec8dc;font-size:12px}.wan-test-metrics strong{display:block;font-size:32px;line-height:1.5;font-variant-numeric:tabular-nums;color:#f1f8ff}.wan-test-metrics small{font-size:12px;font-weight:400;color:#8cabc6}.wan-test-note{font-size:12px;line-height:1.6;color:#a9c0d4;margin:12px 0}.wan-test-result-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin:16px 0 8px}.wan-test-result-badge{font-size:12px;font-weight:650;color:#b1ecf6;border:1px solid #387485;background:#123442;padding:5px 9px;border-radius:6px}.wan-test-result-heading time{font-size:12px;color:#b8cbd9;font-variant-numeric:tabular-nums}.wan-test-result-context{font-size:12px;line-height:1.6;color:#a9c0d4;margin:8px 0 14px}.wan-test-method{font-size:12px;line-height:1.6;color:#a9c0d4;margin:12px 0}.wan-test-method summary{cursor:pointer;color:#b1d4e1}.wan-test-method summary:focus-visible{outline:2px solid #72ccd9;outline-offset:4px}.wan-test-method p{margin:6px 0}.wan-test-diagnostics{padding:10px 14px;margin:12px 0 16px;border-left:3px solid #489ab3;border-radius:6px;background:#122536;font-size:13px;line-height:1.6}.wan-test-diagnostics p{margin:4px 0}.wan-test-stale{border-left-color:#d6aa64;background:#2c281f;color:#f3dbb5}.wan-test-card .dialog-box{color:#dbe7f3}.wan-test-card .dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:18px}@media(max-width:768px){.wan-test-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.wan-test-card{padding:16px}.wan-test-metrics>div{padding:12px}.wan-test-metrics strong{font-size:27px}.wan-test-title h3{font-size:18px}}.infrastructure-panel{min-width:0}.infrastructure-intro{font-size:12px;line-height:1.6;color:var(--muted-foreground);margin:-4px 0 16px}.infrastructure-site+.infrastructure-site{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.infrastructure-site h3{display:flex;align-items:center;gap:8px;font-size:14px;margin:0 0 12px;color:var(--foreground)}.infrastructure-site-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.infrastructure-uplink{font-size:11px;line-height:1.6;color:var(--muted-foreground);margin:0 0 12px}.infrastructure-uplink span{display:block;font-size:10px}.infrastructure-assets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0;margin:0;list-style:none}.infrastructure-asset{padding:12px;min-width:0;border:1px solid var(--border);border-radius:10px;background:#0b1120bf}.infrastructure-asset-title{display:flex;align-items:flex-start;gap:7px;margin-bottom:8px}.infrastructure-asset-title svg{flex-shrink:0;color:var(--primary);margin-top:1px}.infrastructure-asset h4{font-size:13px;line-height:1.4;margin:0;overflow-wrap:anywhere}.infrastructure-badge{display:inline-block;font-size:10px;font-weight:650;line-height:1.5;padding:3px 7px;border:1px solid var(--border);border-radius:5px;color:var(--muted-foreground)}.infrastructure-badge.status-online,.infrastructure-badge.status-link_up{color:var(--good);background:var(--good-bg);border-color:var(--good-border)}.infrastructure-badge.status-link_down{color:var(--danger);background:var(--danger-bg);border-color:var(--danger-border)}.infrastructure-badge.status-stale{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-border)}.infrastructure-asset p{font-size:11px;line-height:1.6;margin:8px 0;color:var(--muted-foreground);overflow-wrap:anywhere}.infrastructure-connection{color:var(--foreground)!important}.infrastructure-mapping{display:block;font-size:10px;color:var(--warn);margin:6px 0}.infrastructure-meta{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding-top:8px;border-top:1px solid var(--border);font-size:10px;line-height:1.5;color:var(--muted-foreground);overflow-wrap:anywhere}.infrastructure-details{margin-top:8px;font-size:11px;color:var(--muted-foreground)}.infrastructure-details summary{cursor:pointer;padding:4px 0}.infrastructure-details summary:focus-visible{outline:2px solid var(--primary);outline-offset:3px}@media(max-width:1100px){.infrastructure-assets{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.infrastructure-assets{grid-template-columns:minmax(0,1fr)}.infrastructure-panel .panel-heading{align-items:flex-start;flex-direction:column;gap:6px}}.family-control-panel{position:relative;overflow:hidden;min-width:0;margin-bottom:16px;border-color:#06b6d44d;background:linear-gradient(145deg,#0a1b2dfa,#0d1527fa 55%,#0b1120fa)}.family-control-panel:before{content:"";position:absolute;inset:0 18% auto;height:1px;background:linear-gradient(90deg,transparent,rgba(34,211,238,.75),transparent);pointer-events:none}.family-control-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.family-control-heading h2{font-size:22px;letter-spacing:-.35px;margin:7px 0 5px}.family-control-heading p{max-width:760px;margin:0;color:var(--muted-foreground);font-size:12px;line-height:1.65}.family-control-eyebrow{display:flex;align-items:center;gap:7px;color:#67e8f9;font-size:10px;font-weight:750;letter-spacing:1.55px}.family-phase{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;border:1px solid var(--neutral-border);border-radius:999px;padding:6px 10px;font-size:10px;font-weight:750;letter-spacing:.55px;color:var(--neutral-text);background:var(--neutral-bg)}.family-tone-good{color:#34d399;border-color:var(--good-border);background:var(--good-bg)}.family-tone-warn{color:#fbbf24;border-color:var(--warn-border);background:var(--warn-bg)}.family-tone-danger{color:#fb7185;border-color:var(--danger-border);background:var(--danger-bg)}.family-tone-pending{color:#67e8f9;border-color:#06b6d461;background:#06b6d41a}.family-spin{animation:family-spin 1.1s linear infinite}@keyframes family-spin{to{transform:rotate(360deg)}}.family-agent-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--border);border-radius:10px;background:#070b1494}.family-agent-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;color:var(--warn);background:var(--warn-bg);border:1px solid var(--warn-border)}.family-agent-icon.ready{color:var(--good);background:var(--good-bg);border-color:var(--good-border);box-shadow:0 0 18px #10b98117}.family-agent-strip strong{display:block;font-size:12px}.family-agent-strip span{display:block;margin-top:2px;color:var(--muted-foreground);font-size:10px;line-height:1.5}.family-refresh{padding:7px 10px;font-size:11px}.family-alert{display:flex;align-items:flex-start;gap:9px;margin-top:11px;padding:10px 12px;border:1px solid rgba(56,189,248,.25);border-radius:8px;background:#38bdf814;color:#bae6fd;font-size:11px;line-height:1.55}.family-alert svg{flex:0 0 auto;margin-top:1px}.family-alert.warning{color:#fcd98a;border-color:var(--warn-border);background:var(--warn-bg)}.family-alert.danger{color:#fda4af;border-color:var(--danger-border);background:var(--danger-bg)}.family-recovery{align-items:center;flex-wrap:wrap}.family-recovery>span{flex:1 1 260px}.family-recovery button{flex:0 0 auto}.family-service-help.warning-text{color:var(--warn)}.family-device-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:16px 0;padding:13px 15px;border:1px solid var(--border);border-radius:10px;background:#0b1120c2}.family-device-bar>div{min-width:0}.family-device-bar>div>span{display:flex;align-items:center;gap:7px;color:#7dd3fc;font-size:10px;font-weight:750;letter-spacing:1px}.family-device-bar strong{display:block;margin-top:5px;font-size:15px}.family-device-bar small{display:block;margin-top:2px;color:var(--muted-foreground);font-size:10px;line-height:1.5}.family-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.family-service{position:relative;min-width:0;padding:16px;border:1px solid var(--border);border-radius:12px;background:#070b14a1}.family-service:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;border-radius:12px 0 0 12px;background:#06b6d4;opacity:.7}.family-youtube:before{background:#fb7185}.family-tiktok:before{background:#22d3ee}.family-service-title{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.family-service-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(56,189,248,.25);border-radius:10px;color:#67e8f9;background:#06b6d417}.family-youtube .family-service-icon{color:#fb7185;border-color:#f43f5e42;background:#f43f5e17}.family-service-title h3{font-size:16px;margin:0}.family-service-title p{font-size:10px;color:var(--muted-foreground);margin:2px 0 0}.family-service-state{justify-self:end;padding:4px 7px;border:1px solid var(--neutral-border);border-radius:5px;background:var(--neutral-bg);color:var(--neutral-text);font-size:9px;font-weight:800;letter-spacing:.45px;white-space:nowrap}.family-service-state.blocked{color:#fb7185;border-color:var(--danger-border);background:var(--danger-bg)}.family-service-state.allowed{color:#34d399;border-color:var(--good-border);background:var(--good-bg)}.family-service-state.pending{color:#fbbf24;border-color:var(--warn-border);background:var(--warn-bg)}.family-policy-evidence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:14px 0}.family-policy-evidence>div{padding:8px;border:1px solid rgba(26,39,66,.8);border-radius:7px;background:#0d1527bf;min-width:0}.family-policy-evidence dt{color:var(--muted-foreground);font-size:9px;text-transform:uppercase;letter-spacing:.45px}.family-policy-evidence dd{margin-top:3px;color:var(--foreground);font-size:11px;font-weight:650;overflow-wrap:anywhere}.family-policy-evidence small{display:block;color:var(--muted-subtle);font-size:8px;font-weight:500;font-variant-numeric:tabular-nums}.family-toggle{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:40px;border:1px solid rgba(6,182,212,.36);border-radius:8px;color:#a5f3fc;background:#06b6d41a;font-size:12px;font-weight:700;transition:border-color .15s ease,background .15s ease,transform .15s ease}.family-toggle:not(:disabled):hover{border-color:#22d3ee;background:#06b6d429;transform:translateY(-1px)}.family-toggle.turn-off{color:#fda4af;border-color:var(--danger-border);background:var(--danger-bg)}.family-toggle.turn-off:not(:disabled):hover{border-color:#fb7185;background:#f43f5e33}.family-toggle-track{position:relative;width:31px;height:17px;flex:0 0 auto;border-radius:999px;background:#26344c;border:1px solid #3b4c67}.family-toggle-track>span{position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:#94a3b8;transition:transform .16s ease,background .16s ease}.family-toggle.turn-off .family-toggle-track{background:#f43f5e38;border-color:#fb718599}.family-toggle.turn-off .family-toggle-track>span{transform:translate(14px);background:#fb7185}.family-service-help{margin:7px 0 0;color:var(--muted-foreground);font-size:10px;line-height:1.45;text-align:center}.family-verification-line{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:11px;border-top:1px solid var(--border);color:var(--muted-foreground);font-size:9px;line-height:1.5;font-variant-numeric:tabular-nums}.family-modal-overlay{z-index:70}.family-dialog{max-width:500px;border:1px solid rgba(56,189,248,.28);background:linear-gradient(145deg,#0d1527,#0a1221);color:var(--foreground)}.family-device-dialog{max-width:580px}.family-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:11px}.family-dialog-heading h3{margin:7px 0 0;font-size:19px}.family-dialog-heading>span{padding:5px 8px;border:1px solid var(--border);border-radius:6px;color:var(--muted-foreground);font-size:10px;font-variant-numeric:tabular-nums}.family-dialog>p{margin:0 0 12px;color:var(--muted-foreground);font-size:12px;line-height:1.65}.family-dialog .family-dialog-note{padding:10px 11px;border-left:3px solid var(--primary);border-radius:5px;background:#06b6d414;color:#b8dfea}.family-confirm-block{background:#e11d48;color:#fff;box-shadow:0 0 18px #e11d482e}.family-confirm-block:hover{background:#f43f5e}.family-candidate-list{max-height:min(45vh,410px);overflow:auto;display:flex;flex-direction:column;gap:7px;margin:13px 0;padding-right:3px}.family-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.family-scope-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:12px;border:1px solid var(--border);border-radius:9px;color:var(--muted-foreground);background:#070b148c;text-align:left;transition:border-color .15s ease,background .15s ease}.family-scope-option:not(:disabled):hover{border-color:#38bdf866}.family-scope-option.selected{color:#67e8f9;border-color:#22d3ee9e;background:#06b6d41f}.family-scope-option strong,.family-scope-option small{display:block}.family-scope-option strong{color:var(--foreground);font-size:12px}.family-scope-option small{margin-top:3px;color:var(--muted-foreground);font-size:9px;line-height:1.45}.family-all-users-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;margin:12px 0;padding:12px;border:1px solid var(--good-border);border-radius:9px;color:var(--good);background:var(--good-bg)}.family-all-users-note strong{display:block;font-size:12px}.family-all-users-note p{margin:3px 0 0;color:var(--muted-foreground);font-size:10px;line-height:1.55}.family-candidate{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 11px;border:1px solid var(--border);border-radius:8px;background:#070b148c;cursor:pointer;transition:border-color .15s ease,background .15s ease}.family-candidate:hover{border-color:#38bdf859}.family-candidate.selected{border-color:#06b6d480;background:#06b6d414}.family-candidate.discovery-only{cursor:not-allowed;opacity:.72;background:#070b1459}.family-candidate.discovery-only:hover{border-color:var(--border)}.family-candidate.family-missing{border-color:var(--warn-border);background:var(--warn-bg)}.family-candidate input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.family-checkbox{display:grid;place-items:center;width:18px;height:18px;border:1px solid #3b4c67;border-radius:5px;color:#061116;background:#111a2e;font-size:12px;font-weight:900}.family-candidate.selected .family-checkbox{border-color:#22d3ee;background:#22d3ee}.family-candidate-copy{min-width:0}.family-candidate-copy strong,.family-candidate-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-candidate-copy strong{font-size:12px}.family-candidate-copy small{margin-top:2px;color:var(--muted-foreground);font-size:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.family-confirmed{padding:3px 6px;border:1px solid var(--good-border);border-radius:4px;color:var(--good);background:var(--good-bg);font-size:8px;font-weight:800;letter-spacing:.45px}.family-needs-label{padding:3px 6px;border:1px solid var(--warn-border);border-radius:4px;color:var(--warn);background:var(--warn-bg);font-size:8px;font-weight:800;letter-spacing:.45px}.family-open-devices{width:100%;justify-content:center;margin:0 0 4px}.family-empty{display:flex;flex-direction:column;align-items:center;gap:7px;margin:14px 0;padding:22px;border:1px dashed var(--border);border-radius:9px;color:var(--muted-foreground);text-align:center}.family-empty strong{color:var(--foreground);font-size:12px}.family-empty span{font-size:10px;line-height:1.5}.family-empty button{margin-top:5px}@media(max-width:780px){.family-control-heading{flex-direction:column}.family-phase{align-self:flex-start}.family-service-grid{grid-template-columns:minmax(0,1fr)}.family-agent-strip{grid-template-columns:auto minmax(0,1fr)}.family-agent-strip .family-refresh{grid-column:1/-1;width:100%;justify-content:center}}@media(max-width:520px){.family-control-panel{padding:16px}.family-control-heading h2{font-size:20px}.family-device-bar{align-items:stretch;flex-direction:column}.family-device-bar button{justify-content:center}.family-service{padding:13px}.family-service-title{grid-template-columns:auto minmax(0,1fr)}.family-service-state{grid-column:1/-1;justify-self:start}.family-policy-evidence,.family-scope-grid{grid-template-columns:minmax(0,1fr)}.family-candidate{grid-template-columns:auto auto minmax(0,1fr)}.family-confirmed,.family-needs-label{grid-column:3;justify-self:start}.family-dialog{padding:18px}.family-dialog .dialog-actions{flex-direction:column-reverse}.family-dialog .dialog-actions button{justify-content:center;width:100%}}@media(prefers-reduced-motion:reduce){.family-spin{animation:none}.family-toggle{transition:none}.family-toggle-track>span{transition:none}}.router-power-panel{margin:18px 0;border-color:#fb923c4d;background:linear-gradient(145deg,#22171efa,#0d1527fa);min-width:0}.router-power-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.router-power-eyebrow{display:flex;align-items:center;gap:7px;color:#fdba74;font-size:10px;font-weight:750;letter-spacing:1.1px}.router-power-heading h2{font-size:20px;letter-spacing:-.3px;margin:8px 0 7px}.router-power-heading p,.router-power-help{color:var(--muted-foreground);font-size:12px;line-height:1.6;margin:0}.router-power-badge{flex:0 0 auto;border:1px solid #6a4337;background:#fb923c12;color:#fdba74;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:700}.router-power-badge.ready{border-color:#34d39959;color:#6ee7b7;background:#10b98114}.router-power-availability{font-size:12px;color:#cbd5e1;margin:15px 0 12px;line-height:1.6}.router-power-actions,.router-power-dialog-actions{display:flex;flex-wrap:wrap;gap:10px}.router-power-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 14px;border-radius:8px;border:1px solid rgba(251,146,60,.4);background:#f973161c;color:#fed7aa;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer}.router-power-button:not(:disabled):hover{background:#f9731638;border-color:#fb923c}.router-power-button.shutdown{color:#fecdd3;border-color:#fb718573;background:#e11d4821}.router-power-button.shutdown:not(:disabled):hover{background:#e11d483d;border-color:#fb7185}.router-power-button.neutral{background:#172136;border-color:#35445e;color:#e2e8f0}.router-power-button:disabled{opacity:.46;cursor:not-allowed}.router-power-button:focus-visible,.router-power-dialog input:focus-visible{outline:2px solid #7dd3fc;outline-offset:3px}.router-power-help{margin-top:9px;font-size:11px}.router-power-result{border-top:1px solid var(--border);margin-top:16px;padding-top:13px}.router-power-result strong{font-size:12px;color:#e2e8f0}.router-power-result p{font-size:12px;color:var(--muted-foreground);margin:4px 0;line-height:1.55}.router-power-result small{display:block;color:var(--muted-foreground);font-size:10px;margin-top:8px}.router-power-notice{border:1px solid rgba(251,146,60,.35);border-radius:8px;background:#fb923c12;padding:10px 12px;color:#fed7aa;font-size:12px;line-height:1.6;margin:12px 0 0}.router-power-dialog{box-sizing:border-box;margin:auto;width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;border:1px solid #6f443e;border-radius:14px;padding:24px;background:linear-gradient(145deg,#1b1927,#0d1527);color:#e2e8f0;box-shadow:0 24px 80px #0009}.router-power-dialog::backdrop{background:#020610d6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.router-power-dialog h3{font-size:21px;margin:10px 0 15px;letter-spacing:-.3px}.router-power-warning{border-left:3px solid #fb923c;border-radius:5px;background:#fb923c12;padding:9px 12px;margin-bottom:18px}.router-power-warning p{font-size:12px;line-height:1.65;margin:3px 0 7px;color:#fde3cb}.router-power-phrase{display:block;font-size:12px;line-height:1.8;color:#cbd5e1}.router-power-phrase code{display:block;font-size:13px;color:#fdba74;overflow-wrap:anywhere}.router-power-dialog input[type=text],.router-power-dialog input:not([type]){box-sizing:border-box;width:100%;background:#080f1e;color:#f1f5f9;border:1px solid #475569;border-radius:7px;padding:11px 12px;margin:7px 0 8px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px}.router-power-check{display:flex;align-items:flex-start;gap:10px;margin:13px 0;color:#cbd5e1;font-size:12px;line-height:1.6;cursor:pointer}.router-power-check input{flex:0 0 auto;width:17px;height:17px;margin:2px 0 0;accent-color:#fb923c}.router-power-check.uncertain{color:#fcd34d}.router-power-verification{margin:18px 0 4px;padding-top:16px;border-top:1px solid #354052}.router-power-verification p{font-size:12px;line-height:1.6;margin:0 0 12px;color:#cbd5e1}.router-power-verification small{display:block;margin-top:9px;color:#94a3b8;font-size:11px}.router-power-google{max-width:100%;overflow:hidden;min-height:44px;margin:8px 0}.router-power-verification .router-power-approved{display:flex;gap:8px;align-items:flex-start;color:#6ee7b7}.router-power-approved svg{flex:0 0 auto;margin-top:2px}.router-power-dialog-actions{justify-content:flex-end;margin-top:21px;padding-top:16px;border-top:1px solid #354052}@media(max-width:600px){.router-power-heading{flex-direction:column;gap:10px}.router-power-heading h2{font-size:19px}.router-power-actions .router-power-button{flex:1 1 180px}.router-power-dialog{padding:18px}.router-power-dialog h3{font-size:19px}.router-power-dialog-actions .router-power-button{flex:1 1 100%;width:100%}.router-power-dialog-actions .neutral{order:2}}:root{--background: #070b14;--background-subtle: #0b1120;--card: #0d1527;--card-hover: #121c33;--card-border: #1a2742;--card-border-glow: rgba(56, 189, 248, .22);--foreground: #f8fafc;--muted: #111a2e;--muted-foreground: #94a3b8;--muted-subtle: #64748b;--border: #1a2742;--accent: #132038;--primary: #06b6d4;--primary-hover: #22d3ee;--primary-glow: rgba(6, 182, 212, .35);--accent-cyan: #38bdf8;--accent-blue: #60a5fa;--good: #10b981;--good-bg: rgba(16, 185, 129, .12);--good-border: rgba(16, 185, 129, .32);--good-glow: rgba(16, 185, 129, .45);--warn: #f59e0b;--warn-bg: rgba(245, 158, 11, .12);--warn-border: rgba(245, 158, 11, .32);--danger: #f43f5e;--danger-bg: rgba(244, 63, 94, .14);--danger-border: rgba(244, 63, 94, .35);--neutral-bg: #121a2d;--neutral-border: #1e2c46;--neutral-text: #94a3b8;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0;border-color:var(--border)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--background);background-image:radial-gradient(circle at 50% -10%,rgba(14,165,233,.12) 0%,transparent 55%),linear-gradient(180deg,#070b14,#060910);background-attachment:fixed;color:var(--foreground);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:#1e293b;border-radius:4px;border:2px solid var(--background)}::-webkit-scrollbar-thumb:hover{background:#334155}button,a,input{-webkit-tap-highlight-color:transparent;font:inherit}button{cursor:pointer;border:none;background:none}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}a{text-decoration:none;color:inherit}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(180deg,#080d19,#060912);border-right:1px solid var(--border);color:#94a3b8;padding:26px 16px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:20}.brand{display:flex;align-items:center;gap:12px;color:#f8fafc;font-size:20px;font-weight:750;letter-spacing:.8px;padding:0 8px 18px;border-bottom:1px solid rgba(26,39,66,.6)}.brand>div{line-height:1.15}.brand>div>span{display:block;font-size:10px;color:var(--accent-cyan);letter-spacing:2.2px;font-weight:700;margin-top:3px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.brand-mark{font-size:28px;letter-spacing:-3px;line-height:1;font-weight:900;color:#f8fafc;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,#06b6d433,#38bdf814);border:1px solid rgba(56,189,248,.35);border-radius:10px;box-shadow:0 0 12px #06b6d42e}.brand-mark span{color:var(--primary-hover);text-shadow:0 0 8px var(--primary)}.workspace-label{font-size:10px;letter-spacing:2px;color:#64748b;margin:24px 8px 12px;font-weight:700;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.nav-list{display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 13px;border-radius:8px;color:#94a3b8;font-size:14px;font-weight:500;transition:all .15s ease;text-align:left;border:1px solid transparent}.nav-item:hover{background:#121c33b3;color:#f8fafc;border-color:#38bdf826}.nav-item.active{background:linear-gradient(90deg,#06b6d429,#0d152799);color:var(--primary-hover);border-color:#06b6d459;font-weight:600;box-shadow:inset 3px 0 0 var(--primary),0 0 14px #06b6d41a}.sidebar-bottom{margin-top:auto;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.mini-router{display:flex;align-items:center;gap:10px;padding:8px;background:#0d152799;border:1px solid rgba(26,39,66,.8);border-radius:8px}.mini-router strong{font-size:12px;color:#f8fafc;display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.mini-router span{font-size:10.5px;color:#94a3b8;display:block}.cloud-badge{font-size:10.5px;color:var(--good);display:flex;align-items:center;gap:6px;background:#10b9811a;border:1px solid rgba(16,185,129,.25);padding:6px 10px;border-radius:6px;font-weight:600;letter-spacing:.3px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.sidebar-credit{font-size:10px;letter-spacing:1.5px;color:#64748b;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;text-align:center;padding-top:4px}.workspace{min-width:0;display:flex;flex-direction:column}.topbar{min-height:72px;border-bottom:1px solid var(--border);background:#fff;padding:12px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:10}.topbar-left{display:flex;align-items:center;gap:10px;font-size:14px}.crumb{color:var(--muted-foreground);display:flex;align-items:center;gap:8px}.topbar-right{display:flex;align-items:center;gap:12px}.user-chip{display:flex;align-items:center;gap:8px;background:#f1f6f9;padding:5px 10px;border-radius:20px;font-size:13px;color:#2c3e50;border:1px solid #dae3ea}.user-chip img{width:22px;height:22px;border-radius:50%}.button-link,.button-secondary{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600;background:#fff;color:var(--foreground);transition:all .15s ease}.button-link:hover,.button-secondary:hover{background:#f6f9fb;border-color:#cbd5e1}.button-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--primary);color:#fff;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:600;transition:background .15s ease}.button-primary:hover{background:var(--primary-hover)}.page{padding:28px 32px;max-width:1600px;width:100%;margin:0 auto}.page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--primary)}h1{font-size:26px;font-weight:700;letter-spacing:-.5px;margin:6px 0 8px}h2{font-size:16px;font-weight:650;letter-spacing:-.2px}p{color:var(--muted-foreground);line-height:1.55;font-size:14px}.sync{text-align:right;flex-shrink:0;display:flex;align-items:flex-end;flex-direction:column;gap:4px}.sync small{font-size:11px;color:var(--muted-foreground)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:6px;font-size:11px;font-weight:650;line-height:1.3;white-space:nowrap}.badge.good{background:var(--good-bg);color:var(--good)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.badge.neutral{background:#eff3f6;color:#627183}.dot{width:6px;height:6px;border-radius:50%;background:currentColor}.dot.pulse{animation:pulse 1.8s infinite}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.stat{border:1px solid var(--border);border-radius:12px;padding:18px 20px;background:#fff;box-shadow:0 1px 3px #1028390a}.stat>span{display:flex;gap:8px;align-items:center;color:var(--muted-foreground);font-size:13px;font-weight:500}.stat>strong{display:block;font-weight:700;font-size:34px;letter-spacing:-1px;margin:12px 0 6px;font-variant-numeric:tabular-nums;line-height:1}.stat>strong small{font-size:13px;font-weight:400;color:var(--muted-foreground);margin-left:6px}.stat p{font-size:11px}.panel{border:1px solid var(--border);border-radius:12px;background:#fff;padding:22px 24px;margin-bottom:20px;box-shadow:0 1px 3px #1028390a}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-heading>span{font-size:11px;color:var(--muted-foreground)}.connectivity-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.connection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.connection-card{border:1px solid #e2e9ed;border-radius:10px;background:#f8fbfc;padding:12px 14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start}.connection-card>svg{color:var(--primary);margin-top:2px}.connection-card span{font-size:11px;color:var(--muted-foreground)}.connection-card strong{display:block;font-size:17px;margin:4px 0}.connection-card p{font-size:11px}.speedtest-box{border:1px solid var(--border);border-radius:10px;padding:12px 16px;background:var(--background-subtle);min-width:0}.legacy-probe-summary{cursor:pointer;color:var(--muted-foreground);font-size:13px;font-weight:600}.legacy-probe-summary:focus-visible{outline:2px solid var(--primary);outline-offset:5px}.speedtest-box[open]>.legacy-probe-summary{margin-bottom:16px}.speedtest-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.speedtest-heading strong{display:block;font-size:16px;margin-top:4px}.speed-results{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0 8px}.speed-results>div{background:#f2f8f6;border-radius:8px;padding:10px}.speed-results span{display:block;font-size:10px;color:var(--muted-foreground)}.speed-results strong{font-size:19px;font-variant-numeric:tabular-nums}.speed-results small{font-size:10px;font-weight:500}.main-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:20px}.bottom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.port-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.port{border:1px solid #e3e9ed;border-radius:9px;padding:12px;background:#f9fbfc}.port.connected{background:#f0faf7;border-color:#c9e7db}.port>div{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:14px}.port strong{font-size:14px}.port p{font-size:11px;margin-top:3px}.chart{position:relative;margin-top:16px;padding-left:40px;min-height:160px}.chart svg{width:100%;height:180px}.chart-axis{position:absolute;top:12px;bottom:16px;left:0;display:flex;flex-direction:column;justify-content:space-between;font-size:10px;color:var(--muted-foreground)}.chart-empty{position:absolute;top:40px;right:0;bottom:40px;left:0;display:grid;place-items:center;color:var(--muted-foreground);font-size:13px}.chart-footer{display:flex;justify-content:space-between;font-size:10px;color:var(--muted-foreground);padding:0 0 0 40px}.graph-top{display:flex;align-items:center;justify-content:space-between}.legend{display:flex;gap:14px;font-size:11px;color:var(--muted-foreground)}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:8px;height:8px;border-radius:50%;background:#078d82}.legend span:last-child i{background:#5675dd}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:10px 12px;font-size:11px;font-weight:650;color:var(--muted-foreground);border-bottom:1px solid var(--border)}td{padding:13px 12px;border-bottom:1px solid #edf1f4;vertical-align:middle}tr:hover td{background:#fafbfc}.subtext{display:block;font-size:11px;color:var(--muted-foreground);margin-top:3px}.kv{margin:0}.kv>div{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,1.6fr);padding:11px 0;gap:16px;border-bottom:1px solid #edf1f4;font-size:13px}.kv>div:last-child{border-bottom:none}.kv dt{color:var(--muted-foreground)}.kv dd{font-weight:500;overflow-wrap:anywhere}.alert-banner{display:flex;gap:12px;align-items:center;padding:12px 16px;margin-bottom:20px;border:1px solid #f0d4a1;background:#fff7e9;border-radius:8px;color:#855715;font-size:13px}.alert-banner.danger{border-color:#f8b4b4;background:#fde8e8;color:#9b1c1c}.attention{display:grid;gap:14px}.attention-item{display:flex;gap:11px;align-items:flex-start}.attention-item svg{color:#bd8b37;flex-shrink:0;margin-top:2px}.attention-item strong{display:block;font-size:13px}.attention-item p{font-size:12px;margin-top:3px}.device-toolbar{margin-bottom:18px}.search{display:flex;align-items:center;gap:10px;border:1px solid var(--border);padding:9px 12px;border-radius:8px;margin-bottom:12px;background:#fff}.search input{flex:1;min-width:0;border:none;outline:none;font-size:14px}.filter-chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.filter-chips button{white-space:nowrap;border:1px solid #dce5ea;background:#f7f9fb;color:#607283;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:500}.filter-chips button.active{background:#dff4ee;border-color:#b8e1d4;color:#106f5e;font-weight:650}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#102839;padding:20px}.login-card{background:#fff;border-radius:16px;padding:36px 32px;max-width:440px;width:100%;box-shadow:0 10px 25px #0003}.login-brand{text-align:center;margin-bottom:24px}.login-brand h1{font-size:22px;margin-top:8px}.login-brand p{font-size:13px}.login-actions{display:flex;flex-direction:column;gap:14px;margin-top:24px}.google-btn{display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #dadce0;border-radius:8px;padding:11px 16px;font-size:14px;font-weight:600;color:#3c4043;background:#fff;transition:background .15s ease,box-shadow .15s ease;width:100%}.google-btn:hover{background:#f8f9fa;box-shadow:0 1px 3px #0000001a}.sim-box{border-top:1px dashed #d1d9e0;margin-top:20px;padding-top:16px}.sim-box h3{font-size:12px;font-weight:600;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10283999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.dialog-box{background:#fff;border-radius:12px;padding:24px;max-width:440px;width:100%;box-shadow:0 10px 25px #00000026}.dialog-box h2{font-size:18px;margin-bottom:6px}.dialog-box p{font-size:13px;margin-bottom:16px}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-group label{font-size:12px;font-weight:600;color:var(--muted-foreground)}.form-group input,.form-group select{border:1px solid var(--border);border-radius:6px;padding:9px 12px;font-size:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}footer{border-top:1px solid var(--border);padding:18px 0;margin-top:32px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted-foreground)}@media(max-width:1100px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.main-grid,.connectivity-panel{grid-template-columns:1fr}.port-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:768px){.app-shell{display:block}.sidebar{height:auto;position:relative;padding:14px 16px}.workspace-label,.sidebar-bottom{display:none}.nav-list{flex-direction:row;overflow-x:auto;margin-top:12px;gap:6px}.nav-item{white-space:nowrap;padding:8px 12px;font-size:13px}.topbar{padding:10px 16px;min-height:60px;flex-wrap:wrap;gap:10px}.topbar-right{flex-wrap:wrap;min-width:0;max-width:100%;gap:8px}.user-chip{max-width:100%;min-width:0}.user-chip>span{min-width:0;overflow-wrap:anywhere}.user-chip>svg,.user-chip>button{flex-shrink:0}.crumb{display:none}.page{padding:18px 16px}.page-title{flex-direction:column;align-items:flex-start;gap:10px}.sync{align-items:flex-start}.stats,.connection-grid,.bottom-grid{grid-template-columns:1fr}.speed-results{grid-template-columns:repeat(2,1fr)}footer{flex-direction:column;gap:8px}}.topbar{background:#070b14e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px #38bdf80a}.user-chip,.button-link,.button-secondary,.stat,.panel,.search,.connection-card,.port,.dialog-box{background:var(--card);color:var(--foreground);border-color:var(--border)}.stat,.panel{box-shadow:0 10px 30px #00000029,inset 0 1px #ffffff05}.stat:hover,.panel:hover{border-color:var(--card-border-glow)}.button-link:hover,.button-secondary:hover{background:var(--card-hover);border-color:#38bdf861}.button-primary{color:#041015;box-shadow:0 0 18px #06b6d433}.badge.good{border:1px solid var(--good-border)}.badge.warn{border:1px solid var(--warn-border)}.badge.danger{border:1px solid var(--danger-border)}.badge.neutral{background:var(--neutral-bg);color:var(--neutral-text);border:1px solid var(--neutral-border)}.connection-card,.port,.speed-results>div{background:#0b1120d1;border-color:var(--border)}.port.connected{background:#10b98112;border-color:var(--good-border)}.speedtest-box,th{border-color:var(--border)}td{border-color:#1a2742b8}tr:hover td{background:#121c33a6}.search input,.form-group input,.form-group select{color:var(--foreground);background:transparent}.form-group select option{color:var(--foreground);background:var(--card)}.form-group small{color:var(--muted-foreground);font-size:11px;line-height:1.45}.search input::placeholder,.form-group input::placeholder{color:var(--muted-subtle)}.filter-chips button{background:var(--neutral-bg);color:var(--neutral-text);border-color:var(--neutral-border)}.filter-chips button.active{background:#06b6d41f;color:var(--primary-hover);border-color:#06b6d461}.alert-banner{background:var(--warn-bg);color:#fbbf24;border-color:var(--warn-border)}.alert-banner.danger{background:var(--danger-bg);color:#fb7185;border-color:var(--danger-border)}.login-container{position:relative;overflow:hidden;background:linear-gradient(rgba(56,189,248,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.035) 1px,transparent 1px),radial-gradient(circle at 50% 0%,rgba(6,182,212,.18),transparent 48%),var(--background);background-size:42px 42px,42px 42px,auto,auto}.login-card{position:relative;background:#0d1527f5;color:var(--foreground);border:1px solid rgba(56,189,248,.28);box-shadow:0 28px 70px #00000075,0 0 35px #06b6d414}.login-card:before{content:"";position:absolute;inset:0 15% auto;height:1px;background:linear-gradient(90deg,transparent,var(--primary-hover),transparent)}.sim-box{border-color:var(--border)}.dialog-overlay{background:#02060ec7}.dialog-box{box-shadow:0 28px 70px #00000080}.dialog-box .form-group input:disabled{background:var(--background-subtle)!important;color:var(--muted-foreground)!important}.login-footer-credit,.sidebar-credit,.footer-credit{color:var(--muted-subtle);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;letter-spacing:1.25px;text-transform:none}.login-footer-credit{margin-top:22px;text-align:center}.footer-meta{display:flex;flex-direction:column;gap:4px}.footer-credit{align-self:flex-end;white-space:nowrap}@media(max-width:768px){.footer-credit{align-self:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.speedtest-action-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 10px}.speedtest-btn{background:linear-gradient(135deg,#0284c7,#0369a1);border:1px solid rgba(56,189,248,.4);box-shadow:0 0 12px #06b6d440;font-weight:650;letter-spacing:.2px;cursor:pointer;transition:all .2s ease}.speedtest-btn:hover:not(:disabled){background:linear-gradient(135deg,#0ea5e9,#0284c7);box-shadow:0 0 18px #06b6d466;transform:translateY(-1px)}.speedtest-btn:disabled{opacity:.6;cursor:not-allowed;filter:grayscale(.5);transform:none;box-shadow:none}.cooldown-hint{font-size:11px;color:#64748b;display:inline-flex;align-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.speedtest-alert{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;font-size:12px;margin:10px 0;border:1px solid}.speedtest-alert.info{background:#06b6d414;border-color:#06b6d44d;color:#0284c7}.speedtest-alert.error{background:#e11d4814;border-color:#e11d484d;color:#e11d48}.speedtest-alert.success{background:#10b98114;border-color:#10b9814d;color:#059669}.speedtest-alert button{margin-left:auto;font-size:16px;background:none;border:none;cursor:pointer;color:inherit}.speed-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column}.speed-card span{font-size:11px;color:#64748b;margin-bottom:4px}.speed-card strong{font-size:18px;color:#0f172a;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.speed-card strong small{font-size:11px;color:#64748b;margin-left:4px}.speedtest-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:12px 0 10px;padding:10px 12px;background:#f1f5f9;border-radius:8px;font-size:11px}.speedtest-meta-grid span{color:#64748b;display:block}.speedtest-meta-grid strong{color:#334155;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.speedtest-limitation-callout{margin-top:12px;padding:10px 12px;background:#fffbeb;border:1px solid #fef3c7;border-left:3px solid #f59e0b;border-radius:6px;font-size:11px;line-height:1.5;color:#92400e}.speedtest-limitation-callout strong{display:block;margin-bottom:2px;color:#78350f}.speedtest-dialog{max-width:520px}.dialog-header-warning{display:flex;align-items:center;gap:12px;margin-bottom:16px}.dialog-target{font-size:11px;color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.warning-card{background:#fff7ed;border:1px solid #fed7aa;border-left:4px solid #ea580c;border-radius:8px;padding:12px 14px;margin-bottom:16px;color:#9a3412;font-size:12px;line-height:1.5}.warning-card strong{display:block;margin-bottom:4px;color:#7c2d12}.safety-spec-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.spec-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:12px}.spec-item svg{color:var(--primary);flex-shrink:0;margin-top:2px}.spec-item strong{display:block;color:#1e293b;font-size:12px}.spec-item p{font-size:11px;color:#64748b;margin:2px 0 0}.confirm-speedtest-btn{background:linear-gradient(135deg,#0284c7,#0369a1)}.confirm-speedtest-btn:hover:not(:disabled){background:linear-gradient(135deg,#0ea5e9,#0284c7)}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pulse-glow{animation:pulseGlow 2s ease-in-out infinite}@keyframes pulseGlow{0%,to{box-shadow:0 0 6px #06b6d466}50%{box-shadow:0 0 16px #06b6d4cc}}@media(max-width:1050px){.connection-grid{grid-template-columns:1fr}}.wan-connection-card .badge{grid-column:2;justify-self:start}.wan-connection-card{grid-template-columns:auto minmax(0,1fr)}
