@conduction/nextcloud-vue 2.93.0 → 2.95.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 (162) hide show
  1. package/dist/esm/components/CnActionsMenu/CnActionsMenu.vue2.js +1 -1
  2. package/dist/esm/components/CnActionsMenu/CnActionsMenu.vue2.js.map +1 -1
  3. package/dist/esm/components/CnActionsMenu/CnActionsMenu.vue3.js +2 -1
  4. package/dist/esm/components/CnActionsMenu/CnActionsMenu.vue3.js.map +1 -1
  5. package/dist/esm/components/CnAdminSettingsShell/CnAdminSettingsShell.vue.js +1 -1
  6. package/dist/esm/components/CnAdminSettingsShell/CnAdminSettingsShell.vue2.js +28 -8
  7. package/dist/esm/components/CnAdminSettingsShell/CnAdminSettingsShell.vue2.js.map +1 -1
  8. package/dist/esm/components/CnAdminSettingsShell/CnAdminSettingsShell.vue3.js +37 -2
  9. package/dist/esm/components/CnAdminSettingsShell/CnAdminSettingsShell.vue3.js.map +1 -1
  10. package/dist/esm/components/CnAppRoot/CnAppRoot.vue2.js +46 -28
  11. package/dist/esm/components/CnAppRoot/CnAppRoot.vue2.js.map +1 -1
  12. package/dist/esm/components/CnAppRoot/CnAppRoot.vue3.js +17 -10
  13. package/dist/esm/components/CnAppRoot/CnAppRoot.vue3.js.map +1 -1
  14. package/dist/esm/components/CnBrandBar/CnBrandBar.vue2.js.map +1 -1
  15. package/dist/esm/components/CnBrandBar/CnBrandBar.vue3.js.map +1 -1
  16. package/dist/esm/components/CnCountdownWidget/CnCountdownWidget.vue.js +1 -1
  17. package/dist/esm/components/CnCountdownWidget/CnCountdownWidget.vue2.js +139 -3
  18. package/dist/esm/components/CnCountdownWidget/CnCountdownWidget.vue2.js.map +1 -1
  19. package/dist/esm/components/CnCountdownWidget/CnCountdownWidget.vue3.js +60 -12
  20. package/dist/esm/components/CnCountdownWidget/CnCountdownWidget.vue3.js.map +1 -1
  21. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue.js +1 -1
  22. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js +91 -36
  23. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js.map +1 -1
  24. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js +115 -72
  25. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js.map +1 -1
  26. package/dist/esm/components/CnDataTable/CnDataTable.vue2.js +32 -3
  27. package/dist/esm/components/CnDataTable/CnDataTable.vue2.js.map +1 -1
  28. package/dist/esm/components/CnDataTable/CnDataTable.vue3.js +7 -7
  29. package/dist/esm/components/CnDataTable/CnDataTable.vue3.js.map +1 -1
  30. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js +56 -16
  31. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js.map +1 -1
  32. package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js.map +1 -1
  33. package/dist/esm/components/CnDeviceFramesWidget/CnDeviceFramesWidget.vue.js +9 -0
  34. package/dist/esm/components/CnDeviceFramesWidget/CnDeviceFramesWidget.vue.js.map +1 -0
  35. package/dist/esm/components/CnDeviceFramesWidget/CnDeviceFramesWidget.vue2.js +240 -0
  36. package/dist/esm/components/CnDeviceFramesWidget/CnDeviceFramesWidget.vue2.js.map +1 -0
  37. package/dist/esm/components/CnDeviceFramesWidget/CnDeviceFramesWidget.vue3.js +65 -0
  38. package/dist/esm/components/CnDeviceFramesWidget/CnDeviceFramesWidget.vue3.js.map +1 -0
  39. package/dist/esm/components/CnDeviceFramesWidget/index.js +30 -0
  40. package/dist/esm/components/CnDeviceFramesWidget/index.js.map +1 -0
  41. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue.js +1 -1
  42. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue2.js +17 -1
  43. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue2.js.map +1 -1
  44. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue3.js +30 -31
  45. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue3.js.map +1 -1
  46. package/dist/esm/components/CnHeaderSearchLabel/CnHeaderSearchLabel.vue.js +6 -0
  47. package/dist/esm/components/CnHeaderSearchLabel/CnHeaderSearchLabel.vue.js.map +1 -0
  48. package/dist/esm/components/CnHeaderSearchLabel/CnHeaderSearchLabel.vue2.js +90 -0
  49. package/dist/esm/components/CnHeaderSearchLabel/CnHeaderSearchLabel.vue2.js.map +1 -0
  50. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +141 -7
  51. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  52. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +5 -2
  53. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  54. package/dist/esm/components/CnPageHeader/CnHeaderTrail.vue.js +8 -0
  55. package/dist/esm/components/CnPageHeader/CnHeaderTrail.vue.js.map +1 -0
  56. package/dist/esm/components/CnPageHeader/CnHeaderTrail.vue2.js +114 -0
  57. package/dist/esm/components/CnPageHeader/CnHeaderTrail.vue2.js.map +1 -0
  58. package/dist/esm/components/CnPageHeader/CnHeaderTrail.vue3.js +45 -0
  59. package/dist/esm/components/CnPageHeader/CnHeaderTrail.vue3.js.map +1 -0
  60. package/dist/esm/components/CnPageHeader/CnPageHeader.vue2.js +38 -2
  61. package/dist/esm/components/CnPageHeader/CnPageHeader.vue2.js.map +1 -1
  62. package/dist/esm/components/CnPageHeader/CnPageHeader.vue3.js +12 -2
  63. package/dist/esm/components/CnPageHeader/CnPageHeader.vue3.js.map +1 -1
  64. package/dist/esm/components/CnPagination/CnPagination.vue2.js.map +1 -1
  65. package/dist/esm/components/CnPagination/CnPagination.vue3.js +56 -51
  66. package/dist/esm/components/CnPagination/CnPagination.vue3.js.map +1 -1
  67. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue.js +1 -1
  68. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js +51 -4
  69. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js.map +1 -1
  70. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js +20 -2
  71. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js.map +1 -1
  72. package/dist/esm/components/CnRegisterMapping/CnRegisterMapping.vue.js +1 -1
  73. package/dist/esm/components/CnRegisterMapping/CnRegisterMapping.vue2.js +230 -25
  74. package/dist/esm/components/CnRegisterMapping/CnRegisterMapping.vue2.js.map +1 -1
  75. package/dist/esm/components/CnRegisterMapping/CnRegisterMapping.vue3.js +447 -221
  76. package/dist/esm/components/CnRegisterMapping/CnRegisterMapping.vue3.js.map +1 -1
  77. package/dist/esm/components/CnSettingsPage/CnSettingsPage.vue.js +1 -1
  78. package/dist/esm/components/CnSettingsPage/CnSettingsPage.vue2.js +24 -0
  79. package/dist/esm/components/CnSettingsPage/CnSettingsPage.vue2.js.map +1 -1
  80. package/dist/esm/components/CnSettingsPage/CnSettingsPage.vue3.js +3 -1
  81. package/dist/esm/components/CnSettingsPage/CnSettingsPage.vue3.js.map +1 -1
  82. package/dist/esm/components/CnTabs/CnTabs.vue.js +1 -1
  83. package/dist/esm/components/CnTabs/CnTabs.vue2.js +39 -2
  84. package/dist/esm/components/CnTabs/CnTabs.vue2.js.map +1 -1
  85. package/dist/esm/components/CnTabs/CnTabs.vue3.js.map +1 -1
  86. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue.js +1 -1
  87. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js +85 -8
  88. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js.map +1 -1
  89. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue3.js +37 -9
  90. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue3.js.map +1 -1
  91. package/dist/esm/components/CnVersionInfoCard/CnVersionInfoCard.vue.js +1 -1
  92. package/dist/esm/components/CnVersionInfoCard/CnVersionInfoCard.vue2.js.map +1 -1
  93. package/dist/esm/components/CnVersionInfoCard/CnVersionInfoCard.vue3.js +4 -3
  94. package/dist/esm/components/CnVersionInfoCard/CnVersionInfoCard.vue3.js.map +1 -1
  95. package/dist/esm/components/CnWidgetGrid/registerDashboardWidgets.js +1 -0
  96. package/dist/esm/components/CnWidgetGrid/registerDashboardWidgets.js.map +1 -1
  97. package/dist/esm/components/CnWidgetWrapper/CnWidgetWrapper.vue.js +1 -1
  98. package/dist/esm/components/CnWidgetWrapper/CnWidgetWrapper.vue2.js +20 -0
  99. package/dist/esm/components/CnWidgetWrapper/CnWidgetWrapper.vue2.js.map +1 -1
  100. package/dist/esm/components/CnWidgetWrapper/CnWidgetWrapper.vue3.js +31 -20
  101. package/dist/esm/components/CnWidgetWrapper/CnWidgetWrapper.vue3.js.map +1 -1
  102. package/dist/esm/composables/indexSources.js +9 -0
  103. package/dist/esm/composables/indexSources.js.map +1 -1
  104. package/dist/esm/index.js +1 -0
  105. package/dist/esm/index.js.map +1 -1
  106. package/dist/esm/l10n/en.json.js +18 -1
  107. package/dist/esm/l10n/en.json.js.map +1 -1
  108. package/dist/esm/l10n/nl.json.js +18 -1
  109. package/dist/esm/l10n/nl.json.js.map +1 -1
  110. package/dist/esm/library-style.js +1 -1
  111. package/dist/esm/nextcloud-vue.css +712 -330
  112. package/dist/esm/utils/dueText.js +49 -8
  113. package/dist/esm/utils/dueText.js.map +1 -1
  114. package/dist/esm/utils/libraryWidgetKeys.js +1 -0
  115. package/dist/esm/utils/libraryWidgetKeys.js.map +1 -1
  116. package/dist/esm/utils/validateManifestV2.compiled.js +3 -3
  117. package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
  118. package/dist/nextcloud-vue.cjs.js +8275 -6302
  119. package/dist/nextcloud-vue.cjs.js.map +2 -2
  120. package/dist/nextcloud-vue.css +712 -330
  121. package/l10n/en.json +18 -1
  122. package/l10n/nl.json +18 -1
  123. package/package.json +1 -1
  124. package/src/components/CnActionsMenu/CnActionsMenu.vue +3 -1
  125. package/src/components/CnAdminSettingsShell/CnAdminSettingsShell.vue +39 -1
  126. package/src/components/CnAppRoot/CnAppRoot.vue +20 -0
  127. package/src/components/CnBrandBar/CnBrandBar.vue +5 -4
  128. package/src/components/CnCountdownWidget/CnCountdownWidget.vue +222 -6
  129. package/src/components/CnDashboardPage/CnDashboardPage.vue +96 -2
  130. package/src/components/CnDataTable/CnDataTable.md +1 -0
  131. package/src/components/CnDataTable/CnDataTable.vue +39 -10
  132. package/src/components/CnDetailPage/CnDetailPage.vue +55 -15
  133. package/src/components/CnDeviceFramesWidget/CnDeviceFramesWidget.vue +360 -0
  134. package/src/components/CnDeviceFramesWidget/index.js +29 -0
  135. package/src/components/CnFactsWidget/CnFactsWidget.vue +46 -2
  136. package/src/components/CnHeaderSearchLabel/CnHeaderSearchLabel.vue +107 -0
  137. package/src/components/CnIndexPage/CnIndexPage.vue +144 -7
  138. package/src/components/CnPageHeader/CnHeaderTrail.vue +140 -0
  139. package/src/components/CnPageHeader/CnPageHeader.md +11 -0
  140. package/src/components/CnPageHeader/CnPageHeader.vue +42 -0
  141. package/src/components/CnPagination/CnPagination.vue +10 -2
  142. package/src/components/CnRecordListWidget/CnRecordListWidget.vue +84 -4
  143. package/src/components/CnRegisterMapping/CnRegisterMapping.md +10 -0
  144. package/src/components/CnRegisterMapping/CnRegisterMapping.vue +511 -28
  145. package/src/components/CnSettingsPage/CnSettingsPage.vue +26 -0
  146. package/src/components/CnTabs/CnTabs.vue +39 -2
  147. package/src/components/CnTabsWidget/CnTabsWidget.vue +106 -13
  148. package/src/components/CnVersionInfoCard/CnVersionInfoCard.vue +4 -3
  149. package/src/components/CnWidgetGrid/registerDashboardWidgets.js +1 -0
  150. package/src/components/CnWidgetWrapper/CnWidgetWrapper.md +8 -0
  151. package/src/components/CnWidgetWrapper/CnWidgetWrapper.vue +31 -2
  152. package/src/components/index.js +1 -0
  153. package/src/composables/indexSources.js +9 -0
  154. package/src/css/dialog.css +14 -0
  155. package/src/css/look-board-index.css +27 -1
  156. package/src/css/look-board.css +27 -0
  157. package/src/css/page-header.css +16 -0
  158. package/src/index.js +1 -0
  159. package/src/schemas/app-manifest-v2.schema.json +27 -15
  160. package/src/utils/dueText.js +49 -8
  161. package/src/utils/libraryWidgetKeys.js +1 -0
  162. package/src/utils/validateManifestV2.compiled.js +3 -3
@@ -691,6 +691,33 @@
691
691
  opacity: 1 !important;
692
692
  }
693
693
 
694
+ /* The support card at the end of an admin page (`supportPosition: "end"`,
695
+ board PqBeheer): one row, the title then the lines, wrapping in a narrow
696
+ window, with less padding than a settings card.
697
+ @spec openspec/changes/admin-shell-support-end/specs/settings-board-look/spec.md#requirement-support-can-be-its-own-card-at-the-end */
698
+ .cn-look-board .settings-section.cn-admin-settings-shell__support:not(.cn-look-nextcloud *) {
699
+ flex-direction: row !important;
700
+ flex-wrap: wrap;
701
+ align-items: center;
702
+ gap: 10px 24px;
703
+ padding: 16px 24px;
704
+ }
705
+
706
+ .cn-look-board .cn-admin-settings-shell__support:not(.cn-look-nextcloud *) .settings-section__name {
707
+ font-size: 16px;
708
+ }
709
+
710
+ .cn-look-board .cn-admin-settings-shell__support:not(.cn-look-nextcloud *) .cn-settings-section__content {
711
+ display: flex;
712
+ flex-wrap: wrap;
713
+ gap: 10px 24px;
714
+ }
715
+
716
+ .cn-look-board .cn-admin-settings-shell__support:not(.cn-look-nextcloud *) .cn-admin-settings-shell__support-line {
717
+ margin: 0;
718
+ font-size: 14px;
719
+ }
720
+
694
721
  /* The section footer is the save row: the hairline replaces its own rule. */
695
722
  .cn-look-board .settings-section .cn-settings-section__footer {
696
723
  margin: 0;
@@ -1203,6 +1230,20 @@
1203
1230
  min-height: 44px;
1204
1231
  }
1205
1232
  }
1233
+
1234
+ /* Above a phone the boards top-align a dialog (DqNieuweZaak, DqUwWachtrij,
1235
+ DqVolgendeStap: the top edge sits about 90px down at 1440 wide) instead of
1236
+ centring it. `--cn-dialog-top` moves it. */
1237
+ @media (min-width: 601px) {
1238
+ .modal-mask.cn-dialog-board .modal-wrapper {
1239
+ align-items: flex-start;
1240
+ }
1241
+
1242
+ .modal-mask.cn-dialog-board .modal-wrapper .modal-container {
1243
+ margin-top: var(--cn-dialog-top, 88px);
1244
+ max-height: calc(100% - var(--cn-dialog-top, 88px) - 24px);
1245
+ }
1246
+ }
1206
1247
  /*
1207
1248
  * The board form field (screens-form-parity, canon sections 5 and 6).
1208
1249
  *
@@ -2255,10 +2296,11 @@
2255
2296
  border-radius: 0;
2256
2297
  }
2257
2298
 
2299
+ /* The header row is near-white on the boards (#fafbfc), not the hover grey. */
2258
2300
  .cn-look-board .cn-table-container--board .cn-data-table th {
2259
2301
  padding: 12px 16px;
2260
2302
  border-bottom: 0;
2261
- background: var(--color-background-hover);
2303
+ background: var(--cn-board-table-head-bg, color-mix(in srgb, var(--color-background-hover) 40%, var(--color-main-background)));
2262
2304
  color: var(--color-text-maxcontrast);
2263
2305
  font-weight: 600;
2264
2306
  }
@@ -2316,6 +2358,15 @@
2316
2358
  max-width: calc(100% - 26px);
2317
2359
  }
2318
2360
 
2361
+ /* The board's funnel: a 22px button 4px after the sort chevron. */
2362
+ .cn-look-board .cn-table-container--board .cn-data-table th .cn-table-header__filter {
2363
+ width: 22px;
2364
+ min-width: 22px;
2365
+ height: 22px;
2366
+ min-height: 22px;
2367
+ margin-inline-start: 4px;
2368
+ }
2369
+
2319
2370
  /* The selection column: 18px checkboxes, 28px of content after 16px of padding.
2320
2371
  The box model is set with `!important` and the widths include the padding:
2321
2372
  Nextcloud's server.css sets `box-sizing: border-box` on everything under
@@ -2521,6 +2572,14 @@
2521
2572
  padding: 0 12px;
2522
2573
  }
2523
2574
 
2575
+ /* The inert Next of a single page: a faint outline, muted text. */
2576
+ .cn-look-board .cn-pagination--board .cn-pagination__board-link--disabled {
2577
+ display: inline-flex;
2578
+ align-items: center;
2579
+ color: var(--color-text-maxcontrast);
2580
+ cursor: default;
2581
+ }
2582
+
2524
2583
  .cn-look-board .cn-pagination--board .cn-pagination__board-link--current {
2525
2584
  border-color: var(--color-primary-element);
2526
2585
  background: var(--color-primary-element);
@@ -2802,6 +2861,14 @@
2802
2861
  padding: 0 12px;
2803
2862
  border-radius: 8px;
2804
2863
  }
