/* =============================================================================
 * MÓDULO OPORTUNIDADES — stepper del embudo del modal de detalle (modulos/oportunidades/js/oportunidadDetalle.js). Se incluye solo si
 * el módulo está activo (header: nx_modulos_css()). Lo compartido con factura (.fc-*, armazón .tk-*) queda en app.css. Origen: [§51].
 * ===========================================================================*/
.op-stepper{list-style:none;margin:0 0 16px;padding:0;display:flex;gap:6px}
.op-paso{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:8px;padding:9px 10px 10px;font-size:var(--fs-cell);color:var(--text-muted);border-bottom:3px solid var(--border-strong)}
.op-paso-n{flex:0 0 auto;width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:600 11.5px var(--font-mono);background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text-muted)}
.op-paso-n .fa{font-size:var(--fs-xs)}
.op-paso-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.op-paso-hecho{color:var(--text);border-bottom-color:color-mix(in srgb, var(--secondary) 65%, transparent)}
.op-paso-hecho .op-paso-n{background:var(--secondary);border-color:var(--secondary);color:var(--secondary-ink)}
.op-paso-actual{color:var(--text);font-weight:600;border-bottom-color:var(--primary)}
.op-paso-actual .op-paso-n{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}
.op-paso-ganada{border-bottom-color:var(--good)}
.op-paso-ganada .op-paso-n{background:var(--good);border-color:var(--good);color:var(--ink)}
.op-paso-perdida{border-bottom-color:var(--critical)}
.op-paso-perdida .op-paso-n{background:var(--critical);border-color:var(--critical);color:var(--danger-ink)}
.op-proyectos .op-crear-proyecto{margin-top:4px}
.op-proyectos .tk-tarea{text-decoration:none}
@media (max-width:640px){
  .op-stepper{gap:4px}
  .op-paso{flex-direction:column;align-items:flex-start;gap:4px;padding:8px 6px 8px;font-size:var(--fs-sm)}
  .op-paso-t{white-space:normal;line-height:1.2}
}
@media (prefers-reduced-motion: reduce){ .op *{transition:none;animation:none} }

/* Bloque «Prospecto» del lateral del detalle (contacto, origen, servicio de interés, motivo de pérdida). */
.op-grupo{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--border)}
.op-grupo-t{margin:0;font-size:var(--fs-base);font-weight:600;font-family:var(--font-body);color:var(--text)}
