.table-wrap { overflow-x: auto; }
table,
.table { width: 100%; border-collapse: collapse; font-size: 1rem; }
table th, table td,
.table th, .table td { padding: .6em .9em; text-align: left; border-bottom: 1px solid var(--m-border); }
table thead th,
.table thead th {
  font-size: .9375rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--m-fg-3);
  background: var(--m-surface);
}
table tbody tr,
.table tbody tr { transition: background var(--m-dur); }
table tbody tr:hover,
.table tbody tr:hover { background: var(--m-surface); }
table tr.selected,
.table tr.selected { background: var(--m-primary-soft); }
table.striped tbody tr:nth-child(even),
.table.striped tbody tr:nth-child(even) { background: var(--m-surface); }
table.bordered th, table.bordered td,
.table.bordered th, .table.bordered td { border: 1px solid var(--m-border); }
table caption,
.table caption { caption-side: bottom; padding: .55em 0; font-size: 1rem; color: var(--m-fg-3); text-align: left; }
table.sticky thead th,
.table.sticky thead th { position: sticky; top: 0; z-index: 1; }
table.compact th, table.compact td,
.table.compact th, .table.compact td { padding: .35em .6em; }
th.sorted { cursor: pointer; }
th.sorted::after {
  content: "";
  display: inline-block;
  margin-left: .4em;
  border: .28em solid transparent;
  vertical-align: .12em;
}
th.sorted.asc::after { border-bottom-color: currentColor; border-top-width: 0; }
th.sorted.desc::after { border-top-color: currentColor; border-bottom-width: 0; vertical-align: 0; }
