You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Consistent loading feedback: a shared skeleton loading language (public/utils/skeleton.js → renderSkeletonList()) replaces the per-module "loading…" text placeholders in Budget, Meals, and Housekeeping. The skeleton classes (.skeleton-list/.skeleton-card/.skeleton-line) now live globally in layout.css instead of only in dashboard.css.
Z-index discipline: the two remaining magic-number z-indexes (9999 skip link, 1000 kanban drag ghost) are mapped to new semantic tokens (--z-skip-link, --z-drag) on the documented scale.
Fixed
Skeleton widths outside the dashboard: the .skeleton-line--short/medium/full variants previously lived only in dashboard.css and silently had no effect on other pages (Tasks, Shopping), because CSS is loaded per module; they are now globally available.
Skeleton and reduced motion: the skeleton shimmer now respects prefers-reduced-motion: reduce (static surface instead of animation).