.portal-main {
  padding-bottom: 60px !important;
}

#trace-drawer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1035;
}

#trace-body {
  max-height: 40vh;
  overflow-y: auto;
}

.trace-row:hover {
  background: var(--bs-tertiary-bg);
}

.api-chip {
  display: inline-block;
  font-size: 0.68rem;
  opacity: 0.75;
  margin-left: 6px;
}

.api-chip code {
  font-size: 0.68rem;
}

.param-name {
  background: var(--bs-tertiary-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: 3px;
  padding: 0 4px;
  font-size: 0.72rem;
  color: var(--bs-info);
}

.stat-card {
  min-width: 130px;
}

.stat-card .fs-4 {
  line-height: 1.1;
}

.table-sm td, .table-sm th {
  font-size: 0.82rem;
  vertical-align: middle;
}

.page-section {
  margin-bottom: 1rem;
}

.detail-panel {
  border-left: 3px solid var(--bs-primary);
}

/* Fixed layout so long names/URLs truncate instead of blowing out the container */
.audio-table {
  table-layout: fixed;
  width: 100%;
}

.audio-table td,
.audio-table th {
  overflow: hidden;
}

.au-name-cell {
  max-width: 0;
}

.au-name-cell .text-truncate {
  max-width: 100%;
}
