  :root { --ink:#1d2433; --muted:#667085; --line:#e4e7ec; --bg:#f8f9fb; --ok:#067647; --bad:#b42318; --warn:#b54708; --accent:#1849a9; }
  * { box-sizing: border-box; }
  body { margin:0; font:14px/1.45 system-ui, -apple-system, Segoe UI, sans-serif; color:var(--ink); background:var(--bg); }
  header { display:flex; gap:16px; align-items:center; padding:10px 18px; background:#fff; border-bottom:1px solid var(--line); }
  header b { margin-right:12px; }
  nav button { border:0; background:none; padding:6px 10px; cursor:pointer; color:var(--muted); font:inherit; }
  nav button.on { color:var(--ink); border-bottom:2px solid var(--accent); }
  #who { margin-left:auto; display:flex; gap:6px; align-items:center; color:var(--muted); }
  #subnav { display:flex; gap:8px; align-items:center; padding:4px 18px; background:#fff; border-bottom:1px solid var(--line); }
  main { display:grid; grid-template-columns: 380px 1fr; height: calc(100vh - 84px); }
  main.single { display:block; height:auto; min-height:calc(100vh - 84px); }
  main.eval-layout { grid-template-columns:240px 360px minmax(0,1fr); height:calc(100vh - 84px); }
  main.eval-layout #eval-rail { grid-column:1; grid-row:1; overflow:auto; border-right:1px solid var(--line); background:#fff; padding:14px; }
  main.eval-layout #list { grid-column:2; grid-row:1; }
  main.eval-layout #detail { grid-column:3; grid-row:1; }
  main.eval-layout #list[hidden] { display:none; }
  main.eval-layout #detail { grid-column:2 / 4; }
  main.eval-layout #list:not([hidden]) + #detail { grid-column:3; }
  main.single #detail { max-width:none; padding:20px clamp(18px, 3vw, 48px); }
  main.single .card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .directory-controls { display:flex; gap:14px; align-items:center; padding:14px 0; flex-wrap:wrap; }
  .directory-controls > input { width:min(360px,100%); }
  .directory-controls label { display:flex; align-items:center; gap:6px; white-space:nowrap; }
  .directory-controls input[type=checkbox] { width:auto; }
  .table-wrap { overflow:auto; max-height:calc(100vh - 250px); background:#fff; }
  .directory-table { border-collapse:separate; border-spacing:0; margin:0; }
  .directory-table th,.directory-table td { height:40px; padding:5px 10px; white-space:nowrap; border-bottom:1px solid var(--line); background:#fff; }
  .directory-table thead th { position:sticky; top:0; z-index:2; background:#f8f9fb; }
  .directory-table .sticky-name { position:sticky; left:0; z-index:1; text-align:left; min-width:220px; }
  .directory-table thead .sticky-name { z-index:3; }
  .directory-table th button { border:0; background:transparent; font:inherit; font-weight:600; cursor:pointer; }
  .directory-table .numeric { text-align:right; font-variant-numeric:tabular-nums; }
  .directory-table tbody tr:hover td,.directory-table tbody tr:hover th,.directory-table tr.selected td,.directory-table tr.selected th { background:#eef4ff; }
  .directory-table tbody tr { cursor:pointer; }
  .directory-table tbody tr:focus { outline:2px solid var(--accent); outline-offset:-2px; }
  .record-nav { display:flex; align-items:center; gap:10px; padding-bottom:12px; border-bottom:1px solid var(--line); }
  .record-nav > span { margin-left:auto; color:var(--muted); }
  .key-help { font-size:11px; line-height:1.8; padding:6px; }
  .review-progress { padding:6px 10px; margin:0; font-weight:600; }
  .record-title { margin:8px 0 20px; }
  .eval-rail { padding:10px 12px 24px 0; }
  .eval-rail h3 { margin:4px 0 12px; }
  .eval-step { display:flex; gap:8px; align-items:flex-start; padding:9px 6px; border-radius:6px; color:var(--ink); text-decoration:none; }
  .eval-step:hover,.eval-step.active { background:#eef4ff; }
  .eval-content { min-height:400px; }
  @media(max-width:1000px) { main.eval-layout { display:block; height:auto; } main.eval-layout #eval-rail { display:flex; gap:6px; overflow:auto; border-bottom:1px solid var(--line); } main.eval-layout .eval-step { min-width:170px; } main.eval-layout #list { height:38vh; } }
  @media(max-width:800px) { main.single .card-grid { grid-template-columns:1fr; } .directory-controls { align-items:stretch; } }
  #list { overflow:auto; border-right:1px solid var(--line); background:#fff; }
  #detail { overflow:auto; padding:18px 24px; }
  .row { padding:10px 14px; border-bottom:1px solid var(--line); cursor:pointer; }
  .row.on { background:#eef4ff; }
  .row small, .muted { color:var(--muted); }
  .why { margin:0.5em 0; padding:0.5em 0.75em; border-left:3px solid var(--accent); }
  .pill { display:inline-block; padding:1px 8px; border-radius:10px; font-size:12px; background:#f2f4f7; }
  .progress { height:3px; background:var(--line); margin:8px 0; }
  .progress span { display:block; height:100%; background:var(--accent); }
  .control-nav { margin-left:auto; }
  .app-group { align-self:center; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.06em; padding-left:8px; }
  .PROPOSED { background:#fffaeb; color:var(--warn); } .EXECUTED { background:#ecfdf3; color:var(--ok); }
  .REJECTED, .error { background:#fef3f2; color:var(--bad); } .REVERTED { background:#f2f4f7; }
  table { border-collapse:collapse; width:100%; margin:8px 0 16px; }
  td, th { text-align:left; vertical-align:top; padding:5px 8px; border-bottom:1px solid var(--line); }
  pre { white-space:pre-wrap; word-break:break-word; background:#fff; border:1px solid var(--line); padding:8px; border-radius:6px; max-height:320px; overflow:auto; }
  textarea, input, select { font:inherit; padding:6px; border:1px solid var(--line); border-radius:6px; width:100%; }
  button.act { padding:6px 14px; border-radius:6px; border:1px solid var(--line); background:#fff; cursor:pointer; margin-right:6px; }
  button.primary { background:var(--accent); color:#fff; border-color:var(--accent); }
  .span { border-left:3px solid var(--line); padding:4px 10px; margin:8px 0; }
  .span.execute_tool { border-color:#7a5af8; } .span.chat { border-color:#2e90fa; } .span.err { border-color:var(--bad); }
  .bar { display:flex; gap:8px; margin:12px 0; flex-wrap:wrap; }
  kbd { border:1px solid var(--line); border-radius:4px; padding:0 4px; font-size:12px; background:#fff; }
  .card { background:#fff; border:1px solid var(--line); border-radius:8px; padding:4px 14px 8px; margin:0 0 14px; }
  .card h3 { display:flex; justify-content:space-between; align-items:center; margin:10px 0 4px; font-size:15px; }
  .card td:first-child { width:190px; color:var(--muted); } .card td.src { width:38%; font-size:12px; }
  .chip { display:inline-block; margin:2px 4px 2px 0; padding:1px 8px; border-radius:10px; background:#eef4ff; font-size:12px; }
  .filters { position:sticky; top:0; background:#fff; padding:10px 14px; border-bottom:1px solid var(--line); display:grid; gap:6px; }
  .filters label, .checks label { display:inline-flex; gap:4px; align-items:center; margin-right:10px; }
  .filters input[type=checkbox], .checks input, .items input[type=checkbox] { width:auto; }
  .items .item { display:flex; gap:4px; margin:3px 0; } .items .item > * { flex:1; }
  button.act.v { padding:2px 9px; margin:0 2px 0 0; } button.act.v.on { background:var(--accent); color:#fff; border-color:var(--accent); }
  .note { font-size:12px; margin-top:4px; padding:4px 8px; border-radius:6px; background:#fffaeb; }
  .note.addressed { background:#eef4ff; } td.verdict { width:120px; white-space:nowrap; }
  button:disabled { opacity:.45; cursor:default; }
