:root{--bg:#f4f6f8;--surface:#fff;--fg:#16202a;--muted:#5d6977;--line:#d3d9e0;--accent:#0d7a6b;--accent-soft:#e0f2ee;--warn:#9a5b00;--warn-soft:#fbf0dc;--danger:#b3261e;--danger-soft:#fbe7e5;--info:#2f5fa7;--info-soft:#e6eefa;--sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f151b;--surface:#161e27;--fg:#e3e9ef;--muted:#95a2b0;--line:#2e3a47;--accent:#3cc6b0;--accent-soft:#123029;--warn:#f0b457;--warn-soft:#33270f;--danger:#f28b82;--danger-soft:#3a1c1a;--info:#8fb4f0;--info-soft:#182a45;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font:15px/1.5 var(--sans);margin:0}button,input,select,textarea{font:inherit;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}code,.mono{font-family:var(--mono);font-size:.9em}.fine{color:var(--muted);font-size:13px}.boot{color:var(--muted);padding:40px}.brand{align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.mark{background:var(--accent);color:var(--surface);font-family:var(--mono);letter-spacing:.06em;border-radius:4px;padding:2px 7px;font-size:13px}.signed-out{gap:16px;max-width:560px;margin:12vh auto;padding:0 20px;display:grid}.signed-out h1{text-wrap:balance;margin:8px 0 0;font-size:30px;line-height:1.15}.signed-out p{color:var(--muted);margin:0}.signed-out .primary{justify-self:start;padding:10px 22px}.alert{background:var(--danger-soft);color:var(--danger);border-radius:6px;padding:10px 14px}.topbar{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex}.who{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.user{font-weight:600}.chip{font-family:var(--mono);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:1px 9px;font-size:12px}.chip-accent{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.tabs{background:var(--surface);border-bottom:1px solid var(--line);gap:4px;padding:0 24px;display:flex;overflow-x:auto}.tabs button{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:12px 14px;display:flex}.tabs button[aria-selected=true]{color:var(--fg);border-bottom-color:var(--accent);font-weight:600}.badge{background:var(--accent);color:var(--surface);font-variant-numeric:tabular-nums;border-radius:999px;padding:0 7px;font-size:11px;font-weight:700}.panel{gap:20px;max-width:1040px;margin:0 auto;padding:28px 24px 64px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:0;padding:20px}h2{margin:0 0 12px;font-size:18px}h3{margin:0 0 4px;font-size:15px}.form-card{max-width:560px}form{gap:6px;display:grid}label{margin-top:10px;font-size:13px;font-weight:600}input,select,textarea{border:1px solid var(--line);background:var(--bg);border-radius:6px;width:100%;padding:9px 11px}form .primary{justify-self:start;margin-top:16px}button.primary,button.danger,button.ghost{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:8px 16px;font-weight:600}button.primary{background:var(--accent);color:var(--surface)}button.danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}button.ghost{border-color:var(--line);color:var(--muted);background:0 0}button:disabled{opacity:.6;cursor:wait}.list{gap:14px;display:grid}.request{border-left:4px solid var(--line);gap:8px;display:grid}.request-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.role{font-family:var(--mono);font-weight:500}.reason{margin:0}.pill{letter-spacing:.04em;background:var(--bg);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}dl{grid-template-columns:max-content 1fr;gap:2px 16px;margin:0;font-size:14px;display:grid}dt{color:var(--muted)}dd{overflow-wrap:anywhere;min-width:0;margin:0}.status-pending,.status-awaiting_approval{border-left-color:var(--info)}.status-pending .pill,.status-awaiting_approval .pill{background:var(--info-soft);color:var(--info)}.status-granted{border-left-color:var(--accent)}.status-granted .pill{background:var(--accent-soft);color:var(--accent)}.status-rejected,.status-failed{border-left-color:var(--danger)}.status-rejected .pill,.status-failed .pill{background:var(--danger-soft);color:var(--danger)}.status-expired{border-left-color:var(--warn)}.status-expired .pill{background:var(--warn-soft);color:var(--warn)}.decide{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding-top:8px;display:flex}.decide input{flex:220px;width:auto}.warn{color:var(--warn);flex-basis:100%;margin:0;font-size:13px}.session{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding-top:8px;display:flex}.empty{text-align:center;color:var(--muted);padding:48px 20px}.toast{bottom:calc(20px + env(safe-area-inset-bottom,0px));border-radius:8px;max-width:min(560px,100vw - 32px);padding:12px 18px;font-weight:500;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000026}.toast-ok{background:var(--accent);color:var(--surface)}.toast-error{background:var(--danger);color:var(--surface)}
