Feature docs

Navigation

TECHNOLOGY

Dealers used to dig through three layers — primary nav, section tabs, and a Views column — to reach Inbox or the task board. The redesign is one navigation tree rendered two ways: a nested sidebar on desktop, and the bottom bar plus the title switcher on mobile. The top container is CRM; its all-contacts list is Contacts.

Rulings ledger

DateRuling
09-15One nested sidebar on desktop — section tabs and the Contacts Views column move into it.
09-15The top container is "Customers" — Inbox · All Customers · Showroom · Leads · Tasks · Calendar. (superseded 09-17: CRM / Contacts)
09-15Reports = Sales · Marketing · Audiences — Sales Analytics moves there from the Customers tabs.
09-15Automations and Templates live in Settings.
09-15Notifications is one list — All — its Inbox tab is removed; Mentions folds into All.
09-15The mobile bottom bar stays at six icons — Customers · Inventory · DAISI · Reports · Notifications · You. (superseded 09-17: five-item bar with More)
09-15The desktop rail starts collapsed on dense work screens (Inbox, customer, Leads board/table, Tasks); a hover flyout keeps the children one hover away.
09-15Mobile keeps the Contacts Views sheet for Showroom — six section tabs do not fit a 390px phone. (superseded 09-18: section card)
09-15On every container the mobile titlebar names the active section ("Sales").
09-15One navigation tree, two renderers — no idiom keeps its own list.
09-16You / avatar keeps the shipped menu (Settings · Help & Support · Go Online/Offline) — the desktop Settings rail row opens the Settings page; on mobile the menu's Settings option opens it with You lit. (superseded 09-18: More card user row)
09-16Settings sections — Profile · Dealership · Team (was Members) · Deal Defaults (was Deals) · Automations · Templates.
09-16The app lands on CRM › Inbox — or the next visible CRM section when Inbox is hidden.
09-16Rail memory is two per-device settings — one for browse screens, one for dense work screens; each keeps its default until the user toggles it, then remembers on that device.
09-17Mobile bottom bar is CRM · Inventory · DAISI · Notifications · More — More holds the user, Reports, Settings, Help, Switch dealership and Log out; desktop unchanged. (superseded 09-25: six items — Search added fourth; the desktop rail head changed)
09-17The top container is CRM and the list is Contacts on both idioms — the Space app is more than a CRM, so CRM sits beside Inventory, Reports and DAISI (CEO suggestion).
09-18Ruling 26: mobile section tabs retire — the titlebar's title cluster (title · count · angle-down) and a re-tap of the lit bar item open the container card; the Contacts Views sheet + chip are retired; Showroom is a CRM row; Settings gets the same switcher; Inventory and Notifications stay plain.
09-18More opens a card, not a page — tapping More raises the More card (the .sb-sheet anatomy) over the current screen, above the bar; More is lit while it is open and on anything opened from it.
09-23Review fixes (ruling 27) — the title-switcher glyph is fa-angle-down; bottom-sheet headers match production (grab overlaid, 48px title row, full-width divider); navigation counts are plain neutral text, no chip; the More card's Reports and Settings are accordions; Showroom's count is 2 — the people on the floor now.
09-23Match production (NAV-25) — mobile and desktop titles use RootPageHeader's scale (semibold 14 gray-00, count 13 gray-02); sheet titles likewise; sheets are a gray-07 header band over a white list (menuItem: selected/pressed gray-06, hover gray-07); the close X sits in the rows' trailing-glyph column; two doors — More's accordions enter Reports or Settings, the title then switches sections.
09-24CRM never auto-opens its card — the first tap goes to the last-used section (first run: Inbox); the title or a re-tap opens the card; More opens its card on every tap; Inventory, DAISI and Notifications have no card.
09-24Search is out of scope — it stays exactly as shipped (list screens only, same place); global search is a separate feature. (placement superseded 09-25: desktop rail field, mobile Search bar item)
09-25The desktop top bar retires; search gets a place in both navs — desktop rail: dealership · refresh · sidebar toggle (fa-sidebar), then Search ('/' hint), then the tree and a pinned footer (full-width divider · Settings · Help & Support · user row); the Reports–DAISI divider goes; an expanded parent draws a 1px guide line under its icon down to its last child; on the collapsed rail the search icon (or '/') opens the field in a flyout; greyed on screens without list search. Mobile bar: CRM · Inventory · DAISI · Search · Notifications · More — Search is an action that shows the list's search row; greyed where there is none. The section-card page shows both doors on one screen (title → section card, More → the full More card). Search still filters only the current list; placeholder 'Search'; global search stays a separate feature.
09-25Cleanup: child chip, flyout rows, one menu, self avatar — a lit or hovered child row's chip starts on the guide line, not the rail's edge — the line takes the chip's gray-07 and the chip's left corners are square, so the lit child reads as part of the line; the collapsed rail's flyout uses the canon menu rows (icon, label, count, check on the open section), and every menu in the system is that one menu; the signed-in user's avatar is a gray photo placeholder without initials, 32px with its ring; every round-robin ring stands off its avatar with a small gap — 2px gap + 2px ring, production's AvatarView spec (desktop and mobile); the Space Auto logo leaves the rail — the dealership selector takes row 1 beside refresh and the toggle, search sits under it with 16px before the tree, and the collapsed rail opens with the building square.
09-30Field feedback (Sean Kennedy): CRM starts its own section; the toggle goes back to the shipped arrow; the rail stays flush — a full-width divider sits between search and CRM in both rail states; the collapse toggle returns to the app's DrawerScaffold arrow (fa-arrow-left-to-line open, fa-arrow-right-to-line closed — FA5 arrowToRight turned 180°), so no custom glyph; the rail has no drop shadow (the old specimen frames had one; the app never did). The collapsed flyout stays. Check-in from search goes to the separate search feature as a first requirement; a mobile Home tab is parked.
09-30No fake UI in specimens (CPO) — around the thing being shown, leave the space blank or use a real, current screen; never skeleton filler, invented rows or approximate headers, because they get read as spec. The mobile nav specimens lose their grey filler rows, and every Contacts header now carries the shipped quick filters (All · Mine · Unassigned | Unresponded · Show All, QA 201066fed).

