@conduction/nextcloud-vue 2.140.0 → 2.141.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 (74) hide show
  1. package/dist/esm/components/CnAssignDialog/CnAssignDialog.vue.js +1 -1
  2. package/dist/esm/components/CnAssignDialog/CnAssignDialog.vue2.js +10 -2
  3. package/dist/esm/components/CnAssignDialog/CnAssignDialog.vue2.js.map +1 -1
  4. package/dist/esm/components/CnAssignDialog/CnAssignDialog.vue3.js.map +1 -1
  5. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue.js +1 -1
  6. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue2.js +11 -3
  7. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue2.js.map +1 -1
  8. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue3.js.map +1 -1
  9. package/dist/esm/components/CnChartWidget/CnChartWidget.vue.js +1 -1
  10. package/dist/esm/components/CnChartWidget/CnChartWidget.vue2.js +12 -0
  11. package/dist/esm/components/CnChartWidget/CnChartWidget.vue2.js.map +1 -1
  12. package/dist/esm/components/CnChartWidget/CnChartWidget.vue3.js +57 -40
  13. package/dist/esm/components/CnChartWidget/CnChartWidget.vue3.js.map +1 -1
  14. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue.js +1 -1
  15. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js +1 -0
  16. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js.map +1 -1
  17. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js.map +1 -1
  18. package/dist/esm/components/CnDataTable/CnDataTable.vue2.js +5 -3
  19. package/dist/esm/components/CnDataTable/CnDataTable.vue2.js.map +1 -1
  20. package/dist/esm/components/CnDataTable/CnDataTable.vue3.js +1 -0
  21. package/dist/esm/components/CnDataTable/CnDataTable.vue3.js.map +1 -1
  22. package/dist/esm/components/CnIndexSidebar/CnIndexSidebar.vue2.js +65 -1
  23. package/dist/esm/components/CnIndexSidebar/CnIndexSidebar.vue2.js.map +1 -1
  24. package/dist/esm/components/CnIndexSidebar/CnIndexSidebar.vue3.js +120 -69
  25. package/dist/esm/components/CnIndexSidebar/CnIndexSidebar.vue3.js.map +1 -1
  26. package/dist/esm/components/CnMapWidget/CnMapWidget.vue.js +1 -1
  27. package/dist/esm/components/CnMapWidget/CnMapWidget.vue2.js +47 -9
  28. package/dist/esm/components/CnMapWidget/CnMapWidget.vue2.js.map +1 -1
  29. package/dist/esm/components/CnMapWidget/CnMapWidget.vue3.js.map +1 -1
  30. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue.js +1 -1
  31. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue2.js +3 -3
  32. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue2.js.map +1 -1
  33. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue3.js.map +1 -1
  34. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue.js +1 -1
  35. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js +2 -0
  36. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js.map +1 -1
  37. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js +1 -1
  38. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js.map +1 -1
  39. package/dist/esm/components/CnRecordListWidget/CnRecordNoteRows.vue.js +1 -1
  40. package/dist/esm/components/CnRecordListWidget/CnRecordNoteRows.vue2.js +10 -0
  41. package/dist/esm/components/CnRecordListWidget/CnRecordNoteRows.vue2.js.map +1 -1
  42. package/dist/esm/components/CnRecordListWidget/CnRecordNoteRows.vue3.js +34 -26
  43. package/dist/esm/components/CnRecordListWidget/CnRecordNoteRows.vue3.js.map +1 -1
  44. package/dist/esm/l10n/en.json.js +2 -1
  45. package/dist/esm/l10n/en.json.js.map +1 -1
  46. package/dist/esm/l10n/nl.json.js +2 -1
  47. package/dist/esm/l10n/nl.json.js.map +1 -1
  48. package/dist/esm/library-style.js +1 -1
  49. package/dist/esm/nextcloud-vue.css +652 -391
  50. package/dist/esm/utils/groupSublines.js +120 -0
  51. package/dist/esm/utils/groupSublines.js.map +1 -0
  52. package/dist/nextcloud-vue.cjs.js +974 -638
  53. package/dist/nextcloud-vue.cjs.js.map +2 -2
  54. package/dist/nextcloud-vue.css +652 -391
  55. package/l10n/en.json +2 -1
  56. package/l10n/nl.json +2 -1
  57. package/package.json +1 -1
  58. package/src/components/CnAssignDialog/CnAssignDialog.vue +10 -2
  59. package/src/components/CnCellRenderer/CnCellRenderer.vue +11 -3
  60. package/src/components/CnChartWidget/CnChartWidget.md +1 -0
  61. package/src/components/CnChartWidget/CnChartWidget.vue +49 -4
  62. package/src/components/CnDashboardPage/CnDashboardPage.vue +1 -0
  63. package/src/components/CnDataTable/CnDataTable.vue +6 -3
  64. package/src/components/CnIndexSidebar/CnIndexSidebar.vue +101 -3
  65. package/src/components/CnMapWidget/CnMapWidget.vue +47 -9
  66. package/src/components/CnObjectListWidget/CnObjectListWidget.vue +3 -3
  67. package/src/components/CnRecordListWidget/CnRecordListWidget.vue +20 -1
  68. package/src/components/CnRecordListWidget/CnRecordNoteRows.vue +33 -9
  69. package/src/css/dialog.css +13 -1
  70. package/src/css/look-board-detail.css +12 -9
  71. package/src/css/look-board-index.css +90 -7
  72. package/src/css/look-board.css +92 -0
  73. package/src/css/table.css +12 -0
  74. package/src/utils/groupSublines.js +125 -0
@@ -2240,6 +2240,26 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
2240
2240
  line-height: normal;
2241
2241
  }
2242
2242
 
2243
+ /* A list in a side card draws a hairline over every row, the first too, so
2244
+ a line separates the title from the list (DqZaaktype*, DqTenant,
2245
+ DqSociaalDomein, DqTaak "Versies" and the like). Its row titles keep the
2246
+ main ink without an underline: the plain side rule marks them as links,
2247
+ and the board underlines on hover only. The footer note is 13px muted; the
2248
+ theme sets paragraphs through its tokens with `!important`, so the note
2249
+ hands it its size and ink through those tokens. */
2250
+ .cn-look-board .cn-detail-page__side .cn-record-list--rows:not(.cn-look-nextcloud *) .cn-record-list__item {
2251
+ border-top: 1px solid var(--cn-board-hairline);
2252
+ }
2253
+
2254
+ .cn-look-board .cn-detail-page__side .cn-record-list--rows:not(.cn-look-nextcloud *) .cn-record-list__row:not(:hover):not(:focus-visible) .cn-record-list__title {
2255
+ text-decoration: none;
2256
+ }
2257
+
2258
+ .cn-look-board .cn-record-list__footer-note:not(.cn-look-nextcloud *) {
2259
+ --nldesign-component-paragraph-font-size: 13px;
2260
+ --nldesign-component-paragraph-color: var(--color-text-maxcontrast);
2261
+ }
2262
+
2243
2263
  /* An audit row is a board list row (DqHandhaving, DqTenant "Historie"): 10px
2244
2264
  above and below, a hairline over every row including the first, the head
2245
2265
  and the line under it at their normal line height, 2px apart: 56px, the
@@ -2479,6 +2499,29 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
2479
2499
  gap: 2px;
2480
2500
  }
2481
2501
 
2502
+ /* A stacked list (`density: "stacked"`) keeps its rows unruled and unpadded
2503
+ in the board look too, 10px apart (DqDagAfsluiten "Morgen eerst").
2504
+ @spec openspec/changes/record-list-stacked-density/specs/record-list-stacked-density/spec.md#requirement-a-record-list-can-stack-its-rows */
2505
+ .cn-look-board .cn-dashboard-page:not(.cn-look-nextcloud *) .cn-record-list--stacked .cn-record-list__row {
2506
+ min-height: 0;
2507
+ padding-block: 0;
2508
+ }
2509
+
2510
+ .cn-look-board .cn-dashboard-page:not(.cn-look-nextcloud *) .cn-record-list--stacked.cn-record-list--rows .cn-record-list__item + .cn-record-list__item {
2511
+ border-top: 0;
2512
+ }
2513
+
2514
+ /* A dashboard card's task list and decision list rule above every row, the
2515
+ first one under the title included, as the record lists with ruleAbove do
2516
+ (DqMijnWerk "Mijn taken", "Mijn archiefbeoordelingen"); no rule under the
2517
+ last row.
2518
+ @spec openspec/changes/board-dashboard-lists-rule-above/specs/board-dashboard-lists-rule-above/spec.md#requirement-a-dashboard-task-or-decision-list-rules-above-every-row */
2519
+ .cn-look-board .cn-dashboard-page:not(.cn-look-nextcloud *) .cn-tasks-widget__row,
2520
+ .cn-look-board .cn-dashboard-page:not(.cn-look-nextcloud *) .cn-decision-list__row {
2521
+ border-block-end: 0;
2522
+ border-top: 1px solid var(--color-border);
2523
+ }
2524
+
2482
2525
  /* Hover: the whole row takes the hover ground, 8px beyond the text so the
2483
2526
  text does not move. */
2484
2527
  .cn-look-board .cn-dashboard-page:not(.cn-look-nextcloud *) .cn-record-list__row--link {
@@ -2747,6 +2790,17 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
2747
2790
  padding: 0;
2748
2791
  }
2749
2792
 
2793
+ /* A chart in a section of a sections widget (a framed section card, 14px
2794
+ 16px in) takes none of the dashboard card's inset either: its bars and plot
2795
+ start 17px in, not 39 (DqDoorlooptijd "Naleving": Naleving per zaaktype,
2796
+ Verdeling doorlooptijd, Maandelijkse SLA-trend, Doorstroom).
2797
+ @spec openspec/changes/board-sections-chart-single-inset/specs/board-sections-chart-single-inset/spec.md#requirement-a-chart-inside-a-dashboard-sections-card-is-inset-once */
2798
+ .cn-look-board .cn-dashboard-page:not(.cn-look-nextcloud *) .cn-widget-wrapper:not(.cn-widget-wrapper--borderless) .cn-sections-widget__section .cn-chart-widget__html,
2799
+ .cn-look-board .cn-dashboard-page:not(.cn-look-nextcloud *) .cn-widget-wrapper:not(.cn-widget-wrapper--borderless) .cn-sections-widget__section .cn-chart-widget__canvas,
2800
+ .cn-look-board .cn-dashboard-page:not(.cn-look-nextcloud *) .cn-widget-wrapper:not(.cn-widget-wrapper--borderless) .cn-sections-widget__section .cn-chart-widget > .cn-chart-widget__footnote {
2801
+ padding: 0;
2802
+ }
2803
+
2750
2804
  /* ---- A plain sections widget on a dashboard card ------------------------ */
2751
2805
  /* The card is flush, because a sections widget usually draws its own cards;
2752
2806
  the plain one draws none, so its body takes the card's side inset and 20px
@@ -2872,6 +2926,27 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
2872
2926
  font-weight: 600;
2873
2927
  }
2874
2928
 
2929
+ /* A toned cell takes the theme's status badge grounds, as the board's tones
2930
+ are (DqHandhaving: #E7F3EA, #FFF4DE, #FCEDEC); the darkest tone has its
2931
+ own token and otherwise deepens the error ground. Nextcloud's own mix of
2932
+ the status colours read a shade off each.
2933
+ @spec openspec/changes/board-matrix-tones/specs/board-matrix-tones/spec.md#requirement-a-board-matrix-cell-takes-the-themes-status-grounds */
2934
+ .cn-look-board .cn-chart-widget__matrix:not(.cn-look-nextcloud *) .cn-chart-widget__matrix-cell--success {
2935
+ background: var(--nldesign-component-status-badge-success-background-color, var(--color-success-light, color-mix(in srgb, var(--color-success) 15%, var(--color-main-background))));
2936
+ }
2937
+
2938
+ .cn-look-board .cn-chart-widget__matrix:not(.cn-look-nextcloud *) .cn-chart-widget__matrix-cell--warning {
2939
+ background: var(--nldesign-component-status-badge-warning-background-color, var(--color-warning-light, color-mix(in srgb, var(--color-warning) 15%, var(--color-main-background))));
2940
+ }
2941
+
2942
+ .cn-look-board .cn-chart-widget__matrix:not(.cn-look-nextcloud *) .cn-chart-widget__matrix-cell--error {
2943
+ background: var(--nldesign-component-status-badge-error-background-color, var(--color-error-light, color-mix(in srgb, var(--color-error) 12%, var(--color-main-background))));
2944
+ }
2945
+
2946
+ .cn-look-board .cn-chart-widget__matrix:not(.cn-look-nextcloud *) .cn-chart-widget__matrix-cell--danger {
2947
+ background: var(--nldesign-component-status-badge-danger-background-color, color-mix(in srgb, var(--color-error) 10%, var(--nldesign-component-status-badge-error-background-color, var(--color-main-background))));
2948
+ }
2949
+
2875
2950
  /* A cell without a tone ("geen") sits on the page ground in the muted ink,
2876
2951
  as the board draws it; toned and coloured cells keep their ground.
2877
2952
  @spec openspec/changes/board-matrix-plain-cells/specs/board-matrix-plain-cells/spec.md#requirement-a-board-matrix-cell-without-a-tone-sits-on-the-ground-in-the-muted-ink */
@@ -3069,6 +3144,23 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
3069
3144
  line-height: normal;
3070
3145
  }
3071
3146
 
3147
+ /* A bar list with the value at the bar's end (DqProcesanalyse "Doorlooptijd
3148
+ per status") sets its rows in 13px, the label in the secondary text, the
3149
+ value in the main ink at 600, rows 34px apart.
3150
+ @spec openspec/changes/chart-bar-list-value-at-end/specs/chart-bar-list-value-at-end/spec.md#requirement-a-bar-list-can-put-each-value-at-its-bars-end */
3151
+ .cn-look-board .cn-chart-widget__bar-list--value-at-end:not(.cn-look-nextcloud *) {
3152
+ gap: 16px;
3153
+ }
3154
+
3155
+ .cn-look-board .cn-chart-widget__bar-list--value-at-end:not(.cn-look-nextcloud *) .cn-chart-widget__bar-line {
3156
+ font-size: 13px;
3157
+ }
3158
+
3159
+ .cn-look-board .cn-chart-widget__bar-list--value-at-end:not(.cn-look-nextcloud *) .cn-chart-widget__bar-label {
3160
+ --nldesign-color-on-surface: var(--cn-board-text-soft);
3161
+ color: var(--cn-board-text-soft);
3162
+ }
3163
+
3072
3164
  /* A dialog's options as the boards draw them (DqVolgendeStap, DqBesluit,
3073
3165
  DqDocumentGenereren, DqFilterBewerken): rounded at 10px, an idle option
3074
3166
  edged in the dark border grey, and an 18px radio. The chosen option keeps
@@ -3411,8 +3503,11 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .modal-mask {
3411
3503
  padding-inline-end: 24px;
3412
3504
  }
3413
3505
 
3506
+ /* The body starts 22px under the header, as most dialog boards draw it
3507
+ (header padding-bottom 4px + form padding-top 18px; DqBerichtVersturen,
3508
+ DqOverdragen, DqNieuweZaak, DqBesluit): the 18px gap plus 4px. */
3414
3509
  .cn-dialog-board .dialog__content > .cn-dialog-header {
3415
- margin-bottom: -2px;
3510
+ margin-bottom: 4px;
3416
3511
  }
3417
3512
 
3418
3513
  /* Footer: 16px 24px, hairline on top, right aligned, 40px buttons, 10px gap. */
@@ -3517,6 +3612,15 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .modal-mask {
3517
3612
  margin-block-start: 26px;
3518
3613
  }
3519
3614
 
