{% extends "conjunto/app_base.html" %} {% load i18n static conjunto %} {% block top_bar %}{% endblock %} {% block sidebar_left %}{% endblock %} {% block sidebar_right %}{% endblock %} {% block page_header %}{% endblock %} {% block footer %}{% endblock %} {% comment %} The login page reuses the full app layout but blanks the chrome above. Force both sidebars collapsed so ``.cj-page-content`` reserves no sidebar gutter (the left one is ``full`` by default → it would push the card right), and zero the navbar/statusbar heights since neither is rendered here. The card itself is centred by the ``.container-tight`` wrapper in ``content``. {% endcomment %} {% block body_attrs %} class="antialiased cj-sidebar-left-mode-collapsed cj-sidebar-right-mode-collapsed" style="--cj-navbar-height: 0px; --cj-statusbar-height: 0px;" {% endblock %} {% block extra_css %} {{ block.super }} {# Keep the password-toggle icon container visually flush with the input #} {# in all states (default, focus, is-invalid, browser autofill, dark mode). #} {# Root cause: .input-group-text has its own background (var(--tblr-bg-forms)) #} {# which does not track the adjacent input's background when the browser paints #} {# -webkit-autofill (yellow overlay) or when the input is marked .is-invalid. #} {% endblock extra_css %} {% block content %}