@tempots/beatui 0.95.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) 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-BQIhr3-R.js} +99 -98
  6. package/dist/auth-divider-DvnUModP.cjs +1 -0
  7. package/dist/beatui.css +1628 -541
  8. package/dist/beatui.tailwind.css +1629 -542
  9. package/dist/better-auth/index.cjs.js +1 -1
  10. package/dist/better-auth/index.es.js +9 -9
  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-D7hYFM5A.js → notice-E19wu9lA.js} +51 -51
  64. package/dist/notice-_9XhdrFw.cjs +1 -0
  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/checkbox-input.d.ts +6 -7
  126. package/dist/types/components/form/input/color-input.d.ts +1 -1
  127. package/dist/types/components/form/input/color-swatch-input.d.ts +3 -3
  128. package/dist/types/components/form/input/combobox-input.d.ts +5 -5
  129. package/dist/types/components/form/input/combobox-tags-input.d.ts +5 -5
  130. package/dist/types/components/form/input/create-nullable-string-input.d.ts +2 -2
  131. package/dist/types/components/form/input/date-input.d.ts +4 -4
  132. package/dist/types/components/form/input/dropdown-input.d.ts +5 -5
  133. package/dist/types/components/form/input/editable-text.d.ts +2 -2
  134. package/dist/types/components/form/input/email-input.d.ts +4 -4
  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-date-input.d.ts +2 -2
  141. package/dist/types/components/form/input/nullable-email-input.d.ts +3 -3
  142. package/dist/types/components/form/input/nullable-rating-input.d.ts +8 -8
  143. package/dist/types/components/form/input/nullable-uuid-input.d.ts +4 -4
  144. package/dist/types/components/form/input/number-input.d.ts +3 -3
  145. package/dist/types/components/form/input/otp-input.d.ts +12 -12
  146. package/dist/types/components/form/input/rating-input.d.ts +7 -8
  147. package/dist/types/components/form/input/select-tags-input.d.ts +5 -5
  148. package/dist/types/components/form/input/switch.d.ts +2 -2
  149. package/dist/types/components/form/input/tri-state-checkbox-input.d.ts +82 -0
  150. package/dist/types/components/form/input/uuid-input.d.ts +2 -2
  151. package/dist/types/components/json-structure/controls/uuid-control.d.ts +1 -1
  152. package/dist/types/components/layout/card.d.ts +66 -0
  153. package/dist/types/components/layout/collapse.d.ts +2 -2
  154. package/dist/types/components/layout/flex.d.ts +26 -0
  155. package/dist/types/components/layout/index.d.ts +1 -0
  156. package/dist/types/components/lexical/floating/slash-command-palette.d.ts +2 -2
  157. package/dist/types/components/media/pdf-page-viewer.d.ts +8 -5
  158. package/dist/types/components/misc/index.d.ts +1 -0
  159. package/dist/types/components/misc/loading-overlay.d.ts +29 -0
  160. package/dist/types/components/misc/notice.d.ts +4 -4
  161. package/dist/types/components/misc/notification-provider.d.ts +9 -3
  162. package/dist/types/components/misc/notification.d.ts +9 -9
  163. package/dist/types/components/navigation/breadcrumbs.d.ts +1 -1
  164. package/dist/types/components/navigation/menu.d.ts +6 -6
  165. package/dist/types/components/navigation/pagination.d.ts +17 -4
  166. package/dist/types/components/navigation/sidebar/sidebar-link.d.ts +2 -2
  167. package/dist/types/components/navigation/tabs/tabs.d.ts +17 -8
  168. package/dist/types/components/navigation/toolbar/toolbar.d.ts +12 -6
  169. package/dist/types/components/overlay/announcement-bar.d.ts +12 -4
  170. package/dist/types/components/overlay/dialogs.d.ts +2 -2
  171. package/dist/types/components/overlay/modal.d.ts +9 -2
  172. package/dist/types/components/overlay/tooltip.d.ts +6 -6
  173. package/dist/types/components/theme/types.d.ts +15 -4
  174. package/dist/types/lexical/plugins/slash-commands.d.ts +1 -1
  175. package/dist/types/tokens/z-index.d.ts +18 -18
  176. package/dist/types/utils/use-animated-toggle.d.ts +12 -4
  177. package/dist/{ur-ZJgsSpG2.cjs → ur-CtFl_tz6.cjs} +1 -1
  178. package/dist/{ur-BcuB7IqE.js → ur-yYgj3NmT.js} +87 -11
  179. package/dist/use-animated-toggle-C3asw_Sg.js +207 -0
  180. package/dist/use-animated-toggle-cKcuItmz.cjs +1 -0
  181. package/dist/use-form-CaW192gw.cjs +2 -0
  182. package/dist/{use-form-CfxvyTfd.js → use-form-Dn6v2tEh.js} +153 -152
  183. package/dist/utils-DmEuG3Np.cjs +1 -0
  184. package/dist/utils-vUtP6iPG.js +165 -0
  185. package/dist/{vi-D0rQ3dIx.js → vi-D5u4CLQO.js} +88 -12
  186. package/dist/{vi-BOgLRkuK.cjs → vi-DyCZSpsk.cjs} +1 -1
  187. package/dist/widget-customization-DgW1SXN6.cjs +1 -0
  188. package/dist/{widget-customization-CLZNGavL.js → widget-customization-Dkx7kNSe.js} +413 -398
  189. package/dist/{zh-DoYqiZO1.js → zh-B0kwMMer.js} +90 -14
  190. package/dist/{zh-BTZ8OZ4H.cjs → zh-C3ZxMQKb.cjs} +1 -1
  191. package/package.json +208 -37
  192. package/dist/_commonjsHelpers-DKOUU3wS.cjs +0 -1
  193. package/dist/_commonjsHelpers-DaMA6jEr.js +0 -8
  194. package/dist/auth-divider-BgaQ8ifw.cjs +0 -1
  195. package/dist/colors-BI0YhONJ.cjs +0 -1
  196. package/dist/deep-merge-ChJQbUKq.cjs +0 -1
  197. package/dist/es-C8TpneCm.cjs +0 -1
  198. package/dist/hls.light.min-C6xKDzRR.cjs +0 -27
  199. package/dist/hls.light.min-hEMf_E8u.js +0 -8311
  200. package/dist/index-1JaBwDB-.js +0 -921
  201. package/dist/index-CN10Cyqr.cjs +0 -1
  202. package/dist/index-CTcbhnPw.cjs +0 -4
  203. package/dist/index-DF7RFzD9.cjs +0 -1
  204. package/dist/index-D_zOXmU5.cjs +0 -36
  205. package/dist/index-DfPkCwdC.js +0 -2709
  206. package/dist/index-vowHNIPH.js +0 -14308
  207. package/dist/index-yOU4Ceaq.js +0 -68
  208. package/dist/index-zQ3IYJFH.cjs +0 -1
  209. package/dist/input-container-BWYHj0Iq.cjs +0 -1
  210. package/dist/input-container-DMoVdH6E.js +0 -263
  211. package/dist/menu-De_-sGeb.cjs +0 -1
  212. package/dist/modal-CiGmgsOI.cjs +0 -1
  213. package/dist/notice-CPZQuxcA.cjs +0 -1
  214. package/dist/oneof-branch-detection-BFxukD63.cjs +0 -8
  215. package/dist/oneof-branch-detection-izpPjBCR.js +0 -6290
  216. package/dist/stack-4VUGISn6.cjs +0 -1
  217. package/dist/stack-Bm-UZosx.js +0 -879
  218. package/dist/string-B9vVyfq3.cjs +0 -1
  219. package/dist/string-DYyMxBl-.js +0 -19
  220. package/dist/text-input-BLupB3cU.js +0 -45
  221. package/dist/text-input-M6WBhhVj.cjs +0 -1
  222. package/dist/timer-BJHOsuS6.cjs +0 -1
  223. package/dist/timer-Rd2sKnvH.js +0 -65
  224. package/dist/toolbar-Be1eU0qU.js +0 -118
  225. package/dist/toolbar-WWv5kcYG.cjs +0 -1
  226. package/dist/translations-OOsMRpX9.cjs +0 -1
  227. package/dist/types/components/data/calendar-shared.d.ts +0 -59
  228. package/dist/types/components/data/calendar.d.ts +0 -107
  229. package/dist/types/components/data/icon-badge.d.ts +0 -14
  230. package/dist/types/components/data/range-calendar.d.ts +0 -104
  231. package/dist/types/components/data/tag.d.ts +0 -51
  232. package/dist/use-animated-toggle-C7PTmnZi.js +0 -195
  233. package/dist/use-animated-toggle-DrqK7nUS.cjs +0 -1
  234. package/dist/use-form-ClA0ZRco.cjs +0 -2
  235. package/dist/utils-DEbsp9Q9.js +0 -129
  236. package/dist/utils-DIUEhA-Z.cjs +0 -1
  237. package/dist/widget-customization-DtEEo35Y.cjs +0 -1
package/dist/beatui.css CHANGED
@@ -402,15 +402,15 @@ ol {
402
402
  --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);
403
403
  --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);
404
404
  --z-index-base: 0;
405
- --z-index-raised: 10;
406
- --z-index-navigation: 20;
407
- --z-index-sidebar: 20;
408
- --z-index-overlay: 50;
409
- --z-index-modal: 60;
410
- --z-index-tooltip: 70;
411
- --z-index-popover: 80;
412
- --z-index-notification: 90;
413
- --z-index-maximum: 100;
405
+ --z-index-raised: 100;
406
+ --z-index-navigation: 200;
407
+ --z-index-sidebar: 200;
408
+ --z-index-overlay: 500;
409
+ --z-index-modal: 600;
410
+ --z-index-tooltip: 700;
411
+ --z-index-popover: 800;
412
+ --z-index-notification: 900;
413
+ --z-index-maximum: 1000;
414
414
  --border-width-none: 0;
415
415
  --border-width-thin: 1px;
416
416
  --border-width-default: 1.5px;
@@ -1227,17 +1227,17 @@ a:focus-visible {
1227
1227
  gap: var(--spacing-xs);
1228
1228
  }
1229
1229
 
1230
- /* Title */
1230
+ /* Title — fixed font size across all sizes */
1231
1231
  .bc-action-card__title {
1232
- font-size: var(--font-size-lg);
1232
+ font-size: var(--font-size-md);
1233
1233
  font-weight: var(--font-weight-semibold);
1234
1234
  color: var(--action-card-title-color);
1235
1235
  line-height: var(--line-height-tight);
1236
1236
  }
1237
1237
 
