// Login — split panel: oscuro brand izquierda + formulario derecha. const { useState } = React; function LoginScreen({ onEnter }) { const [email, setEmail] = useState(""); const [pass, setPass] = useState(""); const [show, setShow] = useState(false); const [remember, setRemember] = useState(true); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); const submit = async (e) => { e.preventDefault(); setError(null); setLoading(true); try { const { user } = await API.Auth.login(email, pass, remember); onEnter(user); } catch (err) { setError(err.message || "Credenciales incorrectas. Intente de nuevo."); } finally { setLoading(false); } }; const today = new Date().toLocaleDateString("es-MX", { day: "2-digit", month: "long", year: "numeric" }); return (
{/* === Panel brand === */} {/* === Formulario === */}
Iniciar sesión

Bienvenida
de regreso.

Ingrese con sus credenciales corporativas.

{error && (
{error}
)}
setEmail(e.target.value)} autoComplete="email" placeholder="nombre@empresa.com" required />
setPass(e.target.value)} autoComplete="current-password" required />
e.preventDefault()}>¿Olvidó su contraseña?
o continúe con

¿No tiene cuenta? Solicite acceso a su e.preventDefault()} style={{color: "var(--ink)", fontWeight: 600}}>administrador de área.

); } window.LoginScreen = LoginScreen;