/* ══ DISPUTES v5 (2026-11-14, piloted to Justus; js/disputes-v5.js) ══════════
   Spec: claude-admin mocks/purch-disputes-fresh-v5.html — this is its
   kit-add.css, carried over rule for rule with .dv5 renamed .dsv5 (.dv5 is the
   driver v5 screen's class). LOOK ONLY over today's Disputes: same cards, same
   order, same sections, same buttons. Shop v5's card treatment: white card,
   6px state edge + 2px state rule, filled tag, ink only, larger values.
   Every rule sits under .dsv5, which only the pilot's .disp-wrap carries. */
.disp-wrap.dsv5{--ink:#171614}
.disp-wrap.dsv5 > *{max-width:1240px}
.dsv5 .disp-chips{max-width:1240px}
/* ④ ink, never grey */
.dsv5 .disp-when,.dsv5 .disp-meta,.dsv5 .disp-section-c,.dsv5 .disp-nopo,.dsv5 .disp-aside-note,.dsv5 .disp-section-sub,.dsv5 .disp-chip:not(.on),
.dsv5 .disp-mailnote,.dsv5 .disp-panel,.dsv5 .disp-panel *,.dsv5 .disp-fig span,.dsv5 .spo-why,.dsv5 .disp-resp-meta,.dsv5 .disp-pick-po span,.dsv5 .ac-nofile,.dsv5 .rx-sub{color:var(--ink)}
/* ④ the helper sentence under the title (not the Not invoices view's) */
.dsv5 .disp-sub{color:var(--ink)}
.dsv5 .disp-sub.dsv5-cut{display:none}
/* ① the card: Shop v5's white card, today's red edge kept (open = red, approved = grey, as today) */
.dsv5 .disp-card{border:1px solid #e3e1db;border-left:6px solid #dc2626;border-bottom:2px solid #f6b9b9;border-radius:8px;padding:14px 20px 14px;margin-bottom:12px;background:#fff}
.dsv5 .disp-card.disp-card-awaiting{border-left-color:#a8a29e;border-bottom-color:#e7e5e0;opacity:1}
.dsv5 .disp-card.rx-card-ok{border-left-color:#207f40;border-bottom-color:#b4dfc0}
/* ② the head line: age, PO, vendor, filled kind tag */
.dsv5 .disp-card-top{align-items:center}
.dsv5 .disp-card-id{display:flex;align-items:center;flex-wrap:wrap;gap:6px 0}
.dsv5 .disp-age{font-size:16px;font-weight:700;background:#f2f1ee;border:0;border-radius:5px;padding:4px 9px;color:var(--ink)}
.dsv5 .disp-age.disp-stale{background:#fde2e2;color:#b91c1c}
.dsv5 .disp-card .disp-po{font:700 15px ui-monospace,SFMono-Regular,monospace;margin-right:2px}
.dsv5 .disp-card .disp-vendor{font-size:19px;font-weight:750;margin-left:12px}
.dsv5 .disp-kind{font-size:13px;font-weight:700;padding:4px 9px;border-radius:5px;background:#e7e5e0;color:var(--ink);border:0;margin-left:12px;vertical-align:0}
.dsv5 .disp-when{font-size:14px;font-weight:500}
.dsv5 .disp-meta{font-size:14px;font-weight:500;margin:6px 0 0}
.dsv5 .disp-meta.dsv5-nojob{display:none}
/* ③ the figures: Shop v5's facts, no boxes, sentence-case labels, bigger values */
.dsv5 .disp-figs{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:4px 48px;margin:12px 0 10px}
.dsv5 .disp-fig,.dsv5 .disp-fig-gap{border:0;background:none;padding:0;min-width:0}
.dsv5 .disp-fig span{font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;margin-bottom:2px}
.dsv5 .disp-fig b{font-size:21px;line-height:1.2}
.dsv5 .disp-fig-gap b{font-size:21px}
.dsv5 .disp-fig em{font-size:13px;color:inherit}
.dsv5 .disp-fig.dsv5-unk{display:none}
/* the fact line and the panels: today's, white, ink, more room */
.dsv5 .disp-info,.dsv5 .disp-aside-line{font-size:15px;background:#fff;border:0;border-top:1px solid #efeee9;border-radius:0;padding:8px 0 0;margin:0 0 12px}
.dsv5 .disp-tax{font-size:15px}
.dsv5 .disp-panel{background:#fff;border:1px solid #e3e1db;border-radius:8px;padding:12px 16px;margin:0 0 12px}
.dsv5 .disp-panel-hd{font-size:15px}
.dsv5 .disp-panel input{font-size:15px;padding:8px 11px}
.dsv5 .disp-acts{gap:10px}
.dsv5 .disp-acts .pov-btn{font-size:14px;padding:8px 14px}
.dsv5 .disp-section-hd{font-size:16px;margin:30px 0 4px}
/* the pilot's old/new switch (same look as Shop v5's .sv5-switch); drawn on
   both screens, so it is not scoped to .dsv5 — only the pilot ever gets one */
.dsv5-switch{font:600 12px -apple-system,BlinkMacSystemFont,system-ui,'Segoe UI',Roboto,Arial,sans-serif;padding:6px 12px;border-radius:8px;border:1.5px dashed #9a958a;background:#fff;color:#171614;cursor:pointer;white-space:nowrap}
.dsv5-switch:hover{border-style:solid}