2864
+
2865
+ /* The sidebar's own open toggle (NcAppSidebar's `.app-sidebar__toggle`, drawn
2866
+ when the sidebar is closed) sits over the content's top-right corner, which
2867
+ on an index page is the primary header button: a stray dark square on
2868
+ "New contact". The board draws none; the Filter button opens the sidebar. */
2869
+ .cn-look-board:has(.cn-index-page) > .app-sidebar__toggle {
2870
+ display: none;
2871
+ }
2805
2872
  /* ========================================
2806
2873
  @conduction/nextcloud-vue — Table Styles
2807
2874
  ======================================== */
@@ -5017,6 +5084,22 @@ a.cn-kpi-card--board * {
5017
5084
  white-space: nowrap;
5018
5085
  border: 0;
5019
5086
  }
5087
+
5088
+ /* The breadcrumb and meta line under the title (CnHeaderTrail). In the board
5089
+ look it takes the detail header row's styles; here it only lays the crumbs,
5090
+ the dot and the note out on one line. */
5091
+ .cn-header-trail {
5092
+ align-items: center;
5093
+ color: var(--color-text-maxcontrast);
5094
+ display: flex;
5095
+ flex-wrap: wrap;
5096
+ gap: var(--default-grid-baseline);
5097
+ margin-bottom: var(--default-grid-baseline);
5098
+ }
5099
+
5100
+ .cn-header-trail .cn-detail-page__breadcrumbs {
5101
+ margin-bottom: 0;
5102
+ }
5020
5103
  /* CnActionsBar — Reusable actions toolbar styles */
5021
5104
 
