:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#25324a;background:#f5f7fb;color-scheme:light;font-synthesis:none;--primary:#3568ed;--muted:#8591a7;--border:#e6eaf1;--navy:#142447}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}svg{width:20px;height:20px;flex-shrink:0}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #96b8ff;outline-offset:3px}[hidden]{display:none!important}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#33c79a;flex-shrink:0}.section-kicker{font-size:11px;font-weight:600;letter-spacing:1.5px;color:#8995a9}
.brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:650;letter-spacing:-.4px}.brand small{display:block;font-size:10px;letter-spacing:1.5px;font-weight:400;margin-top:6px;color:#99a7c0}.brand-light{color:#fff}.brand-mark{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--primary);border-radius:12px;box-shadow:0 4px 15px #030b241a}.brand-mark svg{width:26px;height:26px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 17px;min-height:42px;border:1px solid transparent;border-radius:8px;background:var(--primary);color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap;transition:background .18s,box-shadow .18s,transform .18s}.button:hover:not(:disabled){background:#2856d1;box-shadow:0 3px 9px #3568ed20}.button:active:not(:disabled){transform:translateY(1px)}.button svg{width:17px;height:17px}.button.secondary{background:#fff;color:#546079;border-color:#dde3ed}.button.secondary:hover:not(:disabled){background:#f5f7fc;box-shadow:none}.button.danger{color:#d75050;background:#fff5f5;border-color:#f5dede}.button.danger:hover:not(:disabled){background:#ffe8e8;box-shadow:none}
.icon-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:transparent;color:#8a96a9;width:32px;height:32px;padding:6px}.icon-button:hover{color:#344769;background:#edf1f8}.text-button{display:inline-flex;align-items:center;gap:7px;border:0;padding:7px 0;background:transparent;color:#7d889c;font-size:12px}.text-button:hover{color:#3568ed}.text-button svg{width:16px;height:16px}.actions{display:flex;align-items:center;gap:10px}.loading-spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:spin .7s linear infinite;flex-shrink:0}.button.is-loading>svg,.button.is-loading>.stop-square{display:none}.button.is-loading:before,.text-button.is-loading:before{content:"";width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.text-button.is-loading>svg{display:none}@keyframes spin{to{transform:rotate(360deg)}}

/* 登录页 */
.login-layout{min-height:100vh;display:grid;grid-template-columns:52% 48%}.login-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;background:var(--navy);padding:40px 8.1% 29px 11.3%;color:#fff}.login-brand:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 110% 45%,#3866ad44,transparent 60%),radial-gradient(ellipse at 8% 100%,#314b8229,transparent 60%)}.login-brand:after{content:"";position:absolute;width:600px;height:600px;border:1px solid #ffffff05;border-radius:50%;right:-360px;top:80px;box-shadow:0 0 0 80px #ffffff02,0 0 0 160px #ffffff02;pointer-events:none}.login-brand>*{position:relative;z-index:1}
.login-intro{margin:55px 0 46px;max-width:450px}.intro-tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:1px;color:#a5c0ed;border:1px solid #a8bdde24;border-radius:20px;padding:7px 12px;background:#ffffff04}.intro-tag .dot{width:5px;height:5px;background:#739fff}.login-intro h1{font-size:clamp(34px,3.2vw,49px);font-weight:650;line-height:1.35;letter-spacing:1px;margin:21px 0 17px}.login-intro>p{font-size:13px;line-height:1.95;color:#a8b5ce}
.screen-illustration{position:relative;height:219px;margin-top:34px;max-width:390px}.illustration-window{position:absolute;top:17px;width:326px;height:186px;border:1px solid #6f91c442;border-radius:11px;background:#1d3157;box-shadow:0 20px 45px #080f2730;overflow:hidden;transform:perspective(800px) rotateY(-6deg)}.window-bar{height:27px;display:flex;align-items:center;gap:4px;padding:0 11px;background:#263c61;border-bottom:1px solid #6f91c41c}.window-bar>span{width:5px;height:5px;background:#57729c;border-radius:50%}.window-bar>span:first-child{background:#c08087}.window-bar>span:nth-child(2){background:#bba26f}.window-bar>span:nth-child(3){background:#619c8e}.window-bar>i{font-size:7px;letter-spacing:1px;font-style:normal;color:#8da5cb;margin-left:auto}.window-content{height:158px;display:flex}.mock-nav{width:48px;background:#192c50;padding:15px 10px}.mock-nav b,.mock-nav span{display:block;border-radius:2px;height:3px;background:#415d86;margin-bottom:10px}.mock-nav b{height:12px;margin-bottom:19px;background:#3c5d92}.mock-content{padding:17px;flex:1}.mock-heading{height:5px;background:#95afd8;width:62px;border-radius:2px;margin-bottom:14px}.mock-stats{display:flex;gap:7px}.mock-stats i{height:27px;flex:1;background:#334e76;border:1px solid #50729e23;border-radius:4px}.mock-stats i:nth-child(2){background:#2d526b}.mock-cards{display:flex;gap:9px;margin-top:12px}.mock-cards>div{flex:1;padding:11px;background:#294267;border:1px solid #6f91c42b;border-radius:5px}.mock-cards b{display:block;width:14px;height:17px;border:1px solid #7896c5;border-radius:3px;margin-bottom:7px}.mock-cards i{display:block;width:42px;height:3px;background:#7896c5;border-radius:2px}.mock-cards span{display:block;height:9px;margin-top:8px;background:#416ede;border-radius:2px}
.illustration-phone{position:absolute;right:0;top:0;width:94px;height:177px;border:3px solid #536f9b;border-radius:19px;background:#162846;box-shadow:0 15px 25px #08132b40;transform:rotate(6deg);padding:14px 6px 9px}.phone-camera{position:absolute;top:6px;left:37px;width:13px;height:3px;background:#879ac1;border-radius:3px}.phone-screen{height:100%;display:flex;align-items:center;flex-direction:column;justify-content:center;background:linear-gradient(150deg,#2c4678,#213459);border-radius:11px}.phone-icon{width:32px;height:32px;display:grid;place-items:center;background:#3961a4;border:1px solid #789ad341;border-radius:9px;color:#b6d1ff}.phone-icon svg{width:22px;height:22px}.phone-screen strong{font-size:8px;font-weight:500;letter-spacing:1px;margin:12px 0 13px;color:#c7d4ed}.phone-line{display:block;width:44px;height:3px;background:#607daa;border-radius:2px}.phone-line.short{width:28px;margin-top:5px;background:#45618e}.illustration-label{position:absolute;bottom:0;right:9px;display:flex;align-items:center;gap:5px;font-size:9px;letter-spacing:.3px;background:#253e63;border:1px solid #719ec73d;border-radius:7px;padding:9px 13px;box-shadow:0 8px 16px #07132820;color:#cad8ee}.illustration-label svg{width:13px;height:13px;color:#72dcba}
.login-features{display:flex;gap:23px;margin-top:25px;color:#b9c7df;font-size:10px}.login-features b{font-size:9px;color:#7d96bc;letter-spacing:1px;font-weight:400;margin-right:6px}.brand-footer{font-size:9px;letter-spacing:1.3px;color:#7286a8;display:flex;align-items:center;gap:18px}.brand-footer span{letter-spacing:.5px;font-size:10px}
.login-main{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;padding:60px 48px 90px;background:#fcfdff}.login-card{width:100%;max-width:356px}.login-card h2{margin:12px 0 12px;font-size:27px;letter-spacing:-.5px;font-weight:650;color:#1f2d45}.login-subtitle{font-size:13px;line-height:1.8;color:#929cb0;margin-bottom:35px}.login-card label{font-size:12px;font-weight:600;display:block;color:#4a5670;margin:22px 0 9px}.input-wrap{display:flex;align-items:center;gap:11px;border:1px solid #dde3ed;background:#fff;border-radius:8px;padding:0 14px;min-height:49px;transition:box-shadow .18s,border .18s}.input-wrap:focus-within{border-color:#7198f8;box-shadow:0 0 0 3px #3568ed0a}.input-wrap>svg{color:#a8b2c3;width:17px;height:17px}.input-wrap input{width:100%;min-width:0;border:0;outline:none;background:transparent;color:#3a4760;font-size:13px;height:47px}.input-wrap input:focus-visible{outline:none}.input-wrap input::placeholder{color:#b2bac9}.password-toggle{width:27px;height:29px;margin-right:-5px;flex-shrink:0}.password-toggle svg{width:17px;height:17px}.password-toggle[aria-pressed=true]{color:#3568ed}.login-submit{width:100%;min-height:48px;margin-top:30px;position:relative;box-shadow:0 4px 10px #3568ed20}.login-submit>svg{position:absolute;right:17px}.login-hint{display:flex;align-items:flex-start;justify-content:center;gap:7px;font-size:10px;color:#9ba5b6;border-top:1px solid #edf0f5;margin-top:26px;padding-top:22px;line-height:1.7}.login-hint svg{width:14px;height:14px;margin-top:1px;color:#8598b5}.login-footer{position:absolute;bottom:29px;text-align:center;font-size:10px;letter-spacing:.4px;color:#abb3c2}

/* 管理工作台 */
.workspace{display:flex;min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:232px;background:var(--navy);padding:28px 20px;display:flex;flex-direction:column;color:#aebbd1;z-index:10}.sidebar .brand{font-size:14px;gap:10px;margin:0 4px 48px;white-space:nowrap}.sidebar .brand small{font-size:9px;letter-spacing:1px}.sidebar .brand-mark{width:35px;height:35px;border-radius:10px}.sidebar .brand-mark svg{width:23px;height:23px}.nav-caption{font-size:10px;letter-spacing:1px;color:#6d81a3;margin:0 14px 13px}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:8px;font-size:12px;font-weight:500}.nav-item.active{background:#2b45806b;color:#cbdcff;border:1px solid #5485ed26}.nav-item svg{width:17px;height:17px;color:#84acff}.nav-count{margin-left:auto;background:#4874c726;border-radius:5px;padding:2px 6px;font-size:10px;color:#a3c1fb}
.sidebar-note{margin-top:auto;border:1px solid #6a8ab326;background:#ffffff03;border-radius:10px;padding:16px 14px}.note-icon{display:flex;margin-bottom:11px;color:#93b9eb}.note-icon svg{width:20px;height:20px}.sidebar-note strong{font-size:11px;font-weight:500;color:#bac9df}.sidebar-note p{font-size:10px;line-height:1.8;margin-top:8px;color:#8094b3}.sidebar-footer{font-size:9px;display:flex;align-items:center;gap:7px;color:#6e84a6;padding:23px 14px 0}.sidebar-footer .dot{width:5px;height:5px;background:#6d8baa}
.workspace-main{margin-left:232px;width:calc(100% - 232px);min-width:0}.topbar{height:76px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:#fff}.breadcrumb{font-size:11px;color:#9aa5b8}.breadcrumb>span{margin:0 11px;color:#c5ccd8}.breadcrumb b{font-weight:500;color:#68758e}.account-actions{display:flex;align-items:center;gap:9px;font-size:11px;color:#55617b}.account-avatar{display:grid;place-items:center;border-radius:50%;width:29px;height:29px;background:#eaf0ff;color:#5176c9;font-size:11px;font-weight:600}.account-divider{width:1px;height:17px;background:#e5eaf2;margin:0 10px}
.dashboard-content{max-width:1450px;margin:0 auto;padding:36px 40px 0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-heading h1{font-size:27px;font-weight:650;letter-spacing:-.5px;margin:7px 0 10px;color:#202f49}.page-heading p{font-size:12px;line-height:1.7;color:#919cb0}
.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:29px}.stat-card{display:flex;align-items:center;gap:15px;border:1px solid var(--border);border-radius:12px;background:#fff;padding:23px 21px;box-shadow:0 2px 5px #253c5802}.stat-icon{display:grid;place-items:center;border-radius:11px;width:45px;height:45px;flex-shrink:0}.stat-icon svg{width:22px;height:22px}.stat-icon.blue{color:#4c7beb;background:#edf3ff}.stat-icon.green{color:#26a681;background:#eaf8f3}.stat-icon.violet{color:#9272d7;background:#f3effb}.stat-card>div>span{display:block;font-size:11px;color:#8a95a9}.stat-card strong{display:block;font-size:26px;color:#293752;font-weight:600;margin-top:6px;line-height:1}.stat-note{display:flex;align-items:center;gap:5px;margin-left:auto;align-self:flex-end;font-size:9px;color:#a6afbe;white-space:nowrap;padding-bottom:2px}.stat-note .dot{width:5px;height:5px}
.pairing-card{background:#eff4ff;border:1px solid #d7e3ff;border-radius:12px;padding:23px 26px;margin-bottom:24px}.pairing-heading{display:flex;justify-content:space-between;gap:16px}.pairing-heading .section-kicker{color:#7390c3;font-size:9px}.pairing-heading h2{font-size:16px;font-weight:600;margin:7px 0 9px;color:#3b5789}.pairing-heading p{font-size:11px;color:#7e94b7}.pairing-value{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:17px 0 13px}.pairing-value strong{font-family:"SFMono-Regular",Consolas,monospace;font-size:24px;letter-spacing:2px;font-weight:600;color:#2d548f;overflow-wrap:anywhere}.pairing-value .button{font-size:11px;min-height:34px;padding:8px 12px;background:#ffffffb3;border-color:#d5e0f8;color:#5b77a6}.pairing-value .button svg{width:14px;height:14px}.pairing-expiry{font-size:10px;line-height:1.7;color:#8a9ebd}
.device-section{scroll-margin-top:24px}.device-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.section-title{display:flex;align-items:center;gap:9px}.section-title h2{font-size:15px;font-weight:600;color:#38465e}.count-pill{background:#e9edf5;color:#8190a8;border-radius:5px;font-size:10px;padding:3px 6px;min-width:20px;text-align:center}.search-input{display:flex;align-items:center;gap:9px;border:1px solid #e1e6ef;border-radius:7px;background:#fff;padding:0 11px;width:228px;height:35px;color:#a3aec0}.search-input svg{width:15px;height:15px}.search-input input{font-size:11px;border:0;outline:none;min-width:0;width:100%;background:transparent;color:#45526b;height:32px}.search-input input:focus-visible{outline:none}.search-input:focus-within{border-color:#83a3ed;box-shadow:0 0 0 3px #3568ed08}.search-input input::placeholder{color:#a7b0c0}
.device-filter{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}.filter-tabs{display:flex;align-items:center;gap:5px;padding:4px;background:#eaf0f6;border-radius:8px}.filter-tab{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:500;color:#8a97ac;background:transparent;border:0;border-radius:5px;padding:7px 12px;white-space:nowrap}.filter-tab.active{color:#4776d8;background:#fff;box-shadow:0 1px 4px #334f7a09}.filter-tab .dot{width:5px;height:5px}.refresh-time{font-size:9px;color:#a7b0c0}
.device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(244px,1fr));gap:17px}.device-card{position:relative;min-width:0;background:#fff;border:1px solid var(--border);border-radius:12px;padding:21px;transition:border-color .2s,box-shadow .2s}.device-card:hover{border-color:#c9d7f3;box-shadow:0 4px 16px #304f7a06}.device-card.is-viewing{border-color:#8caffb;box-shadow:0 0 0 1px #8caffb22}.device-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:16px}.device-icon{display:grid;place-items:center;width:42px;height:47px;background:#f1f5fd;border:1px solid #e8eef9;color:#7294d6;border-radius:10px}.device-icon svg{height:27px;width:24px}.device-icon.offline{color:#a3afc2;background:#f5f6f9;border-color:#edf0f5}.badge{display:inline-flex;align-items:center;gap:5px;background:#ecf8f2;border:1px solid #dbf1e4;color:#4b9e79;border-radius:20px;font-size:9px;padding:4px 8px;white-space:nowrap;line-height:1.3}.badge .dot{width:4px;height:4px;background:#50b68c}.badge.offline{color:#9aa5b8;border-color:#edf0f5;background:#f6f7fa}.badge.offline .dot{background:#a5adbb}
.device-card h3{font-size:15px;font-weight:600;color:#34445f;line-height:1.6;overflow-wrap:anywhere}.device-meta{font-size:10px;color:#a0abbd;line-height:1.7;margin:5px 0 18px}.device-info{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #f0f2f6;padding-top:13px;font-size:10px;color:#a0abbc;gap:10px}.capture-label{color:#7d8ca5}.capture-label.sharing{color:#4889bc}.device-seen{font-size:9px;white-space:nowrap}.watch-button{margin-top:16px;width:100%;font-size:11px;background:#eef3ff;color:#517bd4;border-color:#dfe8fc;min-height:36px;padding:8px 12px}.watch-button svg{width:15px;height:15px}.watch-button:hover:not(:disabled){background:#e3ecff;color:#3568ed;box-shadow:none}.watch-button:disabled{background:#f5f7fa;border-color:#edf0f6;color:#a8b2c3;opacity:1}
.empty-state{grid-column:1/-1;min-height:294px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;border:1px dashed #dce3ee;border-radius:12px;background:#ffffff88;padding:32px}.empty-state .empty-icon{display:grid;place-items:center;width:68px;height:68px;background:#edf3fc;border:1px solid #e3ebf9;border-radius:20px;color:#819fcd;margin-bottom:20px;box-shadow:0 7px 15px #557aaf06}.empty-icon svg{width:30px;height:30px}.empty-state .loading-spinner{color:#7898cd;width:24px;height:24px;margin-bottom:17px}.empty-state h3{font-size:15px;font-weight:500;color:#52617a;margin-bottom:10px}.empty-state p{font-size:11px;color:#99a5b9;line-height:1.8;max-width:380px}.empty-state .button{margin-top:20px;min-height:35px;font-size:11px;padding:8px 13px}
.viewer-card{border:1px solid var(--border);background:#fff;border-radius:12px;margin-top:25px;overflow:hidden;scroll-margin-top:24px}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:21px 23px}.viewer-heading{display:flex;align-items:center;gap:13px;min-width:0}.viewer-heading h2{font-size:15px;font-weight:600;overflow-wrap:anywhere}.viewer-heading p{font-size:10px;color:#8b98af;line-height:1.6;margin-top:6px;overflow-wrap:anywhere}.viewer-indicator{width:8px;height:8px;background:#638bf3;border-radius:50%;box-shadow:0 0 0 5px #edf3ff;flex-shrink:0}.stop-square{width:8px;height:8px;border-radius:2px;background:currentColor}.viewer-toolbar .button{font-size:11px;min-height:35px;padding:8px 12px}
#video-stage{position:relative;background:#111c30;min-height:380px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:0 12px;border-radius:8px}#screen{display:block;width:100%;max-width:100%;height:65vh;object-fit:contain}#video-placeholder{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:90%;gap:12px;color:#7f90ad;text-align:center;pointer-events:none}.stage-icon{display:grid;place-items:center;width:60px;height:60px;border:1px solid #6f86ae29;border-radius:15px;background:#24324a5c;margin-bottom:6px;color:#7f95b9}.stage-icon svg{width:32px;height:32px}#video-placeholder strong{font-size:13px;font-weight:500;color:#bac7dd}#video-placeholder>span:last-child{font-size:10px;line-height:1.8}#video-stage:fullscreen{border-radius:0;margin:0}#video-stage:fullscreen #screen{height:100vh}.viewer-footnote{display:flex;align-items:center;justify-content:center;gap:6px;font-size:9px;color:#a2adbf;padding:14px}.viewer-footnote .dot{background:#92a3c0;width:4px;height:4px}.dashboard-footer{padding:35px 0 24px;text-align:center;font-size:9px;color:#b0b8c7;letter-spacing:.3px}.dashboard-footer span{margin:0 9px}

/* 顶部 Toast */
.toast-stack{position:fixed;top:22px;left:50%;transform:translateX(-50%);z-index:1000;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:calc(100vw - 32px);width:max-content;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid #e3eaf4;border-radius:10px;box-shadow:0 8px 30px #172b5021;padding:12px 12px 12px 15px;max-width:470px;min-width:235px;pointer-events:auto;animation:toast-enter .2s ease-out;color:#546078}.toast-symbol{display:grid;place-items:center;flex-shrink:0;width:21px;height:21px;border-radius:50%;background:#eaf8f2;color:#2cab7d;margin-top:1px}.toast-symbol svg{width:13px;height:13px}.toast.error{border-color:#f3dada}.toast.error .toast-symbol{background:#fff0ee;color:#df6660}.toast.info .toast-symbol{background:#edf3ff;color:#5b83e0}.toast-message{font-size:12px;line-height:1.8;overflow-wrap:anywhere;padding-right:5px;padding-top:1px;flex:1}.toast-close{width:24px;height:24px;flex-shrink:0;margin:0 -2px 0 auto}.toast-close svg{width:14px;height:14px}.toast.is-leaving{opacity:0;transform:translateY(-6px);transition:opacity .15s,transform .15s}@keyframes toast-enter{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}

@media(min-width:1600px){.login-brand{padding-left:17%;padding-right:12%}.login-intro{max-width:490px}.screen-illustration{height:250px;max-width:430px;transform:scale(1.1);transform-origin:left center;margin-top:45px}.login-features{margin-top:33px}.login-card{max-width:386px}.login-card h2{font-size:30px}}
@media(max-width:1100px){.sidebar{width:205px;padding:25px 15px}.workspace-main{margin-left:205px;width:calc(100% - 205px)}.topbar{padding:0 26px}.dashboard-content{padding:29px 26px 0}.stat-card{padding:19px 15px;gap:11px}.stat-note{display:none}.login-brand{padding-left:10%;padding-right:9%}.login-main{padding:55px 38px 80px}.screen-illustration{max-width:320px}.illustration-window{width:270px;height:176px}.illustration-phone{width:83px;height:158px}.mock-content{padding:15px 12px}.login-features{gap:14px}.brand-footer{gap:10px}.brand-footer span{font-size:9px}}
@media(max-width:800px){.login-layout{grid-template-columns:43% 57%}.login-brand{padding:30px 25px}.login-brand .brand{font-size:14px;gap:10px}.login-brand .brand-mark{width:35px;height:35px}.login-brand .brand small{font-size:9px}.login-intro{margin:50px 0}.login-intro h1{font-size:31px}.login-intro>p{font-size:11px}.screen-illustration{height:165px;margin-top:32px}.illustration-window{width:210px;height:138px}.window-content{height:110px}.mock-nav{width:32px;padding:12px 7px}.mock-content{padding:12px 10px}.mock-heading{margin-bottom:9px}.mock-stats i{height:20px}.mock-cards{margin-top:8px;gap:6px}.mock-cards>div{padding:7px}.mock-cards b{width:11px;height:13px;margin-bottom:5px}.mock-cards i{width:27px;height:2px}.mock-cards span{height:6px;margin-top:5px}.illustration-phone{right:-7px;top:0;width:68px;height:134px;border-radius:15px}.phone-camera{left:23px}.phone-screen strong{font-size:7px}.phone-line{width:32px}.illustration-label{font-size:7px;right:0;padding:7px 9px;bottom:1px}.login-features{flex-direction:column;gap:13px;font-size:10px;margin-top:25px}.brand-footer span{display:none}.login-main{padding:50px 32px 80px}.login-card h2{font-size:25px}.sidebar{width:76px;padding:25px 13px;align-items:center}.sidebar .brand{margin:0 0 35px}.sidebar .brand>span:last-child,.nav-caption,.nav-count,.sidebar-note,.sidebar-footer{display:none}.sidebar nav{width:100%}.nav-item{overflow:hidden;white-space:nowrap;gap:22px;width:50px;padding:14px 15px}.nav-item svg{flex-shrink:0}.workspace-main{margin-left:76px;width:calc(100% - 76px)}.topbar{height:65px}.page-heading h1{font-size:24px}.stats-grid{gap:11px}.stat-icon{width:34px;height:37px;border-radius:9px}.stat-icon svg{width:20px;height:20px}.stat-card{gap:10px;padding:17px 13px}.stat-card strong{font-size:24px}.stat-card>div>span{font-size:10px}.button{font-size:11px;padding:10px 12px;min-height:37px}}
@media(max-width:600px){.login-layout{display:block}.login-brand{padding:23px 24px 27px;min-height:0}.login-brand .brand{font-size:15px}.login-intro{margin:29px 0 0}.intro-tag{display:none}.login-intro h1{font-size:28px;line-height:1.5;margin:0 0 11px;letter-spacing:.2px}.login-intro h1 br{display:none}.login-intro>p{font-size:11px;line-height:1.8}.login-intro>p br{display:none}.screen-illustration,.login-features,.brand-footer{display:none}.login-main{padding:39px 27px 75px;min-height:calc(100vh - 223px)}.login-card{max-width:390px}.login-card h2{font-size:25px}.login-subtitle{margin-bottom:27px}.login-footer{bottom:23px;font-size:9px}.sidebar{display:none}.workspace-main{margin-left:0;width:100%}.topbar{padding:0 19px;height:62px}.breadcrumb{font-size:10px}.breadcrumb>span{margin:0 7px}.account-actions{gap:6px;font-size:10px}.account-divider{margin:0 5px}.text-button{font-size:10px}.account-avatar{width:26px;height:26px}.dashboard-content{padding:26px 18px 0}.page-heading{flex-wrap:wrap;gap:19px;margin-bottom:22px}.page-heading h1{font-size:25px}.page-heading p{font-size:11px}.page-heading .actions{width:100%;justify-content:flex-end;gap:8px}.page-heading .actions .button{min-height:36px;padding:9px 12px}.stats-grid{gap:8px;margin-bottom:26px}.stat-card{padding:15px 11px;gap:0;flex-direction:column;align-items:flex-start;border-radius:10px}.stat-icon{width:29px;height:29px;border-radius:8px;margin-bottom:12px}.stat-icon svg{width:16px;height:16px}.stat-card strong{font-size:25px;margin-top:7px}.device-toolbar{gap:12px;margin-bottom:15px}.section-title h2{font-size:14px}.search-input{width:178px;font-size:10px}.device-filter{gap:7px;margin-bottom:15px}.filter-tab{padding:6px 10px;font-size:9px}.refresh-time{font-size:8px;max-width:85px;text-align:right;line-height:1.8}.device-grid{grid-template-columns:1fr;gap:12px}.device-card{padding:20px}.empty-state{min-height:275px;padding:25px 20px}.pairing-card{padding:19px}.pairing-value{gap:13px}.pairing-value strong{font-size:18px;letter-spacing:1px;max-width:100%}.viewer-toolbar{padding:18px 16px;flex-direction:column;align-items:flex-start}.viewer-toolbar .actions{width:100%;justify-content:flex-end}.viewer-toolbar .button{font-size:10px}#video-stage{min-height:310px;margin:0 8px}#screen{height:53vh}.viewer-footnote{font-size:8px}.toast-stack{top:15px;max-width:calc(100vw - 24px)}.toast{max-width:calc(100vw - 24px);min-width:220px;padding:11px 10px 11px 13px}.toast-message{font-size:11px}.dashboard-footer{padding:28px 0 22px}}
/* 恢复登录及紧凑工作台布局 */
.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:24px;color:#8594ad;font-size:13px;text-align:center}.auth-loading>.loading-spinner{width:26px;height:26px;color:#6089ed}.topbar-start{display:flex;align-items:center;gap:12px;min-width:0}
.sidebar{width:196px;padding:22px 14px}.sidebar .brand{font-size:13px;gap:8px;margin:0 0 32px}.sidebar .brand-mark{width:32px;height:32px}.sidebar .brand small{font-size:8px}.nav-caption{margin-bottom:10px}.nav-item{padding:11px 12px}.sidebar-note{padding:13px 11px}.sidebar-footer{padding:18px 10px 0}
.workspace-main{margin-left:196px;width:calc(100% - 196px)}.topbar{height:56px;padding:0 26px}.dashboard-content{padding:20px 26px 0}.page-heading{margin-bottom:16px}.page-heading .section-kicker{display:none}.page-heading h1{font-size:24px;line-height:1.35;margin:0 0 5px}.page-heading p{font-size:11px}.page-heading .button{min-height:36px;padding:9px 13px;font-size:11px}
.stats-grid{gap:14px;margin-bottom:18px}.stat-card{padding:13px 17px;gap:12px;border-radius:10px}.stat-icon{width:34px;height:34px;border-radius:9px}.stat-icon svg{width:19px;height:19px}.stat-card>div{display:flex;align-items:center;gap:13px;min-width:0}.stat-card strong{font-size:23px;margin:0}.stat-note{align-self:center;padding:0}.device-toolbar{flex-wrap:wrap;row-gap:10px;margin-bottom:14px}.device-toolbar-left,.device-toolbar-right{display:flex;align-items:center;gap:16px;min-width:0}.device-toolbar-right{margin-left:auto;gap:12px}.filter-tabs{padding:3px}.filter-tab{padding:6px 10px}.device-grid{gap:14px}.device-card{padding:17px}.device-card-top{margin-bottom:12px}.device-meta{margin-bottom:13px}.watch-button{margin-top:12px}.empty-state{min-height:220px;padding:25px}.empty-state .empty-icon{width:54px;height:54px;margin-bottom:15px;border-radius:15px}.empty-state .button{margin-top:15px}.dashboard-footer{padding:24px 0 18px}.pairing-card{padding:18px 22px;margin-bottom:18px}
@media(min-width:801px){.workspace.is-collapsed .sidebar{width:64px;padding:22px 10px;align-items:center}.workspace.is-collapsed .sidebar .brand{margin:0 0 32px}.workspace.is-collapsed .sidebar .brand>span:last-child,.workspace.is-collapsed .nav-caption,.workspace.is-collapsed .nav-count,.workspace.is-collapsed .sidebar-note,.workspace.is-collapsed .sidebar-footer{display:none}.workspace.is-collapsed .sidebar nav{width:100%}.workspace.is-collapsed .nav-item{font-size:0;gap:0;width:44px;padding:12px;justify-content:center}.workspace.is-collapsed .workspace-main{margin-left:64px;width:calc(100% - 64px)}}
@media(max-width:1100px){.stat-card{padding:13px 14px;gap:10px}.stat-card>div{gap:9px}.device-toolbar-right .refresh-time{display:none}}
@media(max-width:800px){.sidebar{width:64px;padding:22px 10px;align-items:center}.sidebar .brand{margin:0 0 32px}.sidebar .brand>span:last-child{display:none}.sidebar nav{width:100%}.nav-item{font-size:0;gap:0;width:44px;padding:12px;justify-content:center}.workspace-main{margin-left:64px;width:calc(100% - 64px)}#toggle-sidebar{display:none}.topbar{padding:0 20px}.dashboard-content{padding:18px 20px 0}.stat-card>div{gap:7px}.stat-card strong{font-size:21px}.stat-card>div>span{font-size:10px}.stat-card{padding:12px;gap:8px}.stat-icon{width:28px;height:28px}.stat-icon svg{width:17px;height:17px}}
@media(max-width:600px){.sidebar{display:none}.workspace-main{margin-left:0;width:100%}.topbar{height:54px;padding:0 16px}.topbar-start{gap:0}.dashboard-content{padding:18px 16px 0}.page-heading{flex-wrap:nowrap;gap:10px;margin-bottom:14px}.page-heading h1{font-size:22px;margin:0}.page-heading p{display:none}.page-heading .actions{width:auto;gap:6px}.page-heading .actions .button{min-height:33px;padding:8px 10px;font-size:10px;gap:5px}.page-heading .button svg{width:14px;height:14px}.stats-grid{gap:8px;margin-bottom:16px}.stat-card{padding:12px;align-items:flex-start}.stat-icon{display:none}.stat-card>div{flex-direction:column;align-items:flex-start;gap:7px}.stat-card strong{font-size:23px}.stat-card>div>span{font-size:10px}.device-toolbar{gap:10px;margin-bottom:12px}.device-toolbar-left{width:100%;justify-content:space-between;gap:8px}.device-toolbar-right{width:100%;margin:0}.device-toolbar-right .refresh-time{display:block;text-align:left;max-width:none;font-size:8px;flex:1}.search-input{width:174px;height:32px}.search-input input{height:30px}.device-grid{gap:12px}.empty-state{min-height:205px;padding:22px}.device-card{padding:17px}.pairing-card{padding:17px}.dashboard-footer{padding:23px 0 18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* 设备表格与大屏弹窗 */
.device-table-wrap{width:100%;overflow-x:auto;border:1px solid #e2e7f0;border-radius:12px;background:#fff}
.device-table{width:100%;min-width:1080px;border-collapse:collapse;table-layout:auto}
.device-table th{height:42px;padding:0 16px;background:#f8faff;border-bottom:1px solid #e7ebf3;color:#8794aa;font-size:10px;font-weight:600;text-align:left;white-space:nowrap}
.device-table td{padding:15px 16px;border-bottom:1px solid #edf0f5;color:#53627b;font-size:11px;vertical-align:middle}
.device-table tbody tr:last-child td{border-bottom:0}
.device-table tbody tr{transition:background .16s}
.device-table tbody tr:hover,.device-table tbody tr.is-viewing{background:#f7faff}
.device-table-action{width:130px;text-align:right}
.device-table .device-subtext{display:block;margin-top:4px;line-height:1.4}
.device-identity{display:flex;align-items:center;gap:11px;min-width:180px}
.device-identity-text,.device-system,.device-time{display:flex;flex-direction:column;gap:4px;white-space:nowrap}
.device-identity-text strong,.device-system strong,.device-time strong{font-size:12px;color:#34445f;font-weight:600}
.device-identity-text span,.device-system span,.device-time span,.device-subtext{font-size:9px;color:#9aa7ba}
.device-system{min-width:100px}
.device-icon{width:35px;height:38px;flex-shrink:0;border-radius:9px}
.device-icon svg{width:20px;height:22px}
.device-table .badge{font-size:9px;width:max-content}
.device-table .capture-label{white-space:nowrap}
.device-detail{max-width:260px;min-width:120px;color:#7e8da5!important;white-space:normal;overflow-wrap:anywhere;line-height:1.6}
.device-action{text-align:right;white-space:nowrap}
.device-action .watch-button{width:auto;min-width:108px;margin:0;font-size:10px}
.viewer-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:28px}
.viewer-modal[hidden]{display:none}
.viewer-modal-backdrop{position:absolute;inset:0;background:rgba(15,28,52,.72);backdrop-filter:blur(3px)}
.viewer-modal .viewer-card{position:relative;z-index:1;width:min(1180px,calc(100vw - 56px));max-height:calc(100vh - 56px);margin:0;border:0;border-radius:14px;box-shadow:0 24px 80px rgba(11,24,49,.3);overflow:auto}
.viewer-modal .viewer-toolbar{padding:18px 22px;border-bottom:1px solid #edf0f5;background:#fff}
.viewer-modal #video-stage{height:min(72vh,calc(100vh - 150px),760px);min-height:0;margin:0;background:#0d192c;border-radius:0}
.viewer-modal #screen{height:100%;max-height:100%;object-fit:contain}
.viewer-modal .viewer-footnote{background:#fff;padding:11px}
body.viewer-open{overflow:hidden}
@media(max-width:760px){.viewer-modal{padding:10px}.viewer-modal .viewer-card{width:100%;max-height:calc(100vh - 20px);border-radius:10px}.viewer-modal .viewer-toolbar{padding:14px;flex-direction:column;align-items:flex-start}.viewer-modal .viewer-toolbar .actions{width:100%;justify-content:flex-end}.viewer-modal #video-stage{height:calc(100vh - 190px);min-height:0}.device-table-wrap{border-radius:9px}.device-table th,.device-table td{padding-left:12px;padding-right:12px}}

/* 只为屏幕阅读器保留表格标题，避免标题重复显示。 */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
