:root{--nav:#12233c;--blue:#2967eb;--text:#15263f;--muted:#7c889b;--line:#e9edf4;--bg:#f5f7fb;font-family:"Microsoft YaHei UI","PingFang SC",system-ui,sans-serif;color:var(--text);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input{font:inherit}button,a,input{outline-offset:4px}button{cursor:pointer;border:0;border-radius:8px;transition:background .16s}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}.primary{background:var(--blue);color:white;padding:12px 20px;font-weight:600;box-shadow:0 4px 10px #2967eb1a}.primary:hover{background:#1956d5}.primary span{font-size:20px;vertical-align:-1px;margin-right:5px}.secondary{padding:10px 16px;background:white;border:1px solid #dfe5ee;color:#54627a}.secondary:hover{background:#f3f6fc}.icon-button{background:transparent;color:#8793a6;font-size:24px;padding:4px 8px}.icon-button:hover{background:#edf2fb;color:var(--blue)}h1,h2,p{margin:0}h1{font-size:28px;letter-spacing:-.8px;font-weight:650}h2{font-size:24px;font-weight:650}.muted{color:var(--muted);line-height:1.8}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;display:block;margin-bottom:12px}.blue{color:var(--blue)}.workspace{min-height:100vh;display:flex}.sidebar{background:var(--nav);width:228px;flex-shrink:0;display:flex;flex-direction:column;padding:36px 18px 20px;position:fixed;inset:0 auto 0 0;color:white}.brand{display:flex;gap:13px;align-items:center;padding:0 12px 46px}.brand strong{font-size:19px;letter-spacing:1px}.brand small{display:block;font-size:10px;color:#93a8c5;margin-top:6px}.logo{position:relative;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#548dff,#1957df);height:62px;width:62px;border-radius:17px;color:white;font-size:39px;font-weight:750;letter-spacing:-2px;box-shadow:0 5px 18px #081a3433;flex-shrink:0}.logo span{font-size:15px;position:absolute;right:12px;top:23px;color:#9fceff}.logo.small{height:42px;width:42px;font-size:28px;border-radius:12px}.logo.small span{font-size:9px;right:8px;top:17px}.nav-label{color:#657d9f;font-size:10px;letter-spacing:1px;padding:0 16px;margin-bottom:15px}.nav-item{display:flex;align-items:center;gap:13px;padding:14px 17px;border-radius:8px;font-size:13px}.nav-item.selected{background:#254365;color:#fff}.nav-icon{font-size:20px;color:#9dbffa}.nav-dot{margin-left:auto;width:5px;height:5px;background:#8cb5ff;border-radius:50%}.sidebar-bottom{margin-top:auto;display:flex;gap:10px;align-items:center;border-top:1px solid #ffffff10;padding:22px 7px 0}.avatar{border-radius:50%;background:#2b466a;color:#d1e1fb;width:34px;height:34px;display:grid;place-items:center;font-size:13px}.sidebar-bottom strong{font-size:12px;font-weight:500}.sidebar-bottom small{display:block;color:#7e97b8;font-size:10px;margin-top:3px}.sidebar-bottom button{margin-left:auto;color:#9db1ce}.main{margin-left:228px;width:calc(100% - 228px)}.topbar{height:76px;border-bottom:1px solid var(--line);background:white;display:flex;justify-content:space-between;align-items:center;padding:0 38px;font-size:12px;color:#98a2b2}.topbar strong{color:#576781;font-weight:500}.slash{margin:0 13px;color:#c9d1dd}.online{display:flex;align-items:center;gap:7px;font-size:11px;color:#7b8b80}.online i{width:6px;height:6px;background:#4cbd8e;border-radius:50%}.page{padding:38px;max-width:1600px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.page-heading .eyebrow{margin-bottom:9px}.page-heading p{font-size:12px;margin-top:10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}.stats article{background:white;border:1px solid var(--line);border-radius:11px;display:flex;align-items:center;gap:17px;padding:22px 23px}.stats article div>span{color:#8a95a6;font-size:11px;display:block}.stats article strong{font-size:29px;display:block;font-weight:600;margin-top:4px}.stat-symbol{display:grid;place-items:center;border-radius:11px;width:44px;height:44px;font-size:23px}.stat-symbol.all{background:#edf3ff;color:#4980eb}.stat-symbol.active{background:#edf8f2;color:#47ad7c}.stat-symbol.expired{background:#fff5e8;color:#df9b36}.stat-symbol.disabled{background:#f1f2f6;color:#9299ac}.table-card{background:white;border:1px solid var(--line);border-radius:11px;overflow:hidden}.table-tools{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;padding:17px 23px;border-bottom:1px solid var(--line)}.tabs{display:flex;gap:5px}.tabs button{font-size:12px;color:#8a94a6;background:transparent;padding:9px 12px}.tabs button.active{color:var(--blue);background:#edf3ff;font-weight:600}.search-tools{display:flex;align-items:center;gap:10px}.search-tools input{width:225px;height:35px;border:1px solid #e4e9f2;background:#fafbfe;border-radius:6px;padding:0 12px;font-size:11px}.search-tools button{font-size:11px;padding:8px 12px}.table-scroll{overflow-x:auto;min-height:330px}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{font-size:11px;color:#8a95a8;background:#fbfcfe;font-weight:500;padding:15px 23px;border-bottom:1px solid var(--line)}td{padding:19px 23px;border-bottom:1px solid #f0f3f8;font-size:11px;color:#718098}td:first-child{color:#293c59;font-weight:600;font-size:12px}.user-cell{display:flex;align-items:center;gap:11px}.user-avatar{width:32px;height:32px;background:#eff4ff;color:#6891da;border-radius:9px;display:grid;place-items:center;font-size:13px}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:4px;font-size:10px}.badge:before{content:"";height:4px;width:4px;border-radius:50%;background:currentColor}.badge.active{color:#43a77c;background:#edf8f2}.badge.expired{color:#d79536;background:#fff6e9}.badge.disabled{color:#939aac;background:#f0f2f6}.device-id{display:block;color:#a1aabb;font-size:9px;margin-top:4px;font-family:Consolas,monospace}.row-action{background:transparent;color:#6583b1;font-size:11px;padding:5px 6px;margin-left:-6px;margin-right:9px}.row-action:hover{background:#eef3fc;color:var(--blue)}.row-action.muted-action{color:#919cab}.empty{text-align:center;padding:90px 20px;color:#a5afbe;font-weight:400!important}.empty strong{display:block;color:#6c7c94;font-size:14px;margin-bottom:10px}.table-footer{padding:17px 24px;display:flex;justify-content:space-between;color:#a0a9b8;font-size:10px}.page-note{font-size:11px;color:#9aa5b6;margin-top:19px;line-height:1.8}.auth-shell{min-height:100vh;display:grid;grid-template-columns:47% 53%}.auth-intro{padding:65px 14%;background:linear-gradient(150deg,#10243e,#173457);color:white;position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.auth-intro>.logo{margin-bottom:42px}.auth-intro .eyebrow{color:#7299d3;margin-bottom:20px}.auth-intro h1{font-size:44px;line-height:1.5;letter-spacing:1px}.auth-intro p{color:#819cbe;font-size:12px;line-height:2;margin-top:25px;max-width:270px}.intro-foot{position:absolute;bottom:40px;color:#6584aa;font-size:10px;letter-spacing:1px}.auth-side{display:grid;place-items:center;background:#fff;padding:50px}.auth-card{width:350px;max-width:100%}.auth-card h2{font-size:28px}.auth-card>.muted{font-size:12px;margin:13px 0 30px}label{font-size:12px;color:#52627b;display:block;margin-top:20px}label input{width:100%;display:block;border:1px solid #dfe5ef;border-radius:7px;padding:12px 13px;background:white;color:#263a57;margin-top:9px;height:44px}input:focus{outline:2px solid #d4e3ff;border-color:#88acf0}input::placeholder{color:#abb4c3;font-size:12px}input[readonly]{background:#f4f6fa;color:#8a98ae}.full{width:100%}.fine-print{font-size:10px;color:#a5aebc;text-align:center;margin-top:22px;line-height:1.8}.form-error{min-height:20px;color:#d65050;font-size:11px;line-height:1.7;margin:13px 0 10px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#203651;color:white;padding:12px 20px;border-radius:8px;box-shadow:0 5px 20px #102a3d22;font-size:12px;z-index:1000}dialog{border:0;border-radius:14px;box-shadow:0 24px 90px #172d4c44;padding:0;width:480px;max-width:calc(100vw - 32px);color:var(--text)}dialog::backdrop{background:#142a4855;backdrop-filter:blur(2px)}dialog form{padding:28px 30px 0}.dialog-heading{display:flex;justify-content:space-between;align-items:center}.dialog-heading .eyebrow{font-size:9px;margin-bottom:8px}.dialog-heading h2{font-size:23px}.dialog-description{font-size:11px;margin-top:12px}.dialog-footer{margin:22px -30px 0;border-top:1px solid var(--line);padding:20px 30px;display:flex;justify-content:flex-end;gap:10px;background:#fcfdff}.dialog-footer button{font-size:12px}.label-help{float:right;color:#a1acbc;font-size:10px}.presets{display:flex;gap:8px;align-items:center;margin-top:13px;font-size:10px;color:#9aa6b8}.presets button{padding:6px 10px;font-size:10px;color:#6584b9;background:#f0f5ff}.presets button:hover{background:#dfeaff}#confirm-description{margin-top:15px;font-size:13px;line-height:1.9}@media(max-width:1100px){.sidebar{width:195px}.main{margin-left:195px;width:calc(100% - 195px)}.page{padding:25px}.topbar{padding:0 25px}.stats{gap:12px}.stats article{padding:18px 15px;gap:11px}.table-tools{padding:15px}.tabs button{padding:8px}th,td{padding:15px}.search-tools input{width:170px}}@media(max-width:760px){.sidebar{width:68px;padding:24px 8px}.brand{padding:0 5px 35px}.brand>div,.nav-label,.nav-dot,.sidebar-bottom{display:none}.nav-item{font-size:0;padding:12px;justify-content:center}.nav-icon{font-size:22px}.main{margin-left:68px;width:calc(100% - 68px)}.page{padding:22px 16px}.topbar{height:60px;padding:0 16px}.page-heading{align-items:flex-start}.page-heading h1{font-size:24px}.page-heading .primary{padding:11px 13px;white-space:nowrap;font-size:12px}.page-heading p{font-size:11px}.stats{grid-template-columns:repeat(2,1fr)}.stats article strong{font-size:25px}.table-tools{gap:13px}.search-tools{width:100%}.search-tools input{flex:1;width:auto}.tabs{width:100%}.auth-shell{grid-template-columns:1fr}.auth-intro{display:none}.auth-side{padding:40px 25px}.table-footer{gap:12px}}
