/* Workweaver-as-orchestrator fan-out panel (#6276). Plain-glass tokens. */

.ww-orch-panel {
  display: flex;
  flex-direction: column;
  gap: var(--ww-space-4, 16px);
}

.ww-orch-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ww-orch-panel__total {
  font-size: var(--ww-font-sm, 13px);
  color: var(--ww-text-muted, #6b7280);
}

.ww-orch-panel__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--ww-space-3, 12px);
}

.ww-orch-leg {
  border: 1px solid var(--ww-border, rgba(0, 0, 0, 0.08));
  border-radius: var(--ww-radius-md, 10px);
  padding: var(--ww-space-3, 12px);
  background: var(--ww-surface, #fff);
  display: flex;
  flex-direction: column;
  gap: var(--ww-space-2, 8px);
}

.ww-orch-leg__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ww-orch-leg__harness {
  font-weight: 600;
  text-transform: capitalize;
}

.ww-orch-leg__result,
.ww-orch-leg__error,
.ww-orch-selected__body {
  white-space: pre-wrap;
  word-break: break-word;
  font-family: var(--ww-font-mono, ui-monospace, monospace);
  font-size: var(--ww-font-xs, 12px);
  margin: 0;
  max-height: 200px;
  overflow: auto;
}

.ww-orch-leg__error {
  color: var(--ww-danger, #b91c1c);
}

.ww-orch-status {
  font-size: var(--ww-font-xs, 12px);
  padding: 2px 8px;
  border-radius: var(--ww-radius-pill, 999px);
  border: 1px solid currentColor;
}

.ww-orch-status--completed { color: var(--ww-success, #15803d); }
.ww-orch-status--error { color: var(--ww-danger, #b91c1c); }
.ww-orch-status--pending { color: var(--ww-text-muted, #6b7280); }
.ww-orch-status--denied { color: var(--ww-danger, #b91c1c); }

/* Governance verdict visual states (#8673). Red/amber/gray semantic tokens
   inherit docs/canonical/DESIGN.md + the #8195 UI continuity contract — no new rail,
   drawer, or off-contract color. ALLOW has no chrome (quiet success path). */
.ww-orch-verdict {
  font-size: var(--ww-font-xs, 12px);
  font-weight: 600;
  padding: 2px 8px;
  border-radius: var(--ww-radius-pill, 999px);
  border: 1px solid currentColor;
}

.ww-orch-verdict--deny { color: var(--ww-danger, #b91c1c); }
.ww-orch-verdict--require_approval { color: var(--ww-warning, #b45309); }
.ww-orch-verdict--draft { color: var(--ww-text-muted, #6b7280); }

/* The whole leg row carries the verdict so disabled/preview states read at a
   glance. require_approval/draft legs are pending holds, not errors, so they
   keep the default surface with a colored verdict badge instead of a red body. */
.ww-orch-leg--deny {
  border-color: var(--ww-danger, #b91c1c);
  background: var(--ww-danger-soft, rgba(185, 28, 28, 0.04));
}
.ww-orch-leg--require_approval {
  border-color: var(--ww-warning, #b45309);
}
.ww-orch-leg--draft {
  border-color: var(--ww-border, rgba(0, 0, 0, 0.08));
  opacity: 0.85;
}

.ww-orch-leg__verdict-reason {
  font-size: var(--ww-font-xs, 12px);
  color: var(--ww-text-muted, #6b7280);
  font-family: var(--ww-font-mono, ui-monospace, monospace);
}

.ww-orch-selected {
  border: 1px solid var(--ww-accent, #2563eb);
  border-radius: var(--ww-radius-md, 10px);
  padding: var(--ww-space-3, 12px);
  background: var(--ww-accent-soft, rgba(37, 99, 235, 0.06));
}

.ww-orch-selected__label {
  font-weight: 600;
  margin-bottom: var(--ww-space-2, 8px);
}

.ww-orch-empty,
.ww-orch-error,
.ww-orch-error-banner {
  color: var(--ww-text-muted, #6b7280);
  padding: var(--ww-space-4, 16px);
  text-align: center;
}
