/* The senior-TSE answer shape (js/mg-report-view.js). Workspace tokens only. */
.mr{margin:.2rem 0 .6rem;min-width:0;container:mr / inline-size}
.mr-h{font-size:1rem;font-weight:650;margin:1.25rem 0 .45rem}
.mr-list{margin:.2rem 0 0 1.1rem;padding:0}
.mr-list li{margin:.22rem 0;line-height:1.55}
.mr-k{font-weight:650}
.mr-line{margin:.45rem 0;line-height:1.55}
.mr-basis{color:var(--ink-dim);font-size:.85em}
.mono{font-variant-numeric:tabular-nums}

/* Tables: scroll inside their own box on a wide screen if they must, never the page. */
.mr-tablewrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:10px}
.mr-table{width:100%;border-collapse:collapse;font-size:.92rem}
.mr-table th,.mr-table td{padding:.45rem .6rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.mr-table tbody tr:last-child td{border-bottom:0}
.mr-table th{font-size:.76rem;font-weight:650;color:var(--ink-dim);white-space:nowrap}
.mr-pins td:nth-child(1),.mr-pins td:nth-child(2),.mr-pins td:nth-child(4){white-space:nowrap}
.mr-crit td:nth-child(2){white-space:nowrap}
.mr-th{display:none}

/* How I read it: three short labelled lists. */
.mr-read{margin:0;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.2rem .8rem}
.mr-read dt{font-weight:650;color:var(--ink-dim);padding-top:.22rem}
.mr-read dd{margin:0}
.mr-read .mr-list{margin-left:1rem}

/* What I would do: numbered, the reason under each step. */
.mr-steps{margin:.2rem 0 0;padding-left:1.4rem}
.mr-steps>li{margin:.5rem 0;padding-left:.15rem}
.mr-step{margin:0;font-weight:560;line-height:1.5}
.mr-why{margin:.15rem 0 0;color:var(--ink-dim);line-height:1.5}
/* "Do not replace X before Y": a gate, not a tip. */
.mr-steps>li.mr-gate{list-style-position:outside;border-left:3px solid var(--bad);padding:.35rem .6rem;border-radius:0 8px 8px 0;background:color-mix(in srgb,var(--bad) 7%,transparent)}

/* If → Then */
.mr-decision{list-style:none;margin:.2rem 0 0;padding:0;display:grid;gap:.45rem}
.mr-decision li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:.2rem .8rem;padding:.5rem .65rem;border:1px solid var(--line);border-radius:10px}
.mr-then{display:flex;gap:.35rem;align-items:baseline}
.mr-then>.mr-arrow{color:var(--accent);font-weight:700}
.mr-conclusion{margin:.2rem 0;padding:.55rem .7rem;border-left:4px solid var(--accent);border-radius:0 8px 8px 0;line-height:1.55}

.mr-questions{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0 .2rem}
.mr-questions .mg-qchip{white-space:normal;text-align:left;line-height:1.35}

/* Phone and narrow columns: tables become stacked, labelled rows; no page scroll. */
@container mr (max-width:640px){
  .mr-tablewrap{border:0;overflow:visible}
  .mr-table,.mr-table tbody,.mr-table tr,.mr-table td{display:block;width:auto}
  .mr-table thead{display:none}
  .mr-table tr{border:1px solid var(--line);border-radius:10px;padding:.35rem .6rem;margin:0 0 .5rem}
  .mr-table td{border:0;padding:.18rem 0;display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:.5rem;white-space:normal!important;overflow-wrap:anywhere}
  .mr-th{display:block;font-size:.76rem;font-weight:650;color:var(--ink-dim);padding-top:.1rem}
  .mr-table td.mr-empty{display:none}
  .mr-decision li{grid-template-columns:minmax(0,1fr)}
  .mr-read{grid-template-columns:minmax(0,1fr)}
  .mr-read dt{padding-top:.4rem}
}

