kcolbchain  /  brand  /  components

tables

No zebra stripes. The hairline between rows is enough; alternating fills add noise without information. Numbers are right-aligned and tabular; column heads are uppercase and small.

data

time coin source price deviation severity
14:21:03 USDC binance $0.9941 -59.0 bps warn
14:20:33 USDT coinbase $0.9802 -198.0 bps critical
14:20:03 DAI curve $0.9996 -4.0 bps pegged
<table class="data">
  <thead><tr>
    <th>time</th><th>coin</th><th>source</th>
    <th style="text-align:right">price</th>
    <th style="text-align:right">deviation</th>
    <th>severity</th>
  </tr></thead>
  <tbody>
    <tr>
      <td>14:21:03</td>
      <td class="fg">USDC</td>
      <td>binance</td>
      <td class="num">$0.9941</td>
      <td class="num warn">-59.0 bps</td>
      <td class="warn">warn</td>
    </tr>
  </tbody>
</table>

css

table.data {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font);
  font-size: var(--t-2);
  color: var(--fg);
}
table.data th {
  font-size: var(--t-1); font-weight: 500;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--fg-faint); text-align: left;
  padding: var(--s-2) var(--s-3);
  border-bottom: 1px solid var(--line);
}
table.data td {
  padding: var(--s-2) var(--s-3);
  border-bottom: 1px solid var(--line);
  color: var(--fg-muted);
}
table.data td.fg  { color: var(--fg); }
table.data td.num { text-align: right; font-variant-numeric: tabular-nums; }