@jirawatpyk/aura-react 5.86.0 → 5.87.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -248,6 +248,21 @@ DataTable with sort and page in the URL (4.17): `onStateChange={({ sort, page })
248
248
  - **Time zone**: `timeZone` on AuraProvider, DatePicker, DateRangePicker and Calendar decides "today" (the marker, `min`/`max="today"`, the first month shown); or pass `today` as an ISO date. `todayIn('Asia/Bangkok')` is exported from the root and `/server`.
249
249
  - **Toasts** queue past three instead of dropping: six in a row all show, in order, three at a time.
250
250
 
251
+ ## 5.87 — Chamber-OS 203–205 (one full-width button shape, DataTable stacked list and headers)
252
+
253
+ - **Full-width buttons** (#203): one shape wherever they sit — PageHeader's `actionsFullWidthBelow` actions, a `fullWidth` / `fullWidth="below-sm" | "below-md"` Button (in an Alert, a Card, a stacked card's `footer`), a phone sheet's or drawer's footer button. At the default 44px a one-line label is the lozenge; a label that wraps is a rounded box with 22px corners (half the 44px button), not a stretched pill. Before, PageHeader's full-width actions were `--aura-radius-md` boxes even on one line (5.78) while every other full-width button stayed a pill. CSS only (the corners are `min(var(--aura-button-radius), 22px)`, so a theme with square buttons keeps them square); no JS, no flash. Above the breakpoint buttons are pills as before. In the pinned bottom strips (ActionBar `edge`, PageHeader `actionsBarBelow`) buttons share the row or take one each; a label too long even for its own row wraps there too.
254
+ - **DataTable `stackStyle`** (#204): `'cards'` (default, as before) or `'list'` — below `stackBelow` the rows keep the stacked layout (title, pill and actions on the first line, fields two to a line) but are one list divided by `--aura-border-default` rules: no frame, radius or gap per row; the select-all line, totals row and pager are unframed, after a rule. So a DataTable sits inside a framed `Card` (with `bleed`, level with the Card's content) without cards in a card. The grid above `stackBelow` is unchanged; same in the server HTML (a class).
255
+
256
+ ```tsx
257
+ <Card title="Invoices">
258
+ <DataTable label="Invoices" stackBelow={640} stackStyle="list" bleed columns={cols} rows={rows} />
259
+ </Card>
260
+ ```
261
+
262
+ - **DataTable stacked headers** (#205): while the cards show, the grid's column headers are out of the accessibility tree (`display: none`), card-only `grid: false` columns included; only the select-all line stays (when it shows). Each card field's label is now read with its value ("Amount 12,400.00 THB") instead of being silent generated content beside a hidden header. A column whose `label` is `''` has a header with no name — before, it fell back to the column `key` ("cardSummary"); `actions` columns still read "Actions". A column the grid shows should keep a `label` (axe's best-practice `empty-table-header` flags an unnamed header); `''` is for card-only (`grid: false`) columns. A tab stop left on a header when the table narrows into cards moves to the first card. The cards have no sort or column menu (they were never reachable from the keyboard there); sort them with your own control bound to `sort` / `onSortChange` while stacked.
263
+ - **Long action labels:** a label longer than the phone's row wraps in PageHeader's `actionsFullWidthBelow` actions (with no IconButton beside it), in its `actionsBar` / `actionsBarBelow` strip and in ActionBar's edge strip — inside its button, which becomes the 22px-cornered box (5.87) — instead of pushing the page sideways. Labels that fit still share the row or take one each as before (the share is `min-width: fit-content`, falling back to the old `max-content` in browsers without it). On one line a button keeps its height: a `size="sm"` one in the page, and 44px in a strip on a phone whatever the density (5.54/5.55).
264
+ - **Tests:** the layout-before-hydration pages hold their first paint until the whole server HTML is parsed (`<link rel="expect" blocking="render">`). A half-parsed paint — a card row whose pill (`order: 2`) isn't parsed yet puts a field on its first line — failed the check at random, about one run in four on a slow machine. A negative control (a block added after hydration) checks that shifts are still counted.
265
+
251
266
  ## 5.86 — Chamber-OS 199–202 (Card names, DataTable column numbering, EmptyState icons)
252
267
 
253
268
  - **Card `titleId`** (#199): a titled Card labels its root by its title (`aria-labelledby`) only where the root takes a name — the default `section`, `article`, `aside`, `nav`, `main`, `search`, `form`, `fieldset`, `details`, `dialog`, `figure`, `li`, `ul`, `ol`, `menu`, or any root with a `role` (the first token of a role list; except `generic`, `none`, `presentation` and the other roles that prohibit a name). With `as="div"` and no role the heading keeps its `id` and the root stays unlabelled; before, it carried an `aria-labelledby` that ARIA 1.2 prohibits (axe `aria-prohibited-attr`) and screen readers ignored. A step card in a list of steps can now use `title`. Same from `/server`.
@@ -290,8 +305,8 @@ DataTable with sort and page in the URL (4.17): `onStateChange={({ sort, page })
290
305
 
291
306
  ## 5.78 — visual audit, set 2 (phones)
292
307
 
293
- - **Bottom strips on a phone follow one rule:** ActionBar's edge strip (`look="edge"`, `edgeBelow`) now lays out as PageHeader's bar (5.48) — the status on its own row at the top, the actions sharing the row under it (an IconButton keeps its square; labels too long to share take a row each, as PageHeader's) — and both strips are 16px from either side, the page's phone gutter (they were 16 and 12). `edgeBelow="md"` follows it up to 768px. A single label wider than the screen still overflows, as in PageHeader's strip — keep bar labels short.
294
- - **PageHeader `actionsFullWidthBelow`:** on a phone its buttons are `--aura-radius-md` boxes, so a label that wraps to two lines is a rounded box, not a lozenge (the ⋯ IconButton stays round) — also the header's own actions beside an `actionsBar` strip. The bottom strip keeps its pill buttons.
308
+ - **Bottom strips on a phone follow one rule:** ActionBar's edge strip (`look="edge"`, `edgeBelow`) now lays out as PageHeader's bar (5.48) — the status on its own row at the top, the actions sharing the row under it (an IconButton keeps its square; labels too long to share take a row each, as PageHeader's) — and both strips are 16px from either side, the page's phone gutter (they were 16 and 12). `edgeBelow="md"` follows it up to 768px. A single label wider than the screen wraps inside its button (5.87; before, it overflowed).
309
+ - **PageHeader `actionsFullWidthBelow`:** on a phone its buttons are `--aura-radius-md` boxes, so a label that wraps to two lines is a rounded box, not a lozenge (the ⋯ IconButton stays round) — also the header's own actions beside an `actionsBar` strip. The bottom strip keeps its pill buttons (5.87: one shape for full-width buttons — 22px corners, the same lozenge on one line).
295
310
  - **A document number in a PageHeader title stays whole:** in a plain-text title, a short token with a digit and a hyphen ("Invoice SC-2026-900001") never breaks at its hyphens; the line breaks before it. The text is unchanged (a `.aura-nowrap` span, a utility you can use too).
296
311
  - **DataTable cards with `columnControls`:** the column picker's slot no longer squeezes the card's title (it took 48px of the first line).
297
312
  - **StatusTile:** a host or a path in a plain-text title ("api.example.co.th") breaks after a dot or a slash, not in the middle of a label.
@@ -6724,10 +6724,11 @@ window.Aura = (() => {
6724
6724
  },
6725
6725
  [stacked]
6726
6726
  );
6727
+ const tabR = stacked && ar === 0 && nRows > 0 && (!(selectable && acShown === 0) || noCardSel) ? 1 : ar;
6727
6728
  function tabFor(r2, c) {
6728
6729
  if (tabMode) return -1;
6729
6730
  if (!activeRendered) return r2 === 0 && c === ac ? 0 : -1;
6730
- return r2 === ar && c === acShown ? 0 : -1;
6731
+ return r2 === tabR && c === acShown ? 0 : -1;
6731
6732
  }
6732
6733
  React34.useEffect(function() {
6733
6734
  const p = pending.current;
@@ -7211,7 +7212,7 @@ window.Aura = (() => {
7211
7212
  size: 12
7212
7213
  }
7213
7214
  )
7214
- ) : /* @__PURE__ */ React34.createElement("span", { className: cx("aura-table__th-label", !c.label && "aura-sr-only") }, c.label || (c.actions ? t.actions : c.key)), pin ? /* @__PURE__ */ React34.createElement(Icon, { name: /* @__PURE__ */ React34.createElement(IconPin, null), size: 12, className: "aura-table__pin-icon", label: t.pinned }) : null, controls ? /* @__PURE__ */ React34.createElement(
7215
+ ) : /* @__PURE__ */ React34.createElement("span", { className: cx("aura-table__th-label", !c.label && "aura-sr-only") }, c.label || (c.actions ? t.actions : null)), pin ? /* @__PURE__ */ React34.createElement(Icon, { name: /* @__PURE__ */ React34.createElement(IconPin, null), size: 12, className: "aura-table__pin-icon", label: t.pinned }) : null, controls ? /* @__PURE__ */ React34.createElement(
7215
7216
  "button",
7216
7217
  {
7217
7218
  type: "button",
@@ -7587,6 +7588,7 @@ window.Aura = (() => {
7587
7588
  props.bordered === false && "aura-table--borderless",
7588
7589
  stacked && "aura-table--stacked",
7589
7590
  noCardSel && "aura-table--cards-nosel",
7591
+ props.stackStyle === "list" && "aura-table--stack-list",
7590
7592
  scrolledX[0] && "is-scrolled-x",
7591
7593
  edgeState[0] && !stacked && "has-more-x",
7592
7594
  refreshing && "is-refreshing",
@@ -6706,10 +6706,11 @@ var DataTableImpl = React34.forwardRef(function DataTable(props, ref) {
6706
6706
  },
6707
6707
  [stacked]
6708
6708
  );
6709
+ const tabR = stacked && ar === 0 && nRows > 0 && (!(selectable && acShown === 0) || noCardSel) ? 1 : ar;
6709
6710
  function tabFor(r2, c) {
6710
6711
  if (tabMode) return -1;
6711
6712
  if (!activeRendered) return r2 === 0 && c === ac ? 0 : -1;
6712
- return r2 === ar && c === acShown ? 0 : -1;
6713
+ return r2 === tabR && c === acShown ? 0 : -1;
6713
6714
  }
6714
6715
  React34.useEffect(function() {
6715
6716
  const p = pending.current;
@@ -7193,7 +7194,7 @@ var DataTableImpl = React34.forwardRef(function DataTable(props, ref) {
7193
7194
  size: 12
7194
7195
  }
7195
7196
  )
7196
- ) : /* @__PURE__ */ React34.createElement("span", { className: cx("aura-table__th-label", !c.label && "aura-sr-only") }, c.label || (c.actions ? t.actions : c.key)), pin ? /* @__PURE__ */ React34.createElement(Icon, { name: /* @__PURE__ */ React34.createElement(IconPin, null), size: 12, className: "aura-table__pin-icon", label: t.pinned }) : null, controls ? /* @__PURE__ */ React34.createElement(
7197
+ ) : /* @__PURE__ */ React34.createElement("span", { className: cx("aura-table__th-label", !c.label && "aura-sr-only") }, c.label || (c.actions ? t.actions : null)), pin ? /* @__PURE__ */ React34.createElement(Icon, { name: /* @__PURE__ */ React34.createElement(IconPin, null), size: 12, className: "aura-table__pin-icon", label: t.pinned }) : null, controls ? /* @__PURE__ */ React34.createElement(
7197
7198
  "button",
7198
7199
  {
7199
7200
  type: "button",
@@ -7569,6 +7570,7 @@ var DataTableImpl = React34.forwardRef(function DataTable(props, ref) {
7569
7570
  props.bordered === false && "aura-table--borderless",
7570
7571
  stacked && "aura-table--stacked",
7571
7572
  noCardSel && "aura-table--cards-nosel",
7573
+ props.stackStyle === "list" && "aura-table--stack-list",
7572
7574
  scrolledX[0] && "is-scrolled-x",
7573
7575
  edgeState[0] && !stacked && "has-more-x",
7574
7576
  refreshing && "is-refreshing",
@@ -599,10 +599,11 @@ const DataTableImpl = React.forwardRef(function DataTable(props, ref) {
599
599
  },
600
600
  [stacked]
601
601
  );
602
+ const tabR = stacked && ar === 0 && nRows > 0 && (!(selectable && acShown === 0) || noCardSel) ? 1 : ar;
602
603
  function tabFor(r, c) {
603
604
  if (tabMode) return -1;
604
605
  if (!activeRendered) return r === 0 && c === ac ? 0 : -1;
605
- return r === ar && c === acShown ? 0 : -1;
606
+ return r === tabR && c === acShown ? 0 : -1;
606
607
  }
607
608
  React.useEffect(function() {
608
609
  const p = pending.current;
@@ -1086,7 +1087,7 @@ const DataTableImpl = React.forwardRef(function DataTable(props, ref) {
1086
1087
  size: 12
1087
1088
  }
1088
1089
  )
1089
- ) : /* @__PURE__ */ React.createElement("span", { className: cx("aura-table__th-label", !c.label && "aura-sr-only") }, c.label || (c.actions ? t.actions : c.key)), pin ? /* @__PURE__ */ React.createElement(Icon, { name: /* @__PURE__ */ React.createElement(IconPin, null), size: 12, className: "aura-table__pin-icon", label: t.pinned }) : null, controls ? /* @__PURE__ */ React.createElement(
1090
+ ) : /* @__PURE__ */ React.createElement("span", { className: cx("aura-table__th-label", !c.label && "aura-sr-only") }, c.label || (c.actions ? t.actions : null)), pin ? /* @__PURE__ */ React.createElement(Icon, { name: /* @__PURE__ */ React.createElement(IconPin, null), size: 12, className: "aura-table__pin-icon", label: t.pinned }) : null, controls ? /* @__PURE__ */ React.createElement(
1090
1091
  "button",
1091
1092
  {
1092
1093
  type: "button",
@@ -1462,6 +1463,7 @@ const DataTableImpl = React.forwardRef(function DataTable(props, ref) {
1462
1463
  props.bordered === false && "aura-table--borderless",
1463
1464
  stacked && "aura-table--stacked",
1464
1465
  noCardSel && "aura-table--cards-nosel",
1466
+ props.stackStyle === "list" && "aura-table--stack-list",
1465
1467
  scrolledX[0] && "is-scrolled-x",
1466
1468
  edgeState[0] && !stacked && "has-more-x",
1467
1469
  refreshing && "is-refreshing",
package/dist/index.d.cts CHANGED
@@ -255,6 +255,11 @@ export interface DataTableProps<Row extends Record<string, any> = Record<string,
255
255
  /** Stacked cards (`stackBelow`) without the row checkboxes and the select-all box (5.13). The grid keeps them and
256
256
  * the selection is kept; Space doesn't change it while the cards show. */
257
257
  hideSelectionInCards?: boolean | undefined;
258
+ /** How the rows look below `stackBelow` (5.87, Chamber-OS 204): `cards` (default) — each row its own framed card,
259
+ * 8px apart; `list` — the same layout (title, pill and actions on the first line, fields two to a line) as one list
260
+ * divided by `--aura-border-default` rules, with no frame, radius or gap per row, so it sits inside a framed `Card`.
261
+ * The grid above `stackBelow` is unchanged. */
262
+ stackStyle?: "cards" | "list" | undefined;
258
263
  /** `'auto'` (5.11): rows grow to fit content that wraps (two badges, a long name); cells stay vertically centred and
259
264
  * rows keep at least the density's row height. Needs every row in the DOM, so it is ignored with `height`
260
265
  * (virtualized rows are one fixed height). Default: one fixed-height line per row, long text ends in an ellipsis. */
package/dist/index.d.ts CHANGED
@@ -255,6 +255,11 @@ export interface DataTableProps<Row extends Record<string, any> = Record<string,
255
255
  /** Stacked cards (`stackBelow`) without the row checkboxes and the select-all box (5.13). The grid keeps them and
256
256
  * the selection is kept; Space doesn't change it while the cards show. */
257
257
  hideSelectionInCards?: boolean | undefined;
258
+ /** How the rows look below `stackBelow` (5.87, Chamber-OS 204): `cards` (default) — each row its own framed card,
259
+ * 8px apart; `list` — the same layout (title, pill and actions on the first line, fields two to a line) as one list
260
+ * divided by `--aura-border-default` rules, with no frame, radius or gap per row, so it sits inside a framed `Card`.
261
+ * The grid above `stackBelow` is unchanged. */
262
+ stackStyle?: "cards" | "list" | undefined;
258
263
  /** `'auto'` (5.11): rows grow to fit content that wraps (two badges, a long name); cells stay vertically centred and
259
264
  * rows keep at least the density's row height. Needs every row in the DOM, so it is ignored with `height`
260
265
  * (virtualized rows are one fixed height). Default: one fixed-height line per row, long text ends in an ellipsis. */
package/dist/styles.css CHANGED
@@ -28,16 +28,19 @@
28
28
  .aura-btn:active { transform: scale(0.98); }
29
29
  .aura-btn:disabled, a.aura-btn[aria-disabled='true'] { opacity: var(--aura-disabled-opacity); pointer-events: none; }
30
30
  a.aura-btn { text-decoration: none; }
31
- /* fullWidth: fills the row and wraps a long label (Thai and Swedish run ~30% longer) instead of overflowing. */
31
+ /* fullWidth: fills the row and wraps a long label (Thai and Swedish run ~30% longer) instead of overflowing.
32
+ * 5.87 (Chamber-OS 203): one shape wherever it sits — corners at most half the 44px button, so one line is the lozenge
33
+ * and a wrapped label is a rounded box (22px corners), not a stretched pill. */
32
34
  .aura-btn--full {
33
35
  width: 100%; height: auto; min-height: var(--aura-button-height); white-space: normal; flex-shrink: 1;
34
36
  padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere;
37
+ border-radius: min(var(--aura-button-radius), 22px);
35
38
  }
36
39
  /* 5.53 (Chamber-OS 165): fullWidth="below-md" — the same, only below 768px, and at least 44px tall there, touchHeight
37
40
  * or not (hence the doubled class); its natural width above. "below-sm" is with the phone rules (max-width 639.98px). */
38
41
  @media (max-width: 767.98px) {
39
42
  .aura-btn.aura-btn.aura-btn--full-below-md { width: 100%; height: auto; min-height: var(--aura-touch-target); white-space: normal; flex-shrink: 1;
40
- padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; }
43
+ padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
41
44
  }
42
45
  .aura-btn.is-loading { cursor: progress; }
43
46
  /* 5.14: a button gated with aria-disabled looks unavailable but stays focusable (no pointer-events: none, so the
@@ -1358,11 +1361,17 @@ summary.aura-link::-webkit-details-marker { display: none; }
1358
1361
  * span as wide as its text and the page scrolled sideways. :where keeps the selector's weight as before. */
1359
1362
  @media (max-width: 639.98px) {
1360
1363
  .aura-page-header--actions-full-below-sm > .aura-page-header__actions { flex: 1 1 100%; gap: var(--aura-space-3); }
1361
- .aura-page-header--actions-full-below-sm:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); } /* 5.78 (visual audit 11): a label that wraps to two lines is a rounded box, not a lozenge */
1362
- .aura-page-header--actions-full-below-sm:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); } /* 5.78: actionsBar's split — the header's own actions, not the strip */
1363
- .aura-page-header--actions-full-below-sm > .aura-page-header__actions > :where(:not(.sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; }
1364
+ .aura-page-header--actions-full-below-sm:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); } /* 5.87 (Chamber-OS 203): a lozenge on one line, a rounded box when the label wraps — as every full-width button */
1365
+ .aura-page-header--actions-full-below-sm:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); } /* 5.78: actionsBar's split — the header's own actions, not the strip */
1366
+ .aura-page-header--actions-full-below-sm > .aura-page-header__actions > :where(:not(.sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; min-width: fit-content; }
1367
+ .aura-page-header--actions-full-below-sm > .aura-page-header__actions > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
1368
+ .aura-page-header--actions-full-below-sm > .aura-page-header__actions > :is(.aura-btn--sm, * > .aura-btn--sm):not(.aura-icon-btn) { min-height: var(--aura-button-height-sm); padding-block: var(--aura-space-1); }
1369
+ .aura-page-header--actions-full-below-sm > .aura-page-header__actions > :is(.aura-btn--touch, * > .aura-btn--touch):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
1364
1370
  .aura-page-header--actions-full-below-sm > .aura-page-header__actions > :is(.aura-dropdown, .aura-tooltip-anchor, .aura-popover-anchor) > * { flex: 1 1 auto; }
1365
- .aura-page-header--actions-full-below-sm > .aura-page-header__actions > .aura-page-header__bar > :where(:not(.aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; } /* 5.71: actionsBar in the row, as the actions (5.61) */
1371
+ .aura-page-header--actions-full-below-sm > .aura-page-header__actions > .aura-page-header__bar > :where(:not(.aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; min-width: fit-content; } /* 5.71: actionsBar in the row, as the actions (5.61) */
1372
+ .aura-page-header--actions-full-below-sm > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
1373
+ .aura-page-header--actions-full-below-sm > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-btn--sm, * > .aura-btn--sm):not(.aura-icon-btn) { min-height: var(--aura-button-height-sm); padding-block: var(--aura-space-1); }
1374
+ .aura-page-header--actions-full-below-sm > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-btn--touch, * > .aura-btn--touch):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
1366
1375
  .aura-page-header--actions-full-below-sm > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-icon-btn, :has(> .aura-icon-btn)) { flex: none; }
1367
1376
  /* (5.71: an IconButton in actionsBar doesn't put the actions in 5.45's one-row mode — the :has() above skips the bar box.) */
1368
1377
  .aura-page-header--actions-full-below-sm > .aura-page-header__actions > .aura-icon-btn { flex: none; }
@@ -1370,42 +1379,54 @@ summary.aura-link::-webkit-details-marker { display: none; }
1370
1379
  .aura-page-header--actions-full-below-sm > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) { flex-wrap: nowrap; align-items: stretch; }
1371
1380
  .aura-page-header--actions-full-below-sm > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > * { min-width: 0; }
1372
1381
  .aura-page-header--actions-full-below-sm > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding: var(--aura-space-2) var(--aura-space-3); line-height: 1.35; text-align: center; overflow-wrap: anywhere; hyphens: auto; border-radius: min(var(--aura-button-radius), 22px); }
1373
- .aura-page-header--actions-full-below-sm:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); } /* 5.78 (visual audit 11) */
1374
- .aura-page-header--actions-full-below-sm:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); }
1382
+ .aura-page-header--actions-full-below-sm:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); } /* 5.78 (visual audit 11) */
1383
+ .aura-page-header--actions-full-below-sm:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); }
1375
1384
  .aura-page-header--actions-full-below-sm > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-icon-btn, :has(> .aura-icon-btn)) { align-self: center; } /* 5.45 (Chamber-OS addendum 52): centred on a taller button */
1376
1385
  }