1238
- /* Description */
1238
+ /* Description — fixed font size across all sizes */
1239
1239
  .bc-action-card__description {
1240
- font-size: var(--font-size-md);
1240
+ font-size: var(--font-size-sm);
1241
1241
  font-weight: var(--font-weight-normal);
1242
1242
  color: var(--action-card-description-color);
1243
1243
  line-height: var(--line-height-normal);
@@ -1283,59 +1283,27 @@ a:focus-visible {
1283
1283
  pointer-events: none;
1284
1284
  }
1285
1285
 
1286
- /* Size variants */
1286
+ /* Size variants — padding and gap only */
1287
1287
  .bc-action-card--xs {
1288
1288
  padding: var(--spacing-xs);
1289
1289
  gap: var(--spacing-xs);
1290
1290
  }
1291
1291
 
1292
- .bc-action-card--xs .bc-action-card__title {
1293
- font-size: var(--font-size-sm);
1294
- }
1295
-
1296
- .bc-action-card--xs .bc-action-card__description {
1297
- font-size: var(--font-size-xs);
1298
- }
1299
-
1300
1292
  .bc-action-card--sm {
1301
1293
  padding: var(--spacing-sm);
1302
1294
  gap: var(--spacing-sm);
1303
1295
  }
1304
1296
 
1305
- .bc-action-card--sm .bc-action-card__title {
1306
- font-size: var(--font-size-md);
1307
- }
1308
-
1309
- .bc-action-card--sm .bc-action-card__description {
1310
- font-size: var(--font-size-sm);
1311
- }
1312
-
1313
1297
  .bc-action-card--lg {
1314
- padding: var(--spacing-xl);
1298
+ padding: var(--spacing-lg);
1315
1299
  gap: var(--spacing-lg);
1316
1300
  }
1317
1301
 
1318
- .bc-action-card--lg .bc-action-card__title {
1319
- font-size: var(--font-size-xl);
1320
- }
1321
-
1322
- .bc-action-card--lg .bc-action-card__description {
1323
- font-size: var(--font-size-lg);
1324
- }
1325
-
1326
1302
  .bc-action-card--xl {
1327
- padding: var(--spacing-2xl);
1303
+ padding: var(--spacing-xl);
1328
1304
  gap: var(--spacing-xl);
1329
1305
  }
1330
1306
 
1331
- .bc-action-card--xl .bc-action-card__title {
1332
- font-size: var(--font-size-2xl);
1333
- }
1334
-
1335
- .bc-action-card--xl .bc-action-card__description {
1336
- font-size: var(--font-size-xl);
1337
- }
1338
-
1339
1307
  /* Focus styles for accessibility */
1340
1308
  .bc-action-card--clickable:focus-visible {
1341
1309
  outline: var(--outline-width-focus) solid var(--color-primary-500);
@@ -2378,8 +2346,8 @@ a:focus-visible {
2378
2346
 
2379
2347
  /* Bordered variant */
2380
2348
  .bc-avatar--bordered {
2381
- border: var(--border-width-medium) solid var(--color-white);
2382
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
2349
+ border: var(--border-width-medium) solid
2350
+ var(--avatar-border-color, var(--color-white));
2383
2351
  }
2384
2352
 
2385
2353
  /* Avatar Group */
@@ -2389,6 +2357,43 @@ a:focus-visible {
2389
2357
  flex-direction: row;
2390
2358
  }
2391
2359
 
2360
+ /* Group size cascades to child avatars */
2361
+ .bc-avatar-group--size-xs > .bc-avatar {
2362
+ width: var(--spacing-xl);
2363
+ height: var(--spacing-xl);
2364
+ font-size: var(--font-size-xs);
2365
+ }
2366
+
2367
+ .bc-avatar-group--size-sm > .bc-avatar {
2368
+ width: var(--spacing-2xl);
2369
+ height: var(--spacing-2xl);
2370
+ font-size: var(--font-size-sm);
2371
+ }
2372
+
2373
+ .bc-avatar-group--size-md > .bc-avatar {
2374
+ width: var(--spacing-2xlh);
2375
+ height: var(--spacing-2xlh);
2376
+ font-size: var(--font-size-md);
2377
+ }
2378
+
2379
+ .bc-avatar-group--size-lg > .bc-avatar {
2380
+ width: var(--spacing-3xl);
2381
+ height: var(--spacing-3xl);
2382
+ font-size: var(--font-size-lg);
2383
+ }
2384
+
2385
+ .bc-avatar-group--size-xl > .bc-avatar {
2386
+ width: var(--spacing-4xl);
2387
+ height: var(--spacing-4xl);
2388
+ font-size: var(--font-size-xl);
2389
+ }
2390
+
2391
+ .bc-avatar-group--size-2xl > .bc-avatar {
2392
+ width: calc(var(--spacing-base) * 24);
2393
+ height: calc(var(--spacing-base) * 24);
2394
+ font-size: var(--font-size-2xl);
2395
+ }
2396
+
2392
2397
  /* Tight spacing - avatars overlap */
2393
2398
  .bc-avatar-group--spacing-tight {
2394
2399
  gap: 0;
@@ -2422,8 +2427,10 @@ a:focus-visible {
2422
2427
  }
2423
2428
 
2424
2429
  .dark .bc-avatar--bordered {
2425
- border-color: var(--bg-background-dark, var(--color-base-950));
2426
- box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1);
2430
+ border-color: var(
2431
+ --avatar-border-color-dark,
2432
+ var(--bg-background-dark, var(--color-base-950))
2433
+ );
2427
2434
  }
2428
2435
 
2429
2436
  .dark .bc-avatar-group--spacing-tight > .bc-avatar,
@@ -2465,6 +2472,7 @@ a:focus-visible {
2465
2472
  display: inline-flex;
2466
2473
  align-items: center;
2467
2474
  justify-content: center;
2475
+ gap: var(--badge-gap, var(--control-gap-md));
2468
2476
  border: var(--border-width-default) solid var(--badge-border);
2469
2477
  font-family: var(
2470
2478
  --font-family-default-ui,
@@ -2563,49 +2571,40 @@ a:focus-visible {
2563
2571
  width: 100%;
2564
2572
  }
2565
2573
 
2566
- /* Dot variant - small colored circle indicator */
2567
- .bc-badge--dot {
2568
- width: var(--spacing-md);
2569
- height: var(--spacing-md);
2570
- min-width: var(--spacing-md);
2571
- padding: 0;
2572
- border-radius: 50%;
2573
- border: none;
2574
- }
2575
-
2576
- .bc-badge--dot .bc-badge__content {
2577
- display: none;
2578
- }
2579
-
2580
- /* Dot variant size adjustments */
2581
- .bc-badge--dot.bc-badge--size-xs {
2582
- width: var(--spacing-smh);
2583
- height: var(--spacing-smh);
2584
- min-width: var(--spacing-smh);
2574
+ /* Close button lightweight inline × */
2575
+ .bc-badge__close {
2576
+ all: unset;
2577
+ cursor: pointer;
2578
+ display: inline-flex;
2579
+ align-items: center;
2580
+ justify-content: center;
2581
+ font-size: inherit;
2582
+ line-height: var(--line-height-none);
2583
+ opacity: 0.5;
2584
+ transition: opacity var(--motion-transition-fast)
2585
+ var(--motion-easing-standard);
2585
2586
  }
2586
2587
 
2587
- .bc-badge--dot.bc-badge--size-sm {
2588
- width: var(--spacing-md);
2589
- height: var(--spacing-md);
2590
- min-width: var(--spacing-md);
2588
+ .bc-badge__close:hover {
2589
+ opacity: 1;
2591
2590
  }
2592
2591
 
2593
- .bc-badge--dot.bc-badge--size-md {
2594
- width: calc(var(--spacing-base) * 2.5);
2595
- height: calc(var(--spacing-base) * 2.5);
2596
- min-width: calc(var(--spacing-base) * 2.5);
2592
+ /* Disabled state */
2593
+ .bc-badge.bc-badge--disabled {
2594
+ opacity: 0.55;
2595
+ filter: grayscale(0.4) saturate(0.8);
2596
+ cursor: default;
2597
2597
  }
2598
2598
 
2599
- .bc-badge--dot.bc-badge--size-lg {
2600
- width: var(--spacing-mdh);
2601
- height: var(--spacing-mdh);
2602
- min-width: var(--spacing-mdh);
2599
+ .bc-badge.bc-badge--disabled .bc-badge__close {
2600
+ cursor: not-allowed;
2601
+ opacity: 0.6;
2602
+ pointer-events: none;
2603
2603
  }
2604
2604
 
2605
- .bc-badge--dot.bc-badge--size-xl {
2606
- width: calc(var(--spacing-base) * 3.5);
2607
- height: calc(var(--spacing-base) * 3.5);
2608
- min-width: calc(var(--spacing-base) * 3.5);
2605
+ .bc-badge.bc-badge--disabled .bc-badge__close:hover {
2606
+ color: inherit;
2607
+ border-color: transparent;
2609
2608
  }
2610
2609
 
2611
2610
  /* Dark mode styles */
@@ -2620,6 +2619,10 @@ a:focus-visible {
2620
2619
  color: var(--badge-text-hover-dark);
2621
2620
  }
2622
2621
 
2622
+ .dark .bc-badge__close {
2623
+ color: var(--badge-text-dark);
2624
+ }
2625
+
2623
2626
  /* Accessibility adjustments */
2624
2627
  @media (prefers-contrast: high) {
2625
2628
  .bc-badge {
@@ -3047,7 +3050,7 @@ a:focus-visible {
3047
3050
  flex-direction: column;
3048
3051
  border-radius: var(--radius-surface, var(--radius-lg));
3049
3052
  border: var(--border-width-thin) solid var(--card-border);
3050
- padding: var(--spacing-lg);
3053
+ padding: var(--spacing-md);
3051
3054
  box-shadow: var(--shadow-surface, var(--shadow-md));
3052
3055
  background-color: var(--card-bg);
3053
3056
  color: var(--card-text);
@@ -3117,6 +3120,68 @@ a:focus-visible {
3117
3120
  border-radius: var(--radius-full);
3118
3121
  }
3119
3122
 
3123
+ /* Remove Card padding when structured sub-components are used */
3124
+ .bc-card:has(
3125
+ > .bc-card__header,
3126
+ > .bc-card__body,
3127
+ > .bc-card__footer,
3128
+ > .bc-card__cover-image
3129
+ ) {
3130
+ padding: 0;
3131
+ }
3132
+
3133
+ /* Card sections */
3134
+ .bc-card__header {
3135
+ display: flex;
3136
+ align-items: center;
3137
+ gap: var(--spacing-sm);
3138
+ padding: var(--spacing-md);
3139
+ border-bottom: var(--border-width-thin) solid var(--card-border);
3140
+ background-color: var(
3141
+ --bg-surface-secondary,
3142
+ color-mix(in srgb, var(--card-bg) 90%, var(--card-text) 10%)
3143
+ );
3144
+ flex-shrink: 0;
3145
+ }
3146
+
3147
+ .bc-card__body {
3148
+ flex: 1;
3149
+ padding: var(--spacing-md);
3150
+ }
3151
+
3152
+ .bc-card__footer {
3153
+ display: flex;
3154
+ align-items: center;
3155
+ gap: var(--spacing-sm);
3156
+ padding: var(--spacing-md);
3157
+ border-top: var(--border-width-thin) solid var(--card-border);
3158
+ background-color: var(
3159
+ --bg-surface-secondary,
3160
+ color-mix(in srgb, var(--card-bg) 90%, var(--card-text) 10%)
3161
+ );
3162
+ flex-shrink: 0;
3163
+ justify-content: flex-end;
3164
+ }
3165
+
3166
+ /* Cover image */
3167
+ .bc-card__cover-image {
3168
+ width: 100%;
3169
+ object-fit: cover;
3170
+ flex-shrink: 0;
3171
+ }
3172
+
3173
+ .bc-card__cover-image:first-child {
3174
+ border-radius: inherit;
3175
+ border-bottom-left-radius: 0;
3176
+ border-bottom-right-radius: 0;
3177
+ }
3178
+
3179
+ .bc-card__cover-image:last-child {
3180
+ border-radius: inherit;
3181
+ border-top-left-radius: 0;
3182
+ border-top-right-radius: 0;
3183
+ }
3184
+
3120
3185
  /* Dark mode styles */
3121
3186
  .dark .bc-card--elevated {
3122
3187
  --card-bg: var(--bg-elevated);
@@ -3201,6 +3266,10 @@ a:focus-visible {
3201
3266
  color: var(--checkbox-checked-color);
3202
3267
  }
3203
3268
 
3269
+ .bc-checkbox-input__checkbox--indeterminate {
3270
+ color: var(--checkbox-checked-color);
3271
+ }
3272
+
3204
3273
  .bc-checkbox-input__checkbox--unchecked {
3205
3274
  color: var(--color-base-400);
3206
3275
  }
@@ -3231,6 +3300,10 @@ a:focus-visible {
3231
3300
  color: var(--color-primary-400);
3232
3301
  }
3233
3302
 
3303
+ .dark .bc-checkbox-input__checkbox--indeterminate {
3304
+ color: var(--color-primary-400);
3305
+ }
3306
+
3234
3307
  .dark .bc-checkbox-input__checkbox--unchecked {
3235
3308
  color: var(--color-base-500);
3236
3309
  }
@@ -3569,7 +3642,6 @@ a:focus-visible {
3569
3642
 
3570
3643
  .bc-dropdown__trigger {
3571
3644
  width: 100%;
3572
- height: calc(var(--spacing-base) * 4.75);
3573
3645
  display: flex;
3574
3646
  align-items: center;
3575
3647
  justify-content: space-between;
@@ -3590,11 +3662,8 @@ a:focus-visible {
3590
3662
  display: flex;
3591
3663
  align-items: center;
3592
3664
  justify-content: center;
3593
- width: var(--spacing-xl);
3594
- height: var(--spacing-xl);
3595
3665
  flex-shrink: 0;
3596
- margin-inline-start: var(--spacing-sm);
3597
- margin-inline-end: calc(var(--spacing-base) * -1.25);
3666
+ margin-inline-start: var(--spacing-xs);
3598
3667
  }
3599
3668
 
3600
3669
  /* Listbox (dropdown) */
@@ -4553,6 +4622,7 @@ a:focus-visible {
4553
4622
  display: flex;
4554
4623
  align-items: center;
4555
4624
  justify-content: center;
4625
+ font-size: inherit;
4556
4626
  transition: background-color
4557
4627
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
4558
4628
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
@@ -4570,6 +4640,12 @@ a:focus-visible {
4570
4640
  background-color: var(--color-gray-200);
4571
4641
  }
4572
4642
 
4643
+ /* Scale icon to match text size */
4644
+ .bc-editable-text__edit-button .bc-icon {
4645
+ width: 1em;
4646
+ height: 1em;
4647
+ }
4648
+
4573
4649
  /* Dark mode styles */
4574
4650
  .dark .bc-editable-text {
4575
4651
  border-bottom-color: var(--border-default);
@@ -5530,19 +5606,19 @@ a:focus-visible {
5530
5606
  }
5531
5607
 
5532
5608
  .bc-group--gap-1 {
5533
- gap: var(--spacing-stack-xs, var(--spacing-sm));
5609
+ gap: var(--spacing-xs);
5534
5610
  }
5535
5611
 
5536
5612
  .bc-group--gap-2 {
5537
- gap: var(--spacing-stack-sm, var(--spacing-md));
5613
+ gap: var(--spacing-sm);
5538
5614
  }
5539
5615
 
5540
5616
  .bc-group--gap-4 {
5541
- gap: var(--spacing-stack-lg, var(--spacing-lg));
5617
+ gap: var(--spacing-lg);
5542
5618
  }
5543
5619
 
5544
5620
  .bc-group--gap-md {
5545
- gap: var(--spacing-stack-md, var(--spacing-mdh));
5621
+ gap: var(--spacing-md);
5546
5622
  }
5547
5623
 
5548
5624
  .bc-group--grow {
@@ -5723,7 +5799,7 @@ a:focus-visible {
5723
5799
  }
5724
5800
 
5725
5801
  .dark .bc-history-timeline__filter--active {
5726
- background: rgba(37, 99, 235, 0.15);
5802
+ background: color-mix(in srgb, var(--color-primary-600) 15%, transparent);
5727
5803
  border-color: var(--color-primary-600);
5728
5804
  color: var(--color-primary-300);
5729
5805
  }
@@ -5762,18 +5838,18 @@ a:focus-visible {
5762
5838
  }
5763
5839
 
5764
5840
  .bc-icon--xs {
5765
- width: var(--spacing-mdh);
5766
- height: var(--spacing-mdh);
5841
+ width: var(--spacing-lg);
5842
+ height: var(--spacing-lg);
5767
5843
  }
5768
5844
 
5769
5845
  .bc-icon--sm {
5770
- width: var(--spacing-lg);
5771
- height: var(--spacing-lg);
5846
+ width: var(--spacing-lgh);
5847
+ height: var(--spacing-lgh);
5772
5848
  }
5773
5849
 
5774
5850
  .bc-icon--md {
5775
- width: calc(var(--spacing-base) * 4.8);
5776
- height: calc(var(--spacing-base) * 4.8);
5851
+ width: var(--spacing-xl);
5852
+ height: var(--spacing-xl);
5777
5853
  }
5778
5854
 
5779
5855
  .bc-icon--lg {
@@ -5786,16 +5862,120 @@ a:focus-visible {
5786
5862
  height: var(--spacing-3xl);
5787
5863
  }
5788
5864
 
5789
- .bc-icon-badge {
5865
+ /* Indicator Component */
5866
+ .bc-indicator {
5790
5867
  position: relative;
5791
5868
  display: inline-flex;
5792
5869
  }
5793
5870
 
5794
- .bc-icon-badge__indicator {
5871
+ .bc-indicator__badge {
5795
5872
  position: absolute;
5796
- top: calc(var(--spacing-base) * -1);
5797
- right: calc(var(--spacing-base) * -1);
5798
5873
  pointer-events: none;
5874
+ display: flex;
5875
+ align-items: center;
5876
+ justify-content: center;
5877
+ border-radius: 50%;
5878
+ font-family: var(
5879
+ --font-family-default-ui,
5880
+ var(--font-ui, var(--font-body, var(--font-family-sans)))
5881
+ );
5882
+ font-weight: var(--font-weight-semibold);
5883
+ line-height: var(--line-height-none);
5884
+ white-space: nowrap;
5885
+ background-color: var(--indicator-bg);
5886
+ color: var(--indicator-text);
5887
+ }
5888
+
5889
+ /* Placement variants */
5890
+ .bc-indicator--top-right {
5891
+ top: 0;
5892
+ right: 0;
5893
+ transform: translate(40%, -40%);
5894
+ }
5895
+
5896
+ .bc-indicator--top-left {
5897
+ top: 0;
5898
+ left: 0;
5899
+ transform: translate(-40%, -40%);
5900
+ }
5901
+
5902
+ .bc-indicator--bottom-right {
5903
+ bottom: 0;
5904
+ right: 0;
5905
+ transform: translate(40%, 40%);
5906
+ }
5907
+
5908
+ .bc-indicator--bottom-left {
5909
+ bottom: 0;
5910
+ left: 0;
5911
+ transform: translate(-40%, 40%);
5912
+ }
5913
+
5914
+ /* Dot variant — small circle with no text */
5915
+ .bc-indicator--dot.bc-indicator--size-xs {
5916
+ width: var(--spacing-smh);
5917
+ height: var(--spacing-smh);
5918
+ }
5919
+
5920
+ .bc-indicator--dot.bc-indicator--size-sm {
5921
+ width: var(--spacing-md);
5922
+ height: var(--spacing-md);
5923
+ }
5924
+
5925
+ .bc-indicator--dot.bc-indicator--size-md {
5926
+ width: calc(var(--spacing-base) * 2.5);
5927
+ height: calc(var(--spacing-base) * 2.5);
5928
+ }
5929
+
5930
+ .bc-indicator--dot.bc-indicator--size-lg {
5931
+ width: var(--spacing-mdh);
5932
+ height: var(--spacing-mdh);
5933
+ }
5934
+
5935
+ .bc-indicator--dot.bc-indicator--size-xl {
5936
+ width: calc(var(--spacing-base) * 3.5);
5937
+ height: calc(var(--spacing-base) * 3.5);
5938
+ }
5939
+
5940
+ /* Count variant — pill badge with text */
5941
+ .bc-indicator--count {
5942
+ min-width: 1.25em;
5943
+ height: 1.25em;
5944
+ padding: 0 0.35em;
5945
+ border-radius: 999px;
5946
+ }
5947
+
5948
+ .bc-indicator--count.bc-indicator--size-xs {
5949
+ font-size: var(--font-size-xs);
5950
+ }
5951
+
5952
+ .bc-indicator--count.bc-indicator--size-sm {
5953
+ font-size: var(--font-size-xs);
5954
+ }
5955
+
5956
+ .bc-indicator--count.bc-indicator--size-md {
5957
+ font-size: var(--font-size-sm);
5958
+ }
5959
+
5960
+ .bc-indicator--count.bc-indicator--size-lg {
5961
+ font-size: var(--font-size-md);
5962
+ }
5963
+
5964
+ .bc-indicator--count.bc-indicator--size-xl {
5965
+ font-size: var(--font-size-lg);
5966
+ }
5967
+
5968
+ /* Dark mode */
5969
+ .dark .bc-indicator__badge {
5970
+ background-color: var(--indicator-bg-dark);
5971
+ color: var(--indicator-text-dark);
5972
+ }
5973
+
5974
+ /* Accessibility */
5975
+ @media (prefers-reduced-motion: reduce) {
5976
+ .bc-indicator__badge {
5977
+ transition: none;
5978
+ }
5799
5979
  }
5800
5980
 
5801
5981
  /* Input Adornment Component */
@@ -5954,8 +6134,6 @@ a:focus-visible {
5954
6134
  flex-direction: row;
5955
6135
  align-items: center;
5956
6136
  min-width: 0;
5957
- /* Horizontal padding only; vertical padding comes from size classes */
5958
- padding-inline: var(--spacing-lg);
5959
6137
  }
5960
6138
 
5961
6139
  .bc-input-container__input--grow {
@@ -5973,6 +6151,7 @@ a:focus-visible {
5973
6151
  outline: none;
5974
6152
  font: inherit;
5975
6153
  color: inherit;
6154
+ line-height: 1.1;
5976
6155
  }
5977
6156
 
5978
6157
  /* Normalize native element heights for consistent input container sizing */
@@ -5983,6 +6162,11 @@ a:focus-visible {
5983
6162
  line-height: var(--line-height-none);
5984
6163
  }
5985
6164
 
6165
+ .bc-input-container textarea {
6166
+ resize: vertical;
6167
+ line-height: var(--line-height-normal);
6168
+ }
6169
+
5986
6170
  /* Password toggle button */
5987
6171
  .bc-input-container__password-toggle {
5988
6172
  font-size: var(--font-size-sm);
@@ -6036,11 +6220,25 @@ a:focus-visible {
6036
6220
  align-items: center;
6037
6221
  }
6038
6222
 
6039
- /* Tags input text field */
6040
- .bc-input-container .bc-input-container__tags-input {
6041
- min-width: 8rem;
6042
- flex-shrink: 0;
6043
- display: inline-flex;
6223
+ /* Tags selector (dropdown trigger area in select-tags) */
6224
+ .bc-input-container__tags-selector {
6225
+ flex-grow: 1;
6226
+ background-color: transparent;
6227
+ min-width: 100px;
6228
+ min-height: var(--spacing-lg);
6229
+ align-self: stretch;
6230
+ justify-self: stretch;
6231
+ display: flex;
6232
+ align-items: center;
6233
+ justify-content: flex-end;
6234
+ gap: var(--spacing-stack-sm, var(--spacing-md));
6235
+ }
6236
+
6237
+ /* Tags input text field */
6238
+ .bc-input-container .bc-input-container__tags-input {
6239
+ min-width: 8rem;
6240
+ flex-shrink: 0;
6241
+ display: inline-flex;
6044
6242
  width: auto;
6045
6243
  flex-grow: 1;
6046
6244
  }
@@ -9670,6 +9868,8 @@ a:focus-visible {
9670
9868
  overflow: hidden;
9671
9869
  width: 100%;
9672
9870
  height: 100%;
9871
+ outline: none;
9872
+ touch-action: none;
9673
9873
  }
9674
9874
 
9675
9875
  .bc-nine-slice-pane-container {
@@ -9677,18 +9877,27 @@ a:focus-visible {
9677
9877
  overflow: hidden;
9678
9878
  top: 0;
9679
9879
  left: 0;
9880
+ bottom: 0;
9881
+ right: 0;
9680
9882
  }
9681
9883
 
9682
9884
  .bc-nine-slice-pane {
9683
9885
  position: absolute;
9684
9886
  overflow: visible;
9685
9887
  }
9888
+
9889
+ .bc-nine-slice-pane-content {
9890
+ will-change: transform;
9891
+ }
9892
+
9893
+ /* Z-index layering: corners > sidebars > header/footer > body */
9686
9894
  .bc-nine-slice-top-start {
9687
9895
  z-index: 60;
9688
9896
  }
9689
9897
 
9690
9898
  .bc-nine-slice-header {
9691
9899
  z-index: 20;
9900
+ overflow: hidden;
9692
9901
  }
9693
9902
 
9694
9903
  .bc-nine-slice-top-end {
@@ -9697,14 +9906,17 @@ a:focus-visible {
9697
9906
 
9698
9907
  .bc-nine-slice-sidebar-start {
9699
9908
  z-index: 30;
9909
+ overflow: hidden;
9700
9910
  }
9701
9911
 
9702
9912
  .bc-nine-slice-body {
9703
9913
  z-index: 10;
9914
+ overflow: hidden;
9704
9915
  }
9705
9916
 
9706
9917
  .bc-nine-slice-sidebar-end {
9707
9918
  z-index: 40;
9919
+ overflow: hidden;
9708
9920
  }
9709
9921
 
9710
9922
  .bc-nine-slice-bottom-start {
@@ -9713,12 +9925,94 @@ a:focus-visible {
9713
9925
 
9714
9926
  .bc-nine-slice-footer {
9715
9927
  z-index: 50;
9928
+ overflow: hidden;
9716
9929
  }
9717
9930
 
9718
9931
  .bc-nine-slice-bottom-end {
9719
9932
  z-index: 90;
9720
9933
  }
9721
9934
 
9935
+ /* Scrollbar shared */
9936
+ .bc-nine-slice-scrollbar {
9937
+ position: absolute;
9938
+ z-index: 100;
9939
+ }
9940
+
9941
+ .bc-nine-slice-scrollbar-track {
9942
+ position: relative;
9943
+ width: 100%;
9944
+ height: 100%;
9945
+ background-color: var(--color-base-200);
9946
+ border-radius: 8px;
9947
+ }
9948
+
9949
+ .bc-nine-slice-scrollbar-thumb {
9950
+ position: absolute;
9951
+ border-radius: 8px;
9952
+ background-color: var(--color-base-400);
9953
+ cursor: grab;
9954
+ transition: background-color 150ms ease;
9955
+ }
9956
+
9957
+ .bc-nine-slice-scrollbar-thumb:hover {
9958
+ background-color: var(--color-base-500);
9959
+ }
9960
+
9961
+ .bc-nine-slice-scrollbar-thumb:active,
9962
+ .bc-nine-slice-scrollbar-thumb--dragging {
9963
+ background-color: var(--color-base-600);
9964
+ cursor: grabbing;
9965
+ }
9966
+
9967
+ /* Horizontal scrollbar */
9968
+ .bc-nine-slice-scrollbar--horizontal {
9969
+ left: 0;
9970
+ bottom: 0;
9971
+ height: 12px;
9972
+ }
9973
+
9974
+ .bc-nine-slice-scrollbar--horizontal .bc-nine-slice-scrollbar-thumb {
9975
+ top: 0;
9976
+ height: 100%;
9977
+ min-width: 24px;
9978
+ }
9979
+
9980
+ /* Vertical scrollbar */
9981
+ .bc-nine-slice-scrollbar--vertical {
9982
+ top: 0;
9983
+ right: 0;
9984
+ width: 12px;
9985
+ }
9986
+
9987
+ .bc-nine-slice-scrollbar--vertical .bc-nine-slice-scrollbar-thumb {
9988
+ left: 0;
9989
+ width: 100%;
9990
+ min-height: 24px;
9991
+ }
9992
+
9993
+ /* Hidden state */
9994
+ .bc-nine-slice-scrollbar--hidden {
9995
+ display: none;
9996
+ }
9997
+
9998
+ /* Dark mode */
9999
+ .dark .bc-nine-slice-scrollbar-track {
10000
+ background-color: var(--color-base-800);
10001
+ }
10002
+
10003
+ .dark .bc-nine-slice-scrollbar-thumb {
10004
+ background-color: var(--color-base-600);
10005
+ }
10006
+
10007
+ .dark .bc-nine-slice-scrollbar-thumb:hover {
10008
+ background-color: var(--color-base-500);
10009
+ }
10010
+
10011
+ .dark .bc-nine-slice-scrollbar-thumb:active,
10012
+ .dark .bc-nine-slice-scrollbar-thumb--dragging {
10013
+ background-color: var(--color-base-400);
10014
+ }
10015
+
9722
10016
  /* Number Input Component */
9723
10017
  .bc-number-input {
9724
10018
  text-align: end;
@@ -9797,6 +10091,11 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9797
10091
  var(--motion-easing-emphasis, cubic-bezier(0.33, 1, 0.68, 1));
9798
10092
  }
9799
10093
 
10094
+ /* When portaled to body, use fixed positioning to avoid layout interference */
10095
+ .bc-overlay--container-body {
10096
+ position: fixed;
10097
+ }
10098
+
9800
10099
  .bc-overlay[data-status='start-opening'],
9801
10100
  .bc-overlay[data-status='closing'] {
9802
10101
  backdrop-filter: blur(0);
@@ -9904,7 +10203,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9904
10203
  @layer components {
9905
10204
  .bc-announcement-bar {
9906
10205
  --announcement-bar-bg-color: var(--color-primary-600);
9907
- --announcement-bar-text-color: #ffffff;
10206
+ --announcement-bar-text-color: var(--color-white);
9908
10207
 
9909
10208
  position: absolute;
9910
10209
  top: 0;
@@ -9929,6 +10228,11 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9929
10228
  max-width: min(90%, 800px);
9930
10229
  }
9931
10230
 
10231
+ /* When portaled to body, use fixed positioning */
10232
+ body > .bc-announcement-bar {
10233
+ position: fixed;
10234
+ }
10235
+
9932
10236
  .bc-announcement-bar__content {
9933
10237
  display: flex;
9934
10238
  align-items: center;
@@ -9960,7 +10264,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9960
10264
 
9961
10265
  .bc-announcement-bar--dismissible .bc-announcement-bar__close button:hover {
9962
10266
  opacity: 1;
9963
- background-color: rgba(255, 255, 255, 0.1);
10267
+ background-color: color-mix(in srgb, var(--color-white) 10%, transparent);
9964
10268
  }
9965
10269
 
9966
10270
  /* Responsive adjustments */
@@ -10040,6 +10344,15 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10040
10344
 
10041
10345
  /* Pagination Component */
10042
10346
  .bc-pagination {
10347
+ --pagination-active-bg: var(--color-primary-500);
10348
+ --pagination-active-text: var(--color-white);
10349
+ --pagination-active-border: transparent;
10350
+ --pagination-active-bg-dark: var(--color-primary-600);
10351
+ --pagination-active-text-dark: var(--color-white);
10352
+ --pagination-active-border-dark: transparent;
10353
+ --pagination-hover-bg: var(--color-base-100);
10354
+ --pagination-hover-bg-dark: var(--color-base-700);
10355
+
10043
10356
  display: flex;
10044
10357
  align-items: center;
10045
10358
  gap: var(--spacing-xs);
@@ -10075,8 +10388,8 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10075
10388
  user-select: none;
10076
10389
  }
10077
10390
 
10078
- .bc-pagination__item:hover:not(:disabled) {
10079
- background-color: var(--color-base-100);
10391
+ .bc-pagination__item:hover:not(:disabled):not(.bc-pagination__item--active) {
10392
+ background-color: var(--pagination-hover-bg);
10080
10393
  color: var(--color-base-900);
10081
10394
  }
10082
10395
 
@@ -10086,20 +10399,6 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10086
10399
  z-index: 1;
10087
10400
  }
10088
10401
 
10089
- /* Active Page */
10090
- .bc-pagination__item--active {
10091
- background-color: var(--color-primary-500);
10092
- color: var(--color-white);
10093
- border-color: transparent;
10094
- font-weight: var(--font-weight-semibold);
10095
- cursor: default;
10096
- }
10097
-
10098
- .bc-pagination__item--active:hover {
10099
- background-color: var(--color-primary-500);
10100
- color: var(--color-white);
10101
- }
10102
-
10103
10402
  /* Disabled State */
10104
10403
  .bc-pagination__item:disabled {
10105
10404
  opacity: 0.4;
@@ -10123,7 +10422,97 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10123
10422
  user-select: none;
10124
10423
  }
10125
10424
 
10126
- /* Size Variants */
10425
+ /* ------------------------------------------------------------------ */
10426
+ /* Variant: filled (default) */
10427
+ /* ------------------------------------------------------------------ */
10428
+ .bc-pagination--variant-filled .bc-pagination__item--active {
10429
+ background-color: var(--pagination-active-bg);
10430
+ color: var(--pagination-active-text);
10431
+ border-color: transparent;
10432
+ font-weight: var(--font-weight-semibold);
10433
+ cursor: default;
10434
+ }
10435
+
10436
+ /* ------------------------------------------------------------------ */
10437
+ /* Variant: outline */
10438
+ /* ------------------------------------------------------------------ */
10439
+ .bc-pagination--variant-outline .bc-pagination__item {
10440
+ border-color: var(--pagination-item-border, var(--color-base-300));
10441
+ }
10442
+
10443
+ .bc-pagination--variant-outline .bc-pagination__item--active {
10444
+ background-color: var(--pagination-active-bg);
10445
+ color: var(--pagination-active-text);
10446
+ border-color: var(--pagination-active-border);
10447
+ border-width: var(--border-width-default);
10448
+ font-weight: var(--font-weight-semibold);
10449
+ cursor: default;
10450
+ }
10451
+
10452
+ /* ------------------------------------------------------------------ */
10453
+ /* Variant: light */
10454
+ /* ------------------------------------------------------------------ */
10455
+ .bc-pagination--variant-light .bc-pagination__item {
10456
+ background-color: var(--pagination-item-bg, var(--color-base-100));
10457
+ }
10458
+
10459
+ .bc-pagination--variant-light .bc-pagination__item--active {
10460
+ background-color: var(--pagination-active-bg);
10461
+ color: var(--pagination-active-text);
10462
+ border-color: transparent;
10463
+ font-weight: var(--font-weight-semibold);
10464
+ cursor: default;
10465
+ }
10466
+
10467
+ /* ------------------------------------------------------------------ */
10468
+ /* Variant: subtle */
10469
+ /* ------------------------------------------------------------------ */
10470
+ .bc-pagination--variant-subtle .bc-pagination__item {
10471
+ border-radius: 0;
10472
+ border: none;
10473
+ border-bottom: 2px solid transparent;
10474
+ }
10475
+
10476
+ .bc-pagination--variant-subtle .bc-pagination__item--active {
10477
+ background-color: transparent;
10478
+ color: var(--pagination-active-text);
10479
+ border-bottom-color: var(--pagination-active-text);
10480
+ font-weight: var(--font-weight-bold);
10481
+ cursor: default;
10482
+ }
10483
+
10484
+ .bc-pagination--variant-subtle
10485
+ .bc-pagination__item:hover:not(:disabled):not(.bc-pagination__item--active) {
10486
+ background-color: transparent;
10487
+ border-bottom-color: var(--color-base-300);
10488
+ }
10489
+
10490
+ .bc-pagination--variant-subtle .bc-pagination__dots {
10491
+ border-bottom: 2px solid transparent;
10492
+ }
10493
+
10494
+ /* ------------------------------------------------------------------ */
10495
+ /* Variant: pill */
10496
+ /* ------------------------------------------------------------------ */
10497
+ .bc-pagination--variant-pill .bc-pagination__item {
10498
+ border-radius: var(--radius-full);
10499
+ }
10500
+
10501
+ .bc-pagination--variant-pill .bc-pagination__item--active {
10502
+ background-color: var(--pagination-active-bg);
10503
+ color: var(--pagination-active-text);
10504
+ border-color: transparent;
10505
+ font-weight: var(--font-weight-semibold);
10506
+ cursor: default;
10507
+ }
10508
+
10509
+ .bc-pagination--variant-pill .bc-pagination__dots {
10510
+ border-radius: var(--radius-full);
10511
+ }
10512
+
10513
+ /* ------------------------------------------------------------------ */
10514
+ /* Size Variants */
10515
+ /* ------------------------------------------------------------------ */
10127
10516
  .bc-pagination--size-xs .bc-pagination__item,
10128
10517
  .bc-pagination--size-xs .bc-pagination__dots {
10129
10518
  min-width: var(--spacing-xl);
@@ -10159,24 +10548,63 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10159
10548
  font-size: var(--font-size-xl);
10160
10549
  }
10161
10550
 
10162
- /* Dark Mode Support */
10551
+ /* ------------------------------------------------------------------ */
10552
+ /* Dark Mode */
10553
+ /* ------------------------------------------------------------------ */
10163
10554
  .dark .bc-pagination__item {
10164
10555
  color: var(--color-base-300);
10165
10556
  }
10166
10557
 
10167
- .dark .bc-pagination__item:hover:not(:disabled) {
10168
- background-color: var(--color-base-700);
10558
+ .dark
10559
+ .bc-pagination__item:hover:not(:disabled):not(.bc-pagination__item--active) {
10560
+ background-color: var(--pagination-hover-bg-dark);
10169
10561
  color: var(--color-base-100);
10170
10562
  }
10171
10563
 
10172
- .dark .bc-pagination__item--active {
10173
- background-color: var(--color-primary-600);
10174
- color: var(--color-white);
10564
+ /* Dark: filled */
10565
+ .dark .bc-pagination--variant-filled .bc-pagination__item--active {
10566
+ background-color: var(--pagination-active-bg-dark);
10567
+ color: var(--pagination-active-text-dark);
10175
10568
  }
10176
10569
 
10177
- .dark .bc-pagination__item--active:hover {
10178
- background-color: var(--color-primary-600);
10179
- color: var(--color-white);
10570
+ /* Dark: outline */
10571
+ .dark .bc-pagination--variant-outline .bc-pagination__item {
10572
+ border-color: var(--pagination-item-border-dark, var(--color-base-600));
10573
+ }
10574
+
10575
+ .dark .bc-pagination--variant-outline .bc-pagination__item--active {
10576
+ background-color: var(--pagination-active-bg-dark);
10577
+ color: var(--pagination-active-text-dark);
10578
+ border-color: var(--pagination-active-border-dark);
10579
+ }
10580
+
10581
+ /* Dark: light */
10582
+ .dark .bc-pagination--variant-light .bc-pagination__item {
10583
+ background-color: var(--pagination-item-bg-dark, var(--color-base-800));
10584
+ }
10585
+
10586
+ .dark .bc-pagination--variant-light .bc-pagination__item--active {
10587
+ background-color: var(--pagination-active-bg-dark);
10588
+ color: var(--pagination-active-text-dark);
10589
+ }
10590
+
10591
+ /* Dark: subtle */
10592
+ .dark .bc-pagination--variant-subtle .bc-pagination__item--active {
10593
+ color: var(--pagination-active-text-dark);
10594
+ border-bottom-color: var(--pagination-active-text-dark);
10595
+ }
10596
+
10597
+ .dark
10598
+ .bc-pagination--variant-subtle
10599
+ .bc-pagination__item:hover:not(:disabled):not(.bc-pagination__item--active) {
10600
+ background-color: transparent;
10601
+ border-bottom-color: var(--color-base-600);
10602
+ }
10603
+
10604
+ /* Dark: pill */
10605
+ .dark .bc-pagination--variant-pill .bc-pagination__item--active {
10606
+ background-color: var(--pagination-active-bg-dark);
10607
+ color: var(--pagination-active-text-dark);
10180
10608
  }
10181
10609
 
10182
10610
  .dark .bc-pagination__item:disabled:hover {
@@ -10188,21 +10616,22 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10188
10616
  color: var(--color-base-600);
10189
10617
  }
10190
10618
 
10191
- /* Reduced Motion Support */
10619
+ /* ------------------------------------------------------------------ */
10620
+ /* Reduced Motion & High Contrast */
10621
+ /* ------------------------------------------------------------------ */
10192
10622
  @media (prefers-reduced-motion: reduce) {
10193
10623
  .bc-pagination__item {
10194
10624
  transition: none;
10195
10625
  }
10196
10626
  }
10197
10627
 
10198
- /* High Contrast Mode Support */
10199
10628
  @media (prefers-contrast: high) {
10200
10629
  .bc-pagination__item {
10201
10630
  border-width: var(--border-width-medium);
10202
10631
  }
10203
10632
 
10204
10633
  .bc-pagination__item--active {
10205
- border-color: var(--color-primary-700);
10634
+ border-color: var(--pagination-active-border, var(--pagination-active-bg));
10206
10635
  }
10207
10636
 
10208
10637
  .bc-pagination__item:focus-visible {
@@ -10448,7 +10877,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10448
10877
  .bc-presence-highlight {
10449
10878
  background-color: color-mix(
10450
10879
  in srgb,
10451
- var(--presence-color, #2563eb) 12%,
10880
+ var(--presence-color, var(--color-primary-600)) 12%,
10452
10881
  transparent
10453
10882
  );
10454
10883
  border-radius: 1px;
@@ -10469,7 +10898,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10469
10898
  left: 0;
10470
10899
  width: 2px;
10471
10900
  height: calc(1em + 4px);
10472
- background: var(--presence-color, #2563eb);
10901
+ background: var(--presence-color, var(--color-primary-600));
10473
10902
  border-radius: 1px;
10474
10903
  }
10475
10904
 
@@ -10478,8 +10907,8 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10478
10907
  bottom: calc(100% + 2px);
10479
10908
  left: -1px;
10480
10909
  padding: 1px 6px;
10481
- background: var(--presence-color, #2563eb);
10482
- color: #fff;
10910
+ background: var(--presence-color, var(--color-primary-600));
10911
+ color: var(--color-white);
10483
10912
  font-size: 9px;
10484
10913
  font-weight: var(--font-weight-medium, 500);
10485
10914
  white-space: nowrap;
@@ -10531,7 +10960,6 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10531
10960
  position: relative;
10532
10961
  width: 100%;
10533
10962
  overflow: hidden;
10534
- border-radius: var(--radius-control, var(--radius-full));
10535
10963
  }
10536
10964
 
10537
10965
  .bc-progress-bar__track {
@@ -10555,14 +10983,17 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10555
10983
  /* Size variants */
10556
10984
  .bc-progress-bar--size-sm {
10557
10985
  height: var(--spacing-base);
10986
+ min-width: var(--spacing-2xl);
10558
10987
  }
10559
10988
 
10560
10989
  .bc-progress-bar--size-md {
10561
10990
  height: var(--spacing-md);
10991
+ min-width: var(--spacing-3xl);
10562
10992
  }
10563
10993
 
10564
10994
  .bc-progress-bar--size-lg {
10565
10995
  height: var(--spacing-mdh);
10996
+ min-width: var(--spacing-4xl);
10566
10997
  }
10567
10998
 
10568
10999
  /* Indeterminate state - animated sliding bar */
@@ -10671,18 +11102,14 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10671
11102
  isolation: isolate;
10672
11103
  }
10673
11104
 
10674
- /* Smooth scrolling for better UX */
10675
- .bc-scrollable-panel__body {
10676
- scroll-behavior: smooth;
10677
- }
10678
-
10679
- .bc-scrollable-panel--scrolled-down .bc-scrollable-panel--header-shadow,
10680
- .bc-scrollable-panel--scrolled-up .bc-scrollable-panel--footer-shadow {
11105
+ /* Shadow containers always positioned, visibility controlled by opacity */
11106
+ .bc-scrollable-panel--header-shadow,
11107
+ .bc-scrollable-panel--footer-shadow {
10681
11108
  position: relative;
10682
11109
  width: 100%;
10683
11110
  flex-shrink: 0;
10684
- height: 0px;
10685
- z-index: 2;
11111
+ height: 0;
11112
+ z-index: 3;
10686
11113
  pointer-events: none;
10687
11114
  }
10688
11115
 
@@ -10691,26 +11118,30 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10691
11118
  width: 100%;
10692
11119
  height: var(--spacing-lgh);
10693
11120
  position: absolute;
10694
- transition: box-shadow
10695
- var(--motion-transition-slow, var(--motion-duration-slow, 0.5s))
11121
+ opacity: 0;
11122
+ transition: opacity
11123
+ var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
10696
11124
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
10697
- box-shadow: var(--shadow-scrollable-panel-idle, 0 0 0 transparent);
10698
- background-color: transparent;
10699
11125
  }
10700
11126
 
10701
11127
  .bc-scrollable-panel--header-shadow > div {
10702
11128
  bottom: 0;
10703
- }
10704
-
10705
- .bc-scrollable-panel--scrolled-down .bc-scrollable-panel--header-shadow > div {
10706
11129
  box-shadow: var(--shadow-surface-elevated, var(--shadow-md));
10707
11130
  }
10708
11131
 
10709
11132
  .bc-scrollable-panel--footer-shadow > div {
10710
11133
  top: 0;
11134
+ box-shadow: var(--shadow-top-md, 0 -2px 6px rgba(0, 0, 0, 0.08));
11135
+ }
11136
+
11137
+ /* Show header shadow when scrolled down */
11138
+ .bc-scrollable-panel--scrolled-down .bc-scrollable-panel--header-shadow > div {
11139
+ opacity: 1;
10711
11140
  }
11141
+
11142
+ /* Show footer shadow when scrolled up (content below) */
10712
11143
  .bc-scrollable-panel--scrolled-up .bc-scrollable-panel--footer-shadow > div {
10713
- box-shadow: var(--shadow-top-md);
11144
+ opacity: 1;
10714
11145
  }
10715
11146
 
10716
11147
  /* Custom scrollbar styling (webkit browsers) */
@@ -10801,7 +11232,6 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10801
11232
  cursor: pointer;
10802
11233
  white-space: nowrap;
10803
11234
  font-weight: var(--font-weight-semibold);
10804
- text-transform: capitalize;
10805
11235
  color: var(--color-base-700);
10806
11236
  transition: color
10807
11237
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
@@ -10959,10 +11389,35 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10959
11389
  color: var(--text-normal);
10960
11390
  }
10961
11391
 
10962
- /* Dark background mode - inverted colors */
11392
+ /* Dark background mode - override semantic tokens to invert colors */
10963
11393
  .bc-sidebar--dark-bg {
10964
- background-color: var(--bg-background);
10965
- color: var(--text-normal);
11394
+ --bg-background: var(--bg-background-dark);
11395
+ --bg-surface: var(--bg-surface-dark);
11396
+ --text-normal: var(--text-normal-dark);
11397
+ --text-muted: var(--text-muted-dark);
11398
+ --text-inverted: var(--text-inverted-dark);
11399
+ --border-default: var(--border-border-dark);
11400
+ --border-divider: var(--border-divider-dark);
11401
+ --border-input: var(--border-input-dark);
11402
+ --border-strong: var(--border-strong-dark);
11403
+ --interactive-hover: var(--interactive-hover-dark);
11404
+ --interactive-active: var(--interactive-active-dark);
11405
+ --interactive-focus: var(--interactive-focus-dark);
11406
+ }
11407
+
11408
+ .dark .bc-sidebar--dark-bg {
11409
+ --bg-background: var(--bg-background-light);
11410
+ --bg-surface: var(--bg-surface-light);
11411
+ --text-normal: var(--text-normal-light);
11412
+ --text-muted: var(--text-muted-light);
11413
+ --text-inverted: var(--text-inverted-light);
11414
+ --border-default: var(--border-border-light);
11415
+ --border-divider: var(--border-divider-light);
11416
+ --border-input: var(--border-input-light);
11417
+ --border-strong: var(--border-strong-light);
11418
+ --interactive-hover: var(--interactive-hover-light);
11419
+ --interactive-active: var(--interactive-active-light);
11420
+ --interactive-focus: var(--interactive-focus-light);
10966
11421
  }
10967
11422
 
10968
11423
  .bc-sidebar-link {
@@ -10986,6 +11441,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10986
11441
 
10987
11442
  .bc-sidebar-link__content {
10988
11443
  flex: 1;
11444
+ text-align: start;
10989
11445
  }
10990
11446
 
10991
11447
  button.bc-sidebar-link:hover,
@@ -10997,6 +11453,25 @@ a.bc-sidebar-link:hover {
10997
11453
  span.bc-sidebar-link {
10998
11454
  font-weight: var(--font-weight-medium);
10999
11455
  width: 100%;
11456
+ background-color: var(--color-primary-50);
11457
+ color: var(--color-primary-700);
11458
+ border-radius: var(--radius-md);
11459
+ }
11460
+
11461
+ .dark span.bc-sidebar-link {
11462
+ background-color: var(--color-primary-950);
11463
+ color: var(--color-primary-200);
11464
+ }
11465
+
11466
+ /* Dark bg inverts the active link colors */
11467
+ .bc-sidebar--dark-bg span.bc-sidebar-link {
11468
+ background-color: var(--color-primary-950);
11469
+ color: var(--color-primary-200);
11470
+ }
11471
+
11472
+ .dark .bc-sidebar--dark-bg span.bc-sidebar-link {
11473
+ background-color: var(--color-primary-50);
11474
+ color: var(--color-primary-700);
11000
11475
  }
11001
11476
 
11002
11477
  .bc-sidebar-link--icon {
@@ -11061,83 +11536,41 @@ span.bc-sidebar-link {
11061
11536
  transform: rotate(-90deg);
11062
11537
  }
11063
11538
 
11064
- /* Dark mode styles */
11065
- .dark span.bc-sidebar-link {
11066
- color: var(--color-primary-200);
11067
- }
11068
-
11069
- /* Dark background mode styles - inverted colors in light theme */
11070
- .bc-sidebar--dark-bg button.bc-sidebar-link:hover,
11071
- .bc-sidebar--dark-bg a.bc-sidebar-link:hover {
11072
- background-color: var(--interactive-hover);
11539
+ .bc-sidebar-separator {
11540
+ border: none;
11541
+ border-top: var(--border-width-thin) solid var(--border-default);
11542
+ margin: var(--spacing-md) 0;
11073
11543
  }
11074
11544
 
11075
- .bc-sidebar--dark-bg span.bc-sidebar-link {
11076
- color: var(--color-primary-200);
11077
- }
11078
-
11079
- .bc-sidebar--dark-bg .bc-sidebar-link {
11080
- color: var(--text-normal);
11081
- }
11082
-
11083
- .bc-sidebar--dark-bg .bc-sidebar-link--icon {
11084
- color: var(--text-muted);
11085
- }
11086
-
11087
- .bc-sidebar--dark-bg .bc-sidebar-link--action {
11088
- color: var(--text-normal);
11089
- border: var(--border-width-thin) solid var(--border-default);
11090
- }
11091
-
11092
- .bc-sidebar--dark-bg .bc-sidebar-link--action:hover {
11093
- background-color: var(--interactive-hover);
11094
- border-color: var(--border-divider);
11095
- }
11096
-
11097
- .bc-sidebar--dark-bg .bc-sidebar-group--rail {
11098
- border-inline-start: var(--border-width-thin) solid var(--border-default);
11099
- }
11100
-
11101
- /* Dark background mode in dark theme - inverted back to light colors */
11102
- .dark .bc-sidebar--dark-bg span.bc-sidebar-link {
11103
- color: var(--color-primary-700);
11104
- }
11105
-
11106
- .bc-sidebar-separator {
11107
- border: none;
11108
- border-top: var(--border-width-thin) solid var(--border-default);
11109
- margin: var(--spacing-md) 0;
11110
- }
11111
-
11112
- /* Sink Component */
11113
- .bc-sink {
11114
- display: flex;
11115
- flex-direction: column;
11116
- border-radius: var(--radius-surface, var(--radius-lg));
11117
- border: var(--border-width-thin) solid var(--color-base-300);
11118
- padding: var(--spacing-md);
11119
- box-shadow: var(
11120
- --shadow-sink,
11121
- inset 0 0 0.25rem color-mix(in srgb, var(--color-black) 20%, transparent)
11122
- );
11123
- background-color: var(--color-base-50);
11124
- transition: all
11125
- var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
11126
- var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
11545
+ /* Sink Component */
11546
+ .bc-sink {
11547
+ display: flex;
11548
+ flex-direction: column;
11549
+ border-radius: var(--radius-surface, var(--radius-lg));
11550
+ border: var(--border-width-thin) solid var(--color-base-300);
11551
+ padding: var(--spacing-md);
11552
+ box-shadow: var(
11553
+ --shadow-sink,
11554
+ inset 0 1px 3px color-mix(in srgb, var(--color-black) 8%, transparent)
11555
+ );
11556
+ background-color: var(--color-base-50);
11557
+ transition: all
11558
+ var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
11559
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
11127
11560
  }
11128
11561
 
11129
11562
  /* Sink variants */
11130
11563
  .bc-sink--deep {
11131
11564
  box-shadow: var(
11132
11565
  --shadow-sink-deep,
11133
- inset 0 0 0.5rem color-mix(in srgb, var(--color-black) 30%, transparent)
11566
+ inset 0 2px 6px color-mix(in srgb, var(--color-black) 12%, transparent)
11134
11567
  );
11135
11568
  }
11136
11569
 
11137
11570
  .bc-sink--shallow {
11138
11571
  box-shadow: var(
11139
11572
  --shadow-sink-shallow,
11140
- inset 0 0 0.125rem color-mix(in srgb, var(--color-black) 10%, transparent)
11573
+ inset 0 1px 2px color-mix(in srgb, var(--color-black) 5%, transparent)
11141
11574
  );
11142
11575
  }
11143
11576
 
@@ -11228,7 +11661,6 @@ span.bc-sidebar-link {
11228
11661
 
11229
11662
  display: block;
11230
11663
  background-color: var(--skeleton-bg);
11231
- border-radius: var(--radius-control, var(--radius-sm));
11232
11664
  overflow: hidden;
11233
11665
  position: relative;
11234
11666
  }
@@ -11318,15 +11750,15 @@ span.bc-sidebar-link {
11318
11750
  }
11319
11751
 
11320
11752
  .bc-stack--gap-1 {
11321
- gap: var(--spacing-stack-xs, var(--spacing-sm));
11753
+ gap: var(--spacing-xs);
11322
11754
  }
11323
11755
 
11324
11756
  .bc-stack--gap-2 {
11325
- gap: var(--spacing-stack-sm, var(--spacing-md));
11757
+ gap: var(--spacing-sm);
11326
11758
  }
11327
11759
 
11328
11760
  .bc-stack--gap-4 {
11329
- gap: var(--spacing-stack-lg, var(--spacing-lg));
11761
+ gap: var(--spacing-lg);
11330
11762
  }
11331
11763
 
11332
11764
  .bc-stack--align-center {
@@ -11338,144 +11770,6 @@ span.bc-sidebar-link {
11338
11770
  width: 100%;
11339
11771
  }
11340
11772
 
11341
- /* Tag Component */
11342
- .bc-tag {
11343
- --tag-bg: var(--bg-subtle);
11344
- --tag-bg-dark: var(--bg-elevated);
11345
- --tag-text: var(--text-normal);
11346
- --tag-text-dark: var(--text-normal);
11347
- --tag-bg-hover: var(--tag-bg);
11348
- --tag-bg-hover-dark: var(--tag-bg-dark);
11349
- --tag-text-hover: var(--tag-text);
11350
- --tag-text-hover-dark: var(--tag-text-dark);
11351
- --tag-border: transparent;
11352
- --tag-border-dark: transparent;
11353
-
11354
- display: inline-flex;
11355
- flex-direction: row;
11356
- align-items: center;
11357
- border-radius: var(--radius-pill, var(--radius-full));
11358
- line-height: 1.2;
11359
- border: var(--border-width-thin) solid var(--tag-border);
11360
- transition: all
11361
- var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
11362
- var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
11363
- font-size: var(--font-size-md);
11364
- padding: 0 var(--spacing-md);
11365
- gap: var(--spacing-stack-sm, var(--spacing-md));
11366
- background-color: var(--tag-bg);
11367
- color: var(--tag-text);
11368
- font-family: var(
11369
- --font-family-default-ui,
11370
- var(--font-ui, var(--font-body, var(--font-family-sans)))
11371
- );
11372
- }
11373
-
11374
- .bc-tag:hover {
11375
- background-color: var(--tag-bg-hover);
11376
- color: var(--tag-text-hover);
11377
- }
11378
-
11379
- .bc-tag--xs {
11380
- font-size: var(--font-size-xs);
11381
- padding: 0 var(--spacing-sm);
11382
- }
11383
-
11384
- .bc-tag--sm {
11385
- font-size: var(--font-size-sm);
11386
- padding: 0 var(--spacing-smh);
11387
- }
11388
-
11389
- .bc-tag--lg {
11390
- font-size: var(--font-size-lg);
11391
- padding: 0 calc(var(--spacing-base) * 2.5);
11392
- }
11393
-
11394
- .bc-tag--xl {
11395
- font-size: var(--font-size-xl);
11396
- padding: 0 var(--spacing-mdh);
11397
- }
11398
-
11399
- .bc-tag:has(.bc-tag__close) {
11400
- padding-inline-end: calc(var(--spacing-base) * 0.5);
11401
- }
11402
-
11403
- /* Close button */
11404
- .bc-tag__close {
11405
- background: transparent;
11406
- color: var(--tag-text);
11407
- opacity: 0.6;
11408
- cursor: pointer;
11409
- display: flex;
11410
- align-items: center;
11411
- justify-content: center;
11412
- width: var(--spacing-lg);
11413
- height: var(--spacing-lg);
11414
- border-radius: var(--radius-full);
11415
- transition: all
11416
- var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
11417
- var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
11418
- border: var(--border-width-thin) solid transparent;
11419
- }
11420
-
11421
- .bc-tag__close:hover {
11422
- opacity: 1;
11423
- border-color: color-mix(in srgb, var(--tag-text) 30%, transparent);
11424
- }
11425
-
11426
- /* Disabled state via class */
11427
- .bc-tag.bc-tag--disabled {
11428
- opacity: 0.55;
11429
- filter: grayscale(0.4) saturate(0.8);
11430
- cursor: default;
11431
- }
11432
-
11433
- .bc-tag.bc-tag--disabled .bc-tag__close {
11434
- cursor: not-allowed;
11435
- opacity: 0.6;
11436
- pointer-events: none;
11437
- }
11438
-
11439
- /* Neutralize hover on disabled close button */
11440
- .bc-tag.bc-tag--disabled .bc-tag__close:hover {
11441
- color: inherit;
11442
- border-color: transparent;
11443
- }
11444
-
11445
- /* Dark mode styles */
11446
- .dark .bc-tag {
11447
- background-color: var(--tag-bg-dark);
11448
- color: var(--tag-text-dark);
11449
- border-color: var(--tag-border-dark);
11450
- }
11451
-
11452
- .dark .bc-tag:hover {
11453
- background-color: var(--tag-bg-hover-dark);
11454
- color: var(--tag-text-hover-dark);
11455
- }
11456
-
11457
- .dark .bc-tag__close {
11458
- color: var(--tag-text-dark);
11459
- }
11460
-
11461
- .dark .bc-tag__close:hover:not(:disabled) {
11462
- color: var(--tag-text-dark);
11463
- border-color: color-mix(in srgb, var(--tag-text-dark) 30%, transparent);
11464
- }
11465
-
11466
- .bc-input-container__tags-selector {
11467
- flex-grow: 1;
11468
- background-color: transparent;
11469
- min-width: 100px;
11470
- min-height: var(--spacing-lg);
11471
- align-self: stretch;
11472
- justify-self: stretch;
11473
- display: flex;
11474
- align-items: center;
11475
- justify-content: flex-end;
11476
- gap: var(--spacing-stack-sm, var(--spacing-md));
11477
- }
11478
-
11479
11773
  /* Switch Component */
11480
11774
  .bc-switch {
11481
11775
  display: inline-flex;
@@ -11944,6 +12238,7 @@ span.bc-sidebar-link {
11944
12238
  .bc-table--size-lg > tfoot > tr > th,
11945
12239
  .bc-table--size-lg > tfoot > tr > td {
11946
12240
  padding: var(--spacing-lg);
12241
+ font-size: var(--font-size-lg);
11947
12242
  }
11948
12243
 
11949
12244
  .bc-table--size-xl > thead > tr > th,
@@ -12112,13 +12407,14 @@ span.bc-sidebar-link {
12112
12407
  }
12113
12408
 
12114
12409
  .bc-tab:focus-visible {
12115
- outline: var(--outline-width-focus) solid var(--color-primary-500);
12410
+ outline: var(--outline-width-focus) solid
12411
+ var(--tabs-indicator-color, var(--color-primary-500));
12116
12412
  outline-offset: calc(-1 * var(--outline-width-focus));
12117
12413
  z-index: 1;
12118
12414
  }
12119
12415
 
12120
12416
  .bc-tab--active {
12121
- color: var(--color-primary-600);
12417
+ color: var(--tabs-active-color, var(--color-primary-600));
12122
12418
  background-color: var(--color-white);
12123
12419
  font-weight: var(--font-weight-semibold);
12124
12420
  cursor: default;
@@ -12127,7 +12423,7 @@ span.bc-sidebar-link {
12127
12423
  .bc-tab--active::after {
12128
12424
  content: '';
12129
12425
  position: absolute;
12130
- background-color: var(--color-primary-500);
12426
+ background-color: var(--tabs-indicator-color, var(--color-primary-500));
12131
12427
  transition: all var(--motion-transition-fast) var(--motion-easing-standard);
12132
12428
  }
12133
12429
 
@@ -12182,7 +12478,8 @@ span.bc-sidebar-link {
12182
12478
  }
12183
12479
 
12184
12480
  .bc-tabs__panel:focus-visible {
12185
- outline: var(--outline-width-focus) solid var(--color-primary-500);
12481
+ outline: var(--outline-width-focus) solid
12482
+ var(--tabs-indicator-color, var(--color-primary-500));
12186
12483
  outline-offset: calc(-1 * var(--outline-width-focus));
12187
12484
  }
12188
12485
 
@@ -12214,7 +12511,7 @@ span.bc-sidebar-link {
12214
12511
  }
12215
12512
 
12216
12513
  .dark .bc-tab--active {
12217
- color: var(--color-primary-400);
12514
+ color: var(--tabs-active-color-dark, var(--color-primary-400));
12218
12515
  background-color: var(--color-base-900);
12219
12516
  }
12220
12517
 
@@ -12254,28 +12551,6 @@ span.bc-sidebar-link {
12254
12551
  }
12255
12552
 
12256
12553
  /* Variants */
12257
- /* Text variant: minimal, link-like tabs */
12258
- .bc-tabs--variant-text .bc-tabs__list {
12259
- background-color: transparent;
12260
- border-bottom: none;
12261
- }
12262
- .bc-tabs--variant-text .bc-tab {
12263
- background: transparent;
12264
- color: var(--color-primary-600);
12265
- border-radius: 0;
12266
- }
12267
- .bc-tabs--variant-text .bc-tab:hover:not(.bc-tab--disabled) {
12268
- background: transparent;
12269
- text-decoration: underline;
12270
- }
12271
- .bc-tabs--variant-text .bc-tab--active {
12272
- background: transparent;
12273
- color: var(--color-primary-700);
12274
- font-weight: var(--font-weight-semibold);
12275
- }
12276
- .bc-tabs--variant-text .bc-tab--active::after {
12277
- display: none;
12278
- }
12279
12554
 
12280
12555
  /* Filled variant: inverted - inactive tabs filled with color, active is white */
12281
12556
  .bc-tabs--variant-filled .bc-tabs__list {
@@ -12326,31 +12601,36 @@ span.bc-sidebar-link {
12326
12601
  .bc-tabs--variant-outline .bc-tab {
12327
12602
  background-color: var(--color-base-50);
12328
12603
  border: var(--border-width-thin) solid var(--color-base-300);
12329
- border-bottom: var(--border-width-thin) solid var(--color-base-300);
12330
12604
  border-radius: var(--radius-control-sm, var(--radius-sm))
12331
12605
  var(--radius-control-sm, var(--radius-sm)) 0 0;
12332
12606
  }
12333
12607
  .bc-tabs--variant-outline .bc-tab--active {
12334
12608
  background-color: var(--color-white);
12335
- border-color: var(--color-primary-400);
12609
+ border-color: var(--tabs-outline-active-border, var(--color-primary-400));
12336
12610
  border-bottom-color: var(--color-white);
12337
12611
  }
12338
12612
  .bc-tabs--variant-outline .bc-tab--active::after {
12339
12613
  display: none;
12340
12614
  }
12341
-
12342
- /* Dark mode adjustments for variants */
12343
- .dark .bc-tabs--variant-text .bc-tabs__list {
12344
- background-color: transparent;
12345
- border-bottom: none;
12615
+ .bc-tabs--vertical.bc-tabs--variant-outline .bc-tabs__list {
12616
+ border-right: none;
12346
12617
  }
12347
- .dark .bc-tabs--variant-text .bc-tab {
12348
- color: var(--color-primary-300);
12618
+ .bc-tabs--vertical.bc-tabs--variant-outline .bc-tab {
12619
+ border-radius: var(--radius-control-sm, var(--radius-sm)) 0 0
12620
+ var(--radius-control-sm, var(--radius-sm));
12349
12621
  }
12350
- .dark .bc-tabs--variant-text .bc-tab--active {
12351
- color: var(--color-primary-200);
12622
+ .bc-tabs--variant-outline .bc-tab--active {
12623
+ color: var(--tabs-active-color, var(--color-primary-600));
12624
+ }
12625
+ .bc-tabs--vertical.bc-tabs--variant-outline .bc-tab--active {
12626
+ border-bottom-color: var(
12627
+ --tabs-outline-active-border,
12628
+ var(--color-primary-400)
12629
+ );
12630
+ border-right-color: var(--color-white);
12352
12631
  }
12353
12632
 
12633
+ /* Dark mode adjustments for variants */
12354
12634
  .dark .bc-tabs--variant-filled .bc-tab {
12355
12635
  background-color: var(--tabs-filled-inactive-bg-dark);
12356
12636
  color: var(--tabs-filled-inactive-text-dark);
@@ -12377,9 +12657,20 @@ span.bc-sidebar-link {
12377
12657
  }
12378
12658
  .dark .bc-tabs--variant-outline .bc-tab--active {
12379
12659
  background-color: var(--color-base-900);
12380
- border-color: var(--color-primary-600);
12660
+ color: var(--tabs-active-color-dark, var(--color-primary-400));
12661
+ border-color: var(
12662
+ --tabs-outline-active-border-dark,
12663
+ var(--color-primary-600)
12664
+ );
12381
12665
  border-bottom-color: var(--color-base-900);
12382
12666
  }
12667
+ .dark .bc-tabs--vertical.bc-tabs--variant-outline .bc-tab--active {
12668
+ border-bottom-color: var(
12669
+ --tabs-outline-active-border-dark,
12670
+ var(--color-primary-600)
12671
+ );
12672
+ border-right-color: var(--color-base-900);
12673
+ }
12383
12674
 
12384
12675
  /* Underline variant: minimal, clean underline style */
12385
12676
  .bc-tabs--variant-underline .bc-tabs__list {
@@ -12421,16 +12712,29 @@ span.bc-sidebar-link {
12421
12712
  }
12422
12713
 
12423
12714
  .bc-tabs--variant-underline .bc-tab--active {
12424
- color: var(--color-primary-600);
12715
+ color: var(--tabs-active-color, var(--color-primary-600));
12425
12716
  background-color: transparent;
12426
12717
  font-weight: var(--font-weight-medium);
12427
12718
  }
12428
12719
 
12429
12720
  .bc-tabs--variant-underline .bc-tab--active::after {
12430
- background-color: var(--color-primary-500);
12721
+ background-color: var(--tabs-indicator-color, var(--color-primary-500));
12431
12722
  bottom: calc(-1 * var(--spacing-px));
12432
12723
  height: var(--spacing-xs);
12433
12724
  }
12725
+ .bc-tabs--vertical.bc-tabs--variant-underline .bc-tabs__list {
12726
+ border-bottom: none;
12727
+ border-right: var(--border-width-thin) solid var(--color-base-200);
12728
+ }
12729
+ .bc-tabs--vertical.bc-tabs--variant-underline .bc-tab--active::after {
12730
+ bottom: auto;
12731
+ left: auto;
12732
+ height: auto;
12733
+ right: calc(-1 * var(--spacing-px));
12734
+ top: 0;
12735
+ bottom: 0;
12736
+ width: var(--spacing-xs);
12737
+ }
12434
12738
 
12435
12739
  /* Pill variant: segmented button style with contained tabs */
12436
12740
  .bc-tabs--variant-pill .bc-tabs__list {
@@ -12485,6 +12789,10 @@ span.bc-sidebar-link {
12485
12789
  .bc-tabs--variant-pill .bc-tab--active::after {
12486
12790
  display: none;
12487
12791
  }
12792
+ .bc-tabs--vertical.bc-tabs--variant-pill .bc-tabs__list {
12793
+ display: flex;
12794
+ flex-direction: column;
12795
+ }
12488
12796
 
12489
12797
  /* Dark mode adjustments for underline variant */
12490
12798
  .dark .bc-tabs--variant-underline .bc-tabs__list {
@@ -12503,11 +12811,15 @@ span.bc-sidebar-link {
12503
12811
  }
12504
12812
 
12505
12813
  .dark .bc-tabs--variant-underline .bc-tab--active {
12506
- color: var(--color-primary-400);
12814
+ color: var(--tabs-active-color-dark, var(--color-primary-400));
12507
12815
  }
12508
12816
 
12509
12817
  .dark .bc-tabs--variant-underline .bc-tab--active::after {
12510
- background-color: var(--color-primary-400);
12818
+ background-color: var(--tabs-indicator-color-dark, var(--color-primary-400));
12819
+ }
12820
+ .dark .bc-tabs--vertical.bc-tabs--variant-underline .bc-tabs__list {
12821
+ border-bottom: none;
12822
+ border-right-color: var(--color-base-700);
12511
12823
  }
12512
12824
 
12513
12825
  /* Dark mode adjustments for pill variant */
@@ -12551,7 +12863,8 @@ span.bc-sidebar-link {
12551
12863
 
12552
12864
  .bc-tag-input:focus-within {
12553
12865
  border-color: var(--color-primary-500);
12554
- box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.12);
12866
+ box-shadow: 0 0 0 2px
12867
+ color-mix(in srgb, var(--color-primary-600) 12%, transparent);
12555
12868
  }
12556
12869
 
12557
12870
  .bc-tag-input--error {
@@ -12559,7 +12872,8 @@ span.bc-sidebar-link {
12559
12872
  }
12560
12873
 
12561
12874
  .bc-tag-input--error:focus-within {
12562
- box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.12);
12875
+ box-shadow: 0 0 0 2px
12876
+ color-mix(in srgb, var(--color-danger-600) 12%, transparent);
12563
12877
  }
12564
12878
 
12565
12879
  .bc-tag-input--disabled {
@@ -12603,7 +12917,7 @@ span.bc-sidebar-link {
12603
12917
  padding: var(--spacing-xs) var(--spacing-smh);
12604
12918
  background: var(--color-base-100);
12605
12919
  border-radius: var(--radius-sm, 3px);
12606
- font-size: var(--font-size-xs);
12920
+ font-size: inherit;
12607
12921
  color: var(--color-base-700);
12608
12922
  white-space: nowrap;
12609
12923
  line-height: 1.4;
@@ -12985,7 +13299,7 @@ span.bc-sidebar-link {
12985
13299
  padding: calc(var(--spacing-base) * 0.75);
12986
13300
  background: var(--color-white);
12987
13301
  border-radius: var(--radius-lg);
12988
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
13302
+ box-shadow: var(--shadow-lg);
12989
13303
  border: var(--border-width-thin) solid var(--color-base-200);
12990
13304
  width: auto;
12991
13305
  }
@@ -13082,6 +13396,14 @@ span.bc-sidebar-link {
13082
13396
  color: oklch(0.5 0.15 250);
13083
13397
  }
13084
13398
 
13399
+ .bc-tree-item__row--size-xs {
13400
+ padding-top: calc(var(--spacing-xs) / 2);
13401
+ padding-bottom: calc(var(--spacing-xs) / 2);
13402
+ padding-right: var(--spacing-sm);
13403
+ font-size: var(--font-size-xs);
13404
+ min-height: var(--spacing-lg);
13405
+ }
13406
+
13085
13407
  .bc-tree-item__row--size-sm {
13086
13408
  padding-top: var(--spacing-xs);
13087
13409
  padding-bottom: var(--spacing-xs);
@@ -13106,6 +13428,14 @@ span.bc-sidebar-link {
13106
13428
  min-height: var(--spacing-2xlh);
13107
13429
  }
13108
13430
 
13431
+ .bc-tree-item__row--size-xl {
13432
+ padding-top: var(--spacing-md);
13433
+ padding-bottom: var(--spacing-md);
13434
+ padding-right: var(--spacing-lg);
13435
+ font-size: var(--font-size-xl);
13436
+ min-height: var(--spacing-3xl);
13437
+ }
13438
+
13109
13439
  .bc-tree-item__toggle {
13110
13440
  display: inline-flex;
13111
13441
  align-items: center;
@@ -13139,6 +13469,7 @@ span.bc-sidebar-link {
13139
13469
  }
13140
13470
 
13141
13471
  .bc-tree-item__label {
13472
+ text-align: left;
13142
13473
  flex: 1;
13143
13474
  overflow: hidden;
13144
13475
  text-overflow: ellipsis;
@@ -13638,7 +13969,7 @@ span.bc-sidebar-link {
13638
13969
  .bc-notification {
13639
13970
  --notification-accent-color: var(--color-primary-500);
13640
13971
  --notification-radius: var(--radius-lg);
13641
- --notification-bg: #fff;
13972
+ --notification-bg: var(--color-white);
13642
13973
  --notification-border-color: var(--color-base-200);
13643
13974
  --notification-text-color: var(--text-normal);
13644
13975
  --notification-muted-color: var(--text-muted);
@@ -13668,7 +13999,7 @@ span.bc-sidebar-link {
13668
13999
  justify-content: center;
13669
14000
  overflow: hidden;
13670
14001
  background-color: var(--notification-accent-color);
13671
- color: white;
14002
+ color: var(--color-white);
13672
14003
  }
13673
14004
 
13674
14005
  .bc-notification__accent {
@@ -13763,8 +14094,34 @@ span.bc-sidebar-link {
13763
14094
  }
13764
14095
  }
13765
14096
 
14097
+ .bc-notification-item {
14098
+ transition:
14099
+ opacity var(--motion-duration-base, 200ms)
14100
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),
14101
+ transform var(--motion-duration-base, 200ms)
14102
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
14103
+ }
14104
+
14105
+ .bc-notification-item--entering {
14106
+ opacity: 0;
14107
+ transform: translateY(8px) scale(0.96);
14108
+ }
14109
+
14110
+ .bc-notification-item:not(.bc-notification-item--entering):not(
14111
+ .bc-notification-item--exiting
14112
+ ) {
14113
+ opacity: 1;
14114
+ transform: translateY(0) scale(1);
14115
+ }
14116
+
14117
+ .bc-notification-item--exiting {
14118
+ opacity: 0;
14119
+ transform: translateY(-8px) scale(0.96);
14120
+ }
14121
+
13766
14122
  @media (prefers-reduced-motion: reduce) {
13767
- .bc-notification {
14123
+ .bc-notification,
14124
+ .bc-notification-item {
13768
14125
  transition: none;
13769
14126
  }
13770
14127
  }
@@ -14655,6 +15012,7 @@ span.bc-sidebar-link {
14655
15012
  display: flex;
14656
15013
  align-items: center;
14657
15014
  justify-content: space-between;
15015
+ gap: var(--spacing-md);
14658
15016
  width: 100%;
14659
15017
  border: none;
14660
15018
  background: none;
@@ -14799,8 +15157,8 @@ span.bc-sidebar-link {
14799
15157
  }
14800
15158
  }
14801
15159
 
14802
- /* Calendar Component */
14803
- .bc-calendar {
15160
+ /* DatePicker Component */
15161
+ .bc-date-picker {
14804
15162
  display: inline-flex;
14805
15163
  flex-direction: column;
14806
15164
  background-color: var(--bg-background);
@@ -14810,13 +15168,13 @@ span.bc-sidebar-link {
14810
15168
  user-select: none;
14811
15169
  }
14812
15170
 
14813
- .bc-calendar--disabled {
15171
+ .bc-date-picker--disabled {
14814
15172
  opacity: 0.5;
14815
15173
  pointer-events: none;
14816
15174
  }
14817
15175
 
14818
15176
  /* Navigation header */
14819
- .bc-calendar__nav {
15177
+ .bc-date-picker__nav {
14820
15178
  display: flex;
14821
15179
  align-items: center;
14822
15180
  justify-content: space-between;
@@ -14824,7 +15182,7 @@ span.bc-sidebar-link {
14824
15182
  gap: var(--spacing-xs);
14825
15183
  }
14826
15184
 
14827
- .bc-calendar__nav-btn {
15185
+ .bc-date-picker__nav-btn {
14828
15186
  display: inline-flex;
14829
15187
  align-items: center;
14830
15188
  justify-content: center;
@@ -14839,21 +15197,21 @@ span.bc-sidebar-link {
14839
15197
  line-height: var(--line-height-none);
14840
15198
  }
14841
15199
 
14842
- .bc-calendar__nav-btn:hover:not(:disabled) {
15200
+ .bc-date-picker__nav-btn:hover:not(:disabled) {
14843
15201
  background-color: var(--bg-subtle);
14844
15202
  }
14845
15203
 
14846
- .bc-calendar__nav-btn:focus-visible {
15204
+ .bc-date-picker__nav-btn:focus-visible {
14847
15205
  outline: var(--outline-width-focus) solid var(--color-primary-500);
14848
15206
  outline-offset: calc(-1 * var(--outline-width-focus));
14849
15207
  }
14850
15208
 
14851
- .bc-calendar__nav-btn:disabled {
15209
+ .bc-date-picker__nav-btn:disabled {
14852
15210
  cursor: not-allowed;
14853
15211
  opacity: 0.5;
14854
15212
  }
14855
15213
 
14856
- .bc-calendar__title {
15214
+ .bc-date-picker__title {
14857
15215
  flex: 1;
14858
15216
  text-align: center;
14859
15217
  font-weight: var(--font-weight-semibold);
@@ -14865,7 +15223,7 @@ span.bc-sidebar-link {
14865
15223
  gap: var(--spacing-sm);
14866
15224
  }
14867
15225
 
14868
- .bc-calendar__title-btn {
15226
+ .bc-date-picker__title-btn {
14869
15227
  background: none;
14870
15228
  border: none;
14871
15229
  border-radius: var(--radius-sm);
@@ -14879,47 +15237,47 @@ span.bc-sidebar-link {
14879
15237
  var(--motion-easing-standard);
14880
15238
  }
14881
15239
 
14882
- .bc-calendar__title-btn:hover:not(:disabled) {
15240
+ .bc-date-picker__title-btn:hover:not(:disabled) {
14883
15241
  background-color: var(--bg-subtle);
14884
15242
  }
14885
15243
 
14886
- .bc-calendar__title-btn:focus-visible {
15244
+ .bc-date-picker__title-btn:focus-visible {
14887
15245
  outline: var(--outline-width-focus) solid var(--color-primary-500);
14888
15246
  outline-offset: calc(-1 * var(--outline-width-focus));
14889
15247
  }
14890
15248
 
14891
- .bc-calendar__title-btn:disabled {
15249
+ .bc-date-picker__title-btn:disabled {
14892
15250
  cursor: not-allowed;
14893
15251
  opacity: 0.5;
14894
15252
  }
14895
15253
 
14896
15254
  /* Days view container */
14897
- .bc-calendar__days-view {
15255
+ .bc-date-picker__days-view {
14898
15256
  display: flex;
14899
15257
  flex-direction: column;
14900
15258
  min-height: calc(5 * var(--cal-cell-size));
14901
15259
  }
14902
15260
 
14903
15261
  /* Weekday headers */
14904
- .bc-calendar__weekdays {
15262
+ .bc-date-picker__weekdays {
14905
15263
  display: grid;
14906
15264
  grid-template-columns: repeat(7, 1fr);
14907
15265
  }
14908
15266
 
14909
- .bc-calendar__weekday {
15267
+ .bc-date-picker__weekday {
14910
15268
  text-align: center;
14911
15269
  font-weight: var(--font-weight-semibold);
14912
15270
  color: var(--text-muted);
14913
15271
  }
14914
15272
 
14915
15273
  /* Day grid */
14916
- .bc-calendar__grid {
15274
+ .bc-date-picker__grid {
14917
15275
  display: grid;
14918
15276
  grid-template-columns: repeat(7, 1fr);
14919
15277
  }
14920
15278
 
14921
15279
  /* Day cells */
14922
- .bc-calendar__day {
15280
+ .bc-date-picker__day {
14923
15281
  display: inline-flex;
14924
15282
  align-items: center;
14925
15283
  justify-content: center;
@@ -14933,42 +15291,42 @@ span.bc-sidebar-link {
14933
15291
  transition: all var(--motion-transition-fast) var(--motion-easing-standard);
14934
15292
  }
14935
15293
 
14936
- .bc-calendar__day:hover:not(:disabled) {
15294
+ .bc-date-picker__day:hover:not(:disabled) {
14937
15295
  background-color: var(--bg-subtle);
14938
15296
  }
14939
15297
 
14940
- .bc-calendar__day:focus-visible {
15298
+ .bc-date-picker__day:focus-visible {
14941
15299
  outline: var(--outline-width-focus) solid var(--cal-selected-bg);
14942
15300
  outline-offset: calc(-1 * var(--outline-width-focus));
14943
15301
  }
14944
15302
 
14945
- .bc-calendar__day--outside {
15303
+ .bc-date-picker__day--outside {
14946
15304
  color: var(--text-muted);
14947
15305
  opacity: 0.4;
14948
15306
  }
14949
15307
 
14950
- .bc-calendar__day--today {
15308
+ .bc-date-picker__day--today {
14951
15309
  background-color: var(--cal-today-bg);
14952
15310
  color: var(--cal-today-text);
14953
15311
  font-weight: var(--font-weight-semibold);
14954
15312
  }
14955
15313
 
14956
- .bc-calendar__day--selected {
15314
+ .bc-date-picker__day--selected {
14957
15315
  background-color: var(--cal-selected-bg);
14958
15316
  color: var(--cal-selected-text);
14959
15317
  font-weight: var(--font-weight-bold);
14960
15318
  }
14961
15319
 
14962
- .bc-calendar__day--selected.bc-calendar__day--today {
15320
+ .bc-date-picker__day--selected.bc-date-picker__day--today {
14963
15321
  background-color: var(--cal-selected-bg);
14964
15322
  color: var(--cal-selected-text);
14965
15323
  }
14966
15324
 
14967
- .bc-calendar__day--selected:hover:not(:disabled) {
15325
+ .bc-date-picker__day--selected:hover:not(:disabled) {
14968
15326
  filter: brightness(0.9);
14969
15327
  }
14970
15328
 
14971
- .bc-calendar__day--disabled {
15329
+ .bc-date-picker__day--disabled {
14972
15330
  cursor: not-allowed;
14973
15331
  color: var(--text-muted);
14974
15332
  opacity: 0.4;
@@ -14976,23 +15334,23 @@ span.bc-sidebar-link {
14976
15334
  }
14977
15335
 
14978
15336
  /* Month and Year Picker Grid */
14979
- .bc-calendar__picker-grid {
15337
+ .bc-date-picker__picker-grid {
14980
15338
  display: grid;
14981
15339
  grid-template-columns: repeat(4, 1fr);
14982
15340
  gap: var(--spacing-xs);
14983
15341
  min-height: calc(5 * var(--cal-cell-size));
14984
15342
  }
14985
15343
 
14986
- .bc-calendar__picker-grid--months {
15344
+ .bc-date-picker__picker-grid--months {
14987
15345
  grid-template-rows: repeat(3, 1fr);
14988
15346
  }
14989
15347
 
14990
- .bc-calendar__picker-grid--years {
15348
+ .bc-date-picker__picker-grid--years {
14991
15349
  grid-template-rows: repeat(5, 1fr);
14992
15350
  }
14993
15351
 
14994
15352
  /* Month cells */
14995
- .bc-calendar__month-cell {
15353
+ .bc-date-picker__month-cell {
14996
15354
  display: inline-flex;
14997
15355
  align-items: center;
14998
15356
  justify-content: center;
@@ -15007,38 +15365,38 @@ span.bc-sidebar-link {
15007
15365
  padding: var(--spacing-xs);
15008
15366
  }
15009
15367
 
15010
- .bc-calendar__month-cell:hover:not(:disabled) {
15368
+ .bc-date-picker__month-cell:hover:not(:disabled) {
15011
15369
  background-color: var(--bg-subtle);
15012
15370
  }
15013
15371
 
15014
- .bc-calendar__month-cell:focus-visible {
15372
+ .bc-date-picker__month-cell:focus-visible {
15015
15373
  outline: var(--outline-width-focus) solid var(--cal-selected-bg);
15016
15374
  outline-offset: calc(-1 * var(--outline-width-focus));
15017
15375
  }
15018
15376
 
15019
- .bc-calendar__month-cell--current {
15377
+ .bc-date-picker__month-cell--current {
15020
15378
  background-color: var(--cal-selected-bg);
15021
15379
  color: var(--cal-selected-text);
15022
15380
  font-weight: var(--font-weight-bold);
15023
15381
  }
15024
15382
 
15025
- .bc-calendar__month-cell--current:hover:not(:disabled) {
15383
+ .bc-date-picker__month-cell--current:hover:not(:disabled) {
15026
15384
  filter: brightness(0.9);
15027
15385
  }
15028
15386
 
15029
- .bc-calendar__month-cell--active {
15387
+ .bc-date-picker__month-cell--active {
15030
15388
  background-color: var(--cal-today-bg);
15031
15389
  color: var(--cal-today-text);
15032
15390
  font-weight: var(--font-weight-semibold);
15033
15391
  }
15034
15392
 
15035
- .bc-calendar__month-cell--current.bc-calendar__month-cell--active {
15393
+ .bc-date-picker__month-cell--current.bc-date-picker__month-cell--active {
15036
15394
  background-color: var(--cal-selected-bg);
15037
15395
  color: var(--cal-selected-text);
15038
15396
  }
15039
15397
 
15040
15398
  /* Year cells */
15041
- .bc-calendar__year-cell {
15399
+ .bc-date-picker__year-cell {
15042
15400
  display: inline-flex;
15043
15401
  align-items: center;
15044
15402
  justify-content: center;
@@ -15053,113 +15411,113 @@ span.bc-sidebar-link {
15053
15411
  padding: var(--spacing-xs);
15054
15412
  }
15055
15413
 
15056
- .bc-calendar__year-cell:hover:not(:disabled) {
15414
+ .bc-date-picker__year-cell:hover:not(:disabled) {
15057
15415
  background-color: var(--bg-subtle);
15058
15416
  }
15059
15417
 
15060
- .bc-calendar__year-cell:focus-visible {
15418
+ .bc-date-picker__year-cell:focus-visible {
15061
15419
  outline: var(--outline-width-focus) solid var(--cal-selected-bg);
15062
15420
  outline-offset: calc(-1 * var(--outline-width-focus));
15063
15421
  }
15064
15422
 
15065
- .bc-calendar__year-cell--current {
15423
+ .bc-date-picker__year-cell--current {
15066
15424
  background-color: var(--cal-selected-bg);
15067
15425
  color: var(--cal-selected-text);
15068
15426
  font-weight: var(--font-weight-bold);
15069
15427
  }
15070
15428
 
15071
- .bc-calendar__year-cell--current:hover:not(:disabled) {
15429
+ .bc-date-picker__year-cell--current:hover:not(:disabled) {
15072
15430
  filter: brightness(0.9);
15073
15431
  }
15074
15432
 
15075
- .bc-calendar__year-cell--active {
15433
+ .bc-date-picker__year-cell--active {
15076
15434
  background-color: var(--cal-today-bg);
15077
15435
  color: var(--cal-today-text);
15078
15436
  font-weight: var(--font-weight-semibold);
15079
15437
  }
15080
15438
 
15081
- .bc-calendar__year-cell--current.bc-calendar__year-cell--active {
15439
+ .bc-date-picker__year-cell--current.bc-date-picker__year-cell--active {
15082
15440
  background-color: var(--cal-selected-bg);
15083
15441
  color: var(--cal-selected-text);
15084
15442
  }
15085
15443
 
15086
15444
  /* Size variants */
15087
- .bc-calendar--size-xs {
15445
+ .bc-date-picker--size-xs {
15088
15446
  --cal-cell-size: var(--spacing-xl);
15089
15447
  padding: var(--spacing-xs);
15090
15448
  font-size: var(--font-size-xs);
15091
15449
  width: calc(7 * var(--spacing-xl) + 2 * var(--spacing-xs) + 2px);
15092
15450
  }
15093
- .bc-calendar--size-xs .bc-calendar__nav-btn {
15451
+ .bc-date-picker--size-xs .bc-date-picker__nav-btn {
15094
15452
  width: var(--spacing-lgh);
15095
15453
  height: var(--spacing-lgh);
15096
15454
  font-size: var(--font-size-xs);
15097
15455
  }
15098
- .bc-calendar--size-xs .bc-calendar__day {
15456
+ .bc-date-picker--size-xs .bc-date-picker__day {
15099
15457
  width: var(--spacing-xl);
15100
15458
  height: var(--spacing-xl);
15101
15459
  font-size: var(--font-size-2xs);
15102
15460
  }
15103
- .bc-calendar--size-xs .bc-calendar__weekday {
15461
+ .bc-date-picker--size-xs .bc-date-picker__weekday {
15104
15462
  font-size: var(--font-size-2xs);
15105
15463
  padding: var(--spacing-2xs);
15106
15464
  }
15107
- .bc-calendar--size-xs .bc-calendar__month-cell,
15108
- .bc-calendar--size-xs .bc-calendar__year-cell {
15465
+ .bc-date-picker--size-xs .bc-date-picker__month-cell,
15466
+ .bc-date-picker--size-xs .bc-date-picker__year-cell {
15109
15467
  font-size: var(--font-size-2xs);
15110
15468
  }
15111
15469
 
15112
- .bc-calendar--size-sm {
15470
+ .bc-date-picker--size-sm {
15113
15471
  --cal-cell-size: calc(var(--spacing-base) * 7);
15114
15472
  padding: var(--spacing-sm);
15115
15473
  font-size: var(--font-size-sm);
15116
15474
  width: calc(7 * calc(var(--spacing-base) * 7) + 2 * var(--spacing-sm) + 2px);
15117
15475
  }
15118
- .bc-calendar--size-sm .bc-calendar__nav-btn {
15476
+ .bc-date-picker--size-sm .bc-date-picker__nav-btn {
15119
15477
  width: var(--spacing-xl);
15120
15478
  height: var(--spacing-xl);
15121
15479
  font-size: var(--font-size-sm);
15122
15480
  }
15123
- .bc-calendar--size-sm .bc-calendar__day {
15481
+ .bc-date-picker--size-sm .bc-date-picker__day {
15124
15482
  width: calc(var(--spacing-base) * 7);
15125
15483
  height: calc(var(--spacing-base) * 7);
15126
15484
  font-size: var(--font-size-xs);
15127
15485
  }
15128
- .bc-calendar--size-sm .bc-calendar__weekday {
15486
+ .bc-date-picker--size-sm .bc-date-picker__weekday {
15129
15487
  font-size: var(--font-size-xs);
15130
15488
  padding: var(--spacing-xs);
15131
15489
  }
15132
- .bc-calendar--size-sm .bc-calendar__month-cell,
15133
- .bc-calendar--size-sm .bc-calendar__year-cell {
15490
+ .bc-date-picker--size-sm .bc-date-picker__month-cell,
15491
+ .bc-date-picker--size-sm .bc-date-picker__year-cell {
15134
15492
  font-size: var(--font-size-xs);
15135
15493
  }
15136
15494
 
15137
- .bc-calendar--size-md {
15495
+ .bc-date-picker--size-md {
15138
15496
  --cal-cell-size: calc(var(--spacing-base) * 9);
15139
15497
  padding: var(--spacing-md);
15140
15498
  font-size: var(--font-size-md);
15141
15499
  width: calc(7 * calc(var(--spacing-base) * 9) + 2 * var(--spacing-md) + 2px);
15142
15500
  }
15143
- .bc-calendar--size-md .bc-calendar__nav-btn {
15501
+ .bc-date-picker--size-md .bc-date-picker__nav-btn {
15144
15502
  width: calc(var(--spacing-base) * 7);
15145
15503
  height: calc(var(--spacing-base) * 7);
15146
15504
  font-size: var(--font-size-md);
15147
15505
  }
15148
- .bc-calendar--size-md .bc-calendar__day {
15506
+ .bc-date-picker--size-md .bc-date-picker__day {
15149
15507
  width: calc(var(--spacing-base) * 9);
15150
15508
  height: calc(var(--spacing-base) * 9);
15151
15509
  font-size: var(--font-size-sm);
15152
15510
  }
15153
- .bc-calendar--size-md .bc-calendar__weekday {
15511
+ .bc-date-picker--size-md .bc-date-picker__weekday {
15154
15512
  font-size: var(--font-size-xs);
15155
15513
  padding: var(--spacing-xs);
15156
15514
  }
15157
- .bc-calendar--size-md .bc-calendar__month-cell,
15158
- .bc-calendar--size-md .bc-calendar__year-cell {
15515
+ .bc-date-picker--size-md .bc-date-picker__month-cell,
15516
+ .bc-date-picker--size-md .bc-date-picker__year-cell {
15159
15517
  font-size: var(--font-size-sm);
15160
15518
  }
15161
15519
 
15162
- .bc-calendar--size-lg {
15520
+ .bc-date-picker--size-lg {
15163
15521
  --cal-cell-size: calc(var(--spacing-base) * 10.5);
15164
15522
  padding: var(--spacing-lg);
15165
15523
  font-size: var(--font-size-lg);
@@ -15167,198 +15525,198 @@ span.bc-sidebar-link {
15167
15525
  7 * calc(var(--spacing-base) * 10.5) + 2 * var(--spacing-lg) + 2px
15168
15526
  );
15169
15527
  }
15170
- .bc-calendar--size-lg .bc-calendar__nav-btn {
15528
+ .bc-date-picker--size-lg .bc-date-picker__nav-btn {
15171
15529
  width: var(--spacing-2xl);
15172
15530
  height: var(--spacing-2xl);
15173
15531
  font-size: var(--font-size-lg);
15174
15532
  }
15175
- .bc-calendar--size-lg .bc-calendar__day {
15533
+ .bc-date-picker--size-lg .bc-date-picker__day {
15176
15534
  width: calc(var(--spacing-base) * 10.5);
15177
15535
  height: calc(var(--spacing-base) * 10.5);
15178
15536
  font-size: var(--font-size-md);
15179
15537
  }
15180
- .bc-calendar--size-lg .bc-calendar__weekday {
15538
+ .bc-date-picker--size-lg .bc-date-picker__weekday {
15181
15539
  font-size: var(--font-size-sm);
15182
15540
  padding: var(--spacing-sm);
15183
15541
  }
15184
- .bc-calendar--size-lg .bc-calendar__month-cell,
15185
- .bc-calendar--size-lg .bc-calendar__year-cell {
15542
+ .bc-date-picker--size-lg .bc-date-picker__month-cell,
15543
+ .bc-date-picker--size-lg .bc-date-picker__year-cell {
15186
15544
  font-size: var(--font-size-md);
15187
15545
  }
15188
15546
 
15189
- .bc-calendar--size-xl {
15547
+ .bc-date-picker--size-xl {
15190
15548
  --cal-cell-size: var(--spacing-3xl);
15191
15549
  padding: var(--spacing-xl);
15192
15550
  font-size: var(--font-size-xl);
15193
15551
  width: calc(7 * var(--spacing-3xl) + 2 * var(--spacing-xl) + 2px);
15194
15552
  }
15195
- .bc-calendar--size-xl .bc-calendar__nav-btn {
15553
+ .bc-date-picker--size-xl .bc-date-picker__nav-btn {
15196
15554
  width: calc(var(--spacing-base) * 9);
15197
15555
  height: calc(var(--spacing-base) * 9);
15198
15556
  font-size: var(--font-size-xl);
15199
15557
  }
15200
- .bc-calendar--size-xl .bc-calendar__day {
15558
+ .bc-date-picker--size-xl .bc-date-picker__day {
15201
15559
  width: var(--spacing-3xl);
15202
15560
  height: var(--spacing-3xl);
15203
15561
  font-size: var(--font-size-lg);
15204
15562
  }
15205
- .bc-calendar--size-xl .bc-calendar__weekday {
15563
+ .bc-date-picker--size-xl .bc-date-picker__weekday {
15206
15564
  font-size: var(--font-size-md);
15207
15565
  padding: var(--spacing-sm);
15208
15566
  }
15209
- .bc-calendar--size-xl .bc-calendar__month-cell,
15210
- .bc-calendar--size-xl .bc-calendar__year-cell {
15567
+ .bc-date-picker--size-xl .bc-date-picker__month-cell,
15568
+ .bc-date-picker--size-xl .bc-date-picker__year-cell {
15211
15569
  font-size: var(--font-size-lg);
15212
15570
  }
15213
15571
 
15214
15572
  /* Dark mode */
15215
- .dark .bc-calendar {
15573
+ .dark .bc-date-picker {
15216
15574
  background-color: var(--bg-background);
15217
15575
  border-color: var(--border-default);
15218
15576
  }
15219
15577
 
15220
- .dark .bc-calendar__nav-btn {
15578
+ .dark .bc-date-picker__nav-btn {
15221
15579
  color: var(--text-normal);
15222
15580
  }
15223
15581
 
15224
- .dark .bc-calendar__nav-btn:hover:not(:disabled) {
15582
+ .dark .bc-date-picker__nav-btn:hover:not(:disabled) {
15225
15583
  background-color: var(--bg-subtle);
15226
15584
  }
15227
15585
 
15228
- .dark .bc-calendar__title {
15586
+ .dark .bc-date-picker__title {
15229
15587
  color: var(--text-normal);
15230
15588
  }
15231
15589
 
15232
- .dark .bc-calendar__weekday {
15590
+ .dark .bc-date-picker__weekday {
15233
15591
  color: var(--text-muted);
15234
15592
  }
15235
15593
 
15236
- .dark .bc-calendar__day {
15594
+ .dark .bc-date-picker__day {
15237
15595
  color: var(--text-normal);
15238
15596
  }
15239
15597
 
15240
- .dark .bc-calendar__day:hover:not(:disabled) {
15598
+ .dark .bc-date-picker__day:hover:not(:disabled) {
15241
15599
  background-color: var(--bg-subtle);
15242
15600
  }
15243
15601
 
15244
- .dark .bc-calendar__day--selected {
15602
+ .dark .bc-date-picker__day--selected {
15245
15603
  background-color: var(--cal-selected-bg-dark);
15246
15604
  color: var(--cal-selected-text-dark);
15247
15605
  }
15248
15606
 
15249
- .dark .bc-calendar__day--today {
15607
+ .dark .bc-date-picker__day--today {
15250
15608
  background-color: var(--cal-today-bg-dark);
15251
15609
  color: var(--cal-today-text-dark);
15252
15610
  }
15253
15611
 
15254
- .dark .bc-calendar__day--selected.bc-calendar__day--today {
15612
+ .dark .bc-date-picker__day--selected.bc-date-picker__day--today {
15255
15613
  background-color: var(--cal-selected-bg-dark);
15256
15614
  color: var(--cal-selected-text-dark);
15257
15615
  }
15258
15616
 
15259
- .dark .bc-calendar__title-btn {
15617
+ .dark .bc-date-picker__title-btn {
15260
15618
  color: var(--text-normal);
15261
15619
  }
15262
15620
 
15263
- .dark .bc-calendar__title-btn:hover:not(:disabled) {
15621
+ .dark .bc-date-picker__title-btn:hover:not(:disabled) {
15264
15622
  background-color: var(--bg-subtle);
15265
15623
  }
15266
15624
 
15267
- .dark .bc-calendar__month-cell,
15268
- .dark .bc-calendar__year-cell {
15625
+ .dark .bc-date-picker__month-cell,
15626
+ .dark .bc-date-picker__year-cell {
15269
15627
  color: var(--text-normal);
15270
15628
  }
15271
15629
 
15272
- .dark .bc-calendar__month-cell:hover:not(:disabled),
15273
- .dark .bc-calendar__year-cell:hover:not(:disabled) {
15630
+ .dark .bc-date-picker__month-cell:hover:not(:disabled),
15631
+ .dark .bc-date-picker__year-cell:hover:not(:disabled) {
15274
15632
  background-color: var(--bg-subtle);
15275
15633
  }
15276
15634
 
15277
- .dark .bc-calendar__month-cell--current,
15278
- .dark .bc-calendar__year-cell--current {
15635
+ .dark .bc-date-picker__month-cell--current,
15636
+ .dark .bc-date-picker__year-cell--current {
15279
15637
  background-color: var(--cal-selected-bg-dark);
15280
15638
  color: var(--cal-selected-text-dark);
15281
15639
  }
15282
15640
 
15283
- .dark .bc-calendar__month-cell--active,
15284
- .dark .bc-calendar__year-cell--active {
15641
+ .dark .bc-date-picker__month-cell--active,
15642
+ .dark .bc-date-picker__year-cell--active {
15285
15643
  background-color: var(--cal-today-bg-dark);
15286
15644
  color: var(--cal-today-text-dark);
15287
15645
  }
15288
15646
 
15289
- .dark .bc-calendar__month-cell--current.bc-calendar__month-cell--active,
15290
- .dark .bc-calendar__year-cell--current.bc-calendar__year-cell--active {
15647
+ .dark .bc-date-picker__month-cell--current.bc-date-picker__month-cell--active,
15648
+ .dark .bc-date-picker__year-cell--current.bc-date-picker__year-cell--active {
15291
15649
  background-color: var(--cal-selected-bg-dark);
15292
15650
  color: var(--cal-selected-text-dark);
15293
15651
  }
15294
15652
 
15295
15653
  /* Range selection */
15296
- .bc-calendar__day--range-start,
15297
- .bc-calendar__day--range-end {
15654
+ .bc-date-picker__day--range-start,
15655
+ .bc-date-picker__day--range-end {
15298
15656
  background-color: var(--cal-selected-bg);
15299
15657
  color: var(--cal-selected-text);
15300
15658
  font-weight: var(--font-weight-bold);
15301
15659
  }
15302
15660
 
15303
- .bc-calendar__day--range-start {
15661
+ .bc-date-picker__day--range-start {
15304
15662
  border-radius: var(--radius-full) 0 0 var(--radius-full);
15305
15663
  }
15306
15664
 
15307
- .bc-calendar__day--range-end {
15665
+ .bc-date-picker__day--range-end {
15308
15666
  border-radius: 0 var(--radius-full) var(--radius-full) 0;
15309
15667
  }
15310
15668
 
15311
- .bc-calendar__day--range-start.bc-calendar__day--range-end {
15669
+ .bc-date-picker__day--range-start.bc-date-picker__day--range-end {
15312
15670
  border-radius: var(--radius-full);
15313
15671
  }
15314
15672
 
15315
- .bc-calendar__day--in-range {
15673
+ .bc-date-picker__day--in-range {
15316
15674
  background-color: var(--cal-today-bg);
15317
15675
  color: var(--cal-today-text);
15318
15676
  border-radius: 0;
15319
15677
  }
15320
15678
 
15321
- .bc-calendar__day--preview.bc-calendar__day--in-range {
15679
+ .bc-date-picker__day--preview.bc-date-picker__day--in-range {
15322
15680
  opacity: 0.7;
15323
15681
  }
15324
15682
 
15325
- .bc-calendar__day--preview.bc-calendar__day--range-start,
15326
- .bc-calendar__day--preview.bc-calendar__day--range-end {
15683
+ .bc-date-picker__day--preview.bc-date-picker__day--range-start,
15684
+ .bc-date-picker__day--preview.bc-date-picker__day--range-end {
15327
15685
  opacity: 0.8;
15328
15686
  }
15329
15687
 
15330
- .bc-calendar__day--range-start:hover:not(:disabled),
15331
- .bc-calendar__day--range-end:hover:not(:disabled) {
15688
+ .bc-date-picker__day--range-start:hover:not(:disabled),
15689
+ .bc-date-picker__day--range-end:hover:not(:disabled) {
15332
15690
  filter: brightness(0.9);
15333
15691
  }
15334
15692
 
15335
15693
  /* Range selection - dark mode */
15336
- .dark .bc-calendar__day--range-start,
15337
- .dark .bc-calendar__day--range-end {
15694
+ .dark .bc-date-picker__day--range-start,
15695
+ .dark .bc-date-picker__day--range-end {
15338
15696
  background-color: var(--cal-selected-bg-dark);
15339
15697
  color: var(--cal-selected-text-dark);
15340
15698
  }
15341
15699
 
15342
- .dark .bc-calendar__day--in-range {
15700
+ .dark .bc-date-picker__day--in-range {
15343
15701
  background-color: var(--cal-today-bg-dark);
15344
15702
  color: var(--cal-today-text-dark);
15345
15703
  }
15346
15704
 
15347
15705
  /* Reduced motion */
15348
15706
  @media (prefers-reduced-motion: reduce) {
15349
- .bc-calendar__day {
15707
+ .bc-date-picker__day {
15350
15708
  transition: none;
15351
15709
  }
15352
- .bc-calendar__nav-btn {
15710
+ .bc-date-picker__nav-btn {
15353
15711
  transition: none;
15354
15712
  }
15355
- .bc-calendar__title-btn {
15713
+ .bc-date-picker__title-btn {
15356
15714
  transition: none;
15357
15715
  }
15358
- .bc-calendar__month-cell {
15716
+ .bc-date-picker__month-cell {
15359
15717
  transition: none;
15360
15718
  }
15361
- .bc-calendar__year-cell {
15719
+ .bc-date-picker__year-cell {
15362
15720
  transition: none;
15363
15721
  }
15364
15722
  }
@@ -15999,6 +16357,735 @@ span.bc-sidebar-link {
15999
16357
  --toggle-group-radius: var(--radius-full);
16000
16358
  }
16001
16359
 
16360
+ .bc-loading-overlay {
16361
+ position: absolute;
16362
+ inset: 0;
16363
+ display: flex;
16364
+ align-items: center;
16365
+ justify-content: center;
16366
+ background-color: color-mix(in srgb, var(--bg-surface) 75%, transparent);
16367
+ z-index: var(--z-index-raised);
16368
+ pointer-events: all;
16369
+ border-radius: inherit;
16370
+ }
16371
+
16372
+ .bc-loading-overlay__content {
16373
+ display: flex;
16374
+ flex-direction: column;
16375
+ align-items: center;
16376
+ gap: var(--spacing-sm);
16377
+ }
16378
+
16379
+ .bc-loading-overlay__message {
16380
+ font-size: var(--font-size-sm);
16381
+ color: var(--text-muted);
16382
+ }
16383
+
16384
+ /* Sortable Header */
16385
+ .bc-sortable-header {
16386
+ cursor: pointer;
16387
+ user-select: none;
16388
+ transition: background-color var(--motion-transition-fast)
16389
+ var(--motion-easing-standard);
16390
+ }
16391
+
16392
+ .bc-sortable-header:hover {
16393
+ background-color: var(--interactive-hover);
16394
+ }
16395
+
16396
+ .bc-sortable-header__content {
16397
+ display: flex;
16398
+ flex-direction: row;
16399
+ align-items: center;
16400
+ gap: var(--spacing-xs);
16401
+ }
16402
+
16403
+ .bc-sortable-header__label {
16404
+ flex: 1;
16405
+ }
16406
+
16407
+ .bc-sortable-header__icons {
16408
+ display: flex;
16409
+ flex-direction: row;
16410
+ align-items: center;
16411
+ gap: var(--spacing-2xs);
16412
+ flex-shrink: 0;
16413
+ }
16414
+
16415
+ .bc-sortable-header__icon {
16416
+ opacity: 0.45;
16417
+ transition: opacity var(--motion-transition-fast)
16418
+ var(--motion-easing-standard);
16419
+ }
16420
+
16421
+ .bc-sortable-header__icon--active {
16422
+ opacity: 1;
16423
+ }
16424
+
16425
+ .bc-sortable-header:hover .bc-sortable-header__icon {
16426
+ opacity: 0.8;
16427
+ }
16428
+
16429
+ .bc-sortable-header:hover .bc-sortable-header__icon--active {
16430
+ opacity: 1;
16431
+ }
16432
+
16433
+ /* Column Filter */
16434
+ .bc-column-filter {
16435
+ width: 100%;
16436
+ padding: var(--spacing-xs) var(--spacing-sm);
16437
+ border: var(--border-width-thin) solid var(--border-input);
16438
+ border-radius: var(--radius-control-sm);
16439
+ background-color: var(--bg-background);
16440
+ color: var(--text-normal);
16441
+ font-size: var(--font-size-sm);
16442
+ font-family: inherit;
16443
+ outline: none;
16444
+ transition: border-color var(--motion-transition-fast)
16445
+ var(--motion-easing-standard);
16446
+ }
16447
+
16448
+ .bc-column-filter:focus {
16449
+ border-color: var(--interactive-focus);
16450
+ box-shadow: 0 0 0 1px var(--interactive-focus);
16451
+ }
16452
+
16453
+ .bc-column-filter--size-xs {
16454
+ padding: var(--spacing-2xs) var(--spacing-xs);
16455
+ font-size: var(--font-size-xs);
16456
+ }
16457
+
16458
+ .bc-column-filter--size-sm {
16459
+ padding: var(--spacing-xs) var(--spacing-sm);
16460
+ font-size: var(--font-size-sm);
16461
+ }
16462
+
16463
+ .bc-column-filter--size-lg {
16464
+ padding: var(--spacing-sm) var(--spacing-md);
16465
+ font-size: var(--font-size-md);
16466
+ }
16467
+
16468
+ /* Selection Checkbox */
16469
+ .bc-selection-checkbox {
16470
+ cursor: pointer;
16471
+ accent-color: var(--color-primary-500);
16472
+ }
16473
+
16474
+ .bc-selection-checkbox--size-xs {
16475
+ width: 14px;
16476
+ height: 14px;
16477
+ }
16478
+
16479
+ .bc-selection-checkbox--size-sm {
16480
+ width: 16px;
16481
+ height: 16px;
16482
+ }
16483
+
16484
+ .bc-selection-checkbox--size-md {
16485
+ width: 18px;
16486
+ height: 18px;
16487
+ }
16488
+
16489
+ .bc-selection-checkbox--size-lg {
16490
+ width: 20px;
16491
+ height: 20px;
16492
+ }
16493
+
16494
+ .bc-selection-checkbox--size-xl {
16495
+ width: 24px;
16496
+ height: 24px;
16497
+ }
16498
+
16499
+ /* Data Toolbar */
16500
+ .bc-data-toolbar {
16501
+ display: flex;
16502
+ align-items: center;
16503
+ flex-wrap: wrap;
16504
+ gap: var(--spacing-sm);
16505
+ padding: var(--spacing-sm) var(--spacing-md);
16506
+ background-color: var(--bg-surface);
16507
+ border: var(--border-width-thin) solid var(--border-default);
16508
+ border-radius: var(--radius-control);
16509
+ margin-bottom: var(--spacing-sm);
16510
+ }
16511
+
16512
+ .bc-data-toolbar__selection {
16513
+ display: flex;
16514
+ align-items: center;
16515
+ gap: var(--spacing-sm);
16516
+ }
16517
+
16518
+ .bc-data-toolbar__selection-count {
16519
+ font-size: var(--font-size-sm);
16520
+ font-weight: var(--font-weight-medium);
16521
+ color: var(--text-muted);
16522
+ }
16523
+
16524
+ .bc-data-toolbar__action {
16525
+ display: inline-flex;
16526
+ align-items: center;
16527
+ gap: var(--spacing-xs);
16528
+ padding: var(--spacing-xs) var(--spacing-sm);
16529
+ border: var(--border-width-thin) solid var(--border-default);
16530
+ border-radius: var(--radius-control-sm);
16531
+ background-color: var(--bg-background);
16532
+ color: var(--text-normal);
16533
+ font-size: var(--font-size-sm);
16534
+ cursor: pointer;
16535
+ transition: background-color var(--motion-transition-fast);
16536
+ }
16537
+
16538
+ .bc-data-toolbar__action:hover {
16539
+ background-color: var(--interactive-hover);
16540
+ }
16541
+
16542
+ .bc-data-toolbar__action--secondary {
16543
+ border: none;
16544
+ background: none;
16545
+ color: var(--text-muted);
16546
+ }
16547
+
16548
+ .bc-data-toolbar__action--secondary:hover {
16549
+ color: var(--text-normal);
16550
+ background: none;
16551
+ }
16552
+
16553
+ .bc-data-toolbar__reset {
16554
+ display: inline-flex;
16555
+ align-items: center;
16556
+ gap: var(--spacing-xs);
16557
+ margin-left: auto;
16558
+ padding: var(--spacing-xs) var(--spacing-sm);
16559
+ border: none;
16560
+ background: none;
16561
+ color: var(--text-muted);
16562
+ font-size: var(--font-size-sm);
16563
+ cursor: pointer;
16564
+ transition: color var(--motion-transition-fast);
16565
+ }
16566
+
16567
+ .bc-data-toolbar__reset:hover {
16568
+ color: var(--color-danger-600);
16569
+ }
16570
+
16571
+ /* Data Table */
16572
+ .bc-data-table__wrapper {
16573
+ position: relative;
16574
+ min-height: 120px;
16575
+ }
16576
+
16577
+ .bc-data-table__filter-row > th {
16578
+ padding-top: var(--spacing-xs);
16579
+ padding-bottom: var(--spacing-xs);
16580
+ }
16581
+
16582
+ .bc-data-table__selection-header {
16583
+ width: calc(var(--spacing-base) * 10);
16584
+ }
16585
+
16586
+ .bc-table--size-xl .bc-data-table__selection-header {
16587
+ width: calc(var(--spacing-base) * 18);
16588
+ }
16589
+
16590
+ .bc-table--size-lg .bc-data-table__selection-header {
16591
+ width: calc(var(--spacing-base) * 14);
16592
+ }
16593
+
16594
+ .bc-table--size-sm .bc-data-table__selection-header {
16595
+ width: calc(var(--spacing-base) * 8);
16596
+ }
16597
+
16598
+ .bc-table--size-xs .bc-data-table__selection-header {
16599
+ width: calc(var(--spacing-base) * 6);
16600
+ }
16601
+
16602
+ .bc-data-table__selection-cell {
16603
+ width: 100%;
16604
+ height: 100%;
16605
+ display: flex;
16606
+ align-items: center;
16607
+ justify-content: center;
16608
+ }
16609
+
16610
+ .bc-data-table__row--clickable {
16611
+ cursor: pointer;
16612
+ }
16613
+
16614
+ .bc-data-table__row--selected {
16615
+ background-color: var(--color-primary-50);
16616
+ }
16617
+
16618
+ .bc-data-table__empty {
16619
+ text-align: center;
16620
+ padding: var(--spacing-xl);
16621
+ color: var(--text-muted);
16622
+ font-style: italic;
16623
+ }
16624
+
16625
+ .bc-data-table__pagination {
16626
+ display: flex;
16627
+ justify-items: center;
16628
+ justify-content: space-between;
16629
+ padding: var(--spacing-md) 0;
16630
+ }
16631
+
16632
+ /* Column Filter Panel */
16633
+ .bc-column-filter-panel__trigger-wrap {
16634
+ display: flex;
16635
+ justify-content: flex-end;
16636
+ }
16637
+
16638
+ .bc-column-filter-panel__trigger {
16639
+ display: inline-flex;
16640
+ align-items: center;
16641
+ justify-content: center;
16642
+ padding: var(--spacing-2xs);
16643
+ border: var(--border-width-thin) solid var(--border-default);
16644
+ border-radius: var(--radius-control-sm);
16645
+ background-color: var(--bg-background);
16646
+ color: var(--text-muted);
16647
+ cursor: pointer;
16648
+ position: relative;
16649
+ transition:
16650
+ border-color var(--motion-transition-fast) var(--motion-easing-standard),
16651
+ color var(--motion-transition-fast) var(--motion-easing-standard);
16652
+ }
16653
+
16654
+ .bc-column-filter-panel__trigger:hover {
16655
+ border-color: var(--interactive-hover);
16656
+ color: var(--text-normal);
16657
+ }
16658
+
16659
+ .bc-column-filter-panel__trigger--active {
16660
+ border-color: var(--color-primary-500);
16661
+ color: var(--color-primary-600);
16662
+ }
16663
+
16664
+ .bc-column-filter-panel__active-dot {
16665
+ position: absolute;
16666
+ top: -2px;
16667
+ right: -2px;
16668
+ width: 6px;
16669
+ height: 6px;
16670
+ border-radius: var(--radius-full);
16671
+ background-color: var(--color-primary-500);
16672
+ }
16673
+
16674
+ .bc-column-filter-panel {
16675
+ display: flex;
16676
+ flex-direction: column;
16677
+ gap: var(--spacing-sm);
16678
+ padding: var(--spacing-sm);
16679
+ width: 320px;
16680
+ }
16681
+
16682
+ .bc-column-filter-panel__mode {
16683
+ display: flex;
16684
+ justify-content: center;
16685
+ }
16686
+
16687
+ .bc-column-filter-panel__conditions {
16688
+ display: flex;
16689
+ flex-direction: column;
16690
+ gap: var(--spacing-sm);
16691
+ }
16692
+
16693
+ .bc-column-filter-panel__row {
16694
+ display: flex;
16695
+ flex-direction: column;
16696
+ gap: var(--spacing-2xs);
16697
+ }
16698
+
16699
+ .bc-column-filter-panel__row-header {
16700
+ display: flex;
16701
+ flex-direction: row;
16702
+ align-items: center;
16703
+ gap: var(--spacing-xs);
16704
+ }
16705
+
16706
+ .bc-column-filter-panel__operator {
16707
+ flex: 1 1 0;
16708
+ min-width: 0;
16709
+ }
16710
+
16711
+ .bc-column-filter-panel__value-wrap {
16712
+ display: flex;
16713
+ gap: var(--spacing-xs);
16714
+ }
16715
+
16716
+ .bc-column-filter-panel__value-wrap--hidden {
16717
+ display: none;
16718
+ }
16719
+
16720
+ .bc-column-filter-panel__value {
16721
+ flex: 1 1 auto;
16722
+ min-width: 0;
16723
+ }
16724
+
16725
+ .bc-column-filter-panel__add {
16726
+ display: flex;
16727
+ }
16728
+
16729
+ .bc-column-filter-panel__add-btn {
16730
+ border: none;
16731
+ background: none;
16732
+ color: var(--color-primary-600);
16733
+ font-size: var(--font-size-sm);
16734
+ cursor: pointer;
16735
+ padding: var(--spacing-2xs) 0;
16736
+ transition: color var(--motion-transition-fast);
16737
+ }
16738
+
16739
+ .bc-column-filter-panel__add-btn:hover {
16740
+ color: var(--color-primary-700);
16741
+ }
16742
+
16743
+ .bc-column-filter-panel__actions {
16744
+ display: flex;
16745
+ flex-direction: row;
16746
+ justify-content: flex-end;
16747
+ gap: var(--spacing-xs);
16748
+ padding-top: var(--spacing-xs);
16749
+ border-top: var(--border-width-thin) solid var(--border-default);
16750
+ }
16751
+
16752
+ /* Dark mode */
16753
+ .dark .bc-column-filter-panel__trigger {
16754
+ background-color: var(--bg-surface);
16755
+ }
16756
+
16757
+ .dark .bc-column-filter-panel__trigger--active {
16758
+ border-color: var(--color-primary-400);
16759
+ color: var(--color-primary-400);
16760
+ }
16761
+
16762
+ .dark .bc-column-filter-panel__active-dot {
16763
+ background-color: var(--color-primary-400);
16764
+ }
16765
+
16766
+ .dark .bc-column-filter-panel__add-btn {
16767
+ color: var(--color-primary-400);
16768
+ }
16769
+
16770
+ .dark .bc-column-filter-panel__add-btn:hover {
16771
+ color: var(--color-primary-300);
16772
+ }
16773
+
16774
+ .dark .bc-data-table__row--selected {
16775
+ background-color: var(--color-primary-950);
16776
+ }
16777
+
16778
+ .dark .bc-column-filter {
16779
+ background-color: var(--bg-surface);
16780
+ }
16781
+
16782
+ /* Column visibility toggle */
16783
+ .bc-data-table__column-toggle {
16784
+ display: flex;
16785
+ justify-content: flex-end;
16786
+ margin-bottom: var(--spacing-xs);
16787
+ }
16788
+
16789
+ .bc-data-table__column-toggle-btn {
16790
+ display: inline-flex;
16791
+ align-items: center;
16792
+ gap: var(--spacing-xs);
16793
+ padding: var(--spacing-xs) var(--spacing-sm);
16794
+ border: var(--border-width-thin) solid var(--border-default);
16795
+ border-radius: var(--radius-sm);
16796
+ background-color: var(--bg-surface);
16797
+ color: var(--text-muted);
16798
+ font-size: var(--font-size-sm);
16799
+ cursor: pointer;
16800
+ position: relative;
16801
+ transition:
16802
+ border-color var(--motion-transition-fast) var(--motion-easing-standard),
16803
+ color var(--motion-transition-fast) var(--motion-easing-standard);
16804
+ }
16805
+
16806
+ .bc-data-table__column-toggle-btn:hover {
16807
+ border-color: var(--interactive-hover);
16808
+ color: var(--text-normal);
16809
+ }
16810
+
16811
+ .bc-data-table__column-toggle-btn:focus-visible {
16812
+ outline: 2px solid var(--interactive-focus);
16813
+ outline-offset: 2px;
16814
+ }
16815
+
16816
+ .bc-data-table__column-toggle-btn--active {
16817
+ border-color: var(--color-primary-500);
16818
+ color: var(--color-primary-600);
16819
+ }
16820
+
16821
+ .bc-data-table__column-toggle-panel {
16822
+ display: flex;
16823
+ flex-direction: column;
16824
+ gap: var(--spacing-xs);
16825
+ padding: var(--spacing-sm);
16826
+ min-width: 180px;
16827
+ }
16828
+
16829
+ .dark .bc-data-table__column-toggle-btn {
16830
+ background-color: var(--bg-surface);
16831
+ }
16832
+
16833
+ .dark .bc-data-table__column-toggle-btn--active {
16834
+ border-color: var(--color-primary-400);
16835
+ color: var(--color-primary-400);
16836
+ }
16837
+
16838
+ /* Column Header Menu */
16839
+ .bc-column-header-menu {
16840
+ display: inline-flex;
16841
+ align-items: center;
16842
+ justify-content: center;
16843
+ cursor: pointer;
16844
+ color: var(--text-muted);
16845
+ transition: color var(--motion-transition-fast) var(--motion-easing-standard);
16846
+ }
16847
+
16848
+ .bc-column-header-menu:hover {
16849
+ color: var(--text-normal);
16850
+ }
16851
+
16852
+ /* Sortable header menu slot */
16853
+ .bc-sortable-header__menu {
16854
+ display: inline-flex;
16855
+ align-items: center;
16856
+ }
16857
+
16858
+ /* Row count footer */
16859
+ .bc-data-table__row-count {
16860
+ display: flex;
16861
+ justify-content: flex-end;
16862
+ padding: var(--spacing-xs) var(--spacing-sm);
16863
+ font-size: var(--font-size-xs);
16864
+ color: var(--text-muted);
16865
+ }
16866
+
16867
+ /* Column Reorder Drag */
16868
+ th.bc-data-table__header--dragging {
16869
+ opacity: 0.5;
16870
+ }
16871
+
16872
+ th.bc-data-table__header--drag-over {
16873
+ border-left: 2px solid var(--color-primary-500);
16874
+ }
16875
+
16876
+ /* Footer */
16877
+ .bc-data-table__footer-row {
16878
+ background-color: var(--bg-surface);
16879
+ font-size: var(--font-size-sm);
16880
+ font-weight: var(--font-weight-medium);
16881
+ color: var(--text-muted);
16882
+ }
16883
+
16884
+ .bc-data-table__footer-row td {
16885
+ padding: var(--spacing-xs) var(--spacing-sm);
16886
+ border-top: var(--border-width-thin) solid var(--border-default);
16887
+ }
16888
+
16889
+ .bc-data-table__group-footer-row {
16890
+ font-size: var(--font-size-xs);
16891
+ }
16892
+
16893
+ .bc-data-table__group-footer-row td {
16894
+ border-top: none;
16895
+ padding-top: var(--spacing-2xs);
16896
+ padding-bottom: var(--spacing-2xs);
16897
+ }
16898
+
16899
+ /* Group By */
16900
+ .bc-data-table__group-header {
16901
+ cursor: pointer;
16902
+ user-select: none;
16903
+ background-color: var(--bg-surface);
16904
+ }
16905
+
16906
+ .bc-data-table__group-header:hover {
16907
+ background-color: var(--interactive-hover);
16908
+ }
16909
+
16910
+ .bc-data-table__group-header-content {
16911
+ display: flex;
16912
+ align-items: center;
16913
+ gap: var(--spacing-sm);
16914
+ padding: var(--spacing-xs) 0;
16915
+ font-weight: var(--font-weight-semibold);
16916
+ font-size: var(--font-size-sm);
16917
+ }
16918
+
16919
+ .bc-data-table__group-toggle {
16920
+ display: inline-flex;
16921
+ align-items: center;
16922
+ justify-content: center;
16923
+ transition: transform var(--motion-transition-fast)
16924
+ var(--motion-easing-standard);
16925
+ }
16926
+
16927
+ .bc-data-table__group-toggle--collapsed {
16928
+ transform: rotate(-90deg);
16929
+ }
16930
+
16931
+ .bc-data-table__group-label {
16932
+ flex: 0 0 auto;
16933
+ }
16934
+
16935
+ .bc-data-table__group-count {
16936
+ color: var(--text-muted);
16937
+ font-weight: var(--font-weight-normal);
16938
+ font-size: var(--font-size-xs);
16939
+ }
16940
+
16941
+ .bc-data-table__group-footer-summary {
16942
+ margin-left: auto;
16943
+ color: var(--text-muted);
16944
+ font-weight: var(--font-weight-normal);
16945
+ font-size: var(--font-size-xs);
16946
+ white-space: nowrap;
16947
+ }
16948
+
16949
+ .dark .bc-data-table__group-header {
16950
+ background-color: var(--bg-surface);
16951
+ }
16952
+
16953
+ .dark .bc-data-table__group-header:hover {
16954
+ background-color: var(--interactive-hover);
16955
+ }
16956
+
16957
+ /* Tags Filter (inline checkbox list) */
16958
+ .bc-column-filter-tags {
16959
+ display: flex;
16960
+ flex-direction: column;
16961
+ gap: var(--spacing-xs);
16962
+ }
16963
+
16964
+ .bc-column-filter-tags__list {
16965
+ display: flex;
16966
+ flex-direction: column;
16967
+ gap: var(--spacing-2xs);
16968
+ max-height: 200px;
16969
+ overflow-y: auto;
16970
+ }
16971
+
16972
+ .bc-column-filter-tags__item {
16973
+ display: flex;
16974
+ align-items: center;
16975
+ gap: var(--spacing-xs);
16976
+ padding: var(--spacing-2xs) var(--spacing-xs);
16977
+ cursor: pointer;
16978
+ border-radius: var(--radius-control-sm);
16979
+ font-size: var(--font-size-sm);
16980
+ user-select: none;
16981
+ }
16982
+
16983
+ .bc-column-filter-tags__item:hover {
16984
+ background-color: var(--interactive-hover);
16985
+ }
16986
+
16987
+ /* Reduced motion */
16988
+ @media (prefers-reduced-motion: reduce) {
16989
+ .bc-sortable-header,
16990
+ .bc-sortable-header__icon,
16991
+ .bc-column-filter,
16992
+ .bc-column-filter-panel__trigger,
16993
+ .bc-column-filter-panel__add-btn,
16994
+ .bc-data-toolbar__action,
16995
+ .bc-data-toolbar__reset,
16996
+ .bc-data-table__column-toggle-btn,
16997
+ .bc-data-table__group-toggle {
16998
+ transition: none;
16999
+ }
17000
+ }
17001
+
17002
+ /* Shared flex modifiers for Stack and Group */
17003
+
17004
+ /* Gap */
17005
+ .bc-flex--gap-none {
17006
+ gap: 0;
17007
+ }
17008
+
17009
+ .bc-flex--gap-xs {
17010
+ gap: var(--spacing-xs);
17011
+ }
17012
+
17013
+ .bc-flex--gap-sm {
17014
+ gap: var(--spacing-sm);
17015
+ }
17016
+
17017
+ .bc-flex--gap-md {
17018
+ gap: var(--spacing-md);
17019
+ }
17020
+
17021
+ .bc-flex--gap-lg {
17022
+ gap: var(--spacing-lg);
17023
+ }
17024
+
17025
+ .bc-flex--gap-xl {
17026
+ gap: var(--spacing-xl);
17027
+ }
17028
+
17029
+ /* Align */
17030
+ .bc-flex--align-start {
17031
+ align-items: flex-start;
17032
+ }
17033
+
17034
+ .bc-flex--align-center {
17035
+ align-items: center;
17036
+ }
17037
+
17038
+ .bc-flex--align-end {
17039
+ align-items: flex-end;
17040
+ }
17041
+
17042
+ .bc-flex--align-stretch {
17043
+ align-items: stretch;
17044
+ }
17045
+
17046
+ .bc-flex--align-baseline {
17047
+ align-items: baseline;
17048
+ }
17049
+
17050
+ /* Justify */
17051
+ .bc-flex--justify-start {
17052
+ justify-content: flex-start;
17053
+ }
17054
+
17055
+ .bc-flex--justify-center {
17056
+ justify-content: center;
17057
+ }
17058
+
17059
+ .bc-flex--justify-end {
17060
+ justify-content: flex-end;
17061
+ }
17062
+
17063
+ .bc-flex--justify-between {
17064
+ justify-content: space-between;
17065
+ }
17066
+
17067
+ .bc-flex--justify-around {
17068
+ justify-content: space-around;
17069
+ }
17070
+
17071
+ .bc-flex--justify-evenly {
17072
+ justify-content: space-evenly;
17073
+ }
17074
+
17075
+ /* Wrap */
17076
+ .bc-flex--wrap {
17077
+ flex-wrap: wrap;
17078
+ }
17079
+
17080
+ .bc-flex--nowrap {
17081
+ flex-wrap: nowrap;
17082
+ }
17083
+
17084
+ /* Grow */
17085
+ .bc-flex--grow {
17086
+ flex-grow: 1;
17087
+ }
17088
+
16002
17089
 
16003
17090
  }
16004
17091