@jirawatpyk/aura-react 5.39.0 → 5.40.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/dist/styles.css CHANGED
@@ -13,7 +13,7 @@
13
13
  background: transparent;
14
14
  color: inherit;
15
15
  font-family: var(--font-sans); /* 5.30: not inherit — a trigger outside a styled root fell back to Arial */
16
- font-size: 13px;
16
+ font-size: max(13px, .8125rem);
17
17
  font-weight: 500;
18
18
  line-height: 1;
19
19
  display: inline-flex;
@@ -118,14 +118,14 @@ button.aura-btn--creative[aria-disabled='true']:hover { box-shadow: var(--aura-s
118
118
  display: flex; height: var(--aura-table-row-height); min-width: var(--aura-row-min, 0);
119
119
  background: var(--aura-table-head-bg);
120
120
  border-bottom: 1px solid var(--aura-border-default);
121
- font-family: var(--font-mono); font-size: 12px; color: var(--aura-fg-secondary);
121
+ font-family: var(--font-mono); font-size: max(12px, .75rem); color: var(--aura-fg-secondary);
122
122
  }
123
123
  .aura-table__row {
124
124
  box-sizing: border-box; display: flex; height: var(--aura-table-row-height); /* exactly the virtual row height */
125
125
  min-width: var(--aura-row-min, 0);
126
126
  background: var(--aura-bg-surface);
127
127
  border-bottom: 1px solid var(--aura-border-default);
128
- font-size: 13px;
128
+ font-size: max(13px, .8125rem);
129
129
  }
130
130
  .aura-table__row:last-child { border-bottom: 0; }
131
131
  .aura-table__row:hover { background: var(--aura-hover, var(--aura-bg-surface-hover)); }
@@ -183,7 +183,7 @@ button.aura-btn--creative[aria-disabled='true']:hover { box-shadow: var(--aura-s
183
183
  .aura-table__row--auto { height: auto; min-height: var(--aura-table-row-height); }
184
184
  .aura-table__td--auto {
185
185
  --aura-cell-pad-y: clamp(0px, calc((var(--aura-table-row-height) - 1px - var(--aura-button-height-sm)) / 2), var(--aura-space-2));
186
- display: flex; align-items: center; height: auto; line-height: 20px; white-space: normal;
186
+ display: flex; align-items: center; height: auto; line-height: max(20px, 1.25rem); white-space: normal;
187
187
  padding-top: var(--aura-cell-pad-y); padding-bottom: var(--aura-cell-pad-y);
188
188
  }
189
189
  .aura-table__cell { flex: 1 1 auto; min-width: 0; overflow-wrap: break-word; }
@@ -281,7 +281,7 @@ button.aura-btn--creative[aria-disabled='true']:hover { box-shadow: var(--aura-s
281
281
  background: var(--aura-bg-surface); color: var(--aura-fg-primary);
282
282
  border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-md);
283
283
  box-shadow: var(--aura-shadow-enterprise);
284
- font-family: var(--font-sans); font-size: 13px;
284
+ font-family: var(--font-sans); font-size: max(13px, .8125rem);
285
285
  }
286
286
  .aura-menu__item {
287
287
  display: flex; align-items: center; gap: var(--aura-space-2); width: 100%;
@@ -319,19 +319,19 @@ a.aura-menu__item { text-decoration: none; box-sizing: border-box; }
319
319
  .aura-menu__radio.is-on { border-color: var(--aura-control-checked-bg); }
320
320
  .aura-menu__radio.is-on::after { content: ''; width: 8px; height: 8px; border-radius: var(--aura-radius-full); background: var(--aura-control-checked-bg); }
321
321
  /* 5.7: a header above the items (who is signed in), set off by a hairline like a separator. */
322
- .aura-menu__header { margin: calc(-1 * var(--aura-space-1)) calc(-1 * var(--aura-space-1)) var(--aura-space-1); padding: var(--aura-space-3); border-bottom: 1px solid var(--aura-border-default); color: var(--aura-fg-secondary); font-size: 12px; line-height: 18px; overflow-wrap: anywhere; }
322
+ .aura-menu__header { margin: calc(-1 * var(--aura-space-1)) calc(-1 * var(--aura-space-1)) var(--aura-space-1); padding: var(--aura-space-3); border-bottom: 1px solid var(--aura-border-default); color: var(--aura-fg-secondary); font-size: max(12px, .75rem); line-height: max(18px, 1.125rem); overflow-wrap: anywhere; }
323
323
  .aura-menu__header > * { margin: 0; }
324
324
  /* Stays in view when a long menu scrolls. */
325
325
  .aura-menu.has-header .aura-menu__header { position: sticky; top: calc(-1 * var(--aura-space-1)); z-index: 1; background: var(--aura-bg-surface); }
326
- .aura-menu__header strong, .aura-menu__header b { color: var(--aura-fg-primary); font-weight: 500; font-size: 13px; }
326
+ .aura-menu__header strong, .aura-menu__header b { color: var(--aura-fg-primary); font-weight: 500; font-size: max(13px, .8125rem); }
327
327
  .aura-menu__sep { height: 1px; margin: var(--aura-space-1) calc(-1 * var(--aura-space-1)); background: var(--aura-border-default); }
328
328
 
329
329
  /* Footer + pager */
330
330
  .aura-table__foot {
331
- height: var(--aura-table-row-height); display: flex; align-items: center; justify-content: space-between;
331
+ min-height: var(--aura-table-row-height); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; column-gap: var(--aura-space-3); /* 5.40: grows and wraps with a larger default font */
332
332
  padding: 0 var(--aura-space-3) 0 var(--aura-space-6);
333
333
  border-top: 1px solid var(--aura-border-default); background: var(--aura-bg-surface);
334
- font-size: 13px; color: var(--aura-fg-secondary); font-variant-numeric: tabular-nums;
334
+ font-size: max(13px, .8125rem); color: var(--aura-fg-secondary); font-variant-numeric: tabular-nums;
335
335
  }
336
336
  .aura-table__pager { display: inline-flex; align-items: center; gap: var(--aura-space-1); }
337
337
  .aura-table__pager > span { margin-right: var(--aura-space-2); }
@@ -398,8 +398,8 @@ a.aura-icon-btn { text-decoration: none; }
398
398
  border-radius: var(--aura-radius-full); background: var(--aura-bg-canvas); color: var(--aura-fg-secondary);
399
399
  margin-bottom: var(--aura-space-4);
400
400
  }
401
- .aura-table__empty-title { margin: 0; font-size: 14px; font-weight: 600; color: var(--aura-fg-primary); }
402
- .aura-table__empty-text { margin: var(--aura-space-1) 0 0; font-size: 13px; line-height: 1.7; color: var(--aura-fg-secondary); }
401
+ .aura-table__empty-title { margin: 0; font-size: max(14px, .875rem); font-weight: 600; color: var(--aura-fg-primary); }
402
+ .aura-table__empty-text { margin: var(--aura-space-1) 0 0; font-size: max(13px, .8125rem); line-height: 1.7; color: var(--aura-fg-secondary); }
403
403
  .aura-table__empty-action { margin-top: var(--aura-space-6); }
404
404
 
405
405
  /* Checkbox — 16px, 4px corners, ink when checked */
@@ -429,9 +429,9 @@ a.aura-icon-btn { text-decoration: none; }
429
429
  max-width: 100%;
430
430
  border-radius: var(--aura-radius-full);
431
431
  padding: 2px var(--aura-space-2) 2px 6px;
432
- font-size: 11px;
432
+ font-size: max(11px, .6875rem);
433
433
  font-weight: 500; /* 5.30 (Chamber-OS 137): medium everywhere, not the parent's weight; Badge stays 600 */
434
- line-height: 16px;
434
+ line-height: max(16px, 1rem);
435
435
  white-space: nowrap;
436
436
  background: var(--aura-status-neutral-bg);
437
437
  color: var(--aura-status-neutral-fg);
@@ -487,14 +487,14 @@ a.aura-icon-btn { text-decoration: none; }
487
487
 
488
488
  /* ---------- Forms ---------- */
489
489
  .aura-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; padding: 0; border: 0; font-family: var(--font-sans); }
490
- .aura-field__label { padding: 0; font-size: 13px; line-height: 1.4; font-weight: 500; color: var(--aura-fg-primary); }
490
+ .aura-field__label { padding: 0; font-size: max(13px, .8125rem); line-height: 1.4; font-weight: 500; color: var(--aura-fg-primary); }
491
491
  .aura-field__req { color: var(--aura-fg-danger); }
492
492
  .aura-field__opt { font-weight: 400; color: var(--aura-fg-tertiary); }
493
- .aura-field__hint, .aura-field__error { display: flex; align-items: flex-start; gap: var(--aura-space-1); margin: 0; font-size: 12px; line-height: 1.5; color: var(--aura-fg-secondary); }
493
+ .aura-field__hint, .aura-field__error { display: flex; align-items: flex-start; gap: var(--aura-space-1); margin: 0; font-size: max(12px, .75rem); line-height: 1.5; color: var(--aura-fg-secondary); }
494
494
  .aura-field__error { color: var(--aura-fg-danger); }
495
495
  .aura-field__error .aura-icon { margin-top: 2px; }
496
496
  /* 5.31 (Chamber-OS addendum 41): TextField/Textarea `labelAddon`, between the label and the box, in the field's gap. */
497
- .aura-field__addon { min-width: 0; font-size: 13px; line-height: 1.5; color: var(--aura-fg-primary); }
497
+ .aura-field__addon { min-width: 0; font-size: max(13px, .8125rem); line-height: 1.5; color: var(--aura-fg-primary); }
498
498
  .aura-field.is-disabled .aura-field__label { color: var(--aura-fg-secondary); }
499
499
 
500
500
  .aura-input {
@@ -517,7 +517,7 @@ a.aura-icon-btn { text-decoration: none; }
517
517
  .aura-input__control::placeholder, .aura-textarea::placeholder { color: var(--aura-fg-tertiary); opacity: 1; }
518
518
  .aura-input.has-icon .aura-input__control { padding-left: calc(var(--aura-space-3) + var(--aura-icon-sm) + var(--aura-space-2)); }
519
519
  .aura-input__icon { position: absolute; left: var(--aura-space-3); color: var(--aura-fg-secondary); pointer-events: none; }
520
- .aura-input__suffix { padding: 0 var(--aura-space-3) 0 0; color: var(--aura-fg-secondary); font-size: 13px; white-space: nowrap; }
520
+ .aura-input__suffix { padding: 0 var(--aura-space-3) 0 0; color: var(--aura-fg-secondary); font-size: max(13px, .8125rem); white-space: nowrap; }
521
521
  .aura-field.is-invalid .aura-input, .aura-field.is-invalid .aura-textarea { border-color: var(--aura-border-danger); }
522
522
  .aura-field.is-disabled .aura-input { background: var(--aura-bg-input-disabled); color: var(--aura-fg-secondary); border-color: var(--aura-border-default); }
523
523
  .aura-field.is-disabled .aura-input__control { cursor: not-allowed; }
@@ -542,7 +542,7 @@ a.aura-icon-btn { text-decoration: none; }
542
542
  .aura-select__trigger:disabled { cursor: not-allowed; }
543
543
  .aura-select__value { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
544
544
  .aura-select__value.is-placeholder { color: var(--aura-fg-tertiary); }
545
- .aura-select__group { padding: var(--aura-space-2) var(--aura-space-2) var(--aura-space-1); font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--aura-fg-tertiary); }
545
+ .aura-select__group { padding: var(--aura-space-2) var(--aura-space-2) var(--aura-space-1); font-family: var(--font-mono); font-size: max(11px, .6875rem); text-transform: uppercase; letter-spacing: 0.04em; color: var(--aura-fg-tertiary); }
546
546
  .aura-select.is-open .aura-select__chevron { transform: rotate(180deg); }
547
547
  /* 5.19 (Chamber-OS 114): a read-only Select looks like a read-only TextField — the same ground, no chevron (it doesn't
548
548
  * open), no pointer; the value keeps full contrast. */
@@ -552,11 +552,11 @@ a.aura-icon-btn { text-decoration: none; }
552
552
  .aura-radio-group > legend { margin-bottom: 6px; }
553
553
  .aura-radio-group__list { display: flex; flex-direction: column; gap: var(--aura-space-3); }
554
554
  .aura-radio-group__list.is-horizontal { flex-direction: row; flex-wrap: wrap; gap: var(--aura-space-3) var(--aura-space-6); }
555
- .aura-choice { display: flex; align-items: flex-start; gap: var(--aura-space-2); cursor: pointer; font-size: 14px; color: var(--aura-fg-primary); }
555
+ .aura-choice { display: flex; align-items: flex-start; gap: var(--aura-space-2); cursor: pointer; font-size: max(14px, .875rem); color: var(--aura-fg-primary); }
556
556
  .aura-choice.is-disabled { opacity: var(--aura-disabled-opacity); cursor: not-allowed; }
557
557
  .aura-choice__text { display: flex; flex-direction: column; gap: 2px; }
558
- .aura-choice__label { font-size: 14px; line-height: 20px; color: var(--aura-fg-primary); cursor: inherit; }
559
- .aura-choice__desc { font-size: 12px; line-height: 1.5; color: var(--aura-fg-secondary); }
558
+ .aura-choice__label { font-size: max(14px, .875rem); line-height: max(20px, 1.25rem); color: var(--aura-fg-primary); cursor: inherit; }
559
+ .aura-choice__desc { font-size: max(12px, .75rem); line-height: 1.5; color: var(--aura-fg-secondary); }
560
560
  .aura-radio {
561
561
  appearance: none; -webkit-appearance: none; flex: none; margin: 2px 0 0; box-sizing: border-box;
562
562
  width: var(--aura-icon-sm); height: var(--aura-icon-sm); border-radius: var(--aura-radius-full);
@@ -599,11 +599,11 @@ a.aura-icon-btn { text-decoration: none; }
599
599
  .aura-alert {
600
600
  display: flex; align-items: flex-start; gap: var(--aura-space-3); padding: var(--aura-space-4);
601
601
  border: 1px solid var(--aura-alert-info-border); border-radius: var(--aura-radius-lg);
602
- background: var(--aura-alert-info-bg); color: var(--aura-fg-primary); font-family: var(--font-sans); font-size: 14px;
602
+ background: var(--aura-alert-info-bg); color: var(--aura-fg-primary); font-family: var(--font-sans); font-size: max(14px, .875rem);
603
603
  }
604
604
  .aura-alert__icon { margin-top: 2px; color: var(--aura-alert-info-fg); }
605
605
  .aura-alert__body { flex: 1; min-width: 0; }
606
- .aura-alert__title { margin: 0; font-size: 14px; font-weight: 600; line-height: 20px; color: var(--aura-alert-info-fg); }
606
+ .aura-alert__title { margin: 0; font-size: max(14px, .875rem); font-weight: 600; line-height: max(20px, 1.25rem); color: var(--aura-alert-info-fg); }
607
607
  .aura-alert__text { margin-top: 2px; line-height: 1.6; }
608
608
  .aura-alert__title + .aura-alert__text { margin-top: var(--aura-space-1); }
609
609
  .aura-alert__text p { margin: 0; }
@@ -636,8 +636,8 @@ a.aura-icon-btn { text-decoration: none; }
636
636
  .aura-toast--warning .aura-toast__icon { color: var(--aura-alert-warning-fg); }
637
637
  .aura-toast--danger .aura-toast__icon { color: var(--aura-alert-danger-fg); }
638
638
  .aura-toast__body { flex: 1; min-width: 0; padding-top: 1px; }
639
- .aura-toast__title { margin: 0; font-size: 14px; font-weight: 500; line-height: 20px; }
640
- .aura-toast__text { margin: 2px 0 0; font-size: 13px; line-height: 1.5; color: var(--aura-fg-secondary); }
639
+ .aura-toast__title { margin: 0; font-size: max(14px, .875rem); font-weight: 500; line-height: max(20px, 1.25rem); }
640
+ .aura-toast__text { margin: 2px 0 0; font-size: max(13px, .8125rem); line-height: 1.5; color: var(--aura-fg-secondary); }
641
641
  .aura-toast__text > * { margin: 0; }
642
642
  .aura-toast__text a { color: var(--aura-fg-accent); text-underline-offset: 2px; }
643
643
  .aura-toast__text a:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: 1px; border-radius: var(--aura-radius-xs); }
@@ -650,7 +650,7 @@ a.aura-icon-btn { text-decoration: none; }
650
650
  .aura-toast__action {
651
651
  flex: none; align-self: center; height: var(--aura-control-sm); padding: 0 var(--aura-space-2);
652
652
  border: 0; border-radius: var(--aura-radius-sm); background: transparent; color: var(--aura-fg-accent);
653
- font: inherit; font-size: 13px; font-weight: 500; cursor: pointer;
653
+ font: inherit; font-size: max(13px, .8125rem); font-weight: 500; cursor: pointer;
654
654
  display: inline-flex; align-items: center; text-decoration: none; white-space: nowrap;
655
655
  }
656
656
  /* Touch (5.6): the 32px action gets a 44px hit area, as IconButton does. Links in the text only get a little padding —
@@ -670,7 +670,7 @@ a.aura-icon-btn { text-decoration: none; }
670
670
  position: fixed; z-index: var(--aura-z-tooltip); max-width: var(--aura-tooltip-max);
671
671
  padding: 6px var(--aura-space-2); border-radius: var(--aura-radius-sm);
672
672
  background: var(--aura-bg-inverted); color: var(--aura-fg-inverted);
673
- font-family: var(--font-sans); font-size: 12px; line-height: 1.5; pointer-events: none;
673
+ font-family: var(--font-sans); font-size: max(12px, .75rem); line-height: 1.5; pointer-events: none;
674
674
  animation: aura-fade-in var(--aura-duration-fast) var(--aura-ease);
675
675
  }
676
676
  /* The Tooltip component's own tips can be hovered (WCAG 1.4.13, 5.1.1); rail labels and cell tips stay click-through. */
@@ -695,11 +695,11 @@ a.aura-icon-btn { text-decoration: none; }
695
695
  .aura-dialog--md { max-width: var(--aura-dialog-md); }
696
696
  .aura-dialog--lg { max-width: var(--aura-dialog-lg); }
697
697
  .aura-dialog__head { display: flex; align-items: flex-start; gap: var(--aura-space-3); }
698
- .aura-dialog__title { flex: 1; margin: 0; font-size: 16px; line-height: 1.5; font-weight: 600; }
698
+ .aura-dialog__title { flex: 1; margin: 0; font-size: max(16px, 1rem); line-height: 1.5; font-weight: 600; }
699
699
  .aura-dialog__close { margin: -6px -8px 0 0; }
700
- .aura-dialog__desc { margin: var(--aura-space-1) 0 0; font-size: 14px; line-height: 1.7; color: var(--aura-fg-secondary); }
700
+ .aura-dialog__desc { margin: var(--aura-space-1) 0 0; font-size: max(14px, .875rem); line-height: 1.7; color: var(--aura-fg-secondary); }
701
701
  /* Head and footer stay put; only the body scrolls (long forms keep their Save button in view). Side padding moves into the body so focus rings are not clipped. */
702
- .aura-dialog__body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; margin: var(--aura-space-4) calc(-1 * var(--aura-space-6)) 0; padding: var(--aura-space-1) var(--aura-space-6); font-size: 14px; line-height: 1.7; }
702
+ .aura-dialog__body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; margin: var(--aura-space-4) calc(-1 * var(--aura-space-6)) 0; padding: var(--aura-space-1) var(--aura-space-6); font-size: max(14px, .875rem); line-height: 1.7; }
703
703
  .aura-dialog__head, .aura-dialog__desc, .aura-dialog__foot { flex: none; }
704
704
  .aura-dialog__foot { margin-top: var(--aura-space-6); display: flex; justify-content: flex-end; flex-wrap: wrap; gap: var(--aura-space-3); }
705
705
  @media (prefers-reduced-motion: reduce) { .aura-dialog, .aura-scrim, .aura-toast, .aura-tooltip { animation: none; } }
@@ -709,7 +709,7 @@ a.aura-icon-btn { text-decoration: none; }
709
709
  box-sizing: border-box; display: flex; flex-direction: column; gap: var(--aura-space-4);
710
710
  padding: var(--aura-card-padding); background: var(--aura-bg-surface); color: var(--aura-fg-primary);
711
711
  border: 1px solid var(--aura-border-default); border-radius: var(--aura-card-radius); box-shadow: var(--aura-shadow-enterprise);
712
- font-family: var(--font-sans); font-size: 14px;
712
+ font-family: var(--font-sans); font-size: max(14px, .875rem);
713
713
  --aura-card-bleed: var(--aura-card-padding); /* 5.26: how far a bleeding table reaches out; 0 where the card is flush */
714
714
  }