1377
1386
  @media (max-width: 767.98px) {
1378
1387
  .aura-page-header--actions-full-below-md > .aura-page-header__actions { flex: 1 1 100%; gap: var(--aura-space-3); }
1379
- .aura-page-header--actions-full-below-md:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); } /* 5.78 (visual audit 11): a label that wraps to two lines is a rounded box, not a lozenge */
1380
- .aura-page-header--actions-full-below-md:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); } /* 5.78: actionsBar's split — the header's own actions, not the strip */
1381
- .aura-page-header--actions-full-below-md > .aura-page-header__actions > :where(:not(.sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; }
1388
+ .aura-page-header--actions-full-below-md:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); } /* 5.87 (Chamber-OS 203): a lozenge on one line, a rounded box when the label wraps — as every full-width button */
1389
+ .aura-page-header--actions-full-below-md:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); } /* 5.78: actionsBar's split — the header's own actions, not the strip */
1390
+ .aura-page-header--actions-full-below-md > .aura-page-header__actions > :where(:not(.sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; min-width: fit-content; }
1391
+ .aura-page-header--actions-full-below-md > .aura-page-header__actions > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
1392
+ .aura-page-header--actions-full-below-md > .aura-page-header__actions > :is(.aura-btn--sm, * > .aura-btn--sm):not(.aura-icon-btn) { min-height: var(--aura-button-height-sm); padding-block: var(--aura-space-1); }
1393
+ .aura-page-header--actions-full-below-md > .aura-page-header__actions > :is(.aura-btn--touch, * > .aura-btn--touch):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
1382
1394
  .aura-page-header--actions-full-below-md > .aura-page-header__actions > :is(.aura-dropdown, .aura-tooltip-anchor, .aura-popover-anchor) > * { flex: 1 1 auto; }
1383
- .aura-page-header--actions-full-below-md > .aura-page-header__actions > .aura-page-header__bar > :where(:not(.aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; } /* 5.71: actionsBar in the row, as the actions (5.61) */
1395
+ .aura-page-header--actions-full-below-md > .aura-page-header__actions > .aura-page-header__bar > :where(:not(.aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; min-width: fit-content; } /* 5.71: actionsBar in the row, as the actions (5.61) */
1396
+ .aura-page-header--actions-full-below-md > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
1397
+ .aura-page-header--actions-full-below-md > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-btn--sm, * > .aura-btn--sm):not(.aura-icon-btn) { min-height: var(--aura-button-height-sm); padding-block: var(--aura-space-1); }
1398
+ .aura-page-header--actions-full-below-md > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-btn--touch, * > .aura-btn--touch):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
1384
1399
  .aura-page-header--actions-full-below-md > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-icon-btn, :has(> .aura-icon-btn)) { flex: none; }
