/* Shared canonical table styles (all pages) */

.tab-section {
  position: relative;
  overflow: visible;
}

:root table,
:root .tab-section table,
:root table.table {
  width: 100% !important;
  background: var(--surface) !important;
  border: 1.5px solid var(--table-outline) !important;
  border-radius: var(--control-radius) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: var(--space-xs) 0 var(--space-md) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.1);
  overflow: hidden !important;
  position: relative;
  z-index: 1;
}

:root table thead th {
  background: var(--table-head-bg);
  color: var(--table-head-text, #fff);
  text-align: left;
  font-weight: 600;
  padding: var(--space-xs) var(--space-sm) !important;
  border-bottom: 1px solid var(--table-border) !important;
  border-right: 1px solid var(--table-col-border) !important;
  font-size: .875rem !important;
  vertical-align: middle;
}

:root table thead th:last-child {
  border-right: none !important;
}

:root table tbody tr:nth-child(even) {
  background: var(--table-row-alt);
}

:root table tbody td {
  padding: var(--space-xs) var(--space-sm) !important;
  color: var(--text-900);
  border-right: 1px solid var(--table-col-border) !important;
  border-bottom: 1px solid var(--table-border) !important;
  font-size: .875rem !important;
  vertical-align: middle;
}

:root table tbody td:last-child {
  border-right: none !important;
}

:root table tbody tr:last-child td {
  border-bottom: none !important;
}

:root table tfoot td {
  background: var(--muted);
  border-top: 1px solid var(--table-border) !important;
  border-right: 1px solid var(--table-col-border) !important;
  padding: var(--control-pad-y) var(--space-sm) !important;
}

:root table tfoot td:last-child {
  border-right: none !important;
}

:root table thead tr:first-child th:first-child {
  border-top-left-radius: calc(var(--control-radius) - 2px);
}

:root table thead tr:first-child th:last-child {
  border-top-right-radius: calc(var(--control-radius) - 2px);
}

:root table tbody tr:last-child td:first-child {
  border-bottom-left-radius: calc(var(--control-radius) - 2px);
}

:root table tbody tr:last-child td:last-child {
  border-bottom-right-radius: calc(var(--control-radius) - 2px);
}

:root table:not(:has(tbody tr)) thead tr:first-child th:first-child {
  border-bottom-left-radius: calc(var(--control-radius) - 2px);
}

:root table:not(:has(tbody tr)) thead tr:first-child th:last-child {
  border-bottom-right-radius: calc(var(--control-radius) - 2px);
}

html[data-theme="dark"] table,
html[data-theme="dark"] .tab-section table {
  box-shadow: 0 1px 4px rgba(0,0,0,.4);
}

.tab-section table + table {
  margin-top: 1rem;
}
