:root{--blue:#2468f2;--soft:#edf4ff;--bg:#f5f7fb;--text:#172033;--muted:#748096;--border:#e6ebf3;--green:#18a36b;--red:#df4b51;--orange:#ee8a35;--purple:#7959dd;--shadow:0 18px 50px rgba(36,61,105,.09);--modal-bg:rgba(12,23,43,.48)}
*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:var(--bg);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--text);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}[hidden]{display:none!important}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(36,104,242,.18);outline-offset:2px}
.app-header{height:72px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1320px)/2));position:relative;z-index:10}.brand{display:flex;align-items:center;gap:11px}.brand-mark{position:relative;width:39px;height:39px;border-radius:12px;background:linear-gradient(145deg,#3678ff,#1758dc);overflow:hidden;box-shadow:0 8px 20px rgba(36,104,242,.19)}.brand-mark i{position:absolute;width:6px;height:21px;top:9px;background:#fff;border-radius:6px;transform:rotate(-18deg)}.brand-mark i:first-child{left:12px}.brand-mark i:last-child{right:11px;transform:rotate(18deg)}.brand strong,.brand small{display:block}.brand strong{font-size:14px}.brand small{font-size:9px;color:var(--muted);margin-top:3px;letter-spacing:.06em}.header-right{display:flex;align-items:center;gap:20px}.secure-label{display:flex;align-items:center;gap:7px;color:#7b8799;font-size:10px}.secure-label i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(24,163,107,.1)}.ghost{height:36px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--muted);padding:0 13px;font-size:11px}
main{min-height:calc(100vh - 128px)}.login-layout{min-height:calc(100vh - 128px);display:grid;grid-template-columns:1.05fr .95fr}.login-story{position:relative;overflow:hidden;background:linear-gradient(145deg,#174fc2,#0d2e75);color:#fff;padding:clamp(60px,8vw,120px) max(45px,calc((50vw - 580px)/1.2))}.login-story h1{font-size:50px;line-height:1.2;letter-spacing:-.05em;margin:20px 0}.login-story>p{max-width:485px;color:#bed0f2;font-size:14px;line-height:1.9}.eyebrow{color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.15em}.eyebrow.light{color:#8db5ff}.story-card{position:relative;z-index:2;max-width:500px;margin-top:62px;padding:25px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:rgba(255,255,255,.08);backdrop-filter:blur(12px)}.story-status{display:flex;align-items:center}.story-status>i{width:11px;height:11px;border-radius:50%;background:#5fe2a8;box-shadow:0 0 0 7px rgba(95,226,168,.1);margin:0 18px 0 6px}.story-status span{flex:1}.story-status b,.story-status small{display:block}.story-status b{font-size:12px}.story-status small{margin-top:4px;color:#91aad6;font-size:9px}.story-status strong{font-size:9px;letter-spacing:.15em;color:#6fe0ad}.story-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid rgba(255,255,255,.1);margin-top:20px;padding-top:20px}.story-metrics span{border-right:1px solid rgba(255,255,255,.09)}.story-metrics span:last-child{border:0}.story-metrics b,.story-metrics small{display:block}.story-metrics b{font-size:15px}.story-metrics small{margin-top:5px;color:#8fa9d4;font-size:8px}.login-orbit{position:absolute;width:670px;height:240px;border:38px solid rgba(91,146,255,.12);border-radius:50%;left:-260px;bottom:-155px;transform:rotate(-8deg)}.login-form-wrap{display:grid;place-items:center;padding:55px 30px;background:#fff}.panel{background:#fff;border:1px solid var(--border);border-radius:20px;padding:26px;box-shadow:var(--shadow)}.login-panel{width:min(430px,100%);border:0;box-shadow:none;padding:10px}.form-heading span{color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.1em}.form-heading h2{font-size:30px;margin:10px 0 8px;letter-spacing:-.035em}.form-heading p{margin:0 0 25px;color:var(--muted);font-size:11px}.login-panel>label,.reason-card label{display:flex;flex-direction:column;gap:7px;color:#566279;font-size:10px;font-weight:700;margin-top:15px}.input-wrap{height:46px;border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;padding:0 12px;transition:.2s}.input-wrap:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(36,104,242,.07)}.input-wrap input{width:100%;height:100%;border:0;outline:0;color:var(--text);background:transparent;font-size:12px}.input-icon{position:relative;width:17px;height:17px;margin-right:10px;opacity:.65}.api-icon:before{content:"";position:absolute;inset:2px;border:1.5px solid #67738b;border-radius:50%}.api-icon:after{content:"";position:absolute;width:13px;height:1.5px;background:#67738b;left:2px;top:8px}.user-icon:before{content:"";position:absolute;left:5px;top:1px;width:7px;height:7px;border:1.5px solid #67738b;border-radius:50%}.user-icon:after{content:"";position:absolute;left:2px;bottom:0;width:13px;height:7px;border:1.5px solid #67738b;border-radius:8px 8px 3px 3px}.lock-icon:before{content:"";position:absolute;left:3px;top:7px;width:12px;height:9px;border:1.5px solid #67738b;border-radius:3px}.lock-icon:after{content:"";position:absolute;left:6px;top:1px;width:6px;height:8px;border:1.5px solid #67738b;border-bottom:0;border-radius:6px 6px 0 0}.code-icon:before{content:"···";position:absolute;inset:0;color:#67738b;font-size:15px;letter-spacing:1px;line-height:12px}.primary,.secondary,.danger{height:42px;border:0;border-radius:11px;padding:0 16px;font-size:11px;font-weight:800;transition:.2s}.primary{background:linear-gradient(135deg,#2f73fa,#1756d4);color:#fff;box-shadow:0 8px 19px rgba(36,104,242,.2)}.primary:hover{transform:translateY(-1px)}.secondary{background:var(--soft);color:var(--blue)}.danger{background:var(--red);color:#fff}.wide{width:100%;margin-top:23px;display:flex;align-items:center;justify-content:center;gap:25px}.message{min-height:15px;font-size:10px;margin:10px 0 0;color:var(--green)}.message.error{color:var(--red)}.form-security{text-align:center;border-top:1px solid var(--border);padding-top:16px;margin-top:7px;color:#939cad;font-size:8px}.form-security i{color:var(--green);font-style:normal;margin-right:4px}
.dashboard{max-width:1320px;margin:0 auto;padding:28px 24px 60px;display:grid;grid-template-columns:190px 1fr;gap:30px}.sidebar{display:flex;flex-direction:column;justify-content:space-between;min-height:720px;padding:11px 0}.side-label{display:block;margin:0 13px 13px;color:#a0a8b7;font-size:8px;font-weight:800;letter-spacing:.13em}.side-link{position:relative;width:100%;height:45px;padding:0 13px;border:0;border-radius:11px;background:transparent;color:#728096;display:flex;align-items:center;gap:11px;text-align:left;font-size:10px;font-weight:700}.side-link.active{background:#eaf2ff;color:var(--blue)}.side-link>span{margin-left:auto;padding:3px 5px;border-radius:5px;background:#edf0f5;color:#9ca5b4;font-size:7px}.side-link i{width:16px;height:16px;position:relative}.overview-icon:before{content:"";position:absolute;inset:1px;border:1.5px solid currentColor;border-radius:4px;box-shadow:5px 5px 0 -3px currentColor}.audit-icon:before{content:"";position:absolute;left:3px;top:1px;width:10px;height:13px;border:1.5px solid currentColor;border-radius:3px}.side-help{padding:17px;border:1px solid var(--border);border-radius:14px;background:#fff}.side-help>i{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:var(--soft);color:var(--blue);font-style:normal;font-weight:900}.side-help b{display:block;font-size:10px;margin:11px 0 5px}.side-help p{margin:0;color:var(--muted);font-size:8px;line-height:1.65}.workspace{min-width:0}.toolbar{display:flex;align-items:end;justify-content:space-between;margin:8px 0 24px}.toolbar h1{margin:8px 0 5px;font-size:28px;letter-spacing:-.035em}.toolbar p{margin:0;color:var(--muted);font-size:10px}.toolbar-actions{display:flex;gap:9px}.toolbar-actions button{display:flex;align-items:center;gap:7px}.refresh-icon{position:relative;width:12px;height:12px;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}.stats-grid article{display:flex;align-items:center;gap:14px;padding:18px;background:#fff;border:1px solid var(--border);border-radius:16px}.stat-icon{display:grid;place-items:center;width:41px;height:41px;border-radius:13px}.stat-icon i{width:15px;height:15px;border:2px solid currentColor;border-radius:5px}.stat-icon.blue{background:#eaf2ff;color:var(--blue)}.stat-icon.green{background:#e9f8f2;color:var(--green)}.stat-icon.purple{background:#f0ecff;color:var(--purple)}.stat-icon.orange{background:#fff1e5;color:var(--orange)}.stats-grid small,.stats-grid strong,.stats-grid em{display:block}.stats-grid small{color:var(--muted);font-size:8px}.stats-grid strong{font-size:22px;margin:3px 0;letter-spacing:-.04em}.stats-grid em{font-style:normal;color:#a0a8b6;font-size:7px}.issue{margin-bottom:16px}.panel-heading,.modal-heading{display:flex;align-items:flex-start;justify-content:space-between}.panel-heading>div,.modal-heading>div{display:flex;gap:12px}.panel-icon,.modal-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--soft);color:var(--blue);font-weight:900}.panel-heading h2,.modal-heading h2{font-size:14px;margin:1px 0 5px}.panel-heading p,.modal-heading p{margin:0;color:var(--muted);font-size:8px}.icon-button,.modal-close{width:31px;height:31px;border:0;border-radius:9px;background:#f1f4f8;color:#7b8798;font-size:17px}.form-row{display:grid;grid-template-columns:1fr 1.25fr .65fr auto;gap:11px;align-items:end;margin-top:21px}.form-row label{display:flex;flex-direction:column;gap:7px;color:#657188;font-size:9px}.form-row input{height:41px;border:1px solid var(--border);border-radius:10px;padding:0 11px;color:var(--text);outline:0;font-size:10px}.form-row input:focus{border-color:var(--blue)}.issue-result{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:13px 15px;border:1px solid #cfe0ff;border-radius:12px;background:#f3f7ff}.issue-result small,.issue-result code{display:block}.issue-result small{color:var(--muted);font-size:8px}.issue-result code{margin-top:5px;color:var(--blue);font-size:13px;font-weight:900;overflow-wrap:anywhere}.license-panel{padding:0;overflow:hidden}.list-head{display:flex;align-items:center;justify-content:space-between;padding:23px 24px;border-bottom:1px solid var(--border)}.list-head h2{font-size:14px;margin:0 0 5px}.list-head p{color:var(--muted);font-size:8px;margin:0}.list-tools{display:flex;gap:9px}.search-box{width:215px;height:38px;border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;padding:0 11px}.search-box i{width:12px;height:12px;border:1.5px solid #8b95a6;border-radius:50%;position:relative;margin-right:9px}.search-box i:after{content:"";position:absolute;width:5px;height:1.5px;background:#8b95a6;right:-4px;bottom:-2px;transform:rotate(45deg)}.search-box input{width:100%;border:0;outline:0;font-size:9px}.list-tools select{height:38px;border:1px solid var(--border);border-radius:10px;background:#fff;color:#69758a;padding:0 28px 0 10px;font-size:9px}.license-table-head,.license-row{display:grid;grid-template-columns:1.5fr 1fr .65fr .65fr .85fr;align-items:center;gap:12px}.license-table-head{padding:13px 24px;background:#fafbfd;color:#9aa3b2;font-size:8px}.license-row{padding:17px 24px;border-top:1px solid var(--border);transition:.17s}.license-row:first-child{border-top:0}.license-row:hover{background:#fbfdff}.license-main strong{display:block;font-size:10px}.license-main small{display:block;color:#9aa3b2;font-size:7px;margin-top:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.license-date b,.license-date small,.device-count b,.device-count small{display:block}.license-date b,.device-count b{font-size:9px}.license-date small,.device-count small{margin-top:5px;color:#9ba4b3;font-size:7px}.badge{display:inline-flex;align-items:center;gap:5px;width:max-content;border-radius:999px;padding:6px 9px;background:#e9f8f2;color:var(--green);font-size:8px;font-weight:800}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.badge.revoked,.badge.expired{background:#fff0f0;color:var(--red)}.license-actions{display:flex;justify-content:flex-end;gap:5px}.license-actions button{height:29px;border:0;border-radius:8px;padding:0 8px;background:#f0f4fb;color:#53627a;font-size:8px}.license-actions button:hover{background:var(--soft);color:var(--blue)}.license-actions button.danger-action:hover{background:#fff0f0;color:var(--red)}.empty-state{padding:60px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;color:#9da5b3;font-size:9px}.empty-state i{width:45px;height:38px;border:2px solid #dce2eb;border-radius:10px;position:relative}.empty-state i:after{content:"";position:absolute;left:9px;right:9px;top:11px;height:2px;background:#dce2eb;box-shadow:0 8px 0 #dce2eb}
.modal{position:fixed;inset:0;z-index:50;background:var(--modal-bg);display:grid;place-items:center;padding:20px;backdrop-filter:blur(4px)}.modal-card{position:relative;width:min(720px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:20px;padding:25px;box-shadow:0 24px 80px rgba(7,18,38,.24)}.reason-card{width:min(470px,100%)}.modal-icon.warn{background:#fff0e7;color:var(--orange)}.reason-card textarea{resize:vertical;min-height:90px;border:1px solid var(--border);border-radius:11px;padding:11px;outline:0;font-size:11px}.reason-card textarea:focus{border-color:var(--blue)}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.detail-summary{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px;margin:22px 0}.detail-summary>div{padding:13px;border-radius:11px;background:#f6f8fc}.detail-summary small,.detail-summary b{display:block}.detail-summary small{color:var(--muted);font-size:7px}.detail-summary b{font-size:10px;margin-top:5px;overflow-wrap:anywhere}.detail-section-title{font-size:11px;margin:22px 0 10px}.device-row{border:1px solid var(--border);border-radius:12px;padding:13px;margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:12px}.device-row strong{font-size:10px}.device-row small{display:block;color:var(--muted);font-size:7px;line-height:1.7;margin-top:4px}.device-row button{border:0;border-radius:8px;padding:7px 9px;background:#fff0f0;color:var(--red);cursor:pointer;font-size:8px}.event-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px 3px;border-bottom:1px solid var(--border)}.event-row b{font-size:9px}.event-row small{color:var(--muted);font-size:7px}.toast{position:fixed;right:25px;bottom:25px;z-index:80;display:flex;align-items:center;gap:10px;min-width:220px;padding:13px 16px;border-radius:12px;background:#17243d;color:#fff;box-shadow:0 16px 40px rgba(10,20,40,.22);font-size:9px}.toast i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--green);font-style:normal}footer{text-align:center;color:#9aa3b2;font-size:8px;padding:20px}
@media(max-width:1000px){.login-layout{grid-template-columns:1fr}.login-story{display:none}.login-form-wrap{min-height:calc(100vh - 128px)}.dashboard{grid-template-columns:1fr}.sidebar{display:none}.stats-grid{grid-template-columns:1fr 1fr}.license-table-head,.license-row{grid-template-columns:1.35fr 1fr .6fr .7fr}.license-table-head span:nth-child(3),.license-row>.device-count{display:none}}
.form-row select,.notice-form input,.notice-form select,.notice-form textarea{width:100%;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);padding:10px;outline:0}.notice-form{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding-top:18px}.notice-form label{display:grid;gap:7px;color:var(--muted);font-size:8px}.notice-content{grid-column:1/-1}.notice-form textarea{resize:vertical;min-height:140px}.notice-check{display:flex!important;grid-column:1/-1;grid-template-columns:auto 1fr;align-items:center;justify-content:start}.notice-check input{width:auto}.notice-list{padding:8px 24px 24px}.notice-row{display:grid;grid-template-columns:1.6fr .7fr .7fr 1fr auto;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--border)}.notice-row strong,.notice-row small{display:block}.notice-row strong{font-size:10px}.notice-row small{margin-top:5px;color:var(--muted);font-size:8px}.notice-row .notice-actions{display:flex;gap:6px}.notice-row button{border:0;border-radius:8px;padding:7px 9px;background:#edf3ff;color:var(--blue);cursor:pointer;font-size:8px}
@media(max-width:720px){.app-header{padding:0 18px}.secure-label{display:none}.dashboard{padding:20px 13px}.toolbar{display:block}.toolbar-actions{margin-top:18px}.stats-grid{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}.list-head{display:block}.list-tools{margin-top:15px}.search-box{width:100%}.license-table-head{display:none}.license-row{grid-template-columns:1fr auto;padding:16px}.license-row>.license-date,.license-row>.device-count{display:none}.license-actions{grid-column:1/-1;justify-content:flex-start}.detail-summary{grid-template-columns:1fr}.login-form-wrap{padding:35px 20px}}
@media(max-width:450px){.brand small{display:none}.stats-grid{grid-template-columns:1fr}.toolbar-actions{display:grid;grid-template-columns:1fr 1fr}.list-tools{display:block}.list-tools select{width:100%;margin-top:8px}.modal-card{padding:20px}.issue-result{display:block}.issue-result button{margin-top:12px;width:100%}}
.settings-panel{margin-bottom:16px}.settings-heading{padding-bottom:18px;border-bottom:1px solid var(--border)}.settings-heading h2{margin:0 0 6px;font-size:15px}.settings-heading p{margin:0;color:var(--muted);font-size:9px;line-height:1.7}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.settings-grid label{display:grid;gap:8px;color:#657188;font-size:9px;font-weight:700}.settings-grid label.full{grid-column:1/-1}.settings-grid input,.settings-grid textarea{width:100%;border:1px solid var(--border);border-radius:11px;background:#fff;color:var(--text);padding:11px 12px;outline:0;font-size:10px}.settings-grid input:focus,.settings-grid textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(36,104,242,.07)}.settings-grid textarea{resize:vertical}.settings-save{margin-top:20px}.toggle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0}.toggle-grid label{display:flex;align-items:center;gap:10px;padding:15px;border:1px solid var(--border);border-radius:12px;color:#526079;font-size:10px;font-weight:800}.toggle-grid input{width:18px;height:18px;accent-color:var(--blue)}.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:16px}.policy-grid article{padding:20px;background:#fff;border:1px solid var(--border);border-radius:16px}.policy-grid small,.policy-grid strong,.policy-grid p{display:block}.policy-grid small{color:var(--muted);font-size:8px}.policy-grid strong{margin-top:7px;font-size:20px}.policy-grid p{margin:7px 0 0;color:#98a2b2;font-size:8px;line-height:1.6}.connection-card{margin-top:20px;padding:17px;border-radius:13px;background:#f5f8ff;border:1px solid #dbe7ff}.connection-card small,.connection-card strong{display:block}.connection-card small{color:var(--muted);font-size:8px}.connection-card strong{margin:7px 0;font-size:11px;overflow-wrap:anywhere}.connection-card span{display:flex;align-items:center;gap:6px;color:var(--green);font-size:8px}.connection-card i{width:6px;height:6px;border-radius:50%;background:var(--green)}
@media(max-width:1000px){.dashboard{grid-template-columns:1fr}.sidebar{display:block;min-height:0;padding:0}.sidebar>div:first-child{display:flex;gap:7px;overflow-x:auto;padding-bottom:5px}.side-label,.side-help{display:none}.side-link{width:auto;min-width:max-content;padding:0 12px}}
@media(max-width:720px){.settings-grid,.toggle-grid,.policy-grid{grid-template-columns:1fr}.settings-grid label.full{grid-column:auto}.notice-form{grid-template-columns:1fr}.notice-content,.notice-check{grid-column:auto}.notice-row{grid-template-columns:1fr auto}.notice-row>:nth-child(2),.notice-row>:nth-child(3){display:none}}
