Authentication is handled by Frappe, but this page is fully rendered in Next.js.
After login, card users are routed directly to their card editor/dashboard flow.