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