:root{--bg:#0c0f14;--surface:rgba(255,255,255,0.04);--surface-hover:rgba(255,255,255,0.07);--border:rgba(255,255,255,0.1);--text:#f0f2f5;--muted:#8b95a5;--accent:#6ee7b7;--accent-dim:rgba(110,231,183,0.15);--danger:#f87171;--radius:16px;--font:"Instrument Sans",system-ui,sans-serif}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}.backdrop{position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse 80% 60% at 10% 10%,rgba(110,231,183,.12),transparent 60%),radial-gradient(ellipse 70% 50% at 90% 90%,rgba(99,102,241,.1),transparent 60%),var(--bg)}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input{font-family:inherit}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:calc(var(--radius) - 4px);font-size:.9375rem;font-weight:500;transition:opacity .15s,background .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#0c0f14}.btn-primary:hover:not(:disabled){opacity:.9}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.input{width:100%;padding:.75rem 1rem;background:rgba(0,0,0,.25);border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);color:var(--text);font-size:.9375rem;outline:none;transition:border-color .15s}.input::placeholder{color:var(--muted)}.input:focus{border-color:var(--accent)}.error-banner{background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.3);color:var(--danger);padding:.75rem 1rem;border-radius:calc(var(--radius) - 4px);font-size:.875rem}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;font-size:.875rem}thead{background:rgba(255,255,255,.03)}td,th{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--muted);font-weight:500;font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em}tbody tr:hover{background:var(--surface-hover)}tbody tr:last-child td{border-bottom:none}.empty-state{text-align:center;padding:3rem 1rem;color:var(--muted)}.badge{display:inline-block;padding:.2rem .6rem;background:var(--accent-dim);color:var(--accent);border-radius:999px;font-size:.75rem;font-weight:500}