:root{color-scheme:dark;--bg: #0b0d12;--bg2: #0f1218;--panel: #141821;--panel2: #191e29;--border: #262c3a;--text: #eaeef6;--muted: #939cad;--accent: #6ea8fe;--accent2: #a78bfa;--accent3: #22d3ee;--danger: #f87171;--ok: #34d399;--warn: #fbbf24}*{box-sizing:border-box}body{margin:0;background:radial-gradient(900px 500px at 100% -10%,rgba(124,58,237,.1),transparent 60%),radial-gradient(800px 500px at -10% 10%,rgba(59,91,219,.12),transparent 55%),var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:14px}a{color:var(--accent)}h2{letter-spacing:-.4px}.app-shell{display:flex;min-height:100vh}.sidebar{width:236px;background:linear-gradient(180deg,#12151d,#0e1117);border-right:1px solid var(--border);padding:20px 16px;display:flex;flex-direction:column}.sidebar .brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:15px;margin-bottom:26px}.sidebar .brand .mark{width:30px;height:30px;border-radius:9px;object-fit:cover;display:block;box-shadow:0 6px 18px #7c3aed66}.sidebar h1{font-size:15px;margin:0}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--muted);text-decoration:none;font-weight:500;transition:background .15s,color .15s}.sidebar nav a:hover{background:#ffffff0a;color:var(--text)}.sidebar nav a.active{background:linear-gradient(135deg,#6ea8fe2e,#a78bfa2e);color:#fff;border:1px solid rgba(110,168,254,.35)}.content{flex:1;padding:28px 32px;overflow:auto}.content h2{margin-top:0}.card{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--border);border-radius:14px;padding:18px;margin-bottom:18px;box-shadow:0 8px 24px #00000040}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.5px}tbody tr{transition:background .12s}tbody tr:hover{background:#ffffff06}input,select{background:#0f131b;color:var(--text);border:1px solid var(--border);border-radius:9px;padding:9px 12px;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6ea8fe2e}button{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#0b0d12;border:none;border-radius:9px;padding:9px 15px;cursor:pointer;font-size:14px;font-weight:700;transition:transform .08s,filter .15s,box-shadow .2s}button:hover{filter:brightness(1.07);box-shadow:0 6px 18px #6ea8fe4d}button:active{transform:translateY(1px)}button.secondary{background:#212734;color:var(--text);font-weight:600}button.secondary:hover{background:#29303f;box-shadow:none}button.danger{background:linear-gradient(135deg,#f87171,#ef4444);color:#fff}button:disabled{opacity:.45;cursor:default;filter:none;box-shadow:none}.badge{padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent}.badge.active{background:#34d39924;color:var(--ok);border-color:#34d3994d}.badge.suspended{background:#fbbf2424;color:var(--warn);border-color:#fbbf244d}.badge.revoked{background:#f8717124;color:var(--danger);border-color:#f871714d}.error{color:var(--danger);margin:8px 0}.muted{color:var(--muted)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.login-wrap{display:grid;place-items:center;min-height:100vh;background:radial-gradient(700px 400px at 50% -10%,rgba(124,58,237,.18),transparent 60%),var(--bg)}.login-card{width:360px;border-radius:18px}.login-card h1{font-size:21px;margin:0 0 4px;display:flex;align-items:center;gap:10px}.login-card .mark{width:30px;height:30px;border-radius:9px;object-fit:cover;display:block}.login-card .subtitle{color:var(--muted);font-size:13px;margin-bottom:18px}.login-card label{display:block;margin:14px 0 5px;color:var(--muted);font-size:13px}.login-card input{width:100%}.login-card button{width:100%;margin-top:20px;padding:11px}
