diff --git a/frontend/src/components/ConfigModal.jsx b/frontend/src/components/ConfigModal.jsx
index d379cea..640b835 100644
--- a/frontend/src/components/ConfigModal.jsx
+++ b/frontend/src/components/ConfigModal.jsx
@@ -1117,58 +1117,93 @@ function SubirBase() {
}
const puede = plantillaSel && telefonos.length > 0 && !enviando;
- const lbl = { fontSize: 12.5, fontWeight: 700, color: "#334155", marginBottom: 8, display: "block" };
- const card = { background: "#fff", border: "1px solid #e6eaf0", borderRadius: 12, padding: 16, marginBottom: 14 };
- const num = (n) => {n} ;
+ // Estilos iguales a Plantillas (cards radius 14, step cuadrado, labels mayúscula)
+ const card = { background: "#fff", border: "1px solid #e6eaf0", borderRadius: 14,
+ padding: 20, boxShadow: "0 1px 3px rgba(15,23,42,.04)" };
+ const cardHead = { display: "flex", alignItems: "center", gap: 10, marginBottom: 4 };
+ const step = { width: 26, height: 26, borderRadius: 8, background: "#1e3a5f", color: "#fff",
+ display: "flex", alignItems: "center", justifyContent: "center",
+ fontSize: 13, fontWeight: 800, flexShrink: 0 };
+ const cardTitle = { fontSize: 15, fontWeight: 700, color: "#0f172a" };
+ const cardSub = { fontSize: 12.5, color: "#94a3b8", margin: "2px 0 14px 36px" };
+ const fieldLabel = { fontSize: 12, fontWeight: 700, color: "#64748b", marginBottom: 7,
+ textTransform: "uppercase", letterSpacing: ".02em", display: "block" };
return (
-
-
- Sube un Excel con una columna TELEFONO (con código de país, ej. 51966319975).
- A cada número se le crea el contacto, se le asignan las etiquetas y el asesor que elijas, y se le
- envía la plantilla. Si el número no existe , se borra automáticamente (contacto y conversación).
-
+
+ {/* PASO 1 — Plantilla + Asesor */}
- {num(1)} Plantilla a enviar
- ({ value: p.nombre, label: p.nombre }))]}
- onChange={(v) => setPlantillaSel(plantillas.find((p) => p.nombre === v) || null)}
- minWidth={200} />
-
-
-
- {num(2)} Etiquetas (puedes elegir varias)
-
-
-
-
-
{num(3)} Asignar a un asesor (solo uno)
-
({ value: String(a.id), label: a.nombre }))]}
- onChange={(v) => setAsesorSel(v)}
- minWidth={200} />
+
+ 1
+ Elige la plantilla y el asesor
+
+ La plantilla se enviará a los números; el asesor se asignará a cada uno.
+
+
+ 📄 Plantilla
+ ({ value: p.nombre, label: p.nombre }))]}
+ onChange={(v) => setPlantillaSel(plantillas.find((p) => p.nombre === v) || null)}
+ minWidth={0} />
+
+
+ 👤 Asesor (solo uno)
+ ({ value: String(a.id), label: a.nombre }))]}
+ onChange={(v) => setAsesorSel(v)}
+ minWidth={0} />
+
+
{asesorSel === "SIN" && (
-
+
No se asignará ningún asesor. Si un número ya tenía asesor, se mantiene (no se quita).
)}
+ {/* PASO 2 — Etiquetas */}
-
{num(4)} Importar Excel
-
- 📁 Elegir archivo
-
-
- {archivo &&
✓ {archivo} — {telefonos.length} número(s) }
+
+ 2
+ Etiquetas
+
+ {etiqSel.length} seleccionada{etiqSel.length === 1 ? "" : "s"}
+
+
+
Se agregan a cada número (no borran las que ya tuviera). Puedes elegir varias.
+
🏷️ Etiquetas de Chatwoot
+
+
+
+ {/* PASO 3 — Importar Excel */}
+
+
+ 3
+ Importar base
+
+
+ Excel con una columna TELEFONO (con código de país, ej. 51966319975).
+ Si un número no existe, se borra automáticamente.
+
+
+
+ 📁 Elegir archivo
+
+
+ {archivo && ✓ {archivo} — {telefonos.length} número(s) }
+
- {enviando ? "Procesando… (esto puede tardar)" : "📤 Subir base y enviar plantilla"}
+ style={{ width: "100%", padding: "13px", borderRadius: 11, border: "none",
+ background: puede ? "#1e3a5f" : "#cbd5e1", color: "#fff", fontWeight: 700, fontSize: 14.5,
+ cursor: puede ? "pointer" : "default" }}>
+ {enviando ? "Procesando… (esto puede tardar)" : "🚀 Subir base y enviar plantilla"}
{resultado && (