@revikornmann/muka-ui 0.18.0 → 0.20.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.
Files changed (195) hide show
  1. package/README.md +81 -60
  2. package/cli/bin/muka-ui.js +12 -5
  3. package/cli/commands/brand.js +33 -14
  4. package/cli/commands/init.js +21 -17
  5. package/cli/commands/install-skill.js +84 -26
  6. package/cli/templates/AGENTS.md +128 -0
  7. package/cli/templates/CLAUDE.md +8 -88
  8. package/cli/templates/muka-ui-guidelines.md +50 -14
  9. package/dist/cjs/components/ActionSheet/ActionSheet.css +4 -4
  10. package/dist/cjs/components/BottomBar/BottomBar.css +0 -3
  11. package/dist/cjs/components/Breadcrumb/Breadcrumb.css +26 -2
  12. package/dist/cjs/components/Combobox/Combobox.css +116 -132
  13. package/dist/cjs/components/Combobox/Combobox.js +175 -52
  14. package/dist/cjs/components/Combobox/Combobox.js.map +1 -1
  15. package/dist/cjs/components/Combobox/index.js.map +1 -1
  16. package/dist/cjs/components/ContextSelect/ContextSelect.css +4 -4
  17. package/dist/cjs/components/DocumentViewer/DocumentViewer.css +2 -2
  18. package/dist/cjs/components/DropdownSelect/DropdownSelect.css +225 -0
  19. package/dist/cjs/components/DropdownSelect/DropdownSelect.js +106 -0
  20. package/dist/cjs/components/DropdownSelect/DropdownSelect.js.map +1 -0
  21. package/dist/cjs/components/DropdownSelect/index.js +6 -0
  22. package/dist/cjs/components/DropdownSelect/index.js.map +1 -0
  23. package/dist/cjs/components/EmptyState/EmptyState.css +8 -8
  24. package/dist/cjs/components/FAB/FAB.css +1 -1
  25. package/dist/cjs/components/FileUpload/FileUpload.css +10 -10
  26. package/dist/cjs/components/Icon/custom/ArrowReturnIcon.js +11 -0
  27. package/dist/cjs/components/Icon/custom/ArrowReturnIcon.js.map +1 -0
  28. package/dist/cjs/components/Icon/iconRegistry.js +14 -1
  29. package/dist/cjs/components/Icon/iconRegistry.js.map +1 -1
  30. package/dist/cjs/components/Input/Input.css +47 -10
  31. package/dist/cjs/components/Input/Input.js +14 -3
  32. package/dist/cjs/components/Input/Input.js.map +1 -1
  33. package/dist/cjs/components/Label/Label.css +1 -1
  34. package/dist/cjs/components/LicensePlateInput/LicensePlateInput.css +1 -1
  35. package/dist/cjs/components/Menu/Menu.css +124 -38
  36. package/dist/cjs/components/Menu/Menu.js +283 -25
  37. package/dist/cjs/components/Menu/Menu.js.map +1 -1
  38. package/dist/cjs/components/Pagination/Pagination.css +15 -15
  39. package/dist/cjs/components/PhotoUploader/PhotoUploader.css +4 -4
  40. package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.css +10 -6
  41. package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.js +27 -16
  42. package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.js.map +1 -1
  43. package/dist/cjs/components/ProgressTracker/ProgressTracker.css +273 -22
  44. package/dist/cjs/components/ProgressTracker/ProgressTracker.js +109 -9
  45. package/dist/cjs/components/ProgressTracker/ProgressTracker.js.map +1 -1
  46. package/dist/cjs/components/Scrollbar/Scrollbar.css +7 -6
  47. package/dist/cjs/components/SearchInput/SearchInput.css +4 -4
  48. package/dist/cjs/components/Select/Select.css +2 -2
  49. package/dist/cjs/components/SmsOtpField/SmsOtpField.css +2 -2
  50. package/dist/cjs/components/SpecList/SpecList.css +8 -8
  51. package/dist/cjs/components/Spinner/Spinner.css +1 -1
  52. package/dist/cjs/components/SwipeActions/SwipeActions.css +6 -6
  53. package/dist/cjs/components/Table/Table.css +3 -3
  54. package/dist/cjs/components/Table/TablePagination.css +1 -1
  55. package/dist/cjs/components/Tabs/Tabs.css +6 -6
  56. package/dist/cjs/components/Textarea/Textarea.css +2 -2
  57. package/dist/cjs/components/Waveform/Waveform.css +1 -1
  58. package/dist/cjs/components/index.js +5 -3
  59. package/dist/cjs/components/index.js.map +1 -1
  60. package/dist/esm/components/ActionSheet/ActionSheet.css +4 -4
  61. package/dist/esm/components/BottomBar/BottomBar.css +0 -3
  62. package/dist/esm/components/Breadcrumb/Breadcrumb.css +26 -2
  63. package/dist/esm/components/Combobox/Combobox.css +116 -132
  64. package/dist/esm/components/Combobox/Combobox.js +177 -54
  65. package/dist/esm/components/Combobox/Combobox.js.map +1 -1
  66. package/dist/esm/components/Combobox/index.js +1 -1
  67. package/dist/esm/components/Combobox/index.js.map +1 -1
  68. package/dist/esm/components/ContextSelect/ContextSelect.css +4 -4
  69. package/dist/esm/components/DocumentViewer/DocumentViewer.css +2 -2
  70. package/dist/esm/components/DropdownSelect/DropdownSelect.css +225 -0
  71. package/dist/esm/components/DropdownSelect/DropdownSelect.js +102 -0
  72. package/dist/esm/components/DropdownSelect/DropdownSelect.js.map +1 -0
  73. package/dist/esm/components/DropdownSelect/index.js +2 -0
  74. package/dist/esm/components/DropdownSelect/index.js.map +1 -0
  75. package/dist/esm/components/EmptyState/EmptyState.css +8 -8
  76. package/dist/esm/components/FAB/FAB.css +1 -1
  77. package/dist/esm/components/FileUpload/FileUpload.css +10 -10
  78. package/dist/esm/components/Icon/custom/ArrowReturnIcon.js +7 -0
  79. package/dist/esm/components/Icon/custom/ArrowReturnIcon.js.map +1 -0
  80. package/dist/esm/components/Icon/iconRegistry.js +14 -1
  81. package/dist/esm/components/Icon/iconRegistry.js.map +1 -1
  82. package/dist/esm/components/Input/Input.css +47 -10
  83. package/dist/esm/components/Input/Input.js +14 -3
  84. package/dist/esm/components/Input/Input.js.map +1 -1
  85. package/dist/esm/components/Label/Label.css +1 -1
  86. package/dist/esm/components/LicensePlateInput/LicensePlateInput.css +1 -1
  87. package/dist/esm/components/Menu/Menu.css +124 -38
  88. package/dist/esm/components/Menu/Menu.js +284 -26
  89. package/dist/esm/components/Menu/Menu.js.map +1 -1
  90. package/dist/esm/components/Pagination/Pagination.css +15 -15
  91. package/dist/esm/components/PhotoUploader/PhotoUploader.css +4 -4
  92. package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.css +10 -6
  93. package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.js +27 -16
  94. package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.js.map +1 -1
  95. package/dist/esm/components/ProgressTracker/ProgressTracker.css +273 -22
  96. package/dist/esm/components/ProgressTracker/ProgressTracker.js +110 -10
  97. package/dist/esm/components/ProgressTracker/ProgressTracker.js.map +1 -1
  98. package/dist/esm/components/Scrollbar/Scrollbar.css +7 -6
  99. package/dist/esm/components/SearchInput/SearchInput.css +4 -4
  100. package/dist/esm/components/Select/Select.css +2 -2
  101. package/dist/esm/components/SmsOtpField/SmsOtpField.css +2 -2
  102. package/dist/esm/components/SpecList/SpecList.css +8 -8
  103. package/dist/esm/components/Spinner/Spinner.css +1 -1
  104. package/dist/esm/components/SwipeActions/SwipeActions.css +6 -6
  105. package/dist/esm/components/Table/Table.css +3 -3
  106. package/dist/esm/components/Table/TablePagination.css +1 -1
  107. package/dist/esm/components/Tabs/Tabs.css +6 -6
  108. package/dist/esm/components/Textarea/Textarea.css +2 -2
  109. package/dist/esm/components/Waveform/Waveform.css +1 -1
  110. package/dist/esm/components/index.js +1 -0
  111. package/dist/esm/components/index.js.map +1 -1
  112. package/dist/styles/components/ActionSheet.css +4 -4
  113. package/dist/styles/components/BottomBar.css +0 -3
  114. package/dist/styles/components/Breadcrumb.css +26 -2
  115. package/dist/styles/components/Combobox.css +116 -132
  116. package/dist/styles/components/ContextSelect.css +4 -4
  117. package/dist/styles/components/DocumentViewer.css +2 -2
  118. package/dist/styles/components/DropdownSelect.css +225 -0
  119. package/dist/styles/components/EmptyState.css +8 -8
  120. package/dist/styles/components/FAB.css +1 -1
  121. package/dist/styles/components/FileUpload.css +10 -10
  122. package/dist/styles/components/Input.css +47 -10
  123. package/dist/styles/components/Label.css +1 -1
  124. package/dist/styles/components/LicensePlateInput.css +1 -1
  125. package/dist/styles/components/Menu.css +124 -38
  126. package/dist/styles/components/Pagination.css +15 -15
  127. package/dist/styles/components/PhotoUploader.css +4 -4
  128. package/dist/styles/components/ProgressAccordeon.css +10 -6
  129. package/dist/styles/components/ProgressTracker.css +273 -22
  130. package/dist/styles/components/Scrollbar.css +7 -6
  131. package/dist/styles/components/SearchInput.css +4 -4
  132. package/dist/styles/components/Select.css +2 -2
  133. package/dist/styles/components/SmsOtpField.css +2 -2
  134. package/dist/styles/components/SpecList.css +8 -8
  135. package/dist/styles/components/Spinner.css +1 -1
  136. package/dist/styles/components/SwipeActions.css +6 -6
  137. package/dist/styles/components/Table.css +3 -3
  138. package/dist/styles/components/Tabs.css +6 -6
  139. package/dist/styles/components/Textarea.css +2 -2
  140. package/dist/styles/components/Typography.css +89 -0
  141. package/dist/styles/components/Waveform.css +1 -1
  142. package/dist/styles/index.css +1167 -462
  143. package/dist/styles/muka-dark.css +1167 -462
  144. package/dist/styles/muka-light.css +1167 -462
  145. package/dist/styles/tokens-bouwplan-dark.css +5 -4
  146. package/dist/styles/tokens-bouwplan-light.css +5 -4
  147. package/dist/styles/tokens-fscl-dark.css +25 -24
  148. package/dist/styles/tokens-fscl-light.css +25 -24
  149. package/dist/styles/tokens-grip-dark.css +4 -3
  150. package/dist/styles/tokens-grip-light.css +4 -3
  151. package/dist/styles/tokens-muka-dark.css +4 -3
  152. package/dist/styles/tokens-muka-light.css +4 -3
  153. package/dist/styles/tokens-wireframe-dark.css +49 -48
  154. package/dist/styles/tokens-wireframe-light.css +49 -48
  155. package/dist/styles/wireframe-dark.css +1212 -507
  156. package/dist/styles/wireframe-light.css +1212 -507
  157. package/dist/types/components/Combobox/Combobox.d.ts +38 -38
  158. package/dist/types/components/Combobox/Combobox.d.ts.map +1 -1
  159. package/dist/types/components/Combobox/index.d.ts +1 -1
  160. package/dist/types/components/Combobox/index.d.ts.map +1 -1
  161. package/dist/types/components/DropdownSelect/DropdownSelect.d.ts +71 -0
  162. package/dist/types/components/DropdownSelect/DropdownSelect.d.ts.map +1 -0
  163. package/dist/types/components/DropdownSelect/index.d.ts +2 -0
  164. package/dist/types/components/DropdownSelect/index.d.ts.map +1 -0
  165. package/dist/types/components/Icon/custom/ArrowReturnIcon.d.ts +9 -0
  166. package/dist/types/components/Icon/custom/ArrowReturnIcon.d.ts.map +1 -0
  167. package/dist/types/components/Icon/iconRegistry.d.ts.map +1 -1
  168. package/dist/types/components/Input/Input.d.ts +5 -0
  169. package/dist/types/components/Input/Input.d.ts.map +1 -1
  170. package/dist/types/components/Menu/Menu.d.ts +42 -2
  171. package/dist/types/components/Menu/Menu.d.ts.map +1 -1
  172. package/dist/types/components/ProgressAccordeon/ProgressAccordeon.d.ts +17 -12
  173. package/dist/types/components/ProgressAccordeon/ProgressAccordeon.d.ts.map +1 -1
  174. package/dist/types/components/ProgressTracker/ProgressTracker.d.ts +29 -8
  175. package/dist/types/components/ProgressTracker/ProgressTracker.d.ts.map +1 -1
  176. package/dist/types/components/index.d.ts +1 -0
  177. package/dist/types/components/index.d.ts.map +1 -1
  178. package/docs/consumers/README.md +116 -37
  179. package/docs/consumers/brand.md +261 -0
  180. package/docs/consumers/figma-console-mcp.md +116 -0
  181. package/docs/consumers/setup-instructions.md +98 -12
  182. package/docs/consumers/skills.md +79 -0
  183. package/package.json +5 -6
  184. package/scripts/postinstall-nudge.js +8 -4
  185. package/skills/add-brand/SKILL.md +204 -0
  186. package/skills/add-brand/reference.md +160 -0
  187. package/skills/figma-to-code/SKILL.md +127 -0
  188. package/skills/pull-from-figma/SKILL.md +123 -0
  189. package/skills/push-to-figma/SKILL.md +172 -0
  190. package/skills/setup-muka/SKILL.md +73 -13
  191. package/tokens/README.md +39 -17
  192. package/tokens/t2-alias/brand/bouwplan/fonts.json +1 -1
  193. package/tokens/t2-alias/brand/fscl/fonts.json +3 -3
  194. package/tokens/t2-alias/brand/wireframe/fonts.json +2 -2
  195. package/tokens/t4-components/menu.json +8 -3
@@ -1921,12 +1921,12 @@ body {
1921
1921
  --dialog-drag-handle-radius: 999rem;
1922
1922
  --dialog-padding-x: 1rem;
1923
1923
  --menu-content-color-background: #161618;
1924
- --menu-content-color-border: #232326;
1924
+ --menu-content-color-border: #4c4c57;
1925
1925
  --menu-content-border-radius: 0.75rem;
1926
1926
  --menu-content-border-width: 0.0625rem;
1927
1927
  --menu-content-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.090), 0 8px 16px 0 rgba(0, 0, 0, 0.090);
1928
1928
  --menu-content-padding: 0.25rem;
1929
- --menu-content-min-width: 12rem;
1929
+ --menu-content-min-width: 280px;
1930
1930
  --menu-content-max-height: 20rem;
1931
1931
  --menu-content-scroll-height: 20.625rem;
1932
1932
  --menu-item-color-default-background: transparent;
