table {
  display: block;
  max-width: 100%;
  margin: 0 auto 1rem;
  border-collapse: collapse;
  border-spacing: 0;
  inline-size: fit-content;
  overflow-x: auto;
}

.table-responsive {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  overflow-x: auto;
}

.table-responsive table {
  display: table;
}

caption {
  margin-top: 0.5rem;
  caption-side: bottom;
  color: var(--muted);
}

tbody > tr:nth-child(2n) {
  background: var(--bg-muted);
}

th, td {
  padding: 0.375rem 0.8125rem;
  border: 1px solid var(--bd-muted);
}

th {
  border-color: var(--bg-contrast);
  background: var(--bg-subtle);
  font-weight: bold;
}

table.center td, th {
  text-align: center;
}
