diff --git a/index.html b/index.html
index 5e3147c..112dcbb 100644
--- a/index.html
+++ b/index.html
@@ -108,22 +108,22 @@
const data = await res.json();
if (res.ok && data.ok) {
+ // GUARDAMOS LOS DATOS CORRECTAMENTE LEYENDO DATA.USER
localStorage.setItem('token', data.token);
- localStorage.setItem('role', data.role);
- localStorage.setItem('userName', data.name);
+ localStorage.setItem('role', data.user ? data.user.role : 'operario');
+ localStorage.setItem('userName', data.user ? data.user.full_name : 'Operario');
+ localStorage.setItem('accountId', data.user ? data.user.accountId : '');
+
+ // 💥 BARRERA DESTRUIDA: Ya no hay comprobación de if(data.role === 'operario')...
+ // Si el servidor (server.js) dice que OK, ¡entra todo el mundo directo!
+
+ btn.innerHTML = '';
+ lucide.createIcons();
+ btn.classList.replace('bg-blue-600', 'bg-emerald-500');
+
+ // Redirigimos al menú tras medio segundo
+ setTimeout(() => { window.location.href = "menu.html"; }, 500);
- // CORRECCIÓN: Aceptamos tanto al operario normal como al operario sin bolsa libre
- if(data.role === 'operario' || data.role === 'operario_cerrado') {
- btn.innerHTML = '';
- lucide.createIcons();
- btn.classList.replace('bg-blue-600', 'bg-emerald-500');
-
- setTimeout(() => { window.location.href = "menu.html"; }, 500);
- } else {
- err.querySelector('span').innerText = "Esta app es solo para operarios";
- err.classList.remove('hidden');
- localStorage.clear();
- }
} else {
err.querySelector('span').innerText = data.error || "Credenciales incorrectas";
err.classList.remove('hidden');