@@ -1949,7 +1949,8 @@ body {
1949
1949
  --menu-item-color-destructive-hover-icon: #fea6a6;
1950
1950
  --menu-item-border-radius: 0.1875rem;
1951
1951
  --menu-item-padding-x: 0.75rem;
1952
- --menu-item-padding-y: 0.5rem;
1952
+ --menu-item-padding-right: 2.25rem;
1953
+ --menu-item-padding-y: 0.75rem;
1953
1954
  --menu-item-gap: 0.5rem;
1954
1955
  --menu-item-height: 2.5rem;
1955
1956
  --menu-separator-color: #232326;
@@ -2404,7 +2405,7 @@ body {
2404
2405
  .muka-waveform {
2405
2406
  display: flex;
2406
2407
  align-items: center;
2407
- gap: var(--spacing-05, 2px);
2408
+ gap: var(--size-3xs);
2408
2409
  width: 100%;
2409
2410
  min-width: 0;
2410
2411
  }
@@ -2560,6 +2561,98 @@ body {
2560
2561
  }
2561
2562
 
2562
2563
 
2564
+ /* Typography */
2565
+ .muka-typography-catalog {
2566
+ display: flex;
2567
+ flex-direction: column;
2568
+ gap: 2.5rem;
2569
+ max-width: 52rem;
2570
+ color: var(--color-text-default-default);
2571
+ }
2572
+
2573
+ .muka-typography-catalog__intro {
2574
+ display: flex;
2575
+ flex-direction: column;
2576
+ gap: 0.75rem;
2577
+ }
2578
+
2579
+ .muka-typography-catalog__heading {
2580
+ margin: 0;
2581
+ font-family: var(--text-heading-md-fontFamily);
2582
+ font-weight: var(--text-heading-md-fontWeight);
2583
+ font-size: var(--text-heading-md-fontSize);
2584
+ line-height: var(--text-heading-md-lineHeight);
2585
+ }
2586
+
2587
+ .muka-typography-catalog__lede {
2588
+ margin: 0;
2589
+ font-family: var(--text-body-base-regular-fontFamily);
2590
+ font-weight: var(--text-body-base-regular-fontWeight);
2591
+ font-size: var(--text-body-base-regular-fontSize);
2592
+ line-height: var(--text-body-base-regular-lineHeight);
2593
+ color: var(--color-text-subtle-default);
2594
+ }
2595
+
2596
+ .muka-typography-catalog__lede code {
2597
+ font-family: var(--alias-font-mono-family, ui-monospace, monospace);
2598
+ font-size: 0.875em;
2599
+ }
2600
+
2601
+ .muka-typography-section {
2602
+ display: flex;
2603
+ flex-direction: column;
2604
+ gap: 1rem;
2605
+ }
2606
+
2607
+ .muka-typography-section__header {
2608
+ display: flex;
2609
+ flex-direction: column;
2610
+ gap: 0.35rem;
2611
+ padding-bottom: 0.75rem;
2612
+ border-bottom: 1px solid var(--color-border-default);
2613
+ }
2614
+
2615
+ .muka-typography-section__title {
2616
+ margin: 0;
2617
+ font-family: var(--text-heading-sm-fontFamily);
2618
+ font-weight: var(--text-heading-sm-fontWeight);
2619
+ font-size: var(--text-heading-sm-fontSize);
2620
+ line-height: var(--text-heading-sm-lineHeight);
2621
+ }
2622
+
2623
+ .muka-typography-section__description {
2624
+ margin: 0;
2625
+ font-family: var(--text-body-sm-regular-fontFamily);
2626
+ font-weight: var(--text-body-sm-regular-fontWeight);
2627
+ font-size: var(--text-body-sm-regular-fontSize);
2628
+ line-height: var(--text-body-sm-regular-lineHeight);
2629
+ color: var(--color-text-subtle-default);
2630
+ }
2631
+
2632
+ .muka-typography-section__list {
2633
+ display: flex;
2634
+ flex-direction: column;
2635
+ gap: 1rem;
2636
+ }
2637
+
2638
+ .muka-typography-specimen {
2639
+ display: flex;
2640
+ flex-direction: column;
2641
+ gap: 0.35rem;
2642
+ }
2643
+
2644
+ .muka-typography-specimen__token {
2645
+ font-family: var(--alias-font-mono-family, ui-monospace, monospace);
2646
+ font-size: 0.75rem;
2647
+ line-height: 1;
2648
+ color: var(--color-text-subtle-default);
2649
+ }
2650
+
2651
+ .muka-typography-specimen__sample {
2652
+ margin: 0;
2653
+ }
2654
+
2655
+
2563
2656
  /* TypingIndicator */
2564
2657
  /* TypingIndicator Component Styles */
2565
2658
 
@@ -3743,7 +3836,7 @@ body {
3743
3836
  }
3744
3837
 
3745
3838
  .muka-textarea__required {
3746
- color: var(--color-state-error-foreground);
3839
+ color: var(--color-state-error-default);
3747
3840
  }
3748
3841
 
3749
3842
  /* Field container */
@@ -3856,7 +3949,7 @@ body {
3856
3949
  font-weight: var(--text-label-sm-regular-fontWeight);
3857
3950
  font-size: var(--text-label-sm-regular-fontSize);
3858
3951
  line-height: var(--text-label-sm-regular-lineHeight);
3859
- color: var(--color-state-error-foreground);
3952
+ color: var(--color-state-error-default);
3860
3953
  margin: 0;
3861
3954
  }
3862
3955
 
@@ -3980,7 +4073,7 @@ body {
3980
4073
  align-items: center;
3981
4074
  position: relative;
3982
4075
  z-index: 2;
3983
- border-bottom: 1px solid var(--color-border-default, #e0e0e0);
4076
+ border-bottom: 1px solid var(--tabs-trigger-color-default-border);
3984
4077
  }
3985
4078
 
3986
4079
  /* Tab Trigger — clean underline style */
@@ -3998,7 +4091,7 @@ body {
3998
4091
  white-space: nowrap;
3999
4092
  position: relative;
4000
4093
  z-index: 2;
4001
- color: var(--color-text-subtle-default, #838383);
4094
+ color: var(--tabs-trigger-color-default-foreground);
4002
4095
 
4003
4096
  /* Default MD size values */
4004
4097
  height: 48px;
@@ -4030,12 +4123,12 @@ body {
4030
4123
 
4031
4124
  /* Hover state */
4032
4125
  .muka-tabs__trigger:hover:not(:disabled):not(.muka-tabs__trigger--current) {
4033
- color: var(--color-text-neutral-default, #202020);
4126
+ color: var(--tabs-trigger-color-hover-foreground);
4034
4127
  }
4035
4128
 
4036
4129
  /* Current tab */
4037
4130
  .muka-tabs__trigger--current {
4038
- color: var(--color-text-action-default, #202020);
4131
+ color: var(--tabs-trigger-color-current-foreground);
4039
4132
  }
4040
4133
 
4041
4134
  /* Active bottom border (underline) */
@@ -4046,7 +4139,7 @@ body {
4046
4139
  left: 0;
4047
4140
  right: 0;
4048
4141
  height: 3px;
4049
- background-color: var(--color-text-action-default, #202020);
4142
+ background-color: var(--tabs-trigger-color-current-foreground);
4050
4143
  border-bottom-left-radius: 1px;
4051
4144
  border-bottom-right-radius: 1px;
4052
4145
  border-top-left-radius: 3px;
@@ -4055,7 +4148,7 @@ body {
4055
4148
  }
4056
4149
 
4057
4150
  .muka-tabs__trigger--disabled {
4058
- color: var(--color-text-disabled-foreground, #a0a0a0);
4151
+ color: var(--tabs-trigger-color-disabled-foreground);
4059
4152
  cursor: not-allowed;
4060
4153
  }
4061
4154
 
@@ -4177,7 +4270,7 @@ body {
4177
4270
  ======================================== */
4178
4271
 
4179
4272
  .muka-table__body .muka-table__row {
4180
- border-bottom: var(--border-width-regular) solid var(--color-border-subtle);
4273
+ border-bottom: var(--border-width-regular) solid var(--color-border-muted);
4181
4274
  }
4182
4275
 
4183
4276
  .muka-table__body .muka-table__row:last-child {
@@ -4189,11 +4282,11 @@ body {
4189
4282
  }
4190
4283
 
4191
4284
  .muka-table__body .muka-table__row--selected {
4192
- background-color: var(--table-row-selected-background, var(--color-action-background));
4285
+ background-color: var(--table-row-selected-background, var(--color-action-default));
4193
4286
  }
4194
4287
 
4195
4288
  .muka-table__body .muka-table__row--selected:hover {
4196
- background-color: var(--table-row-selected-background, var(--color-action-background));
4289
+ background-color: var(--table-row-selected-background, var(--color-action-default));
4197
4290
  }
4198
4291
 
4199
4292
  .muka-table__row--clickable {
@@ -4353,7 +4446,7 @@ body {
4353
4446
  ======================================== */
4354
4447
 
4355
4448
  .muka-table__body .muka-table__row {
4356
- border-bottom: var(--border-width-regular) solid var(--color-border-subtle);
4449
+ border-bottom: var(--border-width-regular) solid var(--color-border-muted);
4357
4450
  }
4358
4451
 
4359
4452
  .muka-table__body .muka-table__row:last-child {
@@ -4365,11 +4458,11 @@ body {
4365
4458
  }
4366
4459
 
4367
4460
  .muka-table__body .muka-table__row--selected {
4368
- background-color: var(--table-row-selected-background, var(--color-action-background));
4461
+ background-color: var(--table-row-selected-background, var(--color-action-default));
4369
4462
  }
4370
4463
 
4371
4464
  .muka-table__body .muka-table__row--selected:hover {
4372
- background-color: var(--table-row-selected-background, var(--color-action-background));
4465
+ background-color: var(--table-row-selected-background, var(--color-action-default));
4373
4466
  }
4374
4467
 
4375
4468
  .muka-table__row--clickable {
@@ -4560,22 +4653,22 @@ body {
4560
4653
 
4561
4654
  .muka-swipe-actions__button--primary {
4562
4655
  background-color: var(--color-action-default);
4563
- color: var(--color-text-inverse-default, #fff);
4656
+ color: var(--color-text-default-inverse);
4564
4657
  }
4565
4658
 
4566
4659
  .muka-swipe-actions__button--success {
4567
- background-color: var(--color-state-success-default, var(--color-action-default));
4568
- color: var(--color-text-inverse-default, #fff);
4660
+ background-color: var(--color-state-success-default);
4661
+ color: var(--color-text-default-inverse);
4569
4662
  }
4570
4663
 
4571
4664
  .muka-swipe-actions__button--warning {
4572
- background-color: var(--color-state-warning-default, var(--color-action-default));
4665
+ background-color: var(--color-state-warning-default);
4573
4666
  color: var(--color-text-default-default);
4574
4667
  }
4575
4668
 
4576
4669
  .muka-swipe-actions__button--destructive {
4577
- background-color: var(--color-state-error-default, #c0392b);
4578
- color: var(--color-text-inverse-default, #fff);
4670
+ background-color: var(--color-state-error-default);
4671
+ color: var(--color-text-default-inverse);
4579
4672
  }
4580
4673
 
4581
4674
 
@@ -4595,7 +4688,7 @@ body {
4595
4688
  }
4596
4689
 
4597
4690
  .muka-spinner--inverse {
4598
- color: var(--color-text-inverse-default);
4691
+ color: var(--color-text-default-inverse);
4599
4692
  }
4600
4693
 
4601
4694
  .muka-spinner__circle {
@@ -4680,10 +4773,10 @@ body {
4680
4773
  flex: 0 0 auto;
4681
4774
  margin: 0;
4682
4775
  color: var(--color-text-subtle-default);
4683
- font-family: var(--text-body-md-regular-fontFamily);
4684
- font-weight: var(--text-body-md-regular-fontWeight);
4685
- font-size: var(--text-body-md-regular-fontSize);
4686
- line-height: var(--text-body-md-regular-lineHeight);
4776
+ font-family: var(--text-body-base-regular-fontFamily);
4777
+ font-weight: var(--text-body-base-regular-fontWeight);
4778
+ font-size: var(--text-body-base-regular-fontSize);
4779
+ line-height: var(--text-body-base-regular-lineHeight);
4687
4780
  overflow: hidden;
4688
4781
  text-overflow: ellipsis;
4689
4782
  white-space: nowrap;
@@ -4701,10 +4794,10 @@ body {
4701
4794
  }
4702
4795
 
4703
4796
  .muka-spec-row__value-text {
4704
- font-family: var(--text-body-md-regular-fontFamily);
4705
- font-weight: var(--text-body-md-regular-fontWeight);
4706
- font-size: var(--text-body-md-regular-fontSize);
4707
- line-height: var(--text-body-md-regular-lineHeight);
4797
+ font-family: var(--text-body-base-regular-fontFamily);
4798
+ font-weight: var(--text-body-base-regular-fontWeight);
4799
+ font-size: var(--text-body-base-regular-fontSize);
4800
+ line-height: var(--text-body-base-regular-lineHeight);
4708
4801
  }
4709
4802
 
4710
4803
  .muka-spec-row__hint {
@@ -4780,7 +4873,7 @@ body {
4780
4873
  }
4781
4874
 
4782
4875
  .muka-sms-otp-field__required {
4783
- color: var(--color-state-error-foreground);
4876
+ color: var(--color-state-error-default);
4784
4877
  }
4785
4878
 
4786
4879
  /* Hidden input for browser autofill */
@@ -4929,7 +5022,7 @@ body {
4929
5022
  font-weight: var(--text-label-sm-regular-fontWeight);
4930
5023
  font-size: var(--text-label-sm-regular-fontSize);
4931
5024
  line-height: var(--text-label-sm-regular-lineHeight);
4932
- color: var(--color-state-error-foreground);
5025
+ color: var(--color-state-error-default);
4933
5026
  margin: 0;
4934
5027
  }
4935
5028
 
@@ -5130,7 +5223,7 @@ body {
5130
5223
  }
5131
5224
 
5132
5225
  .muka-select__required {
5133
- color: var(--color-state-error-foreground);
5226
+ color: var(--color-state-error-default);
5134
5227
  }
5135
5228
 
5136
5229
  .muka-select__label--sm + .muka-select__field--disabled,
@@ -5278,7 +5371,7 @@ body {
5278
5371
  font-weight: var(--text-label-sm-regular-fontWeight);
5279
5372
  font-size: var(--text-label-sm-regular-fontSize);
5280
5373
  line-height: var(--text-label-sm-regular-lineHeight);
5281
- color: var(--color-state-error-foreground);
5374
+ color: var(--color-state-error-default);
5282
5375
  margin: 0;
5283
5376
  }
5284
5377
 
@@ -5577,10 +5670,10 @@ body {
5577
5670
  outline: none;
5578
5671
  padding: 0;
5579
5672
  color: var(--color-text-default-default);
5580
- font-family: var(--text-body-md-regular-fontFamily);
5581
- font-weight: var(--text-body-md-regular-fontWeight);
5582
- font-size: var(--text-body-md-regular-fontSize);
5583
- line-height: var(--text-body-md-regular-lineHeight);
5673
+ font-family: var(--text-body-base-regular-fontFamily);
5674
+ font-weight: var(--text-body-base-regular-fontWeight);
5675
+ font-size: var(--text-body-base-regular-fontSize);
5676
+ line-height: var(--text-body-base-regular-lineHeight);
5584
5677
  appearance: none;
5585
5678
  -webkit-appearance: none;
5586
5679
  }
@@ -5740,25 +5833,26 @@ body {
5740
5833
 
5741
5834
  .muka-scrollbar__thumb {
5742
5835
  position: absolute;
5743
- left: 50%;
5836
+ left: 0;
5744
5837
  top: 0;
5745
5838
  z-index: 1;
5746
5839
  display: flex;
5747
5840
  align-items: center;
5748
5841
  justify-content: center;
5749
- width: 14px;
5750
- margin-left: -7px;
5842
+ width: 100%;
5843
+ /* Figma: scrollbar thumb fill = surface/level3 */
5844
+ background-color: var(--color-surface-level3);
5751
5845
  cursor: grab;
5752
5846
  touch-action: none;
5753
5847
  }
5754
5848
 
5755
5849
  .muka-scrollbar--horizontal .muka-scrollbar__thumb {
5756
5850
  left: 0;
5757
- top: 50%;
5851
+ top: 0;
5758
5852
  width: auto;
5759
- height: 14px;
5853
+ height: 100%;
5760
5854
  margin-left: 0;
5761
- margin-top: -7px;
5855
+ margin-top: 0;
5762
5856
  }
5763
5857
 
5764
5858
  .muka-scrollbar__thumb:active {
@@ -6395,19 +6489,22 @@ body {
6395
6489
  /* ─── Root ──────────────────────────────────────────────── */
6396
6490
  .muka-progress-tracker {
6397
6491
  width: 100%;
6492
+ }
6493
+
6494
+ .muka-progress-tracker--horizontal {
6398
6495
  padding-bottom: var(--spacing-7);
6399
6496
  }
6400
6497
 
6401
6498
  /* ─── Track (layered container) ─────────────────────────── */
6402
- .muka-progress-tracker__track {
6499
+ .muka-progress-tracker--horizontal .muka-progress-tracker__track {
6403
6500
  position: relative;
6404
6501
  /* Vertical padding = (indicator size - connector height) / 2 = (32 - 4) / 2 = 14px */
6405
6502
  padding-top: 14px;
6406
6503
  padding-bottom: 14px;
6407
6504
  }
6408
6505
 
6409
- /* ─── Steps layer (on top) ──────────────────────────────── */
6410
- .muka-progress-tracker__steps {
6506
+ /* ─── Steps layer (on top) — horizontal ─────────────────── */
6507
+ .muka-progress-tracker--horizontal .muka-progress-tracker__steps {
6411
6508
  position: absolute;
6412
6509
  inset: 0;
6413
6510
  display: flex;
@@ -6416,13 +6513,16 @@ body {
6416
6513
  z-index: 2;
6417
6514
  }
6418
6515
 
6419
- /* ─── Individual step ───────────────────────────────────── */
6420
- .muka-progress-tracker__step {
6516
+ /* ─── Individual step — horizontal ──────────────────────── */
6517
+ .muka-progress-tracker--horizontal .muka-progress-tracker__step {
6421
6518
  display: flex;
6422
6519
  flex-direction: column;
6423
6520
  align-items: center;
6424
- gap: 7px;
6425
6521
  position: relative;
6522
+ /* Labels are absolutely positioned so the step stays 32px and
6523
+ circle centers line up with the connector padding. */
6524
+ width: 32px;
6525
+ flex: 0 0 32px;
6426
6526
  }
6427
6527
 
6428
6528
  /* ─── Step indicator (circle) ───────────────────────────── */
@@ -6435,20 +6535,24 @@ body {
6435
6535
  justify-content: center;
6436
6536
  flex-shrink: 0;
6437
6537
  position: relative;
6538
+ z-index: 1;
6438
6539
  }
6439
6540
 
6440
6541
  /* Past: dark accent contrast circle with white checkmark */
6441
6542
  .muka-progress-tracker__indicator--past {
6442
6543
  background-color: var(--alias-color-accent-contrast);
6443
6544
  color: var(--color-text-default-inverse);
6545
+ }
6546
+
6547
+ .muka-progress-tracker--horizontal .muka-progress-tracker__indicator--past {
6444
6548
  cursor: pointer;
6445
6549
  }
6446
6550
 
6447
- .muka-progress-tracker__indicator--past:hover {
6551
+ .muka-progress-tracker--horizontal .muka-progress-tracker__indicator--past:hover {
6448
6552
  background-color: var(--alias-color-accent-pressed);
6449
6553
  }
6450
6554
 
6451
- .muka-progress-tracker__indicator--past:focus-visible {
6555
+ .muka-progress-tracker--horizontal .muka-progress-tracker__indicator--past:focus-visible {
6452
6556
  outline: 2px solid var(--color-border-focus);
6453
6557
  outline-offset: 2px;
6454
6558
  }
@@ -6475,6 +6579,18 @@ body {
6475
6579
  user-select: none;
6476
6580
  }
6477
6581
 
6582
+ .muka-progress-tracker--horizontal .muka-progress-tracker__indicator--upcoming .muka-progress-tracker__number {
6583
+ font-family: var(--text-label-md-bold-fontFamily);
6584
+ font-weight: var(--text-label-md-bold-fontWeight);
6585
+ }
6586
+
6587
+ .muka-progress-tracker--vertical .muka-progress-tracker__indicator--upcoming .muka-progress-tracker__number {
6588
+ font-family: var(--text-label-md-semibold-fontFamily);
6589
+ font-weight: var(--text-label-md-semibold-fontWeight);
6590
+ font-size: var(--text-label-md-semibold-fontSize);
6591
+ line-height: var(--text-label-md-semibold-lineHeight);
6592
+ }
6593
+
6478
6594
  /* ─── Checkmark icon ────────────────────────────────────── */
6479
6595
  .muka-progress-tracker__check-icon {
6480
6596
  width: 20px;
@@ -6487,8 +6603,12 @@ body {
6487
6603
  color: var(--color-text-default-inverse);
6488
6604
  }
6489
6605
 
6490
- /* ─── Step label ────────────────────────────────────────── */
6491
- .muka-progress-tracker__label {
6606
+ /* ─── Step label — horizontal ───────────────────────────── */
6607
+ .muka-progress-tracker--horizontal .muka-progress-tracker__label {
6608
+ position: absolute;
6609
+ top: 39px;
6610
+ left: 50%;
6611
+ transform: translateX(-50%);
6492
6612
  font-family: var(--text-label-sm-regular-fontFamily);
6493
6613
  font-weight: var(--text-label-sm-regular-fontWeight);
6494
6614
  font-size: var(--text-label-sm-regular-fontSize);
@@ -6501,14 +6621,14 @@ body {
6501
6621
  text-overflow: ellipsis;
6502
6622
  }
6503
6623
 
6504
- /* Current step label is bold */
6505
- .muka-progress-tracker__label--current {
6624
+ /* Current step label is bold (horizontal only) */
6625
+ .muka-progress-tracker--horizontal .muka-progress-tracker__label--current {
6506
6626
  font-family: var(--text-label-sm-bold-fontFamily);
6507
6627
  font-weight: var(--text-label-sm-bold-fontWeight);
6508
6628
  }
6509
6629
 
6510
- /* ─── Connectors layer (behind indicators) ──────────────── */
6511
- .muka-progress-tracker__connectors {
6630
+ /* ─── Connectors layer (behind indicators) — horizontal ─── */
6631
+ .muka-progress-tracker--horizontal .muka-progress-tracker__connectors {
6512
6632
  display: flex;
6513
6633
  align-items: center;
6514
6634
  /* Horizontal padding = indicator radius (32/2 = 16px) so lines meet circle centers */
@@ -6518,20 +6638,31 @@ body {
6518
6638
  z-index: 1;
6519
6639
  }
6520
6640
 
6521
- /* ─── Individual connector line ─────────────────────────── */
6522
- .muka-progress-tracker__connector {
6641
+ /* Rounder, bar, rounder in a row. Chromium treats a negative gap as invalid,
6642
+ so the overlap is margins: the bar runs 2px under each circle. */
6643
+ .muka-progress-tracker--horizontal .muka-progress-tracker__connector {
6644
+ display: flex;
6645
+ flex-direction: row;
6646
+ align-items: center;
6523
6647
  flex: 1 0 0;
6524
6648
  height: 4px;
6525
6649
  min-width: 1px;
6650
+ position: relative;
6651
+ overflow: visible;
6652
+ background: none;
6526
6653
  }
6527
6654
 
6528
- /* Past: solid dark line */
6529
- .muka-progress-tracker__connector--past {
6655
+ .muka-progress-tracker--horizontal .muka-progress-tracker__connector-line {
6656
+ flex: 1 1 auto;
6657
+ height: 4px;
6658
+ min-width: 1px;
6659
+ }
6660
+
6661
+ .muka-progress-tracker--horizontal .muka-progress-tracker__connector--past .muka-progress-tracker__connector-line {
6530
6662
  background-color: var(--alias-color-accent-contrast);
6531
6663
  }
6532
6664
 
6533
- /* Current: gradient from past (dark) toward current step */
6534
- .muka-progress-tracker__connector--current {
6665
+ .muka-progress-tracker--horizontal .muka-progress-tracker__connector--current .muka-progress-tracker__connector-line {
6535
6666
  background: linear-gradient(
6536
6667
  to right,
6537
6668
  var(--alias-color-accent-contrast) 0%,
@@ -6539,8 +6670,7 @@ body {
6539
6670
  );
6540
6671
  }
6541
6672
 
6542
- /* Current-right: gradient fading from current step into upcoming */
6543
- .muka-progress-tracker__connector--current-right {
6673
+ .muka-progress-tracker--horizontal .muka-progress-tracker__connector--current-right .muka-progress-tracker__connector-line {
6544
6674
  background: linear-gradient(
6545
6675
  to right,
6546
6676
  var(--alias-color-accent-default) 0%,
@@ -6549,134 +6679,353 @@ body {
6549
6679
  );
6550
6680
  }
6551
6681
 
6682
+ .muka-progress-tracker--horizontal .muka-progress-tracker__connector--upcoming .muka-progress-tracker__connector-line {
6683
+ background-color: var(--color-surface-sunken);
6684
+ }
6685
+
6686
+ /* Past: solid dark line (vertical; horizontal uses the inner line) */
6687
+ .muka-progress-tracker__connector--past {
6688
+ background-color: var(--alias-color-accent-contrast);
6689
+ }
6690
+
6552
6691
  /* Upcoming: solid gray line */
6553
6692
  .muka-progress-tracker__connector--upcoming {
6554
6693
  background-color: var(--color-surface-sunken);
6555
6694
  }
6556
6695
 
6696
+ /* ═══════════════════════════════════════════════════════════
6697
+ Vertical orientation
6698
+ ═══════════════════════════════════════════════════════════ */
6557
6699
 
6558
- /* ProgressAccordeon */
6559
- /* ProgressAccordeon Component Styles — Using Muka Design Tokens */
6560
-
6561
- /* ─── Root ──────────────────────────────────────────────── */
6562
- .muka-progress-accordeon {
6563
- container-type: inline-size;
6700
+ .muka-progress-tracker--vertical .muka-progress-tracker__track {
6564
6701
  display: flex;
6565
6702
  flex-direction: column;
6566
6703
  align-items: stretch;
6704
+ gap: var(--spacing-6);
6567
6705
  width: 100%;
6568
- /* Top padding provides the vertical rhythm between stacked steps */
6569
- padding-top: var(--spacing-8);
6570
6706
  }
6571
6707
 
6572
- /* Per-state gap: content-bearing steps are tighter, header-only steps looser */
6573
- .muka-progress-accordeon--current,
6574
- .muka-progress-accordeon--past.muka-progress-accordeon--expanded {
6575
- gap: var(--spacing-6);
6708
+ .muka-progress-tracker--vertical .muka-progress-tracker__step {
6709
+ display: flex;
6710
+ flex-direction: row;
6711
+ align-items: flex-start;
6712
+ gap: var(--spacing-3);
6713
+ padding-right: var(--spacing-1);
6714
+ position: relative;
6715
+ width: 100%;
6716
+ min-height: 32px;
6576
6717
  }
6577
6718
 
6578
- .muka-progress-accordeon--upcoming,
6579
- .muka-progress-accordeon--past.muka-progress-accordeon--collapsed {
6580
- gap: var(--spacing-8);
6719
+ .muka-progress-tracker--vertical .muka-progress-tracker__step--interactive {
6720
+ cursor: pointer;
6581
6721
  }
6582
6722
 
6583
- /* Past steps group header + slot. The header↔content gap lives inside the
6584
- collapsing slot (as padding-top) so it collapses with the content, so the
6585
- body gap itself is 0. */
6586
- .muka-progress-accordeon__body {
6587
- display: flex;
6588
- flex-direction: column;
6589
- gap: 0;
6590
- width: 100%;
6723
+ .muka-progress-tracker--vertical .muka-progress-tracker__step--interactive:focus-visible {
6724
+ outline: 2px solid var(--color-border-focus);
6725
+ outline-offset: 4px;
6726
+ border-radius: 20px;
6591
6727
  }
6592
6728
 
6593
- /* ─── Header ─────────────────────────────────────────────── */
6594
- .muka-progress-accordeon__header {
6729
+ /* Indicator column: circle only; connector is absolutely positioned on the step */
6730
+ .muka-progress-tracker--vertical .muka-progress-tracker__indicator-col {
6595
6731
  display: flex;
6596
6732
  flex-direction: column;
6597
- gap: var(--spacing-3);
6598
- width: 100%;
6733
+ align-items: center;
6734
+ flex-shrink: 0;
6735
+ position: relative;
6736
+ width: 32px;
6737
+ z-index: 1;
6599
6738
  }
6600
6739
 
6601
- .muka-progress-accordeon__header-row {
6602
- display: flex;
6603
- align-items: flex-start;
6604
- gap: var(--spacing-3);
6605
- width: 100%;
6606
- min-height: 40px;
6740
+ /* Vertical connector: from mid-indicator through gap to next mid-indicator */
6741
+ .muka-progress-tracker--vertical .muka-progress-tracker__connector {
6742
+ position: absolute;
6743
+ left: 14px; /* (32px indicator - 4px line) / 2 */
6744
+ top: 16px;
6745
+ /* Through track gap (spacing-6) into the next indicator's top half */
6746
+ bottom: calc(-1 * var(--spacing-6) - 16px);
6747
+ width: 4px;
6748
+ z-index: 0;
6749
+ overflow: visible;
6607
6750
  }
6608
6751
 
6609
- .muka-progress-accordeon__heading-group {
6610
- display: flex;
6611
- flex: 1 0 0;
6612
- min-width: 0;
6613
- align-items: flex-start;
6614
- gap: var(--spacing-4);
6752
+ /* Divider rounders: circle bleeds into the connector (Figma Divider Rounder) */
6753
+ .muka-progress-tracker__rounder {
6754
+ position: absolute;
6755
+ display: block;
6756
+ pointer-events: none;
6757
+ overflow: visible;
6615
6758
  }
6616
6759
 
6617
- /* Past steps carry 40px controls; nudge the heading to vertically centre it */
6618
- .muka-progress-accordeon--past .muka-progress-accordeon__heading-group {
6619
- padding-top: var(--spacing-1);
6760
+ .muka-progress-tracker__rounder--past {
6761
+ color: var(--alias-color-accent-contrast);
6620
6762
  }
6621
6763
 
6622
- .muka-progress-accordeon__controls {
6623
- display: flex;
6624
- flex-shrink: 0;
6625
- align-items: center;
6626
- gap: var(--spacing-3);
6764
+ .muka-progress-tracker__rounder--current {
6765
+ color: var(--alias-color-accent-default);
6627
6766
  }
6628
6767
 
6629
- /* ─── Step indicator (circle) ───────────────────────────── */
6630
- .muka-progress-accordeon__indicator {
6631
- width: 32px;
6632
- height: 32px;
6768
+ .muka-progress-tracker__rounder--upcoming {
6769
+ color: var(--color-surface-sunken);
6770
+ }
6771
+
6772
+ .muka-progress-tracker--horizontal .muka-progress-tracker__rounder {
6773
+ position: relative;
6774
+ z-index: 1;
6633
6775
  flex-shrink: 0;
6634
- border-radius: var(--border-radius-full);
6635
- display: flex;
6636
- align-items: center;
6637
- justify-content: center;
6776
+ top: auto;
6777
+ right: auto;
6778
+ bottom: auto;
6779
+ left: auto;
6780
+ transform: none;
6638
6781
  }
6639
6782
 
6640
- /* Past: dark accent-contrast circle with inverse checkmark */
6641
- .muka-progress-accordeon__indicator--past {
6642
- background-color: var(--alias-color-accent-contrast);
6643
- color: var(--color-text-default-inverse);
6783
+ .muka-progress-tracker--horizontal .muka-progress-tracker__rounder--start {
6784
+ margin-left: 14px;
6785
+ /* Rounder overhangs the circle by 3px; -5px tucks the bar 2px under the circle. */
6786
+ margin-right: -5px;
6644
6787
  }
6645
6788
 
6646
- /* Current: accent circle with inverse bold number */
6647
- .muka-progress-accordeon__indicator--current {
6648
- background-color: var(--alias-color-accent-default);
6649
- color: var(--color-text-default-inverse);
6789
+ .muka-progress-tracker--horizontal .muka-progress-tracker__rounder--end {
6790
+ margin-left: -5px;
6791
+ margin-right: 14px;
6650
6792
  }
6651
6793
 
6652
- /* Upcoming: sunken/muted circle with default-color number */
6653
- .muka-progress-accordeon__indicator--upcoming {
6654
- background-color: var(--color-surface-sunken);
6655
- color: var(--color-text-default-default);
6794
+ .muka-progress-tracker--vertical .muka-progress-tracker__rounder--start {
6795
+ left: 50%;
6796
+ top: 14px;
6797
+ transform: translateX(-50%);
6656
6798
  }
6657
6799
 
6658
- .muka-progress-accordeon__check-icon {
6659
- width: 20px;
6660
- height: 20px;
6661
- color: var(--color-text-default-inverse);
6800
+ .muka-progress-tracker--vertical .muka-progress-tracker__rounder--end {
6801
+ left: 50%;
6802
+ bottom: 14px;
6803
+ transform: translateX(-50%);
6662
6804
  }
6663
6805
 
6664
- .muka-progress-accordeon__number {
6665
- font-family: var(--text-label-md-bold-fontFamily);
6666
- font-weight: var(--text-label-md-bold-fontWeight);
6667
- font-size: var(--text-label-md-bold-fontSize);
6668
- line-height: var(--text-label-md-bold-lineHeight);
6669
- text-align: center;
6670
- user-select: none;
6806
+ .muka-progress-tracker--vertical .muka-progress-tracker__connector--current {
6807
+ background: linear-gradient(
6808
+ to bottom,
6809
+ var(--alias-color-accent-contrast) 0%,
6810
+ var(--alias-color-accent-default) 100%
6811
+ );
6671
6812
  }
6672
6813
 
6673
- /* Upcoming number is semibold (not bold) per Figma */
6674
- .muka-progress-accordeon__indicator--upcoming .muka-progress-accordeon__number {
6675
- font-family: var(--text-label-md-semibold-fontFamily);
6676
- font-weight: var(--text-label-md-semibold-fontWeight);
6814
+ .muka-progress-tracker--vertical .muka-progress-tracker__connector--current-right {
6815
+ background: linear-gradient(
6816
+ to bottom,
6817
+ var(--alias-color-accent-default) 0%,
6818
+ var(--alias-color-accent-default) 15%,
6819
+ var(--color-surface-sunken) 50%
6820
+ );
6677
6821
  }
6678
6822
 
6679
- /* ─── Heading (responsive: heading/md on wide, heading/sm on narrow) ─────── */
6823
+ /* Vertical label: body/base/regular, wraps, not bold for current */
6824
+ .muka-progress-tracker--vertical .muka-progress-tracker__label {
6825
+ font-family: var(--text-body-base-regular-fontFamily);
6826
+ font-weight: var(--text-body-base-regular-fontWeight);
6827
+ font-size: var(--text-body-base-regular-fontSize);
6828
+ line-height: var(--text-body-base-regular-lineHeight);
6829
+ color: var(--color-text-default-default);
6830
+ text-align: left;
6831
+ flex: 1 0 0;
6832
+ min-width: 0;
6833
+ padding-top: var(--spacing-1);
6834
+ padding-bottom: var(--spacing-1);
6835
+ word-break: break-word;
6836
+ }
6837
+
6838
+ /* Current label stays regular weight in vertical layout */
6839
+ .muka-progress-tracker--vertical .muka-progress-tracker__label--current {
6840
+ font-family: var(--text-body-base-regular-fontFamily);
6841
+ font-weight: var(--text-body-base-regular-fontWeight);
6842
+ }
6843
+
6844
+ /* Ensure step content paints above hover/selected backgrounds */
6845
+ .muka-progress-tracker--vertical .muka-progress-tracker__indicator-col,
6846
+ .muka-progress-tracker--vertical .muka-progress-tracker__label {
6847
+ position: relative;
6848
+ z-index: 1;
6849
+ }
6850
+
6851
+ /* ─── Hover halo (vertical interactive only) ────────────── */
6852
+ .muka-progress-tracker--vertical .muka-progress-tracker__step--interactive:hover::before,
6853
+ .muka-progress-tracker--vertical .muka-progress-tracker__step--interactive:active::before,
6854
+ .muka-progress-tracker--vertical .muka-progress-tracker__step[data-selected='true']::before {
6855
+ content: '';
6856
+ position: absolute;
6857
+ background-color: var(--color-surface-level1);
6858
+ pointer-events: none;
6859
+ z-index: 0;
6860
+ }
6861
+
6862
+ /* Hover: 40px circle behind indicator only */
6863
+ .muka-progress-tracker--vertical .muka-progress-tracker__step--interactive:hover::before {
6864
+ left: -4px;
6865
+ top: -4px;
6866
+ width: 40px;
6867
+ height: 40px;
6868
+ border-radius: 20px;
6869
+ }
6870
+
6871
+ /* Selected / :active: pill behind full step row — wins over hover */
6872
+ .muka-progress-tracker--vertical .muka-progress-tracker__step--interactive:active::before,
6873
+ .muka-progress-tracker--vertical .muka-progress-tracker__step[data-selected='true']::before {
6874
+ left: -4px;
6875
+ right: -8px;
6876
+ top: -4px;
6877
+ bottom: -4px;
6878
+ width: auto;
6879
+ height: auto;
6880
+ border-radius: 20px;
6881
+ }
6882
+
6883
+ /* Selected steps without interactive class still show the pill */
6884
+ .muka-progress-tracker--vertical .muka-progress-tracker__step[data-selected='true']:not(.muka-progress-tracker__step--interactive)::before {
6885
+ content: '';
6886
+ position: absolute;
6887
+ left: -4px;
6888
+ right: -8px;
6889
+ top: -4px;
6890
+ bottom: -4px;
6891
+ background-color: var(--color-surface-level1);
6892
+ border-radius: 20px;
6893
+ pointer-events: none;
6894
+ z-index: 0;
6895
+ }
6896
+
6897
+ /* Connector stays behind indicators (indicator-col is z-index 1) */
6898
+ .muka-progress-tracker--vertical .muka-progress-tracker__connector {
6899
+ z-index: 0;
6900
+ }
6901
+
6902
+
6903
+ /* ProgressAccordeon */
6904
+ /* ProgressAccordeon Component Styles — Using Muka Design Tokens */
6905
+
6906
+ /* ─── Root ──────────────────────────────────────────────── */
6907
+ .muka-progress-accordeon {
6908
+ container-type: inline-size;
6909
+ display: flex;
6910
+ flex-direction: column;
6911
+ align-items: stretch;
6912
+ width: 100%;
6913
+ /* Top padding provides the vertical rhythm between stacked steps */
6914
+ padding-top: var(--spacing-8);
6915
+ }
6916
+
6917
+ /* Per-state gap: content-bearing steps are tighter, header-only steps looser */
6918
+ .muka-progress-accordeon--current,
6919
+ .muka-progress-accordeon--past.muka-progress-accordeon--expanded,
6920
+ .muka-progress-accordeon--upcoming.muka-progress-accordeon--expanded {
6921
+ gap: var(--spacing-6);
6922
+ }
6923
+
6924
+ .muka-progress-accordeon--upcoming,
6925
+ .muka-progress-accordeon--past.muka-progress-accordeon--collapsed,
6926
+ .muka-progress-accordeon--upcoming.muka-progress-accordeon--collapsed {
6927
+ gap: var(--spacing-8);
6928
+ }
6929
+
6930
+ /* Collapsible steps group header + slot. The header↔content gap lives inside the
6931
+ collapsing slot (as padding-top) so it collapses with the content, so the
6932
+ body gap itself is 0. */
6933
+ .muka-progress-accordeon__body {
6934
+ display: flex;
6935
+ flex-direction: column;
6936
+ gap: 0;
6937
+ width: 100%;
6938
+ }
6939
+
6940
+ /* ─── Header ─────────────────────────────────────────────── */
6941
+ .muka-progress-accordeon__header {
6942
+ display: flex;
6943
+ flex-direction: column;
6944
+ gap: var(--spacing-3);
6945
+ width: 100%;
6946
+ }
6947
+
6948
+ .muka-progress-accordeon__header-row {
6949
+ display: flex;
6950
+ align-items: flex-start;
6951
+ gap: var(--spacing-3);
6952
+ width: 100%;
6953
+ min-height: 40px;
6954
+ }
6955
+
6956
+ .muka-progress-accordeon__heading-group {
6957
+ display: flex;
6958
+ flex: 1 0 0;
6959
+ min-width: 0;
6960
+ align-items: flex-start;
6961
+ gap: var(--spacing-4);
6962
+ }
6963
+
6964
+ /* Steps with header controls (edit / chevron) are 40px tall; nudge the heading
6965
+ so a single line centres against the indicator + controls row. */
6966
+ .muka-progress-accordeon:has(.muka-progress-accordeon__controls)
6967
+ .muka-progress-accordeon__heading-group {
6968
+ padding-top: var(--spacing-1);
6969
+ }
6970
+
6971
+ .muka-progress-accordeon__controls {
6972
+ display: flex;
6973
+ flex-shrink: 0;
6974
+ align-items: center;
6975
+ gap: var(--spacing-3);
6976
+ }
6977
+
6978
+ /* ─── Step indicator (circle) ───────────────────────────── */
6979
+ .muka-progress-accordeon__indicator {
6980
+ width: 32px;
6981
+ height: 32px;
6982
+ flex-shrink: 0;
6983
+ border-radius: var(--border-radius-full);
6984
+ display: flex;
6985
+ align-items: center;
6986
+ justify-content: center;
6987
+ }
6988
+
6989
+ /* Past: dark accent-contrast circle with inverse checkmark */
6990
+ .muka-progress-accordeon__indicator--past {
6991
+ background-color: var(--alias-color-accent-contrast);
6992
+ color: var(--color-text-default-inverse);
6993
+ }
6994
+
6995
+ /* Current: accent circle with inverse bold number */
6996
+ .muka-progress-accordeon__indicator--current {
6997
+ background-color: var(--alias-color-accent-default);
6998
+ color: var(--color-text-default-inverse);
6999
+ }
7000
+
7001
+ /* Upcoming: sunken/muted circle with default-color number */
7002
+ .muka-progress-accordeon__indicator--upcoming {
7003
+ background-color: var(--color-surface-sunken);
7004
+ color: var(--color-text-default-default);
7005
+ }
7006
+
7007
+ .muka-progress-accordeon__check-icon {
7008
+ width: 20px;
7009
+ height: 20px;
7010
+ color: var(--color-text-default-inverse);
7011
+ }
7012
+
7013
+ .muka-progress-accordeon__number {
7014
+ font-family: var(--text-label-md-bold-fontFamily);
7015
+ font-weight: var(--text-label-md-bold-fontWeight);
7016
+ font-size: var(--text-label-md-bold-fontSize);
7017
+ line-height: var(--text-label-md-bold-lineHeight);
7018
+ text-align: center;
7019
+ user-select: none;
7020
+ }
7021
+
7022
+ /* Upcoming number is semibold (not bold) per Figma */
7023
+ .muka-progress-accordeon__indicator--upcoming .muka-progress-accordeon__number {
7024
+ font-family: var(--text-label-md-semibold-fontFamily);
7025
+ font-weight: var(--text-label-md-semibold-fontWeight);
7026
+ }
7027
+
7028
+ /* ─── Heading (responsive: heading/md on wide, heading/sm on narrow) ─────── */
6680
7029
  .muka-progress-accordeon__heading {
6681
7030
  flex: 1 0 0;
6682
7031
  min-width: 0;
@@ -6719,7 +7068,7 @@ body {
6719
7068
  width: 100%;
6720
7069
  }
6721
7070
 
6722
- /* ─── Collapse/expand animation (past steps) ─────────────────
7071
+ /* ─── Collapse/expand animation (past & upcoming steps) ──────
6723
7072
  The grid-template-rows 1fr → 0fr technique animates the content to/from its
6724
7073
  intrinsic (auto) height with no magic max-height. Under prefers-reduced-motion
6725
7074
  --motion-duration-view resolves to 0ms, so the toggle stays instant. */
@@ -7345,10 +7694,10 @@ body {
7345
7694
  }
7346
7695
 
7347
7696
  .muka-photo-uploader__dropzone-text {
7348
- font-family: var(--text-body-md-regular-fontFamily);
7349
- font-size: var(--text-body-md-regular-fontSize);
7350
- font-weight: var(--text-body-md-regular-fontWeight);
7351
- line-height: var(--text-body-md-regular-lineHeight);
7697
+ font-family: var(--text-body-base-regular-fontFamily);
7698
+ font-size: var(--text-body-base-regular-fontSize);
7699
+ font-weight: var(--text-body-base-regular-fontWeight);
7700
+ line-height: var(--text-body-base-regular-lineHeight);
7352
7701
  color: var(--color-text-subtle-default);
7353
7702
  }
7354
7703
 
@@ -7421,6 +7770,36 @@ body {
7421
7770
  }
7422
7771
 
7423
7772
 
7773
+ /* NumberInput */
7774
+ /* NumberInput — reuses Input field styles (../Input/Input.css). */
7775
+ /* Only the prefix/suffix affixes are NumberInput-specific. */
7776
+
7777
+ .muka-numberinput__addon {
7778
+ display: inline-flex;
7779
+ align-items: center;
7780
+ flex: none;
7781
+ color: var(--color-text-subtle-default);
7782
+ font-family: var(--text-input-md-fontFamily);
7783
+ font-size: var(--text-input-md-fontSize);
7784
+ line-height: var(--text-input-md-lineHeight);
7785
+ user-select: none;
7786
+ pointer-events: none;
7787
+ white-space: nowrap;
7788
+ }
7789
+
7790
+ /* Hide the native number spinners — affixes/step API replace them. */
7791
+ .muka-numberinput__field .muka-input__native::-webkit-outer-spin-button,
7792
+ .muka-numberinput__field .muka-input__native::-webkit-inner-spin-button {
7793
+ -webkit-appearance: none;
7794
+ margin: 0;
7795
+ }
7796
+
7797
+ .muka-numberinput__field .muka-input__native {
7798
+ -moz-appearance: textfield;
7799
+ appearance: textfield;
7800
+ }
7801
+
7802
+
7424
7803
  /* Pagination */
7425
7804
  /* Pagination Component Styles */
7426
7805
 
@@ -7454,9 +7833,9 @@ body {
7454
7833
 
7455
7834
  /* Active page */
7456
7835
  .muka-pagination__button--active {
7457
- background-color: var(--button-color-primary-default-background);
7458
- color: var(--button-color-primary-default-foreground);
7459
- border-color: var(--button-color-primary-default-background);
7836
+ background-color: var(--button-color-primary-background-default);
7837
+ color: var(--button-color-primary-foreground-default);
7838
+ border-color: var(--button-color-primary-background-default);
7460
7839
  font-weight: 600;
7461
7840
  }
7462
7841
 
@@ -7487,72 +7866,42 @@ body {
7487
7866
 
7488
7867
  /* Size variants */
7489
7868
  .muka-pagination--sm .muka-pagination__button {
7490
- min-width: var(--button-height-sm);
7491
- height: var(--button-height-sm);
7869
+ min-width: var(--size-2xl);
7870
+ height: var(--size-2xl);
7492
7871
  font-size: var(--text-label-sm-regular-fontSize);
7493
7872
  }
7494
7873
 
7495
7874
  .muka-pagination--sm .muka-pagination__ellipsis {
7496
- min-width: var(--button-height-sm);
7497
- height: var(--button-height-sm);
7875
+ min-width: var(--size-2xl);
7876
+ height: var(--size-2xl);
7498
7877
  font-size: var(--text-label-sm-regular-fontSize);
7499
7878
  }
7500
7879
 
7501
7880
  .muka-pagination--md .muka-pagination__button {
7502
- min-width: var(--button-height-default);
7503
- height: var(--button-height-default);
7881
+ min-width: var(--size-3xl);
7882
+ height: var(--size-3xl);
7504
7883
  font-size: var(--text-label-md-regular-fontSize);
7505
7884
  }
7506
7885
 
7507
7886
  .muka-pagination--md .muka-pagination__ellipsis {
7508
- min-width: var(--button-height-default);
7509
- height: var(--button-height-default);
7887
+ min-width: var(--size-3xl);
7888
+ height: var(--size-3xl);
7510
7889
  font-size: var(--text-label-md-regular-fontSize);
7511
7890
  }
7512
7891
 
7513
7892
  .muka-pagination--lg .muka-pagination__button {
7514
- min-width: var(--button-height-lg);
7515
- height: var(--button-height-lg);
7893
+ min-width: var(--size-4xl);
7894
+ height: var(--size-4xl);
7516
7895
  font-size: var(--text-label-lg-regular-fontSize);
7517
7896
  }
7518
7897
 
7519
7898
  .muka-pagination--lg .muka-pagination__ellipsis {
7520
- min-width: var(--button-height-lg);
7521
- height: var(--button-height-lg);
7899
+ min-width: var(--size-4xl);
7900
+ height: var(--size-4xl);
7522
7901
  font-size: var(--text-label-lg-regular-fontSize);
7523
7902
  }
7524
7903
 
7525
7904
 
7526
- /* NumberInput */
7527
- /* NumberInput — reuses Input field styles (../Input/Input.css). */
7528
- /* Only the prefix/suffix affixes are NumberInput-specific. */
7529
-
7530
- .muka-numberinput__addon {
7531
- display: inline-flex;
7532
- align-items: center;
7533
- flex: none;
7534
- color: var(--color-text-subtle-default);
7535
- font-family: var(--text-input-md-fontFamily);
7536
- font-size: var(--text-input-md-fontSize);
7537
- line-height: var(--text-input-md-lineHeight);
7538
- user-select: none;
7539
- pointer-events: none;
7540
- white-space: nowrap;
7541
- }
7542
-
7543
- /* Hide the native number spinners — affixes/step API replace them. */
7544
- .muka-numberinput__field .muka-input__native::-webkit-outer-spin-button,
7545
- .muka-numberinput__field .muka-input__native::-webkit-inner-spin-button {
7546
- -webkit-appearance: none;
7547
- margin: 0;
7548
- }
7549
-
7550
- .muka-numberinput__field .muka-input__native {
7551
- -moz-appearance: textfield;
7552
- appearance: textfield;
7553
- }
7554
-
7555
-
7556
7905
  /* NavigationTransition */
7557
7906
  /* NavigationTransition Component Styles */
7558
7907
 
@@ -7634,32 +7983,62 @@ body {
7634
7983
  .muka-menu__search {
7635
7984
  display: flex;
7636
7985
  align-items: center;
7637
- gap: var(--spacing-2);
7638
7986
  flex-shrink: 0;
7639
- height: var(--size-3xl, 48px);
7640
- padding: 0 var(--spacing-4);
7987
+ /* Figma dropdown filter header: 48px, 8px inset, 32px icon slots. */
7988
+ height: var(--input-field-height-lg, 3rem);
7989
+ padding: 0 var(--spacing-2);
7641
7990
  border-bottom: var(--border-width-regular) solid var(--color-border-default);
7642
7991
  }
7643
7992
 
7644
- .muka-menu__search-icon {
7993
+ .muka-menu__search--sm {
7994
+ height: calc(var(--size-xl, 1.5rem) + var(--spacing-2) * 2);
7995
+ }
7996
+
7997
+ .muka-menu__search-icon,
7998
+ .muka-menu__search-clear {
7645
7999
  display: flex;
8000
+ align-items: center;
8001
+ justify-content: center;
7646
8002
  flex-shrink: 0;
8003
+ width: var(--size-2xl, 2rem);
8004
+ height: var(--size-2xl, 2rem);
7647
8005
  color: var(--color-text-subtle-default);
7648
8006
  }
7649
8007
 
8008
+ .muka-menu__search-icon .muka-icon,
8009
+ .muka-menu__search-clear .muka-icon,
8010
+ .muka-menu__search-clear:hover,
8011
+ .muka-menu__search-clear:hover .muka-icon {
8012
+ color: var(--color-text-subtle-default);
8013
+ }
8014
+
8015
+ .muka-menu__search--sm .muka-menu__search-icon,
8016
+ .muka-menu__search--sm .muka-menu__search-clear {
8017
+ width: var(--size-xl, 1.5rem);
8018
+ height: var(--size-xl, 1.5rem);
8019
+ }
8020
+
7650
8021
  .muka-menu__search-input {
7651
8022
  flex: 1 1 auto;
7652
8023
  min-width: 0;
7653
8024
  border: none;
7654
8025
  outline: none;
7655
8026
  background: transparent;
7656
- font-family: var(--text-label-md-regular-font-family);
7657
- font-size: var(--text-label-md-regular-font-size);
7658
- font-weight: var(--text-label-md-regular-font-weight);
7659
- line-height: var(--text-label-md-regular-line-height);
8027
+ padding: 0 var(--spacing-1);
8028
+ font-family: var(--text-input-md-fontFamily);
8029
+ font-size: var(--text-input-md-fontSize);
8030
+ font-weight: var(--text-input-md-fontWeight);
8031
+ line-height: var(--text-input-md-lineHeight);
7660
8032
  color: var(--color-text-default-default);
7661
8033
  }
7662
8034
 
8035
+ .muka-menu__search--sm .muka-menu__search-input {
8036
+ font-family: var(--text-input-sm-fontFamily);
8037
+ font-size: var(--text-input-sm-fontSize);
8038
+ font-weight: var(--text-input-sm-fontWeight);
8039
+ line-height: var(--text-input-sm-lineHeight);
8040
+ }
8041
+
7663
8042
  .muka-menu__search-input::placeholder {
7664
8043
  color: var(--color-text-subtle-default);
7665
8044
  }
@@ -7670,24 +8049,29 @@ body {
7670
8049
  appearance: none;
7671
8050
  }
7672
8051
 
7673
- .muka-menu__search-clear {
8052
+ .muka-menu__empty {
7674
8053
  display: flex;
7675
8054
  align-items: center;
7676
- justify-content: center;
7677
- flex-shrink: 0;
8055
+ min-height: var(--menu-item-height);
8056
+ padding: var(--menu-item-padding-y) var(--menu-item-padding-x);
8057
+ color: var(--color-text-subtle-default);
8058
+ font-family: var(--text-input-md-fontFamily);
8059
+ font-size: var(--text-input-md-fontSize);
8060
+ font-weight: var(--text-input-md-fontWeight);
8061
+ line-height: var(--text-input-md-lineHeight);
8062
+ pointer-events: none;
8063
+ user-select: none;
8064
+ }
8065
+
8066
+ .muka-menu__search-clear {
7678
8067
  padding: 0;
7679
8068
  border: none;
7680
8069
  background: transparent;
7681
- color: var(--color-text-subtle-default);
7682
8070
  cursor: pointer;
7683
8071
  }
7684
8072
 
7685
- .muka-menu__search-clear:hover {
7686
- color: var(--color-text-default-default);
7687
- }
7688
-
7689
8073
  .muka-menu__match {
7690
- font-weight: var(--font-weight-bold, 700);
8074
+ font-weight: var(--text-label-md-bold-fontWeight);
7691
8075
  }
7692
8076
 
7693
8077
  .muka-menu__content--scrollbar {
@@ -7722,22 +8106,26 @@ body {
7722
8106
  /* ─── Menu Item ──────────────────────────────────────────────────────────── */
7723
8107
 
7724
8108
  .muka-menu__item {
8109
+ position: relative;
7725
8110
  display: flex;
7726
8111
  align-items: center;
7727
8112
  gap: var(--menu-item-gap);
7728
8113
  min-height: var(--menu-item-height);
7729
- padding: var(--menu-item-padding-y) var(--menu-item-padding-x);
8114
+ /* Right gutter always reserved for floating trailers (enter / check). */
8115
+ padding: var(--menu-item-padding-y) var(--menu-item-padding-right) var(--menu-item-padding-y)
8116
+ var(--menu-item-padding-x);
7730
8117
  border-radius: var(--menu-item-border-radius);
7731
8118
  cursor: pointer;
7732
8119
  user-select: none;
7733
8120
  outline: none;
7734
- font-family: var(--text-label-md-regular-font-family);
7735
- font-size: var(--text-label-md-regular-font-size);
7736
- font-weight: var(--text-label-md-regular-font-weight);
7737
- line-height: var(--text-label-md-regular-line-height);
8121
+ font-family: var(--text-label-md-regular-fontFamily);
8122
+ font-size: var(--text-label-md-regular-fontSize);
8123
+ font-weight: var(--text-label-md-regular-fontWeight);
8124
+ line-height: var(--text-label-md-regular-lineHeight);
7738
8125
  color: var(--menu-item-color-default-foreground);
7739
8126
  background-color: var(--menu-item-color-default-background);
7740
8127
  transition: background-color 100ms ease, color 100ms ease;
8128
+ white-space: nowrap;
7741
8129
  }
7742
8130
 
7743
8131
  .muka-menu__item:hover,
@@ -7803,25 +8191,55 @@ body {
7803
8191
  }
7804
8192
 
7805
8193
  .muka-menu__item-label {
7806
- flex: 1;
8194
+ flex: 1 1 auto;
7807
8195
  min-width: 0;
8196
+ white-space: nowrap;
8197
+ }
8198
+
8199
+ /* Shortcut trailers replace icons and sit with an 8px right inset. */
8200
+ .muka-menu__item--has-shortcut {
8201
+ padding-right: var(--spacing-2);
7808
8202
  }
7809
8203
 
7810
8204
  .muka-menu__item-shortcut {
7811
8205
  flex-shrink: 0;
7812
8206
  margin-left: auto;
7813
8207
  padding-left: var(--menu-item-gap);
7814
- font-size: var(--text-label-sm-regular-font-size);
7815
- color: var(--menu-shortcut-color);
7816
- opacity: 0.7;
8208
+ font-family: var(--text-label-sm-regular-fontFamily);
8209
+ font-size: var(--text-label-sm-regular-fontSize);
8210
+ font-weight: var(--text-label-sm-regular-fontWeight);
8211
+ line-height: var(--text-label-sm-regular-lineHeight);
8212
+ color: var(--color-text-muted-default);
8213
+ white-space: nowrap;
8214
+ }
8215
+
8216
+ .muka-menu__item-hint {
8217
+ /* Figma: trailer sits with 8px margin top / right / bottom; 24px glyph centered inside. */
8218
+ position: absolute;
8219
+ top: var(--spacing-2);
8220
+ right: var(--spacing-2);
8221
+ bottom: var(--spacing-2);
8222
+ display: none;
8223
+ align-items: center;
8224
+ justify-content: center;
8225
+ width: var(--icon-size-default, 1.5rem);
8226
+ color: var(--color-text-muted-default);
8227
+ pointer-events: none;
8228
+ }
8229
+
8230
+ .muka-menu__item--hint-enter[data-highlighted] .muka-menu__item-hint {
8231
+ display: flex;
7817
8232
  }
7818
8233
 
7819
8234
  .muka-menu__item-chevron {
8235
+ position: absolute;
8236
+ top: var(--spacing-2);
8237
+ right: var(--spacing-2);
8238
+ bottom: var(--spacing-2);
7820
8239
  display: flex;
7821
8240
  align-items: center;
7822
8241
  justify-content: center;
7823
- flex-shrink: 0;
7824
- margin-left: auto;
8242
+ width: var(--icon-size-default, 1.5rem);
7825
8243
  color: var(--menu-shortcut-color);
7826
8244
  }
7827
8245
 
@@ -7842,9 +8260,10 @@ body {
7842
8260
  padding-left: var(--menu-item-padding-x);
7843
8261
  }
7844
8262
 
8263
+ .muka-menu__item--checkbox-trailing,
7845
8264
  .muka-menu__item--radio-check {
7846
- position: relative;
7847
- padding-right: calc(var(--menu-item-padding-x) + var(--menu-checkbox-indicator-size) + var(--menu-item-gap));
8265
+ /* Same reserved right gutter as default items — trailing indicator floats. */
8266
+ padding-right: var(--menu-item-padding-right);
7848
8267
  }
7849
8268
 
7850
8269
  .muka-menu__item--radio-check[data-state='checked'] {
@@ -7852,11 +8271,27 @@ body {
7852
8271
  }
7853
8272
 
7854
8273
  .muka-menu__item-indicator--trailing {
8274
+ /* Match enter-hint trailer: 8px inset, 24px box (override leading indicator size). */
7855
8275
  position: absolute;
7856
- right: var(--menu-item-padding-x);
7857
- top: 50%;
7858
- transform: translateY(-50%);
7859
- color: var(--menu-checkbox-indicator-color);
8276
+ top: var(--spacing-2);
8277
+ right: var(--spacing-2);
8278
+ bottom: var(--spacing-2);
8279
+ display: flex;
8280
+ align-items: center;
8281
+ justify-content: center;
8282
+ width: var(--icon-size-default, 1.5rem);
8283
+ height: auto;
8284
+ max-height: none;
8285
+ transform: none;
8286
+ color: var(--color-text-subtle-default);
8287
+ }
8288
+
8289
+ .muka-menu__item-indicator--trailing > [data-state] {
8290
+ display: flex;
8291
+ align-items: center;
8292
+ justify-content: center;
8293
+ width: 100%;
8294
+ height: 100%;
7860
8295
  }
7861
8296
 
7862
8297
  .muka-menu__radio-dot {
@@ -7882,10 +8317,10 @@ body {
7882
8317
 
7883
8318
  .muka-menu__group-label {
7884
8319
  padding: var(--menu-group-label-padding-y) var(--menu-group-label-padding-x);
7885
- font-family: var(--text-label-sm-semibold-font-family);
7886
- font-size: var(--text-label-sm-semibold-font-size);
7887
- font-weight: var(--text-label-sm-semibold-font-weight);
7888
- line-height: var(--text-label-sm-semibold-line-height);
8320
+ font-family: var(--text-label-sm-semibold-fontFamily);
8321
+ font-size: var(--text-label-sm-semibold-fontSize);
8322
+ font-weight: var(--text-label-sm-semibold-fontWeight);
8323
+ line-height: var(--text-label-sm-semibold-lineHeight);
7889
8324
  color: var(--menu-group-label-color);
7890
8325
  text-transform: uppercase;
7891
8326
  letter-spacing: 0.05em;
@@ -8356,7 +8791,7 @@ li.muka-listitem {
8356
8791
  font-weight: var(--text-label-sm-regular-fontWeight);
8357
8792
  font-size: var(--text-label-sm-regular-fontSize);
8358
8793
  line-height: var(--text-label-sm-regular-lineHeight);
8359
- color: var(--color-state-error-foreground);
8794
+ color: var(--color-state-error-default);
8360
8795
  margin: 0;
8361
8796
  }
8362
8797
 
@@ -8398,7 +8833,7 @@ li.muka-listitem {
8398
8833
  }
8399
8834
 
8400
8835
  .muka-label__required {
8401
- color: var(--color-state-error-foreground);
8836
+ color: var(--color-state-error-default);
8402
8837
  }
8403
8838
 
8404
8839
 
@@ -8444,7 +8879,7 @@ li.muka-listitem {
8444
8879
  }
8445
8880
 
8446
8881
  .muka-input__required {
8447
- color: var(--color-state-error-foreground);
8882
+ color: var(--color-state-error-default);
8448
8883
  }
8449
8884
 
8450
8885
  .muka-input__label--sm + .muka-input__field--disabled,
@@ -8568,27 +9003,58 @@ li.muka-listitem {
8568
9003
  color: var(--input-field-color-disabled-foreground);
8569
9004
  }
8570
9005
 
8571
- /* Icons */
9006
+ /* Icons — Figma inputfield content: sm 16px, md 20px, lg 24px. */
8572
9007
  .muka-input__icon {
8573
9008
  display: inline-flex;
8574
9009
  align-items: center;
9010
+ justify-content: center;
8575
9011
  flex-shrink: 0;
8576
9012
  color: var(--color-text-subtle-default);
8577
- width: var(--icon-size-default);
8578
- height: var(--icon-size-default);
9013
+ width: var(--icon-size-sm);
9014
+ height: var(--icon-size-sm);
8579
9015
  }
8580
9016
 
8581
9017
  .muka-input__field--sm .muka-input__icon {
8582
- width: var(--icon-size-sm);
8583
- height: var(--icon-size-sm);
9018
+ width: var(--icon-size-xs);
9019
+ height: var(--icon-size-xs);
8584
9020
  }
8585
9021
 
8586
9022
  .muka-input__field--lg .muka-input__icon {
8587
- width: var(--icon-size-lg);
8588
- height: var(--icon-size-lg);
9023
+ width: var(--icon-size-default);
9024
+ height: var(--icon-size-default);
9025
+ }
9026
+
9027
+ .muka-input__clear {
9028
+ display: inline-flex;
9029
+ align-items: center;
9030
+ justify-content: center;
9031
+ flex-shrink: 0;
9032
+ width: var(--size-2xl, 2rem);
9033
+ height: var(--size-2xl, 2rem);
9034
+ padding: 0;
9035
+ border: none;
9036
+ background: transparent;
9037
+ color: var(--color-text-subtle-default);
9038
+ cursor: pointer;
9039
+ }
9040
+
9041
+ .muka-input__field--sm .muka-input__clear {
9042
+ width: var(--size-xl, 1.5rem);
9043
+ height: var(--size-xl, 1.5rem);
8589
9044
  }
8590
9045
 
8591
- .muka-input__field--disabled .muka-input__icon {
9046
+ /* Icon sets its own color; pin the glyph to text subtle, including hover. */
9047
+ .muka-input__icon .muka-icon,
9048
+ .muka-input__clear .muka-icon,
9049
+ .muka-input__clear:hover,
9050
+ .muka-input__clear:hover .muka-icon {
9051
+ color: var(--color-text-subtle-default);
9052
+ }
9053
+
9054
+ .muka-input__field--disabled .muka-input__icon,
9055
+ .muka-input__field--disabled .muka-input__icon .muka-icon,
9056
+ .muka-input__field--disabled .muka-input__clear,
9057
+ .muka-input__field--disabled .muka-input__clear .muka-icon {
8592
9058
  color: var(--input-field-color-disabled-foreground);
8593
9059
  }
8594
9060
 
@@ -8597,6 +9063,12 @@ li.muka-listitem {
8597
9063
  height: 100%;
8598
9064
  }
8599
9065
 
9066
+ .muka-input__native::-webkit-search-cancel-button,
9067
+ .muka-input__native::-webkit-search-decoration {
9068
+ -webkit-appearance: none;
9069
+ appearance: none;
9070
+ }
9071
+
8600
9072
  /* Helper text */
8601
9073
  .muka-input__helper {
8602
9074
  font-family: var(--text-label-sm-regular-fontFamily);
@@ -8613,7 +9085,7 @@ li.muka-listitem {
8613
9085
  font-weight: var(--text-label-sm-regular-fontWeight);
8614
9086
  font-size: var(--text-label-sm-regular-fontSize);
8615
9087
  line-height: var(--text-label-sm-regular-lineHeight);
8616
- color: var(--color-state-error-foreground);
9088
+ color: var(--color-state-error-default);
8617
9089
  margin: 0;
8618
9090
  }
8619
9091
 
@@ -8813,10 +9285,10 @@ li.muka-listitem {
8813
9285
 
8814
9286
  /* Text */
8815
9287
  .muka-fileupload__text {
8816
- font-family: var(--text-body-md-regular-fontFamily);
8817
- font-size: var(--text-body-md-regular-fontSize);
8818
- font-weight: var(--text-body-md-regular-fontWeight);
8819
- line-height: var(--text-body-md-regular-lineHeight);
9288
+ font-family: var(--text-body-base-regular-fontFamily);
9289
+ font-size: var(--text-body-base-regular-fontSize);
9290
+ font-weight: var(--text-body-base-regular-fontWeight);
9291
+ line-height: var(--text-body-base-regular-lineHeight);
8820
9292
  color: var(--color-text-default-default);
8821
9293
  }
8822
9294
 
@@ -8899,10 +9371,10 @@ li.muka-listitem {
8899
9371
  }
8900
9372
 
8901
9373
  .muka-fileupload-item__name {
8902
- font-family: var(--text-body-sm-medium-fontFamily);
8903
- font-size: var(--text-body-sm-medium-fontSize);
8904
- font-weight: var(--text-body-sm-medium-fontWeight);
8905
- line-height: var(--text-body-sm-medium-lineHeight);
9374
+ font-family: var(--text-body-sm-regular-fontFamily);
9375
+ font-size: var(--text-body-sm-regular-fontSize);
9376
+ font-weight: var(--text-body-sm-regular-fontWeight);
9377
+ line-height: var(--text-body-sm-regular-lineHeight);
8906
9378
  color: var(--fileupload-item-color-default-foreground);
8907
9379
  white-space: nowrap;
8908
9380
  overflow: hidden;
@@ -8938,11 +9410,11 @@ li.muka-listitem {
8938
9410
  }
8939
9411
 
8940
9412
  .muka-fileupload-item__status-icon--success {
8941
- color: var(--color-state-success-foreground);
9413
+ color: var(--fileupload-item-color-success-foreground);
8942
9414
  }
8943
9415
 
8944
9416
  .muka-fileupload-item__status-icon--error {
8945
- color: var(--color-state-error-foreground);
9417
+ color: var(--fileupload-item-color-error-foreground);
8946
9418
  }
8947
9419
 
8948
9420
  .muka-fileupload-item__remove {
@@ -8995,7 +9467,7 @@ li.muka-listitem {
8995
9467
 
8996
9468
  .muka-fab--primary {
8997
9469
  background-color: var(--color-action-default);
8998
- color: var(--color-text-inverse-default);
9470
+ color: var(--color-text-default-inverse);
8999
9471
  }
9000
9472
 
9001
9473
  .muka-fab--primary:hover:not(:disabled) {
@@ -9178,10 +9650,10 @@ li.muka-listitem {
9178
9650
  .muka-emptystate__title {
9179
9651
  color: var(--emptystate-title-color);
9180
9652
  margin: 0;
9181
- font-family: var(--text-heading-h4-fontFamily);
9182
- font-weight: var(--text-heading-h4-fontWeight);
9183
- font-size: var(--text-heading-h4-fontSize);
9184
- line-height: var(--text-heading-h4-lineHeight);
9653
+ font-family: var(--text-heading-sm-fontFamily);
9654
+ font-weight: var(--text-heading-sm-fontWeight);
9655
+ font-size: var(--text-heading-sm-fontSize);
9656
+ line-height: var(--text-heading-sm-lineHeight);
9185
9657
  }
9186
9658
 
9187
9659
  .muka-emptystate--sm .muka-emptystate__title {
@@ -9192,69 +9664,297 @@ li.muka-listitem {
9192
9664
  }
9193
9665
 
9194
9666
  .muka-emptystate--lg .muka-emptystate__title {
9195
- font-family: var(--text-heading-h3-fontFamily);
9196
- font-weight: var(--text-heading-h3-fontWeight);
9197
- font-size: var(--text-heading-h3-fontSize);
9198
- line-height: var(--text-heading-h3-lineHeight);
9667
+ font-family: var(--text-heading-md-fontFamily);
9668
+ font-weight: var(--text-heading-md-fontWeight);
9669
+ font-size: var(--text-heading-md-fontSize);
9670
+ line-height: var(--text-heading-md-lineHeight);
9671
+ }
9672
+
9673
+ /* Description */
9674
+ .muka-emptystate__description {
9675
+ color: var(--emptystate-description-color);
9676
+ margin: 0;
9677
+ font-family: var(--text-body-sm-regular-fontFamily);
9678
+ font-weight: var(--text-body-sm-regular-fontWeight);
9679
+ font-size: var(--text-body-sm-regular-fontSize);
9680
+ line-height: var(--text-body-sm-regular-lineHeight);
9681
+ }
9682
+
9683
+ .muka-emptystate--md .muka-emptystate__description {
9684
+ font-family: var(--text-body-base-regular-fontFamily);
9685
+ font-weight: var(--text-body-base-regular-fontWeight);
9686
+ font-size: var(--text-body-base-regular-fontSize);
9687
+ line-height: var(--text-body-base-regular-lineHeight);
9688
+ }
9689
+
9690
+ .muka-emptystate--lg .muka-emptystate__description {
9691
+ font-family: var(--text-body-lg-regular-fontFamily);
9692
+ font-weight: var(--text-body-lg-regular-fontWeight);
9693
+ font-size: var(--text-body-lg-regular-fontSize);
9694
+ line-height: var(--text-body-lg-regular-lineHeight);
9695
+ }
9696
+
9697
+ /* Actions */
9698
+ .muka-emptystate__actions {
9699
+ display: flex;
9700
+ gap: var(--emptystate-actions-gap);
9701
+ margin-top: var(--emptystate-actions-marginTop);
9702
+ flex-wrap: wrap;
9703
+ justify-content: center;
9704
+ }
9705
+
9706
+ .muka-emptystate--left .muka-emptystate__actions {
9707
+ justify-content: flex-start;
9708
+ }
9709
+
9710
+
9711
+ /* EmojiPicker */
9712
+ /* EmojiPicker Component Styles */
9713
+
9714
+ .muka-emoji-picker {
9715
+ display: grid;
9716
+ grid-template-columns: repeat(8, 1fr);
9717
+ gap: var(--spacing-1);
9718
+ padding: var(--spacing-2);
9719
+ max-height: 12rem;
9720
+ overflow-y: auto;
9721
+ background: var(--color-surface-level2);
9722
+ border: var(--border-width-regular, 1px) solid var(--color-border-default);
9723
+ border-radius: var(--radius-lg);
9724
+ box-shadow: var(--menu-content-shadow, 0 4px 12px rgba(0, 0, 0, 0.12));
9725
+ }
9726
+
9727
+ .muka-emoji-picker__glyph {
9728
+ font-size: 1.25rem;
9729
+ line-height: 1;
9730
+ }
9731
+
9732
+
9733
+ /* DropdownSelect */
9734
+ /* DropdownSelect — Figma Dropdown Menu form field (Menu + chips) */
9735
+
9736
+ .muka-dropdown-select {
9737
+ display: inline-flex;
9738
+ flex-direction: column;
9739
+ gap: var(--spacing-2);
9740
+ min-width: 200px;
9741
+ }
9742
+
9743
+ .muka-dropdown-select--full-width {
9744
+ width: 100%;
9745
+ }
9746
+
9747
+ .muka-dropdown-select__label {
9748
+ color: var(--color-text-default-default);
9749
+ cursor: pointer;
9750
+ }
9751
+
9752
+ .muka-dropdown-select__label--sm {
9753
+ font-family: var(--text-label-sm-semibold-fontFamily);
9754
+ font-weight: var(--text-label-sm-semibold-fontWeight);
9755
+ font-size: var(--text-label-sm-semibold-fontSize);
9756
+ line-height: var(--text-label-sm-semibold-lineHeight);
9757
+ }
9758
+
9759
+ .muka-dropdown-select__label--md {
9760
+ font-family: var(--text-label-md-semibold-fontFamily);
9761
+ font-weight: var(--text-label-md-semibold-fontWeight);
9762
+ font-size: var(--text-label-md-semibold-fontSize);
9763
+ line-height: var(--text-label-md-semibold-lineHeight);
9764
+ }
9765
+
9766
+ .muka-dropdown-select__label--lg {
9767
+ font-family: var(--text-label-lg-semibold-fontFamily);
9768
+ font-weight: var(--text-label-lg-semibold-fontWeight);
9769
+ font-size: var(--text-label-lg-semibold-fontSize);
9770
+ line-height: var(--text-label-lg-semibold-lineHeight);
9771
+ }
9772
+
9773
+ .muka-dropdown-select__required {
9774
+ color: var(--color-state-error-default);
9775
+ }
9776
+
9777
+ .muka-dropdown-select__field {
9778
+ display: flex;
9779
+ align-items: center;
9780
+ gap: var(--spacing-1);
9781
+ width: 100%;
9782
+ position: relative;
9783
+ box-sizing: border-box;
9784
+ background-color: var(--input-field-color-default-background);
9785
+ border: var(--border-width-regular) solid var(--input-field-color-default-border);
9786
+ border-radius: var(--input-field-radius-lg);
9787
+ padding: var(--spacing-2);
9788
+ padding-right: calc(var(--spacing-2) + var(--size-2xl, 2rem));
9789
+ text-align: left;
9790
+ cursor: pointer;
9791
+ color: var(--color-text-default-default);
9792
+ transition: border-color 0.12s ease, background-color 0.12s ease;
9793
+ -webkit-tap-highlight-color: transparent;
9794
+ }
9795
+
9796
+ .muka-dropdown-select__field::after {
9797
+ content: '';
9798
+ position: absolute;
9799
+ inset: 0;
9800
+ border-radius: inherit;
9801
+ box-shadow: inset 0 1px 2px 0 rgba(26, 26, 26, 0.08);
9802
+ pointer-events: none;
9803
+ }
9804
+
9805
+ .muka-dropdown-select__field--sm {
9806
+ min-height: var(--input-field-height-sm);
9807
+ border-radius: var(--input-field-radius-sm);
9808
+ padding-right: calc(var(--spacing-2) + var(--size-xl, 1.5rem));
9809
+ }
9810
+
9811
+ .muka-dropdown-select__field--md {
9812
+ min-height: var(--input-field-height-default);
9813
+ border-radius: var(--input-field-radius-md);
9814
+ }
9815
+
9816
+ .muka-dropdown-select__field--lg {
9817
+ min-height: var(--input-field-height-lg);
9818
+ border-radius: var(--input-field-radius-lg);
9819
+ }
9820
+
9821
+ .muka-dropdown-select__field--focused:not(.muka-dropdown-select__field--disabled) {
9822
+ border-width: var(--border-width-bold);
9823
+ border-color: var(--input-field-color-focus-border);
9824
+ background-color: var(--input-field-color-focus-background);
9825
+ padding: calc(var(--spacing-2) - 1px);
9826
+ padding-right: calc(var(--spacing-2) + var(--size-2xl, 2rem) - 1px);
9827
+ }
9828
+
9829
+ .muka-dropdown-select__field--sm.muka-dropdown-select__field--focused:not(.muka-dropdown-select__field--disabled) {
9830
+ padding-right: calc(var(--spacing-2) + var(--size-xl, 1.5rem) - 1px);
9831
+ }
9832
+
9833
+ .muka-dropdown-select__field--error:not(.muka-dropdown-select__field--disabled) {
9834
+ border-color: var(--color-state-error-contrast);
9835
+ }
9836
+
9837
+ .muka-dropdown-select__field--disabled {
9838
+ opacity: 0.5;
9839
+ cursor: not-allowed;
9840
+ }
9841
+
9842
+ .muka-dropdown-select__content {
9843
+ position: relative;
9844
+ z-index: 1;
9845
+ display: flex;
9846
+ flex: 1 1 auto;
9847
+ min-width: 0;
9848
+ align-items: center;
9849
+ /* Let empty-field / value clicks reach the full-field MenuTrigger underneath. */
9850
+ pointer-events: none;
9851
+ }
9852
+
9853
+ .muka-dropdown-select__placeholder {
9854
+ color: var(--color-text-subtle-default);
9855
+ font-family: var(--text-label-md-regular-fontFamily);
9856
+ font-size: var(--text-label-md-regular-fontSize);
9857
+ font-weight: var(--text-label-md-regular-fontWeight);
9858
+ line-height: var(--text-label-md-regular-lineHeight);
9859
+ padding-inline: var(--spacing-1);
9860
+ }
9861
+
9862
+ .muka-dropdown-select__value {
9863
+ font-family: var(--text-label-md-regular-fontFamily);
9864
+ font-size: var(--text-label-md-regular-fontSize);
9865
+ font-weight: var(--text-label-md-regular-fontWeight);
9866
+ line-height: var(--text-label-md-regular-lineHeight);
9867
+ padding-inline: var(--spacing-1);
9868
+ white-space: nowrap;
9869
+ overflow: hidden;
9870
+ text-overflow: ellipsis;
9871
+ }
9872
+
9873
+ .muka-dropdown-select__chips {
9874
+ display: flex;
9875
+ flex: 1 1 auto;
9876
+ flex-wrap: wrap;
9877
+ gap: var(--spacing-2);
9878
+ align-items: flex-start;
9879
+ min-width: 0;
9880
+ /* Chip remove controls must remain clickable above the field hit target. */
9881
+ pointer-events: auto;
9882
+ }
9883
+
9884
+ .muka-dropdown-select__field--multiline {
9885
+ align-items: flex-start;
9886
+ min-height: 7rem;
9887
+ }
9888
+
9889
+ .muka-dropdown-select__menu-button {
9890
+ position: absolute;
9891
+ inset: 0;
9892
+ z-index: 0;
9893
+ display: inline-flex;
9894
+ align-items: center;
9895
+ justify-content: flex-end;
9896
+ width: auto;
9897
+ height: auto;
9898
+ padding: 0;
9899
+ padding-right: var(--spacing-2);
9900
+ border: none;
9901
+ border-radius: inherit;
9902
+ background: transparent;
9903
+ color: var(--color-text-subtle-default);
9904
+ cursor: pointer;
9199
9905
  }
9200
9906
 
9201
- /* Description */
9202
- .muka-emptystate__description {
9203
- color: var(--emptystate-description-color);
9204
- margin: 0;
9205
- font-family: var(--text-body-sm-regular-fontFamily);
9206
- font-weight: var(--text-body-sm-regular-fontWeight);
9207
- font-size: var(--text-body-sm-regular-fontSize);
9208
- line-height: var(--text-body-sm-regular-lineHeight);
9907
+ .muka-dropdown-select__field--multiline .muka-dropdown-select__menu-button {
9908
+ align-items: flex-start;
9909
+ padding-top: calc(var(--spacing-2) + 8px);
9209
9910
  }
9210
9911
 
9211
- .muka-emptystate--md .muka-emptystate__description {
9212
- font-family: var(--text-body-base-regular-fontFamily);
9213
- font-weight: var(--text-body-base-regular-fontWeight);
9214
- font-size: var(--text-body-base-regular-fontSize);
9215
- line-height: var(--text-body-base-regular-lineHeight);
9912
+ .muka-dropdown-select__chevron {
9913
+ display: inline-flex;
9914
+ align-items: center;
9915
+ justify-content: center;
9916
+ width: var(--size-2xl, 2rem);
9917
+ height: var(--size-2xl, 2rem);
9918
+ pointer-events: none;
9919
+ color: var(--color-text-subtle-default);
9216
9920
  }
9217
9921
 
9218
- .muka-emptystate--lg .muka-emptystate__description {
9219
- font-family: var(--text-body-lg-regular-fontFamily);
9220
- font-weight: var(--text-body-lg-regular-fontWeight);
9221
- font-size: var(--text-body-lg-regular-fontSize);
9222
- line-height: var(--text-body-lg-regular-lineHeight);
9922
+ .muka-dropdown-select__chevron .muka-icon,
9923
+ .muka-dropdown-select__menu-button:hover .muka-dropdown-select__chevron,
9924
+ .muka-dropdown-select__menu-button:hover .muka-icon {
9925
+ color: var(--color-text-subtle-default);
9223
9926
  }
9224
9927
 
9225
- /* Actions */
9226
- .muka-emptystate__actions {
9227
- display: flex;
9228
- gap: var(--emptystate-actions-gap);
9229
- margin-top: var(--emptystate-actions-marginTop);
9230
- flex-wrap: wrap;
9231
- justify-content: center;
9928
+ .muka-dropdown-select__field--sm .muka-dropdown-select__chevron {
9929
+ width: var(--size-xl, 1.5rem);
9930
+ height: var(--size-xl, 1.5rem);
9232
9931
  }
9233
9932
 
9234
- .muka-emptystate--left .muka-emptystate__actions {
9235
- justify-content: flex-start;
9933
+ .muka-dropdown-select__menu-button:focus-visible {
9934
+ outline: 2px solid var(--color-border-focus, var(--color-action-default));
9935
+ outline-offset: 2px;
9236
9936
  }
9237
9937
 
9938
+ .muka-dropdown-select__helper {
9939
+ margin: 0;
9940
+ color: var(--color-text-subtle-default);
9941
+ font-family: var(--text-label-sm-regular-fontFamily);
9942
+ font-size: var(--text-label-sm-regular-fontSize);
9943
+ font-weight: var(--text-label-sm-regular-fontWeight);
9944
+ line-height: var(--text-label-sm-regular-lineHeight);
9945
+ }
9238
9946
 
9239
- /* EmojiPicker */
9240
- /* EmojiPicker Component Styles */
9241
-
9242
- .muka-emoji-picker {
9243
- display: grid;
9244
- grid-template-columns: repeat(8, 1fr);
9245
- gap: var(--spacing-1);
9246
- padding: var(--spacing-2);
9247
- max-height: 12rem;
9248
- overflow-y: auto;
9249
- background: var(--color-surface-level2);
9250
- border: var(--border-width-regular, 1px) solid var(--color-border-default);
9251
- border-radius: var(--radius-lg);
9252
- box-shadow: var(--menu-content-shadow, 0 4px 12px rgba(0, 0, 0, 0.12));
9947
+ .muka-dropdown-select__error {
9948
+ margin: 0;
9949
+ color: var(--color-state-error-default);
9950
+ font-family: var(--text-label-sm-regular-fontFamily);
9951
+ font-size: var(--text-label-sm-regular-fontSize);
9952
+ font-weight: var(--text-label-sm-regular-fontWeight);
9953
+ line-height: var(--text-label-sm-regular-lineHeight);
9253
9954
  }
9254
9955
 
9255
- .muka-emoji-picker__glyph {
9256
- font-size: 1.25rem;
9257
- line-height: 1;
9956
+ .muka-dropdown-select__menu {
9957
+ /* Uses Menu min-width (280px); grows with long labels; left-aligned to the field. */
9258
9958
  }
9259
9959
 
9260
9960
 
@@ -9482,7 +10182,7 @@ li.muka-listitem {
9482
10182
  line-height: var(--text-label-sm-lineHeight);
9483
10183
  border: 1px solid var(--color-border-default);
9484
10184
  border-radius: var(--border-radius-md);
9485
- background-color: var(--color-surface-default);
10185
+ background-color: var(--color-surface-level0);
9486
10186
  color: var(--color-text-default-default);
9487
10187
  }
9488
10188
 
@@ -9627,7 +10327,7 @@ li.muka-listitem {
9627
10327
 
9628
10328
  .muka-documentviewer__thumbnail-label {
9629
10329
  font-family: var(--alias-font-brand-family);
9630
- font-size: var(--text-label-xs-fontSize);
10330
+ font-size: var(--text-label-xs-regular-fontSize);
9631
10331
  color: var(--color-text-default-default);
9632
10332
  font-weight: var(--alias-font-brand-weight-medium);
9633
10333
  }
@@ -10654,10 +11354,10 @@ li.muka-listitem {
10654
11354
  }
10655
11355
 
10656
11356
  .muka-context-select__label {
10657
- font-family: var(--text-label-sm-regular-font-family);
10658
- font-size: var(--text-label-sm-regular-font-size);
10659
- font-weight: var(--text-label-sm-regular-font-weight);
10660
- line-height: var(--text-label-sm-regular-line-height);
11357
+ font-family: var(--text-label-sm-regular-fontFamily);
11358
+ font-size: var(--text-label-sm-regular-fontSize);
11359
+ font-weight: var(--text-label-sm-regular-fontWeight);
11360
+ line-height: var(--text-label-sm-regular-lineHeight);
10661
11361
  white-space: nowrap;
10662
11362
  }
10663
11363
 
@@ -10752,191 +11452,175 @@ li.muka-listitem {
10752
11452
 
10753
11453
 
10754
11454
  /* Combobox */
10755
- /* Combobox Component Styles */
11455
+ /* Combobox — Figma Input Combobox (free-input chips + suggestion Menu) */
10756
11456
 
10757
- /* ─── Trigger group (positioning context for the trailing controls) ── */
11457
+ .muka-combobox {
11458
+ display: inline-flex;
11459
+ flex-direction: column;
11460
+ gap: var(--spacing-2);
11461
+ min-width: 200px;
11462
+ }
10758
11463
 
10759
- /*
10760
- * The clear control is a sibling of the trigger, not a child (a <button> may
10761
- * not contain interactive content), so it is overlaid on the trigger's trailing
10762
- * padding. The trigger reserves that space with padding-right below.
10763
- */
10764
- .muka-combobox__trigger-group {
10765
- position: relative;
10766
- display: block;
11464
+ .muka-combobox--full-width {
10767
11465
  width: 100%;
10768
11466
  }
10769
11467
 
10770
- /* ─── Trigger (looks like an Input field, behaves like a button) ── */
11468
+ .muka-combobox__label {
11469
+ color: var(--color-text-default-default);
11470
+ cursor: pointer;
11471
+ }
11472
+
11473
+ .muka-combobox__label--sm {
11474
+ font-family: var(--text-label-sm-semibold-fontFamily);
11475
+ font-weight: var(--text-label-sm-semibold-fontWeight);
11476
+ font-size: var(--text-label-sm-semibold-fontSize);
11477
+ line-height: var(--text-label-sm-semibold-lineHeight);
11478
+ }
10771
11479
 
10772
- .muka-combobox {
10773
- display: inline-flex;
11480
+ .muka-combobox__label--md {
11481
+ font-family: var(--text-label-md-semibold-fontFamily);
11482
+ font-weight: var(--text-label-md-semibold-fontWeight);
11483
+ font-size: var(--text-label-md-semibold-fontSize);
11484
+ line-height: var(--text-label-md-semibold-lineHeight);
11485
+ }
11486
+
11487
+ .muka-combobox__label--lg {
11488
+ font-family: var(--text-label-lg-semibold-fontFamily);
11489
+ font-weight: var(--text-label-lg-semibold-fontWeight);
11490
+ font-size: var(--text-label-lg-semibold-fontSize);
11491
+ line-height: var(--text-label-lg-semibold-lineHeight);
11492
+ }
11493
+
11494
+ .muka-combobox__field {
11495
+ display: flex;
10774
11496
  align-items: center;
10775
- gap: var(--spacing-2);
10776
11497
  width: 100%;
10777
- padding: 0 var(--muka-combobox-trailing-space) 0 var(--input-field-padding-x);
11498
+ position: relative;
11499
+ isolation: isolate;
11500
+ box-sizing: border-box;
10778
11501
  background-color: var(--input-field-color-default-background);
10779
11502
  border: var(--border-width-regular) solid var(--input-field-color-default-border);
10780
- color: var(--color-text-default-default);
10781
- text-align: left;
10782
- cursor: pointer;
10783
- font-family: var(--text-body-md-regular-fontFamily);
10784
- font-weight: var(--text-body-md-regular-fontWeight);
10785
- font-size: var(--text-body-md-regular-fontSize);
10786
- line-height: var(--text-body-md-regular-lineHeight);
10787
- -webkit-tap-highlight-color: transparent;
10788
- transition: border-color 0.12s ease;
10789
-
10790
- /* Room for the chevron overlaid on the trailing edge. */
10791
- --muka-combobox-trailing-space: calc(
10792
- var(--input-field-padding-x) + var(--icon-size-sm) + var(--spacing-2)
10793
- );
11503
+ border-radius: var(--input-field-radius-lg);
11504
+ padding: var(--spacing-2);
11505
+ cursor: text;
11506
+ transition: border-color 0.12s ease, background-color 0.12s ease;
10794
11507
  }
10795
11508
 
10796
- /* …and for the clear button next to it, when one is rendered. */
10797
- .muka-combobox--clearable {
10798
- --muka-combobox-trailing-space: calc(
10799
- var(--input-field-padding-x) + var(--icon-size-sm) + var(--spacing-2) +
10800
- var(--icon-size-xs) + var(--spacing-1) * 2 + var(--spacing-2)
10801
- );
11509
+ .muka-combobox__field::after {
11510
+ content: '';
11511
+ position: absolute;
11512
+ inset: 0;
11513
+ border-radius: inherit;
11514
+ box-shadow: inset 0 1px 2px 0 rgba(26, 26, 26, 0.08);
11515
+ pointer-events: none;
10802
11516
  }
10803
11517
 
10804
- .muka-combobox--sm {
11518
+ .muka-combobox__field--sm {
10805
11519
  min-height: var(--input-field-height-sm);
10806
11520
  border-radius: var(--input-field-radius-sm);
10807
11521
  }
10808
11522
 
10809
- .muka-combobox--md {
11523
+ .muka-combobox__field--md {
10810
11524
  min-height: var(--input-field-height-default);
10811
11525
  border-radius: var(--input-field-radius-md);
10812
11526
  }
10813
11527
 
10814
- .muka-combobox--lg {
11528
+ .muka-combobox__field--lg {
10815
11529
  min-height: var(--input-field-height-lg);
10816
11530
  border-radius: var(--input-field-radius-lg);
10817
11531
  }
10818
11532
 
10819
- .muka-combobox:hover:not(:disabled) {
10820
- border-color: var(--input-field-color-hover-border, var(--input-field-color-default-border));
11533
+ .muka-combobox__field--focused:not(.muka-combobox__field--disabled) {
11534
+ border-width: var(--border-width-bold);
11535
+ border-color: var(--input-field-color-focus-border);
11536
+ background-color: var(--input-field-color-focus-background);
11537
+ padding: calc(var(--spacing-2) - 1px);
10821
11538
  }
10822
11539
 
10823
- .muka-combobox:focus-visible {
10824
- outline: none;
10825
- border-color: var(--input-field-color-focus-border, var(--color-action-default));
11540
+ .muka-combobox__field--error:not(.muka-combobox__field--disabled) {
11541
+ border-color: var(--color-state-error-contrast);
10826
11542
  }
10827
11543
 
10828
- .muka-combobox--disabled,
10829
- .muka-combobox:disabled {
11544
+ .muka-combobox__field--disabled {
10830
11545
  opacity: 0.5;
10831
11546
  cursor: not-allowed;
10832
11547
  }
10833
11548
 
10834
- .muka-combobox--placeholder .muka-combobox__label {
10835
- color: var(--color-text-subtle-default);
10836
- }
10837
-
10838
- .muka-combobox__leading {
10839
- display: inline-flex;
10840
- align-items: center;
10841
- justify-content: center;
10842
- flex-shrink: 0;
10843
- color: var(--color-text-subtle-default);
10844
- }
10845
-
10846
- .muka-combobox__label {
10847
- flex: 1 1 auto;
10848
- min-width: 0;
10849
- white-space: nowrap;
10850
- overflow: hidden;
10851
- text-overflow: ellipsis;
11549
+ .muka-combobox__field--multiline {
11550
+ align-items: flex-start;
11551
+ min-height: 7rem;
10852
11552
  }
10853
11553
 
10854
- /* ─── Trailing controls (clear + chevron) ─────────────── */
10855
-
10856
- .muka-combobox__actions {
10857
- position: absolute;
10858
- top: 0;
10859
- right: var(--input-field-padding-x);
10860
- height: 100%;
11554
+ .muka-combobox__chips {
10861
11555
  display: flex;
10862
- align-items: center;
11556
+ flex: 1 1 auto;
11557
+ flex-wrap: wrap;
10863
11558
  gap: var(--spacing-2);
10864
- /*
10865
- * The strip sits on top of the trigger, so it must not swallow taps meant to
10866
- * open the picker. Only the clear button takes pointer events back.
10867
- */
10868
- pointer-events: none;
10869
- }
10870
-
10871
- .muka-combobox__clear,
10872
- .muka-combobox__chevron {
10873
- display: inline-flex;
10874
11559
  align-items: center;
10875
- justify-content: center;
10876
- flex-shrink: 0;
10877
- color: var(--color-text-subtle-default);
11560
+ min-width: 0;
11561
+ width: 100%;
11562
+ position: relative;
11563
+ z-index: 1;
10878
11564
  }
10879
11565
 
10880
- .muka-combobox__clear {
10881
- pointer-events: auto;
10882
- cursor: pointer;
10883
- padding: var(--spacing-1);
11566
+ .muka-combobox__input {
11567
+ flex: 1 1 5rem;
11568
+ min-width: 5rem;
11569
+ min-height: 2rem;
11570
+ margin: 0;
11571
+ padding: 0 var(--spacing-1);
10884
11572
  border: none;
10885
- background: none;
10886
- border-radius: var(--radius-sm);
10887
- -webkit-tap-highlight-color: transparent;
10888
- }
10889
-
10890
- .muka-combobox__clear:hover {
10891
- color: var(--color-text-default-default);
10892
- background-color: var(--color-surface-level1);
10893
- }
10894
-
10895
- .muka-combobox__clear:focus-visible {
10896
- outline: 2px solid var(--color-border-focus);
10897
- outline-offset: 2px;
10898
- color: var(--color-text-default-default);
11573
+ outline: none;
11574
+ background: transparent;
11575
+ color: var(--input-field-color-default-foreground);
11576
+ caret-color: var(--input-field-color-default-foreground);
11577
+ font-family: var(--text-label-md-regular-fontFamily);
11578
+ font-size: var(--text-label-md-regular-fontSize);
11579
+ font-weight: var(--text-label-md-regular-fontWeight);
11580
+ line-height: var(--text-label-md-regular-lineHeight);
10899
11581
  }
10900
11582
 
10901
- .muka-combobox--disabled ~ .muka-combobox__actions,
10902
- .muka-combobox:disabled ~ .muka-combobox__actions {
10903
- opacity: 0.5;
11583
+ .muka-combobox__input::placeholder {
11584
+ color: var(--color-text-subtle-default);
10904
11585
  }
10905
11586
 
10906
- /* ─── Picker sheet body ───────────────────────────────── */
10907
-
10908
- .muka-combobox__picker {
10909
- display: flex;
10910
- flex-direction: column;
10911
- gap: var(--spacing-3);
10912
- padding: 0 var(--spacing-4) var(--spacing-4);
10913
- min-height: 0;
10914
- max-height: 80vh;
11587
+ .muka-combobox__helper {
11588
+ margin: 0;
11589
+ color: var(--color-text-subtle-default);
11590
+ font-family: var(--text-label-sm-regular-fontFamily);
11591
+ font-size: var(--text-label-sm-regular-fontSize);
11592
+ font-weight: var(--text-label-sm-regular-fontWeight);
11593
+ line-height: var(--text-label-sm-regular-lineHeight);
10915
11594
  }
10916
11595
 
10917
- .muka-combobox__title {
11596
+ .muka-combobox__error {
10918
11597
  margin: 0;
10919
- padding: var(--spacing-2) 0;
10920
- color: var(--color-text-default-default);
10921
- font-family: var(--text-heading-sm-fontFamily);
10922
- font-weight: var(--text-heading-sm-fontWeight);
10923
- font-size: var(--text-heading-sm-fontSize);
10924
- line-height: var(--text-heading-sm-lineHeight);
11598
+ color: var(--color-state-error-default);
11599
+ font-family: var(--text-label-sm-regular-fontFamily);
11600
+ font-size: var(--text-label-sm-regular-fontSize);
11601
+ font-weight: var(--text-label-sm-regular-fontWeight);
11602
+ line-height: var(--text-label-sm-regular-lineHeight);
10925
11603
  }
10926
11604
 
10927
- .muka-combobox__search {
10928
- position: sticky;
10929
- top: 0;
10930
- z-index: 1;
10931
- padding-bottom: var(--spacing-2);
10932
- background-color: var(--color-surface-level3);
11605
+ .muka-combobox__menu-anchor {
11606
+ position: absolute;
11607
+ inset: 0;
11608
+ z-index: 0;
11609
+ width: 100%;
11610
+ height: 100%;
11611
+ margin: 0;
11612
+ padding: 0;
11613
+ border: none;
11614
+ background: transparent;
11615
+ pointer-events: none;
11616
+ opacity: 0;
10933
11617
  }
10934
11618
 
10935
- .muka-combobox__list {
10936
- flex: 1 1 auto;
10937
- min-height: 0;
10938
- overflow-y: auto;
10939
- -webkit-overflow-scrolling: touch;
11619
+ .muka-combobox__menu {
11620
+ /* Prefer Menu token min-width (280px); may exceed the field when left-aligned. */
11621
+ min-width: var(--menu-content-min-width);
11622
+ width: max-content;
11623
+ max-width: min(100vw - 2rem, 24rem);
10940
11624
  }
10941
11625
 
10942
11626
 
@@ -12795,19 +13479,36 @@ button.muka-chat-photo-grid__tile:focus-visible {
12795
13479
  gap: var(--spacing-1);
12796
13480
  }
12797
13481
 
13482
+ .muka-breadcrumb__item:has(.muka-breadcrumb__icon) {
13483
+ padding-left: var(--spacing-1);
13484
+ }
13485
+
12798
13486
  .muka-breadcrumb__icon {
12799
13487
  display: inline-flex;
12800
13488
  align-items: center;
12801
13489
  color: var(--color-text-subtle-default);
12802
13490
  }
12803
13491
 
13492
+ .muka-breadcrumb__icon .muka-icon {
13493
+ color: inherit;
13494
+ }
13495
+
13496
+ .muka-breadcrumb__item:has(.muka-breadcrumb__current) .muka-breadcrumb__icon {
13497
+ color: var(--color-text-default-default);
13498
+ }
13499
+
13500
+ .muka-breadcrumb__item:has(.muka-breadcrumb__link:hover) .muka-breadcrumb__icon {
13501
+ color: var(--color-text-action-default);
13502
+ }
13503
+
12804
13504
  /* Link styles */
12805
13505
  .muka-breadcrumb__link {
12806
13506
  color: var(--color-text-subtle-default);
12807
13507
  text-decoration: none;
12808
13508
  border: none;
12809
13509
  background: none;
12810
- padding: 0;
13510
+ padding-inline: var(--spacing-2);
13511
+ padding-block: 0;
12811
13512
  cursor: pointer;
12812
13513
  font: inherit;
12813
13514
  transition: color 0.15s ease;
@@ -12818,10 +13519,17 @@ button.muka-chat-photo-grid__tile:focus-visible {
12818
13519
  text-decoration: underline;
12819
13520
  }
12820
13521
 
12821
- /* Current page (last item) */
13522
+ /* Tighter gap after leading icon */
13523
+ .muka-breadcrumb__item:has(.muka-breadcrumb__icon) .muka-breadcrumb__link,
13524
+ .muka-breadcrumb__item:has(.muka-breadcrumb__icon) .muka-breadcrumb__current {
13525
+ padding-left: var(--spacing-1);
13526
+ }
13527
+
13528
+ /* Current page (last item, no context switcher) */
12822
13529
  .muka-breadcrumb__current {
12823
13530
  color: var(--color-text-default-default);
12824
13531
  font-weight: 600;
13532
+ padding-inline: var(--spacing-2);
12825
13533
  }
12826
13534
 
12827
13535
  /* Separator */
@@ -13010,7 +13718,6 @@ button.muka-chat-photo-grid__tile:focus-visible {
13010
13718
  font-weight: var(--text-label-sm-regular-fontWeight);
13011
13719
  font-size: var(--text-label-sm-regular-fontSize);
13012
13720
  line-height: var(--text-label-sm-regular-lineHeight);
13013
- letter-spacing: var(--text-label-sm-regular-letterSpacing);
13014
13721
  }
13015
13722
 
13016
13723
  /* ─── Floating modifier ───────────────────────────────── */
@@ -13096,7 +13803,6 @@ button.muka-chat-photo-grid__tile:focus-visible {
13096
13803
  font-weight: var(--text-label-md-regular-fontWeight);
13097
13804
  font-size: var(--text-label-md-regular-fontSize);
13098
13805
  line-height: var(--text-label-md-regular-lineHeight);
13099
- letter-spacing: var(--text-label-md-regular-letterSpacing);
13100
13806
  }
13101
13807
 
13102
13808
  /* When floating and sidebar, remove the floating card styles */
@@ -13161,7 +13867,6 @@ button.muka-chat-photo-grid__tile:focus-visible {
13161
13867
  font-weight: var(--text-label-md-regular-fontWeight);
13162
13868
  font-size: var(--text-label-md-regular-fontSize);
13163
13869
  line-height: var(--text-label-md-regular-lineHeight);
13164
- letter-spacing: var(--text-label-md-regular-letterSpacing);
13165
13870
  }
13166
13871
 
13167
13872
  /* When floating and topnav, remove the floating card styles */
@@ -14272,10 +14977,10 @@ button.muka-chat-photo-grid__tile:focus-visible {
14272
14977
  cursor: pointer;
14273
14978
  text-align: left;
14274
14979
  color: var(--color-text-default-default);
14275
- font-family: var(--text-body-md-regular-fontFamily);
14276
- font-weight: var(--text-body-md-regular-fontWeight);
14277
- font-size: var(--text-body-md-regular-fontSize);
14278
- line-height: var(--text-body-md-regular-lineHeight);
14980
+ font-family: var(--text-body-base-regular-fontFamily);
14981
+ font-weight: var(--text-body-base-regular-fontWeight);
14982
+ font-size: var(--text-body-base-regular-fontSize);
14983
+ line-height: var(--text-body-base-regular-lineHeight);
14279
14984
  -webkit-tap-highlight-color: transparent;
14280
14985
  transition: background-color 0.12s ease;
14281
14986
  }