"`;
-exports[`Autocomplete.Parts > snapshots > open autocomplete 1`] = `"
Apple
Banana
Cherry
Date
Elderberry
No suggestions
"`;
+exports[`Autocomplete.Parts > snapshots > open autocomplete 1`] = `"
Apple
Banana
Cherry
Date
Elderberry
No suggestions
"`;
exports[`Autocomplete.Parts > snapshots > with groups 1`] = `""`;
diff --git a/packages/core/__snapshots__/src__components__combobox.test.tsx.snap b/packages/core/__snapshots__/src__components__combobox.test.tsx.snap
index 27d77a57..bca3c0bc 100644
--- a/packages/core/__snapshots__/src__components__combobox.test.tsx.snap
+++ b/packages/core/__snapshots__/src__components__combobox.test.tsx.snap
@@ -2,7 +2,7 @@
exports[`Combobox.Parts > snapshots > closed combobox with placeholder 1`] = `""`;
-exports[`Combobox.Parts > snapshots > open combobox 1`] = `"
Apple
Banana
Cherry
Date
Elderberry
No results found
"`;
+exports[`Combobox.Parts > snapshots > open combobox 1`] = `"
Apple
Banana
Cherry
Date
Elderberry
No results found
"`;
exports[`Combobox.Parts > snapshots > with InputGroup, Clear, and Trigger 1`] = `""`;
diff --git a/packages/core/skills/app-shell-patterns/SKILL.md b/packages/core/skills/app-shell-patterns/SKILL.md
deleted file mode 100644
index 81125253..00000000
--- a/packages/core/skills/app-shell-patterns/SKILL.md
+++ /dev/null
@@ -1,79 +0,0 @@
----
-name: app-shell-patterns
-description: "Best-practice UI patterns and correct component usage for building pages in apps that use @tailor-platform/app-shell. Use when: building or editing any screen, page, list, table, detail view, form, modal, dialog, wizard, or bulk/confirm/toast interaction in an app with @tailor-platform/app-shell installed — or when choosing the right AppShell component, layout, or design token for a UI."
----
-
-# App-Shell Patterns
-
-## Purpose
-
-Select and implement the correct UI pattern using @tailor-platform/app-shell components.
-
-## Fundamental References
-
-These are the foundational rules that underpin all patterns. All patterns build on top of these references.
-
-| File | Description |
-| ----------------------------------------------------------- | ----------------------- |
-| [components.md](references/fundamental/components.md) | components reference |
-| [design-system.md](references/fundamental/design-system.md) | design-system reference |
-| [graphql.md](references/fundamental/graphql.md) | graphql reference |
-
-## Available Patterns
-
-### detail
-
-| Slug | Name | Description |
-| ----------------------------------------------------------------------------- | ------------------------ | --------------------------------------------------------------------- |
-| [`detail/hero-with-actions`](references/patterns/detail-hero-with-actions.md) | Hero With Actions Detail | Single-record detail view with workflow actions and activity timeline |
-
-### form
-
-| Slug | Name | Description |
-| ------------------------------------------------------------- | ---------------- | --------------------------------------------------------------------------------- |
-| [`form/modal`](references/patterns/form-modal.md) | Modal Form | Default form pattern for Create/Edit — keeps user in context on the parent screen |
-| [`form/sectioned`](references/patterns/form-sectioned.md) | Sectioned Form | Complex form with 15+ fields organized into named fieldset sections |
-| [`form/single-page`](references/patterns/form-single-page.md) | Single Page Form | Routed full-page form for moderate field count (6-15) without natural sectioning |
-| [`form/wizard`](references/patterns/form-wizard.md) | Wizard Form | Multi-stage create flow with 3-7 steps and per-step validation gates |
-
-### interaction
-
-| Slug | Name | Description |
-| ----------------------------------------------------------------------------- | ------------ | --------------------------------------------------------------------- |
-| [`interaction/confirm`](references/patterns/interaction-confirm.md) | Confirm | Confirmation dialog before destructive or irreversible actions |
-| [`interaction/multi-select`](references/patterns/interaction-multi-select.md) | Multi Select | Floating bottom action bar for bulk operations on selected list rows |
-| [`interaction/toast`](references/patterns/interaction-toast.md) | Toast | Lightweight feedback after mutations — success or error notifications |
-
-### list
-
-| Slug | Name | Description |
-| ----------------------------------------------------------- | --------------- | ------------------------------------------------------------------------------------------------------- |
-| [`list/dense-scan`](references/patterns/list-dense-scan.md) | Dense Scan List | High-density scannable list backed by GraphQL connections with DataTable, sort, filters, and pagination |
-
-## How to Use
-
-1. Identify the user's intent (list, detail, form, interaction, screen composition, recipe)
-2. Match constraints to an entry slug from the tables above
-3. Read the entry's detailed spec: `references//.md` (relative to this file)
-4. Read fundamental references for component APIs, design tokens, and GraphQL conventions: `references/fundamental/`
-5. Implement using ONLY the imports listed in the entry's `requiredImports`
-
-## Rules
-
-- ALWAYS cite the entry slug in a comment at the top of the file:
- `/* pattern: list/dense-scan */`
-- NEVER mix patterns in a single page component
-- ALWAYS use AppShell components — do NOT use raw HTML or third-party UI libraries
-- If no entry matches, compose directly from fundamental references
-
-### Cross-cutting UX rules (apply to every screen)
-
-Full rationale in [`design-system.md`](references/fundamental/design-system.md) → Composition & emphasis rules.
-
-- **One primary action per view:** at most one primary/filled `Button`; everything else is `outline`/`secondary`/`ghost`.
-- **Status badges by semantic color:** a **filled** semantic variant for the record's primary/lifecycle status, **`outline-*`** for secondary statuses, **`subtle-*`** for tags; reserve brand `default` for non-status emphasis.
-- **No duplicate actions:** an action lives in exactly one place — never repeat the same action in both `Layout.Header` and `ActionPanel`.
-- **Action placement:** primary CTA + status in `Layout.Header`; workflow actions in `ActionPanel`; back/navigation in the breadcrumb — never in `ActionPanel`.
-- **Metric tiles always go in a `Grid`** (`columns={{ initial: 1, md: 2, xl: 4 }}`) — never one-per-row.
-- **Forms default to `form/modal`** — only build a routed full-page form when the design explicitly calls for one.
-- **Handle every state:** loading (skeleton), empty (labelled empty state), and error (inline + retry) — never ship only the happy path.
diff --git a/packages/core/skills/app-shell-patterns/references/fundamental/components.md b/packages/core/skills/app-shell-patterns/references/fundamental/components.md
deleted file mode 100644
index e752f4b9..00000000
--- a/packages/core/skills/app-shell-patterns/references/fundamental/components.md
+++ /dev/null
@@ -1,825 +0,0 @@
-# AppShell Components
-
-> **AppShell version:** `1.7.0` (matches `packages/erp-kit/templates/scaffold/app/*/frontend/package.json` pinned `@tailor-platform/app-shell` semver)
-> **Source of truth:** `@tailor-platform/app-shell` exports
-> **Update process:** see "Keeping this file in sync" at the bottom
-
-## Scope vs design-system.md
-
-| This file (`components.md`) | `design-system.md` |
-| ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
-| **Imports**, compound structure, hooks, canonical **composition** (`Card` + `Table`, `DataTable`, `Dialog`, etc.) | **Tokens**, theme imports, typography/spacing/radius/elevation **tables**, breakpoints **intent** |
-| JSX examples tied to ERP patterns (`patterns/*`) | **`astw:`** rules — only on AppShell `*ClassName` props; plain utilities on **your** elements |
-| Prop summaries + links to upstream `docs/components/*.md` | **Visual conformance**: no magic colors/px on custom markup, motion, dark mode |
-
-**Rule of thumb:** “Which component / prop?” → **here.** “Which token / spacing step / elevation?” → **`design-system.md`** §§4–6.
-
-This file intentionally does **not** duplicate full token catalogs. “Every heading here ≈ documented export cluster” maintenance lives in **Keeping this file in sync** — upstream npm remains authoritative for completeness.
-
-Entries follow this shape:
-
-```
-**Import:** how to import it
-**Purpose:** one sentence
-**API:** key props or sub-components
-**Example:** minimal JSX
-**Used in patterns:** which patterns//.md cite this component
-**Notes:** version-specific quirks (optional)
-```
-
-For the full upstream API of any component, follow the link to the published reference at the top of its section.
-
----
-
-## Layout primitives
-
-### `AppShell`
-
-**Import:** `import { AppShell } from '@tailor-platform/app-shell'`
-**Purpose:** Application root — wraps `` with AppShell context, theme, and routing.
-**API:** Compound — `AppShell.Root`, plus subcomponents wired through `AppShellProps`. Configured once in `App.tsx`.
-**Example:** see `project-setup.md`.
-**Used in patterns:** all (root container).
-
-### `Layout`
-
-> Full API: [https://raw.githubusercontent.com/tailor-platform/app-shell/refs/heads/main/docs/components/layout.md](https://raw.githubusercontent.com/tailor-platform/app-shell/refs/heads/main/docs/components/layout.md)
-
-**Import:** `import { Layout } from '@tailor-platform/app-shell'`
-**Purpose:** Standard page container with header + 1–N column body. The most-used component — every page wraps content in ``.
-**API:** `Layout` (root) + `Layout.Column` + `Layout.Header`. `LayoutProps`: `fill` (boolean), `columns` (number, default auto-detected from children), `gap`, `title`, `actions`, `className`, `style`.
-
-**`fill`** — stretches the layout to the available height and bounds the column row so children can scroll internally instead of growing the page. Use on table-first pages (`` + `DataTable`): the title, table toolbar, sticky column headers, and pagination footer stay pinned while only the rows scroll — see **`patterns/list-dense-scan.md`**. Omit on pages that should flow and scroll naturally (forms, dashboards).
-
-**Column-count → width rules** (column count is auto-detected from `Layout.Column` children):
-
-| Columns | Breakpoint | Widths | Below breakpoint |
-| ------- | ---------- | ------------------------------ | ---------------- |
-| 1 | always | full | n/a |
-| 2 | ≥ 1024px | flex + 280px | stacks |
-| 3 | ≥ 1280px | 320px + flex + 280px | stacks |
-| 4+ | ≥ 1280px | equal share — `repeat(N, 1fr)` | stacks |
-
-Desktop breakpoints and desktop-first rationale: **`design-system.md`** §4 Breakpoints. This table is **`Layout` column mechanics only**.
-
-**`Layout.Header`** — direct child of ``, above any ``. Only the first is rendered if multiple are passed.
-
-| Prop | Type | Description |
-| ---------- | ------------------- | ------------------------------------------------ |
-| `title` | `string` | Page title — `
` on the left |
-| `actions` | `React.ReactNode[]` | Buttons on the right |
-| `children` | `React.ReactNode` | Full-width row below title — typical use is tabs |
-
-**`Layout.Column`** — direct child, accepts `area` (`"left" | "main" | "right"`) for advanced placement override. If any column declares `area`, all columns switch to area-based widths (`left`=320, `main`=flex, `right`=280) and render in source order.
-
-**Example — list page header with tabs:**
-
-```tsx
-import { Button, Layout, Tabs } from "@tailor-platform/app-shell";
-
-
- Create]}>
-
-
- All
- Open
-
-
-
- {/* table — see patterns/list/dense-scan.md */}
-;
-```
-
-**Example — detail page, 2-column with area mode:**
-
-```tsx
-
- Edit]} />
-
-
-
-
-
-
-
-
-```
-
-**Notes:** Children that aren't `Layout.Header` or `Layout.Column` are filtered out. Column gap overrides (``) → **`design-system.md`** §5 (`astw:` rules).
-
-**Used in patterns:** every page pattern (`list/*`, `detail/*`, `form/*`).
-
-### `Grid`
-
-**Import:** `import { Grid } from '@tailor-platform/app-shell'`
-**Purpose:** Presentational CSS-Grid container for laying tiles/cards into equal or custom columns with responsive reflow — the canonical wrapper for **metric / KPI strips** and card galleries. Purely layout; makes no data assumptions.
-**API:** `GridProps` — `columns` (number | CSS track string like `"280px 1fr"` | responsive object `{ initial, sm, md, lg, xl }`), `gap` (spacing step, default `3`) plus `gapX` / `gapY`, `minChildWidth` (auto-fit: as many ≥Npx columns as fit, no breakpoints needed), `rows`, `flow`, `align`, `justify`. Sub-component **`Grid.Item`** for spanning/placement — `colSpan`, `rowSpan`, `colStart`, `colEnd` (all responsive). Root carries `data-slot="grid"`.
-**Example — responsive KPI grid:**
-
-```tsx
-import { Grid, MetricCard } from "@tailor-platform/app-shell";
-
-
-
-
-
-
-;
-```
-
-**Used in patterns:** metric / KPI strips on `detail/*` and dashboards; any equal-column card layout.
-
-**Notes:** Metric tiles and KPI cards **always** go in a `Grid` — never stacked one-per-row or in a single column. Use a responsive `columns` object (e.g. `{ initial: 1, md: 2, xl: 4 }`) so tiles reflow at smaller widths; reach for `minChildWidth` when the tile count is dynamic.
-
-### `SidebarLayout`
-
-**Import:** `import { SidebarLayout } from '@tailor-platform/app-shell'`
-**Purpose:** Top-level layout that mounts the sidebar and renders the page outlet.
-**API:** `SidebarLayoutProps` — `sidebar`, `header`, and `children` are full-region slots (each defaults to a built-in). `sidebar` defaults to `SidebarLayout.DefaultSidebar`; `header` defaults to `SidebarLayout.DefaultHeader`. Used in `App.tsx`.
-**Used in patterns:** consumed by AppShell init, not directly by page patterns. See `project-setup.md`.
-
-### `SidebarLayout.DefaultHeader` (`DefaultHeader`)
-
-**Import:** `import { SidebarLayout } from '@tailor-platform/app-shell'` → `SidebarLayout.DefaultHeader` (also top-level `DefaultHeader`)
-**Purpose:** The built-in top bar (trigger + breadcrumb, plus an `actions` cluster). Drop into `SidebarLayout`'s `header` slot to extend the header without rebuilding it.
-**API:** `actions?: ReactNode | ReactNode[]` — the right-hand cluster (opinionated flex row). **Defaults to `[]`, and passing `actions` REPLACES the switcher** — include `` in the array to keep it. `actions={[]}` = empty right side.
-**Used in patterns:** project-level header customization (notification bell, user menu). See `project-setup.md`.
-
-### `SidebarLayout.DefaultSidebar` (`DefaultSidebar`), `SidebarGroup`, `SidebarItem`, `SidebarSeparator`
-
-**Import:** `import { SidebarLayout, SidebarGroup, SidebarItem, SidebarSeparator } from '@tailor-platform/app-shell'` → `SidebarLayout.DefaultSidebar` (also top-level `DefaultSidebar`)
-**Purpose:** Sidebar composition. `DefaultSidebar` auto-resolves nav items from `appShellPageProps.meta` on each page; the others let you customize manually.
-**Used in patterns:** sidebar is a project-level concern. See `project-setup.md`.
-
-### `AppearanceSwitcher`
-
-**Import:** `import { AppearanceSwitcher } from '@tailor-platform/app-shell'`
-**Purpose:** Palette-icon dropdown for Light/Dark/System color mode. The default `SidebarLayout.DefaultHeader` action; also usable standalone (e.g. a sidebar footer). Include it in `DefaultHeader`'s `actions` array when customizing the header to keep it visible.
-**API:** No props — reads/writes theme via `useTheme`.
-**Used in patterns:** project-level. See `project-setup.md`.
-
-### `CommandPalette`
-
-**Import:** `import { CommandPalette } from '@tailor-platform/app-shell'`
-**Purpose:** Cmd/Ctrl-K command palette. Auto-discovers searchable resources via `defineResource`.
-**API:** Renderless — drop into the layout once.
-**Used in patterns:** project-level. Useful for any app with >10 routes.
-
----
-
-## Interaction surfaces
-
-### `Button`
-
-> Full API: [https://raw.githubusercontent.com/tailor-platform/app-shell/refs/heads/main/docs/components/button.md](https://raw.githubusercontent.com/tailor-platform/app-shell/refs/heads/main/docs/components/button.md)
-
-**Import:** `import { Button } from '@tailor-platform/app-shell'`
-**Purpose:** All buttons in the app — including polymorphic rendering via the `render` prop.
-**API:** `ButtonProps` extends native `
-Delete
-```
-
-**Used in patterns:** every pattern.
-
-### `Link`
-
-**Import:** `import { Link } from '@tailor-platform/app-shell'`
-**Purpose:** Router-aware anchor. Re-exported from `react-router` so the rest of the app stays on the AppShell barrel.
-**API:** `to`, `replace`, `state`, etc. — same as `react-router`.
-**Used in patterns:** all (navigation).
-
-### `Dialog`
-
-> Full API: [https://raw.githubusercontent.com/tailor-platform/app-shell/refs/heads/main/docs/components/dialog.md](https://raw.githubusercontent.com/tailor-platform/app-shell/refs/heads/main/docs/components/dialog.md)
-
-**Import:** `import { Dialog } from '@tailor-platform/app-shell'`
-**Purpose:** Modal dialog for confirmations, ≤5-field forms, blocking workflows.
-**API:** Compound — `Dialog.Root`, `Dialog.Trigger`, `Dialog.Content`, `Dialog.Header`, `Dialog.Title`, `Dialog.Description`, `Dialog.Footer`, `Dialog.Close`. Controllable via `open` + `onOpenChange`.
-**Example:**
-
-```tsx
-
- }>Delete
-
-
- Delete order #1234?
- This cannot be undone.
-
-
- }>Cancel
-
- Delete
-
-
-
-
-```
-
-**Used in patterns:** `form/modal`, `interaction/confirm`.
-
-### `Sheet`
-
-> Full API: [https://raw.githubusercontent.com/tailor-platform/app-shell/refs/heads/main/docs/components/sheet.md](https://raw.githubusercontent.com/tailor-platform/app-shell/refs/heads/main/docs/components/sheet.md)
-
-**Import:** `import { Sheet } from '@tailor-platform/app-shell'`
-**Purpose:** Slide-in panel from any edge. Use for filters, side-work without losing context.
-**API:** Compound — `Sheet.Root` (with `side: 'left' | 'right' | 'top' | 'bottom'`), `Sheet.Trigger`, `Sheet.Content`, `Sheet.Header`, `Sheet.Title`, `Sheet.Description`, `Sheet.Footer`, `Sheet.Close`.
-**Example:**
-
-```tsx
-
- }>Filters
-
-
- Filter orders
-
- {/* filter inputs */}
-
- }>Clear
- Apply
-
-
-
-```
-
-**Used in patterns:** `list/*` (filter sheet variant).
-
-**Notes:** Size the panel with **`contentClassName`** (often `astw:*` utilities). Rules → **`design-system.md`** §5.
-
-### `Menu`
-
-> Full API: [https://raw.githubusercontent.com/tailor-platform/app-shell/refs/heads/main/docs/components/menu.md](https://raw.githubusercontent.com/tailor-platform/app-shell/refs/heads/main/docs/components/menu.md)
-
-**Import:** `import { Menu } from '@tailor-platform/app-shell'`
-**Purpose:** Dropdown menu — row actions, overflow actions, grouped commands.
-**API:** Compound — `Menu.Root`, `Menu.Trigger`, `Menu.Content`, `Menu.Item`, `Menu.Separator`, `Menu.Group`, `Menu.GroupLabel`. Supports checkbox/radio items and nested sub-menus.
-**Example:**
-
-```tsx
-
-
-
-
-
-
-
- handleAssign(id)}>Assign
- handleDuplicate(id)}>Duplicate
-
- handleDelete(id)}>Delete
-
-
-```
-
-**Used in patterns:** `list/*` (row actions), `detail/*` (overflow actions).
-
-**Notes:** **`list-dense-scan`** uses whole-row / primary-column navigation — keep row `Menu` items **non-navigation** (Assign, Duplicate, Delete). Avoid redundant **View**/**Open**. Detail overflows may include navigation only when not duplicating hero content.
-
-### `Tooltip`
-
-**Import:** `import { Tooltip } from '@tailor-platform/app-shell'`
-**Purpose:** Contextual hint on hover/focus. Use sparingly — for icon-only buttons or constrained labels.
-**API:** Compound — `Tooltip.Root`, `Tooltip.Trigger`, `Tooltip.Content`.
-**Used in patterns:** any pattern with icon-only buttons (must have `aria-label` AND a tooltip).
-
-### `Tabs`
-
-**Import:** `import { Tabs } from '@tailor-platform/app-shell'`
-**Purpose:** In-page tab navigation — split one record's sections (Overview / Line items / Activity) or bucket a list (All / Open / …) into switchable panels. Presentational; owns only the active-tab state.
-**API:** Compound — `Tabs.Root` (`variant`: `default | line | capsule`; controlled `value` + `onValueChange`, or uncontrolled `defaultValue`), `Tabs.List`, `Tabs.Tab` (`value`), `Tabs.Panel` (`value`). Note: the sub-component is **`Tabs.Tab`**, not `Tabs.Trigger`.
-**Example:**
-
-```tsx
-
-
- Overview
- Line items
-
- {/* … */}
- {/* … */}
-
-```
-
-**Used in patterns:** `list-dense-scan` (bucket tabs composed **above** `DataTable.Root`, synced to `useCollectionVariables` — see the `DataTable` "Bucket tabs" note), `detail/*` (sectioned record content).
-
-**Notes:** For lists, AppShell's own filtering surface is **toolbar chips** (`DataTable.Filters`), not tabs — reach for `Tabs` only when the business genuinely thinks in a small set of named buckets. Don't render a `Tab` per enum value where a filter chip belongs.
-
----
-
-## Display
-
-### `Badge`
-
-> Full API: [https://raw.githubusercontent.com/tailor-platform/app-shell/refs/heads/main/docs/components/badge.md](https://raw.githubusercontent.com/tailor-platform/app-shell/refs/heads/main/docs/components/badge.md)
-
-**Import:** `import { Badge } from '@tailor-platform/app-shell'`
-**Purpose:** Status labels and small categorical chips.
-**API:** `BadgeProps` — `variant` (15 total):
-
-- **Filled** (high emphasis): `default` (primary), `success`, `warning`, `error`, `neutral`, `info`
-- **Subtle** (low emphasis, tinted): `subtle-success`, `subtle-warning`, `subtle-error`, `subtle-info`
-- **Outline** (renders a status dot — for row/list statuses): `outline-success`, `outline-warning`, `outline-error`, `outline-info`, `outline-neutral`
-
-Plus `badgeVariants` CVA for custom-styled siblings.
-**Example:**
-
-```tsx
-// Primary / lifecycle status — filled semantic variant
-Confirmed
-// Secondary status (delivery, billing) — outline with status dot
-Partially received
-// Tag / label — subtle
-New
-```
-
-**Used in patterns:** `list/*` (status column → `outline-*`), `detail/*` (header status).
-
-**Notes:** Encode status by **semantic color** with a primary/secondary split: a record's **primary/lifecycle status** uses a **filled** semantic variant (one per row / one in a detail header); **secondary statuses** (delivery, billing) use **`outline-*`** (status dot); tags use **`subtle-*`**. Reserve **`default`** (brand) for non-status emphasis. Full rule: **`design-system.md`** → Composition & emphasis rules.
-
-### `Table`
-
-> Full API: [https://raw.githubusercontent.com/tailor-platform/app-shell/refs/heads/main/docs/components/table.md](https://raw.githubusercontent.com/tailor-platform/app-shell/refs/heads/main/docs/components/table.md)
-
-**Import:** `import { Table } from '@tailor-platform/app-shell'`
-**Purpose:** Semantic data table with scrollable container.
-**API:** Compound — `Table.Root`, `Table.Header`, `Table.Body`, `Table.Footer`, `Table.Row`, `Table.Head`, `Table.Cell`, `Table.Caption`. `Table.Root` accepts `containerClassName` for the outer wrapper, `className` for the inner `
`. `Table.Head` and `Table.Cell` accept **`align`** (`"left" | "center" | "right"`, default `"left"`) — prefer this over ad-hoc `className="astw:text-right"` and pair the same alignment on the head and its column's cells (right for numeric/money, center for compact status/icon columns).
-**Example:**
-
-```tsx
-
-
-
- Order
- Status
- Total
-
-
-
- {orders.map((o) => (
-
- {o.number}
-
- {o.status}
-
- {formatMoney(o.total)}
-
- ))}
-
-
-```
-
-**Used in patterns:** `list-dense-scan` hand-built subsets / static tables (`DataTable` is preferred for wired lists).
-
-**Notes:**
-
-- **Inside a card?** Pass `containerClassName="astw:px-6"` on `Table.Root` for the horizontal inset, and either drop `Card.Content` (bare list form) or pass `Card.Content className="astw:px-0"` (header+content form). Skipping the `containerClassName` lands the first column flush against the card edge. See the `Card` entry for the two canonical forms and a DON'T example. Dense cell typography (**`text-body-sm`**, **`text-mono`**) → **`design-system.md`** §4 Typography.
-- **Whole row is clickable.** Use ` navigate(detailPath)} className="astw:cursor-pointer">`. For keyboard and screen-reader users, also wrap the primary identifier cell content in `` (so the row is reachable via Tab; `Table.Row` is a `