# TODO ## Completed - [x] Merge public and admin head/nav templates into unified `templates/head.php` and `templates/header.php` - `templates/head.php` — outputs `…`, reads `$bodyClass`, `$isAdmin`; handles admin title suffix, admin.css prepend, and OG tag suppression internally - `templates/header.php` — outputs `
` with public nav + search bar or admin nav depending on `$isAdmin` - Deleted: `templates/public/head.php`, `templates/admin/head.php`, `templates/nav.php`, `templates/admin/nav.php` - All 11 admin pages and 5 public pages updated to set `$bodyClass` / `$isAdmin` and include new templates - [x] Replace nav/header BEM custom classes with semantic HTML targeting in CSS - `common.css`: `.site-nav` → `header nav`, `.site-nav__logo` → `header nav > a`, etc. - `admin.css`: `.admin-nav` → `.admin-body header nav`, logout via `[data-nav-logout]` attribute