/* The existing palette remains limited to explicitly marked editorial tables. */
:is(.aio-editorial-table, .sociallyin-forge-table) {
  margin: 2rem 0;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  border: 1px solid #d7e3ef;
  border-radius: 10px;
  background: #fff;
  color: #282a2c;
  -webkit-overflow-scrolling: touch;
}
:is(.aio-editorial-table, .sociallyin-forge-table):focus-visible {
  outline: 3px solid #0070cd;
  outline-offset: 4px;
}
:is(.aio-editorial-table, .sociallyin-forge-table) table {
  width: 100%;
  min-width: 36rem;
  margin: 0;
  border-collapse: collapse;
  table-layout: auto;
  font-family: inherit;
  font-size: 0.95rem;
  line-height: 1.55;
}
:is(.aio-editorial-table, .sociallyin-forge-table).aio-table-wide table {
  min-width: 64rem;
}
:is(.aio-editorial-table, .sociallyin-forge-table) :is(th, td) {
  padding: 16px 18px;
  text-align: left;
  vertical-align: top;
  border: 0;
  border-bottom: 1px solid #d7e3ef;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
:is(.aio-editorial-table, .sociallyin-forge-table) thead th {
  color: #fff;
  background: #003d72;
  border-bottom: 3px solid #f8d53a;
  font-weight: 600;
}
:is(.aio-editorial-table, .sociallyin-forge-table) tbody tr:nth-child(even) {
  background: #f4f7fc;
}
:is(.aio-editorial-table, .sociallyin-forge-table) tbody tr:last-child > * {
  border-bottom: 0;
}
:is(.aio-editorial-table, .sociallyin-forge-table) a {
  color: #005aa5;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
:is(.aio-editorial-table, .sociallyin-forge-table) :is(code, .aio-table-url) {
  overflow-wrap: anywhere;
}
:is(.aio-editorial-table, .sociallyin-forge-table) .aio-table-keep {
  white-space: nowrap;
}
:is(.aio-editorial-table, .sociallyin-forge-table) .aio-table-number {
  font-variant-numeric: tabular-nums;
}
:is(.aio-editorial-table, .sociallyin-forge-table) figcaption {
  padding: 12px 18px;
  font-size: 0.875rem;
  text-align: left;
  color: #4d4f51;
  background: #f4f7fc;
}
:is(.aio-editorial-table, .sociallyin-forge-table) + .aio-table-legend {
  margin: -1rem 0 2rem;
  padding: 16px 20px;
  border-left: 4px solid #f8d53a;
  background: #f4f7fc;
  color: #282a2c;
}
@media (max-width: 600px) {
  :is(.aio-editorial-table, .sociallyin-forge-table) :is(th, td) {
    padding: 12px 14px;
  }
}
@media print {
  :is(.aio-editorial-table, .sociallyin-forge-table) {
    overflow: visible;
  }
  :is(.aio-editorial-table, .sociallyin-forge-table) table {
    min-width: 0 !important;
  }
}

/* Main-article tables, including legacy HTML and embedded comparison tools. */
table.sfs-content-table:not(.sfs-table-ready) {
  box-sizing: border-box;
  display: block;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100%;
  overflow-x: auto;
  scrollbar-color: #0070cd #e6eef6;
}
.sfs-table-host {
  min-width: 0 !important;
  max-width: 100%;
  overflow: visible !important;
}
.sfs-table-shell {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  color: #282a2c;
  font: inherit;
}
.sfs-table-viewport {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: auto;
  scrollbar-color: #0070cd #e6eef6;
  -webkit-overflow-scrolling: touch;
}
.sfs-table-viewport::-webkit-scrollbar {
  height: 12px;
}
.sfs-table-viewport::-webkit-scrollbar-track {
  background: #e6eef6;
}
.sfs-table-viewport::-webkit-scrollbar-thumb {
  background: #0070cd;
  border: 2px solid #e6eef6;
  border-radius: 8px;
}
.sfs-table-shell:not(.sfs-table-cards) table.sfs-table-ready {
  display: table;
  width: max(100%, var(--sfs-table-width)) !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.6;
}
.sfs-table-shell:not(.sfs-table-cards) table.sfs-table-balanced {
  table-layout: fixed !important;
}
.sfs-table-shell:not(.sfs-table-cards) table.sfs-table-balanced col {
  width: auto !important;
}
/* Horizontal navigation replaces legacy mobile rules that hide whole columns. */
.sfs-table-shell:not(.sfs-table-cards)
  table.sfs-table-ready
  :is(th, td):not([hidden]) {
  display: table-cell !important;
}
.sfs-table-shell:not(.sfs-table-cards) table.sfs-table-ready :is(th, td) {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 0.85em 1em !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
  vertical-align: top;
}
.sfs-table-shell:not(.sfs-table-cards)
  table.sfs-table-ready
  :is(th, td, th p, td p) {
  font-size: inherit !important;
  line-height: inherit;
}
.sfs-table-controls {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: auto minmax(60px, 1fr) auto;
  align-items: center;
  gap: 4px 12px;
  padding: 10px 12px;
  border: 1px solid #d7e3ef;
  border-radius: 8px 8px 0 0;
  background: #f4f7fc;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.5;
}
.sfs-table-controls[hidden] {
  display: none !important;
}
.sfs-table-hint {
  grid-column: 1 / -1;
  color: #003d72;
  font-weight: 500;
}
.sfs-table-controls button {
  box-sizing: border-box;
  min-width: 64px;
  min-height: 44px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #0070cd;
  border-radius: 6px;
  background: #fff;
  color: #003d72;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  text-transform: none;
}
.sfs-table-controls button:hover:not(:disabled) {
  background: #003d72;
  color: #fff;
}
.sfs-table-controls button:disabled {
  border-color: #d7e3ef;
  background: #edf2f7;
  color: #66727e;
  cursor: default;
  opacity: 1;
}
.sfs-table-controls input[type="range"] {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  accent-color: #0070cd;
  cursor: ew-resize;
}
table.sfs-content-table:not(.sfs-table-ready):focus-visible,
.sfs-table-viewport:focus-visible,
.sfs-table-controls :is(button, input):focus-visible {
  outline: 3px solid #0070cd;
  outline-offset: 3px;
}
@media (max-width: 600px) {
  .sfs-table-shell:not(.sfs-table-cards) table.sfs-table-ready :is(th, td) {
    padding: 0.75em !important;
  }
}
@media print {
  .sfs-table-controls {
    display: none !important;
  }
  .sfs-table-viewport,
  table.sfs-content-table:not(.sfs-table-ready) {
    overflow: visible;
  }
  table.sfs-content-table,
  .sfs-table-shell:not(.sfs-table-cards) table.sfs-table-ready {
    display: table;
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    font-size: 9pt;
  }
}
