@helixui/library 3.1.0 → 3.2.0-next.100

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 (608) hide show
  1. package/custom-elements.json +6407 -339
  2. package/dist/components/hx-accordion/hx-accordion-item.d.ts.map +1 -1
  3. package/dist/components/hx-accordion/hx-accordion-item.styles.d.ts.map +1 -1
  4. package/dist/components/hx-accordion/hx-accordion.d.ts +3 -0
  5. package/dist/components/hx-accordion/hx-accordion.d.ts.map +1 -1
  6. package/dist/components/hx-accordion/index.js +1 -1
  7. package/dist/components/hx-action-bar/hx-action-bar.d.ts +14 -0
  8. package/dist/components/hx-action-bar/hx-action-bar.d.ts.map +1 -1
  9. package/dist/components/hx-action-bar/index.js +1 -1
  10. package/dist/components/hx-alert/hx-alert.d.ts +36 -0
  11. package/dist/components/hx-alert/hx-alert.d.ts.map +1 -1
  12. package/dist/components/hx-alert/hx-alert.styles.d.ts +12 -0
  13. package/dist/components/hx-alert/hx-alert.styles.d.ts.map +1 -1
  14. package/dist/components/hx-alert/index.js +1 -1
  15. package/dist/components/hx-avatar/hx-avatar.d.ts +17 -0
  16. package/dist/components/hx-avatar/hx-avatar.d.ts.map +1 -1
  17. package/dist/components/hx-avatar/index.js +1 -1
  18. package/dist/components/hx-badge/hx-badge.d.ts +35 -0
  19. package/dist/components/hx-badge/hx-badge.d.ts.map +1 -1
  20. package/dist/components/hx-badge/index.js +1 -1
  21. package/dist/components/hx-banner/hx-banner.d.ts +34 -0
  22. package/dist/components/hx-banner/hx-banner.d.ts.map +1 -1
  23. package/dist/components/hx-banner/hx-banner.styles.d.ts +12 -0
  24. package/dist/components/hx-banner/hx-banner.styles.d.ts.map +1 -1
  25. package/dist/components/hx-banner/index.js +1 -1
  26. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts.map +1 -1
  27. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.styles.d.ts.map +1 -1
  28. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts +3 -0
  29. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts.map +1 -1
  30. package/dist/components/hx-breadcrumb/index.js +1 -1
  31. package/dist/components/hx-button/hx-button.d.ts +44 -7
  32. package/dist/components/hx-button/hx-button.d.ts.map +1 -1
  33. package/dist/components/hx-button/hx-button.styles.d.ts.map +1 -1
  34. package/dist/components/hx-button/index.js +1 -1
  35. package/dist/components/hx-button-group/hx-button-group.d.ts +2 -0
  36. package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -1
  37. package/dist/components/hx-button-group/hx-button-group.styles.d.ts.map +1 -1
  38. package/dist/components/hx-button-group/index.js +1 -1
  39. package/dist/components/hx-card/hx-card.d.ts +28 -0
  40. package/dist/components/hx-card/hx-card.d.ts.map +1 -1
  41. package/dist/components/hx-card/hx-card.styles.d.ts +9 -0
  42. package/dist/components/hx-card/hx-card.styles.d.ts.map +1 -1
  43. package/dist/components/hx-card/index.js +1 -1
  44. package/dist/components/hx-carousel/hx-carousel.d.ts +25 -0
  45. package/dist/components/hx-carousel/hx-carousel.d.ts.map +1 -1
  46. package/dist/components/hx-carousel/hx-carousel.styles.d.ts.map +1 -1
  47. package/dist/components/hx-carousel/index.js +1 -1
  48. package/dist/components/hx-checkbox/hx-checkbox.d.ts +38 -7
  49. package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
  50. package/dist/components/hx-checkbox/index.js +1 -1
  51. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +16 -2
  52. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
  53. package/dist/components/hx-checkbox-group/index.js +1 -1
  54. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts +37 -0
  55. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts.map +1 -1
  56. package/dist/components/hx-clinical-status/hx-clinical-status.styles.d.ts.map +1 -1
  57. package/dist/components/hx-clinical-status/index.js +1 -1
  58. package/dist/components/hx-code-snippet/hx-code-snippet.d.ts +35 -0
  59. package/dist/components/hx-code-snippet/hx-code-snippet.d.ts.map +1 -1
  60. package/dist/components/hx-code-snippet/hx-code-snippet.styles.d.ts.map +1 -1
  61. package/dist/components/hx-code-snippet/index.js +1 -1
  62. package/dist/components/hx-color-picker/hx-color-picker.d.ts +29 -0
  63. package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -1
  64. package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -1
  65. package/dist/components/hx-color-picker/index.js +1 -1
  66. package/dist/components/hx-combobox/hx-combobox.d.ts +49 -0
  67. package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
  68. package/dist/components/hx-combobox/index.js +1 -1
  69. package/dist/components/hx-container/hx-container.d.ts +5 -0
  70. package/dist/components/hx-container/hx-container.d.ts.map +1 -1
  71. package/dist/components/hx-copy-button/hx-copy-button.d.ts +24 -0
  72. package/dist/components/hx-copy-button/hx-copy-button.d.ts.map +1 -1
  73. package/dist/components/hx-copy-button/hx-copy-button.styles.d.ts.map +1 -1
  74. package/dist/components/hx-copy-button/index.js +1 -1
  75. package/dist/components/hx-counter/hx-counter.d.ts +7 -0
  76. package/dist/components/hx-counter/hx-counter.d.ts.map +1 -1
  77. package/dist/components/hx-counter/index.js +1 -1
  78. package/dist/components/hx-data-table/hx-data-table.d.ts +29 -0
  79. package/dist/components/hx-data-table/hx-data-table.d.ts.map +1 -1
  80. package/dist/components/hx-data-table/hx-data-table.styles.d.ts.map +1 -1
  81. package/dist/components/hx-data-table/index.js +1 -1
  82. package/dist/components/hx-date-picker/hx-date-picker.d.ts +44 -0
  83. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
  84. package/dist/components/hx-date-picker/index.js +1 -1
  85. package/dist/components/hx-dialog/hx-dialog.d.ts +31 -0
  86. package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -1
  87. package/dist/components/hx-dialog/hx-dialog.styles.d.ts +10 -0
  88. package/dist/components/hx-dialog/hx-dialog.styles.d.ts.map +1 -1
  89. package/dist/components/hx-dialog/index.js +1 -1
  90. package/dist/components/hx-divider/hx-divider.d.ts +9 -0
  91. package/dist/components/hx-divider/hx-divider.d.ts.map +1 -1
  92. package/dist/components/hx-divider/index.js +1 -1
  93. package/dist/components/hx-drawer/hx-drawer.d.ts +30 -0
  94. package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
  95. package/dist/components/hx-drawer/hx-drawer.styles.d.ts +10 -0
  96. package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
  97. package/dist/components/hx-drawer/index.js +1 -1
  98. package/dist/components/hx-dropdown/hx-dropdown.d.ts +6 -0
  99. package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
  100. package/dist/components/hx-dropdown/index.js +1 -1
  101. package/dist/components/hx-field/hx-field.d.ts +15 -0
  102. package/dist/components/hx-field/hx-field.d.ts.map +1 -1
  103. package/dist/components/hx-field/index.js +1 -1
  104. package/dist/components/hx-field-label/hx-field-label.d.ts +11 -0
  105. package/dist/components/hx-field-label/hx-field-label.d.ts.map +1 -1
  106. package/dist/components/hx-field-label/index.js +1 -1
  107. package/dist/components/hx-file-upload/hx-file-upload.d.ts +35 -0
  108. package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -1
  109. package/dist/components/hx-file-upload/hx-file-upload.styles.d.ts.map +1 -1
  110. package/dist/components/hx-file-upload/index.js +1 -1
  111. package/dist/components/hx-form/index.js +1 -1
  112. package/dist/components/hx-grid/hx-grid.d.ts +5 -0
  113. package/dist/components/hx-grid/hx-grid.d.ts.map +1 -1
  114. package/dist/components/hx-help-text/hx-help-text.d.ts +8 -0
  115. package/dist/components/hx-help-text/hx-help-text.d.ts.map +1 -1
  116. package/dist/components/hx-help-text/index.js +1 -1
  117. package/dist/components/hx-icon/hx-icon.d.ts +5 -0
  118. package/dist/components/hx-icon/hx-icon.d.ts.map +1 -1
  119. package/dist/components/hx-icon/index.js +1 -1
  120. package/dist/components/hx-icon-button/hx-icon-button.d.ts +27 -0
  121. package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
  122. package/dist/components/hx-icon-button/hx-icon-button.styles.d.ts.map +1 -1
  123. package/dist/components/hx-icon-button/index.js +1 -1
  124. package/dist/components/hx-image/hx-image.d.ts +4 -0
  125. package/dist/components/hx-image/hx-image.d.ts.map +1 -1
  126. package/dist/components/hx-image/index.js +1 -1
  127. package/dist/components/hx-link/hx-link.d.ts +15 -0
  128. package/dist/components/hx-link/hx-link.d.ts.map +1 -1
  129. package/dist/components/hx-link/index.js +1 -1
  130. package/dist/components/hx-list/hx-list-item.d.ts.map +1 -1
  131. package/dist/components/hx-list/hx-list.d.ts +3 -0
  132. package/dist/components/hx-list/hx-list.d.ts.map +1 -1
  133. package/dist/components/hx-list/index.js +1 -1
  134. package/dist/components/hx-menu/hx-menu-divider.d.ts.map +1 -1
  135. package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -1
  136. package/dist/components/hx-menu/hx-menu.d.ts +6 -0
  137. package/dist/components/hx-menu/hx-menu.d.ts.map +1 -1
  138. package/dist/components/hx-menu/index.js +1 -1
  139. package/dist/components/hx-meter/hx-meter.d.ts +23 -0
  140. package/dist/components/hx-meter/hx-meter.d.ts.map +1 -1
  141. package/dist/components/hx-meter/index.js +1 -1
  142. package/dist/components/hx-nav/hx-nav.d.ts +29 -0
  143. package/dist/components/hx-nav/hx-nav.d.ts.map +1 -1
  144. package/dist/components/hx-nav/index.js +1 -1
  145. package/dist/components/hx-number-input/hx-number-input.d.ts +34 -0
  146. package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -1
  147. package/dist/components/hx-number-input/index.js +1 -1
  148. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +26 -0
  149. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
  150. package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts.map +1 -1
  151. package/dist/components/hx-overflow-menu/index.js +1 -1
  152. package/dist/components/hx-pagination/hx-pagination.d.ts +21 -0
  153. package/dist/components/hx-pagination/hx-pagination.d.ts.map +1 -1
  154. package/dist/components/hx-pagination/index.js +1 -1
  155. package/dist/components/hx-patient-banner/hx-patient-banner.d.ts +23 -0
  156. package/dist/components/hx-patient-banner/hx-patient-banner.d.ts.map +1 -1
  157. package/dist/components/hx-patient-banner/hx-patient-banner.styles.d.ts.map +1 -1
  158. package/dist/components/hx-patient-banner/index.js +1 -1
  159. package/dist/components/hx-phi-field/hx-phi-field.d.ts +19 -5
  160. package/dist/components/hx-phi-field/hx-phi-field.d.ts.map +1 -1
  161. package/dist/components/hx-phi-field/hx-phi-field.styles.d.ts.map +1 -1
  162. package/dist/components/hx-phi-field/index.js +1 -1
  163. package/dist/components/hx-popover/hx-popover.d.ts +15 -0
  164. package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
  165. package/dist/components/hx-popover/hx-popover.styles.d.ts +9 -0
  166. package/dist/components/hx-popover/hx-popover.styles.d.ts.map +1 -1
  167. package/dist/components/hx-popover/index.js +1 -1
  168. package/dist/components/hx-popup/hx-popup.d.ts +1 -0
  169. package/dist/components/hx-popup/hx-popup.d.ts.map +1 -1
  170. package/dist/components/hx-popup/hx-popup.styles.d.ts +9 -0
  171. package/dist/components/hx-popup/hx-popup.styles.d.ts.map +1 -1
  172. package/dist/components/hx-popup/index.js +1 -1
  173. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts +17 -0
  174. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts.map +1 -1
  175. package/dist/components/hx-progress-bar/index.js +1 -1
  176. package/dist/components/hx-progress-ring/hx-progress-ring.d.ts +15 -0
  177. package/dist/components/hx-progress-ring/hx-progress-ring.d.ts.map +1 -1
  178. package/dist/components/hx-progress-ring/index.js +1 -1
  179. package/dist/components/hx-prose/hx-prose.d.ts +2 -0
  180. package/dist/components/hx-prose/hx-prose.d.ts.map +1 -1
  181. package/dist/components/hx-prose/index.js +1 -1
  182. package/dist/components/hx-radio-group/hx-radio-group.d.ts +17 -3
  183. package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
  184. package/dist/components/hx-radio-group/hx-radio.d.ts +5 -5
  185. package/dist/components/hx-radio-group/hx-radio.d.ts.map +1 -1
  186. package/dist/components/hx-radio-group/index.js +1 -1
  187. package/dist/components/hx-rating/hx-rating.d.ts +13 -0
  188. package/dist/components/hx-rating/hx-rating.d.ts.map +1 -1
  189. package/dist/components/hx-rating/index.js +1 -1
  190. package/dist/components/hx-select/hx-select.d.ts +43 -0
  191. package/dist/components/hx-select/hx-select.d.ts.map +1 -1
  192. package/dist/components/hx-select/hx-select.styles.d.ts.map +1 -1
  193. package/dist/components/hx-select/index.js +1 -1
  194. package/dist/components/hx-side-nav/hx-nav-item.d.ts +7 -5
  195. package/dist/components/hx-side-nav/hx-nav-item.d.ts.map +1 -1
  196. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
  197. package/dist/components/hx-side-nav/hx-side-nav.d.ts +9 -4
  198. package/dist/components/hx-side-nav/hx-side-nav.d.ts.map +1 -1
  199. package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -1
  200. package/dist/components/hx-side-nav/index.js +1 -1
  201. package/dist/components/hx-skeleton/hx-skeleton.d.ts +5 -0
  202. package/dist/components/hx-skeleton/hx-skeleton.d.ts.map +1 -1
  203. package/dist/components/hx-skeleton/index.js +1 -1
  204. package/dist/components/hx-slider/hx-slider.d.ts +38 -0
  205. package/dist/components/hx-slider/hx-slider.d.ts.map +1 -1
  206. package/dist/components/hx-slider/hx-slider.styles.d.ts.map +1 -1
  207. package/dist/components/hx-slider/index.js +1 -1
  208. package/dist/components/hx-spinner/hx-spinner.d.ts +10 -0
  209. package/dist/components/hx-spinner/hx-spinner.d.ts.map +1 -1
  210. package/dist/components/hx-spinner/index.js +1 -1
  211. package/dist/components/hx-split-button/hx-split-button.d.ts +40 -1
  212. package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
  213. package/dist/components/hx-split-button/hx-split-button.styles.d.ts.map +1 -1
  214. package/dist/components/hx-split-button/index.js +1 -1
  215. package/dist/components/hx-split-panel/hx-split-panel.d.ts +12 -0
  216. package/dist/components/hx-split-panel/hx-split-panel.d.ts.map +1 -1
  217. package/dist/components/hx-split-panel/hx-split-panel.styles.d.ts.map +1 -1
  218. package/dist/components/hx-split-panel/index.js +1 -1
  219. package/dist/components/hx-stack/hx-stack.d.ts +5 -0
  220. package/dist/components/hx-stack/hx-stack.d.ts.map +1 -1
  221. package/dist/components/hx-stat/hx-stat.d.ts +24 -0
  222. package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
  223. package/dist/components/hx-stat/index.js +1 -1
  224. package/dist/components/hx-status-indicator/hx-status-indicator.d.ts +13 -0
  225. package/dist/components/hx-status-indicator/hx-status-indicator.d.ts.map +1 -1
  226. package/dist/components/hx-status-indicator/index.js +1 -1
  227. package/dist/components/hx-steps/hx-step.d.ts.map +1 -1
  228. package/dist/components/hx-steps/hx-step.styles.d.ts.map +1 -1
  229. package/dist/components/hx-steps/hx-steps.d.ts +15 -0
  230. package/dist/components/hx-steps/hx-steps.d.ts.map +1 -1
  231. package/dist/components/hx-steps/index.js +1 -1
  232. package/dist/components/hx-structured-list/hx-structured-list.d.ts +7 -0
  233. package/dist/components/hx-structured-list/hx-structured-list.d.ts.map +1 -1
  234. package/dist/components/hx-structured-list/index.js +1 -1
  235. package/dist/components/hx-switch/hx-switch.d.ts +42 -0
  236. package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
  237. package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -1
  238. package/dist/components/hx-switch/index.js +1 -1
  239. package/dist/components/hx-table/hx-table.d.ts +20 -6
  240. package/dist/components/hx-table/hx-table.d.ts.map +1 -1
  241. package/dist/components/hx-table/hx-table.styles.d.ts.map +1 -1
  242. package/dist/components/hx-table/hx-td.d.ts +1 -1
  243. package/dist/components/hx-table/index.js +1 -1
  244. package/dist/components/hx-tabs/hx-tab-panel.d.ts +2 -2
  245. package/dist/components/hx-tabs/hx-tab-panel.d.ts.map +1 -1
  246. package/dist/components/hx-tabs/hx-tab.d.ts +6 -6
  247. package/dist/components/hx-tabs/hx-tab.d.ts.map +1 -1
  248. package/dist/components/hx-tabs/hx-tabs.d.ts +12 -8
  249. package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
  250. package/dist/components/hx-tabs/index.js +1 -1
  251. package/dist/components/hx-tag/hx-tag.d.ts +36 -0
  252. package/dist/components/hx-tag/hx-tag.d.ts.map +1 -1
  253. package/dist/components/hx-tag/index.js +1 -1
  254. package/dist/components/hx-text/hx-text.d.ts +22 -0
  255. package/dist/components/hx-text/hx-text.d.ts.map +1 -1
  256. package/dist/components/hx-text/hx-text.styles.d.ts.map +1 -1
  257. package/dist/components/hx-text/index.js +1 -1
  258. package/dist/components/hx-text-input/hx-text-input.d.ts +18 -5
  259. package/dist/components/hx-text-input/hx-text-input.d.ts.map +1 -1
  260. package/dist/components/hx-text-input/hx-text-input.styles.d.ts +12 -0
  261. package/dist/components/hx-text-input/hx-text-input.styles.d.ts.map +1 -1
  262. package/dist/components/hx-text-input/index.js +1 -1
  263. package/dist/components/hx-textarea/hx-textarea.d.ts +27 -0
  264. package/dist/components/hx-textarea/hx-textarea.d.ts.map +1 -1
  265. package/dist/components/hx-textarea/hx-textarea.styles.d.ts.map +1 -1
  266. package/dist/components/hx-textarea/index.js +1 -1
  267. package/dist/components/hx-theme/hx-theme.d.ts +3 -0
  268. package/dist/components/hx-theme/hx-theme.d.ts.map +1 -1
  269. package/dist/components/hx-theme/index.js +1 -1
  270. package/dist/components/hx-time-picker/hx-time-picker.d.ts +32 -0
  271. package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
  272. package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts.map +1 -1
  273. package/dist/components/hx-time-picker/index.js +1 -1
  274. package/dist/components/hx-toast/hx-toast.d.ts +30 -2
  275. package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
  276. package/dist/components/hx-toast/hx-toast.styles.d.ts +10 -0
  277. package/dist/components/hx-toast/hx-toast.styles.d.ts.map +1 -1
  278. package/dist/components/hx-toast/index.js +1 -1
  279. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +35 -0
  280. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
  281. package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -1
  282. package/dist/components/hx-toggle-button/index.js +1 -1
  283. package/dist/components/hx-tooltip/hx-tooltip.d.ts +13 -0
  284. package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
  285. package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts +8 -0
  286. package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts.map +1 -1
  287. package/dist/components/hx-tooltip/index.js +1 -1
  288. package/dist/components/hx-top-nav/hx-top-nav.d.ts +21 -0
  289. package/dist/components/hx-top-nav/hx-top-nav.d.ts.map +1 -1
  290. package/dist/components/hx-top-nav/index.js +1 -1
  291. package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -1
  292. package/dist/components/hx-tree-view/hx-tree-view.d.ts +6 -0
  293. package/dist/components/hx-tree-view/hx-tree-view.d.ts.map +1 -1
  294. package/dist/components/hx-tree-view/index.js +1 -1
  295. package/dist/css/helix-all.css +1286 -889
  296. package/dist/css/helix-core.css +322 -167
  297. package/dist/css/helix-data.css +54 -46
  298. package/dist/css/helix-feedback.css +132 -95
  299. package/dist/css/helix-forms.css +499 -349
  300. package/dist/css/helix-layout.css +9 -12
  301. package/dist/css/helix-media.css +16 -12
  302. package/dist/css/helix-navigation.css +86 -66
  303. package/dist/css/helix-overlay.css +62 -56
  304. package/dist/css/helix-tokens.css +173 -106
  305. package/dist/css/helix-utility.css +57 -40
  306. package/dist/css/hx-action-bar.css +5 -5
  307. package/dist/css/hx-alert.css +27 -23
  308. package/dist/css/hx-avatar.css +3 -3
  309. package/dist/css/hx-badge.css +22 -22
  310. package/dist/css/hx-banner.css +31 -24
  311. package/dist/css/hx-button-group.css +31 -14
  312. package/dist/css/hx-button.css +151 -34
  313. package/dist/css/hx-card.css +23 -12
  314. package/dist/css/hx-carousel.css +16 -12
  315. package/dist/css/hx-checkbox-group.css +5 -5
  316. package/dist/css/hx-checkbox.css +19 -19
  317. package/dist/css/hx-clinical-status.css +28 -30
  318. package/dist/css/hx-code-snippet.css +26 -18
  319. package/dist/css/hx-color-picker.css +20 -13
  320. package/dist/css/hx-combobox.css +31 -31
  321. package/dist/css/hx-copy-button.css +6 -3
  322. package/dist/css/hx-counter.css +1 -1
  323. package/dist/css/hx-data-table.css +16 -15
  324. package/dist/css/hx-date-picker.css +34 -34
  325. package/dist/css/hx-dialog.css +31 -27
  326. package/dist/css/hx-divider.css +2 -2
  327. package/dist/css/hx-drawer.css +18 -18
  328. package/dist/css/hx-dropdown.css +2 -2
  329. package/dist/css/hx-field-label.css +3 -3
  330. package/dist/css/hx-field.css +6 -6
  331. package/dist/css/hx-file-upload.css +21 -30
  332. package/dist/css/hx-help-text.css +5 -5
  333. package/dist/css/hx-icon-button.css +46 -38
  334. package/dist/css/hx-image.css +3 -3
  335. package/dist/css/hx-link.css +9 -9
  336. package/dist/css/hx-list.css +1 -1
  337. package/dist/css/hx-menu.css +2 -2
  338. package/dist/css/hx-meter.css +10 -10
  339. package/dist/css/hx-nav.css +11 -11
  340. package/dist/css/hx-number-input.css +18 -18
  341. package/dist/css/hx-overflow-menu.css +18 -15
  342. package/dist/css/hx-pagination.css +15 -15
  343. package/dist/css/hx-patient-banner.css +17 -9
  344. package/dist/css/hx-phi-field.css +4 -7
  345. package/dist/css/hx-popover.css +7 -6
  346. package/dist/css/hx-progress-bar.css +7 -7
  347. package/dist/css/hx-progress-ring.css +6 -6
  348. package/dist/css/hx-radio-group.css +5 -5
  349. package/dist/css/hx-rating.css +5 -5
  350. package/dist/css/hx-select.css +18 -16
  351. package/dist/css/hx-side-nav.css +28 -11
  352. package/dist/css/hx-skeleton.css +1 -1
  353. package/dist/css/hx-slider.css +15 -12
  354. package/dist/css/hx-spinner.css +4 -4
  355. package/dist/css/hx-split-button.css +45 -31
  356. package/dist/css/hx-split-panel.css +9 -12
  357. package/dist/css/hx-stat.css +8 -8
  358. package/dist/css/hx-status-indicator.css +7 -7
  359. package/dist/css/hx-structured-list.css +5 -5
  360. package/dist/css/hx-switch.css +16 -8
  361. package/dist/css/hx-table.css +6 -7
  362. package/dist/css/hx-tabs.css +3 -3
  363. package/dist/css/hx-tag.css +18 -18
  364. package/dist/css/hx-text-input.css +139 -61
  365. package/dist/css/hx-text.css +9 -7
  366. package/dist/css/hx-textarea.css +66 -27
  367. package/dist/css/hx-time-picker.css +27 -21
  368. package/dist/css/hx-toast.css +36 -10
  369. package/dist/css/hx-toggle-button.css +46 -30
  370. package/dist/css/hx-tooltip.css +4 -3
  371. package/dist/css/hx-top-nav.css +8 -8
  372. package/dist/css/hx-tree-view.css +1 -1
  373. package/dist/css/index.css +1 -1
  374. package/dist/css/manifest.json +330 -230
  375. package/dist/index.js +75 -75
  376. package/dist/shared/forced-colors-CTEDFRGa.js +117 -0
  377. package/dist/shared/forced-colors-CTEDFRGa.js.map +1 -0
  378. package/dist/shared/{hx-accordion-Wt52OOZD.js → hx-accordion-ZVzgDzTG.js} +29 -29
  379. package/dist/shared/hx-accordion-ZVzgDzTG.js.map +1 -0
  380. package/dist/shared/{hx-action-bar-BKMADbHj.js → hx-action-bar-CitgcpGv.js} +38 -37
  381. package/dist/shared/hx-action-bar-CitgcpGv.js.map +1 -0
  382. package/dist/shared/{hx-alert-D7n94HwI.js → hx-alert-C597yHpD.js} +36 -31
  383. package/dist/shared/hx-alert-C597yHpD.js.map +1 -0
  384. package/dist/shared/{hx-avatar-iLYzu8MJ.js → hx-avatar-C9hOmlAb.js} +19 -18
  385. package/dist/shared/hx-avatar-C9hOmlAb.js.map +1 -0
  386. package/dist/shared/{hx-badge-CVCmMPyW.js → hx-badge-CQXgOXJM.js} +65 -64
  387. package/dist/shared/hx-badge-CQXgOXJM.js.map +1 -0
  388. package/dist/shared/{hx-banner-C_He7Tr4.js → hx-banner-Cxd7eFUP.js} +43 -35
  389. package/dist/shared/hx-banner-Cxd7eFUP.js.map +1 -0
  390. package/dist/shared/{hx-breadcrumb-item-CldCwD1d.js → hx-breadcrumb-item-3tKppF9h.js} +24 -26
  391. package/dist/shared/hx-breadcrumb-item-3tKppF9h.js.map +1 -0
  392. package/dist/shared/{hx-button-Ddl-T6T-.js → hx-button-9OUjJnk7.js} +172 -55
  393. package/dist/shared/hx-button-9OUjJnk7.js.map +1 -0
  394. package/dist/shared/{hx-button-group-BJOGWoMa.js → hx-button-group-BI-QBqmO.js} +45 -27
  395. package/dist/shared/hx-button-group-BI-QBqmO.js.map +1 -0
  396. package/dist/shared/{hx-card-ycveujjL.js → hx-card-qNAM2QNV.js} +49 -37
  397. package/dist/shared/hx-card-qNAM2QNV.js.map +1 -0
  398. package/dist/shared/{hx-carousel-item-D_dCv61-.js → hx-carousel-item-z1Lc24op.js} +41 -36
  399. package/dist/shared/hx-carousel-item-z1Lc24op.js.map +1 -0
  400. package/dist/shared/{hx-checkbox-DkkoWoye.js → hx-checkbox-DBD-gMoz.js} +42 -41
  401. package/dist/shared/hx-checkbox-DBD-gMoz.js.map +1 -0
  402. package/dist/shared/{hx-checkbox-group-C3poJ-Zw.js → hx-checkbox-group-C9n315Ju.js} +20 -19
  403. package/dist/shared/hx-checkbox-group-C9n315Ju.js.map +1 -0
  404. package/dist/shared/{hx-clinical-status-BS5lcddT.js → hx-clinical-status-D3XQIOqX.js} +55 -56
  405. package/dist/shared/hx-clinical-status-D3XQIOqX.js.map +1 -0
  406. package/dist/shared/{hx-code-snippet-B7wUKzyb.js → hx-code-snippet-B26RM1_C.js} +41 -32
  407. package/dist/shared/hx-code-snippet-B26RM1_C.js.map +1 -0
  408. package/dist/shared/{hx-color-picker-DBaKTVLr.js → hx-color-picker-uRc865FJ.js} +54 -46
  409. package/dist/shared/hx-color-picker-uRc865FJ.js.map +1 -0
  410. package/dist/shared/{hx-combobox-BmgYT7Ar.js → hx-combobox-ClhNRAS5.js} +46 -45
  411. package/dist/shared/hx-combobox-ClhNRAS5.js.map +1 -0
  412. package/dist/shared/hx-container-DVI7sxfX.js.map +1 -1
  413. package/dist/shared/{hx-copy-button-8deNUdwP.js → hx-copy-button-sUVuikyH.js} +23 -19
  414. package/dist/shared/hx-copy-button-sUVuikyH.js.map +1 -0
  415. package/dist/shared/{hx-counter-CKfl_g8K.js → hx-counter-0zYapFhf.js} +10 -9
  416. package/dist/shared/hx-counter-0zYapFhf.js.map +1 -0
  417. package/dist/shared/{hx-data-table-B6h0RPn0.js → hx-data-table-CLqVqdxr.js} +49 -47
  418. package/dist/shared/hx-data-table-CLqVqdxr.js.map +1 -0
  419. package/dist/shared/{hx-date-picker-Dq2Nb68_.js → hx-date-picker-BJm7Yrda.js} +45 -44
  420. package/dist/shared/hx-date-picker-BJm7Yrda.js.map +1 -0
  421. package/dist/shared/{hx-dialog-CvIlY0Tc.js → hx-dialog-DRN_1-Y-.js} +68 -63
  422. package/dist/shared/hx-dialog-DRN_1-Y-.js.map +1 -0
  423. package/dist/shared/{hx-divider-DwpOrzMW.js → hx-divider-CYfcUjcr.js} +18 -17
  424. package/dist/shared/hx-divider-CYfcUjcr.js.map +1 -0
  425. package/dist/shared/{hx-drawer-Cx2ZJhBe.js → hx-drawer-Y1Ui2IWJ.js} +31 -30
  426. package/dist/shared/hx-drawer-Y1Ui2IWJ.js.map +1 -0
  427. package/dist/shared/{hx-dropdown-BjDrPUq5.js → hx-dropdown-LyaRc8Rf.js} +16 -15
  428. package/dist/shared/hx-dropdown-LyaRc8Rf.js.map +1 -0
  429. package/dist/shared/{hx-field-Dp3qQMut.js → hx-field-B3Qo8OLS.js} +15 -15
  430. package/dist/shared/hx-field-B3Qo8OLS.js.map +1 -0
  431. package/dist/shared/{hx-field-label-BC8QViXv.js → hx-field-label-BVRyyKeh.js} +8 -7
  432. package/dist/shared/hx-field-label-BVRyyKeh.js.map +1 -0
  433. package/dist/shared/{hx-file-upload-B6Yl1u0i.js → hx-file-upload-D3rKROK5.js} +51 -59
  434. package/dist/shared/hx-file-upload-D3rKROK5.js.map +1 -0
  435. package/dist/shared/hx-form-CkChEATa.js +257 -0
  436. package/dist/shared/hx-form-CkChEATa.js.map +1 -0
  437. package/dist/shared/hx-grid-CXZf3jeK.js.map +1 -1
  438. package/dist/shared/{hx-help-text-D7eytSim.js → hx-help-text-Xb2Yr8x2.js} +30 -29
  439. package/dist/shared/hx-help-text-Xb2Yr8x2.js.map +1 -0
  440. package/dist/shared/{hx-icon-button-BHneqPCU.js → hx-icon-button-CGNdQSFM.js} +78 -69
  441. package/dist/shared/hx-icon-button-CGNdQSFM.js.map +1 -0
  442. package/dist/shared/{hx-icon-CcyDPDYY.js → hx-icon-fuVm4-bk.js} +15 -14
  443. package/dist/shared/hx-icon-fuVm4-bk.js.map +1 -0
  444. package/dist/shared/{hx-image-2gt14zZd.js → hx-image-Ben_4yM5.js} +18 -17
  445. package/dist/shared/hx-image-Ben_4yM5.js.map +1 -0
  446. package/dist/shared/{hx-link-BESrWK8M.js → hx-link-9Ig2DW6L.js} +20 -19
  447. package/dist/shared/hx-link-9Ig2DW6L.js.map +1 -0
  448. package/dist/shared/{hx-list-_9qVv02L.js → hx-list-CkphGi9T.js} +22 -21
  449. package/dist/shared/hx-list-CkphGi9T.js.map +1 -0
  450. package/dist/shared/{hx-menu-divider-Ck-9Os1t.js → hx-menu-divider-C2omnPtj.js} +50 -49
  451. package/dist/shared/hx-menu-divider-C2omnPtj.js.map +1 -0
  452. package/dist/shared/{hx-meter-TbROk-dw.js → hx-meter-BPscsw5t.js} +41 -40
  453. package/dist/shared/{hx-meter-TbROk-dw.js.map → hx-meter-BPscsw5t.js.map} +1 -1
  454. package/dist/shared/{hx-nav-item-pqPasRUm.js → hx-nav-item-CqbO5-T5.js} +143 -81
  455. package/dist/shared/hx-nav-item-CqbO5-T5.js.map +1 -0
  456. package/dist/shared/{hx-nav-BcYDmjf7.js → hx-nav-ldFM3Fle.js} +54 -53
  457. package/dist/shared/hx-nav-ldFM3Fle.js.map +1 -0
  458. package/dist/shared/{hx-number-input-mOIZ3-46.js → hx-number-input-yUzFOSC1.js} +68 -67
  459. package/dist/shared/hx-number-input-yUzFOSC1.js.map +1 -0
  460. package/dist/shared/{hx-overflow-menu-Dprb9lnT.js → hx-overflow-menu-DCLsdIBy.js} +33 -29
  461. package/dist/shared/hx-overflow-menu-DCLsdIBy.js.map +1 -0
  462. package/dist/shared/{hx-pagination-AguTQjYC.js → hx-pagination-C7y8GVyU.js} +43 -42
  463. package/dist/shared/hx-pagination-C7y8GVyU.js.map +1 -0
  464. package/dist/shared/{hx-patient-banner-uE6gqLpT.js → hx-patient-banner-CkS-Lmj4.js} +29 -20
  465. package/dist/shared/hx-patient-banner-CkS-Lmj4.js.map +1 -0
  466. package/dist/shared/{hx-phi-field-BC_XowhC.js → hx-phi-field-C19oxlrr.js} +13 -15
  467. package/dist/shared/hx-phi-field-C19oxlrr.js.map +1 -0
  468. package/dist/shared/{hx-popover-B2_203ct.js → hx-popover-B-FP3-wW.js} +31 -29
  469. package/dist/shared/hx-popover-B-FP3-wW.js.map +1 -0
  470. package/dist/shared/{hx-popup-DZXpsJ1R.js → hx-popup-COUXXZ9X.js} +8 -7
  471. package/dist/shared/hx-popup-COUXXZ9X.js.map +1 -0
  472. package/dist/shared/{hx-progress-bar-KjEkEJLy.js → hx-progress-bar-Bn3JEPUf.js} +28 -27
  473. package/dist/shared/hx-progress-bar-Bn3JEPUf.js.map +1 -0
  474. package/dist/shared/{hx-progress-ring-3zMwvrwD.js → hx-progress-ring-TwHyXeEp.js} +15 -14
  475. package/dist/shared/hx-progress-ring-TwHyXeEp.js.map +1 -0
  476. package/dist/shared/{hx-prose-BCtK7YL6.js → hx-prose-BThYcASV.js} +12 -12
  477. package/dist/shared/{hx-prose-BCtK7YL6.js.map → hx-prose-BThYcASV.js.map} +1 -1
  478. package/dist/shared/{hx-radio-BBC5qZgE.js → hx-radio-dFjUAost.js} +38 -37
  479. package/dist/shared/hx-radio-dFjUAost.js.map +1 -0
  480. package/dist/shared/{hx-rating-C3E3ENJb.js → hx-rating-CGtsejNf.js} +38 -37
  481. package/dist/shared/hx-rating-CGtsejNf.js.map +1 -0
  482. package/dist/shared/{hx-select-CixTo7jp.js → hx-select-Bf4usFts.js} +64 -61
  483. package/dist/shared/hx-select-Bf4usFts.js.map +1 -0
  484. package/dist/shared/{hx-skeleton-LxkI0pxr.js → hx-skeleton-Cnieh5Uc.js} +14 -13
  485. package/dist/shared/hx-skeleton-Cnieh5Uc.js.map +1 -0
  486. package/dist/shared/{hx-slider-DFHuzF3N.js → hx-slider-m0aEClH1.js} +83 -79
  487. package/dist/shared/hx-slider-m0aEClH1.js.map +1 -0
  488. package/dist/shared/{hx-spinner-BKjuCdZB.js → hx-spinner-DL5AYr16.js} +18 -17
  489. package/dist/shared/hx-spinner-DL5AYr16.js.map +1 -0
  490. package/dist/shared/{hx-split-button-CGcJMmCG.js → hx-split-button-BxDFfx4D.js} +74 -59
  491. package/dist/shared/hx-split-button-BxDFfx4D.js.map +1 -0
  492. package/dist/shared/{hx-split-panel-C-1R10Mc.js → hx-split-panel-B-u0Z3mm.js} +16 -18
  493. package/dist/shared/hx-split-panel-B-u0Z3mm.js.map +1 -0
  494. package/dist/shared/hx-stack-DGfcOfWJ.js.map +1 -1
  495. package/dist/shared/{hx-stat-BTpykQAt.js → hx-stat-WOcNV1Ry.js} +16 -15
  496. package/dist/shared/hx-stat-WOcNV1Ry.js.map +1 -0
  497. package/dist/shared/{hx-status-indicator-X2QEWNFt.js → hx-status-indicator-BlQyen43.js} +17 -16
  498. package/dist/shared/hx-status-indicator-BlQyen43.js.map +1 -0
  499. package/dist/shared/{hx-step-CRNQlmSo.js → hx-step-R2rjp1fT.js} +60 -50
  500. package/dist/shared/hx-step-R2rjp1fT.js.map +1 -0
  501. package/dist/shared/{hx-structured-list-CqNbaEXg.js → hx-structured-list-m_-dMJbC.js} +18 -17
  502. package/dist/shared/hx-structured-list-m_-dMJbC.js.map +1 -0
  503. package/dist/shared/{hx-switch-DqOD9JR7.js → hx-switch-DvAW4YY-.js} +29 -20
  504. package/dist/shared/hx-switch-DvAW4YY-.js.map +1 -0
  505. package/dist/shared/{hx-tab-panel-BIzKfW5i.js → hx-tab-panel-SWOEHuJc.js} +45 -44
  506. package/dist/shared/hx-tab-panel-SWOEHuJc.js.map +1 -0
  507. package/dist/shared/{hx-tag-CgnrNnte.js → hx-tag-CNSmdyaK.js} +63 -62
  508. package/dist/shared/hx-tag-CNSmdyaK.js.map +1 -0
  509. package/dist/shared/{hx-td-Bra35cH4.js → hx-td-DnnEMIuA.js} +62 -62
  510. package/dist/shared/hx-td-DnnEMIuA.js.map +1 -0
  511. package/dist/shared/{hx-text-DMC2CPlL.js → hx-text-Bz_9fJ3J.js} +28 -25
  512. package/dist/shared/hx-text-Bz_9fJ3J.js.map +1 -0
  513. package/dist/shared/{hx-text-input--q0GH78x.js → hx-text-input-Bn7Gn8CI.js} +150 -72
  514. package/dist/shared/hx-text-input-Bn7Gn8CI.js.map +1 -0
  515. package/dist/shared/{hx-textarea-CK621vSL.js → hx-textarea-Jx1xnhgv.js} +108 -68
  516. package/dist/shared/hx-textarea-Jx1xnhgv.js.map +1 -0
  517. package/dist/shared/{hx-theme-DfEy-SJA.js → hx-theme-BiyQ7UUK.js} +46 -35
  518. package/dist/shared/hx-theme-BiyQ7UUK.js.map +1 -0
  519. package/dist/shared/{hx-time-picker-tPUfgElQ.js → hx-time-picker-BoEIZwzv.js} +59 -52
  520. package/dist/shared/hx-time-picker-BoEIZwzv.js.map +1 -0
  521. package/dist/shared/{hx-toggle-button-L-uBJr-a.js → hx-toggle-button-DPAIh_Xo.js} +86 -69
  522. package/dist/shared/hx-toggle-button-DPAIh_Xo.js.map +1 -0
  523. package/dist/shared/{hx-tooltip-B_zfKvwc.js → hx-tooltip-nYOv9OLu.js} +18 -16
  524. package/dist/shared/hx-tooltip-nYOv9OLu.js.map +1 -0
  525. package/dist/shared/{hx-top-nav-CATbRvIv.js → hx-top-nav-DP6OFS8C.js} +31 -30
  526. package/dist/shared/hx-top-nav-DP6OFS8C.js.map +1 -0
  527. package/dist/shared/{hx-tree-item-A45WCiBu.js → hx-tree-item-Dt0Ozqyr.js} +29 -28
  528. package/dist/shared/hx-tree-item-Dt0Ozqyr.js.map +1 -0
  529. package/dist/shared/{toast-factory-BPPnG3mM.js → toast-factory-YSznocIV.js} +98 -72
  530. package/dist/shared/toast-factory-YSznocIV.js.map +1 -0
  531. package/dist/styles/forced-colors.d.ts +60 -0
  532. package/dist/styles/forced-colors.d.ts.map +1 -0
  533. package/figma-inventory.json +8690 -827
  534. package/package.json +2 -2
  535. package/dist/shared/hx-accordion-Wt52OOZD.js.map +0 -1
  536. package/dist/shared/hx-action-bar-BKMADbHj.js.map +0 -1
  537. package/dist/shared/hx-alert-D7n94HwI.js.map +0 -1
  538. package/dist/shared/hx-avatar-iLYzu8MJ.js.map +0 -1
  539. package/dist/shared/hx-badge-CVCmMPyW.js.map +0 -1
  540. package/dist/shared/hx-banner-C_He7Tr4.js.map +0 -1
  541. package/dist/shared/hx-breadcrumb-item-CldCwD1d.js.map +0 -1
  542. package/dist/shared/hx-button-Ddl-T6T-.js.map +0 -1
  543. package/dist/shared/hx-button-group-BJOGWoMa.js.map +0 -1
  544. package/dist/shared/hx-card-ycveujjL.js.map +0 -1
  545. package/dist/shared/hx-carousel-item-D_dCv61-.js.map +0 -1
  546. package/dist/shared/hx-checkbox-DkkoWoye.js.map +0 -1
  547. package/dist/shared/hx-checkbox-group-C3poJ-Zw.js.map +0 -1
  548. package/dist/shared/hx-clinical-status-BS5lcddT.js.map +0 -1
  549. package/dist/shared/hx-code-snippet-B7wUKzyb.js.map +0 -1
  550. package/dist/shared/hx-color-picker-DBaKTVLr.js.map +0 -1
  551. package/dist/shared/hx-combobox-BmgYT7Ar.js.map +0 -1
  552. package/dist/shared/hx-copy-button-8deNUdwP.js.map +0 -1
  553. package/dist/shared/hx-counter-CKfl_g8K.js.map +0 -1
  554. package/dist/shared/hx-data-table-B6h0RPn0.js.map +0 -1
  555. package/dist/shared/hx-date-picker-Dq2Nb68_.js.map +0 -1
  556. package/dist/shared/hx-dialog-CvIlY0Tc.js.map +0 -1
  557. package/dist/shared/hx-divider-DwpOrzMW.js.map +0 -1
  558. package/dist/shared/hx-drawer-Cx2ZJhBe.js.map +0 -1
  559. package/dist/shared/hx-dropdown-BjDrPUq5.js.map +0 -1
  560. package/dist/shared/hx-field-Dp3qQMut.js.map +0 -1
  561. package/dist/shared/hx-field-label-BC8QViXv.js.map +0 -1
  562. package/dist/shared/hx-file-upload-B6Yl1u0i.js.map +0 -1
  563. package/dist/shared/hx-form-ButQFt9A.js +0 -257
  564. package/dist/shared/hx-form-ButQFt9A.js.map +0 -1
  565. package/dist/shared/hx-help-text-D7eytSim.js.map +0 -1
  566. package/dist/shared/hx-icon-CcyDPDYY.js.map +0 -1
  567. package/dist/shared/hx-icon-button-BHneqPCU.js.map +0 -1
  568. package/dist/shared/hx-image-2gt14zZd.js.map +0 -1
  569. package/dist/shared/hx-link-BESrWK8M.js.map +0 -1
  570. package/dist/shared/hx-list-_9qVv02L.js.map +0 -1
  571. package/dist/shared/hx-menu-divider-Ck-9Os1t.js.map +0 -1
  572. package/dist/shared/hx-nav-BcYDmjf7.js.map +0 -1
  573. package/dist/shared/hx-nav-item-pqPasRUm.js.map +0 -1
  574. package/dist/shared/hx-number-input-mOIZ3-46.js.map +0 -1
  575. package/dist/shared/hx-overflow-menu-Dprb9lnT.js.map +0 -1
  576. package/dist/shared/hx-pagination-AguTQjYC.js.map +0 -1
  577. package/dist/shared/hx-patient-banner-uE6gqLpT.js.map +0 -1
  578. package/dist/shared/hx-phi-field-BC_XowhC.js.map +0 -1
  579. package/dist/shared/hx-popover-B2_203ct.js.map +0 -1
  580. package/dist/shared/hx-popup-DZXpsJ1R.js.map +0 -1
  581. package/dist/shared/hx-progress-bar-KjEkEJLy.js.map +0 -1
  582. package/dist/shared/hx-progress-ring-3zMwvrwD.js.map +0 -1
  583. package/dist/shared/hx-radio-BBC5qZgE.js.map +0 -1
  584. package/dist/shared/hx-rating-C3E3ENJb.js.map +0 -1
  585. package/dist/shared/hx-select-CixTo7jp.js.map +0 -1
  586. package/dist/shared/hx-skeleton-LxkI0pxr.js.map +0 -1
  587. package/dist/shared/hx-slider-DFHuzF3N.js.map +0 -1
  588. package/dist/shared/hx-spinner-BKjuCdZB.js.map +0 -1
  589. package/dist/shared/hx-split-button-CGcJMmCG.js.map +0 -1
  590. package/dist/shared/hx-split-panel-C-1R10Mc.js.map +0 -1
  591. package/dist/shared/hx-stat-BTpykQAt.js.map +0 -1
  592. package/dist/shared/hx-status-indicator-X2QEWNFt.js.map +0 -1
  593. package/dist/shared/hx-step-CRNQlmSo.js.map +0 -1
  594. package/dist/shared/hx-structured-list-CqNbaEXg.js.map +0 -1
  595. package/dist/shared/hx-switch-DqOD9JR7.js.map +0 -1
  596. package/dist/shared/hx-tab-panel-BIzKfW5i.js.map +0 -1
  597. package/dist/shared/hx-tag-CgnrNnte.js.map +0 -1
  598. package/dist/shared/hx-td-Bra35cH4.js.map +0 -1
  599. package/dist/shared/hx-text-DMC2CPlL.js.map +0 -1
  600. package/dist/shared/hx-text-input--q0GH78x.js.map +0 -1
  601. package/dist/shared/hx-textarea-CK621vSL.js.map +0 -1
  602. package/dist/shared/hx-theme-DfEy-SJA.js.map +0 -1
  603. package/dist/shared/hx-time-picker-tPUfgElQ.js.map +0 -1
  604. package/dist/shared/hx-toggle-button-L-uBJr-a.js.map +0 -1
  605. package/dist/shared/hx-tooltip-B_zfKvwc.js.map +0 -1
  606. package/dist/shared/hx-top-nav-CATbRvIv.js.map +0 -1
  607. package/dist/shared/hx-tree-item-A45WCiBu.js.map +0 -1
  608. package/dist/shared/toast-factory-BPPnG3mM.js.map +0 -1
