Changes
Settings — Sync tab restructured
Open standards (CalDAV, CardDAV, ICS subscriptions) are now grouped first under a dedicated "CalDAV & CardDAV" section. Cloud services (Google Calendar, Apple Calendar) move to a secondary "Cloud Services" section below. Fixes a raw <h2> heading inside the CalDAV card, which caused inconsistent heading sizes compared to all other settings cards.
Shared sub-tabs navigation component
Extracted renderSubTabs() as a single reusable implementation for all sub-module navigation bars (public/utils/sub-tabs.js + public/styles/sub-tabs.css). Settings tabs and kitchen tabs now share the same pill-style bar with icons, labels, sticky positioning, horizontal scrolling, and group separators. Removes approximately 120 lines of duplicated CSS from kitchen-tabs.css and settings.css. New sub-module navigation can use renderSubTabs() directly without any additional CSS.
Test loader improvement
test-browser-loader.mjs now automatically resolves browser-absolute /utils/*.js imports to the public/ directory, removing the need for per-module manual stubs.