{% load i18n crispy_forms_tags %} {% comment %} The credentials card. Posts to the login view via HTMX so the card can be swapped in-place — either replaced with itself on validation errors (status 422), or replaced with the tenant picker when the authenticated user has access to two or more tenants. The outer wrapper id ``cj-login-card`` is the swap target; the form posts with ``hx-target="#cj-login-card" hx-swap="outerHTML"``. Form rendering is delegated to ``django-crispy-forms`` via the ``|crispy`` filter. The card wrapper, the sign-in button and the surrounding ``