:root{--bg-0:#0a0d16;--bg-1:#0f1420;--bg-2:#151b2b;--bg-3:#1c2438;--line:#ffffff12;--line-2:#ffffff1f;--text:#e8ecf5;--text-2:#9aa5bd;--text-3:#6a748c;--brand:#6366f1;--brand-2:#8b5cf6;--brand-glow:#6366f159;--gold:#f5b642;--green:#34d399;--green-bg:#34d3991f;--red:#f87171;--red-bg:#f871711f;--amber:#fbbf24;--amber-bg:#fbbf241f;--sh-1:0 1px 2px #0006;--sh-2:0 2px 4px #00000059, 0 8px 20px #00000059;--sh-3:0 4px 8px #0006, 0 16px 40px #00000073;--hi:inset 0 1px 0 #ffffff0f}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1100px 700px at 15% -10%, #6366f11a, transparent 55%), radial-gradient(900px 600px at 100% 0%, #8b5cf612, transparent 50%), var(--bg-0);color:var(--text);-webkit-font-smoothing:antialiased;background-attachment:fixed;font-family:ui-sans-serif,-apple-system,Segoe UI,Roboto,Helvetica Neue,Microsoft YaHei,PingFang SC,sans-serif;font-size:14px}a{color:var(--brand);text-decoration:none}.shell{min-height:100vh;display:flex}.sidebar{background:linear-gradient(180deg, var(--bg-1) 0%, #0c101a 100%);border-right:1px solid var(--line);z-index:10;flex-direction:column;flex-shrink:0;width:232px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0;box-shadow:1px 0 #ffffff08,8px 0 32px #00000059}.brand{letter-spacing:-.2px;background:linear-gradient(135deg,#fff 20%,#a5b0cc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;padding:2px 12px 24px;font-size:20px;font-weight:800;line-height:1.1}.brand span{letter-spacing:2.4px;color:var(--text-3);-webkit-text-fill-color:var(--text-3);margin-top:5px;font-size:10px;font-weight:700;display:block}.sidenav{flex-direction:column;flex:1;gap:3px;display:flex}.sidenav a{color:var(--text-2);border:1px solid #0000;border-radius:10px;align-items:center;gap:11px;padding:11px 13px;font-size:13.5px;font-weight:600;transition:background .15s,color .15s,transform .1s;display:flex;position:relative}.sidenav a:hover{background:var(--bg-3);color:var(--text)}.sidenav a.on{color:#fff;background:linear-gradient(135deg, var(--brand) 0%, var(--brand-2) 100%);box-shadow:var(--hi), 0 4px 14px var(--brand-glow);border-color:#ffffff24}.sidenav .ic{filter:saturate(1.1);font-size:15px;line-height:1}.sidefoot{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:16px;display:flex}.sidefoot button{width:100%}.logout{text-align:center;color:var(--text-3);letter-spacing:.3px;border-radius:8px;padding:7px;font-size:12px;font-weight:600}.logout:hover{color:var(--red);background:var(--red-bg)}.content{flex:1;min-width:0;max-width:1500px;padding:26px 28px 60px}.card{background:linear-gradient(180deg, var(--bg-2) 0%, #121828 100%);border:1px solid var(--line);box-shadow:var(--hi), var(--sh-2);border-radius:16px;margin-bottom:18px;padding:22px;position:relative}.card h2{letter-spacing:1.2px;text-transform:uppercase;color:var(--text-2);margin:0 0 16px;font-size:13px;font-weight:700}.card .hint{color:var(--text-3);margin:0 0 16px;font-size:12.5px;line-height:1.7}.sub{color:var(--text-3);letter-spacing:.3px;text-transform:none;font-size:11.5px;font-weight:500}.stat{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat>div{background:linear-gradient(180deg, var(--bg-3) 0%, #161d2e 100%);border:1px solid var(--line);box-shadow:var(--hi), var(--sh-1);color:var(--text-3);letter-spacing:.9px;text-transform:uppercase;border-radius:12px;padding:15px 16px;font-size:11px;font-weight:600}.stat b{color:var(--text);letter-spacing:-.6px;font-variant-numeric:tabular-nums;text-transform:none;margin-top:7px;font-size:26px;font-weight:800;display:block}.stat .accent b{background:linear-gradient(135deg,var(--gold),#e8940f);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}button,.btn{letter-spacing:.3px;cursor:pointer;color:#fff;background:linear-gradient(135deg, var(--brand) 0%, var(--brand-2) 100%);box-shadow:var(--hi), 0 3px 10px var(--brand-glow);border:1px solid #ffffff24;border-radius:10px;padding:10px 18px;font-family:inherit;font-size:13.5px;font-weight:700;transition:transform 80ms,box-shadow .15s,filter .15s}button:hover{filter:brightness(1.08);box-shadow:var(--hi), 0 5px 16px var(--brand-glow)}button:active{box-shadow:var(--sh-1);transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;filter:none}button.ghost{background:linear-gradient(180deg, var(--bg-3), #131a29);color:var(--text);border-color:var(--line-2);box-shadow:var(--hi), var(--sh-1)}button.ghost:hover{filter:none;background:linear-gradient(#222b42,#182034)}input,select{border:1px solid var(--line-2);width:100%;color:var(--text);background:#00000047;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:13.5px;transition:border-color .15s,box-shadow .15s;box-shadow:inset 0 1px 3px #00000059}input::placeholder{color:var(--text-3)}input:focus,select:focus{border-color:var(--brand);box-shadow:inset 0 1px 3px #00000059, 0 0 0 3px var(--brand-glow);outline:none}input:disabled,select:disabled{opacity:.4}select option{background:var(--bg-2);color:var(--text)}label{color:var(--text-2);letter-spacing:.6px;text-transform:uppercase;margin-bottom:7px;font-size:11.5px;font-weight:700;display:block}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.grid{gap:14px;display:grid}.tablewrap{border:1px solid var(--line);background:#0000002e;border-radius:12px;overflow-x:auto;box-shadow:inset 0 1px #ffffff08}table{border-collapse:separate;border-spacing:0;white-space:nowrap;width:100%;font-size:12.5px}th{text-align:left;border-bottom:1px solid var(--line-2);letter-spacing:1px;text-transform:uppercase;color:var(--text-3);background:linear-gradient(#1a2233,#141b2a);padding:12px 15px;font-size:10.5px;font-weight:700;position:sticky;top:0}td{color:var(--text);border-bottom:1px solid #ffffff0b;padding:12px 15px}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#ffffff08}.money{color:var(--green);font-variant-numeric:tabular-nums;font-weight:700}.mono{color:var(--text-2);font-family:ui-monospace,Consolas,monospace;font-size:11.5px}.pill{letter-spacing:.5px;text-transform:uppercase;border:1px solid #0000;border-radius:999px;padding:4px 10px;font-size:10.5px;font-weight:700;display:inline-block}.pill.on{background:var(--green-bg);color:var(--green);border-color:#34d3994d}.pill.off{color:var(--text-3);border-color:var(--line);background:#ffffff0d}.pill.warn{background:var(--amber-bg);color:var(--amber);border-color:#fbbf244d}.pill.bad{background:var(--red-bg);color:var(--red);border-color:#f871714d}.msg{box-shadow:var(--sh-1);border:1px solid #0000;border-radius:11px;margin-top:14px;padding:13px 16px;font-size:13px;line-height:1.65}.msg.ok{background:var(--green-bg);color:var(--green);border-color:#34d39940}.msg.err{background:var(--red-bg);color:var(--red);border-color:#f8717140}.msg.info{color:#a5b4fc;background:#6366f11f;border-color:#6366f140}.empty{text-align:center;color:var(--text-3);padding:54px 20px;font-size:13px;line-height:1.9}code{border:1px solid var(--line);color:var(--text-2);background:#00000059;border-radius:5px;padding:2px 7px;font-family:ui-monospace,Consolas,monospace;font-size:11.5px}.pager{justify-content:center;align-items:center;gap:10px;margin-top:18px;display:flex}.loginwrap{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.loginbox{background:linear-gradient(180deg, var(--bg-2) 0%, #101624 100%);border:1px solid var(--line-2);width:100%;max-width:380px;box-shadow:var(--hi), var(--sh-3);border-radius:18px;padding:34px}.loginbox h1{letter-spacing:-.3px;background:linear-gradient(135deg,#fff,#9fb0d6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 6px;font-size:21px;font-weight:800}.loginbox p{color:var(--text-3);letter-spacing:.3px;margin:0 0 24px;font-size:12.5px}.loginbox .f{margin-bottom:15px}@media (max-width:860px){.shell{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--line);flex-flow:wrap;align-items:center;gap:14px;width:auto;height:auto;padding:12px 16px;position:sticky;top:0;box-shadow:0 6px 24px #0006}.brand{padding:0 10px 0 0;font-size:16px}.brand span{display:none}.sidenav{flex-direction:row;flex:1;gap:5px;overflow-x:auto}.sidenav a{white-space:nowrap;padding:8px 12px;font-size:12.5px}.sidefoot{border-top:none;flex-direction:row;align-items:center;gap:8px;padding-top:0}.sidefoot button{width:auto;padding:8px 14px;font-size:12.5px}.logout{padding:7px 10px}.content{padding:18px 14px 50px}.stat{grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}.stat b{font-size:22px}}
