@charset "UTF-8";
:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#263047;background:#f7f8fc;font-synthesis:none;--purple:#7455df;--line:#e9eaf2;--muted:#8991a5}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;transition:background .15s,border-color .15s}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid #c4b6fa;outline-offset:3px}input:focus,select:focus{outline:0;border-color:#a58de9;box-shadow:0 0 0 3px #7455df0c}button:hover:not(:disabled){filter:brightness(.985)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}.app-shell{max-width:1320px;margin:auto;padding:0 42px}.topbar{height:102px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;min-width:210px}.brand-mark{background:linear-gradient(145deg,#ad97fc,#7753df);width:46px;height:46px;display:grid;place-items:center;color:white;font-size:24px;font-weight:800;border-radius:15px;box-shadow:0 5px 12px #7455df20}.brand>span:last-child{display:flex;flex-direction:column;gap:3px}.brand strong{font-size:21px;letter-spacing:2px}.brand small{font-size:11px;color:#949bae}.tabs{display:flex;gap:8px;padding:5px;background:#eeedf6;border-radius:12px}.tab{border:0;background:transparent;padding:11px 30px;border-radius:9px;color:#9294a5;font-weight:600;font-size:14px}.tab.active{background:white;color:var(--purple);box-shadow:0 2px 7px #2b245009}.prototype-badge{background:#fff3df;color:#ac8546;font-size:11px;padding:7px 10px;display:flex;align-items:center;gap:6px;border:1px solid #f7e8cf;border-radius:6px;white-space:nowrap}.prototype-badge i{width:5px;height:5px;background:#ce9a4d;border-radius:50%}main{padding:29px 0 28px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{color:#aaa5ba;letter-spacing:2px;font-size:10px;font-weight:600;margin-bottom:9px}h1{font-size:27px;letter-spacing:.3px;font-weight:650}.subtitle{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.7}.outline-label{color:#8d93a6;font-size:11px;border:1px solid var(--line);border-radius:7px;padding:9px 12px;background:#ffffff66;display:flex;align-items:center;gap:7px}.tiny-dot{display:inline-block;width:6px;height:6px;background:#8ba99d;border-radius:50%}.card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 26px #26304704}.client-layout{display:grid;grid-template-columns:1.07fr 1fr;gap:22px}.activation-card,.license-card{padding:28px 30px}.section-title{display:flex;gap:12px;align-items:center;margin-bottom:26px}.section-title h2,h2{font-size:16px;font-weight:650}.section-title p{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.7}.section-icon{display:grid;place-items:center;width:37px;height:37px;color:var(--purple);background:#f3efff;border-radius:11px;font-size:21px;flex-shrink:0}.section-icon.mint{background:#edf8f5;color:#63a792}.device-field{margin-bottom:24px}.field-heading{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:10px}.field-heading label,.input-label{color:#566079;font-size:12px;font-weight:600}.field-heading>span{font-size:10px;color:#aaaebe}.device-switch{display:grid;grid-template-columns:1fr 1fr;gap:12px}.device-switch button{position:relative;border:1px solid #e4e6f0;border-radius:9px;display:flex;gap:11px;align-items:center;background:#fff;padding:13px 15px;color:#969daf;font-size:12px}.device-switch button.selected{border-color:#c6b6f5;background:#f8f5ff;color:#7656d4}.device-icon{font-size:21px;line-height:1}.selected-dot{margin-left:auto;width:12px;height:12px;border:1px solid #d8dbe6;border-radius:50%}.selected .selected-dot{border:4px solid #8666e2;background:#fff}.field-hint{font-size:10px;line-height:1.8;color:#a0a6b6;margin-top:9px}.input-label{display:block;margin-bottom:9px}.input-label small{color:#a4abbb;font-size:10px;font-weight:400;margin-left:3px}input,select{color:#4f5870;background:white;border:1px solid #e3e6ee;border-radius:9px;padding:12px 13px;font-size:12px;width:100%}input::placeholder{color:#b4b9c8}.key-field{position:relative}.key-field input{height:47px;padding-right:40px;font-family:Consolas,"Microsoft YaHei",monospace;letter-spacing:.3px}.key-field>span{position:absolute;right:16px;top:14px;color:#b1a5ce;font-size:20px}.button{border:1px solid transparent;border-radius:9px;min-height:39px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:12px;font-weight:550}.button-primary{background:var(--purple);color:white;box-shadow:0 3px 6px #7455df12}.button-primary:hover:not(:disabled){background:#6241cb}.button-primary:disabled{box-shadow:none}.button-secondary{color:#8d80b3;border-color:#e5def7;background:#fff}.button-full{width:100%}#activate-button{margin-top:14px;height:44px}#activate-button>span{margin-left:5px}.plan-strip{display:flex;gap:8px;flex-wrap:wrap;padding-top:20px}.plan-strip span{background:#f7f8fb;border:1px solid #eef0f5;border-radius:5px;padding:5px 9px;color:#989fb0;font-size:10px}.small-note{display:flex;gap:8px;font-size:10px;color:#a5aabd;line-height:1.9;border-top:1px solid #f0f1f6;padding-top:15px;margin-top:19px}.small-note>span{color:#b9accd}.license-top{display:flex;align-items:flex-start;justify-content:space-between}.license-top .section-title{margin-bottom:16px}.status-chip{font-size:10px;border-radius:5px;padding:6px 9px;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.status-chip:before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor}.neutral{color:#959bb0;background:#f1f3f8}.success{color:#489c81;background:#eaf7f1}.warning{color:#b68d4f;background:#fff5e6}.danger{color:#c16c73;background:#fff0f0}.license-empty{text-align:center;padding:19px 0 23px}.license-empty h3{font-size:14px;font-weight:500;color:#7b8095;margin-top:9px}.license-empty p{font-size:11px;color:#aab0bf;line-height:1.9;margin-top:9px}.lock-illustration{position:relative;width:140px;height:140px;margin:0 auto;background:radial-gradient(circle at center,#f2edff 0,#faf8ff 57%,transparent 58%)}.lock-shackle{position:absolute;width:45px;height:47px;border:7px solid #d5c9f6;border-bottom:0;border-radius:26px 26px 0 0;top:36px;left:47px;transform:rotate(-9deg)}.lock-body{position:absolute;width:65px;height:53px;left:38px;top:69px;border-radius:13px;background:linear-gradient(135deg,#c7b4f6,#a08adc);box-shadow:0 7px 13px #a08adc20;transform:rotate(-9deg)}.lock-body i{position:absolute;left:29px;top:17px;background:#fbfaff;width:7px;height:18px;border-radius:5px}.lock-body i:before{content:'';position:absolute;width:11px;height:11px;top:-2px;left:-2px;border-radius:50%;background:#fbfaff}.spark{position:absolute;color:#b6a2e9}.spark.one{left:13px;top:51px;font-size:19px}.spark.two{right:5px;top:30px;font-size:17px}.license-plan{margin:8px 0 20px;display:flex;align-items:baseline;gap:12px}.license-plan>span{font-size:25px;font-weight:650;color:#7757d0}.license-plan>small{font-size:11px;color:#9da3b2;overflow-wrap:anywhere}.license-facts{margin:0 0 19px;display:grid;gap:13px}.license-facts>div{display:flex;justify-content:space-between;gap:16px;font-size:11px;align-items:center}.license-facts dt{color:#959daf}.license-facts dd{margin:0;color:#646c84;font-variant-numeric:tabular-nums}.license-facts .highlight-fact{padding:11px 12px;background:#f7f4ff;border-radius:7px;margin:0 -12px}.highlight-fact dt,.highlight-fact dd{color:#8165bf!important}.scenario-card{display:grid;grid-template-columns:1fr 1.2fr;gap:26px;padding:23px 30px;margin-top:21px;align-items:center}.scenario-copy .eyebrow{font-size:10px;letter-spacing:1px;color:#b7a4df}.scenario-copy h2{font-size:15px}.scenario-copy>p{font-size:10px;color:#9ba0b0;line-height:1.9;margin-top:8px}.scenario-copy strong{font-weight:500;color:#8c80a6}.scenario-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:13px}.scenario-options button{background:#fff;border:1px solid #e6e4ef;border-radius:7px;color:#9298ab;padding:9px 6px;font-size:11px}.scenario-options button.selected{border-color:#ccbaf3;background:#f6f2ff;color:#8263c9}.scenario-result{display:flex;gap:11px;align-items:center;padding:13px;background:#fafafe;border:1px dashed #e4e4ef;border-radius:9px;min-height:66px}.scenario-symbol{font-size:22px;color:#b5a8cf}.scenario-result strong{display:block;font-size:11px;color:#83849a;font-weight:550}.scenario-result p{color:#a7adbb;font-size:10px;margin-top:5px;line-height:1.7}.scenario-result.allowed{background:#f2faf6;border-color:#d3ece0}.scenario-result.allowed strong{color:#559b80}.scenario-result.blocked{background:#fff7ec;border-color:#f0e1c7}.scenario-result.blocked strong{color:#ac8650}.notice{display:flex;gap:9px;border-radius:9px;font-size:11px;padding:13px 16px;line-height:1.8;margin-bottom:20px}.notice-warning{background:#fff5e8;border:1px solid #f5dfbd;color:#aa8044}.notice-info{background:#f6f2ff;border:1px solid #e8dff9;color:#927db7}.notice button{color:inherit;background:none;border:0;text-decoration:underline;white-space:nowrap}.inline-message{font-size:11px;line-height:1.8;margin:12px 0 0;padding:10px 12px;border-radius:7px;overflow-wrap:anywhere}.inline-message.success{background:#eef9f3}.inline-message.error{background:#fff2ef;color:#b66b5c}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between}.stat span{font-size:11px;color:#9b9fb2}.stat strong{font-size:23px;color:#6c6383;font-weight:600}.admin-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.issue-card,.newly-issued{padding:23px 25px}.plan-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.plan-picker button{background:white;border:1px solid #e7e5ee;border-radius:8px;padding:12px 6px;font-size:11px;color:#9598ad}.plan-picker button.selected{background:#f6f2ff;border-color:#c9b8f2;color:#7958cb}.two-fields{display:grid;grid-template-columns:95px 1fr;gap:13px;margin-top:20px}.rule-line{display:flex;gap:8px;margin:17px 0;font-size:10px;color:#a7a0b6}.rule-line span+span:before{content:'·';margin-right:8px;color:#c5bdce}.compact-empty{text-align:center;padding:28px 10px 20px;color:#aca7bd}.compact-empty>span{font-size:38px;color:#d8cbed;display:block;margin-bottom:14px}.compact-empty p{font-size:12px}.compact-empty small{display:block;font-size:10px;color:#b4b7c5;margin-top:8px}.new-keys-list{max-height:228px;overflow:auto;padding-right:5px;display:grid;gap:10px}.new-key{background:#faf8ff;border:1px solid #e9e0fa;border-radius:8px;padding:12px}.new-key>code{display:block;font:12px Consolas,monospace;color:#6f589a;overflow-wrap:anywhere;letter-spacing:.4px}.key-actions{display:flex;align-items:center;gap:9px;margin-top:9px}.key-actions>span{font-size:10px;color:#ac9cbd;margin-right:auto}.link-button{border:0;background:none;color:#8c71c3;font-size:10px;padding:3px 0;white-space:nowrap}.link-button:hover{text-decoration:underline}.records-card,.event-card{padding:22px 25px;margin-bottom:20px}.records-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;gap:20px}.records-heading h2{display:flex;align-items:center;gap:8px}.count-badge{font-size:10px;background:#f1edf9;padding:3px 6px;border-radius:4px;color:#9b8ab9}.table-tools select{width:auto;min-width:113px;font-size:11px;padding:8px 10px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:11px;min-width:760px}th{background:#fafbfe;color:#9ca3b4;font-weight:500;padding:12px 10px}th:first-child{border-radius:7px 0 0 7px}th:last-child{border-radius:0 7px 7px 0}td{border-bottom:1px solid #f0f1f6;padding:14px 10px;color:#747c91}tr:last-child td{border-bottom:0}td small{display:block;font-size:10px;color:#afb4c2;line-height:1.7;margin-top:5px;max-width:180px;overflow-wrap:anywhere}td code{font-size:12px;color:#79758b}.disable-button{color:#c18384;background:#fff;border:1px solid #f0dfe1;border-radius:5px;font-size:10px;padding:5px 9px}.table-empty{text-align:center;padding:32px 0;color:#a7aebb;font-size:11px}.muted{font-size:10px;color:#a2a7b8}.events-list{max-height:225px;overflow:auto}.event{display:grid;grid-template-columns:148px 1fr auto;gap:14px;align-items:center;padding:10px 0;border-top:1px solid #f1f2f7;font-size:11px}.event time{color:#a7aebd;font-variant-numeric:tabular-nums;font-size:10px}.event strong{font-weight:400;color:#84899b}.event small{color:#b3b5c3;font-size:9px;word-break:break-all}.event code{font-size:10px}footer{display:flex;align-items:center;justify-content:space-between;padding:17px 0 22px;font-size:10px;color:#adb3c1;border-top:1px solid var(--line)}.footer-separator{margin:0 8px;color:#d0cbd9}#server-status{display:flex;align-items:center;gap:6px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#40354f;color:#fff;padding:13px 20px;border-radius:10px;box-shadow:0 8px 35px #302b4b24;font-size:12px;max-width:min(90vw,600px);line-height:1.7;z-index:100}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){.app-shell{padding:0 25px}.topbar{gap:12px}.brand{min-width:170px}.tab{padding:10px 20px}.activation-card,.license-card{padding:24px}.scenario-card{padding:22px 24px;grid-template-columns:1fr 1.25fr}.stats-grid{gap:9px}.stat{padding:14px}.plan-picker{gap:5px}}
@media(max-width:760px){.app-shell{padding:0 17px}.topbar{height:auto;padding:20px 0;flex-wrap:wrap}.brand{min-width:0;flex:1}.prototype-badge{order:2}.tabs{order:3;width:100%;justify-content:center;margin-top:10px}.tab{flex:1}.page-heading{align-items:flex-start}.outline-label{display:none}h1{font-size:24px}.client-layout,.admin-layout,.scenario-card{grid-template-columns:1fr}.scenario-card{gap:18px}.license-empty{padding:10px 0}.activation-card,.license-card{padding:23px}.stats-grid{grid-template-columns:repeat(3,1fr)}.stat{padding:13px}.stat strong{font-size:20px}.section-title{margin-bottom:22px}.event{grid-template-columns:125px 1fr}.event small{display:none}footer{flex-direction:column;align-items:flex-start;gap:10px}.new-keys-list{max-height:320px}.records-card,.event-card{padding:19px}.field-heading>span{font-size:9px}.scenario-options button{padding:10px 3px}}
.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.auth-card{max-width:480px;margin:40px auto 70px;padding:30px}.auth-card>.section-icon{margin-bottom:16px}.auth-card .subtitle{margin-bottom:24px}.auth-card .input-label{margin-top:17px}.auth-card .button-full{margin-top:22px}.password-card,.batch-card{padding:23px 25px;margin-bottom:20px}.password-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0}.password-card .button{margin-top:5px}.table-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:18px}.search-field{flex:1;min-width:200px}.table-tools select{min-height:39px}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding-top:16px;margin-top:10px}.pagination>span{margin-right:auto;font-size:11px;color:var(--muted)}.pagination select{width:auto;font-size:11px;padding:9px}.batch-row{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding:15px 0}.batch-row strong{font-size:12px;font-weight:550;color:#736584}.batch-row p,.batch-row small{font-size:10px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere}.batch-row p{margin-top:5px}.batch-row small{display:block}.batch-row .button{flex-shrink:0}.batch-list{max-height:300px;overflow:auto}#pending-issue{flex-wrap:wrap}#pending-issue p{width:100%}#issued-expiry{overflow-wrap:anywhere}#license-status{white-space:normal;max-width:160px;text-align:center;line-height:1.5}.event strong{line-height:1.7}
@media(max-width:760px){#admin-panel .page-heading{flex-direction:column;gap:15px}.admin-actions{width:100%}.admin-actions .button{flex:1}.auth-card{margin:15px auto 35px;padding:24px}.password-fields{grid-template-columns:1fr}.table-tools{gap:8px}.search-field{flex-basis:100%}.table-tools select{flex:1;width:0;min-width:100px}.pagination{flex-wrap:wrap}.pagination>span{flex-basis:100%}.pagination .button{padding:9px 12px}.batch-row{align-items:flex-start;flex-direction:column}.batch-row .button{align-self:flex-end}.batch-card,.password-card{padding:19px}}
