
:root { color-scheme: light; --page:#f9f9f7; --surface:#fcfcfb; --surface-2:#f0efec; --ink:#0b0b0b; --ink-2:#52514e;
  --muted:#77756f; --grid:#e1e0d9; --axis:#c3c2b7; --ring:rgba(11,11,11,.10); --wash:rgba(11,11,11,.05);
  --accent:#2a78d6; --accent-ink:#fff; --ok:#1baf7a; --bad:#e34948; --good:#0ca30c; --warn:#fab219; --critical:#d03b3b;
  --warn-bg:#fff4d6; --warn-ink:#5c4300; --good-bg:#e6f6ee; --good-ink:#0d5c3c; --bad-bg:#fde8e8; --bad-ink:#7a1f1f;
  --s-received:#8aa4c8; --s-reviewing:#2a78d6; --s-cca:#e3a008; --s-branch:#ec835a; --s-docs:#a8580c; --s-attention:#d03b3b;
  --s-done:#0ca30c; --r-bm:#6a45d1; --r-pm:#0a7f8c; --r-est:#bd5200; --r-cca:#5b6675; --r-ink:#fff; }
@media (prefers-color-scheme: dark) { :root:not([data-theme=light]) { color-scheme: dark; --page:#0d0d0d; --surface:#1a1a19; --surface-2:#262624;
  --ink:#f0efec; --ink-2:#c3c2b7; --muted:#979590; --grid:#2c2c2a; --axis:#383835; --ring:rgba(255,255,255,.10);
  --wash:rgba(255,255,255,.07); --accent:#3987e5; --ok:#199e70; --bad:#e66767; --warn-bg:#3a2e0a; --warn-ink:#ffe29a;
  --good-bg:#10311f; --good-ink:#9fe0bf; --bad-bg:#3a1414; --bad-ink:#ffb3b3; --s-received:#7f97b8; --s-reviewing:#3987e5;
  --s-cca:#e8b021; --s-branch:#ef9370; --s-docs:#c8742a; --s-attention:#e66767; --s-done:#23b623;
  --r-bm:#a990f7; --r-pm:#38c3cf; --r-est:#f5a05a; --r-cca:#a3adbb; --r-ink:#111; } }
:root[data-theme=dark] { color-scheme: dark; --page:#0d0d0d; --surface:#1a1a19; --surface-2:#262624;
  --ink:#f0efec; --ink-2:#c3c2b7; --muted:#979590; --grid:#2c2c2a; --axis:#383835; --ring:rgba(255,255,255,.10);
  --wash:rgba(255,255,255,.07); --accent:#3987e5; --ok:#199e70; --bad:#e66767; --warn-bg:#3a2e0a; --warn-ink:#ffe29a;
  --good-bg:#10311f; --good-ink:#9fe0bf; --bad-bg:#3a1414; --bad-ink:#ffb3b3; --s-received:#7f97b8; --s-reviewing:#3987e5;
  --s-cca:#e8b021; --s-branch:#ef9370; --s-docs:#c8742a; --s-attention:#e66767; --s-done:#23b623;
  --r-bm:#a990f7; --r-pm:#38c3cf; --r-est:#f5a05a; --r-cca:#a3adbb; --r-ink:#111; }
* { box-sizing:border-box; }
html, body { margin:0; background:var(--page); color:var(--ink); font:14px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:var(--accent); text-decoration:none; } a:hover { text-decoration:underline; }
header.top { display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; padding:10px 16px; background:var(--surface);
  border-bottom:1px solid var(--grid); }
.brand { font-weight:600; color:var(--ink); font-size:16px; } .brand:hover { text-decoration:none; }
.seg { display:inline-flex; border:1px solid var(--axis); border-radius:8px; overflow:hidden; margin:0; }
.seg button { border:0; border-radius:0; padding:5px 10px; font-size:12px; background:var(--surface); color:var(--ink-2); }
.seg button + button { border-left:1px solid var(--axis); }
.seg button:hover { background:var(--surface-2); filter:none; } .seg button.on { background:var(--accent); color:var(--accent-ink); font-weight:600; }
.badges { display:inline-flex; flex-wrap:wrap; gap:6px; }
.badge { display:inline-flex; align-items:center; padding:2px 9px; border-radius:999px; font-size:12px; font-weight:600;
  border:1px solid var(--ring); background:var(--surface-2); color:var(--ink-2); white-space:nowrap; }
.badge.live { background:var(--good); color:#fff; border-color:transparent; }
.badge.test { background:var(--warn); color:#0b0b0b; border-color:transparent; }
.spacer { flex:1; } .who-name { color:var(--ink-2); font-size:13px; }
nav.tabs { display:flex; gap:2px; padding:0 16px; background:var(--surface); border-bottom:1px solid var(--grid); overflow-x:auto; }
nav.tabs a { border-bottom:2px solid transparent; padding:10px 12px; color:var(--ink-2); white-space:nowrap; }
nav.tabs a:hover { color:var(--ink); text-decoration:none; } nav.tabs a.on { color:var(--ink); border-bottom-color:var(--accent); font-weight:600; }
main { max-width:1280px; margin:0 auto; padding:16px 16px 40px; } main.wide { max-width:1500px; }
footer { max-width:1500px; margin:0 auto; padding:0 16px 32px; color:var(--muted); font-size:12.5px; }
h1 { font-size:22px; line-height:1.2; margin:4px 0 6px; font-weight:600; } h2 { font-size:15px; margin:0 0 10px; font-weight:600; }
h3 { font-size:13px; margin:14px 0 6px; font-weight:600; color:var(--ink-2); } h2 small { color:var(--muted); font-weight:500; }
p { margin:0 0 8px; } .lead { color:var(--ink-2); margin-bottom:14px; } .note { color:var(--muted); font-size:12.5px; }
.muted { color:var(--muted); } .small { font-size:12px; }
.empty { color:var(--muted); padding:6px 0; } .crumbs { color:var(--muted); margin-bottom:4px; font-size:12.5px; }
.mono { font-family:ui-monospace,Consolas,monospace; font-size:12.5px; color:var(--ink-2); white-space:pre-wrap; }
.card, .panel { background:var(--surface); border:1px solid var(--grid); border-radius:10px; padding:14px 16px; margin:0 0 12px; min-width:0; }
.card.narrow { max-width:520px; } .panel h2 { margin-bottom:10px; }
.two, .grid2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:12px; }
.two .card, .grid2 > .panel, .grid2 > .cards { margin:0; }
@media (max-width:900px) { .two, .grid2 { grid-template-columns:minmax(0,1fr); } }
.cards { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin:0 0 12px; }
.cards.five { grid-template-columns:repeat(5,minmax(0,1fr)); } .cards.tiles { grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; }
@media (max-width:1000px) { .cards, .cards.five { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.card.stage { display:flex; flex-direction:column; gap:4px; color:var(--ink); margin:0; }
.card.stage:hover, a.tile:hover { background:var(--surface-2); text-decoration:none; }
.stage .k, .kpi .label { color:var(--ink-2); font-size:12px; } .stage .n, .kpi .value { font-size:26px; font-weight:600; line-height:1.15; margin-top:2px; }
.kpi { margin:0; } a.kpi { color:var(--ink); display:block; } .kpi .sub { color:var(--muted); font-size:12px; margin-top:4px; }
.kpi .label i, .lane-head i, .legend i { display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:6px; vertical-align:-1px; }
dl { margin:0; } dt { color:var(--ink-2); font-size:12.5px; margin-top:8px; } dd { margin:0; }
dl.grid { display:grid; grid-template-columns:max-content 1fr; gap:4px 16px; }
dl.grid dt { margin:0; padding-top:1px; } dl.grid dd { min-width:0; overflow-wrap:anywhere; }
.scroll { overflow-x:auto; } table { border-collapse:collapse; width:100%; font-size:13px; }
th, td { text-align:left; padding:6px 8px; border-bottom:1px solid var(--grid); vertical-align:top; }
th { color:var(--ink-2); font-weight:600; font-size:12px; white-space:nowrap; } tr:last-child td { border-bottom:0; }
td.num, th.num { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; } td.nw, th.nw { white-space:nowrap; }
td.job { min-width:220px; } td.wide { width:40%; min-width:160px; vertical-align:middle; }
pre { background:var(--wash); border-radius:8px; padding:12px; overflow:auto; font:12.5px/1.45 ui-monospace,Consolas,monospace; white-space:pre-wrap; margin:0 0 8px; }
pre.tree { white-space:pre; } pre.prompt { max-height:70vh; }
code { font:12.5px ui-monospace,Consolas,monospace; background:var(--wash); padding:1px 4px; border-radius:4px; }
.chips { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px; } .bar .chips { margin:0; }
.chips a { padding:3px 10px; border-radius:999px; border:1px solid var(--ring); color:var(--ink-2); font-size:12.5px; }
.chips a:hover { background:var(--surface-2); text-decoration:none; } .chips a.on { background:var(--ink); color:var(--page); border-color:transparent; }
label { display:flex; flex-direction:column; gap:4px; font-size:12.5px; color:var(--ink-2); margin:0 0 12px; } label small { color:var(--muted); }
label.row { flex-direction:row; align-items:center; gap:8px; color:var(--ink); font-size:13px; }
input[type=text], input[type=password], input[type=search], input:not([type]) { font:inherit; color:var(--ink); background:var(--surface);
  border:1px solid var(--axis); border-radius:6px; padding:6px 9px; }
button { font:inherit; cursor:pointer; background:var(--accent); color:var(--accent-ink); border:1px solid transparent; border-radius:6px; padding:6px 12px; }
button:hover { filter:brightness(1.06); } button:disabled { opacity:.5; cursor:not-allowed; }
a.button { display:inline-block; font:inherit; font-weight:600; text-decoration:none; background:var(--accent); color:var(--accent-ink); border-radius:6px; padding:9px 16px; } a.button:hover { filter:brightness(1.06); }
.signin details { margin-top:14px; } .signin summary { cursor:pointer; color:var(--ink-2); }
button.quiet { background:var(--surface); color:var(--ink-2); border-color:var(--axis); } button.quiet:hover { background:var(--surface-2); filter:none; }
button.danger { background:var(--bad); color:#fff; } button.quiet.danger { background:none; color:var(--bad); border-color:var(--bad); }
button.sm { padding:3px 9px; font-size:12px; } form.inline { display:inline-block; margin:0 6px 6px 0; } header form.inline { margin:0; }
.notice { padding:10px 12px; border-radius:8px; background:var(--good-bg); color:var(--good-ink); margin-bottom:12px; }
.problem { padding:10px 12px; border-radius:8px; background:var(--bad-bg); color:var(--bad-ink); margin-bottom:12px; }
.check { margin:0 0 4px; } .check .mark { display:inline-block; width:2.2em; font-family:ui-monospace,Consolas,monospace; }
.check.ok .mark { color:var(--ok); } .check.bad .mark { color:var(--bad); font-weight:700; }
.signin { max-width:420px; margin:48px auto; } .signin form { background:var(--surface); border:1px solid var(--grid); border-radius:10px; padding:20px; }
.signin input { width:100%; } .signin button { width:100%; margin-top:4px; }
.reveal { background:var(--warn-bg); color:var(--warn-ink); border-color:transparent; } .reveal h2 { color:inherit; }
.secret code { font-size:18px; padding:6px 10px; user-select:all; }
iframe.board { width:100%; height:calc(100vh - 170px); min-height:600px; border:1px solid var(--grid); border-radius:10px; background:var(--surface); }
.md h1 { font-size:20px; } .md h2 { font-size:16px; margin-top:16px; } .md table { margin:8px 0; }
:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

/* the views (views.py) */
.bar { display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center; margin-bottom:12px; }
.askbox { display:flex; align-items:center; gap:8px; padding:6px 10px; background:var(--surface); border:1px solid var(--axis);
  border-radius:10px; flex:1 1 360px; max-width:560px; margin:0; }
.askbox input { flex:1; border:0; outline:none; background:transparent; min-width:0; padding:4px 0; }
.pill { display:inline-block; font-size:11px; font-weight:600; padding:2px 8px; border-radius:999px; background:var(--surface-2);
  color:var(--ink-2); margin:0 4px 2px 0; }
.pill.crit { background:color-mix(in srgb,var(--critical) 18%,var(--surface)); color:var(--ink); }
.pill.warn { background:color-mix(in srgb,var(--warn) 28%,var(--surface)); color:var(--ink); }
.pill.ok { background:color-mix(in srgb,var(--good) 18%,var(--surface)); color:var(--ink); }
.pill.info { background:color-mix(in srgb,var(--accent) 16%,var(--surface)); color:var(--ink); }
.lay { display:grid; grid-template-columns:minmax(0,1fr) 400px; gap:16px; align-items:start; }
@media (max-width:1100px) { .lay { grid-template-columns:minmax(0,1fr); } }
.panel.sticky { position:sticky; top:12px; max-height:calc(100vh - 24px); overflow:auto; margin:0; }
.lanegroup { margin-bottom:18px; } .lanegroup h2 { margin:0 0 2px; } .lanegroup h2 small { margin-left:4px; }
.rule { color:var(--muted); font-size:12px; margin:0 0 8px; }
.ccard { display:flex; flex-wrap:wrap; gap:6px 14px; padding:12px 14px; background:var(--surface); border:1px solid var(--grid);
  border-radius:12px; margin-bottom:8px; color:var(--ink); }
.ccard:hover { text-decoration:none; background:var(--surface-2); }
.ccard.sel { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent); }
.ccard .main { flex:1 1 320px; min-width:0; display:flex; flex-direction:column; gap:4px; }
.ccard .side { display:flex; flex-direction:column; align-items:flex-end; gap:2px; min-width:150px; text-align:right; }
.move { background:color-mix(in srgb,var(--accent) 10%,var(--surface)); border-radius:8px; padding:8px 10px; }
.links { margin-top:12px; font-size:13px; }
ul.files, ul.items, ul.brief { margin:0 0 8px; padding-left:18px; } ul.files li, ul.items li, ul.brief li { margin:3px 0; }
ul.files { font-size:13px; } ul.brief { font-size:13.5px; }
.ladder { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; font-size:11px; margin:6px 0 10px; }
.ladder > div { display:flex; flex-direction:column; gap:2px; } .ladder span { color:var(--muted); }
.ladder .bar { height:6px; border-radius:3px; background:var(--grid); margin:0; display:block; }
.ladder .done .bar { background:var(--good); } .ladder .current .bar { background:var(--accent); }
.ladder .next .bar { background:color-mix(in srgb,var(--accent) 45%,var(--surface)); }
.req { border-top:1px solid var(--grid); padding-top:8px; margin-top:8px; font-size:13px; }
.tl { list-style:none; margin:0; padding:0; } .tl li { display:flex; gap:10px; padding-bottom:10px; font-size:13px; }
.tl .dot { width:9px; height:9px; border-radius:50%; background:var(--accent); margin-top:5px; flex:none; }
.sub-panel { background:var(--warn-bg); color:var(--warn-ink); border-radius:8px; padding:4px 12px 8px; margin-bottom:12px; }
.sub-panel h3 { color:inherit; } .sub-panel pre { background:transparent; padding:0; color:inherit; }
.msg { max-width:94%; padding:8px 10px; border-radius:12px; font-size:13px; line-height:1.45; display:flex; flex-direction:column; gap:2px; }
.msg.me { align-self:flex-end; background:var(--accent); color:var(--accent-ink); border-bottom-right-radius:2px; }
.msg.ai { align-self:flex-start; background:var(--surface); border:1px solid var(--grid); border-bottom-left-radius:2px; }
.lanes { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; }
.lane { display:flex; flex-direction:column; gap:6px; padding:10px; background:var(--surface-2); border-radius:10px; min-width:0; }
.lane-head { font-size:12.5px; font-weight:600; color:var(--ink-2); } .lane-head b { color:var(--ink); margin-left:4px; }
.lane .item { display:flex; flex-direction:column; gap:2px; padding:8px 10px; background:var(--surface); border:1px solid var(--grid);
  border-radius:8px; font-size:12.5px; color:var(--ink); overflow-wrap:anywhere; }
.lane .item:hover { border-color:var(--accent); text-decoration:none; }
.segbar { display:flex; gap:2px; height:10px; border-radius:4px; overflow:hidden; background:var(--grid); } .segbar span { display:block; }
.legend { display:flex; flex-wrap:wrap; gap:4px 14px; font-size:12px; color:var(--ink-2); margin:10px 0 0; }
.s-received { background:var(--s-received); } .s-reviewing { background:var(--s-reviewing); } .s-cca { background:var(--s-cca); }
.s-branch { background:var(--s-branch); } .s-docs { background:var(--s-docs); } .s-attention { background:var(--s-attention); }
.s-done { background:var(--s-done); }
/* light or dark, the header's switch */
.seg.theme button { padding:5px 8px; }

/* answers to a review's items (feedback.py) */
.items .item-card { border:1px solid var(--grid); border-radius:10px; padding:10px 12px; margin:0 0 10px; background:var(--page); }
.items .item-card.closed { opacity:.85; }
.items .item-card p { margin:6px 0; }
ul.said { list-style:none; margin:6px 0; padding:0; font-size:12.5px; }
ul.said li { padding:4px 0; border-top:1px dashed var(--grid); }
form.respond { display:flex; flex-direction:column; gap:6px; margin-top:6px; }
form.respond textarea, textarea { font:inherit; color:var(--ink); background:var(--surface); border:1px solid var(--axis);
  border-radius:6px; padding:6px 9px; width:100%; resize:vertical; }
.verdicts { display:flex; flex-wrap:wrap; gap:6px; }
select { font:inherit; color:var(--ink); background:var(--surface); border:1px solid var(--axis); border-radius:6px; padding:6px 9px; }
form.chip-form { display:inline-flex; align-items:center; gap:2px; margin:2px 6px 2px 0; padding:1px 2px 1px 9px; border-radius:999px;
  border:1px solid var(--ring); background:var(--surface-2); font-size:12.5px; }
form.chip-form button.x { background:none; color:var(--ink-2); border:0; padding:0 7px; font-size:14px; line-height:1.4; }
form.chip-form button.x:hover { color:var(--bad); filter:none; }
.chips-row { display:flex; flex-wrap:wrap; }
details.again summary { font-size:12.5px; color:var(--accent); cursor:pointer; margin-top:4px; }

/* the Workspace: three panes (views.py) */
.ws { display:grid; border:1px solid var(--grid); border-radius:10px; overflow:hidden; background:var(--surface); font-size:13px; }
.ws.panes { grid-template-columns:270px minmax(0,1fr) 340px; height:calc(100vh - 92px); min-height:560px; }
.ws > * { min-width:0; overflow:auto; }
.wl { border-right:1px solid var(--grid); }
form.wfind { position:sticky; top:0; z-index:1; display:flex; flex-wrap:wrap; gap:6px; padding:8px; margin:0;
  background:var(--surface); border-bottom:1px solid var(--grid); }
form.wfind select { flex:1 1 100%; padding:4px 6px; font-size:12.5px; } form.wfind input { flex:1 1 120px; min-width:0; padding:4px 8px; }
.wcount { font-size:11.5px; color:var(--muted); padding:5px 10px 4px; margin:0; border-bottom:1px solid var(--grid); }
a.wrow { display:grid; grid-template-columns:9px minmax(0,1fr); column-gap:8px; padding:7px 10px 7px 9px; color:var(--ink);
  border-bottom:1px solid var(--grid); border-left:3px solid transparent; }
a.wrow .sw { grid-row:span 3; width:9px; height:9px; border-radius:3px; margin-top:4px; }
a.wrow .nm { font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
a.wrow .mt { font-size:11.5px; color:var(--muted); } a.wrow .tg:empty { display:none; }
a.wrow .pill, .irow .pill { font-size:10.5px; padding:1px 7px; margin:2px 3px 0 0; }
a.wrow:hover { background:var(--surface-2); text-decoration:none; }
a.wrow.sel { background:color-mix(in srgb,var(--accent) 9%,var(--surface)); border-left-color:var(--accent); }
.pad { padding:10px; }
.wrec { padding:12px 16px 18px; } .wside { border-left:1px solid var(--grid); background:var(--page); padding:10px 12px 16px; }
.whead .t { display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; } .whead h2 { font-size:17px; margin:0; }
.whead .t .pill { margin:0; } .whead .t a { margin-left:auto; font-size:12.5px; }
.whead .move { margin:8px 0; padding:6px 10px; font-size:13px; }
.facts { display:grid; grid-template-columns:repeat(auto-fill,minmax(136px,1fr)); border:1px solid var(--grid); border-radius:8px;
  overflow:hidden; margin:0 0 10px; background:var(--surface); }
.facts > div { display:flex; flex-direction:column; padding:5px 10px; min-width:0;
  border-left:1px solid var(--grid); border-top:1px solid var(--grid); margin:-1px 0 0 -1px; }
.facts span { font-size:11px; color:var(--muted); } .facts b { font-weight:600; overflow-wrap:anywhere; }
.wsec { margin:12px 0 0; min-width:0; } .wsec p { margin:0 0 6px; }
.wsec > h3 { margin:0 0 6px; font-size:11.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); }
.wsec > h3 small { color:var(--ink-2); font-weight:600; margin-left:4px; }
.wside .wsec:first-child, .duo .wsec { margin-top:0; }
.wside .wsec + .wsec { border-top:1px solid var(--grid); padding-top:10px; }
.duo { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 20px; margin-top:14px; padding-top:12px;
  border-top:1px solid var(--grid); }
ul.dlist { list-style:none; margin:0; padding:0; } ul.dlist li { display:flex; flex-direction:column; gap:1px; padding:5px 0;
  border-top:1px solid var(--grid); } ul.dlist li:first-child { border-top:0; padding-top:0; }
.qa { display:flex; flex-direction:column; gap:6px; margin-bottom:6px; } .qa .msg { font-size:12.5px; padding:6px 9px; }
.wsec .tl li { padding-bottom:6px; font-size:12.5px; } .wsec ul.files { margin-bottom:4px; }
.wsec .req:first-of-type { border-top:0; margin-top:0; padding-top:0; }
.items.compact { container-type:inline-size; margin:12px 0 0; }
.ihead { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin:0 0 8px; }
.ihead h2 { margin:0; font-size:14px; } .ihead small { color:var(--muted); font-size:12px; }
progress { width:130px; height:7px; border:0; border-radius:4px; background:var(--grid); overflow:hidden; appearance:none; }
progress::-webkit-progress-bar { background:var(--grid); } progress::-webkit-progress-value { background:var(--good); }
progress::-moz-progress-bar { background:var(--good); }
.irow { display:grid; grid-template-columns:minmax(0,1fr); gap:6px 16px; padding:7px 10px; margin:0 0 6px; background:var(--surface);
  border:1px solid var(--grid); border-radius:8px; }
.irow.closed { background:var(--page); } .irow.closed p { color:var(--ink-2); }
.irow p { margin:2px 0 0; } ul.said { margin:4px 0 0; font-size:12px; } .irow ul.said li { padding:2px 0; border-top:0; color:var(--ink-2); }
.irow form.respond { margin:0; gap:5px; } .irow textarea { min-height:30px; padding:4px 8px; font-size:12.5px; }
.irow .verdicts { gap:4px; } .irow .verdicts button { padding:3px 8px; } .irow details.again summary { margin-top:0; }
@container (min-width:660px) { .irow { grid-template-columns:minmax(0,1fr) 316px; align-items:start; } }
@media (max-width:1100px) {
  .ws.panes { grid-template-columns:minmax(0,1fr); height:auto; } .ws > * { overflow:visible; }
  .wl { max-height:320px; overflow:auto; border-right:0; border-bottom:1px solid var(--grid); }
  .wside { border-left:0; border-top:1px solid var(--grid); } .duo { grid-template-columns:minmax(0,1fr); } }

/* who should answer an item (feedback.role_of): branch manager, project manager, estimator, contract administrator */
.r-bm { --rc:var(--r-bm); } .r-pm { --rc:var(--r-pm); } .r-est { --rc:var(--r-est); } .r-cca { --rc:var(--r-cca); }
.r-none { --rc:var(--axis); }
.rtag { display:inline-block; font-size:11px; font-weight:700; padding:2px 9px; border-radius:999px; margin:0 4px 2px 0;
  background:var(--rc); color:var(--r-ink); white-space:nowrap; } .rtag.r-none { color:var(--ink); }
.rgroup { border-left:4px solid var(--rc); padding:0 0 1px 10px; margin:0 0 14px; scroll-margin-top:8px; }
.rhead { display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; padding:6px 10px; margin:0 0 6px -10px;
  background:color-mix(in srgb,var(--rc) 13%,var(--surface)); border-radius:0 8px 8px 0; }
.rhead .rtag { font-size:12px; padding:3px 12px; margin:0; text-transform:uppercase; letter-spacing:.05em; }
.rcount { font-size:12.5px; font-weight:600; } .rnote { font-size:12px; color:var(--ink-2); }
.yours { margin-left:auto; font-size:12px; padding:2px 10px; border-radius:999px; border:2px solid var(--rc); background:var(--surface); }
.rgroup.mine { border-left-width:6px; } .rgroup.mine .rhead { background:color-mix(in srgb,var(--rc) 24%,var(--surface)); }
.rlegend { display:inline-flex; flex-wrap:wrap; gap:4px 10px; margin-left:auto; }
a.rjump { color:var(--ink); font-size:12.5px; font-weight:600; } a.rjump:hover { text-decoration:none; } a.rjump .rtag { margin-right:4px; }
.items .item-card .rtag { margin-right:6px; }
