{# Minimal admin layout shell. Reuses the public site's CSS (palette + typography) so Head Hen sees a consistent visual language without us maintaining a second stylesheet. Intentionally simpler than the public base: no marketing hero, no multi-link primary nav — just the brand mark, the admin context label, and a logout control when the viewer is authenticated. Context the child template may override: - title : content - content : main body - user : app.models.entities.User | None (passed by authed routes; omitted on pre-auth pages) - csrf_token : str (empty string on pre-auth pages; otherwise the signed CSRF token issued by CSRFCookieMiddleware) #}<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>{% block title %}Admin — Chicken Babies R Us{% endblock %} {# CSRF meta tag: admin JS (live preview, drag-drop upload) reads this to send the X-CSRF-Token header. Empty string on pre-auth pages is harmless — those endpoints don't require CSRF. #}
{% block content %}{% endblock %}
{% block scripts %}{% endblock %}