@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:Manrope,Microsoft YaHei,sans-serif;color:#172033;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 75% 20%,#dfe9ff 0,transparent 31%),linear-gradient(135deg,#f7f9ff,#eef3fc)}.login-card{width:min(430px,calc(100% - 32px));padding:42px;background:#fff;border:1px solid #e7ebf2;border-radius:22px;box-shadow:0 28px 80px #1e357a1c}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#536dfe,#7b54df);color:#fff;font-size:21px;font-weight:800;box-shadow:0 8px 20px #5e67df4d}.login-card .brand-mark{margin-bottom:24px}.eyebrow,.section-kicker{display:block;font-size:10px;letter-spacing:1.6px;font-weight:800;color:#7786a3}.login-card h1{font-size:30px;letter-spacing:-1px;margin:10px 0 6px}.login-card p{font-size:14px;color:#7b879d;margin:0}.login-card form{display:grid;gap:16px;margin-top:28px}label{display:flex;flex-direction:column;gap:7px;color:#536078;font-weight:700;font-size:12px}input{width:100%;background:#fff;border:1px solid #dfe5ef;border-radius:9px;padding:11px 12px;color:#172033;font:500 13px Manrope,sans-serif;outline:none;transition:.15s}input:focus{border-color:#6c78ee;box-shadow:0 0 0 3px #6574ed18}button{border:0;border-radius:9px;padding:10px 14px;font:700 12px Manrope,sans-serif;cursor:pointer;transition:.16s}.primary{background:linear-gradient(135deg,#536dfe,#6d58dc);color:#fff;box-shadow:0 7px 15px #5566da33}.primary:hover{transform:translateY(-1px);box-shadow:0 10px 21px #5566da42}.login-button{margin-top:4px;font-size:13px;padding:13px}.login-button span{font-size:19px;line-height:10px;float:right}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#151b2b;color:#d9e1f0;padding:26px 15px;display:flex;flex-direction:column}.logo{display:flex;gap:11px;align-items:center;padding:0 9px 31px}.logo b{display:block;color:#fff;font-size:14px;letter-spacing:-.2px}.logo small,.user-chip small{display:block;font-size:10px;color:#8290aa;margin-top:2px}.sidebar nav{display:grid;gap:5px}.nav-item{display:flex;gap:12px;align-items:center;color:#92a0b9;text-decoration:none;padding:11px 12px;border-radius:9px;font-size:13px;font-weight:700}.nav-item span{font-size:17px;width:17px;text-align:center}.nav-item.active{background:#283553;color:#fff}.nav-item em{margin-left:auto;font-style:normal;font-size:10px;background:#536dfe;color:#fff;border-radius:12px;padding:2px 7px}.sidebar-bottom{margin-top:auto;padding:10px 8px}.user-chip{display:flex;gap:9px;align-items:center;margin-bottom:16px}.user-chip>span{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#536dfe;color:#fff;font-size:13px;font-weight:800}.user-chip b{display:block;font-size:12px;color:#e8edf8}.logout{width:100%;background:transparent;border:1px solid #34415a;color:#aab7cc;text-align:left}.logout span{float:right}.workspace{margin-left:250px;width:calc(100% - 250px);max-width:1450px;padding:35px 42px 56px}header{display:flex;justify-content:space-between;align-items:start;margin-bottom:26px}.breadcrumb{font-size:11px;color:#8b98ad;margin:0 0 7px}.breadcrumb b{color:#536078}h1{font-size:28px;letter-spacing:-1px;margin:0 0 5px}header>div>p:last-child{font-size:13px;color:#8390a5;margin:0}.header-actions{display:flex;gap:12px;align-items:center}.live-dot{color:#2fa36b;background:#e8f8ee;font-size:11px;font-weight:800;padding:7px 10px;border-radius:20px}.live-dot:before{content:"";display:inline-block;width:6px;height:6px;background:#36ba79;border-radius:50%;margin-right:6px}.outline{background:#fff;border:1px solid #dce3ee;color:#4c5c75}.outline:hover{border-color:#aab9cf}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.stat-card{display:flex;justify-content:space-between;padding:19px;border-radius:15px;background:#fff;border:1px solid #e7ebf2;overflow:hidden}.stat-card span,.stat-card small{display:block;font-size:11px;color:#7e8ba0}.stat-card b{display:block;font-size:29px;letter-spacing:-1.5px;margin:5px 0}.stat-card i{width:37px;height:37px;display:grid;place-items:center;border-radius:12px;font-size:18px;font-style:normal}.blue i{color:#526cdb;background:#e8edff}.green i{color:#239662;background:#e1f8ed}.orange i{color:#d77a18;background:#fff0dd}.purple i{color:#8854cf;background:#f1e8ff}.card{background:#fff;border:1px solid #e6ebf2;border-radius:15px;padding:22px;margin:18px 0;box-shadow:0 2px 10px #1d2a4d05}.section-heading{margin-bottom:18px}.section-heading h2,.title h2{font-size:17px;letter-spacing:-.4px;margin:4px 0}.section-heading p{font-size:12px;color:#8390a5;margin:0}.title{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.title h2 small{font-size:11px;font-weight:600;color:#8995a8;margin-left:6px}.create{display:grid;grid-template-columns:1fr 1fr 2.2fr auto;gap:13px;align-items:end}.actions{display:flex;gap:9px;align-items:center}.search{position:relative;width:245px}.search span{position:absolute;left:11px;top:8px;color:#97a4b7;font-size:18px}.search input{padding-left:31px}table{width:100%;border-collapse:collapse;font-size:12px}th{font-size:10px;letter-spacing:.55px;text-transform:uppercase;color:#8b97a8;text-align:left;padding:9px 8px;border-bottom:1px solid #edf0f5}td{padding:13px 8px;border-bottom:1px solid #eff2f6;color:#4b5870}tbody tr{transition:.12s}tbody tr:hover,tbody tr.selected{background:#f7f9ff}tbody tr:last-child td{border-bottom:0}.key{display:block;font-family:DM Mono,Consolas,monospace;font-size:11px;color:#3e5275;word-break:break-all}.row-id{display:block;font-size:10px;color:#a4aebe;margin-top:3px}.active,.revoked{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:4px 8px;font-size:10px;font-weight:800}.active{color:#218858;background:#e8f8ef}.revoked{color:#b94a5c;background:#fff0f2}.active i,.revoked i{width:5px;height:5px;border-radius:50%;background:currentColor}.device-count{color:#6a7690;font-size:11px}.note{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.right{text-align:right}.buttons{white-space:nowrap}.text-button{background:transparent;color:#536dce;padding:6px}.text-button:hover{background:#edf1ff}.danger-lite,.restore{padding:6px 9px}.danger-lite{background:#fff0f2;color:#bd5363}.restore{background:#eaf7ef;color:#248b59}.danger{background:#a83d4f;color:#fff}.detail{display:grid;grid-template-columns:1.04fr .96fr;gap:18px}.detail .card{margin:0}.muted{margin:0;font-size:11px}.audit-action{font:500 10px DM Mono,monospace;color:#6557bc;background:#f0edff;border-radius:5px;padding:4px 6px}.empty{text-align:center;color:#9da8b7;padding:25px!important}.error{background:#fff0f2;color:#bd4e60;border:1px solid #ffdfe4;border-radius:9px;padding:11px 13px;font-size:12px;margin:0 0 16px}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.detail{grid-template-columns:1fr}.workspace{padding:28px 24px}}@media(max-width:780px){.sidebar{display:none}.workspace{margin:0;width:100%;padding:24px 14px}.create{grid-template-columns:1fr 1fr}.create .wide{grid-column:span 2}header{gap:15px;flex-direction:column}.title{align-items:start;flex-direction:column;gap:13px}.actions{width:100%}.search{flex:1}table{display:block;overflow-x:auto;white-space:nowrap}.stats{gap:10px}.stat-card{padding:14px}.header-actions{width:100%;justify-content:space-between}}@media(max-width:460px){.stats,.create{grid-template-columns:1fr}.create .wide{grid-column:auto}.workspace{padding:20px 12px}.card{padding:16px}.header-actions{align-items:start;flex-direction:column}}.sidebar .nav-item{width:100%;background:transparent;text-align:left}.sidebar .nav-item:hover{background:#202b43;color:#dce6f7}.create{grid-template-columns:1fr 2.2fr auto}.sidebar nav .nav-item:nth-child(3){display:none}.detail{grid-template-columns:1fr}.detail>section:first-child{display:none}.delete-button{background:transparent;color:#a4adbb;padding:6px}.delete-button:hover{background:#fff0f2;color:#bd5363}.license-key-line{display:flex;align-items:center;gap:8px}.license-key-line .key{min-width:0}.copy-button{flex:none;padding:4px 8px;background:#edf1ff;color:#536dce;font-size:10px}.copy-button:hover{background:#dfe6ff}.copy-button.copied{background:#e8f8ef;color:#218858}.expiry-cell{display:flex;align-items:center;gap:8px;white-space:nowrap}.renew-button{flex:none;padding:4px 8px;background:#fff4df;color:#b56b16;font-size:10px}.renew-button:hover{background:#ffe9c2}.modal-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#0f172a85;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.renew-modal{width:min(440px,100%);padding:26px;border:1px solid #e5eaf2;border-radius:18px;background:#fff;box-shadow:0 28px 80px #0f172a3d}.modal-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.modal-heading h2{margin:4px 0 0;font-size:20px}.modal-close{width:32px;height:32px;padding:0;background:#f2f4f8;color:#78859a;font-size:20px}.renew-key{margin:0 0 18px;padding:10px 12px;border-radius:9px;background:#f5f7fb;color:#536078;font:500 11px DM Mono,Consolas,monospace;word-break:break-all}.renew-preview{display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding:12px;border-radius:10px;background:#f0f4ff}.renew-preview span{color:#7e8ba0;font-size:11px}.renew-preview b{color:#4359b5;font-size:12px;text-align:right}.renew-tip{margin:12px 0 0;color:#8a96a8;font-size:11px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.modal-actions button{min-width:92px}.download-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.download-heading h2{margin:4px 0;font-size:17px}.download-heading p{margin:0;color:#8390a5;font-size:12px}.download-create{display:flex;align-items:flex-end;gap:10px}.download-create input{width:112px}.download-create button{min-width:96px;height:39px}.download-result{display:flex;align-items:center;gap:14px;margin-top:18px;padding:14px;border:1px solid #dfe6f4;border-radius:10px;background:#f7f9fd}.download-link-value{min-width:0;flex:1}.download-link-value span,.download-link-value small{display:block;color:#8a96a8;font-size:10px}.download-link-value code{display:block;margin:5px 0;overflow:hidden;color:#35496d;font:500 11px DM Mono,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}.copy-download-button{flex:none;background:#edf1ff;color:#536dce}.copy-download-button.copied{background:#e8f8ef;color:#218858}html,body,#app{width:100%;min-height:100%}body{overflow-x:hidden}.workspace{min-width:0;max-width:none}.table-scroll{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.table-scroll table{min-width:920px}.pagination-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:18px;border-top:1px solid #eff2f6}.page-summary{display:flex;align-items:center;gap:6px;color:#7e8ba0;font-size:11px}.page-summary select{height:30px;padding:0 25px 0 9px;border:1px solid #dfe5ef;border-radius:8px;background:#fff;color:#4b5870;outline:none}.page-buttons{display:flex;gap:6px;align-items:center}.page-button{min-width:34px;height:32px;padding:0 10px;border:1px solid #dfe5ef;background:#fff;color:#536078}.page-button:hover:not(:disabled){border-color:#8795ee;color:#536dce}.page-button.current{border-color:#536dfe;background:#536dfe;color:#fff}.page-button:disabled{cursor:not-allowed;opacity:.45}@media(max-width:1280px){.workspace{padding:28px 24px 48px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.create{grid-template-columns:minmax(150px,.7fr) minmax(260px,1.8fr) auto}}@media(max-width:900px){.sidebar{width:210px}.workspace{margin-left:210px;width:calc(100% - 210px);padding:24px 18px 40px}.create{grid-template-columns:1fr}.create .wide{grid-column:auto}.create .primary{width:100%}}@media(max-width:780px){.workspace{margin-left:0;width:100%;padding:22px 14px 36px}.create{grid-template-columns:repeat(2,minmax(0,1fr))}.create .wide,.create .primary{grid-column:1 / -1}.table-scroll{margin-right:-4px;padding-bottom:5px}.download-heading{align-items:stretch;flex-direction:column}}@media(max-width:560px){.login-card{padding:28px 22px}.stats,.create{grid-template-columns:1fr}.create .wide,.create .primary{grid-column:auto}.card{padding:16px 14px}.title,header{align-items:stretch}.actions,.header-actions{width:100%}.actions .outline{flex:none}.search{min-width:0;width:auto}.header-actions{flex-direction:row;align-items:center}.stat-card{padding:16px}.pagination-bar{align-items:stretch;flex-direction:column}.page-buttons{justify-content:space-between}.page-number{display:none}.page-button{flex:1}.renew-modal{padding:21px 18px}.renew-preview{align-items:flex-start;flex-direction:column}.renew-preview b{text-align:left}.download-create,.download-result{align-items:stretch;flex-direction:column}.download-create input,.copy-download-button{width:100%}}