715
715
  .aura-card.is-interactive { cursor: pointer; transition: border-color var(--aura-duration-fast) var(--aura-ease); }
@@ -741,9 +741,9 @@ a.aura-icon-btn { text-decoration: none; }
741
741
  .aura-card--creative { border: 2px solid var(--aura-border-strong); box-shadow: var(--aura-card-shadow-creative); }
742
742
  .aura-card__head { display: flex; align-items: flex-start; gap: var(--aura-space-3); }
743
743
  .aura-card__heading { flex: 1; min-width: 0; }
744
- .aura-card__title { margin: 0; font-size: 16px; line-height: 1.5; font-weight: 600; }
745
- .aura-card--creative .aura-card__title { font-family: var(--font-display); font-size: 24px; line-height: 1.2; }
746
- .aura-card__desc { margin: 2px 0 0; font-size: 13px; line-height: 1.5; color: var(--aura-fg-secondary); }
744
+ .aura-card__title { margin: 0; font-size: max(16px, 1rem); line-height: 1.5; font-weight: 600; }
745
+ .aura-card--creative .aura-card__title { font-family: var(--font-display); font-size: max(24px, 1.5rem); line-height: 1.2; }
746
+ .aura-card__desc { margin: 2px 0 0; font-size: max(13px, .8125rem); line-height: 1.5; color: var(--aura-fg-secondary); }
747
747
  .aura-card__actions { display: flex; gap: var(--aura-space-2); margin: -4px -8px 0 0; }
748
748
  .aura-card__body { line-height: 1.7; }
749
749
  .aura-card__foot { display: flex; justify-content: flex-end; gap: var(--aura-space-3); padding-top: var(--aura-space-4); border-top: 1px solid var(--aura-border-subtle); }
@@ -759,7 +759,7 @@ a.aura-icon-btn { text-decoration: none; }
759
759
  box-sizing: border-box; /* 5.39: a link tab (<a>) was 2px taller than a button tab — its underline sat outside the height */
760
760
  height: var(--aura-input-height); padding: 0;
761
761
  border: 0; border-bottom: 2px solid transparent; background: transparent;
762
- color: var(--aura-fg-secondary); font: inherit; font-size: 13px; font-weight: 500; cursor: pointer;
762
+ color: var(--aura-fg-secondary); font: inherit; font-size: max(13px, .8125rem); font-weight: 500; cursor: pointer;
763
763
  transition: color var(--aura-duration-fast) var(--aura-ease), border-color var(--aura-duration-fast) var(--aura-ease);
764
764
  }
765
765
  .aura-tab:hover { color: var(--aura-fg-primary); }
@@ -770,7 +770,7 @@ a.aura-tab { text-decoration: none; }
770
770
  .aura-tab__count {
771
771
  min-width: 18px; padding: 0 6px; box-sizing: border-box; border-radius: var(--aura-radius-full);
772
772
  background: var(--aura-status-neutral-bg); color: var(--aura-status-neutral-fg);
773
- font-size: 11px; line-height: 18px; text-align: center; font-variant-numeric: tabular-nums;
773
+ font-size: max(11px, .6875rem); line-height: max(18px, 1.125rem); text-align: center; font-variant-numeric: tabular-nums;
774
774
  }
775
775
  .aura-tabs__panel { padding-top: var(--aura-space-6); outline: none; }
776
776
  /* 5.39 (Chamber-OS 143): touchHeight — 44px tabs (underline or segmented, buttons or links) below 640px or on a coarse
@@ -796,12 +796,12 @@ a.aura-tab { text-decoration: none; }
796
796
  .aura-nav > .aura-nav__scroll:first-child { padding-top: var(--aura-space-3); }
797
797
  .aura-nav--borderless { border-right: 0; }
798
798
  .aura-nav__section + .aura-nav__section { margin-top: var(--aura-space-5); }
799
- .aura-nav__title { margin: 0 0 var(--aura-space-1); padding: 0 var(--aura-space-3); font-family: var(--font-mono); font-size: 11px; line-height: 20px; color: var(--aura-fg-tertiary); text-transform: uppercase; letter-spacing: 0.04em; }
799
+ .aura-nav__title { margin: 0 0 var(--aura-space-1); padding: 0 var(--aura-space-3); font-family: var(--font-mono); font-size: max(11px, .6875rem); line-height: max(20px, 1.25rem); color: var(--aura-fg-tertiary); text-transform: uppercase; letter-spacing: 0.04em; }
800
800
  .aura-nav__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
801
801
  .aura-nav__item {
802
802
  box-sizing: border-box; display: flex; align-items: center; gap: var(--aura-space-3); width: 100%;
803
803
  min-height: 36px; padding: var(--aura-space-1) var(--aura-space-3); border: 0; border-radius: var(--aura-radius-sm);
804
- background: transparent; color: var(--aura-fg-secondary); font: inherit; font-size: 13px; font-weight: 500;
804
+ background: transparent; color: var(--aura-fg-secondary); font: inherit; font-size: max(13px, .8125rem); font-weight: 500;
805
805
  text-decoration: none; text-align: left; cursor: pointer;
806
806
  transition: background var(--aura-duration-fast) var(--aura-ease), color var(--aura-duration-fast) var(--aura-ease);
807
807
  }
@@ -827,10 +827,10 @@ a.aura-tab { text-decoration: none; }
827
827
  * ("Marknadsförings-" / "målgrupp"); breaking anywhere is only the last resort. Only words of 12+ letters hyphenate,
828
828
  * with 5+ on each side, so ordinary English labels keep wrapping between words. */