1385
1400
  .aura-page-header--actions-full-below-md > .aura-page-header__actions > .aura-icon-btn { flex: none; }
1386
1401
  .aura-page-header--actions-full-below-md > .aura-page-header__actions > :has(> .aura-icon-btn) { flex: none; }
1387
1402
  .aura-page-header--actions-full-below-md > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) { flex-wrap: nowrap; align-items: stretch; }
1388
1403
  .aura-page-header--actions-full-below-md > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > * { min-width: 0; }
1389
1404
  .aura-page-header--actions-full-below-md > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding: var(--aura-space-2) var(--aura-space-3); line-height: 1.35; text-align: center; overflow-wrap: anywhere; hyphens: auto; border-radius: min(var(--aura-button-radius), 22px); }
1390
- .aura-page-header--actions-full-below-md:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); } /* 5.78 (visual audit 11) */
1391
- .aura-page-header--actions-full-below-md:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); }
1405
+ .aura-page-header--actions-full-below-md:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); } /* 5.78 (visual audit 11) */
1406
+ .aura-page-header--actions-full-below-md:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); }
1392
1407
  .aura-page-header--actions-full-below-md > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-icon-btn, :has(> .aura-icon-btn)) { align-self: center; } /* 5.45 (Chamber-OS addendum 52): centred on a taller button */
1393
1408
  }
1394
1409
  @media (max-width: 1023.98px) {
1395
1410
  .aura-page-header--actions-full-below-lg > .aura-page-header__actions { flex: 1 1 100%; gap: var(--aura-space-3); }
1396
- .aura-page-header--actions-full-below-lg:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); } /* 5.78 (visual audit 11): a label that wraps to two lines is a rounded box, not a lozenge */
1397
- .aura-page-header--actions-full-below-lg:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); } /* 5.78: actionsBar's split — the header's own actions, not the strip */
1398
- .aura-page-header--actions-full-below-lg > .aura-page-header__actions > :where(:not(.sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; }
1411
+ .aura-page-header--actions-full-below-lg:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); } /* 5.87 (Chamber-OS 203): a lozenge on one line, a rounded box when the label wraps — as every full-width button */
1412
+ .aura-page-header--actions-full-below-lg:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); } /* 5.78: actionsBar's split — the header's own actions, not the strip */
1413
+ .aura-page-header--actions-full-below-lg > .aura-page-header__actions > :where(:not(.sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; min-width: fit-content; }
1414
+ .aura-page-header--actions-full-below-lg > .aura-page-header__actions > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
1415
+ .aura-page-header--actions-full-below-lg > .aura-page-header__actions > :is(.aura-btn--sm, * > .aura-btn--sm):not(.aura-icon-btn) { min-height: var(--aura-button-height-sm); padding-block: var(--aura-space-1); }
1416
+ .aura-page-header--actions-full-below-lg > .aura-page-header__actions > :is(.aura-btn--touch, * > .aura-btn--touch):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
1399
1417
  .aura-page-header--actions-full-below-lg > .aura-page-header__actions > :is(.aura-dropdown, .aura-tooltip-anchor, .aura-popover-anchor) > * { flex: 1 1 auto; }
1400
- .aura-page-header--actions-full-below-lg > .aura-page-header__actions > .aura-page-header__bar > :where(:not(.aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; } /* 5.71: actionsBar in the row, as the actions (5.61) */
1418
+ .aura-page-header--actions-full-below-lg > .aura-page-header__actions > .aura-page-header__bar > :where(:not(.aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; min-width: fit-content; } /* 5.71: actionsBar in the row, as the actions (5.61) */
1419
+ .aura-page-header--actions-full-below-lg > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
1420
+ .aura-page-header--actions-full-below-lg > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-btn--sm, * > .aura-btn--sm):not(.aura-icon-btn) { min-height: var(--aura-button-height-sm); padding-block: var(--aura-space-1); }
1421
+ .aura-page-header--actions-full-below-lg > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-btn--touch, * > .aura-btn--touch):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
1401
1422
  .aura-page-header--actions-full-below-lg > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-icon-btn, :has(> .aura-icon-btn)) { flex: none; }
1402
1423
  .aura-page-header--actions-full-below-lg > .aura-page-header__actions > .aura-icon-btn { flex: none; }
1403
1424
  .aura-page-header--actions-full-below-lg > .aura-page-header__actions > :has(> .aura-icon-btn) { flex: none; }
1404
1425
  .aura-page-header--actions-full-below-lg > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) { flex-wrap: nowrap; align-items: stretch; }
1405
1426
  .aura-page-header--actions-full-below-lg > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > * { min-width: 0; }
1406
1427
  .aura-page-header--actions-full-below-lg > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding: var(--aura-space-2) var(--aura-space-3); line-height: 1.35; text-align: center; overflow-wrap: anywhere; hyphens: auto; border-radius: min(var(--aura-button-radius), 22px); }