Anatomy map

Desktop railThe nested sidebar — head rows (dealership · refresh · toggle, search), tree and pinned footer; open, collapsed, Reports expanded, hover flyout, search flyout. Desktop page headThe content column's first row. The top bar is retired — dealership · refresh · search live in the rail. Views nav rowsThe .sb-viewitem parent and child row atoms. Mobile bottom navThe six bar items (Search and More are actions) and their states. Mobile headerTitle switcher, titlebar and quick-filter band. Mobile More cardThe sixth bar item opens a bottom card: user row, Reports and Settings accordions, Help, Log out. Container cardThe lit container's sections as a bottom sheet — CRM · Reports · Settings. Opened by the title; More opens the full More card (two doors, one screen). Contacts — Desktop screenThe template: open nested rail (dealership · refresh · search on top) · content column. Contacts — Mobile screenThe template: header band · title cluster · bottom nav.

Before → after

How every shipped destination moves; the change table below the chart is the engineer's checklist.

The model

One tree of containers, sections and views — and the two renderers that draw it.

One tree, two levels plus action nodes. Containers: CRM · Inventory · Reports · DAISI · Notifications · Settings · Help. Sections: CRM → Inbox · Contacts · Showroom · Leads · Tasks · Calendar; Reports → Sales · Marketing · Audiences. Showroom is a CRM section row on both idioms (it opens Contacts on its Showroom view); the Views level is gone. Every node carries its label, icon, count and permission once. Desktop renders the tree as the nested rail — containers are rows, sections are child rows. Mobile renders the same tree — containers are the bottom bar, sections are the rows of the container card (nav.mobile-switcher-card) opened from the title cluster or a re-tap of the lit item. One tree, the same rows on both idioms. Mobile carries one extra renderer: the bottom bar holds four containers plus two actions, Search and More, and Reports, Settings and the user row render in the More card (mobile.more) — Reports and Settings are accordions there (ruled 09-23); once inside, their sections switch from the title via the Reports and Settings section cards. Actions are nodes too: DAISI opens the overlay; Search opens the current list's search (mobile: shows its search row; desktop: focuses the rail field); More opens the More card; the desktop user row's switch toggles online in place and the row opens the menu Settings · Help & Support · Log out; the Settings row opens the Settings page; Help & Support opens the support site. No screen or idiom keeps its own list.
THE IA (CPO rulings 2026-09-15). Dealers dug through three layers — primary rail → section tabs → a Views column inside Contacts — to reach Inbox or the task board. The IA flattens desktop to ONE nested sidebar; mobile keeps the bottom bar (six items; Search and More are actions — Search shows the list's search row, More opens the More card) and renders sections as the container card behind the titlebar's title cluster. The code containers underneath do not change — this is chrome, order and labels.
Desktop sidebar (open, 280px; no top bar — CPO 2026-09-25): [dealership dropdown · refresh · sidebar toggle] · [Search, '/' hint] · CRM { Inbox 60 · Contacts 9.9K · Showroom 2 · Leads · Tasks · Calendar — only these three rows carry counts, plain gray-02 text; icons gray-00 (rules 29–30) } · Inventory · Reports { Sales · Marketing · Audiences } · DAISI · Notifications (99+, the one red alert) · pinned footer: full-width divider · Settings · Help & Support · user row; the tree scrolls under the footer on short viewports.
Mobile bottom bar (six, in order — CPO ruling 2026-09-25): CRM (fa-users) · Inventory (fa-cars) · DAISI (the .sb-ic-daisi-color mark) · Search (fa-magnifying-glass — an action) · Notifications (fa-bell + badge) · More (fa-ellipsis). Reports, Settings and the user row render in the More card, opened by More (see mobile.more on comp-mobile-more.html); More is lit while the card is open and on anything opened from it. The desktop rail lists Reports and keeps its own user row.
Mobile sections render as the container card (nav.mobile-switcher-card) behind the title cluster: CRM → Inbox · Contacts · Showroom · Leads · Tasks · Calendar; Reports → Sales · Marketing · Audiences; Settings → Profile · Dealership · Team · Deal Defaults · Automations · Templates. Inventory and Notifications are single lists (plain title). The Views chip + sheet are retired (ruling 26).
CPO RULINGS (Taylor, 2026-09-15): (a) Automations and Templates belong in Settings, not Reports — Reports is Sales · Marketing · Audiences. (b) The top container label is CRM and the all-contacts list is Contacts on both idioms (CPO ruling 2026-09-17, from the CEO: the Space app is more than a CRM, so CRM sits beside Inventory, Reports and DAISI). (c) Notifications is one list — All. Its Inbox tab is removed (CRM → Inbox covers inbound customer messages) and Mentions folds into All. (d) The mobile bottom bar is CRM · Inventory · DAISI · Search · Notifications · More (ruled 2026-09-25; five from 09-17; the shipped bar through 09-16). (e) The desktop rail starts collapsed on dense work screens (see nav.rail.default-state). (f) Under Reports, the mobile titlebar names the active tab ("Sales"). (g) The desktop top bar is retired; refresh and the sidebar toggle sit beside the dealership selector (row 1); search is row 2 under it, and the logo is gone (2026-09-25).
Settings sections: Settings holds Profile · Dealership · Team · Deal Defaults · Automations · Templates.

Desktop sidebar

The rail's head rows and pinned footer, how it nests its children, what the 64px state hides, when each state is the default, and how a collapsed parent reaches its children.

Rail head and pinned footer. The open rail (280px), top to bottom: row 1 the dealership selector · refresh · the collapse toggle (fa-arrow-left-to-line — the shipped DrawerScaffold arrow, CPO 2026-09-30); row 2 the search field, placeholder "Search", with a "/" key hint at its far right; then, 16px below, the tree; then a pinned footer — a full-width divider (edge to edge, not inset) · Settings · Help & Support · user row. On a short viewport only the tree scrolls, under the footer. There is no divider between Reports and DAISI. An expanded parent (CRM, Reports) draws a 1px gray-07 guide line (the selected chip's color) centered under its icon, from its row to its last child (open rail only). The collapsed rail (64px), top to bottom: the building item · toggle · refresh · search icon · CRM · Inventory · Reports · DAISI · bell · the same pinned footer. The desktop top bar is retired (CPO ruling 2026-09-25).
Nested rows. Primary rows stay .sb-viewitem (icon + label). A primary that owns children shows a trailing angle in the .vi-more slot — fa-angle-down when expanded, fa-angle-right when collapsed (never chevron) — and its children render directly beneath it as .sb-viewitem.sb-viewitem--child: indented 16px past the parent's content edge (a 28px content inset), the same 32px cell and 8px gap, neutral leading icons exactly as the Views nav draws them, and counts only where the app computes them — plain t-tiny gray-02 text, no chip, one neutral color (rules 27, 29, 30 — 2026-09-23): Inbox 60 · Contacts 9.9K · Showroom 2 (the people currently in the showroom lane); Leads, Tasks and Calendar carry none. Only the ACTIVE child carries the gray-07 .on chip; its parent stays unchipped (label gray-00 + the angle) — never two chips lit. Shown: CRM expanded with Inbox on; Reports collapsed. Specimens expand the branch that holds the active page and collapse the others. An expanded parent draws a 1px gray-07 guide line (the selected chip's color) centered under its icon, from its row down to its last child, so the children read as its own (2026-09-25). A lit or hovered child's gray-07 chip starts on the line — the line is its left edge, square left corners — and runs to the list's right edge, like every rail row; icon and label keep the 28px inset (2026-09-25). DAISI + Notifications follow Reports directly — no divider (2026-09-25); Notifications keeps the red 99+ count. Settings, Help & Support and the user row form the pinned footer under a full-width divider (edge to edge, not inset); on a short viewport the tree scrolls under it.
Closed 64px. Top to bottom: the building item (the dealership selector's collapsed form) · expand toggle (fa-arrow-right-to-line, the shipped arrow) · refresh · search icon (click or '/' opens the field in a .sb-popover flyout; the rail does not widen; greyed where there is no list search) · CRM · Inventory · Reports · DAISI · bell; pinned footer: full-width divider · gear · help · the signed-in user's avatar (gray photo placeholder in its ring, 32px). Children are hidden; the active PARENT carries the gray-07 chip in this state (CRM on while Inbox is the open page). Labels, counts, dealership name and user text hide; a hover tooltip names each square. Both states share the var(--white) nav surface + gray-06 right hairline; every selectable cell is 32px with 8px gaps. The closed anatomy is what the shells embed.
Default state per screen (CPO ruling e, 2026-09-15). The rail opens EXPANDED (280px) on browse screens — the CRM lists (Contacts, Showroom), Reports and Inventory. It starts COLLAPSED (64px) on dense work screens — Inbox, the customer profile and its activity feed, the Leads board and table, and the Tasks board — where the content needs the width. Rail memory is two per-device settings (CPO ruling 2026-09-16): one for browse screens and one for dense work screens. Each keeps its default until the user toggles it, then remembers that choice on this device.
Flyout on a collapsed rail. On a collapsed rail, hovering or clicking a parent opens its children in a flyout, so Inbox and the Tasks board stay one hover away on dense screens. The flyout is the canon .sb-popover container (see Menus, Popovers & Dropdowns) holding canon .sb-menuitem rows, like every other menu: the section's 16px icon, its label, the plain gray-02 count where the rail shows one (Inbox 60 · Contacts 9.9K · Showroom 2) and a trailing check on the open section — no chip, no rail indent, no new container (2026-09-25). The collapsed rail's search icon (or '/') opens the search field in the same .sb-popover.
Child rows. .sb-viewitem--child is the same 32px cell indented 16px past the parent's content edge (a 28px content inset); the parent shows its state in the .vi-more angle slot (angle-down expanded / angle-right collapsed). Only the active child carries the .on chip — the parent never lights while a child is on. This is how the desktop rail nests CRM and Reports; in the open rail the lit chip starts on the parent's guide line instead (comp-desktop-rail.html, nav.rail.nested).

Desktop search

Search lives in the rail: enabled on list screens, greyed elsewhere, '/' to focus. The top bar is retired.

Search lives in the rail (CPO ruling 2026-09-25; supersedes the 09-24 placement). Enabled on list screens: Inbox · Contacts · Showroom · Leads · Tasks · Inventory. Greyed — still visible, in the same place — on screens without list search: Calendar · Reports › Sales / Marketing / Audiences · Notifications · Settings · any other non-list screen, including the customer profile and its activity feed. The "/" key focuses search, unless focus is already in a text input such as the message composer; on a greyed screen "/" does nothing (default, to confirm). The "/" hint dims with a greyed field, and hides while the field is focused or holds text (default, to confirm). On the collapsed rail, clicking the search icon or pressing "/" opens the same field in a .sb-popover flyout; the rail does not widen. Search still filters only the current list; the placeholder is exactly "Search". On Inventory the rail field opens the vehicle search page (facets), as shipped (CPO 2026-09-26). Global search is a separate feature.
The desktop top bar is retired (CPO ruling 2026-09-25). The rail's head replaces it: refresh and the sidebar toggle beside the dealership selector (row 1); search is row 2 under it; the logo is gone (nav.rail.top and nav.search.desktop on comp-desktop-rail.html); the page head (.sb-pagehead) is now the first row of the content column.

Mobile

The same tree on a phone: six items in the bottom bar — CRM, Inventory and Notifications open their lists; DAISI, Search and More are actions — sections in the container card behind the title cluster. Reports, Settings and the user row live in the More card, opened by More.

More opens a card, not a page (CPO ruling 2026-09-18, refines 09-17). The mobile bar is CRM · Inventory · DAISI · Search · Notifications · More (2026-09-25). More is an action like DAISI and Search: it opens from the bar like DAISI's overlay, but unlike DAISI it lights while open. Tapping it raises the More card over the current screen — the .sb-sheet anatomy (grab overlaid on a 48px header, title "More" + close X, full-width divider) inside a scrim that ends at the top of the bar (73px — the nav row; 123px while a list's search row shows), so the bar stays visible. A scrim tap, a grab drag down, the X, More again or system back closes it. Top to bottom: the user row — the signed-in user's avatar (gray photo placeholder in its ring, 32px, online dot, centered on the list icons' column), name, dealership and the Go Online / Offline switch, which replaces the old avatar menu · Reports · Settings · Help & Support (external-link glyph) · Switch dealership · Log out (red-01). Reports and Settings are accordions (ruling 27, 2026-09-23) with the desktop rail's grammar — the parent row carries .vi-more fa-angle-right collapsed / fa-angle-down expanded, its sections render beneath as .sb-viewitem--child rows (Reports: Sales · Marketing · Audiences; Settings: Profile · Dealership · Team · Deal Defaults · Automations · Templates), no counts; both start collapsed and toggle independently; the expand state is local to the card and resets on close. Tapping a child closes the card and opens that section with More lit — the Reports and Settings accordions are the way in; each screen's title then switches sections. The card sizes to content; when taller than the space above the bar its rows scroll while the grab and header stay pinned. Default taken without asking (to confirm with Taylor): closing the card without a choice restores the previous item. Rows are .sb-viewitem in .sb-viewlist groups separated by .sb-listhair. Reports' row hides when none of its sections is visible. Mobile-only — the desktop rail lists Reports and Settings directly and keeps its own user row with the menu (nav.ia).
Six items, in IA order (CPO ruling 2026-09-25; five from 09-17): CRM (fa-users) → the CRM container on its last-used section (Inbox · Contacts · Showroom · Leads · Tasks · Calendar, switched by the title cluster or a re-tap) · Inventory (fa-cars) → the Inventory list (single list — plain title, no switcher) · DAISI (the .sb-ic-daisi-color mark) → opens the DAISI overlay, not a page · Search (fa-magnifying-glass) → an action, like DAISI and More: shows the current list's search row and focuses it (nav.search.mobile); never lit; greyed in place where there is no list search · Notifications (fa-bell + count badge) → the Notifications list (All) · More (fa-ellipsis) → opens the More card (mobile.more), a bottom card over the current screen, not a page: the user row with the Go Online switch, Reports, Settings, Help & Support, Switch dealership, Log out. Reports and You left the bar — DAISI stays a primary action and Notifications keeps its badge visible, while Reports, Settings and the profile are occasional destinations. More is lit while the More card is open and on anything opened from it (Reports, Settings); closing the card without a choice restores the previous item. Re-tap rule (ruling 26): re-tapping lit CRM opens its section card (nav.mobile-switcher-card) — the first tap never does (nav.mobile.taps); a different item opens that container on its last-used section; re-tapping Inventory or Notifications does nothing — single lists; re-tapping More opens the More card; tapping Search again while its row shows refocuses the field (default, to confirm). A re-tap while a pushed page is showing pops to the section root and does not open the card (iOS convention); the card opens only from a root. Re-tapping DAISI closes its overlay; the lit item under the overlay is unchanged. gray-00 selected / gray-03 unselected (as shipped) / gray-05 greyed Search, 20px solid icons. The list search row and its rules: nav.search.mobile. On desktop the search field sits in the rail (nav.search.desktop).
Ruling 26 (Taylor 2026-09-18). The .sb-mh-tabs band is retired on every phone; no replacement row. The titlebar's leading Views chip becomes the TITLE CLUSTER: .sb-mh-switch (a .sb-daterange button) holding .tb-title + optional .tb-count, then fa-regular fa-angle-down (12px, blue-01, 6px after the count). Tapping the cluster, or re-tapping the lit bottom-bar item, opens the container card (nav.mobile-switcher-card) listing the container's sections; the current row is .on; picking a row swaps the screen and the title. While the card is open the cluster carries .on and the glyph is fa-angle-up. Every CRM, Reports and Settings section title carries the angle (rows listed in nav.mobile-switcher-card). Plain title, no angle, no card: Inventory and Notifications (single lists). DAISI is an overlay. Showroom is a CRM row that opens Contacts on its Showroom view — the Contacts Views chip and Views sheet are retired. A different bar item opens that container on its last-used section (per-container memory, per device, also written by deep links and notification taps; before any memory exists, the container's landing section — CRM → Inbox, Reports → Sales, Settings → Profile). Reports and Settings keep More lit; re-tapping More opens the More card (ruling 25), so their card opens from the cluster only. First run: the cluster pulses once with 'Tap to switch' (the lit item does not). Desktop switches sections in the rail (no title switcher). Glyph ruled (Taylor 2026-09-23): fa-angle-down, fa-angle-up while the card is open — Font Awesome angle-*, never chevron-*.
ItemTap from another itemRe-tap while litTitle tap
CRMlast-used section (first run: Inbox), no cardsection cardsection card
Inventorythe Inventory listno-op— (plain title)
DAISIopens the DAISI overlaycloses the overlay—
Searchlist screens (Inbox · Contacts · Showroom · Leads · Tasks · Inventory): shows the list's search row above the bar and focuses it; Inventory: opens its vehicle search page; other screens: greyed, no-op— (an action: never lit); while its row shows, a tap refocuses the field (default, to confirm)—
Notificationsthe All listno-op— (plain title)
Morethe More cardthe More card— (once in Reports or Settings, their title switches sections)
CRM never auto-opens its card: the first tap goes back to work, a re-tap or the title switches sections. More is an action, so it always opens its card. A re-tap while a pushed page is showing pops to the root first. (CPO ruling 2026-09-24) Search is an action too and never lights. Its row stays while it holds a query and hides when emptied and blurred. Screens without list search show it greyed in place, so the bar never shifts. (CPO ruling 2026-09-25)
Search is the fourth bar item — CRM · Inventory · DAISI · Search · Notifications · More. It is an action, like DAISI and More, and it never lights. Tapping Search shows the current list's search row (.sb-bn-search, placeholder "Search") above the bar, focuses it and brings the keyboard up. The row stays while it holds a query; when the field is empty and loses focus, it hides again — so the row is hidden by default, and only the open state draws it. On screens with no list search, Search is greyed (.is-disabled) in the same position — never hidden, so the bar never shifts; a greyed tap does nothing. Tapping Search again while its row shows refocuses the field (default, to confirm). The row is the list's own search, placeholder 'Search', on Inbox · Contacts · Showroom · Leads · Tasks · Inventory. It still filters only the current list; global search is a separate feature. Screens with no list search show Search greyed: Calendar, Reports › Sales/Marketing/Audiences, Notifications, Settings sections, and pushed pages such as the customer profile. (CPO ruling 2026-09-25; supersedes the 09-24 placement) Inventory: Search opens the shipped vehicle search page (facet suggestions), not a row in place (CPO 2026-09-26).
Feature screens COMPOSE these classes 1:1, never inline-styled wrappers. After .sb-mh-status, two gray-07 rows, one hairline: .sb-mh-titlebar (title cluster .sb-mh-switch · .spring · icon-only .sb-daterange--icon 32x32 · icon-only Filters · '+ Add' keeps its label) → .sb-mselbar. The titlebar names the active section. Variants: (a) FULL (Contacts, Showroom, Inbox, Reports) = titlebar with trailing controls + mselbar; (b) COMPACT (Leads, Tasks, Calendar) = titlebar holding the cluster only + .sb-mselbar--compact — Filters and actions live in the compact bar, feature parity with the desktop toolbar. Inventory and Notifications use the plain .tb-title span. The old .sb-mh-tabs band and the Views chip are retired (nav.mobile-switcher).
The same .sb-sheet as the More card (mobile.more): scrim-nested sheet, the scrim ends at the top of the bar (73px — the nav row; 123px while a list's search row shows), so the bar stays visible and the lit item stays lit; .sb-sheet-grab overlaid on the header (top 4px, centered); .sb-sheet-title = container name + .x close, min-height 48px, padding 4px 12px 4px 16px, with a full-width 1px gray-06 divider directly beneath (matches production ModalPageAppBar — ruling 27, 2026-09-23); .sb-viewlist of .sb-viewitem rows = .vi-ico · .vi-label · .vi-count — the count is text only, one neutral color (t-tiny gray-02, no chip; rules 27 + 29), and only Inbox 60 · Contacts 9.9K · Showroom 2 carry one (rule 30); current row .on (gray-06). No user row, no search field, no second list. The sheet is content-height (no fixed 70% — the six-row CRM card and the three-row Reports card differ in height). Rows are the container's sections in IA order, with a count only on Inbox, Contacts and Showroom — the three counts the app computes (rule 30; Leads, Tasks, Calendar, Reports and Settings rows carry none): CRM → Inbox · Contacts · Showroom · Leads · Tasks · Calendar; Reports → Sales · Marketing · Audiences; Settings → Profile · Dealership · Team · Deal Defaults · Automations · Templates. Tap a row: card closes, screen swaps in place (no back-stack entry — a section switch, exactly like the old tab tap), title updates, memory records the row (Showroom is remembered as Showroom, not Contacts). Scrim, X or the lit bar item again: closes. One widget in code, fed by the nav tree's sections for the lit container. Two doors, two jobs — same screen, two taps. On Contacts, Sales or Dealership, tapping the title opens that container's section card (only its sections: CRM's six rows; Reports: Sales · Marketing · Audiences; Settings' six rows). Tapping More opens the full More card (user row, Reports and Settings accordions, Help & Support, Switch dealership, Log out). More's accordions enter Reports or Settings; the title then moves sideways between their sections. CRM is its own bar item, so on CRM both the title and a re-tap of lit CRM open the CRM card; More still opens the full More card. (CPO ruling 2026-09-25)

Engineering scope

The full spec is ENGINEER_HANDOFF.md → "Navigation — engineering scope (2026-09-15)"; these are the items it lists.

Full decision ledger: autopilot/NAVIGATION_PLAN.md (repo). Composed under the Atomic documentation LAW: narrative + rulings ledger + anatomy map + @dsEmbed transclusions (build inlines them with provenance links) + eng scope notes.