@helixui/library 3.1.0 → 3.2.0-next.102

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 (616) 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/hx-checkbox.styles.d.ts.map +1 -1
  51. package/dist/components/hx-checkbox/index.js +1 -1
  52. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +16 -2
  53. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
  54. package/dist/components/hx-checkbox-group/index.js +1 -1
  55. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts +37 -0
  56. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts.map +1 -1
  57. package/dist/components/hx-clinical-status/hx-clinical-status.styles.d.ts.map +1 -1
  58. package/dist/components/hx-clinical-status/index.js +1 -1
  59. package/dist/components/hx-code-snippet/hx-code-snippet.d.ts +35 -0
  60. package/dist/components/hx-code-snippet/hx-code-snippet.d.ts.map +1 -1
  61. package/dist/components/hx-code-snippet/hx-code-snippet.styles.d.ts.map +1 -1
  62. package/dist/components/hx-code-snippet/index.js +1 -1
  63. package/dist/components/hx-color-picker/hx-color-picker.d.ts +29 -0
  64. package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -1
  65. package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -1
  66. package/dist/components/hx-color-picker/index.js +1 -1
  67. package/dist/components/hx-combobox/hx-combobox.d.ts +49 -0
  68. package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
  69. package/dist/components/hx-combobox/hx-combobox.styles.d.ts.map +1 -1
  70. package/dist/components/hx-combobox/index.js +1 -1
  71. package/dist/components/hx-container/hx-container.d.ts +5 -0
  72. package/dist/components/hx-container/hx-container.d.ts.map +1 -1
  73. package/dist/components/hx-copy-button/hx-copy-button.d.ts +24 -0
  74. package/dist/components/hx-copy-button/hx-copy-button.d.ts.map +1 -1
  75. package/dist/components/hx-copy-button/hx-copy-button.styles.d.ts.map +1 -1
  76. package/dist/components/hx-copy-button/index.js +1 -1
  77. package/dist/components/hx-counter/hx-counter.d.ts +7 -0
  78. package/dist/components/hx-counter/hx-counter.d.ts.map +1 -1
  79. package/dist/components/hx-counter/index.js +1 -1
  80. package/dist/components/hx-data-table/hx-data-table.d.ts +29 -0
  81. package/dist/components/hx-data-table/hx-data-table.d.ts.map +1 -1
  82. package/dist/components/hx-data-table/hx-data-table.styles.d.ts.map +1 -1
  83. package/dist/components/hx-data-table/index.js +1 -1
  84. package/dist/components/hx-date-picker/hx-date-picker.d.ts +44 -0
  85. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
  86. package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts.map +1 -1
  87. package/dist/components/hx-date-picker/index.js +1 -1
  88. package/dist/components/hx-dialog/hx-dialog.d.ts +31 -0
  89. package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -1
  90. package/dist/components/hx-dialog/hx-dialog.styles.d.ts +10 -0
  91. package/dist/components/hx-dialog/hx-dialog.styles.d.ts.map +1 -1
  92. package/dist/components/hx-dialog/index.js +1 -1
  93. package/dist/components/hx-divider/hx-divider.d.ts +9 -0
  94. package/dist/components/hx-divider/hx-divider.d.ts.map +1 -1
  95. package/dist/components/hx-divider/index.js +1 -1
  96. package/dist/components/hx-drawer/hx-drawer.d.ts +30 -0
  97. package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
  98. package/dist/components/hx-drawer/hx-drawer.styles.d.ts +10 -0
  99. package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
  100. package/dist/components/hx-drawer/index.js +1 -1
  101. package/dist/components/hx-dropdown/hx-dropdown.d.ts +6 -0
  102. package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
  103. package/dist/components/hx-dropdown/index.js +1 -1
  104. package/dist/components/hx-field/hx-field.d.ts +15 -0
  105. package/dist/components/hx-field/hx-field.d.ts.map +1 -1
  106. package/dist/components/hx-field/index.js +1 -1
  107. package/dist/components/hx-field-label/hx-field-label.d.ts +11 -0
  108. package/dist/components/hx-field-label/hx-field-label.d.ts.map +1 -1
  109. package/dist/components/hx-field-label/index.js +1 -1
  110. package/dist/components/hx-file-upload/hx-file-upload.d.ts +35 -0
  111. package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -1
  112. package/dist/components/hx-file-upload/hx-file-upload.styles.d.ts.map +1 -1
  113. package/dist/components/hx-file-upload/index.js +1 -1
  114. package/dist/components/hx-form/index.js +1 -1
  115. package/dist/components/hx-grid/hx-grid.d.ts +5 -0
  116. package/dist/components/hx-grid/hx-grid.d.ts.map +1 -1
  117. package/dist/components/hx-help-text/hx-help-text.d.ts +8 -0
  118. package/dist/components/hx-help-text/hx-help-text.d.ts.map +1 -1
  119. package/dist/components/hx-help-text/index.js +1 -1
  120. package/dist/components/hx-icon/hx-icon.d.ts +5 -0
  121. package/dist/components/hx-icon/hx-icon.d.ts.map +1 -1
  122. package/dist/components/hx-icon/index.js +1 -1
  123. package/dist/components/hx-icon-button/hx-icon-button.d.ts +27 -0
  124. package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
  125. package/dist/components/hx-icon-button/hx-icon-button.styles.d.ts.map +1 -1
  126. package/dist/components/hx-icon-button/index.js +1 -1
  127. package/dist/components/hx-image/hx-image.d.ts +4 -0
  128. package/dist/components/hx-image/hx-image.d.ts.map +1 -1
  129. package/dist/components/hx-image/index.js +1 -1
  130. package/dist/components/hx-link/hx-link.d.ts +15 -0
  131. package/dist/components/hx-link/hx-link.d.ts.map +1 -1
  132. package/dist/components/hx-link/hx-link.styles.d.ts.map +1 -1
  133. package/dist/components/hx-link/index.js +1 -1
  134. package/dist/components/hx-list/hx-list-item.d.ts.map +1 -1
  135. package/dist/components/hx-list/hx-list-item.styles.d.ts.map +1 -1
  136. package/dist/components/hx-list/hx-list.d.ts +3 -0
  137. package/dist/components/hx-list/hx-list.d.ts.map +1 -1
  138. package/dist/components/hx-list/index.js +1 -1
  139. package/dist/components/hx-menu/hx-menu-divider.d.ts.map +1 -1
  140. package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -1
  141. package/dist/components/hx-menu/hx-menu.d.ts +6 -0
  142. package/dist/components/hx-menu/hx-menu.d.ts.map +1 -1
  143. package/dist/components/hx-menu/index.js +1 -1
  144. package/dist/components/hx-meter/hx-meter.d.ts +23 -0
  145. package/dist/components/hx-meter/hx-meter.d.ts.map +1 -1
  146. package/dist/components/hx-meter/index.js +1 -1
  147. package/dist/components/hx-nav/hx-nav.d.ts +29 -0
  148. package/dist/components/hx-nav/hx-nav.d.ts.map +1 -1
  149. package/dist/components/hx-nav/index.js +1 -1
  150. package/dist/components/hx-number-input/hx-number-input.d.ts +34 -0
  151. package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -1
  152. package/dist/components/hx-number-input/index.js +1 -1
  153. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +26 -0
  154. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
  155. package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts.map +1 -1
  156. package/dist/components/hx-overflow-menu/index.js +1 -1
  157. package/dist/components/hx-pagination/hx-pagination.d.ts +21 -0
  158. package/dist/components/hx-pagination/hx-pagination.d.ts.map +1 -1
  159. package/dist/components/hx-pagination/index.js +1 -1
  160. package/dist/components/hx-patient-banner/hx-patient-banner.d.ts +23 -0
  161. package/dist/components/hx-patient-banner/hx-patient-banner.d.ts.map +1 -1
  162. package/dist/components/hx-patient-banner/hx-patient-banner.styles.d.ts.map +1 -1
  163. package/dist/components/hx-patient-banner/index.js +1 -1
  164. package/dist/components/hx-phi-field/hx-phi-field.d.ts +19 -5
  165. package/dist/components/hx-phi-field/hx-phi-field.d.ts.map +1 -1
  166. package/dist/components/hx-phi-field/hx-phi-field.styles.d.ts.map +1 -1
  167. package/dist/components/hx-phi-field/index.js +1 -1
  168. package/dist/components/hx-popover/hx-popover.d.ts +15 -0
  169. package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
  170. package/dist/components/hx-popover/hx-popover.styles.d.ts +9 -0
  171. package/dist/components/hx-popover/hx-popover.styles.d.ts.map +1 -1
  172. package/dist/components/hx-popover/index.js +1 -1
  173. package/dist/components/hx-popup/hx-popup.d.ts +1 -0
  174. package/dist/components/hx-popup/hx-popup.d.ts.map +1 -1
  175. package/dist/components/hx-popup/hx-popup.styles.d.ts +9 -0
  176. package/dist/components/hx-popup/hx-popup.styles.d.ts.map +1 -1
  177. package/dist/components/hx-popup/index.js +1 -1
  178. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts +17 -0
  179. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts.map +1 -1
  180. package/dist/components/hx-progress-bar/index.js +1 -1
  181. package/dist/components/hx-progress-ring/hx-progress-ring.d.ts +15 -0
  182. package/dist/components/hx-progress-ring/hx-progress-ring.d.ts.map +1 -1
  183. package/dist/components/hx-progress-ring/index.js +1 -1
  184. package/dist/components/hx-prose/hx-prose.d.ts +2 -0
  185. package/dist/components/hx-prose/hx-prose.d.ts.map +1 -1
  186. package/dist/components/hx-prose/index.js +1 -1
  187. package/dist/components/hx-radio-group/hx-radio-group.d.ts +17 -3
  188. package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
  189. package/dist/components/hx-radio-group/hx-radio.d.ts +5 -5
  190. package/dist/components/hx-radio-group/hx-radio.d.ts.map +1 -1
  191. package/dist/components/hx-radio-group/hx-radio.styles.d.ts.map +1 -1
  192. package/dist/components/hx-radio-group/index.js +1 -1
  193. package/dist/components/hx-rating/hx-rating.d.ts +13 -0
  194. package/dist/components/hx-rating/hx-rating.d.ts.map +1 -1
  195. package/dist/components/hx-rating/hx-rating.styles.d.ts.map +1 -1
  196. package/dist/components/hx-rating/index.js +1 -1
  197. package/dist/components/hx-select/hx-select.d.ts +43 -0
  198. package/dist/components/hx-select/hx-select.d.ts.map +1 -1
  199. package/dist/components/hx-select/hx-select.styles.d.ts.map +1 -1
  200. package/dist/components/hx-select/index.js +1 -1
  201. package/dist/components/hx-side-nav/hx-nav-item.d.ts +7 -5
  202. package/dist/components/hx-side-nav/hx-nav-item.d.ts.map +1 -1
  203. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
  204. package/dist/components/hx-side-nav/hx-side-nav.d.ts +9 -4
  205. package/dist/components/hx-side-nav/hx-side-nav.d.ts.map +1 -1
  206. package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -1
  207. package/dist/components/hx-side-nav/index.js +1 -1
  208. package/dist/components/hx-skeleton/hx-skeleton.d.ts +5 -0
  209. package/dist/components/hx-skeleton/hx-skeleton.d.ts.map +1 -1
  210. package/dist/components/hx-skeleton/index.js +1 -1
  211. package/dist/components/hx-slider/hx-slider.d.ts +38 -0
  212. package/dist/components/hx-slider/hx-slider.d.ts.map +1 -1
  213. package/dist/components/hx-slider/index.js +1 -1
  214. package/dist/components/hx-spinner/hx-spinner.d.ts +10 -0
  215. package/dist/components/hx-spinner/hx-spinner.d.ts.map +1 -1
  216. package/dist/components/hx-spinner/index.js +1 -1
  217. package/dist/components/hx-split-button/hx-split-button.d.ts +40 -1
  218. package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
  219. package/dist/components/hx-split-button/hx-split-button.styles.d.ts.map +1 -1
  220. package/dist/components/hx-split-button/index.js +1 -1
  221. package/dist/components/hx-split-panel/hx-split-panel.d.ts +12 -0
  222. package/dist/components/hx-split-panel/hx-split-panel.d.ts.map +1 -1
  223. package/dist/components/hx-split-panel/hx-split-panel.styles.d.ts.map +1 -1
  224. package/dist/components/hx-split-panel/index.js +1 -1
  225. package/dist/components/hx-stack/hx-stack.d.ts +5 -0
  226. package/dist/components/hx-stack/hx-stack.d.ts.map +1 -1
  227. package/dist/components/hx-stat/hx-stat.d.ts +24 -0
  228. package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
  229. package/dist/components/hx-stat/index.js +1 -1
  230. package/dist/components/hx-status-indicator/hx-status-indicator.d.ts +13 -0
  231. package/dist/components/hx-status-indicator/hx-status-indicator.d.ts.map +1 -1
  232. package/dist/components/hx-status-indicator/index.js +1 -1
  233. package/dist/components/hx-steps/hx-step.d.ts.map +1 -1
  234. package/dist/components/hx-steps/hx-step.styles.d.ts.map +1 -1
  235. package/dist/components/hx-steps/hx-steps.d.ts +15 -0
  236. package/dist/components/hx-steps/hx-steps.d.ts.map +1 -1
  237. package/dist/components/hx-steps/index.js +1 -1
  238. package/dist/components/hx-structured-list/hx-structured-list.d.ts +7 -0
  239. package/dist/components/hx-structured-list/hx-structured-list.d.ts.map +1 -1
  240. package/dist/components/hx-structured-list/index.js +1 -1
  241. package/dist/components/hx-switch/hx-switch.d.ts +42 -0
  242. package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
  243. package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -1
  244. package/dist/components/hx-switch/index.js +1 -1
  245. package/dist/components/hx-table/hx-table.d.ts +20 -6
  246. package/dist/components/hx-table/hx-table.d.ts.map +1 -1
  247. package/dist/components/hx-table/hx-table.styles.d.ts.map +1 -1
  248. package/dist/components/hx-table/hx-td.d.ts +1 -1
  249. package/dist/components/hx-table/index.js +1 -1
  250. package/dist/components/hx-tabs/hx-tab-panel.d.ts +2 -2
  251. package/dist/components/hx-tabs/hx-tab-panel.d.ts.map +1 -1
  252. package/dist/components/hx-tabs/hx-tab-panel.styles.d.ts.map +1 -1
  253. package/dist/components/hx-tabs/hx-tab.d.ts +6 -6
  254. package/dist/components/hx-tabs/hx-tab.d.ts.map +1 -1
  255. package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -1
  256. package/dist/components/hx-tabs/hx-tabs.d.ts +12 -8
  257. package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
  258. package/dist/components/hx-tabs/index.js +1 -1
  259. package/dist/components/hx-tag/hx-tag.d.ts +36 -0
  260. package/dist/components/hx-tag/hx-tag.d.ts.map +1 -1
  261. package/dist/components/hx-tag/index.js +1 -1
  262. package/dist/components/hx-text/hx-text.d.ts +22 -0
  263. package/dist/components/hx-text/hx-text.d.ts.map +1 -1
  264. package/dist/components/hx-text/hx-text.styles.d.ts.map +1 -1
  265. package/dist/components/hx-text/index.js +1 -1
  266. package/dist/components/hx-text-input/hx-text-input.d.ts +18 -5
  267. package/dist/components/hx-text-input/hx-text-input.d.ts.map +1 -1
  268. package/dist/components/hx-text-input/hx-text-input.styles.d.ts +12 -0
  269. package/dist/components/hx-text-input/hx-text-input.styles.d.ts.map +1 -1
  270. package/dist/components/hx-text-input/index.js +1 -1
  271. package/dist/components/hx-textarea/hx-textarea.d.ts +27 -0
  272. package/dist/components/hx-textarea/hx-textarea.d.ts.map +1 -1
  273. package/dist/components/hx-textarea/hx-textarea.styles.d.ts.map +1 -1
  274. package/dist/components/hx-textarea/index.js +1 -1
  275. package/dist/components/hx-theme/hx-theme.d.ts +3 -0
  276. package/dist/components/hx-theme/hx-theme.d.ts.map +1 -1
  277. package/dist/components/hx-theme/index.js +1 -1
  278. package/dist/components/hx-time-picker/hx-time-picker.d.ts +32 -0
  279. package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
  280. package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts.map +1 -1
  281. package/dist/components/hx-time-picker/index.js +1 -1
  282. package/dist/components/hx-toast/hx-toast.d.ts +30 -2
  283. package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
  284. package/dist/components/hx-toast/hx-toast.styles.d.ts +10 -0
  285. package/dist/components/hx-toast/hx-toast.styles.d.ts.map +1 -1
  286. package/dist/components/hx-toast/index.js +1 -1
  287. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +35 -0
  288. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
  289. package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -1
  290. package/dist/components/hx-toggle-button/index.js +1 -1
  291. package/dist/components/hx-tooltip/hx-tooltip.d.ts +13 -0
  292. package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
  293. package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts +8 -0
  294. package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts.map +1 -1
  295. package/dist/components/hx-tooltip/index.js +1 -1
  296. package/dist/components/hx-top-nav/hx-top-nav.d.ts +21 -0
  297. package/dist/components/hx-top-nav/hx-top-nav.d.ts.map +1 -1
  298. package/dist/components/hx-top-nav/index.js +1 -1
  299. package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -1
  300. package/dist/components/hx-tree-view/hx-tree-view.d.ts +6 -0
  301. package/dist/components/hx-tree-view/hx-tree-view.d.ts.map +1 -1
  302. package/dist/components/hx-tree-view/hx-tree-view.styles.d.ts.map +1 -1
  303. package/dist/components/hx-tree-view/index.js +1 -1
  304. package/dist/css/helix-all.css +1273 -939
  305. package/dist/css/helix-core.css +327 -170
  306. package/dist/css/helix-data.css +54 -48
  307. package/dist/css/helix-feedback.css +123 -95
  308. package/dist/css/helix-forms.css +490 -387
  309. package/dist/css/helix-layout.css +9 -12
  310. package/dist/css/helix-media.css +16 -12
  311. package/dist/css/helix-navigation.css +86 -67
  312. package/dist/css/helix-overlay.css +62 -56
  313. package/dist/css/helix-tokens.css +173 -106
  314. package/dist/css/helix-utility.css +57 -46
  315. package/dist/css/hx-action-bar.css +5 -5
  316. package/dist/css/hx-alert.css +24 -23
  317. package/dist/css/hx-avatar.css +3 -3
  318. package/dist/css/hx-badge.css +22 -22
  319. package/dist/css/hx-banner.css +25 -24
  320. package/dist/css/hx-button-group.css +31 -14
  321. package/dist/css/hx-button.css +156 -34
  322. package/dist/css/hx-card.css +23 -12
  323. package/dist/css/hx-carousel.css +16 -12
  324. package/dist/css/hx-checkbox-group.css +5 -5
  325. package/dist/css/hx-checkbox.css +19 -22
  326. package/dist/css/hx-clinical-status.css +28 -30
  327. package/dist/css/hx-code-snippet.css +26 -20
  328. package/dist/css/hx-color-picker.css +20 -13
  329. package/dist/css/hx-combobox.css +31 -37
  330. package/dist/css/hx-copy-button.css +6 -3
  331. package/dist/css/hx-counter.css +1 -1
  332. package/dist/css/hx-data-table.css +16 -15
  333. package/dist/css/hx-date-picker.css +34 -50
  334. package/dist/css/hx-dialog.css +31 -27
  335. package/dist/css/hx-divider.css +2 -2
  336. package/dist/css/hx-drawer.css +18 -18
  337. package/dist/css/hx-dropdown.css +2 -2
  338. package/dist/css/hx-field-label.css +3 -3
  339. package/dist/css/hx-field.css +6 -6
  340. package/dist/css/hx-file-upload.css +21 -30
  341. package/dist/css/hx-help-text.css +5 -5
  342. package/dist/css/hx-icon-button.css +46 -38
  343. package/dist/css/hx-image.css +3 -3
  344. package/dist/css/hx-link.css +9 -12
  345. package/dist/css/hx-list.css +1 -1
  346. package/dist/css/hx-menu.css +2 -2
  347. package/dist/css/hx-meter.css +10 -10
  348. package/dist/css/hx-nav.css +11 -11
  349. package/dist/css/hx-number-input.css +18 -18
  350. package/dist/css/hx-overflow-menu.css +18 -15
  351. package/dist/css/hx-pagination.css +15 -15
  352. package/dist/css/hx-patient-banner.css +17 -9
  353. package/dist/css/hx-phi-field.css +4 -7
  354. package/dist/css/hx-popover.css +7 -6
  355. package/dist/css/hx-progress-bar.css +7 -7
  356. package/dist/css/hx-progress-ring.css +6 -6
  357. package/dist/css/hx-radio-group.css +5 -5
  358. package/dist/css/hx-rating.css +5 -6
  359. package/dist/css/hx-select.css +18 -19
  360. package/dist/css/hx-side-nav.css +28 -11
  361. package/dist/css/hx-skeleton.css +1 -1
  362. package/dist/css/hx-slider.css +15 -15
  363. package/dist/css/hx-spinner.css +4 -4
  364. package/dist/css/hx-split-button.css +45 -37
  365. package/dist/css/hx-split-panel.css +9 -12
  366. package/dist/css/hx-stat.css +8 -8
  367. package/dist/css/hx-status-indicator.css +7 -7
  368. package/dist/css/hx-structured-list.css +5 -5
  369. package/dist/css/hx-switch.css +16 -11
  370. package/dist/css/hx-table.css +6 -7
  371. package/dist/css/hx-tabs.css +3 -3
  372. package/dist/css/hx-tag.css +18 -18
  373. package/dist/css/hx-text-input.css +133 -61
  374. package/dist/css/hx-text.css +9 -7
  375. package/dist/css/hx-textarea.css +63 -27
  376. package/dist/css/hx-time-picker.css +27 -21
  377. package/dist/css/hx-toast.css +36 -10
  378. package/dist/css/hx-toggle-button.css +46 -33
  379. package/dist/css/hx-tooltip.css +4 -3
  380. package/dist/css/hx-top-nav.css +8 -8
  381. package/dist/css/hx-tree-view.css +1 -2
  382. package/dist/css/index.css +1 -1
  383. package/dist/css/manifest.json +332 -230
  384. package/dist/index.js +75 -75
  385. package/dist/shared/forced-colors-CTEDFRGa.js +117 -0
  386. package/dist/shared/forced-colors-CTEDFRGa.js.map +1 -0
  387. package/dist/shared/{hx-accordion-Wt52OOZD.js → hx-accordion-ZVzgDzTG.js} +29 -29
  388. package/dist/shared/hx-accordion-ZVzgDzTG.js.map +1 -0
  389. package/dist/shared/{hx-action-bar-BKMADbHj.js → hx-action-bar-CitgcpGv.js} +38 -37
  390. package/dist/shared/hx-action-bar-CitgcpGv.js.map +1 -0
  391. package/dist/shared/{hx-alert-D7n94HwI.js → hx-alert-CLn7CstP.js} +33 -31
  392. package/dist/shared/hx-alert-CLn7CstP.js.map +1 -0
  393. package/dist/shared/{hx-avatar-iLYzu8MJ.js → hx-avatar-C9hOmlAb.js} +19 -18
  394. package/dist/shared/hx-avatar-C9hOmlAb.js.map +1 -0
  395. package/dist/shared/{hx-badge-CVCmMPyW.js → hx-badge-CQXgOXJM.js} +65 -64
  396. package/dist/shared/hx-badge-CQXgOXJM.js.map +1 -0
  397. package/dist/shared/{hx-banner-C_He7Tr4.js → hx-banner-D3DzpfcP.js} +39 -37
  398. package/dist/shared/hx-banner-D3DzpfcP.js.map +1 -0
  399. package/dist/shared/{hx-breadcrumb-item-CldCwD1d.js → hx-breadcrumb-item-3tKppF9h.js} +24 -26
  400. package/dist/shared/hx-breadcrumb-item-3tKppF9h.js.map +1 -0
  401. package/dist/shared/{hx-button-Ddl-T6T-.js → hx-button-CHlkRQTe.js} +183 -61
  402. package/dist/shared/hx-button-CHlkRQTe.js.map +1 -0
  403. package/dist/shared/{hx-button-group-BJOGWoMa.js → hx-button-group-BI-QBqmO.js} +45 -27
  404. package/dist/shared/hx-button-group-BI-QBqmO.js.map +1 -0
  405. package/dist/shared/{hx-card-ycveujjL.js → hx-card-qNAM2QNV.js} +49 -37
  406. package/dist/shared/hx-card-qNAM2QNV.js.map +1 -0
  407. package/dist/shared/{hx-carousel-item-D_dCv61-.js → hx-carousel-item-z1Lc24op.js} +41 -36
  408. package/dist/shared/hx-carousel-item-z1Lc24op.js.map +1 -0
  409. package/dist/shared/{hx-checkbox-DkkoWoye.js → hx-checkbox-D7xma9YH.js} +38 -40
  410. package/dist/shared/hx-checkbox-D7xma9YH.js.map +1 -0
  411. package/dist/shared/{hx-checkbox-group-C3poJ-Zw.js → hx-checkbox-group-C9n315Ju.js} +20 -19
  412. package/dist/shared/hx-checkbox-group-C9n315Ju.js.map +1 -0
  413. package/dist/shared/{hx-clinical-status-BS5lcddT.js → hx-clinical-status-D3XQIOqX.js} +55 -56
  414. package/dist/shared/hx-clinical-status-D3XQIOqX.js.map +1 -0
  415. package/dist/shared/{hx-code-snippet-B7wUKzyb.js → hx-code-snippet-Bi-arDKH.js} +41 -34
  416. package/dist/shared/hx-code-snippet-Bi-arDKH.js.map +1 -0
  417. package/dist/shared/{hx-color-picker-DBaKTVLr.js → hx-color-picker-uRc865FJ.js} +54 -46
  418. package/dist/shared/hx-color-picker-uRc865FJ.js.map +1 -0
  419. package/dist/shared/{hx-combobox-BmgYT7Ar.js → hx-combobox-DDzqNKEW.js} +43 -48
  420. package/dist/shared/hx-combobox-DDzqNKEW.js.map +1 -0
  421. package/dist/shared/hx-container-DVI7sxfX.js.map +1 -1
  422. package/dist/shared/{hx-copy-button-8deNUdwP.js → hx-copy-button-sUVuikyH.js} +23 -19
  423. package/dist/shared/hx-copy-button-sUVuikyH.js.map +1 -0
  424. package/dist/shared/{hx-counter-CKfl_g8K.js → hx-counter-0zYapFhf.js} +10 -9
  425. package/dist/shared/hx-counter-0zYapFhf.js.map +1 -0
  426. package/dist/shared/{hx-data-table-B6h0RPn0.js → hx-data-table-CLqVqdxr.js} +49 -47
  427. package/dist/shared/hx-data-table-CLqVqdxr.js.map +1 -0
  428. package/dist/shared/{hx-date-picker-Dq2Nb68_.js → hx-date-picker-2iRG1p74.js} +51 -66
  429. package/dist/shared/hx-date-picker-2iRG1p74.js.map +1 -0
  430. package/dist/shared/{hx-dialog-CvIlY0Tc.js → hx-dialog-DRN_1-Y-.js} +68 -63
  431. package/dist/shared/hx-dialog-DRN_1-Y-.js.map +1 -0
  432. package/dist/shared/{hx-divider-DwpOrzMW.js → hx-divider-CYfcUjcr.js} +18 -17
  433. package/dist/shared/hx-divider-CYfcUjcr.js.map +1 -0
  434. package/dist/shared/{hx-drawer-Cx2ZJhBe.js → hx-drawer-Y1Ui2IWJ.js} +31 -30
  435. package/dist/shared/hx-drawer-Y1Ui2IWJ.js.map +1 -0
  436. package/dist/shared/{hx-dropdown-BjDrPUq5.js → hx-dropdown-LyaRc8Rf.js} +16 -15
  437. package/dist/shared/hx-dropdown-LyaRc8Rf.js.map +1 -0
  438. package/dist/shared/{hx-field-Dp3qQMut.js → hx-field-B3Qo8OLS.js} +15 -15
  439. package/dist/shared/hx-field-B3Qo8OLS.js.map +1 -0
  440. package/dist/shared/{hx-field-label-BC8QViXv.js → hx-field-label-BVRyyKeh.js} +8 -7
  441. package/dist/shared/hx-field-label-BVRyyKeh.js.map +1 -0
  442. package/dist/shared/{hx-file-upload-B6Yl1u0i.js → hx-file-upload-D3rKROK5.js} +51 -59
  443. package/dist/shared/hx-file-upload-D3rKROK5.js.map +1 -0
  444. package/dist/shared/hx-form-CkChEATa.js +257 -0
  445. package/dist/shared/hx-form-CkChEATa.js.map +1 -0
  446. package/dist/shared/hx-grid-CXZf3jeK.js.map +1 -1
  447. package/dist/shared/{hx-help-text-D7eytSim.js → hx-help-text-Xb2Yr8x2.js} +30 -29
  448. package/dist/shared/hx-help-text-Xb2Yr8x2.js.map +1 -0
  449. package/dist/shared/{hx-icon-button-BHneqPCU.js → hx-icon-button-CGNdQSFM.js} +78 -69
  450. package/dist/shared/hx-icon-button-CGNdQSFM.js.map +1 -0
  451. package/dist/shared/{hx-icon-CcyDPDYY.js → hx-icon-fuVm4-bk.js} +15 -14
  452. package/dist/shared/hx-icon-fuVm4-bk.js.map +1 -0
  453. package/dist/shared/{hx-image-2gt14zZd.js → hx-image-Ben_4yM5.js} +18 -17
  454. package/dist/shared/hx-image-Ben_4yM5.js.map +1 -0
  455. package/dist/shared/{hx-link-BESrWK8M.js → hx-link-C-O6vq0Q.js} +20 -22
  456. package/dist/shared/hx-link-C-O6vq0Q.js.map +1 -0
  457. package/dist/shared/{hx-list-_9qVv02L.js → hx-list-MyEhh8c7.js} +22 -23
  458. package/dist/shared/hx-list-MyEhh8c7.js.map +1 -0
  459. package/dist/shared/{hx-menu-divider-Ck-9Os1t.js → hx-menu-divider-C2omnPtj.js} +50 -49
  460. package/dist/shared/hx-menu-divider-C2omnPtj.js.map +1 -0
  461. package/dist/shared/{hx-meter-TbROk-dw.js → hx-meter-BPscsw5t.js} +41 -40
  462. package/dist/shared/{hx-meter-TbROk-dw.js.map → hx-meter-BPscsw5t.js.map} +1 -1
  463. package/dist/shared/{hx-nav-item-pqPasRUm.js → hx-nav-item-Dap3DYgB.js} +143 -81
  464. package/dist/shared/hx-nav-item-Dap3DYgB.js.map +1 -0
  465. package/dist/shared/{hx-nav-BcYDmjf7.js → hx-nav-ldFM3Fle.js} +54 -53
  466. package/dist/shared/hx-nav-ldFM3Fle.js.map +1 -0
  467. package/dist/shared/{hx-number-input-mOIZ3-46.js → hx-number-input-yUzFOSC1.js} +68 -67
  468. package/dist/shared/hx-number-input-yUzFOSC1.js.map +1 -0
  469. package/dist/shared/{hx-overflow-menu-Dprb9lnT.js → hx-overflow-menu-DCLsdIBy.js} +33 -29
  470. package/dist/shared/hx-overflow-menu-DCLsdIBy.js.map +1 -0
  471. package/dist/shared/{hx-pagination-AguTQjYC.js → hx-pagination-C7y8GVyU.js} +43 -42
  472. package/dist/shared/hx-pagination-C7y8GVyU.js.map +1 -0
  473. package/dist/shared/{hx-patient-banner-uE6gqLpT.js → hx-patient-banner-CkS-Lmj4.js} +29 -20
  474. package/dist/shared/hx-patient-banner-CkS-Lmj4.js.map +1 -0
  475. package/dist/shared/{hx-phi-field-BC_XowhC.js → hx-phi-field-C19oxlrr.js} +13 -15
  476. package/dist/shared/hx-phi-field-C19oxlrr.js.map +1 -0
  477. package/dist/shared/{hx-popover-B2_203ct.js → hx-popover-B-FP3-wW.js} +31 -29
  478. package/dist/shared/hx-popover-B-FP3-wW.js.map +1 -0
  479. package/dist/shared/{hx-popup-DZXpsJ1R.js → hx-popup-COUXXZ9X.js} +8 -7
  480. package/dist/shared/hx-popup-COUXXZ9X.js.map +1 -0
  481. package/dist/shared/{hx-progress-bar-KjEkEJLy.js → hx-progress-bar-Bn3JEPUf.js} +28 -27
  482. package/dist/shared/hx-progress-bar-Bn3JEPUf.js.map +1 -0
  483. package/dist/shared/{hx-progress-ring-3zMwvrwD.js → hx-progress-ring-TwHyXeEp.js} +15 -14
  484. package/dist/shared/hx-progress-ring-TwHyXeEp.js.map +1 -0
  485. package/dist/shared/{hx-prose-BCtK7YL6.js → hx-prose-BThYcASV.js} +12 -12
  486. package/dist/shared/{hx-prose-BCtK7YL6.js.map → hx-prose-BThYcASV.js.map} +1 -1
  487. package/dist/shared/{hx-radio-BBC5qZgE.js → hx-radio-CJvNU2yP.js} +38 -40
  488. package/dist/shared/hx-radio-CJvNU2yP.js.map +1 -0
  489. package/dist/shared/{hx-rating-C3E3ENJb.js → hx-rating-C3QP53k9.js} +38 -38
  490. package/dist/shared/hx-rating-C3QP53k9.js.map +1 -0
  491. package/dist/shared/{hx-select-CixTo7jp.js → hx-select-C8fEHQhC.js} +64 -64
  492. package/dist/shared/hx-select-C8fEHQhC.js.map +1 -0
  493. package/dist/shared/{hx-skeleton-LxkI0pxr.js → hx-skeleton-Cnieh5Uc.js} +14 -13
  494. package/dist/shared/hx-skeleton-Cnieh5Uc.js.map +1 -0
  495. package/dist/shared/{hx-slider-DFHuzF3N.js → hx-slider-Blmv_rwS.js} +70 -69
  496. package/dist/shared/hx-slider-Blmv_rwS.js.map +1 -0
  497. package/dist/shared/{hx-spinner-BKjuCdZB.js → hx-spinner-DL5AYr16.js} +18 -17
  498. package/dist/shared/hx-spinner-DL5AYr16.js.map +1 -0
  499. package/dist/shared/{hx-split-button-CGcJMmCG.js → hx-split-button-Djnc5Aeg.js} +74 -65
  500. package/dist/shared/hx-split-button-Djnc5Aeg.js.map +1 -0
  501. package/dist/shared/{hx-split-panel-C-1R10Mc.js → hx-split-panel-B-u0Z3mm.js} +16 -18
  502. package/dist/shared/hx-split-panel-B-u0Z3mm.js.map +1 -0
  503. package/dist/shared/hx-stack-DGfcOfWJ.js.map +1 -1
  504. package/dist/shared/{hx-stat-BTpykQAt.js → hx-stat-WOcNV1Ry.js} +16 -15
  505. package/dist/shared/hx-stat-WOcNV1Ry.js.map +1 -0
  506. package/dist/shared/{hx-status-indicator-X2QEWNFt.js → hx-status-indicator-BlQyen43.js} +17 -16
  507. package/dist/shared/hx-status-indicator-BlQyen43.js.map +1 -0
  508. package/dist/shared/{hx-step-CRNQlmSo.js → hx-step-R2rjp1fT.js} +60 -50
  509. package/dist/shared/hx-step-R2rjp1fT.js.map +1 -0
  510. package/dist/shared/{hx-structured-list-CqNbaEXg.js → hx-structured-list-m_-dMJbC.js} +18 -17
  511. package/dist/shared/hx-structured-list-m_-dMJbC.js.map +1 -0
  512. package/dist/shared/{hx-switch-DqOD9JR7.js → hx-switch-BrZFaRue.js} +31 -25
  513. package/dist/shared/hx-switch-BrZFaRue.js.map +1 -0
  514. package/dist/shared/{hx-tab-panel-BIzKfW5i.js → hx-tab-panel-DspCrKqo.js} +45 -50
  515. package/dist/shared/hx-tab-panel-DspCrKqo.js.map +1 -0
  516. package/dist/shared/{hx-tag-CgnrNnte.js → hx-tag-CNSmdyaK.js} +63 -62
  517. package/dist/shared/hx-tag-CNSmdyaK.js.map +1 -0
  518. package/dist/shared/{hx-td-Bra35cH4.js → hx-td-DnnEMIuA.js} +62 -62
  519. package/dist/shared/hx-td-DnnEMIuA.js.map +1 -0
  520. package/dist/shared/{hx-text-DMC2CPlL.js → hx-text-Bz_9fJ3J.js} +28 -25
  521. package/dist/shared/hx-text-Bz_9fJ3J.js.map +1 -0
  522. package/dist/shared/{hx-text-input--q0GH78x.js → hx-text-input-D6FlOZM-.js} +144 -72
  523. package/dist/shared/{hx-text-input--q0GH78x.js.map → hx-text-input-D6FlOZM-.js.map} +1 -1
  524. package/dist/shared/{hx-textarea-CK621vSL.js → hx-textarea-CNG590KY.js} +107 -70
  525. package/dist/shared/hx-textarea-CNG590KY.js.map +1 -0
  526. package/dist/shared/{hx-theme-DfEy-SJA.js → hx-theme-BiyQ7UUK.js} +46 -35
  527. package/dist/shared/hx-theme-BiyQ7UUK.js.map +1 -0
  528. package/dist/shared/{hx-time-picker-tPUfgElQ.js → hx-time-picker-BoEIZwzv.js} +59 -52
  529. package/dist/shared/hx-time-picker-BoEIZwzv.js.map +1 -0
  530. package/dist/shared/{hx-toggle-button-L-uBJr-a.js → hx-toggle-button-iLiYrMbD.js} +86 -72
  531. package/dist/shared/hx-toggle-button-iLiYrMbD.js.map +1 -0
  532. package/dist/shared/{hx-tooltip-B_zfKvwc.js → hx-tooltip-nYOv9OLu.js} +18 -16
  533. package/dist/shared/hx-tooltip-nYOv9OLu.js.map +1 -0
  534. package/dist/shared/{hx-top-nav-CATbRvIv.js → hx-top-nav-DP6OFS8C.js} +31 -30
  535. package/dist/shared/hx-top-nav-DP6OFS8C.js.map +1 -0
  536. package/dist/shared/{hx-tree-item-A45WCiBu.js → hx-tree-item-C2CiWuDE.js} +29 -29
  537. package/dist/shared/hx-tree-item-C2CiWuDE.js.map +1 -0
  538. package/dist/shared/{toast-factory-BPPnG3mM.js → toast-factory-YSznocIV.js} +98 -72
  539. package/dist/shared/toast-factory-YSznocIV.js.map +1 -0
  540. package/dist/styles/forced-colors.d.ts +60 -0
  541. package/dist/styles/forced-colors.d.ts.map +1 -0
  542. package/figma-inventory.json +8690 -827
  543. package/package.json +2 -2
  544. package/dist/shared/hx-accordion-Wt52OOZD.js.map +0 -1
  545. package/dist/shared/hx-action-bar-BKMADbHj.js.map +0 -1
  546. package/dist/shared/hx-alert-D7n94HwI.js.map +0 -1
  547. package/dist/shared/hx-avatar-iLYzu8MJ.js.map +0 -1
  548. package/dist/shared/hx-badge-CVCmMPyW.js.map +0 -1
  549. package/dist/shared/hx-banner-C_He7Tr4.js.map +0 -1
  550. package/dist/shared/hx-breadcrumb-item-CldCwD1d.js.map +0 -1
  551. package/dist/shared/hx-button-Ddl-T6T-.js.map +0 -1
  552. package/dist/shared/hx-button-group-BJOGWoMa.js.map +0 -1
  553. package/dist/shared/hx-card-ycveujjL.js.map +0 -1
  554. package/dist/shared/hx-carousel-item-D_dCv61-.js.map +0 -1
  555. package/dist/shared/hx-checkbox-DkkoWoye.js.map +0 -1
  556. package/dist/shared/hx-checkbox-group-C3poJ-Zw.js.map +0 -1
  557. package/dist/shared/hx-clinical-status-BS5lcddT.js.map +0 -1
  558. package/dist/shared/hx-code-snippet-B7wUKzyb.js.map +0 -1
  559. package/dist/shared/hx-color-picker-DBaKTVLr.js.map +0 -1
  560. package/dist/shared/hx-combobox-BmgYT7Ar.js.map +0 -1
  561. package/dist/shared/hx-copy-button-8deNUdwP.js.map +0 -1
  562. package/dist/shared/hx-counter-CKfl_g8K.js.map +0 -1
  563. package/dist/shared/hx-data-table-B6h0RPn0.js.map +0 -1
  564. package/dist/shared/hx-date-picker-Dq2Nb68_.js.map +0 -1
  565. package/dist/shared/hx-dialog-CvIlY0Tc.js.map +0 -1
  566. package/dist/shared/hx-divider-DwpOrzMW.js.map +0 -1
  567. package/dist/shared/hx-drawer-Cx2ZJhBe.js.map +0 -1
  568. package/dist/shared/hx-dropdown-BjDrPUq5.js.map +0 -1
  569. package/dist/shared/hx-field-Dp3qQMut.js.map +0 -1
  570. package/dist/shared/hx-field-label-BC8QViXv.js.map +0 -1
  571. package/dist/shared/hx-file-upload-B6Yl1u0i.js.map +0 -1
  572. package/dist/shared/hx-form-ButQFt9A.js +0 -257
  573. package/dist/shared/hx-form-ButQFt9A.js.map +0 -1
  574. package/dist/shared/hx-help-text-D7eytSim.js.map +0 -1
  575. package/dist/shared/hx-icon-CcyDPDYY.js.map +0 -1
  576. package/dist/shared/hx-icon-button-BHneqPCU.js.map +0 -1
  577. package/dist/shared/hx-image-2gt14zZd.js.map +0 -1
  578. package/dist/shared/hx-link-BESrWK8M.js.map +0 -1
  579. package/dist/shared/hx-list-_9qVv02L.js.map +0 -1
  580. package/dist/shared/hx-menu-divider-Ck-9Os1t.js.map +0 -1
  581. package/dist/shared/hx-nav-BcYDmjf7.js.map +0 -1
  582. package/dist/shared/hx-nav-item-pqPasRUm.js.map +0 -1
  583. package/dist/shared/hx-number-input-mOIZ3-46.js.map +0 -1
  584. package/dist/shared/hx-overflow-menu-Dprb9lnT.js.map +0 -1
  585. package/dist/shared/hx-pagination-AguTQjYC.js.map +0 -1
  586. package/dist/shared/hx-patient-banner-uE6gqLpT.js.map +0 -1
  587. package/dist/shared/hx-phi-field-BC_XowhC.js.map +0 -1
  588. package/dist/shared/hx-popover-B2_203ct.js.map +0 -1
  589. package/dist/shared/hx-popup-DZXpsJ1R.js.map +0 -1
  590. package/dist/shared/hx-progress-bar-KjEkEJLy.js.map +0 -1
  591. package/dist/shared/hx-progress-ring-3zMwvrwD.js.map +0 -1
  592. package/dist/shared/hx-radio-BBC5qZgE.js.map +0 -1
  593. package/dist/shared/hx-rating-C3E3ENJb.js.map +0 -1
  594. package/dist/shared/hx-select-CixTo7jp.js.map +0 -1
  595. package/dist/shared/hx-skeleton-LxkI0pxr.js.map +0 -1
  596. package/dist/shared/hx-slider-DFHuzF3N.js.map +0 -1
  597. package/dist/shared/hx-spinner-BKjuCdZB.js.map +0 -1
  598. package/dist/shared/hx-split-button-CGcJMmCG.js.map +0 -1
  599. package/dist/shared/hx-split-panel-C-1R10Mc.js.map +0 -1
  600. package/dist/shared/hx-stat-BTpykQAt.js.map +0 -1
  601. package/dist/shared/hx-status-indicator-X2QEWNFt.js.map +0 -1
  602. package/dist/shared/hx-step-CRNQlmSo.js.map +0 -1
  603. package/dist/shared/hx-structured-list-CqNbaEXg.js.map +0 -1
  604. package/dist/shared/hx-switch-DqOD9JR7.js.map +0 -1
  605. package/dist/shared/hx-tab-panel-BIzKfW5i.js.map +0 -1
  606. package/dist/shared/hx-tag-CgnrNnte.js.map +0 -1
  607. package/dist/shared/hx-td-Bra35cH4.js.map +0 -1
  608. package/dist/shared/hx-text-DMC2CPlL.js.map +0 -1
  609. package/dist/shared/hx-textarea-CK621vSL.js.map +0 -1
  610. package/dist/shared/hx-theme-DfEy-SJA.js.map +0 -1
  611. package/dist/shared/hx-time-picker-tPUfgElQ.js.map +0 -1
  612. package/dist/shared/hx-toggle-button-L-uBJr-a.js.map +0 -1
  613. package/dist/shared/hx-tooltip-B_zfKvwc.js.map +0 -1
  614. package/dist/shared/hx-top-nav-CATbRvIv.js.map +0 -1
  615. package/dist/shared/hx-tree-item-A45WCiBu.js.map +0 -1
  616. 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,35 @@
