:root{--bg:#0b1220;--card:#131c31;--line:#24314f;--text:#ecf2ff;--sub:#a8b4d5;--primary:#3b82f6}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial;background:radial-gradient(1200px 700px at 20% -10%,#1e3a8a55,transparent),var(--bg);color:var(--text)}
.bg{min-height:100vh;padding:24px}.wrap{max-width:1180px;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
h1{font-size:28px;margin:0}.sub{color:var(--sub);font-size:13px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.card{background:linear-gradient(180deg,#141f37,#10192c);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:16px;box-shadow:0 10px 30px #00000033}
input,textarea{width:100%;margin:8px 0 12px;padding:11px 12px;border-radius:10px;border:1px solid #2a3a5f;background:#0e1628;color:var(--text)}
.btn,button{display:inline-block;border:none;background:linear-gradient(90deg,#2563eb,#3b82f6);color:white;padding:10px 14px;border-radius:10px;cursor:pointer;text-decoration:none}
.btn.ghost{background:#192846;border:1px solid #2f4570}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #26365a;padding:10px;text-align:left}a{color:#8db4ff}
pre{background:#0a1326;border:1px solid #26365a;border-radius:10px;padding:10px;white-space:pre-wrap;color:#dce7ff}
.login-card{max-width:460px;margin:80px auto;background:#121b30;border:1px solid #2a3a60;border-radius:16px;padding:22px;box-shadow:0 10px 35px #0007}.err{background:#7f1d1d55;border:1px solid #ef4444;border-radius:10px;padding:8px;margin:8px 0}.tip{margin-top:10px;color:#8ea2d1;font-size:12px}
@media(max-width:960px){.grid{grid-template-columns:1fr}}