1407
- .aura-page-header--actions-full-below-lg:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); } /* 5.78 (visual audit 11) */
1408
- .aura-page-header--actions-full-below-lg:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); }
1428
+ .aura-page-header--actions-full-below-lg:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); } /* 5.78 (visual audit 11) */
1429
+ .aura-page-header--actions-full-below-lg:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); }
1409
1430
  .aura-page-header--actions-full-below-lg > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-icon-btn, :has(> .aura-icon-btn)) { align-self: center; } /* 5.45 (Chamber-OS addendum 52): centred on a taller button */
1410
1431
  }
1411
1432
  /* 5.48 (Chamber-OS 154): only on a screen taller than 30rem (5.49: 480px at the default text size) — on a short one (400% zoom, a phone held sideways) the
@@ -1432,7 +1453,10 @@ summary.aura-link::-webkit-details-marker { display: none; }
1432
1453
  :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > .aura-icon-btn, :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > * > .aura-icon-btn:only-child { width: var(--aura-touch-target); height: var(--aura-touch-target); }
1433
1454
  :is(.aura-page-header--actions-bar-below-sm.aura-page-header--actions-bar-floating > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm.aura-page-header--actions-bar-floating > .aura-page-header__actions > .aura-page-header__bar) { left: var(--aura-space-4); right: var(--aura-space-4); bottom: calc(var(--aura-bottomnav-offset, 0px) + max(var(--aura-space-3), env(safe-area-inset-bottom, 0px))); padding-bottom: var(--aura-space-2); border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-lg); box-shadow: var(--aura-shadow-overlay); }
1434
1455
  :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > .aura-page-header__status { display: block; flex: 1 1 100%; min-width: 0; font-size: max(14px, .875rem); line-height: 1.5; color: var(--aura-fg-secondary); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
1435
- :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > :not(.aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"]) { flex: 1 1 0; min-width: max-content; }
1456
+ :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > :not(.aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"]) { flex: 1 1 0; min-width: max-content; min-width: fit-content; }
1457
+ :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
1458
+ :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > :is(.aura-btn--sm, * > .aura-btn--sm):not(.aura-icon-btn) { min-height: var(--aura-button-height-sm); padding-block: var(--aura-space-1); }
1459
+ :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > :is(.aura-btn--touch, * > .aura-btn--touch):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
1436
1460
  :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > :is(.aura-dropdown, .aura-tooltip-anchor, .aura-popover-anchor) > * { flex: 1 1 auto; }
1437
1461
  :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > .aura-icon-btn { flex: none; }
1438
1462
  :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > :has(> .aura-icon-btn) { flex: none; }
@@ -1458,7 +1482,10 @@ summary.aura-link::-webkit-details-marker { display: none; }
1458
1482
  :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > .aura-icon-btn, :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > * > .aura-icon-btn:only-child { width: var(--aura-touch-target); height: var(--aura-touch-target); }
1459
1483
  :is(.aura-page-header--actions-bar-below-md.aura-page-header--actions-bar-floating > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md.aura-page-header--actions-bar-floating > .aura-page-header__actions > .aura-page-header__bar) { left: var(--aura-space-4); right: var(--aura-space-4); bottom: calc(var(--aura-bottomnav-offset, 0px) + max(var(--aura-space-3), env(safe-area-inset-bottom, 0px))); padding-bottom: var(--aura-space-2); border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-lg); box-shadow: var(--aura-shadow-overlay); }
1460
1484
  :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > .aura-page-header__status { display: block; flex: 1 1 100%; min-width: 0; font-size: max(14px, .875rem); line-height: 1.5; color: var(--aura-fg-secondary); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
1461
- :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > :not(.aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"]) { flex: 1 1 0; min-width: max-content; }
1485
+ :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > :not(.aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"]) { flex: 1 1 0; min-width: max-content; min-width: fit-content; }
1486
+ :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
1487
+ :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > :is(.aura-btn--sm, * > .aura-btn--sm):not(.aura-icon-btn) { min-height: var(--aura-button-height-sm); padding-block: var(--aura-space-1); }
1488
+ :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > :is(.aura-btn--touch, * > .aura-btn--touch):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
1462
1489
  :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > :is(.aura-dropdown, .aura-tooltip-anchor, .aura-popover-anchor) > * { flex: 1 1 auto; }
1463
1490
  :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > .aura-icon-btn { flex: none; }
1464
1491
  :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > :has(> .aura-icon-btn) { flex: none; }
@@ -1995,7 +2022,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
1995
2022
  .aura-dialog__foot > .aura-btn, .aura-dialog__foot > * > .aura-btn:only-child,
1996
2023
  .aura-drawer__foot > .aura-btn, .aura-drawer__foot > * > .aura-btn:only-child, .aura-btn.aura-btn.aura-btn--full-below-sm {
1997
2024
  height: auto; min-height: var(--aura-touch-target); white-space: normal; flex-shrink: 1;
1998
- padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; }
2025
+ padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
1999
2026
  .aura-dialog__foot > * > .aura-btn:only-child, .aura-btn.aura-btn.aura-btn--full-below-sm { width: 100%; }
2000
2027
  .aura-drawer__foot > * { max-width: 100%; }
2001
2028
  .aura-drawer:not(.aura-drawer--nav) { max-width: none; }
@@ -2421,15 +2448,15 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2421
2448
  :root:has(.aura-actionbar--edge:not(.is-idle)):not(:has(.aura-shell__content)) body { padding-bottom: var(--aura-actionbar-space); }
2422
2449
  }
2423
2450
  /* 5.79 (5.78 carry-over): where actionsFullWidthBelow reaches wider than actionsBarBelow, the bar isn't pinned between
2424
- * the two breakpoints and its buttons sit in the same full-width row — every button there is radius-md, not some. */
2451
+ * the two breakpoints and its buttons sit in the same full-width row — every button there has the full-width shape (5.87). */
2425
2452
  @media (min-width: 640px) and (max-width: 767.98px) {
2426
- .aura-page-header--actions-full-below-md.aura-page-header--actions-bar-below-sm > .aura-page-header__actions .aura-btn:not(.aura-icon-btn) { border-radius: var(--aura-radius-md); }
2453
+ .aura-page-header--actions-full-below-md.aura-page-header--actions-bar-below-sm > .aura-page-header__actions .aura-btn:not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); }
2427
2454
  }
2428
2455
  @media (min-width: 640px) and (max-width: 1023.98px) {
2429
- .aura-page-header--actions-full-below-lg.aura-page-header--actions-bar-below-sm > .aura-page-header__actions .aura-btn:not(.aura-icon-btn) { border-radius: var(--aura-radius-md); }
2456
+ .aura-page-header--actions-full-below-lg.aura-page-header--actions-bar-below-sm > .aura-page-header__actions .aura-btn:not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); }
2430
2457
  }
2431
2458
  @media (min-width: 768px) and (max-width: 1023.98px) {
2432
- .aura-page-header--actions-full-below-lg.aura-page-header--actions-bar-below-md > .aura-page-header__actions .aura-btn:not(.aura-icon-btn) { border-radius: var(--aura-radius-md); }
2459
+ .aura-page-header--actions-full-below-lg.aura-page-header--actions-bar-below-md > .aura-page-header__actions .aura-btn:not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); }
2433
2460
  }
2434
2461
  /* 5.79 (visual audit 10): in an AppShell on a desktop the edge strip starts where the content does — after the
2435
2462
  * sidebar (its rail width when collapsed; the right edge in RTL) — and its contents line up with the content's 32px
@@ -2447,7 +2474,10 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2447
2474
  :is(.aura-actionbar--edge, .aura-actionbar--edge-below-sm, .aura-actionbar--edge-below-md):not(.is-idle) > .aura-actionbar__inner { padding-inline: var(--aura-space-4); }
2448
2475
  :is(.aura-actionbar--edge, .aura-actionbar--edge-below-sm, .aura-actionbar--edge-below-md):not(.is-idle) > .aura-actionbar__inner > .aura-actionbar__status:not(:empty) { flex-basis: 100%; }
2449
2476
  :is(.aura-actionbar--edge, .aura-actionbar--edge-below-sm, .aura-actionbar--edge-below-md):not(.is-idle) .aura-actionbar__actions { flex: 1 1 auto; min-width: 0; margin-inline-start: 0; }
2450
- :is(.aura-actionbar--edge, .aura-actionbar--edge-below-sm, .aura-actionbar--edge-below-md):not(.is-idle) .aura-actionbar__actions > :not(.aura-icon-btn, :has(> .aura-icon-btn)) { flex: 1 1 0; min-width: max-content; } /* as PageHeader's strip (5.61): shares, a long label takes its own row */
2477
+ :is(.aura-actionbar--edge, .aura-actionbar--edge-below-sm, .aura-actionbar--edge-below-md):not(.is-idle) .aura-actionbar__actions > :not(.aura-icon-btn, :has(> .aura-icon-btn)) { flex: 1 1 0; min-width: max-content; min-width: fit-content; } /* as PageHeader's strip (5.61): shares, a long label takes its own row */
2478
+ :is(.aura-actionbar--edge, .aura-actionbar--edge-below-sm, .aura-actionbar--edge-below-md):not(.is-idle) .aura-actionbar__actions > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-touch-target); white-space: normal; padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
2479
+ :is(.aura-actionbar--edge, .aura-actionbar--edge-below-sm, .aura-actionbar--edge-below-md):not(.is-idle) .aura-actionbar__actions > :is(.aura-btn--sm, * > .aura-btn--sm):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
2480
+ :is(.aura-actionbar--edge, .aura-actionbar--edge-below-sm, .aura-actionbar--edge-below-md):not(.is-idle) .aura-actionbar__actions > :is(.aura-btn--touch, * > .aura-btn--touch):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
2451
2481
  :is(.aura-actionbar--edge, .aura-actionbar--edge-below-sm, .aura-actionbar--edge-below-md):not(.is-idle) .aura-actionbar__actions > :is(.aura-dropdown, .aura-tooltip-anchor, .aura-popover-anchor):not(:has(> .aura-icon-btn)) > .aura-btn { width: 100%; }
2452
2482
  }
2453
2483
  }
@@ -2455,7 +2485,11 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2455
2485
  .aura-actionbar--edge-below-md:not(.is-idle) > .aura-actionbar__inner { padding-inline: var(--aura-space-4); }
