The aside had no explicit height, so it stretched to full height on
desktop only because its flex-row parent applies align-items:stretch.
In the mobile SidebarOverlay it sits in a plain (non-flex) h-full div,
so it shrank to fit its nav items, pushing settings/profile up under
the nav instead of staying pinned to the bottom.