*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a14;--bg-2:#0f0f1e;--surface:#12121f;--border:rgba(168,85,247,0.15);--border-bright:rgba(168,85,247,0.35);--accent:#a855f7;--accent-hover:#c084fc;--accent-3:#818cf8;--purple-glow:rgba(168,85,247,0.25);--pink:#e879f9;--text:#e9e5f5;--text-muted:#9ca3af;--text-faint:#6b7280;--danger:#ef4444;--success:#3fb950;--warn:#ffb100;--radius:8px;--radius-lg:12px;--font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:"JetBrains Mono","Fira Code","Cascadia Code",ui-monospace,monospace;font-size:14px;line-height:1.55}:root,body{font-family:var(--font);color:var(--text);background:var(--bg)}body{min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:0;opacity:.4}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.gradient-text{background:linear-gradient(90deg,var(--accent) 0,var(--accent-hover) 50%,var(--pink) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.shell{position:relative;z-index:1}.shell,.sidebar{display:flex;min-height:100vh}.sidebar{width:216px;background:linear-gradient(180deg,var(--bg-2),var(--bg));border-right:1px solid var(--border);padding:24px 0;flex-shrink:0;flex-direction:column}.sidebar-user{margin-top:auto;padding:16px 16px 4px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.sidebar-user .user-info{display:flex;align-items:center;gap:10px}.sidebar-user .user-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.sidebar-user .user-meta{min-width:0}.sidebar-user .user-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.sidebar-user .user-email{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text-muted)}.btn-ghost:hover{color:var(--text);border-color:var(--accent)}.card-btn{cursor:pointer;text-align:left;font:inherit;width:100%;transition:border-color .15s,transform .1s,background .15s}.card-btn:hover{border-color:var(--accent);transform:translateY(-2px)}.card-active{border-color:var(--accent);background:var(--purple-glow)}.detail-panel{margin:16px 0 8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden}.detail-head{justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.detail-head,.sidebar-brand{display:flex;align-items:center}.sidebar-brand{gap:10px;padding:0 20px 24px;font-weight:800;font-size:15px;letter-spacing:.04em;color:var(--text);text-decoration:none}.sidebar-brand img{height:24px;width:auto}.sidebar nav a{display:block;padding:10px 20px;color:var(--text-muted);font-size:13px;border-left:2px solid transparent;transition:background .15s,color .15s,border-color .15s}.sidebar nav a.active,.sidebar nav a:hover{background:var(--purple-glow);color:var(--text);border-left-color:var(--accent)}.main{flex:1 1;padding:36px 40px;overflow-x:auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.page-title{font-size:24px;font-weight:800;letter-spacing:-.01em}.hero{margin-bottom:28px}.hero-title{font-size:34px;font-weight:800;letter-spacing:-.02em;margin:6px 0 8px}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:16px;gap:16px;margin-bottom:24px}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:16px;gap:16px;margin-bottom:32px}.chart-card{padding:20px 20px 12px}.chart-empty{height:220px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;transition:border-color .2s,box-shadow .2s,transform .15s}.card:hover{border-color:var(--border-bright);box-shadow:0 0 32px rgba(168,85,247,.1);transform:translateY(-1px)}.card-label{font-family:var(--mono);font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}.card-value{font-size:30px;font-weight:800;background:linear-gradient(90deg,var(--accent),var(--accent-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}table{width:100%;border-collapse:collapse;font-size:13px}thead th{background:rgba(168,85,247,.06);padding:12px 16px;text-align:left;font-weight:600;color:var(--text-muted);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em}tbody tr,thead th{border-bottom:1px solid var(--border)}tbody tr{transition:background .12s}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:rgba(168,85,247,.05)}td{padding:12px 16px;color:var(--text)}.badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.badge-active{background:rgba(63,185,80,.15);color:var(--success);border:1px solid rgba(63,185,80,.3)}.badge-suspended{background:rgba(239,68,68,.15);color:var(--danger);border:1px solid rgba(239,68,68,.3)}.badge-warn{background:rgba(255,177,0,.15);color:var(--warn);border:1px solid rgba(255,177,0,.3)}.badge-expired{background:rgba(239,68,68,.15);color:var(--danger);border:1px solid rgba(239,68,68,.3)}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:var(--radius);font-size:13px;font-weight:600;letter-spacing:.02em;cursor:pointer;border:none;transition:background .2s,box-shadow .2s,transform .15s,border-color .2s,color .2s;text-decoration:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);box-shadow:0 0 28px rgba(168,85,247,.5);transform:translateY(-1px);text-decoration:none}.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border-bright)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent-hover);transform:translateY(-1px);text-decoration:none}.btn-sm{padding:5px 12px;font-size:12px}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:30px;max-width:560px}.form-group{margin-bottom:18px}label{display:block;font-family:var(--mono);font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}input[type=date],input[type=email],input[type=password],input[type=text],select{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:9px 12px;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--purple-glow)}input[readonly]{opacity:.55;cursor:default}.form-actions{display:flex;gap:10px;margin-top:26px}.alert{padding:11px 14px;border-radius:var(--radius);font-size:13px;margin-bottom:16px}.alert-error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3);color:var(--danger)}.alert-success{background:rgba(63,185,80,.12);border:1px solid rgba(63,185,80,.3);color:var(--success)}.section-title{font-size:11px;font-weight:600;margin-bottom:14px;color:var(--accent);text-transform:uppercase;letter-spacing:.14em}.mono,.section-title{font-family:var(--mono)}.mono{font-size:12px}.text-muted{color:var(--text-muted)}.truncate{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signin-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;position:relative;z-index:1}.signin-glow{position:fixed;top:50%;left:50%;width:620px;height:620px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(168,85,247,.18),transparent 60%);filter:blur(40px);pointer-events:none;z-index:0}.signin-card{width:min(400px,92vw);z-index:1}.signin-brand{gap:12px;margin-bottom:8px}.modal-overlay,.signin-brand{display:flex;align-items:center}.modal-overlay{position:fixed;inset:0;background:rgba(5,5,12,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;z-index:50;animation:fade-in .15s ease both}.modal-card{background:var(--surface);border:1px solid var(--border-bright);border-radius:var(--radius-lg);padding:26px 28px;width:min(480px,92vw);box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 40px rgba(168,85,247,.12);animation:pop-in .18s ease both}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.modal-x{background:none;border:none;color:var(--text-muted);font-size:24px;line-height:1;cursor:pointer;padding:0 4px}.modal-x:hover{color:var(--text)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.header-actions{display:flex;gap:10px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-2)}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:4px}::selection{background:rgba(168,85,247,.3)}