{% comment %} Renders a Django form with the design system's field classes. Used by the login page and by the WhatsApp connect page — the two places in the product that hand a real Form object to a template. Everything else writes its inputs out longhand, where a `class="form-input-styled"` is visible at the call site; here the widget is rendered by Django and a template cannot reach it, so the caller scopes the controls instead (.auth-card, .cn-form). Checkboxes are laid out inline. The generic label-above-input shape is wrong for them — allauth's "Remember Me" rendered as a heading with a stray box underneath — and a form partial that gets one field type visibly wrong is worse than no partial. Errors render inside the field rather than after it. They used to be pulled back up with a negative margin tuned to the wrapper's own `mb-4`, which is the kind of coupling that breaks silently the day the wrapper's spacing changes. {% endcomment %} {% if form.non_field_errors %}
{{ field.help_text }}
{% endif %} {% for error in field.errors %}{{ error }}
{% endfor %}