2456
2486
  .aura-actionbar--edge-below-md:not(.is-idle) > .aura-actionbar__inner > .aura-actionbar__status:not(:empty) { flex-basis: 100%; }
2457
2487
  .aura-actionbar--edge-below-md:not(.is-idle) .aura-actionbar__actions { flex: 1 1 auto; min-width: 0; margin-inline-start: 0; }
2458
- .aura-actionbar--edge-below-md:not(.is-idle) .aura-actionbar__actions > :not(.aura-icon-btn, :has(> .aura-icon-btn)) { flex: 1 1 0; min-width: max-content; } /* as PageHeader's strip (5.61): shares, a long label takes its own row */
2488
+ .aura-actionbar--edge-below-md:not(.is-idle) .aura-actionbar__actions > :not(.aura-icon-btn, :has(> .aura-icon-btn)) { flex: 1 1 0; min-width: max-content; min-width: fit-content; } /* as PageHeader's strip (5.61): shares, a long label takes its own row */
2489
+ .aura-actionbar--edge-below-md:not(.is-idle) .aura-actionbar__actions > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
2490
+ .aura-actionbar--edge-below-md:not(.is-idle) .aura-actionbar__actions > :is(.aura-btn--sm, * > .aura-btn--sm):not(.aura-icon-btn) { min-height: var(--aura-button-height-sm); padding-block: var(--aura-space-1); }
2491
+ .aura-actionbar--edge-below-md:not(.is-idle) .aura-actionbar__actions > :is(.aura-btn--touch, * > .aura-btn--touch):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
2492
+ @media (pointer: coarse) { .aura-actionbar--edge-below-md:not(.is-idle) .aura-actionbar__actions > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { min-height: var(--aura-touch-target); } } /* as 5.55: 44px on a touch screen */
2459
2493
  .aura-actionbar--edge-below-md:not(.is-idle) .aura-actionbar__actions > :is(.aura-dropdown, .aura-tooltip-anchor, .aura-popover-anchor):not(:has(> .aura-icon-btn)) > .aura-btn { width: 100%; }
2460
2494
  }
2461
2495
  @media (max-width: 639.98px) { .aura-actionbar--edge-below-sm:not(.is-idle) { border: 0; border-top: 1px solid var(--aura-border-default); border-radius: 0; box-shadow: none; } }
@@ -2664,8 +2698,9 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2664
2698
  @container aura-stack (width >= 9999.5px) { .aura-table [data-grid='off'] { display: none; } }
2665
2699
 
2666
2700
  /* Below stackBelow the same grid lays out as cards: the first column is the title, the first other pill column sits
2667
- * beside it, `actions` columns go top-right, the rest are label/value fields two to a line. Column headers stay for
2668
- * screen readers; the labels are generated content with empty alt text, so they aren't read twice. */
2701
+ * beside it, `actions` columns go top-right, the rest are label/value fields two to a line.
2702
+ * 5.87 (Chamber-OS 205): the column headers leave the accessibility tree while the cards show (only the select-all
2703
+ * line stays); each field's label is generated content that is read with its value. */
2669
2704
  @container aura-stack (width < 9999.5px) {
2670
2705
  .aura-table { background: transparent; border: 0; border-radius: 0; overflow: visible; }
2671
2706
  /* 5.26: stacked cards inside a framed Card keep its padding (0 where the Card is flush). */
@@ -2678,10 +2713,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2678
2713
  position: static; height: auto; min-width: 0; padding: 0 0 var(--aura-space-3); border: 0; background: none;
2679
2714
  font-family: var(--font-sans); font-size: max(13px, .8125rem);
2680
2715
  }
2681
- .aura-table__head > .aura-table__th {
2682
- position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
2683
- }
2684
- .aura-table__head:not(.has-select-all) { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); }
2716
+ .aura-table__head > .aura-table__th, .aura-table__head:not(.has-select-all) { display: none; }
2685
2717
  .aura-table__head > .aura-table__sel { position: static; width: auto; gap: var(--aura-space-3); padding: 0 var(--aura-space-4); }
2686
2718
  .aura-table__sel-text { display: inline; color: var(--aura-fg-secondary); }
2687
2719
  .aura-table__gutter, .aura-table__gutter--end.has-picker { display: none; } /* 5.78 (audit 20): the column picker's slot too, which squeezed the card's title */
@@ -2697,7 +2729,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2697
2729
  margin-bottom: var(--aura-space-1);
2698
2730
  padding: 0; line-height: normal;
2699
2731
  }
2700
- .aura-table__td[data-hide], .aura-table__head > .aura-table__th[data-hide] { display: block; }
2732
+ .aura-table__td[data-hide] { display: block; }
2701
2733
  /* 5.13 (Chamber-OS 80): card: 'hide' leaves a column out of the card; cardOrder orders the fields. */
2702
2734
  .aura-table__td[data-card='hide'], .aura-table__head > .aura-table__th[data-card='hide'],
2703
2735
  .aura-table__row--skeleton .aura-table__td[data-card='hide'] { display: none; }
@@ -2707,14 +2739,14 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2707
2739
  .aura-table__row--skeleton .aura-table__td.is-end { justify-content: flex-start; }
2708
2740
  /* hideSelectionInCards: no row boxes, no select-all line. */
2709
2741
  .aura-table--cards-nosel .aura-table__row > .aura-table__sel { display: none; }
2710
- .aura-table--cards-nosel .aura-table__head { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); }
2742
+ .aura-table--cards-nosel .aura-table__head { display: none; }
2711
2743
  .aura-table--cards-nosel .aura-table__head > .aura-table__sel { display: none; }
2712
2744
  /* 5.11: rowHeight="auto" leaves cards as they are. */
2713
2745
  .aura-table__td--auto { display: block; white-space: nowrap; }
2714
2746
  .aura-table__td--auto .aura-table__cell > .aura-badge, .aura-table__td--auto .aura-table__cell > .aura-pill { margin: 0; }
2715
2747
  .aura-table__spacer { display: none; }
2716
2748
  .aura-table__td[data-label]::before {
2717
- content: attr(data-label); content: attr(data-label) / '';
2749
+ content: attr(data-label);
2718
2750
  display: block; margin-bottom: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: start;
2719
2751
  font-family: var(--font-mono); font-size: max(11px, .6875rem); line-height: normal; font-weight: 400; color: var(--aura-fg-secondary);
2720
2752
  }
@@ -2758,6 +2790,16 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2758
2790
  .aura-table__total > .is-blank { display: none; }
2759
2791
  .aura-table__foot { border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-lg); margin-top: var(--aura-space-2); background: var(--aura-bg-surface); }
2760
2792
  .aura-table__empty { background: var(--aura-bg-surface); border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-lg); }
2793
+ /* 5.87 (Chamber-OS 204): stackStyle="list" — the same stacked layout as one list divided by rules: no frame, radius
2794
+ * or gap per row, so it sits in a framed Card. A rule above every row after the first (the virtual spacers and the
2795
+ * header aren't rows); the totals row and the pager follow the last rule, unshaded and unframed. */
2796
+ .aura-table--stack-list .aura-table__row, .aura-table--stack-list .aura-table__row:last-child { margin-bottom: 0; padding-inline: 0; border-width: 0; border-radius: 0; }
2797
+ .aura-table--stack-list .aura-table__row ~ .aura-table__row { border-top-width: 1px; }
2798
+ .aura-table--stack-list .aura-table__head > .aura-table__sel { padding-inline: 0; }
2799
+ .aura-table--stack-list .aura-table__head.has-select-all + .aura-table__row { border-top-width: 1px; } /* under the select-all line */
2800
+ .aura-table--stack-list .aura-table__total { background: none; }
2801
+ .aura-table--stack-list .aura-table__foot { margin-top: 0; padding-inline: 0; border-width: 1px 0 0; border-radius: 0; background: none; }
2802
+ .aura-table--stack-list .aura-table__empty { border: 0; border-radius: 0; background: none; }
2761
2803
  }
2762
2804
 
2763
2805
  /* ---------- 5.1.1: Windows High Contrast / forced colours ---------- */
@@ -30,16 +30,19 @@
30
30
  .aura-btn:active { transform: scale(0.98); }
31
31
  .aura-btn:disabled, a.aura-btn[aria-disabled='true'] { opacity: var(--aura-disabled-opacity); pointer-events: none; }
32
32
  a.aura-btn { text-decoration: none; }
33
- /* fullWidth: fills the row and wraps a long label (Thai and Swedish run ~30% longer) instead of overflowing. */
33
+ /* fullWidth: fills the row and wraps a long label (Thai and Swedish run ~30% longer) instead of overflowing.
34
+ * 5.87 (Chamber-OS 203): one shape wherever it sits — corners at most half the 44px button, so one line is the lozenge
35
+ * and a wrapped label is a rounded box (22px corners), not a stretched pill. */
34
36
  .aura-btn--full {
35
37
  width: 100%; height: auto; min-height: var(--aura-button-height); white-space: normal; flex-shrink: 1;
36
38
  padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere;
39
+ border-radius: min(var(--aura-button-radius), 22px);
37
40
  }
38
41
  /* 5.53 (Chamber-OS 165): fullWidth="below-md" — the same, only below 768px, and at least 44px tall there, touchHeight
39
42
  * or not (hence the doubled class); its natural width above. "below-sm" is with the phone rules (max-width 639.98px). */
40
43
  @media (max-width: 767.98px) {
41
44
  .aura-btn.aura-btn.aura-btn--full-below-md { width: 100%; height: auto; min-height: var(--aura-touch-target); white-space: normal; flex-shrink: 1;
42
- padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; }
45
+ padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
43
46
  }
44
47
  .aura-btn.is-loading { cursor: progress; }
45
48
  /* 5.14: a button gated with aria-disabled looks unavailable but stays focusable (no pointer-events: none, so the
@@ -1360,11 +1363,17 @@ summary.aura-link::-webkit-details-marker { display: none; }
1360
1363
  * span as wide as its text and the page scrolled sideways. :where keeps the selector's weight as before. */
