fix(tables): replace minmax(Npx, 1fr) with fixed Npx across split-panel tables
Tables across the app use a split-panel grid pattern (separate
for header + separate
per row, synced horizontally via JS).
minmax(Npx, 1fr) makes each grid distribute leftover space independently
based on its own content, so columns drift apart during horizontal scroll.
Fixed ~70 table builder functions (buildGridTemplate, buildScrollableGridTemplate, etc.) in exploitation, rh, fleets, chauffeur, checkandgo, usager, circuit, contract, admin-config, establishment, avenant, staff, trajet, planning.
Also: default buildScrollableGridTemplate (shared util in table-pin-utils.ts) to useFixedWidths=true so any remaining callers inherit the fix. Opt-out by passing false for the rare single-grid case.
Bundled: absence-usager-new-view uses narrow Zustand selectors and disables validateOnChange to stop the form from re-rendering on every keystroke.
Closes VSN-2700