@@ -60,9 +60,9 @@
60
60
  width: var(--hx-checkbox-size, var(--hx-size-5, 1.25rem));
61
61
  height: var(--hx-checkbox-size, var(--hx-size-5, 1.25rem));
62
62
  border: var(--hx-border-width-medium, 2px) solid
63
- var(--hx-checkbox-border-color, var(--hx-color-neutral-300, #cbd5e1));
63
+ var(--hx-checkbox-border-color, var(--hx-color-border-strong, #66787b));
64
64
  border-radius: var(--hx-checkbox-border-radius, var(--hx-border-radius-sm, 0.25rem));
65
- background-color: var(--hx-checkbox-bg, var(--hx-color-neutral-0, #ffffff));
65
+ background-color: var(--hx-checkbox-bg, var(--hx-color-surface-default, #ffffff));
66
66
  transition:
67
67
  background-color var(--hx-transition-fast, 150ms ease),
68
68
  border-color var(--hx-transition-fast, 150ms ease),
@@ -73,38 +73,38 @@
73
73
  /* ─── Focus Ring ─── */
74
74
 
75
75
  .checkbox__input:focus-visible ~ .checkbox__box {
76
- outline: var(--hx-focus-ring-width, 2px) solid
76
+ outline: var(--hx-checkbox-focus-ring-width, var(--hx-focus-ring-width, 2px)) solid
77
77
  var(
78
78
  --hx-checkbox-focus-ring-color,
79
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
79
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
80
80
  );
81
- outline-offset: var(--hx-focus-ring-offset, 2px);
81
+ outline-offset: var(--hx-checkbox-focus-ring-offset, var(--hx-focus-ring-offset, 2px));
82
82
  }
83
83
 
84
84
  /* ─── Checked State ─── */
85
85
 
86
86
  .checkbox--checked .checkbox__box {
87
- background-color: var(--hx-checkbox-checked-bg, var(--hx-color-primary-500, #2563eb));
88
- border-color: var(--hx-checkbox-checked-border-color, var(--hx-color-primary-500, #2563eb));
87
+ background-color: var(--hx-checkbox-checked-bg, var(--hx-color-primary-500, #429797));
88
+ border-color: var(--hx-checkbox-checked-border-color, var(--hx-color-primary-500, #429797));
89
89
  }
90
90
 
91
91
  /* ─── Indeterminate State ─── */
92
92
 
93
93
  .checkbox--indeterminate .checkbox__box {
94
- background-color: var(--hx-checkbox-checked-bg, var(--hx-color-primary-500, #2563eb));
95
- border-color: var(--hx-checkbox-checked-border-color, var(--hx-color-primary-500, #2563eb));
94
+ background-color: var(--hx-checkbox-checked-bg, var(--hx-color-primary-500, #429797));
95
+ border-color: var(--hx-checkbox-checked-border-color, var(--hx-color-primary-500, #429797));
96
96
  }
97
97
 
98
98
  /* ─── Error State ─── */
99
99
 
100
100
  .checkbox--error .checkbox__box {
101
- border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #dc2626));
101
+ border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #e5493e));
102
102
  }
103
103
 
104
104
  .checkbox--error.checkbox--checked .checkbox__box,
105
105
  .checkbox--error.checkbox--indeterminate .checkbox__box {
106
- background-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #dc2626));
107
- border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #dc2626));
106
+ background-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #e5493e));
107
+ border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #e5493e));
108
108
  }
109
109
 
110
110
  /* ─── Hover ─── */
@@ -113,7 +113,7 @@
113
113
  .checkbox__control:hover .checkbox__box {
114
114
  border-color: var(
115
115
  --hx-checkbox-hover-border-color,
116
- var(--hx-checkbox-border-color, var(--hx-color-primary-500, #2563eb))
116
+ var(--hx-checkbox-border-color, var(--hx-color-primary-500, #429797))
117
117
  );
118
118
  }
119
119
 
@@ -122,7 +122,7 @@
122
122
  }
123
123
 
124
124
  .checkbox--error .checkbox__control:hover .checkbox__box {
125
- border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #dc2626));
125
+ border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #e5493e));
126
126
  }
127
127
 
128
128
  /* ─── Checkmark Icon ─── */
@@ -132,7 +132,7 @@
132
132
  width: calc(var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) * 0.65);
133
133
  height: calc(var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) * 0.65);
134
134
  fill: none;
135
- stroke: var(--hx-checkbox-checkmark-color, var(--hx-color-neutral-0, #ffffff));
135
+ stroke: var(--hx-checkbox-checkmark-color, var(--hx-color-text-on-primary, #ffffff));
136
136
  stroke-width: 2.5;
137
137
  stroke-linecap: round;
138
138
  stroke-linejoin: round;
@@ -151,14 +151,14 @@
151
151
  .checkbox__label {
152
152
  font-size: var(--hx-font-size-sm, 0.875rem);
153
153
  font-weight: var(--hx-font-weight-medium, 500);
154
- color: var(--hx-checkbox-label-color, var(--hx-color-neutral-700, #334155));
154
+ color: var(--hx-checkbox-label-color, var(--hx-color-text-strong, #202b39));
155
155
  line-height: var(--hx-line-height-normal, 1.5);
156
156
  user-select: none;
157
157
  -webkit-user-select: none;
158
158
  }
159
159
 
160
160
  .checkbox__required-marker {
161
- color: var(--hx-checkbox-error-color, var(--hx-color-error-text, #b91c1c));
161
+ color: var(--hx-checkbox-error-color, var(--hx-color-error-text, #c92a2a));
162
162
  font-weight: var(--hx-font-weight-bold, 700);
163
163
  }
164
164
 
@@ -166,7 +166,7 @@
166
166
 
167
167
  .checkbox__help-text {
168
168
  font-size: var(--hx-font-size-xs, 0.75rem);
169
- color: var(--hx-checkbox-help-text-color, var(--hx-color-neutral-500, #64748b));
169
+ color: var(--hx-checkbox-help-text-color, var(--hx-color-text-muted, #4a5362));
170
170
  line-height: var(--hx-line-height-normal, 1.5);
171
171
  padding-inline-start: calc(
172
172
  var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) + var(--hx-space-2, 0.5rem)
@@ -175,7 +175,7 @@
175
175
 
176
176
  .checkbox__error {
177
177
  font-size: var(--hx-font-size-xs, 0.75rem);
178
- color: var(--hx-checkbox-error-color, var(--hx-color-error-text, #b91c1c));
178
+ color: var(--hx-checkbox-error-color, var(--hx-color-error-text, #c92a2a));
179
179
  line-height: var(--hx-line-height-normal, 1.5);
180
180
  padding-inline-start: calc(
181
181
  var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) + var(--hx-space-2, 0.5rem)
@@ -319,14 +319,14 @@
319
319
  gap: var(--hx-space-1);
320
320
  font-size: var(--hx-font-size-sm);
321
321
  font-weight: var(--hx-font-weight-medium);
322
- color: var(--hx-checkbox-group-label-color, var(--hx-color-neutral-700));
322
+ color: var(--hx-checkbox-group-label-color, var(--hx-color-text-strong));
323
323
  line-height: var(--hx-line-height-normal);
324
324
  padding: 0;
325
325
  margin-bottom: var(--hx-space-1);
326
326
  }
327
327
 
328
328
  .fieldset__required-marker {
329
- color: var(--hx-checkbox-group-error-color, var(--hx-color-error-text, #b91c1c));
329
+ color: var(--hx-checkbox-group-error-color, var(--hx-color-error-text, #c92a2a));
330
330
  font-weight: var(--hx-font-weight-bold);
331
331
  }
332
332
 
@@ -346,20 +346,20 @@
346
346
  /* ─── Error State ─── */
347
347
 
348
348
  .fieldset--error .fieldset__legend {
349
- color: var(--hx-checkbox-group-error-color, var(--hx-color-error-text, #b91c1c));
349
+ color: var(--hx-checkbox-group-error-color, var(--hx-color-error-text, #c92a2a));
350
350
  }
351
351
 
352
352
  /* ─── Help Text & Error Messages ─── */
353
353
 
354
354
  .fieldset__help-text {
355
355
  font-size: var(--hx-font-size-xs);
356
- color: var(--hx-checkbox-group-help-text-color, var(--hx-color-neutral-500));
356
+ color: var(--hx-checkbox-group-help-text-color, var(--hx-color-text-muted));
357
357
  line-height: var(--hx-line-height-normal);
358
358
  }
359
359
 
360
360
  .fieldset__error {
361
361
  font-size: var(--hx-font-size-xs);
362
- color: var(--hx-checkbox-group-error-color, var(--hx-color-error-text, #b91c1c));
362
+ color: var(--hx-checkbox-group-error-color, var(--hx-color-error-text, #c92a2a));
363
363
  line-height: var(--hx-line-height-normal);
364
364
  }
365
365
 
@@ -410,18 +410,21 @@
410
410
  align-items: center;
411
411
  gap: var(--hx-space-2, 0.5rem);
412
412
  padding: var(--hx-space-1, 0.25rem);
413
- border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #cbd5e1);
413
+ border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #b6bfb9);
414
414
  border-radius: var(--hx-border-radius-md, 0.375rem);
415
415
  background: var(--hx-color-neutral-0, #ffffff);
416
416
  cursor: pointer;
417
417
  transition: border-color var(--hx-transition-fast, 150ms ease);
418
418
  }
419
419
  .trigger:hover:not([disabled]) {
420
- border-color: var(--hx-color-primary-500, #2563eb);
420
+ border-color: var(
421
+ --hx-color-picker-trigger-hover-border-color,
422
+ var(--hx-color-primary-500, #429797)
423
+ );
421
424
  }
422
425
  :is(.trigger, .gradient-grid, .slider-track, .swatch-btn, .format-btn):focus-visible {
423
426
  outline: var(--hx-focus-ring-width, 2px) solid
424
- var(--hx-focus-ring-color, var(--hx-color-primary-500));
427
+ var(--hx-color-picker-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
425
428
  outline-offset: var(--hx-focus-ring-offset, 2px);
426
429
  }
427
430
  .trigger-swatch {
@@ -436,7 +439,7 @@
436
439
  }
437
440
  .trigger-label {
438
441
  font-size: var(--hx-font-size-sm, 0.875rem);
439
- color: var(--hx-color-neutral-700, #334155);
442
+ color: var(--hx-color-neutral-700, #313e4b);
440
443
  font-family: var(--hx-font-family-mono, monospace);
441
444
  white-space: nowrap;
442
445
  }
@@ -446,7 +449,7 @@
446
449
  top: calc(100% + 4px);
447
450
  left: 0;
448
451
  background: var(--hx-color-neutral-0, #ffffff);
449
- border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #e2e8f0);
452
+ border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #d6dbd5);
450
453
  border-radius: var(--hx-border-radius-lg, 0.5rem);
451
454
  box-shadow: 0 8px 24px
452
455
  var(--hx-color-picker-panel-shadow, var(--hx-overlay-black-15, rgba(0, 0, 0, 0.15)));
@@ -460,7 +463,7 @@
460
463
  :host([inline]) .panel {
461
464
  position: static;
462
465
  box-shadow: none;
463
- border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #e2e8f0);
466
+ border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #d6dbd5);
464
467
  border-radius: var(--hx-border-radius-lg, 0.5rem);
465
468
  }
466
469
  .gradient-grid {
@@ -573,12 +576,12 @@
573
576
  .format-btn {
574
577
  flex-shrink: 0;
575
578
  padding: var(--hx-space-1, 0.25rem) var(--hx-space-2, 0.5rem);
576
- background: var(--hx-color-neutral-100, #f1f5f9);
577
- border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #cbd5e1);
579
+ background: var(--hx-color-neutral-100, #ebeee9);
580
+ border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #b6bfb9);
578
581
  border-radius: var(--hx-border-radius-sm, 0.25rem);
579
582
  cursor: pointer;
580
583
  font-size: var(--hx-font-size-xs, 0.75rem);
581
- color: var(--hx-color-neutral-600, #475569);
584
+ color: var(--hx-color-neutral-600, #4a5362);
582
585
  text-transform: uppercase;
583
586
  font-weight: var(--hx-font-weight-semibold, 600);
584
587
  letter-spacing: 0.05em;
@@ -587,18 +590,22 @@
587
590
  flex: 1;
588
591
  min-width: 0;
589
592
  padding: var(--hx-space-1, 0.25rem) var(--hx-space-2, 0.5rem);
590
- border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #cbd5e1);
593
+ border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #b6bfb9);
591
594
  border-radius: var(--hx-border-radius-sm, 0.25rem);
592
595
  font-family: var(--hx-font-family-mono, monospace);
593
596
  font-size: var(--hx-font-size-sm, 0.875rem);
594
- color: var(--hx-color-neutral-900, #0f172a);
597
+ color: var(--hx-color-neutral-900, #0d1825);
595
598
  background: var(--hx-color-neutral-0, #ffffff);
596
599
  outline: none;
597
600
  }
598
601
  .color-input:focus-visible {
599
- border-color: var(--hx-focus-ring-color, var(--hx-color-primary-500));
602
+ border-color: var(--hx-color-picker-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
600
603
  box-shadow: 0 0 0 2px
601
- color-mix(in srgb, var(--hx-focus-ring-color, var(--hx-color-primary-500)) 20%, transparent);
604
+ color-mix(
605
+ in srgb,
606
+ var(--hx-color-picker-focus-ring-color, var(--hx-focus-ring-color, #0f7078)) 20%,
607
+ transparent
608
+ );
602
609
  }
603
610
  .input-preview {
604
611
  width: 24px;
@@ -695,11 +702,11 @@
695
702
  gap: var(--hx-space-1, 0.25rem);
696
703
  font-size: var(--hx-font-size-sm, 0.875rem);
697
704
  font-weight: var(--hx-font-weight-medium, 500);
698
- color: var(--hx-combobox-label-color, var(--hx-color-neutral-700, #334155));
705
+ color: var(--hx-combobox-label-color, var(--hx-color-text-strong, #202b39));
699
706
  line-height: var(--hx-line-height-normal, 1.5);
700
707
  }
701
708
  .field__required-marker {
702
- color: var(--hx-combobox-error-color, var(--hx-color-error-text, #b91c1c));
709
+ color: var(--hx-combobox-error-color, var(--hx-color-error-text, #c92a2a));
703
710
  font-weight: var(--hx-font-weight-bold, 700);
704
711
  }
705
712
  .field__input-wrapper {
@@ -707,9 +714,9 @@
707
714
  display: flex;
708
715
  align-items: center;
709
716
  border: var(--hx-border-width-thin, 1px) solid
710
- var(--hx-combobox-border-color, var(--hx-color-neutral-300, #cbd5e1));
717
+ var(--hx-combobox-border-color, var(--hx-color-border-strong, #66787b));
711
718
  border-radius: var(--hx-combobox-border-radius, var(--hx-border-radius-md, 0.375rem));
712
- background-color: var(--hx-combobox-bg, var(--hx-color-neutral-0, #ffffff));
719
+ background-color: var(--hx-combobox-bg, var(--hx-color-surface-default, #ffffff));
713
720
  transition:
714
721
  border-color var(--hx-transition-fast, 150ms ease),
715
722
  box-shadow var(--hx-transition-fast, 150ms ease);
@@ -717,28 +724,28 @@
717
724
  .field__input-wrapper:focus-within {
718
725
  border-color: var(
719
726
  --hx-combobox-focus-ring-color,
720
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
727
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
721
728
  );
722
729
  box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
723
730
  color-mix(
724
731
  in srgb,
725
732
  var(
726
733
  --hx-combobox-focus-ring-color,
727
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
734
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
728
735
  )
729
736
  calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
730
737
  transparent
731
738
  );
732
739
  }
733
740
  .field--error .field__input-wrapper {
734
- border-color: var(--hx-combobox-error-color, var(--hx-color-error-500, #dc2626));
741
+ border-color: var(--hx-combobox-error-color, var(--hx-color-error-500, #e5493e));
735
742
  }
736
743
  .field--error .field__input-wrapper:focus-within {
737
- border-color: var(--hx-combobox-error-color, var(--hx-color-error-500, #dc2626));
744
+ border-color: var(--hx-combobox-error-color, var(--hx-color-error-500, #e5493e));
738
745
  box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
739
746
  color-mix(
740
747
  in srgb,
741
- var(--hx-combobox-error-color, var(--hx-color-error-500, #dc2626))
748
+ var(--hx-combobox-error-color, var(--hx-color-error-500, #e5493e))
742
749
  calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
743
750
  transparent
744
751
  );
@@ -748,7 +755,7 @@
748
755
  display: flex;
749
756
  align-items: center;
750
757
  padding: 0 var(--hx-space-2, 0.5rem);
751
- color: var(--hx-color-neutral-500, #64748b);
758
+ color: var(--hx-color-text-muted, #4a5362);
752
759
  flex-shrink: 0;
753
760
  }
754
761
  .field__input {
@@ -761,11 +768,11 @@
761
768
  font-family: inherit;
762
769
  font-size: var(--hx-font-size-md, 1rem);
763
770
  line-height: var(--hx-line-height-normal, 1.5);
764
- color: var(--hx-combobox-color, var(--hx-color-neutral-800, #1e293b));
771
+ color: var(--hx-combobox-color, var(--hx-color-text-strong, #202b39));
765
772
  padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
766
773
  }
767
774
  .field__input::placeholder {
768
- color: var(--hx-color-neutral-400, #94a3b8);
775
+ color: var(--hx-color-text-placeholder, #66787b);
769
776
  }
770
777
  .field__input--sm {
771
778
  min-height: var(--hx-input-height-sm, var(--hx-size-8, 2rem));
@@ -784,7 +791,7 @@
784
791
  justify-content: center;
785
792
  margin-inline-end: var(--hx-space-2, 0.5rem);
786
793
  flex-shrink: 0;
787
- color: var(--hx-color-neutral-400, #94a3b8);
794
+ color: var(--hx-color-text-placeholder, #66787b);
788
795
  }
789
796
  .field__clear-button {
790
797
  width: 1.25rem;
@@ -797,11 +804,11 @@
797
804
  transition: color var(--hx-transition-fast, 150ms ease);
798
805
  }
799
806
  .field__clear-button:hover {
800
- color: var(--hx-color-neutral-700, #334155);
807
+ color: var(--hx-color-text-strong, #202b39);
801
808
  }
802
809
  .field__clear-button:focus-visible {
803
810
  outline: var(--hx-focus-ring-width, 2px) solid
804
- var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));
811
+ var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
805
812
  outline-offset: var(--hx-focus-ring-offset, 2px);
806
813
  }
807
814
  .field__loading-indicator {
@@ -832,13 +839,13 @@
832
839
  left: 0;
833
840
  right: 0;
834
841
  z-index: var(--hx-z-index-dropdown, 1000);
835
- background-color: var(--hx-combobox-listbox-bg, var(--hx-color-neutral-0, #ffffff));
842
+ background-color: var(--hx-combobox-listbox-bg, var(--hx-color-surface-default, #ffffff));
836
843
  border: var(--hx-border-width-thin, 1px) solid
837
- var(--hx-combobox-border-color, var(--hx-color-neutral-300, #cbd5e1));
844
+ var(--hx-combobox-border-color, var(--hx-color-border-strong, #66787b));
838
845
  border-radius: var(--hx-combobox-border-radius, var(--hx-border-radius-md, 0.375rem));
839
846
  box-shadow: var(
840
847
  --hx-combobox-listbox-shadow,
841
- 0 4px 16px color-mix(in srgb, var(--hx-color-neutral-900, #0f172a) 12%, transparent)
848
+ 0 4px 16px color-mix(in srgb, var(--hx-color-neutral-900, #0d1825) 12%, transparent)
842
849
  );
843
850
  max-height: var(--hx-combobox-listbox-max-height, 16rem);
844
851
  overflow: hidden;
@@ -859,27 +866,27 @@
859
866
  gap: var(--hx-space-2, 0.5rem);
860
867
  padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
861
868
  font-size: var(--hx-font-size-md, 1rem);
862
- color: var(--hx-combobox-color, var(--hx-color-neutral-800, #1e293b));
869
+ color: var(--hx-combobox-color, var(--hx-color-text-strong, #202b39));
863
870
  cursor: pointer;
864
871
  user-select: none;
865
872
  -webkit-user-select: none;
866
873
  transition: background-color var(--hx-transition-fast, 150ms ease);
867
874
  }
868
875
  .field__option:hover {
869
- background-color: var(--hx-combobox-option-hover-bg, var(--hx-color-primary-50, #eff6ff));
876
+ background-color: var(--hx-combobox-option-hover-bg, var(--hx-color-primary-50, #ebf8f8));
870
877
  }
871
878
  .field__option--selected {
872
- background-color: var(--hx-combobox-option-selected-bg, var(--hx-color-primary-100, #dbeafe));
879
+ background-color: var(--hx-combobox-option-selected-bg, var(--hx-color-primary-100, #dbf0f0));
873
880
  font-weight: var(--hx-font-weight-medium, 500);
874
881
  }
875
882
  .field__option--focused {
876
- background-color: var(--hx-combobox-option-hover-bg, var(--hx-color-primary-50, #eff6ff));
883
+ background-color: var(--hx-combobox-option-hover-bg, var(--hx-color-primary-50, #ebf8f8));
877
884
  outline: var(--hx-focus-ring-width, 2px) solid
878
- var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));
885
+ var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
879
886
  outline-offset: var(--hx-combobox-option-focus-ring-offset, -2px);
880
887
  }
881
888
  .field__option--focused.field__option--selected {
882
- background-color: var(--hx-combobox-option-selected-bg, var(--hx-color-primary-100, #dbeafe));
889
+ background-color: var(--hx-combobox-option-selected-bg, var(--hx-color-primary-100, #dbf0f0));
883
890
  }
884
891
  .field__option--disabled {
885
892
  opacity: var(--hx-opacity-disabled, 0.5);
@@ -895,7 +902,7 @@
895
902
  .field__no-options {
896
903
  padding: var(--hx-space-3, 0.75rem);
897
904
  text-align: center;
898
- color: var(--hx-color-neutral-400, #94a3b8);
905
+ color: var(--hx-color-text-placeholder, #66787b);
899
906
  font-size: var(--hx-font-size-sm, 0.875rem);
900
907
  }
901
908
  .field__sr-only {
@@ -915,10 +922,10 @@
915
922
  line-height: var(--hx-line-height-normal, 1.5);
916
923
  }
917
924
  .field__help-text {
918
- color: var(--hx-color-neutral-500, #64748b);
925
+ color: var(--hx-color-text-muted, #4a5362);
919
926
  }
920
927
  .field__error {
921
- color: var(--hx-combobox-error-color, var(--hx-color-error-text, #b91c1c));
928
+ color: var(--hx-combobox-error-color, var(--hx-color-error-text, #c92a2a));
922
929
  }
923
930
  @media (prefers-reduced-motion: reduce) {
924
931
  .field__input-wrapper,
@@ -1023,8 +1030,8 @@
1023
1030
  gap: var(--hx-space-1, 0.25rem);
1024
1031
  padding: 0 var(--hx-space-1, 0.25rem) 0 var(--hx-space-2, 0.5rem);
1025
1032
  height: 1.5rem;
1026
- background-color: var(--hx-combobox-chip-bg, var(--hx-color-primary-100, #dbeafe));
1027
- color: var(--hx-combobox-chip-color, var(--hx-color-primary-800, #1e3a8a));
1033
+ background-color: var(--hx-combobox-chip-bg, var(--hx-color-primary-100, #dbf0f0));
1034
+ color: var(--hx-combobox-chip-color, var(--hx-color-primary-800, #07494a));
1028
1035
  border-radius: var(--hx-border-radius-full, 9999px);
1029
1036
  font-size: var(--hx-font-size-sm, 0.875rem);
1030
1037
  white-space: nowrap;
@@ -1055,11 +1062,11 @@
1055
1062
  }
1056
1063
  .field__chip-remove:hover {
1057
1064
  opacity: 1;
1058
- background-color: var(--hx-combobox-chip-remove-hover-bg, var(--hx-color-primary-200, #bfdbfe));
1065
+ background-color: var(--hx-combobox-chip-remove-hover-bg, var(--hx-color-primary-200, #bce1e1));
1059
1066
  }
1060
1067
  .field__chip-remove:focus-visible {
1061
1068
  outline: var(--hx-focus-ring-width, 2px) solid
1062
- var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));
1069
+ var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
1063
1070
  outline-offset: var(--hx-focus-ring-offset, 2px);
1064
1071
  opacity: 1;
1065
1072
  }
@@ -1104,12 +1111,12 @@
1104
1111
  gap: var(--hx-space-1, 0.25rem);
1105
1112
  font-size: var(--hx-font-size-sm, 0.875rem);
1106
1113
  font-weight: var(--hx-font-weight-medium, 500);
1107
- color: var(--hx-date-picker-label-color, var(--hx-color-neutral-700, #334155));
1114
+ color: var(--hx-date-picker-label-color, var(--hx-color-text-strong, #202b39));
1108
1115
  line-height: var(--hx-line-height-normal, 1.5);
1109
1116
  }
1110
1117
 
1111
1118
  .field__required-marker {
1112
- color: var(--hx-date-picker-error-color, var(--hx-color-error-text, #b91c1c));
1119
+ color: var(--hx-date-picker-error-color, var(--hx-color-error-text, #c92a2a));
1113
1120
  font-weight: var(--hx-font-weight-bold, 700);
1114
1121
  }
1115
1122
 
@@ -1121,9 +1128,9 @@
1121
1128
  display: flex;
1122
1129
  align-items: stretch;
1123
1130
  border: var(--hx-border-width-thin, 1px) solid
1124
- var(--hx-date-picker-border-color, var(--hx-color-neutral-300, #cbd5e1));
1131
+ var(--hx-date-picker-border-color, var(--hx-color-border-strong, #66787b));
1125
1132
  border-radius: var(--hx-date-picker-border-radius, var(--hx-border-radius-md, 0.375rem));
1126
- background-color: var(--hx-date-picker-bg, var(--hx-color-neutral-0, #ffffff));
1133
+ background-color: var(--hx-date-picker-bg, var(--hx-color-surface-default, #ffffff));
1127
1134
  transition:
1128
1135
  border-color var(--hx-transition-fast, 150ms ease),
1129
1136
  box-shadow var(--hx-transition-fast, 150ms ease);
@@ -1133,14 +1140,14 @@
1133
1140
  .field__input-wrapper:focus-within {
1134
1141
  border-color: var(
1135
1142
  --hx-date-picker-focus-ring-color,
1136
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
1143
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
1137
1144
  );
1138
1145
  box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
1139
1146
  color-mix(
1140
1147
  in srgb,
1141
1148
  var(
1142
1149
  --hx-date-picker-focus-ring-color,
1143
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
1150
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
1144
1151
  )
1145
1152
  calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
1146
1153
  transparent
@@ -1148,15 +1155,15 @@
1148
1155
  }
1149
1156
 
1150
1157
  .field--error .field__input-wrapper {
1151
- border-color: var(--hx-date-picker-error-color, var(--hx-color-error-500, #dc2626));
1158
+ border-color: var(--hx-date-picker-error-color, var(--hx-color-error-500, #e5493e));
1152
1159
  }
1153
1160
 
1154
1161
  .field--error .field__input-wrapper:focus-within {
1155
- border-color: var(--hx-date-picker-error-color, var(--hx-color-error-500, #dc2626));
1162
+ border-color: var(--hx-date-picker-error-color, var(--hx-color-error-500, #e5493e));
1156
1163
  box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
1157
1164
  color-mix(
1158
1165
  in srgb,
1159
- var(--hx-date-picker-error-color, var(--hx-color-error-500, #dc2626))
1166
+ var(--hx-date-picker-error-color, var(--hx-color-error-500, #e5493e))
1160
1167
  calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
1161
1168
  transparent
1162
1169
  );
@@ -1174,7 +1181,7 @@
1174
1181
  padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
1175
1182
  font-family: inherit;
1176
1183
  font-size: var(--hx-font-size-md, 1rem);
1177
- color: var(--hx-date-picker-color, var(--hx-color-neutral-800, #1e293b));
1184
+ color: var(--hx-date-picker-color, var(--hx-color-text-strong, #202b39));
1178
1185
  line-height: var(--hx-line-height-normal, 1.5);
1179
1186
  min-height: var(--hx-size-10, 2.5rem);
1180
1187
  width: 100%;
@@ -1182,7 +1189,7 @@
1182
1189
  }
1183
1190
 
1184
1191
  .field__input::placeholder {
1185
- color: var(--hx-color-neutral-400, #94a3b8);
1192
+ color: var(--hx-color-text-placeholder, #66787b);
1186
1193
  }
1187
1194
 
1188
1195
  .field__input:disabled {
@@ -1200,9 +1207,9 @@
1200
1207
  padding: 0 var(--hx-space-3, 0.75rem);
1201
1208
  border: none;
1202
1209
  border-left: var(--hx-border-width-thin, 1px) solid
1203
- var(--hx-date-picker-border-color, var(--hx-color-neutral-300, #cbd5e1));
1210
+ var(--hx-date-picker-border-color, var(--hx-color-border-strong, #66787b));
1204
1211
  background: transparent;
1205
- color: var(--hx-date-picker-trigger-color, var(--hx-color-neutral-500, #64748b));
1212
+ color: var(--hx-date-picker-trigger-color, var(--hx-color-text-muted, #4a5362));
1206
1213
  cursor: pointer;
1207
1214
  flex-shrink: 0;
1208
1215
  transition: color var(--hx-transition-fast, 150ms ease);
@@ -1212,13 +1219,13 @@
1212
1219
  .field__trigger:focus-visible {
1213
1220
  color: var(
1214
1221
  --hx-date-picker-focus-ring-color,
1215
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
1222
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
1216
1223
  );
1217
1224
  background-color: color-mix(
1218
1225
  in srgb,
1219
1226
  var(
1220
1227
  --hx-date-picker-focus-ring-color,
1221
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
1228
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
1222
1229
  )
1223
1230
  8%,
1224
1231
  transparent
@@ -1226,8 +1233,8 @@
1226
1233
  }
1227
1234
 
1228
1235
  .field__trigger:hover:not(:disabled) {
1229
- color: var(--hx-date-picker-trigger-hover-color, var(--hx-color-neutral-700, #334155));
1230
- background-color: color-mix(in srgb, var(--hx-color-neutral-900, #0f172a) 4%, transparent);
1236
+ color: var(--hx-date-picker-trigger-hover-color, var(--hx-color-text-strong, #202b39));
1237
+ background-color: color-mix(in srgb, var(--hx-color-neutral-900, #0d1825) 4%, transparent);
1231
1238
  }
1232
1239
 
1233
1240
  .field__trigger:disabled {
@@ -1244,9 +1251,9 @@
1244
1251
  left: 0;
1245
1252
  z-index: var(--hx-z-index-dropdown, 1000);
1246
1253
  min-width: var(--hx-date-picker-calendar-min-width, 18rem);
1247
- background-color: var(--hx-date-picker-calendar-bg, var(--hx-color-neutral-0, #ffffff));
1254
+ background-color: var(--hx-date-picker-calendar-bg, var(--hx-color-surface-default, #ffffff));
1248
1255
  border: var(--hx-border-width-thin, 1px) solid
1249
- var(--hx-date-picker-calendar-border-color, var(--hx-color-neutral-200, #e2e8f0));
1256
+ var(--hx-date-picker-calendar-border-color, var(--hx-color-border-default, #d6dbd5));
1250
1257
  border-radius: var(--hx-date-picker-calendar-border-radius, var(--hx-border-radius-lg, 0.5rem));
1251
1258
  box-shadow: var(
1252
1259
  --hx-date-picker-calendar-shadow,
@@ -1305,21 +1312,21 @@
1305
1312
  }
1306
1313
 
1307
1314
  .calendar__nav-btn {
1308
- color: var(--hx-color-neutral-600, #475569);
1315
+ color: var(--hx-color-text-secondary, #313e4b);
1309
1316
  font-size: var(--hx-font-size-lg, 1.125rem);
1310
1317
  line-height: 1;
1311
1318
  }
1312
1319
 
1313
1320
  .calendar__nav-btn:hover {
1314
- background-color: var(--hx-color-neutral-100, #f1f5f9);
1315
- color: var(--hx-color-neutral-900, #0f172a);
1321
+ background-color: var(--hx-date-picker-day-hover-bg, var(--hx-color-surface-sunken, #ebeee9));
1322
+ color: var(--hx-color-text-primary, #0d1825);
1316
1323
  }
1317
1324
 
1318
1325
  :is(.calendar__nav-btn, .calendar__day):focus-visible {
1319
1326
  box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
1320
1327
  var(
1321
1328
  --hx-date-picker-focus-ring-color,
1322
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
1329
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
1323
1330
  );
1324
1331
  z-index: 1;
1325
1332
  }
@@ -1333,7 +1340,7 @@
1333
1340
  .calendar__month-label {
1334
1341
  font-size: var(--hx-font-size-sm, 0.875rem);
1335
1342
  font-weight: var(--hx-font-weight-semibold, 600);
1336
- color: var(--hx-color-neutral-800, #1e293b);
1343
+ color: var(--hx-color-text-strong, #202b39);
1337
1344
  flex: 1;
1338
1345
  text-align: center;
1339
1346
  }
@@ -1358,7 +1365,7 @@
1358
1365
  height: var(--hx-size-8, 2rem);
1359
1366
  font-size: var(--hx-font-size-xs, 0.75rem);
1360
1367
  font-weight: var(--hx-font-weight-semibold, 600);
1361
- color: var(--hx-color-neutral-500, #64748b);
1368
+ color: var(--hx-color-text-muted, #4a5362);
1362
1369
  text-transform: uppercase;
1363
1370
  letter-spacing: 0.05em;
1364
1371
  }
@@ -1368,30 +1375,30 @@
1368
1375
  ============================================================ */
1369
1376
 
1370
1377
  .calendar__day {
1371
- color: var(--hx-color-neutral-800, #1e293b);
1378
+ color: var(--hx-color-text-strong, #202b39);
1372
1379
  font-size: var(--hx-font-size-sm, 0.875rem);
1373
1380
  font-family: inherit;
1374
1381
  position: relative;
1375
1382
  }
1376
1383
 
1377
1384
  .calendar__day:hover:not(.calendar__day--disabled):not(.calendar__day--selected) {
1378
- background-color: var(--hx-color-neutral-100, #f1f5f9);
1379
- color: var(--hx-color-neutral-900, #0f172a);
1385
+ background-color: var(--hx-date-picker-day-hover-bg, var(--hx-color-surface-sunken, #ebeee9));
1386
+ color: var(--hx-color-text-primary, #0d1825);
1380
1387
  }
1381
1388
 
1382
1389
  .calendar__day--selected {
1383
- background-color: var(--hx-date-picker-selected-bg, var(--hx-color-primary-500, #2563eb));
1384
- color: var(--hx-date-picker-selected-color, var(--hx-color-neutral-0, #ffffff));
1390
+ background-color: var(--hx-date-picker-selected-bg, var(--hx-color-primary-500, #429797));
1391
+ color: var(--hx-date-picker-selected-color, var(--hx-color-text-on-primary, #ffffff));
1385
1392
  font-weight: var(--hx-font-weight-semibold, 600);
1386
1393
  }
1387
1394
 
1388
1395
  .calendar__day--selected:hover {
1389
- background-color: var(--hx-date-picker-selected-hover-bg, var(--hx-color-primary-600, #1d4ed8));
1396
+ background-color: var(--hx-date-picker-selected-hover-bg, var(--hx-color-primary-600, #0f7078));
1390
1397
  }
1391
1398
 
1392
1399
  .calendar__day--today:not(.calendar__day--selected) {
1393
1400
  font-weight: var(--hx-font-weight-bold, 700);
1394
- color: var(--hx-date-picker-today-color, var(--hx-color-primary-600, #1d4ed8));
1401
+ color: var(--hx-date-picker-today-color, var(--hx-color-primary-600, #0f7078));
1395
1402
  }
1396
1403
 
1397
1404
  .calendar__day--today:not(.calendar__day--selected)::after {
@@ -1439,11 +1446,11 @@
1439
1446
  }
1440
1447
 
1441
1448
  .field__help-text {
1442
- color: var(--hx-color-neutral-500, #64748b);
1449
+ color: var(--hx-color-text-muted, #4a5362);
1443
1450
  }
1444
1451
 
1445
1452
  .field__error {
1446
- color: var(--hx-date-picker-error-color, var(--hx-color-error-text, #b91c1c));
1453
+ color: var(--hx-date-picker-error-color, var(--hx-color-error-text, #c92a2a));
1447
1454
  }
1448
1455
 
1449
1456
  /* ============================================================
@@ -1549,13 +1556,13 @@
1549
1556
  gap: var(--hx-space-1, 0.25rem);
1550
1557
  font-size: var(--hx-font-size-sm, 0.875rem);
1551
1558
  font-weight: var(--hx-font-weight-medium, 500);
1552
- color: var(--hx-field-label-color, var(--hx-color-neutral-700, #334155));
1559
+ color: var(--hx-field-label-color, var(--hx-color-text-strong, #202b39));
1553
1560
  line-height: var(--hx-line-height-normal, 1.5);
1554
1561
  cursor: pointer;
1555
1562
  }
1556
1563
 
1557
1564
  .field__required-marker {
1558
- color: var(--hx-field-error-color, var(--hx-color-error-text, #b91c1c));
1565
+ color: var(--hx-field-error-color, var(--hx-color-error-text, #c92a2a));
1559
1566
  font-weight: var(--hx-font-weight-bold, 700);
1560
1567
  }
1561
1568
 
@@ -1599,24 +1606,24 @@
1599
1606
 
1600
1607
  .field__help-text {
1601
1608
  font-size: var(--hx-font-size-xs, 0.75rem);
1602
- color: var(--hx-field-help-text-color, var(--hx-color-neutral-500, #64748b));
1609
+ color: var(--hx-field-help-text-color, var(--hx-color-text-muted, #4a5362));
1603
1610
  line-height: var(--hx-line-height-normal, 1.5);
1604
1611
  }
1605
1612
 
1606
1613
  .field__error {
1607
1614
  font-size: var(--hx-font-size-xs, 0.75rem);
1608
- color: var(--hx-field-error-color, var(--hx-color-error-text, #b91c1c));
1615
+ color: var(--hx-field-error-color, var(--hx-color-error-text, #c92a2a));
1609
1616
  line-height: var(--hx-line-height-normal, 1.5);
1610
1617
  }
1611
1618
 
1612
1619
  /* ─── Error State ─── */
1613
1620
 
1614
1621
  .field--error .field__label {
1615
- color: var(--hx-field-error-color, var(--hx-color-error-text, #b91c1c));
1622
+ color: var(--hx-field-error-color, var(--hx-color-error-text, #c92a2a));
1616
1623
  }
1617
1624
 
1618
1625
  .field--error .field__control {
1619
- outline: 2px solid var(--hx-field-error-color, var(--hx-color-error-500, #dc2626));
1626
+ outline: 2px solid var(--hx-field-error-color, var(--hx-color-error-500, #e5493e));
1620
1627
  outline-offset: var(--hx-focus-ring-offset, 2px);
1621
1628
  border-radius: var(--hx-border-radius-sm, 0.25rem);
1622
1629
  }
@@ -1667,20 +1674,20 @@
1667
1674
  gap: var(--hx-space-1, 0.25rem);
1668
1675
  font-size: var(--hx-font-label-size, var(--hx-font-size-sm, 0.875rem));
1669
1676
  font-weight: var(--hx-font-label-weight, var(--hx-font-weight-medium, 500));
1670
- color: var(--hx-field-label-color, var(--hx-color-neutral-700, #334155));
1677
+ color: var(--hx-field-label-color, var(--hx-color-text-strong, #313e4b));
1671
1678
  line-height: var(--hx-font-label-line-height, var(--hx-line-height-normal, 1.5));
1672
1679
  font-family: var(--hx-font-label-family, var(--hx-font-family-sans, sans-serif));
1673
1680
  }
1674
1681
 
1675
1682
  .required-indicator {
1676
- color: var(--hx-field-label-required-color, var(--hx-color-error-text, #b91c1c));
1683
+ color: var(--hx-field-label-required-color, var(--hx-color-error-text, #c92a2a));
1677
1684
  font-weight: var(--hx-font-weight-bold, 700);
1678
1685
  }
1679
1686
 
1680
1687
  .optional-indicator {
1681
1688
  font-size: var(--hx-font-size-xs, 0.75rem);
1682
1689
  font-weight: var(--hx-font-weight-normal, 400);
1683
- color: var(--hx-color-neutral-500, #64748b);
1690
+ color: var(--hx-color-text-muted, #66787b);
1684
1691
  }
1685
1692
 
1686
1693
  /* ─── High Contrast Mode (forced-colors) ─── */
@@ -1739,7 +1746,7 @@
1739
1746
  gap: var(--hx-space-1, 0.25rem);
1740
1747
  font-size: var(--hx-font-size-sm, 0.875rem);
1741
1748
  font-weight: var(--hx-font-weight-medium, 500);
1742
- color: var(--hx-color-neutral-700, #334155);
1749
+ color: var(--hx-color-text-strong, #202b39);
1743
1750
  line-height: var(--hx-line-height-normal, 1.5);
1744
1751
  }
1745
1752
 
@@ -1754,9 +1761,9 @@
1754
1761
  min-height: var(--hx-space-32, 8rem);
1755
1762
  padding: var(--hx-space-6, 1.5rem) var(--hx-space-4, 1rem);
1756
1763
  border: var(--hx-border-width-thin, 1px) dashed
1757
- var(--hx-file-upload-dropzone-border-color, var(--hx-color-neutral-300, #cbd5e1));
1764
+ var(--hx-file-upload-dropzone-border-color, var(--hx-color-border-strong, #66787b));
1758
1765
  border-radius: var(--hx-file-upload-dropzone-border-radius, var(--hx-border-radius-lg, 0.5rem));
1759
- background-color: var(--hx-file-upload-dropzone-bg, var(--hx-color-neutral-50, #f8fafc));
1766
+ background-color: var(--hx-file-upload-dropzone-bg, var(--hx-color-surface-raised, #f5f8f3));
1760
1767
  cursor: pointer;
1761
1768
  text-align: center;
1762
1769
  transition:
@@ -1764,38 +1771,32 @@
1764
1771
  background-color var(--hx-transition-fast, 150ms ease),
1765
1772
  box-shadow var(--hx-transition-fast, 150ms ease);
1766
1773
  user-select: none;
1767
- color: var(--hx-color-neutral-600, #475569);
1774
+ color: var(--hx-color-text-secondary, #313e4b);
1768
1775
  font-size: var(--hx-font-size-sm, 0.875rem);
1769
1776
  }
1770
1777
 
1771
1778
  .dropzone:focus-visible {
1772
1779
  outline: var(--hx-focus-ring-width, 2px) solid
1773
- var(
1774
- --hx-file-upload-focus-ring-color,
1775
- var(--hx-focus-ring-color, var(--hx-color-primary-500))
1776
- );
1780
+ var(--hx-file-upload-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
1777
1781
  outline-offset: var(--hx-focus-ring-offset, 2px);
1778
- border-color: var(
1779
- --hx-file-upload-focus-ring-color,
1780
- var(--hx-focus-ring-color, var(--hx-color-primary-500))
1781
- );
1782
+ border-color: var(--hx-file-upload-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
1782
1783
  }
1783
1784
 
1784
1785
  .dropzone--drag-over {
1785
- border-color: var(--hx-color-primary-500, #2563eb);
1786
+ border-color: var(--hx-color-primary-500, #429797);
1786
1787
  background-color: var(
1787
1788
  --hx-file-upload-dropzone-active-bg,
1788
1789
  color-mix(
1789
1790
  in srgb,
1790
- var(--hx-color-primary-500, #2563eb) 8%,
1791
- var(--hx-color-neutral-0, #ffffff)
1791
+ var(--hx-color-primary-500, #429797) 8%,
1792
+ var(--hx-color-surface-default, #ffffff)
1792
1793
  )
1793
1794
  );
1794
1795
  border-style: solid;
1795
1796
  }
1796
1797
 
1797
1798
  .dropzone--error {
1798
- border-color: var(--hx-file-upload-error-color, var(--hx-color-error-500, #dc2626));
1799
+ border-color: var(--hx-file-upload-error-color, var(--hx-color-error-500, #e5493e));
1799
1800
  }
1800
1801
 
1801
1802
  @media (prefers-reduced-motion: reduce) {
@@ -1840,9 +1841,9 @@
1840
1841
  flex-direction: column;
1841
1842
  gap: var(--hx-space-1, 0.25rem);
1842
1843
  padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
1843
- border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #e2e8f0);
1844
+ border: var(--hx-border-width-thin, 1px) solid var(--hx-color-border-default, #d6dbd5);
1844
1845
  border-radius: var(--hx-border-radius-md, 0.375rem);
1845
- background-color: var(--hx-color-neutral-0, #ffffff);
1846
+ background-color: var(--hx-color-surface-default, #ffffff);
1846
1847
  }
1847
1848
 
1848
1849
  .file-item__row {
@@ -1855,7 +1856,7 @@
1855
1856
  flex: 1;
1856
1857
  font-size: var(--hx-font-size-sm, 0.875rem);
1857
1858
  font-weight: var(--hx-font-weight-medium, 500);
1858
- color: var(--hx-color-neutral-800, #1e293b);
1859
+ color: var(--hx-color-text-strong, #202b39);
1859
1860
  overflow: hidden;
1860
1861
  text-overflow: ellipsis;
1861
1862
  white-space: nowrap;
@@ -1864,7 +1865,7 @@
1864
1865
  .file-item__size {
1865
1866
  flex-shrink: 0;
1866
1867
  font-size: var(--hx-font-size-xs, 0.75rem);
1867
- color: var(--hx-color-neutral-500, #64748b);
1868
+ color: var(--hx-color-text-muted, #4a5362);
1868
1869
  }
1869
1870
 
1870
1871
  .file-item__remove {
@@ -1878,7 +1879,7 @@
1878
1879
  border: none;
1879
1880
  border-radius: var(--hx-border-radius-sm, 0.25rem);
1880
1881
  background: transparent;
1881
- color: var(--hx-color-neutral-500, #64748b);
1882
+ color: var(--hx-color-text-muted, #4a5362);
1882
1883
  cursor: pointer;
1883
1884
  line-height: 1;
1884
1885
  transition:
@@ -1887,16 +1888,13 @@
1887
1888
  }
1888
1889
 
1889
1890
  .file-item__remove:hover {
1890
- color: var(--hx-file-upload-error-color, var(--hx-color-error-text, #b91c1c));
1891
- background-color: color-mix(in srgb, var(--hx-color-error-500, #dc2626) 8%, transparent);
1891
+ color: var(--hx-file-upload-error-color, var(--hx-color-error-text, #c92a2a));
1892
+ background-color: color-mix(in srgb, var(--hx-color-error-500, #e5493e) 8%, transparent);
1892
1893
  }
1893
1894
 
1894
1895
  .file-item__remove:focus-visible {
1895
1896
  outline: var(--hx-focus-ring-width, 2px) solid
1896
- var(
1897
- --hx-file-upload-focus-ring-color,
1898
- var(--hx-focus-ring-color, var(--hx-color-primary-500))
1899
- );
1897
+ var(--hx-file-upload-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
1900
1898
  outline-offset: var(--hx-focus-ring-offset, 2px);
1901
1899
  }
1902
1900
 
@@ -1911,7 +1909,7 @@
1911
1909
  .progress-track {
1912
1910
  width: 100%;
1913
1911
  height: var(--hx-file-upload-progress-height, var(--hx-space-1, 0.25rem));
1914
- background-color: var(--hx-color-neutral-200, #e2e8f0);
1912
+ background-color: var(--hx-color-border-default, #d6dbd5);
1915
1913
  border-radius: var(--hx-border-radius-full, 9999px);
1916
1914
  overflow: hidden;
1917
1915
  }
@@ -1919,7 +1917,7 @@
1919
1917
  .progress-bar {
1920
1918
  height: 100%;
1921
1919
  width: 100%;
1922
- background-color: var(--hx-file-upload-progress-color, var(--hx-color-primary-500, #2563eb));
1920
+ background-color: var(--hx-file-upload-progress-color, var(--hx-color-primary-500, #429797));
1923
1921
  border-radius: inherit;
1924
1922
  transform-origin: left center;
1925
1923
  transform: scaleX(var(--_progress-ratio, 0));
@@ -1950,7 +1948,7 @@
1950
1948
 
1951
1949
  .field__error {
1952
1950
  font-size: var(--hx-font-size-xs, 0.75rem);
1953
- color: var(--hx-file-upload-error-color, var(--hx-color-error-text, #b91c1c));
1951
+ color: var(--hx-file-upload-error-color, var(--hx-color-error-text, #c92a2a));
1954
1952
  line-height: var(--hx-line-height-normal, 1.5);
1955
1953
  }
1956
1954
 
@@ -2012,7 +2010,7 @@
2012
2010
  font-size: var(--hx-help-text-font-size, var(--hx-font-size-sm, 0.875rem));
2013
2011
  font-weight: var(--hx-help-text-font-weight, var(--hx-font-weight-normal, 400));
2014
2012
  line-height: var(--hx-help-text-line-height, var(--hx-line-height-normal, 1.5));
2015
- color: var(--hx-help-text-color, var(--hx-color-neutral-500, #64748b));
2013
+ color: var(--hx-help-text-color, var(--hx-color-text-muted, #4a5362));
2016
2014
  margin: 0;
2017
2015
  }
2018
2016
 
@@ -2029,25 +2027,25 @@
2029
2027
  /* ─── Variant: default ─── */
2030
2028
 
2031
2029
  .help-text--default {
2032
- --hx-help-text-color: var(--hx-color-neutral-500, #64748b);
2030
+ --hx-help-text-color: var(--hx-color-text-muted, #4a5362);
2033
2031
  }
2034
2032
 
2035
2033
  /* ─── Variant: error ─── */
2036
2034
 
2037
2035
  .help-text--error {
2038
- --hx-help-text-color: var(--hx-color-error-600, #b91c1c);
2036
+ --hx-help-text-color: var(--hx-color-error-600, #c92a2a);
2039
2037
  }
2040
2038
 
2041
2039
  /* ─── Variant: warning ─── */
2042
2040
 
2043
2041
  .help-text--warning {
2044
- --hx-help-text-color: var(--hx-color-warning-700, #92400e);
2042
+ --hx-help-text-color: var(--hx-color-warning-700, #804605);
2045
2043
  }
2046
2044
 
2047
2045
  /* ─── Variant: success ─── */
2048
2046
 
2049
2047
  .help-text--success {
2050
- --hx-help-text-color: var(--hx-color-success-700, #166534);
2048
+ --hx-help-text-color: var(--hx-color-success-700, #146831);
2051
2049
  }
2052
2050
 
2053
2051
  /* ─── High Contrast Mode (forced-colors) ─── */
@@ -2102,12 +2100,12 @@
2102
2100
  gap: var(--hx-space-1);
2103
2101
  font-size: var(--hx-font-size-sm);
2104
2102
  font-weight: var(--hx-font-weight-medium);
2105
- color: var(--hx-number-input-label-color, var(--hx-color-neutral-700));
2103
+ color: var(--hx-number-input-label-color, var(--hx-color-text-strong));
2106
2104
  line-height: var(--hx-line-height-normal);
2107
2105
  }
2108
2106
 
2109
2107
  .field__required-marker {
2110
- color: var(--hx-number-input-error-color, var(--hx-color-error-text, #b91c1c));
2108
+ color: var(--hx-number-input-error-color, var(--hx-color-error-text, #c92a2a));
2111
2109
  font-weight: var(--hx-font-weight-bold);
2112
2110
  }
2113
2111
 
@@ -2117,9 +2115,9 @@
2117
2115
  display: flex;
2118
2116
  align-items: stretch;
2119
2117
  border: var(--hx-border-width-thin) solid
2120
- var(--hx-number-input-border-color, var(--hx-color-neutral-300));
2118
+ var(--hx-number-input-border-color, var(--hx-color-border-strong));
2121
2119
  border-radius: var(--hx-number-input-border-radius, var(--hx-border-radius-md));
2122
- background-color: var(--hx-number-input-bg, var(--hx-color-neutral-0));
2120
+ background-color: var(--hx-number-input-bg, var(--hx-color-surface-default));
2123
2121
  transition:
2124
2122
  border-color var(--hx-transition-fast),
2125
2123
  box-shadow var(--hx-transition-fast);
@@ -2143,18 +2141,18 @@
2143
2141
  /* ─── Error State ─── */
2144
2142
 
2145
2143
  .field--error .field__input-wrapper {
2146
- border-color: var(--hx-number-input-error-color, var(--hx-color-error-500, #dc2626));
2144
+ border-color: var(--hx-number-input-error-color, var(--hx-color-error-500, #e5493e));
2147
2145
  }
2148
2146
 
2149
2147
  .field--error .field__input-wrapper:focus-within {
2150
- border-color: var(--hx-number-input-error-color, var(--hx-color-error-500, #dc2626));
2148
+ border-color: var(--hx-number-input-error-color, var(--hx-color-error-500, #e5493e));
2151
2149
  /* Fallback for Safari < 16.2 (no color-mix support) */
2152
2150
  box-shadow: 0 0 0 var(--hx-focus-ring-width)
2153
- var(--hx-number-input-error-color, var(--hx-color-error-500, #dc2626));
2151
+ var(--hx-number-input-error-color, var(--hx-color-error-500, #e5493e));
2154
2152
  box-shadow: 0 0 0 var(--hx-focus-ring-width)
2155
2153
  color-mix(
2156
2154
  in srgb,
2157
- var(--hx-number-input-error-color, var(--hx-color-error-500, #dc2626))
2155
+ var(--hx-number-input-error-color, var(--hx-color-error-500, #e5493e))
2158
2156
  calc(var(--hx-focus-ring-opacity) * 100%),
2159
2157
  transparent
2160
2158
  );
@@ -2167,7 +2165,7 @@
2167
2165
  display: flex;
2168
2166
  align-items: center;
2169
2167
  padding: 0 var(--hx-space-3);
2170
- color: var(--hx-color-neutral-500);
2168
+ color: var(--hx-color-text-muted);
2171
2169
  flex-shrink: 0;
2172
2170
  }
2173
2171
 
@@ -2179,7 +2177,7 @@
2179
2177
  outline: none;
2180
2178
  background: transparent;
2181
2179
  font-family: inherit;
2182
- color: var(--hx-number-input-color, var(--hx-color-neutral-800));
2180
+ color: var(--hx-number-input-color, var(--hx-color-text-strong));
2183
2181
  line-height: var(--hx-line-height-normal);
2184
2182
  width: 100%;
2185
2183
  /* Size: md (default) */
@@ -2189,7 +2187,7 @@
2189
2187
  }
2190
2188
 
2191
2189
  .field__input::placeholder {
2192
- color: var(--hx-color-neutral-400);
2190
+ color: var(--hx-color-text-placeholder);
2193
2191
  }
2194
2192
 
2195
2193
  .field__input:disabled {
@@ -2228,7 +2226,7 @@
2228
2226
  flex-direction: column;
2229
2227
  flex-shrink: 0;
2230
2228
  border-inline-start: var(--hx-border-width-thin) solid
2231
- var(--hx-number-input-border-color, var(--hx-color-neutral-300));
2229
+ var(--hx-number-input-border-color, var(--hx-color-border-strong));
2232
2230
  }
2233
2231
 
2234
2232
  .field__stepper-btn {
@@ -2238,7 +2236,7 @@
2238
2236
  background: transparent;
2239
2237
  border: none;
2240
2238
  cursor: pointer;
2241
- color: var(--hx-color-neutral-600);
2239
+ color: var(--hx-color-text-secondary);
2242
2240
  padding: 0;
2243
2241
  flex: 1;
2244
2242
  min-width: var(--hx-size-8);
@@ -2250,12 +2248,12 @@
2250
2248
 
2251
2249
  .field__stepper-btn:not(:last-child) {
2252
2250
  border-bottom: var(--hx-border-width-thin) solid
2253
- var(--hx-number-input-border-color, var(--hx-color-neutral-300));
2251
+ var(--hx-number-input-border-color, var(--hx-color-border-strong));
2254
2252
  }
2255
2253
 
2256
2254
  .field__stepper-btn:hover:not(:disabled) {
2257
- background-color: var(--hx-color-neutral-50);
2258
- color: var(--hx-color-neutral-800);
2255
+ background-color: var(--hx-color-surface-raised);
2256
+ color: var(--hx-color-text-strong);
2259
2257
  }
2260
2258
 
2261
2259
  /* Suppress focus ring for mouse/touch focus; keep for keyboard and programmatic focus */
@@ -2294,13 +2292,13 @@
2294
2292
 
2295
2293
  .field__help-text {
2296
2294
  font-size: var(--hx-font-size-xs);
2297
- color: var(--hx-color-neutral-500);
2295
+ color: var(--hx-color-text-muted);
2298
2296
  line-height: var(--hx-line-height-normal);
2299
2297
  }
2300
2298
 
2301
2299
  .field__error {
2302
2300
  font-size: var(--hx-font-size-xs);
2303
- color: var(--hx-number-input-error-color, var(--hx-color-error-text, #b91c1c));
2301
+ color: var(--hx-number-input-error-color, var(--hx-color-error-text, #c92a2a));
2304
2302
  line-height: var(--hx-line-height-normal);
2305
2303
  }
2306
2304
 
@@ -2427,14 +2425,14 @@
2427
2425
  gap: var(--hx-space-1, 0.25rem);
2428
2426
  font-size: var(--hx-font-size-sm, 0.875rem);
2429
2427
  font-weight: var(--hx-font-weight-medium, 500);
2430
- color: var(--hx-radio-group-label-color, var(--hx-color-neutral-700, #334155));
2428
+ color: var(--hx-radio-group-label-color, var(--hx-color-text-strong, #202b39));
2431
2429
  line-height: var(--hx-line-height-normal, 1.5);
2432
2430
  padding: 0;
2433
2431
  margin-bottom: var(--hx-space-1, 0.25rem);
2434
2432
  }
2435
2433
 
2436
2434
  .fieldset__required-marker {
2437
- color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #b91c1c));
2435
+ color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #c92a2a));
2438
2436
  font-weight: var(--hx-font-weight-bold, 700);
2439
2437
  }
2440
2438
 
@@ -2454,20 +2452,20 @@
2454
2452
  /* ─── Error State ─── */
2455
2453
 
2456
2454
  .fieldset--error .fieldset__legend {
2457
- color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #b91c1c));
2455
+ color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #c92a2a));
2458
2456
  }
2459
2457
 
2460
2458
  /* ─── Help Text & Error Messages ─── */
2461
2459
 
2462
2460
  .fieldset__help-text {
2463
2461
  font-size: var(--hx-font-size-xs, 0.75rem);
2464
- color: var(--hx-radio-group-help-text-color, var(--hx-color-neutral-500, #64748b));
2462
+ color: var(--hx-radio-group-help-text-color, var(--hx-color-text-muted, #66787b));
2465
2463
  line-height: var(--hx-line-height-normal, 1.5);
2466
2464
  }
2467
2465
 
2468
2466
  .fieldset__error {
2469
2467
  font-size: var(--hx-font-size-xs, 0.75rem);
2470
- color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #b91c1c));
2468
+ color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #c92a2a));
2471
2469
  line-height: var(--hx-line-height-normal, 1.5);
2472
2470
  }
2473
2471
 
@@ -2537,7 +2535,7 @@
2537
2535
  justify-content: center;
2538
2536
  position: relative;
2539
2537
  cursor: pointer;
2540
- color: var(--hx-rating-empty-color, var(--hx-color-neutral-300, #cbd5e1));
2538
+ color: var(--hx-rating-empty-color, var(--hx-color-border-strong, #66787b));
2541
2539
  line-height: 1;
2542
2540
  min-width: var(--hx-touch-target-min, 2.75rem);
2543
2541
  min-height: var(--hx-touch-target-min, 2.75rem);
@@ -2546,14 +2544,14 @@
2546
2544
 
2547
2545
  .symbol:focus-visible {
2548
2546
  outline: var(--hx-focus-ring-width, 2px) solid
2549
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa));
2547
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078));
2550
2548
  outline-offset: var(--hx-focus-ring-offset, 2px);
2551
2549
  border-radius: var(--hx-border-radius-sm, 0.25rem);
2552
2550
  }
2553
2551
 
2554
2552
  .symbol--full,
2555
2553
  .symbol--half {
2556
- color: var(--hx-rating-color, var(--hx-color-warning-400, #fbbf24));
2554
+ color: var(--hx-rating-color, var(--hx-color-warning-400, #da904f));
2557
2555
  }
2558
2556
 
2559
2557
  .symbol--disabled {
@@ -2562,7 +2560,7 @@
2562
2560
 
2563
2561
  .base:not(.base--readonly) .symbol:hover {
2564
2562
  transform: scale(1.15);
2565
- color: var(--hx-rating-hover-color, var(--hx-color-warning-300, #fcd34d));
2563
+ color: var(--hx-rating-hover-color, var(--hx-color-warning-300, #eeb383));
2566
2564
  }
2567
2565
 
2568
2566
  /* ─── Half-Star Layout ─── */
@@ -2588,7 +2586,7 @@
2588
2586
  position: absolute;
2589
2587
  left: 0;
2590
2588
  top: 0;
2591
- color: var(--hx-rating-empty-color, var(--hx-color-neutral-300, #cbd5e1));
2589
+ color: var(--hx-rating-empty-color, var(--hx-color-border-strong, #66787b));
2592
2590
  /* Clip to right 50% for the empty half */
2593
2591
  clip-path: inset(0 0 0 50%);
2594
2592
  }
@@ -2645,36 +2643,39 @@
2645
2643
  display: block;
2646
2644
 
2647
2645
  /* Background & foreground */
2648
- --_bg: var(--hx-select-bg, var(--hx-color-neutral-0, #ffffff));
2649
- --_color: var(--hx-select-color, var(--hx-color-neutral-800, #1e293b));
2650
- --_placeholder-color: var(--hx-select-placeholder-color, var(--hx-color-neutral-400, #94a3b8));
2646
+ --_bg: var(--hx-select-bg, var(--hx-color-surface-default, #ffffff));
2647
+ --_color: var(--hx-select-color, var(--hx-color-text-strong, #202b39));
2648
+ --_placeholder-color: var(
2649
+ --hx-select-placeholder-color,
2650
+ var(--hx-color-text-placeholder, #66787b)
2651
+ );
2651
2652
 
2652
2653
  /* Label */
2653
- --_label-color: var(--hx-select-label-color, var(--hx-color-neutral-700, #334155));
2654
+ --_label-color: var(--hx-select-label-color, var(--hx-color-text-strong, #202b39));
2654
2655
 
2655
2656
  /* Border */
2656
- --_border-color: var(--hx-select-border-color, var(--hx-color-neutral-300, #cbd5e1));
2657
+ --_border-color: var(--hx-select-border-color, var(--hx-color-border-strong, #66787b));
2657
2658
  --_border-radius: var(--hx-select-border-radius, var(--hx-border-radius-md, 0.375rem));
2658
2659
 
2659
2660
  /* Focus ring */
2660
2661
  --_focus-ring-color: var(
2661
2662
  --hx-select-focus-ring-color,
2662
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
2663
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
2663
2664
  );
2664
2665
 
2665
2666
  /* Error */
2666
- --_error-color: var(--hx-select-error-color, var(--hx-color-error-500, #dc2626));
2667
+ --_error-color: var(--hx-select-error-color, var(--hx-color-error-500, #e5493e));
2667
2668
 
2668
2669
  /* Chevron */
2669
- --_chevron-color: var(--hx-select-chevron-color, var(--hx-color-neutral-500, #64748b));
2670
+ --_chevron-color: var(--hx-select-chevron-color, var(--hx-color-text-muted, #4a5362));
2670
2671
  --_chevron-size: var(--hx-select-chevron-size, 0.5rem);
2671
2672
 
2672
2673
  /* Listbox */
2673
- --_listbox-bg: var(--hx-select-listbox-bg, var(--hx-color-neutral-0, #ffffff));
2674
- --_option-hover-bg: var(--hx-select-option-hover-bg, var(--hx-color-primary-50, #eff6ff));
2674
+ --_listbox-bg: var(--hx-select-listbox-bg, var(--hx-color-surface-default, #ffffff));
2675
+ --_option-hover-bg: var(--hx-select-option-hover-bg, var(--hx-color-primary-50, #ebf8f8));
2675
2676
  --_option-selected-bg: var(
2676
2677
  --hx-select-option-selected-bg,
2677
- var(--hx-color-primary-100, #dbeafe)
2678
+ var(--hx-color-primary-100, #dbf0f0)
2678
2679
  );
2679
2680
 
2680
2681
  /* Typography */
@@ -2709,7 +2710,7 @@
2709
2710
  }
2710
2711
 
2711
2712
  .field__required-marker {
2712
- color: var(--hx-select-error-color, var(--hx-color-error-text, #b91c1c));
2713
+ color: var(--hx-select-error-color, var(--hx-color-error-text, #c92a2a));
2713
2714
  font-weight: var(--hx-font-weight-bold, 700);
2714
2715
  }
2715
2716
 
@@ -2872,8 +2873,7 @@
2872
2873
 
2873
2874
  .field__option--focused {
2874
2875
  background-color: var(--_option-hover-bg);
2875
- outline: var(--hx-focus-ring-width, 2px) solid
2876
- var(--_focus-ring-color, var(--hx-color-primary-500));
2876
+ outline: var(--hx-focus-ring-width, 2px) solid var(--_focus-ring-color);
2877
2877
  outline-offset: var(--hx-select-option-focus-ring-offset, -2px);
2878
2878
  }
2879
2879
 
@@ -2918,11 +2918,11 @@
2918
2918
  }
2919
2919
 
2920
2920
  .field__help-text {
2921
- color: var(--hx-color-neutral-500, #64748b);
2921
+ color: var(--hx-color-text-muted, #4a5362);
2922
2922
  }
2923
2923
 
2924
2924
  .field__error {
2925
- color: var(--hx-select-error-color, var(--hx-color-error-text, #b91c1c));
2925
+ color: var(--hx-select-error-color, var(--hx-color-error-text, #c92a2a));
2926
2926
  }
2927
2927
 
2928
2928
  @media (prefers-reduced-motion: reduce) {
@@ -3049,14 +3049,14 @@
3049
3049
  .slider__label {
3050
3050
  font-size: var(--hx-font-size-sm, 0.875rem);
3051
3051
  font-weight: var(--hx-font-weight-medium, 500);
3052
- color: var(--hx-slider-label-color, var(--hx-color-neutral-700, #334155));
3052
+ color: var(--hx-slider-label-color, var(--hx-color-text-strong, #202b39));
3053
3053
  line-height: var(--hx-line-height-normal, 1.5);
3054
3054
  }
3055
3055
 
3056
3056
  .slider__value-display {
3057
3057
  font-size: var(--hx-font-size-sm, 0.875rem);
3058
3058
  font-weight: var(--hx-font-weight-medium, 500);
3059
- color: var(--hx-slider-value-color, var(--hx-color-neutral-600, #475569));
3059
+ color: var(--hx-slider-value-color, var(--hx-color-text-secondary, #313e4b));
3060
3060
  line-height: var(--hx-line-height-normal, 1.5);
3061
3061
  font-variant-numeric: tabular-nums;
3062
3062
  min-width: var(--hx-size-8, 2rem);
@@ -3074,7 +3074,7 @@
3074
3074
  position: relative;
3075
3075
  width: 100%;
3076
3076
  border-radius: var(--hx-border-radius-full, 9999px);
3077
- background-color: var(--hx-slider-track-bg, var(--hx-color-neutral-200, #e2e8f0));
3077
+ background-color: var(--hx-slider-track-bg, var(--hx-color-border-default, #d6dbd5));
3078
3078
  overflow: visible;
3079
3079
  }
3080
3080
 
@@ -3117,7 +3117,7 @@
3117
3117
  height: 100%;
3118
3118
  width: 100%;
3119
3119
  border-radius: var(--hx-border-radius-full, 9999px);
3120
- background-color: var(--hx-slider-fill-bg, var(--hx-color-primary-500, #2563eb));
3120
+ background-color: var(--hx-slider-fill-bg, var(--hx-color-primary-500, #429797));
3121
3121
  pointer-events: none;
3122
3122
  transform-origin: left center;
3123
3123
  transform: scaleX(var(--_fill-ratio, 0));
@@ -3196,9 +3196,9 @@
3196
3196
  left: calc(var(--fill-pct, 0) * 1% + var(--_thumb-size, 1rem) * (1 - var(--fill-pct, 0) / 100));
3197
3197
  transform: translate(-50%, -50%);
3198
3198
  border-radius: var(--hx-border-radius-full, 9999px);
3199
- background-color: var(--hx-slider-thumb-bg, var(--hx-color-neutral-0, #ffffff));
3199
+ background-color: var(--hx-slider-thumb-bg, var(--hx-color-surface-default, #ffffff));
3200
3200
  border: var(--hx-slider-thumb-border-width, 2px) solid
3201
- var(--hx-slider-thumb-border-color, var(--hx-color-primary-500, #2563eb));
3201
+ var(--hx-slider-thumb-border-color, var(--hx-color-primary-500, #429797));
3202
3202
  box-shadow: var(--hx-slider-thumb-shadow, var(--hx-shadow-sm, 0 1px 2px 0 rgb(0 0 0 / 0.05)));
3203
3203
  pointer-events: none;
3204
3204
  transition:
@@ -3217,7 +3217,7 @@
3217
3217
  0 0 0 var(--hx-focus-ring-width, 2px)
3218
3218
  var(
3219
3219
  --hx-slider-focus-ring-color,
3220
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
3220
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
3221
3221
  ),
3222
3222
  var(--hx-slider-thumb-shadow, var(--hx-shadow-sm, 0 1px 2px 0 rgb(0 0 0 / 0.05)));
3223
3223
  }
@@ -3274,7 +3274,7 @@
3274
3274
  top: 0;
3275
3275
  width: var(--hx-border-width-thin, 1px);
3276
3276
  height: 100%;
3277
- background-color: var(--hx-slider-tick-color, var(--hx-color-neutral-400, #94a3b8));
3277
+ background-color: var(--hx-slider-tick-color, var(--hx-color-border-strong, #66787b));
3278
3278
  transform: translateX(-50%);
3279
3279
  }
3280
3280
 
@@ -3284,7 +3284,7 @@
3284
3284
  display: flex;
3285
3285
  justify-content: space-between;
3286
3286
  font-size: var(--hx-font-size-xs, 0.75rem);
3287
- color: var(--hx-slider-range-label-color, var(--hx-color-neutral-500, #64748b));
3287
+ color: var(--hx-slider-range-label-color, var(--hx-color-text-muted, #4a5362));
3288
3288
  line-height: var(--hx-line-height-normal, 1.5);
3289
3289
  margin-top: var(--hx-space-0-5, 0.125rem);
3290
3290
  }
@@ -3293,18 +3293,21 @@
3293
3293
 
3294
3294
  .slider__help-text {
3295
3295
  font-size: var(--hx-font-size-xs, 0.75rem);
3296
- color: var(--hx-slider-help-text-color, var(--hx-color-neutral-500, #64748b));
3296
+ color: var(--hx-slider-help-text-color, var(--hx-color-text-muted, #4a5362));
3297
3297
  line-height: var(--hx-line-height-normal, 1.5);
3298
3298
  }
3299
3299
 
3300
3300
  /* ─── Disabled state ─── */
3301
3301
 
3302
3302
  .slider--disabled .slider__fill {
3303
- background-color: var(--hx-color-neutral-400, #94a3b8);
3303
+ background-color: var(--hx-slider-disabled-fill-bg, var(--hx-color-border-strong, #66787b));
3304
3304
  }
3305
3305
 
3306
3306
  .slider--disabled .slider__thumb-visual {
3307
- border-color: var(--hx-color-neutral-400, #94a3b8);
3307
+ border-color: var(
3308
+ --hx-slider-disabled-thumb-border-color,
3309
+ var(--hx-color-border-strong, #66787b)
3310
+ );
3308
3311
  }
3309
3312
  /* ── hx-switch ── */
3310
3313
  :host {
@@ -3349,7 +3352,7 @@
3349
3352
  border: none;
3350
3353
  padding: 0;
3351
3354
  border-radius: var(--hx-border-radius-full, 9999px);
3352
- background-color: var(--hx-switch-track-bg, var(--hx-color-neutral-300, #cbd5e1));
3355
+ background-color: var(--hx-switch-track-bg, var(--hx-color-border-strong, #66787b));
3353
3356
  cursor: pointer;
3354
3357
  transition: background-color var(--hx-transition-fast, 150ms ease);
3355
3358
  outline: none;
@@ -3361,13 +3364,21 @@
3361
3364
  outline: var(--hx-focus-ring-width, 2px) solid
3362
3365
  var(
3363
3366
  --hx-switch-focus-ring-color,
3364
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
3367
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
3365
3368
  );
3366
3369
  outline-offset: var(--hx-focus-ring-offset, 2px);
3367
3370
  }
3368
3371
 
3369
3372
  .switch--checked .switch__track {
3370
- background-color: var(--hx-switch-track-checked-bg, var(--hx-color-primary-500, #2563eb));
3373
+ background-color: var(--hx-switch-track-checked-bg, var(--hx-color-primary-500, #429797));
3374
+ }
3375
+
3376
+ .switch:not(.switch--checked) .switch__track:hover {
3377
+ background-color: var(--hx-switch-track-hover-bg, var(--hx-color-border-strong, #66787b));
3378
+ }
3379
+
3380
+ .switch--checked .switch__track:hover {
3381
+ background-color: var(--hx-switch-track-checked-hover-bg, var(--hx-color-primary-600, #0f7078));
3371
3382
  }
3372
3383
 
3373
3384
  /* --- Thumb --- */
@@ -3375,7 +3386,7 @@
3375
3386
  .switch__thumb {
3376
3387
  position: absolute;
3377
3388
  border-radius: var(--hx-border-radius-full, 9999px);
3378
- background-color: var(--hx-switch-thumb-bg, var(--hx-color-neutral-0, #ffffff));
3389
+ background-color: var(--hx-switch-thumb-bg, var(--hx-color-surface-default, #ffffff));
3379
3390
  box-shadow: var(--hx-switch-thumb-shadow, var(--hx-shadow-sm, 0 1px 2px 0 rgb(0 0 0 / 0.05)));
3380
3391
  transition: transform var(--hx-transition-fast, 150ms ease);
3381
3392
  }
@@ -3445,7 +3456,7 @@
3445
3456
  .switch__label {
3446
3457
  font-size: var(--hx-font-size-sm, 0.875rem);
3447
3458
  font-weight: var(--hx-font-weight-medium, 500);
3448
- color: var(--hx-switch-label-color, var(--hx-color-neutral-700, #334155));
3459
+ color: var(--hx-switch-label-color, var(--hx-color-text-strong, #202b39));
3449
3460
  line-height: var(--hx-line-height-normal, 1.5);
3450
3461
  cursor: pointer;
3451
3462
  user-select: none;
@@ -3453,7 +3464,7 @@
3453
3464
  }
3454
3465
 
3455
3466
  .switch__required-marker {
3456
- color: var(--hx-switch-error-color, var(--hx-color-error-text, #b91c1c));
3467
+ color: var(--hx-switch-error-color, var(--hx-color-error-text, #c92a2a));
3457
3468
  font-weight: var(--hx-font-weight-bold, 700);
3458
3469
  }
3459
3470
 
@@ -3461,13 +3472,13 @@
3461
3472
 
3462
3473
  .switch__help-text {
3463
3474
  font-size: var(--hx-font-size-xs, 0.75rem);
3464
- color: var(--hx-switch-help-text-color, var(--hx-color-neutral-500, #64748b));
3475
+ color: var(--hx-switch-help-text-color, var(--hx-color-text-muted, #4a5362));
3465
3476
  line-height: var(--hx-line-height-normal, 1.5);
3466
3477
  }
3467
3478
 
3468
3479
  .switch__error {
3469
3480
  font-size: var(--hx-font-size-xs, 0.75rem);
3470
- color: var(--hx-switch-error-color, var(--hx-color-error-text, #b91c1c));
3481
+ color: var(--hx-switch-error-color, var(--hx-color-error-text, #c92a2a));
3471
3482
  line-height: var(--hx-line-height-normal, 1.5);
3472
3483
  }
3473
3484
 
@@ -3540,6 +3551,100 @@
3540
3551
  /* ── hx-text-input ── */
3541
3552
  :host {
3542
3553
  display: block;
3554
+
3555
+ /* ─── Component tokens (3.2.0) ──────────────────────────────────── */
3556
+
3557
+ /* Surface */
3558
+ --_text-input-bg: var(
3559
+ --hx-text-input-bg,
3560
+ var(--hx-input-bg, var(--hx-color-surface-default, #ffffff))
3561
+ );
3562
+ --_text-input-color: var(
3563
+ --hx-text-input-color,
3564
+ var(--hx-input-color, var(--hx-color-text-strong, #202b39))
3565
+ );
3566
+ --_text-input-placeholder-color: var(
3567
+ --hx-text-input-placeholder-color,
3568
+ var(--hx-color-text-placeholder, #66787b)
3569
+ );
3570
+
3571
+ /* Border */
3572
+ --_text-input-border-color: var(
3573
+ --hx-text-input-border-color,
3574
+ var(--hx-input-border-color, var(--hx-color-border-strong, #66787b))
3575
+ );
3576
+ --_text-input-border-color-hover: var(
3577
+ --hx-text-input-border-color-hover,
3578
+ var(--hx-color-border-strong, #66787b)
3579
+ );
3580
+ --_text-input-border-color-focus: var(
3581
+ --hx-text-input-border-color-focus,
3582
+ var(
3583
+ --hx-input-focus-ring-color,
3584
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
3585
+ )
3586
+ );
3587
+ --_text-input-border-color-invalid: var(
3588
+ --hx-text-input-border-color-invalid,
3589
+ var(--hx-input-error-color, var(--hx-color-error-600, #c92a2a))
3590
+ );
3591
+ --_text-input-border-width: var(--hx-text-input-border-width, var(--hx-border-width-thin, 1px));
3592
+ --_text-input-border-radius: var(
3593
+ --hx-text-input-border-radius,
3594
+ var(--hx-input-border-radius, var(--hx-border-radius-md, 0.375rem))
3595
+ );
3596
+
3597
+ /* Spacing */
3598
+ --_text-input-padding-x: var(--hx-text-input-padding-x, var(--hx-space-3, 0.75rem));
3599
+ --_text-input-padding-y: var(--hx-text-input-padding-y, var(--hx-space-2, 0.5rem));
3600
+
3601
+ /* Typography */
3602
+ --_text-input-font-family: var(
3603
+ --hx-text-input-font-family,
3604
+ var(--hx-input-font-family, var(--hx-font-family-sans, sans-serif))
3605
+ );
3606
+ --_text-input-font-size: var(--hx-text-input-font-size, var(--hx-font-size-md, 1rem));
3607
+
3608
+ /* Focus ring */
3609
+ --_text-input-focus-ring-color: var(
3610
+ --hx-text-input-focus-ring-color,
3611
+ var(
3612
+ --hx-input-focus-ring-color,
3613
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
3614
+ )
3615
+ );
3616
+ --_text-input-focus-ring-width: var(
3617
+ --hx-text-input-focus-ring-width,
3618
+ var(--hx-focus-ring-width, 2px)
3619
+ );
3620
+ --_text-input-focus-ring-offset: var(
3621
+ --hx-text-input-focus-ring-offset,
3622
+ var(--hx-focus-ring-offset, 0px)
3623
+ );
3624
+
3625
+ /* Disabled */
3626
+ --_text-input-disabled-bg: var(
3627
+ --hx-text-input-disabled-bg,
3628
+ var(--hx-color-surface-sunken, #ebeee9)
3629
+ );
3630
+ --_text-input-disabled-color: var(
3631
+ --hx-text-input-disabled-color,
3632
+ var(--hx-color-text-disabled, #8e9c98)
3633
+ );
3634
+
3635
+ /* Label / help / error */
3636
+ --_text-input-label-color: var(
3637
+ --hx-text-input-label-color,
3638
+ var(--hx-input-label-color, var(--hx-color-text-strong, #202b39))
3639
+ );
3640
+ --_text-input-help-text-color: var(
3641
+ --hx-text-input-help-text-color,
3642
+ var(--hx-color-text-muted, #4a5362)
3643
+ );
3644
+ --_text-input-error-color: var(
3645
+ --hx-text-input-error-color,
3646
+ var(--hx-input-error-color, var(--hx-color-error-text, #c92a2a))
3647
+ );
3543
3648
  }
3544
3649
 
3545
3650
  :host([disabled]) {
@@ -3554,36 +3659,13 @@
3554
3659
  * These complement the :focus-within rules on .field__input-wrapper and are
3555
3660
  * exposed as theming hooks for consumers who target the host element.
3556
3661
  */
3557
- :host([focused]) .field__input-wrapper {
3558
- border-color: var(
3559
- --hx-input-focus-ring-color,
3560
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
3561
- );
3562
- box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
3563
- color-mix(
3564
- in srgb,
3565
- var(
3566
- --hx-input-focus-ring-color,
3567
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
3568
- )
3569
- calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
3570
- transparent
3571
- );
3572
- }
3573
-
3662
+ :host([focused]) .field__input-wrapper,
3574
3663
  :host([focused-visible]) .field__input-wrapper {
3575
- border-color: var(
3576
- --hx-input-focus-ring-color,
3577
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
3578
- );
3579
- box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
3664
+ border-color: var(--_text-input-border-color-focus);
3665
+ box-shadow: 0 0 0 var(--_text-input-focus-ring-width)
3580
3666
  color-mix(
3581
3667
  in srgb,
3582
- var(
3583
- --hx-input-focus-ring-color,
3584
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
3585
- )
3586
- calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
3668
+ var(--_text-input-border-color-focus) calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
3587
3669
  transparent
3588
3670
  );
3589
3671
  }
@@ -3596,7 +3678,7 @@
3596
3678
  display: flex;
3597
3679
  flex-direction: column;
3598
3680
  gap: var(--hx-space-1, 0.25rem);
3599
- font-family: var(--hx-input-font-family, var(--hx-font-family-sans, sans-serif));
3681
+ font-family: var(--_text-input-font-family);
3600
3682
  }
3601
3683
 
3602
3684
  /* ─── Label ─── */
@@ -3611,12 +3693,12 @@
3611
3693
  gap: var(--hx-space-1, 0.25rem);
3612
3694
  font-size: var(--hx-font-size-sm, 0.875rem);
3613
3695
  font-weight: var(--hx-font-weight-medium, 500);
3614
- color: var(--hx-input-label-color, var(--hx-color-neutral-700, #334155));
3696
+ color: var(--_text-input-label-color);
3615
3697
  line-height: var(--hx-line-height-normal, 1.5);
3616
3698
  }
3617
3699
 
3618
3700
  .field__required-marker {
3619
- color: var(--hx-input-error-color, var(--hx-color-error-text, #b91c1c));
3701
+ color: var(--_text-input-error-color);
3620
3702
  font-weight: var(--hx-font-weight-bold, 700);
3621
3703
  }
3622
3704
 
@@ -3625,29 +3707,25 @@
3625
3707
  .field__input-wrapper {
3626
3708
  display: flex;
3627
3709
  align-items: center;
3628
- border: var(--hx-border-width-thin, 1px) solid
3629
- var(--hx-input-border-color, var(--hx-color-neutral-300, #cbd5e1));
3630
- border-radius: var(--hx-input-border-radius, var(--hx-border-radius-md, 0.375rem));
3631
- background-color: var(--hx-input-bg, var(--hx-color-neutral-0, #ffffff));
3710
+ border: var(--_text-input-border-width) solid var(--_text-input-border-color);
3711
+ border-radius: var(--_text-input-border-radius);
3712
+ background-color: var(--_text-input-bg);
3632
3713
  transition:
3633
3714
  border-color var(--hx-transition-fast, 150ms ease),
3634
3715
  box-shadow var(--hx-transition-fast, 150ms ease);
3635
3716
  overflow: hidden;
3636
3717
  }
3637
3718
 
3719
+ .field__input-wrapper:hover {
3720
+ border-color: var(--_text-input-border-color-hover);
3721
+ }
3722
+
3638
3723
  .field__input-wrapper:focus-within {
3639
- border-color: var(
3640
- --hx-input-focus-ring-color,
3641
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
3642
- );
3643
- box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
3724
+ border-color: var(--_text-input-border-color-focus);
3725
+ box-shadow: 0 0 0 var(--_text-input-focus-ring-width)
3644
3726
  color-mix(
3645
3727
  in srgb,
3646
- var(
3647
- --hx-input-focus-ring-color,
3648
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
3649
- )
3650
- calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
3728
+ var(--_text-input-border-color-focus) calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
3651
3729
  transparent
3652
3730
  );
3653
3731
  }
@@ -3655,16 +3733,15 @@
3655
3733
  /* ─── Error State ─── */
3656
3734
 
3657
3735
  .field--error .field__input-wrapper {
3658
- border-color: var(--hx-input-error-color, var(--hx-color-error-500, #dc2626));
3736
+ border-color: var(--_text-input-border-color-invalid);
3659
3737
  }
3660
3738
 
3661
3739
  .field--error .field__input-wrapper:focus-within {
3662
- border-color: var(--hx-input-error-color, var(--hx-color-error-500, #dc2626));
3663
- box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
3740
+ border-color: var(--_text-input-border-color-invalid);
3741
+ box-shadow: 0 0 0 var(--_text-input-focus-ring-width)
3664
3742
  color-mix(
3665
3743
  in srgb,
3666
- var(--hx-input-error-color, var(--hx-color-error-500, #dc2626))
3667
- calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
3744
+ var(--_text-input-border-color-invalid) calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
3668
3745
  transparent
3669
3746
  );
3670
3747
  }
@@ -3675,17 +3752,17 @@
3675
3752
  .field__suffix {
3676
3753
  display: flex;
3677
3754
  align-items: center;
3678
- color: var(--hx-color-neutral-500, #64748b);
3755
+ color: var(--hx-color-text-muted, #4a5362);
3679
3756
  flex-shrink: 0;
3680
3757
  }
3681
3758
 
3682
3759
  /* Only add padding when slot has content — avoids phantom space on empty slots */
3683
3760
  .field__prefix--filled {
3684
- padding: 0 var(--hx-space-3, 0.75rem);
3761
+ padding: 0 var(--_text-input-padding-x);
3685
3762
  }
3686
3763
 
3687
3764
  .field__suffix--filled {
3688
- padding: 0 var(--hx-space-3, 0.75rem);
3765
+ padding: 0 var(--_text-input-padding-x);
3689
3766
  }
3690
3767
 
3691
3768
  /* ─── Native Input ─── */
@@ -3695,17 +3772,17 @@
3695
3772
  border: none;
3696
3773
  outline: none;
3697
3774
  background: transparent;
3698
- padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
3775
+ padding: var(--_text-input-padding-y) var(--_text-input-padding-x);
3699
3776
  font-family: inherit;
3700
- font-size: var(--hx-font-size-md, 1rem);
3701
- color: var(--hx-input-color, var(--hx-color-neutral-800, #1e293b));
3777
+ font-size: var(--_text-input-font-size);
3778
+ color: var(--_text-input-color);
3702
3779
  line-height: var(--hx-line-height-normal, 1.5);
3703
3780
  min-height: var(--hx-size-10, 2.5rem);
3704
3781
  width: 100%;
3705
3782
  }
3706
3783
 
3707
3784
  .field__input::placeholder {
3708
- color: var(--hx-color-neutral-400, #94a3b8);
3785
+ color: var(--_text-input-placeholder-color);
3709
3786
  }
3710
3787
 
3711
3788
  .field__input:focus-visible {
@@ -3714,6 +3791,12 @@
3714
3791
 
3715
3792
  .field__input:disabled {
3716
3793
  cursor: not-allowed;
3794
+ background-color: var(--_text-input-disabled-bg);
3795
+ color: var(--_text-input-disabled-color);
3796
+ }
3797
+
3798
+ :host([disabled]) .field__input-wrapper {
3799
+ background-color: var(--_text-input-disabled-bg);
3717
3800
  }
3718
3801
 
3719
3802
  /* ─── Size Variants ─── */
@@ -3721,7 +3804,7 @@
3721
3804
  .field--size-sm .field__input {
3722
3805
  padding: var(--hx-space-1, 0.25rem) var(--hx-space-2, 0.5rem);
3723
3806
  min-height: var(--hx-size-8, 2rem);
3724
- font-size: var(--hx-input-sm-font-size, 0.875rem);
3807
+ font-size: var(--hx-text-input-sm-font-size, var(--hx-input-sm-font-size, 0.875rem));
3725
3808
  }
3726
3809
 
3727
3810
  .field--size-md .field__input {
@@ -3731,20 +3814,20 @@
3731
3814
  .field--size-lg .field__input {
3732
3815
  padding: var(--hx-space-3, 0.75rem) var(--hx-space-4, 1rem);
3733
3816
  min-height: var(--hx-size-12, 3rem);
3734
- font-size: var(--hx-input-lg-font-size, 1.125rem);
3817
+ font-size: var(--hx-text-input-lg-font-size, var(--hx-input-lg-font-size, 1.125rem));
3735
3818
  }
3736
3819
 
3737
3820
  /* ─── Help Text & Error Messages ─── */
3738
3821
 
3739
3822
  .field__help-text {
3740
3823
  font-size: var(--hx-font-size-xs, 0.75rem);
3741
- color: var(--hx-color-neutral-500, #64748b);
3824
+ color: var(--_text-input-help-text-color);
3742
3825
  line-height: var(--hx-line-height-normal, 1.5);
3743
3826
  }
3744
3827
 
3745
3828
  .field__error {
3746
3829
  font-size: var(--hx-font-size-xs, 0.75rem);
3747
- color: var(--hx-input-error-color, var(--hx-color-error-text, #b91c1c));
3830
+ color: var(--_text-input-error-color);
3748
3831
  line-height: var(--hx-line-height-normal, 1.5);
3749
3832
  }
3750
3833
 
@@ -3756,7 +3839,13 @@
3756
3839
  }
3757
3840
  }
3758
3841
 
3759
- /* ─── High Contrast Mode (forced-colors) ─── */
3842
+ /* ─── High Contrast Mode (forced-colors) ───
3843
+ *
3844
+ * Bespoke block — sole owner of forced-colors deference for hx-text-input.
3845
+ * Covers wrapper/input/placeholder/focus/disabled/error/label/help-text;
3846
+ * strictly more than forcedColorsField. The mixin is intentionally NOT
3847
+ * composed (XOR rule — see styles/forced-colors.ts COMPOSITION RULES).
3848
+ */
3760
3849
 
3761
3850
  @media (forced-colors: active) {
3762
3851
  .field__input-wrapper {
@@ -3816,6 +3905,42 @@
3816
3905
  /* ── hx-textarea ── */
3817
3906
  :host {
3818
3907
  display: block;
3908
+
3909
+ /* ─── Component tokens (3.2.0) ──────────────────────────────────── */
3910
+ --_textarea-bg: var(
3911
+ --hx-textarea-bg,
3912
+ var(--hx-input-bg, var(--hx-color-surface-default, #ffffff))
3913
+ );
3914
+ --_textarea-color: var(
3915
+ --hx-textarea-color,
3916
+ var(--hx-input-color, var(--hx-color-text-strong, #202b39))
3917
+ );
3918
+ --_textarea-border-color: var(
3919
+ --hx-textarea-border-color,
3920
+ var(--hx-input-border-color, var(--hx-color-border-strong, #66787b))
3921
+ );
3922
+ --_textarea-border-color-focus: var(
3923
+ --hx-textarea-border-color-focus,
3924
+ var(
3925
+ --hx-input-focus-ring-color,
3926
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
3927
+ )
3928
+ );
3929
+ --_textarea-border-color-invalid: var(
3930
+ --hx-textarea-border-color-invalid,
3931
+ var(--hx-input-error-color, var(--hx-color-error-600, #c92a2a))
3932
+ );
3933
+ --_textarea-border-radius: var(
3934
+ --hx-textarea-border-radius,
3935
+ var(--hx-input-border-radius, var(--hx-border-radius-md, 0.375rem))
3936
+ );
3937
+ --_textarea-padding-x: var(--hx-textarea-padding-x, var(--hx-space-3, 0.75rem));
3938
+ --_textarea-padding-y: var(--hx-textarea-padding-y, var(--hx-space-2, 0.5rem));
3939
+ --_textarea-font-size: var(--hx-textarea-font-size, var(--hx-font-size-md, 1rem));
3940
+ --_textarea-placeholder-color: var(
3941
+ --hx-textarea-placeholder-color,
3942
+ var(--hx-color-text-placeholder, #66787b)
3943
+ );
3819
3944
  }
3820
3945
 
3821
3946
  :host([disabled]) {
@@ -3831,7 +3956,10 @@
3831
3956
  display: flex;
3832
3957
  flex-direction: column;
3833
3958
  gap: var(--hx-space-1, 0.25rem);
3834
- font-family: var(--hx-input-font-family, var(--hx-font-family-sans, sans-serif));
3959
+ font-family: var(
3960
+ --hx-textarea-font-family,
3961
+ var(--hx-input-font-family, var(--hx-font-family-sans, sans-serif))
3962
+ );
3835
3963
  }
3836
3964
 
3837
3965
  /* --- Label --- */
@@ -3846,12 +3974,18 @@
3846
3974
  gap: var(--hx-space-1, 0.25rem);
3847
3975
  font-size: var(--hx-font-size-sm, 0.875rem);
3848
3976
  font-weight: var(--hx-font-weight-medium, 500);
3849
- color: var(--hx-input-label-color, var(--hx-color-neutral-700, #334155));
3977
+ color: var(
3978
+ --hx-textarea-label-color,
3979
+ var(--hx-input-label-color, var(--hx-color-text-strong, #202b39))
3980
+ );
3850
3981
  line-height: var(--hx-line-height-normal, 1.5);
3851
3982
  }
3852
3983
 
3853
3984
  .field__required-marker {
3854
- color: var(--hx-input-error-color, var(--hx-color-error-text, #b91c1c));
3985
+ color: var(
3986
+ --hx-textarea-error-color,
3987
+ var(--hx-input-error-color, var(--hx-color-error-text, #c92a2a))
3988
+ );
3855
3989
  font-weight: var(--hx-font-weight-bold, 700);
3856
3990
  }
3857
3991
 
@@ -3860,10 +3994,9 @@
3860
3994
  .field__textarea-wrapper {
3861
3995
  display: flex;
3862
3996
  flex-direction: column;
3863
- border: var(--hx-border-width-thin, 1px) solid
3864
- var(--hx-input-border-color, var(--hx-color-neutral-300, #cbd5e1));
3865
- border-radius: var(--hx-input-border-radius, var(--hx-border-radius-md, 0.375rem));
3866
- background-color: var(--hx-input-bg, var(--hx-color-neutral-0, #ffffff));
3997
+ border: var(--hx-border-width-thin, 1px) solid var(--_textarea-border-color);
3998
+ border-radius: var(--_textarea-border-radius);
3999
+ background-color: var(--_textarea-bg);
3867
4000
  transition:
3868
4001
  border-color var(--hx-transition-fast, 150ms ease),
3869
4002
  box-shadow var(--hx-transition-fast, 150ms ease);
@@ -3871,18 +4004,11 @@
3871
4004
  }
3872
4005
 
3873
4006
  .field__textarea-wrapper:focus-within {
3874
- border-color: var(
3875
- --hx-input-focus-ring-color,
3876
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
3877
- );
4007
+ border-color: var(--_textarea-border-color-focus);
3878
4008
  box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
3879
4009
  color-mix(
3880
4010
  in srgb,
3881
- var(
3882
- --hx-input-focus-ring-color,
3883
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
3884
- )
3885
- calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
4011
+ var(--_textarea-border-color-focus) calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
3886
4012
  transparent
3887
4013
  );
3888
4014
  }
@@ -3890,16 +4016,15 @@
3890
4016
  /* --- Error State --- */
3891
4017
 
3892
4018
  .field--error .field__textarea-wrapper {
3893
- border-color: var(--hx-input-error-color, var(--hx-color-error-500, #dc2626));
4019
+ border-color: var(--_textarea-border-color-invalid);
3894
4020
  }
3895
4021
 
3896
4022
  .field--error .field__textarea-wrapper:focus-within {
3897
- border-color: var(--hx-input-error-color, var(--hx-color-error-500, #dc2626));
4023
+ border-color: var(--_textarea-border-color-invalid);
3898
4024
  box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
3899
4025
  color-mix(
3900
4026
  in srgb,
3901
- var(--hx-input-error-color, var(--hx-color-error-500, #dc2626))
3902
- calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
4027
+ var(--_textarea-border-color-invalid) calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
3903
4028
  transparent
3904
4029
  );
3905
4030
  }
@@ -3910,10 +4035,10 @@
3910
4035
  border: none;
3911
4036
  outline: none;
3912
4037
  background: transparent;
3913
- padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
4038
+ padding: var(--_textarea-padding-y) var(--_textarea-padding-x);
3914
4039
  font-family: inherit;
3915
- font-size: var(--hx-font-size-md, 1rem);
3916
- color: var(--hx-input-color, var(--hx-color-neutral-800, #1e293b));
4040
+ font-size: var(--_textarea-font-size);
4041
+ color: var(--_textarea-color);
3917
4042
  line-height: var(--hx-line-height-normal, 1.5);
3918
4043
  min-height: var(--hx-textarea-min-height, var(--hx-size-20, 5rem));
3919
4044
  width: 100%;
@@ -3921,7 +4046,7 @@
3921
4046
  }
3922
4047
 
3923
4048
  .field__textarea::placeholder {
3924
- color: var(--hx-color-neutral-400, #94a3b8);
4049
+ color: var(--_textarea-placeholder-color);
3925
4050
  }
3926
4051
 
3927
4052
  .field__textarea:focus-visible {
@@ -3959,7 +4084,7 @@
3959
4084
 
3960
4085
  .field__counter {
3961
4086
  font-size: var(--hx-font-size-xs, 0.75rem);
3962
- color: var(--hx-color-neutral-500, #64748b);
4087
+ color: var(--hx-textarea-counter-color, var(--hx-color-text-muted, #4a5362));
3963
4088
  line-height: var(--hx-line-height-normal, 1.5);
3964
4089
  text-align: end;
3965
4090
  }
@@ -3982,13 +4107,16 @@
3982
4107
 
3983
4108
  .field__help-text {
3984
4109
  font-size: var(--hx-font-size-xs, 0.75rem);
3985
- color: var(--hx-color-neutral-500, #64748b);
4110
+ color: var(--hx-textarea-help-text-color, var(--hx-color-text-muted, #4a5362));
3986
4111
  line-height: var(--hx-line-height-normal, 1.5);
3987
4112
  }
3988
4113
 
3989
4114
  .field__error {
3990
4115
  font-size: var(--hx-font-size-xs, 0.75rem);
3991
- color: var(--hx-input-error-color, var(--hx-color-error-text, #b91c1c));
4116
+ color: var(
4117
+ --hx-textarea-error-color,
4118
+ var(--hx-input-error-color, var(--hx-color-error-text, #c92a2a))
4119
+ );
3992
4120
  line-height: var(--hx-line-height-normal, 1.5);
3993
4121
  }
3994
4122
 
@@ -4073,11 +4201,11 @@
4073
4201
  gap: var(--hx-space-1, 0.25rem);
4074
4202
  font-size: var(--hx-font-size-sm, 0.875rem);
4075
4203
  font-weight: var(--hx-font-weight-medium, 500);
4076
- color: var(--hx-time-picker-label-color, var(--hx-color-neutral-700));
4204
+ color: var(--hx-time-picker-label-color, var(--hx-color-text-strong, #202b39));
4077
4205
  line-height: var(--hx-line-height-normal, 1.5);
4078
4206
  }
4079
4207
  .field__required-marker {
4080
- color: var(--hx-time-picker-error-color, var(--hx-color-error-text, #b91c1c));
4208
+ color: var(--hx-time-picker-error-color, var(--hx-color-error-text, #c92a2a));
4081
4209
  font-weight: var(--hx-font-weight-bold, 700);
4082
4210
  }
4083
4211
  .field__combobox {
@@ -4085,9 +4213,9 @@
4085
4213
  display: flex;
4086
4214
  align-items: center;
4087
4215
  border: var(--hx-border-width-thin, 1px) solid
4088
- var(--hx-time-picker-border-color, var(--hx-color-neutral-300));
4216
+ var(--hx-time-picker-border-color, var(--hx-color-border-strong, #66787b));
4089
4217
  border-radius: var(--hx-time-picker-border-radius, var(--hx-border-radius-md, 0.375rem));
4090
- background-color: var(--hx-time-picker-bg, var(--hx-color-neutral-0));
4218
+ background-color: var(--hx-time-picker-bg, var(--hx-color-surface-default, #ffffff));
4091
4219
  transition:
4092
4220
  border-color var(--hx-transition-fast, 150ms ease),
4093
4221
  box-shadow var(--hx-transition-fast, 150ms ease);
@@ -4104,14 +4232,14 @@
4104
4232
  );
4105
4233
  }
4106
4234
  .field--error .field__combobox {
4107
- border-color: var(--hx-time-picker-error-color, var(--hx-color-error-500));
4235
+ border-color: var(--hx-time-picker-error-color, var(--hx-color-error-500, #e5493e));
4108
4236
  }
4109
4237
  .field--error .field__combobox:focus-within {
4110
- border-color: var(--hx-time-picker-error-color, var(--hx-color-error-500));
4238
+ border-color: var(--hx-time-picker-error-color, var(--hx-color-error-500, #e5493e));
4111
4239
  box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
4112
4240
  color-mix(
4113
4241
  in srgb,
4114
- var(--hx-time-picker-error-color, var(--hx-color-error-500))
4242
+ var(--hx-time-picker-error-color, var(--hx-color-error-500, #e5493e))
4115
4243
  calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
4116
4244
  transparent
4117
4245
  );
@@ -4124,14 +4252,14 @@
4124
4252
  padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
4125
4253
  font-family: inherit;
4126
4254
  font-size: var(--hx-font-size-md, 1rem);
4127
- color: var(--hx-time-picker-color, var(--hx-color-neutral-800));
4255
+ color: var(--hx-time-picker-color, var(--hx-color-text-strong, #202b39));
4128
4256
  line-height: var(--hx-line-height-normal, 1.5);
4129
4257
  min-height: var(--hx-size-10, 2.5rem);
4130
4258
  width: 100%;
4131
4259
  cursor: text;
4132
4260
  }
4133
4261
  .field__input::placeholder {
4134
- color: var(--hx-color-neutral-400);
4262
+ color: var(--hx-color-text-placeholder, #66787b);
4135
4263
  }
4136
4264
  .field__input:disabled {
4137
4265
  cursor: not-allowed;
@@ -4143,13 +4271,13 @@
4143
4271
  border: none;
4144
4272
  background: transparent;
4145
4273
  padding: 0 var(--hx-space-3, 0.75rem);
4146
- color: var(--hx-time-picker-chevron-color, var(--hx-color-neutral-500));
4274
+ color: var(--hx-time-picker-chevron-color, var(--hx-color-text-muted, #4a5362));
4147
4275
  cursor: pointer;
4148
4276
  height: 100%;
4149
4277
  min-height: var(--hx-size-10, 2.5rem);
4150
4278
  flex-shrink: 0;
4151
4279
  border-inline-start: var(--hx-border-width-thin, 1px) solid
4152
- var(--hx-time-picker-border-color, var(--hx-color-neutral-300));
4280
+ var(--hx-time-picker-border-color, var(--hx-color-border-strong, #66787b));
4153
4281
  }
4154
4282
  .field__toggle:focus-visible {
4155
4283
  outline: var(--hx-focus-ring-width, 2px) solid
@@ -4163,9 +4291,9 @@
4163
4291
  inset-inline-start: 0;
4164
4292
  inset-inline-end: 0;
4165
4293
  z-index: var(--hx-z-index-dropdown, 1000);
4166
- background-color: var(--hx-time-picker-listbox-bg, var(--hx-color-neutral-0));
4294
+ background-color: var(--hx-time-picker-listbox-bg, var(--hx-color-surface-default, #ffffff));
4167
4295
  border: var(--hx-border-width-thin, 1px) solid
4168
- var(--hx-time-picker-border-color, var(--hx-color-neutral-300));
4296
+ var(--hx-time-picker-border-color, var(--hx-color-border-strong, #66787b));
4169
4297
  border-radius: var(--hx-time-picker-border-radius, var(--hx-border-radius-md, 0.375rem));
4170
4298
  box-shadow: var(
4171
4299
  --hx-time-picker-listbox-shadow,
@@ -4198,23 +4326,29 @@
4198
4326
  padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
4199
4327
  font-size: var(--hx-font-size-md, 1rem);
4200
4328
  font-family: inherit;
4201
- color: var(--hx-time-picker-option-color, var(--hx-color-neutral-800));
4329
+ color: var(--hx-time-picker-option-color, var(--hx-color-text-strong, #202b39));
4202
4330
  cursor: pointer;
4203
4331
  transition: background-color var(--hx-transition-fast, 150ms ease);
4204
4332
  line-height: var(--hx-line-height-normal, 1.5);
4205
4333
  }
4206
4334
  .field__option:hover,
4207
4335
  .field__option--active {
4208
- background-color: var(--hx-time-picker-option-hover-bg, var(--hx-color-primary-50));
4209
- color: var(--hx-time-picker-option-hover-color, var(--hx-color-primary-700));
4336
+ background-color: var(--hx-time-picker-option-hover-bg, var(--hx-color-primary-50, #ebf8f8));
4337
+ color: var(--hx-time-picker-option-hover-color, var(--hx-color-primary-700, #0f6363));
4210
4338
  }
4211
4339
  .field__option--selected {
4212
- background-color: var(--hx-time-picker-option-selected-bg, var(--hx-color-primary-100));
4213
- color: var(--hx-time-picker-option-selected-color, var(--hx-color-primary-800));
4340
+ background-color: var(
4341
+ --hx-time-picker-option-selected-bg,
4342
+ var(--hx-color-primary-100, #dbf0f0)
4343
+ );
4344
+ color: var(--hx-time-picker-option-selected-color, var(--hx-color-primary-800, #07494a));
4214
4345
  font-weight: var(--hx-font-weight-medium, 500);
4215
4346
  }
4216
4347
  .field__option--selected.field__option--active {
4217
- background-color: var(--hx-time-picker-option-selected-bg, var(--hx-color-primary-100));
4348
+ background-color: var(
4349
+ --hx-time-picker-option-selected-bg,
4350
+ var(--hx-color-primary-100, #dbf0f0)
4351
+ );
4218
4352
  }
4219
4353
  @media (prefers-reduced-motion: reduce) {
4220
4354
  .field__combobox,
@@ -4228,10 +4362,10 @@
4228
4362
  line-height: var(--hx-line-height-normal, 1.5);
4229
4363
  }
4230
4364
  .field__help-text {
4231
- color: var(--hx-color-neutral-500);
4365
+ color: var(--hx-color-text-muted, #4a5362);
4232
4366
  }
4233
4367
  .field__error {
4234
- color: var(--hx-time-picker-error-color, var(--hx-color-error-text, #b91c1c));
4368
+ color: var(--hx-time-picker-error-color, var(--hx-color-error-text, #c92a2a));
4235
4369
  }
4236
4370
  @media (forced-colors: active) {
4237
4371
  .field__combobox {
@@ -4293,8 +4427,8 @@
4293
4427
  gap: var(--hx-space-2, 0.5rem);
4294
4428
  border: var(--hx-border-width-thin, 1px) solid var(--hx-toggle-button-border-color, transparent);
4295
4429
  border-radius: var(--hx-toggle-button-border-radius, var(--hx-border-radius-md, 0.375rem));
4296
- background-color: var(--hx-toggle-button-bg, var(--hx-color-primary-500, #2563eb));
4297
- color: var(--hx-toggle-button-color, var(--hx-color-neutral-0, #ffffff));
4430
+ background-color: var(--hx-toggle-button-bg, var(--hx-color-primary-500, #429797));
4431
+ color: var(--hx-toggle-button-color, var(--hx-color-text-on-primary, #ffffff));
4298
4432
  font-family: var(--hx-toggle-button-font-family, var(--hx-font-family-sans, sans-serif));
4299
4433
  font-weight: var(--hx-toggle-button-font-weight, var(--hx-font-weight-semibold, 600));
4300
4434
  line-height: var(--hx-line-height-tight, 1.25);
@@ -4314,7 +4448,7 @@
4314
4448
  outline: var(--hx-focus-ring-width, 2px) solid
4315
4449
  var(
4316
4450
  --hx-toggle-button-focus-ring-color,
4317
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
4451
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
4318
4452
  );
4319
4453
  outline-offset: var(--hx-focus-ring-offset, 2px);
4320
4454
  }
@@ -4353,49 +4487,55 @@
4353
4487
  /* ─── Style Variants ─── */
4354
4488
 
4355
4489
  .button--primary {
4356
- --hx-toggle-button-bg: var(--hx-color-primary-500, #2563eb);
4357
- --hx-toggle-button-color: var(--hx-color-neutral-0, #ffffff);
4490
+ --hx-toggle-button-bg: var(--hx-color-primary-500, #429797);
4491
+ --hx-toggle-button-color: var(--hx-color-text-on-primary, #ffffff);
4358
4492
  --hx-toggle-button-border-color: transparent;
4359
4493
  }
4360
4494
 
4495
+ /*
4496
+ * secondary/ghost paint primary text on the surface (white). primary-500
4497
+ * (#429797) on white = 3.43:1 — fails AA at body sizes. shift to
4498
+ * primary-600 (#0F7078) = 6.06:1 — AA pass. border keeps primary-500
4499
+ * for the brand affordance (3:1 non-text contrast still met).
4500
+ */
4361
4501
  .button--secondary {
4362
4502
  --hx-toggle-button-bg: transparent;
4363
- --hx-toggle-button-color: var(--hx-color-primary-500, #2563eb);
4364
- --hx-toggle-button-border-color: var(--hx-color-primary-500, #2563eb);
4503
+ --hx-toggle-button-color: var(--hx-color-primary-600, #0f7078);
4504
+ --hx-toggle-button-border-color: var(--hx-color-primary-600, #0f7078);
4365
4505
  }
4366
4506
 
4367
4507
  .button--secondary:hover {
4368
- --hx-toggle-button-bg: var(--hx-color-primary-50, #eff6ff);
4508
+ --hx-toggle-button-bg: var(--hx-color-primary-50, #ebf8f8);
4369
4509
  }
4370
4510
 
4371
4511
  .button--tertiary {
4372
- --hx-toggle-button-bg: var(--hx-color-neutral-100, #f1f5f9);
4373
- --hx-toggle-button-color: var(--hx-color-neutral-900, #0f172a);
4512
+ --hx-toggle-button-bg: var(--hx-color-surface-sunken, #ebeee9);
4513
+ --hx-toggle-button-color: var(--hx-color-text-primary, #0d1825);
4374
4514
  --hx-toggle-button-border-color: transparent;
4375
4515
  }
4376
4516
 
4377
4517
  .button--tertiary:hover {
4378
- --hx-toggle-button-bg: var(--hx-color-neutral-200, #e2e8f0);
4518
+ --hx-toggle-button-bg: var(--hx-color-surface-raised, #f5f8f3);
4379
4519
  }
4380
4520
 
4381
4521
  .button--ghost {
4382
4522
  --hx-toggle-button-bg: transparent;
4383
- --hx-toggle-button-color: var(--hx-color-primary-500, #2563eb);
4523
+ --hx-toggle-button-color: var(--hx-color-primary-600, #0f7078);
4384
4524
  --hx-toggle-button-border-color: transparent;
4385
4525
  }
4386
4526
 
4387
4527
  .button--ghost:hover {
4388
- --hx-toggle-button-bg: var(--hx-color-neutral-100, #f1f5f9);
4528
+ --hx-toggle-button-bg: var(--hx-color-surface-raised, #f5f8f3);
4389
4529
  }
4390
4530
 
4391
4531
  .button--outline {
4392
4532
  --hx-toggle-button-bg: transparent;
4393
- --hx-toggle-button-color: var(--hx-color-neutral-900, #0f172a);
4394
- --hx-toggle-button-border-color: var(--hx-color-neutral-300, #cbd5e1);
4533
+ --hx-toggle-button-color: var(--hx-color-text-primary, #0d1825);
4534
+ --hx-toggle-button-border-color: var(--hx-color-border-strong, #66787b);
4395
4535
  }
4396
4536
 
4397
4537
  .button--outline:hover {
4398
- --hx-toggle-button-bg: var(--hx-color-neutral-50, #f8fafc);
4538
+ --hx-toggle-button-bg: var(--hx-color-surface-raised, #f5f8f3);
4399
4539
  }
4400
4540
 
4401
4541
  /* ─── Pressed State ─── */
@@ -4403,9 +4543,16 @@
4403
4543
  /*
4404
4544
  * Primary: already uses solid primary bg; pressed deepens to primary-700
4405
4545
  * to give clear visual feedback without introducing a new color.
4546
+ *
4547
+ * AA fix: text.on-primary (= neutral-900 #0D1825) on primary-700 (#0F6363)
4548
+ * = 2.54:1 — fails AA. Pin fg at neutral-0 for the darker pressed fill
4549
+ * (neutral-0 on primary-700 = 7.03:1, AAA pass). Mirrors hx-toast
4550
+ * precedent (commit 300e21ab0) and hx-button hover treatment.
4551
+ * Note: secondary.pressed below uses primary-500 and stays at 5.20:1 —
4552
+ * leave it alone.
4406
4553
  */
4407
4554
  .button--primary.button--pressed {
4408
- --hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-primary-700, #1e40af));
4555
+ --hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-primary-700, #0f6363));
4409
4556
  --hx-toggle-button-color: var(
4410
4557
  --hx-toggle-button-pressed-color,
4411
4558
  var(--hx-color-neutral-0, #ffffff)
@@ -4418,44 +4565,47 @@
4418
4565
  * so the state change is immediately legible.
4419
4566
  */
4420
4567
  .button--secondary.button--pressed {
4421
- --hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-primary-500, #2563eb));
4568
+ --hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-primary-500, #429797));
4422
4569
  --hx-toggle-button-color: var(
4423
4570
  --hx-toggle-button-pressed-color,
4424
- var(--hx-color-neutral-0, #ffffff)
4571
+ var(--hx-color-text-on-primary, #ffffff)
4425
4572
  );
4426
- --hx-toggle-button-border-color: var(--hx-color-primary-500, #2563eb);
4573
+ --hx-toggle-button-border-color: var(--hx-color-primary-500, #429797);
4427
4574
  }
4428
4575
 
4429
4576
  /* Tertiary pressed: use primary-100 bg + primary-700 text + border for WCAG 3:1 non-text contrast. */
4430
4577
  .button--tertiary.button--pressed {
4431
- --hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-primary-100, #dbeafe));
4578
+ --hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-primary-100, #dbf0f0));
4432
4579
  --hx-toggle-button-color: var(
4433
4580
  --hx-toggle-button-pressed-color,
4434
- var(--hx-color-primary-700, #1e40af)
4581
+ var(--hx-color-primary-700, #0f6363)
4435
4582
  );
4436
- --hx-toggle-button-border-color: var(--hx-color-primary-400, #60a5fa);
4437
- box-shadow: inset 0 0 0 1px var(--hx-color-primary-400, #60a5fa);
4583
+ --hx-toggle-button-border-color: var(--hx-color-primary-600, #0f7078);
4584
+ box-shadow: inset 0 0 0 1px var(--hx-color-primary-600, #0f7078);
4438
4585
  }
4439
4586
 
4440
4587
  /* Ghost pressed: subtle neutral fill, matching hover behavior as a baseline. */
4441
4588
  .button--ghost.button--pressed {
4442
- --hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-primary-100, #dbeafe));
4589
+ --hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-primary-100, #dbf0f0));
4443
4590
  --hx-toggle-button-color: var(
4444
4591
  --hx-toggle-button-pressed-color,
4445
- var(--hx-color-primary-700, #1e40af)
4592
+ var(--hx-color-primary-700, #0f6363)
4446
4593
  );
4447
4594
  --hx-toggle-button-border-color: transparent;
4448
4595
  }
4449
4596
 
4450
4597
  /* Outline pressed: fills with a neutral tint, darkens the border, and adds an inset shadow for WCAG 3:1 non-text contrast. */
4451
4598
  .button--outline.button--pressed {
4452
- --hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-neutral-100, #f1f5f9));
4599
+ --hx-toggle-button-bg: var(
4600
+ --hx-toggle-button-pressed-bg,
4601
+ var(--hx-color-surface-sunken, #ebeee9)
4602
+ );
4453
4603
  --hx-toggle-button-color: var(
4454
4604
  --hx-toggle-button-pressed-color,
4455
- var(--hx-color-neutral-900, #0f172a)
4605
+ var(--hx-color-text-primary, #0d1825)
4456
4606
  );
4457
- --hx-toggle-button-border-color: var(--hx-color-neutral-500, #64748b);
4458
- box-shadow: inset 0 0 0 1px var(--hx-color-neutral-500, #64748b);
4607
+ --hx-toggle-button-border-color: var(--hx-color-text-muted, #4a5362);
4608
+ box-shadow: inset 0 0 0 1px var(--hx-color-neutral-500, #66787b);
4459
4609
  }
4460
4610
 
4461
4611
  /* ─── Disabled ─── */