:root{--bg: #1e1e2e;--surface: #28283c;--surface-2: #313145;--text: #cdd6f4;--muted: #6c7086;--primary: #7d56f4;--success: #43bf6d;--error: #f2495c;--warning: #ff9830;--running: #5794f2}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.app{min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--surface-2)}.brand{font-weight:700;font-size:1.2rem;color:var(--text);text-decoration:none}.topbar nav{display:flex;align-items:center;gap:1rem}.topbar nav a{color:var(--text);text-decoration:none}.topbar nav a:hover{color:var(--primary)}.email{color:var(--muted);font-size:.85rem}.content{max-width:900px;margin:0 auto;padding:1.5rem}h1{font-size:1.6rem}.card{background:var(--surface);border:1px solid var(--surface-2);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1rem}.card.narrow{max-width:380px;margin:3rem auto}.link-card{display:block;color:var(--text);text-decoration:none;transition:border-color .15s}.link-card:hover{border-color:var(--primary)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}label{display:block;margin:.75rem 0 .25rem;font-size:.85rem;color:var(--muted)}input,select{width:100%;padding:.6rem .75rem;background:var(--bg);border:1px solid var(--surface-2);border-radius:6px;color:var(--text);font-size:.95rem}button{cursor:pointer;font-size:.95rem}button.primary{background:var(--primary);color:#fff;border:none;border-radius:6px;padding:.6rem 1rem;margin-top:.75rem}button.primary:disabled{opacity:.6}.link-btn{background:none;border:none;color:var(--primary);padding:0;text-decoration:underline}.inline-form{display:flex;gap:.5rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.inline-form input,.inline-form select{width:auto;flex:1;min-width:160px}.inline-form button.primary{margin-top:0}.muted{color:var(--muted)}.hint{font-size:.8rem;color:var(--muted);margin-top:1.5rem;line-height:1.5}.error{color:var(--error);font-size:.9rem}.date{color:var(--muted);font-size:.8rem}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace}table.runs{width:100%;border-collapse:collapse}table.runs td{padding:.4rem .6rem;border-bottom:1px solid var(--surface-2);font-size:.9rem}.run .glyph{font-weight:700}.run-success .glyph{color:var(--success)}.run-failure .glyph{color:var(--error)}.run-cancelled .glyph{color:var(--muted)}.run-running .glyph{color:var(--running)}.run-skipped .glyph{color:var(--warning)}.dash-head{display:flex;align-items:center;justify-content:space-between}.token-reveal code{display:block;background:var(--bg);padding:.75rem;border-radius:6px;margin:.5rem 0;word-break:break-all;color:var(--warning)}.token-list{list-style:none;padding:0}.token-list li{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--surface-2)}.token-list li.revoked{color:var(--muted)}section{margin-top:2rem}.link-btn.danger{color:var(--error)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto;z-index:100}.modal{background:var(--surface);border:1px solid var(--surface-2);border-radius:12px;padding:1.25rem 1.5rem 1.5rem;width:100%;max-width:720px}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h3{margin:0}.scope-note{font-size:.88rem;background:var(--surface-2);border-radius:6px;padding:.6rem .75rem;line-height:1.5}.scope-note code{font-family:ui-monospace,SF Mono,Menlo,monospace;color:var(--warning)}.token-row{display:flex;align-items:center;gap:.5rem}.token-value{display:block;flex:1;background:var(--bg);padding:.6rem .75rem;border-radius:6px;word-break:break-all;color:var(--warning);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85rem}.tabs{display:flex;gap:.25rem;margin:1.25rem 0 0;border-bottom:1px solid var(--surface-2)}.tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);padding:.5rem .85rem}.tab.active{color:var(--text);border-bottom-color:var(--primary)}.snippet-wrap{position:relative}.copy-snippet{position:absolute;top:.75rem;right:.75rem}.snippet{background:var(--bg);border-radius:0 0 6px 6px;padding:.9rem 1rem;margin:0;overflow-x:auto;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8rem;line-height:1.5;white-space:pre}
