/* Evaluación del producto (apps.product_assessment) — material interno de
   plataforma: punto de entrada con los ensayos hechos, resultado en orden de
   prioridad y revisión de cada observación. */

/* ─── Punto de entrada: ensayos ───────────────────────────────────────────── */

.pa-rehearsal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
  gap: 1rem;
}

.pa-rehearsal-card .card-body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.pa-rehearsal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.pa-rehearsal-title {
  font-weight: 600;
  font-size: 1rem;
}

.pa-rehearsal-meta {
  font-size: 0.8rem;
  color: var(--color-text-muted);
}

.pa-rehearsal-path {
  font-family: ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
  word-break: break-all;
}

.pa-rehearsal-assessment {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.pa-rehearsal-count {
  font-size: 0.8rem;
  color: var(--color-text-muted);
}

.pa-rehearsal-actions {
  display: flex;
  gap: 0.5rem;
}

.pa-rehearsal-blocked {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  align-items: flex-start;
}

.pa-blocked-reason {
  font-size: 0.8rem;
  color: var(--color-text-muted);
  margin: 0;
}

/* ─── Barra de estado de la corrida ───────────────────────────────────────── */

.pa-status-body {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.pa-status-left {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1 1 20rem;
}

.pa-status-stage {
  font-weight: 600;
}

.pa-status-note {
  font-size: 0.85rem;
  color: var(--color-text-muted);
  margin: 0;
}

.pa-status-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  font-size: 0.85rem;
  color: var(--color-text-muted);
}

.pa-status-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.pa-live-badge {
  font-size: 0.8rem;
  color: var(--color-text-muted);
}

.pa-status-error {
  color: var(--color-danger-text);
}

/* ─── Documento y resumen ─────────────────────────────────────────────────── */

.pa-document,
.pa-summary,
.pa-warning {
  border-left: 3px solid var(--color-copper);
  background: var(--color-surface-alt);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
}

.pa-warning {
  border-left-color: var(--color-warning);
}

.pa-document-title,
.pa-summary-title,
.pa-warning-title,
.pa-rubric-title,
.pa-uncovered-title,
.pa-evidence-title {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-muted);
}

.pa-document-meta,
.pa-rubric-description {
  font-size: 0.85rem;
  color: var(--color-text-muted);
  margin: 0.35rem 0 0;
}

.pa-document-corpus {
  font-family: ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
}

.pa-summary p,
.pa-warning p {
  margin: 0.35rem 0 0;
}

.pa-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  font-size: 0.85rem;
  color: var(--color-text-muted);
  margin-bottom: 1rem;
}

.pa-note {
  margin-bottom: 1rem;
}

/* ─── Observaciones ───────────────────────────────────────────────────────── */

.pa-observation {
  margin-bottom: 1rem;
}

.pa-observation-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.pa-observation-title {
  font-weight: 600;
  font-size: 1rem;
}

.pa-observation-badges {
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
}

/* El vocabulario (crítica/alta/media/baja) sale de la rúbrica; los colores, de
   los mismos tokens que el resto de los badges del sistema. */
.badge-priority-critica { background: var(--color-danger-bg); color: var(--color-danger-text); }
.badge-priority-alta    { background: var(--color-danger-bg); color: var(--color-danger-text); }
.badge-priority-media   { background: var(--color-warning-bg); color: var(--color-warning-text); }
.badge-priority-baja    { background: var(--color-border-subtle); color: var(--color-text-muted); }

.pa-observation-area {
  font-size: 0.8rem;
  color: var(--color-text-muted);
}

.pa-observation-detail {
  margin: 0.5rem 0;
}

/* Causa raíz de una mejora consolidada: distingue lo que el sistema agrupó de lo
   que cada observación decía por su cuenta. */
.pa-cause {
  border-left: 3px solid var(--color-copper);
  background: var(--color-surface-alt);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  padding: 0.5rem 0.75rem;
  margin: 0.5rem 0;
}

.pa-cause-title {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-muted);
}

.pa-cause-text {
  margin: 0.25rem 0;
  font-weight: 600;
}

.pa-cause-note {
  font-size: 0.85rem;
  color: var(--color-text-muted);
}

.pa-cause-members {
  margin: 0.25rem 0 0;
  padding-left: 1.1rem;
  font-size: 0.85rem;
  color: var(--color-text-muted);
}

.pa-observation-criteria {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 0.85rem;
}

.pa-observation-rationale {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.85rem;
  color: var(--color-text-muted);
  margin-top: 0.35rem;
}

.pa-evidence {
  margin-top: 0.75rem;
}

.pa-evidence-list,
.pa-uncovered-list {
  margin: 0.35rem 0 0;
  padding-left: 1.1rem;
  font-size: 0.85rem;
}

/* ─── Revisión ────────────────────────────────────────────────────────────── */

.pa-review-form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.75rem;
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--color-border-subtle);
}

.pa-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.8rem;
  color: var(--color-text-muted);
}

.pa-input {
  padding: 0.35rem 0.5rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  color: var(--color-text);
  font-size: 0.85rem;
}

.pa-review-actions {
  display: flex;
  gap: 0.5rem;
}

.pa-review-hint {
  flex-basis: 100%;
  font-size: 0.8rem;
  color: var(--color-text-muted);
  margin: 0;
}

/* ─── Sin cobertura ───────────────────────────────────────────────────────── */

.pa-uncovered {
  margin-bottom: 1rem;
}

.pa-uncovered-note {
  font-size: 0.85rem;
  color: var(--color-text-muted);
  margin: 0.35rem 0 0;
}
