:root{font-family:PingFang SC,Microsoft YaHei,sans-serif;color:#e9e9ed;background:#101013;--green:#d9ff59;--panel:#1b1b20;--line:#2c2c33;--muted:#7f7f89}*{box-sizing:border-box}body{margin:0;background:#101013}button,input{font:inherit}.loading{height:100vh;display:grid;place-items:center;color:var(--muted)}.admin-login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,#d9ff5914,transparent 28%),#101013}.admin-login section{width:410px;background:#19191d;border:1px solid #303037;border-radius:18px;padding:34px;box-shadow:0 35px 90px #0008}.admin-brand{display:flex;align-items:center;gap:11px}.admin-brand>span{width:39px;height:39px;border-radius:10px;background:var(--green);color:#10110b;display:grid;place-items:center}.admin-brand>span svg{width:21px}.admin-brand>div{display:flex;flex-direction:column}.admin-brand b{letter-spacing:1px}.admin-brand small{font-size:8px;color:#62626c;letter-spacing:1px}.admin-login h1{font-size:27px;margin:36px 0 7px}.admin-login p{color:var(--muted);font-size:11px;margin-bottom:28px}.admin-login label{display:flex;flex-direction:column;gap:8px;color:#aaa;font-size:11px;margin:15px 0}.admin-login input,.provider input{background:#101013;border:1px solid #393940;border-radius:8px;color:#eee;padding:12px;outline:0}.admin-login input:focus,.provider input:focus{border-color:#8da531}.admin-login>section>button,.primary{width:100%;border:0;background:var(--green);color:#13140e;border-radius:8px;padding:12px;font-weight:700;cursor:pointer;margin-top:10px}.error{color:#e18b78;font-size:10px;margin:8px 0}.admin-shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.admin-shell>aside{height:100vh;position:sticky;top:0;background:#0a0a0c;border-right:1px solid #232328;padding:24px 15px;display:flex;flex-direction:column}.admin-shell>aside .admin-brand{padding:0 8px 32px}.admin-shell nav{display:flex;flex-direction:column;gap:5px}.admin-shell nav button{border:0;background:transparent;color:#777782;padding:11px 13px;border-radius:8px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}.admin-shell nav svg{width:17px}.admin-shell nav button.active{background:#242429;color:#fff;border-left:3px solid var(--green)}.admin-user{margin-top:auto;border-top:1px solid #26262b;padding:17px 4px 0;display:grid;grid-template-columns:34px 1fr 28px;gap:9px;align-items:center}.admin-user>div{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#6f4937}.admin-user span{display:flex;flex-direction:column;overflow:hidden}.admin-user b{font-size:11px}.admin-user small{font-size:8px;color:#666;overflow:hidden;text-overflow:ellipsis}.admin-user button{border:0;background:none;color:#777;cursor:pointer}.admin-user svg{width:16px}.admin-shell>main{padding:0 34px 50px;min-width:0}.admin-shell header{height:92px;border-bottom:1px solid #26262c;display:flex;align-items:center;justify-content:space-between}.admin-shell header h1{font-size:21px;margin:0 0 5px}.admin-shell header p{font-size:10px;color:var(--muted);margin:0}.admin-shell header .primary{width:auto;margin:0;display:flex;align-items:center;gap:7px;padding:10px 15px}.admin-shell header svg,.provider button svg,.issued button svg{width:16px}.issued{margin:20px 0 0;padding:14px 17px;border:1px solid #5a682f;background:#242b1a;border-radius:10px;display:flex;justify-content:space-between;align-items:center}.issued span{display:flex;flex-direction:column;gap:5px}.issued small{color:#7e8c5d;font-size:8px}.issued b{color:var(--green);letter-spacing:2px}.issued button{border:1px solid #49532b;background:#303923;color:#cde766;border-radius:7px;padding:7px 11px;display:flex;align-items:center;gap:5px;cursor:pointer}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:20px 0}.stat{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:17px}.stat small{color:var(--muted);font-size:9px}.stat b{font-size:27px;display:block;margin-top:4px}.provider{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:17px;display:grid;grid-template-columns:1fr minmax(300px,500px) auto;gap:12px;align-items:center;margin-bottom:16px}.provider h2,.table-card h2{font-size:13px;margin:0 0 6px}.provider p{font-size:9px;color:var(--muted);margin:0}.provider button{border:0;background:var(--green);color:#111;border-radius:7px;padding:10px 13px;display:flex;gap:5px;align-items:center;cursor:pointer}.provider>small{grid-column:2/4;color:#a8bb68}.columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.table-card{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:17px;margin-bottom:16px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:10px}th{text-align:left;color:#65656f;font-weight:500;padding:9px;border-bottom:1px solid #303037}td{padding:11px 9px;border-bottom:1px solid #27272d;color:#aaa}td b,td small{display:block}td b{color:#ddd;margin-bottom:3px}td small{color:#666;font-size:8px}td code{color:#c9dc7c}td button{border:0;border-radius:15px;padding:5px 8px;font-size:9px;cursor:pointer}.ok{background:#2c351e;color:#cfe760}.off{background:#392423;color:#d78378}@media (max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.columns,.provider{grid-template-columns:1fr}.provider>small{grid-column:auto}}:root{--green:#d9ff59;--panel:#1b1b20;--line:#2c2c33;--muted:#7f7f89}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.overview-grid>button{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:12px;padding:18px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:#aaa;text-align:left;cursor:pointer}.overview-grid>button:hover{border-color:#596735;background:#202128}.overview-grid>button>svg{color:var(--green);width:21px}.overview-grid span{display:flex;flex-direction:column;gap:5px}.overview-grid b{color:#eee;font-size:12px}.overview-grid small{color:var(--muted);font-size:9px}.overview-grid strong{color:var(--green);font-size:9px}.provider-page{margin-top:20px!important;padding:20px!important;display:block!important}.provider-heading{margin-bottom:18px}.provider-heading h2{font-size:15px!important}.provider-page label{display:flex;flex-direction:column;gap:7px;color:#8c8c96;font-size:10px}.provider-page input{width:100%;background:#101013;border:1px solid #393940;border-radius:8px;color:#eee;padding:12px;outline:0}.provider-list{display:flex;flex-direction:column;gap:9px}.provider-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 16px;border:1px solid var(--line);border-radius:9px;background:#151519}.provider-card.active{border-color:#718c34;background:#202718}.provider-card-info{display:flex;flex-direction:column;gap:7px;min-width:0}.provider-card-info b{font-size:12px;color:#eee}.provider-card-info code{font-size:10px;color:#999;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provider-card-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}.provider-card-actions button,.provider-form-actions button{display:flex;align-items:center;gap:5px;border:1px solid #414149;background:#24242a;color:#ccc;border-radius:7px;padding:8px 10px;font-size:10px;cursor:pointer}.provider-card-actions button:hover{border-color:#8ca843;color:#e5ff8a}.provider-card-actions svg,.provider-form-actions svg{width:14px;height:14px}.provider-card-actions .provider-remove{color:#e28378}.provider-badge{color:#d9ff59;background:#2c381d;border-radius:15px;padding:6px 9px;font-size:9px}.provider-form{margin-top:18px;padding-top:18px;border-top:1px solid #2b2b31}.provider-form-title{font-size:12px;color:#ddd;margin-bottom:11px}.provider-form-grid{display:grid;grid-template-columns:180px minmax(260px,1fr) auto;gap:12px;align-items:end}.provider-form-actions{display:flex;gap:7px}.provider-form-actions button{border:0;background:var(--green);color:#111;padding:11px 14px;font-weight:700}.provider-form-actions button:disabled{opacity:.45;cursor:not-allowed}.provider-form-actions .cancel{border:1px solid #414149;background:#24242a;color:#ccc;font-weight:400}.provider-help{margin-top:20px;padding-top:16px;border-top:1px solid #2b2b31}.provider-help b{font-size:11px;color:#ddd}.provider-help p{max-width:680px;line-height:1.8}.provider-page .notice{display:block;margin-top:12px;color:#a8bb68;font-size:10px}.secondary-action{display:flex;align-items:center;gap:7px;border:1px solid #49532b;background:#242b1a;color:var(--green);border-radius:8px;padding:10px 14px;cursor:pointer}.admin-shell main>.table-card{min-height:220px}.task-status{display:inline-block;padding:4px 7px;border-radius:12px;background:#2b2b31;color:#bbb;font-size:9px}.task-completed{background:#2c351e;color:#cfe760}.task-failed{background:#492b29;color:#f09a8c}.task-running,.task-queued{background:#30352a;color:#d9ff59}.task-error{min-width:220px;max-width:420px}.task-error summary{cursor:pointer;color:#f09a8c;line-height:1.4}.task-error pre{max-height:260px;overflow:auto;margin:8px 0 0;padding:9px;border:1px solid #4a3030;border-radius:6px;background:#171214;color:#f0c4bb;font:9px ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.header-actions{display:flex;align-items:center;gap:9px}.refresh{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:#24242a;color:#bbb;border-radius:7px;padding:9px 12px;font-size:10px;cursor:pointer}.refresh:hover{border-color:#718c34;color:#e5ff8a}.refresh:disabled{opacity:.55;cursor:wait}.refresh svg{width:15px;height:15px}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.health-panel{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:20px;margin-top:20px}.health-panel h2{font-size:14px;margin:0 0 16px}.health-panel p{color:#aaa;font-size:11px;margin:10px 0}.health-panel code{color:#c9dc7c}.health-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:7px;box-shadow:0 0 10px var(--green)}@media (max-width:1100px){.overview-grid,.provider-form-grid{grid-template-columns:1fr}.provider-card{align-items:flex-start;flex-direction:column}.provider-card-actions{width:100%}}.license-generator{display:grid;grid-template-columns:minmax(0,1fr) 120px 180px auto;gap:12px;align-items:end;margin:20px 0 16px;padding:17px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.license-generator h2{margin:0 0 6px;font-size:13px}.license-generator p{margin:0;color:var(--muted);font-size:9px}.license-generator label{display:flex;flex-direction:column;gap:7px;color:#999;font-size:10px}.license-generator input,.license-generator select{width:100%;padding:10px;border:1px solid #393940;border-radius:7px;background:#101013;color:#eee;outline:0}.license-generator .primary{width:auto;margin:0;white-space:nowrap}.license-error{grid-column:1/-1;color:#e18b78;font-size:9px}.batch-issued{display:block}.batch-issued-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.batch-issued-head span{display:flex;flex-direction:column;gap:5px}.batch-issued-head span small{color:#89975b}.batch-issued-head>div{display:flex;gap:7px}.batch-issued textarea{display:block;width:100%;height:150px;margin-top:12px;padding:10px;border:1px solid #3c4627;border-radius:7px;background:#151a12;color:var(--green);font:11px ui-monospace,monospace;line-height:1.6;resize:vertical;outline:0}@media (max-width:1100px){.license-generator{grid-template-columns:1fr 1fr}.license-generator>div:first-child{grid-column:1/-1}.license-generator .primary{grid-column:1/-1;width:100%}}.device-id-list{display:flex;flex-direction:column;gap:4px;margin-top:6px;max-width:360px;color:var(--muted);font-size:9px;line-height:1.35}.device-id-list code{display:block;color:#c9dc7c;font:9px ui-monospace,monospace;overflow-wrap:anywhere;white-space:normal}.license-policy{margin:20px 0 16px;padding:17px;border:1px solid #46552a;border-radius:11px;background:linear-gradient(135deg,#202719,#1b1b20)}.license-policy h2{margin:0 0 6px;font-size:13px}.license-policy p{margin:0;color:var(--muted);font-size:9px}.license-policy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px}.license-policy-grid span{display:flex;flex-direction:column;gap:5px;padding:11px;border:1px solid #39432b;border-radius:8px;background:#161a13}.license-policy-grid b{font-size:10px;color:#d9ff59}.license-policy-grid small{font-size:8px;line-height:1.45;color:#89975b}.bound-user-list{display:flex;flex-direction:column;gap:4px;max-width:220px;line-height:1.35}.bound-user-list span{color:#c9dc7c;overflow-wrap:anywhere}@media (max-width:1100px){.license-policy-grid{grid-template-columns:repeat(2,1fr)}}