829
829
  .aura-nav__label {
830
- flex: 1; min-width: 0; line-height: 18px; overflow: hidden; overflow-wrap: anywhere; -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 12 5 5;
830
+ flex: 1; min-width: 0; line-height: max(18px, 1.125rem); overflow: hidden; overflow-wrap: anywhere; -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 12 5 5;
831
831
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2;
832
832
  }
833
- .aura-nav__count { font-size: 11px; font-variant-numeric: tabular-nums; color: var(--aura-fg-secondary); }
833
+ .aura-nav__count { font-size: max(11px, .6875rem); font-variant-numeric: tabular-nums; color: var(--aura-fg-secondary); }
834
834
  .aura-nav__badge { display: inline-flex; align-items: center; flex: none; }
835
835
  /* Groups: a disclosure button, its items indented one step per level. */
836
836
  .aura-nav__item { padding-left: calc(var(--aura-space-3) + var(--aura-nav-depth, 0) * (var(--aura-icon-sm) + var(--aura-space-3))); }
@@ -860,7 +860,7 @@ a.aura-tab { text-decoration: none; }
860
860
  .aura-nav--collapsed .aura-nav__item--group.has-active .aura-icon { color: var(--aura-fg-accent); }
861
861
  .aura-nav__initial {
862
862
  display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: var(--aura-radius-sm);
863
- background: var(--aura-status-neutral-bg); color: var(--aura-status-neutral-fg); font-size: 12px; font-weight: 600; text-transform: uppercase;
863
+ background: var(--aura-status-neutral-bg); color: var(--aura-status-neutral-fg); font-size: max(12px, .75rem); font-weight: 600; text-transform: uppercase;
864
864
  }
865
865
  .aura-nav__dot {
866
866
  position: absolute; top: 6px; left: calc(50% + 5px); width: 8px; height: 8px; border-radius: var(--aura-radius-full);
@@ -870,7 +870,7 @@ a.aura-tab { text-decoration: none; }
870
870
  @media (prefers-reduced-motion: reduce) { .aura-nav { transition: none; } }
871
871
 
872
872
  /* ---------- Breadcrumb ---------- */
873
- .aura-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: var(--aura-space-1) var(--aura-space-2); list-style: none; margin: 0; padding: 0; font-family: var(--font-sans); font-size: 13px; }
873
+ .aura-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: var(--aura-space-1) var(--aura-space-2); list-style: none; margin: 0; padding: 0; font-family: var(--font-sans); font-size: max(13px, .8125rem); }
874
874
  .aura-crumbs li { display: inline-flex; align-items: center; gap: var(--aura-space-2); }
875
875
  .aura-crumbs a, .aura-crumbs button {
876
876
  padding: 0; border: 0; background: none; font: inherit; color: var(--aura-fg-secondary); text-decoration: none; cursor: pointer; border-radius: var(--aura-radius-xs);
@@ -910,6 +910,7 @@ a.aura-tab { text-decoration: none; }
910
910
  background: var(--aura-status-neutral-bg); color: var(--aura-status-neutral-fg);
911
911
  }
912
912
  .aura-avatar img { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
913
+ /* Initials keep px: they are sized to the circle, and the name is the accessible name (5.40). */
913
914
  .aura-avatar--sm { width: var(--aura-avatar-sm); height: var(--aura-avatar-sm); font-size: 10px; }
914
915
  .aura-avatar--md { width: var(--aura-avatar-md); height: var(--aura-avatar-md); font-size: 12px; }
915
916
  .aura-avatar--lg { width: var(--aura-avatar-lg); height: var(--aura-avatar-lg); font-size: 14px; }
@@ -941,7 +942,7 @@ a.aura-tab { text-decoration: none; }
941
942
  position: fixed; z-index: var(--aura-z-menu); box-sizing: border-box; overflow-y: auto; overscroll-behavior: contain;
942
943
  background: var(--aura-bg-surface); color: var(--aura-fg-primary);
943
944
  border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-md); box-shadow: var(--aura-shadow-overlay);
944
- font-family: var(--font-sans); font-size: 14px;
945
+ font-family: var(--font-sans); font-size: max(14px, .875rem);
945
946
  }
946
947
  .aura-combo__list { list-style: none; margin: 0; padding: var(--aura-space-1); }
947
948
  .aura-combo__option {
@@ -954,15 +955,15 @@ a.aura-tab { text-decoration: none; }
954
955
  .aura-combo__option.is-disabled { opacity: var(--aura-disabled-opacity); cursor: default; }
955
956
  .aura-combo__text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
956
957
  .aura-combo__label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
957
- .aura-combo__desc { font-size: 12px; line-height: 1.5; color: var(--aura-fg-secondary); }
958
+ .aura-combo__desc { font-size: max(12px, .75rem); line-height: 1.5; color: var(--aura-fg-secondary); }
958
959
  /* Same specificity as `.aura-combo__option > .aura-icon` above and later in the file, so it wins by order (4.18). */
959
960
  .aura-combo__option > .aura-combo__check { color: var(--aura-fg-accent); }
960
961
  /* 5.16 (Chamber-OS 105): option groups under a heading. */
961
962
  .aura-combo__group { list-style: none; }
962
963
  .aura-combo__group + .aura-combo__group, .aura-combo__option + .aura-combo__group { margin-top: var(--aura-space-1); padding-top: var(--aura-space-1); border-top: 1px solid var(--aura-border-subtle); }
963
- .aura-combo__group-label { display: block; padding: var(--aura-space-2) var(--aura-space-2) var(--aura-space-1); font-family: var(--font-mono); font-size: 11px; line-height: 16px; color: var(--aura-fg-secondary); text-transform: uppercase; letter-spacing: 0.04em; }
964
+ .aura-combo__group-label { display: block; padding: var(--aura-space-2) var(--aura-space-2) var(--aura-space-1); font-family: var(--font-mono); font-size: max(11px, .6875rem); line-height: max(16px, 1rem); color: var(--aura-fg-secondary); text-transform: uppercase; letter-spacing: 0.04em; }
964
965
  .aura-combo__grouplist { list-style: none; margin: 0; padding: 0; }
965
- .aura-combo__note { display: flex; align-items: center; gap: var(--aura-space-2); padding: var(--aura-space-3) var(--aura-space-2); font-size: 13px; color: var(--aura-fg-secondary); }
966
+ .aura-combo__note { display: flex; align-items: center; gap: var(--aura-space-2); padding: var(--aura-space-3) var(--aura-space-2); font-size: max(13px, .8125rem); color: var(--aura-fg-secondary); }
966
967
 
967
968
  /* ---------- DatePicker / Calendar ---------- */
968
969
  .aura-date .aura-input__control { padding-right: calc(var(--aura-space-2) + 2 * var(--aura-control-sm)); font-variant-numeric: tabular-nums; }
@@ -975,21 +976,21 @@ a.aura-tab { text-decoration: none; }
975
976
  font-family: var(--font-sans);
976
977
  }
977
978
  .aura-cal { width: calc(7 * var(--aura-cal-cell)); }
978
- .aura-cal__hint { margin: 0 0 var(--aura-space-2); font-size: 12px; color: var(--aura-fg-secondary); text-align: center; }
979
+ .aura-cal__hint { margin: 0 0 var(--aura-space-2); font-size: max(12px, .75rem); color: var(--aura-fg-secondary); text-align: center; }
979
980
  .aura-cal__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--aura-space-2); }
980
981
  .aura-cal__title {
981
- display: inline-flex; align-items: center; gap: var(--aura-space-1); height: var(--aura-control-sm); padding: 0 var(--aura-space-2);
982
+ display: inline-flex; align-items: center; gap: var(--aura-space-1); min-height: var(--aura-control-sm); padding: 0 var(--aura-space-2);
982
983
  border: 0; border-radius: var(--aura-radius-sm); background: transparent; color: var(--aura-fg-primary);
983
- font: inherit; font-size: 14px; font-weight: 600; cursor: pointer;
984
+ font: inherit; font-size: max(14px, .875rem); font-weight: 600; cursor: pointer;
984
985
  }
985
986
  .aura-cal__title:hover { background: var(--aura-hover, var(--aura-bg-surface-hover)); }
986
987
  .aura-cal__title:focus-visible, .aura-cal__link:focus-visible, .aura-cal__year:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: 0; }
987
988
  .aura-cal__grid { border-collapse: separate; border-spacing: 0 2px; width: 100%; }
988
- .aura-cal__grid th { height: 28px; padding: 0; font-size: 12px; font-weight: 500; color: var(--aura-fg-secondary); }
989
+ .aura-cal__grid th { height: 28px; padding: 0; font-size: max(12px, .75rem); font-weight: 500; color: var(--aura-fg-secondary); }
989
990
  .aura-cal__grid td { padding: 0; text-align: center; }
990
991
  .aura-cal__day {
991
992
  width: var(--aura-cal-cell); height: var(--aura-cal-cell); padding: 0; border: 0; border-radius: var(--aura-radius-full);
992
- background: transparent; color: var(--aura-fg-primary); font: inherit; font-size: 13px; font-variant-numeric: tabular-nums; cursor: pointer;
993
+ background: transparent; color: var(--aura-fg-primary); font: inherit; font-size: max(13px, .8125rem); font-variant-numeric: tabular-nums; cursor: pointer;
993
994
  }
994
995
  .aura-cal__day:hover { background: var(--aura-hover, var(--aura-bg-surface-hover)); }
995
996
  .aura-cal__day.is-outside { color: var(--aura-fg-tertiary); }
@@ -1004,14 +1005,14 @@ a.aura-tab { text-decoration: none; }
1004
1005
  .aura-cal__years { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--aura-space-1); }
1005
1006
  .aura-cal__year {
1006
1007
  height: 40px; border: 0; border-radius: var(--aura-radius-sm); background: transparent; color: var(--aura-fg-primary);
1007
- font: inherit; font-size: 13px; font-variant-numeric: tabular-nums; cursor: pointer;
1008
+ font: inherit; font-size: max(13px, .8125rem); font-variant-numeric: tabular-nums; cursor: pointer;
1008
1009
  }
1009
1010
  .aura-cal__year:hover { background: var(--aura-hover, var(--aura-bg-surface-hover)); }
1010
1011
  .aura-cal__year.is-selected { background: var(--aura-control-checked-bg); color: var(--aura-control-checked-fg); }
1011
1012
  .aura-cal__foot { display: flex; justify-content: space-between; margin-top: var(--aura-space-2); padding-top: var(--aura-space-2); border-top: 1px solid var(--aura-border-subtle); }
1012
1013
  .aura-cal__link {
1013
1014
  height: var(--aura-control-sm); padding: 0 var(--aura-space-2); border: 0; border-radius: var(--aura-radius-sm);
1014
- background: transparent; color: var(--aura-fg-accent); font: inherit; font-size: 13px; font-weight: 500; cursor: pointer;
1015
+ background: transparent; color: var(--aura-fg-accent); font: inherit; font-size: max(13px, .8125rem); font-weight: 500; cursor: pointer;
1015
1016
  }
1016
1017
  .aura-cal__link:hover { background: var(--aura-hover, var(--aura-bg-surface-hover)); }
1017
1018
  .aura-cal__link:disabled { opacity: var(--aura-disabled-opacity); cursor: not-allowed; }
@@ -1034,10 +1035,10 @@ a.aura-tab { text-decoration: none; }
1034
1035
  .aura-drawer--nav { max-width: var(--aura-sidenav-width); }
1035
1036
  .aura-drawer__head { display: flex; align-items: center; gap: var(--aura-space-3); padding: var(--aura-space-4) var(--aura-space-4) var(--aura-space-2) var(--aura-space-6); }
1036
1037
  .aura-drawer--nav .aura-drawer__head { position: absolute; top: var(--aura-space-2); inset-inline-end: var(--aura-space-2); padding: 0; z-index: 1; } /* 5.32: inline-end, so RTL puts it on the left with the header's room */
1037
- .aura-drawer__title { flex: 1; margin: 0; font-size: 16px; line-height: 1.5; font-weight: 600; }
1038
- .aura-drawer__desc { margin: 0; padding: 0 var(--aura-space-6); font-size: 14px; line-height: 1.7; color: var(--aura-fg-secondary); }
1038
+ .aura-drawer__title { flex: 1; margin: 0; font-size: max(16px, 1rem); line-height: 1.5; font-weight: 600; }
1039
+ .aura-drawer__desc { margin: 0; padding: 0 var(--aura-space-6); font-size: max(14px, .875rem); line-height: 1.7; color: var(--aura-fg-secondary); }
1039
1040
  .aura-drawer__body {
1040
- flex: 1; overflow-y: auto; padding: var(--aura-space-4) var(--aura-space-6); font-size: 14px; line-height: 1.7;
1041
+ flex: 1; overflow-y: auto; padding: var(--aura-space-4) var(--aura-space-6); font-size: max(14px, .875rem); line-height: 1.7;
1041
1042
  /* 5.14 (Chamber-OS 91): a field scrolled into view (focus, the phone keyboard) keeps clear of the head and foot. */
1042
1043
  scroll-padding-block: var(--aura-space-4);
1043
1044
  }
@@ -1138,10 +1139,10 @@ a.aura-tab { text-decoration: none; }
1138
1139
  * 28px and the actions wrap under the text. */
