:root { --bg:#07101b; --panel:rgba(13,27,44,.82); --line:rgba(108,174,232,.18); --text:#f4f8ff; --muted:#8ca3ba; --lime:#c8ff36; --cyan:#26d9ff; --red:#ff6b6b; }
*{box-sizing:border-box} body{margin:0;font-family:"Microsoft YaHei",system-ui,sans-serif;background:radial-gradient(circle at 80% 10%,rgba(38,217,255,.16),transparent 28%),linear-gradient(135deg,#050912,#0a1421);color:var(--text)}
.admin-login-page{min-height:100vh;display:grid;place-items:center;overflow:hidden}.login-orb{position:fixed;border-radius:50%;filter:blur(60px);opacity:.45}.orb-a{width:420px;height:420px;background:var(--cyan);right:8%;top:8%}.orb-b{width:360px;height:360px;background:var(--lime);left:8%;bottom:8%}.login-shell{width:min(980px,calc(100% - 32px));display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}.login-brand,.login-card{border:1px solid var(--line);background:var(--panel);backdrop-filter:blur(20px);border-radius:30px;padding:34px;box-shadow:0 28px 90px rgba(0,0,0,.35)}.admin-logo{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,var(--lime),var(--cyan));color:#07101b;font-weight:1000}.login-brand h1{font-size:54px;line-height:1.05;letter-spacing:-.07em}.login-brand p,.login-brand li,.login-card p{color:var(--muted)}.login-card{display:grid;gap:16px}.login-card h2{font-size:34px;margin:0}.login-card label{display:grid;gap:8px;color:var(--muted)}.login-card input,.admin-form input{width:100%;border:1px solid var(--line);background:rgba(0,0,0,.24);color:var(--text);border-radius:14px;padding:13px}.login-card button,.admin-panel button,.admin-form button{border:0;border-radius:14px;padding:12px 16px;background:var(--lime);color:#07101b;font-weight:900;cursor:pointer}.login-msg{color:var(--red)}
.admin-page{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.admin-side{position:sticky;top:0;height:100vh;padding:22px;border-right:1px solid var(--line);background:rgba(4,10,18,.72);backdrop-filter:blur(20px)}.admin-side-logo{display:flex;align-items:center;gap:10px;margin-bottom:28px}.admin-side-logo span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--lime);color:#07101b;font-weight:1000}.admin-side nav{display:grid;gap:8px}.admin-side a{color:var(--muted);text-decoration:none;padding:12px 14px;border-radius:14px}.admin-side a.active,.admin-side a:hover{color:var(--text);background:rgba(255,255,255,.08)}.admin-side button{position:absolute;bottom:22px;left:22px;right:22px;background:rgba(255,255,255,.08);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:12px}.admin-main{padding:28px;min-width:0}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.admin-top p,.panel-title p{color:var(--lime);letter-spacing:.16em;font-size:12px;margin:0}.admin-top h1{margin:6px 0 0;font-size:42px;letter-spacing:-.06em}.admin-status{border:1px solid var(--line);padding:10px 14px;border-radius:999px;color:var(--muted)}.admin-status span{display:inline-block;width:9px;height:9px;border-radius:50%;background:#65ff98;margin-right:8px}.admin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.admin-kpis article,.admin-panel{border:1px solid var(--line);background:var(--panel);border-radius:24px;padding:20px;box-shadow:0 22px 70px rgba(0,0,0,.24)}.admin-kpis span,.admin-kpis small{color:var(--muted)}.admin-kpis b{display:block;font-size:34px;color:var(--lime);margin:8px 0}.admin-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:16px;margin-bottom:16px}.admin-grid.three{grid-template-columns:1fr 1fr 1fr}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-title h2{margin:4px 0 0}.panel-title a{color:var(--cyan)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:13px}td small{display:block;color:var(--muted)}.point-input{width:110px;border:1px solid var(--line);background:rgba(0,0,0,.22);color:var(--text);border-radius:10px;padding:8px}.pill{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.08);color:var(--muted)}.pill.active{color:#66ff98;background:rgba(102,255,152,.12)}.pill.disabled{color:var(--red);background:rgba(255,107,107,.12)}.admin-form{display:grid;gap:12px}.admin-form label{display:grid;gap:7px;color:var(--muted)}.switch-row{grid-template-columns:1fr auto;align-items:center}.plan-list,.key-list{display:grid;gap:12px}.plan-list article,.key-list article{border:1px solid var(--line);background:rgba(0,0,0,.2);border-radius:16px;padding:14px}.plan-list span,.key-list span{color:var(--muted)}.plan-list b{display:block;font-size:26px;color:var(--lime);margin:8px 0}.key-list code{display:block;color:var(--cyan);margin:8px 0;word-break:break-all}@media(max-width:1100px){.admin-page{grid-template-columns:1fr}.admin-side{position:relative;height:auto}.admin-grid,.admin-grid.three,.admin-kpis,.login-shell{grid-template-columns:1fr}.admin-side button{position:static;width:100%;margin-top:20px}.login-brand h1{font-size:38px}}

.admin-menu-card { display:block; border:1px solid var(--line); background:var(--panel); border-radius:24px; padding:24px; color:var(--text); text-decoration:none; box-shadow:0 22px 70px rgba(0,0,0,.18); }
.admin-menu-card b { display:block; font-size:26px; margin-bottom:10px; color:var(--lime); }
.admin-menu-card span { color:var(--muted); }
.admin-single { max-width: 720px; }
.plan-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.key-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media(max-width:900px){.plan-grid,.key-grid{grid-template-columns:1fr}}
.admin-help { color: var(--muted); margin: -6px 0 16px; }
.price-input { width: 110px; border:1px solid var(--line); background:rgba(0,0,0,.22); color:var(--text); border-radius:10px; padding:8px; }
.unit-input { width: 80px; border:1px solid var(--line); background:rgba(0,0,0,.22); color:var(--text); border-radius:10px; padding:8px; }
td code { color: var(--cyan); }