1361
1364
  @media (max-width: 639.98px) {
1362
1365
  .aura-page-header--actions-full-below-sm > .aura-page-header__actions { flex: 1 1 100%; gap: var(--aura-space-3); }
1363
- .aura-page-header--actions-full-below-sm:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); } /* 5.78 (visual audit 11): a label that wraps to two lines is a rounded box, not a lozenge */
1364
- .aura-page-header--actions-full-below-sm:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); } /* 5.78: actionsBar's split — the header's own actions, not the strip */
1365
- .aura-page-header--actions-full-below-sm > .aura-page-header__actions > :where(:not(.sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; }
1366
+ .aura-page-header--actions-full-below-sm:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); } /* 5.87 (Chamber-OS 203): a lozenge on one line, a rounded box when the label wraps — as every full-width button */
1367
+ .aura-page-header--actions-full-below-sm:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); } /* 5.78: actionsBar's split — the header's own actions, not the strip */
1368
+ .aura-page-header--actions-full-below-sm > .aura-page-header__actions > :where(:not(.sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; min-width: fit-content; }
1369
+ .aura-page-header--actions-full-below-sm > .aura-page-header__actions > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
1370
+ .aura-page-header--actions-full-below-sm > .aura-page-header__actions > :is(.aura-btn--sm, * > .aura-btn--sm):not(.aura-icon-btn) { min-height: var(--aura-button-height-sm); padding-block: var(--aura-space-1); }
1371
+ .aura-page-header--actions-full-below-sm > .aura-page-header__actions > :is(.aura-btn--touch, * > .aura-btn--touch):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
1366
1372
  .aura-page-header--actions-full-below-sm > .aura-page-header__actions > :is(.aura-dropdown, .aura-tooltip-anchor, .aura-popover-anchor) > * { flex: 1 1 auto; }
1367
- .aura-page-header--actions-full-below-sm > .aura-page-header__actions > .aura-page-header__bar > :where(:not(.aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; } /* 5.71: actionsBar in the row, as the actions (5.61) */
1373
+ .aura-page-header--actions-full-below-sm > .aura-page-header__actions > .aura-page-header__bar > :where(:not(.aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; min-width: fit-content; } /* 5.71: actionsBar in the row, as the actions (5.61) */
1374
+ .aura-page-header--actions-full-below-sm > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
1375
+ .aura-page-header--actions-full-below-sm > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-btn--sm, * > .aura-btn--sm):not(.aura-icon-btn) { min-height: var(--aura-button-height-sm); padding-block: var(--aura-space-1); }
1376
+ .aura-page-header--actions-full-below-sm > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-btn--touch, * > .aura-btn--touch):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
1368
1377
  .aura-page-header--actions-full-below-sm > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-icon-btn, :has(> .aura-icon-btn)) { flex: none; }
1369
1378
  /* (5.71: an IconButton in actionsBar doesn't put the actions in 5.45's one-row mode — the :has() above skips the bar box.) */
1370
1379
  .aura-page-header--actions-full-below-sm > .aura-page-header__actions > .aura-icon-btn { flex: none; }
@@ -1372,42 +1381,54 @@ summary.aura-link::-webkit-details-marker { display: none; }
1372
1381
  .aura-page-header--actions-full-below-sm > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) { flex-wrap: nowrap; align-items: stretch; }
1373
1382
  .aura-page-header--actions-full-below-sm > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > * { min-width: 0; }
1374
1383
  .aura-page-header--actions-full-below-sm > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding: var(--aura-space-2) var(--aura-space-3); line-height: 1.35; text-align: center; overflow-wrap: anywhere; hyphens: auto; border-radius: min(var(--aura-button-radius), 22px); }
1375
- .aura-page-header--actions-full-below-sm:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); } /* 5.78 (visual audit 11) */
1376
- .aura-page-header--actions-full-below-sm:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); }
1384
+ .aura-page-header--actions-full-below-sm:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); } /* 5.78 (visual audit 11) */
1385
+ .aura-page-header--actions-full-below-sm:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); }
1377
1386
  .aura-page-header--actions-full-below-sm > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-icon-btn, :has(> .aura-icon-btn)) { align-self: center; } /* 5.45 (Chamber-OS addendum 52): centred on a taller button */
1378
1387
  }
1379
1388
  @media (max-width: 767.98px) {
1380
1389
  .aura-page-header--actions-full-below-md > .aura-page-header__actions { flex: 1 1 100%; gap: var(--aura-space-3); }
1381
- .aura-page-header--actions-full-below-md:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); } /* 5.78 (visual audit 11): a label that wraps to two lines is a rounded box, not a lozenge */
1382
- .aura-page-header--actions-full-below-md:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); } /* 5.78: actionsBar's split — the header's own actions, not the strip */
1383
- .aura-page-header--actions-full-below-md > .aura-page-header__actions > :where(:not(.sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; }
1390
+ .aura-page-header--actions-full-below-md:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); } /* 5.87 (Chamber-OS 203): a lozenge on one line, a rounded box when the label wraps — as every full-width button */
1391
+ .aura-page-header--actions-full-below-md:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); } /* 5.78: actionsBar's split — the header's own actions, not the strip */
1392
+ .aura-page-header--actions-full-below-md > .aura-page-header__actions > :where(:not(.sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; min-width: fit-content; }
1393
+ .aura-page-header--actions-full-below-md > .aura-page-header__actions > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
1394
+ .aura-page-header--actions-full-below-md > .aura-page-header__actions > :is(.aura-btn--sm, * > .aura-btn--sm):not(.aura-icon-btn) { min-height: var(--aura-button-height-sm); padding-block: var(--aura-space-1); }
1395
+ .aura-page-header--actions-full-below-md > .aura-page-header__actions > :is(.aura-btn--touch, * > .aura-btn--touch):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
1384
1396
  .aura-page-header--actions-full-below-md > .aura-page-header__actions > :is(.aura-dropdown, .aura-tooltip-anchor, .aura-popover-anchor) > * { flex: 1 1 auto; }
1385
- .aura-page-header--actions-full-below-md > .aura-page-header__actions > .aura-page-header__bar > :where(:not(.aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; } /* 5.71: actionsBar in the row, as the actions (5.61) */
1397
+ .aura-page-header--actions-full-below-md > .aura-page-header__actions > .aura-page-header__bar > :where(:not(.aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; min-width: fit-content; } /* 5.71: actionsBar in the row, as the actions (5.61) */
1398
+ .aura-page-header--actions-full-below-md > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
1399
+ .aura-page-header--actions-full-below-md > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-btn--sm, * > .aura-btn--sm):not(.aura-icon-btn) { min-height: var(--aura-button-height-sm); padding-block: var(--aura-space-1); }
1400
+ .aura-page-header--actions-full-below-md > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-btn--touch, * > .aura-btn--touch):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
1386
1401
  .aura-page-header--actions-full-below-md > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-icon-btn, :has(> .aura-icon-btn)) { flex: none; }
1387
1402
  .aura-page-header--actions-full-below-md > .aura-page-header__actions > .aura-icon-btn { flex: none; }
1388
1403
  .aura-page-header--actions-full-below-md > .aura-page-header__actions > :has(> .aura-icon-btn) { flex: none; }
1389
1404
  .aura-page-header--actions-full-below-md > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) { flex-wrap: nowrap; align-items: stretch; }
1390
1405
  .aura-page-header--actions-full-below-md > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > * { min-width: 0; }
1391
1406
  .aura-page-header--actions-full-below-md > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding: var(--aura-space-2) var(--aura-space-3); line-height: 1.35; text-align: center; overflow-wrap: anywhere; hyphens: auto; border-radius: min(var(--aura-button-radius), 22px); }
1392
- .aura-page-header--actions-full-below-md:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); } /* 5.78 (visual audit 11) */
1393
- .aura-page-header--actions-full-below-md:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); }
1407
+ .aura-page-header--actions-full-below-md:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); } /* 5.78 (visual audit 11) */
1408
+ .aura-page-header--actions-full-below-md:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); }
1394
1409
  .aura-page-header--actions-full-below-md > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-icon-btn, :has(> .aura-icon-btn)) { align-self: center; } /* 5.45 (Chamber-OS addendum 52): centred on a taller button */
1395
1410
  }
1396
1411
  @media (max-width: 1023.98px) {
1397
1412
  .aura-page-header--actions-full-below-lg > .aura-page-header__actions { flex: 1 1 100%; gap: var(--aura-space-3); }
1398
- .aura-page-header--actions-full-below-lg:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); } /* 5.78 (visual audit 11): a label that wraps to two lines is a rounded box, not a lozenge */
1399
- .aura-page-header--actions-full-below-lg:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); } /* 5.78: actionsBar's split — the header's own actions, not the strip */
1400
- .aura-page-header--actions-full-below-lg > .aura-page-header__actions > :where(:not(.sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; }
1413
+ .aura-page-header--actions-full-below-lg:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); } /* 5.87 (Chamber-OS 203): a lozenge on one line, a rounded box when the label wraps — as every full-width button */
1414
+ .aura-page-header--actions-full-below-lg:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); } /* 5.78: actionsBar's split — the header's own actions, not the strip */
1415
+ .aura-page-header--actions-full-below-lg > .aura-page-header__actions > :where(:not(.sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; min-width: fit-content; }
1416
+ .aura-page-header--actions-full-below-lg > .aura-page-header__actions > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
1417
+ .aura-page-header--actions-full-below-lg > .aura-page-header__actions > :is(.aura-btn--sm, * > .aura-btn--sm):not(.aura-icon-btn) { min-height: var(--aura-button-height-sm); padding-block: var(--aura-space-1); }
1418
+ .aura-page-header--actions-full-below-lg > .aura-page-header__actions > :is(.aura-btn--touch, * > .aura-btn--touch):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
1401
1419
  .aura-page-header--actions-full-below-lg > .aura-page-header__actions > :is(.aura-dropdown, .aura-tooltip-anchor, .aura-popover-anchor) > * { flex: 1 1 auto; }
1402
- .aura-page-header--actions-full-below-lg > .aura-page-header__actions > .aura-page-header__bar > :where(:not(.aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; } /* 5.71: actionsBar in the row, as the actions (5.61) */
1420
+ .aura-page-header--actions-full-below-lg > .aura-page-header__actions > .aura-page-header__bar > :where(:not(.aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"])) { flex: 1 1 0; min-width: max-content; min-width: fit-content; } /* 5.71: actionsBar in the row, as the actions (5.61) */
1421
+ .aura-page-header--actions-full-below-lg > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
1422
+ .aura-page-header--actions-full-below-lg > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-btn--sm, * > .aura-btn--sm):not(.aura-icon-btn) { min-height: var(--aura-button-height-sm); padding-block: var(--aura-space-1); }
1423
+ .aura-page-header--actions-full-below-lg > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-btn--touch, * > .aura-btn--touch):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
1403
1424
  .aura-page-header--actions-full-below-lg > .aura-page-header__actions > .aura-page-header__bar > :is(.aura-icon-btn, :has(> .aura-icon-btn)) { flex: none; }
1404
1425
  .aura-page-header--actions-full-below-lg > .aura-page-header__actions > .aura-icon-btn { flex: none; }
1405
1426
  .aura-page-header--actions-full-below-lg > .aura-page-header__actions > :has(> .aura-icon-btn) { flex: none; }
1406
1427
  .aura-page-header--actions-full-below-lg > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) { flex-wrap: nowrap; align-items: stretch; }
1407
1428
  .aura-page-header--actions-full-below-lg > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > * { min-width: 0; }
1408
1429
  .aura-page-header--actions-full-below-lg > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding: var(--aura-space-2) var(--aura-space-3); line-height: 1.35; text-align: center; overflow-wrap: anywhere; hyphens: auto; border-radius: min(var(--aura-button-radius), 22px); }