1139
1140
  .aura-page-header { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--aura-space-4) var(--aura-space-6); min-width: 0; font-family: var(--font-sans); }
1140
1141
  .aura-page-header__text { display: flex; flex-direction: column; gap: var(--aura-space-1); flex: 1 1 320px; min-width: 0; }
1141
- .aura-page-header__eyebrow { margin: 0; font-family: var(--font-mono); font-size: 12px; line-height: 1.7; color: var(--aura-fg-secondary); overflow-wrap: anywhere; }
1142
- .aura-page-header__title { margin: 0; font-family: var(--font-display); font-size: 28px; line-height: 1.15; font-weight: 600; letter-spacing: -0.01em; color: var(--aura-fg-primary); overflow-wrap: anywhere; }
1142
+ .aura-page-header__eyebrow { margin: 0; font-family: var(--font-mono); font-size: max(12px, .75rem); line-height: 1.7; color: var(--aura-fg-secondary); overflow-wrap: anywhere; }
1143
+ .aura-page-header__title { margin: 0; font-family: var(--font-display); font-size: max(28px, 1.75rem); line-height: 1.15; font-weight: 600; letter-spacing: -0.01em; color: var(--aura-fg-primary); overflow-wrap: anywhere; }
1143
1144
  .aura-page-header__breadcrumb { min-width: 0; } /* 5.33 (DxT Monitor #7): Breadcrumb keeps its own type */
1144
- .aura-page-header__meta { min-width: 0; font-size: 13px; line-height: 1.5; color: var(--aura-fg-secondary); overflow-wrap: anywhere; }
1145
+ .aura-page-header__meta { min-width: 0; font-size: max(13px, .8125rem); line-height: 1.5; color: var(--aura-fg-secondary); overflow-wrap: anywhere; }
1145
1146
  .aura-page-header__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--aura-space-2); }
1146
1147
  /* 5.37 (DxT Monitor #17): actionsFullWidthBelow — the actions take the row under the text; their children share
1147
1148
  * each line equally (wrapping when a label won't fit), a trigger inside a DropdownMenu, Tooltip or Popover wrapper
@@ -1167,7 +1168,7 @@ a.aura-tab { text-decoration: none; }
1167
1168
  .aura-page-header--actions-full-below-lg > .aura-page-header__actions > .aura-icon-btn { flex: none; }
1168
1169
  .aura-page-header--actions-full-below-lg > .aura-page-header__actions > :has(> .aura-icon-btn) { flex: none; }
1169
1170
  }
1170
- @media (min-width: 640px) { .aura-page-header__title { font-size: 36px; } }
1171
+ @media (min-width: 640px) { .aura-page-header__title { font-size: max(36px, 2.25rem); } }
1171
1172
  /* Thai marks need the room a 1.15 line takes away. */
1172
1173
  .aura-page-header__title:lang(th) { line-height: 1.4; letter-spacing: 0; }
1173
1174
  .aura-page-header__meta:lang(th) { line-height: 1.6; }
@@ -1185,27 +1186,27 @@ a.aura-tab { text-decoration: none; }
1185
1186
  box-sizing: border-box; display: flex; flex-direction: column; gap: var(--aura-space-2); min-width: 0;
1186
1187
  padding: var(--aura-space-5); background: var(--aura-bg-surface); color: var(--aura-fg-primary);
1187
1188
  border: 1px solid var(--aura-border-default); border-radius: var(--aura-card-radius); box-shadow: var(--aura-shadow-enterprise);
1188
- font-family: var(--font-sans); font-size: 14px; text-align: left; text-decoration: none;
1189
+ font-family: var(--font-sans); font-size: max(14px, .875rem); text-align: left; text-decoration: none;
1189
1190
  }
1190
1191
  button.aura-stat { font: inherit; width: 100%; cursor: pointer; }
1191
1192
  .aura-stat.is-interactive { cursor: pointer; transition: border-color var(--aura-duration-fast) var(--aura-ease), background var(--aura-duration-fast) var(--aura-ease); }
1192
1193
  .aura-stat.is-interactive:hover { border-color: var(--aura-border-strong); }
1193
1194
  .aura-stat.is-interactive:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: var(--aura-focus-ring-offset); }
1194
1195
  .aura-stat__head { display: flex; align-items: center; justify-content: space-between; gap: var(--aura-space-2); }
1195
- .aura-stat__label { margin: 0; font-size: 13px; font-weight: 500; color: var(--aura-fg-secondary); } /* 5.14: may be a heading */
1196
+ .aura-stat__label { margin: 0; font-size: max(13px, .8125rem); font-weight: 500; color: var(--aura-fg-secondary); } /* 5.14: may be a heading */
1196
1197
  .aura-stat__icon { display: inline-flex; color: var(--aura-fg-secondary); }
1197
- .aura-stat__value { display: flex; align-items: baseline; gap: var(--aura-space-1); font-size: 28px; line-height: 1.2; font-weight: 600; letter-spacing: -0.01em; min-height: 34px; }
1198
+ .aura-stat__value { display: flex; align-items: baseline; gap: var(--aura-space-1); font-size: max(28px, 1.75rem); line-height: 1.2; font-weight: 600; letter-spacing: -0.01em; min-height: 34px; }
1198
1199
  .aura-stat__value.is-numeric { font-variant-numeric: tabular-nums; }
1199
- .aura-stat__unit { font-size: 14px; font-weight: 500; color: var(--aura-fg-secondary); letter-spacing: 0; }
1200
+ .aura-stat__unit { font-size: max(14px, .875rem); font-weight: 500; color: var(--aura-fg-secondary); letter-spacing: 0; }
1200
1201
  .aura-stat__skel { width: 55%; height: 24px; align-self: center; }
1201
- .aura-stat__foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--aura-space-1) var(--aura-space-2); font-size: 12px; }
1202
+ .aura-stat__foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--aura-space-1) var(--aura-space-2); font-size: max(12px, .75rem); }
1202
1203
  .aura-stat__change { display: inline-flex; align-items: center; gap: 2px; font-weight: 600; font-variant-numeric: tabular-nums; }
1203
1204
  .aura-stat__change.is-positive { color: var(--aura-fg-positive); }
1204
1205
  .aura-stat__change.is-negative { color: var(--aura-fg-danger); }
1205
1206
  .aura-stat__change.is-neutral { color: var(--aura-fg-secondary); }
1206
1207
  .aura-stat__caption { color: var(--aura-fg-secondary); }
1207
1208
  /* 5.17 (Chamber-OS 110): a status line under the value, and a link on the label that covers the tile. */
1208
- .aura-stat__status { display: flex; flex-wrap: wrap; align-items: center; gap: var(--aura-space-1) var(--aura-space-2); font-size: 13px; color: var(--aura-fg-secondary); }
1209
+ .aura-stat__status { display: flex; flex-wrap: wrap; align-items: center; gap: var(--aura-space-1) var(--aura-space-2); font-size: max(13px, .8125rem); color: var(--aura-fg-secondary); }
1209
1210
  .aura-stat--label-link { position: relative; }
1210
1211
  .aura-stat__link { color: inherit; text-decoration: none; }
1211
1212
  .aura-stat__link::after { content: ''; position: absolute; inset: 0; border-radius: var(--aura-card-radius); }
@@ -1227,7 +1228,7 @@ button.aura-stat { font: inherit; width: 100%; cursor: pointer; }
1227
1228
  position: relative; box-sizing: border-box; display: flex; flex-direction: column; gap: 2px; min-width: 0;
1228
1229
  padding: var(--aura-space-2) var(--aura-space-3); background: var(--aura-bg-surface); color: var(--aura-fg-primary);
1229
1230
  border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-sm);
1230
- font-family: var(--font-sans); font-size: 13px; line-height: 18px; text-align: start; text-decoration: none;
1231
+ font-family: var(--font-sans); font-size: max(13px, .8125rem); line-height: max(18px, 1.125rem); text-align: start; text-decoration: none;
1231
1232
  --aura-hover: var(--aura-bg-surface-hover);
1232
1233
  }
1233
1234
  .aura-status-tile--down { background: var(--aura-alert-danger-bg); border-color: var(--aura-alert-danger-border); }
@@ -1263,11 +1264,11 @@ button.aura-stat { font: inherit; width: 100%; cursor: pointer; }
1263
1264
  .aura-status-tile__value { flex-basis: 100%; margin-inline-start: 0; padding-inline-start: 24px; }
1264
1265
  }
1265
1266
  /* The second line starts under the title. */
1266
- .aura-status-tile__foot { display: flex; align-items: center; gap: var(--aura-space-2); min-width: 0; padding-inline-start: 24px; font-size: 12px; color: var(--aura-fg-secondary); }
1267
+ .aura-status-tile__foot { display: flex; align-items: center; gap: var(--aura-space-2); min-width: 0; padding-inline-start: 24px; font-size: max(12px, .75rem); color: var(--aura-fg-secondary); }
1267
1268
  .aura-status-tile__meta { flex: 1; min-width: 0; overflow-wrap: anywhere; }
1268
1269
  .aura-status-tile__markers { display: inline-flex; align-items: center; gap: var(--aura-space-1); margin-inline-start: auto; flex: none; }
1269
1270
  .aura-status-tile__marker { display: inline-flex; }
1270
- .aura-status-tile:lang(th) { line-height: 20px; }
1271
+ .aura-status-tile:lang(th) { line-height: max(20px, 1.25rem); }
1271
1272
  .aura-sparkline { display: inline-block; flex: none; vertical-align: middle; overflow: visible; color: var(--aura-fg-secondary); }
1272
1273
  .aura-sparkline.is-accent { color: var(--aura-fg-accent); }
1273
1274
  .aura-sparkline.is-danger { color: var(--aura-fg-danger); }
@@ -1290,7 +1291,7 @@ button.aura-stat { font: inherit; width: 100%; cursor: pointer; }
1290
1291
  .aura-upload {
1291
1292
  position: relative; box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--aura-space-2);
1292
1293
  min-height: 96px; padding: var(--aura-space-5); text-align: center; cursor: pointer;
1293
- background: var(--aura-bg-input); color: var(--aura-fg-secondary); font-size: 14px;
1294
+ background: var(--aura-bg-input); color: var(--aura-fg-secondary); font-size: max(14px, .875rem);
1294
1295
  border: 1px dashed var(--aura-border-control); border-radius: var(--aura-radius-md);
1295
1296
  transition: border-color var(--aura-duration-fast) var(--aura-ease), background var(--aura-duration-fast) var(--aura-ease);
1296
1297
  }
@@ -1301,7 +1302,7 @@ button.aura-stat { font: inherit; width: 100%; cursor: pointer; }
1301
1302
  .aura-upload.is-disabled { opacity: var(--aura-disabled-opacity); pointer-events: none; background: var(--aura-bg-input-disabled); }
1302
1303
  .aura-upload__icon { flex-basis: 100%; color: var(--aura-fg-secondary); }
1303
1304
  .aura-upload__browse { color: var(--aura-fg-accent); font-weight: 500; text-decoration: underline; text-underline-offset: 2px; }
