@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;600&family=IBM+Plex+Sans:wght@300;400;600&display=swap");:root{color-scheme:dark;--bg:#0f1014;--bg-accent:#161822;--panel:#1a1c24;--panel-2:#202334;--text:#f3f4f7;--muted:#b2b6c5;--accent:#8b5cf6;--accent-2:#22d3ee;--border:hsla(0,0%,100%,.08);--glow:rgba(139,92,246,.25)}*{box-sizing:border-box}body,html{padding:0;margin:0}body{font-family:IBM Plex Sans,Space Grotesk,sans-serif;color:var(--text);background:radial-gradient(800px 400px at 15% -10%,rgba(139,92,246,.18),transparent 60%),radial-gradient(700px 420px at 90% 10%,rgba(34,211,238,.18),transparent 60%),linear-gradient(180deg,var(--bg) 0,var(--bg-accent) 100%);min-height:100vh}.app-shell{max-width:1200px;margin:0 auto;padding:28px 24px 56px}.app-header{display:flex;align-items:baseline;justify-content:space-between;padding:16px 20px;background:rgba(26,28,36,.8);border:1px solid var(--border);border-radius:14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);gap:16px}.brand-block{display:flex;flex-direction:column}.brand{font-family:Space Grotesk,IBM Plex Sans,sans-serif;font-size:20px;font-weight:600;letter-spacing:.3px}.byline{font-size:12px;color:var(--muted);letter-spacing:.6px}.app-main{margin-top:20px}.top-nav{display:flex;align-items:center;gap:14px}.nav-link{color:var(--text);text-decoration:none;font-size:14px;padding:6px 10px;border-radius:999px;border:1px solid transparent;background:transparent;transition:all .2s ease}.nav-link:hover{border-color:var(--border);background:hsla(0,0%,100%,.06)}.status-pill{font-size:11px;padding:6px 10px;border-radius:999px;background:rgba(139,92,246,.2);color:#d6c9ff;border:1px solid rgba(139,92,246,.4);text-transform:uppercase;letter-spacing:.08em}.nav-user{padding:6px 4px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-logout,.nav-user{font-size:13px;color:var(--muted)}.nav-logout{padding:6px 12px;border-radius:999px;border:1px solid hsla(0,0%,100%,.12);background:transparent;cursor:pointer;transition:all .2s ease}.nav-logout:hover{border-color:rgba(255,80,80,.5);color:#ff8080;background:rgba(255,80,80,.08)}.page{display:grid;grid-gap:20px;gap:20px}.hero{background:linear-gradient(120deg,rgba(139,92,246,.2),rgba(34,211,238,.12));border:1px solid var(--border);border-radius:18px;padding:22px}.hero h1{font-family:Space Grotesk,IBM Plex Sans,sans-serif;font-size:clamp(1.8rem,3vw,2.6rem);margin:0 0 8px}.hero p{margin:0;color:var(--muted);max-width:720px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;align-items:center}.filter-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.filter-chip{background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.1);color:var(--text);padding:6px 12px;border-radius:999px;font-size:12px;cursor:pointer}.filter-chip.active{border-color:rgba(139,92,246,.5);box-shadow:0 0 0 1px rgba(139,92,246,.25)}.grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:16px}.card-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}.kpi{font-size:28px;font-weight:600}.kpi-sub{font-size:12px;color:var(--muted);margin-top:6px}.sparkline{margin-top:10px}.sparkline svg{width:100%;height:32px}.sparkline polyline{fill:none;stroke:rgba(34,211,238,.85);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.panel{background:var(--panel-2);border:1px solid var(--border);border-radius:16px;padding:18px}.panel h3{margin:0 0 10px;font-size:16px}.table{width:100%;border-collapse:collapse;font-size:13px}.table td,.table th{text-align:left;padding:10px 8px;border-bottom:1px solid hsla(0,0%,100%,.06)}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid hsla(0,0%,100%,.1);background:hsla(0,0%,100%,.06);font-size:12px}.accent{color:var(--accent-2)}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{background:linear-gradient(120deg,rgba(139,92,246,.6),rgba(34,211,238,.6));border:none;color:#0a0b10;padding:10px 14px;border-radius:10px;font-weight:600;cursor:pointer}.btn.secondary{background:hsla(0,0%,100%,.08);color:var(--text);border:1px solid hsla(0,0%,100%,.1)}.split{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.list{display:grid;grid-gap:10px;gap:10px}.list-item{background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.06);border-radius:12px;padding:12px;display:flex;align-items:center;justify-content:space-between}.muted{color:var(--muted)}.auth-page .hero{margin-bottom:8px}.auth-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.auth-card{min-height:320px}.form{display:grid;grid-gap:12px;gap:12px;margin-top:8px}.field{display:grid;grid-gap:6px;gap:6px;font-size:13px;color:var(--muted)}.field input{background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.12);border-radius:10px;padding:10px 12px;color:var(--text);font-size:14px}.field input:focus{outline:none;border-color:rgba(139,92,246,.6);box-shadow:0 0 0 3px rgba(139,92,246,.2)}.form-meta{display:flex;flex-direction:column;gap:6px;font-size:12px}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.modal{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:28px;width:100%;max-width:460px;position:relative;display:grid;grid-gap:16px;gap:16px}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--muted);font-size:20px;cursor:pointer;line-height:1;padding:4px 8px;border-radius:6px}.modal-close:hover{background:hsla(0,0%,100%,.06);color:var(--text)}.modal h3{margin:0}.modal .form{margin-top:0}.table tbody tr{position:relative}.row-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}.delete-btn{opacity:0;background:none;border:1px solid rgba(255,80,80,.3);color:hsla(0,100%,70%,.8);border-radius:6px;padding:2px 8px;font-size:12px;cursor:pointer;transition:opacity .15s,background .15s;white-space:nowrap}.delete-btn:hover{background:rgba(255,80,80,.12);color:#ff6464}.list-item:hover .delete-btn,.table tbody tr:hover .delete-btn{opacity:1}.list-item{position:relative}.key-code{background:rgba(0,0,0,.4);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-family:IBM Plex Mono,monospace;font-size:13px;word-break:break-all;color:var(--accent-2);letter-spacing:.02em}.key-warning{background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.25);border-radius:10px;padding:10px 14px;font-size:12px;color:#fbbf24}.field select{background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.12);border-radius:10px;padding:10px 12px;color:var(--text);font-size:14px;width:100%}.field select:focus{outline:none;border-color:rgba(139,92,246,.6)}.landing{position:fixed;inset:0;overflow:hidden}.landing-canvas{position:absolute;inset:0;z-index:0}.landing-content{position:relative;z-index:1;width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:2.5rem}.landing-main{max-width:720px}.landing-header{margin-bottom:1.5rem}.landing-title{font-family:Space Grotesk,sans-serif;font-size:clamp(2.2rem,5vw,4rem);font-weight:300;letter-spacing:-.02em;margin:0 0 .25rem;color:#fff}.landing-byline{font-size:clamp(.9rem,1.5vw,1.1rem);color:hsla(0,0%,100%,.6);font-weight:300;margin:0}.landing-desc{font-size:clamp(.95rem,1.5vw,1.2rem);color:hsla(0,0%,100%,.75);font-weight:300;line-height:1.6;max-width:560px;margin:0 0 2rem}.landing-actions{display:flex;gap:1rem;flex-wrap:wrap}.landing-btn-primary{padding:.7rem 1.6rem;background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.3);border-radius:6px;color:#fff;font-size:.95rem;text-decoration:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s ease,border-color .2s ease}.landing-btn-primary:hover{background:hsla(0,0%,100%,.25);border-color:hsla(0,0%,100%,.5)}.landing-btn-secondary{padding:.7rem 1.6rem;background:transparent;border:1px solid hsla(0,0%,100%,.15);border-radius:6px;color:hsla(0,0%,100%,.7);font-size:.95rem;text-decoration:none;transition:color .2s ease,border-color .2s ease}.landing-btn-secondary:hover{color:#fff;border-color:hsla(0,0%,100%,.35)}.landing-footer{display:flex;gap:2rem}.landing-footer a{font-size:.875rem;color:hsla(0,0%,100%,.45);text-decoration:none;letter-spacing:.04em;transition:color .2s ease}.landing-footer a:hover{color:hsla(0,0%,100%,.8)}