@tempots/beatui 0.95.0 → 1.0.1

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 (239) hide show
  1. package/dist/{ar-BVXPzVJB.cjs → ar-CuI1Jgt6.cjs} +1 -1
  2. package/dist/{ar-B4jDJwHQ.js → ar-DaKbK_t8.js} +87 -11
  3. package/dist/auth/index.cjs.js +1 -1
  4. package/dist/auth/index.es.js +1 -1
  5. package/dist/{auth-divider-BPwKk8MW.js → auth-divider-CbME_yVQ.js} +87 -86
  6. package/dist/auth-divider-MMhfmLBu.cjs +1 -0
  7. package/dist/beatui.css +1628 -545
  8. package/dist/beatui.tailwind.css +1628 -545
  9. package/dist/better-auth/index.cjs.js +1 -1
  10. package/dist/better-auth/index.es.js +6 -6
  11. package/dist/codehighlight/index.cjs.js +22 -0
  12. package/dist/codehighlight/index.es.js +76 -0
  13. package/dist/colors-B-p6IzX9.cjs +1 -0
  14. package/dist/{colors-BY0Ja_bf.js → colors-DwufPN8S.js} +18 -18
  15. package/dist/{de-Dd33yWzb.js → de-3MTPDS1i.js} +82 -6
  16. package/dist/{de-BdfPZskW.cjs → de-DthHehbh.cjs} +1 -1
  17. package/dist/{deep-merge-C8dSqIXI.js → deep-merge-BzIheQtH.js} +511 -517
  18. package/dist/deep-merge-EkjEgK0N.cjs +1 -0
  19. package/dist/{duration-input-IuFWywO5.cjs → duration-input-ClgYjeBa.cjs} +1 -1
  20. package/dist/{duration-input-DFZwkg6M.js → duration-input-DGzmIImj.js} +5 -5
  21. package/dist/{editor-toolbar-group-DiJFgGcI.js → editor-toolbar-group-Crlu1QJw.js} +3 -3
  22. package/dist/{editor-toolbar-group-BCBfu8pG.cjs → editor-toolbar-group-mkL4QozO.cjs} +1 -1
  23. package/dist/es-B6GJLk9h.cjs +1 -0
  24. package/dist/{es-jHMT3_7O.js → es-DwMUvBeU.js} +94 -18
  25. package/dist/{fa-eX3_BAZR.js → fa-0rvQiKrJ.js} +87 -11
  26. package/dist/{fa-BXnP4pbN.cjs → fa-BwgP93iV.cjs} +1 -1
  27. package/dist/{fr-Bj-GjMJm.js → fr-B4i6NzLl.js} +86 -10
  28. package/dist/{fr-HJDhGjI2.cjs → fr-CQzk5zqY.cjs} +1 -1
  29. package/dist/{he-DYgmPPkG.js → he-C71n-hsn.js} +87 -11
  30. package/dist/{he-C6nEVZhN.cjs → he-DcxxvRfs.cjs} +1 -1
  31. package/dist/{hi-DMVSXAJt.cjs → hi-D-KHVWg4.cjs} +1 -1
  32. package/dist/{hi-CgYLonE9.js → hi-xmrXpeVU.js} +87 -11
  33. package/dist/index-B5MAsOC-.cjs +1 -0
  34. package/dist/{index-B8cqD9ny.js → index-C3o9GSH6.js} +106 -105
  35. package/dist/index.cjs.js +4 -4
  36. package/dist/index.es.js +8055 -5285
  37. package/dist/input-container-BvEcp7FU.js +275 -0
  38. package/dist/input-container-Di1YvVB_.cjs +1 -0
  39. package/dist/{it-CO2BPqah.js → it-CDZTtOBC.js} +83 -7
  40. package/dist/{it-DhfVcjKb.cjs → it-D344Dutu.cjs} +1 -1
  41. package/dist/{ja-Bt6fGS_Q.cjs → ja-BNgnDZ27.cjs} +1 -1
  42. package/dist/{ja-BrzwjH8T.js → ja-Zz1LzidW.js} +91 -15
  43. package/dist/json-schema/index.cjs.js +1 -1
  44. package/dist/json-schema/index.es.js +261 -257
  45. package/dist/json-schema-display/index.cjs.js +1 -1
  46. package/dist/json-schema-display/index.es.js +2 -2
  47. package/dist/json-structure/index.cjs.js +1 -1
  48. package/dist/json-structure/index.es.js +132 -133
  49. package/dist/{ko-D-lJ4wYQ.js → ko-9laUsZDL.js} +90 -14
  50. package/dist/{ko-DfAaBGrz.cjs → ko-D-WJ9NK7.cjs} +1 -1
  51. package/dist/lexical/index.cjs.js +2 -39
  52. package/dist/lexical/index.es.js +2056 -20626
  53. package/dist/markdown/index.cjs.js +1 -1
  54. package/dist/markdown/index.es.js +41 -4
  55. package/dist/{menu-CV85y3Xf.js → menu-B8yoDMRS.js} +23 -23
  56. package/dist/menu-B92oSDct.cjs +1 -0
  57. package/dist/modal-BT0jjDqX.cjs +1 -0
  58. package/dist/{modal-CwZuWiSK.js → modal-DBguyX-b.js} +9 -9
  59. package/dist/monaco/index.cjs.js +2 -2
  60. package/dist/monaco/index.es.js +7 -7
  61. package/dist/{nl-CNWBQjK5.cjs → nl-CrqUlFie.cjs} +1 -1
  62. package/dist/{nl-ClsworIe.js → nl-Dcll9fVA.js} +86 -10
  63. package/dist/notice-B5wTXoTq.cjs +1 -0
  64. package/dist/{notice-D7hYFM5A.js → notice-BKcyJD5w.js} +37 -37
  65. package/dist/oneof-branch-detection-J_DYEEcD.js +1077 -0
  66. package/dist/oneof-branch-detection-ZUBZ6hqy.cjs +1 -0
  67. package/dist/{pl-CqHTeu3-.cjs → pl-9UksIrvX.cjs} +1 -1
  68. package/dist/{pl-WTwLAxnV.js → pl-Dm9N9Gbr.js} +83 -7
  69. package/dist/prosemirror/index.cjs.js +3 -1
  70. package/dist/prosemirror/index.es.js +636 -4
  71. package/dist/{pt-CgkjJnsG.js → pt-CFi5cn0k.js} +88 -12
  72. package/dist/{pt-BQmsiqbo.cjs → pt-_kfdzwqi.cjs} +1 -1
  73. package/dist/{ru-CtgH7OY9.js → ru-CEhZUw8R.js} +91 -15
  74. package/dist/{ru-CG56A2To.cjs → ru-CW1WNNlr.cjs} +1 -1
  75. package/dist/stack-BLMteGTn.js +15 -0
  76. package/dist/stack-dwLevGa2.cjs +1 -0
  77. package/dist/tailwind/preset.cjs.js +1 -1
  78. package/dist/tailwind/preset.es.js +2 -2
  79. package/dist/tailwind/vite-plugin.cjs.js +1 -1
  80. package/dist/tailwind/vite-plugin.es.js +1 -1
  81. package/dist/text-input-DfqXolVe.js +55 -0
  82. package/dist/text-input-X_q01NsY.cjs +1 -0
  83. package/dist/toolbar-DY0ax2Qd.js +130 -0
  84. package/dist/toolbar-DoKdYXIL.cjs +1 -0
  85. package/dist/{tr-DE7_VtKu.cjs → tr-B6GIRegf.cjs} +1 -1
  86. package/dist/{tr-D1O1vEmr.js → tr-ZmnVDhLP.js} +81 -5
  87. package/dist/{translations-yu4gNqlP.js → translations-A4kR7CW8.js} +1 -1
  88. package/dist/{translations-DyCmyLE_.js → translations-B1_yyDUK.js} +207 -129
  89. package/dist/{translations-DBxIjvWR.cjs → translations-C81buKAw.cjs} +1 -1
  90. package/dist/translations-Dbx7L7Q1.cjs +1 -0
  91. package/dist/types/beatui-i18n/default.d.ts +71 -0
  92. package/dist/types/beatui-i18n/locales/en.d.ts +71 -0
  93. package/dist/types/beatui-i18n/translations.d.ts +71 -0
  94. package/dist/types/codehighlight/code-highlight.d.ts +21 -0
  95. package/dist/types/codehighlight/index.d.ts +14 -0
  96. package/dist/types/components/button/toggle-button.d.ts +4 -4
  97. package/dist/types/components/data/avatar.d.ts +3 -1
  98. package/dist/types/components/data/badge.d.ts +10 -18
  99. package/dist/types/components/data/column-filter-panel.d.ts +31 -0
  100. package/dist/types/components/data/column-filter.d.ts +110 -0
  101. package/dist/types/components/data/column-header-menu.d.ts +42 -0
  102. package/dist/types/components/data/data-source.d.ts +190 -0
  103. package/dist/types/components/data/data-table-body.d.ts +12 -0
  104. package/dist/types/components/data/data-table-column-toggle.d.ts +4 -0
  105. package/dist/types/components/data/data-table-context.d.ts +53 -0
  106. package/dist/types/components/data/data-table-header.d.ts +6 -0
  107. package/dist/types/components/data/data-table-resolve.d.ts +26 -0
  108. package/dist/types/components/data/data-table-types.d.ts +201 -0
  109. package/dist/types/components/data/data-table.d.ts +38 -0
  110. package/dist/types/components/data/data-toolbar.d.ts +44 -0
  111. package/dist/types/components/data/date-picker-shared.d.ts +55 -0
  112. package/dist/types/components/data/date-picker.d.ts +58 -0
  113. package/dist/types/components/data/date-range-picker.d.ts +56 -0
  114. package/dist/types/components/data/filter.d.ts +268 -0
  115. package/dist/types/components/data/index.d.ts +13 -4
  116. package/dist/types/components/data/indicator.d.ts +41 -0
  117. package/dist/types/components/data/progress-bar.d.ts +2 -2
  118. package/dist/types/components/data/selection-checkbox.d.ts +63 -0
  119. package/dist/types/components/data/skeleton.d.ts +1 -1
  120. package/dist/types/components/data/sortable-header.d.ts +55 -0
  121. package/dist/types/components/data/unstyled-drop-zone.d.ts +2 -2
  122. package/dist/types/components/form/control/control.d.ts +9 -9
  123. package/dist/types/components/form/input/advanced-slider.d.ts +6 -6
  124. package/dist/types/components/form/input/appearance-selector.d.ts +9 -2
  125. package/dist/types/components/form/input/bigint-input.d.ts +3 -3
  126. package/dist/types/components/form/input/checkbox-input.d.ts +6 -7
  127. package/dist/types/components/form/input/color-input.d.ts +1 -1
  128. package/dist/types/components/form/input/color-swatch-input.d.ts +3 -3
  129. package/dist/types/components/form/input/combobox-input.d.ts +5 -5
  130. package/dist/types/components/form/input/combobox-tags-input.d.ts +5 -5
  131. package/dist/types/components/form/input/date-input.d.ts +4 -4
  132. package/dist/types/components/form/input/date-time-input.d.ts +4 -4
  133. package/dist/types/components/form/input/dropdown-input.d.ts +5 -5
  134. package/dist/types/components/form/input/editable-text.d.ts +2 -2
  135. package/dist/types/components/form/input/index.d.ts +1 -0
  136. package/dist/types/components/form/input/input-container.d.ts +1 -1
  137. package/dist/types/components/form/input/input-options.d.ts +28 -1
  138. package/dist/types/components/form/input/mask-input.d.ts +8 -2
  139. package/dist/types/components/form/input/native-select.d.ts +3 -3
  140. package/dist/types/components/form/input/nullable-bigint-input.d.ts +3 -3
  141. package/dist/types/components/form/input/nullable-date-input.d.ts +2 -2
  142. package/dist/types/components/form/input/nullable-date-time-input.d.ts +2 -2
  143. package/dist/types/components/form/input/nullable-rating-input.d.ts +8 -8
  144. package/dist/types/components/form/input/nullable-uuid-input.d.ts +4 -4
  145. package/dist/types/components/form/input/number-input.d.ts +3 -3
  146. package/dist/types/components/form/input/otp-input.d.ts +12 -12
  147. package/dist/types/components/form/input/rating-input.d.ts +7 -8
  148. package/dist/types/components/form/input/select-tags-input.d.ts +5 -5
  149. package/dist/types/components/form/input/switch.d.ts +2 -2
  150. package/dist/types/components/form/input/tri-state-checkbox-input.d.ts +82 -0
  151. package/dist/types/components/form/input/uuid-input.d.ts +2 -2
  152. package/dist/types/components/json-structure/controls/uuid-control.d.ts +1 -1
  153. package/dist/types/components/layout/card.d.ts +66 -0
  154. package/dist/types/components/layout/collapse.d.ts +2 -2
  155. package/dist/types/components/layout/flex.d.ts +26 -0
  156. package/dist/types/components/layout/index.d.ts +1 -0
  157. package/dist/types/components/lexical/floating/slash-command-palette.d.ts +2 -2
  158. package/dist/types/components/media/pdf-page-viewer.d.ts +8 -5
  159. package/dist/types/components/misc/index.d.ts +1 -0
  160. package/dist/types/components/misc/loading-overlay.d.ts +29 -0
  161. package/dist/types/components/misc/notice.d.ts +4 -4
  162. package/dist/types/components/misc/notification-provider.d.ts +9 -3
  163. package/dist/types/components/misc/notification.d.ts +9 -9
  164. package/dist/types/components/navigation/breadcrumbs.d.ts +1 -1
  165. package/dist/types/components/navigation/menu.d.ts +6 -6
  166. package/dist/types/components/navigation/pagination.d.ts +17 -4
  167. package/dist/types/components/navigation/sidebar/sidebar-link.d.ts +2 -2
  168. package/dist/types/components/navigation/tabs/tabs.d.ts +17 -8
  169. package/dist/types/components/navigation/toolbar/toolbar.d.ts +12 -6
  170. package/dist/types/components/overlay/announcement-bar.d.ts +12 -4
  171. package/dist/types/components/overlay/dialogs.d.ts +2 -2
  172. package/dist/types/components/overlay/modal.d.ts +9 -2
  173. package/dist/types/components/overlay/tooltip.d.ts +6 -6
  174. package/dist/types/components/theme/types.d.ts +15 -4
  175. package/dist/types/lexical/plugins/slash-commands.d.ts +1 -1
  176. package/dist/types/tokens/z-index.d.ts +18 -18
  177. package/dist/types/utils/use-animated-toggle.d.ts +12 -4
  178. package/dist/{ur-ZJgsSpG2.cjs → ur-CtFl_tz6.cjs} +1 -1
  179. package/dist/{ur-BcuB7IqE.js → ur-yYgj3NmT.js} +87 -11
  180. package/dist/use-animated-toggle-C3asw_Sg.js +207 -0
  181. package/dist/use-animated-toggle-cKcuItmz.cjs +1 -0
  182. package/dist/use-form-CaW192gw.cjs +2 -0
  183. package/dist/{use-form-CfxvyTfd.js → use-form-Dn6v2tEh.js} +153 -152
  184. package/dist/utils-DmEuG3Np.cjs +1 -0
  185. package/dist/utils-vUtP6iPG.js +165 -0
  186. package/dist/{vi-D0rQ3dIx.js → vi-D5u4CLQO.js} +88 -12
  187. package/dist/{vi-BOgLRkuK.cjs → vi-DyCZSpsk.cjs} +1 -1
  188. package/dist/widget-customization-B49MeU4E.cjs +1 -0
  189. package/dist/widget-customization-DEiQ_31d.js +1063 -0
  190. package/dist/{zh-DoYqiZO1.js → zh-B0kwMMer.js} +90 -14
  191. package/dist/{zh-BTZ8OZ4H.cjs → zh-C3ZxMQKb.cjs} +1 -1
  192. package/package.json +208 -37
  193. package/dist/_commonjsHelpers-DKOUU3wS.cjs +0 -1
  194. package/dist/_commonjsHelpers-DaMA6jEr.js +0 -8
  195. package/dist/auth-divider-BgaQ8ifw.cjs +0 -1
  196. package/dist/colors-BI0YhONJ.cjs +0 -1
  197. package/dist/deep-merge-ChJQbUKq.cjs +0 -1
  198. package/dist/es-C8TpneCm.cjs +0 -1
  199. package/dist/hls.light.min-C6xKDzRR.cjs +0 -27
  200. package/dist/hls.light.min-hEMf_E8u.js +0 -8311
  201. package/dist/index-1JaBwDB-.js +0 -921
  202. package/dist/index-CN10Cyqr.cjs +0 -1
  203. package/dist/index-CTcbhnPw.cjs +0 -4
  204. package/dist/index-DF7RFzD9.cjs +0 -1
  205. package/dist/index-D_zOXmU5.cjs +0 -36
  206. package/dist/index-DfPkCwdC.js +0 -2709
  207. package/dist/index-vowHNIPH.js +0 -14308
  208. package/dist/index-yOU4Ceaq.js +0 -68
  209. package/dist/index-zQ3IYJFH.cjs +0 -1
  210. package/dist/input-container-BWYHj0Iq.cjs +0 -1
  211. package/dist/input-container-DMoVdH6E.js +0 -263
  212. package/dist/menu-De_-sGeb.cjs +0 -1
  213. package/dist/modal-CiGmgsOI.cjs +0 -1
  214. package/dist/notice-CPZQuxcA.cjs +0 -1
  215. package/dist/oneof-branch-detection-BFxukD63.cjs +0 -8
  216. package/dist/oneof-branch-detection-izpPjBCR.js +0 -6290
  217. package/dist/stack-4VUGISn6.cjs +0 -1
  218. package/dist/stack-Bm-UZosx.js +0 -879
  219. package/dist/string-B9vVyfq3.cjs +0 -1
  220. package/dist/string-DYyMxBl-.js +0 -19
  221. package/dist/text-input-BLupB3cU.js +0 -45
  222. package/dist/text-input-M6WBhhVj.cjs +0 -1
  223. package/dist/timer-BJHOsuS6.cjs +0 -1
  224. package/dist/timer-Rd2sKnvH.js +0 -65
  225. package/dist/toolbar-Be1eU0qU.js +0 -118
  226. package/dist/toolbar-WWv5kcYG.cjs +0 -1
  227. package/dist/translations-OOsMRpX9.cjs +0 -1
  228. package/dist/types/components/data/calendar-shared.d.ts +0 -59
  229. package/dist/types/components/data/calendar.d.ts +0 -107
  230. package/dist/types/components/data/icon-badge.d.ts +0 -14
  231. package/dist/types/components/data/range-calendar.d.ts +0 -104
  232. package/dist/types/components/data/tag.d.ts +0 -51
  233. package/dist/use-animated-toggle-C7PTmnZi.js +0 -195
  234. package/dist/use-animated-toggle-DrqK7nUS.cjs +0 -1
  235. package/dist/use-form-ClA0ZRco.cjs +0 -2
  236. package/dist/utils-DEbsp9Q9.js +0 -129
  237. package/dist/utils-DIUEhA-Z.cjs +0 -1
  238. package/dist/widget-customization-CLZNGavL.js +0 -1042
  239. package/dist/widget-customization-DtEEo35Y.cjs +0 -1
