main h1 {
  font-size: 1.75rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
}

main .d-flex > h1 {
  margin-bottom: 0;
}

.card-title-plain h2,
.card-header h2 {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
}

.result-group h3 {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 0.5rem;
}

.table-results th,
.table-results td {
  white-space: nowrap;
}

#new-gateway-response {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.search-pending {
  display: inline-flex;
  align-items: center;
}

#old-gateway-samples .sample-toggle,
#maxio-samples .sample-toggle {
  font-size: 1.1rem;
  font-weight: 600;
  color: inherit;
}

#old-gateway-samples .sample-toggle .fa-chevron-down,
#maxio-samples .sample-toggle .fa-chevron-down {
  transition: transform 0.2s ease;
}

#old-gateway-samples .sample-toggle[aria-expanded="true"] .fa-chevron-down,
#maxio-samples .sample-toggle[aria-expanded="true"] .fa-chevron-down {
  transform: rotate(180deg);
}

.table-results.table-striped > tbody > tr.result-direct > td,
.table-results.table-hover > tbody > tr.result-direct:hover > td,
.table-results.table-striped > tbody > tr > td.result-direct,
.table-results.table-hover > tbody > tr:hover > td.result-direct {
  --bs-table-accent-bg: #fff3cd;
  --bs-table-bg-type: #fff3cd;
  --bs-table-bg-state: #fff3cd;
  background-color: #fff3cd;
  font-weight: 700;
}

.table-results thead th,
.table thead th {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--bs-secondary-color);
}

.stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 1rem;
  margin: 0;
}

.stats dt {
  font-size: 0.8rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--bs-secondary-color);
}

.stats dd {
  font-size: 1.75rem;
  font-weight: 600;
  margin: 0;
}

.stat-positive {
  border-left: 4px solid var(--bs-success);
}

.stat-negative {
  border-left: 4px solid var(--bs-danger);
}

.note-text {
  white-space: pre-wrap;
  min-width: 16rem;
}

.chart-box {
  position: relative;
  height: 280px;
}

.chart-box-tall {
  height: 360px;
}

.login-wrap {
  min-height: calc(100vh - 3rem);
}

dialog.confirm-dialog {
  border: 0;
  border-radius: var(--bs-border-radius-lg);
  box-shadow: var(--bs-box-shadow-lg);
  padding: 1.5rem;
  max-width: 28rem;
}

dialog.confirm-dialog::backdrop {
  background: rgba(0, 0, 0, 0.4);
}

.table-scroll {
  overflow-x: scroll;
  scrollbar-color: #6c757d #e9ecef;
}