1409
- .aura-page-header--actions-full-below-lg:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); } /* 5.78 (visual audit 11) */
1410
- .aura-page-header--actions-full-below-lg:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: var(--aura-radius-md); }
1430
+ .aura-page-header--actions-full-below-lg:not(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); } /* 5.78 (visual audit 11) */
1431
+ .aura-page-header--actions-full-below-lg:is(.aura-page-header--actions-bar-below-sm, .aura-page-header--actions-bar-below-md) > .aura-page-header__actions.is-split:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-btn, :not(.aura-page-header__bar) > .aura-btn):not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); }
1411
1432
  .aura-page-header--actions-full-below-lg > .aura-page-header__actions:has(> .aura-icon-btn, > :not(.aura-page-header__bar) > .aura-icon-btn) > :is(.aura-icon-btn, :has(> .aura-icon-btn)) { align-self: center; } /* 5.45 (Chamber-OS addendum 52): centred on a taller button */
1412
1433
  }
1413
1434
  /* 5.48 (Chamber-OS 154): only on a screen taller than 30rem (5.49: 480px at the default text size) — on a short one (400% zoom, a phone held sideways) the
@@ -1434,7 +1455,10 @@ summary.aura-link::-webkit-details-marker { display: none; }
1434
1455
  :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > .aura-icon-btn, :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > * > .aura-icon-btn:only-child { width: var(--aura-touch-target); height: var(--aura-touch-target); }
1435
1456
  :is(.aura-page-header--actions-bar-below-sm.aura-page-header--actions-bar-floating > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm.aura-page-header--actions-bar-floating > .aura-page-header__actions > .aura-page-header__bar) { left: var(--aura-space-4); right: var(--aura-space-4); bottom: calc(var(--aura-bottomnav-offset, 0px) + max(var(--aura-space-3), env(safe-area-inset-bottom, 0px))); padding-bottom: var(--aura-space-2); border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-lg); box-shadow: var(--aura-shadow-overlay); }
1436
1457
  :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > .aura-page-header__status { display: block; flex: 1 1 100%; min-width: 0; font-size: max(14px, .875rem); line-height: 1.5; color: var(--aura-fg-secondary); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
1437
- :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > :not(.aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"]) { flex: 1 1 0; min-width: max-content; }
1458
+ :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > :not(.aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"]) { flex: 1 1 0; min-width: max-content; min-width: fit-content; }
1459
+ :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
1460
+ :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > :is(.aura-btn--sm, * > .aura-btn--sm):not(.aura-icon-btn) { min-height: var(--aura-button-height-sm); padding-block: var(--aura-space-1); }
1461
+ :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > :is(.aura-btn--touch, * > .aura-btn--touch):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
1438
1462
  :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > :is(.aura-dropdown, .aura-tooltip-anchor, .aura-popover-anchor) > * { flex: 1 1 auto; }
1439
1463
  :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > .aura-icon-btn { flex: none; }
1440
1464
  :is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) > :has(> .aura-icon-btn) { flex: none; }
@@ -1460,7 +1484,10 @@ summary.aura-link::-webkit-details-marker { display: none; }
1460
1484
  :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > .aura-icon-btn, :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > * > .aura-icon-btn:only-child { width: var(--aura-touch-target); height: var(--aura-touch-target); }
1461
1485
  :is(.aura-page-header--actions-bar-below-md.aura-page-header--actions-bar-floating > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md.aura-page-header--actions-bar-floating > .aura-page-header__actions > .aura-page-header__bar) { left: var(--aura-space-4); right: var(--aura-space-4); bottom: calc(var(--aura-bottomnav-offset, 0px) + max(var(--aura-space-3), env(safe-area-inset-bottom, 0px))); padding-bottom: var(--aura-space-2); border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-lg); box-shadow: var(--aura-shadow-overlay); }
1462
1486
  :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > .aura-page-header__status { display: block; flex: 1 1 100%; min-width: 0; font-size: max(14px, .875rem); line-height: 1.5; color: var(--aura-fg-secondary); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
1463
- :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > :not(.aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"]) { flex: 1 1 0; min-width: max-content; }
1487
+ :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > :not(.aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text, [hidden], [style*="position: absolute"], [style*="position:absolute"]) { flex: 1 1 0; min-width: max-content; min-width: fit-content; }
1488
+ :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
1489
+ :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > :is(.aura-btn--sm, * > .aura-btn--sm):not(.aura-icon-btn) { min-height: var(--aura-button-height-sm); padding-block: var(--aura-space-1); }
1490
+ :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > :is(.aura-btn--touch, * > .aura-btn--touch):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
1464
1491
  :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > :is(.aura-dropdown, .aura-tooltip-anchor, .aura-popover-anchor) > * { flex: 1 1 auto; }
1465
1492
  :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > .aura-icon-btn { flex: none; }
1466
1493
  :is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) > :has(> .aura-icon-btn) { flex: none; }
@@ -1997,7 +2024,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
1997
2024
  .aura-dialog__foot > .aura-btn, .aura-dialog__foot > * > .aura-btn:only-child,
1998
2025
  .aura-drawer__foot > .aura-btn, .aura-drawer__foot > * > .aura-btn:only-child, .aura-btn.aura-btn.aura-btn--full-below-sm {
1999
2026
  height: auto; min-height: var(--aura-touch-target); white-space: normal; flex-shrink: 1;
2000
- padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; }
2027
+ padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
2001
2028
  .aura-dialog__foot > * > .aura-btn:only-child, .aura-btn.aura-btn.aura-btn--full-below-sm { width: 100%; }
2002
2029
  .aura-drawer__foot > * { max-width: 100%; }
2003
2030
  .aura-drawer:not(.aura-drawer--nav) { max-width: none; }
@@ -2423,15 +2450,15 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2423
2450
  :root:has(.aura-actionbar--edge:not(.is-idle)):not(:has(.aura-shell__content)) body { padding-bottom: var(--aura-actionbar-space); }
2424
2451
  }
2425
2452
  /* 5.79 (5.78 carry-over): where actionsFullWidthBelow reaches wider than actionsBarBelow, the bar isn't pinned between
2426
- * the two breakpoints and its buttons sit in the same full-width row — every button there is radius-md, not some. */
2453
+ * the two breakpoints and its buttons sit in the same full-width row — every button there has the full-width shape (5.87). */
2427
2454
  @media (min-width: 640px) and (max-width: 767.98px) {
2428
- .aura-page-header--actions-full-below-md.aura-page-header--actions-bar-below-sm > .aura-page-header__actions .aura-btn:not(.aura-icon-btn) { border-radius: var(--aura-radius-md); }
2455
+ .aura-page-header--actions-full-below-md.aura-page-header--actions-bar-below-sm > .aura-page-header__actions .aura-btn:not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); }
2429
2456
  }
2430
2457
  @media (min-width: 640px) and (max-width: 1023.98px) {
2431
- .aura-page-header--actions-full-below-lg.aura-page-header--actions-bar-below-sm > .aura-page-header__actions .aura-btn:not(.aura-icon-btn) { border-radius: var(--aura-radius-md); }
2458
+ .aura-page-header--actions-full-below-lg.aura-page-header--actions-bar-below-sm > .aura-page-header__actions .aura-btn:not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); }
2432
2459
  }
2433
2460
  @media (min-width: 768px) and (max-width: 1023.98px) {
2434
- .aura-page-header--actions-full-below-lg.aura-page-header--actions-bar-below-md > .aura-page-header__actions .aura-btn:not(.aura-icon-btn) { border-radius: var(--aura-radius-md); }
2461
+ .aura-page-header--actions-full-below-lg.aura-page-header--actions-bar-below-md > .aura-page-header__actions .aura-btn:not(.aura-icon-btn) { border-radius: min(var(--aura-button-radius), 22px); }
2435
2462
  }
