Maintenance renders through the same SettingsTopicPage as Leasing & tours: one header row with the tabs and the info i, always full width, Company always first. TEST company only.
2 Oct 2026 · branch settings-portfolio/topic-page-s4a · captured against propflow-stage · at 56f339ee783
Data note. Every name and balance below comes from propflow-stage, which is anonymized by construction (ADR-0097/0110 — phones in the impossible +1000 NPA, emails @example.test). The identical capture against prod would carry real tenants' names and balances and is not safe to attach anywhere, which is why the generator refuses to run against one.
The same frame as Leasing & tours: the tabs and the info i on one 48px row, the grid captioning its columns, full width. The Company column says the tech phone is set per property; under the grid, the company's repair rating card, behind the door it always had.
Asserted in the captured DOM — Company · Property · Maintenance tech phone · Set per property
The pick adds the building's column beside Company and focuses it. Company stays where it was; under the grid, the building's auto-approve ceiling card, which saves with the grid in one bar.
Asserted in the captured DOM — Company · Maintenance tech phone · Auto-approve external vendors under
Same columns; the header and the grid did not move. The card under the grid is the company's again. An edit in the building's box here saves to that building only (pinned in the DOM test).
Asserted in the captured DOM — Company · Maintenance tech phone
Below md each row stacks Company first, then the building, each captioned; the header row keeps its height.
Asserted in the captured DOM — Company · Maintenance tech phone
Calls & messages moves onto the same page in part b. The save bar is still hosted by the focused body until slice 3 makes it one.