@@ -321,15 +321,15 @@
321
321
  --text-shadow-md: 0px 1px 1px rgb(0 0 0 / 0.1), 0px 1px 2px rgb(0 0 0 / 0.1), 0px 2px 4px rgb(0 0 0 / 0.1);
322
322
  --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / 0.1), 0px 3px 2px rgb(0 0 0 / 0.1), 0px 4px 8px rgb(0 0 0 / 0.1);
323
323
  --z-index-base: 0;
324
- --z-index-raised: 10;
325
- --z-index-navigation: 20;
326
- --z-index-sidebar: 20;
327
- --z-index-overlay: 50;
328
- --z-index-modal: 60;
329
- --z-index-tooltip: 70;
330
- --z-index-popover: 80;
331
- --z-index-notification: 90;
332
- --z-index-maximum: 100;
324
+ --z-index-raised: 100;
325
+ --z-index-navigation: 200;
326
+ --z-index-sidebar: 200;
327
+ --z-index-overlay: 500;
328
+ --z-index-modal: 600;
329
+ --z-index-tooltip: 700;
330
+ --z-index-popover: 800;
331
+ --z-index-notification: 900;
332
+ --z-index-maximum: 1000;
333
333
  --border-width-none: 0;
334
334
  --border-width-thin: 1px;
335
335
  --border-width-default: 1.5px;
@@ -893,17 +893,17 @@ a:focus-visible {
893
893
  gap: var(--spacing-xs);
894
894
  }
895
895
 
896
- /* Title */
896
+ /* Title — fixed font size across all sizes */
897
897
  .bc-action-card__title {
898
- font-size: var(--font-size-lg);
898
+ font-size: var(--font-size-md);
899
899
  font-weight: var(--font-weight-semibold);
900
900
  color: var(--action-card-title-color);
901
901
  line-height: var(--line-height-tight);
902
902
  }
903
903
 