1304
- .aura-upload__note { flex-basis: 100%; font-size: 12px; color: var(--aura-fg-secondary); }
1305
+ .aura-upload__note { flex-basis: 100%; font-size: max(12px, .75rem); color: var(--aura-fg-secondary); }
1305
1306
  .aura-upload__input { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
1306
1307
  .aura-upload__list { list-style: none; margin: var(--aura-space-3) 0 0; padding: 0; display: grid; gap: var(--aura-space-2); }
1307
1308
  .aura-upload__item {
@@ -1312,26 +1313,26 @@ button.aura-stat { font: inherit; width: 100%; cursor: pointer; }
1312
1313
  .aura-upload__thumb { flex: none; width: 40px; height: 40px; border-radius: var(--aura-radius-sm); object-fit: cover; background: var(--aura-bg-surface-hover); }
1313
1314
  .aura-upload__thumb.is-icon { display: inline-flex; align-items: center; justify-content: center; color: var(--aura-fg-secondary); }
1314
1315
  .aura-upload__meta { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
1315
- .aura-upload__name { font-size: 13px; font-weight: 500; color: var(--aura-fg-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
1316
+ .aura-upload__name { font-size: max(13px, .8125rem); font-weight: 500; color: var(--aura-fg-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
1316
1317
  a.aura-upload__name { color: var(--aura-fg-accent); text-decoration: underline; text-underline-offset: 2px; border-radius: var(--aura-radius-xs); }
1317
1318
  a.aura-upload__name:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: 2px; }
1318
- .aura-upload__sub { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--aura-fg-secondary); }
1319
+ .aura-upload__sub { display: inline-flex; align-items: center; gap: 4px; font-size: max(12px, .75rem); color: var(--aura-fg-secondary); }
1319
1320
  .aura-upload__item.is-error .aura-upload__sub { color: var(--aura-fg-danger); }
1320
1321
  .aura-upload__bar { display: block; height: 4px; border-radius: var(--aura-radius-full); background: var(--aura-progress-track); box-shadow: inset 0 0 0 1px var(--aura-progress-track-edge); overflow: hidden; }
1321
1322
  .aura-upload__bar > span { display: block; height: 100%; background: var(--aura-fg-accent); transition: width var(--aura-duration-base) var(--aura-ease); }
1322
1323
 
1323
1324
  /* ---------- Checkbox with a visible label ---------- */
1324
- .aura-check--labelled { width: auto; height: auto; max-width: 100%; display: inline-flex; align-items: flex-start; gap: var(--aura-space-2); cursor: pointer; font-size: 14px; line-height: 1.5; color: var(--aura-fg-primary); }
1325
+ .aura-check--labelled { width: auto; height: auto; max-width: 100%; display: inline-flex; align-items: flex-start; gap: var(--aura-space-2); cursor: pointer; font-size: max(14px, .875rem); line-height: 1.5; color: var(--aura-fg-primary); }
1325
1326
  .aura-check--labelled .aura-check__input { inset: auto; top: 3px; left: 0; width: var(--aura-icon-sm); height: var(--aura-icon-sm); }
1326
1327
  .aura-check--labelled .aura-check__box { flex: none; width: var(--aura-icon-sm); height: var(--aura-icon-sm); margin-top: 3px; }
1327
1328
  .aura-check__text { display: flex; flex-direction: column; }
1328
- .aura-check__desc { font-size: 12px; color: var(--aura-fg-secondary); }
1329
+ .aura-check__desc { font-size: max(12px, .75rem); color: var(--aura-fg-secondary); }
1329
1330
  .aura-check.is-disabled { opacity: var(--aura-disabled-opacity); cursor: default; }
1330
1331
 
1331
1332
  /* ---------- Badge ---------- */
1332
1333
  .aura-badge {
1333
- display: inline-flex; align-items: center; gap: 4px; height: 20px; padding: 0 var(--aura-space-2); box-sizing: border-box;
1334
- border-radius: var(--aura-radius-full); border: 1px solid transparent; font-family: var(--font-sans); font-size: 11px; font-weight: 600; line-height: 1; white-space: nowrap; font-variant-numeric: tabular-nums;
1334
+ display: inline-flex; align-items: center; gap: 4px; min-height: 20px; padding: 0 var(--aura-space-2); box-sizing: border-box; /* 5.40: min-, so a larger default font grows it */
1335
+ border-radius: var(--aura-radius-full); border: 1px solid transparent; font-family: var(--font-sans); font-size: max(11px, .6875rem); font-weight: 600; line-height: 1; white-space: nowrap; font-variant-numeric: tabular-nums;
1335
1336
  background: var(--aura-status-neutral-bg); color: var(--aura-status-neutral-fg); /* 5.30: surface-hover vanished on the light canvas */
1336
1337
  }
1337
1338
  .aura-badge--accent { background: var(--aura-alert-info-bg); color: var(--aura-alert-info-fg); }
@@ -1347,7 +1348,7 @@ a.aura-upload__name:focus-visible { outline: var(--aura-focus-ring-width) solid
1347
1348
  .aura-tag {
1348
1349
  display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 var(--aura-space-3); box-sizing: border-box;
1349
1350
  border: 1px solid var(--aura-border-control); border-radius: var(--aura-radius-full); background: var(--aura-bg-surface); color: var(--aura-fg-primary);
1350
- font-family: var(--font-sans); font-size: 13px; font-weight: 500; white-space: nowrap;
1351
+ font-family: var(--font-sans); font-size: max(13px, .8125rem); font-weight: 500; white-space: nowrap;
1351
1352
  }
1352
1353
  .aura-tag__text { overflow: hidden; text-overflow: ellipsis; max-width: 24ch; }
1353
1354
  .aura-tag.is-selectable { cursor: pointer; transition: background var(--aura-duration-fast) var(--aura-ease), border-color var(--aura-duration-fast) var(--aura-ease); }
@@ -1363,7 +1364,7 @@ a.aura-upload__name:focus-visible { outline: var(--aura-focus-ring-width) solid
1363
1364
 
1364
1365
  /* ---------- Progress ---------- */
1365
1366
  .aura-progress { display: flex; flex-direction: column; gap: 6px; font-family: var(--font-sans); }
1366
- .aura-progress__head { display: flex; justify-content: space-between; gap: var(--aura-space-2); font-size: 13px; }
1367
+ .aura-progress__head { display: flex; justify-content: space-between; gap: var(--aura-space-2); font-size: max(13px, .8125rem); }
1367
1368
  .aura-progress__label { font-weight: 500; color: var(--aura-fg-primary); }
1368
1369
  .aura-progress__value { color: var(--aura-fg-secondary); font-variant-numeric: tabular-nums; }
1369
1370
  .aura-progress__track { position: relative; height: 8px; border-radius: var(--aura-radius-full); background: var(--aura-progress-track); box-shadow: inset 0 0 0 1px var(--aura-progress-track-edge); overflow: hidden; }
@@ -1382,7 +1383,7 @@ a.aura-upload__name:focus-visible { outline: var(--aura-focus-ring-width) solid
1382
1383
  .aura-progress__track.is-indeterminate .aura-progress__bar { width: 35%; animation: aura-progress-slide var(--aura-duration-pulse) var(--aura-ease) infinite; }
1383
1384
  @keyframes aura-progress-slide { from { left: -35%; } to { left: 100%; } }
1384
1385
  @media (prefers-reduced-motion: reduce) { .aura-progress__track.is-indeterminate .aura-progress__bar { animation-duration: calc(var(--aura-duration-pulse) * 3); } }
1385
- .aura-progress__hint { margin: 0; font-size: 12px; color: var(--aura-fg-secondary); }
1386
+ .aura-progress__hint { margin: 0; font-size: max(12px, .75rem); color: var(--aura-fg-secondary); }
1386
1387
 
1387
1388
  /* ---------- Skeleton ---------- */
1388
1389
  .aura-skel--text { height: 10px; margin: 5px 0; }
@@ -1397,8 +1398,8 @@ a.aura-upload__name:focus-visible { outline: var(--aura-focus-ring-width) solid
1397
1398
  .aura-empty.is-bordered { border: 1px dashed var(--aura-border-control); border-radius: var(--aura-radius-lg); }
1398
1399
  .aura-empty__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-bottom: var(--aura-space-2); border-radius: var(--aura-radius-full); background: var(--aura-status-neutral-bg); color: var(--aura-fg-secondary); }
1399
1400
  .aura-empty.is-sm .aura-empty__icon { width: 36px; height: 36px; }
1400
- .aura-empty__title { margin: 0; font-size: 16px; line-height: 1.5; font-weight: 600; }
1401
- .aura-empty__text { margin: 0; max-width: 44ch; font-size: 14px; line-height: 1.6; color: var(--aura-fg-secondary); }
1401
+ .aura-empty__title { margin: 0; font-size: max(16px, 1rem); line-height: 1.5; font-weight: 600; }
1402
+ .aura-empty__text { margin: 0; max-width: 44ch; font-size: max(14px, .875rem); line-height: 1.6; color: var(--aura-fg-secondary); }
1402
1403
  .aura-empty__action { margin-top: var(--aura-space-3); display: flex; gap: var(--aura-space-3); flex-wrap: wrap; justify-content: center; }
1403
1404
  /* 5.13 (Chamber-OS 82): tone="danger" — a load failure. */
1404
1405
  .aura-empty.is-danger { background: var(--aura-alert-danger-bg); border-radius: var(--aura-radius-lg); }
@@ -1406,7 +1407,7 @@ a.aura-upload__name:focus-visible { outline: var(--aura-focus-ring-width) solid
1406
1407
  .aura-empty.is-danger .aura-empty__icon { background: var(--aura-bg-surface); color: var(--aura-fg-danger); }
1407
1408
 
1408
1409
  /* ---------- Pagination ---------- */
1409
- .aura-pagination { display: flex; align-items: center; gap: var(--aura-space-1); font-family: var(--font-sans); font-size: 13px; }
1410
+ .aura-pagination { display: flex; align-items: center; gap: var(--aura-space-1); font-family: var(--font-sans); font-size: max(13px, .8125rem); }
1410
1411
  .aura-pagination__list { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
1411
1412
  .aura-page {
1412
1413
  display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 36px; padding: 0 var(--aura-space-2); box-sizing: border-box;
@@ -1425,7 +1426,7 @@ a.aura-upload__name:focus-visible { outline: var(--aura-focus-ring-width) solid
1425
1426
  /* ---------- Accordion ---------- */
1426
1427
  .aura-accordion { border-top: 1px solid var(--aura-border-default); font-family: var(--font-sans); }
1427
1428
  .aura-accordion__item { border-bottom: 1px solid var(--aura-border-default); }
1428
- .aura-accordion__heading { margin: 0; font-size: 14px; font-weight: 600; }
1429
+ .aura-accordion__heading { margin: 0; font-size: max(14px, .875rem); font-weight: 600; }
1429
1430
  .aura-accordion__heading > button {
1430
1431
  display: flex; align-items: center; gap: var(--aura-space-3); width: 100%; min-height: 48px; padding: var(--aura-space-3) var(--aura-space-1); box-sizing: border-box;
1431
1432
  border: 0; background: transparent; color: var(--aura-fg-primary); font: inherit; text-align: left; cursor: pointer;
@@ -1434,22 +1435,22 @@ a.aura-upload__name:focus-visible { outline: var(--aura-focus-ring-width) solid
1434
1435
  .aura-accordion__heading > button:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: calc(-1 * var(--aura-focus-ring-width)); border-radius: var(--aura-radius-sm); }
1435
1436
  .aura-accordion__heading > button:disabled { opacity: var(--aura-disabled-opacity); cursor: default; }
1436
1437
  .aura-accordion__title { flex: 1; display: flex; flex-direction: column; gap: 2px; }
1437
- .aura-accordion__desc { font-size: 13px; font-weight: 400; color: var(--aura-fg-secondary); }
1438
+ .aura-accordion__desc { font-size: max(13px, .8125rem); font-weight: 400; color: var(--aura-fg-secondary); }
1438
1439
  .aura-accordion__lead { color: var(--aura-fg-secondary); }
1439
1440
  .aura-accordion__chevron { flex: none; color: var(--aura-fg-secondary); transition: transform var(--aura-duration-fast) var(--aura-ease); }
1440
1441
  .aura-accordion__item.is-open .aura-accordion__chevron { transform: rotate(180deg); }
1441
- .aura-accordion__panel { padding: 0 var(--aura-space-1) var(--aura-space-4); font-size: 14px; line-height: 1.7; color: var(--aura-fg-primary); }
1442
+ .aura-accordion__panel { padding: 0 var(--aura-space-1) var(--aura-space-4); font-size: max(14px, .875rem); line-height: 1.7; color: var(--aura-fg-primary); }
1442
1443
 
1443
1444
  /* ---------- Popover ---------- */
1444
1445
  .aura-popover-anchor { display: inline-flex; }
1445
1446
  .aura-popover {
1446
1447
  position: fixed; z-index: var(--aura-z-menu); box-sizing: border-box; width: max-content; min-width: 200px; max-width: min(360px, calc(100vw - 16px));
1447
1448
  background: var(--aura-bg-surface); color: var(--aura-fg-primary); border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-lg);
1448
- box-shadow: var(--aura-shadow-overlay); font-family: var(--font-sans); font-size: 14px; outline: none; animation: aura-fade-in var(--aura-duration-fast) var(--aura-ease);
1449
+ box-shadow: var(--aura-shadow-overlay); font-family: var(--font-sans); font-size: max(14px, .875rem); outline: none; animation: aura-fade-in var(--aura-duration-fast) var(--aura-ease);
1449
1450
  overflow-y: auto; overscroll-behavior: contain;
1450
1451
  }
1451
1452
  .aura-popover__head { display: flex; align-items: center; justify-content: space-between; gap: var(--aura-space-2); padding: var(--aura-space-2) var(--aura-space-2) 0 var(--aura-space-4); position: sticky; top: 0; z-index: 1; background: var(--aura-bg-surface); } /* 5.2: stays while a tall popover scrolls */
1452
- .aura-popover__title { margin: 0; font-size: 14px; font-weight: 600; }
1453
+ .aura-popover__title { margin: 0; font-size: max(14px, .875rem); font-weight: 600; }
1453
1454
  .aura-popover__body { padding: var(--aura-space-4); }
1454
1455
  .aura-popover__head + .aura-popover__body { padding-top: var(--aura-space-2); }
1455
1456
  @media (prefers-reduced-motion: reduce) { .aura-popover { animation: none; } }
@@ -1464,7 +1465,7 @@ a.aura-upload__name:focus-visible { outline: var(--aura-focus-ring-width) solid
1464
1465
  .aura-combo__chip {
1465
1466
  display: inline-flex; align-items: center; gap: 2px; max-width: 100%; height: 28px; box-sizing: border-box;
1466
1467
  padding: 0 2px 0 var(--aura-space-2); border-radius: var(--aura-radius-full);
1467
- background: var(--aura-bg-selected); color: var(--aura-fg-primary); font-size: 13px; font-weight: 500;
1468
+ background: var(--aura-bg-selected); color: var(--aura-fg-primary); font-size: max(13px, .8125rem); font-weight: 500;
1468
1469
  }
1469
1470
  .aura-combo__chip-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 24ch; }
1470
1471
  .aura-combo__chip-remove {
@@ -1476,7 +1477,7 @@ a.aura-upload__name:focus-visible { outline: var(--aura-focus-ring-width) solid
1476
1477
 
1477
1478
  /* ---------- NumberField ---------- */
1478
1479
  .aura-number .aura-input__control { font-variant-numeric: tabular-nums; }
1479
- .aura-number__affix { padding-left: var(--aura-space-3); color: var(--aura-fg-secondary); font-size: 14px; white-space: nowrap; }
1480
+ .aura-number__affix { padding-left: var(--aura-space-3); color: var(--aura-fg-secondary); font-size: max(14px, .875rem); white-space: nowrap; }
1480
1481
  .aura-number__affix + .aura-input__control { padding-left: var(--aura-space-2); }
1481
1482
  .aura-input__control + .aura-number__affix { padding: 0 var(--aura-space-2) 0 0; }
1482
1483
  .aura-number__steps { display: flex; align-self: stretch; border-left: 1px solid var(--aura-border-default); }
@@ -1504,16 +1505,16 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
1504
1505
  .aura-stepper__marker {
1505
1506
  position: relative; z-index: 1; flex: none; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; box-sizing: border-box;
1506
1507
  border-radius: var(--aura-radius-full); border: 1px solid var(--aura-border-control); background: var(--aura-bg-surface);
1507
- color: var(--aura-fg-secondary); font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums;
1508
+ color: var(--aura-fg-secondary); font-size: max(13px, .8125rem); font-weight: 600; font-variant-numeric: tabular-nums;
1508
1509
  }
1509
1510
  .aura-stepper__marker .aura-icon { width: 16px; height: 16px; }
1510
1511
  .aura-stepper__item.is-done .aura-stepper__marker { background: var(--aura-control-checked-bg); border-color: var(--aura-control-checked-bg); color: var(--aura-control-checked-fg); }
1511
1512
  .aura-stepper__item.is-current .aura-stepper__marker { border: 2px solid var(--aura-fg-accent); color: var(--aura-fg-accent); }
1512
1513
  .aura-stepper__text { display: flex; flex-direction: column; min-width: 0; padding-top: 4px; }
1513
- .aura-stepper__label { font-size: 13px; font-weight: 500; line-height: 1.4; color: var(--aura-fg-secondary); }
1514
+ .aura-stepper__label { font-size: max(13px, .8125rem); font-weight: 500; line-height: 1.4; color: var(--aura-fg-secondary); }
1514
1515
  .aura-stepper__item.is-current .aura-stepper__label, .aura-stepper__item.is-done .aura-stepper__label { color: var(--aura-fg-primary); }
1515
1516
  .aura-stepper__item.is-current .aura-stepper__label { font-weight: 600; }
1516
- .aura-stepper__desc { font-size: 12px; line-height: 1.5; color: var(--aura-fg-secondary); }
1517
+ .aura-stepper__desc { font-size: max(12px, .75rem); line-height: 1.5; color: var(--aura-fg-secondary); }
1517
1518
  /* Connector: a line from each marker to the next (labels sit under the markers), or down the left when vertical. */
1518
1519
  .aura-stepper--horizontal .aura-stepper__item:not(:last-child)::after {
1519
1520
  content: ""; position: absolute; top: 14px; left: 36px; right: var(--aura-space-2); height: 1px; background: var(--aura-border-control); pointer-events: none;
@@ -1526,7 +1527,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
1526
1527
  content: ""; position: absolute; left: 14px; top: 32px; bottom: 4px; width: 1px; background: var(--aura-border-control);
1527
1528
  }
1528
1529
  .aura-stepper--vertical .aura-stepper__item.is-done::after { background: var(--aura-control-checked-bg); }
1529
- .aura-stepper__compact { display: none; margin: var(--aura-space-2) 0 0; font-size: 13px; }
1530
+ .aura-stepper__compact { display: none; margin: var(--aura-space-2) 0 0; font-size: max(13px, .8125rem); }
1530
1531
  .aura-stepper__count { color: var(--aura-fg-secondary); margin-right: var(--aura-space-2); }
1531
1532
  .aura-stepper__compact-label { font-weight: 600; }
1532
1533
  /* 5.18 (Chamber-OS 112): a step with errors — the danger fill and an alert icon; outlined when it is the current step. */
@@ -1547,7 +1548,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
1547
1548
  height: calc(var(--aura-input-height) - 6px); /* 5.30: the control is as tall as a field beside it (2px padding, 1px edge) */
1548
1549
  padding: 0 var(--aura-space-4); box-sizing: border-box;
1549
1550
  border: 0; border-radius: var(--aura-radius-full); background: transparent; color: var(--aura-fg-secondary);
1550
- font: inherit; font-size: 13px; font-weight: 500; white-space: nowrap; cursor: pointer;
1551
+ font: inherit; font-size: max(13px, .8125rem); font-weight: 500; white-space: nowrap; cursor: pointer;
1551
1552
  transition: background-color var(--aura-duration-fast) var(--aura-ease), color var(--aura-duration-fast) var(--aura-ease), box-shadow var(--aura-duration-fast) var(--aura-ease);
1552
1553
  }
1553
1554
  .aura-segmented.is-full .aura-segmented__option { flex: 1 1 0; min-width: 0; }
@@ -1556,7 +1557,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
1556
1557
  .aura-segmented__option.is-selected { background: var(--aura-segmented-thumb-bg); color: var(--aura-fg-primary); font-weight: 600; box-shadow: inset 0 0 0 1px var(--aura-border-control), var(--aura-shadow-enterprise); } /* 5.2: the edge marks the choice at 3:1; the fill alone was 1.04:1 on the track */
1557
1558
  .aura-segmented__option:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: 1px; }
1558
1559
  .aura-segmented__option:disabled { opacity: var(--aura-disabled-opacity); cursor: default; }
1559
- .aura-segmented--sm .aura-segmented__option { height: 24px; padding: 0 var(--aura-space-3); font-size: 12px; }
1560
+ .aura-segmented--sm .aura-segmented__option { height: auto; min-height: 24px; padding: 0 var(--aura-space-3); font-size: max(12px, .75rem); }
1560
1561
  .aura-segmented--sm .aura-segmented__option.is-icon { width: 28px; padding: 0; }
1561
1562
  .aura-segmented.is-disabled { opacity: var(--aura-disabled-opacity); }
1562
1563
  /* 5.37 (DxT Monitor #18): touchHeight — 44px options below 640px or on a coarse pointer (is-touch), or always. */
@@ -1644,7 +1645,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
1644
1645
  .aura-toaster.is-top { top: calc(var(--aura-toaster-offset, var(--aura-space-4)) + env(safe-area-inset-top, 0px)); }
1645
1646
  .aura-card { padding: var(--aura-space-4); --aura-card-bleed: var(--aura-space-4); }
1646
1647
  .aura-stat { padding: var(--aura-space-4); }
1647
- .aura-stat__value { font-size: 24px; }
1648
+ .aura-stat__value { font-size: max(24px, 1.5rem); }
1648
1649
  .aura-tabs__list { gap: var(--aura-space-4); }
1649
1650
  }
1650
1651
  @keyframes aura-sheet-in { from { transform: translateY(24px); opacity: 0; } }
@@ -1709,22 +1710,22 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
1709
1710
  /* FormErrorSummary: a danger alert whose items link to their fields */
1710
1711
  .aura-error-summary:focus-visible, .aura-error-summary:focus { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: var(--aura-focus-ring-offset); }
1711
1712
  .aura-error-summary h2.aura-alert__title { font-family: inherit; }
1712
- .aura-error-summary__list { margin: var(--aura-space-2) 0 0; padding-left: var(--aura-space-5); display: grid; gap: var(--aura-space-1); font-size: 14px; line-height: 20px; }
1713
+ .aura-error-summary__list { margin: var(--aura-space-2) 0 0; padding-left: var(--aura-space-5); display: grid; gap: var(--aura-space-1); font-size: max(14px, .875rem); line-height: max(20px, 1.25rem); }
1713
1714
  .aura-error-summary__list a { color: var(--aura-alert-danger-fg); text-decoration: underline; text-underline-offset: 2px; font-weight: 500; }
1714
1715
  .aura-error-summary__list a:hover { text-decoration-thickness: 2px; }
1715
1716
  .aura-error-summary__list a:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: 2px; border-radius: var(--aura-radius-xs); }
1716
1717
 
1717
1718
  /* aura-prose: sanitised rich text (editor output, e-mail previews). Styles exactly p, h1–h4, ul/ol/li, blockquote,
1718
1719
  * hr, a, strong, em, u with AURA type and spacing, in both themes. */
1719
- .aura-prose { font-family: var(--font-sans); font-size: 14px; line-height: 1.7; color: var(--aura-fg-primary); overflow-wrap: anywhere; }
1720
+ .aura-prose { font-family: var(--font-sans); font-size: max(14px, .875rem); line-height: 1.7; color: var(--aura-fg-primary); overflow-wrap: anywhere; }
1720
1721
  .aura-prose > :first-child { margin-top: 0; }
1721
1722
  .aura-prose > :last-child { margin-bottom: 0; }
1722
1723
  .aura-prose p { margin: 0 0 var(--aura-space-4); }
1723
1724
  .aura-prose h1, .aura-prose h2, .aura-prose h3, .aura-prose h4 { color: var(--aura-fg-primary); margin: var(--aura-space-8) 0 var(--aura-space-3); }
1724
- .aura-prose h1 { font-family: var(--font-display); font-weight: 600; font-size: 30px; line-height: 1.2; letter-spacing: -0.01em; }
1725
- .aura-prose h2 { font-weight: 600; font-size: 22px; line-height: 1.3; }
1726
- .aura-prose h3 { font-weight: 600; font-size: 17px; line-height: 1.45; }
1727
- .aura-prose h4 { font-weight: 600; font-size: 15px; line-height: 1.5; }
1725
+ .aura-prose h1 { font-family: var(--font-display); font-weight: 600; font-size: max(30px, 1.875rem); line-height: 1.2; letter-spacing: -0.01em; }
1726
+ .aura-prose h2 { font-weight: 600; font-size: max(22px, 1.375rem); line-height: 1.3; }
1727
+ .aura-prose h3 { font-weight: 600; font-size: max(17px, 1.0625rem); line-height: 1.45; }
1728
+ .aura-prose h4 { font-weight: 600; font-size: max(15px, .9375rem); line-height: 1.5; }
1728
1729
  .aura-prose ul, .aura-prose ol { margin: 0 0 var(--aura-space-4); padding-left: var(--aura-space-6); }
1729
1730
  .aura-prose li { margin: var(--aura-space-1) 0; }
1730
1731
  .aura-prose li > ul, .aura-prose li > ol { margin: var(--aura-space-1) 0 0; }
@@ -1748,7 +1749,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
1748
1749
  .aura-filterbar__clear-search { margin-right: 6px; }
1749
1750
  .aura-filterbar__controls { display: flex; flex-wrap: wrap; align-items: center; gap: var(--aura-space-3); }
1750
1751
  .aura-filterbar__spacer { flex: 1 1 0; }
1751
- .aura-filterbar__count { font-size: 13px; color: var(--aura-fg-secondary); font-variant-numeric: tabular-nums; white-space: nowrap; }
1752
+ .aura-filterbar__count { font-size: max(13px, .8125rem); color: var(--aura-fg-secondary); font-variant-numeric: tabular-nums; white-space: nowrap; }
1752
1753
  .aura-filterbar__actions { display: flex; align-items: center; gap: var(--aura-space-2); }
1753
1754
  .aura-filterbar__chips { display: flex; flex-wrap: wrap; align-items: center; gap: var(--aura-space-2); }
1754
1755
  /* 5.28 (Chamber-OS 132): an applied-filter chip takes its text's width, cut only when it is wider than the row. */
@@ -1759,7 +1760,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
1759
1760
  .aura-filterbar__chips > .aura-tag .aura-tag__text { max-width: none; min-width: 0; }
1760
1761
  .aura-filterbar__clear {
1761
1762
  border: 0; background: transparent; padding: 4px var(--aura-space-2); border-radius: var(--aura-radius-sm);
1762
- font: inherit; font-size: 13px; font-weight: 500; color: var(--aura-fg-accent); cursor: pointer; text-decoration: underline; text-underline-offset: 2px;
1763
+ font: inherit; font-size: max(13px, .8125rem); font-weight: 500; color: var(--aura-fg-accent); cursor: pointer; text-decoration: underline; text-underline-offset: 2px;
1763
1764
  }
1764
1765
  .aura-filterbar__clear:hover { background: var(--aura-hover, var(--aura-bg-surface-hover)); }
1765
1766
  .aura-filterbar__clear:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: var(--aura-focus-ring-offset); }
@@ -1790,7 +1791,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
1790
1791
  min-height: var(--aura-input-height); padding-block: 0; padding-inline: var(--aura-space-2) var(--aura-space-1);
1791
1792
  background: var(--aura-bg-input); color: var(--aura-fg-primary);
1792
1793
  border: 1px solid var(--aura-border-control); border-radius: var(--aura-radius-md);
1793
- font: inherit; font-size: 13px; line-height: 18px; text-align: start; cursor: pointer;
1794
+ font: inherit; font-size: max(13px, .8125rem); line-height: max(18px, 1.125rem); text-align: start; cursor: pointer;
1794
1795
  transition: border-color var(--aura-duration-fast) var(--aura-ease);
1795
1796
  }
1796
1797
  .aura-filterselect__face:hover { border-color: var(--aura-fg-secondary); }
@@ -1800,7 +1801,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
1800
1801
  /* 5.30: from 640px the face has a field's inset and text size, like the search box beside it; phones keep the tight
1801
1802
  * face so three filters and a chip share one row. */
1802
1803
  @media (min-width: 640px) {
1803
- .aura-filterselect__face { padding-inline: var(--aura-space-3) var(--aura-space-2); font-size: 14px; }
1804
+ .aura-filterselect__face { padding-inline: var(--aura-space-3) var(--aura-space-2); font-size: max(14px, .875rem); }
1804
1805
  .aura-filterselect__chevron { width: var(--aura-icon-sm); height: var(--aura-icon-sm); }
1805
1806
  }
1806
1807
  .aura-filterselect.is-open .aura-filterselect__chevron { transform: rotate(180deg); }
@@ -1810,7 +1811,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
1810
1811
  .aura-filterselect__face:focus { outline-style: none; }
1811
1812
  .aura-filterselect__face:focus-visible { outline-style: solid; }
1812
1813
  /* Before hydration: the real <select>, invisible, over the face (16px so iOS doesn't zoom when it opens). */
1813
- .aura-filterselect__native { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; opacity: 0; font-size: 16px; cursor: pointer; appearance: none; }
1814
+ .aura-filterselect__native { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; opacity: 0; font-size: max(16px, 1rem); cursor: pointer; appearance: none; }
1814
1815
  .aura-filterselect.is-disabled .aura-filterselect__face { background: var(--aura-bg-input-disabled); color: var(--aura-fg-secondary); border-color: var(--aura-border-default); cursor: not-allowed; }
1815
1816
  .aura-filterselect.is-disabled .aura-filterselect__native { cursor: not-allowed; }
1816
1817
  /* 5.38 (Chamber-OS 140): touchHeight on FilterBar (its search and field-height controls) or on one FilterSelect —
@@ -1855,21 +1856,21 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
1855
1856
  .aura-command__input::placeholder { color: var(--aura-fg-tertiary); opacity: 1; }
1856
1857
  .aura-command__list { flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; padding: var(--aura-space-2); }
1857
1858
  .aura-command__group + .aura-command__group { margin-top: var(--aura-space-2); }
1858
- .aura-command__heading { padding: var(--aura-space-2) var(--aura-space-2) var(--aura-space-1); font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--aura-fg-secondary); }
1859
- .aura-command__item { display: flex; align-items: center; gap: var(--aura-space-3); min-height: 40px; padding: 6px var(--aura-space-2); border-radius: var(--aura-radius-sm); cursor: pointer; font-size: 14px; }
1859
+ .aura-command__heading { padding: var(--aura-space-2) var(--aura-space-2) var(--aura-space-1); font-family: var(--font-mono); font-size: max(11px, .6875rem); text-transform: uppercase; letter-spacing: 0.04em; color: var(--aura-fg-secondary); }
1860
+ .aura-command__item { display: flex; align-items: center; gap: var(--aura-space-3); min-height: 40px; padding: 6px var(--aura-space-2); border-radius: var(--aura-radius-sm); cursor: pointer; font-size: max(14px, .875rem); }
1860
1861
  .aura-command__item > .aura-icon { color: var(--aura-fg-secondary); }
1861
1862
  .aura-command__item.is-active { background: var(--aura-hover, var(--aura-bg-surface-hover)); outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: calc(-1 * var(--aura-focus-ring-width)); }
1862
1863
  .aura-command__item.is-disabled { opacity: var(--aura-disabled-opacity); cursor: default; }
1863
1864
  .aura-command__text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
1864
1865
  .aura-command__label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
1865
- .aura-command__desc { font-size: 12px; line-height: 1.5; color: var(--aura-fg-secondary); }
1866
+ .aura-command__desc { font-size: max(12px, .75rem); line-height: 1.5; color: var(--aura-fg-secondary); }
1866
1867
  .aura-command__kbd {
1867
1868
  flex: none; padding: 2px 6px; border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-xs);
1868
- font-family: var(--font-mono); font-size: 11px; line-height: 16px; color: var(--aura-fg-secondary); background: var(--aura-bg-canvas);
1869
+ font-family: var(--font-mono); font-size: max(11px, .6875rem); line-height: max(16px, 1rem); color: var(--aura-fg-secondary); background: var(--aura-bg-canvas);
1869
1870
  }
1870
- .aura-command__loading { display: flex; align-items: center; gap: var(--aura-space-2); padding: var(--aura-space-2) var(--aura-space-3); font-size: 13px; color: var(--aura-fg-secondary); }
1871
- .aura-command__empty { margin: 0; padding: var(--aura-space-6) var(--aura-space-2); text-align: center; font-size: 14px; color: var(--aura-fg-secondary); }
1872
- .aura-command__foot { display: flex; justify-content: space-between; gap: var(--aura-space-3); padding: var(--aura-space-2) var(--aura-space-4); border-top: 1px solid var(--aura-border-default); font-size: 12px; color: var(--aura-fg-secondary); }
1871
+ .aura-command__loading { display: flex; align-items: center; gap: var(--aura-space-2); padding: var(--aura-space-2) var(--aura-space-3); font-size: max(13px, .8125rem); color: var(--aura-fg-secondary); }
1872
+ .aura-command__empty { margin: 0; padding: var(--aura-space-6) var(--aura-space-2); text-align: center; font-size: max(14px, .875rem); color: var(--aura-fg-secondary); }
1873
+ .aura-command__foot { display: flex; justify-content: space-between; gap: var(--aura-space-3); padding: var(--aura-space-2) var(--aura-space-4); border-top: 1px solid var(--aura-border-default); font-size: max(12px, .75rem); color: var(--aura-fg-secondary); }
1873
1874
  @media (max-width: 639.98px) {
1874
1875
  .aura-dialog-layer.aura-command-layer { align-items: flex-start; padding: var(--aura-space-4); }
1875
1876
  .aura-command { max-height: 80vh; }
@@ -1913,7 +1914,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
1913
1914
  .aura-bottomnav__item {
1914
1915
  box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
1915
1916
  width: 100%; height: var(--aura-bottomnav-height); padding: 0 2px; border: 0; background: transparent;
1916
- color: var(--aura-fg-secondary); font: inherit; font-size: 11px; font-weight: 500; line-height: 14px;
1917
+ color: var(--aura-fg-secondary); font: inherit; font-size: max(11px, .6875rem); font-weight: 500; line-height: max(14px, .875rem);
1917
1918
  text-decoration: none; cursor: pointer; -webkit-tap-highlight-color: transparent;
1918
1919
  }
1919
1920
  .aura-bottomnav__item:hover { color: var(--aura-fg-primary); }
@@ -1927,9 +1928,9 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
1927
1928
  .aura-bottomnav__item.is-active .aura-bottomnav__icon { background: var(--aura-bg-selected); }
1928
1929
  .aura-bottomnav__label { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
1929
1930
  .aura-bottomnav__count {
1930
- position: absolute; top: -2px; left: calc(50% + 4px); min-width: 16px; height: 16px; box-sizing: border-box; padding: 0 4px;
1931
+ position: absolute; top: -2px; left: calc(50% + 4px); min-width: 16px; min-height: 16px; box-sizing: border-box; padding: 0 4px;
1931
1932
  border-radius: var(--aura-radius-full); background: var(--aura-bg-inverted); color: var(--aura-fg-inverted);
1932
- font-size: 10px; font-weight: 600; line-height: 16px; text-align: center; font-variant-numeric: tabular-nums;
1933
+ font-size: max(10px, .625rem); font-weight: 600; line-height: max(16px, 1rem); text-align: center; font-variant-numeric: tabular-nums;
1933
1934
  box-shadow: 0 0 0 2px var(--aura-bg-surface);
1934
1935
  }
1935
1936
  .aura-bottomnav__dot {
@@ -1966,7 +1967,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
1966
1967
  }
1967
1968
  .aura-actionbar--container { bottom: 0; border-top: 1px solid var(--aura-border-default); }
1968
1969
  .aura-actionbar__inner { display: flex; flex-wrap: wrap; align-items: center; gap: var(--aura-space-2) var(--aura-space-3); min-height: 60px; box-sizing: border-box; padding-block: var(--aura-space-2); padding-inline: var(--aura-space-4) var(--aura-space-3); }
1969
- .aura-actionbar__status { flex: 1 1 8rem; min-width: 0; font-size: 14px; color: var(--aura-fg-secondary); font-variant-numeric: tabular-nums; }
1970
+ .aura-actionbar__status { flex: 1 1 8rem; min-width: 0; font-size: max(14px, .875rem); color: var(--aura-fg-secondary); font-variant-numeric: tabular-nums; }
1970
1971
  .aura-actionbar__status:empty { flex-basis: 0; }
1971
1972
  /* 5.20: an empty status leaves the row (it would still take a gap and push the start slot away from its edge) but
1972
1973
  * stays in the page as a live region, so the next status is announced. */
@@ -2003,8 +2004,8 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2003
2004
  linear-gradient(to left, var(--aura-scroll-shadow), transparent) right / 12px 100% no-repeat scroll,
2004
2005
  var(--aura-tbl-bg, var(--aura-bg-surface));
2005
2006
  }
2006
- .aura-tbl { width: 100%; border-collapse: collapse; border-spacing: 0; font-size: 13px; line-height: 20px; }
2007
- .aura-tbl__caption { caption-side: top; padding: var(--aura-space-4) var(--aura-space-6) var(--aura-space-3); text-align: left; font-size: 14px; font-weight: 600; }
2007
+ .aura-tbl { width: 100%; border-collapse: collapse; border-spacing: 0; font-size: max(13px, .8125rem); line-height: max(20px, 1.25rem); }
2008
+ .aura-tbl__caption { caption-side: top; padding: var(--aura-space-4) var(--aura-space-6) var(--aura-space-3); text-align: left; font-size: max(14px, .875rem); font-weight: 600; }
2008
2009
  /* 5.30: from 640px a cell is at least 10ch wide, so the table never squeezes a column to one letter; a longer word (an
2009
2010
  * email, a URL) still breaks to fit instead of widening the table. Phones keep fitting the box: use stackBelow there. */
2010
2011
  .aura-tbl__th, .aura-tbl__td { padding: var(--aura-tbl-cell-py, var(--aura-space-3)) var(--aura-space-4); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
@@ -2013,14 +2014,14 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2013
2014
  .aura-tbl__th:last-child, .aura-tbl__td:last-child { padding-right: var(--aura-space-6); }
2014
2015
  .aura-tbl__head .aura-tbl__th {
2015
2016
  background: var(--aura-table-head-bg); border-bottom: 1px solid var(--aura-border-default);
2016
- font-family: var(--font-mono); font-size: 12px; font-weight: 400; color: var(--aura-fg-secondary); white-space: nowrap;
2017
+ font-family: var(--font-mono); font-size: max(12px, .75rem); font-weight: 400; color: var(--aura-fg-secondary); white-space: nowrap;
2017
2018
  }
2018
2019
  .aura-tbl__body .aura-tbl__row + .aura-tbl__row > * { border-top: 1px solid var(--aura-border-default); }
2019
2020
  .aura-tbl__body .aura-tbl__th { font-weight: 500; }
2020
2021
  .aura-tbl__foot > .aura-tbl__row > * { background: var(--aura-table-head-bg); font-weight: 600; }
2021
2022
  .aura-tbl__foot > .aura-tbl__row:first-child > * { border-top: 2px solid var(--aura-border-default); }
2022
2023
  /* 5.30: with several totals rows (Subtotal, VAT, Total) the last one reads as the total. */
2023
- .aura-tbl__foot > .aura-tbl__row:last-child:not(:first-child) > * { font-size: 14px; font-weight: 700; }
2024
+ .aura-tbl__foot > .aura-tbl__row:last-child:not(:first-child) > * { font-size: max(14px, .875rem); font-weight: 700; }
2024
2025
  .aura-tbl__foot > .aura-tbl__row + .aura-tbl__row > * { border-top: 1px solid var(--aura-border-default); }
2025
2026
  .aura-tbl .is-end { text-align: right; }
2026
2027
  .aura-tbl .is-center { text-align: center; }
@@ -2069,18 +2070,18 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2069
2070
  .aura-tbl--stack-md > .aura-tbl__body > .aura-tbl__row + .aura-tbl__row, .aura-tbl--stack-md > .aura-tbl__foot > .aura-tbl__row:first-child { border-top: 1px solid var(--aura-border-default); }
2070
2071
  .aura-tbl--stack-md > * > .aura-tbl__row > .aura-tbl__th, .aura-tbl--stack-md > * > .aura-tbl__row > .aura-tbl__td { padding: 0; border-top: 0; background: none; text-align: start; white-space: normal; }
2071
2072
  .aura-tbl--stack-md > * > .aura-tbl__row > * + * { margin-top: var(--aura-space-2); }
2072
- .aura-tbl--stack-md > .aura-tbl__body > .aura-tbl__row > .aura-tbl__th { font-size: 14px; font-weight: 600; }
2073
+ .aura-tbl--stack-md > .aura-tbl__body > .aura-tbl__row > .aura-tbl__th { font-size: max(14px, .875rem); font-weight: 600; }
2073
2074
  /* 5.13 (Chamber-OS 84): a row with a title or action cell — title and action share the first line, fields two to a line under them. */
2074
2075
  .aura-tbl--stack-md > .aura-tbl__body > .aura-tbl__row:has(> [data-card]) { display: flex; flex-wrap: wrap; align-items: flex-start; column-gap: var(--aura-space-4); }
2075
2076
  .aura-tbl--stack-md > .aura-tbl__body > .aura-tbl__row:has(> [data-card])::after { content: ''; order: 3; flex: 0 0 100%; }
2076
2077
  .aura-tbl--stack-md > .aura-tbl__body > .aura-tbl__row:has(> [data-card]) > * { order: 4; flex: 0 0 calc(50% - var(--aura-space-4) / 2); min-width: 0; margin-top: var(--aura-space-2); }
2077
2078
  .aura-tbl--stack-md > .aura-tbl__body > .aura-tbl__row:has(> [data-card]) > [data-card] { margin-top: 0; }
2078
- .aura-tbl--stack-md > .aura-tbl__body > .aura-tbl__row:has(> [data-card]) > [data-card='title'] { order: 1; flex: 1 1 0; font-size: 14px; font-weight: 600; }
2079
+ .aura-tbl--stack-md > .aura-tbl__body > .aura-tbl__row:has(> [data-card]) > [data-card='title'] { order: 1; flex: 1 1 0; font-size: max(14px, .875rem); font-weight: 600; }
2079
2080
  .aura-tbl--stack-md > .aura-tbl__body > .aura-tbl__row:has(> [data-card]) > [data-card='action'] { order: 2; flex: none; margin-inline-start: auto; }
2080
2081
  .aura-tbl-wrap.is-flush > .aura-tbl--stack-md > .aura-tbl__caption { padding-inline: var(--aura-space-4); }
2081
2082
  .aura-tbl--stack-md > * > .aura-tbl__row > .aura-tbl__td[data-label]::before {
2082
2083
  content: attr(data-label); content: attr(data-label) / '';
2083
- display: block; margin-bottom: 2px; font-family: var(--font-mono); font-size: 11px; line-height: 16px; font-weight: 400; color: var(--aura-fg-secondary);
2084
+ display: block; margin-bottom: 2px; font-family: var(--font-mono); font-size: max(11px, .6875rem); line-height: max(16px, 1rem); font-weight: 400; color: var(--aura-fg-secondary);
2084
2085
  }
2085
2086
  /* 5.26: a bleeding list keeps its rows' text level with the Card's content (16px where it doesn't bleed). */
2086
2087
  .aura-card__body .aura-bleed.aura-bleed-frame > .aura-tbl--stack-md:not(.aura-tbl--cards) > * > .aura-tbl__row, .aura-card__body .aura-bleed > .aura-bleed-frame > .aura-tbl--stack-md:not(.aura-tbl--cards) > * > .aura-tbl__row { padding-inline: max(var(--aura-card-bleed), var(--aura-space-4) - var(--aura-card-bleed) * 1000); }
@@ -2093,18 +2094,18 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2093
2094
  .aura-tbl--stack-sm > .aura-tbl__body > .aura-tbl__row + .aura-tbl__row, .aura-tbl--stack-sm > .aura-tbl__foot > .aura-tbl__row:first-child { border-top: 1px solid var(--aura-border-default); }
2094
2095
  .aura-tbl--stack-sm > * > .aura-tbl__row > .aura-tbl__th, .aura-tbl--stack-sm > * > .aura-tbl__row > .aura-tbl__td { padding: 0; border-top: 0; background: none; text-align: start; white-space: normal; }
2095
2096
  .aura-tbl--stack-sm > * > .aura-tbl__row > * + * { margin-top: var(--aura-space-2); }
2096
- .aura-tbl--stack-sm > .aura-tbl__body > .aura-tbl__row > .aura-tbl__th { font-size: 14px; font-weight: 600; }
2097
+ .aura-tbl--stack-sm > .aura-tbl__body > .aura-tbl__row > .aura-tbl__th { font-size: max(14px, .875rem); font-weight: 600; }
2097
2098
  /* 5.13 (Chamber-OS 84): a row with a title or action cell — title and action share the first line, fields two to a line under them. */
2098
2099
  .aura-tbl--stack-sm > .aura-tbl__body > .aura-tbl__row:has(> [data-card]) { display: flex; flex-wrap: wrap; align-items: flex-start; column-gap: var(--aura-space-4); }
2099
2100
  .aura-tbl--stack-sm > .aura-tbl__body > .aura-tbl__row:has(> [data-card])::after { content: ''; order: 3; flex: 0 0 100%; }
2100
2101
  .aura-tbl--stack-sm > .aura-tbl__body > .aura-tbl__row:has(> [data-card]) > * { order: 4; flex: 0 0 calc(50% - var(--aura-space-4) / 2); min-width: 0; margin-top: var(--aura-space-2); }
2101
2102
  .aura-tbl--stack-sm > .aura-tbl__body > .aura-tbl__row:has(> [data-card]) > [data-card] { margin-top: 0; }
2102
- .aura-tbl--stack-sm > .aura-tbl__body > .aura-tbl__row:has(> [data-card]) > [data-card='title'] { order: 1; flex: 1 1 0; font-size: 14px; font-weight: 600; }
2103
+ .aura-tbl--stack-sm > .aura-tbl__body > .aura-tbl__row:has(> [data-card]) > [data-card='title'] { order: 1; flex: 1 1 0; font-size: max(14px, .875rem); font-weight: 600; }
2103
2104
  .aura-tbl--stack-sm > .aura-tbl__body > .aura-tbl__row:has(> [data-card]) > [data-card='action'] { order: 2; flex: none; margin-inline-start: auto; }
2104
2105
  .aura-tbl-wrap.is-flush > .aura-tbl--stack-sm > .aura-tbl__caption { padding-inline: var(--aura-space-4); }
2105
2106
  .aura-tbl--stack-sm > * > .aura-tbl__row > .aura-tbl__td[data-label]::before {
2106
2107
  content: attr(data-label); content: attr(data-label) / '';
2107
- display: block; margin-bottom: 2px; font-family: var(--font-mono); font-size: 11px; line-height: 16px; font-weight: 400; color: var(--aura-fg-secondary);
2108
+ display: block; margin-bottom: 2px; font-family: var(--font-mono); font-size: max(11px, .6875rem); line-height: max(16px, 1rem); font-weight: 400; color: var(--aura-fg-secondary);
2108
2109
  }
2109
2110
  /* 5.26: a bleeding list keeps its rows' text level with the Card's content (16px where it doesn't bleed). */
2110
2111
  .aura-card__body .aura-bleed.aura-bleed-frame > .aura-tbl--stack-sm:not(.aura-tbl--cards) > * > .aura-tbl__row, .aura-card__body .aura-bleed > .aura-bleed-frame > .aura-tbl--stack-sm:not(.aura-tbl--cards) > * > .aura-tbl__row { padding-inline: max(var(--aura-card-bleed), var(--aura-space-4) - var(--aura-card-bleed) * 1000); }
@@ -2167,7 +2168,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2167
2168
  .aura-table__picker { display: none; }
2168
2169
  .aura-table__head {
2169
2170
  position: static; height: auto; min-width: 0; padding: 0 0 var(--aura-space-3); border: 0; background: none;
2170
- font-family: var(--font-sans); font-size: 13px;
2171
+ font-family: var(--font-sans); font-size: max(13px, .8125rem);
2171
2172
  }
2172
2173
  .aura-table__head > .aura-table__th {
2173
2174
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
@@ -2207,16 +2208,16 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2207
2208
  .aura-table__td[data-label]::before {
2208
2209
  content: attr(data-label); content: attr(data-label) / '';
2209
2210
  display: block; margin-bottom: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: start;
2210
- font-family: var(--font-mono); font-size: 11px; line-height: normal; font-weight: 400; color: var(--aura-fg-secondary);
2211
+ font-family: var(--font-mono); font-size: max(11px, .6875rem); line-height: normal; font-weight: 400; color: var(--aura-fg-secondary);
2211
2212
  }
2212
2213
  .aura-table__td[data-card='title'], .aura-table__td[data-card='pill'], .aura-table__td[data-card='actions'] { align-self: center; margin-bottom: 0; }
2213
- .aura-table__td[data-card='title'] { order: 1; flex: 1 1 0; font-size: 14px; font-weight: 600; }
2214
+ .aura-table__td[data-card='title'] { order: 1; flex: 1 1 0; font-size: max(14px, .875rem); font-weight: 600; }
2214
2215
  .aura-table__td[data-card='pill'] { order: 2; flex: none; }
2215
2216
  .aura-table__td[data-card='actions'] { order: 3; flex: none; margin: calc(-1 * var(--aura-space-1)) calc(-1 * var(--aura-space-2)) calc(-1 * var(--aura-space-1)) 0; }
2216
2217
  /* 5.22 (Chamber-OS 119): the title wraps rather than being cut — a member's full name before a one-click action —
2217
2218
  * and the row box and the pill line up with its first line (a 20px line; the 16px box 2px down). */
2218
- .aura-table__td[data-card='title'] { white-space: normal; overflow-wrap: anywhere; overflow: visible; line-height: 20px; align-self: flex-start; }
2219
- .aura-table__td[data-card='pill'] { align-self: flex-start; line-height: 20px; }
2219
+ .aura-table__td[data-card='title'] { white-space: normal; overflow-wrap: anywhere; overflow: visible; line-height: max(20px, 1.25rem); align-self: flex-start; }
2220
+ .aura-table__td[data-card='pill'] { align-self: flex-start; line-height: max(20px, 1.25rem); }
2220
2221
  .aura-table__row > .aura-table__sel { align-self: flex-start; margin-top: 2px; }
2221
2222
  /* Actions top-right sit on that first line too (a 32px button centred on 20px, the same 24px footprint as before). */
2222
2223
  .aura-table__td[data-card='actions'] { align-self: flex-start; margin-top: calc(-1 * var(--aura-space-1) - 2px); margin-bottom: -2px; }
@@ -2278,18 +2279,18 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
2278
2279
 
2279
2280
  /* 5.30: Thai needs more room than Latin — tone marks and vowels stack above and below the line. Where the page or a
2280
2281
  * part of it is Thai (lang="th"), small labels are at least 12px and lines are taller. */
2281
- .aura-pill:lang(th), .aura-badge:lang(th), .aura-tab__count:lang(th) { font-size: 12px; }
2282
- .aura-pill:lang(th) { line-height: 18px; }
2282
+ .aura-pill:lang(th), .aura-badge:lang(th), .aura-tab__count:lang(th) { font-size: max(12px, .75rem); }
2283
+ .aura-pill:lang(th) { line-height: max(18px, 1.125rem); }
2283
2284
  .aura-skel--pill:lang(th) { height: 22px; } /* the loading pill stays as tall as the Thai one */
2284
- .aura-bottomnav__item:lang(th) { font-size: 12px; line-height: 18px; }
2285
- .aura-stepper__desc:lang(th) { font-size: 13px; line-height: 1.6; }
2286
- .aura-nav__label:lang(th) { line-height: 22px; }
2285
+ .aura-bottomnav__item:lang(th) { font-size: max(12px, .75rem); line-height: max(18px, 1.125rem); }
2286
+ .aura-stepper__desc:lang(th) { font-size: max(13px, .8125rem); line-height: 1.6; }
2287
+ .aura-nav__label:lang(th) { line-height: max(22px, 1.375rem); }
2287
2288
  /* 5.30 (audit D): field labels, hints and errors and choice descriptions get Thai line room; a stacked card's field
2288
2289
  * labels are 12px in the sans face (the mono face has no Thai), and a stacked DataTable card's values sit on a set
2289
2290
  * 1.6 line, so a loading card (its bars follow 1lh) is as tall as one with Thai text. */
2290
2291
  .aura-field__label:lang(th), .aura-field__hint:lang(th), .aura-field__error:lang(th), .aura-field__addon:lang(th) { line-height: 1.6; }
2291
- .aura-choice__desc:lang(th), .aura-check__desc:lang(th) { font-size: 13px; line-height: 1.6; }
2292
- .aura-tbl__row > .aura-tbl__td[data-label]:lang(th)::before, .aura-table__td[data-label]:lang(th)::before { font-family: var(--font-sans); font-size: 12px; line-height: 18px; }
2292
+ .aura-choice__desc:lang(th), .aura-check__desc:lang(th) { font-size: max(13px, .8125rem); line-height: 1.6; }
2293
+ .aura-tbl__row > .aura-tbl__td[data-label]:lang(th)::before, .aura-table__td[data-label]:lang(th)::before { font-family: var(--font-sans); font-size: max(12px, .75rem); line-height: max(18px, 1.125rem); }
2293
2294
  .aura-table--stacked .aura-table__td[data-label]:lang(th) { line-height: 1.6; }
2294
2295
 
2295
2296
  /* 5.30: a plain link (no class) inside AURA's surfaces takes the accent colour instead of the browser's blue. Zero