{# Layout: menú lateral + contenido. Sin barra superior en escritorio: logo, buscador (Ctrl K), navegación, modo claro/oscuro y cuenta viven en la lateral. En móvil queda una barra mínima (hamburguesa + logo) para abrir la lateral como cajón. La host app define/override: - block title - block logo → logotipo (arriba de la lateral y en la barra móvil) - block sidebar_nav → enlaces (usar core/components/sidebar_link.html) - block breadcrumbs → ruta, en una línea sobre el contenido - block topbar_actions → acciones globales, a la derecha de la ruta - block user_menu_items → enlaces extra del menú de cuenta; por defecto incluye `partials/user_menu.html` si la app lo tiene - block content - block footer → contenido extra del pie legal - block extra_head, block extra_body, block toast_initial Variables esperadas (opcionales): - user.email, user.is_admin, user.name - tokens_override_href → al CSS de tokens del cliente - dg_font_preload → ruta del .woff2 del texto base de la marca (global de Jinja; sin ella no se precarga) - logout_url → acción del formulario de cierre de sesión #} {% from "core/components/icon.html" import icon as _icon %} {% from "core/components/initials.html" import initials as _initials_of %}
{# viewport-fit=cover activa env(safe-area-inset-*) en iOS con notch #}