:where(.table) {
  caption-side: bottom;
  font-size: var(--text-sm);
  inline-size: var(--size-full);

  caption {
    color: var(--color-text-subtle);
    margin-block-start: var(--size-4);
  }

  thead {
    color: var(--color-text);
  }

  tbody tr {
    border-block-start-width: var(--border);
  }

  tr:hover {
    background-color: rgb(from var(--color-border-light) r g b / .5);
  }

  th {
    font-weight: var(--font-medium);
    text-align: start;
  }

  th, td {
    padding: var(--size-2);
  }

  tfoot {
    background-color: rgb(from var(--color-border-light) r g b / .5);
    border-block-start-width: var(--border);
    font-weight: var(--font-medium);
  }
}

/* The owner's cross-firm saldos page. A firm in the red is still being served (CREDITS_ENFORCED was
   unset in production when the owner sat at -$25.639,74), so a negative balance has to be findable
   by scanning the column, not by reading each number. */
.saldos__balance {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

.saldos__balance--negative {
  color: var(--color-red-600, #b91c1c);
}

.saldos__shared {
  display: block;
  font-size: 0.8rem;
  opacity: 0.75;
}

.saldos__section {
  margin-block: 1.5rem;
}

.saldos__command {
  overflow-x: auto;
}

.saldos__movements {
  font-variant-numeric: tabular-nums;
}
