:root{--bg:#0b0d13;--surface:#11131c;--border:#1f2330;--text:#e8ebf3;--muted:#8b93a6;--accent:#6366f1;--danger:#ef4444;--warn:#f59e0b;--ok:#10b981;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;padding:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}header.app-header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}header.app-header .brand{letter-spacing:.02em;font-weight:600}header.app-header .badge{font-family:var(--font-mono);color:var(--warn);border:1px solid var(--warn);border-radius:3px;padding:2px 6px;font-size:.75rem}main.app-main{max-width:960px;margin:0 auto;padding:2rem}h1{margin:0 0 1rem;font-size:1.5rem}h2{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:1.5rem 0 .5rem;font-size:1.125rem;font-weight:600}form.stack>*+*{margin-top:1rem}label{color:var(--muted);margin-bottom:.25rem;font-size:.875rem;display:block}input,textarea,select{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:4px;padding:.5rem .75rem;font-family:inherit;font-size:.875rem}textarea{resize:vertical;min-height:96px}button,.button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600}button:hover,.button:hover{filter:brightness(1.1);text-decoration:none}button.danger{background:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:6px;margin-bottom:1rem;padding:1.25rem}.card-row{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.meta{color:var(--muted);font-size:.75rem;font-family:var(--font-mono)}.alert{border:1px solid var(--danger);color:var(--text);background:#ef444414;border-radius:4px;margin:1rem 0;padding:.75rem 1rem}.skip-link{background:var(--accent);color:#fff;z-index:100;padding:.5rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.t-muted{color:var(--muted)}.t-ok{color:var(--ok)}.t-danger{color:var(--danger)}.m-0{margin:0}.list-tight{margin:0;padding-left:1.25rem}.row-spaced{margin:1rem 0}.alert-info{border-color:var(--accent);background:#6366f114}.pre-wrap{white-space:pre-wrap;margin:0}.alert-inline{margin-left:1rem}.meta-tight{margin-top:.25rem}.dl-row{gap:1rem;margin-bottom:.5rem;display:flex}.dl-row>dt{color:var(--muted)}.dl-row>dd{font-family:var(--font-mono);margin:0}.dl-row.dl-row--w7>dt{width:7rem}.dl-row.dl-row--w9>dt{width:9rem}.sessions-table{font-family:var(--font-mono);grid-template-columns:minmax(8rem,1fr) minmax(6rem,10rem) minmax(10rem,1fr) minmax(10rem,1fr) auto;gap:.5rem 1rem;font-size:.8125rem;display:grid}.sessions-table [role=columnheader]{color:var(--muted)}.sessions-table [role=row]{display:contents}.status-link.status-active{color:var(--ok)}.status-link.status-revoked{color:var(--danger)}.status-link.status-expired{color:var(--muted)}