904
- /* Description */
904
+ /* Description — fixed font size across all sizes */
905
905
  .bc-action-card__description {
906
- font-size: var(--font-size-md);
906
+ font-size: var(--font-size-sm);
907
907
  font-weight: var(--font-weight-normal);
908
908
  color: var(--action-card-description-color);
909
909
  line-height: var(--line-height-normal);
@@ -949,59 +949,27 @@ a:focus-visible {
949
949
  pointer-events: none;
950
950
  }
951
951
 
952
- /* Size variants */
952
+ /* Size variants — padding and gap only */
953
953
  .bc-action-card--xs {
954
954
  padding: var(--spacing-xs);
955
955
  gap: var(--spacing-xs);
956
956
  }
957
957
 
958
- .bc-action-card--xs .bc-action-card__title {
959
- font-size: var(--font-size-sm);
960
- }
961
-
962
- .bc-action-card--xs .bc-action-card__description {
963
- font-size: var(--font-size-xs);
964
- }
965
-
966
958
  .bc-action-card--sm {
967
959
  padding: var(--spacing-sm);
968
960
  gap: var(--spacing-sm);
969
961
  }
970
962
 
971
- .bc-action-card--sm .bc-action-card__title {
972
- font-size: var(--font-size-md);
973
- }
974
-
975
- .bc-action-card--sm .bc-action-card__description {
976
- font-size: var(--font-size-sm);
977
- }
978
-
979
963
  .bc-action-card--lg {
980
- padding: var(--spacing-xl);
964
+ padding: var(--spacing-lg);
981
965
  gap: var(--spacing-lg);
982
966
  }
983
967
 
984
- .bc-action-card--lg .bc-action-card__title {
985
- font-size: var(--font-size-xl);
986
- }
987
-
988
- .bc-action-card--lg .bc-action-card__description {
989
- font-size: var(--font-size-lg);
990
- }
991
-
992
968
  .bc-action-card--xl {
993
- padding: var(--spacing-2xl);
969
+ padding: var(--spacing-xl);
994
970
  gap: var(--spacing-xl);
995
971
  }
996
972
 
997
- .bc-action-card--xl .bc-action-card__title {
998
- font-size: var(--font-size-2xl);
999
- }
1000
-
1001
- .bc-action-card--xl .bc-action-card__description {
1002
- font-size: var(--font-size-xl);
1003
- }
1004
-
1005
973
  /* Focus styles for accessibility */
1006
974
  .bc-action-card--clickable:focus-visible {
1007
975
  outline: var(--outline-width-focus) solid var(--color-primary-500);
@@ -2044,8 +2012,8 @@ a:focus-visible {
2044
2012
 
2045
2013
  /* Bordered variant */
2046
2014
  .bc-avatar--bordered {
2047
- border: var(--border-width-medium) solid var(--color-white);
2048
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
2015
+ border: var(--border-width-medium) solid
2016
+ var(--avatar-border-color, var(--color-white));
2049
2017
  }
2050
2018
 
2051
2019
  /* Avatar Group */
@@ -2055,6 +2023,43 @@ a:focus-visible {
2055
2023
  flex-direction: row;
2056
2024
  }
2057
2025
 
2026
+ /* Group size cascades to child avatars */
2027
+ .bc-avatar-group--size-xs > .bc-avatar {
2028
+ width: var(--spacing-xl);
2029
+ height: var(--spacing-xl);
2030
+ font-size: var(--font-size-xs);
2031
+ }
2032
+
2033
+ .bc-avatar-group--size-sm > .bc-avatar {
2034
+ width: var(--spacing-2xl);
2035
+ height: var(--spacing-2xl);
2036
+ font-size: var(--font-size-sm);
2037
+ }
2038
+
2039
+ .bc-avatar-group--size-md > .bc-avatar {
2040
+ width: var(--spacing-2xlh);
2041
+ height: var(--spacing-2xlh);
2042
+ font-size: var(--font-size-md);
2043
+ }
2044
+
2045
+ .bc-avatar-group--size-lg > .bc-avatar {
2046
+ width: var(--spacing-3xl);
2047
+ height: var(--spacing-3xl);
2048
+ font-size: var(--font-size-lg);
2049
+ }
2050
+
2051
+ .bc-avatar-group--size-xl > .bc-avatar {
2052
+ width: var(--spacing-4xl);
2053
+ height: var(--spacing-4xl);
2054
+ font-size: var(--font-size-xl);
2055
+ }
2056
+
2057
+ .bc-avatar-group--size-2xl > .bc-avatar {
2058
+ width: calc(var(--spacing-base) * 24);
2059
+ height: calc(var(--spacing-base) * 24);
2060
+ font-size: var(--font-size-2xl);
2061
+ }
2062
+
2058
2063
  /* Tight spacing - avatars overlap */
2059
2064
  .bc-avatar-group--spacing-tight {
2060
2065
  gap: 0;
@@ -2088,8 +2093,10 @@ a:focus-visible {
2088
2093
  }
2089
2094
 
2090
2095
  .dark .bc-avatar--bordered {
2091
- border-color: var(--bg-background-dark, var(--color-base-950));
2092
- box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1);
2096
+ border-color: var(
2097
+ --avatar-border-color-dark,
2098
+ var(--bg-background-dark, var(--color-base-950))
2099
+ );
2093
2100
  }
2094
2101
 
2095
2102
  .dark .bc-avatar-group--spacing-tight > .bc-avatar,
@@ -2131,6 +2138,7 @@ a:focus-visible {
2131
2138
  display: inline-flex;
2132
2139
  align-items: center;
2133
2140
  justify-content: center;
2141
+ gap: var(--badge-gap, var(--control-gap-md));
2134
2142
  border: var(--border-width-default) solid var(--badge-border);
2135
2143
  font-family: var(
2136
2144
  --font-family-default-ui,
@@ -2229,49 +2237,40 @@ a:focus-visible {
2229
2237
  width: 100%;
2230
2238
  }
2231
2239
 
2232
- /* Dot variant - small colored circle indicator */
2233
- .bc-badge--dot {
2234
- width: var(--spacing-md);
2235
- height: var(--spacing-md);
2236
- min-width: var(--spacing-md);
2237
- padding: 0;
2238
- border-radius: 50%;
2239
- border: none;
2240
- }
2241
-
2242
- .bc-badge--dot .bc-badge__content {
2243
- display: none;
2244
- }
2245
-
2246
- /* Dot variant size adjustments */
2247
- .bc-badge--dot.bc-badge--size-xs {
2248
- width: var(--spacing-smh);
2249
- height: var(--spacing-smh);
2250
- min-width: var(--spacing-smh);
2240
+ /* Close button lightweight inline × */
2241
+ .bc-badge__close {
2242
+ all: unset;
2243
+ cursor: pointer;
2244
+ display: inline-flex;
2245
+ align-items: center;
2246
+ justify-content: center;
2247
+ font-size: inherit;
2248
+ line-height: var(--line-height-none);
2249
+ opacity: 0.5;
2250
+ transition: opacity var(--motion-transition-fast)
2251
+ var(--motion-easing-standard);
2251
2252
  }
2252
2253
 
2253
- .bc-badge--dot.bc-badge--size-sm {
2254
- width: var(--spacing-md);
2255
- height: var(--spacing-md);
2256
- min-width: var(--spacing-md);
2254
+ .bc-badge__close:hover {
2255
+ opacity: 1;
2257
2256
  }
2258
2257
 
2259
- .bc-badge--dot.bc-badge--size-md {
2260
- width: calc(var(--spacing-base) * 2.5);
2261
- height: calc(var(--spacing-base) * 2.5);
2262
- min-width: calc(var(--spacing-base) * 2.5);
2258
+ /* Disabled state */
2259
+ .bc-badge.bc-badge--disabled {
2260
+ opacity: 0.55;
2261
+ filter: grayscale(0.4) saturate(0.8);
2262
+ cursor: default;
2263
2263
  }
2264
2264
 
2265
- .bc-badge--dot.bc-badge--size-lg {
2266
- width: var(--spacing-mdh);
2267
- height: var(--spacing-mdh);
2268
- min-width: var(--spacing-mdh);
2265
+ .bc-badge.bc-badge--disabled .bc-badge__close {
2266
+ cursor: not-allowed;
2267
+ opacity: 0.6;
2268
+ pointer-events: none;
2269
2269
  }
2270
2270
 
2271
- .bc-badge--dot.bc-badge--size-xl {
2272
- width: calc(var(--spacing-base) * 3.5);
2273
- height: calc(var(--spacing-base) * 3.5);
2274
- min-width: calc(var(--spacing-base) * 3.5);
2271
+ .bc-badge.bc-badge--disabled .bc-badge__close:hover {
2272
+ color: inherit;
2273
+ border-color: transparent;
2275
2274
  }
2276
2275
 
2277
2276
  /* Dark mode styles */
@@ -2286,6 +2285,10 @@ a:focus-visible {
2286
2285
  color: var(--badge-text-hover-dark);
2287
2286
  }
2288
2287
 
2288
+ .dark .bc-badge__close {
2289
+ color: var(--badge-text-dark);
2290
+ }
2291
+
2289
2292
  /* Accessibility adjustments */
2290
2293
  @media (prefers-contrast: high) {
2291
2294
  .bc-badge {
@@ -2713,7 +2716,7 @@ a:focus-visible {
2713
2716
  flex-direction: column;
2714
2717
  border-radius: var(--radius-surface, var(--radius-lg));
2715
2718
  border: var(--border-width-thin) solid var(--card-border);
2716
- padding: var(--spacing-lg);
2719
+ padding: var(--spacing-md);
2717
2720
  box-shadow: var(--shadow-surface, var(--shadow-md));
2718
2721
  background-color: var(--card-bg);
2719
2722
  color: var(--card-text);
@@ -2783,6 +2786,68 @@ a:focus-visible {
2783
2786
  border-radius: var(--radius-full);
2784
2787
  }
2785
2788
 
2789
+ /* Remove Card padding when structured sub-components are used */
2790
+ .bc-card:has(
2791
+ > .bc-card__header,
2792
+ > .bc-card__body,
2793
+ > .bc-card__footer,
2794
+ > .bc-card__cover-image
2795
+ ) {
2796
+ padding: 0;
2797
+ }
2798
+
2799
+ /* Card sections */
2800
+ .bc-card__header {
2801
+ display: flex;
2802
+ align-items: center;
2803
+ gap: var(--spacing-sm);
2804
+ padding: var(--spacing-md);
2805
+ border-bottom: var(--border-width-thin) solid var(--card-border);
2806
+ background-color: var(
2807
+ --bg-surface-secondary,
2808
+ color-mix(in srgb, var(--card-bg) 90%, var(--card-text) 10%)
2809
+ );
2810
+ flex-shrink: 0;
2811
+ }
2812
+
2813
+ .bc-card__body {
2814
+ flex: 1;
2815
+ padding: var(--spacing-md);
2816
+ }
2817
+
2818
+ .bc-card__footer {
2819
+ display: flex;
2820
+ align-items: center;
2821
+ gap: var(--spacing-sm);
2822
+ padding: var(--spacing-md);
2823
+ border-top: var(--border-width-thin) solid var(--card-border);
2824
+ background-color: var(
2825
+ --bg-surface-secondary,
2826
+ color-mix(in srgb, var(--card-bg) 90%, var(--card-text) 10%)
2827
+ );
2828
+ flex-shrink: 0;
2829
+ justify-content: flex-end;
2830
+ }
2831
+
2832
+ /* Cover image */
2833
+ .bc-card__cover-image {
2834
+ width: 100%;
2835
+ object-fit: cover;
2836
+ flex-shrink: 0;
2837
+ }
2838
+
2839
+ .bc-card__cover-image:first-child {
2840
+ border-radius: inherit;
2841
+ border-bottom-left-radius: 0;
2842
+ border-bottom-right-radius: 0;
2843
+ }
2844
+
2845
+ .bc-card__cover-image:last-child {
2846
+ border-radius: inherit;
2847
+ border-top-left-radius: 0;
2848
+ border-top-right-radius: 0;
2849
+ }
2850
+
2786
2851
  /* Dark mode styles */
2787
2852
  .dark .bc-card--elevated {
2788
2853
  --card-bg: var(--bg-elevated);
@@ -2867,6 +2932,10 @@ a:focus-visible {
2867
2932
  color: var(--checkbox-checked-color);
2868
2933
  }
2869
2934
 
2935
+ .bc-checkbox-input__checkbox--indeterminate {
2936
+ color: var(--checkbox-checked-color);
2937
+ }
2938
+
2870
2939
  .bc-checkbox-input__checkbox--unchecked {
2871
2940
  color: var(--color-base-400);
2872
2941
  }
@@ -2897,6 +2966,10 @@ a:focus-visible {
2897
2966
  color: var(--color-primary-400);
2898
2967
  }
2899
2968
 
2969
+ .dark .bc-checkbox-input__checkbox--indeterminate {
2970
+ color: var(--color-primary-400);
2971
+ }
2972
+
2900
2973
  .dark .bc-checkbox-input__checkbox--unchecked {
2901
2974
  color: var(--color-base-500);
2902
2975
  }
@@ -2950,7 +3023,10 @@ a:focus-visible {
2950
3023
 
2951
3024
  .bc-color-swatch-input__control {
2952
3025
  position: relative;
2953
- display: inline-block;
3026
+ display: inline-flex;
3027
+ align-items: center;
3028
+ justify-content: center;
3029
+ flex: 0 0 auto;
2954
3030
  border-radius: var(--radius-control, var(--radius-md));
2955
3031
  overflow: visible;
2956
3032
  cursor: pointer;
@@ -3065,13 +3141,6 @@ a:focus-visible {
3065
3141
  outline: var(--outline-width-focus) solid var(--color-danger-400);
3066
3142
  }
3067
3143
 
3068
- /* Responsive styles */
3069
- @media (width >= 40rem) {
3070
- .bc-color-swatch-input__control {
3071
- width: calc(var(--spacing-base) * 11);
3072
- height: calc(var(--spacing-base) * 9);
3073
- }
3074
- }
3075
3144
 
3076
3145
  .bc-command-palette {
3077
3146
  display: flex;
@@ -3235,7 +3304,6 @@ a:focus-visible {
3235
3304
 
3236
3305
  .bc-dropdown__trigger {
3237
3306
  width: 100%;
3238
- height: calc(var(--spacing-base) * 4.75);
3239
3307
  display: flex;
3240
3308
  align-items: center;
3241
3309
  justify-content: space-between;
@@ -3256,11 +3324,8 @@ a:focus-visible {
3256
3324
  display: flex;
3257
3325
  align-items: center;
3258
3326
  justify-content: center;
3259
- width: var(--spacing-xl);
3260
- height: var(--spacing-xl);
3261
3327
  flex-shrink: 0;
3262
- margin-inline-start: var(--spacing-sm);
3263
- margin-inline-end: calc(var(--spacing-base) * -1.25);
3328
+ margin-inline-start: var(--spacing-xs);
3264
3329
  }
3265
3330
 
3266
3331
  /* Listbox (dropdown) */
@@ -4219,6 +4284,7 @@ a:focus-visible {
4219
4284
  display: flex;
4220
4285
  align-items: center;
4221
4286
  justify-content: center;
4287
+ font-size: inherit;
4222
4288
  transition: background-color
4223
4289
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
4224
4290
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
@@ -4236,6 +4302,12 @@ a:focus-visible {
4236
4302
  background-color: var(--color-gray-200);
4237
4303
  }
4238
4304
 
4305
+ /* Scale icon to match text size */
4306
+ .bc-editable-text__edit-button .bc-icon {
4307
+ width: 1em;
4308
+ height: 1em;
4309
+ }
4310
+
4239
4311
  /* Dark mode styles */
4240
4312
  .dark .bc-editable-text {
4241
4313
  border-bottom-color: var(--border-default);
@@ -5196,19 +5268,19 @@ a:focus-visible {
5196
5268
  }
5197
5269
 
5198
5270
  .bc-group--gap-1 {
5199
- gap: var(--spacing-stack-xs, var(--spacing-sm));
5271
+ gap: var(--spacing-xs);
5200
5272
  }
5201
5273
 
5202
5274
  .bc-group--gap-2 {
5203
- gap: var(--spacing-stack-sm, var(--spacing-md));
5275
+ gap: var(--spacing-sm);
5204
5276
  }
5205
5277
 
5206
5278
  .bc-group--gap-4 {
5207
- gap: var(--spacing-stack-lg, var(--spacing-lg));
5279
+ gap: var(--spacing-lg);
5208
5280
  }
5209
5281
 
5210
5282
  .bc-group--gap-md {
5211
- gap: var(--spacing-stack-md, var(--spacing-mdh));
5283
+ gap: var(--spacing-md);
5212
5284
  }
5213
5285
 
5214
5286
  .bc-group--grow {
@@ -5389,7 +5461,7 @@ a:focus-visible {
5389
5461
  }
5390
5462
 
5391
5463
  .dark .bc-history-timeline__filter--active {
5392
- background: rgba(37, 99, 235, 0.15);
5464
+ background: color-mix(in srgb, var(--color-primary-600) 15%, transparent);
5393
5465
  border-color: var(--color-primary-600);
5394
5466
  color: var(--color-primary-300);
5395
5467
  }
@@ -5428,18 +5500,18 @@ a:focus-visible {
5428
5500
  }
5429
5501
 
5430
5502
  .bc-icon--xs {
5431
- width: var(--spacing-mdh);
5432
- height: var(--spacing-mdh);
5503
+ width: var(--spacing-lg);
5504
+ height: var(--spacing-lg);
5433
5505
  }
5434
5506
 
5435
5507
  .bc-icon--sm {
5436
- width: var(--spacing-lg);
5437
- height: var(--spacing-lg);
5508
+ width: var(--spacing-lgh);
5509
+ height: var(--spacing-lgh);
5438
5510
  }
5439
5511
 
5440
5512
  .bc-icon--md {
5441
- width: calc(var(--spacing-base) * 4.8);
5442
- height: calc(var(--spacing-base) * 4.8);
5513
+ width: var(--spacing-xl);
5514
+ height: var(--spacing-xl);
5443
5515
  }
5444
5516
 
5445
5517
  .bc-icon--lg {
@@ -5452,16 +5524,120 @@ a:focus-visible {
5452
5524
  height: var(--spacing-3xl);
5453
5525
  }
5454
5526
 
5455
- .bc-icon-badge {
5527
+ /* Indicator Component */
5528
+ .bc-indicator {
5456
5529
  position: relative;
5457
5530
  display: inline-flex;
5458
5531
  }
5459
5532
 
5460
- .bc-icon-badge__indicator {
5533
+ .bc-indicator__badge {
5461
5534
  position: absolute;
5462
- top: calc(var(--spacing-base) * -1);
5463
- right: calc(var(--spacing-base) * -1);
5464
5535
  pointer-events: none;
5536
+ display: flex;
5537
+ align-items: center;
5538
+ justify-content: center;
5539
+ border-radius: 50%;
5540
+ font-family: var(
5541
+ --font-family-default-ui,
5542
+ var(--font-ui, var(--font-body, var(--font-family-sans)))
5543
+ );
5544
+ font-weight: var(--font-weight-semibold);
5545
+ line-height: var(--line-height-none);
5546
+ white-space: nowrap;
5547
+ background-color: var(--indicator-bg);
5548
+ color: var(--indicator-text);
5549
+ }
5550
+
5551
+ /* Placement variants */
5552
+ .bc-indicator--top-right {
5553
+ top: 0;
5554
+ right: 0;
5555
+ transform: translate(40%, -40%);
5556
+ }
5557
+
5558
+ .bc-indicator--top-left {
5559
+ top: 0;
5560
+ left: 0;
5561
+ transform: translate(-40%, -40%);
5562
+ }
5563
+
5564
+ .bc-indicator--bottom-right {
5565
+ bottom: 0;
5566
+ right: 0;
5567
+ transform: translate(40%, 40%);
5568
+ }
5569
+
5570
+ .bc-indicator--bottom-left {
5571
+ bottom: 0;
5572
+ left: 0;
5573
+ transform: translate(-40%, 40%);
5574
+ }
5575
+
5576
+ /* Dot variant — small circle with no text */
5577
+ .bc-indicator--dot.bc-indicator--size-xs {
5578
+ width: var(--spacing-smh);
5579
+ height: var(--spacing-smh);
5580
+ }
5581
+
5582
+ .bc-indicator--dot.bc-indicator--size-sm {
5583
+ width: var(--spacing-md);
5584
+ height: var(--spacing-md);
5585
+ }
5586
+
5587
+ .bc-indicator--dot.bc-indicator--size-md {
5588
+ width: calc(var(--spacing-base) * 2.5);
5589
+ height: calc(var(--spacing-base) * 2.5);
5590
+ }
5591
+
5592
+ .bc-indicator--dot.bc-indicator--size-lg {
5593
+ width: var(--spacing-mdh);
5594
+ height: var(--spacing-mdh);
5595
+ }
5596
+
5597
+ .bc-indicator--dot.bc-indicator--size-xl {
5598
+ width: calc(var(--spacing-base) * 3.5);
5599
+ height: calc(var(--spacing-base) * 3.5);
5600
+ }
5601
+
5602
+ /* Count variant — pill badge with text */
5603
+ .bc-indicator--count {
5604
+ min-width: 1.25em;
5605
+ height: 1.25em;
5606
+ padding: 0 0.35em;
5607
+ border-radius: 999px;
5608
+ }
5609
+
5610
+ .bc-indicator--count.bc-indicator--size-xs {
5611
+ font-size: var(--font-size-xs);
5612
+ }
5613
+
5614
+ .bc-indicator--count.bc-indicator--size-sm {
5615
+ font-size: var(--font-size-xs);
5616
+ }
5617
+
5618
+ .bc-indicator--count.bc-indicator--size-md {
5619
+ font-size: var(--font-size-sm);
5620
+ }
5621
+
5622
+ .bc-indicator--count.bc-indicator--size-lg {
5623
+ font-size: var(--font-size-md);
5624
+ }
5625
+
5626
+ .bc-indicator--count.bc-indicator--size-xl {
5627
+ font-size: var(--font-size-lg);
5628
+ }
5629
+
5630
+ /* Dark mode */
5631
+ .dark .bc-indicator__badge {
5632
+ background-color: var(--indicator-bg-dark);
5633
+ color: var(--indicator-text-dark);
5634
+ }
5635
+
5636
+ /* Accessibility */
5637
+ @media (prefers-reduced-motion: reduce) {
5638
+ .bc-indicator__badge {
5639
+ transition: none;
5640
+ }
5465
5641
  }
5466
5642
 
5467
5643
  /* Input Adornment Component */
@@ -5620,8 +5796,6 @@ a:focus-visible {
5620
5796
  flex-direction: row;
5621
5797
  align-items: center;
5622
5798
  min-width: 0;
5623
- /* Horizontal padding only; vertical padding comes from size classes */
5624
- padding-inline: var(--spacing-lg);
5625
5799
  }
5626
5800
 
5627
5801
  .bc-input-container__input--grow {
@@ -5639,6 +5813,7 @@ a:focus-visible {
5639
5813
  outline: none;
5640
5814
  font: inherit;
5641
5815
  color: inherit;
5816
+ line-height: 1.1;
5642
5817
  }
5643
5818
 
5644
5819
  /* Normalize native element heights for consistent input container sizing */
@@ -5649,7 +5824,12 @@ a:focus-visible {
5649
5824
  line-height: var(--line-height-none);
5650
5825
  }
5651
5826
 
5652
- /* Password toggle button */
5827
+ .bc-input-container textarea {
5828
+ resize: vertical;
5829
+ line-height: var(--line-height-normal);
5830
+ }
5831
+
5832
+ /* Password toggle button */
5653
5833
  .bc-input-container__password-toggle {
5654
5834
  font-size: var(--font-size-sm);
5655
5835
  fill: var(--color-neutral-400);
@@ -5702,6 +5882,20 @@ a:focus-visible {
5702
5882
  align-items: center;
5703
5883
  }
5704
5884
 
5885
+ /* Tags selector (dropdown trigger area in select-tags) */
5886
+ .bc-input-container__tags-selector {
5887
+ flex-grow: 1;
5888
+ background-color: transparent;
5889
+ min-width: 100px;
5890
+ min-height: var(--spacing-lg);
5891
+ align-self: stretch;
5892
+ justify-self: stretch;
5893
+ display: flex;
5894
+ align-items: center;
5895
+ justify-content: flex-end;
5896
+ gap: var(--spacing-stack-sm, var(--spacing-md));
5897
+ }
5898
+
5705
5899
  /* Tags input text field */
5706
5900
  .bc-input-container .bc-input-container__tags-input {
5707
5901
  min-width: 8rem;
@@ -9336,6 +9530,8 @@ a:focus-visible {
9336
9530
  overflow: hidden;
9337
9531
  width: 100%;
9338
9532
  height: 100%;
9533
+ outline: none;
9534
+ touch-action: none;
9339
9535
  }
9340
9536
 
9341
9537
  .bc-nine-slice-pane-container {
@@ -9343,18 +9539,27 @@ a:focus-visible {
9343
9539
  overflow: hidden;
9344
9540
  top: 0;
9345
9541
  left: 0;
9542
+ bottom: 0;
9543
+ right: 0;
9346
9544
  }
9347
9545
 
9348
9546
  .bc-nine-slice-pane {
9349
9547
  position: absolute;
9350
9548
  overflow: visible;
9351
9549
  }
9550
+
9551
+ .bc-nine-slice-pane-content {
9552
+ will-change: transform;
9553
+ }
9554
+
9555
+ /* Z-index layering: corners > sidebars > header/footer > body */
9352
9556
  .bc-nine-slice-top-start {
9353
9557
  z-index: 60;
9354
9558
  }
9355
9559
 
9356
9560
  .bc-nine-slice-header {
9357
9561
  z-index: 20;
9562
+ overflow: hidden;
9358
9563
  }
9359
9564
 
9360
9565
  .bc-nine-slice-top-end {
@@ -9363,14 +9568,17 @@ a:focus-visible {
9363
9568
 
9364
9569
  .bc-nine-slice-sidebar-start {
9365
9570
  z-index: 30;
9571
+ overflow: hidden;
9366
9572
  }
9367
9573
 
9368
9574
  .bc-nine-slice-body {
9369
9575
  z-index: 10;
9576
+ overflow: hidden;
9370
9577
  }
9371
9578
 
9372
9579
  .bc-nine-slice-sidebar-end {
9373
9580
  z-index: 40;
9581
+ overflow: hidden;
9374
9582
  }
9375
9583
 
9376
9584
  .bc-nine-slice-bottom-start {
@@ -9379,12 +9587,94 @@ a:focus-visible {
9379
9587
 
9380
9588
  .bc-nine-slice-footer {
9381
9589
  z-index: 50;
9590
+ overflow: hidden;
9382
9591
  }
9383
9592
 
9384
9593
  .bc-nine-slice-bottom-end {
9385
9594
  z-index: 90;
9386
9595
  }
9387
9596
 
9597
+ /* Scrollbar shared */
9598
+ .bc-nine-slice-scrollbar {
9599
+ position: absolute;
9600
+ z-index: 100;
9601
+ }
9602
+
9603
+ .bc-nine-slice-scrollbar-track {
9604
+ position: relative;
9605
+ width: 100%;
9606
+ height: 100%;
9607
+ background-color: var(--color-base-200);
9608
+ border-radius: 8px;
9609
+ }
9610
+
9611
+ .bc-nine-slice-scrollbar-thumb {
9612
+ position: absolute;
9613
+ border-radius: 8px;
9614
+ background-color: var(--color-base-400);
9615
+ cursor: grab;
9616
+ transition: background-color 150ms ease;
9617
+ }
9618
+
9619
+ .bc-nine-slice-scrollbar-thumb:hover {
9620
+ background-color: var(--color-base-500);
9621
+ }
9622
+
9623
+ .bc-nine-slice-scrollbar-thumb:active,
9624
+ .bc-nine-slice-scrollbar-thumb--dragging {
9625
+ background-color: var(--color-base-600);
9626
+ cursor: grabbing;
9627
+ }
9628
+
9629
+ /* Horizontal scrollbar */
9630
+ .bc-nine-slice-scrollbar--horizontal {
9631
+ left: 0;
9632
+ bottom: 0;
9633
+ height: 12px;
9634
+ }
9635
+
9636
+ .bc-nine-slice-scrollbar--horizontal .bc-nine-slice-scrollbar-thumb {
9637
+ top: 0;
9638
+ height: 100%;
9639
+ min-width: 24px;
9640
+ }
9641
+
9642
+ /* Vertical scrollbar */
9643
+ .bc-nine-slice-scrollbar--vertical {
9644
+ top: 0;
9645
+ right: 0;
9646
+ width: 12px;
9647
+ }
9648
+
9649
+ .bc-nine-slice-scrollbar--vertical .bc-nine-slice-scrollbar-thumb {
9650
+ left: 0;
9651
+ width: 100%;
9652
+ min-height: 24px;
9653
+ }
9654
+
9655
+ /* Hidden state */
9656
+ .bc-nine-slice-scrollbar--hidden {
9657
+ display: none;
9658
+ }
9659
+
9660
+ /* Dark mode */
9661
+ .dark .bc-nine-slice-scrollbar-track {
9662
+ background-color: var(--color-base-800);
9663
+ }
9664
+
9665
+ .dark .bc-nine-slice-scrollbar-thumb {
9666
+ background-color: var(--color-base-600);
9667
+ }
9668
+
9669
+ .dark .bc-nine-slice-scrollbar-thumb:hover {
9670
+ background-color: var(--color-base-500);
9671
+ }
9672
+
9673
+ .dark .bc-nine-slice-scrollbar-thumb:active,
9674
+ .dark .bc-nine-slice-scrollbar-thumb--dragging {
9675
+ background-color: var(--color-base-400);
9676
+ }
9677
+
9388
9678
  /* Number Input Component */
9389
9679
  .bc-number-input {
9390
9680
  text-align: end;
@@ -9463,6 +9753,11 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9463
9753
  var(--motion-easing-emphasis, cubic-bezier(0.33, 1, 0.68, 1));
9464
9754
  }
9465
9755
 
9756
+ /* When portaled to body, use fixed positioning to avoid layout interference */
9757
+ .bc-overlay--container-body {
9758
+ position: fixed;
9759
+ }
9760
+
9466
9761
  .bc-overlay[data-status='start-opening'],
9467
9762
  .bc-overlay[data-status='closing'] {
9468
9763
  backdrop-filter: blur(0);
@@ -9570,7 +9865,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9570
9865
  @layer components {
9571
9866
  .bc-announcement-bar {
9572
9867
  --announcement-bar-bg-color: var(--color-primary-600);
9573
- --announcement-bar-text-color: #ffffff;
9868
+ --announcement-bar-text-color: var(--color-white);
9574
9869
 
9575
9870
  position: absolute;
9576
9871
  top: 0;
@@ -9595,6 +9890,11 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9595
9890
  max-width: min(90%, 800px);
9596
9891
  }
9597
9892
 
9893
+ /* When portaled to body, use fixed positioning */
9894
+ body > .bc-announcement-bar {
9895
+ position: fixed;
9896
+ }
9897
+
9598
9898
  .bc-announcement-bar__content {
9599
9899
  display: flex;
9600
9900
  align-items: center;
@@ -9626,7 +9926,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9626
9926
 
9627
9927
  .bc-announcement-bar--dismissible .bc-announcement-bar__close button:hover {
9628
9928
  opacity: 1;
9629
- background-color: rgba(255, 255, 255, 0.1);
9929
+ background-color: color-mix(in srgb, var(--color-white) 10%, transparent);
9630
9930
  }
9631
9931
 
9632
9932
  /* Responsive adjustments */
@@ -9706,6 +10006,15 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9706
10006
 
9707
10007
  /* Pagination Component */
9708
10008
  .bc-pagination {
10009
+ --pagination-active-bg: var(--color-primary-500);
10010
+ --pagination-active-text: var(--color-white);
10011
+ --pagination-active-border: transparent;
10012
+ --pagination-active-bg-dark: var(--color-primary-600);
10013
+ --pagination-active-text-dark: var(--color-white);
10014
+ --pagination-active-border-dark: transparent;
10015
+ --pagination-hover-bg: var(--color-base-100);
10016
+ --pagination-hover-bg-dark: var(--color-base-700);
10017
+
9709
10018
  display: flex;
9710
10019
  align-items: center;
9711
10020
  gap: var(--spacing-xs);
@@ -9741,8 +10050,8 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9741
10050
  user-select: none;
9742
10051
  }
9743
10052
 
9744
- .bc-pagination__item:hover:not(:disabled) {
9745
- background-color: var(--color-base-100);
10053
+ .bc-pagination__item:hover:not(:disabled):not(.bc-pagination__item--active) {
10054
+ background-color: var(--pagination-hover-bg);
9746
10055
  color: var(--color-base-900);
9747
10056
  }
9748
10057
 
@@ -9752,20 +10061,6 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9752
10061
  z-index: 1;
9753
10062
  }
9754
10063
 
9755
- /* Active Page */
9756
- .bc-pagination__item--active {
9757
- background-color: var(--color-primary-500);
9758
- color: var(--color-white);
9759
- border-color: transparent;
9760
- font-weight: var(--font-weight-semibold);
9761
- cursor: default;
9762
- }
9763
-
9764
- .bc-pagination__item--active:hover {
9765
- background-color: var(--color-primary-500);
9766
- color: var(--color-white);
9767
- }
9768
-
9769
10064
  /* Disabled State */
9770
10065
  .bc-pagination__item:disabled {
9771
10066
  opacity: 0.4;
@@ -9789,7 +10084,97 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9789
10084
  user-select: none;
9790
10085
  }
9791
10086
 
9792
- /* Size Variants */
10087
+ /* ------------------------------------------------------------------ */
10088
+ /* Variant: filled (default) */
10089
+ /* ------------------------------------------------------------------ */
10090
+ .bc-pagination--variant-filled .bc-pagination__item--active {
10091
+ background-color: var(--pagination-active-bg);
10092
+ color: var(--pagination-active-text);
10093
+ border-color: transparent;
10094
+ font-weight: var(--font-weight-semibold);
10095
+ cursor: default;
10096
+ }
10097
+
10098
+ /* ------------------------------------------------------------------ */
10099
+ /* Variant: outline */
10100
+ /* ------------------------------------------------------------------ */
10101
+ .bc-pagination--variant-outline .bc-pagination__item {
10102
+ border-color: var(--pagination-item-border, var(--color-base-300));
10103
+ }
10104
+
10105
+ .bc-pagination--variant-outline .bc-pagination__item--active {
10106
+ background-color: var(--pagination-active-bg);
10107
+ color: var(--pagination-active-text);
10108
+ border-color: var(--pagination-active-border);
10109
+ border-width: var(--border-width-default);
10110
+ font-weight: var(--font-weight-semibold);
10111
+ cursor: default;
10112
+ }
10113
+
10114
+ /* ------------------------------------------------------------------ */
10115
+ /* Variant: light */
10116
+ /* ------------------------------------------------------------------ */
10117
+ .bc-pagination--variant-light .bc-pagination__item {
10118
+ background-color: var(--pagination-item-bg, var(--color-base-100));
10119
+ }
10120
+
10121
+ .bc-pagination--variant-light .bc-pagination__item--active {
10122
+ background-color: var(--pagination-active-bg);
10123
+ color: var(--pagination-active-text);
10124
+ border-color: transparent;
10125
+ font-weight: var(--font-weight-semibold);
10126
+ cursor: default;
10127
+ }
10128
+
10129
+ /* ------------------------------------------------------------------ */
10130
+ /* Variant: subtle */
10131
+ /* ------------------------------------------------------------------ */
10132
+ .bc-pagination--variant-subtle .bc-pagination__item {
10133
+ border-radius: 0;
10134
+ border: none;
10135
+ border-bottom: 2px solid transparent;
10136
+ }
10137
+
10138
+ .bc-pagination--variant-subtle .bc-pagination__item--active {
10139
+ background-color: transparent;
10140
+ color: var(--pagination-active-text);
10141
+ border-bottom-color: var(--pagination-active-text);
10142
+ font-weight: var(--font-weight-bold);
10143
+ cursor: default;
10144
+ }
10145
+
10146
+ .bc-pagination--variant-subtle
10147
+ .bc-pagination__item:hover:not(:disabled):not(.bc-pagination__item--active) {
10148
+ background-color: transparent;
10149
+ border-bottom-color: var(--color-base-300);
10150
+ }
10151
+
10152
+ .bc-pagination--variant-subtle .bc-pagination__dots {
10153
+ border-bottom: 2px solid transparent;
10154
+ }
10155
+
10156
+ /* ------------------------------------------------------------------ */
10157
+ /* Variant: pill */
10158
+ /* ------------------------------------------------------------------ */
10159
+ .bc-pagination--variant-pill .bc-pagination__item {
10160
+ border-radius: var(--radius-full);
10161
+ }
10162
+
10163
+ .bc-pagination--variant-pill .bc-pagination__item--active {
10164
+ background-color: var(--pagination-active-bg);
10165
+ color: var(--pagination-active-text);
10166
+ border-color: transparent;
10167
+ font-weight: var(--font-weight-semibold);
10168
+ cursor: default;
10169
+ }
10170
+
10171
+ .bc-pagination--variant-pill .bc-pagination__dots {
10172
+ border-radius: var(--radius-full);
10173
+ }
10174
+
10175
+ /* ------------------------------------------------------------------ */
10176
+ /* Size Variants */
10177
+ /* ------------------------------------------------------------------ */
9793
10178
  .bc-pagination--size-xs .bc-pagination__item,
9794
10179
  .bc-pagination--size-xs .bc-pagination__dots {
9795
10180
  min-width: var(--spacing-xl);
@@ -9825,24 +10210,63 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9825
10210
  font-size: var(--font-size-xl);
9826
10211
  }
9827
10212
 
9828
- /* Dark Mode Support */
10213
+ /* ------------------------------------------------------------------ */
10214
+ /* Dark Mode */
10215
+ /* ------------------------------------------------------------------ */
9829
10216
  .dark .bc-pagination__item {
9830
10217
  color: var(--color-base-300);
9831
10218
  }
9832
10219
 
9833
- .dark .bc-pagination__item:hover:not(:disabled) {
9834
- background-color: var(--color-base-700);
10220
+ .dark
10221
+ .bc-pagination__item:hover:not(:disabled):not(.bc-pagination__item--active) {
10222
+ background-color: var(--pagination-hover-bg-dark);
9835
10223
  color: var(--color-base-100);
9836
10224
  }
9837
10225
 
9838
- .dark .bc-pagination__item--active {
9839
- background-color: var(--color-primary-600);
9840
- color: var(--color-white);
10226
+ /* Dark: filled */
10227
+ .dark .bc-pagination--variant-filled .bc-pagination__item--active {
10228
+ background-color: var(--pagination-active-bg-dark);
10229
+ color: var(--pagination-active-text-dark);
9841
10230
  }
9842
10231
 
9843
- .dark .bc-pagination__item--active:hover {
9844
- background-color: var(--color-primary-600);
9845
- color: var(--color-white);
10232
+ /* Dark: outline */
10233
+ .dark .bc-pagination--variant-outline .bc-pagination__item {
10234
+ border-color: var(--pagination-item-border-dark, var(--color-base-600));
10235
+ }
10236
+
10237
+ .dark .bc-pagination--variant-outline .bc-pagination__item--active {
10238
+ background-color: var(--pagination-active-bg-dark);
10239
+ color: var(--pagination-active-text-dark);
10240
+ border-color: var(--pagination-active-border-dark);
10241
+ }
10242
+
10243
+ /* Dark: light */
10244
+ .dark .bc-pagination--variant-light .bc-pagination__item {
10245
+ background-color: var(--pagination-item-bg-dark, var(--color-base-800));
10246
+ }
10247
+
10248
+ .dark .bc-pagination--variant-light .bc-pagination__item--active {
10249
+ background-color: var(--pagination-active-bg-dark);
10250
+ color: var(--pagination-active-text-dark);
10251
+ }
10252
+
10253
+ /* Dark: subtle */
10254
+ .dark .bc-pagination--variant-subtle .bc-pagination__item--active {
10255
+ color: var(--pagination-active-text-dark);
10256
+ border-bottom-color: var(--pagination-active-text-dark);
10257
+ }
10258
+
10259
+ .dark
10260
+ .bc-pagination--variant-subtle
10261
+ .bc-pagination__item:hover:not(:disabled):not(.bc-pagination__item--active) {
10262
+ background-color: transparent;
10263
+ border-bottom-color: var(--color-base-600);
10264
+ }
10265
+
10266
+ /* Dark: pill */
10267
+ .dark .bc-pagination--variant-pill .bc-pagination__item--active {
10268
+ background-color: var(--pagination-active-bg-dark);
10269
+ color: var(--pagination-active-text-dark);
9846
10270
  }
9847
10271
 
9848
10272
  .dark .bc-pagination__item:disabled:hover {
@@ -9854,21 +10278,22 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9854
10278
  color: var(--color-base-600);
9855
10279
  }
9856
10280
 
9857
- /* Reduced Motion Support */
10281
+ /* ------------------------------------------------------------------ */
10282
+ /* Reduced Motion & High Contrast */
10283
+ /* ------------------------------------------------------------------ */
9858
10284
  @media (prefers-reduced-motion: reduce) {
9859
10285
  .bc-pagination__item {
9860
10286
  transition: none;
9861
10287
  }
9862
10288
  }
9863
10289
 
9864
- /* High Contrast Mode Support */
9865
10290
  @media (prefers-contrast: high) {
9866
10291
  .bc-pagination__item {
9867
10292
  border-width: var(--border-width-medium);
9868
10293
  }
9869
10294
 
9870
10295
  .bc-pagination__item--active {
9871
- border-color: var(--color-primary-700);
10296
+ border-color: var(--pagination-active-border, var(--pagination-active-bg));
9872
10297
  }
9873
10298
 
9874
10299
  .bc-pagination__item:focus-visible {
@@ -10114,7 +10539,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10114
10539
  .bc-presence-highlight {
10115
10540
  background-color: color-mix(
10116
10541
  in srgb,
10117
- var(--presence-color, #2563eb) 12%,
10542
+ var(--presence-color, var(--color-primary-600)) 12%,
10118
10543
  transparent
10119
10544
  );
10120
10545
  border-radius: 1px;
@@ -10135,7 +10560,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10135
10560
  left: 0;
10136
10561
  width: 2px;
10137
10562
  height: calc(1em + 4px);
10138
- background: var(--presence-color, #2563eb);
10563
+ background: var(--presence-color, var(--color-primary-600));
10139
10564
  border-radius: 1px;
10140
10565
  }
10141
10566
 
@@ -10144,8 +10569,8 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10144
10569
  bottom: calc(100% + 2px);
10145
10570
  left: -1px;
10146
10571
  padding: 1px 6px;
10147
- background: var(--presence-color, #2563eb);
10148
- color: #fff;
10572
+ background: var(--presence-color, var(--color-primary-600));
10573
+ color: var(--color-white);
10149
10574
  font-size: 9px;
10150
10575
  font-weight: var(--font-weight-medium, 500);
10151
10576
  white-space: nowrap;
@@ -10197,7 +10622,6 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10197
10622
  position: relative;
10198
10623
  width: 100%;
10199
10624
  overflow: hidden;
10200
- border-radius: var(--radius-control, var(--radius-full));
10201
10625
  }
10202
10626
 
10203
10627
  .bc-progress-bar__track {
@@ -10221,14 +10645,17 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10221
10645
  /* Size variants */
10222
10646
  .bc-progress-bar--size-sm {
10223
10647
  height: var(--spacing-base);
10648
+ min-width: var(--spacing-2xl);
10224
10649
  }
10225
10650
 
10226
10651
  .bc-progress-bar--size-md {
10227
10652
  height: var(--spacing-md);
10653
+ min-width: var(--spacing-3xl);
10228
10654
  }
10229
10655
 
10230
10656
  .bc-progress-bar--size-lg {
10231
10657
  height: var(--spacing-mdh);
10658
+ min-width: var(--spacing-4xl);
10232
10659
  }
10233
10660
 
10234
10661
  /* Indeterminate state - animated sliding bar */
@@ -10337,18 +10764,14 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10337
10764
  isolation: isolate;
10338
10765
  }
10339
10766
 
10340
- /* Smooth scrolling for better UX */
10341
- .bc-scrollable-panel__body {
10342
- scroll-behavior: smooth;
10343
- }
10344
-
10345
- .bc-scrollable-panel--scrolled-down .bc-scrollable-panel--header-shadow,
10346
- .bc-scrollable-panel--scrolled-up .bc-scrollable-panel--footer-shadow {
10767
+ /* Shadow containers always positioned, visibility controlled by opacity */
10768
+ .bc-scrollable-panel--header-shadow,
10769
+ .bc-scrollable-panel--footer-shadow {
10347
10770
  position: relative;
10348
10771
  width: 100%;
10349
10772
  flex-shrink: 0;
10350
- height: 0px;
10351
- z-index: 2;
10773
+ height: 0;
10774
+ z-index: 3;
10352
10775
  pointer-events: none;
10353
10776
  }
10354
10777
 
@@ -10357,26 +10780,30 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10357
10780
  width: 100%;
10358
10781
  height: var(--spacing-lgh);
10359
10782
  position: absolute;
10360
- transition: box-shadow
10361
- var(--motion-transition-slow, var(--motion-duration-slow, 0.5s))
10783
+ opacity: 0;
10784
+ transition: opacity
10785
+ var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
10362
10786
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
10363
- box-shadow: var(--shadow-scrollable-panel-idle, 0 0 0 transparent);
10364
- background-color: transparent;
10365
10787
  }
10366
10788
 
10367
10789
  .bc-scrollable-panel--header-shadow > div {
10368
10790
  bottom: 0;
10369
- }
10370
-
10371
- .bc-scrollable-panel--scrolled-down .bc-scrollable-panel--header-shadow > div {
10372
10791
  box-shadow: var(--shadow-surface-elevated, var(--shadow-md));
10373
10792
  }
10374
10793
 
10375
10794
  .bc-scrollable-panel--footer-shadow > div {
10376
10795
  top: 0;
10796
+ box-shadow: var(--shadow-top-md, 0 -2px 6px rgba(0, 0, 0, 0.08));
10377
10797
  }
10798
+
10799
+ /* Show header shadow when scrolled down */
10800
+ .bc-scrollable-panel--scrolled-down .bc-scrollable-panel--header-shadow > div {
10801
+ opacity: 1;
10802
+ }
10803
+
10804
+ /* Show footer shadow when scrolled up (content below) */
10378
10805
  .bc-scrollable-panel--scrolled-up .bc-scrollable-panel--footer-shadow > div {
10379
- box-shadow: var(--shadow-top-md);
10806
+ opacity: 1;
10380
10807
  }
10381
10808
 
10382
10809
  /* Custom scrollbar styling (webkit browsers) */
@@ -10467,7 +10894,6 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10467
10894
  cursor: pointer;
10468
10895
  white-space: nowrap;
10469
10896
  font-weight: var(--font-weight-semibold);
10470
- text-transform: capitalize;
10471
10897
  color: var(--color-base-700);
10472
10898
  transition: color
10473
10899
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
@@ -10625,10 +11051,35 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10625
11051
  color: var(--text-normal);
10626
11052
  }
10627
11053
 
10628
- /* Dark background mode - inverted colors */
11054
+ /* Dark background mode - override semantic tokens to invert colors */
10629
11055
  .bc-sidebar--dark-bg {
10630
- background-color: var(--bg-background);
10631
- color: var(--text-normal);
11056
+ --bg-background: var(--bg-background-dark);
11057
+ --bg-surface: var(--bg-surface-dark);
11058
+ --text-normal: var(--text-normal-dark);
11059
+ --text-muted: var(--text-muted-dark);
11060
+ --text-inverted: var(--text-inverted-dark);
11061
+ --border-default: var(--border-border-dark);
11062
+ --border-divider: var(--border-divider-dark);
11063
+ --border-input: var(--border-input-dark);
11064
+ --border-strong: var(--border-strong-dark);
11065
+ --interactive-hover: var(--interactive-hover-dark);
11066
+ --interactive-active: var(--interactive-active-dark);
11067
+ --interactive-focus: var(--interactive-focus-dark);
11068
+ }
11069
+
11070
+ .dark .bc-sidebar--dark-bg {
11071
+ --bg-background: var(--bg-background-light);
11072
+ --bg-surface: var(--bg-surface-light);
11073
+ --text-normal: var(--text-normal-light);
11074
+ --text-muted: var(--text-muted-light);
11075
+ --text-inverted: var(--text-inverted-light);
11076
+ --border-default: var(--border-border-light);
11077
+ --border-divider: var(--border-divider-light);
11078
+ --border-input: var(--border-input-light);
11079
+ --border-strong: var(--border-strong-light);
11080
+ --interactive-hover: var(--interactive-hover-light);
11081
+ --interactive-active: var(--interactive-active-light);
11082
+ --interactive-focus: var(--interactive-focus-light);
10632
11083
  }
10633
11084
 
10634
11085
  .bc-sidebar-link {
@@ -10652,6 +11103,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10652
11103
 
10653
11104
  .bc-sidebar-link__content {
10654
11105
  flex: 1;
11106
+ text-align: start;
10655
11107
  }
10656
11108
 
10657
11109
  button.bc-sidebar-link:hover,
@@ -10663,6 +11115,25 @@ a.bc-sidebar-link:hover {
10663
11115
  span.bc-sidebar-link {
10664
11116
  font-weight: var(--font-weight-medium);
10665
11117
  width: 100%;
11118
+ background-color: var(--color-primary-50);
11119
+ color: var(--color-primary-700);
11120
+ border-radius: var(--radius-md);
11121
+ }
11122
+
11123
+ .dark span.bc-sidebar-link {
11124
+ background-color: var(--color-primary-950);
11125
+ color: var(--color-primary-200);
11126
+ }
11127
+
11128
+ /* Dark bg inverts the active link colors */
11129
+ .bc-sidebar--dark-bg span.bc-sidebar-link {
11130
+ background-color: var(--color-primary-950);
11131
+ color: var(--color-primary-200);
11132
+ }
11133
+
11134
+ .dark .bc-sidebar--dark-bg span.bc-sidebar-link {
11135
+ background-color: var(--color-primary-50);
11136
+ color: var(--color-primary-700);
10666
11137
  }
10667
11138
 
10668
11139
  .bc-sidebar-link--icon {
@@ -10727,83 +11198,41 @@ span.bc-sidebar-link {
10727
11198
  transform: rotate(-90deg);
10728
11199
  }
10729
11200
 
10730
- /* Dark mode styles */
10731
- .dark span.bc-sidebar-link {
10732
- color: var(--color-primary-200);
10733
- }
10734
-
10735
- /* Dark background mode styles - inverted colors in light theme */
10736
- .bc-sidebar--dark-bg button.bc-sidebar-link:hover,
10737
- .bc-sidebar--dark-bg a.bc-sidebar-link:hover {
10738
- background-color: var(--interactive-hover);
11201
+ .bc-sidebar-separator {
11202
+ border: none;
11203
+ border-top: var(--border-width-thin) solid var(--border-default);
11204
+ margin: var(--spacing-md) 0;
10739
11205
  }
10740
11206
 
10741
- .bc-sidebar--dark-bg span.bc-sidebar-link {
10742
- color: var(--color-primary-200);
10743
- }
10744
-
10745
- .bc-sidebar--dark-bg .bc-sidebar-link {
10746
- color: var(--text-normal);
10747
- }
10748
-
10749
- .bc-sidebar--dark-bg .bc-sidebar-link--icon {
10750
- color: var(--text-muted);
10751
- }
10752
-
10753
- .bc-sidebar--dark-bg .bc-sidebar-link--action {
10754
- color: var(--text-normal);
10755
- border: var(--border-width-thin) solid var(--border-default);
10756
- }
10757
-
10758
- .bc-sidebar--dark-bg .bc-sidebar-link--action:hover {
10759
- background-color: var(--interactive-hover);
10760
- border-color: var(--border-divider);
10761
- }
10762
-
10763
- .bc-sidebar--dark-bg .bc-sidebar-group--rail {
10764
- border-inline-start: var(--border-width-thin) solid var(--border-default);
10765
- }
10766
-
10767
- /* Dark background mode in dark theme - inverted back to light colors */
10768
- .dark .bc-sidebar--dark-bg span.bc-sidebar-link {
10769
- color: var(--color-primary-700);
10770
- }
10771
-
10772
- .bc-sidebar-separator {
10773
- border: none;
10774
- border-top: var(--border-width-thin) solid var(--border-default);
10775
- margin: var(--spacing-md) 0;
10776
- }
10777
-
10778
- /* Sink Component */
10779
- .bc-sink {
10780
- display: flex;
10781
- flex-direction: column;
10782
- border-radius: var(--radius-surface, var(--radius-lg));
10783
- border: var(--border-width-thin) solid var(--color-base-300);
10784
- padding: var(--spacing-md);
10785
- box-shadow: var(
10786
- --shadow-sink,
10787
- inset 0 0 0.25rem color-mix(in srgb, var(--color-black) 20%, transparent)
10788
- );
10789
- background-color: var(--color-base-50);
10790
- transition: all
10791
- var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
10792
- var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
11207
+ /* Sink Component */
11208
+ .bc-sink {
11209
+ display: flex;
11210
+ flex-direction: column;
11211
+ border-radius: var(--radius-surface, var(--radius-lg));
11212
+ border: var(--border-width-thin) solid var(--color-base-300);
11213
+ padding: var(--spacing-md);
11214
+ box-shadow: var(
11215
+ --shadow-sink,
11216
+ inset 0 1px 3px color-mix(in srgb, var(--color-black) 8%, transparent)
11217
+ );
11218
+ background-color: var(--color-base-50);
11219
+ transition: all
11220
+ var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
11221
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
10793
11222
  }
10794
11223
 
10795
11224
  /* Sink variants */
10796
11225
  .bc-sink--deep {
10797
11226
  box-shadow: var(
10798
11227
  --shadow-sink-deep,
10799
- inset 0 0 0.5rem color-mix(in srgb, var(--color-black) 30%, transparent)
11228
+ inset 0 2px 6px color-mix(in srgb, var(--color-black) 12%, transparent)
10800
11229
  );
10801
11230
  }
10802
11231
 
10803
11232
  .bc-sink--shallow {
10804
11233
  box-shadow: var(
10805
11234
  --shadow-sink-shallow,
10806
- inset 0 0 0.125rem color-mix(in srgb, var(--color-black) 10%, transparent)
11235
+ inset 0 1px 2px color-mix(in srgb, var(--color-black) 5%, transparent)
10807
11236
  );
10808
11237
  }
10809
11238
 
@@ -10894,7 +11323,6 @@ span.bc-sidebar-link {
10894
11323
 
10895
11324
  display: block;
10896
11325
  background-color: var(--skeleton-bg);
10897
- border-radius: var(--radius-control, var(--radius-sm));
10898
11326
  overflow: hidden;
10899
11327
  position: relative;
10900
11328
  }
@@ -10984,15 +11412,15 @@ span.bc-sidebar-link {
10984
11412
  }
10985
11413
 
10986
11414
  .bc-stack--gap-1 {
10987
- gap: var(--spacing-stack-xs, var(--spacing-sm));
11415
+ gap: var(--spacing-xs);
10988
11416
  }
10989
11417
 
10990
11418
  .bc-stack--gap-2 {
10991
- gap: var(--spacing-stack-sm, var(--spacing-md));
11419
+ gap: var(--spacing-sm);
10992
11420
  }
10993
11421
 
10994
11422
  .bc-stack--gap-4 {
10995
- gap: var(--spacing-stack-lg, var(--spacing-lg));
11423
+ gap: var(--spacing-lg);
10996
11424
  }
10997
11425
 
10998
11426
  .bc-stack--align-center {
@@ -11004,144 +11432,6 @@ span.bc-sidebar-link {
11004
11432
  width: 100%;
11005
11433
  }
11006
11434
 
11007
- /* Tag Component */
11008
- .bc-tag {
11009
- --tag-bg: var(--bg-subtle);
11010
- --tag-bg-dark: var(--bg-elevated);
11011
- --tag-text: var(--text-normal);
11012
- --tag-text-dark: var(--text-normal);
11013
- --tag-bg-hover: var(--tag-bg);
11014
- --tag-bg-hover-dark: var(--tag-bg-dark);
11015
- --tag-text-hover: var(--tag-text);
11016
- --tag-text-hover-dark: var(--tag-text-dark);
11017
- --tag-border: transparent;
11018
- --tag-border-dark: transparent;
11019
-
11020
- display: inline-flex;
11021
- flex-direction: row;
11022
- align-items: center;
11023
- border-radius: var(--radius-pill, var(--radius-full));
11024
- line-height: 1.2;
11025
- border: var(--border-width-thin) solid var(--tag-border);
11026
- transition: all
11027
- var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
11028
- var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
11029
- font-size: var(--font-size-md);
11030
- padding: 0 var(--spacing-md);
11031
- gap: var(--spacing-stack-sm, var(--spacing-md));
11032
- background-color: var(--tag-bg);
11033
- color: var(--tag-text);
11034
- font-family: var(
11035
- --font-family-default-ui,
11036
- var(--font-ui, var(--font-body, var(--font-family-sans)))
11037
- );
11038
- }
11039
-
11040
- .bc-tag:hover {
11041
- background-color: var(--tag-bg-hover);
11042
- color: var(--tag-text-hover);
11043
- }
11044
-
11045
- .bc-tag--xs {
11046
- font-size: var(--font-size-xs);
11047
- padding: 0 var(--spacing-sm);
11048
- }
11049
-
11050
- .bc-tag--sm {
11051
- font-size: var(--font-size-sm);
11052
- padding: 0 var(--spacing-smh);
11053
- }
11054
-
11055
- .bc-tag--lg {
11056
- font-size: var(--font-size-lg);
11057
- padding: 0 calc(var(--spacing-base) * 2.5);
11058
- }
11059
-
11060
- .bc-tag--xl {
11061
- font-size: var(--font-size-xl);
11062
- padding: 0 var(--spacing-mdh);
11063
- }
11064
-
11065
- .bc-tag:has(.bc-tag__close) {
11066
- padding-inline-end: calc(var(--spacing-base) * 0.5);
11067
- }
11068
-
11069
- /* Close button */
11070
- .bc-tag__close {
11071
- background: transparent;
11072
- color: var(--tag-text);
11073
- opacity: 0.6;
11074
- cursor: pointer;
11075
- display: flex;
11076
- align-items: center;
11077
- justify-content: center;
11078
- width: var(--spacing-lg);
11079
- height: var(--spacing-lg);
11080
- border-radius: var(--radius-full);
11081
- transition: all
11082
- var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
11083
- var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
11084
- border: var(--border-width-thin) solid transparent;
11085
- }
11086
-
11087
- .bc-tag__close:hover {
11088
- opacity: 1;
11089
- border-color: color-mix(in srgb, var(--tag-text) 30%, transparent);
11090
- }
11091
-
11092
- /* Disabled state via class */
11093
- .bc-tag.bc-tag--disabled {
11094
- opacity: 0.55;
11095
- filter: grayscale(0.4) saturate(0.8);
11096
- cursor: default;
11097
- }
11098
-
11099
- .bc-tag.bc-tag--disabled .bc-tag__close {
11100
- cursor: not-allowed;
11101
- opacity: 0.6;
11102
- pointer-events: none;
11103
- }
11104
-
11105
- /* Neutralize hover on disabled close button */
11106
- .bc-tag.bc-tag--disabled .bc-tag__close:hover {
11107
- color: inherit;
11108
- border-color: transparent;
11109
- }
11110
-
11111
- /* Dark mode styles */
11112
- .dark .bc-tag {
11113
- background-color: var(--tag-bg-dark);
11114
- color: var(--tag-text-dark);
11115
- border-color: var(--tag-border-dark);
11116
- }
11117
-
11118
- .dark .bc-tag:hover {
11119
- background-color: var(--tag-bg-hover-dark);
11120
- color: var(--tag-text-hover-dark);
11121
- }
11122
-
11123
- .dark .bc-tag__close {
11124
- color: var(--tag-text-dark);
11125
- }
11126
-
11127
- .dark .bc-tag__close:hover:not(:disabled) {
11128
- color: var(--tag-text-dark);
11129
- border-color: color-mix(in srgb, var(--tag-text-dark) 30%, transparent);
11130
- }
11131
-
11132
- .bc-input-container__tags-selector {
11133
- flex-grow: 1;
11134
- background-color: transparent;
11135
- min-width: 100px;
11136
- min-height: var(--spacing-lg);
11137
- align-self: stretch;
11138
- justify-self: stretch;
11139
- display: flex;
11140
- align-items: center;
11141
- justify-content: flex-end;
11142
- gap: var(--spacing-stack-sm, var(--spacing-md));
11143
- }
11144
-
11145
11435
  /* Switch Component */
11146
11436
  .bc-switch {
11147
11437
  display: inline-flex;
@@ -11610,6 +11900,7 @@ span.bc-sidebar-link {
11610
11900
  .bc-table--size-lg > tfoot > tr > th,
11611
11901
  .bc-table--size-lg > tfoot > tr > td {
11612
11902
  padding: var(--spacing-lg);
11903
+ font-size: var(--font-size-lg);
11613
11904
  }
11614
11905
 
11615
11906
  .bc-table--size-xl > thead > tr > th,
@@ -11778,13 +12069,14 @@ span.bc-sidebar-link {
11778
12069
  }
11779
12070
 
11780
12071
  .bc-tab:focus-visible {
11781
- outline: var(--outline-width-focus) solid var(--color-primary-500);
12072
+ outline: var(--outline-width-focus) solid
12073
+ var(--tabs-indicator-color, var(--color-primary-500));
11782
12074
  outline-offset: calc(-1 * var(--outline-width-focus));
11783
12075
  z-index: 1;
11784
12076
  }
11785
12077
 
11786
12078
  .bc-tab--active {
11787
- color: var(--color-primary-600);
12079
+ color: var(--tabs-active-color, var(--color-primary-600));
11788
12080
  background-color: var(--color-white);
11789
12081
  font-weight: var(--font-weight-semibold);
11790
12082
  cursor: default;
@@ -11793,7 +12085,7 @@ span.bc-sidebar-link {
11793
12085
  .bc-tab--active::after {
11794
12086
  content: '';
11795
12087
  position: absolute;
11796
- background-color: var(--color-primary-500);
12088
+ background-color: var(--tabs-indicator-color, var(--color-primary-500));
11797
12089
  transition: all var(--motion-transition-fast) var(--motion-easing-standard);
11798
12090
  }
11799
12091
 
@@ -11848,7 +12140,8 @@ span.bc-sidebar-link {
11848
12140
  }
11849
12141
 
11850
12142
  .bc-tabs__panel:focus-visible {
11851
- outline: var(--outline-width-focus) solid var(--color-primary-500);
12143
+ outline: var(--outline-width-focus) solid
12144
+ var(--tabs-indicator-color, var(--color-primary-500));
11852
12145
  outline-offset: calc(-1 * var(--outline-width-focus));
11853
12146
  }
11854
12147
 
@@ -11880,7 +12173,7 @@ span.bc-sidebar-link {
11880
12173
  }
11881
12174
 
11882
12175
  .dark .bc-tab--active {
11883
- color: var(--color-primary-400);
12176
+ color: var(--tabs-active-color-dark, var(--color-primary-400));
11884
12177
  background-color: var(--color-base-900);
11885
12178
  }
11886
12179
 
@@ -11920,28 +12213,6 @@ span.bc-sidebar-link {
11920
12213
  }
11921
12214
 
11922
12215
  /* Variants */
11923
- /* Text variant: minimal, link-like tabs */
11924
- .bc-tabs--variant-text .bc-tabs__list {
11925
- background-color: transparent;
11926
- border-bottom: none;
11927
- }
11928
- .bc-tabs--variant-text .bc-tab {
11929
- background: transparent;
11930
- color: var(--color-primary-600);
11931
- border-radius: 0;
11932
- }
11933
- .bc-tabs--variant-text .bc-tab:hover:not(.bc-tab--disabled) {
11934
- background: transparent;
11935
- text-decoration: underline;
11936
- }
11937
- .bc-tabs--variant-text .bc-tab--active {
11938
- background: transparent;
11939
- color: var(--color-primary-700);
11940
- font-weight: var(--font-weight-semibold);
11941
- }
11942
- .bc-tabs--variant-text .bc-tab--active::after {
11943
- display: none;
11944
- }
11945
12216
 
11946
12217
  /* Filled variant: inverted - inactive tabs filled with color, active is white */
11947
12218
  .bc-tabs--variant-filled .bc-tabs__list {
@@ -11992,31 +12263,36 @@ span.bc-sidebar-link {
11992
12263
  .bc-tabs--variant-outline .bc-tab {
11993
12264
  background-color: var(--color-base-50);
11994
12265
  border: var(--border-width-thin) solid var(--color-base-300);
11995
- border-bottom: var(--border-width-thin) solid var(--color-base-300);
11996
12266
  border-radius: var(--radius-control-sm, var(--radius-sm))
11997
12267
  var(--radius-control-sm, var(--radius-sm)) 0 0;
11998
12268
  }
11999
12269
  .bc-tabs--variant-outline .bc-tab--active {
12000
12270
  background-color: var(--color-white);
12001
- border-color: var(--color-primary-400);
12271
+ border-color: var(--tabs-outline-active-border, var(--color-primary-400));
12002
12272
  border-bottom-color: var(--color-white);
12003
12273
  }
12004
12274
  .bc-tabs--variant-outline .bc-tab--active::after {
12005
12275
  display: none;
12006
12276
  }
12007
-
12008
- /* Dark mode adjustments for variants */
12009
- .dark .bc-tabs--variant-text .bc-tabs__list {
12010
- background-color: transparent;
12011
- border-bottom: none;
12277
+ .bc-tabs--vertical.bc-tabs--variant-outline .bc-tabs__list {
12278
+ border-right: none;
12012
12279
  }
12013
- .dark .bc-tabs--variant-text .bc-tab {
12014
- color: var(--color-primary-300);
12280
+ .bc-tabs--vertical.bc-tabs--variant-outline .bc-tab {
12281
+ border-radius: var(--radius-control-sm, var(--radius-sm)) 0 0
12282
+ var(--radius-control-sm, var(--radius-sm));
12015
12283
  }
12016
- .dark .bc-tabs--variant-text .bc-tab--active {
12017
- color: var(--color-primary-200);
12284
+ .bc-tabs--variant-outline .bc-tab--active {
12285
+ color: var(--tabs-active-color, var(--color-primary-600));
12286
+ }
12287
+ .bc-tabs--vertical.bc-tabs--variant-outline .bc-tab--active {
12288
+ border-bottom-color: var(
12289
+ --tabs-outline-active-border,
12290
+ var(--color-primary-400)
12291
+ );
12292
+ border-right-color: var(--color-white);
12018
12293
  }
12019
12294
 
12295
+ /* Dark mode adjustments for variants */
12020
12296
  .dark .bc-tabs--variant-filled .bc-tab {
12021
12297
  background-color: var(--tabs-filled-inactive-bg-dark);
12022
12298
  color: var(--tabs-filled-inactive-text-dark);
@@ -12043,9 +12319,20 @@ span.bc-sidebar-link {
12043
12319
  }
12044
12320
  .dark .bc-tabs--variant-outline .bc-tab--active {
12045
12321
  background-color: var(--color-base-900);
12046
- border-color: var(--color-primary-600);
12322
+ color: var(--tabs-active-color-dark, var(--color-primary-400));
12323
+ border-color: var(
12324
+ --tabs-outline-active-border-dark,
12325
+ var(--color-primary-600)
12326
+ );
12047
12327
  border-bottom-color: var(--color-base-900);
12048
12328
  }
12329
+ .dark .bc-tabs--vertical.bc-tabs--variant-outline .bc-tab--active {
12330
+ border-bottom-color: var(
12331
+ --tabs-outline-active-border-dark,
12332
+ var(--color-primary-600)
12333
+ );
12334
+ border-right-color: var(--color-base-900);
12335
+ }
12049
12336
 
12050
12337
  /* Underline variant: minimal, clean underline style */
12051
12338
  .bc-tabs--variant-underline .bc-tabs__list {
@@ -12087,16 +12374,29 @@ span.bc-sidebar-link {
12087
12374
  }
12088
12375
 
12089
12376
  .bc-tabs--variant-underline .bc-tab--active {
12090
- color: var(--color-primary-600);
12377
+ color: var(--tabs-active-color, var(--color-primary-600));
12091
12378
  background-color: transparent;
12092
12379
  font-weight: var(--font-weight-medium);
12093
12380
  }
12094
12381
 
12095
12382
  .bc-tabs--variant-underline .bc-tab--active::after {
12096
- background-color: var(--color-primary-500);
12383
+ background-color: var(--tabs-indicator-color, var(--color-primary-500));
12097
12384
  bottom: calc(-1 * var(--spacing-px));
12098
12385
  height: var(--spacing-xs);
12099
12386
  }
12387
+ .bc-tabs--vertical.bc-tabs--variant-underline .bc-tabs__list {
12388
+ border-bottom: none;
12389
+ border-right: var(--border-width-thin) solid var(--color-base-200);
12390
+ }
12391
+ .bc-tabs--vertical.bc-tabs--variant-underline .bc-tab--active::after {
12392
+ bottom: auto;
12393
+ left: auto;
12394
+ height: auto;
12395
+ right: calc(-1 * var(--spacing-px));
12396
+ top: 0;
12397
+ bottom: 0;
12398
+ width: var(--spacing-xs);
12399
+ }
12100
12400
 
12101
12401
  /* Pill variant: segmented button style with contained tabs */
12102
12402
  .bc-tabs--variant-pill .bc-tabs__list {
@@ -12151,6 +12451,10 @@ span.bc-sidebar-link {
12151
12451
  .bc-tabs--variant-pill .bc-tab--active::after {
12152
12452
  display: none;
12153
12453
  }
12454
+ .bc-tabs--vertical.bc-tabs--variant-pill .bc-tabs__list {
12455
+ display: flex;
12456
+ flex-direction: column;
12457
+ }
12154
12458
 
12155
12459
  /* Dark mode adjustments for underline variant */
12156
12460
  .dark .bc-tabs--variant-underline .bc-tabs__list {
@@ -12169,11 +12473,15 @@ span.bc-sidebar-link {
12169
12473
  }
12170
12474
 
12171
12475
  .dark .bc-tabs--variant-underline .bc-tab--active {
12172
- color: var(--color-primary-400);
12476
+ color: var(--tabs-active-color-dark, var(--color-primary-400));
12173
12477
  }
12174
12478
 
12175
12479
  .dark .bc-tabs--variant-underline .bc-tab--active::after {
12176
- background-color: var(--color-primary-400);
12480
+ background-color: var(--tabs-indicator-color-dark, var(--color-primary-400));
12481
+ }
12482
+ .dark .bc-tabs--vertical.bc-tabs--variant-underline .bc-tabs__list {
12483
+ border-bottom: none;
12484
+ border-right-color: var(--color-base-700);
12177
12485
  }
12178
12486
 
12179
12487
  /* Dark mode adjustments for pill variant */
@@ -12217,7 +12525,8 @@ span.bc-sidebar-link {
12217
12525
 
12218
12526
  .bc-tag-input:focus-within {
12219
12527
  border-color: var(--color-primary-500);
12220
- box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.12);
12528
+ box-shadow: 0 0 0 2px
12529
+ color-mix(in srgb, var(--color-primary-600) 12%, transparent);
12221
12530
  }
12222
12531
 
12223
12532
  .bc-tag-input--error {
@@ -12225,7 +12534,8 @@ span.bc-sidebar-link {
12225
12534
  }
12226
12535
 
12227
12536
  .bc-tag-input--error:focus-within {
12228
- box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.12);
12537
+ box-shadow: 0 0 0 2px
12538
+ color-mix(in srgb, var(--color-danger-600) 12%, transparent);
12229
12539
  }
12230
12540
 
12231
12541
  .bc-tag-input--disabled {
@@ -12269,7 +12579,7 @@ span.bc-sidebar-link {
12269
12579
  padding: var(--spacing-xs) var(--spacing-smh);
12270
12580
  background: var(--color-base-100);
12271
12581
  border-radius: var(--radius-sm, 3px);
12272
- font-size: var(--font-size-xs);
12582
+ font-size: inherit;
12273
12583
  color: var(--color-base-700);
12274
12584
  white-space: nowrap;
12275
12585
  line-height: 1.4;
@@ -12651,7 +12961,7 @@ span.bc-sidebar-link {
12651
12961
  padding: calc(var(--spacing-base) * 0.75);
12652
12962
  background: var(--color-white);
12653
12963
  border-radius: var(--radius-lg);
12654
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
12964
+ box-shadow: var(--shadow-lg);
12655
12965
  border: var(--border-width-thin) solid var(--color-base-200);
12656
12966
  width: auto;
12657
12967
  }
@@ -12748,6 +13058,14 @@ span.bc-sidebar-link {
12748
13058
  color: oklch(0.5 0.15 250);
12749
13059
  }
12750
13060
 
13061
+ .bc-tree-item__row--size-xs {
13062
+ padding-top: calc(var(--spacing-xs) / 2);
13063
+ padding-bottom: calc(var(--spacing-xs) / 2);
13064
+ padding-right: var(--spacing-sm);
13065
+ font-size: var(--font-size-xs);
13066
+ min-height: var(--spacing-lg);
13067
+ }
13068
+
12751
13069
  .bc-tree-item__row--size-sm {
12752
13070
  padding-top: var(--spacing-xs);
12753
13071
  padding-bottom: var(--spacing-xs);
@@ -12772,6 +13090,14 @@ span.bc-sidebar-link {
12772
13090
  min-height: var(--spacing-2xlh);
12773
13091
  }
12774
13092
 
13093
+ .bc-tree-item__row--size-xl {
13094
+ padding-top: var(--spacing-md);
13095
+ padding-bottom: var(--spacing-md);
13096
+ padding-right: var(--spacing-lg);
13097
+ font-size: var(--font-size-xl);
13098
+ min-height: var(--spacing-3xl);
13099
+ }
13100
+
12775
13101
  .bc-tree-item__toggle {
12776
13102
  display: inline-flex;
12777
13103
  align-items: center;
@@ -12805,6 +13131,7 @@ span.bc-sidebar-link {
12805
13131
  }
12806
13132
 
12807
13133
  .bc-tree-item__label {
13134
+ text-align: left;
12808
13135
  flex: 1;
12809
13136
  overflow: hidden;
12810
13137
  text-overflow: ellipsis;
@@ -13304,7 +13631,7 @@ span.bc-sidebar-link {
13304
13631
  .bc-notification {
13305
13632
  --notification-accent-color: var(--color-primary-500);
13306
13633
  --notification-radius: var(--radius-lg);
13307
- --notification-bg: #fff;
13634
+ --notification-bg: var(--color-white);
13308
13635
  --notification-border-color: var(--color-base-200);
13309
13636
  --notification-text-color: var(--text-normal);
13310
13637
  --notification-muted-color: var(--text-muted);
@@ -13334,7 +13661,7 @@ span.bc-sidebar-link {
13334
13661
  justify-content: center;
13335
13662
  overflow: hidden;
13336
13663
  background-color: var(--notification-accent-color);
13337
- color: white;
13664
+ color: var(--color-white);
13338
13665
  }
13339
13666
 
13340
13667
  .bc-notification__accent {
@@ -13429,8 +13756,34 @@ span.bc-sidebar-link {
13429
13756
  }
13430
13757
  }
13431
13758
 
13759
+ .bc-notification-item {
13760
+ transition:
13761
+ opacity var(--motion-duration-base, 200ms)
13762
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),
13763
+ transform var(--motion-duration-base, 200ms)
13764
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
13765
+ }
13766
+
13767
+ .bc-notification-item--entering {
13768
+ opacity: 0;
13769
+ transform: translateY(8px) scale(0.96);
13770
+ }
13771
+
13772
+ .bc-notification-item:not(.bc-notification-item--entering):not(
13773
+ .bc-notification-item--exiting
13774
+ ) {
13775
+ opacity: 1;
13776
+ transform: translateY(0) scale(1);
13777
+ }
13778
+
13779
+ .bc-notification-item--exiting {
13780
+ opacity: 0;
13781
+ transform: translateY(-8px) scale(0.96);
13782
+ }
13783
+
13432
13784
  @media (prefers-reduced-motion: reduce) {
13433
- .bc-notification {
13785
+ .bc-notification,
13786
+ .bc-notification-item {
13434
13787
  transition: none;
13435
13788
  }
13436
13789
  }
@@ -14321,6 +14674,7 @@ span.bc-sidebar-link {
14321
14674
  display: flex;
14322
14675
  align-items: center;
14323
14676
  justify-content: space-between;
14677
+ gap: var(--spacing-md);
14324
14678
  width: 100%;
14325
14679
  border: none;
14326
14680
  background: none;
@@ -14465,8 +14819,8 @@ span.bc-sidebar-link {
14465
14819
  }
14466
14820
  }
14467
14821
 
14468
- /* Calendar Component */
14469
- .bc-calendar {
14822
+ /* DatePicker Component */
14823
+ .bc-date-picker {
14470
14824
  display: inline-flex;
14471
14825
  flex-direction: column;
14472
14826
  background-color: var(--bg-background);
@@ -14476,13 +14830,13 @@ span.bc-sidebar-link {
14476
14830
  user-select: none;
14477
14831
  }
14478
14832
 
14479
- .bc-calendar--disabled {
14833
+ .bc-date-picker--disabled {
14480
14834
  opacity: 0.5;
14481
14835
  pointer-events: none;
14482
14836
  }
14483
14837
 
14484
14838
  /* Navigation header */
14485
- .bc-calendar__nav {
14839
+ .bc-date-picker__nav {
14486
14840
  display: flex;
14487
14841
  align-items: center;
14488
14842
  justify-content: space-between;
@@ -14490,7 +14844,7 @@ span.bc-sidebar-link {
14490
14844
  gap: var(--spacing-xs);
14491
14845
  }
14492
14846
 
14493
- .bc-calendar__nav-btn {
14847
+ .bc-date-picker__nav-btn {
14494
14848
  display: inline-flex;
14495
14849
  align-items: center;
14496
14850
  justify-content: center;
@@ -14505,21 +14859,21 @@ span.bc-sidebar-link {
14505
14859
  line-height: var(--line-height-none);
14506
14860
  }
14507
14861
 
14508
- .bc-calendar__nav-btn:hover:not(:disabled) {
14862
+ .bc-date-picker__nav-btn:hover:not(:disabled) {
14509
14863
  background-color: var(--bg-subtle);
14510
14864
  }
14511
14865
 
14512
- .bc-calendar__nav-btn:focus-visible {
14866
+ .bc-date-picker__nav-btn:focus-visible {
14513
14867
  outline: var(--outline-width-focus) solid var(--color-primary-500);
14514
14868
  outline-offset: calc(-1 * var(--outline-width-focus));
14515
14869
  }
14516
14870
 
14517
- .bc-calendar__nav-btn:disabled {
14871
+ .bc-date-picker__nav-btn:disabled {
14518
14872
  cursor: not-allowed;
14519
14873
  opacity: 0.5;
14520
14874
  }
14521
14875
 
14522
- .bc-calendar__title {
14876
+ .bc-date-picker__title {
14523
14877
  flex: 1;
14524
14878
  text-align: center;
14525
14879
  font-weight: var(--font-weight-semibold);
@@ -14531,7 +14885,7 @@ span.bc-sidebar-link {
14531
14885
  gap: var(--spacing-sm);
14532
14886
  }
14533
14887
 
14534
- .bc-calendar__title-btn {
14888
+ .bc-date-picker__title-btn {
14535
14889
  background: none;
14536
14890
  border: none;
14537
14891
  border-radius: var(--radius-sm);
@@ -14545,47 +14899,47 @@ span.bc-sidebar-link {
14545
14899
  var(--motion-easing-standard);
14546
14900
  }
14547
14901
 
14548
- .bc-calendar__title-btn:hover:not(:disabled) {
14902
+ .bc-date-picker__title-btn:hover:not(:disabled) {
14549
14903
  background-color: var(--bg-subtle);
14550
14904
  }
14551
14905
 
14552
- .bc-calendar__title-btn:focus-visible {
14906
+ .bc-date-picker__title-btn:focus-visible {
14553
14907
  outline: var(--outline-width-focus) solid var(--color-primary-500);
14554
14908
  outline-offset: calc(-1 * var(--outline-width-focus));
14555
14909
  }
14556
14910
 
14557
- .bc-calendar__title-btn:disabled {
14911
+ .bc-date-picker__title-btn:disabled {
14558
14912
  cursor: not-allowed;
14559
14913
  opacity: 0.5;
14560
14914
  }
14561
14915
 
14562
14916
  /* Days view container */
14563
- .bc-calendar__days-view {
14917
+ .bc-date-picker__days-view {
14564
14918
  display: flex;
14565
14919
  flex-direction: column;
14566
14920
  min-height: calc(5 * var(--cal-cell-size));
14567
14921
  }
14568
14922
 
14569
14923
  /* Weekday headers */
14570
- .bc-calendar__weekdays {
14924
+ .bc-date-picker__weekdays {
14571
14925
  display: grid;
14572
14926
  grid-template-columns: repeat(7, 1fr);
14573
14927
  }
14574
14928
 
14575
- .bc-calendar__weekday {
14929
+ .bc-date-picker__weekday {
14576
14930
  text-align: center;
14577
14931
  font-weight: var(--font-weight-semibold);
14578
14932
  color: var(--text-muted);
14579
14933
  }
14580
14934
 
14581
14935
  /* Day grid */
14582
- .bc-calendar__grid {
14936
+ .bc-date-picker__grid {
14583
14937
  display: grid;
14584
14938
  grid-template-columns: repeat(7, 1fr);
14585
14939
  }
14586
14940
 
14587
14941
  /* Day cells */
14588
- .bc-calendar__day {
14942
+ .bc-date-picker__day {
14589
14943
  display: inline-flex;
14590
14944
  align-items: center;
14591
14945
  justify-content: center;
@@ -14599,42 +14953,42 @@ span.bc-sidebar-link {
14599
14953
  transition: all var(--motion-transition-fast) var(--motion-easing-standard);
14600
14954
  }
14601
14955
 
14602
- .bc-calendar__day:hover:not(:disabled) {
14956
+ .bc-date-picker__day:hover:not(:disabled) {
14603
14957
  background-color: var(--bg-subtle);
14604
14958
  }
14605
14959
 
14606
- .bc-calendar__day:focus-visible {
14960
+ .bc-date-picker__day:focus-visible {
14607
14961
  outline: var(--outline-width-focus) solid var(--cal-selected-bg);
14608
14962
  outline-offset: calc(-1 * var(--outline-width-focus));
14609
14963
  }
14610
14964
 
14611
- .bc-calendar__day--outside {
14965
+ .bc-date-picker__day--outside {
14612
14966
  color: var(--text-muted);
14613
14967
  opacity: 0.4;
14614
14968
  }
14615
14969
 
14616
- .bc-calendar__day--today {
14970
+ .bc-date-picker__day--today {
14617
14971
  background-color: var(--cal-today-bg);
14618
14972
  color: var(--cal-today-text);
14619
14973
  font-weight: var(--font-weight-semibold);
14620
14974
  }
14621
14975
 
14622
- .bc-calendar__day--selected {
14976
+ .bc-date-picker__day--selected {
14623
14977
  background-color: var(--cal-selected-bg);
14624
14978
  color: var(--cal-selected-text);
14625
14979
  font-weight: var(--font-weight-bold);
14626
14980
  }
14627
14981
 
14628
- .bc-calendar__day--selected.bc-calendar__day--today {
14982
+ .bc-date-picker__day--selected.bc-date-picker__day--today {
14629
14983
  background-color: var(--cal-selected-bg);
14630
14984
  color: var(--cal-selected-text);
14631
14985
  }
14632
14986
 
14633
- .bc-calendar__day--selected:hover:not(:disabled) {
14987
+ .bc-date-picker__day--selected:hover:not(:disabled) {
14634
14988
  filter: brightness(0.9);
14635
14989
  }
14636
14990
 
14637
- .bc-calendar__day--disabled {
14991
+ .bc-date-picker__day--disabled {
14638
14992
  cursor: not-allowed;
14639
14993
  color: var(--text-muted);
14640
14994
  opacity: 0.4;
@@ -14642,23 +14996,23 @@ span.bc-sidebar-link {
14642
14996
  }
14643
14997
 
14644
14998
  /* Month and Year Picker Grid */
14645
- .bc-calendar__picker-grid {
14999
+ .bc-date-picker__picker-grid {
14646
15000
  display: grid;
14647
15001
  grid-template-columns: repeat(4, 1fr);
14648
15002
  gap: var(--spacing-xs);
14649
15003
  min-height: calc(5 * var(--cal-cell-size));
14650
15004
  }
14651
15005
 
14652
- .bc-calendar__picker-grid--months {
15006
+ .bc-date-picker__picker-grid--months {
14653
15007
  grid-template-rows: repeat(3, 1fr);
14654
15008
  }
14655
15009
 
14656
- .bc-calendar__picker-grid--years {
15010
+ .bc-date-picker__picker-grid--years {
14657
15011
  grid-template-rows: repeat(5, 1fr);
14658
15012
  }
14659
15013
 
14660
15014
  /* Month cells */
14661
- .bc-calendar__month-cell {
15015
+ .bc-date-picker__month-cell {
14662
15016
  display: inline-flex;
14663
15017
  align-items: center;
14664
15018
  justify-content: center;
@@ -14673,38 +15027,38 @@ span.bc-sidebar-link {
14673
15027
  padding: var(--spacing-xs);
14674
15028
  }
14675
15029
 
14676
- .bc-calendar__month-cell:hover:not(:disabled) {
15030
+ .bc-date-picker__month-cell:hover:not(:disabled) {
14677
15031
  background-color: var(--bg-subtle);
14678
15032
  }
14679
15033
 
14680
- .bc-calendar__month-cell:focus-visible {
15034
+ .bc-date-picker__month-cell:focus-visible {
14681
15035
  outline: var(--outline-width-focus) solid var(--cal-selected-bg);
14682
15036
  outline-offset: calc(-1 * var(--outline-width-focus));
14683
15037
  }
14684
15038
 
14685
- .bc-calendar__month-cell--current {
15039
+ .bc-date-picker__month-cell--current {
14686
15040
  background-color: var(--cal-selected-bg);
14687
15041
  color: var(--cal-selected-text);
14688
15042
  font-weight: var(--font-weight-bold);
14689
15043
  }
14690
15044
 
14691
- .bc-calendar__month-cell--current:hover:not(:disabled) {
15045
+ .bc-date-picker__month-cell--current:hover:not(:disabled) {
14692
15046
  filter: brightness(0.9);
14693
15047
  }
14694
15048
 
14695
- .bc-calendar__month-cell--active {
15049
+ .bc-date-picker__month-cell--active {
14696
15050
  background-color: var(--cal-today-bg);
14697
15051
  color: var(--cal-today-text);
14698
15052
  font-weight: var(--font-weight-semibold);
14699
15053
  }
14700
15054
 
14701
- .bc-calendar__month-cell--current.bc-calendar__month-cell--active {
15055
+ .bc-date-picker__month-cell--current.bc-date-picker__month-cell--active {
14702
15056
  background-color: var(--cal-selected-bg);
14703
15057
  color: var(--cal-selected-text);
14704
15058
  }
14705
15059
 
14706
15060
  /* Year cells */
14707
- .bc-calendar__year-cell {
15061
+ .bc-date-picker__year-cell {
14708
15062
  display: inline-flex;
14709
15063
  align-items: center;
14710
15064
  justify-content: center;
@@ -14719,113 +15073,113 @@ span.bc-sidebar-link {
14719
15073
  padding: var(--spacing-xs);
14720
15074
  }
14721
15075
 
14722
- .bc-calendar__year-cell:hover:not(:disabled) {
15076
+ .bc-date-picker__year-cell:hover:not(:disabled) {
14723
15077
  background-color: var(--bg-subtle);
14724
15078
  }
14725
15079
 
14726
- .bc-calendar__year-cell:focus-visible {
15080
+ .bc-date-picker__year-cell:focus-visible {
14727
15081
  outline: var(--outline-width-focus) solid var(--cal-selected-bg);
14728
15082
  outline-offset: calc(-1 * var(--outline-width-focus));
14729
15083
  }
14730
15084
 
14731
- .bc-calendar__year-cell--current {
15085
+ .bc-date-picker__year-cell--current {
14732
15086
  background-color: var(--cal-selected-bg);
14733
15087
  color: var(--cal-selected-text);
14734
15088
  font-weight: var(--font-weight-bold);
14735
15089
  }
14736
15090
 
14737
- .bc-calendar__year-cell--current:hover:not(:disabled) {
15091
+ .bc-date-picker__year-cell--current:hover:not(:disabled) {
14738
15092
  filter: brightness(0.9);
14739
15093
  }
14740
15094
 
14741
- .bc-calendar__year-cell--active {
15095
+ .bc-date-picker__year-cell--active {
14742
15096
  background-color: var(--cal-today-bg);
14743
15097
  color: var(--cal-today-text);
14744
15098
  font-weight: var(--font-weight-semibold);
14745
15099
  }
14746
15100
 
14747
- .bc-calendar__year-cell--current.bc-calendar__year-cell--active {
15101
+ .bc-date-picker__year-cell--current.bc-date-picker__year-cell--active {
14748
15102
  background-color: var(--cal-selected-bg);
14749
15103
  color: var(--cal-selected-text);
14750
15104
  }
14751
15105
 
14752
15106
  /* Size variants */
14753
- .bc-calendar--size-xs {
15107
+ .bc-date-picker--size-xs {
14754
15108
  --cal-cell-size: var(--spacing-xl);
14755
15109
  padding: var(--spacing-xs);
14756
15110
  font-size: var(--font-size-xs);
14757
15111
  width: calc(7 * var(--spacing-xl) + 2 * var(--spacing-xs) + 2px);
14758
15112
  }
14759
- .bc-calendar--size-xs .bc-calendar__nav-btn {
15113
+ .bc-date-picker--size-xs .bc-date-picker__nav-btn {
14760
15114
  width: var(--spacing-lgh);
14761
15115
  height: var(--spacing-lgh);
14762
15116
  font-size: var(--font-size-xs);
14763
15117
  }
14764
- .bc-calendar--size-xs .bc-calendar__day {
15118
+ .bc-date-picker--size-xs .bc-date-picker__day {
14765
15119
  width: var(--spacing-xl);
14766
15120
  height: var(--spacing-xl);
14767
15121
  font-size: var(--font-size-2xs);
14768
15122
  }
14769
- .bc-calendar--size-xs .bc-calendar__weekday {
15123
+ .bc-date-picker--size-xs .bc-date-picker__weekday {
14770
15124
  font-size: var(--font-size-2xs);
14771
15125
  padding: var(--spacing-2xs);
14772
15126
  }
14773
- .bc-calendar--size-xs .bc-calendar__month-cell,
14774
- .bc-calendar--size-xs .bc-calendar__year-cell {
15127
+ .bc-date-picker--size-xs .bc-date-picker__month-cell,
15128
+ .bc-date-picker--size-xs .bc-date-picker__year-cell {
14775
15129
  font-size: var(--font-size-2xs);
14776
15130
  }
14777
15131
 
14778
- .bc-calendar--size-sm {
15132
+ .bc-date-picker--size-sm {
14779
15133
  --cal-cell-size: calc(var(--spacing-base) * 7);
14780
15134
  padding: var(--spacing-sm);
14781
15135
  font-size: var(--font-size-sm);
14782
15136
  width: calc(7 * calc(var(--spacing-base) * 7) + 2 * var(--spacing-sm) + 2px);
14783
15137
  }
14784
- .bc-calendar--size-sm .bc-calendar__nav-btn {
15138
+ .bc-date-picker--size-sm .bc-date-picker__nav-btn {
14785
15139
  width: var(--spacing-xl);
14786
15140
  height: var(--spacing-xl);
14787
15141
  font-size: var(--font-size-sm);
14788
15142
  }
14789
- .bc-calendar--size-sm .bc-calendar__day {
15143
+ .bc-date-picker--size-sm .bc-date-picker__day {
14790
15144
  width: calc(var(--spacing-base) * 7);
14791
15145
  height: calc(var(--spacing-base) * 7);
14792
15146
  font-size: var(--font-size-xs);
14793
15147
  }
14794
- .bc-calendar--size-sm .bc-calendar__weekday {
15148
+ .bc-date-picker--size-sm .bc-date-picker__weekday {
14795
15149
  font-size: var(--font-size-xs);
14796
15150
  padding: var(--spacing-xs);
14797
15151
  }
14798
- .bc-calendar--size-sm .bc-calendar__month-cell,
14799
- .bc-calendar--size-sm .bc-calendar__year-cell {
15152
+ .bc-date-picker--size-sm .bc-date-picker__month-cell,
15153
+ .bc-date-picker--size-sm .bc-date-picker__year-cell {
14800
15154
  font-size: var(--font-size-xs);
14801
15155
  }
14802
15156
 
14803
- .bc-calendar--size-md {
15157
+ .bc-date-picker--size-md {
14804
15158
  --cal-cell-size: calc(var(--spacing-base) * 9);
14805
15159
  padding: var(--spacing-md);
14806
15160
  font-size: var(--font-size-md);
14807
15161
  width: calc(7 * calc(var(--spacing-base) * 9) + 2 * var(--spacing-md) + 2px);
14808
15162
  }
14809
- .bc-calendar--size-md .bc-calendar__nav-btn {
15163
+ .bc-date-picker--size-md .bc-date-picker__nav-btn {
14810
15164
  width: calc(var(--spacing-base) * 7);
14811
15165
  height: calc(var(--spacing-base) * 7);
14812
15166
  font-size: var(--font-size-md);
14813
15167
  }
14814
- .bc-calendar--size-md .bc-calendar__day {
15168
+ .bc-date-picker--size-md .bc-date-picker__day {
14815
15169
  width: calc(var(--spacing-base) * 9);
14816
15170
  height: calc(var(--spacing-base) * 9);
14817
15171
  font-size: var(--font-size-sm);
14818
15172
  }
14819
- .bc-calendar--size-md .bc-calendar__weekday {
15173
+ .bc-date-picker--size-md .bc-date-picker__weekday {
14820
15174
  font-size: var(--font-size-xs);
14821
15175
  padding: var(--spacing-xs);
14822
15176
  }
14823
- .bc-calendar--size-md .bc-calendar__month-cell,
14824
- .bc-calendar--size-md .bc-calendar__year-cell {
15177
+ .bc-date-picker--size-md .bc-date-picker__month-cell,
15178
+ .bc-date-picker--size-md .bc-date-picker__year-cell {
14825
15179
  font-size: var(--font-size-sm);
14826
15180
  }
14827
15181
 
14828
- .bc-calendar--size-lg {
15182
+ .bc-date-picker--size-lg {
14829
15183
  --cal-cell-size: calc(var(--spacing-base) * 10.5);
14830
15184
  padding: var(--spacing-lg);
14831
15185
  font-size: var(--font-size-lg);
@@ -14833,198 +15187,198 @@ span.bc-sidebar-link {
14833
15187
  7 * calc(var(--spacing-base) * 10.5) + 2 * var(--spacing-lg) + 2px
14834
15188
  );
14835
15189
  }
14836
- .bc-calendar--size-lg .bc-calendar__nav-btn {
15190
+ .bc-date-picker--size-lg .bc-date-picker__nav-btn {
14837
15191
  width: var(--spacing-2xl);
14838
15192
  height: var(--spacing-2xl);
14839
15193
  font-size: var(--font-size-lg);
14840
15194
  }
14841
- .bc-calendar--size-lg .bc-calendar__day {
15195
+ .bc-date-picker--size-lg .bc-date-picker__day {
14842
15196
  width: calc(var(--spacing-base) * 10.5);
14843
15197
  height: calc(var(--spacing-base) * 10.5);
14844
15198
  font-size: var(--font-size-md);
14845
15199
  }
14846
- .bc-calendar--size-lg .bc-calendar__weekday {
15200
+ .bc-date-picker--size-lg .bc-date-picker__weekday {
14847
15201
  font-size: var(--font-size-sm);
14848
15202
  padding: var(--spacing-sm);
14849
15203
  }
14850
- .bc-calendar--size-lg .bc-calendar__month-cell,
14851
- .bc-calendar--size-lg .bc-calendar__year-cell {
15204
+ .bc-date-picker--size-lg .bc-date-picker__month-cell,
15205
+ .bc-date-picker--size-lg .bc-date-picker__year-cell {
14852
15206
  font-size: var(--font-size-md);
14853
15207
  }
14854
15208
 
14855
- .bc-calendar--size-xl {
15209
+ .bc-date-picker--size-xl {
14856
15210
  --cal-cell-size: var(--spacing-3xl);
14857
15211
  padding: var(--spacing-xl);
14858
15212
  font-size: var(--font-size-xl);
14859
15213
  width: calc(7 * var(--spacing-3xl) + 2 * var(--spacing-xl) + 2px);
14860
15214
  }
14861
- .bc-calendar--size-xl .bc-calendar__nav-btn {
15215
+ .bc-date-picker--size-xl .bc-date-picker__nav-btn {
14862
15216
  width: calc(var(--spacing-base) * 9);
14863
15217
  height: calc(var(--spacing-base) * 9);
14864
15218
  font-size: var(--font-size-xl);
14865
15219
  }
14866
- .bc-calendar--size-xl .bc-calendar__day {
15220
+ .bc-date-picker--size-xl .bc-date-picker__day {
14867
15221
  width: var(--spacing-3xl);
14868
15222
  height: var(--spacing-3xl);
14869
15223
  font-size: var(--font-size-lg);
14870
15224
  }
14871
- .bc-calendar--size-xl .bc-calendar__weekday {
15225
+ .bc-date-picker--size-xl .bc-date-picker__weekday {
14872
15226
  font-size: var(--font-size-md);
14873
15227
  padding: var(--spacing-sm);
14874
15228
  }
14875
- .bc-calendar--size-xl .bc-calendar__month-cell,
14876
- .bc-calendar--size-xl .bc-calendar__year-cell {
15229
+ .bc-date-picker--size-xl .bc-date-picker__month-cell,
15230
+ .bc-date-picker--size-xl .bc-date-picker__year-cell {
14877
15231
  font-size: var(--font-size-lg);
14878
15232
  }
14879
15233
 
14880
15234
  /* Dark mode */
14881
- .dark .bc-calendar {
15235
+ .dark .bc-date-picker {
14882
15236
  background-color: var(--bg-background);
14883
15237
  border-color: var(--border-default);
14884
15238
  }
14885
15239
 
14886
- .dark .bc-calendar__nav-btn {
15240
+ .dark .bc-date-picker__nav-btn {
14887
15241
  color: var(--text-normal);
14888
15242
  }
14889
15243
 
14890
- .dark .bc-calendar__nav-btn:hover:not(:disabled) {
15244
+ .dark .bc-date-picker__nav-btn:hover:not(:disabled) {
14891
15245
  background-color: var(--bg-subtle);
14892
15246
  }
14893
15247
 
14894
- .dark .bc-calendar__title {
15248
+ .dark .bc-date-picker__title {
14895
15249
  color: var(--text-normal);
14896
15250
  }
14897
15251
 
14898
- .dark .bc-calendar__weekday {
15252
+ .dark .bc-date-picker__weekday {
14899
15253
  color: var(--text-muted);
14900
15254
  }
14901
15255
 
14902
- .dark .bc-calendar__day {
15256
+ .dark .bc-date-picker__day {
14903
15257
  color: var(--text-normal);
14904
15258
  }
14905
15259
 
14906
- .dark .bc-calendar__day:hover:not(:disabled) {
15260
+ .dark .bc-date-picker__day:hover:not(:disabled) {
14907
15261
  background-color: var(--bg-subtle);
14908
15262
  }
14909
15263
 
14910
- .dark .bc-calendar__day--selected {
15264
+ .dark .bc-date-picker__day--selected {
14911
15265
  background-color: var(--cal-selected-bg-dark);
14912
15266
  color: var(--cal-selected-text-dark);
14913
15267
  }
14914
15268
 
14915
- .dark .bc-calendar__day--today {
15269
+ .dark .bc-date-picker__day--today {
14916
15270
  background-color: var(--cal-today-bg-dark);
14917
15271
  color: var(--cal-today-text-dark);
14918
15272
  }
14919
15273
 
14920
- .dark .bc-calendar__day--selected.bc-calendar__day--today {
15274
+ .dark .bc-date-picker__day--selected.bc-date-picker__day--today {
14921
15275
  background-color: var(--cal-selected-bg-dark);
14922
15276
  color: var(--cal-selected-text-dark);
14923
15277
  }
14924
15278
 
14925
- .dark .bc-calendar__title-btn {
15279
+ .dark .bc-date-picker__title-btn {
14926
15280
  color: var(--text-normal);
14927
15281
  }
14928
15282
 
14929
- .dark .bc-calendar__title-btn:hover:not(:disabled) {
15283
+ .dark .bc-date-picker__title-btn:hover:not(:disabled) {
14930
15284
  background-color: var(--bg-subtle);
14931
15285
  }
14932
15286
 
14933
- .dark .bc-calendar__month-cell,
14934
- .dark .bc-calendar__year-cell {
15287
+ .dark .bc-date-picker__month-cell,
15288
+ .dark .bc-date-picker__year-cell {
14935
15289
  color: var(--text-normal);
14936
15290
  }
14937
15291
 
14938
- .dark .bc-calendar__month-cell:hover:not(:disabled),
14939
- .dark .bc-calendar__year-cell:hover:not(:disabled) {
15292
+ .dark .bc-date-picker__month-cell:hover:not(:disabled),
15293
+ .dark .bc-date-picker__year-cell:hover:not(:disabled) {
14940
15294
  background-color: var(--bg-subtle);
14941
15295
  }
14942
15296
 
14943
- .dark .bc-calendar__month-cell--current,
14944
- .dark .bc-calendar__year-cell--current {
15297
+ .dark .bc-date-picker__month-cell--current,
15298
+ .dark .bc-date-picker__year-cell--current {
14945
15299
  background-color: var(--cal-selected-bg-dark);
14946
15300
  color: var(--cal-selected-text-dark);
14947
15301
  }
14948
15302
 
14949
- .dark .bc-calendar__month-cell--active,
14950
- .dark .bc-calendar__year-cell--active {
15303
+ .dark .bc-date-picker__month-cell--active,
15304
+ .dark .bc-date-picker__year-cell--active {
14951
15305
  background-color: var(--cal-today-bg-dark);
14952
15306
  color: var(--cal-today-text-dark);
14953
15307
  }
14954
15308
 
14955
- .dark .bc-calendar__month-cell--current.bc-calendar__month-cell--active,
14956
- .dark .bc-calendar__year-cell--current.bc-calendar__year-cell--active {
15309
+ .dark .bc-date-picker__month-cell--current.bc-date-picker__month-cell--active,
15310
+ .dark .bc-date-picker__year-cell--current.bc-date-picker__year-cell--active {
14957
15311
  background-color: var(--cal-selected-bg-dark);
14958
15312
  color: var(--cal-selected-text-dark);
14959
15313
  }
14960
15314
 
14961
15315
  /* Range selection */
14962
- .bc-calendar__day--range-start,
14963
- .bc-calendar__day--range-end {
15316
+ .bc-date-picker__day--range-start,
15317
+ .bc-date-picker__day--range-end {
14964
15318
  background-color: var(--cal-selected-bg);
14965
15319
  color: var(--cal-selected-text);
14966
15320
  font-weight: var(--font-weight-bold);
14967
15321
  }
14968
15322
 
14969
- .bc-calendar__day--range-start {
15323
+ .bc-date-picker__day--range-start {
14970
15324
  border-radius: var(--radius-full) 0 0 var(--radius-full);
14971
15325
  }
14972
15326
 
14973
- .bc-calendar__day--range-end {
15327
+ .bc-date-picker__day--range-end {
14974
15328
  border-radius: 0 var(--radius-full) var(--radius-full) 0;
14975
15329
  }
14976
15330
 
14977
- .bc-calendar__day--range-start.bc-calendar__day--range-end {
15331
+ .bc-date-picker__day--range-start.bc-date-picker__day--range-end {
14978
15332
  border-radius: var(--radius-full);
14979
15333
  }
14980
15334
 
14981
- .bc-calendar__day--in-range {
15335
+ .bc-date-picker__day--in-range {
14982
15336
  background-color: var(--cal-today-bg);
14983
15337
  color: var(--cal-today-text);
14984
15338
  border-radius: 0;
14985
15339
  }
14986
15340
 
14987
- .bc-calendar__day--preview.bc-calendar__day--in-range {
15341
+ .bc-date-picker__day--preview.bc-date-picker__day--in-range {
14988
15342
  opacity: 0.7;
14989
15343
  }
14990
15344
 
14991
- .bc-calendar__day--preview.bc-calendar__day--range-start,
14992
- .bc-calendar__day--preview.bc-calendar__day--range-end {
15345
+ .bc-date-picker__day--preview.bc-date-picker__day--range-start,
15346
+ .bc-date-picker__day--preview.bc-date-picker__day--range-end {
14993
15347
  opacity: 0.8;
14994
15348
  }
14995
15349
 
14996
- .bc-calendar__day--range-start:hover:not(:disabled),
14997
- .bc-calendar__day--range-end:hover:not(:disabled) {
15350
+ .bc-date-picker__day--range-start:hover:not(:disabled),
15351
+ .bc-date-picker__day--range-end:hover:not(:disabled) {
14998
15352
  filter: brightness(0.9);
14999
15353
  }
15000
15354
 
15001
15355
  /* Range selection - dark mode */
15002
- .dark .bc-calendar__day--range-start,
15003
- .dark .bc-calendar__day--range-end {
15356
+ .dark .bc-date-picker__day--range-start,
15357
+ .dark .bc-date-picker__day--range-end {
15004
15358
  background-color: var(--cal-selected-bg-dark);
15005
15359
  color: var(--cal-selected-text-dark);
15006
15360
  }
15007
15361
 
15008
- .dark .bc-calendar__day--in-range {
15362
+ .dark .bc-date-picker__day--in-range {
15009
15363
  background-color: var(--cal-today-bg-dark);
15010
15364
  color: var(--cal-today-text-dark);
15011
15365
  }
15012
15366
 
15013
15367
  /* Reduced motion */
15014
15368
  @media (prefers-reduced-motion: reduce) {
15015
- .bc-calendar__day {
15369
+ .bc-date-picker__day {
15016
15370
  transition: none;
15017
15371
  }
15018
- .bc-calendar__nav-btn {
15372
+ .bc-date-picker__nav-btn {
15019
15373
  transition: none;
15020
15374
  }
15021
- .bc-calendar__title-btn {
15375
+ .bc-date-picker__title-btn {
15022
15376
  transition: none;
15023
15377
  }
15024
- .bc-calendar__month-cell {
15378
+ .bc-date-picker__month-cell {
15025
15379
  transition: none;
15026
15380
  }
15027
- .bc-calendar__year-cell {
15381
+ .bc-date-picker__year-cell {
15028
15382
  transition: none;
15029
15383
  }
15030
15384
  }
@@ -15665,5 +16019,734 @@ span.bc-sidebar-link {
15665
16019
  --toggle-group-radius: var(--radius-full);
15666
16020
  }
15667
16021
 
16022
+ .bc-loading-overlay {
16023
+ position: absolute;
16024
+ inset: 0;
16025
+ display: flex;
16026
+ align-items: center;
16027
+ justify-content: center;
16028
+ background-color: color-mix(in srgb, var(--bg-surface) 75%, transparent);
16029
+ z-index: var(--z-index-raised);
16030
+ pointer-events: all;
16031
+ border-radius: inherit;
16032
+ }
16033
+
16034
+ .bc-loading-overlay__content {
16035
+ display: flex;
16036
+ flex-direction: column;
16037
+ align-items: center;
16038
+ gap: var(--spacing-sm);
16039
+ }
16040
+
16041
+ .bc-loading-overlay__message {
16042
+ font-size: var(--font-size-sm);
16043
+ color: var(--text-muted);
16044
+ }
16045
+
16046
+ /* Sortable Header */
16047
+ .bc-sortable-header {
16048
+ cursor: pointer;
16049
+ user-select: none;
16050
+ transition: background-color var(--motion-transition-fast)
16051
+ var(--motion-easing-standard);
16052
+ }
16053
+
16054
+ .bc-sortable-header:hover {
16055
+ background-color: var(--interactive-hover);
16056
+ }
16057
+
16058
+ .bc-sortable-header__content {
16059
+ display: flex;
16060
+ flex-direction: row;
16061
+ align-items: center;
16062
+ gap: var(--spacing-xs);
16063
+ }
16064
+
16065
+ .bc-sortable-header__label {
16066
+ flex: 1;
16067
+ }
16068
+
16069
+ .bc-sortable-header__icons {
16070
+ display: flex;
16071
+ flex-direction: row;
16072
+ align-items: center;
16073
+ gap: var(--spacing-2xs);
16074
+ flex-shrink: 0;
16075
+ }
16076
+
16077
+ .bc-sortable-header__icon {
16078
+ opacity: 0.45;
16079
+ transition: opacity var(--motion-transition-fast)
16080
+ var(--motion-easing-standard);
16081
+ }
16082
+
16083
+ .bc-sortable-header__icon--active {
16084
+ opacity: 1;
16085
+ }
16086
+
16087
+ .bc-sortable-header:hover .bc-sortable-header__icon {
16088
+ opacity: 0.8;
16089
+ }
16090
+
16091
+ .bc-sortable-header:hover .bc-sortable-header__icon--active {
16092
+ opacity: 1;
16093
+ }
16094
+
16095
+ /* Column Filter */
16096
+ .bc-column-filter {
16097
+ width: 100%;
16098
+ padding: var(--spacing-xs) var(--spacing-sm);
16099
+ border: var(--border-width-thin) solid var(--border-input);
16100
+ border-radius: var(--radius-control-sm);
16101
+ background-color: var(--bg-background);
16102
+ color: var(--text-normal);
16103
+ font-size: var(--font-size-sm);
16104
+ font-family: inherit;
16105
+ outline: none;
16106
+ transition: border-color var(--motion-transition-fast)
16107
+ var(--motion-easing-standard);
16108
+ }
16109
+
16110
+ .bc-column-filter:focus {
16111
+ border-color: var(--interactive-focus);
16112
+ box-shadow: 0 0 0 1px var(--interactive-focus);
16113
+ }
16114
+
16115
+ .bc-column-filter--size-xs {
16116
+ padding: var(--spacing-2xs) var(--spacing-xs);
16117
+ font-size: var(--font-size-xs);
16118
+ }
16119
+
16120
+ .bc-column-filter--size-sm {
16121
+ padding: var(--spacing-xs) var(--spacing-sm);
16122
+ font-size: var(--font-size-sm);
16123
+ }
16124
+
16125
+ .bc-column-filter--size-lg {
16126
+ padding: var(--spacing-sm) var(--spacing-md);
16127
+ font-size: var(--font-size-md);
16128
+ }
16129
+
16130
+ /* Selection Checkbox */
16131
+ .bc-selection-checkbox {
16132
+ cursor: pointer;
16133
+ accent-color: var(--color-primary-500);
16134
+ }
16135
+
16136
+ .bc-selection-checkbox--size-xs {
16137
+ width: 14px;
16138
+ height: 14px;
16139
+ }
16140
+
16141
+ .bc-selection-checkbox--size-sm {
16142
+ width: 16px;
16143
+ height: 16px;
16144
+ }
16145
+
16146
+ .bc-selection-checkbox--size-md {
16147
+ width: 18px;
16148
+ height: 18px;
16149
+ }
16150
+
16151
+ .bc-selection-checkbox--size-lg {
16152
+ width: 20px;
16153
+ height: 20px;
16154
+ }
16155
+
16156
+ .bc-selection-checkbox--size-xl {
16157
+ width: 24px;
16158
+ height: 24px;
16159
+ }
16160
+
16161
+ /* Data Toolbar */
16162
+ .bc-data-toolbar {
16163
+ display: flex;
16164
+ align-items: center;
16165
+ flex-wrap: wrap;
16166
+ gap: var(--spacing-sm);
16167
+ padding: var(--spacing-sm) var(--spacing-md);
16168
+ background-color: var(--bg-surface);
16169
+ border: var(--border-width-thin) solid var(--border-default);
16170
+ border-radius: var(--radius-control);
16171
+ margin-bottom: var(--spacing-sm);
16172
+ }
16173
+
16174
+ .bc-data-toolbar__selection {
16175
+ display: flex;
16176
+ align-items: center;
16177
+ gap: var(--spacing-sm);
16178
+ }
16179
+
16180
+ .bc-data-toolbar__selection-count {
16181
+ font-size: var(--font-size-sm);
16182
+ font-weight: var(--font-weight-medium);
16183
+ color: var(--text-muted);
16184
+ }
16185
+
16186
+ .bc-data-toolbar__action {
16187
+ display: inline-flex;
16188
+ align-items: center;
16189
+ gap: var(--spacing-xs);
16190
+ padding: var(--spacing-xs) var(--spacing-sm);
16191
+ border: var(--border-width-thin) solid var(--border-default);
16192
+ border-radius: var(--radius-control-sm);
16193
+ background-color: var(--bg-background);
16194
+ color: var(--text-normal);
16195
+ font-size: var(--font-size-sm);
16196
+ cursor: pointer;
16197
+ transition: background-color var(--motion-transition-fast);
16198
+ }
16199
+
16200
+ .bc-data-toolbar__action:hover {
16201
+ background-color: var(--interactive-hover);
16202
+ }
16203
+
16204
+ .bc-data-toolbar__action--secondary {
16205
+ border: none;
16206
+ background: none;
16207
+ color: var(--text-muted);
16208
+ }
16209
+
16210
+ .bc-data-toolbar__action--secondary:hover {
16211
+ color: var(--text-normal);
16212
+ background: none;
16213
+ }
16214
+
16215
+ .bc-data-toolbar__reset {
16216
+ display: inline-flex;
16217
+ align-items: center;
16218
+ gap: var(--spacing-xs);
16219
+ margin-left: auto;
16220
+ padding: var(--spacing-xs) var(--spacing-sm);
16221
+ border: none;
16222
+ background: none;
16223
+ color: var(--text-muted);
16224
+ font-size: var(--font-size-sm);
16225
+ cursor: pointer;
16226
+ transition: color var(--motion-transition-fast);
16227
+ }
16228
+
16229
+ .bc-data-toolbar__reset:hover {
16230
+ color: var(--color-danger-600);
16231
+ }
16232
+
16233
+ /* Data Table */
16234
+ .bc-data-table__wrapper {
16235
+ position: relative;
16236
+ min-height: 120px;
16237
+ }
16238
+
16239
+ .bc-data-table__filter-row > th {
16240
+ padding-top: var(--spacing-xs);
16241
+ padding-bottom: var(--spacing-xs);
16242
+ }
16243
+
16244
+ .bc-data-table__selection-header {
16245
+ width: calc(var(--spacing-base) * 10);
16246
+ }
16247
+
16248
+ .bc-table--size-xl .bc-data-table__selection-header {
16249
+ width: calc(var(--spacing-base) * 18);
16250
+ }
16251
+
16252
+ .bc-table--size-lg .bc-data-table__selection-header {
16253
+ width: calc(var(--spacing-base) * 14);
16254
+ }
16255
+
16256
+ .bc-table--size-sm .bc-data-table__selection-header {
16257
+ width: calc(var(--spacing-base) * 8);
16258
+ }
16259
+
16260
+ .bc-table--size-xs .bc-data-table__selection-header {
16261
+ width: calc(var(--spacing-base) * 6);
16262
+ }
16263
+
16264
+ .bc-data-table__selection-cell {
16265
+ width: 100%;
16266
+ height: 100%;
16267
+ display: flex;
16268
+ align-items: center;
16269
+ justify-content: center;
16270
+ }
16271
+
16272
+ .bc-data-table__row--clickable {
16273
+ cursor: pointer;
16274
+ }
16275
+
16276
+ .bc-data-table__row--selected {
16277
+ background-color: var(--color-primary-50);
16278
+ }
16279
+
16280
+ .bc-data-table__empty {
16281
+ text-align: center;
16282
+ padding: var(--spacing-xl);
16283
+ color: var(--text-muted);
16284
+ font-style: italic;
16285
+ }
16286
+
16287
+ .bc-data-table__pagination {
16288
+ display: flex;
16289
+ justify-items: center;
16290
+ justify-content: space-between;
16291
+ padding: var(--spacing-md) 0;
16292
+ }
16293
+
16294
+ /* Column Filter Panel */
16295
+ .bc-column-filter-panel__trigger-wrap {
16296
+ display: flex;
16297
+ justify-content: flex-end;
16298
+ }
16299
+
16300
+ .bc-column-filter-panel__trigger {
16301
+ display: inline-flex;
16302
+ align-items: center;
16303
+ justify-content: center;
16304
+ padding: var(--spacing-2xs);
16305
+ border: var(--border-width-thin) solid var(--border-default);
16306
+ border-radius: var(--radius-control-sm);
16307
+ background-color: var(--bg-background);
16308
+ color: var(--text-muted);
16309
+ cursor: pointer;
16310
+ position: relative;
16311
+ transition:
16312
+ border-color var(--motion-transition-fast) var(--motion-easing-standard),
16313
+ color var(--motion-transition-fast) var(--motion-easing-standard);
16314
+ }
16315
+
16316
+ .bc-column-filter-panel__trigger:hover {
16317
+ border-color: var(--interactive-hover);
16318
+ color: var(--text-normal);
16319
+ }
16320
+
16321
+ .bc-column-filter-panel__trigger--active {
16322
+ border-color: var(--color-primary-500);
16323
+ color: var(--color-primary-600);
16324
+ }
16325
+
16326
+ .bc-column-filter-panel__active-dot {
16327
+ position: absolute;
16328
+ top: -2px;
16329
+ right: -2px;
16330
+ width: 6px;
16331
+ height: 6px;
16332
+ border-radius: var(--radius-full);
16333
+ background-color: var(--color-primary-500);
16334
+ }
16335
+
16336
+ .bc-column-filter-panel {
16337
+ display: flex;
16338
+ flex-direction: column;
16339
+ gap: var(--spacing-sm);
16340
+ padding: var(--spacing-sm);
16341
+ width: 320px;
16342
+ }
16343
+
16344
+ .bc-column-filter-panel__mode {
16345
+ display: flex;
16346
+ justify-content: center;
16347
+ }
16348
+
16349
+ .bc-column-filter-panel__conditions {
16350
+ display: flex;
16351
+ flex-direction: column;
16352
+ gap: var(--spacing-sm);
16353
+ }
16354
+
16355
+ .bc-column-filter-panel__row {
16356
+ display: flex;
16357
+ flex-direction: column;
16358
+ gap: var(--spacing-2xs);
16359
+ }
16360
+
16361
+ .bc-column-filter-panel__row-header {
16362
+ display: flex;
16363
+ flex-direction: row;
16364
+ align-items: center;
16365
+ gap: var(--spacing-xs);
16366
+ }
16367
+
16368
+ .bc-column-filter-panel__operator {
16369
+ flex: 1 1 0;
16370
+ min-width: 0;
16371
+ }
16372
+
16373
+ .bc-column-filter-panel__value-wrap {
16374
+ display: flex;
16375
+ gap: var(--spacing-xs);
16376
+ }
16377
+
16378
+ .bc-column-filter-panel__value-wrap--hidden {
16379
+ display: none;
16380
+ }
16381
+
16382
+ .bc-column-filter-panel__value {
16383
+ flex: 1 1 auto;
16384
+ min-width: 0;
16385
+ }
16386
+
16387
+ .bc-column-filter-panel__add {
16388
+ display: flex;
16389
+ }
16390
+
16391
+ .bc-column-filter-panel__add-btn {
16392
+ border: none;
16393
+ background: none;
16394
+ color: var(--color-primary-600);
16395
+ font-size: var(--font-size-sm);
16396
+ cursor: pointer;
16397
+ padding: var(--spacing-2xs) 0;
16398
+ transition: color var(--motion-transition-fast);
16399
+ }
16400
+
16401
+ .bc-column-filter-panel__add-btn:hover {
16402
+ color: var(--color-primary-700);
16403
+ }
16404
+
16405
+ .bc-column-filter-panel__actions {
16406
+ display: flex;
16407
+ flex-direction: row;
16408
+ justify-content: flex-end;
16409
+ gap: var(--spacing-xs);
16410
+ padding-top: var(--spacing-xs);
16411
+ border-top: var(--border-width-thin) solid var(--border-default);
16412
+ }
16413
+
16414
+ /* Dark mode */
16415
+ .dark .bc-column-filter-panel__trigger {
16416
+ background-color: var(--bg-surface);
16417
+ }
16418
+
16419
+ .dark .bc-column-filter-panel__trigger--active {
16420
+ border-color: var(--color-primary-400);
16421
+ color: var(--color-primary-400);
16422
+ }
16423
+
16424
+ .dark .bc-column-filter-panel__active-dot {
16425
+ background-color: var(--color-primary-400);
16426
+ }
16427
+
16428
+ .dark .bc-column-filter-panel__add-btn {
16429
+ color: var(--color-primary-400);
16430
+ }
16431
+
16432
+ .dark .bc-column-filter-panel__add-btn:hover {
16433
+ color: var(--color-primary-300);
16434
+ }
16435
+
16436
+ .dark .bc-data-table__row--selected {
16437
+ background-color: var(--color-primary-950);
16438
+ }
16439
+
16440
+ .dark .bc-column-filter {
16441
+ background-color: var(--bg-surface);
16442
+ }
16443
+
16444
+ /* Column visibility toggle */
16445
+ .bc-data-table__column-toggle {
16446
+ display: flex;
16447
+ justify-content: flex-end;
16448
+ margin-bottom: var(--spacing-xs);
16449
+ }
16450
+
16451
+ .bc-data-table__column-toggle-btn {
16452
+ display: inline-flex;
16453
+ align-items: center;
16454
+ gap: var(--spacing-xs);
16455
+ padding: var(--spacing-xs) var(--spacing-sm);
16456
+ border: var(--border-width-thin) solid var(--border-default);
16457
+ border-radius: var(--radius-sm);
16458
+ background-color: var(--bg-surface);
16459
+ color: var(--text-muted);
16460
+ font-size: var(--font-size-sm);
16461
+ cursor: pointer;
16462
+ position: relative;
16463
+ transition:
16464
+ border-color var(--motion-transition-fast) var(--motion-easing-standard),
16465
+ color var(--motion-transition-fast) var(--motion-easing-standard);
16466
+ }
16467
+
16468
+ .bc-data-table__column-toggle-btn:hover {
16469
+ border-color: var(--interactive-hover);
16470
+ color: var(--text-normal);
16471
+ }
16472
+
16473
+ .bc-data-table__column-toggle-btn:focus-visible {
16474
+ outline: 2px solid var(--interactive-focus);
16475
+ outline-offset: 2px;
16476
+ }
16477
+
16478
+ .bc-data-table__column-toggle-btn--active {
16479
+ border-color: var(--color-primary-500);
16480
+ color: var(--color-primary-600);
16481
+ }
16482
+
16483
+ .bc-data-table__column-toggle-panel {
16484
+ display: flex;
16485
+ flex-direction: column;
16486
+ gap: var(--spacing-xs);
16487
+ padding: var(--spacing-sm);
16488
+ min-width: 180px;
16489
+ }
16490
+
16491
+ .dark .bc-data-table__column-toggle-btn {
16492
+ background-color: var(--bg-surface);
16493
+ }
16494
+
16495
+ .dark .bc-data-table__column-toggle-btn--active {
16496
+ border-color: var(--color-primary-400);
16497
+ color: var(--color-primary-400);
16498
+ }
16499
+
16500
+ /* Column Header Menu */
16501
+ .bc-column-header-menu {
16502
+ display: inline-flex;
16503
+ align-items: center;
16504
+ justify-content: center;
16505
+ cursor: pointer;
16506
+ color: var(--text-muted);
16507
+ transition: color var(--motion-transition-fast) var(--motion-easing-standard);
16508
+ }
16509
+
16510
+ .bc-column-header-menu:hover {
16511
+ color: var(--text-normal);
16512
+ }
16513
+
16514
+ /* Sortable header menu slot */
16515
+ .bc-sortable-header__menu {
16516
+ display: inline-flex;
16517
+ align-items: center;
16518
+ }
16519
+
16520
+ /* Row count footer */
16521
+ .bc-data-table__row-count {
16522
+ display: flex;
16523
+ justify-content: flex-end;
16524
+ padding: var(--spacing-xs) var(--spacing-sm);
16525
+ font-size: var(--font-size-xs);
16526
+ color: var(--text-muted);
16527
+ }
16528
+
16529
+ /* Column Reorder Drag */
16530
+ th.bc-data-table__header--dragging {
16531
+ opacity: 0.5;
16532
+ }
16533
+
16534
+ th.bc-data-table__header--drag-over {
16535
+ border-left: 2px solid var(--color-primary-500);
16536
+ }
16537
+
16538
+ /* Footer */
16539
+ .bc-data-table__footer-row {
16540
+ background-color: var(--bg-surface);
16541
+ font-size: var(--font-size-sm);
16542
+ font-weight: var(--font-weight-medium);
16543
+ color: var(--text-muted);
16544
+ }
16545
+
16546
+ .bc-data-table__footer-row td {
16547
+ padding: var(--spacing-xs) var(--spacing-sm);
16548
+ border-top: var(--border-width-thin) solid var(--border-default);
16549
+ }
16550
+
16551
+ .bc-data-table__group-footer-row {
16552
+ font-size: var(--font-size-xs);
16553
+ }
16554
+
16555
+ .bc-data-table__group-footer-row td {
16556
+ border-top: none;
16557
+ padding-top: var(--spacing-2xs);
16558
+ padding-bottom: var(--spacing-2xs);
16559
+ }
16560
+
16561
+ /* Group By */
16562
+ .bc-data-table__group-header {
16563
+ cursor: pointer;
16564
+ user-select: none;
16565
+ background-color: var(--bg-surface);
16566
+ }
16567
+
16568
+ .bc-data-table__group-header:hover {
16569
+ background-color: var(--interactive-hover);
16570
+ }
16571
+
16572
+ .bc-data-table__group-header-content {
16573
+ display: flex;
16574
+ align-items: center;
16575
+ gap: var(--spacing-sm);
16576
+ padding: var(--spacing-xs) 0;
16577
+ font-weight: var(--font-weight-semibold);
16578
+ font-size: var(--font-size-sm);
16579
+ }
16580
+
16581
+ .bc-data-table__group-toggle {
16582
+ display: inline-flex;
16583
+ align-items: center;
16584
+ justify-content: center;
16585
+ transition: transform var(--motion-transition-fast)
16586
+ var(--motion-easing-standard);
16587
+ }
16588
+
16589
+ .bc-data-table__group-toggle--collapsed {
16590
+ transform: rotate(-90deg);
16591
+ }
16592
+
16593
+ .bc-data-table__group-label {
16594
+ flex: 0 0 auto;
16595
+ }
16596
+
16597
+ .bc-data-table__group-count {
16598
+ color: var(--text-muted);
16599
+ font-weight: var(--font-weight-normal);
16600
+ font-size: var(--font-size-xs);
16601
+ }
16602
+
16603
+ .bc-data-table__group-footer-summary {
16604
+ margin-left: auto;
16605
+ color: var(--text-muted);
16606
+ font-weight: var(--font-weight-normal);
16607
+ font-size: var(--font-size-xs);
16608
+ white-space: nowrap;
16609
+ }
16610
+
16611
+ .dark .bc-data-table__group-header {
16612
+ background-color: var(--bg-surface);
16613
+ }
16614
+
16615
+ .dark .bc-data-table__group-header:hover {
16616
+ background-color: var(--interactive-hover);
16617
+ }
16618
+
16619
+ /* Tags Filter (inline checkbox list) */
16620
+ .bc-column-filter-tags {
16621
+ display: flex;
16622
+ flex-direction: column;
16623
+ gap: var(--spacing-xs);
16624
+ }
16625
+
16626
+ .bc-column-filter-tags__list {
16627
+ display: flex;
16628
+ flex-direction: column;
16629
+ gap: var(--spacing-2xs);
16630
+ max-height: 200px;
16631
+ overflow-y: auto;
16632
+ }
16633
+
16634
+ .bc-column-filter-tags__item {
16635
+ display: flex;
16636
+ align-items: center;
16637
+ gap: var(--spacing-xs);
16638
+ padding: var(--spacing-2xs) var(--spacing-xs);
16639
+ cursor: pointer;
16640
+ border-radius: var(--radius-control-sm);
16641
+ font-size: var(--font-size-sm);
16642
+ user-select: none;
16643
+ }
16644
+
16645
+ .bc-column-filter-tags__item:hover {
16646
+ background-color: var(--interactive-hover);
16647
+ }
16648
+
16649
+ /* Reduced motion */
16650
+ @media (prefers-reduced-motion: reduce) {
16651
+ .bc-sortable-header,
16652
+ .bc-sortable-header__icon,
16653
+ .bc-column-filter,
16654
+ .bc-column-filter-panel__trigger,
16655
+ .bc-column-filter-panel__add-btn,
16656
+ .bc-data-toolbar__action,
16657
+ .bc-data-toolbar__reset,
16658
+ .bc-data-table__column-toggle-btn,
16659
+ .bc-data-table__group-toggle {
16660
+ transition: none;
16661
+ }
16662
+ }
16663
+
16664
+ /* Shared flex modifiers for Stack and Group */
16665
+
16666
+ /* Gap */
16667
+ .bc-flex--gap-none {
16668
+ gap: 0;
16669
+ }
16670
+
16671
+ .bc-flex--gap-xs {
16672
+ gap: var(--spacing-xs);
16673
+ }
16674
+
16675
+ .bc-flex--gap-sm {
16676
+ gap: var(--spacing-sm);
16677
+ }
16678
+
16679
+ .bc-flex--gap-md {
16680
+ gap: var(--spacing-md);
16681
+ }
16682
+
16683
+ .bc-flex--gap-lg {
16684
+ gap: var(--spacing-lg);
16685
+ }
16686
+
16687
+ .bc-flex--gap-xl {
16688
+ gap: var(--spacing-xl);
16689
+ }
16690
+
16691
+ /* Align */
16692
+ .bc-flex--align-start {
16693
+ align-items: flex-start;
16694
+ }
16695
+
16696
+ .bc-flex--align-center {
16697
+ align-items: center;
16698
+ }
16699
+
16700
+ .bc-flex--align-end {
16701
+ align-items: flex-end;
16702
+ }
16703
+
16704
+ .bc-flex--align-stretch {
16705
+ align-items: stretch;
16706
+ }
16707
+
16708
+ .bc-flex--align-baseline {
16709
+ align-items: baseline;
16710
+ }
16711
+
16712
+ /* Justify */
16713
+ .bc-flex--justify-start {
16714
+ justify-content: flex-start;
16715
+ }
16716
+
16717
+ .bc-flex--justify-center {
16718
+ justify-content: center;
16719
+ }
16720
+
16721
+ .bc-flex--justify-end {
16722
+ justify-content: flex-end;
16723
+ }
16724
+
16725
+ .bc-flex--justify-between {
16726
+ justify-content: space-between;
16727
+ }
16728
+
16729
+ .bc-flex--justify-around {
16730
+ justify-content: space-around;
16731
+ }
16732
+
16733
+ .bc-flex--justify-evenly {
16734
+ justify-content: space-evenly;
16735
+ }
16736
+
16737
+ /* Wrap */
16738
+ .bc-flex--wrap {
16739
+ flex-wrap: wrap;
16740
+ }
16741
+
16742
+ .bc-flex--nowrap {
16743
+ flex-wrap: nowrap;
16744
+ }
16745
+
16746
+ /* Grow */
16747
+ .bc-flex--grow {
16748
+ flex-grow: 1;
16749
+ }
16750
+
15668
16751
 
15669
16752
  }