/* ---- the gold-answer elements ---- */
/* "Model — complaint": the case's title line above the answer. */
.mr-title{margin:.6rem 0 .2rem;font-size:.8rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim)}
/* The release verdict (HV cases): a banner the technician cannot read past. */
.mr-release{margin:.5rem 0 .6rem;padding:.6rem .8rem;border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:10px}
.mr-release[data-verdict^=do_not_release],.mr-release[data-verdict=hold]{border-color:var(--bad);border-left-color:var(--bad);background:color-mix(in srgb,var(--bad) 9%,transparent)}
.mr-release[data-verdict^=do_not_release] strong,.mr-release[data-verdict=hold] strong{color:var(--bad)}
.mr-release[data-verdict=release_with_conditions],.mr-release[data-verdict=release]{border-left-color:var(--good,var(--accent))}
.mr-release-head{margin:0;display:flex;gap:.5rem;align-items:baseline;font-size:1.02rem}
.mr-release-why{margin:.3rem 0 0;line-height:1.5}
/* General workshop guidance: visibly not an MG specification. */
.mr-gen{display:inline-block;font-size:.68rem;font-weight:600;letter-spacing:.02em;padding:.04rem .45rem;border:1px dashed var(--ink-dim);border-radius:999px;color:var(--ink-dim);vertical-align:.1em;white-space:nowrap}
.mr-table tr.mr-is-gen td{color:var(--ink-dim)}
.mr-table tr.mr-is-gen td strong{font-weight:600}
/* Fault codes: the condition and the reaction on their own lines. */
.mr-cond,.mr-react{display:block;line-height:1.45}
.mr-react{margin-top:.2rem}
.mr-status{display:block;font-family:inherit;font-size:.76rem;color:var(--ink-dim);white-space:nowrap}
.mr-dtc td:first-child{white-space:nowrap}
.mr-dtc th,.mr-meas th{white-space:normal}
.mr-meas td:nth-child(2){white-space:nowrap}
.mr-dtc{table-layout:fixed}
.mr-dtc th:nth-child(1){width:8.2rem}.mr-dtc th:nth-child(2){width:21%}.mr-dtc th:nth-child(4){width:19%}.mr-dtc th:nth-child(5){width:6.4rem}
/* Where the sources differ: both values, the one that applies marked. */
.mr-conflict{margin:.3rem 0 .6rem;padding:.5rem .7rem;border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:0 10px 10px 0}
.mr-conflict-subject{margin:0 0 .3rem;font-weight:650}
.mr-conflict ul{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.mr-conflict li{line-height:1.5;opacity:.75}
.mr-conflict li.mr-applies{opacity:1}
.mr-conflict-label{color:var(--ink-dim)}
.mr-applies-tag{font-size:.78rem;font-weight:650;color:var(--good,var(--accent));white-space:nowrap}
/* Replacement decision tree. */
.mr-tree{list-style:none;margin:.2rem 0 0;padding:0;counter-reset:mrtree;display:grid;gap:.4rem}
.mr-tree li{counter-increment:mrtree;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:.2rem .8rem;padding:.5rem .65rem .5rem 2.1rem;border:1px solid var(--line);border-radius:10px;position:relative}
.mr-tree li::before{content:counter(mrtree);position:absolute;left:.65rem;top:.5rem;font-weight:700;color:var(--ink-dim);font-variant-numeric:tabular-nums}
/* Sources at the end. */
.mr-sources{margin:.2rem 0 0;padding-left:1.4rem;display:grid;gap:.3rem}
.mr-sources li{line-height:1.5}
.mr-src-title{font-weight:600}
.mr-src-rev{color:var(--ink-dim);font-size:.85em}
@container mr (max-width:640px){
  .mr-tree li{grid-template-columns:minmax(0,1fr)}
  .mr-dtc td:first-child{white-space:normal}
}

/* ---- the gold follow-up turn and G2/G6 (AQF-38/39 gold_check) ---- */
.mr-followup-mark{color:var(--accent)}
/* A reading against its expected value: pass / abnormal / recorded. */
.mr-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.74rem;font-weight:700;letter-spacing:.02em;padding:.08rem .5rem;border-radius:999px;border:1px solid var(--line);white-space:nowrap}
.mr-badge[data-ok=pass]{color:var(--good,var(--accent));border-color:var(--good,var(--accent));background:color-mix(in srgb,var(--good,var(--accent)) 10%,transparent)}
.mr-badge[data-ok=pass]::before{content:"✓"}
.mr-badge[data-ok=fail]{color:var(--bad);border-color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,transparent)}
.mr-badge[data-ok=fail]::before{content:"✕"}
.mr-badge[data-ok=recorded]{color:var(--ink-dim)}
.mr-readings tr[data-ok=fail] td{background:color-mix(in srgb,var(--bad) 6%,transparent)}
.mr-readings td:nth-child(2){white-space:nowrap}
/* The subcode check and the key question: one question, stated plainly. */
.mr-subcode,.mr-keyq{margin:.6rem 0;padding:.55rem .75rem;border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:0 10px 10px 0}
.mr-subcode p{margin:0;line-height:1.5}
.mr-subcode .mono{white-space:nowrap}
.mr-subcode .mr-questions{margin:.45rem 0 0}
.mr-correction{margin:.5rem 0;padding:.45rem .7rem;border-left:4px solid var(--accent);border-radius:0 8px 8px 0;line-height:1.5}
.mr-guidance{margin:.6rem 0;display:grid;gap:.3rem}
.mr-guidance p{margin:0;line-height:1.5;color:var(--ink-dim)}
/* The authorisation: a decision, conditional by construction. */
.mr-authorize{margin:.9rem 0 .4rem;padding:.6rem .8rem;border:1px solid var(--accent);border-left:5px solid var(--accent);border-radius:10px;background:color-mix(in srgb,var(--accent) 7%,transparent)}
.mr-authorize p{margin:0;line-height:1.55}
.mr-auth-k{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-right:.35rem}
/* Post-repair verification checklist. */
.mr-verify{list-style:none;margin:.2rem 0 0;padding:0;display:grid;gap:.3rem}
.mr-verify label{display:flex;gap:.5rem;align-items:flex-start;justify-content:flex-start;text-align:left;line-height:1.45;cursor:pointer;margin:0;font-weight:inherit}
.mr-verify input{flex:none;width:auto;height:auto;margin:.2rem 0 0;min-width:1.05rem;min-height:1.05rem;padding:0}
.mr-ask-k{margin:1rem 0 .2rem;font-size:.85rem}
.mr-interp td:nth-child(3),.mr-thr td:nth-child(2){white-space:nowrap}
/* The procedure card (AQF-44 G8/G9). */
.mr-proc{margin:.7rem 0 1rem;padding:.85rem 1rem;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;background:var(--surface);min-width:0;overflow-wrap:anywhere}
.mr-proc-k{margin:0;font:650 .7rem/1.3 var(--font-sans,inherit);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.mr-proc-title{margin:.15rem 0 .35rem;font-size:1.08rem;line-height:1.35}
.mr-proc-one{margin:0 0 .7rem;font-size:1.02rem;line-height:1.55;font-weight:600}
.mr-proc .mr-k{margin:.85rem 0 .3rem;font-size:.85rem}
.mr-proc-pre{margin:.2rem 0 0}
.mr-proc-when{margin:.1rem 0}
.mr-proc-whenk,.mr-scope-k,.mr-routine-k,.mr-k-inline{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim);margin-right:.3rem}
.mr-proc-list{margin:.2rem 0 0;padding-left:1.15rem}
.mr-proc-list li{margin:.15rem 0;line-height:1.5}
.mr-proc-steps{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.mr-proc-step{display:grid;grid-template-columns:1.9rem minmax(0,1fr);gap:.55rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:10px}
.mr-proc-n{display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--bg-2);border:1px solid var(--line-strong);font:650 .76rem/1 var(--font-sans,inherit)}
.mr-proc-body p{margin:0}
.mr-proc-act{line-height:1.5}
.mr-proc-detail,.mr-proc-exp{margin-top:.25rem !important;font-size:.88rem;color:var(--ink-dim)}
.mr-proc-step.is-routine{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);background:color-mix(in srgb,var(--accent-soft) 40%,var(--surface))}
.mr-proc-step.is-routine .mr-proc-n{background:var(--accent);color:var(--accent-ink,#fff);border-color:transparent}
.mr-routine{margin-top:.4rem !important;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .35rem}
.mr-path{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.25rem}
.mr-path-step{font:650 .86rem/1.3 var(--font-mono,ui-monospace,monospace);padding:.15rem .5rem;border:1px solid var(--accent);border-radius:6px;background:var(--surface);color:var(--ink)}
.mr-path-sep{color:var(--accent);font-weight:700}
.mr-tag{display:inline-block;font-size:.66rem;font-weight:650;letter-spacing:.02em;padding:.04rem .45rem;border-radius:999px;vertical-align:.1em;white-space:nowrap;margin-left:.15rem}
.mr-tag-mg{border:1px solid var(--accent);color:var(--accent)}
.mr-tag-prep{border:1px solid var(--line-strong);color:var(--ink-dim);background:var(--bg-2)}
/* External web evidence: never styled like an MG source (no accent, dashed, its own icon). */
.mr-ext{display:inline-block;font-size:.66rem;font-weight:650;letter-spacing:.02em;padding:.04rem .5rem;border:1px dashed var(--warn,#a86b00);border-radius:4px;color:var(--ink-dim);background:transparent;vertical-align:.1em;white-space:nowrap;margin-left:.15rem}
.mr-ext::before{content:"↗ ";color:var(--warn,#a86b00)}
.mr-proc-verify{margin-top:.1rem}
.mr-cap{margin-top:.4rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:10px;background:var(--bg-2)}
.mr-cap .mr-k{margin-top:0}
.mr-cap p{margin:.15rem 0}
.mr-cap-val{font:700 1.25rem/1.2 var(--font-mono,ui-monospace,monospace);margin-right:.35rem}
.mr-cap-label{color:var(--ink-dim)}
.mr-cap-scope{font-size:.9rem}
.mr-cap-conflict{background:var(--surface)}
.mr-cap-conflict li{opacity:1}
.mr-cap-ext{list-style:none;margin:.45rem 0 0;padding:.4rem 0 0;border-top:1px dashed var(--line);display:grid;gap:.3rem}
.mr-cap-ext li{line-height:1.5}
.mr-ext-ctx{color:var(--ink-dim);font-size:.88rem}
.mr-ext-link{font-size:.82rem;color:var(--ink-dim)}
.mr-cap-txt{font-size:1rem}
.mr-conflict-res{margin:.35rem 0 0;font-size:.88rem;color:var(--ink-dim)}
.mr-conflict-item{font-weight:500;color:var(--ink-dim)}
/* 1 Nov (live G8): a verification item keeps its MG-manual tag and page on its own line's end. */
.mr-proc-verify li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .45rem}
.mr-proc-verify li > label{flex:0 1 auto}
/* R51 (1 Nov): the asked value leads the procedure card, the steps follow. */
.mr-cap.mr-cap-first{margin:.7rem 0 .9rem}
/* 1 Nov (benchmark, warning-photo / HV): "do not drive" is a hold, in the HV / do-not-release red;
   "may be driven" is neutral (no green: emerald is the seal's). A hold leads the answer, above the seal. */
.mr-release[data-verdict=do_not_drive]{border-color:var(--bad);border-left-color:var(--bad);background:color-mix(in srgb,var(--bad) 9%,transparent)}
.mr-release[data-verdict=do_not_drive] strong{color:var(--bad)}
.mr-release[data-verdict=may_drive]{border-left-color:var(--line-strong)}
.mr-release.ux-verdict-first{margin:.2rem 0 .7rem;padding:.75rem .95rem}
.mr-release.ux-verdict-first .mr-release-head{font-size:1.18rem;line-height:1.3}
.mr-release.ux-verdict-first .mr-release-why{font-size:1rem}
