Threshold states: Avg First Touch — gray-00 under 15m · orange-01 15–60m · red-01 over 60m; Untouched — neutral at 0, red-01 whenever >0. New Leads + Touchpoints are always neutral (volume gauges, no judgment). Data-grounded: calibrated against 60-day first-touch distributions at three live stores — medians 2–5 min, p75 5–25 min, so an average past an hour is unambiguous systemic trouble.Definitions (the info-icon tooltips, verbatim): New Leads = "Leads created in the current window (defaults to today)." · Untouched = "Leads created in the window with zero outbound messages since — email, SMS, or call. Red whenever the count is above zero." · Touchpoints = "Outbound messages (email, SMS, call) sent in the window." · Avg First Touch = "Average time from lead creation to the first outbound message, over leads created in the window. Under 15m healthy · 15–60m drifting · over 60m red." Each label carries a circled-i (gray-04, gray-01 on hover): hover shows the definition via the locked sb-tooltip engine; CLICK pins/unpins the same tooltip (touch devices have no hover). It navigates nowhere — definitions are self-contained.PRESCRIPTIVE — pipeline EFFORT, not shape. The board opens filtered to leads CREATED TODAY by default; this row answers the GSM triage loop — did we touch them all · how many untouched · how much outreach today · how fast do we touch. A shorter variant of the locked showroom stat-card recipe (bare white card, gray-06 border, r5; value t-paragraph-sb, not the big showroom number); one-line nowrap labels — the whole row is scoped to the board's default created-today view, so no per-card 'Today' sublines. The Untouched value renders red-01 whenever >0 (gray-00 at 0 — alert semantics). Data: Touchpoints ≈ outreachStats and Avg First Touch ≈ first-response stats already on POST /v2/dashboard/sales; the Untouched count needs a NEW backend aggregate (design-ahead).
2 · Mobile mini stats (~390px · PRESCRIPTIVE)
28New Leads
6Untouched
41Touchpoints
12mAvg First Touch
Mobile = a 2×2 grid per the app's established mobile stats pattern — all four metrics retained (they are the manager triage loop); equal card widths, no horizontal scroll, no clipping.
3 · Quick filters + the Untouched chip (PRESCRIPTIVE)
Definition: a lead is UNTOUCHED when the customer + deal were created and ZERO outbound messages have been sent since deal creation; it clears on the first outbound touch. The chip uses the locked quick-filter recipe + selected state, with its live count.
4 · Column header v2 — all five statuses (PRESCRIPTIVE)
Fresh1.9K
Working48
Finance3
Close21.1K
Lost1.1K
PRESCRIPTIVE. Gospel look kept (status-02 tinted container · status-01 title · gray-00 count) + the right icon cluster: sort + hide are per-column. The shipped app's + here was "create deal in this stage" — REMOVED per PM ruling (no adding columns; creation lives elsewhere). Icons are always visible — board chrome, not hover-revealed. Idiom rule: Sort + Hide are the DESKTOP column-header cluster. On the MOBILE pager (one status column per swipe screen) Sort persists (per-page sort) but Hide is ABSENT — a one-column-per-screen pager has no side-by-side columns to collapse. General principle: a desktop affordance that manages a side-by-side spatial condition does not exist in the pager idiom.
5 · Column sort menu — open (PRESCRIPTIVE)
Working48
PRESCRIPTIVE. Locked dropdown-menu recipe. Manual Order = default (the kanban drag order); sort is per-column and session-sticky. Lead Score (ruling 07-10) sorts high→low by the current score rank; unscored cards sink to the bottom.
Supersedes the restore pill — ONE in-place affordance: a hidden column collapses WHERE IT LIVES to a slim content-hugging full-height rail (8px · letter · 8px · eye · 8px) (same status-02 tint + radius as the column container): first letter in status-01 over a small eye; the whole rail is one click target (tooltip "Show Fresh"). Spatial continuity — no affordance teleports to the board edge. Shown beside an expanded column fragment.
PRESCRIPTIVE — no new atom: the locked quick-filter chip recipe (the All/Mine/Unassigned family) with its locked selected state. Lives in the page header next to the quick filters (Taylor ruling); toggles the whole board between full Stacklight cards and the 56px compact cards (see comp-deal-card).