c144cdcbd5
Switch the SPA from header+main+footer to a fixed header above a sidebar/main split. The sidebar carries grouped navigation, can be collapsed to an icon-only rail (state persisted in localStorage), and hosts the accessibility-statement links the footer used to own. Adds brand palette tokens (primary teal #12546c, accent orange #f7a919) as Tailwind v4 @theme entries, an <app-icon> façade over lucide-angular so the future icomoon sprite migration is a single-file change, and the APF logo asset under public/logos/. Menu data is static for v1 — items point to '#' placeholders, with the Dashboard entry routerLink-bound so the active-state styling is visible on the home page. The MenuItem shape already carries an optional requiredPermissions field so the permission-aware filter (to land alongside the auth flow per ADR-0009) plugs in without restructuring. WCAG-relevant choices preserved: skip-link, role/aria landmarks, aria-current="page" on active links, aria-expanded on the toggle, prefers-reduced-motion respected on width transitions, and a 44px minimum hit-target on every interactive element (ADR-0016). Footer component removed — its links migrated to the sidebar bottom.