@conduction/nextcloud-vue 2.101.0 → 2.103.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 (140) hide show
  1. package/dist/esm/components/CnActionsBar/CnActionsBar.vue2.js +22 -0
  2. package/dist/esm/components/CnActionsBar/CnActionsBar.vue2.js.map +1 -1
  3. package/dist/esm/components/CnActionsBar/CnActionsBar.vue3.js +8 -6
  4. package/dist/esm/components/CnActionsBar/CnActionsBar.vue3.js.map +1 -1
  5. package/dist/esm/components/CnChartWidget/CnChartWidget.vue.js +1 -1
  6. package/dist/esm/components/CnChartWidget/CnChartWidget.vue2.js +29 -4
  7. package/dist/esm/components/CnChartWidget/CnChartWidget.vue2.js.map +1 -1
  8. package/dist/esm/components/CnChartWidget/CnChartWidget.vue3.js +9 -1
  9. package/dist/esm/components/CnChartWidget/CnChartWidget.vue3.js.map +1 -1
  10. package/dist/esm/components/CnConversationThread/CnConversationThread.vue.js +1 -1
  11. package/dist/esm/components/CnConversationThread/CnConversationThread.vue2.js +73 -0
  12. package/dist/esm/components/CnConversationThread/CnConversationThread.vue2.js.map +1 -1
  13. package/dist/esm/components/CnConversationThread/CnConversationThread.vue3.js +99 -64
  14. package/dist/esm/components/CnConversationThread/CnConversationThread.vue3.js.map +1 -1
  15. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue.js +1 -1
  16. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue2.js +46 -0
  17. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue2.js.map +1 -1
  18. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue3.js +37 -2
  19. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue3.js.map +1 -1
  20. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue.js +1 -1
  21. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js +49 -6
  22. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js.map +1 -1
  23. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js +1 -1
  24. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js.map +1 -1
  25. package/dist/esm/components/CnFormDialog/CnFormDialog.vue.js +1 -1
  26. package/dist/esm/components/CnFormDialog/CnFormDialog.vue2.js +113 -20
  27. package/dist/esm/components/CnFormDialog/CnFormDialog.vue2.js.map +1 -1
  28. package/dist/esm/components/CnFormDialog/CnFormDialog.vue3.js +387 -359
  29. package/dist/esm/components/CnFormDialog/CnFormDialog.vue3.js.map +1 -1
  30. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +84 -4
  31. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  32. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +8 -6
  33. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  34. package/dist/esm/components/CnIndexPage/useNamedSource.js +26 -2
  35. package/dist/esm/components/CnIndexPage/useNamedSource.js.map +1 -1
  36. package/dist/esm/components/CnMenuWidget/CnMenuWidget.vue.js +1 -1
  37. package/dist/esm/components/CnMenuWidget/CnMenuWidget.vue2.js +25 -1
  38. package/dist/esm/components/CnMenuWidget/CnMenuWidget.vue2.js.map +1 -1
  39. package/dist/esm/components/CnMenuWidget/CnMenuWidget.vue3.js.map +1 -1
  40. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue.js +1 -1
  41. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue2.js +10 -1
  42. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue2.js.map +1 -1
  43. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue3.js.map +1 -1
  44. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue.js +1 -1
  45. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue2.js +106 -4
  46. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue2.js.map +1 -1
  47. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue3.js +70 -25
  48. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue3.js.map +1 -1
  49. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue.js +1 -1
  50. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js +97 -3
  51. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js.map +1 -1
  52. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js +46 -2
  53. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js.map +1 -1
  54. package/dist/esm/components/CnSearchSelect/CnSearchSelect.vue.js +9 -0
  55. package/dist/esm/components/CnSearchSelect/CnSearchSelect.vue.js.map +1 -0
  56. package/dist/esm/components/CnSearchSelect/CnSearchSelect.vue2.js +165 -0
  57. package/dist/esm/components/CnSearchSelect/CnSearchSelect.vue2.js.map +1 -0
  58. package/dist/esm/components/CnSearchSelect/CnSearchSelect.vue3.js +85 -0
  59. package/dist/esm/components/CnSearchSelect/CnSearchSelect.vue3.js.map +1 -0
  60. package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue.js +1 -1
  61. package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue2.js +54 -6
  62. package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue2.js.map +1 -1
  63. package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue3.js +3 -1
  64. package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue3.js.map +1 -1
  65. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue.js +1 -1
  66. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js +8 -1
  67. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js.map +1 -1
  68. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue3.js.map +1 -1
  69. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue.js +1 -1
  70. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue2.js +2 -23
  71. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue2.js.map +1 -1
  72. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue3.js.map +1 -1
  73. package/dist/esm/components/CnWizardDialog/CnWizardDialog.vue.js +1 -1
  74. package/dist/esm/components/CnWizardDialog/CnWizardDialog.vue2.js +19 -0
  75. package/dist/esm/components/CnWizardDialog/CnWizardDialog.vue2.js.map +1 -1
  76. package/dist/esm/components/CnWizardDialog/CnWizardDialog.vue3.js +1 -1
  77. package/dist/esm/components/CnWizardDialog/CnWizardDialog.vue3.js.map +1 -1
  78. package/dist/esm/composables/indexSources.js +9 -0
  79. package/dist/esm/composables/indexSources.js.map +1 -1
  80. package/dist/esm/index.js +1 -0
  81. package/dist/esm/index.js.map +1 -1
  82. package/dist/esm/l10n/en.json.js +5 -1
  83. package/dist/esm/l10n/en.json.js.map +1 -1
  84. package/dist/esm/l10n/nl.json.js +5 -1
  85. package/dist/esm/l10n/nl.json.js.map +1 -1
  86. package/dist/esm/library-style.js +1 -1
  87. package/dist/esm/mixins/pageViews.js +8 -1
  88. package/dist/esm/mixins/pageViews.js.map +1 -1
  89. package/dist/esm/nextcloud-vue.css +593 -459
  90. package/dist/esm/utils/builtInFormatters.js +24 -4
  91. package/dist/esm/utils/builtInFormatters.js.map +1 -1
  92. package/dist/esm/utils/rowClassRules.js +43 -0
  93. package/dist/esm/utils/rowClassRules.js.map +1 -0
  94. package/dist/esm/utils/validateManifestV2.compiled.js +3 -3
  95. package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
  96. package/dist/esm/utils/visibleWhen.js +32 -4
  97. package/dist/esm/utils/visibleWhen.js.map +1 -1
  98. package/dist/nextcloud-vue.cjs.js +10093 -8858
  99. package/dist/nextcloud-vue.cjs.js.map +2 -2
  100. package/dist/nextcloud-vue.css +593 -459
  101. package/l10n/en.json +5 -1
  102. package/l10n/nl.json +5 -1
  103. package/package.json +1 -1
  104. package/src/components/CnActionsBar/CnActionsBar.md +1 -0
  105. package/src/components/CnActionsBar/CnActionsBar.vue +31 -4
  106. package/src/components/CnChartWidget/CnChartWidget.md +3 -2
  107. package/src/components/CnChartWidget/CnChartWidget.vue +42 -4
  108. package/src/components/CnConversationThread/CnConversationThread.md +17 -0
  109. package/src/components/CnConversationThread/CnConversationThread.vue +113 -8
  110. package/src/components/CnConversationThread/CnConversationWidget.vue +60 -1
  111. package/src/components/CnDashboardPage/CnDashboardPage.md +4 -1
  112. package/src/components/CnDashboardPage/CnDashboardPage.vue +50 -7
  113. package/src/components/CnDetailPage/CnDetailPage.md +1 -1
  114. package/src/components/CnFormDialog/CnFormDialog.md +1 -1
  115. package/src/components/CnFormDialog/CnFormDialog.vue +127 -0
  116. package/src/components/CnIndexPage/CnIndexPage.md +15 -1
  117. package/src/components/CnIndexPage/CnIndexPage.vue +92 -9
  118. package/src/components/CnIndexPage/useNamedSource.js +26 -2
  119. package/src/components/CnMenuWidget/CnMenuWidget.vue +25 -1
  120. package/src/components/CnObjectListWidget/CnObjectListWidget.vue +10 -1
  121. package/src/components/CnQuickFilterBar/CnQuickFilterBar.md +1 -0
  122. package/src/components/CnQuickFilterBar/CnQuickFilterBar.vue +159 -5
  123. package/src/components/CnRecordListWidget/CnRecordListWidget.vue +134 -2
  124. package/src/components/CnSearchSelect/CnSearchSelect.vue +283 -0
  125. package/src/components/CnSearchSelect/index.js +12 -0
  126. package/src/components/CnSetupWizard/CnSetupWizard.vue +56 -6
  127. package/src/components/CnTabsWidget/CnTabsWidget.vue +8 -1
  128. package/src/components/CnWidgetObjectTable/CnWidgetObjectTable.vue +2 -23
  129. package/src/components/CnWizardDialog/CnWizardDialog.vue +20 -1
  130. package/src/components/index.js +1 -0
  131. package/src/composables/indexSources.js +9 -0
  132. package/src/css/dialog.css +5 -3
  133. package/src/css/look-board-index.css +10 -0
  134. package/src/index.js +1 -0
  135. package/src/mixins/pageViews.js +8 -1
  136. package/src/schemas/app-manifest-v2.schema.json +107 -8
  137. package/src/utils/builtInFormatters.js +24 -4
  138. package/src/utils/rowClassRules.js +39 -0
  139. package/src/utils/validateManifestV2.compiled.js +3 -3
  140. package/src/utils/visibleWhen.js +32 -4
@@ -1397,14 +1397,16 @@
1397
1397
  * Theme hooks (all optional, defaults below):
1398
1398
  * --cn-dialog-danger fill of a destructive primary
1399
1399
  * --cn-dialog-eyebrow-color eyebrow colour
1400
- * --cn-dialog-eyebrow-transform uppercase (default) or none
1400
+ * --cn-dialog-eyebrow-transform none (default, sentence case) or uppercase
1401
+ * --cn-dialog-eyebrow-tracking letter spacing; 0 by default, 0.06em suits capitals
1401
1402
  */
1402
1403
 
1403
1404
  .cn-dialog-board {
1404
1405
  --cn-dialog-width: 640px;
1405
1406
  --cn-dialog-danger: var(--color-error);
1406
1407
  --cn-dialog-eyebrow-color: var(--color-primary-element-text, var(--color-main-text));
1407
- --cn-dialog-eyebrow-transform: uppercase;
1408
+ --cn-dialog-eyebrow-transform: none;
1409
+ --cn-dialog-eyebrow-tracking: 0;
1408
1410
  }
1409
1411
 
1410
1412
  /* Dimmed page behind the dialog: text colour at 45%. */
@@ -1461,7 +1463,7 @@
1461
1463
  margin-bottom: 4px;
1462
1464
  font-size: 13px;
1463
1465
  font-weight: 700;
1464
- letter-spacing: 0.06em;
1466
+ letter-spacing: var(--cn-dialog-eyebrow-tracking, 0.06em);
1465
1467
  text-transform: var(--cn-dialog-eyebrow-transform, uppercase);
1466
1468
  color: var(--cn-dialog-eyebrow-color, var(--color-main-text));
1467
1469
  }
@@ -2399,6 +2401,16 @@
2399
2401
  gap: 8px;
2400
2402
  }
2401
2403
 
2404
+ /* `quickFilterPlacement: "toolbar"` (DqTeamwachtrij): the chips take the room
2405
+ the Filter button and the view switch leave on row 1, so the three stay on
2406
+ one row in the column beside a side panel; the chips that do not fit move
2407
+ into the overflow chip (CnQuickFilterBar `fit`) instead of pushing the
2408
+ buttons onto a row of their own. */
2409
+ .cn-look-board.cn-index-page--quick-filters-toolbar .cn-actions-bar--board > .cn-actions-bar__row--views > .cn-quick-filter-bar {
2410
+ flex: 1 1 0;
2411
+ min-width: 0;
2412
+ }
2413
+
2402
2414
  /* Row 2: the search field and the active filters on a line of their own. */
