diff --git a/backend/templates/app_layout.templ b/backend/templates/app_layout.templ
index de5d2eb..d13397b 100644
--- a/backend/templates/app_layout.templ
+++ b/backend/templates/app_layout.templ
@@ -180,6 +180,92 @@ templ DashboardSidebar(activePath string, tablos []sqlc.Tablo, user *auth.User,
}
+// PageHeader renders the full-width top bar with three zones:
+// left (breadcrumb), center (search placeholder), right (bell, inbox, avatar dropdown).
+// The avatar dropdown uses native HTML details/summary — no Alpine.js (D-06).
+templ PageHeader(pageTitle string, breadcrumb []BreadcrumbItem, headerActions templ.Component, user *auth.User, csrfToken string) {
+