.dj-spinner{display:inline-block;border:2px solid rgba(255,255,255,.2);border-top-color:var(--dj-cyan);border-radius:50%;animation:dj-spin .7s linear infinite;vertical-align:middle}@keyframes dj-spin{to{transform:rotate(360deg)}}.auth-card{position:relative;background:var(--dj-glass-strong);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);border:1px solid var(--dj-border);border-radius:var(--dj-radius-lg);box-shadow:var(--dj-shadow);padding:34px 32px;width:100%;max-width:400px;animation:card-rise .8s var(--dj-ease) both}.auth-card-wide{max-width:520px}@keyframes card-rise{0%{opacity:0;transform:translateY(26px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(140deg,rgba(0,229,255,.5),transparent 35%,transparent 65%,rgba(255,45,173,.35));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.7}.secure-input{margin-bottom:16px;text-align:left}.secure-input label{display:block;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--dj-text-muted);margin-bottom:7px}.secure-input-wrap{position:relative;display:flex;align-items:center}.secure-input-wrap input{padding-right:44px}.pw-toggle{position:absolute;right:6px;background:none;border:none;color:var(--dj-text-dim);padding:8px;border-radius:6px;display:flex;transition:color var(--dj-speed) var(--dj-ease)}.pw-toggle:hover{color:var(--dj-cyan)}.pw-strength{display:flex;align-items:center;gap:10px;margin-top:-6px;margin-bottom:14px}.pw-strength-bars{display:flex;gap:4px;flex:1}.pw-strength-bars .bar{height:3px;flex:1;border-radius:2px;background:#ffffff1a;transition:background var(--dj-speed) var(--dj-ease)}.pw-strength-bars .bar-1{background:var(--dj-danger)}.pw-strength-bars .bar-2{background:var(--dj-warning)}.pw-strength-bars .bar-3{background:var(--dj-info)}.pw-strength-bars .bar-4{background:var(--dj-success)}.pw-strength-label{font-size:11px;color:var(--dj-text-muted);white-space:nowrap}.auth-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:10px;padding:12px 20px;font-size:14px;font-weight:700;letter-spacing:.02em;color:#06121f;background:linear-gradient(100deg,#09f,#00e5ff);box-shadow:0 8px 26px #0099ff59;transition:transform var(--dj-speed) var(--dj-ease),box-shadow var(--dj-speed) var(--dj-ease);width:100%}.auth-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 34px #00e5ff73}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-btn .btn-label{position:relative;z-index:1}.btn-sweep{position:absolute;top:0;bottom:0;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);animation:btn-sweep 2.4s var(--dj-ease) infinite;pointer-events:none}@keyframes btn-sweep{0%{left:-50%}55%,to{left:120%}}.auth-btn.ghost{background:#ffffff0f;color:var(--dj-text);border:1px solid var(--dj-border);box-shadow:none}.auth-btn.ghost:hover:not(:disabled){background:#00e5ff14;border-color:var(--dj-border-strong)}.auth-btn.danger{background:linear-gradient(100deg,#d43a5c,#ff5c7a);color:#fff}.status-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:1px solid transparent;white-space:nowrap}.st-active,.st-activated{color:var(--st-active);background:#2dd4a71f;border-color:#2dd4a74d}.st-pending{color:var(--st-pending);background:#f5b5441f;border-color:#f5b5444d}.st-suspended{color:var(--st-suspended);background:#f5b5441f;border-color:#f5b5444d}.st-blocked,.st-locked{color:var(--st-danger);background:#ff5c7a1f;border-color:#ff5c7a4d}.st-disabled{color:var(--st-disabled);background:#64748b26;border-color:#64748b4d}.st-terminated{color:#a855f7;background:#a855f71f;border-color:#a855f74d}.st-password-reset-required{color:var(--st-reset);background:#00e5ff1a;border-color:#00e5ff4d}.security-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:800;letter-spacing:.08em}.sev-info{color:#9db0c7;background:#9db0c71f}.sev-low{color:#7dd3fc;background:#7dd3fc1a}.sev-medium{color:var(--dj-warning);background:#f5b5441f}.sev-high{color:#ff8a5c;background:#ff8a5c1f}.sev-critical{color:var(--dj-danger);background:#ff5c7a24}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(900px 600px at 20% 15%,rgba(255,45,173,.08),transparent 60%),radial-gradient(900px 600px at 85% 20%,rgba(106,91,255,.08),transparent 60%),var(--dj-black)}.loading-core{position:relative;width:74px;height:74px;display:flex;align-items:center;justify-content:center}.ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px solid transparent;border-top-color:var(--dj-cyan);animation:dj-spin 1.4s linear infinite}.ring-2{top:9px;right:9px;bottom:9px;left:9px;border-top-color:var(--dj-magenta);animation-duration:2s;animation-direction:reverse}.loading-label{color:var(--dj-text-muted);font-size:13px;letter-spacing:.12em;text-transform:uppercase}.error-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center}.error-code{font-family:var(--dj-mono);font-size:15px;font-weight:700;color:var(--dj-danger);letter-spacing:.1em}.toast-stack{position:fixed;top:18px;right:18px;z-index:200;display:flex;flex-direction:column;gap:10px;max-width:340px}.toast{border:1px solid var(--dj-border);background:var(--dj-glass-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:10px;padding:12px 16px;color:var(--dj-text);font-size:13px;text-align:left;box-shadow:var(--dj-shadow-soft);animation:toast-in .35s var(--dj-ease) both;border-left-width:3px}.toast-success{border-left-color:var(--dj-success)}.toast-error{border-left-color:var(--dj-danger)}.toast-info{border-left-color:var(--dj-cyan)}@keyframes toast-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#03060cb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:150;display:flex;align-items:center;justify-content:center;padding:20px;animation:fade-in .2s var(--dj-ease) both}.modal{background:var(--dj-panel-solid);border:1px solid var(--dj-border);border-radius:var(--dj-radius-lg);box-shadow:var(--dj-shadow);width:100%;max-width:520px;max-height:86vh;overflow-y:auto;animation:card-rise .3s var(--dj-ease) both}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--dj-border-faint)}.modal-head h3{font-size:16px}.modal-close{background:none;border:none;color:var(--dj-text-dim);font-size:22px;line-height:1;padding:4px 8px;border-radius:6px}.modal-close:hover{color:var(--dj-text);background:#ffffff0f}.modal-body{padding:20px 22px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.stat-card{background:var(--dj-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--dj-border-faint);border-radius:var(--dj-radius);padding:18px 20px;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--dj-cyan),transparent);opacity:.5}.stat-value{font-size:28px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-label{font-size:11.5px;color:var(--dj-text-muted);letter-spacing:.07em;text-transform:uppercase;margin-top:4px}.accent-magenta:after{background:linear-gradient(90deg,transparent,var(--dj-magenta),transparent)}.accent-violet:after{background:linear-gradient(90deg,transparent,var(--dj-violet),transparent)}.empty-state{text-align:center;padding:44px 20px;color:var(--dj-text-muted)}.empty-glyph{display:block;font-size:30px;color:var(--dj-text-dim);margin-bottom:8px}.copy-field{background:#09101c99;border:1px solid var(--dj-border-faint);border-radius:var(--dj-radius-sm);padding:10px 12px;margin-bottom:10px}.copy-field code{flex:1;color:var(--dj-cyan);word-break:break-all}.btn-mini{background:#00e5ff14;border:1px solid var(--dj-border);color:var(--dj-cyan);border-radius:7px;padding:5px 12px;font-size:12px;font-weight:600;white-space:nowrap;transition:background var(--dj-speed) var(--dj-ease),border-color var(--dj-speed) var(--dj-ease)}.btn-mini:hover{background:#00e5ff29;border-color:var(--dj-border-strong)}.btn-mini.danger{color:var(--dj-danger);border-color:#ff5c7a4d;background:#ff5c7a14}.btn-mini.danger:hover{background:#ff5c7a29}.login-page{position:relative;min-height:100vh;overflow:hidden;background:radial-gradient(1100px 700px at 15% 10%,rgba(255,45,173,.1),transparent 60%),radial-gradient(1000px 700px at 90% 15%,rgba(106,91,255,.12),transparent 60%),radial-gradient(1200px 800px at 50% 115%,rgba(0,229,255,.08),transparent 60%),var(--dj-black)}.login-scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0}.login-scene canvas{display:block}.telemetry{position:absolute;font-family:var(--dj-mono);font-size:10px;letter-spacing:.28em;color:#00e5ffa6;opacity:0;transition:opacity .9s ease;pointer-events:none;text-shadow:0 0 12px rgba(0,229,255,.5)}.telemetry.visible{opacity:1}.telemetry-a{top:16%;left:8%}.telemetry-b{top:22%;right:9%}.telemetry-c{bottom:18%;left:12%}.established{position:absolute;bottom:12%;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;font-family:var(--dj-mono);font-size:12px;letter-spacing:.3em;color:var(--dj-cyan);opacity:0;transition:opacity 1s ease;text-shadow:0 0 18px rgba(0,229,255,.6)}.established.show{opacity:1}.est-dot{width:7px;height:7px;border-radius:50%;background:var(--dj-success);box-shadow:0 0 12px var(--dj-success)}.login-card-wrap{position:relative;z-index:2;min-height:100vh;display:flex;align-items:center;justify-content:flex-end;padding:40px clamp(24px,6vw,120px);opacity:0;transform:translateY(34px);transition:opacity .9s var(--dj-ease),transform .9s var(--dj-ease)}.login-card-wrap.rise{opacity:1;transform:translateY(0)}@media(max-width:900px){.login-card-wrap{justify-content:center;padding:40px 20px}}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:26px}.logo-hover{border-radius:10px;transition:transform .4s var(--dj-ease),filter .4s var(--dj-ease);animation:logo-glow 5s ease-in-out infinite}.logo-hover:hover{transform:scale(1.07) rotate(2deg);filter:drop-shadow(0 0 18px rgba(0,229,255,.7))}@keyframes logo-glow{0%,to{filter:drop-shadow(0 0 6px rgba(0,229,255,.25))}50%{filter:drop-shadow(0 0 16px rgba(0,153,255,.5))}}.login-title{font-size:19px;font-weight:800;letter-spacing:.12em}.login-sub{font-size:11.5px;color:var(--dj-text-muted);letter-spacing:.06em}.auth-error{border:1px solid rgba(255,92,122,.35);background:#ff5c7a14;border-radius:10px;padding:12px 14px;margin-bottom:16px}.auth-error-title{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--dj-danger);margin-bottom:3px}.auth-error-msg{font-size:13px;color:var(--dj-text)}.auth-error.pulse{animation:auth-pulse .5s ease-out}@keyframes auth-pulse{0%{box-shadow:0 0 #ff5c7a8c}to{box-shadow:0 0 0 22px #ff5c7a00}}.auth-link{font-weight:600}.link-btn{background:none;border:none;color:var(--dj-text-muted);font-size:12.5px;margin-top:12px;width:100%;text-align:center}.link-btn:hover{color:var(--dj-cyan)}.notfound{position:relative;min-height:100vh;min-height:100dvh;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(900px 600px at 20% 20%,rgba(255,45,173,.06),transparent 60%),radial-gradient(900px 600px at 80% 80%,rgba(0,153,255,.07),transparent 60%),var(--dj-black)}.notfound canvas{position:absolute;top:0;right:0;bottom:0;left:0}.notfound-core{position:relative;z-index:2;text-align:center;padding:24px;animation:card-rise .7s var(--dj-ease) both}.notfound-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.notfound-btn.ghost{background:#00e5ff0f;color:var(--dj-cyan);border:1px solid rgba(0,229,255,.3);box-shadow:none}.notfound-btn.ghost:hover{color:var(--dj-cyan);border-color:#00e5ff99;box-shadow:0 8px 26px #09f3}.notfound-code{font-size:clamp(64px,14vw,130px);font-weight:800;letter-spacing:.02em;line-height:1;background:linear-gradient(120deg,var(--dj-cyan),var(--dj-violet),var(--dj-magenta));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 30px rgba(0,229,255,.25));font-variant-numeric:tabular-nums}.notfound-divider{width:90px;height:2px;margin:20px auto;background:linear-gradient(90deg,transparent,var(--dj-cyan),transparent)}.notfound-msg{font-size:19px;font-weight:700;letter-spacing:.04em}.lost-marker{color:var(--dj-danger);margin-right:8px;text-shadow:0 0 14px rgba(255,92,122,.8)}.notfound-hint{color:var(--dj-text-muted);max-width:420px;margin:12px auto 18px;font-size:13.5px}.reroute{display:inline-flex;align-items:center;gap:8px;font-family:var(--dj-mono);font-size:11px;letter-spacing:.24em;color:var(--dj-cyan);margin-bottom:26px}.reroute-dot{width:6px;height:6px;border-radius:50%;background:var(--dj-cyan);animation:chip-pulse 1.2s ease-in-out infinite}.notfound-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(100deg,#09f,#00e5ff);color:#06121f;font-weight:700;padding:13px 26px;border-radius:10px;box-shadow:0 8px 26px #0099ff59;transition:transform var(--dj-speed) var(--dj-ease),box-shadow var(--dj-speed) var(--dj-ease)}.notfound-btn:hover{transform:translateY(-1px);color:#06121f;box-shadow:0 12px 34px #00e5ff73}.shell{display:flex;min-height:100vh}.sidebar{width:236px;flex-shrink:0;background:linear-gradient(180deg,#0f1a2be6,#0b0b0bf5);border-right:1px solid var(--dj-border-faint);display:flex;flex-direction:column;padding:20px 14px;position:sticky;top:0;height:100vh;z-index:60}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px;border-bottom:1px solid var(--dj-border-faint);margin-bottom:16px}.sidebar-brand img{border-radius:8px}.brand-name{font-weight:800;letter-spacing:.14em;font-size:14px}.brand-panel{font-size:10px;letter-spacing:.24em;color:var(--dj-cyan);font-weight:700;text-transform:uppercase}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto}.nav-item{display:block;padding:10px 12px;border-radius:9px;color:var(--dj-text-muted);font-size:13.5px;font-weight:500;border:1px solid transparent;transition:all var(--dj-speed) var(--dj-ease);position:relative}.nav-item:hover{color:var(--dj-text);background:#ffffff0a}.nav-item.active{color:var(--dj-cyan);background:#00e5ff14;border-color:var(--dj-border);box-shadow:inset 3px 0 0 var(--dj-cyan)}.sidebar-foot{border-top:1px solid var(--dj-border-faint);padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:8px}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--dj-violet),var(--dj-cyan));display:flex;align-items:center;justify-content:center;font-weight:800;color:#06121f;flex-shrink:0}.user-name{font-size:13px;font-weight:600}.user-sub{color:var(--dj-text-dim);font-size:11px}.shell-main{flex:1;min-width:0;display:flex;flex-direction:column;background:radial-gradient(1000px 500px at 85% -10%,rgba(0,153,255,.06),transparent 60%),radial-gradient(800px 500px at -10% 90%,rgba(255,45,173,.04),transparent 55%),var(--dj-black)}.topbar{display:flex;align-items:center;gap:12px;padding:14px 26px;border-bottom:1px solid var(--dj-border-faint);position:sticky;top:0;background:#0b0b0bd1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:50}.topbar-title{font-weight:700;letter-spacing:.04em}.menu-btn{display:none;background:none;border:1px solid var(--dj-border);color:var(--dj-text);border-radius:8px;padding:6px 10px;font-size:16px}.security-chip{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;letter-spacing:.18em;color:var(--dj-cyan);border:1px solid var(--dj-border);background:#00e5ff0d;padding:5px 12px;border-radius:20px;font-weight:700}.chip-dot{width:6px;height:6px;border-radius:50%;background:var(--dj-success);box-shadow:0 0 8px var(--dj-success);animation:chip-pulse 2.2s ease-in-out infinite}@keyframes chip-pulse{0%,to{opacity:1}50%{opacity:.45}}.shell-content{flex:1;padding:26px}@media(max-width:860px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);transition:transform .3s var(--dj-ease)}.sidebar.open{transform:translate(0)}.menu-btn{display:block}.shell-content{padding:18px}}:root{--dj-black: #0b0b0b;--dj-navy: #0f1a2b;--dj-navy-2: #122033;--dj-panel: rgba(15, 26, 43, .72);--dj-panel-solid: #101b2e;--dj-glass: rgba(15, 26, 43, .55);--dj-glass-strong: rgba(13, 22, 38, .85);--dj-border: rgba(0, 229, 255, .14);--dj-border-strong: rgba(0, 229, 255, .32);--dj-border-faint: rgba(255, 255, 255, .07);--dj-magenta: #ff2dad;--dj-purple: #b830ff;--dj-violet: #6a5bff;--dj-blue: #0099ff;--dj-cyan: #00e5ff;--dj-gradient: linear-gradient(120deg, #ff2dad 0%, #b830ff 28%, #6a5bff 55%, #0099ff 78%, #00e5ff 100%);--dj-glow-cyan: 0 0 22px rgba(0, 229, 255, .35);--dj-glow-blue: 0 0 26px rgba(0, 153, 255, .3);--dj-text: #eef3fa;--dj-text-muted: #9db0c7;--dj-text-dim: #64748b;--dj-success: #2dd4a7;--dj-warning: #f5b544;--dj-danger: #ff5c7a;--dj-info: #00e5ff;--st-pending: #f5b544;--st-active: #2dd4a7;--st-suspended: #f5b544;--st-blocked: #ff5c7a;--st-locked: #ff5c7a;--st-disabled: #64748b;--st-terminated: #a855f7;--st-reset: #00e5ff;--dj-radius-sm: 8px;--dj-radius: 14px;--dj-radius-lg: 20px;--dj-shadow: 0 24px 70px rgba(0, 0, 0, .55);--dj-shadow-soft: 0 10px 40px rgba(0, 0, 0, .35);--dj-ease: cubic-bezier(.22, 1, .36, 1);--dj-speed: .28s;--dj-font: "Inter", "SF Pro Display", "Segoe UI", system-ui, -apple-system, sans-serif;--dj-mono: "JetBrains Mono", "SF Mono", ui-monospace, "Cascadia Code", monospace}@media(prefers-reduced-motion:reduce){:root{--dj-speed: 0s}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--dj-black);color:var(--dj-text);font-family:var(--dj-font);font-size:14.5px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--dj-cyan);text-decoration:none}a:hover{color:var(--dj-magenta)}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:14px;color:var(--dj-text);background:#09101cb3;border:1px solid var(--dj-border);border-radius:var(--dj-radius-sm);padding:11px 14px;transition:border-color var(--dj-speed) var(--dj-ease),box-shadow var(--dj-speed) var(--dj-ease);width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--dj-cyan);box-shadow:0 0 0 3px #00e5ff29,var(--dj-glow-cyan)}input::placeholder{color:var(--dj-text-dim)}:focus-visible{outline:2px solid var(--dj-cyan);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#09101c99}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--dj-violet),var(--dj-cyan));border-radius:8px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--dj-magenta),var(--dj-blue))}::selection{background:#00e5ff4d}.page{padding:28px;max-width:1280px;margin:0 auto}.page-title{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:4px}.page-sub{color:var(--dj-text-muted);font-size:13px;margin-bottom:24px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1100px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.page{padding:18px}}.muted{color:var(--dj-text-muted)}.dim{color:var(--dj-text-dim)}.mono{font-family:var(--dj-mono);font-size:12.5px}.flex{display:flex;align-items:center;gap:8px}.flex-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.wrap{flex-wrap:wrap}.spacer{flex:1}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-16{margin-bottom:16px}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th{text-align:left;color:var(--dj-text-muted);font-weight:600;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;padding:10px 12px;border-bottom:1px solid var(--dj-border-faint);white-space:nowrap}table.data td{padding:11px 12px;border-bottom:1px solid var(--dj-border-faint);vertical-align:middle}table.data tbody tr{transition:background var(--dj-speed) var(--dj-ease)}table.data tbody tr:hover{background:#00e5ff0d}@media(max-width:760px){table.data{display:block;overflow-x:auto;white-space:nowrap}}.panel{background:var(--dj-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--dj-border-faint);border-radius:var(--dj-radius);padding:20px;overflow:hidden}.panel-title{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dj-text-muted);margin-bottom:14px;display:flex;align-items:center;gap:8px}.panel-title:before{content:"";width:3px;height:13px;border-radius:2px;background:linear-gradient(180deg,var(--dj-cyan),var(--dj-violet))}.user-cell{display:flex;flex-direction:column;gap:2px;color:var(--dj-text)}.user-cell:hover{color:var(--dj-cyan)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.detail-item{background:#09101c8c;border:1px solid var(--dj-border-faint);border-radius:var(--dj-radius-sm);padding:12px 14px}.detail-item .k{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dj-text-dim);margin-bottom:3px}.detail-item .v{font-size:13.5px;font-weight:600;word-break:break-word}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--dj-border-faint);margin-bottom:18px;overflow-x:auto}.tab{background:none;border:none;color:var(--dj-text-muted);font-size:13px;font-weight:600;padding:10px 16px;border-bottom:2px solid transparent;white-space:nowrap}.tab.active{color:var(--dj-cyan);border-bottom-color:var(--dj-cyan)}.role-card{background:var(--dj-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--dj-border-faint);border-radius:var(--dj-radius);padding:18px;text-align:left;color:var(--dj-text);transition:all var(--dj-speed) var(--dj-ease)}.role-card:hover{border-color:var(--dj-border-strong);transform:translateY(-2px);box-shadow:var(--dj-glow-cyan)}.role-perms{display:flex;flex-wrap:wrap;gap:5px}.perm-chip{font-family:var(--dj-mono);font-size:10.5px;color:var(--dj-cyan);background:#00e5ff12;border:1px solid rgba(0,229,255,.18);padding:2px 8px;border-radius:5px}.perm-matrix{max-height:340px;overflow-y:auto;border:1px solid var(--dj-border-faint);border-radius:var(--dj-radius-sm);padding:12px;margin-top:8px}.perm-group{margin-bottom:12px}.perm-resource{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dj-text-dim);margin-bottom:6px}.perm-toggle{display:inline-flex;align-items:center;gap:6px;margin:2px;font-family:var(--dj-mono);font-size:11.5px;color:var(--dj-text-muted);cursor:pointer}.perm-toggle input{width:auto;accent-color:var(--dj-cyan)}.perm-toggle .on{color:var(--dj-cyan)}.recovery-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(900px 600px at 20% 15%,rgba(255,45,173,.08),transparent 60%),radial-gradient(900px 600px at 85% 20%,rgba(106,91,255,.1),transparent 60%),radial-gradient(1000px 700px at 50% 110%,rgba(0,229,255,.06),transparent 60%),var(--dj-black)}.recovery-inner{width:100%;max-width:420px}.recovery-ok{text-align:left;display:flex;flex-direction:column;gap:10px}