2403
2415
  .cn-look-board .cn-actions-bar--board > .cn-actions-bar__row--search {
2404
2416
  display: flex;
@@ -9953,7 +9965,7 @@ a.cn-kpi-card--board * {
9953
9965
  }
9954
9966
 
9955
9967
 
9956
- .cn-chart-widget[data-v-0b737464] {
9968
+ .cn-chart-widget[data-v-7d7200f4] {
9957
9969
  width: 100%;
9958
9970
  /* A chart FITS its container — it is never a scroll region. apexcharts
9959
9971
  sizes its SVG from the element it is mounted in, but it also enforces
@@ -9975,13 +9987,13 @@ a.cn-kpi-card--board * {
9975
9987
  takes what is left, so the chart is sized by the box rather than sizing it.
9976
9988
  `min-height: 0` drops the 100px floor — on a fixed-height surface a floor is
9977
9989
  the thing that produces the overflow it was meant to prevent. */
9978
- .cn-chart-widget--fit[data-v-0b737464] {
9990
+ .cn-chart-widget--fit[data-v-7d7200f4] {
9979
9991
  height: 100%;
9980
9992
  min-height: 0;
9981
9993
  display: flex;
9982
9994
  flex-direction: column;
9983
9995
  }
9984
- .cn-chart-widget__canvas[data-v-0b737464] {
9996
+ .cn-chart-widget__canvas[data-v-7d7200f4] {
9985
9997
  min-width: 0;
9986
9998
  max-width: 100%;
9987
9999
  /* Never a scroll region (see the root). `overflow-x: hidden` alone made
@@ -9994,14 +10006,14 @@ a.cn-kpi-card--board * {
9994
10006
  /* apexcharts writes an inline `width` onto its own wrapper from its measured
9995
10007
  minimum, which beats the container when the container is narrower. Cap the
9996
10008
  painted box so the inline width cannot push past the widget's border. */
9997
- .cn-chart-widget[data-v-0b737464] .apexcharts-canvas,
9998
- .cn-chart-widget[data-v-0b737464] .apexcharts-canvas svg {
10009
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-canvas,
10010
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-canvas svg {
9999
10011
  max-width: 100%;
10000
10012
  }
10001
10013
 
10002
10014
  /* The SVG is a block: as an inline box it sits on a line and adds the line's
10003
10015
  descender space under the chart. */
10004
- .cn-chart-widget[data-v-0b737464] .apexcharts-canvas svg {
10016
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-canvas svg {
10005
10017
  display: block;
10006
10018
  }
10007
10019
 
@@ -10009,24 +10021,24 @@ a.cn-kpi-card--board * {
10009
10021
  would grow to its content, i.e. to the chart, and the percentage height would
10010
10022
  resolve against a box the chart itself defined. `overflow: hidden` keeps a
10011
10023
  sub-pixel rounding difference from reintroducing a scrollbar. */
10012
- .cn-chart-widget--fit .cn-chart-widget__canvas[data-v-0b737464] {
10024
+ .cn-chart-widget--fit .cn-chart-widget__canvas[data-v-7d7200f4] {
10013
10025
  flex: 1 1 0;
10014
10026
  min-height: 0;
10015
10027
  overflow: hidden;
10016
10028
  }
10017
- .cn-chart-widget__fallback[data-v-0b737464] {
10029
+ .cn-chart-widget__fallback[data-v-7d7200f4] {
10018
10030
  display: flex;
10019
10031
  align-items: center;
10020
10032
  justify-content: center;
10021
10033
  min-height: 150px;
10022
10034
  color: var(--color-text-maxcontrast);
10023
10035
  }
10024
- .cn-chart-widget__html[data-v-0b737464] {
10036
+ .cn-chart-widget__html[data-v-7d7200f4] {
10025
10037
  display: flex;
10026
10038
  flex-direction: column;
10027
10039
  gap: 12px;
10028
10040
  }
10029
- .cn-chart-widget__bar-list[data-v-0b737464] {
10041
+ .cn-chart-widget__bar-list[data-v-7d7200f4] {
10030
10042
  display: flex;
10031
10043
  flex-direction: column;
10032
10044
  gap: 10px;
@@ -10034,7 +10046,7 @@ a.cn-kpi-card--board * {
10034
10046
  margin: 0;
10035
10047
  padding: 0;
10036
10048
  }
10037
- .cn-chart-widget__bar-line[data-v-0b737464] {
10049
+ .cn-chart-widget__bar-line[data-v-7d7200f4] {
10038
10050
  align-items: center;
10039
10051
  background: none;
10040
10052
  border: 0;
@@ -10049,93 +10061,100 @@ a.cn-kpi-card--board * {
10049
10061
  text-align: start;
10050
10062
  width: 100%;
10051
10063
  }
10052
- .cn-chart-widget__bar-line--drill[data-v-0b737464] {
10064
+ .cn-chart-widget__bar-line--drill[data-v-7d7200f4] {
10053
10065
  border-radius: var(--border-radius-small, 4px);
10054
10066
  cursor: pointer;
10055
10067
  }
10056
- .cn-chart-widget__bar-line--drill:hover .cn-chart-widget__bar-label[data-v-0b737464],
10057
- .cn-chart-widget__bar-line--drill:focus-visible .cn-chart-widget__bar-label[data-v-0b737464] {
10068
+ .cn-chart-widget__bar-line--drill:hover .cn-chart-widget__bar-label[data-v-7d7200f4],
10069
+ .cn-chart-widget__bar-line--drill:focus-visible .cn-chart-widget__bar-label[data-v-7d7200f4] {
10058
10070
  text-decoration: underline;
10059
10071
  }
10060
- .cn-chart-widget__bar-label[data-v-0b737464] {
10072
+ .cn-chart-widget__bar-label[data-v-7d7200f4] {
10061
10073
  overflow: hidden;
10062
10074
  text-overflow: ellipsis;
10063
10075
  white-space: nowrap;
10064
10076
  }
10065
- .cn-chart-widget__bar-track[data-v-0b737464] {
10077
+ .cn-chart-widget__bar-track[data-v-7d7200f4] {
10066
10078
  background: var(--color-background-dark);
10067
10079
  border-radius: 4px;
10068
10080
  display: block;
10069
10081
  height: 14px;
10070
10082
  overflow: hidden;
10071
10083
  }
10072
- .cn-chart-widget__bar-fill[data-v-0b737464] {
10084
+ .cn-chart-widget__bar-fill[data-v-7d7200f4] {
10073
10085
  background: var(--color-primary-element);
10074
10086
  display: block;
10075
10087
  height: 100%;
10076
10088
  }
10077
- .cn-chart-widget__bar-value[data-v-0b737464] {
10089
+ .cn-chart-widget__bar-value[data-v-7d7200f4] {
10078
10090
  font-weight: 600;
10079
10091
  text-align: end;
10080
10092
  white-space: nowrap;
10081
10093
  }
10082
- .cn-chart-widget__footnote[data-v-0b737464] {
10094
+ .cn-chart-widget__footnote[data-v-7d7200f4] {
10083
10095
  color: var(--color-text-maxcontrast);
10084
10096
  margin: 0;
10085
10097
  }
10086
- .cn-chart-widget__matrix[data-v-0b737464] {
10098
+
10099
+ /* Under an ApexCharts plot the footnote is a sibling of the canvas, so it keeps
10100
+ its own line height while the canvas takes the rest of a fitted column. */
10101
+ .cn-chart-widget > .cn-chart-widget__footnote[data-v-7d7200f4] {
10102
+ flex: 0 0 auto;
10103
+ margin-top: 8px;
10104
+ }
10105
+ .cn-chart-widget__matrix[data-v-7d7200f4] {
10087
10106
  display: grid;
10088
10107
  gap: 4px;
10089
10108
  }
10090
- .cn-chart-widget__matrix-row[data-v-0b737464] {
10109
+ .cn-chart-widget__matrix-row[data-v-7d7200f4] {
10091
10110
  display: contents;
10092
10111
  }
10093
- .cn-chart-widget__matrix-head[data-v-0b737464] {
10112
+ .cn-chart-widget__matrix-head[data-v-7d7200f4] {
10094
10113
  color: var(--color-text-maxcontrast);
10095
10114
  padding: 6px;
10096
10115
  }
10097
- .cn-chart-widget__matrix-label[data-v-0b737464] {
10116
+ .cn-chart-widget__matrix-label[data-v-7d7200f4] {
10098
10117
  padding: 10px 6px;
10099
10118
  }
10100
- .cn-chart-widget__matrix-cell[data-v-0b737464] {
10119
+ .cn-chart-widget__matrix-cell[data-v-7d7200f4] {
10101
10120
  border-radius: 6px;
10102
10121
  padding: 10px;
10103
10122
  text-align: center;
10104
10123
  }
10105
- .cn-chart-widget__matrix-cell--success[data-v-0b737464] {
10124
+ .cn-chart-widget__matrix-cell--success[data-v-7d7200f4] {
10106
10125
  background: var(--color-success-light, color-mix(in srgb, var(--color-success) 15%, var(--color-main-background)));
10107
10126
  }
10108
- .cn-chart-widget__matrix-cell--warning[data-v-0b737464] {
10127
+ .cn-chart-widget__matrix-cell--warning[data-v-7d7200f4] {
10109
10128
  background: var(--color-warning-light, color-mix(in srgb, var(--color-warning) 15%, var(--color-main-background)));
10110
10129
  }
10111
- .cn-chart-widget__matrix-cell--error[data-v-0b737464] {
10130
+ .cn-chart-widget__matrix-cell--error[data-v-7d7200f4] {
10112
10131
  background: var(--color-error-light, color-mix(in srgb, var(--color-error) 12%, var(--color-main-background)));
10113
10132
  }
10114
- .cn-chart-widget__matrix-cell--danger[data-v-0b737464] {
10133
+ .cn-chart-widget__matrix-cell--danger[data-v-7d7200f4] {
10115
10134
  background: color-mix(in srgb, var(--color-error) 25%, var(--color-main-background));
10116
10135
  }
10117
- .cn-chart-widget__matrix-cell--current[data-v-0b737464] {
10136
+ .cn-chart-widget__matrix-cell--current[data-v-7d7200f4] {
10118
10137
  font-weight: 700;
10119
10138
  outline: 3px solid var(--color-primary-element);
10120
10139
  outline-offset: -3px;
10121
10140
  }
10122
- .cn-chart-widget__matrix-cell--1[data-v-0b737464] {
10141
+ .cn-chart-widget__matrix-cell--1[data-v-7d7200f4] {
10123
10142
  background: var(--color-primary-element-light);
10124
10143
  color: var(--color-primary-element-light-text);
10125
10144
  }
10126
- .cn-chart-widget__matrix-cell--2[data-v-0b737464] {
10145
+ .cn-chart-widget__matrix-cell--2[data-v-7d7200f4] {
10127
10146
  background: color-mix(in srgb, var(--color-primary-element) 30%, var(--color-main-background));
10128
10147
  color: var(--color-main-text);
10129
10148
  }
10130
- .cn-chart-widget__matrix-cell--3[data-v-0b737464] {
10149
+ .cn-chart-widget__matrix-cell--3[data-v-7d7200f4] {
10131
10150
  background: color-mix(in srgb, var(--color-primary-element) 65%, var(--color-main-background));
10132
10151
  color: var(--color-primary-element-text);
10133
10152
  }
10134
- .cn-chart-widget__matrix-cell--4[data-v-0b737464] {
10153
+ .cn-chart-widget__matrix-cell--4[data-v-7d7200f4] {
10135
10154
  background: var(--color-primary-element);
10136
10155
  color: var(--color-primary-element-text);
10137
10156
  }
10138
- .cn-chart-widget__empty[data-v-0b737464] {
10157
+ .cn-chart-widget__empty[data-v-7d7200f4] {
10139
10158
  display: flex;
10140
10159
  align-items: center;
10141
10160
  justify-content: center;
@@ -10150,25 +10169,25 @@ a.cn-kpi-card--board * {
10150
10169
  content-sized case; in fit mode they take the leftover space and centre in it
10151
10170
  instead, since the floor would overflow a short tile. Declared after the base
10152
10171
  rules so the cascade order matches specificity (no-descending-specificity). */
10153
- .cn-chart-widget--fit .cn-chart-widget__empty[data-v-0b737464],
10154
- .cn-chart-widget--fit .cn-chart-widget__fallback[data-v-0b737464] {
10172
+ .cn-chart-widget--fit .cn-chart-widget__empty[data-v-7d7200f4],
10173
+ .cn-chart-widget--fit .cn-chart-widget__fallback[data-v-7d7200f4] {
10155
10174
  flex: 1 1 0;
10156
10175
  min-height: 0;
10157
10176
  }
10158
- .cn-chart-widget__error[data-v-0b737464] {
10177
+ .cn-chart-widget__error[data-v-7d7200f4] {
10159
10178
  font-size: 14px;
10160
10179
  margin: 0;
10161
10180
  }
10162
10181
 
10163
10182
  /* In-widget view switcher pills (views[] prop) — compact segmented row,
10164
10183
  mirroring the dashboard date-range pill styling. */
10165
- .cn-chart-widget__views[data-v-0b737464] {
10184
+ .cn-chart-widget__views[data-v-7d7200f4] {
10166
10185
  display: flex;
10167
10186
  gap: 4px;
10168
10187
  margin-bottom: 6px;
10169
10188
  justify-content: flex-end;
10170
10189
  }
10171
- .cn-chart-widget__view-pill[data-v-0b737464] {
10190
+ .cn-chart-widget__view-pill[data-v-7d7200f4] {
10172
10191
  padding: 2px 10px;
10173
10192
  border: 1px solid var(--color-border);
10174
10193
  border-radius: 999px;
@@ -10177,7 +10196,7 @@ a.cn-kpi-card--board * {
10177
10196
  font-size: 12px;
10178
10197
  cursor: pointer;
10179
10198
  }
10180
- .cn-chart-widget__view-pill--active[data-v-0b737464] {
10199
+ .cn-chart-widget__view-pill--active[data-v-7d7200f4] {
10181
10200
  background: var(--color-primary-element-light, #aad2ed);
10182
10201
  color: var(--color-main-text);
10183
10202
  border-color: var(--color-primary-element, #0082c9);
@@ -10206,8 +10225,8 @@ a.cn-kpi-card--board * {
10206
10225
  each override below therefore carries one more class than the apexcharts rule
10207
10226
  it replaces, and holds even without the scope attribute this block compiles
10208
10227
  with. */
10209
- .cn-chart-widget[data-v-0b737464] .apexcharts-tooltip.apexcharts-theme-light,
10210
- .cn-chart-widget[data-v-0b737464] .apexcharts-tooltip.apexcharts-theme-dark {
10228
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-tooltip.apexcharts-theme-light,
10229
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-tooltip.apexcharts-theme-dark {
10211
10230
  background: var(--color-main-background);
10212
10231
  border: 1px solid var(--color-border);
10213
10232
  color: var(--color-main-text);
@@ -10216,8 +10235,8 @@ a.cn-kpi-card--board * {
10216
10235
 
10217
10236
  /* The title row is the date/category header ("Aug 26"). Its own background is
10218
10237
  what made it unreadable rather than merely off-theme. */
10219
- .cn-chart-widget[data-v-0b737464] .apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title,
10220
- .cn-chart-widget[data-v-0b737464] .apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {
10238
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title,
10239
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {
10221
10240
  background: var(--color-background-hover);
10222
10241
  border-bottom: 1px solid var(--color-border);
10223
10242
  color: var(--color-main-text);
@@ -10226,8 +10245,8 @@ a.cn-kpi-card--board * {
10226
10245
  /* Crosshair axis tooltips. apexcharts puts light hex values on the BASE class
10227
10246
  here and only overrides them for its dark theme, so the base rule has to be
10228
10247
  replaced too — not just the theme variants. */
10229
- .cn-chart-widget[data-v-0b737464] .apexcharts-xaxistooltip,
10230
- .cn-chart-widget[data-v-0b737464] .apexcharts-yaxistooltip {
10248
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-xaxistooltip,
10249
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-yaxistooltip {
10231
10250
  background: var(--color-main-background);
10232
10251
  border: 1px solid var(--color-border);
10233
10252
  color: var(--color-main-text);
@@ -10236,55 +10255,55 @@ a.cn-kpi-card--board * {
10236
10255
  /* Their pointer arrows are two stacked triangles: `::before` paints the border
10237
10256
  edge, `::after` the fill. Both need the tokens the box above uses, or the
10238
10257
  arrow keeps the old palette and reads as a stray light wedge. */
10239
- .cn-chart-widget[data-v-0b737464] .apexcharts-xaxistooltip-bottom::after,
10240
- .cn-chart-widget[data-v-0b737464] .apexcharts-xaxistooltip-top::after {
10258
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-xaxistooltip-bottom::after,
10259
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-xaxistooltip-top::after {
10241
10260
  border-bottom-color: var(--color-main-background);
10242
10261
  border-top-color: var(--color-main-background);
10243
10262
  }
10244
- .cn-chart-widget[data-v-0b737464] .apexcharts-xaxistooltip-bottom::before,
10245
- .cn-chart-widget[data-v-0b737464] .apexcharts-xaxistooltip-top::before {
10263
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-xaxistooltip-bottom::before,
10264
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-xaxistooltip-top::before {
10246
10265
  border-bottom-color: var(--color-border);
10247
10266
  border-top-color: var(--color-border);
10248
10267
  }
10249
- .cn-chart-widget[data-v-0b737464] .apexcharts-yaxistooltip-left::after,
10250
- .cn-chart-widget[data-v-0b737464] .apexcharts-yaxistooltip-right::after {
10268
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-yaxistooltip-left::after,
10269
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-yaxistooltip-right::after {
10251
10270
  border-left-color: var(--color-main-background);
10252
10271
  border-right-color: var(--color-main-background);
10253
10272
  }
10254
- .cn-chart-widget[data-v-0b737464] .apexcharts-yaxistooltip-left::before,
10255
- .cn-chart-widget[data-v-0b737464] .apexcharts-yaxistooltip-right::before {
10273
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-yaxistooltip-left::before,
10274
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-yaxistooltip-right::before {
10256
10275
  border-left-color: var(--color-border);
10257
10276
  border-right-color: var(--color-border);
10258
10277
  }
10259
10278
 
10260
10279
  /* Toolbar menu — only reachable with `toolbar: true`, but the same defect: a
10261
10280
  hardcoded `#fff` panel under inherited near-white text. */
10262
- .cn-chart-widget[data-v-0b737464] .apexcharts-menu {
10281
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-menu {
10263
10282
  background: var(--color-main-background);
10264
10283
  border: 1px solid var(--color-border);
10265
10284
  color: var(--color-main-text);
10266
10285
  }
10267
- .cn-chart-widget[data-v-0b737464] .apexcharts-menu .apexcharts-menu-item:hover {
10286
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-menu .apexcharts-menu-item:hover {
10268
10287
  background: var(--color-background-hover);
10269
10288
  }
10270
10289
 
10271
10290
  /* Toolbar icons: `#6e8192` at rest and `#333` on hover, i.e. the hover state
10272
10291
  vanishes against a dark background. One selector per icon class, matching
10273
10292
  apexcharts' own list, to clear its (0,3,1) hover rules. */
10274
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-menu-icon svg,
10275
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-reset-icon svg,
10276
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-selection-icon svg,
10277
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-zoom-icon svg,
10278
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-zoomin-icon svg,
10279
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-zoomout-icon svg {
10293
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-menu-icon svg,
10294
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-reset-icon svg,
10295
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-selection-icon svg,
10296
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-zoom-icon svg,
10297
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-zoomin-icon svg,
10298
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-zoomout-icon svg {
10280
10299
  fill: var(--color-text-maxcontrast);
10281
10300
  }
10282
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-menu-icon:hover svg,
10283
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-reset-icon:hover svg,
10284
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-selection-icon:hover svg,
10285
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-zoom-icon:hover svg,
10286
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-zoomin-icon:hover svg,
10287
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-zoomout-icon:hover svg {
10301
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-menu-icon:hover svg,
10302
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-reset-icon:hover svg,
10303
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-selection-icon:hover svg,
10304
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-zoom-icon:hover svg,
10305
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-zoomin-icon:hover svg,
10306
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-zoomout-icon:hover svg {
10288
10307
  fill: var(--color-main-text);
10289
10308
  }
10290
10309
 
@@ -10356,21 +10375,187 @@ a.cn-kpi-card--board * {
10356
10375
  }
10357
10376
 
10358
10377
 
10359
- .cn-conversation-thread[data-v-40a059c8] {
10378
+ .cn-quick-filter-bar[data-v-2d5e5fa6] {
10379
+ display: flex;
10380
+ flex-wrap: wrap;
10381
+ align-items: center;
10382
+ gap: 8px;
10383
+ padding: 8px 12px;
10384
+ border-bottom: 1px solid var(--color-border);
10385
+ background: var(--color-main-background);
10386
+ }
10387
+ .cn-quick-filter-bar__tabs[data-v-2d5e5fa6] {
10388
+ display: flex;
10389
+ flex-wrap: wrap;
10390
+ align-items: center;
10391
+ gap: 8px;
10392
+ }
10393
+
10394
+ /* Inline variant — bare strip for embedding inside another bar (e.g. the
10395
+ CnActionsBar #filters slot), so it reads as a control beside the view toggle
10396
+ rather than a separate bordered row. */
10397
+ /* With `fit`: one line, as wide as it is given; the chips it cannot hold
10398
+ are in the overflow chip. The measuring copy takes no room and is never
10399
+ seen or read. */
10400
+ .cn-quick-filter-bar--fit[data-v-2d5e5fa6] {
10401
+ position: relative;
10402
+ flex-wrap: nowrap;
10403
+ min-width: 0;
10404
+ }
10405
+ .cn-quick-filter-bar--fit .cn-quick-filter-bar__tabs[data-v-2d5e5fa6] {
10406
+ flex-wrap: nowrap;
10407
+ min-width: 0;
10408
+ }
10409
+ .cn-quick-filter-bar__measure[data-v-2d5e5fa6] {
10410
+ position: absolute;
10411
+ inset-block-start: 0;
10412
+ inset-inline-start: 0;
10413
+ display: flex;
10414
+ gap: 8px;
10415
+ width: 0;
10416
+ height: 0;
10417
+ overflow: hidden;
10418
+ visibility: hidden;
10419
+ pointer-events: none;
10420
+ white-space: nowrap;
10421
+ }
10422
+ .cn-quick-filter-bar__measure[data-v-2d5e5fa6] > * {
10423
+ flex: none;
10424
+ }
10425
+ .cn-quick-filter-bar--inline[data-v-2d5e5fa6] {
10426
+ padding: 0;
10427
+ border-bottom: none;
10428
+ background: transparent;
10429
+ }
10430
+
10431
+ /* Dropdown variant — give the NcSelect a sensible minimum so multi-select
10432
+ chips have room without stretching the whole bar. */
10433
+ .cn-quick-filter-bar--dropdown[data-v-2d5e5fa6] {
10434
+ align-items: center;
10435
+ }
10436
+ .cn-quick-filter-bar__select[data-v-2d5e5fa6] {
10437
+ min-width: 220px;
10438
+ }
10439
+ .cn-quick-filter-bar__tab[data-v-2d5e5fa6] {
10440
+ display: inline-flex;
10441
+ align-items: center;
10442
+ gap: 6px;
10443
+ padding: 4px 12px;
10444
+ border: 1px solid var(--color-border);
10445
+ border-radius: var(--border-radius-pill, 999px);
10446
+ background: transparent;
10447
+ color: var(--color-main-text);
10448
+ font-size: 13px;
10449
+ font-weight: 500;
10450
+ cursor: pointer;
10451
+ transition: background-color 120ms, color 120ms, border-color 120ms;
10452
+ }
10453
+ .cn-quick-filter-bar__tab[data-v-2d5e5fa6]:hover,
10454
+ .cn-quick-filter-bar__tab[data-v-2d5e5fa6]:focus-visible {
10455
+ background: var(--color-background-hover);
10456
+ outline: none;
10457
+ }
10458
+ .cn-quick-filter-bar__tab--active[data-v-2d5e5fa6] {
10459
+ background: var(--color-primary-element, var(--color-primary, #4376fc));
10460
+ color: var(--color-primary-element-text, #fff);
10461
+ border-color: var(--color-primary-element, var(--color-primary, #4376fc));
10462
+ }
10463
+ .cn-quick-filter-bar__icon[data-v-2d5e5fa6] {
10464
+ display: inline-flex;
10465
+ }
10466
+ .cn-quick-filter-bar__label[data-v-2d5e5fa6] {
10467
+ line-height: 1;
10468
+ }
10469
+
10470
+ /* Inherits the chip's own text colour, so it stays readable on the active
10471
+ (primary) fill as well as on the resting one. The count's text starts with
10472
+ a space: the chip is a flex row, so the space is not drawn, but it keeps a
10473
+ screen reader from reading label and count as one word. */
10474
+ .cn-quick-filter-bar__count[data-v-2d5e5fa6] {
10475
+ min-width: 1.5em;
10476
+ padding: 2px 6px;
10477
+ border: 1px solid currentColor;
10478
+ border-radius: var(--border-radius-pill, 10px);
10479
+ font-size: 0.85em;
10480
+ font-weight: 600;
10481
+ line-height: 1;
10482
+ text-align: center;
10483
+ }
10484
+
10485
+ /* NcPopover wraps its trigger in a plain `<div class="v-popper">`, which as a
10486
+ block would drop the chip onto its own line under the strip. */
10487
+ .cn-quick-filter-bar[data-v-2d5e5fa6] > .v-popper {
10488
+ display: inline-flex;
10489
+ }
10490
+
10491
+ /* The `⋯` glyph is the chip's whole content while no hidden lens is on, so the
10492
+ pill tightens to a circle rather than sitting as a wide empty capsule. */
10493
+ .cn-quick-filter-bar__more[data-v-2d5e5fa6] {
10494
+ gap: 4px;
10495
+ }
10496
+ .cn-quick-filter-bar__more--icon-only[data-v-2d5e5fa6] {
10497
+ padding: 4px 8px;
10498
+ }
10499
+ .cn-quick-filter-bar__more[aria-expanded='true'][data-v-2d5e5fa6] {
10500
+ border-color: var(--color-primary-element, var(--color-primary, #4376fc));
10501
+ }
10502
+ .cn-quick-filter-bar__more-panel[data-v-2d5e5fa6] {
10503
+ padding: 10px 12px 12px;
10504
+ max-width: 280px;
10505
+ }
10506
+ .cn-quick-filter-bar__more-heading[data-v-2d5e5fa6] {
10507
+ margin: 0 0 8px;
10508
+ font-size: 12px;
10509
+ font-weight: 600;
10510
+ color: var(--color-text-maxcontrast);
10511
+ }
10512
+
10513
+ /* The hidden lenses stay chips — the panel is more of the strip, not a
10514
+ different control that happens to hold the same filters. */
10515
+ .cn-quick-filter-bar__more-list[data-v-2d5e5fa6] {
10516
+ display: flex;
10517
+ flex-wrap: wrap;
10518
+ gap: 8px;
10519
+ max-height: 320px;
10520
+ overflow-y: auto;
10521
+ }
10522
+ .cn-quick-filter-bar__more-item[data-v-2d5e5fa6] {
10523
+ max-width: 100%;
10524
+ }
10525
+ .cn-quick-filter-bar__more-item .cn-quick-filter-bar__label[data-v-2d5e5fa6] {
10526
+ overflow: hidden;
10527
+ text-overflow: ellipsis;
10528
+ white-space: nowrap;
10529
+ }
10530
+
10531
+
10532
+ .cn-conversation-thread[data-v-ac0e8d2a] {
10360
10533
  display: flex;
10361
10534
  flex-direction: column;
10362
10535
  gap: calc(3.5 * var(--default-grid-baseline));
10363
10536
  }
10364
- .cn-conversation-thread__title[data-v-40a059c8] {
10537
+ .cn-conversation-thread__header[data-v-ac0e8d2a] {
10538
+ align-items: flex-start;
10539
+ display: flex;
10540
+ flex-wrap: wrap;
10541
+ gap: calc(3 * var(--default-grid-baseline));
10542
+ justify-content: space-between;
10543
+ }
10544
+ .cn-conversation-thread__header-actions[data-v-ac0e8d2a] {
10545
+ display: flex;
10546
+ flex-wrap: wrap;
10547
+ gap: calc(2 * var(--default-grid-baseline));
10548
+ }
10549
+ .cn-conversation-thread__title[data-v-ac0e8d2a] {
10365
10550
  font-size: 1.1em;
10366
10551
  font-weight: 700;
10367
10552
  margin: 0;
10368
10553
  }
10369
- .cn-conversation-thread__empty[data-v-40a059c8] {
10554
+ .cn-conversation-thread__empty[data-v-ac0e8d2a] {
10370
10555
  color: var(--color-text-maxcontrast);
10371
10556
  margin: 0;
10372
10557
  }
10373
- .cn-conversation-thread__messages[data-v-40a059c8] {
10558
+ .cn-conversation-thread__messages[data-v-ac0e8d2a] {
10374
10559
  display: flex;
10375
10560
  flex-direction: column;
10376
10561
  gap: calc(3.5 * var(--default-grid-baseline));
@@ -10378,14 +10563,14 @@ a.cn-kpi-card--board * {
10378
10563
  margin: 0;
10379
10564
  padding: 0;
10380
10565
  }
10381
- .cn-conversation-thread__message[data-v-40a059c8] {
10566
+ .cn-conversation-thread__message[data-v-ac0e8d2a] {
10382
10567
  display: flex;
10383
10568
  gap: calc(3 * var(--default-grid-baseline));
10384
10569
  }
10385
- .cn-conversation-thread__message--us[data-v-40a059c8] {
10570
+ .cn-conversation-thread__message--us[data-v-ac0e8d2a] {
10386
10571
  flex-direction: row-reverse;
10387
10572
  }
10388
- .cn-conversation-thread__avatar[data-v-40a059c8] {
10573
+ .cn-conversation-thread__avatar[data-v-ac0e8d2a] {
10389
10574
  align-items: center;
10390
10575
  background: var(--color-background-dark);
10391
10576
  border-radius: 50%;
@@ -10398,7 +10583,7 @@ a.cn-kpi-card--board * {
10398
10583
  justify-content: center;
10399
10584
  width: 34px;
10400
10585
  }
10401
- .cn-conversation-thread__bubble[data-v-40a059c8] {
10586
+ .cn-conversation-thread__bubble[data-v-ac0e8d2a] {
10402
10587
  background: var(--color-background-hover);
10403
10588
  border-radius: var(--border-radius-large);
10404
10589
  border-start-start-radius: var(--border-radius-small, 4px);
@@ -10410,55 +10595,55 @@ a.cn-kpi-card--board * {
10410
10595
  min-width: 0;
10411
10596
  padding: calc(3 * var(--default-grid-baseline)) calc(3.5 * var(--default-grid-baseline));
10412
10597
  }
10413
- .cn-conversation-thread__message--us .cn-conversation-thread__bubble[data-v-40a059c8] {
10598
+ .cn-conversation-thread__message--us .cn-conversation-thread__bubble[data-v-ac0e8d2a] {
10414
10599
  background: var(--color-primary-element-light);
10415
10600
  border-start-end-radius: var(--border-radius-small, 4px);
10416
10601
  border-start-start-radius: var(--border-radius-large);
10417
10602
  color: var(--color-primary-element-light-text);
10418
10603
  }
10419
- .cn-conversation-thread__meta[data-v-40a059c8] {
10604
+ .cn-conversation-thread__meta[data-v-ac0e8d2a] {
10420
10605
  display: flex;
10421
10606
  flex-wrap: wrap;
10422
10607
  font-size: 0.9em;
10423
10608
  gap: calc(2 * var(--default-grid-baseline));
10424
10609
  }
10425
- .cn-conversation-thread__author[data-v-40a059c8] {
10610
+ .cn-conversation-thread__author[data-v-ac0e8d2a] {
10426
10611
  font-weight: 600;
10427
10612
  }
10428
- .cn-conversation-thread__text[data-v-40a059c8] {
10613
+ .cn-conversation-thread__text[data-v-ac0e8d2a] {
10429
10614
  overflow-wrap: anywhere;
10430
10615
  white-space: pre-wrap;
10431
10616
  }
10432
- .cn-conversation-thread__reply[data-v-40a059c8] {
10617
+ .cn-conversation-thread__reply[data-v-ac0e8d2a] {
10433
10618
  display: flex;
10434
10619
  flex-direction: column;
10435
10620
  gap: calc(2 * var(--default-grid-baseline));
10436
10621
  }
10437
- .cn-conversation-thread__reply-label[data-v-40a059c8] {
10622
+ .cn-conversation-thread__reply-label[data-v-ac0e8d2a] {
10438
10623
  font-weight: 600;
10439
10624
  }
10440
- .cn-conversation-thread__input[data-v-40a059c8] {
10625
+ .cn-conversation-thread__input[data-v-ac0e8d2a] {
10441
10626
  box-sizing: border-box;
10442
10627
  margin: 0;
10443
10628
  resize: vertical;
10444
10629
  width: 100%;
10445
10630
  }
10446
- .cn-conversation-thread__error[data-v-40a059c8] {
10631
+ .cn-conversation-thread__error[data-v-ac0e8d2a] {
10447
10632
  color: var(--color-error-text, var(--color-error));
10448
10633
  margin: 0;
10449
10634
  }
10450
- .cn-conversation-thread__reply-actions[data-v-40a059c8] {
10635
+ .cn-conversation-thread__reply-actions[data-v-ac0e8d2a] {
10451
10636
  display: flex;
10452
10637
  flex-wrap: wrap;
10453
10638
  gap: calc(2.5 * var(--default-grid-baseline));
10454
10639
  justify-content: flex-end;
10455
10640
  }
10456
- .cn-conversation-thread__channel[data-v-40a059c8] {
10641
+ .cn-conversation-thread__channel[data-v-ac0e8d2a] {
10457
10642
  color: var(--color-text-maxcontrast);
10458
10643
  }
10459
10644
 
10460
10645
 
10461
- .cn-case-widget-card[data-v-257593ce] {
10646
+ .cn-case-widget-card[data-v-0533e246] {
10462
10647
  background: var(--color-main-background);
10463
10648
  border: 1px solid var(--color-border);
10464
10649
  border-radius: var(--border-radius-large);
@@ -13287,6 +13472,70 @@ svg.leaflet-image-layer.leaflet-interactive path {
13287
13472
  }
13288
13473
 
13289
13474
 
13475
+ .cn-search-select[data-v-6cd354af] {
13476
+ position: relative;
13477
+ }
13478
+
13479
+ /* The magnifier sits where the chevron was: in the field, at its end. */
13480
+ .cn-search-select__magnifier[data-v-6cd354af] {
13481
+ position: absolute;
13482
+ inset-inline-end: 12px;
13483
+ bottom: 0;
13484
+ height: var(--default-clickable-area, 34px);
13485
+ display: flex;
13486
+ align-items: center;
13487
+ color: var(--color-text-maxcontrast);
13488
+ pointer-events: none;
13489
+ }
13490
+ .cn-search-select[data-v-6cd354af] .vs__open-indicator,
13491
+ .cn-search-select[data-v-6cd354af] .vs__open-indicator-button {
13492
+ display: none;
13493
+ }
13494
+ .cn-search-select[data-v-6cd354af] .vs__actions {
13495
+ padding-inline-end: 36px;
13496
+ }
13497
+ .cn-search-select__row[data-v-6cd354af] {
13498
+ display: flex;
13499
+ align-items: center;
13500
+ gap: 10px;
13501
+ width: 100%;
13502
+ min-width: 0;
13503
+ padding: 4px 0;
13504
+ }
13505
+ .cn-search-select__lead[data-v-6cd354af] {
13506
+ flex: 0 0 32px;
13507
+ width: 32px;
13508
+ height: 32px;
13509
+ border-radius: 50%;
13510
+ display: inline-flex;
13511
+ align-items: center;
13512
+ justify-content: center;
13513
+ background: var(--color-primary-element-light);
13514
+ color: var(--color-primary-element-light-text);
13515
+ font-size: 13px;
13516
+ font-weight: 600;
13517
+ }
13518
+ .cn-search-select__text[data-v-6cd354af] {
13519
+ display: flex;
13520
+ flex-direction: column;
13521
+ flex: 1 1 auto;
13522
+ min-width: 0;
13523
+ }
13524
+ .cn-search-select__name[data-v-6cd354af] {
13525
+ font-weight: 600;
13526
+ overflow-wrap: anywhere;
13527
+ }
13528
+ .cn-search-select__secondary[data-v-6cd354af] {
13529
+ font-size: 13px;
13530
+ color: var(--color-text-maxcontrast);
13531
+ overflow-wrap: anywhere;
13532
+ }
13533
+ .cn-search-select__check[data-v-6cd354af] {
13534
+ flex: 0 0 auto;
13535
+ color: var(--color-primary-element);
13536
+ }
13537
+
13538
+
13290
13539
  .cn-sub-objects-field__head[data-v-4878c47e] {
13291
13540
  display: flex;
13292
13541
  align-items: center;
@@ -21998,7 +22247,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
21998
22247
 
21999
22248
 
22000
22249
  /* A select option breaks between words only, never inside one. */
22001
- .cn-form-dialog__option[data-v-65a5754f] {
22250
+ .cn-form-dialog__option[data-v-6927cedc] {
22002
22251
  display: block;
22003
22252
  min-width: 0;
22004
22253
  white-space: normal;
@@ -22006,7 +22255,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22006
22255
  word-break: normal;
22007
22256
  hyphens: manual;
22008
22257
  }
22009
- .cn-form-dialog__draft-actions[data-v-65a5754f] {
22258
+ .cn-form-dialog__draft-actions[data-v-6927cedc] {
22010
22259
  display: flex;
22011
22260
  gap: 8px;
22012
22261
  margin-top: 8px;
@@ -22014,22 +22263,22 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22014
22263
 
22015
22264
  /* The state is announced in WORDS, and the colour only repeats them. A
22016
22265
  reader who cannot see it still hears "Draft saved" (WCAG 2.2 SC 1.4.1). */
22017
- .cn-form-dialog__draft-state[data-v-65a5754f] {
22266
+ .cn-form-dialog__draft-state[data-v-6927cedc] {
22018
22267
  align-self: center;
22019
22268
  color: var(--color-text-maxcontrast);
22020
22269
  font-size: 0.9em;
22021
22270
  margin-inline-end: auto;
22022
22271
  }
22023
- .cn-form-dialog__switch-wrapper[data-v-65a5754f] {
22272
+ .cn-form-dialog__switch-wrapper[data-v-6927cedc] {
22024
22273
  display: flex;
22025
22274
  flex-direction: column;
22026
22275
  }
22027
- .cn-form-dialog__form[data-v-65a5754f] {
22276
+ .cn-form-dialog__form[data-v-6927cedc] {
22028
22277
  display: flex;
22029
22278
  flex-direction: column;
22030
22279
  gap: 4px;
22031
22280
  }
22032
- .cn-form-dialog__field[data-v-65a5754f] {
22281
+ .cn-form-dialog__field[data-v-6927cedc] {
22033
22282
  margin-bottom: 8px;
22034
22283
  }
22035
22284
 
@@ -22041,7 +22290,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22041
22290
  from pushing its column past its share: a grid item's default `auto`
22042
22291
  minimum is its content, so without it one long option label widens the
22043
22292
  whole column and the two stop being equal. */
22044
- .cn-form-dialog__section[data-v-65a5754f] {
22293
+ .cn-form-dialog__section[data-v-6927cedc] {
22045
22294
  margin: 12px 0 0;
22046
22295
  padding-top: 12px;
22047
22296
  border-top: 1px solid var(--color-border);
@@ -22050,44 +22299,44 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22050
22299
  }
22051
22300
 
22052
22301
  /* The first heading opens the form: no rule above it. */
22053
- .cn-form-dialog__form .cn-form-dialog__section[data-v-65a5754f]:first-of-type {
22302
+ .cn-form-dialog__form .cn-form-dialog__section[data-v-6927cedc]:first-of-type {
22054
22303
  margin-top: 0;
22055
22304
  padding-top: 0;
22056
22305
  border-top: 0;
22057
22306
  }
22058
- .cn-form-dialog__form--two-column[data-v-65a5754f] {
22307
+ .cn-form-dialog__form--two-column[data-v-6927cedc] {
22059
22308
  display: grid;
22060
22309
  grid-template-columns: 1fr 1fr;
22061
22310
  column-gap: 16px;
22062
22311
  align-items: start;
22063
22312
  }
22064
- .cn-form-dialog__form--two-column[data-v-65a5754f] > * {
22313
+ .cn-form-dialog__form--two-column[data-v-6927cedc] > * {
22065
22314
  min-width: 0;
22066
22315
  }
22067
22316
 
22068
22317
  /* Anything that is not a field (the form-level error note, the slots above
22069
22318
  and below the fields) spans the full width, so a note card never sits in
22070
22319
  a half-width column beside an input. */
22071
- .cn-form-dialog__form--two-column[data-v-65a5754f] > :not(.cn-form-dialog__field),
22072
- .cn-form-dialog__form--two-column > .cn-form-dialog__field--wide[data-v-65a5754f] {
22320
+ .cn-form-dialog__form--two-column[data-v-6927cedc] > :not(.cn-form-dialog__field),
22321
+ .cn-form-dialog__form--two-column > .cn-form-dialog__field--wide[data-v-6927cedc] {
22073
22322
  grid-column: 1 / -1;
22074
22323
  }
22075
22324
 
22076
22325
  /* A narrow viewport gets the single column back. Two columns of roughly
22077
22326
  150px each are worse than one readable one. */
22078
22327
  @media (max-width: 700px) {
22079
- .cn-form-dialog__form--two-column[data-v-65a5754f] {
22328
+ .cn-form-dialog__form--two-column[data-v-6927cedc] {
22080
22329
  display: block;
22081
22330
  }
22082
22331
  }
22083
- .cn-form-dialog__textarea-wrapper[data-v-65a5754f],
22084
- .cn-form-dialog__select-wrapper[data-v-65a5754f],
22085
- .cn-form-dialog__json-wrapper[data-v-65a5754f] {
22332
+ .cn-form-dialog__textarea-wrapper[data-v-6927cedc],
22333
+ .cn-form-dialog__select-wrapper[data-v-6927cedc],
22334
+ .cn-form-dialog__json-wrapper[data-v-6927cedc] {
22086
22335
  display: flex;
22087
22336
  flex-direction: column;
22088
22337
  gap: 4px;
22089
22338
  }
22090
- .cn-form-dialog__label[data-v-65a5754f] {
22339
+ .cn-form-dialog__label[data-v-6927cedc] {
22091
22340
  font-weight: 600;
22092
22341
  font-size: 0.9em;
22093
22342
  color: var(--color-main-text);
@@ -22095,10 +22344,10 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22095
22344
 
22096
22345
  /* Cross-app semantic reference (ADR-048) whose provider isn't installed —
22097
22346
  rendered disabled; the wrapper carries the mouse-over tooltip. */
22098
- .cn-form-dialog__semantic-unresolved[data-v-65a5754f] {
22347
+ .cn-form-dialog__semantic-unresolved[data-v-6927cedc] {
22099
22348
  cursor: not-allowed;
22100
22349
  }
22101
- .cn-form-dialog__textarea[data-v-65a5754f] {
22350
+ .cn-form-dialog__textarea[data-v-6927cedc] {
22102
22351
  width: 100%;
22103
22352
  min-height: 80px;
22104
22353
  padding: 8px;
@@ -22110,22 +22359,22 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22110
22359
  font-size: inherit;
22111
22360
  resize: vertical;
22112
22361
  }
22113
- .cn-form-dialog__textarea[data-v-65a5754f]:focus {
22362
+ .cn-form-dialog__textarea[data-v-6927cedc]:focus {
22114
22363
  border-color: var(--color-primary-element);
22115
22364
  outline: none;
22116
22365
  }
22117
- .cn-form-dialog__textarea[data-v-65a5754f]:disabled {
22366
+ .cn-form-dialog__textarea[data-v-6927cedc]:disabled {
22118
22367
  opacity: 0.5;
22119
22368
  cursor: not-allowed;
22120
22369
  }
22121
- .cn-form-dialog__helper[data-v-65a5754f] {
22370
+ .cn-form-dialog__helper[data-v-6927cedc] {
22122
22371
  font-size: 0.85em;
22123
22372
  color: var(--color-text-maxcontrast);
22124
22373
  }
22125
- .cn-form-dialog__helper--error[data-v-65a5754f] {
22374
+ .cn-form-dialog__helper--error[data-v-6927cedc] {
22126
22375
  color: var(--color-error);
22127
22376
  }
22128
- .cn-form-dialog__dynamic-loading[data-v-65a5754f] {
22377
+ .cn-form-dialog__dynamic-loading[data-v-6927cedc] {
22129
22378
  display: flex;
22130
22379
  align-items: center;
22131
22380
  gap: 8px;
@@ -22147,7 +22396,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22147
22396
  Horizontal overflow is owned by `.cn-table-container` (overflow-x: auto); a
22148
22397
  second scroll container here would produce a nested scrollbar, so this host
22149
22398
  stays plain. */
22150
- .cn-object-list-widget[data-v-aeadc210] {
22399
+ .cn-object-list-widget[data-v-40b2b1a0] {
22151
22400
  width: 100%;
22152
22401
  height: 100%;
22153
22402
  display: flex;
@@ -22159,10 +22408,10 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22159
22408
  relative` is set only in the dropping state so a widget without a drop zone
22160
22409
  keeps the containing block it had — an unconditional rule here would
22161
22410
  re-parent any absolutely-positioned descendant a host has placed. */
22162
- .cn-object-list-widget--dropping[data-v-aeadc210] {
22411
+ .cn-object-list-widget--dropping[data-v-40b2b1a0] {
22163
22412
  position: relative;
22164
22413
  }
22165
- .cn-object-list-widget__drop-overlay[data-v-aeadc210] {
22414
+ .cn-object-list-widget__drop-overlay[data-v-40b2b1a0] {
22166
22415
  position: absolute;
22167
22416
  inset: 0;
22168
22417
  z-index: 2;
@@ -22180,7 +22429,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22180
22429
  and the drop would land on nothing. */
22181
22430
  pointer-events: none;
22182
22431
  }
22183
- .cn-object-list-widget__table[data-v-aeadc210] {
22432
+ .cn-object-list-widget__table[data-v-40b2b1a0] {
22184
22433
  flex: 1 1 auto;
22185
22434
  min-height: 0;
22186
22435
  overflow: hidden;
@@ -22189,16 +22438,16 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22189
22438
  /* The empty state is CnWidgetEmptyState now — it brings its own layout, so
22190
22439
  all this rule still owns is letting it claim the cell's leftover height
22191
22440
  (ADR-062: it fits the cell, it never forces one). */
22192
- .cn-object-list-widget__empty[data-v-aeadc210] {
22441
+ .cn-object-list-widget__empty[data-v-40b2b1a0] {
22193
22442
  flex: 1 1 auto;
22194
22443
  min-height: 0;
22195
22444
  }
22196
22445
 
22197
22446
  /* The pager sits flush at the bottom of the card, above "View all". */
22198
- .cn-object-list-widget__pager[data-v-aeadc210] {
22447
+ .cn-object-list-widget__pager[data-v-40b2b1a0] {
22199
22448
  flex-shrink: 0;
22200
22449
  }
22201
- .cn-object-list-widget__view-all[data-v-aeadc210] {
22450
+ .cn-object-list-widget__view-all[data-v-40b2b1a0] {
22202
22451
  align-self: flex-start;
22203
22452
  background: none;
22204
22453
  border: none;
@@ -22209,17 +22458,17 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22209
22458
  padding: 4px;
22210
22459
  text-decoration: none;
22211
22460
  }
22212
- .cn-object-list-widget__view-all[data-v-aeadc210]:hover,
22213
- .cn-object-list-widget__view-all[data-v-aeadc210]:focus-visible {
22461
+ .cn-object-list-widget__view-all[data-v-40b2b1a0]:hover,
22462
+ .cn-object-list-widget__view-all[data-v-40b2b1a0]:focus-visible {
22214
22463
  text-decoration: underline;
22215
22464
  }
22216
- .cn-object-list-widget__more[data-v-aeadc210] {
22465
+ .cn-object-list-widget__more[data-v-40b2b1a0] {
22217
22466
  color: var(--color-text-maxcontrast);
22218
22467
  font-size: 0.85em;
22219
22468
  margin: 4px 0 0;
22220
22469
  padding: 4px;
22221
22470
  }
22222
- .cn-object-list-widget__footnote[data-v-aeadc210] {
22471
+ .cn-object-list-widget__footnote[data-v-40b2b1a0] {
22223
22472
  color: var(--color-text-maxcontrast);
22224
22473
  font-size: 13px;
22225
22474
  margin: 8px 0 0;
@@ -22228,7 +22477,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22228
22477
  /* Footer Add — same pattern as the integration leaves' footer action
22229
22478
  ("Open in Calendar"): full-width, centered, divider-topped, pinned to
22230
22479
  the card bottom. */
22231
- .cn-object-list-widget__add[data-v-aeadc210] {
22480
+ .cn-object-list-widget__add[data-v-40b2b1a0] {
22232
22481
  align-self: stretch;
22233
22482
  border-top: 1px solid var(--color-border);
22234
22483
  /* Bleed through the host card's 16px content padding so the divider
@@ -22236,31 +22485,31 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22236
22485
  margin: auto -16px -16px;
22237
22486
  padding: 4px;
22238
22487
  }
22239
- .cn-object-list-widget__error[data-v-aeadc210] {
22488
+ .cn-object-list-widget__error[data-v-40b2b1a0] {
22240
22489
  color: var(--color-text-maxcontrast);
22241
22490
  font-size: 0.85em;
22242
22491
  margin: 4px 0 0;
22243
22492
  }
22244
- .cn-object-list-widget__prompt[data-v-aeadc210] {
22493
+ .cn-object-list-widget__prompt[data-v-40b2b1a0] {
22245
22494
  color: var(--color-text-maxcontrast);
22246
22495
  font-style: italic;
22247
22496
  padding: 16px 4px;
22248
22497
  margin: 0;
22249
22498
  text-align: center;
22250
22499
  }
22251
- .cn-object-list-widget__facet[data-v-aeadc210] {
22500
+ .cn-object-list-widget__facet[data-v-40b2b1a0] {
22252
22501
  display: flex;
22253
22502
  align-items: center;
22254
22503
  flex-wrap: wrap;
22255
22504
  gap: 6px;
22256
22505
  padding: 0 4px 8px;
22257
22506
  }
22258
- .cn-object-list-widget__facet-label[data-v-aeadc210] {
22507
+ .cn-object-list-widget__facet-label[data-v-40b2b1a0] {
22259
22508
  color: var(--color-text-maxcontrast);
22260
22509
  font-size: 0.85em;
22261
22510
  font-weight: 600;
22262
22511
  }
22263
- .cn-object-list-widget__facet-chip[data-v-aeadc210] {
22512
+ .cn-object-list-widget__facet-chip[data-v-40b2b1a0] {
22264
22513
  background-color: var(--color-background-hover);
22265
22514
  border: 1px solid var(--color-border);
22266
22515
  border-radius: var(--border-radius-pill, 16px);
@@ -22270,13 +22519,13 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22270
22519
  font-size: 0.85em;
22271
22520
  padding: 2px 10px;
22272
22521
  }
22273
- .cn-object-list-widget__facet-chip--active[data-v-aeadc210] {
22522
+ .cn-object-list-widget__facet-chip--active[data-v-40b2b1a0] {
22274
22523
  background-color: var(--color-primary-element-light);
22275
22524
  border-color: var(--color-primary-element);
22276
22525
  color: var(--color-primary-element-text, var(--color-main-text));
22277
22526
  }
22278
- .cn-object-list-widget__facet-clear[data-v-aeadc210],
22279
- .cn-object-list-widget__bulk-clear[data-v-aeadc210] {
22527
+ .cn-object-list-widget__facet-clear[data-v-40b2b1a0],
22528
+ .cn-object-list-widget__bulk-clear[data-v-40b2b1a0] {
22280
22529
  background: none;
22281
22530
  border: none;
22282
22531
  color: var(--color-primary-element);
@@ -22285,11 +22534,11 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22285
22534
  font-size: 0.85em;
22286
22535
  padding: 2px 4px;
22287
22536
  }
22288
- .cn-object-list-widget__facet-clear[data-v-aeadc210]:hover,
22289
- .cn-object-list-widget__bulk-clear[data-v-aeadc210]:hover {
22537
+ .cn-object-list-widget__facet-clear[data-v-40b2b1a0]:hover,
22538
+ .cn-object-list-widget__bulk-clear[data-v-40b2b1a0]:hover {
22290
22539
  text-decoration: underline;
22291
22540
  }
22292
- .cn-object-list-widget__bulk-bar[data-v-aeadc210] {
22541
+ .cn-object-list-widget__bulk-bar[data-v-40b2b1a0] {
22293
22542
  align-items: center;
22294
22543
  background-color: var(--color-primary-element-light);
22295
22544
  border-radius: var(--border-radius, 8px);
@@ -22299,10 +22548,10 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22299
22548
  margin: 0 0 8px;
22300
22549
  padding: 6px 10px;
22301
22550
  }
22302
- .cn-object-list-widget__bulk-count[data-v-aeadc210] {
22551
+ .cn-object-list-widget__bulk-count[data-v-40b2b1a0] {
22303
22552
  font-weight: 600;
22304
22553
  }
22305
- .cn-object-list-widget__bulk-action[data-v-aeadc210] {
22554
+ .cn-object-list-widget__bulk-action[data-v-40b2b1a0] {
22306
22555
  background-color: var(--color-main-background);
22307
22556
  border: 1px solid var(--color-border);
22308
22557
  border-radius: var(--border-radius, 8px);
@@ -22310,25 +22559,25 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22310
22559
  font: inherit;
22311
22560
  padding: 4px 10px;
22312
22561
  }
22313
- .cn-object-list-widget__bulk-action--destructive[data-v-aeadc210] {
22562
+ .cn-object-list-widget__bulk-action--destructive[data-v-40b2b1a0] {
22314
22563
  border-color: var(--color-error);
22315
22564
  color: var(--color-error);
22316
22565
  }
22317
- .cn-object-list-widget__groups[data-v-aeadc210] {
22566
+ .cn-object-list-widget__groups[data-v-40b2b1a0] {
22318
22567
  display: flex;
22319
22568
  flex-direction: column;
22320
22569
  gap: 16px;
22321
22570
  min-height: 0;
22322
22571
  overflow: auto;
22323
22572
  }
22324
- .cn-object-list-widget__group-heading[data-v-aeadc210] {
22573
+ .cn-object-list-widget__group-heading[data-v-40b2b1a0] {
22325
22574
  color: var(--color-text-maxcontrast);
22326
22575
  font-size: 0.85em;
22327
22576
  font-weight: 600;
22328
22577
  margin: 0 0 4px;
22329
22578
  text-transform: uppercase;
22330
22579
  }
22331
- .cn-object-list-widget__upload[data-v-aeadc210] {
22580
+ .cn-object-list-widget__upload[data-v-40b2b1a0] {
22332
22581
  background-color: var(--color-main-background);
22333
22582
  border: 1px solid var(--color-border);
22334
22583
  border-radius: var(--border-radius, 8px);
@@ -22337,7 +22586,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22337
22586
  margin: 8px 0 0;
22338
22587
  padding: 6px 12px;
22339
22588
  }
22340
- .cn-object-list-widget__upload-input[data-v-aeadc210] {
22589
+ .cn-object-list-widget__upload-input[data-v-40b2b1a0] {
22341
22590
  display: none;
22342
22591
  }
22343
22592
 
@@ -26522,16 +26771,16 @@ button.cn-stepper__step[data-v-776581d4] {
26522
26771
  }
26523
26772
 
26524
26773
 
26525
- .cn-widget-object-table[data-v-d8f8d15a] {
26774
+ .cn-widget-object-table[data-v-dfdcad2a] {
26526
26775
  width: 100%;
26527
26776
  }
26528
- .cn-widget-object-table__footer[data-v-d8f8d15a] {
26777
+ .cn-widget-object-table__footer[data-v-dfdcad2a] {
26529
26778
  display: flex;
26530
26779
  gap: 4px;
26531
26780
  padding: 4px 8px;
26532
26781
  border-top: 1px solid var(--color-border);
26533
26782
  }
26534
- .cn-widget-object-table__error[data-v-d8f8d15a] {
26783
+ .cn-widget-object-table__error[data-v-dfdcad2a] {
26535
26784
  color: var(--color-text-error, var(--color-error-text));
26536
26785
  font-size: 0.85em;
26537
26786
  margin: 4px 8px 0;
@@ -26893,7 +27142,7 @@ button.cn-stepper__step[data-v-776581d4] {
26893
27142
 
26894
27143
 
26895
27144
  /* A stack (`widgetIds`): the panel's widget, then cards 20px apart. */
26896
- .cn-tabs-widget__stack[data-v-dbbc6ecc] {
27145
+ .cn-tabs-widget__stack[data-v-78877482] {
26897
27146
  display: flex;
26898
27147
  flex-direction: column;
26899
27148
  gap: 20px;
@@ -26902,19 +27151,19 @@ button.cn-stepper__step[data-v-776581d4] {
26902
27151
  /* A gridded stack (`columns` / `layout` on the tab): 12 columns, widgets wrap
26903
27152
  onto the next row, a row's cards as tall as the tallest. Narrow, it is the
26904
27153
  plain stack again. */
26905
- .cn-tabs-widget__stack--grid[data-v-dbbc6ecc] {
27154
+ .cn-tabs-widget__stack--grid[data-v-78877482] {
26906
27155
  display: grid;
26907
27156
  grid-template-columns: repeat(12, minmax(0, 1fr));
26908
27157
  align-items: stretch;
26909
27158
  }
26910
- .cn-tabs-widget__stack--grid[data-v-dbbc6ecc] > * {
27159
+ .cn-tabs-widget__stack--grid[data-v-78877482] > * {
26911
27160
  min-width: 0;
26912
27161
  }
26913
27162
  @media (max-width: 700px) {
26914
- .cn-tabs-widget__stack--grid[data-v-dbbc6ecc] {
27163
+ .cn-tabs-widget__stack--grid[data-v-78877482] {
26915
27164
  grid-template-columns: minmax(0, 1fr);
26916
27165
  }
26917
- .cn-tabs-widget__stack--grid[data-v-dbbc6ecc] > * {
27166
+ .cn-tabs-widget__stack--grid[data-v-78877482] > * {
26918
27167
  grid-column: auto !important;
26919
27168
  }
26920
27169
  }
@@ -26948,7 +27197,7 @@ button.cn-stepper__step[data-v-776581d4] {
26948
27197
  `!important` or on load order this library does not control. The same
26949
27198
  technique, for the same reason, is used on `.cn-tabs__nav .cn-tabs__nav-item`
26950
27199
  in CnTabs to beat Nextcloud's own button margin. */
26951
- .cn-tabs-widget.cn-tabs-widget[data-v-dbbc6ecc] {
27200
+ .cn-tabs-widget.cn-tabs-widget[data-v-78877482] {
26952
27201
  background-color: transparent;
26953
27202
  border: 0;
26954
27203
  border-radius: 0;
@@ -26972,12 +27221,12 @@ button.cn-stepper__step[data-v-776581d4] {
26972
27221
  below it: the rule ran straight on to the widget's edge and read as a
26973
27222
  border sticking out past a rounded corner (Ruben, 2026-09-13). Ending it
26974
27223
  where the curve begins makes the rule and the curve one continuous edge. */
26975
- .cn-tabs-widget__tabs[data-v-dbbc6ecc] .cn-tabs__bar {
27224
+ .cn-tabs-widget__tabs[data-v-78877482] .cn-tabs__bar {
26976
27225
  border-bottom: none;
26977
27226
  padding: 0;
26978
27227
  position: relative;
26979
27228
  }
26980
- .cn-tabs-widget__tabs[data-v-dbbc6ecc] .cn-tabs__bar::after {
27229
+ .cn-tabs-widget__tabs[data-v-78877482] .cn-tabs__bar::after {
26981
27230
  border-bottom: 1px solid var(--color-border);
26982
27231
  content: '';
26983
27232
  inset-block-end: 0;
@@ -26990,11 +27239,11 @@ button.cn-stepper__step[data-v-776581d4] {
26990
27239
  own background-coloured bottom edge, which only works if it paints ABOVE the
26991
27240
  pseudo-element: a positioned pseudo-element otherwise paints over every
26992
27241
  in-flow sibling, rule included. */
26993
- .cn-tabs-widget__tabs[data-v-dbbc6ecc] .cn-tabs__nav-item--active {
27242
+ .cn-tabs-widget__tabs[data-v-78877482] .cn-tabs__nav-item--active {
26994
27243
  position: relative;
26995
27244
  z-index: 1;
26996
27245
  }
26997
- .cn-tabs-widget__tabs[data-v-dbbc6ecc] {
27246
+ .cn-tabs-widget__tabs[data-v-78877482] {
26998
27247
  display: flex;
26999
27248
  flex-direction: column;
27000
27249
  /* Grow to the widget's height, so the panel fills the grid cell the
@@ -27012,7 +27261,7 @@ button.cn-stepper__step[data-v-776581d4] {
27012
27261
  the open tab, but padding sits inside the painted box — only a margin would
27013
27262
  have opened that gap, and a zero top put every panel's content against the
27014
27263
  strip. */
27015
- .cn-tabs-widget__tabs[data-v-dbbc6ecc] .cn-tabs__content {
27264
+ .cn-tabs-widget__tabs[data-v-78877482] .cn-tabs__content {
27016
27265
  background-color: var(--color-main-background);
27017
27266
  /* Three sides only: the bar's rule (redrawn above, stopping at the corner)
27018
27267
  is this sheet's top edge, and the open tab erases the slice of it
@@ -27032,7 +27281,7 @@ button.cn-stepper__step[data-v-776581d4] {
27032
27281
  overflow: auto;
27033
27282
  padding: 12px;
27034
27283
  }
27035
- .cn-tabs-widget__tabs[data-v-dbbc6ecc] .cn-tab {
27284
+ .cn-tabs-widget__tabs[data-v-78877482] .cn-tab {
27036
27285
  height: 100%;
27037
27286
  }
27038
27287
 
@@ -27040,13 +27289,13 @@ button.cn-stepper__step[data-v-776581d4] {
27040
27289
  (margin 0 -16px -16px). The panel of a tab pads 12px, so on a tab that
27041
27290
  holds the list directly the footer stuck out 4px on the right and at the
27042
27291
  bottom and made the panel scroll. It bleeds exactly the panel's padding. */
27043
- .cn-tabs-widget__tabs[data-v-dbbc6ecc] .cn-tabs__content > .cn-tab > .cn-detail-widget-host--bare .cn-object-list-widget__add {
27292
+ .cn-tabs-widget__tabs[data-v-78877482] .cn-tabs__content > .cn-tab > .cn-detail-widget-host--bare .cn-object-list-widget__add {
27044
27293
  margin: auto -12px -12px;
27045
27294
  }
27046
27295
 
27047
27296
  /* The open panel's header link, beside the strip. Same look and theme hooks
27048
27297
  as a card header link (CnWidgetWrapper). */
27049
- .cn-tabs-widget__header-link[data-v-dbbc6ecc] {
27298
+ .cn-tabs-widget__header-link[data-v-78877482] {
27050
27299
  align-self: center;
27051
27300
  padding: 0 calc(1 * var(--default-grid-baseline));
27052
27301
  color: var(--color-primary-element);
@@ -27055,21 +27304,21 @@ button.cn-stepper__step[data-v-776581d4] {
27055
27304
  text-decoration: none;
27056
27305
  white-space: nowrap;
27057
27306
  }
27058
- .cn-tabs-widget__header-link[data-v-dbbc6ecc]:hover,
27059
- .cn-tabs-widget__header-link[data-v-dbbc6ecc]:focus-visible {
27307
+ .cn-tabs-widget__header-link[data-v-78877482]:hover,
27308
+ .cn-tabs-widget__header-link[data-v-78877482]:focus-visible {
27060
27309
  text-decoration: underline;
27061
27310
  }
27062
- .cn-tabs-widget__header-link[data-v-dbbc6ecc]:focus-visible {
27311
+ .cn-tabs-widget__header-link[data-v-78877482]:focus-visible {
27063
27312
  outline: 2px solid var(--color-primary-element);
27064
27313
  outline-offset: 2px;
27065
27314
  border-radius: var(--border-radius-small, 4px);
27066
27315
  }
27067
- .cn-tabs-widget__title[data-v-dbbc6ecc] {
27316
+ .cn-tabs-widget__title[data-v-78877482] {
27068
27317
  align-items: center;
27069
27318
  display: inline-flex;
27070
27319
  gap: 6px;
27071
27320
  }
27072
- .cn-tabs-widget__title-icon[data-v-dbbc6ecc] {
27321
+ .cn-tabs-widget__title-icon[data-v-78877482] {
27073
27322
  flex: 0 0 auto;
27074
27323
  }
27075
27324
 
@@ -28803,14 +29052,14 @@ button.cn-stepper__step[data-v-776581d4] {
28803
29052
  }
28804
29053
 
28805
29054
 
28806
- .cn-menu-widget[data-v-2a4e786e] {
29055
+ .cn-menu-widget[data-v-2edac2f0] {
28807
29056
  width: 100%;
28808
29057
  height: 100%;
28809
29058
  padding: 4px;
28810
29059
  color: var(--color-main-text);
28811
29060
  font-size: 14px;
28812
29061
  }
28813
- .cn-menu-widget__empty[data-v-2a4e786e] {
29062
+ .cn-menu-widget__empty[data-v-2edac2f0] {
28814
29063
  display: flex;
28815
29064
  align-items: center;
28816
29065
  gap: 8px;
@@ -28820,13 +29069,13 @@ button.cn-stepper__step[data-v-776581d4] {
28820
29069
  border: 1px dashed var(--color-border);
28821
29070
  border-radius: var(--border-radius);
28822
29071
  }
28823
- .cn-menu-widget__empty--clickable[data-v-2a4e786e] {
29072
+ .cn-menu-widget__empty--clickable[data-v-2edac2f0] {
28824
29073
  cursor: pointer;
28825
29074
  }
28826
- .cn-menu-widget__empty-icon[data-v-2a4e786e] {
29075
+ .cn-menu-widget__empty-icon[data-v-2edac2f0] {
28827
29076
  font-size: 18px;
28828
29077
  }
28829
- .cn-menu-widget__bar[data-v-2a4e786e] {
29078
+ .cn-menu-widget__bar[data-v-2edac2f0] {
28830
29079
  display: flex;
28831
29080
  flex-direction: row;
28832
29081
  gap: 4px;
@@ -28834,17 +29083,17 @@ button.cn-stepper__step[data-v-776581d4] {
28834
29083
  padding: 0;
28835
29084
  list-style: none;
28836
29085
  }
28837
- .cn-menu-widget__bar--vertical[data-v-2a4e786e] {
29086
+ .cn-menu-widget__bar--vertical[data-v-2edac2f0] {
28838
29087
  flex-direction: column;
28839
29088
  }
28840
- .cn-menu-widget__bar-item[data-v-2a4e786e] {
29089
+ .cn-menu-widget__bar-item[data-v-2edac2f0] {
28841
29090
  position: relative;
28842
29091
  list-style: none;
28843
29092
  }
28844
- .cn-menu-widget__bar-button[data-v-2a4e786e],
28845
- .cn-menu-widget__dropdown-item[data-v-2a4e786e],
28846
- .cn-menu-widget__mega-group-title[data-v-2a4e786e],
28847
- .cn-menu-widget__mega-leaf[data-v-2a4e786e] {
29093
+ .cn-menu-widget__bar-button[data-v-2edac2f0],
29094
+ .cn-menu-widget__dropdown-item[data-v-2edac2f0],
29095
+ .cn-menu-widget__mega-group-title[data-v-2edac2f0],
29096
+ .cn-menu-widget__mega-leaf[data-v-2edac2f0] {
28848
29097
  display: inline-flex;
28849
29098
  align-items: center;
28850
29099
  gap: 6px;
@@ -28860,35 +29109,35 @@ button.cn-stepper__step[data-v-776581d4] {
28860
29109
  box-sizing: border-box;
28861
29110
  width: 100%;
28862
29111
  }
28863
- .cn-menu-widget__mega-group-title[data-v-2a4e786e] {
29112
+ .cn-menu-widget__mega-group-title[data-v-2edac2f0] {
28864
29113
  font-weight: 600;
28865
29114
  }
28866
- .cn-menu-widget__bar-button[data-v-2a4e786e]:hover,
28867
- .cn-menu-widget__dropdown-item[data-v-2a4e786e]:hover,
28868
- .cn-menu-widget__mega-group-title[data-v-2a4e786e]:hover,
28869
- .cn-menu-widget__mega-leaf[data-v-2a4e786e]:hover {
29115
+ .cn-menu-widget__bar-button[data-v-2edac2f0]:hover,
29116
+ .cn-menu-widget__dropdown-item[data-v-2edac2f0]:hover,
29117
+ .cn-menu-widget__mega-group-title[data-v-2edac2f0]:hover,
29118
+ .cn-menu-widget__mega-leaf[data-v-2edac2f0]:hover {
28870
29119
  background: var(--color-background-hover);
28871
29120
  }
28872
- .cn-menu-widget__bar-button[data-v-2a4e786e]:focus-visible,
28873
- .cn-menu-widget__dropdown-item[data-v-2a4e786e]:focus-visible {
29121
+ .cn-menu-widget__bar-button[data-v-2edac2f0]:focus-visible,
29122
+ .cn-menu-widget__dropdown-item[data-v-2edac2f0]:focus-visible {
28874
29123
  outline: 2px solid var(--color-primary);
28875
29124
  outline-offset: 2px;
28876
29125
  }
28877
- .cn-menu-widget__icon[data-v-2a4e786e] {
29126
+ .cn-menu-widget__icon[data-v-2edac2f0] {
28878
29127
  display: inline-flex;
28879
29128
  align-items: center;
28880
29129
  justify-content: center;
28881
29130
  width: 20px;
28882
29131
  height: 20px;
28883
29132
  }
28884
- .cn-menu-widget__icon--hidden[data-v-2a4e786e] {
29133
+ .cn-menu-widget__icon--hidden[data-v-2edac2f0] {
28885
29134
  visibility: hidden;
28886
29135
  }
28887
- .cn-menu-widget__caret[data-v-2a4e786e] {
29136
+ .cn-menu-widget__caret[data-v-2edac2f0] {
28888
29137
  margin-left: auto;
28889
29138
  font-size: 10px;
28890
29139
  }
28891
- .cn-menu-widget__dropdown[data-v-2a4e786e] {
29140
+ .cn-menu-widget__dropdown[data-v-2edac2f0] {
28892
29141
  position: absolute;
28893
29142
  top: 100%;
28894
29143
  left: 0;
@@ -28902,10 +29151,10 @@ button.cn-stepper__step[data-v-776581d4] {
28902
29151
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
28903
29152
  list-style: none;
28904
29153
  }
28905
- .cn-menu-widget__dropdown-item-wrap[data-v-2a4e786e] {
29154
+ .cn-menu-widget__dropdown-item-wrap[data-v-2edac2f0] {
28906
29155
  position: relative;
28907
29156
  }
28908
- .cn-menu-widget__flyout[data-v-2a4e786e] {
29157
+ .cn-menu-widget__flyout[data-v-2edac2f0] {
28909
29158
  position: absolute;
28910
29159
  top: 0;
28911
29160
  left: 100%;
@@ -28918,7 +29167,7 @@ button.cn-stepper__step[data-v-776581d4] {
28918
29167
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
28919
29168
  list-style: none;
28920
29169
  }
28921
- .cn-menu-widget__mega-panel[data-v-2a4e786e] {
29170
+ .cn-menu-widget__mega-panel[data-v-2edac2f0] {
28922
29171
  margin-top: 4px;
28923
29172
  padding: 12px;
28924
29173
  display: grid;
@@ -28928,35 +29177,35 @@ button.cn-stepper__step[data-v-776581d4] {
28928
29177
  border: 1px solid var(--color-border);
28929
29178
  border-radius: var(--border-radius);
28930
29179
  }
28931
- .cn-menu-widget__mega-leaves[data-v-2a4e786e] {
29180
+ .cn-menu-widget__mega-leaves[data-v-2edac2f0] {
28932
29181
  margin: 4px 0 0;
28933
29182
  padding: 0;
28934
29183
  list-style: none;
28935
29184
  }
28936
- .cn-menu-widget__tree[data-v-2a4e786e] {
29185
+ .cn-menu-widget__tree[data-v-2edac2f0] {
28937
29186
  margin: 0;
28938
29187
  padding: 0;
28939
29188
  list-style: none;
28940
29189
  }
28941
29190
 
28942
29191
  /* Active-item highlight variants. */
28943
- .cn-menu-widget--highlight-underline .cn-menu-widget__item--active[data-v-2a4e786e] {
29192
+ .cn-menu-widget--highlight-underline .cn-menu-widget__item--active[data-v-2edac2f0] {
28944
29193
  border-bottom: 3px solid var(--color-primary);
28945
29194
  }
28946
- .cn-menu-widget--highlight-underline .cn-menu-widget__item--in-path[data-v-2a4e786e] {
29195
+ .cn-menu-widget--highlight-underline .cn-menu-widget__item--in-path[data-v-2edac2f0] {
28947
29196
  border-bottom: 2px solid var(--color-primary);
28948
29197
  opacity: 0.85;
28949
29198
  }
28950
- .cn-menu-widget--highlight-background .cn-menu-widget__item--active[data-v-2a4e786e],
28951
- .cn-menu-widget--highlight-background .cn-menu-widget__item--in-path[data-v-2a4e786e] {
29199
+ .cn-menu-widget--highlight-background .cn-menu-widget__item--active[data-v-2edac2f0],
29200
+ .cn-menu-widget--highlight-background .cn-menu-widget__item--in-path[data-v-2edac2f0] {
28952
29201
  background: var(--color-primary-element-light, rgba(0, 112, 192, 0.1));
28953
29202
  color: var(--color-primary);
28954
29203
  }
28955
- .cn-menu-widget--highlight-left-bar .cn-menu-widget__item--active[data-v-2a4e786e] {
29204
+ .cn-menu-widget--highlight-left-bar .cn-menu-widget__item--active[data-v-2edac2f0] {
28956
29205
  border-left: 5px solid var(--color-primary);
28957
29206
  padding-left: 6px;
28958
29207
  }
28959
- .cn-menu-widget--highlight-left-bar .cn-menu-widget__item--in-path[data-v-2a4e786e] {
29208
+ .cn-menu-widget--highlight-left-bar .cn-menu-widget__item--in-path[data-v-2edac2f0] {
28960
29209
  border-left: 4px solid var(--color-primary);
28961
29210
  padding-left: 7px;
28962
29211
  opacity: 0.85;
@@ -32865,17 +33114,28 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
32865
33114
  }
32866
33115
 
32867
33116
 
32868
- .cn-record-list__list[data-v-03e67618] {
33117
+ .cn-record-list__list[data-v-7d1cc1e6] {
32869
33118
  list-style: none;
32870
33119
  margin: 0;
32871
33120
  padding: 0;
32872
33121
  }
32873
- .cn-record-list__empty[data-v-03e67618],
32874
- .cn-record-list__error[data-v-03e67618] {
33122
+ .cn-record-list__footer[data-v-7d1cc1e6] {
33123
+ display: flex;
33124
+ flex-direction: column;
33125
+ align-items: flex-start;
33126
+ gap: 6px;
33127
+ margin-top: 10px;
33128
+ }
33129
+ .cn-record-list__footer-reason[data-v-7d1cc1e6] {
33130
+ font-size: 13px;
33131
+ color: var(--color-text-maxcontrast);
33132
+ }
33133
+ .cn-record-list__empty[data-v-7d1cc1e6],
33134
+ .cn-record-list__error[data-v-7d1cc1e6] {
32875
33135
  color: var(--color-text-maxcontrast);
32876
33136
  margin: 0;
32877
33137
  }
32878
- .cn-record-list__notice[data-v-03e67618] {
33138
+ .cn-record-list__notice[data-v-7d1cc1e6] {
32879
33139
  display: flex;
32880
33140
  gap: 10px;
32881
33141
  align-items: flex-start;
@@ -32884,33 +33144,33 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
32884
33144
  background: var(--color-primary-element-light, var(--color-background-dark));
32885
33145
  color: var(--color-main-text);
32886
33146
  }
32887
- .cn-record-list__notice--warning[data-v-03e67618] {
33147
+ .cn-record-list__notice--warning[data-v-7d1cc1e6] {
32888
33148
  background: var(--color-warning-light, rgba(255, 196, 0, 0.12));
32889
33149
  color: var(--color-warning-text, var(--color-main-text));
32890
33150
  }
32891
- .cn-record-list__notice--error[data-v-03e67618] {
33151
+ .cn-record-list__notice--error[data-v-7d1cc1e6] {
32892
33152
  background: var(--color-error-light, rgba(219, 0, 0, 0.08));
32893
33153
  color: var(--color-error-text, var(--color-main-text));
32894
33154
  }
32895
- .cn-record-list__notice-icon[data-v-03e67618] {
33155
+ .cn-record-list__notice-icon[data-v-7d1cc1e6] {
32896
33156
  flex: 0 0 auto;
32897
33157
  margin-top: 1px;
32898
33158
  }
32899
- .cn-record-list__notice-text[data-v-03e67618] {
33159
+ .cn-record-list__notice-text[data-v-7d1cc1e6] {
32900
33160
  margin: 0;
32901
33161
  line-height: 1.5;
32902
33162
  }
32903
- .cn-record-list__loading[data-v-03e67618] {
33163
+ .cn-record-list__loading[data-v-7d1cc1e6] {
32904
33164
  display: flex;
32905
33165
  justify-content: center;
32906
33166
  padding: 8px 0;
32907
33167
  }
32908
33168
 
32909
33169
  /* rows */
32910
- .cn-record-list--rows .cn-record-list__item + .cn-record-list__item[data-v-03e67618] {
33170
+ .cn-record-list--rows .cn-record-list__item + .cn-record-list__item[data-v-7d1cc1e6] {
32911
33171
  border-top: 1px solid var(--color-border);
32912
33172
  }
32913
- .cn-record-list__bar[data-v-03e67618] {
33173
+ .cn-record-list__bar[data-v-7d1cc1e6] {
32914
33174
  background: var(--color-border);
32915
33175
  border-radius: 3px;
32916
33176
  display: block;
@@ -32918,15 +33178,15 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
32918
33178
  margin: -6px 0 12px;
32919
33179
  overflow: hidden;
32920
33180
  }
32921
- .cn-record-list__bar-fill[data-v-03e67618] {
33181
+ .cn-record-list__bar-fill[data-v-7d1cc1e6] {
32922
33182
  background: var(--color-primary-element);
32923
33183
  display: block;
32924
33184
  height: 100%;
32925
33185
  }
32926
- .cn-record-list__bar--over .cn-record-list__bar-fill[data-v-03e67618] {
33186
+ .cn-record-list__bar--over .cn-record-list__bar-fill[data-v-7d1cc1e6] {
32927
33187
  background: var(--color-error);
32928
33188
  }
32929
- .cn-record-list__row[data-v-03e67618] {
33189
+ .cn-record-list__row[data-v-7d1cc1e6] {
32930
33190
  align-items: center;
32931
33191
  color: var(--color-main-text);
32932
33192
  display: flex;
@@ -32934,11 +33194,11 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
32934
33194
  padding: 12px 0;
32935
33195
  text-decoration: none;
32936
33196
  }
32937
- .cn-record-list__row--link:hover .cn-record-list__title[data-v-03e67618],
32938
- .cn-record-list__row--link:focus-visible .cn-record-list__title[data-v-03e67618] {
33197
+ .cn-record-list__row--link:hover .cn-record-list__title[data-v-7d1cc1e6],
33198
+ .cn-record-list__row--link:focus-visible .cn-record-list__title[data-v-7d1cc1e6] {
32939
33199
  text-decoration: underline;
32940
33200
  }
32941
- .cn-record-list__avatar[data-v-03e67618] {
33201
+ .cn-record-list__avatar[data-v-7d1cc1e6] {
32942
33202
  align-items: center;
32943
33203
  background: var(--color-background-hover);
32944
33204
  border-radius: 50%;
@@ -32951,67 +33211,67 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
32951
33211
  justify-content: center;
32952
33212
  width: 36px;
32953
33213
  }
32954
- .cn-record-list__main[data-v-03e67618] {
33214
+ .cn-record-list__main[data-v-7d1cc1e6] {
32955
33215
  display: flex;
32956
33216
  flex: 1 1 auto;
32957
33217
  flex-direction: column;
32958
33218
  gap: 2px;
32959
33219
  min-width: 0;
32960
33220
  }
32961
- .cn-record-list__title[data-v-03e67618] {
33221
+ .cn-record-list__title[data-v-7d1cc1e6] {
32962
33222
  font-size: 15px;
32963
33223
  font-weight: 700;
32964
33224
  }
32965
- .cn-record-list__meta[data-v-03e67618] {
33225
+ .cn-record-list__meta[data-v-7d1cc1e6] {
32966
33226
  color: var(--color-text-maxcontrast);
32967
33227
  font-size: 13px;
32968
33228
  }
32969
- .cn-record-list__aside[data-v-03e67618] {
33229
+ .cn-record-list__aside[data-v-7d1cc1e6] {
32970
33230
  align-items: center;
32971
33231
  display: flex;
32972
33232
  flex: none;
32973
33233
  gap: 16px;
32974
33234
  }
32975
- .cn-record-list__trailing[data-v-03e67618] {
33235
+ .cn-record-list__trailing[data-v-7d1cc1e6] {
32976
33236
  font-size: 14px;
32977
33237
  white-space: nowrap;
32978
33238
  }
32979
- .cn-record-list__due[data-v-03e67618] {
33239
+ .cn-record-list__due[data-v-7d1cc1e6] {
32980
33240
  font-size: 14px;
32981
33241
  white-space: nowrap;
32982
33242
  }
32983
- .cn-record-list__due--danger[data-v-03e67618] {
33243
+ .cn-record-list__due--danger[data-v-7d1cc1e6] {
32984
33244
  color: var(--color-text-error, var(--color-error-text));
32985
33245
  font-weight: 600;
32986
33246
  }
32987
- .cn-record-list__due--empty[data-v-03e67618] {
33247
+ .cn-record-list__due--empty[data-v-7d1cc1e6] {
32988
33248
  color: var(--color-text-maxcontrast);
32989
33249
  }
32990
- .cn-record-list__row--action[data-v-03e67618] {
33250
+ .cn-record-list__row--action[data-v-7d1cc1e6] {
32991
33251
  flex-wrap: wrap;
32992
33252
  gap: 8px 16px;
32993
33253
  padding: 14px 0;
32994
33254
  }
32995
- .cn-record-list__row--action .cn-record-list__main[data-v-03e67618] {
33255
+ .cn-record-list__row--action .cn-record-list__main[data-v-7d1cc1e6] {
32996
33256
  flex: 1 1 280px;
32997
33257
  gap: 3px;
32998
33258
  }
32999
- .cn-record-list__title--link[data-v-03e67618] {
33259
+ .cn-record-list__title--link[data-v-7d1cc1e6] {
33000
33260
  color: var(--color-main-text);
33001
33261
  text-decoration: underline;
33002
33262
  }
33003
- .cn-record-list__pills[data-v-03e67618] {
33263
+ .cn-record-list__pills[data-v-7d1cc1e6] {
33004
33264
  display: flex;
33005
33265
  flex: 0 0 120px;
33006
33266
  gap: 6px;
33007
33267
  justify-content: flex-end;
33008
33268
  }
33009
- .cn-record-list__due--column[data-v-03e67618] {
33269
+ .cn-record-list__due--column[data-v-7d1cc1e6] {
33010
33270
  flex: 0 0 96px;
33011
33271
  font-size: 13px;
33012
33272
  text-align: end;
33013
33273
  }
33014
- .cn-record-list__action[data-v-03e67618] {
33274
+ .cn-record-list__action[data-v-7d1cc1e6] {
33015
33275
  align-items: center;
33016
33276
  background: var(--color-primary-element-light);
33017
33277
  border: 0;
@@ -33028,23 +33288,23 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
33028
33288
  padding: 0 14px;
33029
33289
  text-decoration: none;
33030
33290
  }
33031
- .cn-record-list__action[data-v-03e67618]:hover,
33032
- .cn-record-list__action[data-v-03e67618]:focus-visible {
33291
+ .cn-record-list__action[data-v-7d1cc1e6]:hover,
33292
+ .cn-record-list__action[data-v-7d1cc1e6]:focus-visible {
33033
33293
  background: var(--color-primary-element-light-hover, var(--color-primary-element-light));
33034
33294
  }
33035
- .cn-record-list__chevron[data-v-03e67618] {
33295
+ .cn-record-list__chevron[data-v-7d1cc1e6] {
33036
33296
  color: var(--color-text-maxcontrast);
33037
33297
  flex: none;
33038
33298
  }
33039
33299
 
33040
33300
  /* cards (board ShBank): a grid of framed cards, 240px at the least. */
33041
- .cn-record-list--cards .cn-record-list__list[data-v-03e67618] {
33301
+ .cn-record-list--cards .cn-record-list__list[data-v-7d1cc1e6] {
33042
33302
  align-items: start;
33043
33303
  display: grid;
33044
33304
  gap: 16px;
33045
33305
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
33046
33306
  }
33047
- .cn-record-list__card[data-v-03e67618] {
33307
+ .cn-record-list__card[data-v-7d1cc1e6] {
33048
33308
  background: var(--color-main-background);
33049
33309
  border: 1px solid var(--color-border);
33050
33310
  border-radius: 12px;
@@ -33056,51 +33316,51 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
33056
33316
  padding: 16px 18px;
33057
33317
  text-decoration: none;
33058
33318
  }
33059
- .cn-record-list__card--link[data-v-03e67618]:hover,
33060
- .cn-record-list__card--link[data-v-03e67618]:focus-visible {
33319
+ .cn-record-list__card--link[data-v-7d1cc1e6]:hover,
33320
+ .cn-record-list__card--link[data-v-7d1cc1e6]:focus-visible {
33061
33321
  border-color: var(--color-border-dark, var(--color-border));
33062
33322
  }
33063
- .cn-record-list__card--link:hover .cn-record-list__title[data-v-03e67618],
33064
- .cn-record-list__card--link:focus-visible .cn-record-list__title[data-v-03e67618] {
33323
+ .cn-record-list__card--link:hover .cn-record-list__title[data-v-7d1cc1e6],
33324
+ .cn-record-list__card--link:focus-visible .cn-record-list__title[data-v-7d1cc1e6] {
33065
33325
  text-decoration: underline;
33066
33326
  }
33067
- .cn-record-list__card-head[data-v-03e67618] {
33327
+ .cn-record-list__card-head[data-v-7d1cc1e6] {
33068
33328
  align-items: center;
33069
33329
  display: flex;
33070
33330
  gap: 8px;
33071
33331
  justify-content: space-between;
33072
33332
  }
33073
- .cn-record-list__card-title[data-v-03e67618] {
33333
+ .cn-record-list__card-title[data-v-7d1cc1e6] {
33074
33334
  align-items: center;
33075
33335
  display: flex;
33076
33336
  gap: 8px;
33077
33337
  min-width: 0;
33078
33338
  }
33079
- .cn-record-list__card-icon[data-v-03e67618] {
33339
+ .cn-record-list__card-icon[data-v-7d1cc1e6] {
33080
33340
  color: var(--color-primary-element);
33081
33341
  flex: none;
33082
33342
  }
33083
- .cn-record-list__card-pills[data-v-03e67618] {
33343
+ .cn-record-list__card-pills[data-v-7d1cc1e6] {
33084
33344
  display: flex;
33085
33345
  flex: none;
33086
33346
  gap: 6px;
33087
33347
  }
33088
- .cn-record-list__card-value[data-v-03e67618] {
33348
+ .cn-record-list__card-value[data-v-7d1cc1e6] {
33089
33349
  font-size: 24px;
33090
33350
  font-weight: 700;
33091
33351
  }
33092
33352
 
33093
33353
  /* feed */
33094
- .cn-record-list--feed .cn-record-list__item + .cn-record-list__item[data-v-03e67618] {
33354
+ .cn-record-list--feed .cn-record-list__item + .cn-record-list__item[data-v-7d1cc1e6] {
33095
33355
  border-top: 1px solid var(--color-border);
33096
33356
  }
33097
- .cn-record-list__feed-row[data-v-03e67618] {
33357
+ .cn-record-list__feed-row[data-v-7d1cc1e6] {
33098
33358
  align-items: flex-start;
33099
33359
  display: flex;
33100
33360
  gap: 14px;
33101
33361
  padding: 12px 0;
33102
33362
  }
33103
- .cn-record-list__feed-icon[data-v-03e67618] {
33363
+ .cn-record-list__feed-icon[data-v-7d1cc1e6] {
33104
33364
  align-items: center;
33105
33365
  background: var(--color-primary-element-light);
33106
33366
  border-radius: 50%;
@@ -33111,25 +33371,25 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
33111
33371
  justify-content: center;
33112
33372
  width: 36px;
33113
33373
  }
33114
- .cn-record-list__text[data-v-03e67618] {
33374
+ .cn-record-list__text[data-v-7d1cc1e6] {
33115
33375
  font-size: 15px;
33116
33376
  }
33117
- .cn-record-list--feed .cn-record-list__main[data-v-03e67618] {
33377
+ .cn-record-list--feed .cn-record-list__main[data-v-7d1cc1e6] {
33118
33378
  color: var(--color-main-text);
33119
33379
  text-decoration: none;
33120
33380
  }
33121
33381
 
33122
33382
  /* inline */
33123
- .cn-record-list__inline-row[data-v-03e67618] {
33383
+ .cn-record-list__inline-row[data-v-7d1cc1e6] {
33124
33384
  padding: 4px 0;
33125
33385
  }
33126
- .cn-record-list__label[data-v-03e67618] {
33386
+ .cn-record-list__label[data-v-7d1cc1e6] {
33127
33387
  margin-inline-end: 4px;
33128
33388
  }
33129
- .cn-record-list__inline-title[data-v-03e67618] {
33389
+ .cn-record-list__inline-title[data-v-7d1cc1e6] {
33130
33390
  color: var(--color-main-text);
33131
33391
  }
33132
- a.cn-record-list__inline-title[data-v-03e67618] {
33392
+ a.cn-record-list__inline-title[data-v-7d1cc1e6] {
33133
33393
  color: var(--color-primary-element);
33134
33394
  text-decoration: underline;
33135
33395
  }
@@ -37545,38 +37805,38 @@ to {
37545
37805
  margin-block-start: 4px;
37546
37806
  }
37547
37807
 
37548
- .cn-wizard-dialog__step-body[data-v-547e7819] {
37808
+ .cn-wizard-dialog__step-body[data-v-1bd3640c] {
37549
37809
  min-height: 200px;
37550
37810
  }
37551
- .cn-wizard-dialog__result[data-v-547e7819] {
37811
+ .cn-wizard-dialog__result[data-v-1bd3640c] {
37552
37812
  display: flex;
37553
37813
  flex-direction: column;
37554
37814
  gap: 12px;
37555
37815
  }
37556
37816
 
37557
37817
 
37558
- .cn-setup-step[data-v-44988d3d] {
37818
+ .cn-setup-step[data-v-130330d9] {
37559
37819
  display: flex;
37560
37820
  flex-direction: column;
37561
37821
  gap: 12px;
37562
37822
  }
37563
- .cn-setup-step__intro[data-v-44988d3d] {
37823
+ .cn-setup-step__intro[data-v-130330d9] {
37564
37824
  margin: 0;
37565
37825
  font-size: 15px;
37566
37826
  line-height: 1.5;
37567
37827
  }
37568
- .cn-setup-step__note[data-v-44988d3d] {
37828
+ .cn-setup-step__note[data-v-130330d9] {
37569
37829
  margin: 0;
37570
37830
  font-size: 13px;
37571
37831
  color: var(--color-text-maxcontrast);
37572
37832
  }
37573
- .cn-setup-step__nav[data-v-44988d3d] {
37833
+ .cn-setup-step__nav[data-v-130330d9] {
37574
37834
  display: flex;
37575
37835
  justify-content: flex-end;
37576
37836
  gap: 8px;
37577
37837
  margin-top: 8px;
37578
37838
  }
37579
- .cn-setup-step__running[data-v-44988d3d] {
37839
+ .cn-setup-step__running[data-v-130330d9] {
37580
37840
  display: flex;
37581
37841
  align-items: center;
37582
37842
  justify-content: center;
@@ -37584,43 +37844,43 @@ to {
37584
37844
  padding: 24px 0;
37585
37845
  color: var(--color-text-maxcontrast);
37586
37846
  }
37587
- .cn-setup-load-result[data-v-44988d3d] {
37847
+ .cn-setup-load-result[data-v-130330d9] {
37588
37848
  margin: 0;
37589
37849
  font-size: var(--font-size-small, 13px);
37590
37850
  }
37591
- .cn-setup-load-result--success[data-v-44988d3d] {
37851
+ .cn-setup-load-result--success[data-v-130330d9] {
37592
37852
  color: var(--color-success-text, var(--color-success));
37593
37853
  }
37594
- .cn-setup-load-result--error[data-v-44988d3d] {
37854
+ .cn-setup-load-result--error[data-v-130330d9] {
37595
37855
  color: var(--color-error-text, var(--color-error));
37596
37856
  }
37597
- .cn-setup-field[data-v-44988d3d] {
37857
+ .cn-setup-field[data-v-130330d9] {
37598
37858
  display: flex;
37599
37859
  flex-direction: column;
37600
37860
  }
37601
- .cn-setup-summary[data-v-44988d3d] {
37861
+ .cn-setup-summary[data-v-130330d9] {
37602
37862
  list-style: none;
37603
37863
  padding: 0;
37604
37864
  margin: 0;
37605
37865
  }
37606
- .cn-setup-summary__item[data-v-44988d3d] {
37866
+ .cn-setup-summary__item[data-v-130330d9] {
37607
37867
  display: flex;
37608
37868
  align-items: center;
37609
37869
  gap: 8px;
37610
37870
  padding: 4px 0;
37611
37871
  color: var(--color-text-maxcontrast);
37612
37872
  }
37613
- .cn-setup-summary__item--done[data-v-44988d3d] {
37873
+ .cn-setup-summary__item--done[data-v-130330d9] {
37614
37874
  color: var(--color-main-text);
37615
37875
  }
37616
- .cn-setup-summary__mark[data-v-44988d3d] {
37876
+ .cn-setup-summary__mark[data-v-130330d9] {
37617
37877
  font-weight: bold;
37618
37878
  color: var(--color-success);
37619
37879
  }
37620
- .cn-setup-summary__label[data-v-44988d3d] {
37880
+ .cn-setup-summary__label[data-v-130330d9] {
37621
37881
  flex: 0 0 auto;
37622
37882
  }
37623
- .cn-setup-summary__value[data-v-44988d3d] {
37883
+ .cn-setup-summary__value[data-v-130330d9] {
37624
37884
  margin-inline-start: auto;
37625
37885
  font-weight: 600;
37626
37886
  color: var(--color-main-text);
@@ -37628,7 +37888,7 @@ to {
37628
37888
 
37629
37889
  /* An on-demand step that did not run says so quietly: it is a choice the
37630
37890
  user did not make, not a failure. */
37631
- .cn-setup-summary__item--not-run .cn-setup-summary__value[data-v-44988d3d] {
37891
+ .cn-setup-summary__item--not-run .cn-setup-summary__value[data-v-130330d9] {
37632
37892
  font-weight: normal;
37633
37893
  color: var(--color-text-maxcontrast);
37634
37894
  }
@@ -39351,132 +39611,6 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
39351
39611
  }
39352
39612
 
39353
39613
 
39354
- .cn-quick-filter-bar[data-v-ed2d2a38] {
39355
- display: flex;
39356
- flex-wrap: wrap;
39357
- align-items: center;
39358
- gap: 8px;
39359
- padding: 8px 12px;
39360
- border-bottom: 1px solid var(--color-border);
39361
- background: var(--color-main-background);
39362
- }
39363
- .cn-quick-filter-bar__tabs[data-v-ed2d2a38] {
39364
- display: flex;
39365
- flex-wrap: wrap;
39366
- align-items: center;
39367
- gap: 8px;
39368
- }
39369
-
39370
- /* Inline variant — bare strip for embedding inside another bar (e.g. the
39371
- CnActionsBar #filters slot), so it reads as a control beside the view toggle
39372
- rather than a separate bordered row. */
39373
- .cn-quick-filter-bar--inline[data-v-ed2d2a38] {
39374
- padding: 0;
39375
- border-bottom: none;
39376
- background: transparent;
39377
- }
39378
-
39379
- /* Dropdown variant — give the NcSelect a sensible minimum so multi-select
39380
- chips have room without stretching the whole bar. */
39381
- .cn-quick-filter-bar--dropdown[data-v-ed2d2a38] {
39382
- align-items: center;
39383
- }
39384
- .cn-quick-filter-bar__select[data-v-ed2d2a38] {
39385
- min-width: 220px;
39386
- }
39387
- .cn-quick-filter-bar__tab[data-v-ed2d2a38] {
39388
- display: inline-flex;
39389
- align-items: center;
39390
- gap: 6px;
39391
- padding: 4px 12px;
39392
- border: 1px solid var(--color-border);
39393
- border-radius: var(--border-radius-pill, 999px);
39394
- background: transparent;
39395
- color: var(--color-main-text);
39396
- font-size: 13px;
39397
- font-weight: 500;
39398
- cursor: pointer;
39399
- transition: background-color 120ms, color 120ms, border-color 120ms;
39400
- }
39401
- .cn-quick-filter-bar__tab[data-v-ed2d2a38]:hover,
39402
- .cn-quick-filter-bar__tab[data-v-ed2d2a38]:focus-visible {
39403
- background: var(--color-background-hover);
39404
- outline: none;
39405
- }
39406
- .cn-quick-filter-bar__tab--active[data-v-ed2d2a38] {
39407
- background: var(--color-primary-element, var(--color-primary, #4376fc));
39408
- color: var(--color-primary-element-text, #fff);
39409
- border-color: var(--color-primary-element, var(--color-primary, #4376fc));
39410
- }
39411
- .cn-quick-filter-bar__icon[data-v-ed2d2a38] {
39412
- display: inline-flex;
39413
- }
39414
- .cn-quick-filter-bar__label[data-v-ed2d2a38] {
39415
- line-height: 1;
39416
- }
39417
-
39418
- /* Inherits the chip's own text colour, so it stays readable on the active
39419
- (primary) fill as well as on the resting one. The count's text starts with
39420
- a space: the chip is a flex row, so the space is not drawn, but it keeps a
39421
- screen reader from reading label and count as one word. */
39422
- .cn-quick-filter-bar__count[data-v-ed2d2a38] {
39423
- min-width: 1.5em;
39424
- padding: 2px 6px;
39425
- border: 1px solid currentColor;
39426
- border-radius: var(--border-radius-pill, 10px);
39427
- font-size: 0.85em;
39428
- font-weight: 600;
39429
- line-height: 1;
39430
- text-align: center;
39431
- }
39432
-
39433
- /* NcPopover wraps its trigger in a plain `<div class="v-popper">`, which as a
39434
- block would drop the chip onto its own line under the strip. */
39435
- .cn-quick-filter-bar[data-v-ed2d2a38] > .v-popper {
39436
- display: inline-flex;
39437
- }
39438
-
39439
- /* The `⋯` glyph is the chip's whole content while no hidden lens is on, so the
39440
- pill tightens to a circle rather than sitting as a wide empty capsule. */
39441
- .cn-quick-filter-bar__more[data-v-ed2d2a38] {
39442
- gap: 4px;
39443
- }
39444
- .cn-quick-filter-bar__more--icon-only[data-v-ed2d2a38] {
39445
- padding: 4px 8px;
39446
- }
39447
- .cn-quick-filter-bar__more[aria-expanded='true'][data-v-ed2d2a38] {
39448
- border-color: var(--color-primary-element, var(--color-primary, #4376fc));
39449
- }
39450
- .cn-quick-filter-bar__more-panel[data-v-ed2d2a38] {
39451
- padding: 10px 12px 12px;
39452
- max-width: 280px;
39453
- }
39454
- .cn-quick-filter-bar__more-heading[data-v-ed2d2a38] {
39455
- margin: 0 0 8px;
39456
- font-size: 12px;
39457
- font-weight: 600;
39458
- color: var(--color-text-maxcontrast);
39459
- }
39460
-
39461
- /* The hidden lenses stay chips — the panel is more of the strip, not a
39462
- different control that happens to hold the same filters. */
39463
- .cn-quick-filter-bar__more-list[data-v-ed2d2a38] {
39464
- display: flex;
39465
- flex-wrap: wrap;
39466
- gap: 8px;
39467
- max-height: 320px;
39468
- overflow-y: auto;
39469
- }
39470
- .cn-quick-filter-bar__more-item[data-v-ed2d2a38] {
39471
- max-width: 100%;
39472
- }
39473
- .cn-quick-filter-bar__more-item .cn-quick-filter-bar__label[data-v-ed2d2a38] {
39474
- overflow: hidden;
39475
- text-overflow: ellipsis;
39476
- white-space: nowrap;
39477
- }
39478
-
39479
-
39480
39614
  .cn-view-presentation[data-v-36149399] {
39481
39615
  display: flex;
39482
39616
  flex-direction: column;
@@ -40940,7 +41074,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
40940
41074
  }
40941
41075
 
40942
41076
 
40943
- .cn-dashboard-page[data-v-54c2437f] {
41077
+ .cn-dashboard-page[data-v-5b9ebdc3] {
40944
41078
  padding: 20px;
40945
41079
  max-width: 1800px;
40946
41080
  /* Centre the leftover space once the cap engages, so a wide screen shows
@@ -40954,7 +41088,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
40954
41088
  overflow-y: auto;
40955
41089
  box-sizing: border-box;
40956
41090
  }
40957
- .cn-dashboard-page__header[data-v-54c2437f] {
41091
+ .cn-dashboard-page__header[data-v-5b9ebdc3] {
40958
41092
  display: flex;
40959
41093
  justify-content: space-between;
40960
41094
  align-items: flex-start;
@@ -40966,21 +41100,21 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
40966
41100
  room. Only the HEADER shifts right — body widgets keep full width. */
40967
41101
  padding-inline-start: 56px;
40968
41102
  }
40969
- .cn-dashboard-page__header-left[data-v-54c2437f] {
41103
+ .cn-dashboard-page__header-left[data-v-5b9ebdc3] {
40970
41104
  min-width: 0;
40971
41105
  }
40972
- .cn-dashboard-page__title-row[data-v-54c2437f] {
41106
+ .cn-dashboard-page__title-row[data-v-5b9ebdc3] {
40973
41107
  display: flex;
40974
41108
  align-items: center;
40975
41109
  flex-wrap: wrap;
40976
41110
  gap: 12px;
40977
41111
  }
40978
- .cn-dashboard-page__title[data-v-54c2437f] {
41112
+ .cn-dashboard-page__title[data-v-5b9ebdc3] {
40979
41113
  margin: 0;
40980
41114
  font-size: 20px;
40981
41115
  font-weight: 700;
40982
41116
  }
40983
- .cn-dashboard-page__description[data-v-54c2437f] {
41117
+ .cn-dashboard-page__description[data-v-5b9ebdc3] {
40984
41118
  margin: 4px 0 0;
40985
41119
  font-size: 14px;
40986
41120
  color: var(--color-text-maxcontrast);
@@ -40988,19 +41122,19 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
40988
41122
 
40989
41123
  /* Board look (screens-dashboard-parity): h1 28/700, a 15px grey subtitle 6px
40990
41124
  under it, and 40px buttons with a 10px gap. */
40991
- .cn-dashboard-page--board .cn-dashboard-page__title[data-v-54c2437f] {
41125
+ .cn-dashboard-page--board .cn-dashboard-page__title[data-v-5b9ebdc3] {
40992
41126
  font-size: 28px;
40993
41127
  font-weight: 700;
40994
41128
  line-height: 1.2;
40995
41129
  }
40996
- .cn-dashboard-page--board .cn-dashboard-page__description[data-v-54c2437f] {
41130
+ .cn-dashboard-page--board .cn-dashboard-page__description[data-v-5b9ebdc3] {
40997
41131
  margin: 6px 0 0;
40998
41132
  font-size: 15px;
40999
41133
  }
41000
- .cn-dashboard-page--board .cn-dashboard-page__header-actions[data-v-54c2437f] {
41134
+ .cn-dashboard-page--board .cn-dashboard-page__header-actions[data-v-5b9ebdc3] {
41001
41135
  gap: 10px;
41002
41136
  }
41003
- .cn-dashboard-page--board .cn-dashboard-page__header-actions[data-v-54c2437f] .button-vue {
41137
+ .cn-dashboard-page--board .cn-dashboard-page__header-actions[data-v-5b9ebdc3] .button-vue {
41004
41138
  min-height: var(--cn-board-control-height, 40px);
41005
41139
  height: var(--cn-board-control-height, 40px);
41006
41140
  }
@@ -41008,17 +41142,17 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41008
41142
  /* The switch row under the header (screens-dashboard-greeting-header): the
41009
41143
  view switch left, the `viewLinks` pills right (DqMijnWerk: pills 34px high,
41010
41144
  radius 17, 13px/600, a 14px icon, primary light on primary deep). */
41011
- .cn-dashboard-page__switch-row[data-v-54c2437f] {
41145
+ .cn-dashboard-page__switch-row[data-v-5b9ebdc3] {
41012
41146
  display: flex;
41013
41147
  flex-wrap: wrap;
41014
41148
  align-items: center;
41015
41149
  gap: 10px;
41016
41150
  margin-bottom: var(--cn-board-section-gap, 20px);
41017
41151
  }
41018
- .cn-dashboard-page__switch-row-spacer[data-v-54c2437f] {
41152
+ .cn-dashboard-page__switch-row-spacer[data-v-5b9ebdc3] {
41019
41153
  flex: 1 1 auto;
41020
41154
  }
41021
- .cn-dashboard-page__view-link[data-v-54c2437f] {
41155
+ .cn-dashboard-page__view-link[data-v-5b9ebdc3] {
41022
41156
  display: inline-flex;
41023
41157
  align-items: center;
41024
41158
  gap: 6px;
@@ -41032,37 +41166,37 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41032
41166
  white-space: nowrap;
41033
41167
  text-decoration: none !important;
41034
41168
  }
41035
- .cn-dashboard-page__view-link[data-v-54c2437f]:hover {
41169
+ .cn-dashboard-page__view-link[data-v-5b9ebdc3]:hover {
41036
41170
  background: var(--color-primary-element-light-hover, var(--color-primary-element-light));
41037
41171
  }
41038
- .cn-dashboard-page__view-link[data-v-54c2437f]:focus-visible {
41172
+ .cn-dashboard-page__view-link[data-v-5b9ebdc3]:focus-visible {
41039
41173
  outline: 2px solid var(--color-main-text);
41040
41174
  outline-offset: 2px;
41041
41175
  }
41042
- .cn-dashboard-page__view-link-icon[data-v-54c2437f] {
41176
+ .cn-dashboard-page__view-link-icon[data-v-5b9ebdc3] {
41043
41177
  display: inline-flex;
41044
41178
  }
41045
41179
 
41046
41180
  /* The period group, in a row of its own between the header and the KPI row. */
41047
- .cn-dashboard-page__date-range--segmented[data-v-54c2437f] {
41181
+ .cn-dashboard-page__date-range--segmented[data-v-5b9ebdc3] {
41048
41182
  margin-bottom: 16px;
41049
41183
  }
41050
41184
 
41051
41185
  /* The period group at the end of the description line. */
41052
- .cn-dashboard-page__description--with-period[data-v-54c2437f] {
41186
+ .cn-dashboard-page__description--with-period[data-v-5b9ebdc3] {
41053
41187
  align-items: center;
41054
41188
  display: flex;
41055
41189
  flex-wrap: wrap;
41056
41190
  gap: 8px;
41057
41191
  }
41058
- .cn-dashboard-page__date-segmented[data-v-54c2437f] {
41192
+ .cn-dashboard-page__date-segmented[data-v-5b9ebdc3] {
41059
41193
  display: flex;
41060
41194
  align-items: center;
41061
41195
  gap: 8px;
41062
41196
  }
41063
41197
 
41064
41198
  /* The KPI row above the grid: tiles are cells of the auto-fit grid. */
41065
- .cn-dashboard-page__kpi-row[data-v-54c2437f] {
41199
+ .cn-dashboard-page__kpi-row[data-v-5b9ebdc3] {
41066
41200
  margin-bottom: var(--cn-board-section-gap, 16px);
41067
41201
  }
41068
41202
 
@@ -41070,15 +41204,15 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41070
41204
  the cards started a margin to the right of the KPI row and the header. The
41071
41205
  grid reaches out by that margin, so the card edges line up with the page's
41072
41206
  (dashboard-grid-flush). */
41073
- .cn-dashboard-page--board[data-v-54c2437f] .cn-dashboard-grid {
41207
+ .cn-dashboard-page--board[data-v-5b9ebdc3] .cn-dashboard-grid {
41074
41208
  width: auto;
41075
41209
  margin-inline: calc(-1 * var(--cn-dashboard-grid-margin, 12px));
41076
41210
  }
41077
- .cn-dashboard-page__kpi-cell[data-v-54c2437f] {
41211
+ .cn-dashboard-page__kpi-cell[data-v-5b9ebdc3] {
41078
41212
  display: flex;
41079
41213
  min-width: 0;
41080
41214
  }
41081
- .cn-dashboard-page__kpi-cell[data-v-54c2437f] > * {
41215
+ .cn-dashboard-page__kpi-cell[data-v-5b9ebdc3] > * {
41082
41216
  flex: 1 1 auto;
41083
41217
  min-width: 0;
41084
41218
  }
@@ -41091,7 +41225,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41091
41225
  scoped chip rules then silently don't match and the chip collapses into
41092
41226
  NcActions' ~30px icon slot (text wraps to "Last / 30 / days"). The
41093
41227
  data-testid is stable across chunks, so those rules match regardless. */
41094
- .cn-dashboard-page__header-actions[data-v-54c2437f] {
41228
+ .cn-dashboard-page__header-actions[data-v-5b9ebdc3] {
41095
41229
  display: flex;
41096
41230
  align-items: center;
41097
41231
  gap: 8px;
@@ -41107,19 +41241,19 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41107
41241
 
41108
41242
  /* Date-range header band. Kept compact so it doesn't open a tall gap
41109
41243
  above the grid; the pills variant is a single tidy toggle row. */
41110
- .cn-dashboard-page__date-range[data-v-54c2437f] {
41244
+ .cn-dashboard-page__date-range[data-v-5b9ebdc3] {
41111
41245
  margin-bottom: 12px;
41112
41246
  }
41113
- .cn-dashboard-page__date-range--pills[data-v-54c2437f] {
41247
+ .cn-dashboard-page__date-range--pills[data-v-5b9ebdc3] {
41114
41248
  margin-bottom: 8px;
41115
41249
  }
41116
- .cn-dashboard-page__date-pills[data-v-54c2437f] {
41250
+ .cn-dashboard-page__date-pills[data-v-5b9ebdc3] {
41117
41251
  display: flex;
41118
41252
  align-items: center;
41119
41253
  flex-wrap: wrap;
41120
41254
  gap: 6px;
41121
41255
  }
41122
- .cn-dashboard-page__date-pill[data-v-54c2437f] {
41256
+ .cn-dashboard-page__date-pill[data-v-5b9ebdc3] {
41123
41257
  display: inline-flex;
41124
41258
  align-items: center;
41125
41259
  padding: 5px 14px;
@@ -41134,77 +41268,77 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41134
41268
  cursor: pointer;
41135
41269
  transition: background-color 100ms ease, border-color 100ms ease, color 100ms ease;
41136
41270
  }
41137
- .cn-dashboard-page__date-pill[data-v-54c2437f]:hover {
41271
+ .cn-dashboard-page__date-pill[data-v-5b9ebdc3]:hover {
41138
41272
  background: var(--color-background-hover);
41139
41273
  }
41140
- .cn-dashboard-page__date-pill[data-v-54c2437f]:focus-visible {
41274
+ .cn-dashboard-page__date-pill[data-v-5b9ebdc3]:focus-visible {
41141
41275
  outline: 2px solid var(--color-primary-element);
41142
41276
  outline-offset: 2px;
41143
41277
  }
41144
- .cn-dashboard-page__date-pill--active[data-v-54c2437f] {
41278
+ .cn-dashboard-page__date-pill--active[data-v-5b9ebdc3] {
41145
41279
  background: var(--color-primary-element);
41146
41280
  border-color: var(--color-primary-element);
41147
41281
  color: var(--color-primary-element-text);
41148
41282
  }
41149
- .cn-dashboard-page__date-pill--active[data-v-54c2437f]:hover {
41283
+ .cn-dashboard-page__date-pill--active[data-v-5b9ebdc3]:hover {
41150
41284
  background: var(--color-primary-element-hover, var(--color-primary-element));
41151
41285
  }
41152
41286
 
41153
41287
  /* The custom-range pill is de-emphasised — dashed outline, muted text —
41154
41288
  so it reads as an escape hatch rather than a primary option. */
41155
- .cn-dashboard-page__date-pill--custom[data-v-54c2437f] {
41289
+ .cn-dashboard-page__date-pill--custom[data-v-5b9ebdc3] {
41156
41290
  border-style: dashed;
41157
41291
  color: var(--color-text-maxcontrast);
41158
41292
  }
41159
- .cn-dashboard-page__date-pill-custom[data-v-54c2437f] .action-item__menutoggle {
41293
+ .cn-dashboard-page__date-pill-custom[data-v-5b9ebdc3] .action-item__menutoggle {
41160
41294
  min-width: 0;
41161
41295
  min-height: 0;
41162
41296
  padding: 0;
41163
41297
  background: transparent;
41164
41298
  border: none;
41165
41299
  }
41166
- .cn-dashboard-page__date-pill-custom[data-v-54c2437f] .button-vue,
41167
- .cn-dashboard-page__date-pill-custom[data-v-54c2437f] .button-vue__wrapper,
41168
- .cn-dashboard-page__date-pill-custom[data-v-54c2437f] .button-vue__icon {
41300
+ .cn-dashboard-page__date-pill-custom[data-v-5b9ebdc3] .button-vue,
41301
+ .cn-dashboard-page__date-pill-custom[data-v-5b9ebdc3] .button-vue__wrapper,
41302
+ .cn-dashboard-page__date-pill-custom[data-v-5b9ebdc3] .button-vue__icon {
41169
41303
  width: auto !important;
41170
41304
  min-width: 0 !important;
41171
41305
  overflow: visible !important;
41172
41306
  }
41173
- .cn-dashboard-page__empty[data-v-54c2437f] {
41307
+ .cn-dashboard-page__empty[data-v-5b9ebdc3] {
41174
41308
  padding: 60px 20px;
41175
41309
  }
41176
41310
 
41177
41311
  /* The page's view switch on a page without a header row: at the end of its
41178
41312
  own row, above the grids, where the header would have put it. */
41179
- .cn-dashboard-page__view-switch[data-v-54c2437f] {
41313
+ .cn-dashboard-page__view-switch[data-v-5b9ebdc3] {
41180
41314
  display: flex;
41181
41315
  justify-content: flex-end;
41182
41316
  margin-bottom: 12px;
41183
41317
  }
41184
41318
 
41185
41319
  /* A view the switch shows with nothing to draw. */
41186
- .cn-page-view-region--empty[data-v-54c2437f] {
41320
+ .cn-page-view-region--empty[data-v-5b9ebdc3] {
41187
41321
  padding: 40px 20px;
41188
41322
  }
41189
- .cn-dashboard-page__page-filters[data-v-54c2437f] {
41323
+ .cn-dashboard-page__page-filters[data-v-5b9ebdc3] {
41190
41324
  display: flex;
41191
41325
  flex-wrap: wrap;
41192
41326
  gap: 16px;
41193
41327
  align-items: flex-end;
41194
41328
  margin-bottom: 12px;
41195
41329
  }
41196
- .cn-dashboard-page__page-filter[data-v-54c2437f] {
41330
+ .cn-dashboard-page__page-filter[data-v-5b9ebdc3] {
41197
41331
  display: flex;
41198
41332
  flex-direction: column;
41199
41333
  gap: 4px;
41200
41334
  min-width: 200px;
41201
41335
  }
41202
- .cn-dashboard-page__page-filter-label[data-v-54c2437f] {
41336
+ .cn-dashboard-page__page-filter-label[data-v-5b9ebdc3] {
41203
41337
  font-size: 0.85em;
41204
41338
  font-weight: 600;
41205
41339
  color: var(--color-text-maxcontrast);
41206
41340
  }
41207
- .cn-dashboard-page__widget-edit[data-v-54c2437f] {
41341
+ .cn-dashboard-page__widget-edit[data-v-5b9ebdc3] {
41208
41342
  position: absolute;
41209
41343
  top: 4px;
41210
41344
  inset-inline-end: 4px;
@@ -41223,8 +41357,8 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41223
41357
  and centre the card. */
41224
41358
  /* `safe` centre so an overflowing tile does not spill out of the top, where
41225
41359
  flex overflow cannot be scrolled back to. Same as detail-page.css. */
41226
- .cn-dashboard-page__card-fit[data-v-54c2437f] .cn-widget-wrapper__content,
41227
- .cn-dashboard-page__card-fit.cn-widget-wrapper--flush[data-v-54c2437f] .cn-widget-wrapper__content {
41360
+ .cn-dashboard-page__card-fit[data-v-5b9ebdc3] .cn-widget-wrapper__content,
41361
+ .cn-dashboard-page__card-fit.cn-widget-wrapper--flush[data-v-5b9ebdc3] .cn-widget-wrapper__content {
41228
41362
  overflow: hidden;
41229
41363
  display: flex;
41230
41364
  flex-direction: column;
@@ -41240,7 +41374,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41240
41374
  shows up as a scrollbar the user has to drag to see the whole graph. Same
41241
41375
  shape as the card-fit rule above, minus the padding: chart tiles render
41242
41376
  `flush`, and apexcharts already draws its own margins. */
41243
- .cn-dashboard-page__chart-fit[data-v-54c2437f] .cn-widget-wrapper__content {
41377
+ .cn-dashboard-page__chart-fit[data-v-5b9ebdc3] .cn-widget-wrapper__content {
41244
41378
  overflow: hidden;
41245
41379
  display: flex;
41246
41380
  flex-direction: column;
@@ -41250,13 +41384,13 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41250
41384
  /* Card content (stat / gauge / delta) must fit the tile width: let the
41251
41385
  widget shrink and its value/label truncate instead of pushing past the
41252
41386
  tile edge (the horizontal clip on long currency values). */
41253
- .cn-dashboard-page__card-fit[data-v-54c2437f] .cn-stat-widget,
41254
- .cn-dashboard-page__card-fit[data-v-54c2437f] .cn-gauge-widget,
41255
- .cn-dashboard-page__card-fit[data-v-54c2437f] .cn-delta-widget {
41387
+ .cn-dashboard-page__card-fit[data-v-5b9ebdc3] .cn-stat-widget,
41388
+ .cn-dashboard-page__card-fit[data-v-5b9ebdc3] .cn-gauge-widget,
41389
+ .cn-dashboard-page__card-fit[data-v-5b9ebdc3] .cn-delta-widget {
41256
41390
  min-width: 0;
41257
41391
  max-width: 100%;
41258
41392
  }
41259
- .cn-dashboard-page__unknown[data-v-54c2437f] {
41393
+ .cn-dashboard-page__unknown[data-v-5b9ebdc3] {
41260
41394
  display: flex;
41261
41395
  align-items: center;
41262
41396
  justify-content: center;
@@ -41267,31 +41401,31 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41267
41401
  }
41268
41402
 
41269
41403
  /* widget-ref content items */
41270
- .cn-dashboard-page__content[data-v-54c2437f] {
41404
+ .cn-dashboard-page__content[data-v-5b9ebdc3] {
41271
41405
  display: flex;
41272
41406
  flex-direction: column;
41273
41407
  gap: 16px;
41274
41408
  }
41275
- .cn-dashboard-page__content-item[data-v-54c2437f] {
41409
+ .cn-dashboard-page__content-item[data-v-5b9ebdc3] {
41276
41410
  width: 100%;
41277
41411
  }
41278
41412
  /* On a phone (screens-dashboard-phone) the touch targets of a board dashboard
41279
41413
  are 44px: the widget Actions menu and the KPI tiles. */
41280
41414
  @media (max-width: 640px) {
41281
- .cn-dashboard-page--board[data-v-54c2437f] .cn-widget-wrapper__actions .action-item__menutoggle,
41282
- .cn-dashboard-page--board[data-v-54c2437f] .cn-widget-wrapper__actions .button-vue {
41415
+ .cn-dashboard-page--board[data-v-5b9ebdc3] .cn-widget-wrapper__actions .action-item__menutoggle,
41416
+ .cn-dashboard-page--board[data-v-5b9ebdc3] .cn-widget-wrapper__actions .button-vue {
41283
41417
  min-height: 44px;
41284
41418
  }
41285
- .cn-dashboard-page--board .cn-dashboard-page__kpi-cell[data-v-54c2437f] {
41419
+ .cn-dashboard-page--board .cn-dashboard-page__kpi-cell[data-v-5b9ebdc3] {
41286
41420
  min-height: 44px;
41287
41421
  }
41288
41422
 
41289
41423
  /* The widget Actions menu shows its icon only, so the card title keeps
41290
41424
  the room; the name stays for assistive tech. */
41291
- .cn-dashboard-page--board[data-v-54c2437f] .cn-widget-wrapper__actions .action-item__menutoggle {
41425
+ .cn-dashboard-page--board[data-v-5b9ebdc3] .cn-widget-wrapper__actions .action-item__menutoggle {
41292
41426
  min-width: 44px;
41293
41427
  }
41294
- .cn-dashboard-page--board[data-v-54c2437f] .cn-widget-wrapper__actions .action-item__menutoggle .button-vue__text {
41428
+ .cn-dashboard-page--board[data-v-5b9ebdc3] .cn-widget-wrapper__actions .action-item__menutoggle .button-vue__text {
41295
41429
  position: absolute;
41296
41430
  width: 1px;
41297
41431
  height: 1px;
@@ -41303,7 +41437,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41303
41437
 
41304
41438
  /* What a registry widget reports for its card header (`header` event): the
41305
41439
  note beside the link ("3 in total") and one action, as on a detail page. */
41306
- .cn-dashboard-page__widget-count[data-v-54c2437f] {
41440
+ .cn-dashboard-page__widget-count[data-v-5b9ebdc3] {
41307
41441
  align-self: center;
41308
41442
  padding: 1px 8px;
41309
41443
  border-radius: 10px;
@@ -41312,13 +41446,13 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41312
41446
  font-size: 13px;
41313
41447
  font-weight: 600;
41314
41448
  }
41315
- .cn-dashboard-page__widget-note[data-v-54c2437f] {
41449
+ .cn-dashboard-page__widget-note[data-v-5b9ebdc3] {
41316
41450
  align-self: center;
41317
41451
  color: var(--color-text-maxcontrast);
41318
41452
  font-size: 14px;
41319
41453
  white-space: nowrap;
41320
41454
  }
41321
- .cn-dashboard-page__widget-action[data-v-54c2437f] {
41455
+ .cn-dashboard-page__widget-action[data-v-5b9ebdc3] {
41322
41456
  display: inline-flex;
41323
41457
  align-items: center;
41324
41458
  align-self: center;
@@ -41334,7 +41468,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41334
41468
  white-space: nowrap;
41335
41469
  cursor: pointer;
41336
41470
  }
41337
- .cn-dashboard-page__widget-action[data-v-54c2437f]:focus-visible {
41471
+ .cn-dashboard-page__widget-action[data-v-5b9ebdc3]:focus-visible {
41338
41472
  outline: 2px solid var(--color-primary-element);
41339
41473
  outline-offset: 2px;
41340
41474
  }