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