/* Full-bleed scroll host so Turn sticky bars can paint edge-to-edge;
 * cell content width is capped on the turn body (max 880). */
.root {
  overflow-y: auto;
  height: 100%;
  min-height: 0;
  width: 100%;
  box-sizing: border-box;
  color: var(--dsw-alias-label-primary);
  background: var(--dsw-specific-sidebar-fill);
}

.empty {
  padding: 16px;
  color: var(--dsw-alias-label-tertiary);
  font: var(--dsw-font-xs-13);
}

/* Waterfall placeholder rows (shared module). */
.row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 16px;
}

.turnTag {
  flex: none;
  width: 64px;
  color: var(--dsw-alias-label-secondary);
  font: var(--dsw-font-xs-13);
}

.bar {
  height: 12px;
  border-radius: 4px;
  background: var(--dsw-alias-bg-skeleton);
}

.barCalls {
  background: var(--dsw-alias-brand-primary-new-colorprimary-new-color);
}

.meta {
  color: var(--dsw-alias-label-caption);
  font: var(--dsw-font-xs-13);
}

/* run_code sub-span lanes: one row per sub-dispatch under its turn row,
   offset/width scaled to the dispatch window (real wall time). A running
   lane pulses via reduced opacity until its settle arrives. */
.subRow {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
}

.subTag {
  flex: none;
  width: 88px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--dsw-alias-label-tertiary);
  font: var(--dsw-font-xs-13);
}

.barSub {
  height: 8px;
  background: var(--dsw-alias-state-business-primary);
}

.barSub[data-timing='running'] {
  opacity: 0.45;
}

/* Settle-only replay entries: no measured span — hollow, not a solid bar. */
.barSub[data-timing='unknown'] {
  background: transparent;
  border: 1px dashed var(--dsw-alias-state-business-primary);
}