3615
+ /* A select in a form dialog sits under its label and over its help line
3616
+ as a text field does (DqNieuweZaak "Zaaktype", "Intakekanaal"): the
3617
+ form's label stands outside the select, so NcSelect's own 6px/4px margins
3618
+ only pushed the control 6px below the text fields beside it and its help
3619
+ line 4px further down. */
3620
+ .cn-dialog-board .dialog__content .cn-form-dialog__select-wrapper > .v-select.select:not(:has(.input-field__label)) {
3621
+ margin-block: 0;
3622
+ }
3623
+
3520
3624
  /* A multiple select is the board's 40px field too (DqFilterDelen "Delen
3521
3625
  met"). The edge goes on the toggle, which holds the chips and the search,
3522
3626
  so the chosen people and groups sit inside the field; the search inside it
@@ -4348,13 +4452,11 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .modal-mask {
4348
4452
  grid-row: 2;
4349
4453
  }
4350
4454
 
4351
- /* A list page's breadcrumb and note read 15px; the case page's row stays 14px. */
4352
- .cn-look-board .cn-index-page .cn-page-header .cn-header-trail.cn-detail-page__header-row2 {
4353
- font-size: 15px;
4354
- }
4355
-
4356
- .cn-look-board .cn-index-page .cn-header-trail.cn-detail-page__header-row2 .cn-detail-page__breadcrumbs .vue-crumb .button-vue.button-vue {
4357
- font-size: 15px;
4455
+ /* The note after the breadcrumb ("38 contracten bij 21 leveranciers") is 14px
4456
+ muted on every Dq list board (37 of 37).
4457
+ @spec openspec/changes/board-index-header-meta-14/specs/index-page/spec.md */
4458
+ .cn-look-board .cn-index-page .cn-page-header .cn-header-trail .cn-detail-page__header-meta {
4459
+ font-size: 14px;
4358
4460
  }
4359
4461
 
4360
4462
  .cn-look-board .cn-index-page .cn-page-header .cn-header-trail ~ .cn-page-header__description {
@@ -5278,6 +5380,17 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .modal-mask {
5278
5380
  text-decoration: none;
5279
5381
  }
5280
5382
 
5383
+ /* `rowTitle: "strong"` (DqZaaktypeStatussen "Statussen", "Resultaten"): the
5384
+ name column of a card's list, the cell's 14px at weight 600 in the main
5385
+ ink, no underline; the row stays a link.
5386
+ @spec openspec/changes/table-strong-title/specs/table-strong-title/spec.md#requirement-a-tables-title-column-can-read-as-a-strong-name */
5387
+ .cn-look-board .cn-table-container--board.cn-table-container--title-strong .cn-data-table td.cn-table-col--title {
5388
+ color: var(--color-main-text);
5389
+ font-size: 14px;
5390
+ font-weight: 600;
5391
+ text-decoration: none;
5392
+ }
5393
+
5281
5394
  /* An avatar in the title column (PtAccounts): a 32px chip circle, 10px before
5282
5395
  the name, the e-mail under the name beside it. The name keeps the title's
5283
5396
  weight and size, and its underline: an inline-flex box is atomic, so the
@@ -6397,6 +6510,80 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .modal-mask {
6397
6510
  .cn-look-board .cn-index-page--with-side-panel:not(.cn-look-nextcloud *) > .cn-index-page__quick-filter-row {
6398
6511
  margin-bottom: calc(var(--cn-board-section-gap) + 12px);
6399
6512
  }
6513
+
6514
+ /* ---- The side panel's filters as checkbox lists (DqZakenSorteren) ------- */
6515
+ /* "Filters" with "Alles wissen" beside it; per field its 14px semibold label
6516
+ over rows of a checkbox, the value and its count in 13px muted at the end,
6517
+ 32px each.
6518
+ @spec openspec/changes/board-sidebar-filters-as-checkbox-lists/specs/index-sidebar/spec.md#requirement-the-board-look-draws-a-short-filter-as-a-checkbox-list-with-counts */
6519
+ .cn-look-board .cn-index-sidebar__filters-head {
6520
+ display: flex;
6521
+ align-items: center;
6522
+ justify-content: space-between;
6523
+ gap: 8px;
6524
+ margin-bottom: 14px;
6525
+ }
6526
+
6527
+ .cn-look-board .cn-index-sidebar__filters-head h3 {
6528
+ margin: 0;
6529
+ font-size: 15px;
6530
+ font-weight: 700;
6531
+ }
6532
+
6533
+ .cn-look-board .cn-index-sidebar__filters-clear {
6534
+ min-height: 0;
6535
+ margin: 0;
6536
+ padding: 0;
6537
+ border: 0;
6538
+ background: transparent;
6539
+ color: var(--color-primary-element);
6540
+ font-size: 14px;
6541
+ font-weight: 600;
6542
+ text-decoration: underline;
6543
+ cursor: pointer;
6544
+ }
6545
+
6546
+ .cn-look-board .cn-index-sidebar__filter-group:has(> .cn-index-sidebar__checklist) .cn-index-sidebar__filter-label {
6547
+ font-size: 14px;
6548
+ font-weight: 600;
6549
+ }
6550
+
6551
+ .cn-look-board .cn-index-sidebar__checklist {
6552
+ display: flex;
6553
+ flex-direction: column;
6554
+ gap: 4px;
6555
+ margin: 0;
6556
+ padding: 0;
6557
+ border: 0;
6558
+ }
6559
+
6560
+ .cn-look-board .cn-index-sidebar__checklist-row {
6561
+ display: flex;
6562
+ align-items: center;
6563
+ gap: 10px;
6564
+ min-height: 32px;
6565
+ font-size: 14px;
6566
+ cursor: pointer;
6567
+ }
6568
+
6569
+ .cn-look-board .cn-index-sidebar__checklist-row > input[type='checkbox'] {
6570
+ width: 18px;
6571
+ min-width: 18px;
6572
+ height: 18px;
6573
+ min-height: 18px;
6574
+ margin: 0;
6575
+ accent-color: var(--color-primary-element);
6576
+ }
6577
+
6578
+ .cn-look-board .cn-index-sidebar__checklist-label {
6579
+ flex: 1;
6580
+ min-width: 0;
6581
+ }
6582
+
6583
+ .cn-look-board .cn-index-sidebar__checklist-count {
6584
+ color: var(--color-text-maxcontrast);
6585
+ font-size: 13px;
6586
+ }
6400
6587
  /* ========================================
6401
6588
  @conduction/nextcloud-vue — Table Styles
6402
6589
  ======================================== */
@@ -6625,6 +6812,18 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .modal-mask {
6625
6812
  overflow-wrap: anywhere;
6626
6813
  }
6627
6814
 
6815
+ /* In a table fitted to its tile every column but the growing one asks for
6816
+ as little width as its content allows (`width: 1%`). With
6817
+ `overflow-wrap: anywhere` that is one character, so a wrapping head broke
6818
+ letter by letter ("D o e l", DqDoorlooptijd "Prestaties per zaaktype",
6819
+ 240px tall). Here a wrapping column breaks between words and only breaks
6820
+ a word that is longer than the column.
6821
+ @spec openspec/changes/fit-table-wrap-by-word/specs/fit-table-wrap-by-word/spec.md#requirement-a-wrapping-column-in-a-fitted-table-breaks-between-words */
6822
+ .cn-data-table--fit th.cn-cell--wrap,
6823
+ .cn-data-table--fit td.cn-cell--wrap {
6824
+ overflow-wrap: break-word;
6825
+ }
6826
+
6628
6827
  /* Opt-in fixed layout (CnDataTable's `fixedLayout` prop).
6629
6828
 
6630
6829
  Under the default `table-layout: auto` a column's declared `width` is only a
@@ -11564,6 +11763,13 @@ li[data-cn-admin-tag] > .action-link::after {
11564
11763
  padding-top: calc(14px - var(--cn-board-first-line-leading));
11565
11764
  }
11566
11765
 
11766
+ /* A table (an object list) starts 12px below the title's box: its head has
11767
+ a fill and no leading, so the glyph-to-glyph gap above left it 2px short
11768
+ (DqZaaktypeStatussen "Statussen", "Resultaten"). */
11769
+ .cn-look-board .cn-detail-page .cn-widget-wrapper__content:has(> .cn-object-list-widget):not(.cn-detail-page__side *) {
11770
+ padding-top: 12px;
11771
+ }
11772
+
11567
11773
  /* Running text (DqZaak "Het verzoek") sits 12px below the title's box and
11568
11774
  keeps its own half-leading, at 1.6 as drawn.
11569
11775
  @spec openspec/changes/board-card-title-gap-variants/specs/board-card-title-gap-variants/spec.md#requirement-a-board-card-starts-its-body-as-drawn-for-its-kind-of-body */
@@ -12370,12 +12576,12 @@ li[data-cn-admin-tag] > .action-link::after {
12370
12576
  }
12371
12577
 
12372
12578
  /* ---- A card's Add ------------------------------------------------------ */
12373
- /* The board draws a list card's Add as the neutral secondary at the 40px
12374
- control height, right-aligned in the title row (DqZaakGerelateerd
12375
- "Deelzaak aanmaken", DqZaakTaken "Toevoegen"). CnDetailWidgetHost renders
12579
+ /* The board draws a list card's Add as the neutral secondary right-aligned
12580
+ in the title row, at the title row's 34px (DqZaaktypeStatussen "Status
12581
+ toevoegen", DqZaaktype "Taak toevoegen", DqCatalogus "Objecttype
12582
+ toevoegen": 13 of the 15 boards that draw one). CnDetailWidgetHost renders
12376
12583
  that button in the board look, so the list's footer Add bar, which ADR-062
12377
- draws in the Nextcloud look, is hidden in the card. The size outranks a
12378
- card title row's 34px buttons.
12584
+ draws in the Nextcloud look, is hidden in the card.
12379
12585
  @spec openspec/changes/board-object-list-add-button/specs/board-object-list-add-button/spec.md#requirement-the-board-look-draws-a-cards-add-as-a-title-row-button */
12380
12586
  .cn-look-board .cn-detail-page__catalog-card:not(.cn-look-nextcloud *) .cn-object-list-widget__add {
12381
12587
  display: none;
@@ -12387,10 +12593,6 @@ li[data-cn-admin-tag] > .action-link::after {
12387
12593
  display: none;
12388
12594
  }
12389
12595
 
12390
- .cn-look-board .cn-widget-wrapper__actions .button-vue.cn-detail-page__catalog-add:has(> .button-vue__wrapper > .button-vue__text:not(:empty)):where(:not(.cn-look-nextcloud *)) {
12391
- --button-size: var(--cn-board-control-height);
12392
- }
12393
-
12394
12596
  /* A map in a board card has the board's control corners (DqZaak, DqZaakMeer
12395
12597
  "Locaties"); overflow keeps the tiles inside them. */
12396
12598
  .cn-look-board .cn-map-widget:not(.cn-map-widget--fullscreen) {
@@ -15260,7 +15462,7 @@ li[data-cn-admin-tag] > .action-link::after {
15260
15462
  }
15261
15463
 
15262
15464
 
15263
- .cn-chart-widget[data-v-4e61b5f0] {
15465
+ .cn-chart-widget[data-v-b6e600c4] {
15264
15466
  width: 100%;
15265
15467
  /* A chart FITS its container — it is never a scroll region. apexcharts
15266
15468
  sizes its SVG from the element it is mounted in, but it also enforces
@@ -15282,13 +15484,13 @@ li[data-cn-admin-tag] > .action-link::after {
15282
15484
  takes what is left, so the chart is sized by the box rather than sizing it.
15283
15485
  `min-height: 0` drops the 100px floor — on a fixed-height surface a floor is
15284
15486
  the thing that produces the overflow it was meant to prevent. */
15285
- .cn-chart-widget--fit[data-v-4e61b5f0] {
15487
+ .cn-chart-widget--fit[data-v-b6e600c4] {
15286
15488
  height: 100%;
15287
15489
  min-height: 0;
15288
15490
  display: flex;
15289
15491
  flex-direction: column;
15290
15492
  }
15291
- .cn-chart-widget__canvas[data-v-4e61b5f0] {
15493
+ .cn-chart-widget__canvas[data-v-b6e600c4] {
15292
15494
  min-width: 0;
15293
15495
  max-width: 100%;
15294
15496
  /* Never a scroll region (see the root). `overflow-x: hidden` alone made
@@ -15301,14 +15503,14 @@ li[data-cn-admin-tag] > .action-link::after {
15301
15503
  /* apexcharts writes an inline `width` onto its own wrapper from its measured
15302
15504
  minimum, which beats the container when the container is narrower. Cap the
15303
15505
  painted box so the inline width cannot push past the widget's border. */
15304
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-canvas,
15305
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-canvas svg {
15506
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-canvas,
15507
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-canvas svg {
15306
15508
  max-width: 100%;
15307
15509
  }
15308
15510
 
15309
15511
  /* The SVG is a block: as an inline box it sits on a line and adds the line's
15310
15512
  descender space under the chart. */
15311
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-canvas svg {
15513
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-canvas svg {
15312
15514
  display: block;
15313
15515
  }
15314
15516
 
@@ -15316,24 +15518,24 @@ li[data-cn-admin-tag] > .action-link::after {
15316
15518
  would grow to its content, i.e. to the chart, and the percentage height would
15317
15519
  resolve against a box the chart itself defined. `overflow: hidden` keeps a
15318
15520
  sub-pixel rounding difference from reintroducing a scrollbar. */
15319
- .cn-chart-widget--fit .cn-chart-widget__canvas[data-v-4e61b5f0] {
15521
+ .cn-chart-widget--fit .cn-chart-widget__canvas[data-v-b6e600c4] {
15320
15522
  flex: 1 1 0;
15321
15523
  min-height: 0;
15322
15524
  overflow: hidden;
15323
15525
  }
15324
- .cn-chart-widget__fallback[data-v-4e61b5f0] {
15526
+ .cn-chart-widget__fallback[data-v-b6e600c4] {
15325
15527
  display: flex;
15326
15528
  align-items: center;
15327
15529
  justify-content: center;
15328
15530
  min-height: 150px;
15329
15531
  color: var(--color-text-maxcontrast);
15330
15532
  }
15331
- .cn-chart-widget__html[data-v-4e61b5f0] {
15533
+ .cn-chart-widget__html[data-v-b6e600c4] {
15332
15534
  display: flex;
15333
15535
  flex-direction: column;
15334
15536
  gap: 12px;
15335
15537
  }
15336
- .cn-chart-widget__bar-list[data-v-4e61b5f0] {
15538
+ .cn-chart-widget__bar-list[data-v-b6e600c4] {
15337
15539
  display: flex;
15338
15540
  flex-direction: column;
15339
15541
  gap: 10px;
@@ -15341,7 +15543,7 @@ li[data-cn-admin-tag] > .action-link::after {
15341
15543
  margin: 0;
15342
15544
  padding: 0;
15343
15545
  }
15344
- .cn-chart-widget__bar-line[data-v-4e61b5f0] {
15546
+ .cn-chart-widget__bar-line[data-v-b6e600c4] {
15345
15547
  align-items: center;
15346
15548
  background: none;
15347
15549
  border: 0;
@@ -15356,91 +15558,115 @@ li[data-cn-admin-tag] > .action-link::after {
15356
15558
  text-align: start;
15357
15559
  width: 100%;
15358
15560
  }
15359
- .cn-chart-widget__bar-line--drill[data-v-4e61b5f0] {
15561
+ .cn-chart-widget__bar-line--drill[data-v-b6e600c4] {
15360
15562
  border-radius: var(--border-radius-small, 4px);
15361
15563
  cursor: pointer;
15362
15564
  }
15363
- .cn-chart-widget__bar-line--drill:hover .cn-chart-widget__bar-label[data-v-4e61b5f0],
15364
- .cn-chart-widget__bar-line--drill:focus-visible .cn-chart-widget__bar-label[data-v-4e61b5f0] {
15565
+ .cn-chart-widget__bar-line--drill:hover .cn-chart-widget__bar-label[data-v-b6e600c4],
15566
+ .cn-chart-widget__bar-line--drill:focus-visible .cn-chart-widget__bar-label[data-v-b6e600c4] {
15365
15567
  text-decoration: underline;
15366
15568
  }
15367
- .cn-chart-widget__bar-label[data-v-4e61b5f0] {
15569
+ .cn-chart-widget__bar-label[data-v-b6e600c4] {
15368
15570
  overflow: hidden;
15369
15571
  text-overflow: ellipsis;
15370
15572
  white-space: nowrap;
15371
15573
  }
15372
- .cn-chart-widget__bar-track[data-v-4e61b5f0] {
15574
+ .cn-chart-widget__bar-track[data-v-b6e600c4] {
15373
15575
  background: var(--color-background-dark);
15374
15576
  border-radius: 4px;
15375
15577
  display: block;
15376
15578
  height: 14px;
15377
15579
  overflow: hidden;
15378
15580
  }
15379
- .cn-chart-widget__bar-fill[data-v-4e61b5f0] {
15581
+ .cn-chart-widget__bar-fill[data-v-b6e600c4] {
15380
15582
  background: var(--color-primary-element);
15381
15583
  display: block;
15382
15584
  height: 100%;
15383
15585
  }
15384
- .cn-chart-widget__bar-value[data-v-4e61b5f0] {
15586
+ .cn-chart-widget__bar-value[data-v-b6e600c4] {
15385
15587
  font-weight: 600;
15386
15588
  text-align: end;
15387
15589
  white-space: nowrap;
15388
15590
  }
15389
- .cn-chart-widget__footnote[data-v-4e61b5f0] {
15591
+
15592
+ /* `barValueAtEnd`: no track; the bar takes its share of the row and gives way
15593
+ to the value right after its end, so the longest bar still fits. */
15594
+ .cn-chart-widget__bar-list--value-at-end .cn-chart-widget__bar-line[data-v-b6e600c4] {
15595
+ grid-template-columns: minmax(80px, 130px) minmax(0, 1fr);
15596
+ }
15597
+ .cn-chart-widget__bar-list--value-at-end .cn-chart-widget__bar-track[data-v-b6e600c4] {
15598
+ align-items: center;
15599
+ background: none;
15600
+ display: flex;
15601
+ gap: 6px;
15602
+ height: auto;
15603
+ overflow: visible;
15604
+ }
15605
+ .cn-chart-widget__bar-list--value-at-end .cn-chart-widget__bar-fill[data-v-b6e600c4] {
15606
+ border-radius: 4px;
15607
+ flex: 0 1 auto;
15608
+ height: 18px;
15609
+ min-width: 2px;
15610
+ }
15611
+ .cn-chart-widget__bar-list--value-at-end .cn-chart-widget__bar-value[data-v-b6e600c4] {
15612
+ flex: none;
15613
+ text-align: start;
15614
+ }
15615
+ .cn-chart-widget__footnote[data-v-b6e600c4] {
15390
15616
  color: var(--color-text-maxcontrast);
15391
15617
  margin: 0;
15392
15618
  }
15393
- .cn-chart-widget__notice[data-v-4e61b5f0] {
15619
+ .cn-chart-widget__notice[data-v-b6e600c4] {
15394
15620
  margin: 12px 0 0;
15395
15621
  }
15396
- .cn-chart-widget__notice-text[data-v-4e61b5f0] {
15622
+ .cn-chart-widget__notice-text[data-v-b6e600c4] {
15397
15623
  margin: 0;
15398
15624
  }
15399
15625
 
15400
15626
  /* Under an ApexCharts plot the footnote is a sibling of the canvas, so it keeps
15401
15627
  its own line height while the canvas takes the rest of a fitted column. */
15402
- .cn-chart-widget > .cn-chart-widget__footnote[data-v-4e61b5f0] {
15628
+ .cn-chart-widget > .cn-chart-widget__footnote[data-v-b6e600c4] {
15403
15629
  flex: 0 0 auto;
15404
15630
  margin-top: 8px;
15405
15631
  }
15406
- .cn-chart-widget__matrix[data-v-4e61b5f0] {
15632
+ .cn-chart-widget__matrix[data-v-b6e600c4] {
15407
15633
  display: grid;
15408
15634
  gap: 4px;
15409
15635
  }
15410
- .cn-chart-widget__matrix-row[data-v-4e61b5f0] {
15636
+ .cn-chart-widget__matrix-row[data-v-b6e600c4] {
15411
15637
  display: contents;
15412
15638
  }
15413
15639
 
15414
15640
  /* A column takes its share of the width (minmax(0, 1fr)), so a long phase
15415
15641
  name breaks inside its own column instead of running into the next. */
15416
- .cn-chart-widget__matrix-head[data-v-4e61b5f0] {
15642
+ .cn-chart-widget__matrix-head[data-v-b6e600c4] {
15417
15643
  --nldesign-color-on-surface: var(--color-text-maxcontrast);
15418
15644
  color: var(--color-text-maxcontrast);
15419
15645
  padding: 6px;
15420
15646
  hyphens: auto;
15421
15647
  overflow-wrap: anywhere;
15422
15648
  }
15423
- .cn-chart-widget__matrix-label[data-v-4e61b5f0] {
15649
+ .cn-chart-widget__matrix-label[data-v-b6e600c4] {
15424
15650
  padding: 10px 6px;
15425
15651
  }
15426
- .cn-chart-widget__matrix-cell[data-v-4e61b5f0] {
15652
+ .cn-chart-widget__matrix-cell[data-v-b6e600c4] {
15427
15653
  border-radius: 6px;
15428
15654
  padding: 10px;
15429
15655
  text-align: center;
15430
15656
  }
15431
- .cn-chart-widget__matrix-cell--success[data-v-4e61b5f0] {
15657
+ .cn-chart-widget__matrix-cell--success[data-v-b6e600c4] {
15432
15658
  background: var(--color-success-light, color-mix(in srgb, var(--color-success) 15%, var(--color-main-background)));
15433
15659
  }
15434
- .cn-chart-widget__matrix-cell--warning[data-v-4e61b5f0] {
15660
+ .cn-chart-widget__matrix-cell--warning[data-v-b6e600c4] {
15435
15661
  background: var(--color-warning-light, color-mix(in srgb, var(--color-warning) 15%, var(--color-main-background)));
15436
15662
  }
15437
- .cn-chart-widget__matrix-cell--error[data-v-4e61b5f0] {
15663
+ .cn-chart-widget__matrix-cell--error[data-v-b6e600c4] {
15438
15664
  background: var(--color-error-light, color-mix(in srgb, var(--color-error) 12%, var(--color-main-background)));
15439
15665
  }
15440
- .cn-chart-widget__matrix-cell--danger[data-v-4e61b5f0] {
15666
+ .cn-chart-widget__matrix-cell--danger[data-v-b6e600c4] {
15441
15667
  background: color-mix(in srgb, var(--color-error) 25%, var(--color-main-background));
15442
15668
  }
15443
- .cn-chart-widget__matrix-cell--current[data-v-4e61b5f0] {
15669
+ .cn-chart-widget__matrix-cell--current[data-v-b6e600c4] {
15444
15670
  font-weight: 700;
15445
15671
  outline: 3px solid var(--color-primary-element);
15446
15672
  outline-offset: -3px;
@@ -15452,26 +15678,26 @@ li[data-cn-admin-tag] > .action-link::after {
15452
15678
  primary at 35% and at 70%, and level 1 inverted. Levels 1 to 3 take a dark
15453
15679
  ink; the board's white on level 3 is about 3.1:1, and 70% is as deep as the
15454
15680
  dark ink stays at 4.5:1 in Nextcloud's dark theme. */
15455
- .cn-chart-widget__matrix-cell--1[data-v-4e61b5f0] {
15681
+ .cn-chart-widget__matrix-cell--1[data-v-b6e600c4] {
15456
15682
  --nldesign-color-on-surface: var(--color-primary-element-light-text);
15457
15683
  background: var(--color-primary-element-light);
15458
15684
  color: var(--color-primary-element-light-text);
15459
15685
  }
15460
- .cn-chart-widget__matrix-cell--2[data-v-4e61b5f0] {
15686
+ .cn-chart-widget__matrix-cell--2[data-v-b6e600c4] {
15461
15687
  background: color-mix(in srgb, var(--color-primary-element) 35%, var(--color-main-background));
15462
15688
  color: var(--color-main-text);
15463
15689
  }
15464
- .cn-chart-widget__matrix-cell--3[data-v-4e61b5f0] {
15690
+ .cn-chart-widget__matrix-cell--3[data-v-b6e600c4] {
15465
15691
  --nldesign-color-on-surface: var(--color-main-text);
15466
15692
  background: color-mix(in srgb, var(--color-primary-element) 70%, var(--color-main-background));
15467
15693
  color: var(--color-main-text);
15468
15694
  }
15469
- .cn-chart-widget__matrix-cell--4[data-v-4e61b5f0] {
15695
+ .cn-chart-widget__matrix-cell--4[data-v-b6e600c4] {
15470
15696
  --nldesign-color-on-surface: var(--color-primary-element-light);
15471
15697
  background: var(--color-primary-element-light-text);
15472
15698
  color: var(--color-primary-element-light);
15473
15699
  }
15474
- .cn-chart-widget__empty[data-v-4e61b5f0] {
15700
+ .cn-chart-widget__empty[data-v-b6e600c4] {
15475
15701
  display: flex;
15476
15702
  align-items: center;
15477
15703
  justify-content: center;
@@ -15486,25 +15712,25 @@ li[data-cn-admin-tag] > .action-link::after {
15486
15712
  content-sized case; in fit mode they take the leftover space and centre in it
15487
15713
  instead, since the floor would overflow a short tile. Declared after the base
15488
15714
  rules so the cascade order matches specificity (no-descending-specificity). */
15489
- .cn-chart-widget--fit .cn-chart-widget__empty[data-v-4e61b5f0],
15490
- .cn-chart-widget--fit .cn-chart-widget__fallback[data-v-4e61b5f0] {
15715
+ .cn-chart-widget--fit .cn-chart-widget__empty[data-v-b6e600c4],
15716
+ .cn-chart-widget--fit .cn-chart-widget__fallback[data-v-b6e600c4] {
15491
15717
  flex: 1 1 0;
15492
15718
  min-height: 0;
15493
15719
  }
15494
- .cn-chart-widget__error[data-v-4e61b5f0] {
15720
+ .cn-chart-widget__error[data-v-b6e600c4] {
15495
15721
  font-size: 14px;
15496
15722
  margin: 0;
15497
15723
  }
15498
15724
 
15499
15725
  /* In-widget view switcher pills (views[] prop) — compact segmented row,
15500
15726
  mirroring the dashboard date-range pill styling. */
15501
- .cn-chart-widget__views[data-v-4e61b5f0] {
15727
+ .cn-chart-widget__views[data-v-b6e600c4] {
15502
15728
  display: flex;
15503
15729
  gap: 4px;
15504
15730
  margin-bottom: 6px;
15505
15731
  justify-content: flex-end;
15506
15732
  }
15507
- .cn-chart-widget__view-pill[data-v-4e61b5f0] {
15733
+ .cn-chart-widget__view-pill[data-v-b6e600c4] {
15508
15734
  padding: 2px 10px;
15509
15735
  border: 1px solid var(--color-border);
15510
15736
  border-radius: 999px;
@@ -15513,7 +15739,7 @@ li[data-cn-admin-tag] > .action-link::after {
15513
15739
  font-size: 12px;
15514
15740
  cursor: pointer;
15515
15741
  }
15516
- .cn-chart-widget__view-pill--active[data-v-4e61b5f0] {
15742
+ .cn-chart-widget__view-pill--active[data-v-b6e600c4] {
15517
15743
  background: var(--color-primary-element-light, #aad2ed);
15518
15744
  color: var(--color-main-text);
15519
15745
  border-color: var(--color-primary-element, #0082c9);
@@ -15542,8 +15768,8 @@ li[data-cn-admin-tag] > .action-link::after {
15542
15768
  each override below therefore carries one more class than the apexcharts rule
15543
15769
  it replaces, and holds even without the scope attribute this block compiles
15544
15770
  with. */
15545
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-tooltip.apexcharts-theme-light,
15546
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-tooltip.apexcharts-theme-dark {
15771
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-tooltip.apexcharts-theme-light,
15772
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-tooltip.apexcharts-theme-dark {
15547
15773
  background: var(--color-main-background);
15548
15774
  border: 1px solid var(--color-border);
15549
15775
  color: var(--color-main-text);
@@ -15552,8 +15778,8 @@ li[data-cn-admin-tag] > .action-link::after {
15552
15778
 
15553
15779
  /* The title row is the date/category header ("Aug 26"). Its own background is
15554
15780
  what made it unreadable rather than merely off-theme. */
15555
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title,
15556
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {
15781
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title,
15782
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {
15557
15783
  background: var(--color-background-hover);
15558
15784
  border-bottom: 1px solid var(--color-border);
15559
15785
  color: var(--color-main-text);
@@ -15562,8 +15788,8 @@ li[data-cn-admin-tag] > .action-link::after {
15562
15788
  /* Crosshair axis tooltips. apexcharts puts light hex values on the BASE class
15563
15789
  here and only overrides them for its dark theme, so the base rule has to be
15564
15790
  replaced too — not just the theme variants. */
15565
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-xaxistooltip,
15566
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-yaxistooltip {
15791
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-xaxistooltip,
15792
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-yaxistooltip {
15567
15793
  background: var(--color-main-background);
15568
15794
  border: 1px solid var(--color-border);
15569
15795
  color: var(--color-main-text);
@@ -15572,55 +15798,55 @@ li[data-cn-admin-tag] > .action-link::after {
15572
15798
  /* Their pointer arrows are two stacked triangles: `::before` paints the border
15573
15799
  edge, `::after` the fill. Both need the tokens the box above uses, or the
15574
15800
  arrow keeps the old palette and reads as a stray light wedge. */
15575
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-xaxistooltip-bottom::after,
15576
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-xaxistooltip-top::after {
15801
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-xaxistooltip-bottom::after,
15802
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-xaxistooltip-top::after {
15577
15803
  border-bottom-color: var(--color-main-background);
15578
15804
  border-top-color: var(--color-main-background);
15579
15805
  }
15580
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-xaxistooltip-bottom::before,
15581
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-xaxistooltip-top::before {
15806
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-xaxistooltip-bottom::before,
15807
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-xaxistooltip-top::before {
15582
15808
  border-bottom-color: var(--color-border);
15583
15809
  border-top-color: var(--color-border);
15584
15810
  }
15585
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-yaxistooltip-left::after,
15586
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-yaxistooltip-right::after {
15811
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-yaxistooltip-left::after,
15812
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-yaxistooltip-right::after {
15587
15813
  border-left-color: var(--color-main-background);
15588
15814
  border-right-color: var(--color-main-background);
15589
15815
  }
15590
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-yaxistooltip-left::before,
15591
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-yaxistooltip-right::before {
15816
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-yaxistooltip-left::before,
15817
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-yaxistooltip-right::before {
15592
15818
  border-left-color: var(--color-border);
15593
15819
  border-right-color: var(--color-border);
15594
15820
  }
15595
15821
 
15596
15822
  /* Toolbar menu — only reachable with `toolbar: true`, but the same defect: a
15597
15823
  hardcoded `#fff` panel under inherited near-white text. */
15598
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-menu {
15824
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-menu {
15599
15825
  background: var(--color-main-background);
15600
15826
  border: 1px solid var(--color-border);
15601
15827
  color: var(--color-main-text);
15602
15828
  }
15603
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-menu .apexcharts-menu-item:hover {
15829
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-menu .apexcharts-menu-item:hover {
15604
15830
  background: var(--color-background-hover);
15605
15831
  }
15606
15832
 
15607
15833
  /* Toolbar icons: `#6e8192` at rest and `#333` on hover, i.e. the hover state
15608
15834
  vanishes against a dark background. One selector per icon class, matching
15609
15835
  apexcharts' own list, to clear its (0,3,1) hover rules. */
15610
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-toolbar .apexcharts-menu-icon svg,
15611
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-toolbar .apexcharts-reset-icon svg,
15612
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-toolbar .apexcharts-selection-icon svg,
15613
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-toolbar .apexcharts-zoom-icon svg,
15614
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-toolbar .apexcharts-zoomin-icon svg,
15615
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-toolbar .apexcharts-zoomout-icon svg {
15836
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-toolbar .apexcharts-menu-icon svg,
15837
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-toolbar .apexcharts-reset-icon svg,
15838
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-toolbar .apexcharts-selection-icon svg,
15839
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-toolbar .apexcharts-zoom-icon svg,
15840
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-toolbar .apexcharts-zoomin-icon svg,
15841
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-toolbar .apexcharts-zoomout-icon svg {
15616
15842
  fill: var(--color-text-maxcontrast);
15617
15843
  }
15618
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-toolbar .apexcharts-menu-icon:hover svg,
15619
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-toolbar .apexcharts-reset-icon:hover svg,
15620
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-toolbar .apexcharts-selection-icon:hover svg,
15621
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-toolbar .apexcharts-zoom-icon:hover svg,
15622
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-toolbar .apexcharts-zoomin-icon:hover svg,
15623
- .cn-chart-widget[data-v-4e61b5f0] .apexcharts-toolbar .apexcharts-zoomout-icon:hover svg {
15844
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-toolbar .apexcharts-menu-icon:hover svg,
15845
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-toolbar .apexcharts-reset-icon:hover svg,
15846
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-toolbar .apexcharts-selection-icon:hover svg,
15847
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-toolbar .apexcharts-zoom-icon:hover svg,
15848
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-toolbar .apexcharts-zoomin-icon:hover svg,
15849
+ .cn-chart-widget[data-v-b6e600c4] .apexcharts-toolbar .apexcharts-zoomout-icon:hover svg {
15624
15850
  fill: var(--color-main-text);
15625
15851
  }
15626
15852
 
@@ -17130,32 +17356,32 @@ svg.leaflet-image-layer.leaflet-interactive path {
17130
17356
  line-height: 30px;
17131
17357
  }
17132
17358
 
17133
- .cn-map-widget[data-v-4c58b629] {
17359
+ .cn-map-widget[data-v-e92438e2] {
17134
17360
  position: relative;
17135
17361
  width: 100%;
17136
17362
  min-height: 200px;
17137
17363
  }
17138
- .cn-map-widget__leaflet[data-v-4c58b629] {
17364
+ .cn-map-widget__leaflet[data-v-e92438e2] {
17139
17365
  width: 100%;
17140
17366
  height: 100%;
17141
17367
  /* Leaflet paints its container #ddd, which reads as a white flash before the
17142
17368
  tiles arrive — and a bright one in a dark theme. */
17143
17369
  background: var(--color-background-dark);
17144
17370
  }
17145
- .cn-map-widget__note[data-v-4c58b629] {
17371
+ .cn-map-widget__note[data-v-e92438e2] {
17146
17372
  margin: 4px 0 0;
17147
17373
  font-size: 13px;
17148
17374
  color: var(--color-text-maxcontrast);
17149
17375
  }
17150
17376
 
17151
17377
  /* Why the map shows no markers: the card's own text size, on its inset. */
17152
- .cn-map-widget__note--status[data-v-4c58b629] {
17378
+ .cn-map-widget__note--status[data-v-e92438e2] {
17153
17379
  font-size: 14px;
17154
17380
  }
17155
- .cn-map-widget__note--error[data-v-4c58b629] {
17381
+ .cn-map-widget__note--error[data-v-e92438e2] {
17156
17382
  color: var(--color-error-text, var(--color-error));
17157
17383
  }
17158
- .cn-map-widget__fallback[data-v-4c58b629] {
17384
+ .cn-map-widget__fallback[data-v-e92438e2] {
17159
17385
  display: flex;
17160
17386
  align-items: center;
17161
17387
  justify-content: center;
@@ -17163,11 +17389,11 @@ svg.leaflet-image-layer.leaflet-interactive path {
17163
17389
  min-height: 150px;
17164
17390
  color: var(--color-text-maxcontrast);
17165
17391
  }
17166
- .cn-map-widget__error[data-v-4c58b629] {
17392
+ .cn-map-widget__error[data-v-e92438e2] {
17167
17393
  font-size: 14px;
17168
17394
  margin: 0;
17169
17395
  }
17170
- .cn-map-widget__legend[data-v-4c58b629] {
17396
+ .cn-map-widget__legend[data-v-e92438e2] {
17171
17397
  position: absolute;
17172
17398
  top: 12px;
17173
17399
  right: 12px;
@@ -17180,7 +17406,7 @@ svg.leaflet-image-layer.leaflet-interactive path {
17180
17406
 
17181
17407
  /* Fullscreen overlay. A CSS-fixed box rather than the Fullscreen API, so it needs
17182
17408
  no permission prompt; the z-index clears the Nextcloud header. */
17183
- .cn-map-widget--fullscreen[data-v-4c58b629] {
17409
+ .cn-map-widget--fullscreen[data-v-e92438e2] {
17184
17410
  position: fixed;
17185
17411
  top: 0;
17186
17412
  left: 0;
@@ -17193,7 +17419,7 @@ svg.leaflet-image-layer.leaflet-interactive path {
17193
17419
  Leaflet's default white-on-grey buttons.
17194
17420
  ::v-deep is required — Leaflet builds the control DOM via L.DomUtil.create, so
17195
17421
  those nodes never receive this SFC's scoped data-v attribute. */
17196
- .cn-map-widget[data-v-4c58b629] .cn-map-widget__control {
17422
+ .cn-map-widget[data-v-e92438e2] .cn-map-widget__control {
17197
17423
  display: flex;
17198
17424
  align-items: center;
17199
17425
  justify-content: center;
@@ -17202,8 +17428,8 @@ svg.leaflet-image-layer.leaflet-interactive path {
17202
17428
  color: var(--color-main-text);
17203
17429
  background: var(--color-main-background);
17204
17430
  }
17205
- .cn-map-widget[data-v-4c58b629] .cn-map-widget__control:hover,
17206
- .cn-map-widget[data-v-4c58b629] .cn-map-widget__control:focus-visible {
17431
+ .cn-map-widget[data-v-e92438e2] .cn-map-widget__control:hover,
17432
+ .cn-map-widget[data-v-e92438e2] .cn-map-widget__control:focus-visible {
17207
17433
  background: var(--color-background-hover);
17208
17434
  }
17209
17435
 
@@ -17502,64 +17728,64 @@ svg.leaflet-image-layer.leaflet-interactive path {
17502
17728
  }
17503
17729
 
17504
17730
 
17505
- .cn-cell-renderer__actions[data-v-2a3bc230] {
17731
+ .cn-cell-renderer__actions[data-v-abd08d9e] {
17506
17732
  display: inline-flex;
17507
17733
  flex-wrap: wrap;
17508
17734
  gap: 8px;
17509
17735
  }
17510
- .cn-cell-renderer__icon-label[data-v-2a3bc230] {
17736
+ .cn-cell-renderer__icon-label[data-v-abd08d9e] {
17511
17737
  display: inline-flex;
17512
17738
  align-items: center;
17513
17739
  gap: 6px;
17514
17740
  font-weight: 600;
17515
17741
  }
17516
- .cn-cell-renderer__switch[data-v-2a3bc230] {
17742
+ .cn-cell-renderer__switch[data-v-abd08d9e] {
17517
17743
  display: inline-flex;
17518
17744
  }
17519
- .cn-cell-renderer__mono[data-v-2a3bc230] {
17745
+ .cn-cell-renderer__mono[data-v-abd08d9e] {
17520
17746
  font-family: monospace;
17521
17747
  font-size: 13px;
17522
17748
  color: var(--color-text-maxcontrast);
17523
17749
  }
17524
- .cn-cell-renderer--uuid[data-v-2a3bc230] {
17750
+ .cn-cell-renderer--uuid[data-v-abd08d9e] {
17525
17751
  font-family: monospace;
17526
17752
  font-size: 13px;
17527
17753
  color: var(--color-text-maxcontrast);
17528
17754
  }
17529
- .cn-cell-renderer--number[data-v-2a3bc230] {
17755
+ .cn-cell-renderer--number[data-v-abd08d9e] {
17530
17756
  font-variant-numeric: tabular-nums;
17531
17757
  }
17532
- .cn-cell-renderer--date[data-v-2a3bc230] {
17758
+ .cn-cell-renderer--date[data-v-abd08d9e] {
17533
17759
  white-space: nowrap;
17534
17760
  }
17535
- .cn-cell-renderer__date-state[data-v-2a3bc230] {
17761
+ .cn-cell-renderer__date-state[data-v-abd08d9e] {
17536
17762
  margin-inline-start: 8px;
17537
17763
  color: var(--color-success-text, var(--color-main-text));
17538
17764
  }
17539
- .cn-cell-renderer__date-state--past[data-v-2a3bc230] {
17765
+ .cn-cell-renderer__date-state--past[data-v-abd08d9e] {
17540
17766
  color: var(--color-text-maxcontrast);
17541
17767
  }
17542
- .cn-cell-renderer__dash[data-v-2a3bc230] {
17768
+ .cn-cell-renderer__dash[data-v-abd08d9e] {
17543
17769
  color: var(--color-text-maxcontrast);
17544
17770
  }
17545
- .cn-cell-renderer__avatar[data-v-2a3bc230] {
17771
+ .cn-cell-renderer__avatar[data-v-abd08d9e] {
17546
17772
  display: inline-flex;
17547
17773
  align-items: center;
17548
17774
  gap: 8px;
17549
17775
  max-width: 100%;
17550
17776
  vertical-align: middle;
17551
17777
  }
17552
- .cn-cell-renderer__avatar-picture[data-v-2a3bc230] {
17778
+ .cn-cell-renderer__avatar-picture[data-v-abd08d9e] {
17553
17779
  display: inline-flex;
17554
17780
  flex: none;
17555
17781
  }
17556
- .cn-cell-renderer__date-block[data-v-2a3bc230] {
17782
+ .cn-cell-renderer__date-block[data-v-abd08d9e] {
17557
17783
  display: inline-flex;
17558
17784
  align-items: center;
17559
17785
  gap: 12px;
17560
17786
  white-space: nowrap;
17561
17787
  }
17562
- .cn-cell-renderer__date-tile[data-v-2a3bc230] {
17788
+ .cn-cell-renderer__date-tile[data-v-abd08d9e] {
17563
17789
  display: flex;
17564
17790
  flex: 0 0 46px;
17565
17791
  flex-direction: column;
@@ -17569,26 +17795,26 @@ svg.leaflet-image-layer.leaflet-interactive path {
17569
17795
  border-radius: 8px;
17570
17796
  background-color: var(--color-background-dark);
17571
17797
  }
17572
- .cn-cell-renderer__date-day[data-v-2a3bc230] {
17798
+ .cn-cell-renderer__date-day[data-v-abd08d9e] {
17573
17799
  font-size: 17px;
17574
17800
  line-height: 1;
17575
17801
  }
17576
- .cn-cell-renderer__date-month[data-v-2a3bc230],
17577
- .cn-cell-renderer__date-time[data-v-2a3bc230] {
17802
+ .cn-cell-renderer__date-month[data-v-abd08d9e],
17803
+ .cn-cell-renderer__date-time[data-v-abd08d9e] {
17578
17804
  color: var(--color-text-maxcontrast);
17579
17805
  }
17580
- .cn-cell-renderer__date-month[data-v-2a3bc230] {
17806
+ .cn-cell-renderer__date-month[data-v-abd08d9e] {
17581
17807
  font-size: 12px;
17582
17808
  }
17583
- .cn-cell-renderer__date-lines[data-v-2a3bc230] {
17809
+ .cn-cell-renderer__date-lines[data-v-abd08d9e] {
17584
17810
  display: flex;
17585
17811
  flex-direction: column;
17586
17812
  gap: 2px;
17587
17813
  }
17588
- .cn-cell-renderer__date-weekday[data-v-2a3bc230] {
17814
+ .cn-cell-renderer__date-weekday[data-v-abd08d9e] {
17589
17815
  font-weight: 600;
17590
17816
  }
17591
- .cn-cell-renderer__avatar-initials[data-v-2a3bc230] {
17817
+ .cn-cell-renderer__avatar-initials[data-v-abd08d9e] {
17592
17818
  display: inline-flex;
17593
17819
  flex: none;
17594
17820
  align-items: center;
@@ -17600,12 +17826,12 @@ svg.leaflet-image-layer.leaflet-interactive path {
17600
17826
  font-weight: 700;
17601
17827
  line-height: 1;
17602
17828
  }
17603
- .cn-cell-renderer__avatar-text[data-v-2a3bc230] {
17829
+ .cn-cell-renderer__avatar-text[data-v-abd08d9e] {
17604
17830
  display: flex;
17605
17831
  flex-direction: column;
17606
17832
  min-width: 0;
17607
17833
  }
17608
- .cn-cell-renderer__avatar-name[data-v-2a3bc230] {
17834
+ .cn-cell-renderer__avatar-name[data-v-abd08d9e] {
17609
17835
  min-width: 0;
17610
17836
  overflow: hidden;
17611
17837
  text-overflow: ellipsis;
@@ -17615,7 +17841,7 @@ svg.leaflet-image-layer.leaflet-interactive path {
17615
17841
  font: inherit;
17616
17842
  color: inherit;
17617
17843
  }
17618
- .cn-cell-renderer__avatar-secondary[data-v-2a3bc230] {
17844
+ .cn-cell-renderer__avatar-secondary[data-v-abd08d9e] {
17619
17845
  min-width: 0;
17620
17846
  overflow: hidden;
17621
17847
  color: var(--color-text-maxcontrast);
@@ -17629,34 +17855,34 @@ svg.leaflet-image-layer.leaflet-interactive path {
17629
17855
 
17630
17856
  /* A date that matched a rule is also set in a heavier weight, so the signal
17631
17857
  does not rest on colour alone. */
17632
- .cn-cell-renderer__date--success[data-v-2a3bc230],
17633
- .cn-cell-renderer__date--warning[data-v-2a3bc230],
17634
- .cn-cell-renderer__date--error[data-v-2a3bc230],
17635
- .cn-cell-renderer__age--success[data-v-2a3bc230],
17636
- .cn-cell-renderer__age--warning[data-v-2a3bc230],
17637
- .cn-cell-renderer__age--error[data-v-2a3bc230] {
17858
+ .cn-cell-renderer__date--success[data-v-abd08d9e],
17859
+ .cn-cell-renderer__date--warning[data-v-abd08d9e],
17860
+ .cn-cell-renderer__date--error[data-v-abd08d9e],
17861
+ .cn-cell-renderer__age--success[data-v-abd08d9e],
17862
+ .cn-cell-renderer__age--warning[data-v-abd08d9e],
17863
+ .cn-cell-renderer__age--error[data-v-abd08d9e] {
17638
17864
  font-weight: 600;
17639
17865
  }
17640
- .cn-cell-renderer__age[data-v-2a3bc230] {
17866
+ .cn-cell-renderer__age[data-v-abd08d9e] {
17641
17867
  white-space: nowrap;
17642
17868
  }
17643
17869
 
17644
17870
  /* The progress cell (abstract-progress-cell): a 56 x 8 bar, the percentage
17645
17871
  8px beside it in the bar's tone, and an optional age badge after them, as
17646
17872
  PqLeads' Winkans column. The value is bold, so the tone is not the only signal. */
17647
- .cn-cell-renderer__progress[data-v-2a3bc230] {
17873
+ .cn-cell-renderer__progress[data-v-abd08d9e] {
17648
17874
  display: inline-flex;
17649
17875
  flex-wrap: wrap;
17650
17876
  align-items: center;
17651
17877
  gap: 4px 8px;
17652
17878
  }
17653
- .cn-cell-renderer__progress-line[data-v-2a3bc230] {
17879
+ .cn-cell-renderer__progress-line[data-v-abd08d9e] {
17654
17880
  display: inline-flex;
17655
17881
  align-items: center;
17656
17882
  gap: 8px;
17657
17883
  white-space: nowrap;
17658
17884
  }
17659
- .cn-cell-renderer__progress-bar[data-v-2a3bc230] {
17885
+ .cn-cell-renderer__progress-bar[data-v-abd08d9e] {
17660
17886
  display: inline-block;
17661
17887
  width: 56px;
17662
17888
  height: 8px;
@@ -17664,33 +17890,33 @@ svg.leaflet-image-layer.leaflet-interactive path {
17664
17890
  background: var(--color-background-dark);
17665
17891
  overflow: hidden;
17666
17892
  }
17667
- .cn-cell-renderer__progress-fill[data-v-2a3bc230] {
17893
+ .cn-cell-renderer__progress-fill[data-v-abd08d9e] {
17668
17894
  display: block;
17669
17895
  height: 100%;
17670
17896
  }
17671
- .cn-cell-renderer__progress-fill--success[data-v-2a3bc230] {
17897
+ .cn-cell-renderer__progress-fill--success[data-v-abd08d9e] {
17672
17898
  background: var(--color-element-success, var(--color-success));
17673
17899
  }
17674
- .cn-cell-renderer__progress-fill--warning[data-v-2a3bc230] {
17900
+ .cn-cell-renderer__progress-fill--warning[data-v-abd08d9e] {
17675
17901
  background: var(--color-element-warning, var(--color-warning));
17676
17902
  }
17677
- .cn-cell-renderer__progress-fill--error[data-v-2a3bc230] {
17903
+ .cn-cell-renderer__progress-fill--error[data-v-abd08d9e] {
17678
17904
  background: var(--color-element-error, var(--color-error));
17679
17905
  }
17680
- .cn-cell-renderer__progress-value[data-v-2a3bc230] {
17906
+ .cn-cell-renderer__progress-value[data-v-abd08d9e] {
17681
17907
  font-size: 14px;
17682
17908
  font-weight: 700;
17683
17909
  }
17684
- .cn-cell-renderer__progress-value--success[data-v-2a3bc230] {
17910
+ .cn-cell-renderer__progress-value--success[data-v-abd08d9e] {
17685
17911
  color: var(--color-text-success, var(--color-success-text));
17686
17912
  }
17687
- .cn-cell-renderer__progress-value--warning[data-v-2a3bc230] {
17913
+ .cn-cell-renderer__progress-value--warning[data-v-abd08d9e] {
17688
17914
  color: var(--color-text-warning, var(--color-warning-text));
17689
17915
  }
17690
- .cn-cell-renderer__progress-value--error[data-v-2a3bc230] {
17916
+ .cn-cell-renderer__progress-value--error[data-v-abd08d9e] {
17691
17917
  color: var(--color-text-error, var(--color-error-text));
17692
17918
  }
17693
- .cn-cell-renderer__progress-badge[data-v-2a3bc230] {
17919
+ .cn-cell-renderer__progress-badge[data-v-abd08d9e] {
17694
17920
  display: inline-block;
17695
17921
  padding: 3px 10px;
17696
17922
  border-radius: 12px;
@@ -17698,86 +17924,86 @@ svg.leaflet-image-layer.leaflet-interactive path {
17698
17924
  font-weight: 600;
17699
17925
  white-space: nowrap;
17700
17926
  }
17701
- .cn-cell-renderer__progress-badge--error[data-v-2a3bc230] {
17927
+ .cn-cell-renderer__progress-badge--error[data-v-abd08d9e] {
17702
17928
  color: var(--color-text-error, var(--color-error-text));
17703
17929
  background: var(--color-error-hover, var(--color-background-dark));
17704
17930
  background: color-mix(in srgb, var(--color-error) 12%, transparent);
17705
17931
  }
17706
- .cn-cell-renderer__progress-badge--warning[data-v-2a3bc230] {
17932
+ .cn-cell-renderer__progress-badge--warning[data-v-abd08d9e] {
17707
17933
  color: var(--color-text-warning, var(--color-warning-text));
17708
17934
  background: color-mix(in srgb, var(--color-warning) 14%, transparent);
17709
17935
  }
17710
- .cn-cell-renderer__progress-badge--success[data-v-2a3bc230] {
17936
+ .cn-cell-renderer__progress-badge--success[data-v-abd08d9e] {
17711
17937
  color: var(--color-text-success, var(--color-success-text));
17712
17938
  background: color-mix(in srgb, var(--color-success) 12%, transparent);
17713
17939
  }
17714
- .cn-cell-renderer__age--success[data-v-2a3bc230] {
17940
+ .cn-cell-renderer__age--success[data-v-abd08d9e] {
17715
17941
  color: var(--color-text-success, var(--color-success-text));
17716
17942
  }
17717
- .cn-cell-renderer__age--warning[data-v-2a3bc230] {
17943
+ .cn-cell-renderer__age--warning[data-v-abd08d9e] {
17718
17944
  color: var(--color-text-warning, var(--color-warning-text));
17719
17945
  }
17720
- .cn-cell-renderer__age--error[data-v-2a3bc230] {
17946
+ .cn-cell-renderer__age--error[data-v-abd08d9e] {
17721
17947
  color: var(--color-text-error, var(--color-error-text));
17722
17948
  }
17723
- .cn-cell-renderer__due--empty[data-v-2a3bc230] {
17949
+ .cn-cell-renderer__due--empty[data-v-abd08d9e] {
17724
17950
  color: var(--color-text-maxcontrast);
17725
17951
  }
17726
17952
 
17727
17953
  /* A withheld value: the lock and the word in the muted text colour. */
17728
- .cn-cell-renderer__withheld[data-v-2a3bc230] {
17954
+ .cn-cell-renderer__withheld[data-v-abd08d9e] {
17729
17955
  display: inline-flex;
17730
17956
  gap: 4px;
17731
17957
  align-items: center;
17732
17958
  color: var(--color-text-maxcontrast);
17733
17959
  }
17734
- .cn-cell-renderer__withheld-icon[data-v-2a3bc230] {
17960
+ .cn-cell-renderer__withheld-icon[data-v-abd08d9e] {
17735
17961
  flex: 0 0 auto;
17736
17962
  }
17737
- .cn-cell-renderer__withheld-text[data-v-2a3bc230] {
17963
+ .cn-cell-renderer__withheld-text[data-v-abd08d9e] {
17738
17964
  font-style: italic;
17739
17965
  }
17740
17966
 
17741
17967
  /* A number cell: the flagged number reads in its variant's text colour, with
17742
17968
  the chip saying why (never colour alone). */
17743
- .cn-cell-renderer__number[data-v-2a3bc230] {
17969
+ .cn-cell-renderer__number[data-v-abd08d9e] {
17744
17970
  display: inline-flex;
17745
17971
  gap: 4px;
17746
17972
  align-items: center;
17747
17973
  white-space: nowrap;
17748
17974
  }
17749
- .cn-cell-renderer__number--warning[data-v-2a3bc230] {
17975
+ .cn-cell-renderer__number--warning[data-v-abd08d9e] {
17750
17976
  color: var(--color-text-warning, var(--color-warning-text));
17751
17977
  font-weight: 600;
17752
17978
  }
17753
- .cn-cell-renderer__number--error[data-v-2a3bc230] {
17979
+ .cn-cell-renderer__number--error[data-v-abd08d9e] {
17754
17980
  color: var(--color-text-error, var(--color-error-text));
17755
17981
  font-weight: 600;
17756
17982
  }
17757
- .cn-cell-renderer__date--success[data-v-2a3bc230] {
17983
+ .cn-cell-renderer__date--success[data-v-abd08d9e] {
17758
17984
  color: var(--color-text-success, var(--color-success-text));
17759
17985
  }
17760
- .cn-cell-renderer__date--warning[data-v-2a3bc230] {
17986
+ .cn-cell-renderer__date--warning[data-v-abd08d9e] {
17761
17987
  color: var(--color-text-warning, var(--color-warning-text));
17762
17988
  }
17763
- .cn-cell-renderer__date--error[data-v-2a3bc230] {
17989
+ .cn-cell-renderer__date--error[data-v-abd08d9e] {
17764
17990
  color: var(--color-text-error, var(--color-error-text));
17765
17991
  }
17766
- .cn-cell-renderer__date--muted[data-v-2a3bc230] {
17992
+ .cn-cell-renderer__date--muted[data-v-abd08d9e] {
17767
17993
  color: var(--color-text-maxcontrast);
17768
17994
  }
17769
17995
 
17770
17996
  /* The text variant, not the fill: from Nextcloud 32 `--color-success` is a
17771
17997
  background colour and too pale for a 16px glyph on a light theme. */
17772
- .cn-cell-renderer__icon--success[data-v-2a3bc230] {
17998
+ .cn-cell-renderer__icon--success[data-v-abd08d9e] {
17773
17999
  color: var(--color-text-success, var(--color-success-text, var(--color-success)));
17774
18000
  }
17775
- .cn-cell-renderer__swatch-wrap[data-v-2a3bc230] {
18001
+ .cn-cell-renderer__swatch-wrap[data-v-abd08d9e] {
17776
18002
  display: inline-flex;
17777
18003
  align-items: center;
17778
18004
  gap: 8px;
17779
18005
  }
17780
- .cn-cell-renderer__swatch-dot[data-v-2a3bc230] {
18006
+ .cn-cell-renderer__swatch-dot[data-v-abd08d9e] {
17781
18007
  display: inline-block;
17782
18008
  width: 12px;
17783
18009
  height: 12px;
@@ -18048,6 +18274,18 @@ svg.leaflet-image-layer.leaflet-interactive path {
18048
18274
  overflow-wrap: anywhere;
18049
18275
  }
18050
18276
 
18277
+ /* In a table fitted to its tile every column but the growing one asks for
18278
+ as little width as its content allows (`width: 1%`). With
18279
+ `overflow-wrap: anywhere` that is one character, so a wrapping head broke
18280
+ letter by letter ("D o e l", DqDoorlooptijd "Prestaties per zaaktype",
18281
+ 240px tall). Here a wrapping column breaks between words and only breaks
18282
+ a word that is longer than the column.
18283
+ @spec openspec/changes/fit-table-wrap-by-word/specs/fit-table-wrap-by-word/spec.md#requirement-a-wrapping-column-in-a-fitted-table-breaks-between-words */
18284
+ .cn-data-table--fit th.cn-cell--wrap,
18285
+ .cn-data-table--fit td.cn-cell--wrap {
18286
+ overflow-wrap: break-word;
18287
+ }
18288
+
18051
18289
  /* Opt-in fixed layout (CnDataTable's `fixedLayout` prop).
18052
18290
 
18053
18291
  Under the default `table-layout: auto` a column's declared `width` is only a
@@ -28143,7 +28381,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
28143
28381
 
28144
28382
 
28145
28383
  /* The row a following card describes (content.rowSelection). */
28146
- .cn-object-list-widget[data-v-3a0165c8] .cn-object-list-widget__row--selected {
28384
+ .cn-object-list-widget[data-v-7a3cf020] .cn-object-list-widget__row--selected {
28147
28385
  background: var(--color-primary-element-light, #eaf0f7);
28148
28386
  }
28149
28387
 
@@ -28154,7 +28392,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
28154
28392
  Horizontal overflow is owned by `.cn-table-container` (overflow-x: auto); a
28155
28393
  second scroll container here would produce a nested scrollbar, so this host
28156
28394
  stays plain. */
28157
- .cn-object-list-widget[data-v-3a0165c8] {
28395
+ .cn-object-list-widget[data-v-7a3cf020] {
28158
28396
  width: 100%;
28159
28397
  height: 100%;
28160
28398
  display: flex;
@@ -28166,10 +28404,10 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
28166
28404
  relative` is set only in the dropping state so a widget without a drop zone
28167
28405
  keeps the containing block it had — an unconditional rule here would
28168
28406
  re-parent any absolutely-positioned descendant a host has placed. */
28169
- .cn-object-list-widget--dropping[data-v-3a0165c8] {
28407
+ .cn-object-list-widget--dropping[data-v-7a3cf020] {
28170
28408
  position: relative;
28171
28409
  }
28172
- .cn-object-list-widget__drop-overlay[data-v-3a0165c8] {
28410
+ .cn-object-list-widget__drop-overlay[data-v-7a3cf020] {
28173
28411
  position: absolute;
28174
28412
  inset: 0;
28175
28413
  z-index: 2;
@@ -28187,7 +28425,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
28187
28425
  and the drop would land on nothing. */
28188
28426
  pointer-events: none;
28189
28427
  }
28190
- .cn-object-list-widget__table[data-v-3a0165c8] {
28428
+ .cn-object-list-widget__table[data-v-7a3cf020] {
28191
28429
  flex: 1 1 auto;
28192
28430
  min-height: 0;
28193
28431
  overflow: hidden;
@@ -28196,16 +28434,16 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
28196
28434
  /* The empty state is CnWidgetEmptyState now — it brings its own layout, so
28197
28435
  all this rule still owns is letting it claim the cell's leftover height
28198
28436
  (ADR-062: it fits the cell, it never forces one). */
28199
- .cn-object-list-widget__empty[data-v-3a0165c8] {
28437
+ .cn-object-list-widget__empty[data-v-7a3cf020] {
28200
28438
  flex: 1 1 auto;
28201
28439
  min-height: 0;
28202
28440
  }
28203
28441
 
28204
28442
  /* The pager sits flush at the bottom of the card, above "View all". */
28205
- .cn-object-list-widget__pager[data-v-3a0165c8] {
28443
+ .cn-object-list-widget__pager[data-v-7a3cf020] {
28206
28444
  flex-shrink: 0;
28207
28445
  }
28208
- .cn-object-list-widget__view-all[data-v-3a0165c8] {
28446
+ .cn-object-list-widget__view-all[data-v-7a3cf020] {
28209
28447
  align-self: flex-start;
28210
28448
  background: none;
28211
28449
  border: none;
@@ -28216,32 +28454,32 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
28216
28454
  padding: 4px;
28217
28455
  text-decoration: none;
28218
28456
  }
28219
- .cn-object-list-widget__view-all[data-v-3a0165c8]:hover,
28220
- .cn-object-list-widget__view-all[data-v-3a0165c8]:focus-visible {
28457
+ .cn-object-list-widget__view-all[data-v-7a3cf020]:hover,
28458
+ .cn-object-list-widget__view-all[data-v-7a3cf020]:focus-visible {
28221
28459
  text-decoration: underline;
28222
28460
  }
28223
- .cn-object-list-widget__more[data-v-3a0165c8] {
28461
+ .cn-object-list-widget__more[data-v-7a3cf020] {
28224
28462
  color: var(--color-text-maxcontrast);
28225
28463
  font-size: 0.85em;
28226
28464
  margin: 4px 0 0;
28227
28465
  padding: 4px;
28228
28466
  }
28229
- .cn-object-list-widget__links[data-v-3a0165c8] {
28467
+ .cn-object-list-widget__links[data-v-7a3cf020] {
28230
28468
  display: flex;
28231
28469
  flex-wrap: wrap;
28232
28470
  gap: 16px;
28233
28471
  margin: 12px 0 0;
28234
28472
  font-size: 14px;
28235
28473
  }
28236
- .cn-object-list-widget__link[data-v-3a0165c8] {
28474
+ .cn-object-list-widget__link[data-v-7a3cf020] {
28237
28475
  font-weight: 600;
28238
28476
  }
28239
- .cn-object-list-widget__link-note[data-v-3a0165c8] {
28477
+ .cn-object-list-widget__link-note[data-v-7a3cf020] {
28240
28478
  margin-inline-start: 6px;
28241
28479
  color: var(--color-text-maxcontrast);
28242
28480
  font-size: 13px;
28243
28481
  }
28244
- .cn-object-list-widget__footnote[data-v-3a0165c8] {
28482
+ .cn-object-list-widget__footnote[data-v-7a3cf020] {
28245
28483
  color: var(--color-text-maxcontrast);
28246
28484
  font-size: 13px;
28247
28485
  margin: 8px 0 0;
@@ -28250,7 +28488,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
28250
28488
  /* Footer Add — same pattern as the integration leaves' footer action
28251
28489
  ("Open in Calendar"): full-width, centered, divider-topped, pinned to
28252
28490
  the card bottom. */
28253
- .cn-object-list-widget__add[data-v-3a0165c8] {
28491
+ .cn-object-list-widget__add[data-v-7a3cf020] {
28254
28492
  align-self: stretch;
28255
28493
  border-top: 1px solid var(--color-border);
28256
28494
  /* Bleed through the host card's 16px content padding so the divider
@@ -28258,31 +28496,31 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
28258
28496
  margin: auto -16px -16px;
28259
28497
  padding: 4px;
28260
28498
  }
28261
- .cn-object-list-widget__error[data-v-3a0165c8] {
28499
+ .cn-object-list-widget__error[data-v-7a3cf020] {
28262
28500
  color: var(--color-text-maxcontrast);
28263
28501
  font-size: 0.85em;
28264
28502
  margin: 4px 0 0;
28265
28503
  }
28266
- .cn-object-list-widget__prompt[data-v-3a0165c8] {
28504
+ .cn-object-list-widget__prompt[data-v-7a3cf020] {
28267
28505
  color: var(--color-text-maxcontrast);
28268
28506
  font-style: italic;
28269
28507
  padding: 16px 4px;
28270
28508
  margin: 0;
28271
28509
  text-align: center;
28272
28510
  }
28273
- .cn-object-list-widget__facet[data-v-3a0165c8] {
28511
+ .cn-object-list-widget__facet[data-v-7a3cf020] {
28274
28512
  display: flex;
28275
28513
  align-items: center;
28276
28514
  flex-wrap: wrap;
28277
28515
  gap: 6px;
28278
28516
  padding: 0 4px 8px;
28279
28517
  }
28280
- .cn-object-list-widget__facet-label[data-v-3a0165c8] {
28518
+ .cn-object-list-widget__facet-label[data-v-7a3cf020] {
28281
28519
  color: var(--color-text-maxcontrast);
28282
28520
  font-size: 0.85em;
28283
28521
  font-weight: 600;
28284
28522
  }
28285
- .cn-object-list-widget__facet-chip[data-v-3a0165c8] {
28523
+ .cn-object-list-widget__facet-chip[data-v-7a3cf020] {
28286
28524
  background-color: var(--color-background-hover);
28287
28525
  border: 1px solid var(--color-border);
28288
28526
  border-radius: var(--border-radius-pill, 16px);
@@ -28292,13 +28530,13 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
28292
28530
  font-size: 0.85em;
28293
28531
  padding: 2px 10px;
28294
28532
  }
28295
- .cn-object-list-widget__facet-chip--active[data-v-3a0165c8] {
28533
+ .cn-object-list-widget__facet-chip--active[data-v-7a3cf020] {
28296
28534
  background-color: var(--color-primary-element-light);
28297
28535
  border-color: var(--color-primary-element);
28298
28536
  color: var(--color-primary-element-text, var(--color-main-text));
28299
28537
  }
28300
- .cn-object-list-widget__facet-clear[data-v-3a0165c8],
28301
- .cn-object-list-widget__bulk-clear[data-v-3a0165c8] {
28538
+ .cn-object-list-widget__facet-clear[data-v-7a3cf020],
28539
+ .cn-object-list-widget__bulk-clear[data-v-7a3cf020] {
28302
28540
  background: none;
28303
28541
  border: none;
28304
28542
  color: var(--color-primary-element);
@@ -28307,11 +28545,11 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
28307
28545
  font-size: 0.85em;
28308
28546
  padding: 2px 4px;
28309
28547
  }
28310
- .cn-object-list-widget__facet-clear[data-v-3a0165c8]:hover,
28311
- .cn-object-list-widget__bulk-clear[data-v-3a0165c8]:hover {
28548
+ .cn-object-list-widget__facet-clear[data-v-7a3cf020]:hover,
28549
+ .cn-object-list-widget__bulk-clear[data-v-7a3cf020]:hover {
28312
28550
  text-decoration: underline;
28313
28551
  }
28314
- .cn-object-list-widget__bulk-bar[data-v-3a0165c8] {
28552
+ .cn-object-list-widget__bulk-bar[data-v-7a3cf020] {
28315
28553
  align-items: center;
28316
28554
  background-color: var(--color-primary-element-light);
28317
28555
  border-radius: var(--border-radius, 8px);
@@ -28321,10 +28559,10 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
28321
28559
  margin: 0 0 8px;
28322
28560
  padding: 6px 10px;
28323
28561
  }
28324
- .cn-object-list-widget__bulk-count[data-v-3a0165c8] {
28562
+ .cn-object-list-widget__bulk-count[data-v-7a3cf020] {
28325
28563
  font-weight: 600;
28326
28564
  }
28327
- .cn-object-list-widget__bulk-action[data-v-3a0165c8] {
28565
+ .cn-object-list-widget__bulk-action[data-v-7a3cf020] {
28328
28566
  background-color: var(--color-main-background);
28329
28567
  border: 1px solid var(--color-border);
28330
28568
  border-radius: var(--border-radius, 8px);
@@ -28332,25 +28570,25 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
28332
28570
  font: inherit;
28333
28571
  padding: 4px 10px;
28334
28572
  }
28335
- .cn-object-list-widget__bulk-action--destructive[data-v-3a0165c8] {
28573
+ .cn-object-list-widget__bulk-action--destructive[data-v-7a3cf020] {
28336
28574
  border-color: var(--color-error);
28337
28575
  color: var(--color-error);
28338
28576
  }
28339
- .cn-object-list-widget__groups[data-v-3a0165c8] {
28577
+ .cn-object-list-widget__groups[data-v-7a3cf020] {
28340
28578
  display: flex;
28341
28579
  flex-direction: column;
28342
28580
  gap: 16px;
28343
28581
  min-height: 0;
28344
28582
  overflow: auto;
28345
28583
  }
28346
- .cn-object-list-widget__group-heading[data-v-3a0165c8] {
28584
+ .cn-object-list-widget__group-heading[data-v-7a3cf020] {
28347
28585
  color: var(--color-text-maxcontrast);
28348
28586
  font-size: 0.85em;
28349
28587
  font-weight: 600;
28350
28588
  margin: 0 0 4px;
28351
28589
  text-transform: uppercase;
28352
28590
  }
28353
- .cn-object-list-widget__upload[data-v-3a0165c8] {
28591
+ .cn-object-list-widget__upload[data-v-7a3cf020] {
28354
28592
  background-color: var(--color-main-background);
28355
28593
  border: 1px solid var(--color-border);
28356
28594
  border-radius: var(--border-radius, 8px);
@@ -28359,7 +28597,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
28359
28597
  margin: 8px 0 0;
28360
28598
  padding: 6px 12px;
28361
28599
  }
28362
- .cn-object-list-widget__upload-input[data-v-3a0165c8] {
28600
+ .cn-object-list-widget__upload-input[data-v-7a3cf020] {
28363
28601
  display: none;
28364
28602
  }
28365
28603
 
@@ -40558,84 +40796,92 @@ button.cn-linked-widget__link[data-v-0fc31606] {
40558
40796
  }
40559
40797
 
40560
40798
 
40561
- .cn-record-notes[data-v-56a223c4] {
40799
+ .cn-record-notes[data-v-949ca7ea] {
40562
40800
  display: flex;
40563
40801
  flex-direction: column;
40564
40802
  gap: 0;
40565
40803
  }
40566
- .cn-record-notes__ready[data-v-56a223c4] {
40804
+ .cn-record-notes__ready[data-v-949ca7ea] {
40567
40805
  display: flex;
40568
40806
  align-items: baseline;
40569
40807
  gap: 6px;
40570
40808
  margin: 0 0 8px;
40571
40809
  color: var(--color-text-maxcontrast);
40572
40810
  }
40573
- .cn-record-notes__ready-figure[data-v-56a223c4] {
40811
+ .cn-record-notes__ready-figure[data-v-949ca7ea] {
40574
40812
  font-weight: 700;
40575
40813
  color: var(--color-main-text);
40576
40814
  }
40577
- .cn-record-notes__row[data-v-56a223c4] {
40815
+ .cn-record-notes__row[data-v-949ca7ea] {
40578
40816
  display: flex;
40579
40817
  flex-direction: column;
40580
40818
  gap: 10px;
40581
40819
  padding: 14px 0;
40582
40820
  border-top: 1px solid var(--color-border);
40583
40821
  }
40584
- .cn-record-notes__head[data-v-56a223c4] {
40822
+ .cn-record-notes__head[data-v-949ca7ea] {
40585
40823
  display: flex;
40586
40824
  flex-wrap: wrap;
40587
40825
  align-items: center;
40588
40826
  gap: 8px;
40589
40827
  }
40590
- .cn-record-notes__title[data-v-56a223c4] {
40828
+ .cn-record-notes__title[data-v-949ca7ea] {
40591
40829
  font-weight: 600;
40592
40830
  color: var(--color-main-text);
40593
40831
  }
40594
- .cn-record-notes__title--link[data-v-56a223c4] {
40832
+ .cn-record-notes__title--link[data-v-949ca7ea] {
40595
40833
  text-decoration: underline;
40596
40834
  }
40597
- .cn-record-notes__meta[data-v-56a223c4] {
40835
+ .cn-record-notes__meta[data-v-949ca7ea] {
40598
40836
  color: var(--color-text-maxcontrast);
40599
40837
  font-size: 13px;
40600
40838
  }
40601
- .cn-record-notes__spacer[data-v-56a223c4] {
40839
+ .cn-record-notes__spacer[data-v-949ca7ea] {
40602
40840
  flex: 1 1 auto;
40603
40841
  }
40604
- .cn-record-notes__due[data-v-56a223c4] {
40842
+ .cn-record-notes__due[data-v-949ca7ea] {
40605
40843
  font-weight: 600;
40606
40844
  }
40607
- .cn-record-notes__due--error[data-v-56a223c4] {
40845
+ .cn-record-notes__due--error[data-v-949ca7ea] {
40608
40846
  color: var(--color-error-text);
40609
40847
  }
40610
- .cn-record-notes__due--warning[data-v-56a223c4] {
40848
+ .cn-record-notes__due--warning[data-v-949ca7ea] {
40611
40849
  color: var(--color-warning-text);
40612
40850
  }
40613
- .cn-record-notes__due--muted[data-v-56a223c4] {
40851
+ .cn-record-notes__due--muted[data-v-949ca7ea] {
40614
40852
  color: var(--color-text-maxcontrast);
40615
40853
  font-weight: 400;
40616
40854
  }
40617
- .cn-record-notes__fields[data-v-56a223c4] {
40855
+ .cn-record-notes__fields[data-v-949ca7ea] {
40618
40856
  display: flex;
40619
40857
  flex-wrap: wrap;
40620
40858
  align-items: flex-end;
40621
40859
  gap: 10px;
40622
40860
  }
40623
- .cn-record-notes__field[data-v-56a223c4] {
40861
+ .cn-record-notes__field[data-v-949ca7ea] {
40862
+ display: flex;
40624
40863
  flex: 1 1 260px;
40864
+ flex-direction: column;
40865
+ gap: 6px;
40866
+ }
40867
+ .cn-record-notes__field-label[data-v-949ca7ea] {
40868
+ color: var(--color-main-text);
40869
+ font-size: 14px;
40870
+ font-weight: 600;
40625
40871
  }
40626
- .cn-record-notes__leaf[data-v-56a223c4] {
40872
+ .cn-record-notes__leaf[data-v-949ca7ea] {
40627
40873
  flex: 0 0 auto;
40628
40874
  }
40629
- .cn-record-notes__leaf-missing[data-v-56a223c4],
40630
- .cn-record-notes__error[data-v-56a223c4] {
40875
+ .cn-record-notes__leaf-missing[data-v-949ca7ea],
40876
+ .cn-record-notes__error[data-v-949ca7ea] {
40631
40877
  margin: 0;
40632
40878
  color: var(--color-text-maxcontrast);
40633
40879
  font-size: 13px;
40634
40880
  }
40635
- .cn-record-notes__error[data-v-56a223c4] {
40881
+ .cn-record-notes__error[data-v-949ca7ea] {
40636
40882
  color: var(--color-error-text);
40637
40883
  }
40638
- .cn-record-notes__all[data-v-56a223c4] {
40884
+ .cn-record-notes__all[data-v-949ca7ea] {
40639
40885
  display: flex;
40640
40886
  flex-wrap: wrap;
40641
40887
  align-items: center;
@@ -40645,34 +40891,34 @@ button.cn-linked-widget__link[data-v-0fc31606] {
40645
40891
  padding-top: 14px;
40646
40892
  border-top: 1px solid var(--color-border);
40647
40893
  }
40648
- .cn-record-notes__all-title[data-v-56a223c4] {
40894
+ .cn-record-notes__all-title[data-v-949ca7ea] {
40649
40895
  margin: 0;
40650
40896
  font-size: 16px;
40651
40897
  }
40652
- .cn-record-notes__all-sentence[data-v-56a223c4] {
40898
+ .cn-record-notes__all-sentence[data-v-949ca7ea] {
40653
40899
  margin: 4px 0 0;
40654
40900
  color: var(--color-text-maxcontrast);
40655
40901
  }
40656
- .cn-record-notes__all-actions[data-v-56a223c4] {
40902
+ .cn-record-notes__all-actions[data-v-949ca7ea] {
40657
40903
  display: flex;
40658
40904
  gap: 8px;
40659
40905
  }
40660
40906
 
40661
40907
 
40662
- .cn-record-list__checklist-bar[data-v-38566d36] {
40908
+ .cn-record-list__checklist-bar[data-v-2c65cbc2] {
40663
40909
  height: 8px;
40664
40910
  margin-block-end: 16px;
40665
40911
  border-radius: 4px;
40666
40912
  background: var(--color-background-dark);
40667
40913
  overflow: hidden;
40668
40914
  }
40669
- .cn-record-list__checklist-fill[data-v-38566d36] {
40915
+ .cn-record-list__checklist-fill[data-v-2c65cbc2] {
40670
40916
  display: block;
40671
40917
  height: 100%;
40672
40918
  border-radius: 4px;
40673
40919
  background: var(--color-primary-element);
40674
40920
  }
40675
- .cn-record-list__checklist[data-v-38566d36] {
40921
+ .cn-record-list__checklist[data-v-2c65cbc2] {
40676
40922
  display: grid;
40677
40923
  grid-template-columns: repeat(var(--cn-record-list-columns, 3), minmax(0, 1fr));
40678
40924
  gap: 8px 16px;
@@ -40680,16 +40926,16 @@ button.cn-linked-widget__link[data-v-0fc31606] {
40680
40926
  padding: 0;
40681
40927
  list-style: none;
40682
40928
  }
40683
- .cn-record-list__check[data-v-38566d36] {
40929
+ .cn-record-list__check[data-v-2c65cbc2] {
40684
40930
  display: flex;
40685
40931
  align-items: center;
40686
40932
  gap: 8px;
40687
40933
  min-height: 28px;
40688
40934
  }
40689
- .cn-record-list__check--done[data-v-38566d36] {
40935
+ .cn-record-list__check--done[data-v-2c65cbc2] {
40690
40936
  color: var(--color-text-maxcontrast);
40691
40937
  }
40692
- .cn-record-list__check-mark[data-v-38566d36] {
40938
+ .cn-record-list__check-mark[data-v-2c65cbc2] {
40693
40939
  display: inline-flex;
40694
40940
  flex: none;
40695
40941
  align-items: center;
@@ -40699,45 +40945,45 @@ button.cn-linked-widget__link[data-v-0fc31606] {
40699
40945
  border: 2px solid var(--color-border-maxcontrast);
40700
40946
  border-radius: 50%;
40701
40947
  }
40702
- .cn-record-list__check--done .cn-record-list__check-mark[data-v-38566d36] {
40948
+ .cn-record-list__check--done .cn-record-list__check-mark[data-v-2c65cbc2] {
40703
40949
  border-color: transparent;
40704
40950
  background: var(--color-success-hover, var(--color-background-dark));
40705
40951
  color: var(--color-success-text, var(--color-success));
40706
40952
  }
40707
40953
  @media (max-width: 640px) {
40708
- .cn-record-list__checklist[data-v-38566d36] {
40954
+ .cn-record-list__checklist[data-v-2c65cbc2] {
40709
40955
  grid-template-columns: minmax(0, 1fr);
40710
40956
  }
40711
40957
  }
40712
- .cn-record-list__set-field-done[data-v-38566d36] {
40958
+ .cn-record-list__set-field-done[data-v-2c65cbc2] {
40713
40959
  display: inline-flex;
40714
40960
  align-items: center;
40715
40961
  gap: 4px;
40716
40962
  color: var(--color-success-text, var(--color-success));
40717
40963
  font-weight: bold;
40718
40964
  }
40719
- .cn-record-list__list[data-v-38566d36] {
40965
+ .cn-record-list__list[data-v-2c65cbc2] {
40720
40966
  list-style: none;
40721
40967
  margin: 0;
40722
40968
  padding: 0;
40723
40969
  }
40724
- .cn-record-list__group-heading[data-v-38566d36] {
40970
+ .cn-record-list__group-heading[data-v-2c65cbc2] {
40725
40971
  margin: 6px 0 0;
40726
40972
  font-size: 15px;
40727
40973
  font-weight: 700;
40728
40974
  line-height: 1.4;
40729
40975
  }
40730
- .cn-record-list__group-head[data-v-38566d36] {
40976
+ .cn-record-list__group-head[data-v-2c65cbc2] {
40731
40977
  display: flex;
40732
40978
  align-items: center;
40733
40979
  justify-content: space-between;
40734
40980
  gap: 8px;
40735
40981
  margin-top: 6px;
40736
40982
  }
40737
- .cn-record-list__group-head .cn-record-list__group-heading[data-v-38566d36] {
40983
+ .cn-record-list__group-head .cn-record-list__group-heading[data-v-2c65cbc2] {
40738
40984
  margin: 0;
40739
40985
  }
40740
- .cn-record-list__action--tonal.button-vue[data-v-38566d36] {
40986
+ .cn-record-list__action--tonal.button-vue[data-v-2c65cbc2] {
40741
40987
  min-height: 34px;
40742
40988
  height: 34px;
40743
40989
  padding: 0 12px;
@@ -40748,34 +40994,34 @@ button.cn-linked-widget__link[data-v-0fc31606] {
40748
40994
  font-size: 13px;
40749
40995
  font-weight: 600;
40750
40996
  }
40751
- .cn-record-list__action--tonal.button-vue[data-v-38566d36]:hover:not(:disabled) {
40997
+ .cn-record-list__action--tonal.button-vue[data-v-2c65cbc2]:hover:not(:disabled) {
40752
40998
  background-color: var(--color-primary-element-light-hover);
40753
40999
  }
40754
- .cn-record-list__footer[data-v-38566d36] {
41000
+ .cn-record-list__footer[data-v-2c65cbc2] {
40755
41001
  display: flex;
40756
41002
  flex-direction: column;
40757
41003
  align-items: flex-start;
40758
41004
  gap: 6px;
40759
41005
  margin-top: 10px;
40760
41006
  }
40761
- .cn-record-list__footer--wide[data-v-38566d36] {
41007
+ .cn-record-list__footer--wide[data-v-2c65cbc2] {
40762
41008
  align-items: stretch;
40763
41009
  }
40764
- .cn-record-list__footer-note[data-v-38566d36] {
41010
+ .cn-record-list__footer-note[data-v-2c65cbc2] {
40765
41011
  margin: 0 0 6px;
40766
41012
  color: var(--color-text-maxcontrast);
40767
41013
  font-size: 13px;
40768
41014
  }
40769
- .cn-record-list__footer-reason[data-v-38566d36] {
41015
+ .cn-record-list__footer-reason[data-v-2c65cbc2] {
40770
41016
  font-size: 13px;
40771
41017
  color: var(--color-text-maxcontrast);
40772
41018
  }
40773
- .cn-record-list__empty[data-v-38566d36],
40774
- .cn-record-list__error[data-v-38566d36] {
41019
+ .cn-record-list__empty[data-v-2c65cbc2],
41020
+ .cn-record-list__error[data-v-2c65cbc2] {
40775
41021
  color: var(--color-text-maxcontrast);
40776
41022
  margin: 0;
40777
41023
  }
40778
- .cn-record-list__notice[data-v-38566d36] {
41024
+ .cn-record-list__notice[data-v-2c65cbc2] {
40779
41025
  display: flex;
40780
41026
  gap: 10px;
40781
41027
  align-items: flex-start;
@@ -40784,41 +41030,41 @@ button.cn-linked-widget__link[data-v-0fc31606] {
40784
41030
  background: var(--color-primary-element-light, var(--color-background-dark));
40785
41031
  color: var(--color-main-text);
40786
41032
  }
40787
- .cn-record-list__notice--warning[data-v-38566d36] {
41033
+ .cn-record-list__notice--warning[data-v-2c65cbc2] {
40788
41034
  background: var(--color-warning-light, rgba(255, 196, 0, 0.12));
40789
41035
  color: var(--color-warning-text, var(--color-main-text));
40790
41036
  }
40791
- .cn-record-list__notice--error[data-v-38566d36] {
41037
+ .cn-record-list__notice--error[data-v-2c65cbc2] {
40792
41038
  background: var(--color-error-light, rgba(219, 0, 0, 0.08));
40793
41039
  color: var(--color-error-text, var(--color-main-text));
40794
41040
  }
40795
- .cn-record-list__notice--footnote[data-v-38566d36] {
41041
+ .cn-record-list__notice--footnote[data-v-2c65cbc2] {
40796
41042
  margin-top: 12px;
40797
41043
  }
40798
- .cn-record-list__notice-icon[data-v-38566d36] {
41044
+ .cn-record-list__notice-icon[data-v-2c65cbc2] {
40799
41045
  flex: 0 0 auto;
40800
41046
  margin-top: 1px;
40801
41047
  }
40802
- .cn-record-list__notice-text[data-v-38566d36] {
41048
+ .cn-record-list__notice-text[data-v-2c65cbc2] {
40803
41049
  margin: 0;
40804
41050
  line-height: 1.5;
40805
41051
  }
40806
- .cn-record-list__loading[data-v-38566d36] {
41052
+ .cn-record-list__loading[data-v-2c65cbc2] {
40807
41053
  display: flex;
40808
41054
  justify-content: center;
40809
41055
  padding: 8px 0;
40810
41056
  }
40811
41057
 
40812
41058
  /* rows */
40813
- .cn-record-list--rows .cn-record-list__item + .cn-record-list__item[data-v-38566d36],
40814
- .cn-record-list--rule-above .cn-record-list__item[data-v-38566d36]:first-child {
41059
+ .cn-record-list--rows .cn-record-list__item + .cn-record-list__item[data-v-2c65cbc2],
41060
+ .cn-record-list--rule-above .cn-record-list__item[data-v-2c65cbc2]:first-child {
40815
41061
  border-top: 1px solid var(--color-border);
40816
41062
  }
40817
- .cn-record-list__pill-start[data-v-38566d36] {
41063
+ .cn-record-list__pill-start[data-v-2c65cbc2] {
40818
41064
  display: flex;
40819
41065
  flex: none;
40820
41066
  }
40821
- .cn-record-list__bar[data-v-38566d36] {
41067
+ .cn-record-list__bar[data-v-2c65cbc2] {
40822
41068
  background: var(--color-border);
40823
41069
  border-radius: 3px;
40824
41070
  display: block;
@@ -40826,15 +41072,15 @@ button.cn-linked-widget__link[data-v-0fc31606] {
40826
41072
  margin: -6px 0 12px;
40827
41073
  overflow: hidden;
40828
41074
  }
40829
- .cn-record-list__bar-fill[data-v-38566d36] {
41075
+ .cn-record-list__bar-fill[data-v-2c65cbc2] {
40830
41076
  background: var(--color-primary-element);
40831
41077
  display: block;
40832
41078
  height: 100%;
40833
41079
  }
40834
- .cn-record-list__bar--over .cn-record-list__bar-fill[data-v-38566d36] {
41080
+ .cn-record-list__bar--over .cn-record-list__bar-fill[data-v-2c65cbc2] {
40835
41081
  background: var(--color-error);
40836
41082
  }
40837
- .cn-record-list__row[data-v-38566d36] {
41083
+ .cn-record-list__row[data-v-2c65cbc2] {
40838
41084
  align-items: center;
40839
41085
  color: var(--color-main-text);
40840
41086
  display: flex;
@@ -40842,22 +41088,22 @@ button.cn-linked-widget__link[data-v-0fc31606] {
40842
41088
  padding: 12px 0;
40843
41089
  text-decoration: none;
40844
41090
  }
40845
- .cn-record-list__row--link:hover .cn-record-list__title[data-v-38566d36],
40846
- .cn-record-list__row--link:focus-visible .cn-record-list__title[data-v-38566d36] {
41091
+ .cn-record-list__row--link:hover .cn-record-list__title[data-v-2c65cbc2],
41092
+ .cn-record-list__row--link:focus-visible .cn-record-list__title[data-v-2c65cbc2] {
40847
41093
  text-decoration: underline;
40848
41094
  }
40849
- .cn-record-list__dot[data-v-38566d36] {
41095
+ .cn-record-list__dot[data-v-2c65cbc2] {
40850
41096
  flex: 0 0 14px;
40851
41097
  width: 14px;
40852
41098
  height: 14px;
40853
41099
  border-radius: 50%;
40854
41100
  }
40855
- .cn-record-list__flag[data-v-38566d36] {
41101
+ .cn-record-list__flag[data-v-2c65cbc2] {
40856
41102
  color: var(--color-text-maxcontrast);
40857
41103
  font-size: 14px;
40858
41104
  white-space: nowrap;
40859
41105
  }
40860
- .cn-record-list__avatar[data-v-38566d36] {
41106
+ .cn-record-list__avatar[data-v-2c65cbc2] {
40861
41107
  align-items: center;
40862
41108
  background: var(--color-background-hover);
40863
41109
  border-radius: 50%;
@@ -40870,82 +41116,97 @@ button.cn-linked-widget__link[data-v-0fc31606] {
40870
41116
  justify-content: center;
40871
41117
  width: 36px;
40872
41118
  }
40873
- .cn-record-list__main[data-v-38566d36] {
41119
+ .cn-record-list__main[data-v-2c65cbc2] {
40874
41120
  display: flex;
40875
41121
  flex: 1 1 auto;
40876
41122
  flex-direction: column;
40877
41123
  gap: 2px;
40878
41124
  min-width: 0;
40879
41125
  }
40880
- .cn-record-list__title[data-v-38566d36] {
41126
+ .cn-record-list__title[data-v-2c65cbc2] {
40881
41127
  font-size: 15px;
40882
41128
  font-weight: 700;
40883
41129
  }
40884
- .cn-record-list--compact .cn-record-list__row[data-v-38566d36] {
41130
+ .cn-record-list--compact .cn-record-list__row[data-v-2c65cbc2] {
40885
41131
  box-sizing: border-box;
40886
41132
  min-height: 56px;
40887
41133
  padding: 10px 0;
40888
41134
  }
40889
- .cn-record-list--compact .cn-record-list__title[data-v-38566d36] {
41135
+ .cn-record-list--compact .cn-record-list__title[data-v-2c65cbc2] {
40890
41136
  font-weight: 500;
40891
41137
  }
40892
- .cn-record-list__meta[data-v-38566d36] {
41138
+
41139
+ /* `density: "stacked"`: the rows stand 10px apart with no rule and no row
41140
+ padding, a short side list (DqDagAfsluiten "Morgen eerst"). */
41141
+ .cn-record-list--stacked .cn-record-list__list[data-v-2c65cbc2] {
41142
+ display: flex;
41143
+ flex-direction: column;
41144
+ gap: 10px;
41145
+ }
41146
+ .cn-record-list--stacked .cn-record-list__row[data-v-2c65cbc2] {
41147
+ min-height: 0;
41148
+ padding: 0;
41149
+ }
41150
+ .cn-record-list--stacked .cn-record-list__item + .cn-record-list__item[data-v-2c65cbc2] {
41151
+ border-top: 0;
41152
+ }
41153
+ .cn-record-list__meta[data-v-2c65cbc2] {
40893
41154
  color: var(--color-text-maxcontrast);
40894
41155
  font-size: 13px;
40895
41156
  }
40896
- .cn-record-list__aside[data-v-38566d36] {
41157
+ .cn-record-list__aside[data-v-2c65cbc2] {
40897
41158
  align-items: center;
40898
41159
  display: flex;
40899
41160
  flex: none;
40900
41161
  gap: 16px;
40901
41162
  }
40902
- .cn-record-list__leading[data-v-38566d36] {
41163
+ .cn-record-list__leading[data-v-2c65cbc2] {
40903
41164
  flex: 0 0 52px;
40904
41165
  color: var(--color-text-maxcontrast);
40905
41166
  font-size: 14px;
40906
41167
  font-weight: 600;
40907
41168
  font-variant-numeric: tabular-nums;
40908
41169
  }
40909
- .cn-record-list__trailing[data-v-38566d36] {
41170
+ .cn-record-list__trailing[data-v-2c65cbc2] {
40910
41171
  font-size: 14px;
40911
41172
  white-space: nowrap;
40912
41173
  }
40913
- .cn-record-list__due[data-v-38566d36] {
41174
+ .cn-record-list__due[data-v-2c65cbc2] {
40914
41175
  font-size: 14px;
40915
41176
  white-space: nowrap;
40916
41177
  }
40917
- .cn-record-list__due--danger[data-v-38566d36] {
41178
+ .cn-record-list__due--danger[data-v-2c65cbc2] {
40918
41179
  color: var(--color-text-error, var(--color-error-text));
40919
41180
  font-weight: 600;
40920
41181
  }
40921
- .cn-record-list__table[data-v-38566d36] {
41182
+ .cn-record-list__table[data-v-2c65cbc2] {
40922
41183
  width: 100%;
40923
41184
  border-collapse: collapse;
40924
41185
  font-size: 14px;
40925
41186
  }
40926
- .cn-record-list__table th[data-v-38566d36] {
41187
+ .cn-record-list__table th[data-v-2c65cbc2] {
40927
41188
  padding: 6px 0;
40928
41189
  border-bottom: 1px solid var(--color-border);
40929
41190
  color: var(--color-text-maxcontrast);
40930
41191
  font-weight: 600;
40931
41192
  text-align: start;
40932
41193
  }
40933
- .cn-record-list__table td[data-v-38566d36] {
41194
+ .cn-record-list__table td[data-v-2c65cbc2] {
40934
41195
  padding: 8px 0;
40935
41196
  border-bottom: 1px solid var(--color-border);
40936
41197
  }
40937
- .cn-record-list__cell-sub[data-v-38566d36] {
41198
+ .cn-record-list__cell-sub[data-v-2c65cbc2] {
40938
41199
  display: block;
40939
41200
  color: var(--color-text-maxcontrast);
40940
41201
  font-size: 13px;
40941
41202
  }
40942
- .cn-record-list__table .cn-record-list__cell--actions[data-v-38566d36] {
41203
+ .cn-record-list__table .cn-record-list__cell--actions[data-v-2c65cbc2] {
40943
41204
  width: 1%;
40944
41205
  padding-inline-start: 12px;
40945
41206
  text-align: end;
40946
41207
  white-space: nowrap;
40947
41208
  }
40948
- .cn-record-list__sort[data-v-38566d36] {
41209
+ .cn-record-list__sort[data-v-2c65cbc2] {
40949
41210
  display: inline-flex;
40950
41211
  gap: 4px;
40951
41212
  align-items: center;
@@ -40958,75 +41219,75 @@ button.cn-linked-widget__link[data-v-0fc31606] {
40958
41219
  font: inherit;
40959
41220
  cursor: pointer;
40960
41221
  }
40961
- .cn-record-list__sort[data-v-38566d36]:focus-visible {
41222
+ .cn-record-list__sort[data-v-2c65cbc2]:focus-visible {
40962
41223
  outline: 2px solid var(--color-primary-element);
40963
41224
  outline-offset: 2px;
40964
41225
  }
40965
- .cn-record-list__sort-mark[data-v-38566d36] {
41226
+ .cn-record-list__sort-mark[data-v-2c65cbc2] {
40966
41227
  font-size: 10px;
40967
41228
  }
40968
- .cn-record-list__table .cn-record-list__cell--end[data-v-38566d36] {
41229
+ .cn-record-list__table .cn-record-list__cell--end[data-v-2c65cbc2] {
40969
41230
  padding-inline-start: 12px;
40970
41231
  text-align: end;
40971
41232
  font-variant-numeric: tabular-nums;
40972
41233
  }
40973
- .cn-record-list__table .cn-record-list__cell--alert[data-v-38566d36] {
41234
+ .cn-record-list__table .cn-record-list__cell--alert[data-v-2c65cbc2] {
40974
41235
  color: var(--color-text-error, var(--color-error-text));
40975
41236
  font-weight: 700;
40976
41237
  }
40977
- .cn-record-list__intro[data-v-38566d36] {
41238
+ .cn-record-list__intro[data-v-2c65cbc2] {
40978
41239
  margin: 0 0 8px;
40979
41240
  color: var(--color-text-maxcontrast);
40980
41241
  }
40981
- .cn-record-list__footnote[data-v-38566d36] {
41242
+ .cn-record-list__footnote[data-v-2c65cbc2] {
40982
41243
  margin: 8px 0 0;
40983
41244
  color: var(--color-text-maxcontrast);
40984
41245
  font-size: 13px;
40985
41246
  }
40986
- .cn-record-list__due--soon[data-v-38566d36] {
41247
+ .cn-record-list__due--soon[data-v-2c65cbc2] {
40987
41248
  color: var(--color-text-warning, var(--color-warning-text));
40988
41249
  font-weight: 600;
40989
41250
  }
40990
- .cn-record-list__due--empty[data-v-38566d36] {
41251
+ .cn-record-list__due--empty[data-v-2c65cbc2] {
40991
41252
  color: var(--color-text-maxcontrast);
40992
41253
  }
40993
- .cn-record-list__row--action[data-v-38566d36] {
41254
+ .cn-record-list__row--action[data-v-2c65cbc2] {
40994
41255
  flex-wrap: wrap;
40995
41256
  gap: 8px 16px;
40996
41257
  padding: 14px 0;
40997
41258
  }
40998
- .cn-record-list__row--action .cn-record-list__main[data-v-38566d36] {
41259
+ .cn-record-list__row--action .cn-record-list__main[data-v-2c65cbc2] {
40999
41260
  flex: 1 1 280px;
41000
41261
  gap: 3px;
41001
41262
  }
41002
- .cn-record-list__title--link[data-v-38566d36] {
41263
+ .cn-record-list__title--link[data-v-2c65cbc2] {
41003
41264
  color: var(--color-main-text);
41004
41265
  text-decoration: underline;
41005
41266
  }
41006
- .cn-record-list__pills[data-v-38566d36] {
41267
+ .cn-record-list__pills[data-v-2c65cbc2] {
41007
41268
  display: flex;
41008
41269
  flex: 0 0 120px;
41009
41270
  gap: 6px;
41010
41271
  justify-content: flex-end;
41011
41272
  }
41012
- .cn-record-list__due--below[data-v-38566d36] {
41273
+ .cn-record-list__due--below[data-v-2c65cbc2] {
41013
41274
  font-size: 13px;
41014
41275
  font-weight: 600;
41015
41276
  white-space: normal;
41016
41277
  }
41017
- .cn-record-list__footer-link[data-v-38566d36] {
41278
+ .cn-record-list__footer-link[data-v-2c65cbc2] {
41018
41279
  align-self: flex-start;
41019
41280
  padding-top: 8px;
41020
41281
  font-size: 14px;
41021
41282
  font-weight: 600;
41022
41283
  text-decoration: underline;
41023
41284
  }
41024
- .cn-record-list__due--column[data-v-38566d36] {
41285
+ .cn-record-list__due--column[data-v-2c65cbc2] {
41025
41286
  flex: 0 0 96px;
41026
41287
  font-size: 13px;
41027
41288
  text-align: end;
41028
41289
  }
41029
- .cn-record-list__action[data-v-38566d36] {
41290
+ .cn-record-list__action[data-v-2c65cbc2] {
41030
41291
  align-items: center;
41031
41292
  background: var(--color-primary-element-light);
41032
41293
  border: 0;
@@ -41043,11 +41304,11 @@ button.cn-linked-widget__link[data-v-0fc31606] {
41043
41304
  padding: 0 14px;
41044
41305
  text-decoration: none;
41045
41306
  }
41046
- .cn-record-list__action[data-v-38566d36]:hover,
41047
- .cn-record-list__action[data-v-38566d36]:focus-visible {
41307
+ .cn-record-list__action[data-v-2c65cbc2]:hover,
41308
+ .cn-record-list__action[data-v-2c65cbc2]:focus-visible {
41048
41309
  background: var(--color-primary-element-light-hover, var(--color-primary-element-light));
41049
41310
  }
41050
- .cn-record-list__chevron[data-v-38566d36] {
41311
+ .cn-record-list__chevron[data-v-2c65cbc2] {
41051
41312
  color: var(--color-text-maxcontrast);
41052
41313
  flex: none;
41053
41314
  }
@@ -41055,15 +41316,15 @@ button.cn-linked-widget__link[data-v-0fc31606] {
41055
41316
  /* tiles (`tiles: true`, DqZaaktypeOverzicht "Statussen"): rows as framed
41056
41317
  tiles in a grid, the title at 14px regular. The selectors outrank the board
41057
41318
  look's list row rules. */
41058
- .cn-record-list.cn-record-list--tiles .cn-record-list__list[data-v-38566d36] {
41319
+ .cn-record-list.cn-record-list--tiles .cn-record-list__list[data-v-2c65cbc2] {
41059
41320
  display: grid;
41060
41321
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
41061
41322
  gap: 8px;
41062
41323
  }
41063
- .cn-record-list.cn-record-list--tiles .cn-record-list__list .cn-record-list__item[data-v-38566d36] {
41324
+ .cn-record-list.cn-record-list--tiles .cn-record-list__list .cn-record-list__item[data-v-2c65cbc2] {
41064
41325
  border-top: 0;
41065
41326
  }
41066
- .cn-record-list.cn-record-list--tiles .cn-record-list__list .cn-record-list__item .cn-record-list__row[data-v-38566d36] {
41327
+ .cn-record-list.cn-record-list--tiles .cn-record-list__list .cn-record-list__item .cn-record-list__row[data-v-2c65cbc2] {
41067
41328
  box-sizing: border-box;
41068
41329
  height: 100%;
41069
41330
  gap: 10px;
@@ -41072,19 +41333,19 @@ button.cn-linked-widget__link[data-v-0fc31606] {
41072
41333
  border: 1px solid var(--cn-board-hairline, var(--color-border));
41073
41334
  border-radius: 8px;
41074
41335
  }
41075
- .cn-record-list.cn-record-list--tiles .cn-record-list__list .cn-record-list__item .cn-record-list__title[data-v-38566d36] {
41336
+ .cn-record-list.cn-record-list--tiles .cn-record-list__list .cn-record-list__item .cn-record-list__title[data-v-2c65cbc2] {
41076
41337
  font-size: 14px;
41077
41338
  font-weight: 400;
41078
41339
  }
41079
41340
 
41080
41341
  /* cards (board ShBank): a grid of framed cards, 240px at the least. */
41081
- .cn-record-list--cards .cn-record-list__list[data-v-38566d36] {
41342
+ .cn-record-list--cards .cn-record-list__list[data-v-2c65cbc2] {
41082
41343
  align-items: start;
41083
41344
  display: grid;
41084
41345
  gap: 16px;
41085
41346
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
41086
41347
  }
41087
- .cn-record-list__card[data-v-38566d36] {
41348
+ .cn-record-list__card[data-v-2c65cbc2] {
41088
41349
  background: var(--color-main-background);
41089
41350
  border: 1px solid var(--color-border);
41090
41351
  border-radius: 12px;
@@ -41096,51 +41357,51 @@ button.cn-linked-widget__link[data-v-0fc31606] {
41096
41357
  padding: 16px 18px;
41097
41358
  text-decoration: none;
41098
41359
  }
41099
- .cn-record-list__card--link[data-v-38566d36]:hover,
41100
- .cn-record-list__card--link[data-v-38566d36]:focus-visible {
41360
+ .cn-record-list__card--link[data-v-2c65cbc2]:hover,
41361
+ .cn-record-list__card--link[data-v-2c65cbc2]:focus-visible {
41101
41362
  border-color: var(--color-border-dark, var(--color-border));
41102
41363
  }
41103
- .cn-record-list__card--link:hover .cn-record-list__title[data-v-38566d36],
41104
- .cn-record-list__card--link:focus-visible .cn-record-list__title[data-v-38566d36] {
41364
+ .cn-record-list__card--link:hover .cn-record-list__title[data-v-2c65cbc2],
41365
+ .cn-record-list__card--link:focus-visible .cn-record-list__title[data-v-2c65cbc2] {
41105
41366
  text-decoration: underline;
41106
41367
  }
41107
- .cn-record-list__card-head[data-v-38566d36] {
41368
+ .cn-record-list__card-head[data-v-2c65cbc2] {
41108
41369
  align-items: center;
41109
41370
  display: flex;
41110
41371
  gap: 8px;
41111
41372
  justify-content: space-between;
41112
41373
  }
41113
- .cn-record-list__card-title[data-v-38566d36] {
41374
+ .cn-record-list__card-title[data-v-2c65cbc2] {
41114
41375
  align-items: center;
41115
41376
  display: flex;
41116
41377
  gap: 8px;
41117
41378
  min-width: 0;
41118
41379
  }
41119
- .cn-record-list__card-icon[data-v-38566d36] {
41380
+ .cn-record-list__card-icon[data-v-2c65cbc2] {
41120
41381
  color: var(--color-primary-element);
41121
41382
  flex: none;
41122
41383
  }
41123
- .cn-record-list__card-pills[data-v-38566d36] {
41384
+ .cn-record-list__card-pills[data-v-2c65cbc2] {
41124
41385
  display: flex;
41125
41386
  flex: none;
41126
41387
  gap: 6px;
41127
41388
  }
41128
- .cn-record-list__card-value[data-v-38566d36] {
41389
+ .cn-record-list__card-value[data-v-2c65cbc2] {
41129
41390
  font-size: 24px;
41130
41391
  font-weight: 700;
41131
41392
  }
41132
41393
 
41133
41394
  /* feed */
41134
- .cn-record-list--feed .cn-record-list__item + .cn-record-list__item[data-v-38566d36] {
41395
+ .cn-record-list--feed .cn-record-list__item + .cn-record-list__item[data-v-2c65cbc2] {
41135
41396
  border-top: 1px solid var(--color-border);
41136
41397
  }
41137
- .cn-record-list__feed-row[data-v-38566d36] {
41398
+ .cn-record-list__feed-row[data-v-2c65cbc2] {
41138
41399
  align-items: flex-start;
41139
41400
  display: flex;
41140
41401
  gap: 14px;
41141
41402
  padding: 12px 0;
41142
41403
  }
41143
- .cn-record-list__feed-icon[data-v-38566d36] {
41404
+ .cn-record-list__feed-icon[data-v-2c65cbc2] {
41144
41405
  align-items: center;
41145
41406
  background: var(--color-primary-element-light);
41146
41407
  border-radius: 50%;
@@ -41151,25 +41412,25 @@ button.cn-linked-widget__link[data-v-0fc31606] {
41151
41412
  justify-content: center;
41152
41413
  width: 36px;
41153
41414
  }
41154
- .cn-record-list__text[data-v-38566d36] {
41415
+ .cn-record-list__text[data-v-2c65cbc2] {
41155
41416
  font-size: 15px;
41156
41417
  }
41157
- .cn-record-list--feed .cn-record-list__main[data-v-38566d36] {
41418
+ .cn-record-list--feed .cn-record-list__main[data-v-2c65cbc2] {
41158
41419
  color: var(--color-main-text);
41159
41420
  text-decoration: none;
41160
41421
  }
41161
41422
 
41162
41423
  /* inline */
41163
- .cn-record-list__inline-row[data-v-38566d36] {
41424
+ .cn-record-list__inline-row[data-v-2c65cbc2] {
41164
41425
  padding: 4px 0;
41165
41426
  }
41166
- .cn-record-list__label[data-v-38566d36] {
41427
+ .cn-record-list__label[data-v-2c65cbc2] {
41167
41428
  margin-inline-end: 4px;
41168
41429
  }
41169
- .cn-record-list__inline-title[data-v-38566d36] {
41430
+ .cn-record-list__inline-title[data-v-2c65cbc2] {
41170
41431
  color: var(--color-main-text);
41171
41432
  }
41172
- a.cn-record-list__inline-title[data-v-38566d36] {
41433
+ a.cn-record-list__inline-title[data-v-2c65cbc2] {
41173
41434
  color: var(--color-primary-element);
41174
41435
  text-decoration: underline;
41175
41436
  }
@@ -50001,30 +50262,30 @@ textarea.cn-sm-field__input[data-v-3e23dab3] {
50001
50262
  }
50002
50263
 
50003
50264
 
50004
- .cn-assign-dialog[data-v-6acb5913] {
50265
+ .cn-assign-dialog[data-v-7a19bf99] {
50005
50266
  display: flex;
50006
50267
  flex-direction: column;
50007
50268
  gap: 18px;
50008
50269
  }
50009
- .cn-assign-dialog__field[data-v-6acb5913] {
50270
+ .cn-assign-dialog__field[data-v-7a19bf99] {
50010
50271
  display: flex;
50011
50272
  flex-direction: column;
50012
50273
  gap: 6px;
50013
50274
  }
50014
50275
 
50015
50276
  /* The assignee label sits above its field, as the note's does. */
50016
- .cn-assign-dialog__field[data-v-6acb5913] .select__label {
50277
+ .cn-assign-dialog__field[data-v-7a19bf99] .select__label {
50017
50278
  display: block;
50018
50279
  margin-bottom: 6px;
50019
50280
  font-size: 14px;
50020
50281
  font-weight: 600;
50021
50282
  color: var(--color-main-text);
50022
50283
  }
50023
- .cn-assign-dialog__hint[data-v-6acb5913] {
50284
+ .cn-assign-dialog__hint[data-v-7a19bf99] {
50024
50285
  font-size: 13px;
50025
50286
  color: var(--color-text-maxcontrast);
50026
50287
  }
50027
- .cn-assign-dialog__toggle[data-v-6acb5913] {
50288
+ .cn-assign-dialog__toggle[data-v-7a19bf99] {
50028
50289
  display: flex;
50029
50290
  flex-direction: column;
50030
50291
  gap: 2px;
@@ -50032,17 +50293,17 @@ textarea.cn-sm-field__input[data-v-3e23dab3] {
50032
50293
  border: 1px solid var(--color-border-dark);
50033
50294
  border-radius: var(--border-radius-large, 8px);
50034
50295
  }
50035
- .cn-assign-dialog__toggle--on[data-v-6acb5913] {
50296
+ .cn-assign-dialog__toggle--on[data-v-7a19bf99] {
50036
50297
  border: 2px solid var(--color-primary-element);
50037
50298
  background: var(--color-primary-element-light);
50038
50299
  }
50039
- .cn-assign-dialog__toggle-title[data-v-6acb5913] {
50300
+ .cn-assign-dialog__toggle-title[data-v-7a19bf99] {
50040
50301
  font-weight: 600;
50041
50302
  }
50042
- .cn-assign-dialog__toggle-note[data-v-6acb5913] {
50303
+ .cn-assign-dialog__toggle-note[data-v-7a19bf99] {
50043
50304
  padding-inline-start: var(--cn-dialog-check-label-inset, 44px);
50044
50305
  }
50045
- .cn-assign-dialog__error[data-v-6acb5913] {
50306
+ .cn-assign-dialog__error[data-v-7a19bf99] {
50046
50307
  margin: 0;
50047
50308
  color: var(--color-error-text, var(--color-error));
50048
50309
  }
@@ -50538,7 +50799,7 @@ textarea.cn-sm-field__input[data-v-3e23dab3] {
50538
50799
  }
50539
50800
 
50540
50801
 
50541
- .cn-dashboard-page[data-v-a05cad3a] {
50802
+ .cn-dashboard-page[data-v-12df9aea] {
50542
50803
  padding: 20px;
50543
50804
  max-width: 1800px;
50544
50805
  /* Centre the leftover space once the cap engages, so a wide screen shows
@@ -50552,7 +50813,7 @@ textarea.cn-sm-field__input[data-v-3e23dab3] {
50552
50813
  overflow-y: auto;
50553
50814
  box-sizing: border-box;
50554
50815
  }
50555
- .cn-dashboard-page__header[data-v-a05cad3a] {
50816
+ .cn-dashboard-page__header[data-v-12df9aea] {
50556
50817
  display: flex;
50557
50818
  justify-content: space-between;
50558
50819
  align-items: flex-start;
@@ -50564,21 +50825,21 @@ textarea.cn-sm-field__input[data-v-3e23dab3] {
50564
50825
  room. Only the HEADER shifts right — body widgets keep full width. */
50565
50826
  padding-inline-start: 56px;
50566
50827
  }
50567
- .cn-dashboard-page__header-left[data-v-a05cad3a] {
50828
+ .cn-dashboard-page__header-left[data-v-12df9aea] {
50568
50829
  min-width: 0;
50569
50830
  }
50570
- .cn-dashboard-page__title-row[data-v-a05cad3a] {
50831
+ .cn-dashboard-page__title-row[data-v-12df9aea] {
50571
50832
  display: flex;
50572
50833
  align-items: center;
50573
50834
  flex-wrap: wrap;
50574
50835
  gap: 12px;
50575
50836
  }
50576
- .cn-dashboard-page__title[data-v-a05cad3a] {
50837
+ .cn-dashboard-page__title[data-v-12df9aea] {
50577
50838
  margin: 0;
50578
50839
  font-size: 20px;
50579
50840
  font-weight: 700;
50580
50841
  }
50581
- .cn-dashboard-page__description[data-v-a05cad3a] {
50842
+ .cn-dashboard-page__description[data-v-12df9aea] {
50582
50843
  margin: 4px 0 0;
50583
50844
  font-size: 14px;
50584
50845
  color: var(--color-text-maxcontrast);
@@ -50586,19 +50847,19 @@ textarea.cn-sm-field__input[data-v-3e23dab3] {
50586
50847
 
50587
50848
  /* Board look (screens-dashboard-parity): h1 28/700, a 15px grey subtitle 6px
50588
50849
  under it, and 40px buttons with a 10px gap. */
50589
- .cn-dashboard-page--board .cn-dashboard-page__title[data-v-a05cad3a] {
50850
+ .cn-dashboard-page--board .cn-dashboard-page__title[data-v-12df9aea] {
50590
50851
  font-size: 28px;
50591
50852
  font-weight: 700;
50592
50853
  line-height: 1.2;
50593
50854
  }
50594
- .cn-dashboard-page--board .cn-dashboard-page__description[data-v-a05cad3a] {
50855
+ .cn-dashboard-page--board .cn-dashboard-page__description[data-v-12df9aea] {
50595
50856
  margin: 6px 0 0;
50596
50857
  font-size: 15px;
50597
50858
  }
50598
- .cn-dashboard-page--board .cn-dashboard-page__header-actions[data-v-a05cad3a] {
50859
+ .cn-dashboard-page--board .cn-dashboard-page__header-actions[data-v-12df9aea] {
50599
50860
  gap: 10px;
50600
50861
  }
50601
- .cn-dashboard-page--board .cn-dashboard-page__header-actions[data-v-a05cad3a] .button-vue {
50862
+ .cn-dashboard-page--board .cn-dashboard-page__header-actions[data-v-12df9aea] .button-vue {
50602
50863
  min-height: var(--cn-board-control-height, 40px);
50603
50864
  height: var(--cn-board-control-height, 40px);
50604
50865
  }
@@ -50606,17 +50867,17 @@ textarea.cn-sm-field__input[data-v-3e23dab3] {
50606
50867
  /* The switch row under the header (screens-dashboard-greeting-header): the
50607
50868
  view switch left, the `viewLinks` pills right (DqMijnWerk: pills 34px high,
50608
50869
  radius 17, 13px/600, a 14px icon, primary light on primary deep). */
50609
- .cn-dashboard-page__switch-row[data-v-a05cad3a] {
50870
+ .cn-dashboard-page__switch-row[data-v-12df9aea] {
50610
50871
  display: flex;
50611
50872
  flex-wrap: wrap;
50612
50873
  align-items: center;
50613
50874
  gap: 10px;
50614
50875
  margin-bottom: var(--cn-board-section-gap, 20px);
50615
50876
  }
50616
- .cn-dashboard-page__switch-row-spacer[data-v-a05cad3a] {
50877
+ .cn-dashboard-page__switch-row-spacer[data-v-12df9aea] {
50617
50878
  flex: 1 1 auto;
50618
50879
  }
50619
- .cn-dashboard-page__view-link[data-v-a05cad3a] {
50880
+ .cn-dashboard-page__view-link[data-v-12df9aea] {
50620
50881
  display: inline-flex;
50621
50882
  align-items: center;
50622
50883
  gap: 6px;
@@ -50630,24 +50891,24 @@ textarea.cn-sm-field__input[data-v-3e23dab3] {
50630
50891
  white-space: nowrap;
50631
50892
  text-decoration: none !important;
50632
50893
  }
50633
- .cn-dashboard-page__view-link[data-v-a05cad3a]:hover {
50894
+ .cn-dashboard-page__view-link[data-v-12df9aea]:hover {
50634
50895
  background: var(--color-primary-element-light-hover, var(--color-primary-element-light));
50635
50896
  }
50636
- .cn-dashboard-page__view-link[data-v-a05cad3a]:focus-visible {
50897
+ .cn-dashboard-page__view-link[data-v-12df9aea]:focus-visible {
50637
50898
  outline: 2px solid var(--color-main-text);
50638
50899
  outline-offset: 2px;
50639
50900
  }
50640
- .cn-dashboard-page__view-link-icon[data-v-a05cad3a] {
50901
+ .cn-dashboard-page__view-link-icon[data-v-12df9aea] {
50641
50902
  display: inline-flex;
50642
50903
  }
50643
50904
 
50644
50905
  /* The period group, in a row of its own between the header and the KPI row. */
50645
- .cn-dashboard-page__date-range--segmented[data-v-a05cad3a] {
50906
+ .cn-dashboard-page__date-range--segmented[data-v-12df9aea] {
50646
50907
  margin-bottom: 16px;
50647
50908
  }
50648
50909
 
50649
50910
  /* The period group at the end of the description line. */
50650
- .cn-dashboard-page__description--with-period[data-v-a05cad3a] {
50911
+ .cn-dashboard-page__description--with-period[data-v-12df9aea] {
50651
50912
  align-items: center;
50652
50913
  display: flex;
50653
50914
  flex-wrap: wrap;
@@ -50656,19 +50917,19 @@ textarea.cn-sm-field__input[data-v-3e23dab3] {
50656
50917
 
50657
50918
  /* A select on the description line takes the width of its choice, not a
50658
50919
  form field's, and no margin of its own. */
50659
- .cn-dashboard-page__description-select[data-v-a05cad3a] {
50920
+ .cn-dashboard-page__description-select[data-v-12df9aea] {
50660
50921
  min-width: 180px;
50661
50922
  max-width: 280px;
50662
50923
  margin: 0;
50663
50924
  }
50664
- .cn-dashboard-page__date-segmented[data-v-a05cad3a] {
50925
+ .cn-dashboard-page__date-segmented[data-v-12df9aea] {
50665
50926
  display: flex;
50666
50927
  align-items: center;
50667
50928
  gap: 8px;
50668
50929
  }
50669
50930
 
50670
50931
  /* The KPI row above the grid: tiles are cells of the auto-fit grid. */
50671
- .cn-dashboard-page__kpi-row[data-v-a05cad3a] {
50932
+ .cn-dashboard-page__kpi-row[data-v-12df9aea] {
50672
50933
  margin-bottom: var(--cn-board-section-gap, 16px);
50673
50934
  }
50674
50935
 
@@ -50676,15 +50937,15 @@ textarea.cn-sm-field__input[data-v-3e23dab3] {
50676
50937
  the cards started a margin to the right of the KPI row and the header. The
50677
50938
  grid reaches out by that margin, so the card edges line up with the page's
50678
50939
  (dashboard-grid-flush). */
50679
- .cn-dashboard-page--board[data-v-a05cad3a] .cn-dashboard-grid {
50940
+ .cn-dashboard-page--board[data-v-12df9aea] .cn-dashboard-grid {
50680
50941
  width: auto;
50681
50942
  margin-inline: calc(-1 * var(--cn-dashboard-grid-margin, 12px));
50682
50943
  }
50683
- .cn-dashboard-page__kpi-cell[data-v-a05cad3a] {
50944
+ .cn-dashboard-page__kpi-cell[data-v-12df9aea] {
50684
50945
  display: flex;
50685
50946
  min-width: 0;
50686
50947
  }
50687
- .cn-dashboard-page__kpi-cell[data-v-a05cad3a] > * {
50948
+ .cn-dashboard-page__kpi-cell[data-v-12df9aea] > * {
50688
50949
  flex: 1 1 auto;
50689
50950
  min-width: 0;
50690
50951
  }
@@ -50697,7 +50958,7 @@ textarea.cn-sm-field__input[data-v-3e23dab3] {
50697
50958
  scoped chip rules then silently don't match and the chip collapses into
50698
50959
  NcActions' ~30px icon slot (text wraps to "Last / 30 / days"). The
50699
50960
  data-testid is stable across chunks, so those rules match regardless. */
50700
- .cn-dashboard-page__header-actions[data-v-a05cad3a] {
50961
+ .cn-dashboard-page__header-actions[data-v-12df9aea] {
50701
50962
  display: flex;
50702
50963
  align-items: center;
50703
50964
  gap: 8px;
@@ -50713,19 +50974,19 @@ textarea.cn-sm-field__input[data-v-3e23dab3] {
50713
50974
 
50714
50975
  /* Date-range header band. Kept compact so it doesn't open a tall gap
50715
50976
  above the grid; the pills variant is a single tidy toggle row. */
50716
- .cn-dashboard-page__date-range[data-v-a05cad3a] {
50977
+ .cn-dashboard-page__date-range[data-v-12df9aea] {
50717
50978
  margin-bottom: 12px;
50718
50979
  }
50719
- .cn-dashboard-page__date-range--pills[data-v-a05cad3a] {
50980
+ .cn-dashboard-page__date-range--pills[data-v-12df9aea] {
50720
50981
  margin-bottom: 8px;
50721
50982
  }
50722
- .cn-dashboard-page__date-pills[data-v-a05cad3a] {
50983
+ .cn-dashboard-page__date-pills[data-v-12df9aea] {
50723
50984
  display: flex;
50724
50985
  align-items: center;
50725
50986
  flex-wrap: wrap;
50726
50987
  gap: 6px;
50727
50988
  }
50728
- .cn-dashboard-page__date-pill[data-v-a05cad3a] {
50989
+ .cn-dashboard-page__date-pill[data-v-12df9aea] {
50729
50990
  display: inline-flex;
50730
50991
  align-items: center;
50731
50992
  padding: 5px 14px;
@@ -50740,77 +51001,77 @@ textarea.cn-sm-field__input[data-v-3e23dab3] {
50740
51001
  cursor: pointer;
50741
51002
  transition: background-color 100ms ease, border-color 100ms ease, color 100ms ease;
50742
51003
  }
50743
- .cn-dashboard-page__date-pill[data-v-a05cad3a]:hover {
51004
+ .cn-dashboard-page__date-pill[data-v-12df9aea]:hover {
50744
51005
  background: var(--color-background-hover);
50745
51006
  }
50746
- .cn-dashboard-page__date-pill[data-v-a05cad3a]:focus-visible {
51007
+ .cn-dashboard-page__date-pill[data-v-12df9aea]:focus-visible {
50747
51008
  outline: 2px solid var(--color-primary-element);
50748
51009
  outline-offset: 2px;
50749
51010
  }
50750
- .cn-dashboard-page__date-pill--active[data-v-a05cad3a] {
51011
+ .cn-dashboard-page__date-pill--active[data-v-12df9aea] {
50751
51012
  background: var(--color-primary-element);
50752
51013
  border-color: var(--color-primary-element);
50753
51014
  color: var(--color-primary-element-text);
50754
51015
  }
50755
- .cn-dashboard-page__date-pill--active[data-v-a05cad3a]:hover {
51016
+ .cn-dashboard-page__date-pill--active[data-v-12df9aea]:hover {
50756
51017
  background: var(--color-primary-element-hover, var(--color-primary-element));
50757
51018
  }
50758
51019
 
50759
51020
  /* The custom-range pill is de-emphasised — dashed outline, muted text —
50760
51021
  so it reads as an escape hatch rather than a primary option. */
50761
- .cn-dashboard-page__date-pill--custom[data-v-a05cad3a] {
51022
+ .cn-dashboard-page__date-pill--custom[data-v-12df9aea] {
50762
51023
  border-style: dashed;
50763
51024
  color: var(--color-text-maxcontrast);
50764
51025
  }
50765
- .cn-dashboard-page__date-pill-custom[data-v-a05cad3a] .action-item__menutoggle {
51026
+ .cn-dashboard-page__date-pill-custom[data-v-12df9aea] .action-item__menutoggle {
50766
51027
  min-width: 0;
50767
51028
  min-height: 0;
50768
51029
  padding: 0;
50769
51030
  background: transparent;
50770
51031
  border: none;
50771
51032
  }
50772
- .cn-dashboard-page__date-pill-custom[data-v-a05cad3a] .button-vue,
50773
- .cn-dashboard-page__date-pill-custom[data-v-a05cad3a] .button-vue__wrapper,
50774
- .cn-dashboard-page__date-pill-custom[data-v-a05cad3a] .button-vue__icon {
51033
+ .cn-dashboard-page__date-pill-custom[data-v-12df9aea] .button-vue,
51034
+ .cn-dashboard-page__date-pill-custom[data-v-12df9aea] .button-vue__wrapper,
51035
+ .cn-dashboard-page__date-pill-custom[data-v-12df9aea] .button-vue__icon {
50775
51036
  width: auto !important;
50776
51037
  min-width: 0 !important;
50777
51038
  overflow: visible !important;
50778
51039
  }
50779
- .cn-dashboard-page__empty[data-v-a05cad3a] {
51040
+ .cn-dashboard-page__empty[data-v-12df9aea] {
50780
51041
  padding: 60px 20px;
50781
51042
  }
50782
51043
 
50783
51044
  /* The page's view switch on a page without a header row: at the end of its
50784
51045
  own row, above the grids, where the header would have put it. */
50785
- .cn-dashboard-page__view-switch[data-v-a05cad3a] {
51046
+ .cn-dashboard-page__view-switch[data-v-12df9aea] {
50786
51047
  display: flex;
50787
51048
  justify-content: flex-end;
50788
51049
  margin-bottom: 12px;
50789
51050
  }
50790
51051
 
50791
51052
  /* A view the switch shows with nothing to draw. */
50792
- .cn-page-view-region--empty[data-v-a05cad3a] {
51053
+ .cn-page-view-region--empty[data-v-12df9aea] {
50793
51054
  padding: 40px 20px;
50794
51055
  }
50795
- .cn-dashboard-page__page-filters[data-v-a05cad3a] {
51056
+ .cn-dashboard-page__page-filters[data-v-12df9aea] {
50796
51057
  display: flex;
50797
51058
  flex-wrap: wrap;
50798
51059
  gap: 16px;
50799
51060
  align-items: flex-end;
50800
51061
  margin-bottom: 12px;
50801
51062
  }
50802
- .cn-dashboard-page__page-filter[data-v-a05cad3a] {
51063
+ .cn-dashboard-page__page-filter[data-v-12df9aea] {
50803
51064
  display: flex;
50804
51065
  flex-direction: column;
50805
51066
  gap: 4px;
50806
51067
  min-width: 200px;
50807
51068
  }
50808
- .cn-dashboard-page__page-filter-label[data-v-a05cad3a] {
51069
+ .cn-dashboard-page__page-filter-label[data-v-12df9aea] {
50809
51070
  font-size: 0.85em;
50810
51071
  font-weight: 600;
50811
51072
  color: var(--color-text-maxcontrast);
50812
51073
  }
50813
- .cn-dashboard-page__widget-edit[data-v-a05cad3a] {
51074
+ .cn-dashboard-page__widget-edit[data-v-12df9aea] {
50814
51075
  position: absolute;
50815
51076
  top: 4px;
50816
51077
  inset-inline-end: 4px;
@@ -50829,8 +51090,8 @@ textarea.cn-sm-field__input[data-v-3e23dab3] {
50829
51090
  and centre the card. */
50830
51091
  /* `safe` centre so an overflowing tile does not spill out of the top, where
50831
51092
  flex overflow cannot be scrolled back to. Same as detail-page.css. */
50832
- .cn-dashboard-page__card-fit[data-v-a05cad3a] .cn-widget-wrapper__content,
50833
- .cn-dashboard-page__card-fit.cn-widget-wrapper--flush[data-v-a05cad3a] .cn-widget-wrapper__content {
51093
+ .cn-dashboard-page__card-fit[data-v-12df9aea] .cn-widget-wrapper__content,
51094
+ .cn-dashboard-page__card-fit.cn-widget-wrapper--flush[data-v-12df9aea] .cn-widget-wrapper__content {
50834
51095
  overflow: hidden;
50835
51096
  display: flex;
50836
51097
  flex-direction: column;
@@ -50846,7 +51107,7 @@ textarea.cn-sm-field__input[data-v-3e23dab3] {
50846
51107
  shows up as a scrollbar the user has to drag to see the whole graph. Same
50847
51108
  shape as the card-fit rule above, minus the padding: chart tiles render
50848
51109
  `flush`, and apexcharts already draws its own margins. */
50849
- .cn-dashboard-page__chart-fit[data-v-a05cad3a] .cn-widget-wrapper__content {
51110
+ .cn-dashboard-page__chart-fit[data-v-12df9aea] .cn-widget-wrapper__content {
50850
51111
  overflow: hidden;
50851
51112
  display: flex;
50852
51113
  flex-direction: column;
@@ -50856,13 +51117,13 @@ textarea.cn-sm-field__input[data-v-3e23dab3] {
50856
51117
  /* Card content (stat / gauge / delta) must fit the tile width: let the
50857
51118
  widget shrink and its value/label truncate instead of pushing past the
50858
51119
  tile edge (the horizontal clip on long currency values). */
50859
- .cn-dashboard-page__card-fit[data-v-a05cad3a] .cn-stat-widget,
50860
- .cn-dashboard-page__card-fit[data-v-a05cad3a] .cn-gauge-widget,
50861
- .cn-dashboard-page__card-fit[data-v-a05cad3a] .cn-delta-widget {
51120
+ .cn-dashboard-page__card-fit[data-v-12df9aea] .cn-stat-widget,
51121
+ .cn-dashboard-page__card-fit[data-v-12df9aea] .cn-gauge-widget,
51122
+ .cn-dashboard-page__card-fit[data-v-12df9aea] .cn-delta-widget {
50862
51123
  min-width: 0;
50863
51124
  max-width: 100%;
50864
51125
  }
50865
- .cn-dashboard-page__unknown[data-v-a05cad3a] {
51126
+ .cn-dashboard-page__unknown[data-v-12df9aea] {
50866
51127
  display: flex;
50867
51128
  align-items: center;
50868
51129
  justify-content: center;
@@ -50873,31 +51134,31 @@ textarea.cn-sm-field__input[data-v-3e23dab3] {
50873
51134
  }
50874
51135
 
50875
51136
  /* widget-ref content items */
50876
- .cn-dashboard-page__content[data-v-a05cad3a] {
51137
+ .cn-dashboard-page__content[data-v-12df9aea] {
50877
51138
  display: flex;
50878
51139
  flex-direction: column;
50879
51140
  gap: 16px;
50880
51141
  }
50881
- .cn-dashboard-page__content-item[data-v-a05cad3a] {
51142
+ .cn-dashboard-page__content-item[data-v-12df9aea] {
50882
51143
  width: 100%;
50883
51144
  }
50884
51145
  /* On a phone (screens-dashboard-phone) the touch targets of a board dashboard
50885
51146
  are 44px: the widget Actions menu and the KPI tiles. */
50886
51147
  @media (max-width: 640px) {
50887
- .cn-dashboard-page--board[data-v-a05cad3a] .cn-widget-wrapper__actions .action-item__menutoggle,
50888
- .cn-dashboard-page--board[data-v-a05cad3a] .cn-widget-wrapper__actions .button-vue {
51148
+ .cn-dashboard-page--board[data-v-12df9aea] .cn-widget-wrapper__actions .action-item__menutoggle,
51149
+ .cn-dashboard-page--board[data-v-12df9aea] .cn-widget-wrapper__actions .button-vue {
50889
51150
  min-height: 44px;
50890
51151
  }
50891
- .cn-dashboard-page--board .cn-dashboard-page__kpi-cell[data-v-a05cad3a] {
51152
+ .cn-dashboard-page--board .cn-dashboard-page__kpi-cell[data-v-12df9aea] {
50892
51153
  min-height: 44px;
50893
51154
  }
50894
51155
 
50895
51156
  /* The widget Actions menu shows its icon only, so the card title keeps
50896
51157
  the room; the name stays for assistive tech. */
50897
- .cn-dashboard-page--board[data-v-a05cad3a] .cn-widget-wrapper__actions .action-item__menutoggle {
51158
+ .cn-dashboard-page--board[data-v-12df9aea] .cn-widget-wrapper__actions .action-item__menutoggle {
50898
51159
  min-width: 44px;
50899
51160
  }
50900
- .cn-dashboard-page--board[data-v-a05cad3a] .cn-widget-wrapper__actions .action-item__menutoggle .button-vue__text {
51161
+ .cn-dashboard-page--board[data-v-12df9aea] .cn-widget-wrapper__actions .action-item__menutoggle .button-vue__text {
50901
51162
  position: absolute;
50902
51163
  width: 1px;
50903
51164
  height: 1px;
@@ -50909,7 +51170,7 @@ textarea.cn-sm-field__input[data-v-3e23dab3] {
50909
51170
 
50910
51171
  /* What a registry widget reports for its card header (`header` event): the
50911
51172
  note beside the link ("3 in total") and one action, as on a detail page. */
50912
- .cn-dashboard-page__widget-count[data-v-a05cad3a] {
51173
+ .cn-dashboard-page__widget-count[data-v-12df9aea] {
50913
51174
  align-self: center;
50914
51175
  padding: 1px 8px;
50915
51176
  border-radius: 10px;
@@ -50918,13 +51179,13 @@ textarea.cn-sm-field__input[data-v-3e23dab3] {
50918
51179
  font-size: 13px;
50919
51180
  font-weight: 600;
50920
51181
  }
50921
- .cn-dashboard-page__widget-note[data-v-a05cad3a] {
51182
+ .cn-dashboard-page__widget-note[data-v-12df9aea] {
50922
51183
  align-self: center;
50923
51184
  color: var(--color-text-maxcontrast);
50924
51185
  font-size: 14px;
50925
51186
  white-space: nowrap;
50926
51187
  }
50927
- .cn-dashboard-page__widget-action[data-v-a05cad3a] {
51188
+ .cn-dashboard-page__widget-action[data-v-12df9aea] {
50928
51189
  display: inline-flex;
50929
51190
  align-items: center;
50930
51191
  align-self: center;
@@ -50940,7 +51201,7 @@ textarea.cn-sm-field__input[data-v-3e23dab3] {
50940
51201
  white-space: nowrap;
50941
51202
  cursor: pointer;
50942
51203
  }
50943
- .cn-dashboard-page__widget-action[data-v-a05cad3a]:focus-visible {
51204
+ .cn-dashboard-page__widget-action[data-v-12df9aea]:focus-visible {
50944
51205
  outline: 2px solid var(--color-primary-element);
50945
51206
  outline-offset: 2px;
50946
51207
  }