Standalone-page tabs with `layoutMode: CANVAS` were silently rendering as GRID (border, padding, scroll). Now they render full-bleed, matching the CANVAS contract elsewhere. Three layered fixes: - `getTabLayoutMode`: respect `tab.layoutMode` for `STANDALONE_PAGE` (was hardcoded to GRID for any non-`RECORD_PAGE`) - `getWidgetCardVariant`: CANVAS now wins regardless of page type — refactored to early-return + exhaustive switch on `pageLayoutType` - `FrontComponentWidgetRenderer`: removed hardcoded `overflow: auto` (workflow/tasks/timeline widgets don't have it either) New `getTabLayoutMode.test.ts`. Variant tests refactored to declarative + parameterized. QA: <img width="3024" height="1654" alt="CleanShot 2026-05-22 at 20 46 50@2x" src="https://github.com/user-attachments/assets/cc61d459-6bc6-48de-ac79-d63a2ccd8957" /> https://github.com/user-attachments/assets/a3374e18-ad1b-4888-ab2b-d07730edccac
Run yarn dev while server running on port 3000