:root{color:#edf3ff;background:#0f1118;font-family:Microsoft YaHei UI,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{background:#0f1118;min-width:1280px;margin:0}button,input,select,textarea{font:inherit}button{color:#dce8ff;cursor:pointer;white-space:nowrap;background:#252a3a;border:1px solid #3a4054;border-radius:6px;height:34px;padding:0 12px}button:hover{border-color:#5a6686}button:disabled{opacity:.45;cursor:not-allowed}button.primary{color:#06131d;background:#00d5ff;border-color:#00d5ff;font-weight:700}button.danger{color:#ffd6dc;background:#3b2229;border-color:#66313d}input,select,textarea{color:#f4f8ff;background:#1a1e2a;border:1px solid #343b50;border-radius:6px;outline:none;min-height:34px;padding:0 10px}textarea{resize:vertical;min-height:66px;padding:8px 10px}.page{min-height:100vh}.login-panel{place-items:center;min-height:100vh;display:grid}.login-box{background:#171a25;border:1px solid #262b3b;border-radius:8px;width:390px;padding:28px}.login-box h1{margin:0 0 22px;font-size:24px}.login-box label{color:#aeb8ce;gap:8px;margin-bottom:14px;font-size:13px;display:grid}.login-box button{width:100%;margin-top:6px}.shell{grid-template-columns:210px 1fr;min-height:100vh;display:grid}aside{background:#151822;border-right:1px solid #252a3a;padding:22px 14px}.brand{gap:4px;margin:0 8px 22px;display:grid}.brand strong{color:#00d5ff;font-size:22px}.brand span,header p{color:#8f9ab2;margin:0;font-size:12px}aside button{text-align:left;width:100%;margin-bottom:8px}aside button.active{color:#06131d;background:#00d5ff;border-color:#00d5ff;font-weight:700}.content{padding:22px}header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}header h2{margin:0 0 5px;font-size:22px}.pill{color:#7ee7ff;background:#10232b;border:1px solid #2c4e5c;border-radius:999px;padding:5px 10px;font-size:12px}.panel{background:#171a25;border:1px solid #252b3b;border-radius:8px;padding:14px}.toolbar{gap:10px;margin-bottom:14px;display:grid}.user-toolbar{grid-template-columns:150px 150px 90px 150px 1fr 100px}.versions-form{background:#151925;border:1px solid #252b3b;border-radius:8px;grid-template-columns:minmax(150px,180px) 120px 140px minmax(180px,240px) 128px 116px;grid-template-areas:"version platform package min mandatory mandatory""file file notes notes notes publish";align-items:start;gap:10px 12px;padding:12px 14px}.versions-form>input:first-of-type{grid-area:version}.versions-form>select:first-of-type{grid-area:platform}.versions-form>select:nth-of-type(2){grid-area:package}.versions-form>input:nth-of-type(2){grid-area:min}.versions-form>.check{grid-area:mandatory}.versions-form>input[type=file]{grid-area:file}.versions-form>textarea{resize:vertical;grid-area:notes;height:42px;min-height:42px}.versions-form>button.primary{grid-area:publish;align-self:start;width:100%;height:42px;min-height:42px;box-shadow:0 0 0 1px #00d5ff2e,0 8px 18px #00d5ff14}.versions-form>input,.versions-form>select,.versions-form>.check{width:100%;height:42px}.versions-form>.check{white-space:nowrap;background:#1a1e2a;border:1px solid #343b50;border-radius:6px;justify-content:center;padding:0 10px}.versions-form>input[type=file]{color:#b8c2d8;white-space:nowrap;height:42px;min-height:42px;padding:6px 8px;line-height:28px;overflow:hidden}.versions-form>input[type=file]::file-selector-button{color:#07131e;cursor:pointer;background:#dce8ff;border:0;border-radius:4px;height:28px;margin-right:10px;padding:0 10px;font-weight:700}.versions-form>input[type=file]::file-selector-button:hover{background:#f4f8ff}.login-record-toolbar{grid-template-columns:260px 88px 88px 1fr}.check{color:#c8d1e4;align-items:center;gap:7px;font-size:13px;display:flex}.check input{min-height:auto}.table{border:1px solid #242a3a;border-radius:6px;overflow:auto}.thead,.row{align-items:center;gap:10px;padding:9px 10px;display:grid}.thead{color:#8f9ab2;z-index:1;background:#202432;font-size:12px;font-weight:700;position:sticky;top:0}.row{border-top:1px solid #242a3a;min-height:48px}.row-block:nth-child(odd),.row:nth-child(odd){background:#181c28}.user-grid{grid-template-columns:120px 82px 240px 92px 150px 155px 140px 220px minmax(160px,1fr);min-width:1440px}.version-grid{grid-template-columns:110px 90px 100px 140px 120px 1fr 80px;min-width:880px}.login-record-grid{grid-template-columns:220px 220px;min-width:460px}.password-panel{max-width:560px}.password-form{gap:14px;display:grid}.password-form label{color:#aeb8ce;gap:8px;font-size:13px;display:grid}.password-form button{width:160px}.password-hint{color:#b8c3d8;background:#111522;border:1px solid #293044;border-radius:6px;padding:12px 14px;font-size:13px;line-height:1.7}.actions{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.user-actions button{min-width:56px;padding:0 10px}.password-cell{grid-template-columns:1fr 54px;align-items:center;gap:8px;display:grid}.password-cell span{color:#ff7676;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.password-cell button{padding:0}.device-code{gap:3px;min-width:0;display:grid}.device-code code{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.device-code small,.expiry-cell small{color:#78859f;font-size:11px}.device-limit-input{width:82px}.expiry-cell{gap:4px;display:grid}.expiry-cell input{width:145px}.status-badge{border-radius:999px;justify-content:center;align-items:center;width:72px;height:26px;font-size:12px;font-weight:700;display:inline-flex}.status-badge.active{color:#0d2412;background:#39f272}.status-badge.pending{color:#1d1826;background:#ffcc70}.status-badge.disabled{color:#ffdce1;background:#5c2a35}.devices{gap:7px;padding:0 10px 10px 150px;display:grid}.device-line{color:#b8c3d8;background:#111522;border:1px solid #293044;border-radius:6px;grid-template-columns:160px 74px 170px 170px 170px;align-items:center;gap:10px;padding:8px;font-size:12px;display:grid}.device-status{border-radius:999px;justify-content:center;align-items:center;width:62px;height:24px;font-weight:700;display:inline-flex}.device-status.active{color:#0d2412;background:#39f272}.device-status.pending{color:#1d1826;background:#ffcc70}.device-actions{justify-content:flex-end}.device-actions button{min-width:70px;padding:0 8px}.device-hint{color:#ffcc70;white-space:nowrap}.empty-row{color:#8f9ab2;border-top:1px solid #242a3a;padding:18px}code{color:#7ee7ff;word-break:break-all}.notice,.error{color:#ffcc70;margin:12px 0 0}.membership-plan-form{grid-template-columns:150px 120px 110px 90px minmax(220px,1fr) 110px 100px}.membership-plan-grid{grid-template-columns:150px 110px 90px 80px 120px minmax(220px,1fr) 150px;min-width:1040px}.membership-plan-grid input{width:100%}.panel-hint{color:#8f9ab2;margin:12px 0 0;font-size:12px}.payment-layout{gap:14px;display:grid}.payment-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.summary-card{background:#171a25;border:1px solid #283044;border-radius:8px;gap:6px;padding:14px;display:grid}.summary-card small,.summary-card span{color:#8f9ab2}.summary-card strong{color:#7ee7ff;font-size:22px}.payment-warning{color:#ffda8a;background:#2a2112;border:1px solid #6b5225;border-radius:8px;padding:12px 14px}.payment-order-toolbar{grid-template-columns:240px 150px 90px 90px 1fr}.payment-order-grid{grid-template-columns:190px 110px 120px 80px 80px 90px 165px 165px 190px;min-width:1260px}.payment-actions{flex-wrap:wrap}.payment-actions button{min-width:50px;padding:0 8px}.payment-status{color:#dae3f3;background:#30384a;border-radius:999px;justify-content:center;align-items:center;min-width:68px;height:25px;font-size:12px;font-weight:700;display:inline-flex}.payment-status.paid{color:#082416;background:#40e58b}.payment-status.pending,.payment-status.creating,.payment-status.refund_pending{color:#2a1b05;background:#ffca68}.payment-status.failed,.payment-status.expired,.payment-status.refunded{color:#ffe1e5;background:#66313b}.membership-ledger-grid{grid-template-columns:130px 110px 90px 100px 190px 190px;min-width:840px}.payment-callback-grid{grid-template-columns:190px 80px 90px 220px minmax(260px,1fr);min-width:900px}.pagination-bar{border-top:1px solid #242a3a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:flex}.pagination-meta{color:#8f9ab2;align-items:center;gap:14px;font-size:12px;display:flex}.pagination-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pagination-controls label{color:#aeb8ce;align-items:center;gap:8px;font-size:12px;display:inline-flex}.pagination-controls select{width:82px}.panel h3{margin:0 0 12px;font-size:16px}@media (width<=1100px){.payment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
