:root{--bg:#000000;--surface:#1c1c1e;--surface-2:#2c2c2e;--surface-3:#3a3a3c;--border:rgba(84,84,88,0.65);--border-subtle:rgba(84,84,88,0.32);--text:#ffffff;--text-2:rgba(235,235,245,0.6);--text-3:rgba(235,235,245,0.3);--accent:#ff2e7a;--accent-dim:rgba(255,46,122,0.15);--cyan:#1fc8db;--cyan-dim:rgba(31,200,219,0.14);--success:#34d399;--warning:#fbbf24;--error:#ff453a;--brand:linear-gradient(135deg,#1fc8db,#9b4dca 55%,#e91e63);--radius:14px;--radius-lg:18px;--ease:cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:ui-sans-serif,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:15px;line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--brand);display:grid;place-items:center;flex:none}.brand-mark svg{width:15px;height:15px;display:block}.brand-name{font-size:17px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.brand-name span{background:var(--brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.shell{max-width:1240px;margin:0 auto;padding:28px 24px 64px}.topbar{justify-content:space-between;gap:16px;margin-bottom:24px}.toolbar,.topbar{display:flex;align-items:center;flex-wrap:wrap}.toolbar{gap:10px;margin-bottom:18px}.spacer{flex:1 1 auto}button{font:inherit;border:none;border-radius:10px;padding:8px 14px;cursor:pointer;background:var(--surface-2);color:var(--text);transition:background .15s var(--ease),opacity .15s var(--ease),transform .15s var(--ease)}button:hover:not(:disabled){background:var(--surface-3)}button:active:not(:disabled){transform:translateY(1px)}button.primary{background:var(--accent);color:#fff;font-weight:600}button.primary:hover:not(:disabled){background:#ff4d8d}button.danger{background:transparent;color:var(--error);border:1px solid var(--error)}button.danger:hover:not(:disabled){background:rgba(255,69,58,.12)}button.subtle{background:transparent;color:var(--text-2);border:1px solid var(--border)}button.subtle:hover:not(:disabled){background:var(--surface-2);color:var(--text)}button:disabled{opacity:.45;cursor:default}button.sm{padding:6px 10px;font-size:13px}input,select{font:inherit;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 12px;width:100%;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}input::placeholder{color:var(--text-3)}button:focus-visible,input:focus,select:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-dim)}select{cursor:pointer}.chip{border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;background:transparent;color:var(--text-2);border:1px solid var(--border);display:inline-flex;align-items:center;gap:7px}.chip:hover{background:var(--surface-2);color:var(--text)}.chip .count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-3);font-weight:500}.chip[aria-pressed=true]{background:var(--accent-dim);border-color:transparent;color:var(--accent)}.chip[aria-pressed=true] .count{color:var(--accent)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:20px}@media (max-width:720px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:14px 16px}.stat .k{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}.stat .v{font-size:26px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:2px}.stat.pending .v{color:var(--warning)}.stat.active .v{color:var(--success)}.stat.revoked .v{color:var(--error)}table{border-collapse:collapse;width:100%}td,th{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border-subtle);font-size:14px}th{color:var(--text-2);font-weight:600;white-space:nowrap;font-size:12px;text-transform:uppercase;letter-spacing:.05em;position:-webkit-sticky;position:sticky;top:0;background:var(--surface);z-index:1}tbody tr{transition:background .12s var(--ease)}tbody tr:hover{background:rgba(255,255,255,.028)}tbody tr:last-child td{border-bottom:none}.badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.badge.pending{background:rgba(251,191,36,.15);color:var(--warning)}.badge.active{background:rgba(52,211,153,.15);color:var(--success)}.badge.revoked{background:rgba(255,69,58,.15);color:var(--error)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.card.flush{padding:0;overflow:hidden}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:10}.modal{width:min(480px,100%);max-height:90vh;overflow-y:auto}.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--surface-2);border:1px solid var(--cyan);border-radius:999px;padding:10px 20px;font-size:14px;z-index:20;box-shadow:0 8px 30px rgba(0,0,0,.5)}.row{align-items:center}.row,.stack{display:flex;gap:10px}.stack{flex-direction:column}.muted{color:var(--text-2);font-size:13px}.dim{color:var(--text-3)}code{color:var(--cyan);font-size:13px}.mono,code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.nowrap{white-space:nowrap}.empty{padding:48px 24px;text-align:center}.empty h3{font-size:16px;font-weight:600;margin-bottom:6px}