5022
5105
  .cn-actions-bar {
@@ -9495,10 +9578,54 @@ a.cn-kpi-card--board * {
9495
9578
  }
9496
9579
 
9497
9580
 
9498
- .cn-countdown-widget__value[data-v-d1b330c0] {
9581
+ .cn-countdown-widget__value[data-v-22ccd275] {
9499
9582
  white-space: nowrap;
9500
9583
  }
9501
- .cn-countdown-widget__sub[data-v-d1b330c0] {
9584
+ .cn-countdown-widget__progress[data-v-22ccd275] {
9585
+ background: var(--color-border);
9586
+ border-radius: 3px;
9587
+ display: block;
9588
+ height: 6px;
9589
+ margin-block-start: 10px;
9590
+ overflow: hidden;
9591
+ }
9592
+ .cn-countdown-widget__progress-fill[data-v-22ccd275] {
9593
+ background: var(--color-primary-element);
9594
+ display: block;
9595
+ height: 100%;
9596
+ }
9597
+ .cn-countdown-widget__action[data-v-22ccd275] {
9598
+ align-self: flex-start;
9599
+ background: var(--color-background-dark);
9600
+ border: 0;
9601
+ border-radius: var(--border-radius-pill, 17px);
9602
+ color: var(--color-main-text);
9603
+ font-weight: 600;
9604
+ margin-block-start: 10px;
9605
+ min-height: 34px;
9606
+ padding: 0 12px;
9607
+ }
9608
+ .cn-countdown-widget__action--primary[data-v-22ccd275] {
9609
+ background: var(--color-primary-element-light);
9610
+ color: var(--color-primary-element-light-text);
9611
+ }
9612
+ .cn-countdown-widget__facts[data-v-22ccd275] {
9613
+ display: grid;
9614
+ gap: 8px 16px;
9615
+ grid-template-columns: max-content 1fr;
9616
+ margin: 10px 0 0;
9617
+ }
9618
+ .cn-countdown-widget__facts dt[data-v-22ccd275] {
9619
+ color: var(--color-text-maxcontrast);
9620
+ }
9621
+ .cn-countdown-widget__facts dd[data-v-22ccd275] {
9622
+ margin: 0;
9623
+ }
9624
+ .cn-countdown-widget__action[data-v-22ccd275]:hover,
9625
+ .cn-countdown-widget__action[data-v-22ccd275]:focus-visible {
9626
+ background: var(--color-background-hover);
9627
+ }
9628
+ .cn-countdown-widget__sub[data-v-22ccd275] {
9502
9629
  color: var(--color-text-maxcontrast);
9503
9630
  font-size: 0.85em;
9504
9631
  }
@@ -21164,7 +21291,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
21164
21291
  }
21165
21292
 
21166
21293
 
21167
- .cn-widget-wrapper[data-v-8ce3140c] {
21294
+ .cn-widget-wrapper[data-v-cc60e4c8] {
21168
21295
  position: relative;
21169
21296
  height: 100%;
21170
21297
  display: flex;
@@ -21178,13 +21305,13 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
21178
21305
  }
21179
21306
 
21180
21307
  /* Headerless date chip — floated over the top-right of a flush card. */
21181
- .cn-widget-wrapper__floating-meta[data-v-8ce3140c] {
21308
+ .cn-widget-wrapper__floating-meta[data-v-cc60e4c8] {
21182
21309
  position: absolute;
21183
21310
  top: 8px;
21184
21311
  inset-inline-end: 10px;
21185
21312
  z-index: 2;
21186
21313
  }
21187
- .cn-widget-wrapper__content[data-v-8ce3140c] {
21314
+ .cn-widget-wrapper__content[data-v-cc60e4c8] {
21188
21315
  flex: 1;
21189
21316
  overflow: auto;
21190
21317
  min-height: 0;
@@ -21200,24 +21327,24 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
21200
21327
  So it is structural instead. `:has()` keys on the table component's own root
21201
21328
  class, which means a table is flush by construction and no caller can
21202
21329
  reintroduce the gap by forgetting a prop. */
21203
- .cn-widget-wrapper__content[data-v-8ce3140c]:has(> .cn-table-container),
21204
- .cn-widget-wrapper__content[data-v-8ce3140c]:has(> .cn-widget-object-table) {
21330
+ .cn-widget-wrapper__content[data-v-cc60e4c8]:has(> .cn-table-container),
21331
+ .cn-widget-wrapper__content[data-v-cc60e4c8]:has(> .cn-widget-object-table) {
21205
21332
  padding: 0;
21206
21333
  }
21207
21334
 
21208
21335
  /* Keyboard focus ring for the now-focusable scrollable content region. */
21209
- .cn-widget-wrapper__content[data-v-8ce3140c]:focus-visible {
21336
+ .cn-widget-wrapper__content[data-v-cc60e4c8]:focus-visible {
21210
21337
  outline: 2px solid var(--color-primary-element);
21211
21338
  outline-offset: -2px;
21212
21339
  }
21213
- .cn-widget-wrapper--borderless[data-v-8ce3140c] {
21340
+ .cn-widget-wrapper--borderless[data-v-cc60e4c8] {
21214
21341
  border: none;
21215
21342
  background: transparent;
21216
21343
  }
21217
- .cn-widget-wrapper--borderless .cn-widget-wrapper__content[data-v-8ce3140c] {
21344
+ .cn-widget-wrapper--borderless .cn-widget-wrapper__content[data-v-cc60e4c8] {
21218
21345
  padding: 0;
21219
21346
  }
21220
- .cn-widget-wrapper--flush .cn-widget-wrapper__content[data-v-8ce3140c] {
21347
+ .cn-widget-wrapper--flush .cn-widget-wrapper__content[data-v-cc60e4c8] {
21221
21348
  padding: 0;
21222
21349
  }
21223
21350
 
@@ -21225,8 +21352,8 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
21225
21352
  above. A dashboard renders every widget `flush`, and without this their
21226
21353
  fields touch the card's edges. Borderless and chromeless cards, and the
21227
21354
  Nextcloud dashboard variant, keep their own padding. */
21228
- .cn-widget-wrapper--flush:not(.cn-widget-wrapper--borderless, .cn-widget-wrapper--nc-dashboard) > .cn-widget-wrapper__content[data-v-8ce3140c]:has(> .cn-form-widget),
21229
- .cn-widget-wrapper--flush:not(.cn-widget-wrapper--borderless, .cn-widget-wrapper--nc-dashboard) > .cn-widget-wrapper__content[data-v-8ce3140c]:has(> .cn-kb-search-widget) {
21355
+ .cn-widget-wrapper--flush:not(.cn-widget-wrapper--borderless, .cn-widget-wrapper--nc-dashboard) > .cn-widget-wrapper__content[data-v-cc60e4c8]:has(> .cn-form-widget),
21356
+ .cn-widget-wrapper--flush:not(.cn-widget-wrapper--borderless, .cn-widget-wrapper--nc-dashboard) > .cn-widget-wrapper__content[data-v-cc60e4c8]:has(> .cn-kb-search-widget) {
21230
21357
  padding: 16px;
21231
21358
  }
21232
21359
 
@@ -21237,7 +21364,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
21237
21364
  a square panel, which is the last visible piece of a card that is supposed
21238
21365
  to be absent. `CnDetailCard.cn-detail-card--chromeless` zeroes the same
21239
21366
  thing for the same reason. */
21240
- .cn-widget-wrapper--chromeless[data-v-8ce3140c] {
21367
+ .cn-widget-wrapper--chromeless[data-v-cc60e4c8] {
21241
21368
  border-radius: 0;
21242
21369
  }
21243
21370
 
@@ -21249,7 +21376,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
21249
21376
  * so users can override any token. Combined selector raises specificity above
21250
21377
  * the base `.cn-widget-wrapper` rules it supersedes.
21251
21378
  */
21252
- .cn-widget-wrapper__header[data-v-8ce3140c] {
21379
+ .cn-widget-wrapper__header[data-v-cc60e4c8] {
21253
21380
  display: flex;
21254
21381
  align-items: center;
21255
21382
  justify-content: space-between;
@@ -21265,7 +21392,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
21265
21392
  /* Actions with no title beside them. `header-left` is not rendered at all in
21266
21393
  this mode, and the header is `space-between`, so a single child would sit
21267
21394
  flush LEFT where every other surface puts its actions on the right. */
21268
- .cn-widget-wrapper__header--actions-only[data-v-8ce3140c] {
21395
+ .cn-widget-wrapper__header--actions-only[data-v-cc60e4c8] {
21269
21396
  justify-content: flex-end;
21270
21397
  }
21271
21398
 
@@ -21281,11 +21408,11 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
21281
21408
  no-descending-specificity asks for. The cascade did not need it (this
21282
21409
  selector is more specific either way), a reader does: an override written
21283
21410
  above the thing it overrides has to be read twice. */
21284
- .cn-widget-wrapper--chromeless .cn-widget-wrapper__header[data-v-8ce3140c] {
21411
+ .cn-widget-wrapper--chromeless .cn-widget-wrapper__header[data-v-cc60e4c8] {
21285
21412
  border-bottom: none;
21286
21413
  padding-inline: 0;
21287
21414
  }
21288
- .cn-widget-wrapper__header-left[data-v-8ce3140c] {
21415
+ .cn-widget-wrapper__header-left[data-v-cc60e4c8] {
21289
21416
  display: flex;
21290
21417
  align-items: center;
21291
21418
  gap: 8px;
@@ -21294,19 +21421,24 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
21294
21421
  of centering between icon and actions (header is space-between). */
21295
21422
  flex: 1 1 auto;
21296
21423
  }
21297
- .cn-widget-wrapper__icon[data-v-8ce3140c] {
21424
+ .cn-widget-wrapper__icon[data-v-cc60e4c8] {
21298
21425
  width: 24px;
21299
21426
  height: 24px;
21300
21427
  flex-shrink: 0;
21301
21428
  color: var(--cn-widget-icon-color, var(--color-primary-element));
21302
21429
  }
21303
- .cn-widget-wrapper__title-stack[data-v-8ce3140c] {
21430
+ .cn-widget-wrapper__title-stack[data-v-cc60e4c8] {
21304
21431
  display: flex;
21305
21432
  flex-direction: column;
21306
21433
  gap: 2px;
21307
21434
  min-width: 0;
21308
21435
  }
21309
- .cn-widget-wrapper__eyebrow[data-v-8ce3140c] {
21436
+ .cn-widget-wrapper__subtitle[data-v-cc60e4c8] {
21437
+ font-size: 13px;
21438
+ line-height: 1.3;
21439
+ color: var(--color-text-maxcontrast);
21440
+ }
21441
+ .cn-widget-wrapper__eyebrow[data-v-cc60e4c8] {
21310
21442
  font-size: 13px;
21311
21443
  line-height: 1.3;
21312
21444
  color: var(--color-text-maxcontrast);
@@ -21314,7 +21446,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
21314
21446
  overflow: hidden;
21315
21447
  text-overflow: ellipsis;
21316
21448
  }
21317
- .cn-widget-wrapper__title[data-v-8ce3140c] {
21449
+ .cn-widget-wrapper__title[data-v-cc60e4c8] {
21318
21450
  font-weight: 600;
21319
21451
  font-size: 14px;
21320
21452
  margin: 0;
@@ -21322,34 +21454,34 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
21322
21454
  overflow: hidden;
21323
21455
  text-overflow: ellipsis;
21324
21456
  }
21325
- .cn-widget-wrapper.cn-widget-wrapper--nc-dashboard[data-v-8ce3140c] {
21457
+ .cn-widget-wrapper.cn-widget-wrapper--nc-dashboard[data-v-cc60e4c8] {
21326
21458
  background: var(--color-main-background-blur, var(--color-main-background));
21327
21459
  -webkit-backdrop-filter: var(--filter-background-blur, none);
21328
21460
  backdrop-filter: var(--filter-background-blur, none);
21329
21461
  border: none;
21330
21462
  border-radius: var(--border-radius-container-large, 16px);
21331
21463
  }
21332
- .cn-widget-wrapper--nc-dashboard .cn-widget-wrapper__header[data-v-8ce3140c] {
21464
+ .cn-widget-wrapper--nc-dashboard .cn-widget-wrapper__header[data-v-cc60e4c8] {
21333
21465
  padding: 16px;
21334
21466
  border-bottom: none;
21335
21467
  }
21336
- .cn-widget-wrapper--nc-dashboard .cn-widget-wrapper__header-left[data-v-8ce3140c] {
21468
+ .cn-widget-wrapper--nc-dashboard .cn-widget-wrapper__header-left[data-v-cc60e4c8] {
21337
21469
  gap: 16px;
21338
21470
  }
21339
- .cn-widget-wrapper--nc-dashboard .cn-widget-wrapper__icon[data-v-8ce3140c] {
21471
+ .cn-widget-wrapper--nc-dashboard .cn-widget-wrapper__icon[data-v-cc60e4c8] {
21340
21472
  width: 32px;
21341
21473
  height: 32px;
21342
21474
  background-size: 32px;
21343
21475
  }
21344
- .cn-widget-wrapper--nc-dashboard .cn-widget-wrapper__title[data-v-8ce3140c] {
21476
+ .cn-widget-wrapper--nc-dashboard .cn-widget-wrapper__title[data-v-cc60e4c8] {
21345
21477
  font-size: 20px;
21346
21478
  font-weight: 700;
21347
21479
  line-height: 24px;
21348
21480
  }
21349
- .cn-widget-wrapper--nc-dashboard .cn-widget-wrapper__content[data-v-8ce3140c] {
21481
+ .cn-widget-wrapper--nc-dashboard .cn-widget-wrapper__content[data-v-cc60e4c8] {
21350
21482
  padding: 0 16px 16px;
21351
21483
  }
21352
- .cn-widget-wrapper__title-meta[data-v-8ce3140c] {
21484
+ .cn-widget-wrapper__title-meta[data-v-cc60e4c8] {
21353
21485
  display: flex;
21354
21486
  align-items: center;
21355
21487
  gap: 4px;
@@ -21358,7 +21490,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
21358
21490
  white-space: nowrap;
21359
21491
  flex-shrink: 0;
21360
21492
  }
21361
- .cn-widget-wrapper__actions[data-v-8ce3140c] {
21493
+ .cn-widget-wrapper__actions[data-v-cc60e4c8] {
21362
21494
  display: flex;
21363
21495
  gap: 4px;
21364
21496
  flex-shrink: 0;
@@ -21366,7 +21498,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
21366
21498
 
21367
21499
  /* The header's text link (`headerLink`). Theme hooks: --cn-widget-header-link-size
21368
21500
  and --cn-widget-header-link-weight. */
21369
- .cn-widget-wrapper__header-link[data-v-8ce3140c] {
21501
+ .cn-widget-wrapper__header-link[data-v-cc60e4c8] {
21370
21502
  align-self: center;
21371
21503
  padding: 0 calc(1 * var(--default-grid-baseline));
21372
21504
  color: var(--color-primary-element);
@@ -21375,11 +21507,11 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
21375
21507
  text-decoration: none;
21376
21508
  white-space: nowrap;
21377
21509
  }
21378
- .cn-widget-wrapper__header-link[data-v-8ce3140c]:hover,
21379
- .cn-widget-wrapper__header-link[data-v-8ce3140c]:focus-visible {
21510
+ .cn-widget-wrapper__header-link[data-v-cc60e4c8]:hover,
21511
+ .cn-widget-wrapper__header-link[data-v-cc60e4c8]:focus-visible {
21380
21512
  text-decoration: underline;
21381
21513
  }
21382
- .cn-widget-wrapper__header-link[data-v-8ce3140c]:focus-visible {
21514
+ .cn-widget-wrapper__header-link[data-v-cc60e4c8]:focus-visible {
21383
21515
  outline: 2px solid var(--color-primary-element);
21384
21516
  outline-offset: 2px;
21385
21517
  border-radius: var(--border-radius-small, 4px);
@@ -21390,7 +21522,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
21390
21522
  wrapper is ever rendered without it. Material-design-icon components paint
21391
21523
  with `fill: currentColor`, so this reaches them; the :deep rule below makes
21392
21524
  it reach a raw <svg> in the slot too. */
21393
- .cn-widget-wrapper__title-icon[data-v-8ce3140c] {
21525
+ .cn-widget-wrapper__title-icon[data-v-cc60e4c8] {
21394
21526
  display: flex;
21395
21527
  align-items: center;
21396
21528
  flex-shrink: 0;
@@ -21410,17 +21542,17 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
21410
21542
 
21411
21543
  /* Right-positioned title icons sit AFTER the actions, so the margin belongs on
21412
21544
  the other side or it pushes the icon off the header's right edge. */
21413
- .cn-widget-wrapper__title-icon[data-v-8ce3140c]:last-child {
21545
+ .cn-widget-wrapper__title-icon[data-v-cc60e4c8]:last-child {
21414
21546
  margin-inline-end: 0;
21415
21547
  margin-inline-start: 8px;
21416
21548
  }
21417
21549
 
21418
21550
  /* Material-design-icon components paint with `fill: currentColor`, so the
21419
21551
  colour above reaches them; this makes it reach a raw <svg> in the slot too. */
21420
- .cn-widget-wrapper__title-icon[data-v-8ce3140c] svg {
21552
+ .cn-widget-wrapper__title-icon[data-v-cc60e4c8] svg {
21421
21553
  fill: currentcolor;
21422
21554
  }
21423
- .cn-widget-wrapper__footer[data-v-8ce3140c] {
21555
+ .cn-widget-wrapper__footer[data-v-cc60e4c8] {
21424
21556
  display: flex;
21425
21557
  justify-content: flex-end;
21426
21558
  gap: 8px;
@@ -21428,12 +21560,12 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
21428
21560
  border-top: 1px solid var(--color-border);
21429
21561
  flex-shrink: 0;
21430
21562
  }
21431
- .cn-widget-wrapper__footer-link[data-v-8ce3140c] {
21563
+ .cn-widget-wrapper__footer-link[data-v-cc60e4c8] {
21432
21564
  font-size: 13px;
21433
21565
  color: var(--color-primary-element);
21434
21566
  text-decoration: none;
21435
21567
  }
21436
- .cn-widget-wrapper__footer-link[data-v-8ce3140c]:hover {
21568
+ .cn-widget-wrapper__footer-link[data-v-cc60e4c8]:hover {
21437
21569
  text-decoration: underline;
21438
21570
  }
21439
21571
 
@@ -25049,6 +25181,19 @@ button.cn-stepper__step[data-v-776581d4] {
25049
25181
  }
25050
25182
 
25051
25183
 
25184
+ /* `separator`: a text separator in place of the chevron. The chevron's own
25185
+ element stays (it carries NcBreadcrumbs' spacing and its "no separator after
25186
+ the last crumb" rule); only its icon gives way to the text. */
25187
+ .cn-breadcrumbs--text-separator[data-v-54c3381a] .vue-crumb__separator svg {
25188
+ display: none;
25189
+ }
25190
+ .cn-breadcrumbs--text-separator[data-v-54c3381a] .vue-crumb__separator::before {
25191
+ content: var(--cn-breadcrumbs-separator);
25192
+ padding-inline: var(--cn-breadcrumbs-separator-gap, 0);
25193
+ color: var(--color-text-maxcontrast);
25194
+ }
25195
+
25196
+
25052
25197
  .cn-form-page__honeypot {
25053
25198
  position: absolute;
25054
25199
  left: -10000px;
@@ -25229,7 +25374,7 @@ button.cn-stepper__step[data-v-776581d4] {
25229
25374
  line rather than above a line that stops where the last tab does. With no
25230
25375
  nav-end content the nav is the bar's only child and the result is pixel
25231
25376
  identical to the rule living on the nav itself. */
25232
- .cn-tabs__bar[data-v-019bacbf] {
25377
+ .cn-tabs__bar[data-v-4d96de3d] {
25233
25378
  /* Top-aligned so the `#nav-end` control sits on the tab row, not below it,
25234
25379
  should the two sides ever differ in height. */
25235
25380
  align-items: flex-start;
@@ -25239,12 +25384,12 @@ button.cn-stepper__step[data-v-776581d4] {
25239
25384
  }
25240
25385
 
25241
25386
  /* The strip holds the scrolling nav and the edge affordances drawn over it. */
25242
- .cn-tabs__strip[data-v-019bacbf] {
25387
+ .cn-tabs__strip[data-v-4d96de3d] {
25243
25388
  flex: 1 1 auto;
25244
25389
  min-width: 0;
25245
25390
  position: relative;
25246
25391
  }
25247
- .cn-tabs__nav[data-v-019bacbf] {
25392
+ .cn-tabs__nav[data-v-4d96de3d] {
25248
25393
  display: flex;
25249
25394
  gap: 4px;
25250
25395
  /* One row that scrolls, never a wrap: in a narrow sidebar a nine-tab strip
@@ -25261,11 +25406,11 @@ button.cn-stepper__step[data-v-776581d4] {
25261
25406
  the panel's colour, covers it and the tab joins its panel. */
25262
25407
  margin-bottom: -1px;
25263
25408
  }
25264
- .cn-tabs__nav[data-v-019bacbf]::-webkit-scrollbar {
25409
+ .cn-tabs__nav[data-v-4d96de3d]::-webkit-scrollbar {
25265
25410
  display: none;
25266
25411
  }
25267
25412
  @media (prefers-reduced-motion: reduce) {
25268
- .cn-tabs__nav[data-v-019bacbf] {
25413
+ .cn-tabs__nav[data-v-4d96de3d] {
25269
25414
  scroll-behavior: auto;
25270
25415
  }
25271
25416
  }
@@ -25276,8 +25421,8 @@ button.cn-stepper__step[data-v-776581d4] {
25276
25421
  z-index 2 so the fades outrank a lifted tab: CnTabsWidget puts the open tab
25277
25422
  at 1, and a tie goes to DOM order, which would draw that tab over the start
25278
25423
  fade (it precedes the tabs) while the end fade still covered it. */
25279
- .cn-tabs__strip[data-v-019bacbf]::before,
25280
- .cn-tabs__strip[data-v-019bacbf]::after {
25424
+ .cn-tabs__strip[data-v-4d96de3d]::before,
25425
+ .cn-tabs__strip[data-v-4d96de3d]::after {
25281
25426
  content: '';
25282
25427
  display: none;
25283
25428
  inset-block: 0 1px;
@@ -25286,23 +25431,23 @@ button.cn-stepper__step[data-v-776581d4] {
25286
25431
  width: 56px;
25287
25432
  z-index: 2;
25288
25433
  }
25289
- .cn-tabs__strip[data-v-019bacbf]::before {
25434
+ .cn-tabs__strip[data-v-4d96de3d]::before {
25290
25435
  background: linear-gradient(to right, var(--color-main-background) 30%, transparent);
25291
25436
  inset-inline-start: 0;
25292
25437
  }
25293
- .cn-tabs__strip[data-v-019bacbf]::after {
25438
+ .cn-tabs__strip[data-v-4d96de3d]::after {
25294
25439
  background: linear-gradient(to left, var(--color-main-background) 30%, transparent);
25295
25440
  inset-inline-end: 0;
25296
25441
  }
25297
- .cn-tabs__strip--more-start[data-v-019bacbf]::before,
25298
- .cn-tabs__strip--more-end[data-v-019bacbf]::after {
25442
+ .cn-tabs__strip--more-start[data-v-4d96de3d]::before,
25443
+ .cn-tabs__strip--more-end[data-v-4d96de3d]::after {
25299
25444
  display: block;
25300
25445
  }
25301
25446
 
25302
25447
  /* Doubled selector for the same reason as `.cn-tabs__nav .cn-tabs__nav-item`:
25303
25448
  Nextcloud's own `button` rule would otherwise give this a border, a fill
25304
25449
  and a margin. */
25305
- .cn-tabs__strip .cn-tabs__scroll[data-v-019bacbf] {
25450
+ .cn-tabs__strip .cn-tabs__scroll[data-v-4d96de3d] {
25306
25451
  align-items: center;
25307
25452
  background: none;
25308
25453
  border: 0;
@@ -25322,20 +25467,20 @@ button.cn-stepper__step[data-v-776581d4] {
25322
25467
  }
25323
25468
 
25324
25469
  /* Nextcloud's `button:hover` rule would otherwise fill the chevron. */
25325
- .cn-tabs__strip .cn-tabs__scroll[data-v-019bacbf]:hover,
25326
- .cn-tabs__strip .cn-tabs__scroll[data-v-019bacbf]:focus {
25470
+ .cn-tabs__strip .cn-tabs__scroll[data-v-4d96de3d]:hover,
25471
+ .cn-tabs__strip .cn-tabs__scroll[data-v-4d96de3d]:focus {
25327
25472
  background: none;
25328
25473
  }
25329
- .cn-tabs__scroll--start[data-v-019bacbf] {
25474
+ .cn-tabs__scroll--start[data-v-4d96de3d] {
25330
25475
  inset-inline-start: 0;
25331
25476
  }
25332
- .cn-tabs__scroll--end[data-v-019bacbf] {
25477
+ .cn-tabs__scroll--end[data-v-4d96de3d] {
25333
25478
  inset-inline-end: 0;
25334
25479
  }
25335
25480
 
25336
25481
  /* The count behind a tab's title. Full-contrast text on the page background,
25337
25482
  so it reads on the idle tab's darker fill and on the open tab alike. */
25338
- .cn-tabs__count[data-v-019bacbf] {
25483
+ .cn-tabs__count[data-v-4d96de3d] {
25339
25484
  background-color: var(--color-main-background);
25340
25485
  border: 1px solid var(--color-border-dark);
25341
25486
  border-radius: var(--border-radius-pill, 100px);
@@ -25348,18 +25493,18 @@ button.cn-stepper__step[data-v-776581d4] {
25348
25493
  padding: 0 6px;
25349
25494
  text-align: center;
25350
25495
  }
25351
- .cn-tabs__more[data-v-019bacbf] {
25496
+ .cn-tabs__more[data-v-4d96de3d] {
25352
25497
  align-items: center;
25353
25498
  display: flex;
25354
25499
  flex: 0 0 auto;
25355
25500
  }
25356
25501
 
25357
25502
  /* Keeps a "More" entry's text on the menu's text column without drawing an icon. */
25358
- .cn-tabs__more-spacer[data-v-019bacbf] {
25503
+ .cn-tabs__more-spacer[data-v-4d96de3d] {
25359
25504
  display: inline-block;
25360
25505
  width: 20px;
25361
25506
  }
25362
- .cn-tabs__nav-end[data-v-019bacbf] {
25507
+ .cn-tabs__nav-end[data-v-4d96de3d] {
25363
25508
  align-items: center;
25364
25509
  display: flex;
25365
25510
  flex: 0 0 auto;
@@ -25381,7 +25526,7 @@ button.cn-stepper__step[data-v-776581d4] {
25381
25526
  strip legible as a control at a glance, and the active tab, sharing the
25382
25527
  panel's background and punching a hole in the bar's rule, reads as the sheet
25383
25528
  in front. */
25384
- .cn-tabs__nav-item[data-v-019bacbf] {
25529
+ .cn-tabs__nav-item[data-v-4d96de3d] {
25385
25530
  background-color: var(--color-background-dark);
25386
25531
  /* `--color-border-dark`, not `--color-border`: the latter is the same
25387
25532
  #ededed as `--color-background-dark` in the stock light theme, so a tab
@@ -25416,27 +25561,27 @@ button.cn-stepper__step[data-v-776581d4] {
25416
25561
  with a selector that outscores the scoped rule above, which floated the tabs
25417
25562
  above the bar's rule inside a real page. The parent class wins on
25418
25563
  specificity rather than on `!important` or source order. */
25419
- .cn-tabs__nav .cn-tabs__nav-item[data-v-019bacbf] {
25564
+ .cn-tabs__nav .cn-tabs__nav-item[data-v-4d96de3d] {
25420
25565
  margin-block-end: 0;
25421
25566
  }
25422
- .cn-tabs__nav--justified .cn-tabs__nav-item[data-v-019bacbf] {
25567
+ .cn-tabs__nav--justified .cn-tabs__nav-item[data-v-4d96de3d] {
25423
25568
  flex: 1 1 0;
25424
25569
  }
25425
- .cn-tabs__nav-item[data-v-019bacbf]:hover,
25426
- .cn-tabs__nav-item[data-v-019bacbf]:focus-visible {
25570
+ .cn-tabs__nav-item[data-v-4d96de3d]:hover,
25571
+ .cn-tabs__nav-item[data-v-4d96de3d]:focus-visible {
25427
25572
  background-color: var(--color-background-hover);
25428
25573
  color: var(--color-main-text);
25429
25574
  }
25430
25575
 
25431
25576
  /* Inside the box: the scrolling strip clips anything drawn outside a tab. */
25432
- .cn-tabs__nav-item[data-v-019bacbf]:focus-visible {
25577
+ .cn-tabs__nav-item[data-v-4d96de3d]:focus-visible {
25433
25578
  outline-offset: -2px;
25434
25579
  }
25435
- .cn-tabs__nav-item[disabled][data-v-019bacbf] {
25580
+ .cn-tabs__nav-item[disabled][data-v-4d96de3d] {
25436
25581
  cursor: default;
25437
25582
  opacity: 0.5;
25438
25583
  }
25439
- .cn-tabs__nav-item[disabled][data-v-019bacbf]:hover {
25584
+ .cn-tabs__nav-item[disabled][data-v-4d96de3d]:hover {
25440
25585
  background-color: var(--color-background-dark);
25441
25586
  color: var(--color-main-text);
25442
25587
  }
@@ -25446,7 +25591,7 @@ button.cn-stepper__step[data-v-776581d4] {
25446
25591
  joins the sheet below it. The primary-coloured top edge is what carries the
25447
25592
  selection at a glance, and it survives forced-colours mode, which drops
25448
25593
  background colours but keeps borders. */
25449
- .cn-tabs__nav-item--active[data-v-019bacbf] {
25594
+ .cn-tabs__nav-item--active[data-v-4d96de3d] {
25450
25595
  background-color: var(--color-main-background);
25451
25596
  border-bottom: 1px solid var(--color-main-background);
25452
25597
  border-top: 2px solid var(--color-primary-element);
@@ -25456,10 +25601,10 @@ button.cn-stepper__step[data-v-776581d4] {
25456
25601
  thicker top border, so the strip does not jog when the selection moves. */
25457
25602
  padding-top: 7px;
25458
25603
  }
25459
- .cn-tabs__content[data-v-019bacbf] {
25604
+ .cn-tabs__content[data-v-4d96de3d] {
25460
25605
  padding-top: 12px;
25461
25606
  }
25462
- .cn-tabs--card .cn-tabs__content[data-v-019bacbf] {
25607
+ .cn-tabs--card .cn-tabs__content[data-v-4d96de3d] {
25463
25608
  border: 1px solid var(--color-border);
25464
25609
  border-top: none;
25465
25610
  padding: 12px;
@@ -25467,33 +25612,33 @@ button.cn-stepper__step[data-v-776581d4] {
25467
25612
 
25468
25613
  /* Segmented variant: the strip is a pill switch that stands on its own, so
25469
25614
  the bar's rule and the tab-joins-panel treatment are both dropped. */
25470
- .cn-tabs--segmented .cn-tabs__bar[data-v-019bacbf] {
25615
+ .cn-tabs--segmented .cn-tabs__bar[data-v-4d96de3d] {
25471
25616
  border-bottom: none;
25472
25617
  }
25473
- .cn-tabs--segmented .cn-tabs__strip[data-v-019bacbf] {
25618
+ .cn-tabs--segmented .cn-tabs__strip[data-v-4d96de3d] {
25474
25619
  flex: 0 1 auto;
25475
25620
  }
25476
- .cn-tabs--segmented .cn-tabs__nav[data-v-019bacbf] {
25621
+ .cn-tabs--segmented .cn-tabs__nav[data-v-4d96de3d] {
25477
25622
  gap: 4px;
25478
25623
  margin-bottom: 0;
25479
25624
  padding: 4px;
25480
25625
  border-radius: var(--border-radius-container, var(--border-radius-large, 10px));
25481
25626
  background-color: var(--color-background-dark);
25482
25627
  }
25483
- .cn-tabs--segmented .cn-tabs__nav-item[data-v-019bacbf] {
25628
+ .cn-tabs--segmented .cn-tabs__nav-item[data-v-4d96de3d] {
25484
25629
  border: 1px solid transparent;
25485
25630
  border-radius: var(--border-radius-element, var(--border-radius-large, 8px));
25486
25631
  background-color: transparent;
25487
25632
  font-weight: 600;
25488
25633
  padding: 6px 16px;
25489
25634
  }
25490
- .cn-tabs--segmented .cn-tabs__nav-item[data-v-019bacbf]:hover {
25635
+ .cn-tabs--segmented .cn-tabs__nav-item[data-v-4d96de3d]:hover {
25491
25636
  background-color: var(--color-background-hover);
25492
25637
  }
25493
25638
 
25494
25639
  /* The open segment is the raised one. Its border survives forced-colours
25495
25640
  mode, which drops the background and the shadow. */
25496
- .cn-tabs--segmented .cn-tabs__nav-item--active[data-v-019bacbf] {
25641
+ .cn-tabs--segmented .cn-tabs__nav-item--active[data-v-4d96de3d] {
25497
25642
  border: 1px solid var(--color-border-dark);
25498
25643
  background-color: var(--color-main-background);
25499
25644
  box-shadow: 0 1px 2px var(--color-box-shadow);
@@ -25504,11 +25649,11 @@ button.cn-stepper__step[data-v-776581d4] {
25504
25649
  /* Underline variant (board LpBeheerAlgemeen): plain labels on the bar's rule,
25505
25650
  the open one carried by a 3px primary underline that sits on that rule. The
25506
25651
  strip wraps onto a second row rather than scrolling. */
25507
- .cn-tabs--underline .cn-tabs__nav[data-v-019bacbf] {
25652
+ .cn-tabs--underline .cn-tabs__nav[data-v-4d96de3d] {
25508
25653
  flex-wrap: wrap;
25509
25654
  overflow: visible;
25510
25655
  }
25511
- .cn-tabs--underline .cn-tabs__nav-item[data-v-019bacbf] {
25656
+ .cn-tabs--underline .cn-tabs__nav-item[data-v-4d96de3d] {
25512
25657
  background-color: transparent;
25513
25658
  border: 0;
25514
25659
  border-bottom: 3px solid transparent;
@@ -25520,34 +25665,34 @@ button.cn-stepper__step[data-v-776581d4] {
25520
25665
  min-height: 44px;
25521
25666
  padding: 0 9px;
25522
25667
  }
25523
- .cn-tabs--underline .cn-tabs__nav-item[data-v-019bacbf]:hover,
25524
- .cn-tabs--underline .cn-tabs__nav-item[data-v-019bacbf]:focus-visible {
25668
+ .cn-tabs--underline .cn-tabs__nav-item[data-v-4d96de3d]:hover,
25669
+ .cn-tabs--underline .cn-tabs__nav-item[data-v-4d96de3d]:focus-visible {
25525
25670
  background-color: transparent;
25526
25671
  border-bottom-color: var(--color-border-dark);
25527
25672
  color: var(--color-main-text);
25528
25673
  }
25529
- .cn-tabs--underline .cn-tabs__nav-item[disabled][data-v-019bacbf]:hover {
25674
+ .cn-tabs--underline .cn-tabs__nav-item[disabled][data-v-4d96de3d]:hover {
25530
25675
  background-color: transparent;
25531
25676
  border-bottom-color: transparent;
25532
25677
  }
25533
- .cn-tabs--underline .cn-tabs__nav-item--active[data-v-019bacbf],
25534
- .cn-tabs--underline .cn-tabs__nav-item--active[data-v-019bacbf]:hover,
25535
- .cn-tabs--underline .cn-tabs__nav-item--active[data-v-019bacbf]:focus-visible {
25678
+ .cn-tabs--underline .cn-tabs__nav-item--active[data-v-4d96de3d],
25679
+ .cn-tabs--underline .cn-tabs__nav-item--active[data-v-4d96de3d]:hover,
25680
+ .cn-tabs--underline .cn-tabs__nav-item--active[data-v-4d96de3d]:focus-visible {
25536
25681
  border-bottom: 3px solid var(--color-primary-element);
25537
25682
  color: var(--color-main-text);
25538
25683
  font-weight: 700;
25539
25684
  padding-top: 0;
25540
25685
  }
25541
- .cn-tabs--underline .cn-tabs__count[data-v-019bacbf] {
25686
+ .cn-tabs--underline .cn-tabs__count[data-v-4d96de3d] {
25542
25687
  margin-inline-start: 0;
25543
25688
  }
25544
- .cn-tabs--underline .cn-tabs__content[data-v-019bacbf] {
25689
+ .cn-tabs--underline .cn-tabs__content[data-v-4d96de3d] {
25545
25690
  padding-top: 20px;
25546
25691
  }
25547
25692
 
25548
25693
 
25549
25694
  /* A stack (`widgetIds`): the panel's widget, then cards 20px apart. */
25550
- .cn-tabs-widget__stack[data-v-febbfc68] {
25695
+ .cn-tabs-widget__stack[data-v-dbbc6ecc] {
25551
25696
  display: flex;
25552
25697
  flex-direction: column;
25553
25698
  gap: 20px;
@@ -25556,19 +25701,19 @@ button.cn-stepper__step[data-v-776581d4] {
25556
25701
  /* A gridded stack (`columns` / `layout` on the tab): 12 columns, widgets wrap
25557
25702
  onto the next row, a row's cards as tall as the tallest. Narrow, it is the
25558
25703
  plain stack again. */
25559
- .cn-tabs-widget__stack--grid[data-v-febbfc68] {
25704
+ .cn-tabs-widget__stack--grid[data-v-dbbc6ecc] {
25560
25705
  display: grid;
25561
25706
  grid-template-columns: repeat(12, minmax(0, 1fr));
25562
25707
  align-items: stretch;
25563
25708
  }
25564
- .cn-tabs-widget__stack--grid[data-v-febbfc68] > * {
25709
+ .cn-tabs-widget__stack--grid[data-v-dbbc6ecc] > * {
25565
25710
  min-width: 0;
25566
25711
  }
25567
25712
  @media (max-width: 700px) {
25568
- .cn-tabs-widget__stack--grid[data-v-febbfc68] {
25713
+ .cn-tabs-widget__stack--grid[data-v-dbbc6ecc] {
25569
25714
  grid-template-columns: minmax(0, 1fr);
25570
25715
  }
25571
- .cn-tabs-widget__stack--grid[data-v-febbfc68] > * {
25716
+ .cn-tabs-widget__stack--grid[data-v-dbbc6ecc] > * {
25572
25717
  grid-column: auto !important;
25573
25718
  }
25574
25719
  }
@@ -25602,7 +25747,7 @@ button.cn-stepper__step[data-v-776581d4] {
25602
25747
  `!important` or on load order this library does not control. The same
25603
25748
  technique, for the same reason, is used on `.cn-tabs__nav .cn-tabs__nav-item`
25604
25749
  in CnTabs to beat Nextcloud's own button margin. */
25605
- .cn-tabs-widget.cn-tabs-widget[data-v-febbfc68] {
25750
+ .cn-tabs-widget.cn-tabs-widget[data-v-dbbc6ecc] {
25606
25751
  background-color: transparent;
25607
25752
  border: 0;
25608
25753
  border-radius: 0;
@@ -25626,12 +25771,12 @@ button.cn-stepper__step[data-v-776581d4] {
25626
25771
  below it: the rule ran straight on to the widget's edge and read as a
25627
25772
  border sticking out past a rounded corner (Ruben, 2026-09-13). Ending it
25628
25773
  where the curve begins makes the rule and the curve one continuous edge. */
25629
- .cn-tabs-widget__tabs[data-v-febbfc68] .cn-tabs__bar {
25774
+ .cn-tabs-widget__tabs[data-v-dbbc6ecc] .cn-tabs__bar {
25630
25775
  border-bottom: none;
25631
25776
  padding: 0;
25632
25777
  position: relative;
25633
25778
  }
25634
- .cn-tabs-widget__tabs[data-v-febbfc68] .cn-tabs__bar::after {
25779
+ .cn-tabs-widget__tabs[data-v-dbbc6ecc] .cn-tabs__bar::after {
25635
25780
  border-bottom: 1px solid var(--color-border);
25636
25781
  content: '';
25637
25782
  inset-block-end: 0;
@@ -25644,11 +25789,11 @@ button.cn-stepper__step[data-v-776581d4] {
25644
25789
  own background-coloured bottom edge, which only works if it paints ABOVE the
25645
25790
  pseudo-element: a positioned pseudo-element otherwise paints over every
25646
25791
  in-flow sibling, rule included. */
25647
- .cn-tabs-widget__tabs[data-v-febbfc68] .cn-tabs__nav-item--active {
25792
+ .cn-tabs-widget__tabs[data-v-dbbc6ecc] .cn-tabs__nav-item--active {
25648
25793
  position: relative;
25649
25794
  z-index: 1;
25650
25795
  }
25651
- .cn-tabs-widget__tabs[data-v-febbfc68] {
25796
+ .cn-tabs-widget__tabs[data-v-dbbc6ecc] {
25652
25797
  display: flex;
25653
25798
  flex-direction: column;
25654
25799
  /* Grow to the widget's height, so the panel fills the grid cell the
@@ -25666,7 +25811,7 @@ button.cn-stepper__step[data-v-776581d4] {
25666
25811
  the open tab, but padding sits inside the painted box — only a margin would
25667
25812
  have opened that gap, and a zero top put every panel's content against the
25668
25813
  strip. */
25669
- .cn-tabs-widget__tabs[data-v-febbfc68] .cn-tabs__content {
25814
+ .cn-tabs-widget__tabs[data-v-dbbc6ecc] .cn-tabs__content {
25670
25815
  background-color: var(--color-main-background);
25671
25816
  /* Three sides only: the bar's rule (redrawn above, stopping at the corner)
25672
25817
  is this sheet's top edge, and the open tab erases the slice of it
@@ -25686,7 +25831,7 @@ button.cn-stepper__step[data-v-776581d4] {
25686
25831
  overflow: auto;
25687
25832
  padding: 12px;
25688
25833
  }
25689
- .cn-tabs-widget__tabs[data-v-febbfc68] .cn-tab {
25834
+ .cn-tabs-widget__tabs[data-v-dbbc6ecc] .cn-tab {
25690
25835
  height: 100%;
25691
25836
  }
25692
25837
 
@@ -25694,13 +25839,13 @@ button.cn-stepper__step[data-v-776581d4] {
25694
25839
  (margin 0 -16px -16px). The panel of a tab pads 12px, so on a tab that
25695
25840
  holds the list directly the footer stuck out 4px on the right and at the
25696
25841
  bottom and made the panel scroll. It bleeds exactly the panel's padding. */
25697
- .cn-tabs-widget__tabs[data-v-febbfc68] .cn-tabs__content > .cn-tab > .cn-detail-widget-host--bare .cn-object-list-widget__add {
25842
+ .cn-tabs-widget__tabs[data-v-dbbc6ecc] .cn-tabs__content > .cn-tab > .cn-detail-widget-host--bare .cn-object-list-widget__add {
25698
25843
  margin: auto -12px -12px;
25699
25844
  }
25700
25845
 
25701
25846
  /* The open panel's header link, beside the strip. Same look and theme hooks
25702
25847
  as a card header link (CnWidgetWrapper). */
25703
- .cn-tabs-widget__header-link[data-v-febbfc68] {
25848
+ .cn-tabs-widget__header-link[data-v-dbbc6ecc] {
25704
25849
  align-self: center;
25705
25850
  padding: 0 calc(1 * var(--default-grid-baseline));
25706
25851
  color: var(--color-primary-element);
@@ -25709,21 +25854,21 @@ button.cn-stepper__step[data-v-776581d4] {
25709
25854
  text-decoration: none;
25710
25855
  white-space: nowrap;
25711
25856
  }
25712
- .cn-tabs-widget__header-link[data-v-febbfc68]:hover,
25713
- .cn-tabs-widget__header-link[data-v-febbfc68]:focus-visible {
25857
+ .cn-tabs-widget__header-link[data-v-dbbc6ecc]:hover,
25858
+ .cn-tabs-widget__header-link[data-v-dbbc6ecc]:focus-visible {
25714
25859
  text-decoration: underline;
25715
25860
  }
25716
- .cn-tabs-widget__header-link[data-v-febbfc68]:focus-visible {
25861
+ .cn-tabs-widget__header-link[data-v-dbbc6ecc]:focus-visible {
25717
25862
  outline: 2px solid var(--color-primary-element);
25718
25863
  outline-offset: 2px;
25719
25864
  border-radius: var(--border-radius-small, 4px);
25720
25865
  }
25721
- .cn-tabs-widget__title[data-v-febbfc68] {
25866
+ .cn-tabs-widget__title[data-v-dbbc6ecc] {
25722
25867
  align-items: center;
25723
25868
  display: inline-flex;
25724
25869
  gap: 6px;
25725
25870
  }
25726
- .cn-tabs-widget__title-icon[data-v-febbfc68] {
25871
+ .cn-tabs-widget__title-icon[data-v-dbbc6ecc] {
25727
25872
  flex: 0 0 auto;
25728
25873
  }
25729
25874
 
@@ -29624,13 +29769,13 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
29624
29769
  }
29625
29770
 
29626
29771
 
29627
- .cn-facts-widget[data-v-e1992d24] {
29772
+ .cn-facts-widget[data-v-c2fcc10e] {
29628
29773
  display: flex;
29629
29774
  flex-direction: column;
29630
29775
  gap: 10px;
29631
29776
  min-width: 0;
29632
29777
  }
29633
- .cn-facts-widget__rows[data-v-e1992d24] {
29778
+ .cn-facts-widget__rows[data-v-c2fcc10e] {
29634
29779
  display: grid;
29635
29780
  grid-template-columns: max-content 1fr;
29636
29781
  gap: 8px 16px;
@@ -29639,7 +29784,7 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
29639
29784
  }
29640
29785
 
29641
29786
  /* Each row is a grid of its own children: the wrapper takes no box. */
29642
- .cn-facts-widget__row[data-v-e1992d24] {
29787
+ .cn-facts-widget__row[data-v-c2fcc10e] {
29643
29788
  display: contents;
29644
29789
  }
29645
29790
 
@@ -29647,13 +29792,13 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
29647
29792
  pushed the label to the right of its column and added 12px around both. The
29648
29793
  class is doubled so these resets outrank that rule, and a dossiq-style
29649
29794
  `:deep()` override in an app is not needed. */
29650
- .cn-facts-widget__label.cn-facts-widget__label[data-v-e1992d24] {
29795
+ .cn-facts-widget__label.cn-facts-widget__label[data-v-c2fcc10e] {
29651
29796
  margin: 0;
29652
29797
  padding: 0;
29653
29798
  text-align: start;
29654
29799
  color: var(--color-text-maxcontrast);
29655
29800
  }
29656
- .cn-facts-widget__value.cn-facts-widget__value[data-v-e1992d24] {
29801
+ .cn-facts-widget__value.cn-facts-widget__value[data-v-c2fcc10e] {
29657
29802
  margin: 0;
29658
29803
  padding: 0;
29659
29804
  text-align: start;
@@ -29661,20 +29806,20 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
29661
29806
  min-width: 0;
29662
29807
  overflow-wrap: anywhere;
29663
29808
  }
29664
- .cn-facts-widget__title[data-v-e1992d24] {
29809
+ .cn-facts-widget__title[data-v-c2fcc10e] {
29665
29810
  font-size: 15px;
29666
29811
  font-weight: 600;
29667
29812
  color: var(--color-main-text);
29668
29813
  }
29669
- .cn-facts-widget__line[data-v-e1992d24] {
29814
+ .cn-facts-widget__line[data-v-c2fcc10e] {
29670
29815
  font-size: 13px;
29671
29816
  color: var(--color-text-maxcontrast);
29672
29817
  }
29673
- .cn-facts-widget__muted[data-v-e1992d24] {
29818
+ .cn-facts-widget__muted[data-v-c2fcc10e] {
29674
29819
  margin: 0;
29675
29820
  color: var(--color-text-maxcontrast);
29676
29821
  }
29677
- .cn-facts-widget__label .hidden-visually[data-v-e1992d24] {
29822
+ .cn-facts-widget__label .hidden-visually[data-v-c2fcc10e] {
29678
29823
  clip-path: inset(50%);
29679
29824
  height: 1px;
29680
29825
  overflow: hidden;
@@ -29682,23 +29827,23 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
29682
29827
  white-space: nowrap;
29683
29828
  width: 1px;
29684
29829
  }
29685
- .cn-facts-widget__label--icon[data-v-e1992d24] {
29830
+ .cn-facts-widget__label--icon[data-v-c2fcc10e] {
29686
29831
  align-items: center;
29687
29832
  display: flex;
29688
29833
  }
29689
- .cn-facts-widget__value-link[data-v-e1992d24] {
29834
+ .cn-facts-widget__value-link[data-v-c2fcc10e] {
29690
29835
  color: var(--color-primary-element);
29691
29836
  text-decoration: underline;
29692
29837
  }
29693
- .cn-facts-widget__inline-button[data-v-e1992d24],
29694
- .cn-facts-widget__icon-button[data-v-e1992d24],
29695
- .cn-facts-widget__action[data-v-e1992d24] {
29838
+ .cn-facts-widget__inline-button[data-v-c2fcc10e],
29839
+ .cn-facts-widget__icon-button[data-v-c2fcc10e],
29840
+ .cn-facts-widget__action[data-v-c2fcc10e] {
29696
29841
  align-items: center;
29697
29842
  cursor: pointer;
29698
29843
  display: inline-flex;
29699
29844
  font: inherit;
29700
29845
  }
29701
- .cn-facts-widget__inline-button[data-v-e1992d24] {
29846
+ .cn-facts-widget__inline-button[data-v-c2fcc10e] {
29702
29847
  background: var(--color-main-background);
29703
29848
  border: 1px solid var(--color-border-dark);
29704
29849
  border-radius: 16px;
@@ -29709,7 +29854,7 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
29709
29854
  min-height: 28px;
29710
29855
  padding: 0 10px;
29711
29856
  }
29712
- .cn-facts-widget__icon-button[data-v-e1992d24] {
29857
+ .cn-facts-widget__icon-button[data-v-c2fcc10e] {
29713
29858
  background: transparent;
29714
29859
  border: 0;
29715
29860
  border-radius: 6px;
@@ -29718,23 +29863,23 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
29718
29863
  padding: 2px;
29719
29864
  vertical-align: middle;
29720
29865
  }
29721
- .cn-facts-widget__icon-button[data-v-e1992d24]:hover,
29722
- .cn-facts-widget__icon-button[data-v-e1992d24]:focus-visible {
29866
+ .cn-facts-widget__icon-button[data-v-c2fcc10e]:hover,
29867
+ .cn-facts-widget__icon-button[data-v-c2fcc10e]:focus-visible {
29723
29868
  background: var(--color-background-hover);
29724
29869
  color: var(--color-main-text);
29725
29870
  }
29726
- .cn-facts-widget__text[data-v-e1992d24] {
29871
+ .cn-facts-widget__text[data-v-c2fcc10e] {
29727
29872
  color: var(--color-main-text);
29728
29873
  font-size: 15px;
29729
29874
  }
29730
29875
 
29731
29876
  /* A lead: an icon tile or initials beside a bold title and a muted subtitle. */
29732
- .cn-facts-widget__lead[data-v-e1992d24] {
29877
+ .cn-facts-widget__lead[data-v-c2fcc10e] {
29733
29878
  align-items: center;
29734
29879
  display: flex;
29735
29880
  gap: 12px;
29736
29881
  }
29737
- .cn-facts-widget__lead-tile[data-v-e1992d24] {
29882
+ .cn-facts-widget__lead-tile[data-v-c2fcc10e] {
29738
29883
  align-items: center;
29739
29884
  background: var(--color-background-dark);
29740
29885
  border-radius: 8px;
@@ -29747,29 +29892,29 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
29747
29892
  justify-content: center;
29748
29893
  width: 40px;
29749
29894
  }
29750
- .cn-facts-widget__lead-tile--success[data-v-e1992d24] {
29895
+ .cn-facts-widget__lead-tile--success[data-v-c2fcc10e] {
29751
29896
  background: color-mix(in srgb, var(--color-success) 14%, var(--color-main-background));
29752
29897
  border-radius: 50%;
29753
29898
  color: var(--color-success-text, var(--color-success));
29754
29899
  }
29755
- .cn-facts-widget__lead-tile--info[data-v-e1992d24] {
29900
+ .cn-facts-widget__lead-tile--info[data-v-c2fcc10e] {
29756
29901
  background: var(--color-primary-element-light);
29757
29902
  border-radius: 50%;
29758
29903
  color: var(--color-primary-element-light-text, var(--color-primary-element));
29759
29904
  }
29760
- .cn-facts-widget__lead-text[data-v-e1992d24] {
29905
+ .cn-facts-widget__lead-text[data-v-c2fcc10e] {
29761
29906
  display: flex;
29762
29907
  flex-direction: column;
29763
29908
  min-width: 0;
29764
29909
  }
29765
- .cn-facts-widget__lead-title[data-v-e1992d24] {
29910
+ .cn-facts-widget__lead-title[data-v-c2fcc10e] {
29766
29911
  font-size: 15px;
29767
29912
  }
29768
- .cn-facts-widget__lead-subtitle[data-v-e1992d24] {
29913
+ .cn-facts-widget__lead-subtitle[data-v-c2fcc10e] {
29769
29914
  color: var(--color-text-maxcontrast);
29770
29915
  font-size: 13px;
29771
29916
  }
29772
- .cn-facts-widget__action[data-v-e1992d24] {
29917
+ .cn-facts-widget__action[data-v-c2fcc10e] {
29773
29918
  align-self: flex-start;
29774
29919
  background: var(--color-primary-element-light);
29775
29920
  border: 0;
@@ -29781,17 +29926,107 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
29781
29926
  min-height: 32px;
29782
29927
  padding: 0 14px;
29783
29928
  }
29784
- .cn-facts-widget__action[data-v-e1992d24]:hover,
29785
- .cn-facts-widget__action[data-v-e1992d24]:focus-visible {
29929
+ .cn-facts-widget__action[data-v-c2fcc10e]:hover,
29930
+ .cn-facts-widget__action[data-v-c2fcc10e]:focus-visible {
29786
29931
  background: var(--color-primary-element-light-hover, var(--color-primary-element-light));
29787
29932
  }
29788
- .cn-facts-widget__link[data-v-e1992d24] {
29933
+ .cn-facts-widget__link[data-v-c2fcc10e] {
29789
29934
  font-size: 14px;
29790
29935
  font-weight: 600;
29791
29936
  color: var(--color-primary-element);
29792
29937
  text-decoration: underline;
29793
29938
  }
29794
29939
 
29940
+ /* `columns: 2` (board DqContact): two columns, the label above the value, a
29941
+ hairline under each fact; one column on a phone. */
29942
+ .cn-facts-widget__rows--columns[data-v-c2fcc10e] {
29943
+ grid-template-columns: repeat(2, minmax(0, 1fr));
29944
+ gap: 14px 24px;
29945
+ font-size: 15px;
29946
+ }
29947
+ .cn-facts-widget__rows--columns .cn-facts-widget__row[data-v-c2fcc10e] {
29948
+ display: flex;
29949
+ flex-direction: column;
29950
+ gap: 3px;
29951
+ min-width: 0;
29952
+ padding-bottom: 10px;
29953
+ border-bottom: 1px solid var(--color-border);
29954
+ }
29955
+ .cn-facts-widget__rows--columns .cn-facts-widget__label.cn-facts-widget__label[data-v-c2fcc10e] {
29956
+ font-size: 13px;
29957
+ }
29958
+ @media (max-width: 640px) {
29959
+ .cn-facts-widget__rows--columns[data-v-c2fcc10e] {
29960
+ grid-template-columns: minmax(0, 1fr);
29961
+ }
29962
+ }
29963
+
29964
+
29965
+ .cn-device-frames-widget[data-v-05f76090] {
29966
+ display: flex;
29967
+ flex-wrap: wrap;
29968
+ align-items: flex-start;
29969
+ gap: 20px;
29970
+ }
29971
+ .cn-device-frames-widget__frame[data-v-05f76090] {
29972
+ display: flex;
29973
+ flex: none;
29974
+ flex-direction: column;
29975
+ width: var(--cn-device-frame-width, 350px);
29976
+ max-width: 100%;
29977
+ min-height: 600px;
29978
+ box-sizing: border-box;
29979
+ overflow: hidden;
29980
+ border: 10px solid var(--color-main-text);
29981
+ border-radius: 36px;
29982
+ background: var(--color-background-hover);
29983
+ }
29984
+ .cn-device-frames-widget__head[data-v-05f76090] {
29985
+ display: flex;
29986
+ flex-direction: column;
29987
+ gap: 6px;
29988
+ padding: 14px 18px 10px;
29989
+ border-bottom: 1px solid var(--color-border);
29990
+ background: var(--color-main-background);
29991
+ }
29992
+ .cn-device-frames-widget__status[data-v-05f76090] {
29993
+ display: inline-flex;
29994
+ align-items: center;
29995
+ gap: 6px;
29996
+ font-size: 13px;
29997
+ font-weight: 600;
29998
+ }
29999
+ .cn-device-frames-widget__status--warning[data-v-05f76090] {
30000
+ color: var(--color-warning-text, var(--color-main-text));
30001
+ }
30002
+ .cn-device-frames-widget__status--success[data-v-05f76090] {
30003
+ color: var(--color-success-text, var(--color-main-text));
30004
+ }
30005
+ .cn-device-frames-widget__status--info[data-v-05f76090] {
30006
+ color: var(--color-text-maxcontrast);
30007
+ }
30008
+ .cn-device-frames-widget__title[data-v-05f76090] {
30009
+ margin: 0;
30010
+ font-size: 20px;
30011
+ font-weight: 700;
30012
+ }
30013
+ .cn-device-frames-widget__body[data-v-05f76090] {
30014
+ display: flex;
30015
+ flex-direction: column;
30016
+ gap: 12px;
30017
+ padding: 14px;
30018
+ }
30019
+
30020
+ /* On a phone the frame is the screen: no bezel, the full width. */
30021
+ @media (max-width: 640px) {
30022
+ .cn-device-frames-widget__frame[data-v-05f76090] {
30023
+ width: 100%;
30024
+ min-height: 0;
30025
+ border-width: 0;
30026
+ border-radius: var(--cn-board-card-radius, 12px);
30027
+ }
30028
+ }
30029
+
29795
30030
 
29796
30031
  .cn-field-list-widget[data-v-643f1dd6] {
29797
30032
  display: flex;
@@ -30411,27 +30646,43 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
30411
30646
  }
30412
30647
 
30413
30648
 
30414
- .cn-record-list__list[data-v-d793cb0e] {
30649
+ .cn-record-list__list[data-v-b768fcd6] {
30415
30650
  list-style: none;
30416
30651
  margin: 0;
30417
30652
  padding: 0;
30418
30653
  }
30419
- .cn-record-list__empty[data-v-d793cb0e],
30420
- .cn-record-list__error[data-v-d793cb0e] {
30654
+ .cn-record-list__empty[data-v-b768fcd6],
30655
+ .cn-record-list__error[data-v-b768fcd6] {
30421
30656
  color: var(--color-text-maxcontrast);
30422
30657
  margin: 0;
30423
30658
  }
30424
- .cn-record-list__loading[data-v-d793cb0e] {
30659
+ .cn-record-list__loading[data-v-b768fcd6] {
30425
30660
  display: flex;
30426
30661
  justify-content: center;
30427
30662
  padding: 8px 0;
30428
30663
  }
30429
30664
 
30430
30665
  /* rows */
30431
- .cn-record-list--rows .cn-record-list__item + .cn-record-list__item[data-v-d793cb0e] {
30666
+ .cn-record-list--rows .cn-record-list__item + .cn-record-list__item[data-v-b768fcd6] {
30432
30667
  border-top: 1px solid var(--color-border);
30433
30668
  }
30434
- .cn-record-list__row[data-v-d793cb0e] {
30669
+ .cn-record-list__bar[data-v-b768fcd6] {
30670
+ background: var(--color-border);
30671
+ border-radius: 3px;
30672
+ display: block;
30673
+ height: 6px;
30674
+ margin: -6px 0 12px;
30675
+ overflow: hidden;
30676
+ }
30677
+ .cn-record-list__bar-fill[data-v-b768fcd6] {
30678
+ background: var(--color-primary-element);
30679
+ display: block;
30680
+ height: 100%;
30681
+ }
30682
+ .cn-record-list__bar--over .cn-record-list__bar-fill[data-v-b768fcd6] {
30683
+ background: var(--color-error);
30684
+ }
30685
+ .cn-record-list__row[data-v-b768fcd6] {
30435
30686
  align-items: center;
30436
30687
  color: var(--color-main-text);
30437
30688
  display: flex;
@@ -30439,11 +30690,11 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
30439
30690
  padding: 12px 0;
30440
30691
  text-decoration: none;
30441
30692
  }
30442
- .cn-record-list__row--link:hover .cn-record-list__title[data-v-d793cb0e],
30443
- .cn-record-list__row--link:focus-visible .cn-record-list__title[data-v-d793cb0e] {
30693
+ .cn-record-list__row--link:hover .cn-record-list__title[data-v-b768fcd6],
30694
+ .cn-record-list__row--link:focus-visible .cn-record-list__title[data-v-b768fcd6] {
30444
30695
  text-decoration: underline;
30445
30696
  }
30446
- .cn-record-list__avatar[data-v-d793cb0e] {
30697
+ .cn-record-list__avatar[data-v-b768fcd6] {
30447
30698
  align-items: center;
30448
30699
  background: var(--color-background-hover);
30449
30700
  border-radius: 50%;
@@ -30456,67 +30707,67 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
30456
30707
  justify-content: center;
30457
30708
  width: 36px;
30458
30709
  }
30459
- .cn-record-list__main[data-v-d793cb0e] {
30710
+ .cn-record-list__main[data-v-b768fcd6] {
30460
30711
  display: flex;
30461
30712
  flex: 1 1 auto;
30462
30713
  flex-direction: column;
30463
30714
  gap: 2px;
30464
30715
  min-width: 0;
30465
30716
  }
30466
- .cn-record-list__title[data-v-d793cb0e] {
30717
+ .cn-record-list__title[data-v-b768fcd6] {
30467
30718
  font-size: 15px;
30468
30719
  font-weight: 700;
30469
30720
  }
30470
- .cn-record-list__meta[data-v-d793cb0e] {
30721
+ .cn-record-list__meta[data-v-b768fcd6] {
30471
30722
  color: var(--color-text-maxcontrast);
30472
30723
  font-size: 13px;
30473
30724
  }
30474
- .cn-record-list__aside[data-v-d793cb0e] {
30725
+ .cn-record-list__aside[data-v-b768fcd6] {
30475
30726
  align-items: center;
30476
30727
  display: flex;
30477
30728
  flex: none;
30478
30729
  gap: 16px;
30479
30730
  }
30480
- .cn-record-list__trailing[data-v-d793cb0e] {
30731
+ .cn-record-list__trailing[data-v-b768fcd6] {
30481
30732
  font-size: 14px;
30482
30733
  white-space: nowrap;
30483
30734
  }
30484
- .cn-record-list__due[data-v-d793cb0e] {
30735
+ .cn-record-list__due[data-v-b768fcd6] {
30485
30736
  font-size: 14px;
30486
30737
  white-space: nowrap;
30487
30738
  }
30488
- .cn-record-list__due--danger[data-v-d793cb0e] {
30739
+ .cn-record-list__due--danger[data-v-b768fcd6] {
30489
30740
  color: var(--color-text-error, var(--color-error-text));
30490
30741
  font-weight: 600;
30491
30742
  }
30492
- .cn-record-list__due--empty[data-v-d793cb0e] {
30743
+ .cn-record-list__due--empty[data-v-b768fcd6] {
30493
30744
  color: var(--color-text-maxcontrast);
30494
30745
  }
30495
- .cn-record-list__row--action[data-v-d793cb0e] {
30746
+ .cn-record-list__row--action[data-v-b768fcd6] {
30496
30747
  flex-wrap: wrap;
30497
30748
  gap: 8px 16px;
30498
30749
  padding: 14px 0;
30499
30750
  }
30500
- .cn-record-list__row--action .cn-record-list__main[data-v-d793cb0e] {
30751
+ .cn-record-list__row--action .cn-record-list__main[data-v-b768fcd6] {
30501
30752
  flex: 1 1 280px;
30502
30753
  gap: 3px;
30503
30754
  }
30504
- .cn-record-list__title--link[data-v-d793cb0e] {
30755
+ .cn-record-list__title--link[data-v-b768fcd6] {
30505
30756
  color: var(--color-main-text);
30506
30757
  text-decoration: underline;
30507
30758
  }
30508
- .cn-record-list__pills[data-v-d793cb0e] {
30759
+ .cn-record-list__pills[data-v-b768fcd6] {
30509
30760
  display: flex;
30510
30761
  flex: 0 0 120px;
30511
30762
  gap: 6px;
30512
30763
  justify-content: flex-end;
30513
30764
  }
30514
- .cn-record-list__due--column[data-v-d793cb0e] {
30765
+ .cn-record-list__due--column[data-v-b768fcd6] {
30515
30766
  flex: 0 0 96px;
30516
30767
  font-size: 13px;
30517
30768
  text-align: end;
30518
30769
  }
30519
- .cn-record-list__action[data-v-d793cb0e] {
30770
+ .cn-record-list__action[data-v-b768fcd6] {
30520
30771
  align-items: center;
30521
30772
  background: var(--color-primary-element-light);
30522
30773
  border: 0;
@@ -30533,23 +30784,23 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
30533
30784
  padding: 0 14px;
30534
30785
  text-decoration: none;
30535
30786
  }
30536
- .cn-record-list__action[data-v-d793cb0e]:hover,
30537
- .cn-record-list__action[data-v-d793cb0e]:focus-visible {
30787
+ .cn-record-list__action[data-v-b768fcd6]:hover,
30788
+ .cn-record-list__action[data-v-b768fcd6]:focus-visible {
30538
30789
  background: var(--color-primary-element-light-hover, var(--color-primary-element-light));
30539
30790
  }
30540
- .cn-record-list__chevron[data-v-d793cb0e] {
30791
+ .cn-record-list__chevron[data-v-b768fcd6] {
30541
30792
  color: var(--color-text-maxcontrast);
30542
30793
  flex: none;
30543
30794
  }
30544
30795
 
30545
30796
  /* cards (board ShBank): a grid of framed cards, 240px at the least. */
30546
- .cn-record-list--cards .cn-record-list__list[data-v-d793cb0e] {
30797
+ .cn-record-list--cards .cn-record-list__list[data-v-b768fcd6] {
30547
30798
  align-items: start;
30548
30799
  display: grid;
30549
30800
  gap: 16px;
30550
30801
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
30551
30802
  }
30552
- .cn-record-list__card[data-v-d793cb0e] {
30803
+ .cn-record-list__card[data-v-b768fcd6] {
30553
30804
  background: var(--color-main-background);
30554
30805
  border: 1px solid var(--color-border);
30555
30806
  border-radius: 12px;
@@ -30561,51 +30812,51 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
30561
30812
  padding: 16px 18px;
30562
30813
  text-decoration: none;
30563
30814
  }
30564
- .cn-record-list__card--link[data-v-d793cb0e]:hover,
30565
- .cn-record-list__card--link[data-v-d793cb0e]:focus-visible {
30815
+ .cn-record-list__card--link[data-v-b768fcd6]:hover,
30816
+ .cn-record-list__card--link[data-v-b768fcd6]:focus-visible {
30566
30817
  border-color: var(--color-border-dark, var(--color-border));
30567
30818
  }
30568
- .cn-record-list__card--link:hover .cn-record-list__title[data-v-d793cb0e],
30569
- .cn-record-list__card--link:focus-visible .cn-record-list__title[data-v-d793cb0e] {
30819
+ .cn-record-list__card--link:hover .cn-record-list__title[data-v-b768fcd6],
30820
+ .cn-record-list__card--link:focus-visible .cn-record-list__title[data-v-b768fcd6] {
30570
30821
  text-decoration: underline;
30571
30822
  }
30572
- .cn-record-list__card-head[data-v-d793cb0e] {
30823
+ .cn-record-list__card-head[data-v-b768fcd6] {
30573
30824
  align-items: center;
30574
30825
  display: flex;
30575
30826
  gap: 8px;
30576
30827
  justify-content: space-between;
30577
30828
  }
30578
- .cn-record-list__card-title[data-v-d793cb0e] {
30829
+ .cn-record-list__card-title[data-v-b768fcd6] {
30579
30830
  align-items: center;
30580
30831
  display: flex;
30581
30832
  gap: 8px;
30582
30833
  min-width: 0;
30583
30834
  }
30584
- .cn-record-list__card-icon[data-v-d793cb0e] {
30835
+ .cn-record-list__card-icon[data-v-b768fcd6] {
30585
30836
  color: var(--color-primary-element);
30586
30837
  flex: none;
30587
30838
  }
30588
- .cn-record-list__card-pills[data-v-d793cb0e] {
30839
+ .cn-record-list__card-pills[data-v-b768fcd6] {
30589
30840
  display: flex;
30590
30841
  flex: none;
30591
30842
  gap: 6px;
30592
30843
  }
30593
- .cn-record-list__card-value[data-v-d793cb0e] {
30844
+ .cn-record-list__card-value[data-v-b768fcd6] {
30594
30845
  font-size: 24px;
30595
30846
  font-weight: 700;
30596
30847
  }
30597
30848
 
30598
30849
  /* feed */
30599
- .cn-record-list--feed .cn-record-list__item + .cn-record-list__item[data-v-d793cb0e] {
30850
+ .cn-record-list--feed .cn-record-list__item + .cn-record-list__item[data-v-b768fcd6] {
30600
30851
  border-top: 1px solid var(--color-border);
30601
30852
  }
30602
- .cn-record-list__feed-row[data-v-d793cb0e] {
30853
+ .cn-record-list__feed-row[data-v-b768fcd6] {
30603
30854
  align-items: flex-start;
30604
30855
  display: flex;
30605
30856
  gap: 14px;
30606
30857
  padding: 12px 0;
30607
30858
  }
30608
- .cn-record-list__feed-icon[data-v-d793cb0e] {
30859
+ .cn-record-list__feed-icon[data-v-b768fcd6] {
30609
30860
  align-items: center;
30610
30861
  background: var(--color-primary-element-light);
30611
30862
  border-radius: 50%;
@@ -30616,25 +30867,25 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
30616
30867
  justify-content: center;
30617
30868
  width: 36px;
30618
30869
  }
30619
- .cn-record-list__text[data-v-d793cb0e] {
30870
+ .cn-record-list__text[data-v-b768fcd6] {
30620
30871
  font-size: 15px;
30621
30872
  }
30622
- .cn-record-list--feed .cn-record-list__main[data-v-d793cb0e] {
30873
+ .cn-record-list--feed .cn-record-list__main[data-v-b768fcd6] {
30623
30874
  color: var(--color-main-text);
30624
30875
  text-decoration: none;
30625
30876
  }
30626
30877
 
30627
30878
  /* inline */
30628
- .cn-record-list__inline-row[data-v-d793cb0e] {
30879
+ .cn-record-list__inline-row[data-v-b768fcd6] {
30629
30880
  padding: 4px 0;
30630
30881
  }
30631
- .cn-record-list__label[data-v-d793cb0e] {
30882
+ .cn-record-list__label[data-v-b768fcd6] {
30632
30883
  margin-inline-end: 4px;
30633
30884
  }
30634
- .cn-record-list__inline-title[data-v-d793cb0e] {
30885
+ .cn-record-list__inline-title[data-v-b768fcd6] {
30635
30886
  color: var(--color-main-text);
30636
30887
  }
30637
- a.cn-record-list__inline-title[data-v-d793cb0e] {
30888
+ a.cn-record-list__inline-title[data-v-b768fcd6] {
30638
30889
  color: var(--color-primary-element);
30639
30890
  text-decoration: underline;
30640
30891
  }
@@ -31581,40 +31832,40 @@ a.cn-record-list__inline-title[data-v-d793cb0e] {
31581
31832
  }
31582
31833
 
31583
31834
 
31584
- .cn-version-info__card[data-v-52e4d484] {
31835
+ .cn-version-info__card[data-v-95a2bdce] {
31585
31836
  background: var(--color-background-hover);
31586
31837
  border: 1px solid var(--color-border);
31587
31838
  border-radius: var(--border-radius-large);
31588
31839
  padding: 20px;
31589
31840
  margin-bottom: 20px;
31590
31841
  }
31591
- .cn-version-info__card h4[data-v-52e4d484] {
31842
+ .cn-version-info__card h4[data-v-95a2bdce] {
31592
31843
  margin: 0 0 16px 0;
31593
31844
  font-size: 16px;
31594
31845
  font-weight: 600;
31595
31846
  color: var(--color-main-text);
31596
31847
  }
31597
- .cn-version-info__details[data-v-52e4d484] {
31848
+ .cn-version-info__details[data-v-95a2bdce] {
31598
31849
  display: flex;
31599
31850
  flex-direction: column;
31600
31851
  gap: 12px;
31601
31852
  }
31602
- .cn-version-info__item[data-v-52e4d484] {
31853
+ .cn-version-info__item[data-v-95a2bdce] {
31603
31854
  display: flex;
31604
31855
  justify-content: space-between;
31605
31856
  align-items: center;
31606
31857
  padding: 8px 0;
31607
31858
  border-bottom: 1px solid var(--color-border);
31608
31859
  }
31609
- .cn-version-info__item[data-v-52e4d484]:last-child {
31860
+ .cn-version-info__item[data-v-95a2bdce]:last-child {
31610
31861
  border-bottom: none;
31611
31862
  }
31612
- .cn-version-info__label[data-v-52e4d484] {
31863
+ .cn-version-info__label[data-v-95a2bdce] {
31613
31864
  font-weight: 500;
31614
31865
  color: var(--color-text-maxcontrast);
31615
31866
  font-size: 14px;
31616
31867
  }
31617
- .cn-version-info__value[data-v-52e4d484] {
31868
+ .cn-version-info__value[data-v-95a2bdce] {
31618
31869
  font-family: 'Courier New', Courier, monospace;
31619
31870
  font-weight: 600;
31620
31871
  color: var(--color-main-text);
@@ -31622,28 +31873,28 @@ a.cn-record-list__inline-title[data-v-d793cb0e] {
31622
31873
  }
31623
31874
 
31624
31875
  /* Status classes for values */
31625
- .cn-version-info__status--ok[data-v-52e4d484] {
31876
+ .cn-version-info__status--ok[data-v-95a2bdce] {
31626
31877
  color: var(--color-success);
31627
31878
  font-weight: 600;
31628
31879
  }
31629
- .cn-version-info__status--warning[data-v-52e4d484] {
31880
+ .cn-version-info__status--warning[data-v-95a2bdce] {
31630
31881
  color: var(--color-warning);
31631
31882
  font-weight: 600;
31632
31883
  }
31633
- .cn-version-info__status--error[data-v-52e4d484] {
31884
+ .cn-version-info__status--error[data-v-95a2bdce] {
31634
31885
  color: var(--color-error);
31635
31886
  font-weight: 600;
31636
31887
  }
31637
31888
  @media (max-width: 768px) {
31638
- .cn-version-info__item[data-v-52e4d484] {
31889
+ .cn-version-info__item[data-v-95a2bdce] {
31639
31890
  flex-direction: column;
31640
31891
  align-items: flex-start;
31641
31892
  gap: 4px;
31642
31893
  }
31643
- .cn-version-info__label[data-v-52e4d484] {
31894
+ .cn-version-info__label[data-v-95a2bdce] {
31644
31895
  font-weight: 600;
31645
31896
  }
31646
- .cn-version-info__value[data-v-52e4d484] {
31897
+ .cn-version-info__value[data-v-95a2bdce] {
31647
31898
  word-break: break-all;
31648
31899
  }
31649
31900
  }
@@ -34989,28 +35240,28 @@ to {
34989
35240
  }
34990
35241
 
34991
35242
 
34992
- .cn-admin-settings-shell[data-v-038f200a] {
35243
+ .cn-admin-settings-shell[data-v-29bf49ca] {
34993
35244
  max-width: 900px;
34994
35245
  }
34995
35246
 
34996
35247
  /* The board look lifts the width and lays the header and cards on a grid (look-board.css). */
34997
- .cn-support-info[data-v-038f200a] {
35248
+ .cn-support-info[data-v-29bf49ca] {
34998
35249
  margin-top: 16px;
34999
35250
  padding-top: 16px;
35000
35251
  border-top: 1px solid var(--color-border);
35001
35252
  }
35002
- .cn-support-info h4[data-v-038f200a] {
35253
+ .cn-support-info h4[data-v-29bf49ca] {
35003
35254
  margin: 0 0 8px 0;
35004
35255
  font-size: 14px;
35005
35256
  font-weight: 600;
35006
35257
  color: var(--color-main-text);
35007
35258
  }
35008
- .cn-support-info p[data-v-038f200a] {
35259
+ .cn-support-info p[data-v-29bf49ca] {
35009
35260
  margin: 4px 0;
35010
35261
  color: var(--color-text-maxcontrast);
35011
35262
  font-size: 14px;
35012
35263
  }
35013
- .cn-support-info a[data-v-038f200a] {
35264
+ .cn-support-info a[data-v-29bf49ca] {
35014
35265
  color: var(--color-primary-element);
35015
35266
  }
35016
35267
 
@@ -37837,30 +38088,30 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
37837
38088
  }
37838
38089
 
37839
38090
 
37840
- .cn-register-mapping__group[data-v-8d3cad98] {
38091
+ .cn-register-mapping__group[data-v-750be28c] {
37841
38092
  margin-bottom: 24px;
37842
38093
  border: 1px solid var(--color-border);
37843
38094
  border-radius: var(--border-radius-large);
37844
38095
  padding: 20px;
37845
38096
  background: var(--color-background-hover);
37846
38097
  }
37847
- .cn-register-mapping__group[data-v-8d3cad98]:last-child {
38098
+ .cn-register-mapping__group[data-v-750be28c]:last-child {
37848
38099
  margin-bottom: 0;
37849
38100
  }
37850
- .cn-register-mapping__group-header[data-v-8d3cad98] {
38101
+ .cn-register-mapping__group-header[data-v-750be28c] {
37851
38102
  display: flex;
37852
38103
  align-items: center;
37853
38104
  justify-content: space-between;
37854
38105
  margin-bottom: 12px;
37855
38106
  }
37856
- .cn-register-mapping__group-heading[data-v-8d3cad98] {
38107
+ .cn-register-mapping__group-heading[data-v-750be28c] {
37857
38108
  margin: 0 0 12px;
37858
38109
  font: inherit;
37859
38110
  }
37860
- .cn-register-mapping__group--collapsed .cn-register-mapping__group-heading[data-v-8d3cad98] {
38111
+ .cn-register-mapping__group--collapsed .cn-register-mapping__group-heading[data-v-750be28c] {
37861
38112
  margin-bottom: 0;
37862
38113
  }
37863
- .cn-register-mapping__group-toggle[data-v-8d3cad98] {
38114
+ .cn-register-mapping__group-toggle[data-v-750be28c] {
37864
38115
  box-sizing: border-box;
37865
38116
  display: flex;
37866
38117
  align-items: center;
@@ -37876,49 +38127,49 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
37876
38127
  text-align: start;
37877
38128
  cursor: pointer;
37878
38129
  }
37879
- .cn-register-mapping__group-toggle[data-v-8d3cad98]:focus-visible {
38130
+ .cn-register-mapping__group-toggle[data-v-750be28c]:focus-visible {
37880
38131
  outline: 2px solid var(--color-primary-element);
37881
38132
  outline-offset: 2px;
37882
38133
  border-radius: var(--border-radius);
37883
38134
  }
37884
- .cn-register-mapping__group-chevron[data-v-8d3cad98] {
38135
+ .cn-register-mapping__group-chevron[data-v-750be28c] {
37885
38136
  display: inline-flex;
37886
38137
  flex: none;
37887
38138
  color: var(--color-text-maxcontrast);
37888
38139
  }
37889
- .cn-register-mapping__group-toggle .cn-register-mapping__group-header[data-v-8d3cad98] {
38140
+ .cn-register-mapping__group-toggle .cn-register-mapping__group-header[data-v-750be28c] {
37890
38141
  flex: 1 1 auto;
37891
38142
  flex-wrap: wrap;
37892
38143
  gap: 4px 12px;
37893
38144
  min-width: 0;
37894
38145
  margin-bottom: 0;
37895
38146
  }
37896
- .cn-register-mapping__group-title[data-v-8d3cad98] {
38147
+ .cn-register-mapping__group-title[data-v-750be28c] {
37897
38148
  font-size: 16px;
37898
38149
  font-weight: 600;
37899
38150
  margin: 0;
37900
38151
  color: var(--color-main-text);
37901
38152
  }
37902
- .cn-register-mapping__group-status[data-v-8d3cad98] {
38153
+ .cn-register-mapping__group-status[data-v-750be28c] {
37903
38154
  font-size: 13px;
37904
38155
  color: var(--color-text-maxcontrast);
37905
38156
  }
37906
- .cn-register-mapping__group-description[data-v-8d3cad98] {
38157
+ .cn-register-mapping__group-description[data-v-750be28c] {
37907
38158
  color: var(--color-text-maxcontrast);
37908
38159
  font-size: 13px;
37909
38160
  margin: 0 0 12px 0;
37910
38161
  }
37911
- .cn-register-mapping__register-select[data-v-8d3cad98] {
38162
+ .cn-register-mapping__register-select[data-v-750be28c] {
37912
38163
  margin-bottom: 16px;
37913
38164
  max-width: 400px;
37914
38165
  }
37915
- .cn-register-mapping__type-list[data-v-8d3cad98] {
38166
+ .cn-register-mapping__type-list[data-v-750be28c] {
37916
38167
  border: 1px solid var(--color-border);
37917
38168
  border-radius: var(--border-radius);
37918
38169
  overflow: hidden;
37919
38170
  background: var(--color-main-background);
37920
38171
  }
37921
- .cn-register-mapping__type-list-header[data-v-8d3cad98] {
38172
+ .cn-register-mapping__type-list-header[data-v-750be28c] {
37922
38173
  display: grid;
37923
38174
  grid-template-columns: 1fr 1fr 40px 32px;
37924
38175
  align-items: center;
@@ -37931,7 +38182,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
37931
38182
  border-bottom: 1px solid var(--color-border);
37932
38183
  background: var(--color-background-hover);
37933
38184
  }
37934
- .cn-register-mapping__type-row[data-v-8d3cad98] {
38185
+ .cn-register-mapping__type-row[data-v-750be28c] {
37935
38186
  display: grid;
37936
38187
  grid-template-columns: 1fr 1fr 40px 32px;
37937
38188
  align-items: center;
@@ -37940,61 +38191,195 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
37940
38191
  cursor: pointer;
37941
38192
  transition: background-color 0.15s ease;
37942
38193
  }
37943
- .cn-register-mapping__type-row[data-v-8d3cad98]:hover {
38194
+ .cn-register-mapping__type-row[data-v-750be28c]:hover {
37944
38195
  background: var(--color-background-hover);
37945
38196
  }
37946
- .cn-register-mapping__type-row--expanded[data-v-8d3cad98] {
38197
+ .cn-register-mapping__type-row--expanded[data-v-750be28c] {
37947
38198
  background: var(--color-background-hover);
37948
38199
  }
37949
- .cn-register-mapping__type-name[data-v-8d3cad98] {
38200
+ .cn-register-mapping__type-name[data-v-750be28c] {
37950
38201
  font-weight: 500;
37951
38202
  color: var(--color-main-text);
37952
38203
  }
37953
- .cn-register-mapping__type-schema[data-v-8d3cad98] {
38204
+ .cn-register-mapping__type-schema[data-v-750be28c] {
37954
38205
  color: var(--color-text-maxcontrast);
37955
38206
  font-size: 13px;
37956
38207
  }
37957
- .cn-register-mapping__type-status[data-v-8d3cad98] {
38208
+ .cn-register-mapping__type-status[data-v-750be28c] {
37958
38209
  display: flex;
37959
38210
  justify-content: center;
37960
38211
  }
37961
- .cn-register-mapping__type-chevron[data-v-8d3cad98] {
38212
+ .cn-register-mapping__type-chevron[data-v-750be28c] {
37962
38213
  display: flex;
37963
38214
  justify-content: center;
37964
38215
  color: var(--color-text-maxcontrast);
37965
38216
  }
37966
- .cn-register-mapping__status-dot[data-v-8d3cad98] {
38217
+ .cn-register-mapping__status-dot[data-v-750be28c] {
37967
38218
  display: inline-block;
37968
38219
  width: 10px;
37969
38220
  height: 10px;
37970
38221
  border-radius: 50%;
37971
38222
  }
37972
- .cn-register-mapping__status-dot--configured[data-v-8d3cad98] {
38223
+ .cn-register-mapping__status-dot--configured[data-v-750be28c] {
37973
38224
  background-color: var(--color-success);
37974
38225
  }
37975
- .cn-register-mapping__status-dot--unconfigured[data-v-8d3cad98] {
38226
+ .cn-register-mapping__status-dot--unconfigured[data-v-750be28c] {
37976
38227
  background-color: var(--color-warning);
37977
38228
  }
37978
- .cn-register-mapping__type-detail[data-v-8d3cad98] {
38229
+ .cn-register-mapping__type-detail[data-v-750be28c] {
37979
38230
  padding: 12px 16px 16px;
37980
38231
  border-bottom: 1px solid var(--color-border);
37981
38232
  background: var(--color-main-background);
37982
38233
  }
37983
- .cn-register-mapping__type-description[data-v-8d3cad98] {
38234
+ .cn-register-mapping__type-description[data-v-750be28c] {
37984
38235
  color: var(--color-text-maxcontrast);
37985
38236
  font-size: 13px;
37986
38237
  margin: 0 0 8px 0;
37987
38238
  }
37988
38239
 
38240
+ /* Board look (PqBeheer): one open group, compact rows for the others. */
38241
+ .cn-register-mapping--board[data-v-750be28c] {
38242
+ display: flex;
38243
+ flex-direction: column;
38244
+ gap: 14px;
38245
+ }
38246
+ .cn-register-mapping__board-group[data-v-750be28c] {
38247
+ display: flex;
38248
+ flex-direction: column;
38249
+ gap: 10px;
38250
+ padding: 14px;
38251
+ border: 1px solid var(--color-border);
38252
+ border-radius: var(--border-radius-large);
38253
+ }
38254
+ .cn-register-mapping__board-head[data-v-750be28c] {
38255
+ display: flex;
38256
+ flex-wrap: wrap;
38257
+ align-items: flex-start;
38258
+ justify-content: space-between;
38259
+ gap: 10px 16px;
38260
+ }
38261
+ .cn-register-mapping__board-title[data-v-750be28c] {
38262
+ margin: 0;
38263
+ font-size: 15px;
38264
+ font-weight: 700;
38265
+ }
38266
+ .cn-register-mapping__board-select[data-v-750be28c] {
38267
+ max-width: 400px;
38268
+ margin-bottom: 0;
38269
+ }
38270
+ .cn-register-mapping__board-table[data-v-750be28c] {
38271
+ width: 100%;
38272
+ border-collapse: collapse;
38273
+ }
38274
+ .cn-register-mapping__board-table th[data-v-750be28c] {
38275
+ padding: 8px 12px 8px 0;
38276
+ border-bottom: 1px solid var(--color-border);
38277
+ font-size: 13px;
38278
+ font-weight: 600;
38279
+ color: var(--color-text-maxcontrast);
38280
+ text-align: start;
38281
+ white-space: nowrap;
38282
+ }
38283
+ .cn-register-mapping__board-table td[data-v-750be28c] {
38284
+ padding: 10px 12px 10px 0;
38285
+ border-bottom: 1px solid var(--color-border);
38286
+ font-size: 14px;
38287
+ vertical-align: middle;
38288
+ }
38289
+ .cn-register-mapping__board-schema[data-v-750be28c] {
38290
+ display: inline-flex;
38291
+ align-items: center;
38292
+ gap: 6px;
38293
+ min-height: 32px;
38294
+ margin: 0;
38295
+ padding: 0;
38296
+ border: 0;
38297
+ background: transparent;
38298
+ color: inherit;
38299
+ font: inherit;
38300
+ text-align: start;
38301
+ cursor: pointer;
38302
+ }
38303
+ .cn-register-mapping__board-schema[data-v-750be28c]:hover {
38304
+ text-decoration: underline;
38305
+ }
38306
+ .cn-register-mapping__board-schema[data-v-750be28c]:focus-visible,
38307
+ .cn-register-mapping__board-link[data-v-750be28c]:focus-visible,
38308
+ .cn-register-mapping__board-group-row[data-v-750be28c]:focus-visible {
38309
+ outline: 2px solid var(--color-primary-element);
38310
+ outline-offset: 2px;
38311
+ border-radius: var(--border-radius);
38312
+ }
38313
+ .cn-register-mapping__board-check[data-v-750be28c] {
38314
+ color: var(--color-success-text, var(--color-success));
38315
+ }
38316
+ .cn-register-mapping__board-more[data-v-750be28c] {
38317
+ margin: 0;
38318
+ font-size: 13px;
38319
+ line-height: 1.4;
38320
+ color: var(--color-text-maxcontrast);
38321
+ }
38322
+ .cn-register-mapping__board-link[data-v-750be28c] {
38323
+ margin: 0;
38324
+ padding: 0;
38325
+ border: 0;
38326
+ background: transparent;
38327
+ color: var(--color-primary-element);
38328
+ font: inherit;
38329
+ text-decoration: underline;
38330
+ cursor: pointer;
38331
+ }
38332
+ .cn-register-mapping__board-groups[data-v-750be28c] {
38333
+ display: flex;
38334
+ flex-direction: column;
38335
+ margin: 0;
38336
+ padding: 0;
38337
+ list-style: none;
38338
+ }
38339
+ .cn-register-mapping__board-group-row[data-v-750be28c] {
38340
+ display: flex;
38341
+ align-items: center;
38342
+ gap: 10px;
38343
+ width: 100%;
38344
+ min-height: 44px;
38345
+ margin: 0;
38346
+ padding: 10px 2px;
38347
+ border: 0;
38348
+ border-bottom: 1px solid var(--color-border);
38349
+ background: transparent;
38350
+ color: inherit;
38351
+ font: inherit;
38352
+ font-size: 14px;
38353
+ text-align: start;
38354
+ cursor: pointer;
38355
+ }
38356
+ .cn-register-mapping__board-group-row[data-v-750be28c]:hover {
38357
+ background: var(--color-background-hover);
38358
+ }
38359
+ .cn-register-mapping__board-chevron[data-v-750be28c],
38360
+ .cn-register-mapping__board-group-count[data-v-750be28c] {
38361
+ color: var(--color-text-maxcontrast);
38362
+ }
38363
+ .cn-register-mapping__board-group-name[data-v-750be28c] {
38364
+ flex: 1;
38365
+ }
38366
+ .cn-register-mapping__board-save[data-v-750be28c] {
38367
+ display: flex;
38368
+ flex-wrap: wrap;
38369
+ align-items: center;
38370
+ justify-content: flex-end;
38371
+ gap: 10px;
38372
+ }
38373
+
37989
38374
  /* Slide transition */
37990
- .slide-enter-active[data-v-8d3cad98],
37991
- .slide-leave-active[data-v-8d3cad98] {
38375
+ .slide-enter-active[data-v-750be28c],
38376
+ .slide-leave-active[data-v-750be28c] {
37992
38377
  transition: all 0.2s ease;
37993
38378
  max-height: 200px;
37994
38379
  overflow: hidden;
37995
38380
  }
37996
- .slide-enter[data-v-8d3cad98],
37997
- .slide-leave-to[data-v-8d3cad98] {
38381
+ .slide-enter[data-v-750be28c],
38382
+ .slide-leave-to[data-v-750be28c] {
37998
38383
  max-height: 0;
37999
38384
  padding-top: 0;
38000
38385
  padding-bottom: 0;
@@ -38002,20 +38387,20 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
38002
38387
  }
38003
38388
 
38004
38389
  /* Last row in list should not have bottom border */
38005
- .cn-register-mapping__type-list[data-v-8d3cad98] > :last-child {
38390
+ .cn-register-mapping__type-list[data-v-750be28c] > :last-child {
38006
38391
  border-bottom: none;
38007
38392
  }
38008
38393
  @media (max-width: 768px) {
38009
- .cn-register-mapping__type-list-header[data-v-8d3cad98] {
38394
+ .cn-register-mapping__type-list-header[data-v-750be28c] {
38010
38395
  display: none;
38011
38396
  }
38012
- .cn-register-mapping__type-row[data-v-8d3cad98] {
38397
+ .cn-register-mapping__type-row[data-v-750be28c] {
38013
38398
  grid-template-columns: 1fr auto 32px;
38014
38399
  }
38015
- .cn-register-mapping__type-schema[data-v-8d3cad98] {
38400
+ .cn-register-mapping__type-schema[data-v-750be28c] {
38016
38401
  display: none;
38017
38402
  }
38018
- .cn-register-mapping__register-select[data-v-8d3cad98] {
38403
+ .cn-register-mapping__register-select[data-v-750be28c] {
38019
38404
  max-width: none;
38020
38405
  }
38021
38406
  }
@@ -38205,19 +38590,6 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
38205
38590
  }
38206
38591
 
38207
38592
 
38208
- /* `separator`: a text separator in place of the chevron. The chevron's own
38209
- element stays (it carries NcBreadcrumbs' spacing and its "no separator after
38210
- the last crumb" rule); only its icon gives way to the text. */
38211
- .cn-breadcrumbs--text-separator[data-v-54c3381a] .vue-crumb__separator svg {
38212
- display: none;
38213
- }
38214
- .cn-breadcrumbs--text-separator[data-v-54c3381a] .vue-crumb__separator::before {
38215
- content: var(--cn-breadcrumbs-separator);
38216
- padding-inline: var(--cn-breadcrumbs-separator-gap, 0);
38217
- color: var(--color-text-maxcontrast);
38218
- }
38219
-
38220
-
38221
38593
  .cn-relation-link[data-v-6559b00a] {
38222
38594
  padding: 20px;
38223
38595
  display: flex;
@@ -38651,7 +39023,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
38651
39023
  }
38652
39024
 
38653
39025
 
38654
- .cn-dashboard-page[data-v-582eaf2c] {
39026
+ .cn-dashboard-page[data-v-4f9a30ca] {
38655
39027
  padding: 20px;
38656
39028
  max-width: 1800px;
38657
39029
  /* Centre the leftover space once the cap engages, so a wide screen shows
@@ -38665,7 +39037,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
38665
39037
  overflow-y: auto;
38666
39038
  box-sizing: border-box;
38667
39039
  }
38668
- .cn-dashboard-page__header[data-v-582eaf2c] {
39040
+ .cn-dashboard-page__header[data-v-4f9a30ca] {
38669
39041
  display: flex;
38670
39042
  justify-content: space-between;
38671
39043
  align-items: flex-start;
@@ -38677,21 +39049,21 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
38677
39049
  room. Only the HEADER shifts right — body widgets keep full width. */
38678
39050
  padding-inline-start: 56px;
38679
39051
  }
38680
- .cn-dashboard-page__header-left[data-v-582eaf2c] {
39052
+ .cn-dashboard-page__header-left[data-v-4f9a30ca] {
38681
39053
  min-width: 0;
38682
39054
  }
38683
- .cn-dashboard-page__title-row[data-v-582eaf2c] {
39055
+ .cn-dashboard-page__title-row[data-v-4f9a30ca] {
38684
39056
  display: flex;
38685
39057
  align-items: center;
38686
39058
  flex-wrap: wrap;
38687
39059
  gap: 12px;
38688
39060
  }
38689
- .cn-dashboard-page__title[data-v-582eaf2c] {
39061
+ .cn-dashboard-page__title[data-v-4f9a30ca] {
38690
39062
  margin: 0;
38691
39063
  font-size: 20px;
38692
39064
  font-weight: 700;
38693
39065
  }
38694
- .cn-dashboard-page__description[data-v-582eaf2c] {
39066
+ .cn-dashboard-page__description[data-v-4f9a30ca] {
38695
39067
  margin: 4px 0 0;
38696
39068
  font-size: 14px;
38697
39069
  color: var(--color-text-maxcontrast);
@@ -38699,19 +39071,19 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
38699
39071
 
38700
39072
  /* Board look (screens-dashboard-parity): h1 28/700, a 15px grey subtitle 6px
38701
39073
  under it, and 40px buttons with a 10px gap. */
38702
- .cn-dashboard-page--board .cn-dashboard-page__title[data-v-582eaf2c] {
39074
+ .cn-dashboard-page--board .cn-dashboard-page__title[data-v-4f9a30ca] {
38703
39075
  font-size: 28px;
38704
39076
  font-weight: 700;
38705
39077
  line-height: 1.2;
38706
39078
  }
38707
- .cn-dashboard-page--board .cn-dashboard-page__description[data-v-582eaf2c] {
39079
+ .cn-dashboard-page--board .cn-dashboard-page__description[data-v-4f9a30ca] {
38708
39080
  margin: 6px 0 0;
38709
39081
  font-size: 15px;
38710
39082
  }
38711
- .cn-dashboard-page--board .cn-dashboard-page__header-actions[data-v-582eaf2c] {
39083
+ .cn-dashboard-page--board .cn-dashboard-page__header-actions[data-v-4f9a30ca] {
38712
39084
  gap: 10px;
38713
39085
  }
38714
- .cn-dashboard-page--board .cn-dashboard-page__header-actions[data-v-582eaf2c] .button-vue {
39086
+ .cn-dashboard-page--board .cn-dashboard-page__header-actions[data-v-4f9a30ca] .button-vue {
38715
39087
  min-height: var(--cn-board-control-height, 40px);
38716
39088
  height: var(--cn-board-control-height, 40px);
38717
39089
  }
@@ -38719,17 +39091,17 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
38719
39091
  /* The switch row under the header (screens-dashboard-greeting-header): the
38720
39092
  view switch left, the `viewLinks` pills right (DqMijnWerk: pills 34px high,
38721
39093
  radius 17, 13px/600, a 14px icon, primary light on primary deep). */
38722
- .cn-dashboard-page__switch-row[data-v-582eaf2c] {
39094
+ .cn-dashboard-page__switch-row[data-v-4f9a30ca] {
38723
39095
  display: flex;
38724
39096
  flex-wrap: wrap;
38725
39097
  align-items: center;
38726
39098
  gap: 10px;
38727
39099
  margin-bottom: var(--cn-board-section-gap, 20px);
38728
39100
  }
38729
- .cn-dashboard-page__switch-row-spacer[data-v-582eaf2c] {
39101
+ .cn-dashboard-page__switch-row-spacer[data-v-4f9a30ca] {
38730
39102
  flex: 1 1 auto;
38731
39103
  }
38732
- .cn-dashboard-page__view-link[data-v-582eaf2c] {
39104
+ .cn-dashboard-page__view-link[data-v-4f9a30ca] {
38733
39105
  display: inline-flex;
38734
39106
  align-items: center;
38735
39107
  gap: 6px;
@@ -38743,29 +39115,37 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
38743
39115
  white-space: nowrap;
38744
39116
  text-decoration: none !important;
38745
39117
  }
38746
- .cn-dashboard-page__view-link[data-v-582eaf2c]:hover {
39118
+ .cn-dashboard-page__view-link[data-v-4f9a30ca]:hover {
38747
39119
  background: var(--color-primary-element-light-hover, var(--color-primary-element-light));
38748
39120
  }
38749
- .cn-dashboard-page__view-link[data-v-582eaf2c]:focus-visible {
39121
+ .cn-dashboard-page__view-link[data-v-4f9a30ca]:focus-visible {
38750
39122
  outline: 2px solid var(--color-main-text);
38751
39123
  outline-offset: 2px;
38752
39124
  }
38753
- .cn-dashboard-page__view-link-icon[data-v-582eaf2c] {
39125
+ .cn-dashboard-page__view-link-icon[data-v-4f9a30ca] {
38754
39126
  display: inline-flex;
38755
39127
  }
38756
39128
 
38757
39129
  /* The period group, in a row of its own between the header and the KPI row. */
38758
- .cn-dashboard-page__date-range--segmented[data-v-582eaf2c] {
39130
+ .cn-dashboard-page__date-range--segmented[data-v-4f9a30ca] {
38759
39131
  margin-bottom: 16px;
38760
39132
  }
38761
- .cn-dashboard-page__date-segmented[data-v-582eaf2c] {
39133
+
39134
+ /* The period group at the end of the description line. */
39135
+ .cn-dashboard-page__description--with-period[data-v-4f9a30ca] {
39136
+ align-items: center;
39137
+ display: flex;
39138
+ flex-wrap: wrap;
39139
+ gap: 8px;
39140
+ }
39141
+ .cn-dashboard-page__date-segmented[data-v-4f9a30ca] {
38762
39142
  display: flex;
38763
39143
  align-items: center;
38764
39144
  gap: 8px;
38765
39145
  }
38766
39146
 
38767
39147
  /* The KPI row above the grid: tiles are cells of the auto-fit grid. */
38768
- .cn-dashboard-page__kpi-row[data-v-582eaf2c] {
39148
+ .cn-dashboard-page__kpi-row[data-v-4f9a30ca] {
38769
39149
  margin-bottom: var(--cn-board-section-gap, 16px);
38770
39150
  }
38771
39151
 
@@ -38773,15 +39153,15 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
38773
39153
  the cards started a margin to the right of the KPI row and the header. The
38774
39154
  grid reaches out by that margin, so the card edges line up with the page's
38775
39155
  (dashboard-grid-flush). */
38776
- .cn-dashboard-page--board[data-v-582eaf2c] .cn-dashboard-grid {
39156
+ .cn-dashboard-page--board[data-v-4f9a30ca] .cn-dashboard-grid {
38777
39157
  width: auto;
38778
39158
  margin-inline: calc(-1 * var(--cn-dashboard-grid-margin, 12px));
38779
39159
  }
38780
- .cn-dashboard-page__kpi-cell[data-v-582eaf2c] {
39160
+ .cn-dashboard-page__kpi-cell[data-v-4f9a30ca] {
38781
39161
  display: flex;
38782
39162
  min-width: 0;
38783
39163
  }
38784
- .cn-dashboard-page__kpi-cell[data-v-582eaf2c] > * {
39164
+ .cn-dashboard-page__kpi-cell[data-v-4f9a30ca] > * {
38785
39165
  flex: 1 1 auto;
38786
39166
  min-width: 0;
38787
39167
  }
@@ -38794,7 +39174,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
38794
39174
  scoped chip rules then silently don't match and the chip collapses into
38795
39175
  NcActions' ~30px icon slot (text wraps to "Last / 30 / days"). The
38796
39176
  data-testid is stable across chunks, so those rules match regardless. */
38797
- .cn-dashboard-page__header-actions[data-v-582eaf2c] {
39177
+ .cn-dashboard-page__header-actions[data-v-4f9a30ca] {
38798
39178
  display: flex;
38799
39179
  align-items: center;
38800
39180
  gap: 8px;
@@ -38810,19 +39190,19 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
38810
39190
 
38811
39191
  /* Date-range header band. Kept compact so it doesn't open a tall gap
38812
39192
  above the grid; the pills variant is a single tidy toggle row. */
38813
- .cn-dashboard-page__date-range[data-v-582eaf2c] {
39193
+ .cn-dashboard-page__date-range[data-v-4f9a30ca] {
38814
39194
  margin-bottom: 12px;
38815
39195
  }
38816
- .cn-dashboard-page__date-range--pills[data-v-582eaf2c] {
39196
+ .cn-dashboard-page__date-range--pills[data-v-4f9a30ca] {
38817
39197
  margin-bottom: 8px;
38818
39198
  }
38819
- .cn-dashboard-page__date-pills[data-v-582eaf2c] {
39199
+ .cn-dashboard-page__date-pills[data-v-4f9a30ca] {
38820
39200
  display: flex;
38821
39201
  align-items: center;
38822
39202
  flex-wrap: wrap;
38823
39203
  gap: 6px;
38824
39204
  }
38825
- .cn-dashboard-page__date-pill[data-v-582eaf2c] {
39205
+ .cn-dashboard-page__date-pill[data-v-4f9a30ca] {
38826
39206
  display: inline-flex;
38827
39207
  align-items: center;
38828
39208
  padding: 5px 14px;
@@ -38837,77 +39217,77 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
38837
39217
  cursor: pointer;
38838
39218
  transition: background-color 100ms ease, border-color 100ms ease, color 100ms ease;
38839
39219
  }
38840
- .cn-dashboard-page__date-pill[data-v-582eaf2c]:hover {
39220
+ .cn-dashboard-page__date-pill[data-v-4f9a30ca]:hover {
38841
39221
  background: var(--color-background-hover);
38842
39222
  }
38843
- .cn-dashboard-page__date-pill[data-v-582eaf2c]:focus-visible {
39223
+ .cn-dashboard-page__date-pill[data-v-4f9a30ca]:focus-visible {
38844
39224
  outline: 2px solid var(--color-primary-element);
38845
39225
  outline-offset: 2px;
38846
39226
  }
38847
- .cn-dashboard-page__date-pill--active[data-v-582eaf2c] {
39227
+ .cn-dashboard-page__date-pill--active[data-v-4f9a30ca] {
38848
39228
  background: var(--color-primary-element);
38849
39229
  border-color: var(--color-primary-element);
38850
39230
  color: var(--color-primary-element-text);
38851
39231
  }
38852
- .cn-dashboard-page__date-pill--active[data-v-582eaf2c]:hover {
39232
+ .cn-dashboard-page__date-pill--active[data-v-4f9a30ca]:hover {
38853
39233
  background: var(--color-primary-element-hover, var(--color-primary-element));
38854
39234
  }
38855
39235
 
38856
39236
  /* The custom-range pill is de-emphasised — dashed outline, muted text —
38857
39237
  so it reads as an escape hatch rather than a primary option. */
38858
- .cn-dashboard-page__date-pill--custom[data-v-582eaf2c] {
39238
+ .cn-dashboard-page__date-pill--custom[data-v-4f9a30ca] {
38859
39239
  border-style: dashed;
38860
39240
  color: var(--color-text-maxcontrast);
38861
39241
  }
38862
- .cn-dashboard-page__date-pill-custom[data-v-582eaf2c] .action-item__menutoggle {
39242
+ .cn-dashboard-page__date-pill-custom[data-v-4f9a30ca] .action-item__menutoggle {
38863
39243
  min-width: 0;
38864
39244
  min-height: 0;
38865
39245
  padding: 0;
38866
39246
  background: transparent;
38867
39247
  border: none;
38868
39248
  }
38869
- .cn-dashboard-page__date-pill-custom[data-v-582eaf2c] .button-vue,
38870
- .cn-dashboard-page__date-pill-custom[data-v-582eaf2c] .button-vue__wrapper,
38871
- .cn-dashboard-page__date-pill-custom[data-v-582eaf2c] .button-vue__icon {
39249
+ .cn-dashboard-page__date-pill-custom[data-v-4f9a30ca] .button-vue,
39250
+ .cn-dashboard-page__date-pill-custom[data-v-4f9a30ca] .button-vue__wrapper,
39251
+ .cn-dashboard-page__date-pill-custom[data-v-4f9a30ca] .button-vue__icon {
38872
39252
  width: auto !important;
38873
39253
  min-width: 0 !important;
38874
39254
  overflow: visible !important;
38875
39255
  }
38876
- .cn-dashboard-page__empty[data-v-582eaf2c] {
39256
+ .cn-dashboard-page__empty[data-v-4f9a30ca] {
38877
39257
  padding: 60px 20px;
38878
39258
  }
38879
39259
 
38880
39260
  /* The page's view switch on a page without a header row: at the end of its
38881
39261
  own row, above the grids, where the header would have put it. */
38882
- .cn-dashboard-page__view-switch[data-v-582eaf2c] {
39262
+ .cn-dashboard-page__view-switch[data-v-4f9a30ca] {
38883
39263
  display: flex;
38884
39264
  justify-content: flex-end;
38885
39265
  margin-bottom: 12px;
38886
39266
  }
38887
39267
 
38888
39268
  /* A view the switch shows with nothing to draw. */
38889
- .cn-page-view-region--empty[data-v-582eaf2c] {
39269
+ .cn-page-view-region--empty[data-v-4f9a30ca] {
38890
39270
  padding: 40px 20px;
38891
39271
  }
38892
- .cn-dashboard-page__page-filters[data-v-582eaf2c] {
39272
+ .cn-dashboard-page__page-filters[data-v-4f9a30ca] {
38893
39273
  display: flex;
38894
39274
  flex-wrap: wrap;
38895
39275
  gap: 16px;
38896
39276
  align-items: flex-end;
38897
39277
  margin-bottom: 12px;
38898
39278
  }
38899
- .cn-dashboard-page__page-filter[data-v-582eaf2c] {
39279
+ .cn-dashboard-page__page-filter[data-v-4f9a30ca] {
38900
39280
  display: flex;
38901
39281
  flex-direction: column;
38902
39282
  gap: 4px;
38903
39283
  min-width: 200px;
38904
39284
  }
38905
- .cn-dashboard-page__page-filter-label[data-v-582eaf2c] {
39285
+ .cn-dashboard-page__page-filter-label[data-v-4f9a30ca] {
38906
39286
  font-size: 0.85em;
38907
39287
  font-weight: 600;
38908
39288
  color: var(--color-text-maxcontrast);
38909
39289
  }
38910
- .cn-dashboard-page__widget-edit[data-v-582eaf2c] {
39290
+ .cn-dashboard-page__widget-edit[data-v-4f9a30ca] {
38911
39291
  position: absolute;
38912
39292
  top: 4px;
38913
39293
  inset-inline-end: 4px;
@@ -38926,8 +39306,8 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
38926
39306
  and centre the card. */
38927
39307
  /* `safe` centre so an overflowing tile does not spill out of the top, where
38928
39308
  flex overflow cannot be scrolled back to. Same as detail-page.css. */
38929
- .cn-dashboard-page__card-fit[data-v-582eaf2c] .cn-widget-wrapper__content,
38930
- .cn-dashboard-page__card-fit.cn-widget-wrapper--flush[data-v-582eaf2c] .cn-widget-wrapper__content {
39309
+ .cn-dashboard-page__card-fit[data-v-4f9a30ca] .cn-widget-wrapper__content,
39310
+ .cn-dashboard-page__card-fit.cn-widget-wrapper--flush[data-v-4f9a30ca] .cn-widget-wrapper__content {
38931
39311
  overflow: hidden;
38932
39312
  display: flex;
38933
39313
  flex-direction: column;
@@ -38943,7 +39323,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
38943
39323
  shows up as a scrollbar the user has to drag to see the whole graph. Same
38944
39324
  shape as the card-fit rule above, minus the padding: chart tiles render
38945
39325
  `flush`, and apexcharts already draws its own margins. */
38946
- .cn-dashboard-page__chart-fit[data-v-582eaf2c] .cn-widget-wrapper__content {
39326
+ .cn-dashboard-page__chart-fit[data-v-4f9a30ca] .cn-widget-wrapper__content {
38947
39327
  overflow: hidden;
38948
39328
  display: flex;
38949
39329
  flex-direction: column;
@@ -38953,13 +39333,13 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
38953
39333
  /* Card content (stat / gauge / delta) must fit the tile width: let the
38954
39334
  widget shrink and its value/label truncate instead of pushing past the
38955
39335
  tile edge (the horizontal clip on long currency values). */
38956
- .cn-dashboard-page__card-fit[data-v-582eaf2c] .cn-stat-widget,
38957
- .cn-dashboard-page__card-fit[data-v-582eaf2c] .cn-gauge-widget,
38958
- .cn-dashboard-page__card-fit[data-v-582eaf2c] .cn-delta-widget {
39336
+ .cn-dashboard-page__card-fit[data-v-4f9a30ca] .cn-stat-widget,
39337
+ .cn-dashboard-page__card-fit[data-v-4f9a30ca] .cn-gauge-widget,
39338
+ .cn-dashboard-page__card-fit[data-v-4f9a30ca] .cn-delta-widget {
38959
39339
  min-width: 0;
38960
39340
  max-width: 100%;
38961
39341
  }
38962
- .cn-dashboard-page__unknown[data-v-582eaf2c] {
39342
+ .cn-dashboard-page__unknown[data-v-4f9a30ca] {
38963
39343
  display: flex;
38964
39344
  align-items: center;
38965
39345
  justify-content: center;
@@ -38970,31 +39350,31 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
38970
39350
  }
38971
39351
 
38972
39352
  /* widget-ref content items */
38973
- .cn-dashboard-page__content[data-v-582eaf2c] {
39353
+ .cn-dashboard-page__content[data-v-4f9a30ca] {
38974
39354
  display: flex;
38975
39355
  flex-direction: column;
38976
39356
  gap: 16px;
38977
39357
  }
38978
- .cn-dashboard-page__content-item[data-v-582eaf2c] {
39358
+ .cn-dashboard-page__content-item[data-v-4f9a30ca] {
38979
39359
  width: 100%;
38980
39360
  }
38981
39361
  /* On a phone (screens-dashboard-phone) the touch targets of a board dashboard
38982
39362
  are 44px: the widget Actions menu and the KPI tiles. */
38983
39363
  @media (max-width: 640px) {
38984
- .cn-dashboard-page--board[data-v-582eaf2c] .cn-widget-wrapper__actions .action-item__menutoggle,
38985
- .cn-dashboard-page--board[data-v-582eaf2c] .cn-widget-wrapper__actions .button-vue {
39364
+ .cn-dashboard-page--board[data-v-4f9a30ca] .cn-widget-wrapper__actions .action-item__menutoggle,
39365
+ .cn-dashboard-page--board[data-v-4f9a30ca] .cn-widget-wrapper__actions .button-vue {
38986
39366
  min-height: 44px;
38987
39367
  }
38988
- .cn-dashboard-page--board .cn-dashboard-page__kpi-cell[data-v-582eaf2c] {
39368
+ .cn-dashboard-page--board .cn-dashboard-page__kpi-cell[data-v-4f9a30ca] {
38989
39369
  min-height: 44px;
38990
39370
  }
38991
39371
 
38992
39372
  /* The widget Actions menu shows its icon only, so the card title keeps
38993
39373
  the room; the name stays for assistive tech. */
38994
- .cn-dashboard-page--board[data-v-582eaf2c] .cn-widget-wrapper__actions .action-item__menutoggle {
39374
+ .cn-dashboard-page--board[data-v-4f9a30ca] .cn-widget-wrapper__actions .action-item__menutoggle {
38995
39375
  min-width: 44px;
38996
39376
  }
38997
- .cn-dashboard-page--board[data-v-582eaf2c] .cn-widget-wrapper__actions .action-item__menutoggle .button-vue__text {
39377
+ .cn-dashboard-page--board[data-v-4f9a30ca] .cn-widget-wrapper__actions .action-item__menutoggle .button-vue__text {
38998
39378
  position: absolute;
38999
39379
  width: 1px;
39000
39380
  height: 1px;
@@ -39006,7 +39386,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
39006
39386
 
39007
39387
  /* What a registry widget reports for its card header (`header` event): the
39008
39388
  note beside the link ("3 in total") and one action, as on a detail page. */
39009
- .cn-dashboard-page__widget-count[data-v-582eaf2c] {
39389
+ .cn-dashboard-page__widget-count[data-v-4f9a30ca] {
39010
39390
  align-self: center;
39011
39391
  padding: 1px 8px;
39012
39392
  border-radius: 10px;
@@ -39015,13 +39395,13 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
39015
39395
  font-size: 13px;
39016
39396
  font-weight: 600;
39017
39397
  }
39018
- .cn-dashboard-page__widget-note[data-v-582eaf2c] {
39398
+ .cn-dashboard-page__widget-note[data-v-4f9a30ca] {
39019
39399
  align-self: center;
39020
39400
  color: var(--color-text-maxcontrast);
39021
39401
  font-size: 14px;
39022
39402
  white-space: nowrap;
39023
39403
  }
39024
- .cn-dashboard-page__widget-action[data-v-582eaf2c] {
39404
+ .cn-dashboard-page__widget-action[data-v-4f9a30ca] {
39025
39405
  display: inline-flex;
39026
39406
  align-items: center;
39027
39407
  align-self: center;
@@ -39037,7 +39417,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
39037
39417
  white-space: nowrap;
39038
39418
  cursor: pointer;
39039
39419
  }
39040
- .cn-dashboard-page__widget-action[data-v-582eaf2c]:focus-visible {
39420
+ .cn-dashboard-page__widget-action[data-v-4f9a30ca]:focus-visible {
39041
39421
  outline: 2px solid var(--color-primary-element);
39042
39422
  outline-offset: 2px;
39043
39423
  }
@@ -41089,21 +41469,21 @@ a.cn-integration-card__title[data-v-093a874d]:hover {
41089
41469
 
41090
41470
 
41091
41471
  /* The section wrapper draws no box; the board look makes it the card grid. */
41092
- .cn-settings-page__sections[data-v-04e49f77] {
41472
+ .cn-settings-page__sections[data-v-50865bde] {
41093
41473
  display: contents;
41094
41474
  }
41095
- .cn-settings-page__header-buttons[data-v-04e49f77] {
41475
+ .cn-settings-page__header-buttons[data-v-50865bde] {
41096
41476
  display: flex;
41097
41477
  align-items: center;
41098
41478
  gap: 10px;
41099
41479
  margin-inline-start: auto;
41100
41480
  }
41101
- .cn-settings-page[data-v-04e49f77] {
41481
+ .cn-settings-page[data-v-50865bde] {
41102
41482
  display: flex;
41103
41483
  flex-direction: column;
41104
41484
  gap: 16px;
41105
41485
  }
41106
- .cn-settings-page__actions[data-v-04e49f77] {
41486
+ .cn-settings-page__actions[data-v-50865bde] {
41107
41487
  display: flex;
41108
41488
  justify-content: flex-end;
41109
41489
  gap: 8px;
@@ -41114,7 +41494,7 @@ a.cn-integration-card__title[data-v-093a874d]:hover {
41114
41494
  * orchestration REQ-MSO-5). Uses Nextcloud CSS variables only — no
41115
41495
  * hex literals, no rgba overrides on the elements themselves.
41116
41496
  */
41117
- .cn-settings-page__tabs[data-v-04e49f77] {
41497
+ .cn-settings-page__tabs[data-v-50865bde] {
41118
41498
  display: flex;
41119
41499
  flex-wrap: wrap;
41120
41500
  gap: 4px;
@@ -41122,7 +41502,7 @@ a.cn-integration-card__title[data-v-093a874d]:hover {
41122
41502
  padding-bottom: 0;
41123
41503
  margin-bottom: 8px;
41124
41504
  }
41125
- .cn-settings-page__tab[data-v-04e49f77] {
41505
+ .cn-settings-page__tab[data-v-50865bde] {
41126
41506
  background: transparent;
41127
41507
  border: 0;
41128
41508
  border-bottom: 3px solid transparent;
@@ -41134,52 +41514,52 @@ a.cn-integration-card__title[data-v-093a874d]:hover {
41134
41514
  border-radius: var(--border-radius-large) var(--border-radius-large) 0 0;
41135
41515
  transition: background-color 0.1s ease-in-out, color 0.1s ease-in-out, border-color 0.1s ease-in-out;
41136
41516
  }
41137
- .cn-settings-page__tab[data-v-04e49f77]:hover,
41138
- .cn-settings-page__tab[data-v-04e49f77]:focus-visible {
41517
+ .cn-settings-page__tab[data-v-50865bde]:hover,
41518
+ .cn-settings-page__tab[data-v-50865bde]:focus-visible {
41139
41519
  background-color: var(--color-background-hover);
41140
41520
  color: var(--color-main-text);
41141
41521
  outline: none;
41142
41522
  }
41143
- .cn-settings-page__tab--active[data-v-04e49f77] {
41523
+ .cn-settings-page__tab--active[data-v-50865bde] {
41144
41524
  color: var(--color-primary-element);
41145
41525
  border-bottom-color: var(--color-primary-element);
41146
41526
  font-weight: bold;
41147
41527
  }
41148
41528
  @media (max-width: 768px) {
41149
- .cn-settings-page__tabs[data-v-04e49f77] {
41529
+ .cn-settings-page__tabs[data-v-50865bde] {
41150
41530
  flex-direction: column;
41151
41531
  gap: 0;
41152
41532
  border-bottom: 0;
41153
41533
  }
41154
- .cn-settings-page__tab[data-v-04e49f77] {
41534
+ .cn-settings-page__tab[data-v-50865bde] {
41155
41535
  border-bottom: 1px solid var(--color-border);
41156
41536
  border-radius: 0;
41157
41537
  text-align: left;
41158
41538
  }
41159
- .cn-settings-page__tab--active[data-v-04e49f77] {
41539
+ .cn-settings-page__tab--active[data-v-50865bde] {
41160
41540
  border-bottom-width: 1px;
41161
41541
  background-color: var(--color-background-hover);
41162
41542
  }
41163
41543
  }
41164
- .cn-settings-page__fields[data-v-04e49f77] {
41544
+ .cn-settings-page__fields[data-v-50865bde] {
41165
41545
  display: flex;
41166
41546
  flex-direction: column;
41167
41547
  gap: 12px;
41168
41548
  }
41169
- .cn-settings-page__field[data-v-04e49f77] {
41549
+ .cn-settings-page__field[data-v-50865bde] {
41170
41550
  display: flex;
41171
41551
  flex-direction: column;
41172
41552
  gap: 4px;
41173
41553
  }
41174
- .cn-settings-page__field-help[data-v-04e49f77] {
41554
+ .cn-settings-page__field-help[data-v-50865bde] {
41175
41555
  color: var(--color-text-maxcontrast);
41176
41556
  }
41177
- .cn-settings-page__save-bar[data-v-04e49f77] {
41557
+ .cn-settings-page__save-bar[data-v-50865bde] {
41178
41558
  display: flex;
41179
41559
  gap: 8px;
41180
41560
  margin-top: 16px;
41181
41561
  }
41182
- .cn-settings-page__error[data-v-04e49f77] {
41562
+ .cn-settings-page__error[data-v-50865bde] {
41183
41563
  color: var(--color-error);
41184
41564
  background: var(--color-error-light, var(--color-background-hover));
41185
41565
  padding: 8px 12px;
@@ -43392,10 +43772,12 @@ a.cn-integration-card__title[data-v-093a874d]:hover {
43392
43772
  display: flex;
43393
43773
  align-items: center;
43394
43774
  gap: 12px;
43395
- width: var(--cn-board-brand-width, 237px);
43396
43775
  }
43776
+
43777
+ /* The brand link is 237px; the divider follows it, 12px on. */
43397
43778
  .cn-brand-bar__brand {
43398
- flex: 1 1 0;
43779
+ flex: none;
43780
+ width: var(--cn-board-brand-width, 237px);
43399
43781
  box-sizing: border-box;
43400
43782
  display: flex;
43401
43783
  align-items: center;