2436
2463
  /* 5.79 (visual audit 10): in an AppShell on a desktop the edge strip starts where the content does — after the
2437
2464
  * sidebar (its rail width when collapsed; the right edge in RTL) — and its contents line up with the content's 32px
@@ -2449,7 +2476,10 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2449
2476
  :is(.aura-actionbar--edge, .aura-actionbar--edge-below-sm, .aura-actionbar--edge-below-md):not(.is-idle) > .aura-actionbar__inner { padding-inline: var(--aura-space-4); }
2450
2477
  :is(.aura-actionbar--edge, .aura-actionbar--edge-below-sm, .aura-actionbar--edge-below-md):not(.is-idle) > .aura-actionbar__inner > .aura-actionbar__status:not(:empty) { flex-basis: 100%; }
2451
2478
  :is(.aura-actionbar--edge, .aura-actionbar--edge-below-sm, .aura-actionbar--edge-below-md):not(.is-idle) .aura-actionbar__actions { flex: 1 1 auto; min-width: 0; margin-inline-start: 0; }
2452
- :is(.aura-actionbar--edge, .aura-actionbar--edge-below-sm, .aura-actionbar--edge-below-md):not(.is-idle) .aura-actionbar__actions > :not(.aura-icon-btn, :has(> .aura-icon-btn)) { flex: 1 1 0; min-width: max-content; } /* as PageHeader's strip (5.61): shares, a long label takes its own row */
2479
+ :is(.aura-actionbar--edge, .aura-actionbar--edge-below-sm, .aura-actionbar--edge-below-md):not(.is-idle) .aura-actionbar__actions > :not(.aura-icon-btn, :has(> .aura-icon-btn)) { flex: 1 1 0; min-width: max-content; min-width: fit-content; } /* as PageHeader's strip (5.61): shares, a long label takes its own row */
2480
+ :is(.aura-actionbar--edge, .aura-actionbar--edge-below-sm, .aura-actionbar--edge-below-md):not(.is-idle) .aura-actionbar__actions > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-touch-target); white-space: normal; padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
2481
+ :is(.aura-actionbar--edge, .aura-actionbar--edge-below-sm, .aura-actionbar--edge-below-md):not(.is-idle) .aura-actionbar__actions > :is(.aura-btn--sm, * > .aura-btn--sm):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
2482
+ :is(.aura-actionbar--edge, .aura-actionbar--edge-below-sm, .aura-actionbar--edge-below-md):not(.is-idle) .aura-actionbar__actions > :is(.aura-btn--touch, * > .aura-btn--touch):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
2453
2483
  :is(.aura-actionbar--edge, .aura-actionbar--edge-below-sm, .aura-actionbar--edge-below-md):not(.is-idle) .aura-actionbar__actions > :is(.aura-dropdown, .aura-tooltip-anchor, .aura-popover-anchor):not(:has(> .aura-icon-btn)) > .aura-btn { width: 100%; }
2454
2484
  }
2455
2485
  }
@@ -2457,7 +2487,11 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2457
2487
  .aura-actionbar--edge-below-md:not(.is-idle) > .aura-actionbar__inner { padding-inline: var(--aura-space-4); }
2458
2488
  .aura-actionbar--edge-below-md:not(.is-idle) > .aura-actionbar__inner > .aura-actionbar__status:not(:empty) { flex-basis: 100%; }
2459
2489
  .aura-actionbar--edge-below-md:not(.is-idle) .aura-actionbar__actions { flex: 1 1 auto; min-width: 0; margin-inline-start: 0; }
2460
- .aura-actionbar--edge-below-md:not(.is-idle) .aura-actionbar__actions > :not(.aura-icon-btn, :has(> .aura-icon-btn)) { flex: 1 1 0; min-width: max-content; } /* as PageHeader's strip (5.61): shares, a long label takes its own row */
2490
+ .aura-actionbar--edge-below-md:not(.is-idle) .aura-actionbar__actions > :not(.aura-icon-btn, :has(> .aura-icon-btn)) { flex: 1 1 0; min-width: max-content; min-width: fit-content; } /* as PageHeader's strip (5.61): shares, a long label takes its own row */
2491
+ .aura-actionbar--edge-below-md:not(.is-idle) .aura-actionbar__actions > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; border-radius: min(var(--aura-button-radius), 22px); }
2492
+ .aura-actionbar--edge-below-md:not(.is-idle) .aura-actionbar__actions > :is(.aura-btn--sm, * > .aura-btn--sm):not(.aura-icon-btn) { min-height: var(--aura-button-height-sm); padding-block: var(--aura-space-1); }
2493
+ .aura-actionbar--edge-below-md:not(.is-idle) .aura-actionbar__actions > :is(.aura-btn--touch, * > .aura-btn--touch):not(.aura-icon-btn) { min-height: var(--aura-touch-target); }
2494
+ @media (pointer: coarse) { .aura-actionbar--edge-below-md:not(.is-idle) .aura-actionbar__actions > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { min-height: var(--aura-touch-target); } } /* as 5.55: 44px on a touch screen */
2461
2495
  .aura-actionbar--edge-below-md:not(.is-idle) .aura-actionbar__actions > :is(.aura-dropdown, .aura-tooltip-anchor, .aura-popover-anchor):not(:has(> .aura-icon-btn)) > .aura-btn { width: 100%; }
2462
2496
  }
2463
2497
  @media (max-width: 639.98px) { .aura-actionbar--edge-below-sm:not(.is-idle) { border: 0; border-top: 1px solid var(--aura-border-default); border-radius: 0; box-shadow: none; } }
@@ -2666,8 +2700,9 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2666
2700
  @container aura-stack (width >= 9999.5px) { .aura-table [data-grid='off'] { display: none; } }
2667
2701
 
2668
2702
  /* Below stackBelow the same grid lays out as cards: the first column is the title, the first other pill column sits
2669
- * beside it, `actions` columns go top-right, the rest are label/value fields two to a line. Column headers stay for
2670
- * screen readers; the labels are generated content with empty alt text, so they aren't read twice. */
2703
+ * beside it, `actions` columns go top-right, the rest are label/value fields two to a line.
2704
+ * 5.87 (Chamber-OS 205): the column headers leave the accessibility tree while the cards show (only the select-all
2705
+ * line stays); each field's label is generated content that is read with its value. */
2671
2706
  @container aura-stack (width < 9999.5px) {
2672
2707
  .aura-table { background: transparent; border: 0; border-radius: 0; overflow: visible; }
2673
2708
  /* 5.26: stacked cards inside a framed Card keep its padding (0 where the Card is flush). */
@@ -2680,10 +2715,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2680
2715
  position: static; height: auto; min-width: 0; padding: 0 0 var(--aura-space-3); border: 0; background: none;
2681
2716
  font-family: var(--font-sans); font-size: max(13px, .8125rem);
2682
2717
  }
2683
- .aura-table__head > .aura-table__th {
2684
- position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
2685
- }
2686
- .aura-table__head:not(.has-select-all) { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); }
2718
+ .aura-table__head > .aura-table__th, .aura-table__head:not(.has-select-all) { display: none; }
2687
2719
  .aura-table__head > .aura-table__sel { position: static; width: auto; gap: var(--aura-space-3); padding: 0 var(--aura-space-4); }
2688
2720
  .aura-table__sel-text { display: inline; color: var(--aura-fg-secondary); }
2689
2721
  .aura-table__gutter, .aura-table__gutter--end.has-picker { display: none; } /* 5.78 (audit 20): the column picker's slot too, which squeezed the card's title */
@@ -2699,7 +2731,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2699
2731
  margin-bottom: var(--aura-space-1);
2700
2732
  padding: 0; line-height: normal;
2701
2733
  }
2702
- .aura-table__td[data-hide], .aura-table__head > .aura-table__th[data-hide] { display: block; }
2734
+ .aura-table__td[data-hide] { display: block; }
2703
2735
  /* 5.13 (Chamber-OS 80): card: 'hide' leaves a column out of the card; cardOrder orders the fields. */
2704
2736
  .aura-table__td[data-card='hide'], .aura-table__head > .aura-table__th[data-card='hide'],
2705
2737
  .aura-table__row--skeleton .aura-table__td[data-card='hide'] { display: none; }
@@ -2709,14 +2741,14 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2709
2741
  .aura-table__row--skeleton .aura-table__td.is-end { justify-content: flex-start; }
2710
2742
  /* hideSelectionInCards: no row boxes, no select-all line. */
2711
2743
  .aura-table--cards-nosel .aura-table__row > .aura-table__sel { display: none; }
2712
- .aura-table--cards-nosel .aura-table__head { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); }
2744
+ .aura-table--cards-nosel .aura-table__head { display: none; }
2713
2745
  .aura-table--cards-nosel .aura-table__head > .aura-table__sel { display: none; }
2714
2746
  /* 5.11: rowHeight="auto" leaves cards as they are. */
2715
2747
  .aura-table__td--auto { display: block; white-space: nowrap; }
2716
2748
  .aura-table__td--auto .aura-table__cell > .aura-badge, .aura-table__td--auto .aura-table__cell > .aura-pill { margin: 0; }
2717
2749
  .aura-table__spacer { display: none; }
2718
2750
  .aura-table__td[data-label]::before {
2719
- content: attr(data-label); content: attr(data-label) / '';
2751
+ content: attr(data-label);
2720
2752
  display: block; margin-bottom: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: start;
2721
2753
  font-family: var(--font-mono); font-size: max(11px, .6875rem); line-height: normal; font-weight: 400; color: var(--aura-fg-secondary);
2722
2754
  }
@@ -2760,6 +2792,16 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2760
2792
  .aura-table__total > .is-blank { display: none; }
2761
2793
  .aura-table__foot { border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-lg); margin-top: var(--aura-space-2); background: var(--aura-bg-surface); }
2762
2794
  .aura-table__empty { background: var(--aura-bg-surface); border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-lg); }
2795
+ /* 5.87 (Chamber-OS 204): stackStyle="list" — the same stacked layout as one list divided by rules: no frame, radius
2796
+ * or gap per row, so it sits in a framed Card. A rule above every row after the first (the virtual spacers and the
2797
+ * header aren't rows); the totals row and the pager follow the last rule, unshaded and unframed. */
2798
+ .aura-table--stack-list .aura-table__row, .aura-table--stack-list .aura-table__row:last-child { margin-bottom: 0; padding-inline: 0; border-width: 0; border-radius: 0; }
2799
+ .aura-table--stack-list .aura-table__row ~ .aura-table__row { border-top-width: 1px; }
2800
+ .aura-table--stack-list .aura-table__head > .aura-table__sel { padding-inline: 0; }
2801
+ .aura-table--stack-list .aura-table__head.has-select-all + .aura-table__row { border-top-width: 1px; } /* under the select-all line */
2802
+ .aura-table--stack-list .aura-table__total { background: none; }
2803
+ .aura-table--stack-list .aura-table__foot { margin-top: 0; padding-inline: 0; border-width: 1px 0 0; border-radius: 0; background: none; }
2804
+ .aura-table--stack-list .aura-table__empty { border: 0; border-radius: 0; background: none; }
2763
2805
  }
2764
2806
 
2765
2807
  /* ---------- 5.1.1: Windows High Contrast / forced colours ---------- */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jirawatpyk/aura-react",
3
- "version": "5.86.0",
3
+ "version": "5.87.0",
4
4
  "description": "AURA Design System — React components (Enterprise Standard, Human Creative). Thai-first: Buddhist-era dates, Thai collation.",
5
5
  "license": "MIT",
6
6
  "type": "module",