/* table — data-table
   Ported from design-export/base.css (Phase 3 Stage 2 split).
   No literal colour, no literal font family: every value is a token. */

/* Table. The toolkit has no general table — this vocabulary is ours.
   Numbers right-aligned and tabular; one hairline per row; no zebra striping,
   which would fight the left-edge colour system. */
.data-table-wrap { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; }
.data-table { width: 100%; border-collapse: collapse; text-align: left; }
.data-table thead tr { border-bottom: 2px solid var(--text-heading); }
.data-table th {
  font-family: var(--font-display); font-weight: var(--display-weight);
  font-size: 1.3125rem; color: var(--text-heading); padding: 1rem 1.4rem;
}
.data-table td { font-size: var(--fs-min); padding: 1rem 1.4rem; color: var(--muted); vertical-align: top; }
.data-table td:first-child { color: var(--ink); }
.data-table tbody tr { border-bottom: 1px solid var(--line); }
.data-table .is-numeric { text-align: right; font-variant-numeric: tabular-nums; }
.data-table th.is-numeric { text-align: right; }
.data-table .is-total { color: var(--text-heading); font-weight: 700; }
@media (max-width: 40em) {
  .data-table thead { display: none; }
  .data-table tr { display: block; border-bottom: 1px solid var(--line); padding-block: .6rem; }
  .data-table td { display: block; width: 100%; padding: .25rem 1.1rem; }
  .data-table td::before { content: attr(data-label) " "; font-weight: 700; color: var(--text-heading); }
  .data-table .is-numeric { text-align: left; }
}
