{# Layout: sin sidebar/topbar. Para login, signup, password reset, errores. #}
{% block title %}Datagrowth{% endblock %}
{# FOUC guard: aplica data-theme antes del primer paint. Ver
dg/layouts/sidebar_shell.html para la rationale completa. #}
{% if tokens_override_href %}
{% endif %}
{# CSRF double-submit wiring: el form de login (`POST /auth/password`) lo
necesita para que `CSRFMiddleware` no responda 403. Idem para signup/
password-reset que vivan en este layout. #}
{# `toasts.js` cablea el auto-dismiss de los toasts en `#dg-toasts`.
`register_error_handlers` puede renderizar este layout con un toast
inicial (caso: 401 anónimo, 500 sin sesión); sin este script el
banner quedaría pegado en la esquina hasta el siguiente nav. #}
{% block extra_head %}{% endblock %}
{% block content %}{% endblock %}
{# Región de toasts. `register_error_handlers` inyecta el toast inicial
vía el bloque `toast_initial` (renderiza el macro `toast()`). El
mismo id `dg-toasts` se usa para OOB swaps de HTMX. #}