feat(absence): migrate absence section from MUI to ShadCN/Tailwind
List view:
- Replace MUI Box/Stack/ScrollBox/Typography with Tailwind divs
- Switch to ShadCN TabsCustom, TableControlBar with glow styling
- Replace MUI TableManager with CSS Grid AbsenceTable component
- Add styled section dividers (navy purple cards) for unprocessed and processed sections with count badges and Lucide icons
- Add entity navigation support for both sections
Table:
- Create absence-table.tsx with CSS Grid layout, scroll sync between header/body/scrollbar, loading skeletons, empty state, pagination
- Rewrite absence-usager-table-row with div-based grid row, IntersectionObserver entrance animations, neo-shadow hover effects, color accent bar, increased row height (py-3)
Form:
- Migrate 4 MUI input fields to ShadCN FormField: usager (combobox with server-side search), parQui, codeCircuit, intituleCircuit (readonly text fields)
- Remove MUI Autocomplete, StyledTextField, Paper, useTheme, useResponsive and associated style utilities
Trajets par jour selector:
- Increase row padding, text size, checkbox column width
- Larger date labels, badges, and quick-action buttons
- Higher scroll threshold (10+ days) with taller max-height
Changes
- List views (usager, circuit, avenant, trajet): wire up entityIds and onNavigate props to form components
- Form views (usager, circuit, avenant): add useEntityNavigation hook and EntityNavigationArrows in FormContainer header
- Trajet list view: connect existing navigation props that were missing
- EntityNavigationArrows: replace MUI IconButton/Stack/Typography/CircularProgress + FontAwesome icons with Tailwind classes and Lucide ChevronLeft/ChevronRight/Loader2
Closes VSN-2324