73
73
  /* ─── Focus Ring ─── */
74
74
 
75
75
  .checkbox__input:focus-visible ~ .checkbox__box {
76
- outline: var(--hx-focus-ring-width, 2px) solid
77
- var(
78
- --hx-checkbox-focus-ring-color,
79
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
80
- );
81
- outline-offset: var(--hx-focus-ring-offset, 2px);
76
+ outline: var(--hx-checkbox-focus-ring-width, var(--hx-focus-ring-width, 2px)) solid
77
+ var(--hx-checkbox-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
78
+ outline-offset: var(--hx-checkbox-focus-ring-offset, var(--hx-focus-ring-offset, 2px));
82
79
  }
83
80
 
84
81
  /* ─── Checked State ─── */
85
82
 
86
83
  .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));
84
+ background-color: var(--hx-checkbox-checked-bg, var(--hx-color-primary-500, #429797));
85
+ border-color: var(--hx-checkbox-checked-border-color, var(--hx-color-primary-500, #429797));
89
86
  }
90
87
 
91
88
  /* ─── Indeterminate State ─── */
92
89
 
93
90
  .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));
91
+ background-color: var(--hx-checkbox-checked-bg, var(--hx-color-primary-500, #429797));
92
+ border-color: var(--hx-checkbox-checked-border-color, var(--hx-color-primary-500, #429797));
96
93
  }
97
94
 
98
95
  /* ─── Error State ─── */
99
96
 
100
97
  .checkbox--error .checkbox__box {
101
- border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #dc2626));
98
+ border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #e5493e));
102
99
  }
103
100
 
104
101
  .checkbox--error.checkbox--checked .checkbox__box,
105
102
  .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));
103
+ background-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #e5493e));
104
+ border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #e5493e));
108
105
  }
109
106
 
110
107
  /* ─── Hover ─── */
@@ -113,7 +110,7 @@
113
110
  .checkbox__control:hover .checkbox__box {
114
111
  border-color: var(
115
112
  --hx-checkbox-hover-border-color,
116
- var(--hx-checkbox-border-color, var(--hx-color-primary-500, #2563eb))
113
+ var(--hx-checkbox-border-color, var(--hx-color-primary-500, #429797))
117
114
  );
118
115
  }
119
116
 
@@ -122,7 +119,7 @@
122
119
  }
123
120
 
124
121
  .checkbox--error .checkbox__control:hover .checkbox__box {
125
- border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #dc2626));
122
+ border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #e5493e));
126
123
  }
127
124
 
128
125
  /* ─── Checkmark Icon ─── */
@@ -132,7 +129,7 @@
132
129
  width: calc(var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) * 0.65);
133
130
  height: calc(var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) * 0.65);
134
131
  fill: none;
135
- stroke: var(--hx-checkbox-checkmark-color, var(--hx-color-neutral-0, #ffffff));
132
+ stroke: var(--hx-checkbox-checkmark-color, var(--hx-color-text-on-primary, #ffffff));
136
133
  stroke-width: 2.5;
137
134
  stroke-linecap: round;
138
135
  stroke-linejoin: round;
@@ -151,14 +148,14 @@
151
148
  .checkbox__label {
152
149
  font-size: var(--hx-font-size-sm, 0.875rem);
153
150
  font-weight: var(--hx-font-weight-medium, 500);
154
- color: var(--hx-checkbox-label-color, var(--hx-color-neutral-700, #334155));
151
+ color: var(--hx-checkbox-label-color, var(--hx-color-text-strong, #202b39));
155
152
  line-height: var(--hx-line-height-normal, 1.5);
156
153
  user-select: none;
157
154
  -webkit-user-select: none;
158
155
  }
159
156
 
160
157
  .checkbox__required-marker {
161
- color: var(--hx-checkbox-error-color, var(--hx-color-error-text, #b91c1c));
158
+ color: var(--hx-checkbox-error-color, var(--hx-color-error-text, #c92a2a));
162
159
  font-weight: var(--hx-font-weight-bold, 700);
163
160
  }
164
161
 
@@ -166,7 +163,7 @@
166
163
 
167
164
  .checkbox__help-text {
168
165
  font-size: var(--hx-font-size-xs, 0.75rem);
169
- color: var(--hx-checkbox-help-text-color, var(--hx-color-neutral-500, #64748b));
166
+ color: var(--hx-checkbox-help-text-color, var(--hx-color-text-muted, #4a5362));
170
167
  line-height: var(--hx-line-height-normal, 1.5);
171
168
  padding-inline-start: calc(
172
169
  var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) + var(--hx-space-2, 0.5rem)
@@ -175,7 +172,7 @@
175
172
 
176
173
  .checkbox__error {
177
174
  font-size: var(--hx-font-size-xs, 0.75rem);
178
- color: var(--hx-checkbox-error-color, var(--hx-color-error-text, #b91c1c));
175
+ color: var(--hx-checkbox-error-color, var(--hx-color-error-text, #c92a2a));
179
176
  line-height: var(--hx-line-height-normal, 1.5);
180
177
  padding-inline-start: calc(
181
178
  var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) + var(--hx-space-2, 0.5rem)
@@ -319,14 +316,14 @@
319
316
  gap: var(--hx-space-1);
320
317
  font-size: var(--hx-font-size-sm);
321
318
  font-weight: var(--hx-font-weight-medium);
322
- color: var(--hx-checkbox-group-label-color, var(--hx-color-neutral-700));
319
+ color: var(--hx-checkbox-group-label-color, var(--hx-color-text-strong));
323
320
  line-height: var(--hx-line-height-normal);
324
321
  padding: 0;
325
322
  margin-bottom: var(--hx-space-1);
326
323
  }
327
324
 
328
325
  .fieldset__required-marker {
329
- color: var(--hx-checkbox-group-error-color, var(--hx-color-error-text, #b91c1c));
326
+ color: var(--hx-checkbox-group-error-color, var(--hx-color-error-text, #c92a2a));
330
327
  font-weight: var(--hx-font-weight-bold);
331
328
  }
332
329
 
@@ -346,20 +343,20 @@
346
343
  /* ─── Error State ─── */
347
344
 
348
345
  .fieldset--error .fieldset__legend {
349
- color: var(--hx-checkbox-group-error-color, var(--hx-color-error-text, #b91c1c));
346
+ color: var(--hx-checkbox-group-error-color, var(--hx-color-error-text, #c92a2a));
350
347
  }
351
348
 
352
349
  /* ─── Help Text & Error Messages ─── */
353
350
 
354
351
  .fieldset__help-text {
355
352
  font-size: var(--hx-font-size-xs);
356
- color: var(--hx-checkbox-group-help-text-color, var(--hx-color-neutral-500));
353
+ color: var(--hx-checkbox-group-help-text-color, var(--hx-color-text-muted));
357
354
  line-height: var(--hx-line-height-normal);
358
355
  }
359
356
 
360
357
  .fieldset__error {
361
358
  font-size: var(--hx-font-size-xs);
362
- color: var(--hx-checkbox-group-error-color, var(--hx-color-error-text, #b91c1c));
359
+ color: var(--hx-checkbox-group-error-color, var(--hx-color-error-text, #c92a2a));
363
360
  line-height: var(--hx-line-height-normal);
364
361
  }
365
362
 
@@ -410,18 +407,21 @@
410
407
  align-items: center;
411
408
  gap: var(--hx-space-2, 0.5rem);
412
409
  padding: var(--hx-space-1, 0.25rem);
413
- border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #cbd5e1);
410
+ border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #b6bfb9);
414
411
  border-radius: var(--hx-border-radius-md, 0.375rem);
415
412
  background: var(--hx-color-neutral-0, #ffffff);
416
413
  cursor: pointer;
417
414
  transition: border-color var(--hx-transition-fast, 150ms ease);
418
415
  }
419
416
  .trigger:hover:not([disabled]) {
420
- border-color: var(--hx-color-primary-500, #2563eb);
417
+ border-color: var(
418
+ --hx-color-picker-trigger-hover-border-color,
419
+ var(--hx-color-primary-500, #429797)
420
+ );
421
421
  }
422
422
  :is(.trigger, .gradient-grid, .slider-track, .swatch-btn, .format-btn):focus-visible {
423
423
  outline: var(--hx-focus-ring-width, 2px) solid
424
- var(--hx-focus-ring-color, var(--hx-color-primary-500));
424
+ var(--hx-color-picker-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
425
425
  outline-offset: var(--hx-focus-ring-offset, 2px);
426
426
  }
427
427
  .trigger-swatch {
@@ -436,7 +436,7 @@
436
436
  }
437
437
  .trigger-label {
438
438
  font-size: var(--hx-font-size-sm, 0.875rem);
439
- color: var(--hx-color-neutral-700, #334155);
439
+ color: var(--hx-color-neutral-700, #313e4b);
440
440
  font-family: var(--hx-font-family-mono, monospace);
441
441
  white-space: nowrap;
442
442
  }
@@ -446,7 +446,7 @@
446
446
  top: calc(100% + 4px);
447
447
  left: 0;
448
448
  background: var(--hx-color-neutral-0, #ffffff);
449
- border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #e2e8f0);
449
+ border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #d6dbd5);
450
450
  border-radius: var(--hx-border-radius-lg, 0.5rem);
451
451
  box-shadow: 0 8px 24px
452
452
  var(--hx-color-picker-panel-shadow, var(--hx-overlay-black-15, rgba(0, 0, 0, 0.15)));
@@ -460,7 +460,7 @@
460
460
  :host([inline]) .panel {
461
461
  position: static;
462
462
  box-shadow: none;
463
- border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #e2e8f0);
463
+ border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #d6dbd5);
464
464
  border-radius: var(--hx-border-radius-lg, 0.5rem);
465
465
  }
466
466
  .gradient-grid {
@@ -573,12 +573,12 @@
573
573
  .format-btn {
574
574
  flex-shrink: 0;
575
575
  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);
576
+ background: var(--hx-color-neutral-100, #ebeee9);
577
+ border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #b6bfb9);
578
578
  border-radius: var(--hx-border-radius-sm, 0.25rem);
579
579
  cursor: pointer;
580
580
  font-size: var(--hx-font-size-xs, 0.75rem);
581
- color: var(--hx-color-neutral-600, #475569);
581
+ color: var(--hx-color-neutral-600, #4a5362);
582
582
  text-transform: uppercase;
583
583
  font-weight: var(--hx-font-weight-semibold, 600);
584
584
  letter-spacing: 0.05em;
@@ -587,18 +587,22 @@
587
587
  flex: 1;
588
588
  min-width: 0;
589
589
  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);
590
+ border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #b6bfb9);
591
591
  border-radius: var(--hx-border-radius-sm, 0.25rem);
592
592
  font-family: var(--hx-font-family-mono, monospace);
593
593
  font-size: var(--hx-font-size-sm, 0.875rem);
594
- color: var(--hx-color-neutral-900, #0f172a);
594
+ color: var(--hx-color-neutral-900, #0d1825);
595
595
  background: var(--hx-color-neutral-0, #ffffff);
596
596
  outline: none;
597
597
  }
598
598
  .color-input:focus-visible {
599
- border-color: var(--hx-focus-ring-color, var(--hx-color-primary-500));
599
+ border-color: var(--hx-color-picker-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
600
600
  box-shadow: 0 0 0 2px
601
- color-mix(in srgb, var(--hx-focus-ring-color, var(--hx-color-primary-500)) 20%, transparent);
601
+ color-mix(
602
+ in srgb,
603
+ var(--hx-color-picker-focus-ring-color, var(--hx-focus-ring-color, #0f7078)) 20%,
604
+ transparent
605
+ );
602
606
  }
603
607
  .input-preview {
604
608
  width: 24px;
@@ -695,11 +699,11 @@
695
699
  gap: var(--hx-space-1, 0.25rem);
696
700
  font-size: var(--hx-font-size-sm, 0.875rem);
697
701
  font-weight: var(--hx-font-weight-medium, 500);
698
- color: var(--hx-combobox-label-color, var(--hx-color-neutral-700, #334155));
702
+ color: var(--hx-combobox-label-color, var(--hx-color-text-strong, #202b39));
699
703
  line-height: var(--hx-line-height-normal, 1.5);
700
704
  }
701
705
  .field__required-marker {
702
- color: var(--hx-combobox-error-color, var(--hx-color-error-text, #b91c1c));
706
+ color: var(--hx-combobox-error-color, var(--hx-color-error-text, #c92a2a));
703
707
  font-weight: var(--hx-font-weight-bold, 700);
704
708
  }
705
709
  .field__input-wrapper {
@@ -707,38 +711,32 @@
707
711
  display: flex;
708
712
  align-items: center;
709
713
  border: var(--hx-border-width-thin, 1px) solid
710
- var(--hx-combobox-border-color, var(--hx-color-neutral-300, #cbd5e1));
714
+ var(--hx-combobox-border-color, var(--hx-color-border-strong, #66787b));
711
715
  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));
716
+ background-color: var(--hx-combobox-bg, var(--hx-color-surface-default, #ffffff));
713
717
  transition:
714
718
  border-color var(--hx-transition-fast, 150ms ease),
715
719
  box-shadow var(--hx-transition-fast, 150ms ease);
716
720
  }
717
721
  .field__input-wrapper:focus-within {
718
- border-color: var(
719
- --hx-combobox-focus-ring-color,
720
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
721
- );
722
+ border-color: var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
722
723
  box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
723
724
  color-mix(
724
725
  in srgb,
725
- var(
726
- --hx-combobox-focus-ring-color,
727
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
728
- )
726
+ var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, #0f7078))
729
727
  calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
730
728
  transparent
731
729
  );
732
730
  }
733
731
  .field--error .field__input-wrapper {
734
- border-color: var(--hx-combobox-error-color, var(--hx-color-error-500, #dc2626));
732
+ border-color: var(--hx-combobox-error-color, var(--hx-color-error-500, #e5493e));
735
733
  }
736
734
  .field--error .field__input-wrapper:focus-within {
737
- border-color: var(--hx-combobox-error-color, var(--hx-color-error-500, #dc2626));
735
+ border-color: var(--hx-combobox-error-color, var(--hx-color-error-500, #e5493e));
738
736
  box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
739
737
  color-mix(
740
738
  in srgb,
741
- var(--hx-combobox-error-color, var(--hx-color-error-500, #dc2626))
739
+ var(--hx-combobox-error-color, var(--hx-color-error-500, #e5493e))
742
740
  calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
743
741
  transparent
744
742
  );
@@ -748,7 +746,7 @@
748
746
  display: flex;
749
747
  align-items: center;
750
748
  padding: 0 var(--hx-space-2, 0.5rem);
751
- color: var(--hx-color-neutral-500, #64748b);
749
+ color: var(--hx-color-text-muted, #4a5362);
752
750
  flex-shrink: 0;
753
751
  }
754
752
  .field__input {
@@ -761,11 +759,11 @@
761
759
  font-family: inherit;
762
760
  font-size: var(--hx-font-size-md, 1rem);
763
761
  line-height: var(--hx-line-height-normal, 1.5);
764
- color: var(--hx-combobox-color, var(--hx-color-neutral-800, #1e293b));
762
+ color: var(--hx-combobox-color, var(--hx-color-text-strong, #202b39));
765
763
  padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
766
764
  }
767
765
  .field__input::placeholder {
768
- color: var(--hx-color-neutral-400, #94a3b8);
766
+ color: var(--hx-color-text-placeholder, #66787b);
769
767
  }
770
768
  .field__input--sm {
771
769
  min-height: var(--hx-input-height-sm, var(--hx-size-8, 2rem));
@@ -784,7 +782,7 @@
784
782
  justify-content: center;
785
783
  margin-inline-end: var(--hx-space-2, 0.5rem);
786
784
  flex-shrink: 0;
787
- color: var(--hx-color-neutral-400, #94a3b8);
785
+ color: var(--hx-color-text-placeholder, #66787b);
788
786
  }
789
787
  .field__clear-button {
790
788
  width: 1.25rem;
@@ -797,11 +795,11 @@
797
795
  transition: color var(--hx-transition-fast, 150ms ease);
798
796
  }
799
797
  .field__clear-button:hover {
800
- color: var(--hx-color-neutral-700, #334155);
798
+ color: var(--hx-color-text-strong, #202b39);
801
799
  }
802
800
  .field__clear-button:focus-visible {
803
801
  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)));
802
+ var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
805
803
  outline-offset: var(--hx-focus-ring-offset, 2px);
806
804
  }
807
805
  .field__loading-indicator {
@@ -832,13 +830,13 @@
832
830
  left: 0;
833
831
  right: 0;
834
832
  z-index: var(--hx-z-index-dropdown, 1000);
835
- background-color: var(--hx-combobox-listbox-bg, var(--hx-color-neutral-0, #ffffff));
833
+ background-color: var(--hx-combobox-listbox-bg, var(--hx-color-surface-default, #ffffff));
836
834
  border: var(--hx-border-width-thin, 1px) solid
837
- var(--hx-combobox-border-color, var(--hx-color-neutral-300, #cbd5e1));
835
+ var(--hx-combobox-border-color, var(--hx-color-border-strong, #66787b));
838
836
  border-radius: var(--hx-combobox-border-radius, var(--hx-border-radius-md, 0.375rem));
839
837
  box-shadow: var(
840
838
  --hx-combobox-listbox-shadow,
841
- 0 4px 16px color-mix(in srgb, var(--hx-color-neutral-900, #0f172a) 12%, transparent)
839
+ 0 4px 16px color-mix(in srgb, var(--hx-color-neutral-900, #0d1825) 12%, transparent)
842
840
  );
843
841
  max-height: var(--hx-combobox-listbox-max-height, 16rem);
844
842
  overflow: hidden;
@@ -859,27 +857,27 @@
859
857
  gap: var(--hx-space-2, 0.5rem);
860
858
  padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
861
859
  font-size: var(--hx-font-size-md, 1rem);
862
- color: var(--hx-combobox-color, var(--hx-color-neutral-800, #1e293b));
860
+ color: var(--hx-combobox-color, var(--hx-color-text-strong, #202b39));
863
861
  cursor: pointer;
864
862
  user-select: none;
865
863
  -webkit-user-select: none;
866
864
  transition: background-color var(--hx-transition-fast, 150ms ease);
867
865
  }
868
866
  .field__option:hover {
869
- background-color: var(--hx-combobox-option-hover-bg, var(--hx-color-primary-50, #eff6ff));
867
+ background-color: var(--hx-combobox-option-hover-bg, var(--hx-color-primary-50, #ebf8f8));
870
868
  }
871
869
  .field__option--selected {
872
- background-color: var(--hx-combobox-option-selected-bg, var(--hx-color-primary-100, #dbeafe));
870
+ background-color: var(--hx-combobox-option-selected-bg, var(--hx-color-primary-100, #dbf0f0));
873
871
  font-weight: var(--hx-font-weight-medium, 500);
874
872
  }
875
873
  .field__option--focused {
876
- background-color: var(--hx-combobox-option-hover-bg, var(--hx-color-primary-50, #eff6ff));
874
+ background-color: var(--hx-combobox-option-hover-bg, var(--hx-color-primary-50, #ebf8f8));
877
875
  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)));
876
+ var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
879
877
  outline-offset: var(--hx-combobox-option-focus-ring-offset, -2px);
880
878
  }
881
879
  .field__option--focused.field__option--selected {
882
- background-color: var(--hx-combobox-option-selected-bg, var(--hx-color-primary-100, #dbeafe));
880
+ background-color: var(--hx-combobox-option-selected-bg, var(--hx-color-primary-100, #dbf0f0));
883
881
  }
884
882
  .field__option--disabled {
885
883
  opacity: var(--hx-opacity-disabled, 0.5);
@@ -895,7 +893,7 @@
895
893
  .field__no-options {
896
894
  padding: var(--hx-space-3, 0.75rem);
897
895
  text-align: center;
898
- color: var(--hx-color-neutral-400, #94a3b8);
896
+ color: var(--hx-color-text-placeholder, #66787b);
899
897
  font-size: var(--hx-font-size-sm, 0.875rem);
900
898
  }
901
899
  .field__sr-only {
@@ -915,10 +913,10 @@
915
913
  line-height: var(--hx-line-height-normal, 1.5);
916
914
  }
917
915
  .field__help-text {
918
- color: var(--hx-color-neutral-500, #64748b);
916
+ color: var(--hx-color-text-muted, #4a5362);
919
917
  }
920
918
  .field__error {
921
- color: var(--hx-combobox-error-color, var(--hx-color-error-text, #b91c1c));
919
+ color: var(--hx-combobox-error-color, var(--hx-color-error-text, #c92a2a));
922
920
  }
923
921
  @media (prefers-reduced-motion: reduce) {
924
922
  .field__input-wrapper,
@@ -1023,8 +1021,8 @@
1023
1021
  gap: var(--hx-space-1, 0.25rem);
1024
1022
  padding: 0 var(--hx-space-1, 0.25rem) 0 var(--hx-space-2, 0.5rem);
1025
1023
  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));
1024
+ background-color: var(--hx-combobox-chip-bg, var(--hx-color-primary-100, #dbf0f0));
1025
+ color: var(--hx-combobox-chip-color, var(--hx-color-primary-800, #07494a));
1028
1026
  border-radius: var(--hx-border-radius-full, 9999px);
1029
1027
  font-size: var(--hx-font-size-sm, 0.875rem);
1030
1028
  white-space: nowrap;
@@ -1055,11 +1053,11 @@
1055
1053
  }
1056
1054
  .field__chip-remove:hover {
1057
1055
  opacity: 1;
1058
- background-color: var(--hx-combobox-chip-remove-hover-bg, var(--hx-color-primary-200, #bfdbfe));
1056
+ background-color: var(--hx-combobox-chip-remove-hover-bg, var(--hx-color-primary-200, #bce1e1));
1059
1057
  }
1060
1058
  .field__chip-remove:focus-visible {
1061
1059
  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)));
1060
+ var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
1063
1061
  outline-offset: var(--hx-focus-ring-offset, 2px);
1064
1062
  opacity: 1;
1065
1063
  }
@@ -1104,12 +1102,12 @@
1104
1102
  gap: var(--hx-space-1, 0.25rem);
1105
1103
  font-size: var(--hx-font-size-sm, 0.875rem);
1106
1104
  font-weight: var(--hx-font-weight-medium, 500);
1107
- color: var(--hx-date-picker-label-color, var(--hx-color-neutral-700, #334155));
1105
+ color: var(--hx-date-picker-label-color, var(--hx-color-text-strong, #202b39));
1108
1106
  line-height: var(--hx-line-height-normal, 1.5);
1109
1107
  }
1110
1108
 
1111
1109
  .field__required-marker {
1112
- color: var(--hx-date-picker-error-color, var(--hx-color-error-text, #b91c1c));
1110
+ color: var(--hx-date-picker-error-color, var(--hx-color-error-text, #c92a2a));
1113
1111
  font-weight: var(--hx-font-weight-bold, 700);
1114
1112
  }
1115
1113
 
@@ -1121,9 +1119,9 @@
1121
1119
  display: flex;
1122
1120
  align-items: stretch;
1123
1121
  border: var(--hx-border-width-thin, 1px) solid
1124
- var(--hx-date-picker-border-color, var(--hx-color-neutral-300, #cbd5e1));
1122
+ var(--hx-date-picker-border-color, var(--hx-color-border-strong, #66787b));
1125
1123
  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));
1124
+ background-color: var(--hx-date-picker-bg, var(--hx-color-surface-default, #ffffff));
1127
1125
  transition:
1128
1126
  border-color var(--hx-transition-fast, 150ms ease),
1129
1127
  box-shadow var(--hx-transition-fast, 150ms ease);
@@ -1131,32 +1129,26 @@
1131
1129
  }
1132
1130
 
1133
1131
  .field__input-wrapper:focus-within {
1134
- border-color: var(
1135
- --hx-date-picker-focus-ring-color,
1136
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
1137
- );
1132
+ border-color: var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
1138
1133
  box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
1139
1134
  color-mix(
1140
1135
  in srgb,
1141
- var(
1142
- --hx-date-picker-focus-ring-color,
1143
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
1144
- )
1136
+ var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, #0f7078))
1145
1137
  calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
1146
1138
  transparent
1147
1139
  );
1148
1140
  }
1149
1141
 
1150
1142
  .field--error .field__input-wrapper {
1151
- border-color: var(--hx-date-picker-error-color, var(--hx-color-error-500, #dc2626));
1143
+ border-color: var(--hx-date-picker-error-color, var(--hx-color-error-500, #e5493e));
1152
1144
  }
1153
1145
 
1154
1146
  .field--error .field__input-wrapper:focus-within {
1155
- border-color: var(--hx-date-picker-error-color, var(--hx-color-error-500, #dc2626));
1147
+ border-color: var(--hx-date-picker-error-color, var(--hx-color-error-500, #e5493e));
1156
1148
  box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
1157
1149
  color-mix(
1158
1150
  in srgb,
1159
- var(--hx-date-picker-error-color, var(--hx-color-error-500, #dc2626))
1151
+ var(--hx-date-picker-error-color, var(--hx-color-error-500, #e5493e))
1160
1152
  calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
1161
1153
  transparent
1162
1154
  );
@@ -1174,7 +1166,7 @@
1174
1166
  padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
1175
1167
  font-family: inherit;
1176
1168
  font-size: var(--hx-font-size-md, 1rem);
1177
- color: var(--hx-date-picker-color, var(--hx-color-neutral-800, #1e293b));
1169
+ color: var(--hx-date-picker-color, var(--hx-color-text-strong, #202b39));
1178
1170
  line-height: var(--hx-line-height-normal, 1.5);
1179
1171
  min-height: var(--hx-size-10, 2.5rem);
1180
1172
  width: 100%;
@@ -1182,7 +1174,7 @@
1182
1174
  }
1183
1175
 
1184
1176
  .field__input::placeholder {
1185
- color: var(--hx-color-neutral-400, #94a3b8);
1177
+ color: var(--hx-color-text-placeholder, #66787b);
1186
1178
  }
1187
1179
 
1188
1180
  .field__input:disabled {
@@ -1200,9 +1192,9 @@
1200
1192
  padding: 0 var(--hx-space-3, 0.75rem);
1201
1193
  border: none;
1202
1194
  border-left: var(--hx-border-width-thin, 1px) solid
1203
- var(--hx-date-picker-border-color, var(--hx-color-neutral-300, #cbd5e1));
1195
+ var(--hx-date-picker-border-color, var(--hx-color-border-strong, #66787b));
1204
1196
  background: transparent;
1205
- color: var(--hx-date-picker-trigger-color, var(--hx-color-neutral-500, #64748b));
1197
+ color: var(--hx-date-picker-trigger-color, var(--hx-color-text-muted, #4a5362));
1206
1198
  cursor: pointer;
1207
1199
  flex-shrink: 0;
1208
1200
  transition: color var(--hx-transition-fast, 150ms ease);
@@ -1210,24 +1202,17 @@
1210
1202
  }
1211
1203
 
1212
1204
  .field__trigger:focus-visible {
1213
- color: var(
1214
- --hx-date-picker-focus-ring-color,
1215
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
1216
- );
1205
+ color: var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
1217
1206
  background-color: color-mix(
1218
1207
  in srgb,
1219
- var(
1220
- --hx-date-picker-focus-ring-color,
1221
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
1222
- )
1223
- 8%,
1208
+ var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, #0f7078)) 8%,
1224
1209
  transparent
1225
1210
  );
1226
1211
  }
1227
1212
 
1228
1213
  .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);
1214
+ color: var(--hx-date-picker-trigger-hover-color, var(--hx-color-text-strong, #202b39));
1215
+ background-color: color-mix(in srgb, var(--hx-color-neutral-900, #0d1825) 4%, transparent);
1231
1216
  }
1232
1217
 
1233
1218
  .field__trigger:disabled {
@@ -1244,9 +1229,9 @@
1244
1229
  left: 0;
1245
1230
  z-index: var(--hx-z-index-dropdown, 1000);
1246
1231
  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));
1232
+ background-color: var(--hx-date-picker-calendar-bg, var(--hx-color-surface-default, #ffffff));
1248
1233
  border: var(--hx-border-width-thin, 1px) solid
1249
- var(--hx-date-picker-calendar-border-color, var(--hx-color-neutral-200, #e2e8f0));
1234
+ var(--hx-date-picker-calendar-border-color, var(--hx-color-border-default, #d6dbd5));
1250
1235
  border-radius: var(--hx-date-picker-calendar-border-radius, var(--hx-border-radius-lg, 0.5rem));
1251
1236
  box-shadow: var(
1252
1237
  --hx-date-picker-calendar-shadow,
@@ -1305,22 +1290,19 @@
1305
1290
  }
1306
1291
 
1307
1292
  .calendar__nav-btn {
1308
- color: var(--hx-color-neutral-600, #475569);
1293
+ color: var(--hx-color-text-secondary, #313e4b);
1309
1294
  font-size: var(--hx-font-size-lg, 1.125rem);
1310
1295
  line-height: 1;
1311
1296
  }
1312
1297
 
1313
1298
  .calendar__nav-btn:hover {
1314
- background-color: var(--hx-color-neutral-100, #f1f5f9);
1315
- color: var(--hx-color-neutral-900, #0f172a);
1299
+ background-color: var(--hx-date-picker-day-hover-bg, var(--hx-color-surface-sunken, #ebeee9));
1300
+ color: var(--hx-color-text-primary, #0d1825);
1316
1301
  }
1317
1302
 
1318
1303
  :is(.calendar__nav-btn, .calendar__day):focus-visible {
1319
1304
  box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
1320
- var(
1321
- --hx-date-picker-focus-ring-color,
1322
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
1323
- );
1305
+ var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
1324
1306
  z-index: 1;
1325
1307
  }
1326
1308
 
@@ -1333,7 +1315,7 @@
1333
1315
  .calendar__month-label {
1334
1316
  font-size: var(--hx-font-size-sm, 0.875rem);
1335
1317
  font-weight: var(--hx-font-weight-semibold, 600);
1336
- color: var(--hx-color-neutral-800, #1e293b);
1318
+ color: var(--hx-color-text-strong, #202b39);
1337
1319
  flex: 1;
1338
1320
  text-align: center;
1339
1321
  }
@@ -1358,7 +1340,7 @@
1358
1340
  height: var(--hx-size-8, 2rem);
1359
1341
  font-size: var(--hx-font-size-xs, 0.75rem);
1360
1342
  font-weight: var(--hx-font-weight-semibold, 600);
1361
- color: var(--hx-color-neutral-500, #64748b);
1343
+ color: var(--hx-color-text-muted, #4a5362);
1362
1344
  text-transform: uppercase;
1363
1345
  letter-spacing: 0.05em;
1364
1346
  }
@@ -1368,30 +1350,30 @@
1368
1350
  ============================================================ */
1369
1351
 
1370
1352
  .calendar__day {
1371
- color: var(--hx-color-neutral-800, #1e293b);
1353
+ color: var(--hx-color-text-strong, #202b39);
1372
1354
  font-size: var(--hx-font-size-sm, 0.875rem);
1373
1355
  font-family: inherit;
1374
1356
  position: relative;
1375
1357
  }
1376
1358
 
1377
1359
  .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);
1360
+ background-color: var(--hx-date-picker-day-hover-bg, var(--hx-color-surface-sunken, #ebeee9));
1361
+ color: var(--hx-color-text-primary, #0d1825);
1380
1362
  }
1381
1363
 
1382
1364
  .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));
1365
+ background-color: var(--hx-date-picker-selected-bg, var(--hx-color-primary-500, #429797));
1366
+ color: var(--hx-date-picker-selected-color, var(--hx-color-text-on-primary, #ffffff));
1385
1367
  font-weight: var(--hx-font-weight-semibold, 600);
1386
1368
  }
1387
1369
 
1388
1370
  .calendar__day--selected:hover {
1389
- background-color: var(--hx-date-picker-selected-hover-bg, var(--hx-color-primary-600, #1d4ed8));
1371
+ background-color: var(--hx-date-picker-selected-hover-bg, var(--hx-color-primary-600, #0f7078));
1390
1372
  }
1391
1373
 
1392
1374
  .calendar__day--today:not(.calendar__day--selected) {
1393
1375
  font-weight: var(--hx-font-weight-bold, 700);
1394
- color: var(--hx-date-picker-today-color, var(--hx-color-primary-600, #1d4ed8));
1376
+ color: var(--hx-date-picker-today-color, var(--hx-color-primary-600, #0f7078));
1395
1377
  }
1396
1378
 
1397
1379
  .calendar__day--today:not(.calendar__day--selected)::after {
@@ -1439,11 +1421,11 @@
1439
1421
  }
1440
1422
 
1441
1423
  .field__help-text {
1442
- color: var(--hx-color-neutral-500, #64748b);
1424
+ color: var(--hx-color-text-muted, #4a5362);
1443
1425
  }
1444
1426
 
1445
1427
  .field__error {
1446
- color: var(--hx-date-picker-error-color, var(--hx-color-error-text, #b91c1c));
1428
+ color: var(--hx-date-picker-error-color, var(--hx-color-error-text, #c92a2a));
1447
1429
  }
1448
1430
 
1449
1431
  /* ============================================================
@@ -1549,13 +1531,13 @@
1549
1531
  gap: var(--hx-space-1, 0.25rem);
1550
1532
  font-size: var(--hx-font-size-sm, 0.875rem);
1551
1533
  font-weight: var(--hx-font-weight-medium, 500);
1552
- color: var(--hx-field-label-color, var(--hx-color-neutral-700, #334155));
1534
+ color: var(--hx-field-label-color, var(--hx-color-text-strong, #202b39));
1553
1535
  line-height: var(--hx-line-height-normal, 1.5);
1554
1536
  cursor: pointer;
1555
1537
  }
1556
1538
 
1557
1539
  .field__required-marker {
1558
- color: var(--hx-field-error-color, var(--hx-color-error-text, #b91c1c));
1540
+ color: var(--hx-field-error-color, var(--hx-color-error-text, #c92a2a));
1559
1541
  font-weight: var(--hx-font-weight-bold, 700);
1560
1542
  }
1561
1543
 
@@ -1599,24 +1581,24 @@
1599
1581
 
1600
1582
  .field__help-text {
1601
1583
  font-size: var(--hx-font-size-xs, 0.75rem);
1602
- color: var(--hx-field-help-text-color, var(--hx-color-neutral-500, #64748b));
1584
+ color: var(--hx-field-help-text-color, var(--hx-color-text-muted, #4a5362));
1603
1585
  line-height: var(--hx-line-height-normal, 1.5);
1604
1586
  }
1605
1587
 
1606
1588
  .field__error {
1607
1589
  font-size: var(--hx-font-size-xs, 0.75rem);
1608
- color: var(--hx-field-error-color, var(--hx-color-error-text, #b91c1c));
1590
+ color: var(--hx-field-error-color, var(--hx-color-error-text, #c92a2a));
1609
1591
  line-height: var(--hx-line-height-normal, 1.5);
1610
1592
  }
1611
1593
 
1612
1594
  /* ─── Error State ─── */
1613
1595
 
1614
1596
  .field--error .field__label {
1615
- color: var(--hx-field-error-color, var(--hx-color-error-text, #b91c1c));
1597
+ color: var(--hx-field-error-color, var(--hx-color-error-text, #c92a2a));
1616
1598
  }
1617
1599
 
1618
1600
  .field--error .field__control {
1619
- outline: 2px solid var(--hx-field-error-color, var(--hx-color-error-500, #dc2626));
1601
+ outline: 2px solid var(--hx-field-error-color, var(--hx-color-error-500, #e5493e));
1620
1602
  outline-offset: var(--hx-focus-ring-offset, 2px);
1621
1603
  border-radius: var(--hx-border-radius-sm, 0.25rem);
1622
1604
  }
@@ -1667,20 +1649,20 @@
1667
1649
  gap: var(--hx-space-1, 0.25rem);
1668
1650
  font-size: var(--hx-font-label-size, var(--hx-font-size-sm, 0.875rem));
1669
1651
  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));
1652
+ color: var(--hx-field-label-color, var(--hx-color-text-strong, #313e4b));
1671
1653
  line-height: var(--hx-font-label-line-height, var(--hx-line-height-normal, 1.5));
1672
1654
  font-family: var(--hx-font-label-family, var(--hx-font-family-sans, sans-serif));
1673
1655
  }
1674
1656
 
1675
1657
  .required-indicator {
1676
- color: var(--hx-field-label-required-color, var(--hx-color-error-text, #b91c1c));
1658
+ color: var(--hx-field-label-required-color, var(--hx-color-error-text, #c92a2a));
1677
1659
  font-weight: var(--hx-font-weight-bold, 700);
1678
1660
  }
1679
1661
 
1680
1662
  .optional-indicator {
1681
1663
  font-size: var(--hx-font-size-xs, 0.75rem);
1682
1664
  font-weight: var(--hx-font-weight-normal, 400);
1683
- color: var(--hx-color-neutral-500, #64748b);
1665
+ color: var(--hx-color-text-muted, #66787b);
1684
1666
  }
1685
1667
 
1686
1668
  /* ─── High Contrast Mode (forced-colors) ─── */
@@ -1739,7 +1721,7 @@
1739
1721
  gap: var(--hx-space-1, 0.25rem);
1740
1722
  font-size: var(--hx-font-size-sm, 0.875rem);
1741
1723
  font-weight: var(--hx-font-weight-medium, 500);
1742
- color: var(--hx-color-neutral-700, #334155);
1724
+ color: var(--hx-color-text-strong, #202b39);
1743
1725
  line-height: var(--hx-line-height-normal, 1.5);
1744
1726
  }
1745
1727
 
@@ -1754,9 +1736,9 @@
1754
1736
  min-height: var(--hx-space-32, 8rem);
1755
1737
  padding: var(--hx-space-6, 1.5rem) var(--hx-space-4, 1rem);
1756
1738
  border: var(--hx-border-width-thin, 1px) dashed
1757
- var(--hx-file-upload-dropzone-border-color, var(--hx-color-neutral-300, #cbd5e1));
1739
+ var(--hx-file-upload-dropzone-border-color, var(--hx-color-border-strong, #66787b));
1758
1740
  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));
1741
+ background-color: var(--hx-file-upload-dropzone-bg, var(--hx-color-surface-raised, #f5f8f3));
1760
1742
  cursor: pointer;
1761
1743
  text-align: center;
1762
1744
  transition:
@@ -1764,38 +1746,32 @@
1764
1746
  background-color var(--hx-transition-fast, 150ms ease),
1765
1747
  box-shadow var(--hx-transition-fast, 150ms ease);
1766
1748
  user-select: none;
1767
- color: var(--hx-color-neutral-600, #475569);
1749
+ color: var(--hx-color-text-secondary, #313e4b);
1768
1750
  font-size: var(--hx-font-size-sm, 0.875rem);
1769
1751
  }
1770
1752
 
1771
1753
  .dropzone:focus-visible {
1772
1754
  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
- );
1755
+ var(--hx-file-upload-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
1777
1756
  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
- );
1757
+ border-color: var(--hx-file-upload-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
1782
1758
  }
1783
1759
 
1784
1760
  .dropzone--drag-over {
1785
- border-color: var(--hx-color-primary-500, #2563eb);
1761
+ border-color: var(--hx-color-primary-500, #429797);
1786
1762
  background-color: var(
1787
1763
  --hx-file-upload-dropzone-active-bg,
1788
1764
  color-mix(
1789
1765
  in srgb,
1790
- var(--hx-color-primary-500, #2563eb) 8%,
1791
- var(--hx-color-neutral-0, #ffffff)
1766
+ var(--hx-color-primary-500, #429797) 8%,
1767
+ var(--hx-color-surface-default, #ffffff)
1792
1768
  )
1793
1769
  );
1794
1770
  border-style: solid;
1795
1771
  }
1796
1772
 
1797
1773
  .dropzone--error {
1798
- border-color: var(--hx-file-upload-error-color, var(--hx-color-error-500, #dc2626));
1774
+ border-color: var(--hx-file-upload-error-color, var(--hx-color-error-500, #e5493e));
1799
1775
  }
1800
1776
 
1801
1777
  @media (prefers-reduced-motion: reduce) {
@@ -1840,9 +1816,9 @@
1840
1816
  flex-direction: column;
1841
1817
  gap: var(--hx-space-1, 0.25rem);
1842
1818
  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);
1819
+ border: var(--hx-border-width-thin, 1px) solid var(--hx-color-border-default, #d6dbd5);
1844
1820
  border-radius: var(--hx-border-radius-md, 0.375rem);
1845
- background-color: var(--hx-color-neutral-0, #ffffff);
1821
+ background-color: var(--hx-color-surface-default, #ffffff);
1846
1822
  }
1847
1823
 
1848
1824
  .file-item__row {
@@ -1855,7 +1831,7 @@
1855
1831
  flex: 1;
1856
1832
  font-size: var(--hx-font-size-sm, 0.875rem);
1857
1833
  font-weight: var(--hx-font-weight-medium, 500);
1858
- color: var(--hx-color-neutral-800, #1e293b);
1834
+ color: var(--hx-color-text-strong, #202b39);
1859
1835
  overflow: hidden;
1860
1836
  text-overflow: ellipsis;
1861
1837
  white-space: nowrap;
@@ -1864,7 +1840,7 @@
1864
1840
  .file-item__size {
1865
1841
  flex-shrink: 0;
1866
1842
  font-size: var(--hx-font-size-xs, 0.75rem);
1867
- color: var(--hx-color-neutral-500, #64748b);
1843
+ color: var(--hx-color-text-muted, #4a5362);
1868
1844
  }
1869
1845
 
1870
1846
  .file-item__remove {
@@ -1878,7 +1854,7 @@
1878
1854
  border: none;
1879
1855
  border-radius: var(--hx-border-radius-sm, 0.25rem);
1880
1856
  background: transparent;
1881
- color: var(--hx-color-neutral-500, #64748b);
1857
+ color: var(--hx-color-text-muted, #4a5362);
1882
1858
  cursor: pointer;
1883
1859
  line-height: 1;
1884
1860
  transition:
@@ -1887,16 +1863,13 @@
1887
1863
  }
1888
1864
 
1889
1865
  .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);
1866
+ color: var(--hx-file-upload-error-color, var(--hx-color-error-text, #c92a2a));
1867
+ background-color: color-mix(in srgb, var(--hx-color-error-500, #e5493e) 8%, transparent);
1892
1868
  }
1893
1869
 
1894
1870
  .file-item__remove:focus-visible {
1895
1871
  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
- );
1872
+ var(--hx-file-upload-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
1900
1873
  outline-offset: var(--hx-focus-ring-offset, 2px);
1901
1874
  }
1902
1875
 
@@ -1911,7 +1884,7 @@
1911
1884
  .progress-track {
1912
1885
  width: 100%;
1913
1886
  height: var(--hx-file-upload-progress-height, var(--hx-space-1, 0.25rem));
1914
- background-color: var(--hx-color-neutral-200, #e2e8f0);
1887
+ background-color: var(--hx-color-border-default, #d6dbd5);
1915
1888
  border-radius: var(--hx-border-radius-full, 9999px);
1916
1889
  overflow: hidden;
1917
1890
  }
@@ -1919,7 +1892,7 @@
1919
1892
  .progress-bar {
1920
1893
  height: 100%;
1921
1894
  width: 100%;
1922
- background-color: var(--hx-file-upload-progress-color, var(--hx-color-primary-500, #2563eb));
1895
+ background-color: var(--hx-file-upload-progress-color, var(--hx-color-primary-500, #429797));
1923
1896
  border-radius: inherit;
1924
1897
  transform-origin: left center;
1925
1898
  transform: scaleX(var(--_progress-ratio, 0));
@@ -1950,7 +1923,7 @@
1950
1923
 
1951
1924
  .field__error {
1952
1925
  font-size: var(--hx-font-size-xs, 0.75rem);
1953
- color: var(--hx-file-upload-error-color, var(--hx-color-error-text, #b91c1c));
1926
+ color: var(--hx-file-upload-error-color, var(--hx-color-error-text, #c92a2a));
1954
1927
  line-height: var(--hx-line-height-normal, 1.5);
1955
1928
  }
1956
1929
 
@@ -2012,7 +1985,7 @@
2012
1985
  font-size: var(--hx-help-text-font-size, var(--hx-font-size-sm, 0.875rem));
2013
1986
  font-weight: var(--hx-help-text-font-weight, var(--hx-font-weight-normal, 400));
2014
1987
  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));
1988
+ color: var(--hx-help-text-color, var(--hx-color-text-muted, #4a5362));
2016
1989
  margin: 0;
2017
1990
  }
2018
1991
 
@@ -2029,25 +2002,25 @@
2029
2002
  /* ─── Variant: default ─── */
2030
2003
 
2031
2004
  .help-text--default {
2032
- --hx-help-text-color: var(--hx-color-neutral-500, #64748b);
2005
+ --hx-help-text-color: var(--hx-color-text-muted, #4a5362);
2033
2006
  }
2034
2007
 
2035
2008
  /* ─── Variant: error ─── */
2036
2009
 
2037
2010
  .help-text--error {
2038
- --hx-help-text-color: var(--hx-color-error-600, #b91c1c);
2011
+ --hx-help-text-color: var(--hx-color-error-600, #c92a2a);
2039
2012
  }
2040
2013
 
2041
2014
  /* ─── Variant: warning ─── */
2042
2015
 
2043
2016
  .help-text--warning {
2044
- --hx-help-text-color: var(--hx-color-warning-700, #92400e);
2017
+ --hx-help-text-color: var(--hx-color-warning-700, #804605);
2045
2018
  }
2046
2019
 
2047
2020
  /* ─── Variant: success ─── */
2048
2021
 
2049
2022
  .help-text--success {
2050
- --hx-help-text-color: var(--hx-color-success-700, #166534);
2023
+ --hx-help-text-color: var(--hx-color-success-700, #146831);
2051
2024
  }
2052
2025
 
2053
2026
  /* ─── High Contrast Mode (forced-colors) ─── */
@@ -2102,12 +2075,12 @@
2102
2075
  gap: var(--hx-space-1);
2103
2076
  font-size: var(--hx-font-size-sm);
2104
2077
  font-weight: var(--hx-font-weight-medium);
2105
- color: var(--hx-number-input-label-color, var(--hx-color-neutral-700));
2078
+ color: var(--hx-number-input-label-color, var(--hx-color-text-strong));
2106
2079
  line-height: var(--hx-line-height-normal);
2107
2080
  }
2108
2081
 
2109
2082
  .field__required-marker {
2110
- color: var(--hx-number-input-error-color, var(--hx-color-error-text, #b91c1c));
2083
+ color: var(--hx-number-input-error-color, var(--hx-color-error-text, #c92a2a));
2111
2084
  font-weight: var(--hx-font-weight-bold);
2112
2085
  }
2113
2086
 
@@ -2117,9 +2090,9 @@
2117
2090
  display: flex;
2118
2091
  align-items: stretch;
2119
2092
  border: var(--hx-border-width-thin) solid
2120
- var(--hx-number-input-border-color, var(--hx-color-neutral-300));
2093
+ var(--hx-number-input-border-color, var(--hx-color-border-strong));
2121
2094
  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));
2095
+ background-color: var(--hx-number-input-bg, var(--hx-color-surface-default));
2123
2096
  transition:
2124
2097
  border-color var(--hx-transition-fast),
2125
2098
  box-shadow var(--hx-transition-fast);
@@ -2143,18 +2116,18 @@
2143
2116
  /* ─── Error State ─── */
2144
2117
 
2145
2118
  .field--error .field__input-wrapper {
2146
- border-color: var(--hx-number-input-error-color, var(--hx-color-error-500, #dc2626));
2119
+ border-color: var(--hx-number-input-error-color, var(--hx-color-error-500, #e5493e));
2147
2120
  }
2148
2121
 
2149
2122
  .field--error .field__input-wrapper:focus-within {
2150
- border-color: var(--hx-number-input-error-color, var(--hx-color-error-500, #dc2626));
2123
+ border-color: var(--hx-number-input-error-color, var(--hx-color-error-500, #e5493e));
2151
2124
  /* Fallback for Safari < 16.2 (no color-mix support) */
2152
2125
  box-shadow: 0 0 0 var(--hx-focus-ring-width)
2153
- var(--hx-number-input-error-color, var(--hx-color-error-500, #dc2626));
2126
+ var(--hx-number-input-error-color, var(--hx-color-error-500, #e5493e));
2154
2127
  box-shadow: 0 0 0 var(--hx-focus-ring-width)
2155
2128
  color-mix(
2156
2129
  in srgb,
2157
- var(--hx-number-input-error-color, var(--hx-color-error-500, #dc2626))
2130
+ var(--hx-number-input-error-color, var(--hx-color-error-500, #e5493e))
2158
2131
  calc(var(--hx-focus-ring-opacity) * 100%),
2159
2132
  transparent
2160
2133
  );
@@ -2167,7 +2140,7 @@
2167
2140
  display: flex;
2168
2141
  align-items: center;
2169
2142
  padding: 0 var(--hx-space-3);
2170
- color: var(--hx-color-neutral-500);
2143
+ color: var(--hx-color-text-muted);
2171
2144
  flex-shrink: 0;
2172
2145
  }
2173
2146
 
@@ -2179,7 +2152,7 @@
2179
2152
  outline: none;
2180
2153
  background: transparent;
2181
2154
  font-family: inherit;
2182
- color: var(--hx-number-input-color, var(--hx-color-neutral-800));
2155
+ color: var(--hx-number-input-color, var(--hx-color-text-strong));
2183
2156
  line-height: var(--hx-line-height-normal);
2184
2157
  width: 100%;
2185
2158
  /* Size: md (default) */
@@ -2189,7 +2162,7 @@
2189
2162
  }
2190
2163
 
2191
2164
  .field__input::placeholder {
2192
- color: var(--hx-color-neutral-400);
2165
+ color: var(--hx-color-text-placeholder);
2193
2166
  }
2194
2167
 
2195
2168
  .field__input:disabled {
@@ -2228,7 +2201,7 @@
2228
2201
  flex-direction: column;
2229
2202
  flex-shrink: 0;
2230
2203
  border-inline-start: var(--hx-border-width-thin) solid
2231
- var(--hx-number-input-border-color, var(--hx-color-neutral-300));
2204
+ var(--hx-number-input-border-color, var(--hx-color-border-strong));
2232
2205
  }
2233
2206
 
2234
2207
  .field__stepper-btn {
@@ -2238,7 +2211,7 @@
2238
2211
  background: transparent;
2239
2212
  border: none;
2240
2213
  cursor: pointer;
2241
- color: var(--hx-color-neutral-600);
2214
+ color: var(--hx-color-text-secondary);
2242
2215
  padding: 0;
2243
2216
  flex: 1;
2244
2217
  min-width: var(--hx-size-8);
@@ -2250,12 +2223,12 @@
2250
2223
 
2251
2224
  .field__stepper-btn:not(:last-child) {
2252
2225
  border-bottom: var(--hx-border-width-thin) solid
2253
- var(--hx-number-input-border-color, var(--hx-color-neutral-300));
2226
+ var(--hx-number-input-border-color, var(--hx-color-border-strong));
2254
2227
  }
2255
2228
 
2256
2229
  .field__stepper-btn:hover:not(:disabled) {
2257
- background-color: var(--hx-color-neutral-50);
2258
- color: var(--hx-color-neutral-800);
2230
+ background-color: var(--hx-color-surface-raised);
2231
+ color: var(--hx-color-text-strong);
2259
2232
  }
2260
2233
 
2261
2234
  /* Suppress focus ring for mouse/touch focus; keep for keyboard and programmatic focus */
@@ -2294,13 +2267,13 @@
2294
2267
 
2295
2268
  .field__help-text {
2296
2269
  font-size: var(--hx-font-size-xs);
2297
- color: var(--hx-color-neutral-500);
2270
+ color: var(--hx-color-text-muted);
2298
2271
  line-height: var(--hx-line-height-normal);
2299
2272
  }
2300
2273
 
2301
2274
  .field__error {
2302
2275
  font-size: var(--hx-font-size-xs);
2303
- color: var(--hx-number-input-error-color, var(--hx-color-error-text, #b91c1c));
2276
+ color: var(--hx-number-input-error-color, var(--hx-color-error-text, #c92a2a));
2304
2277
  line-height: var(--hx-line-height-normal);
2305
2278
  }
2306
2279
 
@@ -2427,14 +2400,14 @@
2427
2400
  gap: var(--hx-space-1, 0.25rem);
2428
2401
  font-size: var(--hx-font-size-sm, 0.875rem);
2429
2402
  font-weight: var(--hx-font-weight-medium, 500);
2430
- color: var(--hx-radio-group-label-color, var(--hx-color-neutral-700, #334155));
2403
+ color: var(--hx-radio-group-label-color, var(--hx-color-text-strong, #202b39));
2431
2404
  line-height: var(--hx-line-height-normal, 1.5);
2432
2405
  padding: 0;
2433
2406
  margin-bottom: var(--hx-space-1, 0.25rem);
2434
2407
  }
2435
2408
 
2436
2409
  .fieldset__required-marker {
2437
- color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #b91c1c));
2410
+ color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #c92a2a));
2438
2411
  font-weight: var(--hx-font-weight-bold, 700);
2439
2412
  }
2440
2413
 
@@ -2454,20 +2427,20 @@
2454
2427
  /* ─── Error State ─── */
2455
2428
 
2456
2429
  .fieldset--error .fieldset__legend {
2457
- color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #b91c1c));
2430
+ color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #c92a2a));
2458
2431
  }
2459
2432
 
2460
2433
  /* ─── Help Text & Error Messages ─── */
2461
2434
 
2462
2435
  .fieldset__help-text {
2463
2436
  font-size: var(--hx-font-size-xs, 0.75rem);
2464
- color: var(--hx-radio-group-help-text-color, var(--hx-color-neutral-500, #64748b));
2437
+ color: var(--hx-radio-group-help-text-color, var(--hx-color-text-muted, #66787b));
2465
2438
  line-height: var(--hx-line-height-normal, 1.5);
2466
2439
  }
2467
2440
 
2468
2441
  .fieldset__error {
2469
2442
  font-size: var(--hx-font-size-xs, 0.75rem);
2470
- color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #b91c1c));
2443
+ color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #c92a2a));
2471
2444
  line-height: var(--hx-line-height-normal, 1.5);
2472
2445
  }
2473
2446
 
@@ -2537,7 +2510,7 @@
2537
2510
  justify-content: center;
2538
2511
  position: relative;
2539
2512
  cursor: pointer;
2540
- color: var(--hx-rating-empty-color, var(--hx-color-neutral-300, #cbd5e1));
2513
+ color: var(--hx-rating-empty-color, var(--hx-color-border-strong, #66787b));
2541
2514
  line-height: 1;
2542
2515
  min-width: var(--hx-touch-target-min, 2.75rem);
2543
2516
  min-height: var(--hx-touch-target-min, 2.75rem);
@@ -2545,15 +2518,14 @@
2545
2518
  }
2546
2519
 
2547
2520
  .symbol:focus-visible {
2548
- outline: var(--hx-focus-ring-width, 2px) solid
2549
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa));
2521
+ outline: var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, #0f7078);
2550
2522
  outline-offset: var(--hx-focus-ring-offset, 2px);
2551
2523
  border-radius: var(--hx-border-radius-sm, 0.25rem);
2552
2524
  }
2553
2525
 
2554
2526
  .symbol--full,
2555
2527
  .symbol--half {
2556
- color: var(--hx-rating-color, var(--hx-color-warning-400, #fbbf24));
2528
+ color: var(--hx-rating-color, var(--hx-color-warning-400, #da904f));
2557
2529
  }
2558
2530
 
2559
2531
  .symbol--disabled {
@@ -2562,7 +2534,7 @@
2562
2534
 
2563
2535
  .base:not(.base--readonly) .symbol:hover {
2564
2536
  transform: scale(1.15);
2565
- color: var(--hx-rating-hover-color, var(--hx-color-warning-300, #fcd34d));
2537
+ color: var(--hx-rating-hover-color, var(--hx-color-warning-300, #eeb383));
2566
2538
  }
2567
2539
 
2568
2540
  /* ─── Half-Star Layout ─── */
@@ -2588,7 +2560,7 @@
2588
2560
  position: absolute;
2589
2561
  left: 0;
2590
2562
  top: 0;
2591
- color: var(--hx-rating-empty-color, var(--hx-color-neutral-300, #cbd5e1));
2563
+ color: var(--hx-rating-empty-color, var(--hx-color-border-strong, #66787b));
2592
2564
  /* Clip to right 50% for the empty half */
2593
2565
  clip-path: inset(0 0 0 50%);
2594
2566
  }
@@ -2645,36 +2617,36 @@
2645
2617
  display: block;
2646
2618
 
2647
2619
  /* 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));
2620
+ --_bg: var(--hx-select-bg, var(--hx-color-surface-default, #ffffff));
2621
+ --_color: var(--hx-select-color, var(--hx-color-text-strong, #202b39));
2622
+ --_placeholder-color: var(
2623
+ --hx-select-placeholder-color,
2624
+ var(--hx-color-text-placeholder, #66787b)
2625
+ );
2651
2626
 
2652
2627
  /* Label */
2653
- --_label-color: var(--hx-select-label-color, var(--hx-color-neutral-700, #334155));
2628
+ --_label-color: var(--hx-select-label-color, var(--hx-color-text-strong, #202b39));
2654
2629
 
2655
2630
  /* Border */
2656
- --_border-color: var(--hx-select-border-color, var(--hx-color-neutral-300, #cbd5e1));
2631
+ --_border-color: var(--hx-select-border-color, var(--hx-color-border-strong, #66787b));
2657
2632
  --_border-radius: var(--hx-select-border-radius, var(--hx-border-radius-md, 0.375rem));
2658
2633
 
2659
2634
  /* Focus ring */
2660
- --_focus-ring-color: var(
2661
- --hx-select-focus-ring-color,
2662
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
2663
- );
2635
+ --_focus-ring-color: var(--hx-select-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
2664
2636
 
2665
2637
  /* Error */
2666
- --_error-color: var(--hx-select-error-color, var(--hx-color-error-500, #dc2626));
2638
+ --_error-color: var(--hx-select-error-color, var(--hx-color-error-500, #e5493e));
2667
2639
 
2668
2640
  /* Chevron */
2669
- --_chevron-color: var(--hx-select-chevron-color, var(--hx-color-neutral-500, #64748b));
2641
+ --_chevron-color: var(--hx-select-chevron-color, var(--hx-color-text-muted, #4a5362));
2670
2642
  --_chevron-size: var(--hx-select-chevron-size, 0.5rem);
2671
2643
 
2672
2644
  /* 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));
2645
+ --_listbox-bg: var(--hx-select-listbox-bg, var(--hx-color-surface-default, #ffffff));
2646
+ --_option-hover-bg: var(--hx-select-option-hover-bg, var(--hx-color-primary-50, #ebf8f8));
2675
2647
  --_option-selected-bg: var(
2676
2648
  --hx-select-option-selected-bg,
2677
- var(--hx-color-primary-100, #dbeafe)
2649
+ var(--hx-color-primary-100, #dbf0f0)
2678
2650
  );
2679
2651
 
2680
2652
  /* Typography */
@@ -2709,7 +2681,7 @@
2709
2681
  }
2710
2682
 
2711
2683
  .field__required-marker {
2712
- color: var(--hx-select-error-color, var(--hx-color-error-text, #b91c1c));
2684
+ color: var(--hx-select-error-color, var(--hx-color-error-text, #c92a2a));
2713
2685
  font-weight: var(--hx-font-weight-bold, 700);
2714
2686
  }
2715
2687
 
@@ -2872,8 +2844,7 @@
2872
2844
 
2873
2845
  .field__option--focused {
2874
2846
  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));
2847
+ outline: var(--hx-focus-ring-width, 2px) solid var(--_focus-ring-color);
2877
2848
  outline-offset: var(--hx-select-option-focus-ring-offset, -2px);
2878
2849
  }
2879
2850
 
@@ -2918,11 +2889,11 @@
2918
2889
  }
2919
2890
 
2920
2891
  .field__help-text {
2921
- color: var(--hx-color-neutral-500, #64748b);
2892
+ color: var(--hx-color-text-muted, #4a5362);
2922
2893
  }
2923
2894
 
2924
2895
  .field__error {
2925
- color: var(--hx-select-error-color, var(--hx-color-error-text, #b91c1c));
2896
+ color: var(--hx-select-error-color, var(--hx-color-error-text, #c92a2a));
2926
2897
  }
2927
2898
 
2928
2899
  @media (prefers-reduced-motion: reduce) {
@@ -3049,14 +3020,14 @@
3049
3020
  .slider__label {
3050
3021
  font-size: var(--hx-font-size-sm, 0.875rem);
3051
3022
  font-weight: var(--hx-font-weight-medium, 500);
3052
- color: var(--hx-slider-label-color, var(--hx-color-neutral-700, #334155));
3023
+ color: var(--hx-slider-label-color, var(--hx-color-text-strong, #202b39));
3053
3024
  line-height: var(--hx-line-height-normal, 1.5);
3054
3025
  }
3055
3026
 
3056
3027
  .slider__value-display {
3057
3028
  font-size: var(--hx-font-size-sm, 0.875rem);
3058
3029
  font-weight: var(--hx-font-weight-medium, 500);
3059
- color: var(--hx-slider-value-color, var(--hx-color-neutral-600, #475569));
3030
+ color: var(--hx-slider-value-color, var(--hx-color-text-secondary, #313e4b));
3060
3031
  line-height: var(--hx-line-height-normal, 1.5);
3061
3032
  font-variant-numeric: tabular-nums;
3062
3033
  min-width: var(--hx-size-8, 2rem);
@@ -3074,7 +3045,7 @@
3074
3045
  position: relative;
3075
3046
  width: 100%;
3076
3047
  border-radius: var(--hx-border-radius-full, 9999px);
3077
- background-color: var(--hx-slider-track-bg, var(--hx-color-neutral-200, #e2e8f0));
3048
+ background-color: var(--hx-slider-track-bg, var(--hx-color-border-default, #d6dbd5));
3078
3049
  overflow: visible;
3079
3050
  }
3080
3051
 
@@ -3117,7 +3088,7 @@
3117
3088
  height: 100%;
3118
3089
  width: 100%;
3119
3090
  border-radius: var(--hx-border-radius-full, 9999px);
3120
- background-color: var(--hx-slider-fill-bg, var(--hx-color-primary-500, #2563eb));
3091
+ background-color: var(--hx-slider-fill-bg, var(--hx-color-primary-500, #429797));
3121
3092
  pointer-events: none;
3122
3093
  transform-origin: left center;
3123
3094
  transform: scaleX(var(--_fill-ratio, 0));
@@ -3196,9 +3167,9 @@
3196
3167
  left: calc(var(--fill-pct, 0) * 1% + var(--_thumb-size, 1rem) * (1 - var(--fill-pct, 0) / 100));
3197
3168
  transform: translate(-50%, -50%);
3198
3169
  border-radius: var(--hx-border-radius-full, 9999px);
3199
- background-color: var(--hx-slider-thumb-bg, var(--hx-color-neutral-0, #ffffff));
3170
+ background-color: var(--hx-slider-thumb-bg, var(--hx-color-surface-default, #ffffff));
3200
3171
  border: var(--hx-slider-thumb-border-width, 2px) solid
3201
- var(--hx-slider-thumb-border-color, var(--hx-color-primary-500, #2563eb));
3172
+ var(--hx-slider-thumb-border-color, var(--hx-color-primary-500, #429797));
3202
3173
  box-shadow: var(--hx-slider-thumb-shadow, var(--hx-shadow-sm, 0 1px 2px 0 rgb(0 0 0 / 0.05)));
3203
3174
  pointer-events: none;
3204
3175
  transition:
@@ -3215,10 +3186,7 @@
3215
3186
  .slider__input:focus-visible ~ .slider__thumb-visual {
3216
3187
  box-shadow:
3217
3188
  0 0 0 var(--hx-focus-ring-width, 2px)
3218
- var(
3219
- --hx-slider-focus-ring-color,
3220
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
3221
- ),
3189
+ var(--hx-slider-focus-ring-color, var(--hx-focus-ring-color, #0f7078)),
3222
3190
  var(--hx-slider-thumb-shadow, var(--hx-shadow-sm, 0 1px 2px 0 rgb(0 0 0 / 0.05)));
3223
3191
  }
3224
3192
 
@@ -3274,7 +3242,7 @@
3274
3242
  top: 0;
3275
3243
  width: var(--hx-border-width-thin, 1px);
3276
3244
  height: 100%;
3277
- background-color: var(--hx-slider-tick-color, var(--hx-color-neutral-400, #94a3b8));
3245
+ background-color: var(--hx-slider-tick-color, var(--hx-color-border-strong, #66787b));
3278
3246
  transform: translateX(-50%);
3279
3247
  }
3280
3248
 
@@ -3284,7 +3252,7 @@
3284
3252
  display: flex;
3285
3253
  justify-content: space-between;
3286
3254
  font-size: var(--hx-font-size-xs, 0.75rem);
3287
- color: var(--hx-slider-range-label-color, var(--hx-color-neutral-500, #64748b));
3255
+ color: var(--hx-slider-range-label-color, var(--hx-color-text-muted, #4a5362));
3288
3256
  line-height: var(--hx-line-height-normal, 1.5);
3289
3257
  margin-top: var(--hx-space-0-5, 0.125rem);
3290
3258
  }
@@ -3293,18 +3261,21 @@
3293
3261
 
3294
3262
  .slider__help-text {
3295
3263
  font-size: var(--hx-font-size-xs, 0.75rem);
3296
- color: var(--hx-slider-help-text-color, var(--hx-color-neutral-500, #64748b));
3264
+ color: var(--hx-slider-help-text-color, var(--hx-color-text-muted, #4a5362));
3297
3265
  line-height: var(--hx-line-height-normal, 1.5);
3298
3266
  }
3299
3267
 
3300
3268
  /* ─── Disabled state ─── */
3301
3269
 
3302
3270
  .slider--disabled .slider__fill {
3303
- background-color: var(--hx-color-neutral-400, #94a3b8);
3271
+ background-color: var(--hx-slider-disabled-fill-bg, var(--hx-color-border-strong, #66787b));
3304
3272
  }
3305
3273
 
3306
3274
  .slider--disabled .slider__thumb-visual {
3307
- border-color: var(--hx-color-neutral-400, #94a3b8);
3275
+ border-color: var(
3276
+ --hx-slider-disabled-thumb-border-color,
3277
+ var(--hx-color-border-strong, #66787b)
3278
+ );
3308
3279
  }
3309
3280
  /* ── hx-switch ── */
3310
3281
  :host {
@@ -3349,7 +3320,7 @@
3349
3320
  border: none;
3350
3321
  padding: 0;
3351
3322
  border-radius: var(--hx-border-radius-full, 9999px);
3352
- background-color: var(--hx-switch-track-bg, var(--hx-color-neutral-300, #cbd5e1));
3323
+ background-color: var(--hx-switch-track-bg, var(--hx-color-border-strong, #66787b));
3353
3324
  cursor: pointer;
3354
3325
  transition: background-color var(--hx-transition-fast, 150ms ease);
3355
3326
  outline: none;
@@ -3359,15 +3330,20 @@
3359
3330
 
3360
3331
  .switch__track:focus-visible {
3361
3332
  outline: var(--hx-focus-ring-width, 2px) solid
3362
- var(
3363
- --hx-switch-focus-ring-color,
3364
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
3365
- );
3333
+ var(--hx-switch-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
3366
3334
  outline-offset: var(--hx-focus-ring-offset, 2px);
3367
3335
  }
3368
3336
 
3369
3337
  .switch--checked .switch__track {
3370
- background-color: var(--hx-switch-track-checked-bg, var(--hx-color-primary-500, #2563eb));
3338
+ background-color: var(--hx-switch-track-checked-bg, var(--hx-color-primary-500, #429797));
3339
+ }
3340
+
3341
+ .switch:not(.switch--checked) .switch__track:hover {
3342
+ background-color: var(--hx-switch-track-hover-bg, var(--hx-color-border-strong, #66787b));
3343
+ }
3344
+
3345
+ .switch--checked .switch__track:hover {
3346
+ background-color: var(--hx-switch-track-checked-hover-bg, var(--hx-color-primary-600, #0f7078));
3371
3347
  }
3372
3348
 
3373
3349
  /* --- Thumb --- */
@@ -3375,7 +3351,7 @@
3375
3351
  .switch__thumb {
3376
3352
  position: absolute;
3377
3353
  border-radius: var(--hx-border-radius-full, 9999px);
3378
- background-color: var(--hx-switch-thumb-bg, var(--hx-color-neutral-0, #ffffff));
3354
+ background-color: var(--hx-switch-thumb-bg, var(--hx-color-surface-default, #ffffff));
3379
3355
  box-shadow: var(--hx-switch-thumb-shadow, var(--hx-shadow-sm, 0 1px 2px 0 rgb(0 0 0 / 0.05)));
3380
3356
  transition: transform var(--hx-transition-fast, 150ms ease);
3381
3357
  }
@@ -3445,7 +3421,7 @@
3445
3421
  .switch__label {
3446
3422
  font-size: var(--hx-font-size-sm, 0.875rem);
3447
3423
  font-weight: var(--hx-font-weight-medium, 500);
3448
- color: var(--hx-switch-label-color, var(--hx-color-neutral-700, #334155));
3424
+ color: var(--hx-switch-label-color, var(--hx-color-text-strong, #202b39));
3449
3425
  line-height: var(--hx-line-height-normal, 1.5);
3450
3426
  cursor: pointer;
3451
3427
  user-select: none;
@@ -3453,7 +3429,7 @@
3453
3429
  }
3454
3430
 
3455
3431
  .switch__required-marker {
3456
- color: var(--hx-switch-error-color, var(--hx-color-error-text, #b91c1c));
3432
+ color: var(--hx-switch-error-color, var(--hx-color-error-text, #c92a2a));
3457
3433
  font-weight: var(--hx-font-weight-bold, 700);
3458
3434
  }
3459
3435
 
@@ -3461,13 +3437,13 @@
3461
3437
 
3462
3438
  .switch__help-text {
3463
3439
  font-size: var(--hx-font-size-xs, 0.75rem);
3464
- color: var(--hx-switch-help-text-color, var(--hx-color-neutral-500, #64748b));
3440
+ color: var(--hx-switch-help-text-color, var(--hx-color-text-muted, #4a5362));
3465
3441
  line-height: var(--hx-line-height-normal, 1.5);
3466
3442
  }
3467
3443
 
3468
3444
  .switch__error {
3469
3445
  font-size: var(--hx-font-size-xs, 0.75rem);
3470
- color: var(--hx-switch-error-color, var(--hx-color-error-text, #b91c1c));
3446
+ color: var(--hx-switch-error-color, var(--hx-color-error-text, #c92a2a));
3471
3447
  line-height: var(--hx-line-height-normal, 1.5);
3472
3448
  }
3473
3449
 
@@ -3540,6 +3516,94 @@
3540
3516
  /* ── hx-text-input ── */
3541
3517
  :host {
3542
3518
  display: block;
3519
+
3520
+ /* ─── Component tokens (3.2.0) ──────────────────────────────────── */
3521
+
3522
+ /* Surface */
3523
+ --_text-input-bg: var(
3524
+ --hx-text-input-bg,
3525
+ var(--hx-input-bg, var(--hx-color-surface-default, #ffffff))
3526
+ );
3527
+ --_text-input-color: var(
3528
+ --hx-text-input-color,
3529
+ var(--hx-input-color, var(--hx-color-text-strong, #202b39))
3530
+ );
3531
+ --_text-input-placeholder-color: var(
3532
+ --hx-text-input-placeholder-color,
3533
+ var(--hx-color-text-placeholder, #66787b)
3534
+ );
3535
+
3536
+ /* Border */
3537
+ --_text-input-border-color: var(
3538
+ --hx-text-input-border-color,
3539
+ var(--hx-input-border-color, var(--hx-color-border-strong, #66787b))
3540
+ );
3541
+ --_text-input-border-color-hover: var(
3542
+ --hx-text-input-border-color-hover,
3543
+ var(--hx-color-border-strong, #66787b)
3544
+ );
3545
+ --_text-input-border-color-focus: var(
3546
+ --hx-text-input-border-color-focus,
3547
+ var(--hx-input-focus-ring-color, var(--hx-focus-ring-color, #0f7078))
3548
+ );
3549
+ --_text-input-border-color-invalid: var(
3550
+ --hx-text-input-border-color-invalid,
3551
+ var(--hx-input-error-color, var(--hx-color-error-600, #c92a2a))
3552
+ );
3553
+ --_text-input-border-width: var(--hx-text-input-border-width, var(--hx-border-width-thin, 1px));
3554
+ --_text-input-border-radius: var(
3555
+ --hx-text-input-border-radius,
3556
+ var(--hx-input-border-radius, var(--hx-border-radius-md, 0.375rem))
3557
+ );
3558
+
3559
+ /* Spacing */
3560
+ --_text-input-padding-x: var(--hx-text-input-padding-x, var(--hx-space-3, 0.75rem));
3561
+ --_text-input-padding-y: var(--hx-text-input-padding-y, var(--hx-space-2, 0.5rem));
3562
+
3563
+ /* Typography */
3564
+ --_text-input-font-family: var(
3565
+ --hx-text-input-font-family,
3566
+ var(--hx-input-font-family, var(--hx-font-family-sans, sans-serif))
3567
+ );
3568
+ --_text-input-font-size: var(--hx-text-input-font-size, var(--hx-font-size-md, 1rem));
3569
+
3570
+ /* Focus ring */
3571
+ --_text-input-focus-ring-color: var(
3572
+ --hx-text-input-focus-ring-color,
3573
+ var(--hx-input-focus-ring-color, var(--hx-focus-ring-color, #0f7078))
3574
+ );
3575
+ --_text-input-focus-ring-width: var(
3576
+ --hx-text-input-focus-ring-width,
3577
+ var(--hx-focus-ring-width, 2px)
3578
+ );
3579
+ --_text-input-focus-ring-offset: var(
3580
+ --hx-text-input-focus-ring-offset,
3581
+ var(--hx-focus-ring-offset, 0px)
3582
+ );
3583
+
3584
+ /* Disabled */
3585
+ --_text-input-disabled-bg: var(
3586
+ --hx-text-input-disabled-bg,
3587
+ var(--hx-color-surface-sunken, #ebeee9)
3588
+ );
3589
+ --_text-input-disabled-color: var(
3590
+ --hx-text-input-disabled-color,
3591
+ var(--hx-color-text-disabled, #8e9c98)
3592
+ );
3593
+
3594
+ /* Label / help / error */
3595
+ --_text-input-label-color: var(
3596
+ --hx-text-input-label-color,
3597
+ var(--hx-input-label-color, var(--hx-color-text-strong, #202b39))
3598
+ );
3599
+ --_text-input-help-text-color: var(
3600
+ --hx-text-input-help-text-color,
3601
+ var(--hx-color-text-muted, #4a5362)
3602
+ );
3603
+ --_text-input-error-color: var(
3604
+ --hx-text-input-error-color,
3605
+ var(--hx-input-error-color, var(--hx-color-error-text, #c92a2a))
3606
+ );
3543
3607
  }
3544
3608
 
3545
3609
  :host([disabled]) {
@@ -3554,36 +3618,13 @@
3554
3618
  * These complement the :focus-within rules on .field__input-wrapper and are
3555
3619
  * exposed as theming hooks for consumers who target the host element.
3556
3620
  */
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
-
3621
+ :host([focused]) .field__input-wrapper,
3574
3622
  :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)
3623
+ border-color: var(--_text-input-border-color-focus);
3624
+ box-shadow: 0 0 0 var(--_text-input-focus-ring-width)
3580
3625
  color-mix(
3581
3626
  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%),
3627
+ var(--_text-input-border-color-focus) calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
3587
3628
  transparent
3588
3629
  );
3589
3630
  }
@@ -3596,7 +3637,7 @@
3596
3637
  display: flex;
3597
3638
  flex-direction: column;
3598
3639
  gap: var(--hx-space-1, 0.25rem);
3599
- font-family: var(--hx-input-font-family, var(--hx-font-family-sans, sans-serif));
3640
+ font-family: var(--_text-input-font-family);
3600
3641
  }
3601
3642
 
3602
3643
  /* ─── Label ─── */
@@ -3611,12 +3652,12 @@
3611
3652
  gap: var(--hx-space-1, 0.25rem);
3612
3653
  font-size: var(--hx-font-size-sm, 0.875rem);
3613
3654
  font-weight: var(--hx-font-weight-medium, 500);
3614
- color: var(--hx-input-label-color, var(--hx-color-neutral-700, #334155));
3655
+ color: var(--_text-input-label-color);
3615
3656
  line-height: var(--hx-line-height-normal, 1.5);
3616
3657
  }
3617
3658
 
3618
3659
  .field__required-marker {
3619
- color: var(--hx-input-error-color, var(--hx-color-error-text, #b91c1c));
3660
+ color: var(--_text-input-error-color);
3620
3661
  font-weight: var(--hx-font-weight-bold, 700);
3621
3662
  }
3622
3663
 
@@ -3625,29 +3666,25 @@
3625
3666
  .field__input-wrapper {
3626
3667
  display: flex;
3627
3668
  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));
3669
+ border: var(--_text-input-border-width) solid var(--_text-input-border-color);
3670
+ border-radius: var(--_text-input-border-radius);
3671
+ background-color: var(--_text-input-bg);
3632
3672
  transition:
3633
3673
  border-color var(--hx-transition-fast, 150ms ease),
3634
3674
  box-shadow var(--hx-transition-fast, 150ms ease);
3635
3675
  overflow: hidden;
3636
3676
  }
3637
3677
 
3678
+ .field__input-wrapper:hover {
3679
+ border-color: var(--_text-input-border-color-hover);
3680
+ }
3681
+
3638
3682
  .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)
3683
+ border-color: var(--_text-input-border-color-focus);
3684
+ box-shadow: 0 0 0 var(--_text-input-focus-ring-width)
3644
3685
  color-mix(
3645
3686
  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%),
3687
+ var(--_text-input-border-color-focus) calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
3651
3688
  transparent
3652
3689
  );
3653
3690
  }
@@ -3655,16 +3692,15 @@
3655
3692
  /* ─── Error State ─── */
3656
3693
 
3657
3694
  .field--error .field__input-wrapper {
3658
- border-color: var(--hx-input-error-color, var(--hx-color-error-500, #dc2626));
3695
+ border-color: var(--_text-input-border-color-invalid);
3659
3696
  }
3660
3697
 
3661
3698
  .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)
3699
+ border-color: var(--_text-input-border-color-invalid);
3700
+ box-shadow: 0 0 0 var(--_text-input-focus-ring-width)
3664
3701
  color-mix(
3665
3702
  in srgb,
3666
- var(--hx-input-error-color, var(--hx-color-error-500, #dc2626))
3667
- calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
3703
+ var(--_text-input-border-color-invalid) calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
3668
3704
  transparent
3669
3705
  );
3670
3706
  }
@@ -3675,17 +3711,17 @@
3675
3711
  .field__suffix {
3676
3712
  display: flex;
3677
3713
  align-items: center;
3678
- color: var(--hx-color-neutral-500, #64748b);
3714
+ color: var(--hx-color-text-muted, #4a5362);
3679
3715
  flex-shrink: 0;
3680
3716
  }
3681
3717
 
3682
3718
  /* Only add padding when slot has content — avoids phantom space on empty slots */
3683
3719
  .field__prefix--filled {
3684
- padding: 0 var(--hx-space-3, 0.75rem);
3720
+ padding: 0 var(--_text-input-padding-x);
3685
3721
  }
3686
3722
 
3687
3723
  .field__suffix--filled {
3688
- padding: 0 var(--hx-space-3, 0.75rem);
3724
+ padding: 0 var(--_text-input-padding-x);
3689
3725
  }
3690
3726
 
3691
3727
  /* ─── Native Input ─── */
@@ -3695,17 +3731,17 @@
3695
3731
  border: none;
3696
3732
  outline: none;
3697
3733
  background: transparent;
3698
- padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
3734
+ padding: var(--_text-input-padding-y) var(--_text-input-padding-x);
3699
3735
  font-family: inherit;
3700
- font-size: var(--hx-font-size-md, 1rem);
3701
- color: var(--hx-input-color, var(--hx-color-neutral-800, #1e293b));
3736
+ font-size: var(--_text-input-font-size);
3737
+ color: var(--_text-input-color);
3702
3738
  line-height: var(--hx-line-height-normal, 1.5);
3703
3739
  min-height: var(--hx-size-10, 2.5rem);
3704
3740
  width: 100%;
3705
3741
  }
3706
3742
 
3707
3743
  .field__input::placeholder {
3708
- color: var(--hx-color-neutral-400, #94a3b8);
3744
+ color: var(--_text-input-placeholder-color);
3709
3745
  }
3710
3746
 
3711
3747
  .field__input:focus-visible {
@@ -3714,6 +3750,12 @@
3714
3750
 
3715
3751
  .field__input:disabled {
3716
3752
  cursor: not-allowed;
3753
+ background-color: var(--_text-input-disabled-bg);
3754
+ color: var(--_text-input-disabled-color);
3755
+ }
3756
+
3757
+ :host([disabled]) .field__input-wrapper {
3758
+ background-color: var(--_text-input-disabled-bg);
3717
3759
  }
3718
3760
 
3719
3761
  /* ─── Size Variants ─── */
@@ -3721,7 +3763,7 @@
3721
3763
  .field--size-sm .field__input {
3722
3764
  padding: var(--hx-space-1, 0.25rem) var(--hx-space-2, 0.5rem);
3723
3765
  min-height: var(--hx-size-8, 2rem);
3724
- font-size: var(--hx-input-sm-font-size, 0.875rem);
3766
+ font-size: var(--hx-text-input-sm-font-size, var(--hx-input-sm-font-size, 0.875rem));
3725
3767
  }
3726
3768
 
3727
3769
  .field--size-md .field__input {
@@ -3731,20 +3773,20 @@
3731
3773
  .field--size-lg .field__input {
3732
3774
  padding: var(--hx-space-3, 0.75rem) var(--hx-space-4, 1rem);
3733
3775
  min-height: var(--hx-size-12, 3rem);
3734
- font-size: var(--hx-input-lg-font-size, 1.125rem);
3776
+ font-size: var(--hx-text-input-lg-font-size, var(--hx-input-lg-font-size, 1.125rem));
3735
3777
  }
3736
3778
 
3737
3779
  /* ─── Help Text & Error Messages ─── */
3738
3780
 
3739
3781
  .field__help-text {
3740
3782
  font-size: var(--hx-font-size-xs, 0.75rem);
3741
- color: var(--hx-color-neutral-500, #64748b);
3783
+ color: var(--_text-input-help-text-color);
3742
3784
  line-height: var(--hx-line-height-normal, 1.5);
3743
3785
  }
3744
3786
 
3745
3787
  .field__error {
3746
3788
  font-size: var(--hx-font-size-xs, 0.75rem);
3747
- color: var(--hx-input-error-color, var(--hx-color-error-text, #b91c1c));
3789
+ color: var(--_text-input-error-color);
3748
3790
  line-height: var(--hx-line-height-normal, 1.5);
3749
3791
  }
3750
3792
 
@@ -3756,7 +3798,13 @@
3756
3798
  }
3757
3799
  }
3758
3800
 
3759
- /* ─── High Contrast Mode (forced-colors) ─── */
3801
+ /* ─── High Contrast Mode (forced-colors) ───
3802
+ *
3803
+ * Bespoke block — sole owner of forced-colors deference for hx-text-input.
3804
+ * Covers wrapper/input/placeholder/focus/disabled/error/label/help-text;
3805
+ * strictly more than forcedColorsField. The mixin is intentionally NOT
3806
+ * composed (XOR rule — see styles/forced-colors.ts COMPOSITION RULES).
3807
+ */
3760
3808
 
3761
3809
  @media (forced-colors: active) {
3762
3810
  .field__input-wrapper {
@@ -3816,6 +3864,39 @@
3816
3864
  /* ── hx-textarea ── */
3817
3865
  :host {
3818
3866
  display: block;
3867
+
3868
+ /* ─── Component tokens (3.2.0) ──────────────────────────────────── */
3869
+ --_textarea-bg: var(
3870
+ --hx-textarea-bg,
3871
+ var(--hx-input-bg, var(--hx-color-surface-default, #ffffff))
3872
+ );
3873
+ --_textarea-color: var(
3874
+ --hx-textarea-color,
3875
+ var(--hx-input-color, var(--hx-color-text-strong, #202b39))
3876
+ );
3877
+ --_textarea-border-color: var(
3878
+ --hx-textarea-border-color,
3879
+ var(--hx-input-border-color, var(--hx-color-border-strong, #66787b))
3880
+ );
3881
+ --_textarea-border-color-focus: var(
3882
+ --hx-textarea-border-color-focus,
3883
+ var(--hx-input-focus-ring-color, var(--hx-focus-ring-color, #0f7078))
3884
+ );
3885
+ --_textarea-border-color-invalid: var(
3886
+ --hx-textarea-border-color-invalid,
3887
+ var(--hx-input-error-color, var(--hx-color-error-600, #c92a2a))
3888
+ );
3889
+ --_textarea-border-radius: var(
3890
+ --hx-textarea-border-radius,
3891
+ var(--hx-input-border-radius, var(--hx-border-radius-md, 0.375rem))
3892
+ );
3893
+ --_textarea-padding-x: var(--hx-textarea-padding-x, var(--hx-space-3, 0.75rem));
3894
+ --_textarea-padding-y: var(--hx-textarea-padding-y, var(--hx-space-2, 0.5rem));
3895
+ --_textarea-font-size: var(--hx-textarea-font-size, var(--hx-font-size-md, 1rem));
3896
+ --_textarea-placeholder-color: var(
3897
+ --hx-textarea-placeholder-color,
3898
+ var(--hx-color-text-placeholder, #66787b)
3899
+ );
3819
3900
  }
3820
3901
 
3821
3902
  :host([disabled]) {
@@ -3831,7 +3912,10 @@
3831
3912
  display: flex;
3832
3913
  flex-direction: column;
3833
3914
  gap: var(--hx-space-1, 0.25rem);
3834
- font-family: var(--hx-input-font-family, var(--hx-font-family-sans, sans-serif));
3915
+ font-family: var(
3916
+ --hx-textarea-font-family,
3917
+ var(--hx-input-font-family, var(--hx-font-family-sans, sans-serif))
3918
+ );
3835
3919
  }
3836
3920
 
3837
3921
  /* --- Label --- */
@@ -3846,12 +3930,18 @@
3846
3930
  gap: var(--hx-space-1, 0.25rem);
3847
3931
  font-size: var(--hx-font-size-sm, 0.875rem);
3848
3932
  font-weight: var(--hx-font-weight-medium, 500);
3849
- color: var(--hx-input-label-color, var(--hx-color-neutral-700, #334155));
3933
+ color: var(
3934
+ --hx-textarea-label-color,
3935
+ var(--hx-input-label-color, var(--hx-color-text-strong, #202b39))
3936
+ );
3850
3937
  line-height: var(--hx-line-height-normal, 1.5);
3851
3938
  }
3852
3939
 
3853
3940
  .field__required-marker {
3854
- color: var(--hx-input-error-color, var(--hx-color-error-text, #b91c1c));
3941
+ color: var(
3942
+ --hx-textarea-error-color,
3943
+ var(--hx-input-error-color, var(--hx-color-error-text, #c92a2a))
3944
+ );
3855
3945
  font-weight: var(--hx-font-weight-bold, 700);
3856
3946
  }
3857
3947
 
@@ -3860,10 +3950,9 @@
3860
3950
  .field__textarea-wrapper {
3861
3951
  display: flex;
3862
3952
  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));
3953
+ border: var(--hx-border-width-thin, 1px) solid var(--_textarea-border-color);
3954
+ border-radius: var(--_textarea-border-radius);
3955
+ background-color: var(--_textarea-bg);
3867
3956
  transition:
3868
3957
  border-color var(--hx-transition-fast, 150ms ease),
3869
3958
  box-shadow var(--hx-transition-fast, 150ms ease);
@@ -3871,18 +3960,11 @@
3871
3960
  }
3872
3961
 
3873
3962
  .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
- );
3963
+ border-color: var(--_textarea-border-color-focus);
3878
3964
  box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
3879
3965
  color-mix(
3880
3966
  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%),
3967
+ var(--_textarea-border-color-focus) calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
3886
3968
  transparent
3887
3969
  );
3888
3970
  }
@@ -3890,16 +3972,15 @@
3890
3972
  /* --- Error State --- */
3891
3973
 
3892
3974
  .field--error .field__textarea-wrapper {
3893
- border-color: var(--hx-input-error-color, var(--hx-color-error-500, #dc2626));
3975
+ border-color: var(--_textarea-border-color-invalid);
3894
3976
  }
3895
3977
 
3896
3978
  .field--error .field__textarea-wrapper:focus-within {
3897
- border-color: var(--hx-input-error-color, var(--hx-color-error-500, #dc2626));
3979
+ border-color: var(--_textarea-border-color-invalid);
3898
3980
  box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
3899
3981
  color-mix(
3900
3982
  in srgb,
3901
- var(--hx-input-error-color, var(--hx-color-error-500, #dc2626))
3902
- calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
3983
+ var(--_textarea-border-color-invalid) calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
3903
3984
  transparent
3904
3985
  );
3905
3986
  }
@@ -3910,10 +3991,10 @@
3910
3991
  border: none;
3911
3992
  outline: none;
3912
3993
  background: transparent;
3913
- padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
3994
+ padding: var(--_textarea-padding-y) var(--_textarea-padding-x);
3914
3995
  font-family: inherit;
3915
- font-size: var(--hx-font-size-md, 1rem);
3916
- color: var(--hx-input-color, var(--hx-color-neutral-800, #1e293b));
3996
+ font-size: var(--_textarea-font-size);
3997
+ color: var(--_textarea-color);
3917
3998
  line-height: var(--hx-line-height-normal, 1.5);
3918
3999
  min-height: var(--hx-textarea-min-height, var(--hx-size-20, 5rem));
3919
4000
  width: 100%;
@@ -3921,7 +4002,7 @@
3921
4002
  }
3922
4003
 
3923
4004
  .field__textarea::placeholder {
3924
- color: var(--hx-color-neutral-400, #94a3b8);
4005
+ color: var(--_textarea-placeholder-color);
3925
4006
  }
3926
4007
 
3927
4008
  .field__textarea:focus-visible {
@@ -3959,7 +4040,7 @@
3959
4040
 
3960
4041
  .field__counter {
3961
4042
  font-size: var(--hx-font-size-xs, 0.75rem);
3962
- color: var(--hx-color-neutral-500, #64748b);
4043
+ color: var(--hx-textarea-counter-color, var(--hx-color-text-muted, #4a5362));
3963
4044
  line-height: var(--hx-line-height-normal, 1.5);
3964
4045
  text-align: end;
3965
4046
  }
@@ -3982,13 +4063,16 @@
3982
4063
 
3983
4064
  .field__help-text {
3984
4065
  font-size: var(--hx-font-size-xs, 0.75rem);
3985
- color: var(--hx-color-neutral-500, #64748b);
4066
+ color: var(--hx-textarea-help-text-color, var(--hx-color-text-muted, #4a5362));
3986
4067
  line-height: var(--hx-line-height-normal, 1.5);
3987
4068
  }
3988
4069
 
3989
4070
  .field__error {
3990
4071
  font-size: var(--hx-font-size-xs, 0.75rem);
3991
- color: var(--hx-input-error-color, var(--hx-color-error-text, #b91c1c));
4072
+ color: var(
4073
+ --hx-textarea-error-color,
4074
+ var(--hx-input-error-color, var(--hx-color-error-text, #c92a2a))
4075
+ );
3992
4076
  line-height: var(--hx-line-height-normal, 1.5);
3993
4077
  }
3994
4078
 
@@ -4073,11 +4157,11 @@
4073
4157
  gap: var(--hx-space-1, 0.25rem);
4074
4158
  font-size: var(--hx-font-size-sm, 0.875rem);
4075
4159
  font-weight: var(--hx-font-weight-medium, 500);
4076
- color: var(--hx-time-picker-label-color, var(--hx-color-neutral-700));
4160
+ color: var(--hx-time-picker-label-color, var(--hx-color-text-strong, #202b39));
4077
4161
  line-height: var(--hx-line-height-normal, 1.5);
4078
4162
  }
4079
4163
  .field__required-marker {
4080
- color: var(--hx-time-picker-error-color, var(--hx-color-error-text, #b91c1c));
4164
+ color: var(--hx-time-picker-error-color, var(--hx-color-error-text, #c92a2a));
4081
4165
  font-weight: var(--hx-font-weight-bold, 700);
4082
4166
  }
4083
4167
  .field__combobox {
@@ -4085,9 +4169,9 @@
4085
4169
  display: flex;
4086
4170
  align-items: center;
4087
4171
  border: var(--hx-border-width-thin, 1px) solid
4088
- var(--hx-time-picker-border-color, var(--hx-color-neutral-300));
4172
+ var(--hx-time-picker-border-color, var(--hx-color-border-strong, #66787b));
4089
4173
  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));
4174
+ background-color: var(--hx-time-picker-bg, var(--hx-color-surface-default, #ffffff));
4091
4175
  transition:
4092
4176
  border-color var(--hx-transition-fast, 150ms ease),
4093
4177
  box-shadow var(--hx-transition-fast, 150ms ease);
@@ -4104,14 +4188,14 @@
4104
4188
  );
4105
4189
  }
4106
4190
  .field--error .field__combobox {
4107
- border-color: var(--hx-time-picker-error-color, var(--hx-color-error-500));
4191
+ border-color: var(--hx-time-picker-error-color, var(--hx-color-error-500, #e5493e));
4108
4192
  }
4109
4193
  .field--error .field__combobox:focus-within {
4110
- border-color: var(--hx-time-picker-error-color, var(--hx-color-error-500));
4194
+ border-color: var(--hx-time-picker-error-color, var(--hx-color-error-500, #e5493e));
4111
4195
  box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
4112
4196
  color-mix(
4113
4197
  in srgb,
4114
- var(--hx-time-picker-error-color, var(--hx-color-error-500))
4198
+ var(--hx-time-picker-error-color, var(--hx-color-error-500, #e5493e))
4115
4199
  calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
4116
4200
  transparent
4117
4201
  );
@@ -4124,14 +4208,14 @@
4124
4208
  padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
4125
4209
  font-family: inherit;
4126
4210
  font-size: var(--hx-font-size-md, 1rem);
4127
- color: var(--hx-time-picker-color, var(--hx-color-neutral-800));
4211
+ color: var(--hx-time-picker-color, var(--hx-color-text-strong, #202b39));
4128
4212
  line-height: var(--hx-line-height-normal, 1.5);
4129
4213
  min-height: var(--hx-size-10, 2.5rem);
4130
4214
  width: 100%;
4131
4215
  cursor: text;
4132
4216
  }
4133
4217
  .field__input::placeholder {
4134
- color: var(--hx-color-neutral-400);
4218
+ color: var(--hx-color-text-placeholder, #66787b);
4135
4219
  }
4136
4220
  .field__input:disabled {
4137
4221
  cursor: not-allowed;
@@ -4143,13 +4227,13 @@
4143
4227
  border: none;
4144
4228
  background: transparent;
4145
4229
  padding: 0 var(--hx-space-3, 0.75rem);
4146
- color: var(--hx-time-picker-chevron-color, var(--hx-color-neutral-500));
4230
+ color: var(--hx-time-picker-chevron-color, var(--hx-color-text-muted, #4a5362));
4147
4231
  cursor: pointer;
4148
4232
  height: 100%;
4149
4233
  min-height: var(--hx-size-10, 2.5rem);
4150
4234
  flex-shrink: 0;
4151
4235
  border-inline-start: var(--hx-border-width-thin, 1px) solid
4152
- var(--hx-time-picker-border-color, var(--hx-color-neutral-300));
4236
+ var(--hx-time-picker-border-color, var(--hx-color-border-strong, #66787b));
4153
4237
  }
4154
4238
  .field__toggle:focus-visible {
4155
4239
  outline: var(--hx-focus-ring-width, 2px) solid
@@ -4163,9 +4247,9 @@
4163
4247
  inset-inline-start: 0;
4164
4248
  inset-inline-end: 0;
4165
4249
  z-index: var(--hx-z-index-dropdown, 1000);
4166
- background-color: var(--hx-time-picker-listbox-bg, var(--hx-color-neutral-0));
4250
+ background-color: var(--hx-time-picker-listbox-bg, var(--hx-color-surface-default, #ffffff));
4167
4251
  border: var(--hx-border-width-thin, 1px) solid
4168
- var(--hx-time-picker-border-color, var(--hx-color-neutral-300));
4252
+ var(--hx-time-picker-border-color, var(--hx-color-border-strong, #66787b));
4169
4253
  border-radius: var(--hx-time-picker-border-radius, var(--hx-border-radius-md, 0.375rem));
4170
4254
  box-shadow: var(
4171
4255
  --hx-time-picker-listbox-shadow,
@@ -4198,23 +4282,29 @@
4198
4282
  padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
4199
4283
  font-size: var(--hx-font-size-md, 1rem);
4200
4284
  font-family: inherit;
4201
- color: var(--hx-time-picker-option-color, var(--hx-color-neutral-800));
4285
+ color: var(--hx-time-picker-option-color, var(--hx-color-text-strong, #202b39));
4202
4286
  cursor: pointer;
4203
4287
  transition: background-color var(--hx-transition-fast, 150ms ease);
4204
4288
  line-height: var(--hx-line-height-normal, 1.5);
4205
4289
  }
4206
4290
  .field__option:hover,
4207
4291
  .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));
4292
+ background-color: var(--hx-time-picker-option-hover-bg, var(--hx-color-primary-50, #ebf8f8));
4293
+ color: var(--hx-time-picker-option-hover-color, var(--hx-color-primary-700, #0f6363));
4210
4294
  }
4211
4295
  .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));
4296
+ background-color: var(
4297
+ --hx-time-picker-option-selected-bg,
4298
+ var(--hx-color-primary-100, #dbf0f0)
4299
+ );
4300
+ color: var(--hx-time-picker-option-selected-color, var(--hx-color-primary-800, #07494a));
4214
4301
  font-weight: var(--hx-font-weight-medium, 500);
4215
4302
  }
4216
4303
  .field__option--selected.field__option--active {
4217
- background-color: var(--hx-time-picker-option-selected-bg, var(--hx-color-primary-100));
4304
+ background-color: var(
4305
+ --hx-time-picker-option-selected-bg,
4306
+ var(--hx-color-primary-100, #dbf0f0)
4307
+ );
4218
4308
  }
4219
4309
  @media (prefers-reduced-motion: reduce) {
4220
4310
  .field__combobox,
@@ -4228,10 +4318,10 @@
4228
4318
  line-height: var(--hx-line-height-normal, 1.5);
4229
4319
  }
4230
4320
  .field__help-text {
4231
- color: var(--hx-color-neutral-500);
4321
+ color: var(--hx-color-text-muted, #4a5362);
4232
4322
  }
4233
4323
  .field__error {
4234
- color: var(--hx-time-picker-error-color, var(--hx-color-error-text, #b91c1c));
4324
+ color: var(--hx-time-picker-error-color, var(--hx-color-error-text, #c92a2a));
4235
4325
  }
4236
4326
  @media (forced-colors: active) {
4237
4327
  .field__combobox {
@@ -4293,8 +4383,8 @@
4293
4383
  gap: var(--hx-space-2, 0.5rem);
4294
4384
  border: var(--hx-border-width-thin, 1px) solid var(--hx-toggle-button-border-color, transparent);
4295
4385
  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));
4386
+ background-color: var(--hx-toggle-button-bg, var(--hx-color-primary-500, #429797));
4387
+ color: var(--hx-toggle-button-color, var(--hx-color-text-on-primary, #ffffff));
4298
4388
  font-family: var(--hx-toggle-button-font-family, var(--hx-font-family-sans, sans-serif));
4299
4389
  font-weight: var(--hx-toggle-button-font-weight, var(--hx-font-weight-semibold, 600));
4300
4390
  line-height: var(--hx-line-height-tight, 1.25);
@@ -4312,10 +4402,7 @@
4312
4402
 
4313
4403
  .button:focus-visible {
4314
4404
  outline: var(--hx-focus-ring-width, 2px) solid
4315
- var(
4316
- --hx-toggle-button-focus-ring-color,
4317
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
4318
- );
4405
+ var(--hx-toggle-button-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
4319
4406
  outline-offset: var(--hx-focus-ring-offset, 2px);
4320
4407
  }
4321
4408
 
@@ -4353,49 +4440,55 @@
4353
4440
  /* ─── Style Variants ─── */
4354
4441
 
4355
4442
  .button--primary {
4356
- --hx-toggle-button-bg: var(--hx-color-primary-500, #2563eb);
4357
- --hx-toggle-button-color: var(--hx-color-neutral-0, #ffffff);
4443
+ --hx-toggle-button-bg: var(--hx-color-primary-500, #429797);
4444
+ --hx-toggle-button-color: var(--hx-color-text-on-primary, #ffffff);
4358
4445
  --hx-toggle-button-border-color: transparent;
4359
4446
  }
4360
4447
 
4448
+ /*
4449
+ * secondary/ghost paint primary text on the surface (white). primary-500
4450
+ * (#429797) on white = 3.43:1 — fails AA at body sizes. shift to
4451
+ * primary-600 (#0F7078) = 6.06:1 — AA pass. border keeps primary-500
4452
+ * for the brand affordance (3:1 non-text contrast still met).
4453
+ */
4361
4454
  .button--secondary {
4362
4455
  --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);
4456
+ --hx-toggle-button-color: var(--hx-color-primary-600, #0f7078);
4457
+ --hx-toggle-button-border-color: var(--hx-color-primary-600, #0f7078);
4365
4458
  }
4366
4459
 
4367
4460
  .button--secondary:hover {
4368
- --hx-toggle-button-bg: var(--hx-color-primary-50, #eff6ff);
4461
+ --hx-toggle-button-bg: var(--hx-color-primary-50, #ebf8f8);
4369
4462
  }
4370
4463
 
4371
4464
  .button--tertiary {
4372
- --hx-toggle-button-bg: var(--hx-color-neutral-100, #f1f5f9);
4373
- --hx-toggle-button-color: var(--hx-color-neutral-900, #0f172a);
4465
+ --hx-toggle-button-bg: var(--hx-color-surface-sunken, #ebeee9);
4466
+ --hx-toggle-button-color: var(--hx-color-text-primary, #0d1825);
4374
4467
  --hx-toggle-button-border-color: transparent;
4375
4468
  }
4376
4469
 
4377
4470
  .button--tertiary:hover {
4378
- --hx-toggle-button-bg: var(--hx-color-neutral-200, #e2e8f0);
4471
+ --hx-toggle-button-bg: var(--hx-color-surface-raised, #f5f8f3);
4379
4472
  }
4380
4473
 
4381
4474
  .button--ghost {
4382
4475
  --hx-toggle-button-bg: transparent;
4383
- --hx-toggle-button-color: var(--hx-color-primary-500, #2563eb);
4476
+ --hx-toggle-button-color: var(--hx-color-primary-600, #0f7078);
4384
4477
  --hx-toggle-button-border-color: transparent;
4385
4478
  }
4386
4479
 
4387
4480
  .button--ghost:hover {
4388
- --hx-toggle-button-bg: var(--hx-color-neutral-100, #f1f5f9);
4481
+ --hx-toggle-button-bg: var(--hx-color-surface-raised, #f5f8f3);
4389
4482
  }
4390
4483
 
4391
4484
  .button--outline {
4392
4485
  --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);
4486
+ --hx-toggle-button-color: var(--hx-color-text-primary, #0d1825);
4487
+ --hx-toggle-button-border-color: var(--hx-color-border-strong, #66787b);
4395
4488
  }
4396
4489
 
4397
4490
  .button--outline:hover {
4398
- --hx-toggle-button-bg: var(--hx-color-neutral-50, #f8fafc);
4491
+ --hx-toggle-button-bg: var(--hx-color-surface-raised, #f5f8f3);
4399
4492
  }
4400
4493
 
4401
4494
  /* ─── Pressed State ─── */
@@ -4403,9 +4496,16 @@
4403
4496
  /*
4404
4497
  * Primary: already uses solid primary bg; pressed deepens to primary-700
4405
4498
  * to give clear visual feedback without introducing a new color.
4499
+ *
4500
+ * AA fix: text.on-primary (= neutral-900 #0D1825) on primary-700 (#0F6363)
4501
+ * = 2.54:1 — fails AA. Pin fg at neutral-0 for the darker pressed fill
4502
+ * (neutral-0 on primary-700 = 7.03:1, AAA pass). Mirrors hx-toast
4503
+ * precedent (commit 300e21ab0) and hx-button hover treatment.
4504
+ * Note: secondary.pressed below uses primary-500 and stays at 5.20:1 —
4505
+ * leave it alone.
4406
4506
  */
4407
4507
  .button--primary.button--pressed {
4408
- --hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-primary-700, #1e40af));
4508
+ --hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-primary-700, #0f6363));
4409
4509
  --hx-toggle-button-color: var(
4410
4510
  --hx-toggle-button-pressed-color,
4411
4511
  var(--hx-color-neutral-0, #ffffff)
@@ -4418,44 +4518,47 @@
4418
4518
  * so the state change is immediately legible.
4419
4519
  */
4420
4520
  .button--secondary.button--pressed {
4421
- --hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-primary-500, #2563eb));
4521
+ --hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-primary-500, #429797));
4422
4522
  --hx-toggle-button-color: var(
4423
4523
  --hx-toggle-button-pressed-color,
4424
- var(--hx-color-neutral-0, #ffffff)
4524
+ var(--hx-color-text-on-primary, #ffffff)
4425
4525
  );
4426
- --hx-toggle-button-border-color: var(--hx-color-primary-500, #2563eb);
4526
+ --hx-toggle-button-border-color: var(--hx-color-primary-500, #429797);
4427
4527
  }
4428
4528
 
4429
4529
  /* Tertiary pressed: use primary-100 bg + primary-700 text + border for WCAG 3:1 non-text contrast. */
4430
4530
  .button--tertiary.button--pressed {
4431
- --hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-primary-100, #dbeafe));
4531
+ --hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-primary-100, #dbf0f0));
4432
4532
  --hx-toggle-button-color: var(
4433
4533
  --hx-toggle-button-pressed-color,
4434
- var(--hx-color-primary-700, #1e40af)
4534
+ var(--hx-color-primary-700, #0f6363)
4435
4535
  );
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);
4536
+ --hx-toggle-button-border-color: var(--hx-color-primary-600, #0f7078);
4537
+ box-shadow: inset 0 0 0 1px var(--hx-color-primary-600, #0f7078);
4438
4538
  }
4439
4539
 
4440
4540
  /* Ghost pressed: subtle neutral fill, matching hover behavior as a baseline. */
4441
4541
  .button--ghost.button--pressed {
4442
- --hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-primary-100, #dbeafe));
4542
+ --hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-primary-100, #dbf0f0));
4443
4543
  --hx-toggle-button-color: var(
4444
4544
  --hx-toggle-button-pressed-color,
4445
- var(--hx-color-primary-700, #1e40af)
4545
+ var(--hx-color-primary-700, #0f6363)
4446
4546
  );
4447
4547
  --hx-toggle-button-border-color: transparent;
4448
4548
  }
4449
4549
 
4450
4550
  /* Outline pressed: fills with a neutral tint, darkens the border, and adds an inset shadow for WCAG 3:1 non-text contrast. */
4451
4551
  .button--outline.button--pressed {
4452
- --hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-neutral-100, #f1f5f9));
4552
+ --hx-toggle-button-bg: var(
4553
+ --hx-toggle-button-pressed-bg,
4554
+ var(--hx-color-surface-sunken, #ebeee9)
4555
+ );
4453
4556
  --hx-toggle-button-color: var(
4454
4557
  --hx-toggle-button-pressed-color,
4455
- var(--hx-color-neutral-900, #0f172a)
4558
+ var(--hx-color-text-primary, #0d1825)
4456
4559
  );
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);
4560
+ --hx-toggle-button-border-color: var(--hx-color-text-muted, #4a5362);
4561
+ box-shadow: inset 0 0 0 1px var(--hx-color-neutral-500, #66787b);
4459
4562
  }
4460
4563
 
4461
4564
  /* ─── Disabled ─── */