@evotecit/canopyx 0.3.16 → 0.3.20

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 (150) hide show
  1. package/CanopyX.Html/Assets/canopyx-board.css +50 -0
  2. package/CanopyX.Html/Assets/canopyx-board.js +39 -0
  3. package/CanopyX.Html/Assets/canopyx-buckets.js +15 -0
  4. package/CanopyX.Html/Assets/canopyx-calculations.css +7 -0
  5. package/CanopyX.Html/Assets/canopyx-calculations.js +52 -0
  6. package/CanopyX.Html/Assets/canopyx-calendar-edit.js +3 -3
  7. package/CanopyX.Html/Assets/canopyx-calendar.css +74 -80
  8. package/CanopyX.Html/Assets/canopyx-calendar.js +26 -31
  9. package/CanopyX.Html/Assets/canopyx-cell-range.css +4 -4
  10. package/CanopyX.Html/Assets/canopyx-cell-range.js +16 -14
  11. package/CanopyX.Html/Assets/canopyx-changes.css +61 -79
  12. package/CanopyX.Html/Assets/canopyx-changes.js +18 -15
  13. package/CanopyX.Html/Assets/canopyx-column-groups.css +5 -1
  14. package/CanopyX.Html/Assets/canopyx-column-groups.js +15 -9
  15. package/CanopyX.Html/Assets/canopyx-compare.css +37 -0
  16. package/CanopyX.Html/Assets/canopyx-compare.js +12 -0
  17. package/CanopyX.Html/Assets/canopyx-data.js +3 -3
  18. package/CanopyX.Html/Assets/canopyx-detail-rows.css +4 -4
  19. package/CanopyX.Html/Assets/canopyx-detail-rows.js +1 -1
  20. package/CanopyX.Html/Assets/canopyx-editing.css +5 -5
  21. package/CanopyX.Html/Assets/canopyx-editing.js +2 -2
  22. package/CanopyX.Html/Assets/canopyx-enhance.js +5 -5
  23. package/CanopyX.Html/Assets/canopyx-export.js +54 -13
  24. package/CanopyX.Html/Assets/canopyx-facets.css +32 -22
  25. package/CanopyX.Html/Assets/canopyx-facets.js +19 -15
  26. package/CanopyX.Html/Assets/canopyx-filter-editor.css +75 -89
  27. package/CanopyX.Html/Assets/canopyx-filter-editor.js +20 -16
  28. package/CanopyX.Html/Assets/canopyx-flow-checks.css +3 -3
  29. package/CanopyX.Html/Assets/canopyx-flow-checks.js +1 -1
  30. package/CanopyX.Html/Assets/canopyx-flow-command.css +3 -3
  31. package/CanopyX.Html/Assets/canopyx-flow-command.js +1 -1
  32. package/CanopyX.Html/Assets/canopyx-flow-dialog.css +4 -4
  33. package/CanopyX.Html/Assets/canopyx-flow-dialog.js +1 -1
  34. package/CanopyX.Html/Assets/canopyx-flow-drafts.css +2 -2
  35. package/CanopyX.Html/Assets/canopyx-flow-drafts.js +1 -1
  36. package/CanopyX.Html/Assets/canopyx-flow-entry.css +142 -17
  37. package/CanopyX.Html/Assets/canopyx-flow-entry.js +5 -5
  38. package/CanopyX.Html/Assets/canopyx-flow-host.css +2 -2
  39. package/CanopyX.Html/Assets/canopyx-flow-host.js +1 -1
  40. package/CanopyX.Html/Assets/canopyx-flow-module.mjs +5 -5
  41. package/CanopyX.Html/Assets/canopyx-flow-pick.css +4 -4
  42. package/CanopyX.Html/Assets/canopyx-flow-pick.js +1 -1
  43. package/CanopyX.Html/Assets/canopyx-flow-preview.css +1 -1
  44. package/CanopyX.Html/Assets/canopyx-flow-preview.js +1 -1
  45. package/CanopyX.Html/Assets/canopyx-flow-records.css +2 -2
  46. package/CanopyX.Html/Assets/canopyx-flow-records.js +1 -1
  47. package/CanopyX.Html/Assets/canopyx-flow-tasks.css +4 -4
  48. package/CanopyX.Html/Assets/canopyx-flow-tasks.js +1 -1
  49. package/CanopyX.Html/Assets/canopyx-flow.css +41 -41
  50. package/CanopyX.Html/Assets/canopyx-flow.js +1 -1
  51. package/CanopyX.Html/Assets/canopyx-format-editor.css +9 -9
  52. package/CanopyX.Html/Assets/canopyx-format-editor.js +2 -2
  53. package/CanopyX.Html/Assets/canopyx-formatting.css +13 -13
  54. package/CanopyX.Html/Assets/canopyx-formatting.js +12 -11
  55. package/CanopyX.Html/Assets/canopyx-forms.css +3 -3
  56. package/CanopyX.Html/Assets/canopyx-forms.js +1 -1
  57. package/CanopyX.Html/Assets/canopyx-grid-module.mjs +220 -155
  58. package/CanopyX.Html/Assets/canopyx-grid-options.css +8 -8
  59. package/CanopyX.Html/Assets/canopyx-grid-options.js +9 -2
  60. package/CanopyX.Html/Assets/canopyx-grid.css +285 -150
  61. package/CanopyX.Html/Assets/canopyx-grid.js +220 -155
  62. package/CanopyX.Html/Assets/canopyx-grouping.css +23 -16
  63. package/CanopyX.Html/Assets/canopyx-grouping.js +24 -17
  64. package/CanopyX.Html/Assets/canopyx-highlight.css +10 -10
  65. package/CanopyX.Html/Assets/canopyx-highlight.js +1 -1
  66. package/CanopyX.Html/Assets/canopyx-interactive.css +215 -91
  67. package/CanopyX.Html/Assets/canopyx-interactive.js +47 -52
  68. package/CanopyX.Html/Assets/canopyx-labels-de.js +177 -9
  69. package/CanopyX.Html/Assets/canopyx-labels-es.js +177 -9
  70. package/CanopyX.Html/Assets/canopyx-labels-fr.js +176 -8
  71. package/CanopyX.Html/Assets/canopyx-labels-it.js +176 -8
  72. package/CanopyX.Html/Assets/canopyx-labels-pl.js +176 -8
  73. package/CanopyX.Html/Assets/canopyx-layouts.css +49 -21
  74. package/CanopyX.Html/Assets/canopyx-layouts.js +36 -14
  75. package/CanopyX.Html/Assets/canopyx-link.css +3 -3
  76. package/CanopyX.Html/Assets/canopyx-link.js +4 -4
  77. package/CanopyX.Html/Assets/canopyx-links.js +2 -2
  78. package/CanopyX.Html/Assets/canopyx-live.css +3 -5
  79. package/CanopyX.Html/Assets/canopyx-live.js +3 -3
  80. package/CanopyX.Html/Assets/canopyx-matrix.css +32 -39
  81. package/CanopyX.Html/Assets/canopyx-matrix.js +11 -11
  82. package/CanopyX.Html/Assets/canopyx-module.mjs +47 -52
  83. package/CanopyX.Html/Assets/canopyx-office-export.js +2936 -0
  84. package/CanopyX.Html/Assets/canopyx-pager.css +1 -1
  85. package/CanopyX.Html/Assets/canopyx-pager.js +1 -1
  86. package/CanopyX.Html/Assets/canopyx-path.css +45 -0
  87. package/CanopyX.Html/Assets/canopyx-path.js +28 -0
  88. package/CanopyX.Html/Assets/canopyx-pivot.css +75 -0
  89. package/CanopyX.Html/Assets/canopyx-pivot.js +72 -0
  90. package/CanopyX.Html/Assets/canopyx-plan.css +63 -0
  91. package/CanopyX.Html/Assets/canopyx-plan.js +71 -0
  92. package/CanopyX.Html/Assets/canopyx-presenters.js +2 -2
  93. package/CanopyX.Html/Assets/canopyx-record-panel.css +51 -45
  94. package/CanopyX.Html/Assets/canopyx-record-panel.js +30 -22
  95. package/CanopyX.Html/Assets/canopyx-reporting-module.mjs +262 -197
  96. package/CanopyX.Html/Assets/canopyx-reporting.css +300 -164
  97. package/CanopyX.Html/Assets/canopyx-reporting.js +262 -197
  98. package/CanopyX.Html/Assets/canopyx-stack.css +35 -0
  99. package/CanopyX.Html/Assets/canopyx-stack.js +24 -0
  100. package/CanopyX.Html/Assets/canopyx-time-slider.css +18 -0
  101. package/CanopyX.Html/Assets/canopyx-time-slider.js +27 -0
  102. package/CanopyX.Html/Assets/canopyx-timeline.css +19 -19
  103. package/CanopyX.Html/Assets/canopyx-timeline.js +6 -5
  104. package/CanopyX.Html/Assets/canopyx-tree-tools.css +47 -46
  105. package/CanopyX.Html/Assets/canopyx-tree-tools.js +15 -12
  106. package/CanopyX.Html/Assets/canopyx-ui-menu.css +41 -0
  107. package/CanopyX.Html/Assets/canopyx-ui-menu.js +64 -0
  108. package/CanopyX.Html/Assets/canopyx-ui-navigation.css +73 -0
  109. package/CanopyX.Html/Assets/canopyx-ui-navigation.js +39 -0
  110. package/CanopyX.Html/Assets/canopyx-ui-overlays.css +79 -0
  111. package/CanopyX.Html/Assets/canopyx-ui-overlays.js +45 -0
  112. package/CanopyX.Html/Assets/canopyx-ui-picker.css +12 -0
  113. package/CanopyX.Html/Assets/canopyx-ui-picker.js +6 -0
  114. package/CanopyX.Html/Assets/canopyx-ui-stepper.css +174 -0
  115. package/CanopyX.Html/Assets/canopyx-ui-stepper.js +48 -0
  116. package/CanopyX.Html/Assets/canopyx-ui-tabs.css +153 -0
  117. package/CanopyX.Html/Assets/canopyx-ui-tabs.js +47 -0
  118. package/CanopyX.Html/Assets/canopyx-values.css +5 -0
  119. package/CanopyX.Html/Assets/canopyx-values.js +13 -0
  120. package/CanopyX.Html/Assets/canopyx-view-intents.css +12 -0
  121. package/CanopyX.Html/Assets/canopyx-view-intents.js +56 -0
  122. package/CanopyX.Html/Assets/canopyx.css +212 -85
  123. package/CanopyX.Html/Assets/canopyx.js +38 -26
  124. package/JavaScript/board.d.ts +30 -0
  125. package/JavaScript/changes.d.ts +4 -1
  126. package/JavaScript/column-groups.d.ts +24 -4
  127. package/JavaScript/facets.d.ts +5 -3
  128. package/JavaScript/grid.d.ts +161 -17
  129. package/JavaScript/hosts.d.ts +16 -1
  130. package/JavaScript/index.d.ts +4 -2
  131. package/JavaScript/locales/de.mjs +177 -9
  132. package/JavaScript/locales/es.mjs +177 -9
  133. package/JavaScript/locales/fr.mjs +176 -8
  134. package/JavaScript/locales/it.mjs +176 -8
  135. package/JavaScript/locales/pl.mjs +176 -8
  136. package/JavaScript/matrix.d.ts +4 -1
  137. package/JavaScript/path.d.ts +33 -0
  138. package/JavaScript/pivot.d.ts +135 -0
  139. package/JavaScript/plan.d.ts +23 -0
  140. package/JavaScript/protocol.d.ts +18 -3
  141. package/JavaScript/records.d.ts +4 -0
  142. package/JavaScript/stack.d.ts +28 -0
  143. package/JavaScript/time-slider.d.ts +58 -0
  144. package/JavaScript/ui.d.ts +261 -0
  145. package/JavaScript/view-intents.d.ts +45 -0
  146. package/README.md +76 -187
  147. package/README.nuget.md +63 -87
  148. package/ThirdParty/OfficeIMO/LICENSE +21 -0
  149. package/ThirdParty/OfficeIMO/README.md +13 -0
  150. package/package.json +76 -3
