:root{--navy:#1e2f58;--navy-700:#26386a;--navy-300:#6b7aa3;--coral:#ed5945;--coral-600:#d84632;--surface:#fff;--canvas:#f6f3f2;--line:#e7e2df;--line-strong:#d9d2ce;--ink:#1b2136;--ink-soft:#5b6478;--ink-faint:#8a91a3;--ok:#2f8f5b;--ok-bg:#e6f3ec;--warn-bg:#fbeae6;--warn:#b23a25;--radius:14px;--radius-sm:9px;--shadow:0 1px 2px #1e2f580f, 0 8px 24px #1e2f5812;--shadow-lift:0 12px 34px #1e2f5824;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--coral-600);text-decoration:none}a:hover{text-decoration:underline}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--navy);color:#fff;align-items:center;gap:12px;height:60px;padding:0 20px;display:flex}.topbar .brand{letter-spacing:-.01em;align-items:center;gap:10px;font-weight:700;display:flex}.topbar .brand .word{font-size:18px}.topbar .brand .tag{text-transform:uppercase;letter-spacing:.08em;color:#b9c2dd;border:1px solid #ffffff38;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:600}.topbar .spacer{flex:1}.topbar .who{color:#c7cee3;font-size:13px}.container{width:100%;max-width:960px;margin:0 auto;padding:28px 20px 64px}.page-head h1{letter-spacing:-.02em;margin:0 0 4px;font-size:24px}.page-head p{color:var(--ink-soft);margin:0 0 22px;font-size:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;overflow:hidden}.card-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:16px 20px;display:flex}.card-head h2{letter-spacing:-.01em;margin:0;font-size:15px}.card-head .sub{color:var(--ink-faint);margin-top:2px;font-size:12.5px}.card-head .spacer{flex:1}.card-body{padding:18px 20px}.card-body.flush{padding:0}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:7px;padding:8px 14px;font-family:inherit;font-size:13.5px;font-weight:600;transition:background .12s,border-color .12s,opacity .12s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--coral);color:#fff}.btn-primary:hover:not(:disabled){background:var(--coral-600)}.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover:not(:disabled){background:var(--navy-700)}.btn-ghost{color:var(--ink);border-color:var(--line-strong);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--canvas)}.btn-danger{color:var(--warn);background:0 0;border-color:#e6c3bb}.btn-danger:hover:not(:disabled){background:var(--warn-bg)}.btn-sm{padding:5px 10px;font-size:12.5px}.field{margin-bottom:14px}.field label{color:var(--ink-soft);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;color:var(--ink);background:#fff;padding:10px 12px;font-family:inherit;font-size:14px}.input:focus{border-color:var(--navy-300);outline:none;box-shadow:0 0 0 3px #6b7aa32e}.table{border-collapse:collapse;width:100%;font-size:13.5px}.table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);border-bottom:1px solid var(--line);background:#fbfaf9;padding:11px 20px;font-size:11px;font-weight:700}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:13px 20px}.table tr:last-child td{border-bottom:none}.mono{font-family:var(--mono);font-size:12.5px}.badge{border-radius:999px;align-items:center;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.badge-active{background:var(--ok-bg);color:var(--ok)}.badge-revoked{color:#7a7a7a;background:#eee}.reveal{background:var(--navy);border-radius:var(--radius);color:#fff;box-shadow:var(--shadow-lift);margin-bottom:20px;padding:18px 20px}.reveal .warn{color:#ffd9d1;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.reveal .keyrow{align-items:stretch;gap:10px;display:flex}.reveal .keyval{font-family:var(--mono);border-radius:var(--radius-sm);word-break:break-all;color:#fff;background:#ffffff1a;border:1px solid #ffffff2e;flex:1;padding:11px 13px;font-size:13px}.reveal .hint{color:#aeb8d6;margin-top:11px;font-size:12px}.snippet{border-radius:var(--radius-sm);background:#101728;border:1px solid #1d2740;margin-bottom:14px;position:relative}.snippet .snip-head{color:#9aa6c6;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #1d2740;align-items:center;padding:9px 14px;font-size:11.5px;font-weight:600;display:flex}.snippet .snip-head .spacer{flex:1}.snippet pre{font-family:var(--mono);color:#dfe5f3;margin:0;padding:14px;font-size:12.5px;line-height:1.6;overflow-x:auto}.snippet .tok-key{color:#ffb59f}.copy-btn{color:#9aa6c6;cursor:pointer;background:0 0;border:1px solid #29344f;border-radius:6px;padding:3px 9px;font-family:inherit;font-size:11.5px;font-weight:600}.copy-btn:hover{color:#fff;border-color:#3a4a70}.muted{color:var(--ink-faint);font-size:13px}.empty{text-align:center;color:var(--ink-faint);padding:34px 20px;font-size:13.5px}.err{background:var(--warn-bg);color:var(--warn);border-radius:var(--radius-sm);border:1px solid #e6c3bb;margin-bottom:14px;padding:10px 12px;font-size:13px}.caps-note{color:var(--ink-faint);margin-top:12px;font-size:12.5px}.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.auth-wrap{background:radial-gradient(1100px 520px at 50% -10%, #1e2f5817, transparent 60%), var(--canvas);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--line);width:100%;max-width:400px;box-shadow:var(--shadow-lift);border-radius:18px;padding:30px 28px}.auth-brand{align-items:center;gap:11px;margin-bottom:20px;display:flex}.auth-brand .word{letter-spacing:-.01em;font-size:20px;font-weight:700}.auth-brand .tag{text-transform:uppercase;letter-spacing:.08em;color:var(--navy-300);border:1px solid var(--line-strong);border-radius:999px;padding:3px 7px;font-size:10.5px;font-weight:600}.auth-card h1{letter-spacing:-.02em;margin:0 0 4px;font-size:19px}.auth-card .lede{color:var(--ink-soft);margin:0 0 22px;font-size:13.5px}.auth-toggle{color:var(--ink-soft);text-align:center;margin-top:16px;font-size:13px}.auth-toggle button{color:var(--coral-600);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.center-pad{text-align:center;color:var(--ink-faint);padding:80px 20px}
