/* Turnout Model — read-only reference page, Compact Detail shape (880px).
   Page head, section eyebrows and the 880px column come from
   registration_tracker.css (.rt-detail, .rt-section). Everything here is
   the archetype's own vocabulary: 180px label / 1fr value rows with mono
   uppercase labels, one grouped table per vertical, mono tabular numbers.
   Tokens from design_tokens.css. */

/* The opening prose runs straight under the page head; the first rule is the section above it. */
.tm-lede { border-top: none; margin-top: 4px; padding-top: 0; }

/* Prose. One measure, one rhythm. */
.tm-prose { font-size: 13.5px; line-height: 1.6; color: var(--fg); max-width: 68ch; margin: 0; }
.tm-prose + .tm-prose { margin-top: 10px; }

/* The formula: a mono block on the secondary surface. */
.tm-formula { font-family: var(--font-mono); font-size: 12.5px; line-height: 1.7; color: var(--fg);
  background: var(--surface-2); border: 1px solid var(--border); border-radius: 4px;
  padding: 10px 14px; margin: 0 0 12px; max-width: 68ch; overflow-x: auto; }
.tm-formula sup { font-size: 10px; }

/* Definition rows — the Compact Detail row: 180px label column, hairline dividers. */
.tm-rows { display: grid; grid-template-columns: 180px minmax(0, 1fr); }
.tm-row { display: contents; }
.tm-row-l, .tm-row-v { padding: 8px 0; border-bottom: 1px solid var(--border-faint); }
.tm-row:last-child .tm-row-l, .tm-row:last-child .tm-row-v { border-bottom: none; }
.tm-row-l { font-family: var(--font-mono); font-size: 10px; font-weight: 600; text-transform: uppercase;
  letter-spacing: .08em; color: var(--color-slate-500); padding-top: 11px; padding-right: 18px; }
.tm-row-v { font-size: 13.5px; line-height: 1.55; color: var(--fg); }
.tm-row-v code { font-family: var(--font-mono); font-size: 12px; }

/* Per-vertical coefficient table: one grouped table, three aligned columns.
   Group bands are the index table's, made static (no pointer, no stickiness). */
.tm-terms { table-layout: fixed; border: 1px solid var(--border); border-radius: 4px; overflow: hidden; }
.tm-terms col.tm-col-term { width: auto; }
.tm-terms col.tm-col-coef { width: 130px; }
.tm-terms col.tm-col-rate { width: 170px; }
.tm-terms th, .tm-terms td { padding: 7px 12px; }
.tm-terms td { white-space: normal; }
.tm-terms .tm-num { text-align: right; font-family: var(--font-mono); font-size: 12.5px; font-variant-numeric: tabular-nums; }
.tm-terms th.tm-num { font-family: var(--font-mono); }
.tm-terms tr.cpv1-group-band td { cursor: default; position: static; }
.tm-terms tr.cpv1-group-band td:hover { background: var(--color-slate-100); }
.tm-terms .tm-muted { color: var(--color-slate-400); }
.tm-terms tbody tr:last-child td { border-bottom: none; }
.tm-baseline { font-size: 12.5px; color: var(--fg-muted); margin: 0 0 10px; }
