
/* ---- Certificate Desk (§10) - the pipeline from approval to despatch ---- */
.cd-pipe { display:grid; gap:14px; grid-template-columns:repeat(4, minmax(0,1fr)); align-items:start; }
@media (max-width:1200px){ .cd-pipe{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:700px){ .cd-pipe{ grid-template-columns:1fr; } }
.cd-stage { background:var(--surface); border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.cd-stage-head { padding:11px 13px; border-bottom:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between; gap:8px; }
.cd-stage-name { font-size:var(--fs-body); font-weight:600; letter-spacing:.03em; text-transform:uppercase; }
.cd-stage-n { font-size:var(--fs-body); color:var(--ink-faint); font-variant-numeric:tabular-nums; }
.cd-stage-body { padding:10px; display:flex; flex-direction:column; gap:8px; min-height:64px; }
.cd-empty { color:var(--ink-faint); font-size:var(--fs-body); padding:8px 4px; }
.cd-card { border:1px solid var(--line); border-radius:8px; padding:10px 11px; background:#fff;
  display:flex; flex-direction:column; gap:6px; }
.cd-card.cd-sel { border-color:var(--brand); box-shadow:0 0 0 2px rgba(23,84,110,.12); }
.cd-no { font-weight:600; font-size:var(--fs-body); }
.cd-ulr { font-family:ui-monospace,Menlo,Consolas,monospace; font-size:var(--fs-label); color:var(--ink-faint);
  word-break:break-all; }
.cd-row { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.cd-act { font-size:var(--fs-body); padding:5px 10px; border-radius:6px; border:1px solid var(--brand);
  background:var(--brand); color:#fff; cursor:pointer; }
.cd-act:hover { filter:brightness(1.08); }
.cd-act.cd-ghost { background:transparent; color:var(--brand); }
.cd-act[disabled] { opacity:.45; cursor:not-allowed; filter:none; }
.cd-warn { border-left:3px solid #C9922B; background:rgba(201,146,43,.07); padding:10px 12px;
  border-radius:6px; font-size:var(--fs-body); margin-bottom:14px; }
.cd-bad { border-left:3px solid #C82D2D; background:rgba(200,45,45,.06); }
.cd-pill { font-size:var(--fs-label); padding:2px 7px; border-radius:99px; border:1px solid var(--line);
  color:var(--ink-faint); }
.cd-pill.ok { color:#1E7A47; border-color:rgba(30,122,71,.35); background:rgba(47,191,113,.10); }
.cd-pill.bad { color:#8E2020; border-color:rgba(200,45,45,.35); background:rgba(200,45,45,.07); }
.cd-modal-body { font-size:var(--fs-body); }
.cd-modal-body input, .cd-modal-body select { font-family:inherit; }
.cd-tabs { display:flex; gap:6px; margin-bottom:14px; }
.cd-tab { font-size:var(--fs-body); padding:6px 13px; border-radius:7px; border:1px solid var(--line);
  background:transparent; cursor:pointer; }
.cd-tab.on { background:var(--brand); color:#fff; border-color:var(--brand); }
.cd-reg { width:100%; border-collapse:collapse; font-size:var(--fs-body); }
.cd-reg th, .cd-reg td { text-align:left; padding:7px 9px; border-bottom:1px solid var(--line); }
.cd-reg th { font-size:var(--fs-label); text-transform:uppercase; letter-spacing:.05em; color:var(--ink-faint); }
.cd-reg td.mono { font-family:ui-monospace,Menlo,Consolas,monospace; }
.cd-reg tr.void td { color:var(--ink-faint); text-decoration:line-through; }

/* ---- Phase 7 task board: what is mine to do today --------------------- */
.tb-head { display:flex; align-items:baseline; justify-content:space-between; gap:14px;
  flex-wrap:wrap; margin-bottom:2px; }
.tb-for { font-size:var(--fs-body); color:var(--ink-faint); }
.tb-ro { font-size:var(--fs-label); text-transform:uppercase; letter-spacing:.08em; padding:2px 8px;
  border:1px solid var(--line); border-radius:99px; color:var(--ink-faint); }
.tb-grid { display:grid; gap:14px; grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  margin-top:16px; align-items:start; }
.tb-card { border:1px solid var(--line); border-radius:10px; background:var(--surface);
  overflow:hidden; }
.tb-card.tb-clear { opacity:.62; }
.tb-top { padding:8px 12px 7px; border-bottom:1px solid var(--line); }
/* SHUTTERED QUEUES, 23.09.2026. Gurudeep: "dropdown shuttering on clicking
   rather then all open and filling screen". The head stays - title, count and
   reason - and the rows fold away behind it. Nothing is removed. */
.tb-card > .tb-top[role="button"] { cursor:pointer; user-select:none; }
.tb-card > .tb-top[role="button"]:hover { background:var(--brand-tint, rgba(23,84,110,0.06)); }
.tb-card > .tb-top[role="button"]:focus-visible { outline:2px solid var(--brand); outline-offset:-2px; }
.tb-chev { margin-left:auto; color:var(--ink-faint); font-size:var(--fs-body); transition:transform .16s ease; display:inline-block; }
.tb-card:not(.tb-collapsed) > .tb-top .tb-chev { transform:rotate(90deg); }
.tb-card.tb-collapsed > .tb-top { border-bottom:0; }
.tb-card.tb-collapsed > .tb-rows,
.tb-card.tb-collapsed > .tb-more { display:none; }
.tb-title-row { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.tb-title { font-size:var(--fs-body); font-weight:600; }
.tb-n { font-size:var(--fs-head); font-weight:650; font-variant-numeric:tabular-nums; line-height:1; }
.tb-why { font-size:var(--fs-label); color:var(--ink-faint); margin-top:3px; line-height:1.35; }
/* .tb-rows carries no rules any more: the card shows four whole rows and then
   says how many are left, so there is nothing to scroll. It had a 192px
   max-height and overflow-y:auto, which cut the fourth row across the middle
   and hid the rest behind a scrollbar inside a tile. */
.tb-row { display:flex; align-items:center; gap:9px; padding:8px 14px;
  border-bottom:1px solid var(--line); cursor:pointer; }
.tb-row:last-child { border-bottom:0; }
.tb-row:hover { background:rgba(23,84,110,.05); }
.tb-ref { font-family:ui-monospace,Menlo,Consolas,monospace; font-size:var(--fs-label); flex:none; }
.tb-lab { font-size:var(--fs-body); color:var(--ink-faint); flex:1; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; }
.tb-name { color:var(--ink-soft); font-weight:600; }
.tb-age { font-size:var(--fs-label); padding:2px 7px; border-radius:99px; flex:none;
  font-variant-numeric:tabular-nums; border:1px solid var(--line); color:var(--ink-faint); }
.tb-age.warn { color:#8A5D00; border-color:rgba(201,146,43,.45); background:rgba(201,146,43,.10); }
.tb-age.bad  { color:#8E2020; border-color:rgba(200,45,45,.40); background:rgba(200,45,45,.07); }
.tb-empty { padding:12px 14px; font-size:var(--fs-body); color:var(--ink-faint); }
.tb-more { padding:8px 14px; font-size:var(--fs-label); color:var(--ink-faint); border-top:1px solid var(--line); }
.tb-note { border-left:3px solid #C9922B; background:rgba(201,146,43,.07); padding:10px 12px;
  border-radius:6px; font-size:var(--fs-body); margin-top:14px; }
.tb-note.bad { border-left-color:#C82D2D; background:rgba(200,45,45,.06); }
.tb-foot { margin-top:10px; font-size:var(--fs-body); }
.tb-foot a { color:var(--brand); cursor:pointer; }

/* ---- the board's quiet half ------------------------------------------
   Everything below is true, standing and not a task: the queues that are
   clear, how the register is coming along, and the two conditions that hold
   while it is loaded. It is styled to be read second. */

.tb-allclear { border:1px dashed var(--line); border-radius:10px; padding:18px 16px;
  margin-top:16px; font-size:var(--fs-body); color:var(--ink-soft); text-align:center; }

.tb-clearline { margin-top:7px; font-size:var(--fs-label); color:var(--ink-faint);
  display:flex; flex-wrap:wrap; align-items:baseline; gap:5px; line-height:1.45; }
.tb-clearq { color:var(--ink-soft); cursor:pointer; border-bottom:1px dotted var(--line); }
.tb-clearq:hover { color:var(--brand); border-bottom-color:currentColor; }
.tb-clearline .tb-sep { color:var(--line); }

.tb-quiet { margin-top:7px; padding:6px 10px; border-left:3px solid var(--line);
  background:var(--panel-2, rgba(127,127,127,0.05)); border-radius:0 6px 6px 0;
  font-size:var(--fs-label); color:var(--ink-soft); line-height:1.4; }
.tb-quiet b { color:var(--ink); font-weight:600; }

/* The readiness strip: one line, and the five items when it is opened. */
.tb-ready { margin-top:8px; border:1px solid var(--line); border-radius:10px;
  background:var(--surface); }
.tb-ready > summary { display:flex; align-items:center; gap:12px; padding:6px 12px;
  cursor:pointer; list-style:none; font-size:var(--fs-body); color:var(--ink-soft); }
.tb-ready > summary::-webkit-details-marker { display:none; }
.tb-ready > summary::after { content:'\203A'; margin-left:auto; font-size:var(--fs-title);
  color:var(--ink-faint); transform:rotate(90deg); transition:transform .12s; }
.tb-ready[open] > summary::after { transform:rotate(-90deg); }
.tb-ready-pct { font-size:var(--fs-title); font-weight:650; color:var(--ink);
  font-variant-numeric:tabular-nums; }
.tb-ready-bar { flex:1; max-width:220px; height:5px; border-radius:3px;
  background:var(--line); overflow:hidden; }
.tb-ready-bar i { display:block; height:100%; background:var(--green, #2e9e5b); }
.tb-ready-count { color:var(--ink-faint); }
.tb-ready-items { padding:2px 14px 12px; border-top:1px solid var(--line); }
.tb-ready-item { display:flex; align-items:baseline; gap:10px; padding:6px 0;
  font-size:var(--fs-body); }
.tb-ready-item.done { color:var(--ink-faint); }
.tb-ready-tick { width:14px; color:var(--ink-faint); }
.tb-ready-item.done .tb-ready-tick { color:var(--green, #2e9e5b); }
.tb-ready-label { flex:1; }
.tb-ready-note { display:block; font-size:var(--fs-label); color:var(--ink-faint); }
.tb-ready-n { color:var(--ink-faint); font-size:var(--fs-body); white-space:nowrap;
  font-variant-numeric:tabular-nums; }

/* What this person finished. Same shape as the readiness items so the two
   quiet blocks read as one family rather than two visiting styles. */
.tb-done { margin-top:12px; border:1px solid var(--line); border-radius:10px;
  background:var(--surface); }
.tb-done-head { display:flex; align-items:baseline; justify-content:space-between;
  gap:10px; padding:10px 14px; border-bottom:1px solid var(--line); font-size:var(--fs-body); }
.tb-done-head .sub { color:var(--ink-faint); font-weight:400; }
.tb-done-items { padding:6px 14px 10px; }
.tb-done-item { display:flex; gap:10px; align-items:baseline; padding:3px 0; font-size:var(--fs-body); }
.tb-done-item .tick { color:var(--green, #2e9e5b); }
.tb-done-item .what { flex:1; }
.tb-done-item .when { color:var(--ink-faint); font-size:var(--fs-label); }

/* F-08 pressure body: the two directions are told apart at a glance, so a
   reading typed into the wrong half is visible rather than plausible. */
table.xl-grid th.xl-dir-up, table.xl-grid td.xl-dir-up { background: #F2F8FB; }
table.xl-grid th.xl-dir-down, table.xl-grid td.xl-dir-down { background: #FBF6F1; }
table.xl-grid td.xl-dir-up input { background: #F2F8FB; }
table.xl-grid td.xl-dir-down input { background: #FBF6F1; }
table.xl-grid thead th.xl-dir-up { background: #E4F0F6; }
table.xl-grid thead th.xl-dir-down { background: #F5EADF; }
.obs-body-note { font-size: var(--fs-body); color: var(--ink-faint); padding: 0 0 8px;
  line-height: 1.5; max-width: 780px; }
.obs-body-note b { color: var(--ink-soft); }
.obs-body-bad { border-left: 3px solid #C9922B; background: rgba(201,146,43,.08);
  padding: 8px 11px; border-radius: 5px; font-size: var(--fs-body); margin-bottom: 10px; }

/* §8.4 repeat counts - both sides, side by side, because which side was
   repeated is part of the record and not a detail. */
.obs-counts { display:flex; gap:16px; flex-wrap:wrap; align-items:flex-end; padding:2px 0 6px; }
.obs-count-field { display:flex; flex-direction:column; gap:4px; }
.obs-count-field label { margin:0; font-size:var(--fs-label); color:var(--ink-soft); }
.obs-count-field select { width:auto; min-width:150px; margin:0; font-size:var(--fs-body); }
.obs-count-field.obs-count-reason { flex:1; min-width:260px; }
.obs-count-field.obs-count-reason input { margin:0; font-size:var(--fs-body); }
.obs-count-fixed { font-size:var(--fs-body); padding:7px 10px; border:1px solid var(--line);
  border-radius:5px; background:#F6F9FA; color:var(--ink-soft); min-width:150px; }
.obs-count-hint { font-size:var(--fs-label); color:var(--ink-faint); padding:0 0 8px; }

.tpt-ro { font-size:var(--fs-body); color:var(--ink-faint); border-left:3px solid var(--line);
  padding:8px 12px; margin:14px 0; }
.tpt-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px 14px; margin-bottom:14px; }
.tpt-grid label { display:flex; flex-direction:column; gap:4px; font-size:var(--fs-label);
  color:var(--ink-soft); margin:0; }
.tpt-grid label.tpt-wide { grid-column:1 / -1; }
.tpt-grid input, .tpt-grid select { margin:0; font-size:var(--fs-body); }
.tpt-points-head { display:flex; align-items:center; justify-content:space-between;
  font-size:var(--fs-body); font-weight:600; margin:4px 0 6px; }
.cd-reg .tpt-prow input { margin:0; font-size:var(--fs-body); height:28px; }
@media (max-width:820px){ .tpt-grid { grid-template-columns:1fr 1fr; } }

/* F-08I weighing balance: three sub-tests, each its own table and result */
.wb-note { font-size:var(--fs-label); color:var(--ink-faint); line-height:1.5; padding:2px 0 10px; max-width:820px; }
.wb-sec { margin-bottom:18px; }
.wb-sec-head { font-size:var(--fs-body); font-weight:650; margin-bottom:6px; }
.wb-sec-note { font-size:var(--fs-label); color:var(--ink-faint); line-height:1.5; margin-top:5px; max-width:820px; }
table.wb-grid th.wb-first, table.wb-grid td.wb-first { min-width:150px; text-align:left; padding:6px 9px; }
table.wb-grid td { padding:6px 9px; font-size:var(--fs-body); font-variant-numeric:tabular-nums; }
table.wb-grid td.wb-series { font-family:ui-monospace,Menlo,Consolas,monospace; font-size:var(--fs-label);
  white-space:nowrap; color:var(--ink-soft); }
.wb-result { margin-top:7px; font-size:var(--fs-body); padding:7px 11px; border-left:3px solid var(--brand);
  background:rgba(23,84,110,.05); border-radius:0 5px 5px 0; }
.wb-result-note { display:block; font-size:var(--fs-label); color:var(--ink-faint); margin-top:3px; }

/* §10.2 - a reviewer correcting somebody else's record should be told so */
.qm-review-banner { border-left:3px solid var(--brand); background:rgba(23,84,110,.06);
  padding:11px 14px; border-radius:0 6px 6px 0; font-size:var(--fs-body); line-height:1.55;
  margin-bottom:12px; max-width:900px; }
.qm-review-sub { font-size:var(--fs-label); color:var(--ink-faint); margin-top:5px; }

/* ---- document editor ---- */
.de-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;
  flex-wrap:wrap;margin-bottom:12px}
.de-meta{display:flex;gap:22px;font-size:13px;color:var(--ink-faint);text-align:right}
.de-meta .k{display:block;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}
.de-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;
  border:1px solid var(--line);border-radius:8px;background:var(--surface);margin-bottom:8px;
  position:sticky;top:0;z-index:5}
.de-fmt{border:1px solid var(--line);background:none;border-radius:6px;width:30px;height:28px;
  cursor:pointer;font-size:13px;color:var(--ink)}
.de-fmt:hover{background:var(--line)}
.de-sep{width:1px;height:20px;background:var(--line)}
.de-count{font-size:12px;color:var(--ink-faint);margin-left:6px}
.de-note{font-size:12.5px;color:var(--ink-faint)}
.de-note-line{font-size:12px;color:var(--ink-faint);margin:0 0 12px 2px}
.de-body{padding:14px 18px}
.de-block{display:grid;grid-template-columns:184px 1fr;gap:14px;padding:7px 0;
  border-bottom:1px solid var(--line-soft,rgba(0,0,0,.05))}
.de-block:last-child{border-bottom:none}
.de-gutter{display:flex;flex-wrap:wrap;gap:4px;align-items:flex-start;padding-top:2px}
.de-kind{font-size:11.5px;padding:2px 4px;max-width:96px}
.de-kind-ro{font-size:11px;color:var(--ink-faint);font-family:ui-monospace,monospace}
.de-num{width:58px;font-size:11.5px;padding:2px 5px}
.de-ops{display:flex;gap:2px;width:100%}
.de-mini{border:1px solid var(--line);background:none;border-radius:4px;min-width:22px;height:22px;
  cursor:pointer;font-size:11px;color:var(--ink-faint);padding:0 4px}
.de-mini:hover{background:var(--line);color:var(--ink)}
.de-mini.de-del:hover{background:var(--danger);color:#fff;border-color:var(--danger)}
.de-text{border:1px solid transparent;border-radius:5px;padding:5px 8px;min-height:24px;
  font-size:14px;line-height:1.55;outline:none}
.de-text:focus{border-color:var(--brand);background:var(--surface)}
.de-text:hover{border-color:var(--line)}
.de-heading{font-weight:650;font-size:15.5px;color:var(--brand)}
.de-bullet{list-style:none}
.de-bullet:before{content:"• ";color:var(--ink-faint)}
.de-numbered:before{content:"1. ";color:var(--ink-faint)}
.de-note-blk,.de-note{font-style:italic}
.de-sugg .de-text{background:#fff8c4;border-color:#e3d27a}
/* the sheet */
.ds-wrap{background:var(--line);padding:18px 0;display:flex;justify-content:center}
.ds{background:#fff;width:186mm;max-width:100%;padding:14mm 12.7mm;box-shadow:0 1px 6px rgba(0,0,0,.16);
  font-family:Carlito,Calibri,"Segoe UI",system-ui,sans-serif;font-size:var(--fs-body);line-height:1.45;color:#111;
  outline:none}
.ds>*{margin:0 0 6px}
.ds .ds-paragraph{text-align:justify}
.ds .ds-heading{font-size:var(--fs-body);font-weight:700;color:#0070C0;margin:10px 0 5px}
.ds .ds-heading[data-number]:before{content:attr(data-number) "  ";color:#339966;font-weight:700}
.ds .ds-note{font-style:italic;color:#33475b}
.ds .ds-bullet{padding-left:16px;position:relative}
.ds .ds-bullet:before{content:"•";position:absolute;left:4px;color:#555}
.ds .ds-numbered{padding-left:18px}
.ds .sug{background:#fff8c4}
.ds .pb{border-top:2px dashed #c8a13a;padding-top:9px;margin-top:14px;position:relative}
.ds .pb:before{content:"new page";position:absolute;top:-8px;right:0;font-size:var(--fs-label);
  letter-spacing:.08em;text-transform:uppercase;color:#c8a13a;background:#fff;padding:0 5px}
.ds table.ds-t{border-collapse:collapse;width:100%;margin:6px 0 10px;table-layout:fixed}
.ds table.ds-t td{border:1px solid #9aa7b1;padding:2px 4px;vertical-align:top;font-size:var(--fs-label);
  word-wrap:break-word;position:relative}
.ds table.ds-t tr:first-child td{background:#EAF1F6;font-weight:600;color:#1F4E6B}
.ds-grip{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:5}
.ds-grip:hover{background:#0070C0;opacity:.35}
.ds-bar2{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 14px;
  border:1px solid var(--line);border-top:none;background:var(--surface)}
.ds-bar2 button,.ds-bar2 select{border:1px solid var(--line);background:none;border-radius:6px;
  height:28px;font-size:var(--fs-body);padding:0 8px;cursor:pointer;color:var(--ink)}
.ds-bar2 button:hover{background:var(--line)}
.ds-bar2 button.on{background:var(--brand);color:#fff;border-color:var(--brand)}

/* The editor shows the page, not a form. Gurudeep, 17.08.2026: "i see issue
   when we will be going to make any changes without knowing the actual
   formatting." So the text column is set to the same measure, the same
   family and the same colours the PDF uses - 178mm of Calibri at the printed
   size, scaled up for the screen - and a clause that starts a new page shows
   its banner. What you type is what comes out. */
.de-page .de-block{grid-template-columns:150px 1fr;align-items:start}
.de-page .de-text,.de-page .de-table{
  font-family:Carlito,Calibri,"Segoe UI",system-ui,sans-serif;
  max-width:660px;background:var(--surface);}
.de-page .de-paragraph{text-align:justify;font-size:14px;line-height:1.5;color:#111}
.de-page .de-heading{font-size:16px;font-weight:700;color:#0070C0;letter-spacing:0}
.de-page .de-note-blk{font-style:italic;color:#33475b;font-size:13.5px}
.de-page .de-bullet,.de-page .de-numbered{font-size:14px;line-height:1.5;color:#111}
.de-page .de-table td{font-size:12px}
.de-page .de-table tr:first-child td{background:#EAF1F6;font-weight:600;color:#1F4E6B}
.de-banner{grid-column:1/-1;display:flex;align-items:stretch;border:1px solid #BFD3C4;
  border-radius:4px;overflow:hidden;margin:14px 0 4px;background:#fff}
.de-banner .b-code{background:#EDF5EF;color:#339966;font-weight:700;font-size:15px;
  padding:8px 12px;display:flex;align-items:center;min-width:104px;justify-content:center}
.de-banner .b-title{flex:1;text-align:center;font-weight:700;font-size:15px;
  padding:8px 10px;display:flex;flex-direction:column;justify-content:center;color:#111}
.de-banner .b-grp{font-weight:400;font-style:italic;font-size:12px;color:#339966}
.de-banner .b-ctl{border-left:1px solid #BFD3C4;background:#EDF5EF;color:#339966;
  font-size:10.5px;padding:6px 10px;display:flex;flex-direction:column;justify-content:center;
  min-width:150px}
.de-pagemark{grid-column:1/-1;font-size:11px;color:var(--ink-faint);margin:2px 0 0 2px}

.de-table{border-collapse:collapse;width:100%;font-size:13px}
.de-table td{border:1px solid var(--line);padding:5px 7px;min-width:60px;outline:none}
.de-table td:focus{background:var(--surface);box-shadow:inset 0 0 0 2px var(--brand)}
.de-tbtns{margin-top:5px;display:flex;gap:4px}
@media (max-width:860px){.de-block{grid-template-columns:1fr}}

/* THE CONTRACT REVIEW'S ASSIGNMENT BLOCK - one row per discipline on the SRF.
   Laid out rather than left to wrap: the discipline, its count, the engineer
   and the note read as one line, and a reviewer scanning three of them is
   comparing the same thing in the same place each time. */
.rv-disc-block { margin-top: 8px; border: 1px solid var(--line); border-radius: 6px;
  overflow: hidden; }
.rv-disc-row { display: flex; align-items: center; gap: 10px; padding: 7px 10px;
  border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.rv-disc-row:last-child { border-bottom: 0; }
.rv-disc-name { min-width: 190px; font-weight: 600; }
.rv-disc-n { color: var(--ink-faint); font-weight: 400; font-family: var(--mono); }
.rv-disc-row select { width: auto; min-width: 190px; margin: 0; }
.rv-disc-note { color: var(--ink-faint); font-size: var(--fs-label); }
