Bug Fixes
- repoint proposal Edit and Download PDF actions to real routes
- canonicalize tailwind classname order in compliance list
- repoint View Services action to /dashboard/services?department=
- canonicalize arbitrary tailwind values on IPhoneMockup
- point default baseUrl at www.practicestacks.in
- add min-w-0 to DataTable search wrapper so sibling action cluster doesn't overflow on narrow widths
Features
- add /api/user/preferences GET+PATCH + usePreference hook
- add userPreferences tag + invalidator for per-user UI prefs
- add category accent stripe, tinted badges, clients-count tinting to table columns
- add ComplianceDetailSheet for right-side detail drawer
- add footer layout + onView override to ComplianceDirectActions
- card grid view with category accent, pills, footer actions, sort-by-category, view-transition animation
- card+table view toggle, groupBy category, detail sheet, persisted per-user prefs
- collapse toolbar into Options popover below 1024px
- extract detail body as reusable ComplianceDetailView component
- share orderedCompliances between views, animate view/group switch via View Transitions, per-row view-transition names
- pack secondary KPIs into last grid cell on mobile, keep full 3-card row on md+
- add Compliance Tracking bento entry highlighting category color coding, card/table views, and executor-reviewer assignments
- add IPhoneMockup component with CSS iPhone frame for embedding mobile screenshots
- add Mobile Ready bento entry using IPhoneMockup to showcase responsive dashboard
- add invalidate.userPreferences helper using userPreferencesKeys
- add userPreferencesKeys factory for user-preferences queries
- polish bottom nav — larger icons, uniform stroke family, Material 3 state pill, active avatar ring
- add preferences Json column on User with default {}
- migrations for User.preferences column + backfill + NOT NULL
- add compliance page screenshot for features marketing use
- add mobile dashboard screenshot for features marketing and blog covers
- add rowStyle prop to DataTable for per-row inline styles like viewTransitionName
- add view-transition easing for compliance card rearrange
- update bottom navigation with Material 3-inspired active state styling and dark mode support

