  :root { --navy:#12233f; --ink:#1b2430; --muted:#5b6675; --line:#d8dee6; --bg:#f4f6f9; --card:#fff;
          --ok:#1f7a45; --okbg:#e6f4ec; --bad:#a3262a; --badbg:#fbeaea; --warn:#8a5a00; --warnbg:#fff4dc; }
  * { box-sizing:border-box; }
  body { margin:0; background:var(--bg); color:var(--ink); font:15px/1.45 'Segoe UI',system-ui,Arial,sans-serif; }
  header { background:var(--navy); color:#fff; padding:14px 16px; display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
  header h1 { font-size:17px; margin:0; font-weight:600; }
  #who { font-size:13px; opacity:.9; }
  main { max-width:900px; margin:0 auto; padding:16px; }
  .card { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:16px; margin-bottom:14px; }
  h2 { font-size:16px; margin:0 0 10px; }
  label { display:block; font-size:13px; color:var(--muted); margin:10px 0 4px; }
  input, textarea { width:100%; padding:9px 10px; border:1px solid var(--line); border-radius:6px; font:inherit; }
  textarea { min-height:70px; }
  button { font:inherit; font-weight:600; padding:9px 16px; border-radius:6px; border:1px solid var(--navy); background:var(--navy); color:#fff; cursor:pointer; margin-top:12px; }
  button.secondary { background:#fff; color:var(--navy); }
  button.reject { background:#fff; color:var(--bad); border-color:var(--bad); }
  button:disabled { opacity:.45; cursor:not-allowed; }
  .row { display:flex; gap:10px; flex-wrap:wrap; }
  .list-item { display:block; width:100%; text-align:left; background:#fff; color:var(--ink); border:1px solid var(--line); margin:8px 0 0; font-weight:400; }
  .pill { display:inline-block; font-size:12px; padding:2px 8px; border-radius:10px; background:#e9edf2; margin-right:6px; }
  .pill.major { background:var(--badbg); color:var(--bad); } .pill.safe { background:var(--okbg); color:var(--ok); }
  pre { background:#0f1b2d; color:#e6edf6; padding:12px; border-radius:6px; overflow:auto; max-height:420px; font:12.5px/1.45 Consolas,Menlo,monospace; white-space:pre; }
  .hash { font:12.5px Consolas,Menlo,monospace; word-break:break-all; }
  .msg { padding:10px 12px; border-radius:6px; margin-top:10px; }
  .msg.ok { background:var(--okbg); color:var(--ok); } .msg.bad { background:var(--badbg); color:var(--bad); } .msg.warn { background:var(--warnbg); color:var(--warn); }
  .muted { color:var(--muted); font-size:13px; }
  table.kv { border-collapse:collapse; width:100%; font-size:14px; } table.kv td { padding:4px 8px 4px 0; vertical-align:top; } table.kv td:first-child { color:var(--muted); width:170px; }
  .hidden { display:none; }
  .stepup { border:1px solid var(--line); border-radius:8px; padding:12px; margin-top:12px; background:#fafbfc; }
  .spread { justify-content:space-between; align-items:center; }
  .m0 { margin:0; }
  .mt10 { margin-top:10px; }
  .prewrap { white-space:pre-wrap; }
