- Shipped
- September 17, 2026 at 2:32 AM UTC
- Author
- Kamo
- Commit
- bc50635
The same two mistakes as /calendar's, everywhere else they were made. AuthedChrome's content box names no z-index, so a z-index in page code is a level in the ROOT context — weighed directly against the page-transition cover (19), NavTop (20), the Interaction Center (26/27), NavPri (30) and the tool windows (201+) — and a page placed at 56/80 ignores a rail pinned wide. Over the shell: - esign's annotation toolbar (1000) was drawn over every tool window in the document editor; the PDF canvas's deleted-page veil (30), fields and status sat over the Interaction Center. The canvas is now one isolated layer and the toolbar sits at 11, over the zoom controls. - MediaStream's scroll-to-top button (1000) was over tool windows on leads, records and clubhouse. - /messages' SMTP-only Compose button (40) and selection bar (30), and /marketing/social's new-posts pill (40), were over the Interaction Center. - /tasks pinned its toolbars at z 50/100. Placed against the viewport: - /analytics and /kb were fixed panes at 56/80 that stayed put when the rail was pinned wide. /kb keeps `isolation: isolate`, because its z-30 panels depended on the fixed pane's stacking context. - /settings/integrations added 80/56 margins inside the content box, so it was offset twice. - /tasks' toolbars and watermark assumed an 80px rail; they follow the nav variables now. Persistent page chrome sits at 11–15: over its own content, under the cover and every shell layer. pagesStayUnderTheShell.test.ts now fails a route whose fixed box (sx, style or Tailwind) reaches the cover, or that uses the nav's default sizes as offsets.