@@ -1,28 +1,29 @@
1
1
  /* Calendar: month,week,day,N-day,agenda and year views of a grid's records, under the grid's own toolbar. */
2
2
  .cx-calendar > :is(.cx-grid,.cx-grid-pager,.cx-grid-notice,.cx-grid-status){display:none!important;}
3
- .cx-calendar .cx-cal{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;position:relative;background:var(--hfx-color-surface,light-dark(#ffffff,#16181c));}
4
- .cx-cal-bar{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:var(--cx-size-8px) var(--cx-size-12px);padding:var(--cx-size-8px) var(--cx-size-12px);border-bottom:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));}
3
+ .cx-calendar .cx-cal{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;position:relative;background:var(--hfx-color-surface-card,var(--hfx-color-surface,light-dark(#ffffff,#16181c)));}
4
+ .cx-cal-bar{flex:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--cx-size-8px) var(--cx-size-12px);padding:var(--cx-size-8px) var(--cx-size-12px);border-bottom:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));}
5
+ .cx-cal-bar > .cx-spacer{display:none;}
6
+ .cx-cal-bar > .cx-cal-jumpbox{grid-column:3;}
7
+ .cx-cal-bar > .cx-cal-views{grid-column:1;grid-row:2;justify-self:start;}
8
+ .cx-cal-bar > .cx-cal-zoom{grid-column:2;grid-row:2;justify-self:end;}
9
+ .cx-cal-bar > .cx-cal-print{grid-column:3;grid-row:2;justify-self:end;}
10
+ .cx-plan-calendar .cx-cal-bar{display:flex;flex-wrap:nowrap;}
11
+ .cx-plan-calendar .cx-cal-bar > .cx-cal-title{flex:1 1 auto;}
12
+ .cx-plan-calendar .cx-cal-bar > .cx-cal-jumpbox{margin-inline-start:auto;}
5
13
  .cx-cal-nav{display:flex;align-items:center;gap:var(--cx-size-4px);}
6
- .cx-chrome .cx-cal-nav > .cx-cal-gotoday[aria-disabled="true"]{opacity:.45;cursor:default;}
7
- .cx-cal-title{margin:0;min-width:0;font-size:var(--cx-size-17px);font-weight:600;line-height:1.3;color:var(--hfx-color-text,light-dark(#16181c,#f2f3f5));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
14
+ .cx-cal-title{margin:0;min-width:0;font-size:var(--cx-size-17px);font-weight:600;line-height:1.3;color:var(--hfx-color-text-primary,var(--hfx-color-text,light-dark(#16181c,#f2f3f5)));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
8
15
  .cx-cal-ico{width:var(--cx-size-16px);height:var(--cx-size-16px);flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
9
- .cx-cal-views{display:inline-flex;border:var(--cx-size-1px) solid var(--hfx-color-border-strong,light-dark(#cdd0d5,#363a42));border-radius:var(--hfx-radius-control,var(--hfx-radius-md,6px));overflow:hidden;}
10
- .cx-chrome .cx-cal-views > .cx-cal-view{border:0;border-radius:0;height:calc(var(--hfx-control-height-md,calc(36px - var(--cx-compact,0) * 8px)) - var(--cx-size-2px));min-height:0;padding:0 var(--cx-size-12px);font-weight:500;}
11
- .cx-chrome .cx-cal-views > .cx-cal-view + .cx-cal-view{border-inline-start:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));}
12
- .cx-chrome .cx-cal-views > .cx-cal-view[aria-pressed="true"]{background:var(--hfx-color-accent-subtle,light-dark(#e7f1f1,#1b3435));color:var(--hfx-color-accent-text,light-dark(#02726a,#37c9b8));font-weight:600;}
13
- .cx-cal-bar :is(.cx-cal-jump,.cx-cal-jumpbtn,.cx-cal-zoom,.cx-cal-view-select){height:var(--hfx-control-height-md,calc(36px - var(--cx-compact,0) * 8px));padding:0 var(--cx-size-8px);border:var(--cx-size-1px) solid var(--hfx-color-border-control,light-dark(#8a8f98,#6e737c));border-radius:var(--hfx-radius-control,var(--hfx-radius-md,6px));background:var(--hfx-color-surface,light-dark(#ffffff,#16181c));color:var(--hfx-color-text,light-dark(#16181c,#f2f3f5));font:inherit;font-size:var(--cx-size-13d5px);}
14
16
  .cx-cal-bar .cx-cal-view-select{display:none;}
15
- .cx-cal-bar :is(.cx-cal-jump,.cx-cal-jumpbtn,.cx-cal-zoom,.cx-cal-view-select):focus-visible{outline:var(--hfx-focus-width,2px) solid var(--hfx-color-focus-ring,light-dark(#02726a,#37c9b8));outline-offset:var(--hfx-focus-offset,2px);}
16
- .cx-cal-notice{flex:none;padding:var(--cx-size-6px) var(--cx-size-12px);font-size:var(--cx-size-13px);color:var(--hfx-color-text-secondary,light-dark(#4d525b,#b0b4bc));background:var(--hfx-color-surface-sunken,light-dark(#f7f8f9,#111317));border-bottom:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));}
17
+ .cx-cal-notice{flex:none;padding:var(--cx-size-6px) var(--cx-size-12px);font-size:var(--cx-size-13px);color:var(--hfx-color-text-secondary,light-dark(#4d525b,#b0b4bc));background:var(--hfx-color-surface-sunken,light-dark(#f7f8f9,#111317));border-bottom:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));}
17
18
  .cx-cal-notice.cx-cal-error{color:var(--hfx-color-status-bad-fg,light-dark(#b8292a,#f47171));}
18
19
  .cx-cal-body{flex:1 1 auto;min-height:0;overflow:auto;position:relative;}
19
20
  .cx-cal-rpick > button{flex:none;min-width:var(--cx-size-34px);}
20
21
  .cx-cal-shared{font-size:var(--cx-size-11px);line-height:var(--cx-size-16px);border:var(--cx-size-1px) solid currentColor;border-radius:var(--hfx-radius-status,999px);padding-inline:var(--cx-size-4px);align-self:flex-start;}
21
- .cx-cal-ev.cx-cal-shared-active{outline:var(--hfx-focus-width,2px) solid var(--cx-ev);outline-offset:var(--hfx-focus-offset,2px);background:color-mix(in srgb,var(--cx-ev) 25%,var(--hfx-color-surface,light-dark(#ffffff,#16181c)));}
22
- .cx-cal-empty{margin:0;padding:var(--cx-size-24px) var(--cx-size-16px);color:var(--hfx-color-text-muted,light-dark(#626770,#8f949d));text-align:center;}
23
- .cx-cal-ev{--cx-ev:var(--hfx-color-accent,light-dark(#11776f,#37c9b8));--cx-ev-bg:var(--hfx-color-accent-subtle,light-dark(#e7f1f1,#1b3435));position:relative;display:flex;align-items:center;gap:var(--cx-size-4px);min-width:0;margin:0;padding:0 var(--cx-size-6px);border:0;border-radius:var(--hfx-radius-sm,4px);background:var(--cx-ev-bg);color:var(--hfx-color-text,light-dark(#16181c,#f2f3f5));font:inherit;font-size:var(--cx-size-12d5px);line-height:var(--cx-size-18px);text-align:start;cursor:pointer;overflow:hidden;white-space:nowrap;box-shadow:inset var(--cx-size-3px) 0 0 var(--cx-ev);}
22
+ .cx-cal-ev.cx-cal-shared-active{outline:var(--hfx-focus-width,2px) solid var(--cx-ev);outline-offset:var(--hfx-focus-offset,2px);background:color-mix(in srgb,var(--cx-ev) 25%,var(--hfx-color-surface-card,var(--hfx-color-surface,light-dark(#ffffff,#16181c))));}
23
+ .cx-cal-empty{margin:0;padding:var(--cx-size-24px) var(--cx-size-16px);color:var(--hfx-color-text-secondary,var(--hfx-color-text-muted,light-dark(#626770,#8f949d)));text-align:center;}
24
+ .cx-cal-ev{--cx-ev:var(--hfx-color-accent,light-dark(#11776f,#37c9b8));--cx-ev-bg:var(--hfx-color-accent-subtle,light-dark(#e7f1f1,#1b3435));position:relative;display:flex;align-items:center;gap:var(--cx-size-4px);min-width:0;margin:0;padding:0 var(--cx-size-6px);border:0;border-radius:var(--hfx-radius-sm,4px);background:var(--cx-ev-bg);color:var(--hfx-color-text-primary,var(--hfx-color-text,light-dark(#16181c,#f2f3f5)));font:inherit;font-size:var(--cx-size-12d5px);line-height:var(--cx-size-18px);text-align:start;cursor:pointer;overflow:hidden;white-space:nowrap;box-shadow:inset var(--cx-size-3px) 0 0 var(--cx-ev);}
24
25
  :where(.cx-cal-rtl) .cx-cal-ev{box-shadow:inset calc(-1 * var(--cx-size-3px)) 0 0 var(--cx-ev);}
25
- .cx-cal-ev:hover{background:color-mix(in srgb,var(--cx-ev) 22%,var(--hfx-color-surface,light-dark(#ffffff,#16181c)));}
26
+ .cx-cal-ev:hover{background:color-mix(in srgb,var(--cx-ev) 22%,var(--hfx-color-surface-card,var(--hfx-color-surface,light-dark(#ffffff,#16181c))));}
26
27
  .cx-cal-ev:focus-visible{outline:var(--hfx-focus-width,2px) solid var(--hfx-color-focus-ring,light-dark(#02726a,#37c9b8));outline-offset:var(--hfx-focus-offset,2px);z-index:6;}
27
28
  .cx-cal-ev-title{min-width:0;overflow:hidden;text-overflow:ellipsis;}
28
29
  .cx-cal-ev-time{flex:none;color:var(--hfx-color-text-secondary,light-dark(#4d525b,#b0b4bc));font-variant-numeric:tabular-nums;}
@@ -39,20 +40,20 @@
39
40
  [data-cx-event-style="strong"] .cx-cal-ev:is(.cx-cal-ev-bar,.cx-cal-ev-block,.cx-cal-ev-lane) :is(.cx-cal-ev-time,.cx-cal-ev-sub,.cx-cal-ico){color:inherit;opacity:.88;}
40
41
  .cx-cal-month{display:flex;flex-direction:column;min-height:100%;}
41
42
  .cx-cal-dow,.cx-cal-week{display:grid;grid-template-columns:repeat(var(--cx-cal-cols),minmax(0,1fr));}
42
- .cx-cal-dow{position:sticky;top:0;z-index:7;background:var(--hfx-color-surface-sunken,light-dark(#f7f8f9,#111317));border-bottom:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));}
43
+ .cx-cal-dow{position:sticky;top:0;z-index:7;background:var(--hfx-color-surface-sunken,light-dark(#f7f8f9,#111317));border-bottom:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));}
43
44
  .cx-cal-dowc{padding:var(--cx-size-6px) var(--cx-size-8px);font-size:var(--cx-size-12px);font-weight:700;color:var(--hfx-color-text-secondary,light-dark(#4d525b,#b0b4bc));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
44
45
  .cx-cal-weeks{flex:1 1 auto;display:flex;flex-direction:column;}
45
- .cx-cal-week{flex:1 0 auto;position:relative;border-bottom:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));}
46
- .cx-cal-day{min-width:0;padding:var(--cx-size-3px) var(--cx-size-4px);border-inline-end:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));outline:none;}
46
+ .cx-cal-week{flex:1 0 auto;position:relative;border-bottom:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));}
47
+ .cx-cal-day{min-width:0;padding:var(--cx-size-3px) var(--cx-size-4px);border-inline-end:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));outline:none;}
47
48
  .cx-cal-day:last-child{border-inline-end:0;}
48
- .cx-cal-day.cx-cal-out{background:color-mix(in srgb,var(--hfx-color-text,light-dark(#16181c,#f2f3f5)) 2.5%,var(--hfx-color-surface,light-dark(#ffffff,#16181c)));}
49
- .cx-cal-out .cx-cal-num{color:var(--hfx-color-text-muted,light-dark(#626770,#8f949d));}
49
+ .cx-cal-day.cx-cal-out{background:color-mix(in srgb,var(--hfx-color-text-primary,var(--hfx-color-text,light-dark(#16181c,#f2f3f5))) 2.5%,var(--hfx-color-surface-card,var(--hfx-color-surface,light-dark(#ffffff,#16181c))));}
50
+ .cx-cal-out .cx-cal-num{color:var(--hfx-color-text-secondary,var(--hfx-color-text-muted,light-dark(#626770,#8f949d)));}
50
51
  .cx-cal-num{display:inline-grid;place-items:center;min-width:var(--cx-size-22px);height:var(--cx-size-22px);padding:0 var(--cx-size-5px);border-radius:var(--cx-size-11px);font-size:var(--cx-size-13px);font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;}
51
52
  .cx-cal-num:hover{background:var(--hfx-color-hover,light-dark(#f5f5f5,#232529));}
52
53
  .cx-cal-today > .cx-cal-num,.cx-cal-today > .cx-cal-num:hover{background:var(--hfx-color-accent,light-dark(#11776f,#37c9b8));color:var(--hfx-color-accent-contrast,light-dark(#ffffff,#0c0d10));}
53
54
  .cx-cal-day:focus-visible{outline:var(--hfx-focus-width,2px) solid var(--hfx-color-focus-ring,light-dark(#02726a,#37c9b8));outline-offset:calc(-1 * var(--cx-size-2px));}
54
55
  .cx-cal-day[aria-selected="true"],.cx-cal-slot[aria-selected="true"],.cx-cal-allcell[aria-selected="true"]{background:var(--hfx-color-accent-subtle,light-dark(#e7f1f1,#1b3435));}
55
- .cx-cal-day.cx-cal-bgday{background:color-mix(in srgb,var(--cx-bg-tone) 9%,var(--hfx-color-surface,light-dark(#ffffff,#16181c)));}
56
+ .cx-cal-day.cx-cal-bgday{background:color-mix(in srgb,var(--cx-bg-tone) 9%,var(--hfx-color-surface-card,var(--hfx-color-surface,light-dark(#ffffff,#16181c))));}
56
57
  .cx-cal-bglabel{float:inline-end;max-width:70%;margin-top:var(--cx-size-3px);font-size:var(--cx-size-11d5px);color:var(--hfx-color-text-secondary,light-dark(#4d525b,#b0b4bc));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
57
58
  .cx-cal-week > .cx-cal-day > :is(.cx-cal-ev,.cx-cal-more-btn){position:absolute;height:var(--cx-size-20px);top:calc(var(--cx-size-26px) + var(--l) * var(--cx-size-22px));inset-inline-start:calc(100% * var(--c) / var(--cx-cal-cols) + var(--cx-size-3px));}
58
59
  .cx-cal-week > .cx-cal-day > .cx-cal-ev{width:calc(100% * var(--s) / var(--cx-cal-cols) - var(--cx-size-6px));}
@@ -61,10 +62,10 @@
61
62
  .cx-cal-more-btn:focus-visible{outline:var(--hfx-focus-width,2px) solid var(--hfx-color-focus-ring,light-dark(#02726a,#37c9b8));outline-offset:var(--hfx-focus-offset,2px);}
62
63
  .cx-cal-dots{display:flex;justify-content:center;gap:var(--cx-size-3px);margin-top:var(--cx-size-2px);}
63
64
  .cx-cal-dots > i{width:var(--cx-size-6px);height:var(--cx-size-6px);border-radius:50%;background:var(--cx-ev,var(--hfx-color-accent,light-dark(#11776f,#37c9b8)));}
64
- .cx-cal-daylist{padding:var(--cx-size-8px) var(--cx-size-12px) var(--cx-size-12px);border-top:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));}
65
+ .cx-cal-daylist{padding:var(--cx-size-8px) var(--cx-size-12px) var(--cx-size-12px);border-top:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));}
65
66
  .cx-cal-daylist-h{margin:var(--cx-size-4px) 0 var(--cx-size-6px);font-size:var(--cx-size-14px);font-weight:600;}
66
67
  .cx-cal-daylist > .cx-cal-ev{width:100%;min-height:var(--cx-size-44px);}
67
- .cx-cal-more{position:absolute;z-index:20;max-height:var(--cx-size-360px);overflow:auto;padding:var(--cx-size-8px);background:var(--hfx-color-surface,light-dark(#ffffff,#16181c));border:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));border-radius:var(--hfx-radius-overlay,var(--hfx-radius-lg,10px));box-shadow:var(--hfx-elevation-2,0 1px 2px rgba(22,24,28,.05),0 6px 18px -10px rgba(22,24,28,.18));}
68
+ .cx-cal-more{position:absolute;z-index:20;max-height:var(--cx-size-360px);overflow:auto;padding:var(--cx-size-8px);background:var(--hfx-color-surface-card,var(--hfx-color-surface,light-dark(#ffffff,#16181c)));border:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));border-radius:var(--hfx-radius-overlay,var(--hfx-radius-lg,10px));box-shadow:var(--hfx-elevation-2,0 1px 2px rgba(22,24,28,.05),0 6px 18px -10px rgba(22,24,28,.18));}
68
69
  .cx-cal-more-top{display:flex;align-items:center;gap:var(--cx-size-8px);margin-bottom:var(--cx-size-6px);}
69
70
  .cx-cal-more-h{flex:1;margin:0;font-size:var(--cx-size-13d5px);font-weight:600;}
70
71
  .cx-cal-more-list{display:flex;flex-direction:column;gap:var(--cx-size-2px);}
@@ -74,18 +75,18 @@
74
75
  .cx-cal-more-list > .cx-cal-ev > :is(.cx-cal-ev-time,.cx-cal-ico){flex:none;white-space:nowrap;}
75
76
  .cx-cal-more{max-width:min(var(--cx-size-360px),calc(100vw - var(--cx-size-24px)));}
76
77
  .cx-cal-time{display:flex;flex-direction:column;height:100%;min-height:0;}
77
- .cx-cal-thead{flex:none;background:var(--hfx-color-surface,light-dark(#ffffff,#16181c));border-bottom:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));}
78
+ .cx-cal-thead{flex:none;background:var(--hfx-color-surface-card,var(--hfx-color-surface,light-dark(#ffffff,#16181c)));border-bottom:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));}
78
79
  .cx-cal-trow,.cx-cal-srow{display:flex;min-width:0;}
79
80
  .cx-cal-trow > .cx-cal-corner,.cx-cal-trow > .cx-cal-stime,.cx-cal-srow > .cx-cal-stime{flex:0 0 var(--cx-cal-gutter);width:var(--cx-cal-gutter);}
80
- .cx-cal-dayhead{flex:1 1 0;min-width:0;display:flex;align-items:baseline;justify-content:center;gap:var(--cx-size-6px);padding:var(--cx-size-6px) var(--cx-size-4px);border-inline-start:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));font-size:var(--cx-size-13px);color:var(--hfx-color-text-secondary,light-dark(#4d525b,#b0b4bc));cursor:pointer;white-space:nowrap;overflow:hidden;}
81
- .cx-cal-daynum{font-size:var(--cx-size-17px);font-weight:600;color:var(--hfx-color-text,light-dark(#16181c,#f2f3f5));font-variant-numeric:tabular-nums;}
81
+ .cx-cal-dayhead{flex:1 1 0;min-width:0;display:flex;align-items:baseline;justify-content:center;gap:var(--cx-size-6px);padding:var(--cx-size-6px) var(--cx-size-4px);border-inline-start:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));font-size:var(--cx-size-13px);color:var(--hfx-color-text-secondary,light-dark(#4d525b,#b0b4bc));cursor:pointer;white-space:nowrap;overflow:hidden;}
82
+ .cx-cal-daynum{font-size:var(--cx-size-17px);font-weight:600;color:var(--hfx-color-text-primary,var(--hfx-color-text,light-dark(#16181c,#f2f3f5)));font-variant-numeric:tabular-nums;}
82
83
  .cx-cal-dayhead.cx-cal-today .cx-cal-daynum{display:inline-grid;place-items:center;min-width:var(--cx-size-28px);height:var(--cx-size-28px);border-radius:var(--cx-size-14px);background:var(--hfx-color-accent,light-dark(#11776f,#37c9b8));color:var(--hfx-color-accent-contrast,light-dark(#ffffff,#0c0d10));}
83
- .cx-cal-rheads,.cx-cal-gheads{border-top:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));}
84
- .cx-cal-ghead{flex:1 1 0;min-width:0;padding:var(--cx-size-4px) var(--cx-size-6px);border-inline-start:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));font-size:var(--cx-size-12px);font-weight:700;color:var(--hfx-color-text,light-dark(#16181c,#f2f3f5));text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
85
- .cx-cal-rhead{flex:1 1 0;min-width:0;padding:var(--cx-size-4px) var(--cx-size-6px);border-inline-start:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));font-size:var(--cx-size-12px);font-weight:600;color:var(--hfx-color-text-secondary,light-dark(#4d525b,#b0b4bc));text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
86
- .cx-cal-allrow{position:relative;min-height:calc(var(--cx-cal-lanes,1) * var(--cx-size-22px) + var(--cx-size-8px));border-top:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));}
87
- .cx-cal-alllabel{padding-block-start:var(--cx-size-6px);padding-inline-end:var(--cx-size-8px);font-size:var(--cx-size-11d5px);color:var(--hfx-color-text-muted,light-dark(#626770,#8f949d));text-align:end;}
88
- .cx-cal-allcell{flex:1 1 0;min-width:0;border-inline-start:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));outline:none;}
84
+ .cx-cal-rheads,.cx-cal-gheads{border-top:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));}
85
+ .cx-cal-ghead{flex:1 1 0;min-width:0;padding:var(--cx-size-4px) var(--cx-size-6px);border-inline-start:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));font-size:var(--cx-size-12px);font-weight:700;color:var(--hfx-color-text-primary,var(--hfx-color-text,light-dark(#16181c,#f2f3f5)));text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
86
+ .cx-cal-rhead{flex:1 1 0;min-width:0;padding:var(--cx-size-4px) var(--cx-size-6px);border-inline-start:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));font-size:var(--cx-size-12px);font-weight:600;color:var(--hfx-color-text-secondary,light-dark(#4d525b,#b0b4bc));text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
87
+ .cx-cal-allrow{position:relative;min-height:calc(var(--cx-cal-lanes,1) * var(--cx-size-22px) + var(--cx-size-8px));border-top:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));}
88
+ .cx-cal-alllabel{padding-block-start:var(--cx-size-6px);padding-inline-end:var(--cx-size-8px);font-size:var(--cx-size-11d5px);color:var(--hfx-color-text-secondary,var(--hfx-color-text-muted,light-dark(#626770,#8f949d)));text-align:end;}
89
+ .cx-cal-allcell{flex:1 1 0;min-width:0;border-inline-start:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));outline:none;}
89
90
  .cx-cal-allcell:focus-visible,.cx-cal-slot:focus-visible{outline:var(--hfx-focus-width,2px) solid var(--hfx-color-focus-ring,light-dark(#02726a,#37c9b8));outline-offset:calc(-1 * var(--cx-size-2px));}
90
91
  .cx-cal-allrow > .cx-cal-allcell > :is(.cx-cal-ev,.cx-cal-more-btn){position:absolute;height:var(--cx-size-20px);top:calc(var(--cx-size-4px) + var(--l) * var(--cx-size-22px));inset-inline-start:calc(var(--cx-cal-gutter) + (100% - var(--cx-cal-gutter)) * var(--c) / var(--cx-cal-n) + var(--cx-size-2px));}
91
92
  .cx-cal-allrow > .cx-cal-allcell > .cx-cal-ev{width:calc((100% - var(--cx-cal-gutter)) * var(--s) / var(--cx-cal-n) - var(--cx-size-4px));}
@@ -93,10 +94,10 @@
93
94
  .cx-cal-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;max-height:var(--cx-cal-slots-height,none);}
94
95
  .cx-cal-slots{position:relative;}
95
96
  .cx-cal-srow{height:var(--cx-size-24px);}
96
- .cx-cal-stime{padding:0 var(--cx-size-8px);font-size:var(--cx-size-11d5px);line-height:1;color:var(--hfx-color-text-muted,light-dark(#626770,#8f949d));text-align:end;font-variant-numeric:tabular-nums;transform:translateY(calc(-1 * var(--cx-size-6px)));}
97
+ .cx-cal-stime{padding:0 var(--cx-size-8px);font-size:var(--cx-size-11d5px);line-height:1;color:var(--hfx-color-text-secondary,var(--hfx-color-text-muted,light-dark(#626770,#8f949d)));text-align:end;font-variant-numeric:tabular-nums;transform:translateY(calc(-1 * var(--cx-size-6px)));}
97
98
  .cx-cal-srow:first-child > .cx-cal-stime{transform:none;padding-top:var(--cx-size-2px);}
98
- .cx-cal-slot{flex:1 1 0;min-width:0;border-inline-start:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));border-top:var(--cx-size-1px) solid color-mix(in srgb,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)) 50%,transparent);outline:none;}
99
- .cx-cal-hour > .cx-cal-slot{border-top-color:var(--hfx-color-border,light-dark(#e2e4e7,#272a30));}
99
+ .cx-cal-slot{flex:1 1 0;min-width:0;border-inline-start:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));border-top:var(--cx-size-1px) solid color-mix(in srgb,var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30))) 50%,transparent);outline:none;}
100
+ .cx-cal-hour > .cx-cal-slot{border-top-color:var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));}
100
101
  .cx-cal-slots .cx-cal-ev-block{position:absolute;z-index:2;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:var(--cx-size-2px) var(--cx-size-6px);white-space:normal;line-height:var(--cx-size-16px);
101
102
  inset-inline-start:calc(var(--cx-cal-gutter) + (100% - var(--cx-cal-gutter)) * (var(--d) + var(--c) / var(--k)) / var(--cx-cal-n) + var(--cx-size-2px));width:calc((100% - var(--cx-cal-gutter)) * var(--sp) / var(--k) / var(--cx-cal-n) - var(--cx-size-4px));
102
103
  top:calc(var(--t) * var(--cx-cal-ppm) + var(--cx-size-1px));height:calc(var(--h) * var(--cx-cal-ppm) - var(--cx-size-2px));}
@@ -111,18 +112,18 @@ top:calc(var(--t) * var(--cx-cal-ppm) + var(--cx-size-1px));height:calc(var(--h)
111
112
  .cx-cal-slots .cx-cal-ev-block:is(.cx-cal-short,.cx-cal-marker) > .cx-cal-ev-title{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;}
112
113
  .cx-cal-slots .cx-cal-ev-block:is(.cx-cal-short,.cx-cal-marker) > .cx-cal-ev-time{flex:none;}
113
114
  .cx-cal-slots .cx-cal-ev-block.cx-cal-short > :is(.cx-cal-ev-sub,.cx-cal-ev-status){display:none;}
114
- .cx-cal-slots .cx-cal-ev-block.cx-cal-marker{height:var(--cx-size-20px);transform:translateY(calc(-1 * var(--cx-size-10px)));flex-direction:row;align-items:center;gap:var(--cx-size-4px);background:var(--hfx-color-surface,light-dark(#ffffff,#16181c));box-shadow:inset 0 0 0 var(--cx-size-1px) var(--cx-ev);border-radius:var(--hfx-radius-control,var(--hfx-radius-md,6px));white-space:nowrap;}
115
+ .cx-cal-slots .cx-cal-ev-block.cx-cal-marker{height:var(--cx-size-20px);transform:translateY(calc(-1 * var(--cx-size-10px)));flex-direction:row;align-items:center;gap:var(--cx-size-4px);background:var(--hfx-color-surface-card,var(--hfx-color-surface,light-dark(#ffffff,#16181c)));box-shadow:inset 0 0 0 var(--cx-size-1px) var(--cx-ev);border-radius:var(--hfx-radius-control,var(--hfx-radius-md,6px));white-space:nowrap;}
115
116
  .cx-cal-slots .cx-cal-ev-block.cx-cal-marker::before{content:"";flex:none;width:var(--cx-size-8px);height:var(--cx-size-8px);border-radius:50%;background:var(--cx-ev);}
116
117
  .cx-cal-slots .cx-cal-ev-block.cx-cal-marker > :is(.cx-cal-ev-sub,.cx-cal-ev-status){display:none;}
117
118
  .cx-cal-shade{position:absolute;z-index:1;pointer-events:none;overflow:hidden;inset-inline-start:calc(var(--cx-cal-gutter) + (100% - var(--cx-cal-gutter)) * var(--d) / var(--cx-cal-n));width:calc((100% - var(--cx-cal-gutter)) / var(--cx-cal-n));top:calc(var(--t) * var(--cx-cal-ppm));height:calc(var(--h) * var(--cx-cal-ppm));}
118
119
  .cx-cal-shade > span{display:block;padding:var(--cx-size-2px) var(--cx-size-6px);font-size:var(--cx-size-11d5px);color:var(--hfx-color-text-secondary,light-dark(#4d525b,#b0b4bc));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
119
- .cx-cal-shade.cx-cal-off{background:color-mix(in srgb,var(--hfx-color-text,light-dark(#16181c,#f2f3f5)) 4%,transparent);}
120
- .cx-cal-shade.cx-cal-unavailable{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--hfx-color-text,light-dark(#16181c,#f2f3f5)) 8%,transparent) 0 var(--cx-size-6px),transparent var(--cx-size-6px) var(--cx-size-12px));}
120
+ .cx-cal-shade.cx-cal-off{background:color-mix(in srgb,var(--hfx-color-text-primary,var(--hfx-color-text,light-dark(#16181c,#f2f3f5))) 4%,transparent);}
121
+ .cx-cal-shade.cx-cal-unavailable{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--hfx-color-text-primary,var(--hfx-color-text,light-dark(#16181c,#f2f3f5))) 8%,transparent) 0 var(--cx-size-6px),transparent var(--cx-size-6px) var(--cx-size-12px));}
121
122
  .cx-cal-shade.cx-cal-bgrange{background:color-mix(in srgb,var(--cx-bg-tone) 11%,transparent);box-shadow:inset var(--cx-size-2px) 0 0 color-mix(in srgb,var(--cx-bg-tone) 55%,transparent);}
122
123
  :where(.cx-cal-rtl) .cx-cal-shade.cx-cal-bgrange{box-shadow:inset calc(-1 * var(--cx-size-2px)) 0 0 color-mix(in srgb,var(--cx-bg-tone) 55%,transparent);}
123
124
  .cx-cal-now{position:absolute;z-index:1;height:var(--cx-size-2px);pointer-events:none;background:var(--hfx-color-status-bad-fg,light-dark(#b8292a,#f47171));inset-inline-start:calc(var(--cx-cal-gutter) + (100% - var(--cx-cal-gutter)) * var(--d) / var(--cx-cal-n));width:calc((100% - var(--cx-cal-gutter)) * var(--sp) / var(--cx-cal-n));top:calc(var(--t) * var(--cx-cal-ppm) - var(--cx-size-1px));}
124
125
  .cx-cal-now::before{content:"";position:absolute;inset-inline-start:calc(-1 * var(--cx-size-4px));top:calc(-1 * var(--cx-size-3px));width:var(--cx-size-8px);height:var(--cx-size-8px);border-radius:50%;background:inherit;}
125
- .cx-cal-agroup{border-bottom:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));}
126
+ .cx-cal-agroup{border-bottom:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));}
126
127
  .cx-cal-ahead{position:sticky;top:0;z-index:2;background:var(--hfx-color-surface-sunken,light-dark(#f7f8f9,#111317));}
127
128
  .cx-cal-ahead-c{display:flex;align-items:baseline;gap:var(--cx-size-8px);padding:var(--cx-size-6px) var(--cx-size-12px);font-weight:600;}
128
129
  .cx-cal-aweekday{font-weight:400;color:var(--hfx-color-text-secondary,light-dark(#4d525b,#b0b4bc));}
@@ -136,62 +137,67 @@ top:calc(var(--t) * var(--cx-cal-ppm) + var(--cx-size-1px));height:calc(var(--h)
136
137
  .cx-cal-ev-item > .cx-cal-ev-title{font-weight:600;overflow-wrap:anywhere;}
137
138
  .cx-cal-ev-item > .cx-cal-ico{margin-inline-start:0;}
138
139
  .cx-cal-ev-item > .cx-cal-ev-status.cx-cal-status-tone .p-dot{display:none;}
139
- .cx-cal-ev-item > .cx-cal-ev-status .p-state{padding:0 var(--cx-size-8px);border-radius:var(--hfx-radius-control,var(--hfx-radius-md,6px));background:var(--cx-ev-bg);color:var(--hfx-color-text,light-dark(#16181c,#f2f3f5));font-size:var(--cx-size-12px);line-height:var(--cx-size-20px);}
140
- .cx-cal-year{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--cx-size-210px),1fr));gap:var(--cx-size-16px) var(--cx-size-20px);padding:var(--cx-size-16px);}
140
+ .cx-cal-ev-item > .cx-cal-ev-status .p-state{padding:0 var(--cx-size-8px);border-radius:var(--hfx-radius-control,var(--hfx-radius-md,6px));background:var(--cx-ev-bg);color:var(--hfx-color-text-primary,var(--hfx-color-text,light-dark(#16181c,#f2f3f5)));font-size:var(--cx-size-12px);line-height:var(--cx-size-20px);}
141
+ .cx-cal-year{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--cx-size-280px)),1fr));gap:var(--cx-size-16px) var(--cx-size-20px);padding:var(--cx-size-16px);}
141
142
  .cx-cal-ymonth-h{margin:0 0 var(--cx-size-6px);font-size:var(--cx-size-14px);font-weight:600;}
142
143
  .cx-cal-ygrid{display:flex;flex-direction:column;gap:var(--cx-size-2px);}
143
144
  .cx-cal-ydow,.cx-cal-yweek{display:grid;grid-template-columns:repeat(var(--cx-cal-cols),minmax(0,1fr));gap:var(--cx-size-2px);}
144
- .cx-cal-ydow > .cx-cal-dowc{padding:0;text-align:center;font-size:var(--cx-size-11px);color:var(--hfx-color-text-muted,light-dark(#626770,#8f949d));}
145
+ .cx-cal-ydow > .cx-cal-dowc{padding:0;text-align:center;font-size:var(--cx-size-11px);color:var(--hfx-color-text-secondary,var(--hfx-color-text-muted,light-dark(#626770,#8f949d)));}
145
146
  .cx-cal-yday{height:var(--cx-size-26px);display:grid;place-items:center;border-radius:var(--hfx-radius-sm,4px);font-size:var(--cx-size-12px);font-variant-numeric:tabular-nums;cursor:pointer;outline:none;}
147
+ .cx-cal-yday[data-cx-heat]{position:relative;font-weight:var(--hfx-weight-semibold,600);}
148
+ .cx-cal-yday[data-cx-heat]::after{content:"";position:absolute;inset-block-end:var(--hfx-space-0-5,2px);inset-inline-start:calc(50% - var(--hfx-space-0-5,2px));width:var(--hfx-space-1,0.25rem);height:var(--hfx-space-1,0.25rem);border-radius:50%;background:var(--hfx-color-accent,light-dark(#11776f,#37c9b8));}
149
+ .cx-cal-yday[data-cx-heat="4"]::after{background:currentColor;}
146
150
  .cx-cal-yday:hover{box-shadow:inset 0 0 0 var(--cx-size-1px) var(--hfx-color-border-strong,light-dark(#cdd0d5,#363a42));}
147
- :is(.cx-cal-yday,.cx-cal-yswatch)[data-cx-heat="1"]{background:color-mix(in srgb,var(--hfx-color-accent,light-dark(#11776f,#37c9b8)) 14%,var(--hfx-color-surface,light-dark(#ffffff,#16181c)));}
148
- :is(.cx-cal-yday,.cx-cal-yswatch)[data-cx-heat="2"]{background:color-mix(in srgb,var(--hfx-color-accent,light-dark(#11776f,#37c9b8)) 30%,var(--hfx-color-surface,light-dark(#ffffff,#16181c)));}
149
- :is(.cx-cal-yday,.cx-cal-yswatch)[data-cx-heat="3"]{background:color-mix(in srgb,var(--hfx-color-accent,light-dark(#11776f,#37c9b8)) 50%,var(--hfx-color-surface,light-dark(#ffffff,#16181c)));}
151
+ :is(.cx-cal-yday,.cx-cal-yswatch)[data-cx-heat="1"]{background:color-mix(in srgb,var(--hfx-color-accent,light-dark(#11776f,#37c9b8)) 14%,var(--hfx-color-surface-card,var(--hfx-color-surface,light-dark(#ffffff,#16181c))));}
152
+ :is(.cx-cal-yday,.cx-cal-yswatch)[data-cx-heat="2"]{background:color-mix(in srgb,var(--hfx-color-accent,light-dark(#11776f,#37c9b8)) 30%,var(--hfx-color-surface-card,var(--hfx-color-surface,light-dark(#ffffff,#16181c))));}
153
+ :is(.cx-cal-yday,.cx-cal-yswatch)[data-cx-heat="3"]{background:color-mix(in srgb,var(--hfx-color-accent,light-dark(#11776f,#37c9b8)) 50%,var(--hfx-color-surface-card,var(--hfx-color-surface,light-dark(#ffffff,#16181c))));}
150
154
  :is(.cx-cal-yday,.cx-cal-yswatch)[data-cx-heat="4"]{background:var(--hfx-color-accent,light-dark(#11776f,#37c9b8));color:var(--hfx-color-accent-contrast,light-dark(#ffffff,#0c0d10));}
151
155
  .cx-cal-jumpbox{position:relative;display:inline-flex;}
152
156
  .cx-cal-bare > :is(.cx-toolbar,.cx-grid-query-summary,.cx-pager){display:none!important;}
153
157
  .cx-cal-no-search > .cx-toolbar .cx-search,.cx-cal-no-filters > .cx-toolbar .cx-grid-filters,.cx-cal-no-columns > .cx-toolbar .cx-grid-columns,
154
158
  .cx-cal-no-views > .cx-toolbar .cx-grid-views,.cx-cal-no-export > .cx-toolbar .cx-grid-export,.cx-cal-no-more > .cx-toolbar .cx-grid-overflow{display:none;}
155
- .cx-cal-pad{background:color-mix(in srgb,var(--hfx-color-text,light-dark(#16181c,#f2f3f5)) 2%,transparent);}
156
- .cx-cal-invalid{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--hfx-color-text,light-dark(#16181c,#f2f3f5)) 5%,transparent) 0 var(--cx-size-6px),transparent var(--cx-size-6px) var(--cx-size-12px));color:var(--hfx-color-text-muted,light-dark(#626770,#8f949d));}
157
- .cx-cal-wknum{float:inline-end;margin-inline-start:var(--cx-size-4px);font-size:var(--cx-size-11px);line-height:var(--cx-size-20px);color:var(--hfx-color-text-muted,light-dark(#626770,#8f949d));font-variant-numeric:tabular-nums;}
159
+ .cx-cal-pad{background:color-mix(in srgb,var(--hfx-color-text-primary,var(--hfx-color-text,light-dark(#16181c,#f2f3f5))) 2%,transparent);}
160
+ .cx-cal-invalid{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--hfx-color-text-primary,var(--hfx-color-text,light-dark(#16181c,#f2f3f5))) 5%,transparent) 0 var(--cx-size-6px),transparent var(--cx-size-6px) var(--cx-size-12px));color:var(--hfx-color-text-secondary,var(--hfx-color-text-muted,light-dark(#626770,#8f949d)));}
161
+ .cx-cal-wknum{float:inline-end;margin-inline-start:var(--cx-size-4px);font-size:var(--cx-size-11px);line-height:var(--cx-size-20px);color:var(--hfx-color-text-secondary,var(--hfx-color-text-muted,light-dark(#626770,#8f949d)));font-variant-numeric:tabular-nums;}
158
162
  .cx-cal-lhead > .cx-cal-wknum{position:static;margin-inline-start:auto;}
159
163
  .cx-calendar:not([data-cx-calendar-view="mini"]) .cx-cal-day > .cx-cal-num:hover{text-decoration:underline;cursor:pointer;}
160
- .cx-cal-mini{width:min(100%,var(--cx-size-360px));height:auto;min-height:0;flex:none;margin:var(--cx-size-12px) auto;border:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));border-radius:var(--hfx-radius-control,var(--hfx-radius-md,6px));overflow:hidden;}
164
+ .cx-cal-mini{width:calc(100% - 2 * var(--cx-size-12px));max-width:calc(3 * var(--cx-size-280px));height:auto;min-height:0;flex:none;margin:var(--cx-size-12px) auto;border:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));border-radius:var(--hfx-radius-control,var(--hfx-radius-md,6px));overflow:hidden;}/* lint-allow layout: calendar width follows the host with a readable day-cell limit */
161
165
  .cx-cal-mini .cx-cal-week{min-height:var(--cx-size-34px)!important;flex:none;}
162
166
  .cx-cal-mini .cx-cal-day{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--cx-size-2px) 0;cursor:pointer;}
163
167
  .cx-cal-mini .cx-cal-num{font-size:var(--cx-size-12px);}
164
168
  .cx-cal-mini .cx-cal-wknum{display:none;}
165
169
  .cx-cal-mini .cx-cal-dots{margin-top:var(--cx-size-1px);}
166
- .cx-cal-mini .cx-cal-dots > i{width:var(--cx-size-4px);height:var(--cx-size-4px);}
170
+ .cx-cal-mini .cx-cal-dots > i{width:var(--hfx-space-1-5,6px);height:var(--hfx-space-1-5,6px);}
167
171
  .cx-cal-mini .cx-cal-day[aria-selected="true"] > .cx-cal-num{display:inline-grid;place-items:center;min-width:var(--cx-size-22px);height:var(--cx-size-22px);border-radius:var(--cx-size-11px);background:var(--hfx-color-accent,light-dark(#11776f,#37c9b8));color:var(--hfx-color-accent-contrast,light-dark(#ffffff,#0c0d10));}
172
+ .cx-cal-mini .cx-cal-day[data-cx-listed] > .cx-cal-num{outline:var(--hfx-focus-width,2px) solid var(--hfx-color-accent,light-dark(#11776f,#37c9b8));outline-offset:calc(-1 * var(--hfx-focus-width,2px));}
168
173
  .cx-cal-mini .cx-cal-dowc{text-align:center;padding:var(--cx-size-4px) 0;font-size:var(--cx-size-11px);}
169
174
  .cx-cal-months{display:flex;flex-direction:column;gap:var(--cx-size-16px);padding:var(--cx-size-8px) 0 var(--cx-size-16px);}
170
- .cx-cal-mtitle{position:sticky;top:0;z-index:8;margin:0;padding:var(--cx-size-6px) var(--cx-size-12px);background:var(--hfx-color-surface,light-dark(#ffffff,#16181c));font-size:var(--cx-size-14px);font-weight:600;}
175
+ .cx-cal-mtitle{position:sticky;top:0;z-index:8;margin:0;padding:var(--cx-size-6px) var(--cx-size-12px);background:var(--hfx-color-surface-card,var(--hfx-color-surface,light-dark(#ffffff,#16181c)));font-size:var(--cx-size-14px);font-weight:600;}
171
176
  .cx-cal-months .cx-cal-month{min-height:0;}
172
177
  .cx-cal-months .cx-cal-dow{position:static;}
173
178
  .cx-cal-list{min-height:100%;}
174
179
  .cx-cal-lrow{display:grid;grid-template-columns:repeat(var(--cx-cal-cols),minmax(0,1fr));min-height:100%;}
175
- .cx-cal-lday{position:relative;display:flex;flex-direction:column;gap:var(--cx-size-6px);min-width:0;padding:var(--cx-size-8px);border-inline-start:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));outline:none;}
180
+ .cx-cal-lday{position:relative;display:flex;flex-direction:column;gap:var(--cx-size-6px);min-width:0;padding:var(--cx-size-8px);border-inline-start:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));outline:none;}
176
181
  .cx-cal-lday:first-child{border-inline-start:0;}
177
182
  .cx-cal-lday:focus-visible{outline:var(--hfx-focus-width,2px) solid var(--hfx-color-focus-ring,light-dark(#02726a,#37c9b8));outline-offset:calc(-1 * var(--cx-size-2px));}
178
- .cx-cal-lhead{display:flex;align-items:baseline;gap:var(--cx-size-6px);padding-bottom:var(--cx-size-6px);border-bottom:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));font-size:var(--cx-size-13px);color:var(--hfx-color-text-secondary,light-dark(#4d525b,#b0b4bc));}
179
- .cx-cal-lhead > .cx-cal-num{font-size:var(--cx-size-17px);font-weight:600;color:var(--hfx-color-text,light-dark(#16181c,#f2f3f5));}
183
+ .cx-cal-lhead{display:flex;align-items:baseline;gap:var(--cx-size-6px);padding-bottom:var(--cx-size-6px);border-bottom:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));font-size:var(--cx-size-13px);color:var(--hfx-color-text-secondary,light-dark(#4d525b,#b0b4bc));}
184
+ .cx-cal-lhead > .cx-cal-num{font-size:var(--cx-size-17px);font-weight:600;color:var(--hfx-color-text-primary,var(--hfx-color-text,light-dark(#16181c,#f2f3f5)));}
180
185
  .cx-cal-lday.cx-cal-today .cx-cal-lhead > .cx-cal-num{color:var(--hfx-color-accent-text,light-dark(#02726a,#37c9b8));}
181
186
  .cx-cal-lday > .cx-cal-ev-item{font-size:var(--cx-size-13px);}
182
187
  .cx-cal-list:not(.cx-cal-list-day) .cx-cal-lday > .cx-cal-ev-item > .cx-cal-ev-title{flex:1 0 100%;order:1;}
183
- .cx-cal-list:not(.cx-cal-list-day) .cx-cal-lday > .cx-cal-ev-item > .cx-cal-ev-time{flex:1 1 0;min-width:0;}
188
+ .cx-cal-list:not(.cx-cal-list-day) .cx-cal-lday > .cx-cal-ev-item > .cx-cal-ev-time{flex:none;white-space:nowrap;font-size:var(--hfx-type-caption-size,0.75rem);}
189
+ .cx-cal-list:not(.cx-cal-list-day) .cx-cal-lday > .cx-cal-ev-item > .cx-cal-ico{margin-inline-start:0;}
184
190
  .cx-cal-list:not(.cx-cal-list-day) .cx-cal-lday > .cx-cal-ev-item > :is(.cx-cal-ev-sub,.cx-cal-ev-status){order:2;}
185
- .cx-cal-lday > .cx-cal-empty{margin:0;color:var(--hfx-color-text-muted,light-dark(#626770,#8f949d));font-size:var(--cx-size-12px);}
191
+ .cx-cal-lday > .cx-cal-empty{margin:0;color:var(--hfx-color-text-secondary,var(--hfx-color-text-muted,light-dark(#626770,#8f949d)));font-size:var(--cx-size-12px);}
186
192
  .cx-cal-phone .cx-cal-lrow{grid-template-columns:minmax(0,1fr);}
187
- .cx-cal-phone .cx-cal-day.cx-cal-lday{align-items:stretch;justify-content:flex-start;min-height:0;padding:var(--cx-size-8px) var(--cx-size-12px);text-align:start;border-inline-start:0;border-top:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));}
193
+ .cx-cal-phone .cx-cal-day.cx-cal-lday{align-items:stretch;justify-content:flex-start;min-height:0;padding:var(--cx-size-8px) var(--cx-size-12px);text-align:start;border-inline-start:0;border-top:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));}
188
194
  .cx-cal-ylist{display:flex;flex-direction:column;gap:var(--cx-size-2px);margin:var(--cx-size-8px) 0 0;padding:0;list-style:none;}
189
195
  .cx-cal-ylist > li{display:flex;align-items:center;gap:var(--cx-size-6px);min-width:0;}
190
- .cx-cal-yl-day{flex:none;min-width:var(--cx-size-18px);font-size:var(--cx-size-11d5px);color:var(--hfx-color-text-muted,light-dark(#626770,#8f949d));text-align:end;font-variant-numeric:tabular-nums;}
196
+ .cx-cal-yl-day{flex:none;min-width:var(--cx-size-18px);font-size:var(--cx-size-11d5px);color:var(--hfx-color-text-secondary,var(--hfx-color-text-muted,light-dark(#626770,#8f949d)));text-align:end;font-variant-numeric:tabular-nums;}
191
197
  .cx-cal-ylist .cx-cal-ev{flex:1;min-width:0;height:var(--cx-size-22px);font-size:var(--cx-size-12px);}
192
198
  .cx-cal-yl-morebtn{padding:0 var(--cx-size-6px);border:0;background:transparent;color:var(--hfx-color-accent-text,light-dark(#02726a,#37c9b8));font:inherit;font-size:var(--cx-size-12px);font-weight:600;cursor:pointer;}
193
199
  .cx-cal-yl-morebtn:focus-visible{outline:var(--hfx-focus-width,2px) solid var(--hfx-color-focus-ring,light-dark(#02726a,#37c9b8));}
194
- :is(.cx-cal-details,.cx-cal-hover){position:absolute;z-index:21;display:flex;flex-direction:column;gap:var(--cx-size-4px);padding:var(--cx-size-10px) var(--cx-size-12px);background:var(--hfx-color-surface-raised,light-dark(#ffffff,#1e2126));color:var(--hfx-color-text,light-dark(#16181c,#f2f3f5));border:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));border-radius:var(--hfx-radius-overlay,var(--hfx-radius-lg,10px));box-shadow:var(--hfx-elevation-2,0 1px 2px rgba(22,24,28,.05),0 6px 18px -10px rgba(22,24,28,.18));font-size:var(--cx-size-13px);line-height:1.4;}
200
+ :is(.cx-cal-details,.cx-cal-hover){position:absolute;z-index:21;display:flex;flex-direction:column;gap:var(--cx-size-4px);padding:var(--cx-size-10px) var(--cx-size-12px);background:var(--hfx-color-surface-raised,light-dark(#ffffff,#1e2126));color:var(--hfx-color-text-primary,var(--hfx-color-text,light-dark(#16181c,#f2f3f5)));border:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));border-radius:var(--hfx-radius-overlay,var(--hfx-radius-lg,10px));box-shadow:var(--hfx-elevation-2,0 1px 2px rgba(22,24,28,.05),0 6px 18px -10px rgba(22,24,28,.18));font-size:var(--cx-size-13px);line-height:1.4;}
195
201
  .cx-cal-hover{pointer-events:none;}
196
202
  .cx-cal-det-top{display:flex;align-items:flex-start;gap:var(--cx-size-8px);}
197
203
  .cx-cal-det-title{flex:1;min-width:0;margin:0;font-size:var(--cx-size-14px);font-weight:600;overflow-wrap:anywhere;}
@@ -207,16 +213,15 @@ top:calc(var(--t) * var(--cx-cal-ppm) + var(--cx-size-1px));height:calc(var(--h)
207
213
  .cx-cal-ylegend > span:last-child{margin-inline-start:var(--cx-size-4px);}
208
214
  .cx-cal-yday.cx-cal-today{box-shadow:inset 0 0 0 var(--cx-size-2px) var(--hfx-color-accent,light-dark(#11776f,#37c9b8));font-weight:700;}
209
215
  .cx-cal-yday:focus-visible{outline:var(--hfx-focus-width,2px) solid var(--hfx-color-focus-ring,light-dark(#02726a,#37c9b8));outline-offset:var(--hfx-focus-offset,2px);}
210
- .cx-cal-phone .cx-cal-bar{gap:var(--cx-size-6px);padding:var(--cx-size-6px) var(--cx-size-8px);}
216
+ .cx-cal-phone .cx-cal-bar{display:flex;flex-wrap:wrap;gap:var(--cx-size-6px);padding:var(--cx-size-6px) var(--cx-size-8px);}
211
217
  .cx-cal-phone .cx-cal-bar .cx-cal-views{display:none;}
212
218
  .cx-cal-phone .cx-cal-bar .cx-cal-view-select:not([hidden]){display:block;margin-inline-start:auto;}
213
219
  .cx-cal-phone .cx-cal-bar .cx-cal-jumpbox{display:none;}
214
220
  .cx-cal-phone .cx-cal-title{order:3;flex-basis:100%;font-size:var(--cx-size-14px);}
215
221
  .cx-cal-phone .cx-cal-day{display:flex;flex-direction:column;align-items:center;padding:var(--cx-size-2px) 0;cursor:pointer;}
216
222
  .cx-cal-phone .cx-cal-month{min-height:0;}
217
- .cx-cal-rpick{display:flex;align-items:center;gap:var(--cx-size-8px);height:var(--cx-size-44px);padding:0 var(--cx-size-8px);border-bottom:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));}
218
- .cx-cal-rpick-select{flex:1 1 auto;min-width:0;height:var(--hfx-control-height-md,calc(36px - var(--cx-compact,0) * 8px));padding:0 var(--cx-size-8px);border:var(--cx-size-1px) solid var(--hfx-color-border-control,light-dark(#8a8f98,#6e737c));border-radius:var(--hfx-radius-control,var(--hfx-radius-md,6px));background:var(--hfx-color-surface,light-dark(#ffffff,#16181c));color:var(--hfx-color-text,light-dark(#16181c,#f2f3f5));font:inherit;}
219
- .cx-cal-rpick-select:focus-visible{outline:var(--hfx-focus-width,2px) solid var(--hfx-color-focus-ring,light-dark(#02726a,#37c9b8));outline-offset:var(--hfx-focus-offset,2px);}
223
+ .cx-cal-rpick{display:flex;align-items:center;gap:var(--cx-size-8px);height:var(--cx-size-44px);padding:0 var(--cx-size-8px);border-bottom:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));}
224
+ .cx-cal-rpick-select{flex:1 1 auto;}
220
225
  .cx-cal-rpick + .cx-cal-time{height:calc(100% - var(--cx-size-44px));}
221
226
  .cx-cal-phone .cx-cal-weeks,.cx-cal-phone .cx-cal-week{flex:none;}
222
227
  .cx-cal-phone .cx-cal-day[data-cx-listed] > .cx-cal-num{display:inline-grid;place-items:center;min-width:var(--cx-size-24px);height:var(--cx-size-24px);border-radius:var(--hfx-radius-control,var(--hfx-radius-md,6px));box-shadow:inset 0 0 0 var(--cx-size-2px) var(--hfx-color-accent,light-dark(#11776f,#37c9b8));}
@@ -225,7 +230,7 @@ top:calc(var(--t) * var(--cx-cal-ppm) + var(--cx-size-1px));height:calc(var(--h)
225
230
  [data-cx-calendar-editable] .cx-cal-ev{touch-action:pan-x pan-y;}
226
231
  .cx-cal-ev.cx-cal-dragging{opacity:.45;}
227
232
  .cx-cal-drag,.cx-cal-ev.cx-cal-dragging,.cx-cal-ghost{cursor:grabbing;}
228
- .cx-cal-ghost{position:absolute;z-index:8;pointer-events:none;padding:var(--cx-size-2px) var(--cx-size-6px);border:var(--cx-size-2px) dashed var(--hfx-color-accent,light-dark(#11776f,#37c9b8));border-radius:var(--hfx-radius-sm,4px);background:color-mix(in srgb,var(--hfx-color-accent,light-dark(#11776f,#37c9b8)) 12%,var(--hfx-color-surface,light-dark(#ffffff,#16181c)));color:var(--hfx-color-text,light-dark(#16181c,#f2f3f5));font-size:var(--cx-size-12px);font-weight:600;line-height:var(--cx-size-16px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
233
+ .cx-cal-ghost{position:absolute;z-index:8;pointer-events:none;padding:var(--cx-size-2px) var(--cx-size-6px);border:var(--cx-size-2px) dashed var(--hfx-color-accent,light-dark(#11776f,#37c9b8));border-radius:var(--hfx-radius-sm,4px);background:color-mix(in srgb,var(--hfx-color-accent,light-dark(#11776f,#37c9b8)) 12%,var(--hfx-color-surface-card,var(--hfx-color-surface,light-dark(#ffffff,#16181c))));color:var(--hfx-color-text-primary,var(--hfx-color-text,light-dark(#16181c,#f2f3f5)));font-size:var(--cx-size-12px);font-weight:600;line-height:var(--cx-size-16px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
229
234
  .cx-cal-ghost.cx-cal-conflict{border-color:var(--hfx-color-status-bad-fg,light-dark(#b8292a,#f47171));background:var(--hfx-color-status-bad-bg,light-dark(#f9e4e4,#3c272a));color:var(--hfx-color-status-bad-fg,light-dark(#b8292a,#f47171));}
230
235
  .cx-cal-slots > .cx-cal-ghost-block{inset-inline-start:calc(var(--cx-cal-gutter) + (100% - var(--cx-cal-gutter)) * var(--d) / var(--cx-cal-n) + var(--cx-size-2px));width:calc((100% - var(--cx-cal-gutter)) / var(--cx-cal-n) - var(--cx-size-4px));top:calc(var(--t) * var(--cx-cal-ppm));height:calc(var(--h) * var(--cx-cal-ppm));white-space:normal;}
231
236
  .cx-cal-week > .cx-cal-day > .cx-cal-ghost-bar{top:var(--cx-size-24px);height:var(--cx-size-22px);inset-inline-start:calc(100% * var(--c) / var(--cx-cal-cols) + var(--cx-size-2px));width:calc(100% * var(--s) / var(--cx-cal-cols) - var(--cx-size-4px));}
@@ -253,35 +258,24 @@ top:calc(var(--t) * var(--cx-cal-ppm) + var(--cx-size-1px));height:calc(var(--h)
253
258
  .cx-cal-dow,.cx-cal-ahead{position:static;}
254
259
  }
255
260
  .cx-cal-rtl .cx-cal-prev svg,.cx-cal-rtl .cx-cal-next svg{transform:scaleX(-1);}
256
- .cx-cal-bar :is(.cx-cal-prev,.cx-cal-next)[aria-disabled="true"]{opacity:.45;cursor:default;}
257
- :is(.cx-cal-create,.cx-cal-ask){position:absolute;z-index:22;display:flex;flex-direction:column;gap:var(--cx-size-6px);margin:0;padding:var(--cx-size-12px);background:var(--hfx-color-surface-raised,light-dark(#ffffff,#1e2126));color:var(--hfx-color-text,light-dark(#16181c,#f2f3f5));border:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));border-radius:var(--hfx-radius-overlay,var(--hfx-radius-lg,10px));box-shadow:var(--hfx-elevation-2,0 1px 2px rgba(22,24,28,.05),0 6px 18px -10px rgba(22,24,28,.18));font-size:var(--cx-size-13px);line-height:1.4;}
261
+ :is(.cx-cal-create,.cx-cal-ask){position:absolute;z-index:22;display:flex;flex-direction:column;gap:var(--cx-size-6px);margin:0;padding:var(--cx-size-12px);background:var(--hfx-color-surface-raised,light-dark(#ffffff,#1e2126));color:var(--hfx-color-text-primary,var(--hfx-color-text,light-dark(#16181c,#f2f3f5)));border:var(--cx-size-1px) solid var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));border-radius:var(--hfx-radius-overlay,var(--hfx-radius-lg,10px));box-shadow:var(--hfx-elevation-2,0 1px 2px rgba(22,24,28,.05),0 6px 18px -10px rgba(22,24,28,.18));font-size:var(--cx-size-13px);line-height:1.4;}
258
262
  .cx-cal-create-h{margin:0;font-size:var(--cx-size-14px);font-weight:600;}
259
263
  .cx-cal-create-l{margin-top:var(--cx-size-4px);font-weight:600;color:var(--hfx-color-text-secondary,light-dark(#4d525b,#b0b4bc));font-size:var(--cx-size-12px);}
260
- .cx-cal-create-input{min-height:var(--cx-size-34px);padding:0 var(--cx-size-8px);font:inherit;color:inherit;background:var(--hfx-color-surface,light-dark(#ffffff,#16181c));border:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));border-radius:var(--hfx-radius-control,var(--hfx-radius-md,6px));}
261
- .cx-cal-create .cx-btn.cx-cal-create-add{background:var(--hfx-color-accent,light-dark(#11776f,#37c9b8));border-color:var(--hfx-color-accent,light-dark(#11776f,#37c9b8));color:var(--hfx-color-accent-contrast,light-dark(#ffffff,#0c0d10));}
262
- .cx-cal-create-input:focus-visible{outline:var(--hfx-focus-width,2px) solid var(--hfx-color-focus-ring,light-dark(#02726a,#37c9b8));outline-offset:var(--hfx-focus-offset,2px);}
263
264
  .cx-cal-create .cx-cal-occurrence-remove{margin-inline-end:auto;color:var(--hfx-color-status-bad-fg,light-dark(#b8292a,#f47171));}
264
265
  .cx-cal-occurrence-sheet{position:fixed;inset:auto 0 0;box-sizing:border-box;width:100%;--cx-cal-sheet-max-height:85dvh;max-height:var(--cx-cal-sheet-max-height);overflow:auto;border-radius:var(--hfx-radius-overlay,var(--hfx-radius-lg,10px)) var(--hfx-radius-overlay,var(--hfx-radius-lg,10px)) 0 0;padding:var(--cx-size-16px) var(--cx-size-16px) max(var(--cx-size-16px),env(safe-area-inset-bottom));--cx-cal-sheet-layer:30;z-index:var(--cx-cal-sheet-layer);}
265
266
  :is(.cx-cal-create-actions,.cx-cal-ask-actions){display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--cx-size-6px);margin-top:var(--cx-size-6px);}
266
267
  .cx-cal-ask-actions{flex-direction:column;align-items:stretch;}
267
268
  .cx-cal-ask-actions .cx-btn{justify-content:flex-start;}
268
- .cx-cal-menu{position:absolute;z-index:23;display:flex;flex-direction:column;min-width:var(--cx-size-180px);max-width:calc(100% - var(--cx-size-8px));padding:var(--cx-size-4px);background:var(--hfx-color-surface-raised,light-dark(#ffffff,#1e2126));color:var(--hfx-color-text,light-dark(#16181c,#f2f3f5));border:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));border-radius:var(--hfx-radius-overlay,var(--hfx-radius-lg,10px));box-shadow:var(--hfx-elevation-2,0 1px 2px rgba(22,24,28,.05),0 6px 18px -10px rgba(22,24,28,.18));font-size:var(--cx-size-13px);}
269
- .cx-cal-menu-item{display:block;width:100%;min-height:var(--cx-size-34px);padding:0 var(--cx-size-10px);font:inherit;text-align:start;color:inherit;background:transparent;border:0;border-radius:calc(var(--hfx-radius-control,var(--hfx-radius-md,6px)) - var(--cx-size-2px));cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
270
- .cx-cal-menu-item:is(:hover,:focus-visible){background:var(--hfx-color-accent-subtle,light-dark(#e7f1f1,#1b3435));outline:none;}
271
- .cx-cal-menu-item:focus-visible{box-shadow:inset 0 0 0 var(--cx-size-2px) var(--hfx-color-accent,light-dark(#11776f,#37c9b8));}
272
- .cx-cal-menu-item[aria-disabled="true"]{color:var(--hfx-color-text-muted,light-dark(#626770,#8f949d));cursor:default;}
273
269
  .cx-cal-legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cx-size-6px);padding:0 var(--cx-size-12px) var(--cx-size-8px);}
274
- .cx-cal-src{display:inline-flex;align-items:center;gap:var(--cx-size-6px);min-height:var(--cx-size-28px);padding:0 var(--cx-size-10px);font:inherit;font-size:var(--cx-size-12px);color:var(--hfx-color-text,light-dark(#16181c,#f2f3f5));background:var(--hfx-color-surface,light-dark(#ffffff,#16181c));border:var(--cx-size-1px) solid var(--hfx-color-border,light-dark(#e2e4e7,#272a30));border-radius:var(--hfx-radius-status,999px);cursor:pointer;}
275
- .cx-cal-src:focus-visible{outline:var(--hfx-focus-width,2px) solid var(--hfx-color-focus-ring,light-dark(#02726a,#37c9b8));outline-offset:var(--hfx-focus-offset,2px);}
276
270
  .cx-cal-src-swatch{width:var(--cx-size-10px);height:var(--cx-size-10px);border-radius:50%;background:var(--cx-ev,var(--hfx-color-accent,light-dark(#11776f,#37c9b8)));border:var(--cx-size-2px) solid var(--cx-ev,var(--hfx-color-accent,light-dark(#11776f,#37c9b8)));}
271
+ .cx-cal-src[aria-pressed="true"]{border-color:var(--hfx-color-surface-line,var(--hfx-color-border,light-dark(#e2e4e7,#272a30)));background:var(--hfx-color-surface-card,var(--hfx-color-surface,light-dark(#ffffff,#16181c)));color:var(--hfx-color-text-primary,var(--hfx-color-text,light-dark(#16181c,#f2f3f5)));}
277
272
  .cx-cal-src[aria-pressed="false"]{color:var(--hfx-color-text-secondary,light-dark(#4d525b,#b0b4bc));}
278
273
  .cx-cal-src[aria-pressed="false"] span{text-decoration:line-through;}
279
274
  .cx-cal-src[aria-pressed="false"] .cx-cal-src-swatch{background:transparent;}
280
- @media (any-pointer:coarse){.cx-cal-src{min-height:var(--cx-size-44px);}.cx-cal-menu-item{min-height:var(--cx-size-44px);}}
275
+ @media (any-pointer:coarse){.cx-cal-src{min-height:var(--cx-size-44px);}}
281
276
  @media (forced-colors:active){
282
- :is(.cx-cal-create,.cx-cal-ask,.cx-cal-menu){border-color:CanvasText;}
283
- .cx-cal-menu-item:is(:hover,:focus-visible){forced-color-adjust:none;background:Highlight;color:HighlightText;}
277
+ :is(.cx-cal-create,.cx-cal-ask){border-color:CanvasText;}
284
278
  .cx-cal-src-swatch{forced-color-adjust:none;border-color:CanvasText;background:CanvasText;}
285
279
  .cx-cal-src[aria-pressed="false"] .cx-cal-src-swatch{background:Canvas;}
286
280
  }
287
- @media print{:is(.cx-cal-legend,.cx-cal-menu,.cx-cal-create,.cx-cal-ask){display:none !important;}}
281
+ @media print{:is(.cx-cal-legend,.cx-cal-create,.cx-cal-ask){display:none !important;}}