/* Test chat, stage bars, status indicators, and compact utility panels. */
.test-tools {
  display: grid;
  gap: 10px;
  max-width: 940px;
}

.test-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.test-input-row {
  display: grid;
  grid-template-columns: minmax(170px, 230px) minmax(130px, 170px) auto minmax(260px, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.test-input-row input,
.test-input-row select {
  min-width: 0;
}

.stage-bars {
  display: grid;
  gap: 8px;
}

.stage-row {
  display: grid;
  grid-template-columns: 160px 1fr 48px;
  gap: 8px;
  align-items: center;
  font-size: 13px;
}

.bar {
  height: 12px;
  border-radius: 999px;
  background: #e7eef1;
  overflow: hidden;
}

.bar span {
  display: block;
  height: 100%;
  width: 0;
  background: var(--accent-2);
}

.test-chat {
  min-height: 260px;
  max-height: 420px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fbfdff;
  padding: 10px;
  display: grid;
  gap: 8px;
  align-content: start;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
}

.status-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-inline-start: 6px;
  vertical-align: middle;
}

.ok { background: #10b981; }
.warn { background: #f59e0b; }
