arengibook 3.3.3-main → 3.3.3-mainTable

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 (2) hide show
  1. package/dist/index.js +102 -26
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -17,6 +17,8 @@ var MESSAGES = {
17
17
  'arengibook.table.toolbar.search': 'Rechercher…',
18
18
  'arengibook.table.filter.clearAll': 'Effacer tous les filtres',
19
19
  'arengibook.table.selection.onSelection': 'Sur la sélection',
20
+ 'arengibook.table.selection.showOnlySelected': 'Afficher seulement les lignes sélectionnées',
21
+ 'arengibook.table.selection.showAll': 'Afficher toutes les lignes',
20
22
  'arengibook.table.selection.onTable': 'Sur le tableau',
21
23
  'arengibook.table.toolbar.actions': 'Actions',
22
24
  'arengibook.table.selection.row': 'ligne sélectionnée',
@@ -95,6 +97,8 @@ var MESSAGES = {
95
97
  'arengibook.table.toolbar.search': 'Search…',
96
98
  'arengibook.table.filter.clearAll': 'Clear all filters',
97
99
  'arengibook.table.selection.onSelection': 'On the selection',
100
+ 'arengibook.table.selection.showOnlySelected': 'Show only selected rows',
101
+ 'arengibook.table.selection.showAll': 'Show all rows',
98
102
  'arengibook.table.selection.onTable': 'On the table',
99
103
  'arengibook.table.toolbar.actions': 'Actions',
100
104
  'arengibook.table.selection.row': 'row selected',
@@ -173,6 +177,8 @@ var MESSAGES = {
173
177
  'arengibook.table.toolbar.search': 'Buscar…',
174
178
  'arengibook.table.filter.clearAll': 'Borrar todos los filtros',
175
179
  'arengibook.table.selection.onSelection': 'Sobre la selección',
180
+ 'arengibook.table.selection.showOnlySelected': 'Mostrar solo las filas seleccionadas',
181
+ 'arengibook.table.selection.showAll': 'Mostrar todas las filas',
176
182
  'arengibook.table.selection.onTable': 'Sobre la tabla',
177
183
  'arengibook.table.toolbar.actions': 'Acciones',
178
184
  'arengibook.table.selection.row': 'fila seleccionada',
@@ -251,6 +257,8 @@ var MESSAGES = {
251
257
  'arengibook.table.toolbar.search': 'Suchen…',
252
258
  'arengibook.table.filter.clearAll': 'Alle Filter löschen',
253
259
  'arengibook.table.selection.onSelection': 'Für die Auswahl',
260
+ 'arengibook.table.selection.showOnlySelected': 'Nur ausgewählte Zeilen anzeigen',
261
+ 'arengibook.table.selection.showAll': 'Alle Zeilen anzeigen',
254
262
  'arengibook.table.selection.onTable': 'Für die Tabelle',
255
263
  'arengibook.table.toolbar.actions': 'Aktionen',
256
264
  'arengibook.table.selection.row': 'Zeile ausgewählt',
@@ -13867,7 +13875,7 @@ var LOCALES = {
13867
13875
  var css_248z$7 = "@charset \"UTF-8\";\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: scale(0.85);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n@keyframes toastSlideIn {\n from {\n opacity: 0;\n transform: translateX(40px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n@keyframes toastIconPop {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 60% {\n transform: scale(1.2);\n opacity: 1;\n }\n 100% {\n transform: scale(1);\n }\n}\n@keyframes toastTextSlide {\n from {\n opacity: 0;\n transform: translateY(6px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n/* Force une largeur à 100% de l'input Calendar */\n.datepicker-fullwidth {\n width: 100%;\n}\n\n.datepicker-fullwidth > .dp-input-wrapper {\n width: 100%;\n}\n.datepicker-fullwidth > .dp-input-wrapper > .p-calendar {\n width: 100%;\n}\n\n.dp-input-wrapper {\n position: relative;\n display: inline-flex;\n}\n.dp-input-wrapper .dp-clear-btn {\n position: absolute;\n right: 7px;\n top: 50%;\n transform: translateY(-50%);\n background: none;\n border: none;\n cursor: pointer;\n padding: 2.8px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #b0b8c4;\n z-index: 1;\n border-radius: 50%;\n line-height: 1;\n}\n.dp-input-wrapper .dp-clear-btn:hover {\n color: #1a1e26;\n background-color: rgba(0, 0, 0, 0.06);\n}\n.dp-input-wrapper .dp-clear-btn .pi {\n font-size: 9.1px;\n}\n\n/* Application du mixin field sur l'input du Calendar */\n.p-calendar > .p-inputtext {\n font-family: \"Roboto\", sans-serif;\n min-height: 40px;\n padding: 0 12px;\n background: #ffffff;\n border: 1.5px solid #e0e3e8;\n border-radius: 7px;\n color: #1a1e26;\n outline: none;\n transition: border-color 180ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.p-calendar > .p-inputtext:hover:not(:focus):not(:focus-within):not([disabled]):not(.is-disabled) {\n border-color: #c8cdd6;\n}\n.p-calendar > .p-inputtext:focus, .p-calendar > .p-inputtext:focus-within, .p-calendar > .p-inputtext.is-open {\n border-color: #3f3f3f;\n box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);\n}\n.p-calendar > .p-inputtext[disabled], .p-calendar > .p-inputtext.is-disabled {\n opacity: 0.45;\n cursor: not-allowed;\n pointer-events: none;\n}\n.p-calendar > .p-inputtext[readonly], .p-calendar > .p-inputtext.is-readonly {\n background: #f4f5f6;\n cursor: default;\n box-shadow: none;\n}\n.p-calendar > .p-inputtext[readonly]:hover, .p-calendar > .p-inputtext.is-readonly:hover {\n border-color: #e0e3e8;\n}\n.p-calendar > .p-inputtext.is-error {\n border-color: #dc2626;\n box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);\n}\n.p-calendar > .p-inputtext.is-success {\n border-color: #15803d;\n box-shadow: 0 0 0 3px rgba(21, 128, 61, 0.12);\n}\n.p-calendar > .p-inputtext:hover {\n border-color: #c8cdd6 !important;\n}\n.p-calendar > .p-inputtext:focus, .p-calendar > .p-inputtext.p-focus {\n border-color: #3f3f3f !important;\n box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1) !important;\n outline: none;\n}\n\n/* Panel invisible jusqu'au repositionnement (évite le flash position basse → haute) */\n.datepickerbook:not(.dp-ready) {\n visibility: hidden !important;\n}\n\n/* Neutralise les styles hérités */\n.datepickerbook table,\n.datepickerbook tbody,\n.datepickerbook tr,\n.datepickerbook td,\n.datepickerbook th {\n background-color: unset !important;\n color: inherit !important;\n border: none;\n}\n\n/* Restaure les couleurs et l'entete du calendrier */\n.datepickerbook .p-datepicker {\n background-color: #ffffff !important;\n color: #1a1e26 !important;\n border-radius: 7px;\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);\n}\n\n.datepickerbook .datepicker-custom-header {\n display: flex;\n flex-direction: column;\n gap: 7px;\n padding: 7px 10.5px;\n}\n\n.datepickerbook .datepicker-spinner {\n display: flex;\n flex-direction: column;\n align-items: center;\n font-size: 11.9px;\n}\n\n.datepickerbook .dp-label {\n margin: 3.5px 0;\n font-weight: 500;\n}\n\n.p-datepicker .p-datepicker-title,\n.p-datepicker .p-datepicker-prev,\n.p-datepicker .p-datepicker-next {\n display: none !important;\n}\n\n.datepickerbook .p-datepicker-header {\n justify-content: center;\n}\n\n.datepickerbook .dp-popup {\n position: absolute;\n top: 100%;\n margin-top: 3.5px;\n background: #ffffff;\n border: 1px solid #e0e3e8;\n border-radius: 4px;\n padding: 3.5px;\n z-index: 10;\n}\n\n.datepickerbook .dp-popup-months,\n.datepickerbook .dp-popup-years {\n display: grid;\n grid-template-columns: repeat(3, auto);\n gap: 3.5px;\n}\n\n.datepickerbook .dp-popup-item {\n border: none;\n background: transparent;\n padding: 2.1px 5.6px;\n cursor: pointer;\n font-size: 11.2px;\n}\n\n.datepickerbook .dp-popup-item:hover {\n background: #f4f5f6;\n}\n\n/*.datepickerbook .dp-header-top {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 10.5px;\n}*/\n.datepickerbook .dp-header-part {\n display: flex;\n align-items: center;\n gap: 3.5px;\n}\n\n.datepickerbook .dp-label-button {\n border: none;\n background: transparent;\n cursor: pointer;\n font-weight: 800;\n font-size: 16px;\n margin: 3.5px 0;\n}\n\n.datepickerbook.dp-monthyear-mode .dp-monthyear-header {\n padding-bottom: 3.5px;\n}\n\n.datepickerbook {\n display: flex;\n align-items: center;\n gap: 7px;\n margin-bottom: 3.5px;\n}\n\n.datepickerbook .dp-back-button {\n border: none;\n background: transparent;\n cursor: pointer;\n font-size: 12.6px;\n}\n\n.datepickerbook .dp-title {\n font-weight: 600;\n font-size: 12.6px;\n}\n\n/* Colonnes mois / années */\n.datepickerbook .dp-header-lists {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 7px;\n}\n\n.datepickerbook .dp-month-list,\n.datepickerbook .dp-year-list {\n padding-right: 3.5px;\n display: flex;\n flex-direction: column;\n gap: 2.1px;\n}\n\n.datepickerbook .dp-list-item:hover {\n background: #f4f5f6;\n}\n\n.p-datepicker-header.datepicker-custom-header.dp-monthyear-header {\n margin: auto;\n}\n\n/*.p-monthpicker*/\n.p-datepicker.dp-monthyear-mode {\n box-shadow: none !important;\n border-radius: 0px;\n}\n.p-datepicker.dp-monthyear-mode .dp-header-top-alt {\n display: none !important;\n}\n\n.p-datepicker-monthpicker.dp-monthyear-mode {\n box-shadow: none !important;\n border-radius: 0px;\n}\n.p-datepicker-monthpicker.dp-monthyear-mode .dp-header-top-alt {\n display: none !important;\n}\n\n.p-datepicker {\n width: 331px !important;\n min-width: 331px !important;\n max-width: 331px !important;\n}\n.p-datepicker .dp-arrow {\n border: none;\n background-color: transparent;\n color: #b0b8c4;\n cursor: pointer;\n transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1), background-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.p-datepicker .dp-arrow:hover {\n color: #3f3f3f;\n background-color: rgba(63, 63, 63, 0.08);\n}\n.p-datepicker.dp-year-only {\n box-shadow: none !important;\n width: auto !important;\n min-width: unset !important;\n max-width: unset !important;\n}\n.p-datepicker.dp-year-only .dp-header-top-alt {\n display: none !important;\n}\n.p-datepicker.dp-year-only .dp-monthyear-header {\n width: 205px;\n min-width: 205px;\n max-width: 205px;\n}\n.p-datepicker.dp-year-only .dp-monthyear-header .dp-year-container {\n width: 100%;\n}\n.p-datepicker.dp-year-only .dp-year-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-between;\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-arrow-container {\n width: 100%;\n border-top: 1px solid #e0e3e8;\n height: 51px;\n display: flex;\n align-items: center;\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-arrow-container .dp-arrow-up {\n border-right: 1px solid #e0e3e8;\n border-radius: 0px 0px 0px 5px !important;\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-arrow-container .dp-arrow-down {\n border-radius: 0px 0px 5px 0px !important;\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-arrow-container .dp-arrow-year {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 49%;\n border-radius: 0px;\n flex: 1;\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-arrow-container .dp-arrow-year:hover {\n background-color: rgba(63, 63, 63, 0.08);\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-year-list {\n width: 100%;\n gap: 0px;\n padding: 0px;\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-list-item-active {\n width: 100%;\n color: #ffffff !important;\n background-color: #3f3f3f !important;\n border-bottom: 1px solid #3f3f3f !important;\n font-weight: 600;\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-list-item {\n background-color: transparent;\n border: none;\n color: #1a1e26;\n transition: 0s !important;\n height: 25px;\n font-size: 16px;\n border-radius: 0px;\n border-bottom: 1px solid #e0e3e8;\n width: 100%;\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-list-item:not(.dp-list-item-big) {\n padding: 3px 10px !important;\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-list-item:not(.dp-list-item-big):hover {\n background-color: rgba(63, 63, 63, 0.08) !important;\n color: #3f3f3f;\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-list-item {\n padding: 3px 10px;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.dp-monthyear-mode .p-datepicker-group, .p-datepicker-monthpicker .p-datepicker-group, .dp-year-only .p-datepicker-group {\n padding: 0px !important;\n border: 0px solid transparent !important;\n}\n.dp-monthyear-mode .dp-monthyear-header, .p-datepicker-monthpicker .dp-monthyear-header, .dp-year-only .dp-monthyear-header {\n justify-content: flex-start;\n gap: 0;\n background: #ffffff;\n border: 1px solid rgba(255, 255, 255, 0.33);\n border-radius: 8px;\n position: absolute;\n top: 0;\n left: 0;\n padding: 0px !important;\n width: 331px;\n min-width: 331px;\n max-width: 331px;\n}\n.dp-monthyear-mode .dp-header-top-alt, .p-datepicker-monthpicker .dp-header-top-alt, .dp-year-only .dp-header-top-alt {\n width: 100%;\n height: 50px !important;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-bottom: 1px solid #e0e3e8;\n}\n.dp-monthyear-mode .dp-header-top-alt .dp-header-top-alt-part:first-child, .p-datepicker-monthpicker .dp-header-top-alt .dp-header-top-alt-part:first-child, .dp-year-only .dp-header-top-alt .dp-header-top-alt-part:first-child {\n border-right: 1px solid #e0e3e8;\n}\n.dp-monthyear-mode .dp-header-top-alt .dp-header-top-alt-part, .p-datepicker-monthpicker .dp-header-top-alt .dp-header-top-alt-part, .dp-year-only .dp-header-top-alt .dp-header-top-alt-part {\n width: 49%;\n height: 50px;\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: 600;\n color: #1a1e26;\n font-size: 16px;\n text-transform: capitalize;\n}\n.dp-monthyear-mode .p-datepicker-calendar-container, .p-datepicker-monthpicker .p-datepicker-calendar-container, .dp-year-only .p-datepicker-calendar-container {\n display: none;\n}\n.dp-monthyear-mode .dp-actions, .p-datepicker-monthpicker .dp-actions, .dp-year-only .dp-actions {\n width: 100%;\n background-color: #ffffff;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 0px 0px 5px 5px;\n padding: 0px 10px 10px 10px;\n}\n.dp-monthyear-mode .dp-actions .p-button:first-child, .p-datepicker-monthpicker .dp-actions .p-button:first-child, .dp-year-only .dp-actions .p-button:first-child {\n border: 0px solid transparent;\n color: #3f3f3f;\n}\n.dp-monthyear-mode .dp-actions .p-button:last-child, .p-datepicker-monthpicker .dp-actions .p-button:last-child, .dp-year-only .dp-actions .p-button:last-child {\n background-color: #ffffff;\n border: 1px solid #3f3f3f;\n color: #3f3f3f;\n}\n.dp-monthyear-mode .dp-actions .p-button:last-child:hover, .p-datepicker-monthpicker .dp-actions .p-button:last-child:hover, .dp-year-only .dp-actions .p-button:last-child:hover {\n background-color: #3f3f3f;\n color: #ffffff;\n}\n.dp-monthyear-mode .dp-actions .p-button, .p-datepicker-monthpicker .dp-actions .p-button, .dp-year-only .dp-actions .p-button {\n padding: 10px 15px;\n}\n.dp-monthyear-mode .dp-actions .p-button .p-button-icon, .p-datepicker-monthpicker .dp-actions .p-button .p-button-icon, .dp-year-only .dp-actions .p-button .p-button-icon {\n display: none;\n}\n.dp-monthyear-mode .dp-header-lists, .p-datepicker-monthpicker .dp-header-lists, .dp-year-only .dp-header-lists {\n width: calc(100% - 20px);\n height: 300px;\n display: flex;\n align-items: flex-start;\n gap: initial;\n padding: 0px;\n margin: 10px;\n}\n.dp-monthyear-mode .dp-month-list, .p-datepicker-monthpicker .dp-month-list, .dp-year-only .dp-month-list {\n transition: none !important;\n border: 1px solid #e0e3e8;\n margin: 0px 10px 0px 0px !important;\n gap: 0px;\n}\n.dp-monthyear-mode .dp-month-list .dp-list-item-active, .p-datepicker-monthpicker .dp-month-list .dp-list-item-active, .dp-year-only .dp-month-list .dp-list-item-active {\n width: 100%;\n color: #ffffff !important;\n background-color: #3f3f3f !important;\n border-bottom: 1px solid #3f3f3f !important;\n font-weight: 600;\n}\n.dp-monthyear-mode .dp-month-list .dp-list-item, .p-datepicker-monthpicker .dp-month-list .dp-list-item, .dp-year-only .dp-month-list .dp-list-item {\n border: none;\n height: 25px;\n background-color: transparent;\n font-size: 16px;\n text-transform: capitalize;\n border-radius: 0px;\n margin: 0px;\n padding: 3px;\n width: calc(100% - 0px);\n border-bottom: 1px solid #e0e3e8;\n}\n.dp-monthyear-mode .dp-month-list .dp-list-item:hover, .p-datepicker-monthpicker .dp-month-list .dp-list-item:hover, .dp-year-only .dp-month-list .dp-list-item:hover {\n background-color: rgba(63, 63, 63, 0.08);\n}\n.dp-monthyear-mode .dp-month-list .dp-list-item:last-child, .p-datepicker-monthpicker .dp-month-list .dp-list-item:last-child, .dp-year-only .dp-month-list .dp-list-item:last-child {\n border: none;\n}\n.dp-monthyear-mode .dp-year-container, .p-datepicker-monthpicker .dp-year-container, .dp-year-only .dp-year-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-between;\n border: 1px solid #e0e3e8;\n}\n.dp-monthyear-mode .dp-year-container .dp-arrow-container, .p-datepicker-monthpicker .dp-year-container .dp-arrow-container, .dp-year-only .dp-year-container .dp-arrow-container {\n width: 100%;\n border-top: 1px solid #e0e3e8;\n height: 51px;\n display: flex;\n align-items: center;\n}\n.dp-monthyear-mode .dp-year-container .dp-arrow-container .dp-arrow-up, .p-datepicker-monthpicker .dp-year-container .dp-arrow-container .dp-arrow-up, .dp-year-only .dp-year-container .dp-arrow-container .dp-arrow-up {\n border-right: 1px solid #e0e3e8;\n}\n.dp-monthyear-mode .dp-year-container .dp-arrow-container .dp-arrow-year, .p-datepicker-monthpicker .dp-year-container .dp-arrow-container .dp-arrow-year, .dp-year-only .dp-year-container .dp-arrow-container .dp-arrow-year {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 49%;\n border-radius: 0px;\n flex: 1;\n}\n.dp-monthyear-mode .dp-year-container .dp-year-list, .p-datepicker-monthpicker .dp-year-container .dp-year-list, .dp-year-only .dp-year-container .dp-year-list {\n width: 100%;\n gap: 0px;\n padding: 0px;\n}\n.dp-monthyear-mode .dp-year-container .dp-list-item-active, .p-datepicker-monthpicker .dp-year-container .dp-list-item-active, .dp-year-only .dp-year-container .dp-list-item-active {\n width: 100%;\n color: #ffffff !important;\n background-color: #3f3f3f !important;\n border-bottom: 1px solid #3f3f3f !important;\n font-weight: 600;\n}\n.dp-monthyear-mode .dp-year-container .dp-list-item, .p-datepicker-monthpicker .dp-year-container .dp-list-item, .dp-year-only .dp-year-container .dp-list-item {\n background-color: transparent;\n border: none;\n color: #1a1e26;\n transition: 0s !important;\n height: 25px;\n font-size: 16px;\n border-radius: 0px;\n border-bottom: 1px solid #e0e3e8;\n width: 100%;\n padding: 3px 10px;\n}\n.dp-monthyear-mode .dp-year-container .dp-list-item:not(.dp-list-item-big), .p-datepicker-monthpicker .dp-year-container .dp-list-item:not(.dp-list-item-big), .dp-year-only .dp-year-container .dp-list-item:not(.dp-list-item-big) {\n padding: 3px 10px !important;\n}\n.dp-monthyear-mode .dp-year-container .dp-list-item:not(.dp-list-item-big):hover, .p-datepicker-monthpicker .dp-year-container .dp-list-item:not(.dp-list-item-big):hover, .dp-year-only .dp-year-container .dp-list-item:not(.dp-list-item-big):hover {\n background-color: rgba(63, 63, 63, 0.08) !important;\n color: #3f3f3f;\n}\n.dp-monthyear-mode .dp-month-list, .dp-monthyear-mode .dp-year-container, .p-datepicker-monthpicker .dp-month-list, .p-datepicker-monthpicker .dp-year-container, .dp-year-only .dp-month-list, .dp-year-only .dp-year-container {\n width: 49%;\n flex: 1;\n margin: 0px;\n background-color: transparent;\n padding: 0px;\n height: 100%;\n}\n.dp-monthyear-mode .dp-month-list .dp-list-item, .dp-monthyear-mode .dp-year-container .dp-list-item, .p-datepicker-monthpicker .dp-month-list .dp-list-item, .p-datepicker-monthpicker .dp-year-container .dp-list-item, .dp-year-only .dp-month-list .dp-list-item, .dp-year-only .dp-year-container .dp-list-item {\n cursor: pointer;\n}\n.dp-monthyear-mode .dp-month-list .dp-list-item:hover, .dp-monthyear-mode .dp-year-container .dp-list-item:hover, .p-datepicker-monthpicker .dp-month-list .dp-list-item:hover, .p-datepicker-monthpicker .dp-year-container .dp-list-item:hover, .dp-year-only .dp-month-list .dp-list-item:hover, .dp-year-only .dp-year-container .dp-list-item:hover {\n color: #3f3f3f;\n border-bottom: 1px solid rgba(63, 63, 63, 0.08);\n}\n.dp-monthyear-mode .dp-month-list:hover, .dp-monthyear-mode .dp-year-container:hover, .p-datepicker-monthpicker .dp-month-list:hover, .p-datepicker-monthpicker .dp-year-container:hover, .dp-year-only .dp-month-list:hover, .dp-year-only .dp-year-container:hover {\n background-color: rgba(255, 255, 255, 0.31);\n}\n\n.p-datepicker {\n padding: 0px;\n background-color: #ffffff;\n box-shadow: 1px 2px 26px rgba(0, 0, 0, 0.21);\n width: 321px;\n}\n.p-datepicker .p-datepicker-group-container {\n width: 100%;\n}\n.p-datepicker .p-datepicker-group {\n background: #ffffff;\n border-radius: 8px;\n padding-bottom: 1px;\n}\n.p-datepicker .p-datepicker-header {\n padding: 0px;\n /*position: fixed;\n left: 0;*/\n height: 50px;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header .dp-header-top {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-bottom: 1px solid #e0e3e8;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header .dp-header-top .dp-header-month {\n border-right: 1px solid #e0e3e8;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header .dp-header-top .dp-header-month .dp-arrow-left {\n border-radius: 7px 0px 0px 0px;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header .dp-header-top .dp-header-year .dp-arrow-right {\n border-radius: 0px 7px 0px 0px;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header .dp-header-top .dp-header-part {\n width: 49%;\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header .dp-header-top .dp-header-part .dp-arrow {\n width: 30px;\n height: 49px;\n min-width: 30px;\n min-height: 49px;\n max-width: 30px;\n max-height: 49px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header .dp-header-top .dp-header-part .dp-arrow:hover {\n background-color: rgba(63, 63, 63, 0.08);\n color: #3f3f3f;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header .dp-header-top .dp-header-part .dp-label-button {\n width: calc(100% - 60px);\n display: flex;\n align-items: center;\n justify-content: center;\n height: 50px;\n margin: 0px;\n text-transform: capitalize;\n color: #3f3f3f;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header .dp-header-top .dp-header-part .dp-label-button:hover {\n background-color: rgba(63, 63, 63, 0.08);\n font-weight: 800;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header .dp-header-top .dp-header-part:hover {\n background-color: rgba(255, 255, 255, 0.31);\n}\n.p-datepicker .p-datepicker-calendar-container {\n padding: 10px;\n /* margin-top: 50px;*/\n}\n.p-datepicker .p-datepicker-calendar-container .p-datepicker-calendar {\n margin: 0px;\n}\n.p-datepicker .p-datepicker-calendar-container .p-datepicker-calendar thead tr th {\n padding: 2px;\n}\n.p-datepicker .p-datepicker-calendar-container .p-datepicker-calendar thead tr th span {\n color: #1a1e26;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.p-datepicker .p-datepicker-calendar-container .p-datepicker-calendar tbody tr .p-datepicker-today {\n background-color: transparent;\n}\n.p-datepicker .p-datepicker-calendar-container .p-datepicker-calendar tbody tr .p-datepicker-today span {\n background-color: transparent;\n font-weight: 600;\n color: #3f3f3f;\n border: 1px solid #3f3f3f;\n text-decoration: underline;\n}\n.p-datepicker .p-datepicker-calendar-container .p-datepicker-calendar tbody tr td {\n padding: 0px;\n border: 1px solid #f4f5f6;\n}\n.p-datepicker .p-datepicker-calendar-container .p-datepicker-calendar tbody tr td .p-highlight {\n color: #ffffff !important;\n background-color: #3f3f3f !important;\n box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.31);\n font-weight: 600;\n}\n.p-datepicker .p-datepicker-calendar-container .p-datepicker-calendar tbody tr td .p-disabled {\n opacity: 0.3;\n cursor: not-allowed;\n background-color: transparent !important;\n font-size: 12px;\n}\n.p-datepicker .p-datepicker-calendar-container .p-datepicker-calendar tbody tr td span {\n margin: 0;\n width: 100%;\n border-radius: 0px;\n}\n.p-datepicker .p-datepicker-calendar-container .p-datepicker-calendar tbody tr td span:hover {\n background-color: rgba(63, 63, 63, 0.08) !important;\n color: #3f3f3f;\n box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.31);\n}\n\n/* WRAPPER GLOBAL */\n.dp-monthyear-header {\n width: 360px;\n background: #ffffff;\n border-radius: 18px;\n padding: 24px 26px;\n box-shadow: 0 8px 26px rgba(0, 0, 0, 0.1);\n display: flex;\n flex-direction: column;\n font-family: Inter, sans-serif;\n gap: 22px;\n}\n\n/* TITRE */\n.dp-header-top-alt .dp-title {\n font-size: 21.7px;\n font-weight: 700;\n text-align: center;\n color: #1a1e26;\n margin-bottom: 2px;\n}\n\n/* HOVER ANNÉES */\n.datepickerbook .dp-year-list .dp-list-item:hover {\n background: rgba(63, 63, 63, 0.15);\n}\n\n.dp-month-list .dp-list-item-active {\n background: #ffffff;\n font-weight: 600;\n}\n\n/* Centrage parfait */\n.dp-year-list {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding: 0;\n}\n\n/* Année normale */\n.dp-year-list .dp-list-item {\n font-size: 16.8px;\n color: #b0b8c4;\n padding: 4px 0;\n cursor: pointer;\n transition: 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.dp-year-list .dp-list-item:hover {\n color: #1a1e26;\n}\n\n/* FLECHES */\n.dp-arrow-up,\n.dp-arrow-down {\n font-size: 21px;\n color: #1a1e26;\n padding: 6px;\n border: none;\n background: none;\n cursor: pointer;\n margin: 4px 0;\n}\n\n/* ACTIONS BAS – GROS BOUTONS */\n.dp-actions {\n display: flex;\n justify-content: center;\n gap: 20px;\n padding-top: 5px;\n padding-bottom: 10px;\n}\n\n/* TITRE MOIS ANNEE */\n.dp-header-top {\n margin: auto;\n}\n\n/*DATEPICKER MENSUEL CUSTOMISE*/\n.p-monthpicker {\n display: none !important;\n margin: auto;\n}\n\n.datepickerbook .p-datepicker-header {\n border: none !important;\n border-bottom: none !important;\n box-shadow: none !important;\n background: transparent !important;\n}\n\n.datepickerbook.p-datepicker {\n padding: 0 !important;\n margin: 0 !important;\n}\n\n/*DATEPICKER ANNUEL CUSTOMISE*/\n.p-yearpicker {\n display: none !important;\n}\n\n.datepickerbook .p-datepicker-footer {\n margin-bottom: 20px;\n}\n\n.dp-error-message {\n color: red !important;\n font-style: italic !important;\n display: block !important;\n width: 100% !important;\n max-width: 100% !important;\n white-space: normal !important;\n word-break: break-word !important;\n overflow-wrap: break-word !important;\n line-height: 1.4 !important;\n font-size: 12.25px !important;\n margin-top: 2px !important;\n float: none !important;\n position: static !important;\n}";
13868
13876
  styleInject(css_248z$7);
13869
13877
 
13870
- var _excluded$4 = ["value", "onChange", "placeholder", "dateFormat", "displayMask", "view", "invalid", "errorMessage", "disabled", "locale", "showTime", "showIcon", "icon", "iconBgButton", "iconPos", "name", "id", "fullWidth", "inputProps", "onBlur", "onSelect", "onClick", "showClear", "reopenOnClick", "invalidDateMessage", "onPanelShow", "onPanelHide"];
13878
+ var _excluded$4 = ["value", "onChange", "placeholder", "dateFormat", "displayMask", "view", "invalid", "errorMessage", "disabled", "locale", "showTime", "showIcon", "icon", "iconBgButton", "iconPos", "name", "id", "fullWidth", "inputProps", "onBlur", "onSelect", "onClick", "showClear", "reopenOnClick", "autoOpen", "invalidDateMessage", "onPanelShow", "onPanelHide"];
13871
13879
  var normalizeDate = function normalizeDate(v) {
13872
13880
  if (!v) return null;
13873
13881
  return v instanceof Date ? v : new Date(v);
@@ -13917,7 +13925,9 @@ var DatePicker = function DatePicker(_ref) {
13917
13925
  var _ref$showClear = _ref.showClear,
13918
13926
  showClear = _ref$showClear === void 0 ? true : _ref$showClear,
13919
13927
  _ref$reopenOnClick = _ref.reopenOnClick,
13920
- reopenOnClick = _ref$reopenOnClick === void 0 ? true : _ref$reopenOnClick;
13928
+ reopenOnClick = _ref$reopenOnClick === void 0 ? true : _ref$reopenOnClick,
13929
+ _ref$autoOpen = _ref.autoOpen,
13930
+ autoOpen = _ref$autoOpen === void 0 ? false : _ref$autoOpen;
13921
13931
  _ref.invalidDateMessage;
13922
13932
  var onPanelShow = _ref.onPanelShow,
13923
13933
  onPanelHide = _ref.onPanelHide,
@@ -14041,6 +14051,26 @@ var DatePicker = function DatePicker(_ref) {
14041
14051
  calendarRef.current.show();
14042
14052
  }
14043
14053
  };
14054
+
14055
+ // `autoOpen` : ouverture à la frame suivante, une fois le layout stabilisé — ouvert
14056
+ // au montage, le rect de l'input n'est pas encore fiable et le panneau partirait en
14057
+ // haut à gauche (même correctif que Dropdown). `handleShow` réaligne ensuite.
14058
+ useEffect(function () {
14059
+ if (!autoOpen || disabled) return undefined;
14060
+ var raf = requestAnimationFrame(function () {
14061
+ var _inputRef$current, _calendarRef$current;
14062
+ if (dateFormat === 'mm/yy') {
14063
+ setStory('month');
14064
+ setMode('monthYear');
14065
+ }
14066
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
14067
+ if (!panelVisibleRef.current) (_calendarRef$current = calendarRef.current) === null || _calendarRef$current === void 0 || _calendarRef$current.show();
14068
+ });
14069
+ return function () {
14070
+ return cancelAnimationFrame(raf);
14071
+ };
14072
+ // eslint-disable-next-line react-hooks/exhaustive-deps
14073
+ }, []);
14044
14074
  var inputStyle = {
14045
14075
  width: '200px',
14046
14076
  border: invalid || internalError ? '1px solid red' : '1px solid #ccc',
@@ -14049,12 +14079,12 @@ var DatePicker = function DatePicker(_ref) {
14049
14079
  };
14050
14080
  var localLanguage = locale !== null && locale !== void 0 ? locale : 'fr';
14051
14081
  var handleChange = function handleChange(e) {
14052
- var _inputRef$current, _e$originalEvent;
14082
+ var _inputRef$current2, _e$originalEvent;
14053
14083
  var newDate = e.value;
14054
14084
  setValeur(newDate);
14055
14085
 
14056
14086
  // Si l'input contient une valeur mais que PrimeReact n'a pas pu la parser → invalide
14057
- var inputVal = (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.value;
14087
+ var inputVal = (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.value;
14058
14088
  if (inputVal && inputVal.replace(/[_/]/g, '').trim() !== '' && !newDate) {
14059
14089
  setInternalError(true);
14060
14090
  } else {
@@ -14089,9 +14119,9 @@ var DatePicker = function DatePicker(_ref) {
14089
14119
  };
14090
14120
  var handleKeyDown = function handleKeyDown(e) {
14091
14121
  if (e.key === 'Enter') {
14092
- var _inputRef$current2;
14122
+ var _inputRef$current3;
14093
14123
  e.preventDefault();
14094
- var inputVal = (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.value;
14124
+ var inputVal = (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.value;
14095
14125
  var isIncomplete = inputVal && inputVal.includes('_');
14096
14126
  var isEmpty = !inputVal || inputVal.replace(/[_/]/g, '').trim() === '';
14097
14127
  if (!isEmpty && (isIncomplete || !valeur)) {
@@ -14416,9 +14446,9 @@ var DatePicker = function DatePicker(_ref) {
14416
14446
  };
14417
14447
  var BOTTOM_MARGIN = 80;
14418
14448
  var repositionPanel = function repositionPanel() {
14419
- var _calendarRef$current;
14449
+ var _calendarRef$current2;
14420
14450
  if (!panelVisibleRef.current) return;
14421
- var overlay = (_calendarRef$current = calendarRef.current) === null || _calendarRef$current === void 0 ? void 0 : _calendarRef$current.getOverlay();
14451
+ var overlay = (_calendarRef$current2 = calendarRef.current) === null || _calendarRef$current2 === void 0 ? void 0 : _calendarRef$current2.getOverlay();
14422
14452
  var input = inputRef.current;
14423
14453
  if (overlay && input) {
14424
14454
  var customContent = overlay.querySelector('.dp-monthyear-header');
@@ -14474,8 +14504,8 @@ var DatePicker = function DatePicker(_ref) {
14474
14504
  });
14475
14505
  });
14476
14506
  setTimeout(function () {
14477
- var _calendarRef$current2;
14478
- var currentOverlay = (_calendarRef$current2 = calendarRef.current) === null || _calendarRef$current2 === void 0 ? void 0 : _calendarRef$current2.getOverlay();
14507
+ var _calendarRef$current3;
14508
+ var currentOverlay = (_calendarRef$current3 = calendarRef.current) === null || _calendarRef$current3 === void 0 ? void 0 : _calendarRef$current3.getOverlay();
14479
14509
  if (!currentOverlay) return;
14480
14510
  var panelWheelHandler = function panelWheelHandler(e) {
14481
14511
  var isMonthYearMode = currentOverlay.querySelector('.dp-monthyear-header');
@@ -14508,7 +14538,7 @@ var DatePicker = function DatePicker(_ref) {
14508
14538
  }, 0);
14509
14539
  };
14510
14540
  var handleHide = function handleHide() {
14511
- var _calendarRef$current3, _inputRef$current3;
14541
+ var _calendarRef$current4, _inputRef$current4;
14512
14542
  panelVisibleRef.current = false;
14513
14543
  cleanupScrollListeners();
14514
14544
  if (panelWheelListenerRef.current) {
@@ -14518,12 +14548,12 @@ var DatePicker = function DatePicker(_ref) {
14518
14548
  _overlay.removeEventListener('wheel', handler);
14519
14549
  panelWheelListenerRef.current = null;
14520
14550
  }
14521
- var overlay = (_calendarRef$current3 = calendarRef.current) === null || _calendarRef$current3 === void 0 ? void 0 : _calendarRef$current3.getOverlay();
14551
+ var overlay = (_calendarRef$current4 = calendarRef.current) === null || _calendarRef$current4 === void 0 ? void 0 : _calendarRef$current4.getOverlay();
14522
14552
  if (overlay) {
14523
14553
  overlay.style.minHeight = '';
14524
14554
  }
14525
14555
  setPanelReady(false);
14526
- (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 || _inputRef$current3.blur();
14556
+ (_inputRef$current4 = inputRef.current) === null || _inputRef$current4 === void 0 || _inputRef$current4.blur();
14527
14557
  onPanelHide === null || onPanelHide === void 0 || onPanelHide();
14528
14558
  };
14529
14559
  useEffect(function () {
@@ -39008,7 +39038,12 @@ var Dropdown = function Dropdown(props) {
39008
39038
  }
39009
39039
 
39010
39040
  // --- State ---
39011
- var _useState = useState(null),
39041
+ // Initialisé avec la valeur reçue, pas `null` : sinon le premier rendu montre le
39042
+ // placeholder jusqu'à l'effet de synchro plus bas. Dans le Tableau, où le select est
39043
+ // monté au survol de la cellule, ça faisait clignoter le placeholder à chaque survol.
39044
+ var _useState = useState(function () {
39045
+ return objValue ? objValue === null || objValue === void 0 ? void 0 : objValue[optionValue] : value !== null && value !== void 0 ? value : null;
39046
+ }),
39012
39047
  _useState2 = _slicedToArray$b(_useState, 2),
39013
39048
  optionSelected = _useState2[0],
39014
39049
  setOptionSelected = _useState2[1];
@@ -39083,7 +39118,10 @@ var Dropdown = function Dropdown(props) {
39083
39118
  useEffect(function () {
39084
39119
  if (!didMountRef.current) {
39085
39120
  didMountRef.current = true;
39086
- return;
39121
+ // Montage avec une valeur : un `change` était émis quand l'état passait de
39122
+ // null à la valeur (cf. l'init de optionSelected) — des hôtes s'y fient, on
39123
+ // le conserve.
39124
+ if (optionSelected == null) return;
39087
39125
  }
39088
39126
  if (containerRef.current) {
39089
39127
  var inputEl = containerRef.current.querySelector('input');
@@ -44407,6 +44445,7 @@ var MultiSelect = function MultiSelect(props) {
44407
44445
  _props$subItem = props.subItem,
44408
44446
  subItem = _props$subItem === void 0 ? false : _props$subItem,
44409
44447
  _onHide = props.onHide,
44448
+ _onShow = props.onShow,
44410
44449
  _props$required = props.required,
44411
44450
  required = _props$required === void 0 ? false : _props$required;
44412
44451
  var isAsyncOptions = typeof options === 'function' || optionsUrl;
@@ -45614,6 +45653,7 @@ var MultiSelect = function MultiSelect(props) {
45614
45653
  if (enableItemTooltip) setTooltipKey(function (k) {
45615
45654
  return k + 1;
45616
45655
  });
45656
+ if (_onShow) _onShow();
45617
45657
  },
45618
45658
  onHide: function onHide() {
45619
45659
  panelListenersRef.current.forEach(function (_ref5) {
@@ -48165,7 +48205,7 @@ if (typeof window !== 'undefined') {
48165
48205
  window.ArengibookToastPresets = ToastPresets;
48166
48206
  }
48167
48207
 
48168
- var css_248z$3 = "@charset \"UTF-8\";\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: scale(0.85);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n@keyframes toastSlideIn {\n from {\n opacity: 0;\n transform: translateX(40px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n@keyframes toastIconPop {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 60% {\n transform: scale(1.2);\n opacity: 1;\n }\n 100% {\n transform: scale(1);\n }\n}\n@keyframes toastTextSlide {\n from {\n opacity: 0;\n transform: translateY(6px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n.p-paginator {\n font-size: 14px;\n}\n.p-paginator .p-paginator-first,\n.p-paginator .p-paginator-prev,\n.p-paginator .p-paginator-next,\n.p-paginator .p-paginator-last,\n.p-paginator .p-paginator-pages .p-paginator-page,\n.p-paginator .p-paginator-current,\n.p-paginator .p-dropdown .p-dropdown-label,\n.p-paginator .p-dropdown-item,\n.p-paginator .p-paginator-page-input .p-inputtext {\n font-size: 14px;\n}\n\n.p-datatable .p-datatable-tbody > tr.air-row--selected > td {\n background-color: #f0fdf8 !important;\n}\n\n.p-datatable .p-datatable-tbody > tr > td.ab-col--readonly {\n background-color: #f4f4f5;\n cursor: not-allowed;\n}\n.p-datatable .p-datatable-tbody > tr > td.ab-col--readonly a,\n.p-datatable .p-datatable-tbody > tr > td.ab-col--readonly button,\n.p-datatable .p-datatable-tbody > tr > td.ab-col--readonly [role=button] {\n cursor: pointer;\n}\n\n.ab-col-header--readonly .material-icons {\n display: inline-block;\n vertical-align: middle;\n margin-left: 4px;\n font-size: 13px;\n line-height: 1;\n color: #a1a1aa;\n width: 13px;\n overflow: hidden;\n}\n\ntable.ab-table {\n background-color: #ffffff;\n font-family: \"Roboto\", sans-serif;\n table-layout: fixed;\n}\ntable.ab-table thead {\n border: 1px solid #e0e3e8;\n}\ntable.ab-table thead th {\n position: sticky;\n top: 0;\n z-index: 800;\n background-color: #e8eaee;\n border-bottom: 1px solid #e0e3e8;\n padding-top: 10px;\n padding-bottom: 10px;\n font-size: 14px;\n}\ntable.ab-table tbody tr {\n background-color: transparent;\n}\n\n.ab-table td {\n overflow: hidden;\n padding-top: 8px;\n padding-bottom: 8px;\n text-align: left;\n border-right: 1px solid #e8eaee;\n border-bottom: 1px solid #e8eaee;\n}\n\n.ab-table .cell-text {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr > td.p-frozen-column {\n z-index: 1;\n background: #fff !important;\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr:has(> td.ab-td--editable):hover > td.p-frozen-column {\n background: #f4f5f6 !important;\n}\n\ntable.ab-table thead th.p-frozen-column:not(.row-actions-cell) {\n background: #fff !important;\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr > td.p-frozen-column.row-actions-cell,\n.p-datatable-scrollable .p-datatable-tbody > tr.p-row-odd > td.p-frozen-column.row-actions-cell {\n background: #ffffff !important;\n box-shadow: none !important;\n padding: 0 !important;\n border-right: 1px solid #e8eaee !important;\n}\n\n.p-datatable .p-datatable-thead > tr > th.row-actions-cell {\n background: #e8eaee !important;\n border: none !important;\n border-right: 1px solid #e0e3e8 !important;\n box-shadow: none !important;\n padding: 0 !important;\n}\n\ntable.ab-table td input.p-inputtext {\n box-sizing: border-box;\n min-height: 26px;\n padding: 0 8px;\n border: 1px solid #e0e3e8;\n border-radius: 3px;\n background: #ffffff;\n box-shadow: none;\n font-family: inherit;\n font-size: 13px;\n font-weight: 300;\n}\ntable.ab-table td input.p-inputtext:enabled:hover {\n border-color: #c8cdd6;\n}\ntable.ab-table td input.p-inputtext:enabled:focus {\n border-color: #3f3f3f;\n box-shadow: none;\n outline: none;\n}\n\n.ab-table .p-cell-editing input,\n.ab-table .p-cell-editing .p-inputtext,\n.ab-table .p-cell-editing .p-dropdown,\n.ab-table .p-cell-editing .p-multiselect,\n.ab-table .p-cell-editing .p-calendar {\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n}\n\n.ab-table .cell-devise {\n display: flex;\n flex-direction: column;\n gap: 1.4px;\n font-size: 12.25px;\n}\n.ab-table .cell-devise--editable {\n cursor: pointer;\n}\n.ab-table .cell-devise--empty {\n display: block;\n width: 100%;\n height: 21px;\n cursor: pointer;\n}\n.ab-table .cell-devise .span-sub {\n font-size: 10.5px;\n color: #71717a;\n}\n\n.ab-table .devise-editor {\n display: flex;\n flex-direction: column;\n gap: 5.6px;\n padding: 3.5px 0;\n}\n.ab-table .devise-editor-fields {\n display: flex;\n flex-direction: column;\n gap: 5.6px;\n width: 100%;\n position: relative;\n}\n.ab-table .devise-editor-fields .p-dropdown-panel {\n position: absolute;\n z-index: 1000;\n top: 100%;\n left: 0;\n width: 100%;\n}\n.ab-table .devise-editor-save {\n align-self: flex-end;\n}\n\n.ab-table .p-cell-editing .devise-editor-fields input,\n.ab-table .p-cell-editing .devise-editor-fields .p-inputtext,\n.ab-table .p-cell-editing .devise-editor-fields .p-dropdown {\n width: 100%;\n min-width: 0;\n}\n\n.ab-table .select-editor .p-dropdown-label > div {\n min-width: 0;\n}\n.ab-table .select-editor .dd-color-badge.is-selected {\n display: inline-block;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ab-table .select-editor .p-multiselect .p-multiselect-label-container {\n margin-right: 1.75rem;\n}\n\n.ab-table .div-col-select .ab-color-badge.is-selected,\n.ab-table .div-col-select-multiple .ab-color-badge.is-selected {\n animation: none;\n}\n.ab-table .div-col-select .ab-chips-lecture,\n.ab-table .div-col-select .p-multiselect .p-multiselect-label,\n.ab-table .div-col-select .p-dropdown .p-dropdown-label,\n.ab-table .div-col-select-multiple .ab-chips-lecture,\n.ab-table .div-col-select-multiple .p-multiselect .p-multiselect-label,\n.ab-table .div-col-select-multiple .p-dropdown .p-dropdown-label {\n overflow: clip visible !important;\n}\n.ab-table .div-col-select > div:not(.select-editor),\n.ab-table .div-col-select-multiple > div:not(.select-editor) {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n min-height: 40px !important;\n padding: 0 20px 0 12px;\n border: 1.5px solid transparent;\n}\n.ab-table .div-col-select > div:not(.select-editor):focus-visible,\n.ab-table .div-col-select-multiple > div:not(.select-editor):focus-visible {\n outline: 2px solid #3f3f3f;\n outline-offset: -2px;\n}\n.ab-table .div-col-select > div:not(.select-editor) > *,\n.ab-table .div-col-select-multiple > div:not(.select-editor) > * {\n min-width: 0;\n max-width: 100%;\n}\n.ab-table .div-col-select .p-dropdown-trigger,\n.ab-table .div-col-select .p-multiselect-trigger,\n.ab-table .div-col-select-multiple .p-dropdown-trigger,\n.ab-table .div-col-select-multiple .p-multiselect-trigger {\n display: none;\n}\n.ab-table .div-col-select [data-pc-section=clearicon],\n.ab-table .div-col-select-multiple [data-pc-section=clearicon] {\n right: 12px;\n opacity: 0;\n transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-table .div-col-select .ab-chips-lecture,\n.ab-table .div-col-select-multiple .ab-chips-lecture {\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n gap: 6px;\n width: 100%;\n min-width: 0;\n overflow: hidden;\n white-space: nowrap;\n}\n.ab-table .div-col-select .ab-chip-lecture,\n.ab-table .div-col-select-multiple .ab-chip-lecture {\n padding: 4px 4px 4px 8px;\n gap: 2px;\n margin: 0;\n flex: 0 1 auto;\n width: max-content;\n min-width: 0;\n}\n.ab-table .div-col-select .ab-chip-lecture .p-multiselect-token-icon,\n.ab-table .div-col-select-multiple .ab-chip-lecture .p-multiselect-token-icon {\n width: 14px;\n height: 14px;\n flex-shrink: 0;\n}\n.ab-table .div-col-select .p-multiselect .p-multiselect-label-container,\n.ab-table .div-col-select-multiple .p-multiselect .p-multiselect-label-container {\n margin-right: 34px;\n}\n.ab-table .div-col-select .dropdown-container .p-dropdown,\n.ab-table .div-col-select .multiselect-container .p-multiselect,\n.ab-table .div-col-select-multiple .dropdown-container .p-dropdown,\n.ab-table .div-col-select-multiple .multiselect-container .p-multiselect {\n border-color: transparent;\n transition: border-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-table .div-col-select .p-dropdown.p-focus,\n.ab-table .div-col-select .p-multiselect.p-focus,\n.ab-table .div-col-select-multiple .p-dropdown.p-focus,\n.ab-table .div-col-select-multiple .p-multiselect.p-focus {\n border-color: #3f3f3f;\n}\n.ab-table .div-col-select .p-dropdown.p-focus [data-pc-section=clearicon],\n.ab-table .div-col-select .p-multiselect.p-focus [data-pc-section=clearicon],\n.ab-table .div-col-select-multiple .p-dropdown.p-focus [data-pc-section=clearicon],\n.ab-table .div-col-select-multiple .p-multiselect.p-focus [data-pc-section=clearicon] {\n opacity: 1;\n}\n\n.ab-table .div-col-select-multiple > div:not(.select-editor) {\n padding-right: 46px;\n}\n\n.p-datatable .p-datatable-tbody > tr > td:hover .div-col-select .dropdown-container .p-dropdown,\n.p-datatable .p-datatable-tbody > tr > td:hover .div-col-select-multiple .multiselect-container .p-multiselect {\n border-color: #c8cdd6;\n}\n.p-datatable .p-datatable-tbody > tr > td:hover .div-col-select [data-pc-section=clearicon],\n.p-datatable .p-datatable-tbody > tr > td:hover .div-col-select-multiple [data-pc-section=clearicon] {\n opacity: 1;\n}\n\n.ab-table .doc-cell-empty {\n color: #aaa;\n font-size: 11.9px;\n}\n\n.ab-table .doc-cell {\n display: flex;\n flex-direction: column;\n gap: 3.5px;\n min-width: 0;\n overflow: hidden;\n}\n.ab-table .doc-cell-summary {\n display: flex;\n align-items: center;\n gap: 4.9px;\n font-size: 12.25px;\n min-width: 0;\n}\n.ab-table .doc-cell-summary .pi-paperclip {\n color: #71717a;\n font-size: 11.2px;\n flex-shrink: 0;\n}\n.ab-table .doc-cell-summary span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n}\n.ab-table .doc-cell-list {\n display: flex;\n flex-direction: column;\n gap: 2.1px;\n padding-left: 15.4px;\n font-size: 11.2px;\n}\n.ab-table .doc-cell-list div {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ab-table .doc-cell-list a {\n color: #3b82f6;\n text-decoration: none;\n}\n.ab-table .doc-cell-list a:hover {\n text-decoration: underline;\n}\n\n.ab-table .doc-editor {\n display: flex;\n flex-direction: column;\n gap: 5.6px;\n padding: 3.5px 0;\n}\n.ab-table .doc-editor-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 11.2px;\n}\n.ab-table .doc-editor-table td {\n padding: 2.8px 4.9px;\n vertical-align: middle;\n}\n.ab-table .doc-editor-table td a {\n color: #3b82f6;\n text-decoration: none;\n word-break: break-all;\n}\n.ab-table .doc-editor-table td a:hover {\n text-decoration: underline;\n}\n.ab-table .doc-editor-table td:last-child {\n width: 28px;\n text-align: center;\n}\n.ab-table .doc-editor-add {\n display: inline-flex;\n align-items: center;\n gap: 4.2px;\n cursor: pointer;\n align-self: center;\n}\n\n.ab-table .ab-titre-box {\n overflow: hidden;\n min-width: 0;\n}\n\n.ab-table .table-item-title {\n display: -webkit-box !important;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: var(--ab-title-lines, 1);\n line-height: 16px;\n min-width: 0 !important;\n white-space: normal;\n overflow-wrap: anywhere;\n overflow: hidden;\n max-height: var(--ab-content-max, none);\n}\n\n.p-datatable .p-column-header-content {\n justify-content: space-between;\n gap: 8px;\n width: 100%;\n min-width: 0;\n padding: 0 1rem;\n overflow: hidden;\n container-type: inline-size;\n}\n\n.p-datatable .p-column-header-content .p-column-title {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.p-datatable .p-column-header-content [data-pc-section=sort] {\n flex: 0 0 auto;\n}\n\n@container (max-width: 77px) {\n .p-datatable .p-column-header-content [data-pc-section=sort] {\n display: none;\n }\n}\n.ab-table .tab_label {\n display: inline-block;\n padding: 5px 10px;\n font-size: 14px;\n font-weight: 600;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n border-radius: 5px;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4705882353);\n height: initial;\n}\n.ab-table .tab_label .tab_label-clear {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 14px;\n height: 14px;\n min-height: 0;\n margin-left: 3px;\n margin-right: -3px;\n padding: 0;\n border: none;\n border-radius: 3px;\n background: none;\n color: inherit;\n opacity: 0.55;\n cursor: pointer;\n transition: opacity 0.12s, background-color 0.12s;\n}\n.ab-table .tab_label .tab_label-clear:hover, .ab-table .tab_label .tab_label-clear:focus-visible {\n outline: none;\n opacity: 1;\n background: rgba(0, 0, 0, 0.14);\n}\n\n.ab-table .badge,\n.ab-select-badge {\n padding: 8px 12px;\n border-radius: 5px;\n height: auto;\n margin: 2px;\n font-weight: 400;\n box-shadow: 2px 4px 5px grey;\n white-space: inherit;\n min-width: 90px;\n}\n.ab-table .badge:not(.badge-small),\n.ab-select-badge:not(.badge-small) {\n width: 100%;\n}\n\ntable.ab-table a.table-item-title {\n color: #2563eb;\n font-weight: 500;\n text-decoration: none;\n}\ntable.ab-table a.table-item-title:hover {\n color: #1d4ed8;\n text-decoration: underline;\n text-underline-offset: 2px;\n}\n\n.ab-table .RiskNumber-table div {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.ab-table .RiskNumber-table div span {\n width: 30px;\n height: 30px;\n min-width: 30px;\n min-height: 30px;\n max-width: 30px;\n max-height: 30px;\n border-radius: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.ab-table .RiskLabel-table .etiquetteMatrix-risque {\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n min-height: 26px;\n width: fit-content;\n max-width: 190px;\n display: flex;\n justify-content: flex-start;\n border-radius: 3px;\n background-color: #fff;\n color: black;\n margin: 0;\n padding: 0;\n border: 0;\n}\n.ab-table .RiskLabel-table .etiquetteMatrix-risque .matrix-RisqueLabelColor {\n min-width: 20px;\n max-width: 20px;\n margin-right: 5px;\n border-right: 1px solid rgba(0, 0, 0, 0.3607843137);\n border-radius: 3px 0 0 3px;\n}\n.ab-table .RiskLabel-table .etiquetteMatrix-risque .matrix-RisqueLabel {\n font-size: 13px;\n font-weight: 300;\n padding: 3px 10px 3px 5px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n display: flex;\n align-items: center;\n}\n.ab-table .RiskLabel-table .etiquetteMatrix-risque .matrix-RisqueLabel > p {\n margin: 0;\n display: inline;\n font: inherit;\n}\n\n.ab-table .RiskOwner-table .risk_owner {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: max-content;\n}\n.ab-table .RiskOwner-table .risk_owner a {\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4705882353);\n padding: 5px 10px;\n border-radius: 5px;\n background-color: white;\n opacity: 1;\n margin: 2px;\n position: relative;\n}\n.ab-table .RiskOwner-table .risk_owner a:hover {\n z-index: 9999;\n}\n\n.ab-table .ab-cell-display--html {\n display: block !important;\n}\n\n.ab-table .ab-texte-limite {\n min-width: 0 !important;\n max-width: 100% !important;\n min-height: 0 !important;\n max-height: var(--ab-content-max, none) !important;\n margin: 0;\n overflow: hidden;\n text-align: left;\n white-space: normal;\n overflow-wrap: anywhere;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: var(--ab-html-lines, none);\n line-height: 17px !important;\n font-size: 14px;\n}\n.ab-table .ab-texte-limite p {\n line-height: 17px !important;\n font-size: 14px;\n margin: 0;\n}\n.ab-table .ab-texte-limite p,\n.ab-table .ab-texte-limite div,\n.ab-table .ab-texte-limite ul,\n.ab-table .ab-texte-limite ol,\n.ab-table .ab-texte-limite li,\n.ab-table .ab-texte-limite blockquote,\n.ab-table .ab-texte-limite h1,\n.ab-table .ab-texte-limite h2,\n.ab-table .ab-texte-limite h3,\n.ab-table .ab-texte-limite h4,\n.ab-table .ab-texte-limite h5,\n.ab-table .ab-texte-limite h6 {\n display: inline;\n margin: 0;\n padding: 0;\n font-size: 14px;\n line-height: 17px !important;\n}\n.ab-table .ab-texte-limite h1,\n.ab-table .ab-texte-limite h2,\n.ab-table .ab-texte-limite h3,\n.ab-table .ab-texte-limite h4,\n.ab-table .ab-texte-limite h5,\n.ab-table .ab-texte-limite h6,\n.ab-table .ab-texte-limite strong,\n.ab-table .ab-texte-limite b {\n font-weight: 600;\n}\n.ab-table .ab-texte-limite p::after,\n.ab-table .ab-texte-limite div::after,\n.ab-table .ab-texte-limite blockquote::after,\n.ab-table .ab-texte-limite h1::after,\n.ab-table .ab-texte-limite h2::after,\n.ab-table .ab-texte-limite h3::after,\n.ab-table .ab-texte-limite h4::after,\n.ab-table .ab-texte-limite h5::after,\n.ab-table .ab-texte-limite h6::after {\n content: \" \";\n}\n.ab-table .ab-texte-limite li + li::before {\n content: \" · \";\n color: #6b7280;\n}\n\n.ab-table .action-picto .picto {\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4705882353);\n padding: 5px 10px;\n border-radius: 5px;\n margin: 5px;\n}\n\n.ab-table .RiskClusters-table .RiskClusters {\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n padding: 5px 19px;\n background-color: rgba(255, 255, 255, 0.5098039216);\n border-radius: 5px;\n opacity: 1;\n position: relative;\n margin: 5px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.ab-table .RiskClusters-table .RiskClusters .material-icons {\n text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3137254902);\n}\n\n.ab-table .progress_bar_menu {\n position: relative;\n height: 20px;\n margin: 0;\n}\n\n.ab-table .progress_bar_menu_black {\n width: 100%;\n position: absolute;\n left: 0;\n top: 50%;\n transform: translateY(-50%);\n height: 6px;\n background-color: #b0bec5;\n border-radius: 3px;\n text-align: left;\n}\n\n.ab-table .progress_bar_menu_load {\n border-radius: 3px;\n height: 6px;\n background-color: #136b89;\n}\n\n.ab-table .progress_bar_menu_info {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n z-index: 1;\n padding: 1px 7px;\n border: 1px solid #e0e3e8;\n border-radius: 999px;\n background: #ffffff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n color: #3f535f;\n font-weight: bold;\n font-size: 11px;\n line-height: 1.45;\n white-space: nowrap;\n}\n.ab-table .progress_bar_menu_info a {\n color: inherit;\n text-decoration: none;\n}\n\n.ab-table .div-col {\n width: 100%;\n}\n\n.ab-table .div-col:not(.div-col-select):not(.div-col-select-multiple) {\n max-height: var(--ab-content-max, none);\n overflow: clip;\n overflow-clip-margin: 6px;\n}\n\n.ab-table .ab-cell-scroll {\n max-height: var(--ab-cell-max, none);\n overflow-y: auto;\n}\n\n.ab-table .tab_label {\n max-width: 100%;\n}\n\ntable.ab-table thead th {\n background-color: #e8eaee !important;\n border-right: 1px solid #e0e3e8 !important;\n border-bottom: 1px solid #e0e3e8 !important;\n}\ntable.ab-table thead th:hover {\n background-color: #e8eaee !important;\n}\ntable.ab-table thead th:last-child {\n border-right: 0 !important;\n}\n\ntable.ab-table .p-column-resizer {\n width: 15px;\n cursor: col-resize;\n border: 0;\n height: auto;\n top: 0;\n bottom: -1px;\n}\n\ntable.ab-table thead th:not(.row-actions-cell):not(:has(> .p-column-filter)) {\n overflow: visible;\n padding-left: 0;\n padding-right: 0;\n}\n\ntable.ab-table thead th:nth-child(1) {\n z-index: 839 !important;\n}\n\ntable.ab-table thead th:nth-child(2) {\n z-index: 838 !important;\n}\n\ntable.ab-table thead th:nth-child(3) {\n z-index: 837 !important;\n}\n\ntable.ab-table thead th:nth-child(4) {\n z-index: 836 !important;\n}\n\ntable.ab-table thead th:nth-child(5) {\n z-index: 835 !important;\n}\n\ntable.ab-table thead th:nth-child(6) {\n z-index: 834 !important;\n}\n\ntable.ab-table thead th:nth-child(7) {\n z-index: 833 !important;\n}\n\ntable.ab-table thead th:nth-child(8) {\n z-index: 832 !important;\n}\n\ntable.ab-table thead th:nth-child(9) {\n z-index: 831 !important;\n}\n\ntable.ab-table thead th:nth-child(10) {\n z-index: 830 !important;\n}\n\ntable.ab-table thead th:nth-child(11) {\n z-index: 829 !important;\n}\n\ntable.ab-table thead th:nth-child(12) {\n z-index: 828 !important;\n}\n\ntable.ab-table thead th:nth-child(13) {\n z-index: 827 !important;\n}\n\ntable.ab-table thead th:nth-child(14) {\n z-index: 826 !important;\n}\n\ntable.ab-table thead th:nth-child(15) {\n z-index: 825 !important;\n}\n\ntable.ab-table thead th:nth-child(16) {\n z-index: 824 !important;\n}\n\ntable.ab-table thead th:nth-child(17) {\n z-index: 823 !important;\n}\n\ntable.ab-table thead th:nth-child(18) {\n z-index: 822 !important;\n}\n\ntable.ab-table thead th:nth-child(19) {\n z-index: 821 !important;\n}\n\ntable.ab-table thead th:nth-child(20) {\n z-index: 820 !important;\n}\n\ntable.ab-table thead th:nth-child(21) {\n z-index: 819 !important;\n}\n\ntable.ab-table thead th:nth-child(22) {\n z-index: 818 !important;\n}\n\ntable.ab-table thead th:nth-child(23) {\n z-index: 817 !important;\n}\n\ntable.ab-table thead th:nth-child(24) {\n z-index: 816 !important;\n}\n\ntable.ab-table thead th:nth-child(25) {\n z-index: 815 !important;\n}\n\ntable.ab-table thead th:nth-child(26) {\n z-index: 814 !important;\n}\n\ntable.ab-table thead th:nth-child(27) {\n z-index: 813 !important;\n}\n\ntable.ab-table thead th:nth-child(28) {\n z-index: 812 !important;\n}\n\ntable.ab-table thead th:nth-child(29) {\n z-index: 811 !important;\n}\n\ntable.ab-table thead th:nth-child(30) {\n z-index: 810 !important;\n}\n\ntable.ab-table thead th:nth-child(31) {\n z-index: 809 !important;\n}\n\ntable.ab-table thead th:nth-child(32) {\n z-index: 808 !important;\n}\n\ntable.ab-table thead th:nth-child(33) {\n z-index: 807 !important;\n}\n\ntable.ab-table thead th:nth-child(34) {\n z-index: 806 !important;\n}\n\ntable.ab-table thead th:nth-child(35) {\n z-index: 805 !important;\n}\n\ntable.ab-table thead th:nth-child(36) {\n z-index: 804 !important;\n}\n\ntable.ab-table thead th:nth-child(37) {\n z-index: 803 !important;\n}\n\ntable.ab-table thead th:nth-child(38) {\n z-index: 802 !important;\n}\n\ntable.ab-table thead th:nth-child(39) {\n z-index: 801 !important;\n}\n\ntable.ab-table thead th:nth-child(40) {\n z-index: 800 !important;\n}\n\ntable.ab-table thead th:not(.row-actions-cell) .p-column-resizer::before {\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: -15px;\n background: linear-gradient(to right, transparent calc(50% - 1px), #000 calc(50% - 1px), #000 calc(50% + 1px), transparent calc(50% + 1px));\n opacity: 0;\n transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\ntable.ab-table thead th:not(.row-actions-cell) .p-column-resizer::after {\n content: \"\";\n position: absolute;\n top: 50%;\n right: calc(-16px - 2px * 0.5);\n width: 30px;\n height: 30px;\n transform: translateY(-50%);\n border-radius: 50%;\n background: #000 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='8'%3E%3Cpath d='M5 0v8L0 4z' fill='%23fff'/%3E%3Cpath d='M11 0v8l5-4z' fill='%23fff'/%3E%3C/svg%3E\") center/16px 8px no-repeat;\n opacity: 0;\n transform: translateY(-50%) scale(0.35);\n transition: opacity 240ms cubic-bezier(0.4, 0, 0.2, 1), transform 240ms cubic-bezier(0.34, 1.3, 0.64, 1);\n}\n\ntable.ab-table thead th:not(.row-actions-cell):hover .p-column-resizer::before {\n opacity: 1;\n}\n\ntable.ab-table thead th:not(.row-actions-cell) .p-column-resizer:hover::before {\n opacity: 0;\n}\n\ntable.ab-table thead th:not(.row-actions-cell) .p-column-resizer:hover::after {\n opacity: 1;\n transform: translateY(-50%) scale(1);\n}\n\n.p-datatable.p-component .p-column-resizer-helper {\n width: 2px;\n top: var(--ab-th-top, 0px) !important;\n height: var(--ab-trait-h, calc(100% - var(--ab-th-top, 0px))) !important;\n background: transparent;\n pointer-events: none;\n transition: opacity 300ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.p-datatable.p-component .p-column-resizer-helper::after {\n content: \"\";\n position: absolute;\n inset: 0;\n background: #000;\n transform-origin: center calc(var(--ab-thead-h, 42px) / 2);\n transform: scaleY(1);\n transition: transform 300ms cubic-bezier(0.2, 0.75, 0.2, 1) 70ms, background-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.p-datatable.p-component .p-column-resizer-helper.ab-resizer--masque {\n opacity: 0;\n}\n.p-datatable.p-component .p-column-resizer-helper.ab-resizer--masque::after {\n transform: scaleY(0);\n transition-delay: 0s;\n}\n.p-datatable.p-component .p-column-resizer-helper::before {\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 100%;\n width: 90px;\n pointer-events: none;\n opacity: 0;\n transition: opacity 160ms cubic-bezier(0.4, 0, 0.2, 1);\n background: linear-gradient(to left, color-mix(in srgb, #dc2626 13%, transparent), color-mix(in srgb, #dc2626 5%, transparent) 45%, transparent);\n}\n.p-datatable.p-component .p-column-resizer-helper.ab-resizer--butee::after {\n background: #dc2626;\n}\n.p-datatable.p-component .p-column-resizer-helper.ab-resizer--butee::before {\n opacity: 1;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .p-datatable.p-component .p-column-resizer-helper,\n .p-datatable.p-component .p-column-resizer-helper::before,\n .p-datatable.p-component .p-column-resizer-helper::after,\n table.ab-table thead th .p-column-resizer::before,\n table.ab-table thead th .p-column-resizer::after {\n transition: none;\n }\n table.ab-table thead th .p-column-resizer::after,\n table.ab-table thead th .p-column-resizer:hover::after {\n transform: translateY(-50%) scale(1);\n }\n .p-datatable.p-component .p-column-resizer-helper::after,\n .p-datatable.p-component .p-column-resizer-helper.ab-resizer--masque::after {\n transform: scaleY(1);\n }\n}\n.ab-row-resizer-helper {\n position: absolute;\n height: 1px;\n margin-top: calc(1px * -0.5);\n z-index: 10;\n pointer-events: none;\n transition: opacity 300ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-row-resizer-helper::after {\n content: \"\";\n position: absolute;\n inset: 0;\n background: #000;\n transform-origin: center center;\n transform: scaleX(1);\n transition: transform 300ms cubic-bezier(0.2, 0.75, 0.2, 1) 70ms;\n}\n.ab-row-resizer-helper.ab-resizer--masque {\n opacity: 0;\n}\n.ab-row-resizer-helper.ab-resizer--masque::after {\n transform: scaleX(0);\n transition-delay: 0s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ab-row-resizer-helper,\n .ab-row-resizer-helper::after {\n transition: none;\n }\n .ab-row-resizer-helper.ab-resizer--masque::after {\n transform: scaleX(1);\n }\n}\ntable.ab-table thead th {\n text-align: left;\n cursor: grab;\n}\ntable.ab-table thead th:active {\n cursor: grabbing;\n}\n\ntable.ab-table thead th [data-pc-section=sort] {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border-radius: 5px;\n background: #f4f5f6;\n color: #b0b8c4;\n cursor: pointer;\n transition: background-color 180ms cubic-bezier(0.4, 0, 0.2, 1), color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\ntable.ab-table thead th [data-pc-section=sort]:hover {\n background: #e0e3e8;\n color: #1a1e26;\n}\ntable.ab-table thead th [data-pc-section=sort] .p-sortable-column-icon {\n margin: 0;\n background: none;\n}\n\ntable.ab-table thead th.p-highlight [data-pc-section=sort] {\n background: color-mix(in srgb, #3f3f3f 12%, transparent);\n color: #3f3f3f;\n}\n\n.p-datatable .p-datatable-tbody > tr:has(> td.ab-td--editable):hover > td {\n background-color: #f4f5f6;\n}\n\n.p-datatable .p-datatable-tbody > tr:hover > td.ab-td--editable:hover {\n background-color: color-mix(in srgb, #c8cdd6 55%, #f4f5f6);\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr:has(> td.ab-td--editable):hover > td.p-frozen-column:not(.row-actions-cell) {\n background: #f4f5f6 !important;\n}\n\n.ab-row-actions-menu {\n transform: translateY(-50%);\n}\n\n.ab-table .p-datatable-header {\n background: none;\n border: 0;\n}\n\n.ab-toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n font-family: \"Roboto\", sans-serif;\n}\n\n.ab-toolbar__zone {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.ab-toolbar__rule {\n flex: 0 0 1px;\n width: 1px;\n height: 22px;\n background: #c8cdd6;\n margin: 0 2px;\n}\n\n.ab-toolbar__search {\n display: flex;\n align-items: center;\n gap: 8px;\n background: #f4f5f6;\n border: 1px solid #e0e3e8;\n border-radius: 8px;\n padding: 7px 12px;\n transition: border-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-toolbar__search:hover {\n border-color: #c8cdd6;\n}\n.ab-toolbar__search:focus-within {\n border-color: #3f3f3f;\n}\n.ab-toolbar__search > i {\n color: #6b7280;\n font-size: 12px;\n}\n.ab-toolbar__search > i.pi-times {\n cursor: pointer;\n font-size: 10.5px;\n}\n.ab-toolbar__search input.p-inputtext {\n border: 0;\n background: transparent;\n outline: none;\n box-shadow: none;\n padding: 0;\n height: auto;\n font-size: 12.5px;\n width: 200px;\n}\n\n.ab-tbtn {\n font-weight: 400;\n font-family: \"Roboto\", sans-serif;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n height: 32px;\n padding: 0 9px;\n background: #ffffff;\n color: #1a1e26;\n border: 1px solid #e0e3e8;\n border-radius: 6px;\n font-size: 12.5px;\n cursor: pointer;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1), border-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-tbtn .material-icons {\n font-size: 18px;\n line-height: 1;\n color: #6b7280;\n}\n.ab-tbtn:hover:not(:disabled) {\n border-color: #c8cdd6;\n background: #f4f5f6;\n}\n.ab-tbtn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.ab-picto-menu:disabled {\n opacity: 0.35;\n cursor: default;\n}\n\n.ab-tbtn--icon {\n width: 32px;\n padding: 0;\n}\n\n.ab-tbtn--primary {\n background: #3f3f3f;\n border-color: #3f3f3f;\n color: #ffffff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n}\n.ab-tbtn--primary .material-icons {\n color: #ffffff;\n}\n.ab-tbtn--primary:hover:not(:disabled) {\n background: #1a1e26;\n border-color: #1a1e26;\n}\n\n.ab-tbtn--on {\n background: #e8eaee;\n border-color: #c8cdd6;\n}\n\n.ab-tbtn__chevron {\n font-size: 15px !important;\n margin-left: -2px;\n opacity: 0.7;\n}\n\n.ab-menu__item--danger {\n color: #dc2626;\n}\n.ab-menu__item--danger .material-icons {\n color: #dc2626;\n}\n.ab-menu__item--danger:hover:not(:disabled) {\n background: rgba(220, 38, 38, 0.08);\n}\n\n@keyframes abCountPulse {\n 0% {\n transform: scale(1);\n box-shadow: 0 0 0 0 rgba(63, 63, 63, 0.5);\n }\n 35% {\n transform: scale(1.28);\n box-shadow: 0 0 0 5px rgba(63, 63, 63, 0);\n }\n 100% {\n transform: scale(1);\n box-shadow: 0 0 0 0 rgba(63, 63, 63, 0);\n }\n}\n.ab-tbtn__count--pulse {\n animation: abCountPulse 420ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ab-tbtn__count--pulse {\n animation: none;\n }\n}\n.ab-tbtn__count {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 17px;\n height: 17px;\n padding: 0 4px;\n border-radius: 9px;\n background: #3f3f3f;\n color: #ffffff;\n font-size: 10.5px;\n font-weight: 500;\n}\n\n.ab-toolbar__anchor {\n position: relative;\n display: inline-flex;\n}\n\n.ab-toolbar__pop {\n position: absolute;\n right: 0;\n top: calc(100% + 4px);\n z-index: 1000;\n background: #ffffff;\n border: 1px solid #e0e3e8;\n border-radius: 8px;\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1215686275), 0 2px 6px rgba(0, 0, 0, 0.2392156863);\n overflow: hidden;\n text-align: left;\n}\n\n.ab-menu {\n min-width: 208px;\n padding: 4px;\n display: flex;\n flex-direction: column;\n gap: 1px;\n}\n\n.ab-menu__item {\n font-family: \"Roboto\", sans-serif;\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 10px;\n background: none;\n border: 0;\n border-radius: 5px;\n cursor: pointer;\n font-size: 13px;\n color: #1a1e26;\n text-align: left;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-menu__item .material-icons {\n font-size: 16px;\n line-height: 1;\n color: #6b7280;\n flex: 0 0 16px;\n width: 16px;\n overflow: hidden;\n}\n.ab-menu__item:hover:not(:disabled) {\n background: #f4f5f6;\n}\n.ab-menu__item:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.ab-brain {\n width: 580px;\n font-size: 13px;\n color: #1a1e26;\n}\n\n.ab-brain__corps {\n display: flex;\n align-items: stretch;\n flex: 1 1 auto;\n min-height: 0;\n}\n\n.ab-brain__sec--cols {\n flex: 0 0 288px;\n border-right: 1px solid #e0e3e8;\n border-bottom: 0;\n}\n\n.ab-brain__reglages {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n min-width: 0;\n}\n.ab-brain__reglages .ab-brain__foot {\n margin-top: auto;\n}\n.ab-brain__reglages .ab-brain__sec:last-of-type {\n border-bottom: 0;\n}\n\n.ab-brain__head {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 11px 14px;\n background: #e8eaee;\n border-bottom: 1px solid #e0e3e8;\n font-weight: 500;\n font-size: 12.5px;\n}\n.ab-brain__head .material-icons {\n font-size: 17px;\n color: #6b7280;\n}\n\n.ab-brain__close {\n margin-left: auto;\n display: grid;\n place-items: center;\n width: 22px;\n height: 22px;\n padding: 0;\n border: none;\n border-radius: 4px;\n background: none;\n color: #6b7280;\n cursor: pointer;\n transition: background-color 180ms cubic-bezier(0.4, 0, 0.2, 1), color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-brain__close:hover {\n background: rgba(63, 63, 63, 0.08);\n color: #1a1e26;\n}\n.ab-brain__close:focus-visible {\n outline: 2px solid #3f3f3f;\n outline-offset: 1px;\n}\n.ab-brain__close .material-icons {\n font-size: 16px;\n color: inherit;\n}\n\n.ab-brain__sec {\n border-bottom: 1px solid #e0e3e8;\n padding: 12px 14px;\n}\n.ab-brain__sec:last-child {\n border-bottom: 0;\n}\n\n.ab-brain__sec-head {\n display: flex;\n align-items: baseline;\n gap: 10px;\n margin-bottom: 10px;\n}\n.ab-brain__sec-head .ab-brain__title {\n margin-bottom: 0;\n}\n\n.ab-brain__reinit {\n margin-left: auto;\n display: inline-flex;\n align-items: center;\n gap: 3px;\n padding: 2px 4px;\n border: 0;\n border-radius: 4px;\n background: none;\n cursor: pointer;\n font-family: \"Roboto\", sans-serif;\n font-size: 10.5px;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: #6b7280;\n white-space: nowrap;\n transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1), background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-brain__reinit .material-icons {\n font-size: 13px;\n}\n.ab-brain__reinit:hover {\n color: #dc2626;\n background: rgba(220, 38, 38, 0.08);\n}\n\n.ab-brain__title {\n font-size: 10.5px;\n font-weight: 500;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n color: #6b7280;\n margin-bottom: 10px;\n}\n\n.ab-brain__cols {\n max-height: 216px;\n overflow-y: auto;\n margin: 0 -4px;\n}\n.ab-brain__cols::-webkit-scrollbar {\n width: 8px;\n}\n.ab-brain__cols::-webkit-scrollbar-thumb {\n background: #c8cdd6;\n border-radius: 4px;\n}\n\n.ab-col-row {\n display: flex;\n align-items: center;\n gap: 9px;\n width: 100%;\n padding: 6px 8px;\n border: 0;\n border-radius: 5px;\n background: none;\n cursor: pointer;\n font-family: \"Roboto\", sans-serif;\n font-size: 13px;\n color: #1a1e26;\n text-align: left;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-col-row:hover {\n background: #f4f5f6;\n}\n.ab-col-row .ab-col-row__name {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ab-col-row:not(.is-on) .ab-col-row__name {\n color: #6b7280;\n}\n\n.ab-col-row__tick {\n flex: 0 0 15px;\n width: 15px;\n height: 15px;\n border: 1.5px solid #c8cdd6;\n border-radius: 3px;\n display: grid;\n place-items: center;\n}\n.ab-col-row__tick .material-icons {\n font-size: 13px;\n color: #ffffff;\n visibility: hidden;\n}\n.is-on .ab-col-row__tick {\n background: #3f3f3f;\n border-color: #3f3f3f;\n}\n.is-on .ab-col-row__tick .material-icons {\n visibility: visible;\n}\n\n.ab-seg {\n display: flex;\n background: #f4f5f6;\n border: 1px solid #e0e3e8;\n border-radius: 7px;\n padding: 2px;\n gap: 2px;\n}\n\n.ab-seg__opt {\n flex: 1;\n font-family: \"Roboto\", sans-serif;\n font-size: 11.5px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 5px 4px;\n border: 0;\n border-radius: 5px;\n background: transparent;\n color: #6b7280;\n cursor: pointer;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1), color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-seg__opt[aria-pressed=true] {\n background: #ffffff;\n color: #1a1e26;\n font-weight: 500;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n}\n\n.ab-switch-row {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 6px 0;\n border: 0;\n background: none;\n cursor: pointer;\n font-family: \"Roboto\", sans-serif;\n font-size: 13px;\n color: #1a1e26;\n text-align: left;\n}\n.ab-switch-row .ab-switch-row__label {\n flex: 1;\n}\n\n.ab-switch {\n position: relative;\n flex: 0 0 32px;\n width: 32px;\n height: 18px;\n border-radius: 9px;\n background: #c8cdd6;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-switch::after {\n content: \"\";\n position: absolute;\n top: 2px;\n left: 2px;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n background: #ffffff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.is-on .ab-switch {\n background: #3f3f3f;\n}\n.is-on .ab-switch::after {\n transform: translateX(14px);\n}\n\n.ab-brain__foot {\n padding: 10px 14px 12px;\n background: #f4f5f6;\n border-top: 1px solid #e0e3e8;\n}\n\n.ab-brain__reset {\n font-family: \"Roboto\", sans-serif;\n display: flex;\n align-items: center;\n gap: 7px;\n width: 100%;\n padding: 5px 0;\n background: none;\n border: 0;\n cursor: pointer;\n font-size: 12px;\n color: #dc2626;\n text-align: left;\n}\n.ab-brain__reset .material-icons {\n font-size: 15px;\n}\n.ab-brain__reset:hover {\n text-decoration: underline;\n}\n\n.ab-brain__reset--minor {\n color: #6b7280;\n font-size: 11.5px;\n padding: 3px 0 3px 22px;\n}\n\n.ab-brain__persist {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-top: 8px;\n padding-top: 8px;\n border-top: 1px solid #e0e3e8;\n font-size: 11px;\n color: #6b7280;\n}\n.ab-brain__persist .material-icons {\n font-size: 13px;\n}\n\n.ab-brain {\n max-height: min(72vh, 660px);\n display: flex;\n flex-direction: column;\n}\n\n.ab-brain__sec--cols {\n display: flex;\n flex-direction: column;\n min-width: 0;\n min-height: 0;\n}\n\n.ab-brain__cols {\n max-height: none;\n flex: 1 1 auto;\n min-height: 120px;\n}\n\n.ab-brain__title-note {\n display: inline-flex;\n align-items: center;\n gap: 2px;\n margin-left: 8px;\n letter-spacing: 0;\n color: #3f3f3f;\n}\n.ab-brain__title-note .material-icons {\n font-size: 13px;\n}\n\n.ab-brain__search {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-bottom: 8px;\n padding: 5px 8px;\n background: #f4f5f6;\n border: 1px solid #e0e3e8;\n border-radius: 6px;\n transition: border-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-brain__search:focus-within {\n border-color: #3f3f3f;\n}\n.ab-brain__search > .material-icons {\n font-size: 15px;\n color: #6b7280;\n}\n.ab-brain__search input {\n flex: 1;\n min-width: 0;\n border: 0;\n background: transparent;\n outline: none;\n font-family: \"Roboto\", sans-serif;\n font-size: 12.5px;\n color: #1a1e26;\n}\n.ab-brain__search input::placeholder {\n color: #b0b8c4;\n}\n\n.ab-brain__cols-legende {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 9px 5px 4px;\n border-bottom: 1px solid #e0e3e8;\n margin-bottom: 4px;\n font-size: 9.5px;\n font-weight: 500;\n letter-spacing: 0.08em;\n text-transform: uppercase;\n color: #6b7280;\n}\n\n.ab-brain__cols-legende__gauche {\n display: flex;\n align-items: center;\n gap: 7px;\n}\n\n.ab-brain__search-clear {\n display: inline-flex;\n padding: 0;\n border: 0;\n background: none;\n cursor: pointer;\n color: #6b7280;\n}\n.ab-brain__search-clear .material-icons {\n font-size: 14px;\n}\n.ab-brain__search-clear:hover {\n color: #1a1e26;\n}\n\n.ab-brain__vide {\n padding: 14px 8px;\n font-size: 12px;\n color: #6b7280;\n text-align: center;\n}\n\n.ab-col-row {\n padding: 0;\n background: none;\n}\n.ab-col-row:hover {\n background: #f4f5f6;\n}\n\n.ab-col-row__main {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: center;\n gap: 9px;\n padding: 6px 4px 6px 8px;\n border: 0;\n background: none;\n cursor: pointer;\n font-family: \"Roboto\", sans-serif;\n font-size: 13px;\n color: inherit;\n text-align: left;\n}\n\n.ab-col-row__pin {\n flex: 0 0 auto;\n display: inline-flex;\n align-items: center;\n padding: 5px 7px;\n border: 0;\n border-radius: 5px;\n background: none;\n cursor: pointer;\n color: #6b7280;\n transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1), background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-col-row__pin .material-icons {\n font-size: 16px;\n}\n.ab-col-row__pin:hover:not(:disabled) {\n color: #1a1e26;\n background: #e8eaee;\n}\n.ab-col-row__pin:disabled {\n opacity: 0.35;\n cursor: not-allowed;\n}\n\n.ab-col-row.is-pinned .ab-col-row__pin {\n color: #3f3f3f;\n}\n.ab-col-row.is-pinned .ab-col-row__pin .material-icons {\n transform: rotate(45deg);\n}\n\n.ab-th {\n display: flex;\n align-items: center;\n gap: 2px;\n width: 100%;\n min-width: 0;\n}\n\n.ab-th__label {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ab-th__btn,\n.ab-picto-menu {\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n padding: 0;\n border: 0;\n border-radius: 4px;\n background: none;\n cursor: pointer;\n color: #6b7280;\n transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1), background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-th__btn .material-icons,\n.ab-picto-menu .material-icons {\n font-size: 15px;\n}\n.ab-th__btn:hover,\n.ab-picto-menu:hover {\n color: #1a1e26;\n background: #ffffff;\n}\n\n@container (max-width: 77px) {\n .p-column-title {\n margin-left: -10px;\n margin-right: -10px;\n }\n .ab-th__btn {\n width: 18px;\n height: 18px;\n }\n .ab-th__btn .material-icons {\n font-size: 14px;\n }\n}\n.ab-menu__item.is-actif {\n background: rgba(63, 63, 63, 0.08);\n color: #1a1e26;\n font-weight: 500;\n}\n.ab-menu__item.is-actif .material-icons {\n color: #1a1e26;\n}\n.ab-menu__item.is-actif:hover {\n background: rgba(63, 63, 63, 0.14);\n}\n\n.ab-menu__item--gele .material-icons {\n transform: rotate(45deg);\n}\n\n.ab-menu__filet {\n height: 1px;\n margin: 3px 6px;\n background: #e0e3e8;\n}\n\ntable.ab-table thead th .p-column-header-content > [data-pc-section=sort] {\n display: none;\n}\n\n.ab-col-menu {\n right: auto;\n top: auto;\n z-index: 1200;\n}\n\n.ab-align--left .ab-table td {\n text-align: left;\n}\n.ab-align--left .ab-table td .div-col,\n.ab-align--left .ab-table td .div-col > * {\n justify-content: flex-start;\n}\n.ab-align--left .ab-th__label {\n text-align: left;\n}\n\n.ab-align--center .ab-table td {\n text-align: center;\n}\n.ab-align--center .ab-table td .div-col,\n.ab-align--center .ab-table td .div-col > * {\n justify-content: safe center;\n}\n.ab-align--center .ab-table td .div-col-select .p-dropdown-label,\n.ab-align--center .ab-table td .div-col-select-multiple .p-multiselect-label {\n justify-content: safe center;\n}\n.ab-align--center .ab-table td .div-col-select > div:not(.select-editor),\n.ab-align--center .ab-table td .div-col-select .p-dropdown-label {\n padding-left: 20px;\n padding-right: 20px;\n}\n.ab-align--center .ab-table td .div-col .ab-texte-limite,\n.ab-align--center .ab-table td .div-col .cell-text,\n.ab-align--center .ab-table td .div-col .tab_label,\n.ab-align--center .ab-table td .div-col p,\n.ab-align--center .ab-table td .div-col ul,\n.ab-align--center .ab-table td .div-col li {\n text-align: left;\n}\n.ab-align--center .ab-th__label {\n text-align: center;\n}\n.ab-align--center .ab-table td.row-actions-cell {\n text-align: center;\n}\n\n.ab-checkbox {\n width: 16px;\n height: 16px;\n min-width: 16px;\n min-height: 16px;\n border: 1.5px solid #e0e3e8;\n border-radius: 3px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: #ffffff;\n color: #ffffff;\n font-size: 10px;\n cursor: pointer;\n transition: all 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-checkbox.checked, .ab-checkbox.p-highlight {\n background-color: #3f3f3f;\n border-color: #3f3f3f;\n}\n.ab-checkbox.partial {\n background: linear-gradient(to top right, #3f3f3f 50%, transparent 50%);\n border-color: #3f3f3f;\n}\n.ab-checkbox {\n margin: auto;\n padding: 0;\n}\n.ab-checkbox .material-icons {\n font-size: 12px;\n line-height: 1;\n color: #ffffff;\n}\n.ab-checkbox:hover:not(.checked):not(.partial) {\n border-color: #c8cdd6;\n}\n\n.ab-menu__titre {\n padding: 7px 10px 4px;\n font-size: 10px;\n font-weight: 500;\n letter-spacing: 0.09em;\n text-transform: uppercase;\n color: #6b7280;\n}\n\n/* ═══════════════════════════════════════════════════════════════════════════\n LIGNE DE FILTRES — une seule épaisseur\n ═══════════════════════════════════════════════════════════════════════════\n Mesuré le 08/09/2026 sur la story `columnFilter` : la rangée alignait DEUX\n hauteurs de champ (40px et 45,5px), DEUX bordures (1px et 1,5px) et DEUX\n rayons (6px et 7px) — et un troisième format, 25,5px, dès qu'une colonne\n `index` était présente.\n\n La cause n'est pas un réglage oublié, c'est une origine différente pour\n chaque champ : les selects et le calendrier passent par le design system,\n donc par `@include field` (40px, bordure 1,5px, rayon 7px), alors que les\n champs texte sont des `InputText` NUS — ils prennent le `padding: 12px` du\n thème PrimeReact, d'où leurs 45,5px. Tous passent désormais par le même\n gabarit, et la hauteur est posée explicitement pour qu'aucune ne dérive.\n ═══════════════════════════════════════════════════════════════════════════ */\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label) {\n font-family: \"Roboto\", sans-serif;\n min-height: 40px;\n padding: 0 12px;\n background: #ffffff;\n border: 1.5px solid #e0e3e8;\n border-radius: 7px;\n color: #1a1e26;\n outline: none;\n transition: border-color 180ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label):hover:not(:focus):not(:focus-within):not([disabled]):not(.is-disabled) {\n border-color: #c8cdd6;\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label):focus, table.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label):focus-within, table.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-open {\n border-color: #3f3f3f;\n box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label)[disabled], table.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-disabled {\n opacity: 0.45;\n cursor: not-allowed;\n pointer-events: none;\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label)[readonly], table.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-readonly {\n background: #f4f5f6;\n cursor: default;\n box-shadow: none;\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label)[readonly]:hover, table.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-readonly:hover {\n border-color: #e0e3e8;\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-error {\n border-color: #dc2626;\n box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-success {\n border-color: #15803d;\n box-shadow: 0 0 0 3px rgba(21, 128, 61, 0.12);\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label) {\n height: 40px;\n font-size: 14px;\n width: 100%;\n min-width: 0;\n}\ntable.ab-table thead th.p-filter-column .p-dropdown,\ntable.ab-table thead th.p-filter-column .p-calendar {\n width: 100%;\n min-width: 0;\n font-size: 14px;\n}\ntable.ab-table thead th.p-filter-column .p-calendar > .p-inputtext {\n height: 40px !important;\n width: 100% !important;\n min-width: 0 !important;\n padding: 0 12px !important;\n border-width: 1.5px !important;\n border-radius: 7px !important;\n}\ntable.ab-table thead th.p-filter-column .p-calendar > .p-inputtext:not(.p-invalid) {\n border-color: #e0e3e8 !important;\n}\ntable.ab-table thead th.p-filter-column .p-inputtext.ab-filtre-compact {\n padding-left: 4px;\n padding-right: 4px;\n}\ntable.ab-table thead th.p-filter-column .p-column-filter-clear-button {\n width: 32px;\n height: 32px;\n color: #6b7280;\n transition: opacity 0.2s ease, color 0.2s ease, background-color 0.2s ease;\n}\ntable.ab-table thead th.p-filter-column .p-column-filter-clear-button.p-hidden-space {\n visibility: visible;\n opacity: 0.38;\n}\ntable.ab-table thead th.p-filter-column .p-column-filter-clear-button:hover {\n opacity: 1;\n color: #1a1e26;\n background: rgba(26, 30, 38, 0.06);\n}\n\ntable.ab-table thead th.ab-th--editable:not(.p-frozen-column) {\n background-color: color-mix(in srgb, #c8cdd6 70%, #e8eaee) !important;\n}\ntable.ab-table thead th.ab-th--editable:not(.p-frozen-column):hover {\n background-color: color-mix(in srgb, #c8cdd6 70%, #e8eaee) !important;\n}\n\ntable.ab-table thead th.ab-th--editable .ab-th__label::before,\ntable.ab-table thead th.ab-th--lecture .ab-th__label::before {\n font-family: \"Material Icons\";\n font-weight: 400;\n font-style: normal;\n font-size: 15px;\n line-height: 1;\n font-feature-settings: \"liga\";\n -webkit-font-feature-settings: \"liga\";\n text-transform: none;\n letter-spacing: normal;\n vertical-align: -3px;\n margin-right: 5px;\n flex: none;\n}\n\ntable.ab-table thead th.ab-th--editable .ab-th__label::before {\n content: \"edit\"/\"\";\n color: #1a1e26;\n}\n\ntable.ab-table thead th.ab-th--lecture .ab-th__label::before {\n content: \"lock\"/\"\";\n color: #6b7280;\n}\n\ntd.ab-td--editable:not(.p-frozen-column) {\n position: relative;\n}\n\ntd.ab-td--editable::after {\n content: \"\";\n position: absolute;\n right: 3px;\n bottom: 3px;\n width: 0;\n height: 0;\n border-left: 5px solid transparent;\n border-bottom: 5px solid #c8cdd6;\n pointer-events: none;\n}\n\ntd.ab-td--editable {\n cursor: pointer;\n}\n\ntr[style*=row-resize] > td {\n cursor: row-resize;\n}\n\ntable.ab-table thead tr th:has(> .p-column-filter) {\n background-color: #ffffff !important;\n}\n\ntable.ab-table:has(td.ab-td--editable) tbody td:not(.ab-td--editable):not(.row-actions-cell) {\n background-image: linear-gradient(135deg, rgba(200, 205, 214, 0.45) 0 12.5%, transparent 12.5% 50%, rgba(200, 205, 214, 0.45) 50% 62.5%, transparent 62.5% 100%);\n background-size: 8px 8px;\n background-origin: border-box;\n}\n\n.div-col {\n width: 100%;\n}";
48208
+ var css_248z$3 = "@charset \"UTF-8\";\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: scale(0.85);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n@keyframes toastSlideIn {\n from {\n opacity: 0;\n transform: translateX(40px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n@keyframes toastIconPop {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 60% {\n transform: scale(1.2);\n opacity: 1;\n }\n 100% {\n transform: scale(1);\n }\n}\n@keyframes toastTextSlide {\n from {\n opacity: 0;\n transform: translateY(6px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n.p-paginator {\n font-size: 14px;\n}\n.p-paginator .p-paginator-first,\n.p-paginator .p-paginator-prev,\n.p-paginator .p-paginator-next,\n.p-paginator .p-paginator-last,\n.p-paginator .p-paginator-pages .p-paginator-page,\n.p-paginator .p-paginator-current,\n.p-paginator .p-dropdown .p-dropdown-label,\n.p-paginator .p-dropdown-item,\n.p-paginator .p-paginator-page-input .p-inputtext {\n font-size: 14px;\n}\n\n.p-datatable .p-datatable-tbody > tr.air-row--selected > td {\n background-color: #f0fdf8 !important;\n}\n\n.p-datatable .p-datatable-tbody > tr > td.ab-col--readonly {\n background-color: #f4f4f5;\n cursor: not-allowed;\n}\n.p-datatable .p-datatable-tbody > tr > td.ab-col--readonly a,\n.p-datatable .p-datatable-tbody > tr > td.ab-col--readonly button,\n.p-datatable .p-datatable-tbody > tr > td.ab-col--readonly [role=button] {\n cursor: pointer;\n}\n\n.ab-col-header--readonly .material-icons {\n display: inline-block;\n vertical-align: middle;\n margin-left: 4px;\n font-size: 13px;\n line-height: 1;\n color: #a1a1aa;\n width: 13px;\n overflow: hidden;\n}\n\ntable.ab-table {\n background-color: #ffffff;\n font-family: \"Roboto\", sans-serif;\n table-layout: fixed;\n}\ntable.ab-table thead {\n border: 1px solid #e0e3e8;\n}\ntable.ab-table thead th {\n position: sticky;\n top: 0;\n z-index: 800;\n background-color: #e8eaee;\n border-bottom: 1px solid #e0e3e8;\n padding-top: 10px;\n padding-bottom: 10px;\n font-size: 14px;\n}\ntable.ab-table tbody tr {\n background-color: transparent;\n}\n\n.ab-table td {\n overflow: hidden;\n padding-top: 8px;\n padding-bottom: 8px;\n text-align: left;\n border-right: 1px solid #e8eaee;\n border-bottom: 1px solid #e8eaee;\n}\n\n.ab-table .cell-text {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr > td.p-frozen-column {\n z-index: 1;\n background: #fff !important;\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr:has(> td.ab-td--editable):hover > td.p-frozen-column {\n background: #f4f5f6 !important;\n}\n\ntable.ab-table thead th.p-frozen-column:not(.row-actions-cell) {\n background: #fff !important;\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr > td.p-frozen-column.row-actions-cell,\n.p-datatable-scrollable .p-datatable-tbody > tr.p-row-odd > td.p-frozen-column.row-actions-cell {\n background: #ffffff !important;\n box-shadow: none !important;\n padding: 0 !important;\n border-right: 1px solid #e8eaee !important;\n}\n\n.p-datatable .p-datatable-thead > tr > th.row-actions-cell {\n background: #e8eaee !important;\n border: none !important;\n border-right: 1px solid #e0e3e8 !important;\n box-shadow: none !important;\n padding: 0 !important;\n}\n\ntable.ab-table td input.p-inputtext {\n box-sizing: border-box;\n min-height: 26px;\n padding: 0 8px;\n border: 1px solid #e0e3e8;\n border-radius: 3px;\n background: #ffffff;\n box-shadow: none;\n font-family: inherit;\n font-size: 13px;\n font-weight: 300;\n}\ntable.ab-table td input.p-inputtext:enabled:hover {\n border-color: #c8cdd6;\n}\ntable.ab-table td input.p-inputtext:enabled:focus {\n border-color: #3f3f3f;\n box-shadow: none;\n outline: none;\n}\n\n.ab-table .p-cell-editing input,\n.ab-table .p-cell-editing .p-inputtext,\n.ab-table .p-cell-editing .p-dropdown,\n.ab-table .p-cell-editing .p-multiselect,\n.ab-table .p-cell-editing .p-calendar {\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n}\n\n.ab-table .cell-devise {\n display: flex;\n flex-direction: column;\n gap: 1.4px;\n font-size: 12.25px;\n}\n.ab-table .cell-devise--editable {\n cursor: pointer;\n}\n.ab-table .cell-devise--empty {\n display: block;\n width: 100%;\n height: 21px;\n cursor: pointer;\n}\n.ab-table .cell-devise .span-sub {\n font-size: 10.5px;\n color: #71717a;\n}\n\n.ab-table .devise-editor {\n display: flex;\n flex-direction: column;\n gap: 5.6px;\n padding: 3.5px 0;\n}\n.ab-table .devise-editor-fields {\n display: flex;\n flex-direction: column;\n gap: 5.6px;\n width: 100%;\n position: relative;\n}\n.ab-table .devise-editor-fields .p-dropdown-panel {\n position: absolute;\n z-index: 1000;\n top: 100%;\n left: 0;\n width: 100%;\n}\n.ab-table .devise-editor-save {\n align-self: flex-end;\n}\n\n.ab-table .p-cell-editing .devise-editor-fields input,\n.ab-table .p-cell-editing .devise-editor-fields .p-inputtext,\n.ab-table .p-cell-editing .devise-editor-fields .p-dropdown {\n width: 100%;\n min-width: 0;\n}\n\n.ab-table .select-editor .p-dropdown-label > div {\n min-width: 0;\n}\n.ab-table .select-editor .dd-color-badge.is-selected {\n display: inline-block;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ab-table .select-editor .p-multiselect .p-multiselect-label-container {\n margin-right: 1.75rem;\n}\n\n.ab-table .div-col-select .ab-color-badge.is-selected,\n.ab-table .div-col-select-multiple .ab-color-badge.is-selected {\n animation: none;\n}\n.ab-table .div-col-select .ab-chips-lecture,\n.ab-table .div-col-select .p-multiselect .p-multiselect-label,\n.ab-table .div-col-select .p-dropdown .p-dropdown-label,\n.ab-table .div-col-select-multiple .ab-chips-lecture,\n.ab-table .div-col-select-multiple .p-multiselect .p-multiselect-label,\n.ab-table .div-col-select-multiple .p-dropdown .p-dropdown-label {\n overflow: clip visible !important;\n}\n.ab-table .div-col-select > div:not(.select-editor),\n.ab-table .div-col-select-multiple > div:not(.select-editor) {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n min-height: 40px !important;\n padding: 0 20px 0 12px;\n border: 1.5px solid transparent;\n}\n.ab-table .div-col-select > div:not(.select-editor):focus-visible,\n.ab-table .div-col-select-multiple > div:not(.select-editor):focus-visible {\n outline: 2px solid #3f3f3f;\n outline-offset: -2px;\n}\n.ab-table .div-col-select > div:not(.select-editor) > *,\n.ab-table .div-col-select-multiple > div:not(.select-editor) > * {\n min-width: 0;\n max-width: 100%;\n}\n.ab-table .div-col-select .p-dropdown-trigger,\n.ab-table .div-col-select .p-multiselect-trigger,\n.ab-table .div-col-select-multiple .p-dropdown-trigger,\n.ab-table .div-col-select-multiple .p-multiselect-trigger {\n display: none;\n}\n.ab-table .div-col-select [data-pc-section=clearicon],\n.ab-table .div-col-select-multiple [data-pc-section=clearicon] {\n right: 12px;\n opacity: 0;\n transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-table .div-col-select .ab-chips-lecture,\n.ab-table .div-col-select-multiple .ab-chips-lecture {\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n gap: 6px;\n width: 100%;\n min-width: 0;\n overflow: hidden;\n white-space: nowrap;\n}\n.ab-table .div-col-select .ab-chip-lecture,\n.ab-table .div-col-select-multiple .ab-chip-lecture {\n padding: 4px 4px 4px 8px;\n gap: 2px;\n margin: 0;\n flex: 0 1 auto;\n width: max-content;\n min-width: 0;\n}\n.ab-table .div-col-select .ab-chip-lecture .p-multiselect-token-icon,\n.ab-table .div-col-select-multiple .ab-chip-lecture .p-multiselect-token-icon {\n width: 14px;\n height: 14px;\n flex-shrink: 0;\n}\n.ab-table .div-col-select .p-multiselect .p-multiselect-label-container,\n.ab-table .div-col-select-multiple .p-multiselect .p-multiselect-label-container {\n margin-right: 34px;\n}\n.ab-table .div-col-select .dropdown-container .p-dropdown,\n.ab-table .div-col-select .multiselect-container .p-multiselect,\n.ab-table .div-col-select-multiple .dropdown-container .p-dropdown,\n.ab-table .div-col-select-multiple .multiselect-container .p-multiselect {\n border-color: transparent;\n transition: border-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-table .div-col-select .p-dropdown.p-focus,\n.ab-table .div-col-select .p-multiselect.p-focus,\n.ab-table .div-col-select-multiple .p-dropdown.p-focus,\n.ab-table .div-col-select-multiple .p-multiselect.p-focus {\n border-color: #3f3f3f;\n}\n.ab-table .div-col-select .p-dropdown.p-focus [data-pc-section=clearicon],\n.ab-table .div-col-select .p-multiselect.p-focus [data-pc-section=clearicon],\n.ab-table .div-col-select-multiple .p-dropdown.p-focus [data-pc-section=clearicon],\n.ab-table .div-col-select-multiple .p-multiselect.p-focus [data-pc-section=clearicon] {\n opacity: 1;\n}\n\n.ab-table .div-col-select-multiple > div:not(.select-editor) {\n padding-right: 46px;\n}\n\n.p-datatable .p-datatable-tbody > tr > td:hover .div-col-select .dropdown-container .p-dropdown,\n.p-datatable .p-datatable-tbody > tr > td:hover .div-col-select-multiple .multiselect-container .p-multiselect {\n border-color: #c8cdd6;\n}\n.p-datatable .p-datatable-tbody > tr > td:hover .div-col-select [data-pc-section=clearicon],\n.p-datatable .p-datatable-tbody > tr > td:hover .div-col-select-multiple [data-pc-section=clearicon] {\n opacity: 1;\n}\n\n.ab-table .doc-cell-empty {\n color: #aaa;\n font-size: 11.9px;\n}\n\n.ab-table .doc-cell {\n display: flex;\n flex-direction: column;\n gap: 3.5px;\n min-width: 0;\n overflow: hidden;\n}\n.ab-table .doc-cell-summary {\n display: flex;\n align-items: center;\n gap: 4.9px;\n font-size: 12.25px;\n min-width: 0;\n}\n.ab-table .doc-cell-summary .pi-paperclip {\n color: #71717a;\n font-size: 11.2px;\n flex-shrink: 0;\n}\n.ab-table .doc-cell-summary span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n}\n.ab-table .doc-cell-list {\n display: flex;\n flex-direction: column;\n gap: 2.1px;\n padding-left: 15.4px;\n font-size: 11.2px;\n}\n.ab-table .doc-cell-list div {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ab-table .doc-cell-list a {\n color: #3b82f6;\n text-decoration: none;\n}\n.ab-table .doc-cell-list a:hover {\n text-decoration: underline;\n}\n\n.ab-table .doc-editor {\n display: flex;\n flex-direction: column;\n gap: 5.6px;\n padding: 3.5px 0;\n}\n.ab-table .doc-editor-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 11.2px;\n}\n.ab-table .doc-editor-table td {\n padding: 2.8px 4.9px;\n vertical-align: middle;\n}\n.ab-table .doc-editor-table td a {\n color: #3b82f6;\n text-decoration: none;\n word-break: break-all;\n}\n.ab-table .doc-editor-table td a:hover {\n text-decoration: underline;\n}\n.ab-table .doc-editor-table td:last-child {\n width: 28px;\n text-align: center;\n}\n.ab-table .doc-editor-add {\n display: inline-flex;\n align-items: center;\n gap: 4.2px;\n cursor: pointer;\n align-self: center;\n}\n\n.ab-table .ab-titre-box {\n overflow: hidden;\n min-width: 0;\n}\n\n.ab-table .table-item-title {\n display: -webkit-box !important;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: var(--ab-title-lines, 1);\n line-height: 16px;\n min-width: 0 !important;\n white-space: normal;\n overflow-wrap: anywhere;\n overflow: hidden;\n max-height: var(--ab-content-max, none);\n}\n\n.p-datatable .p-column-header-content {\n justify-content: space-between;\n gap: 8px;\n width: 100%;\n min-width: 0;\n padding: 0 1rem;\n overflow: hidden;\n container-type: inline-size;\n}\n\n.p-datatable .p-column-header-content .p-column-title {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.p-datatable .p-column-header-content [data-pc-section=sort] {\n flex: 0 0 auto;\n}\n\n@container (max-width: 77px) {\n .p-datatable .p-column-header-content [data-pc-section=sort] {\n display: none;\n }\n}\n.ab-table .tab_label {\n display: inline-block;\n padding: 5px 10px;\n font-size: 14px;\n font-weight: 600;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n border-radius: 5px;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4705882353);\n height: initial;\n}\n.ab-table .tab_label .tab_label-clear {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 14px;\n height: 14px;\n min-height: 0;\n margin-left: 3px;\n margin-right: -3px;\n padding: 0;\n border: none;\n border-radius: 3px;\n background: none;\n color: inherit;\n opacity: 0.55;\n cursor: pointer;\n transition: opacity 0.12s, background-color 0.12s;\n}\n.ab-table .tab_label .tab_label-clear:hover, .ab-table .tab_label .tab_label-clear:focus-visible {\n outline: none;\n opacity: 1;\n background: rgba(0, 0, 0, 0.14);\n}\n\n.ab-table .badge,\n.ab-select-badge {\n padding: 8px 12px;\n border-radius: 5px;\n height: auto;\n margin: 2px;\n font-weight: 400;\n box-shadow: 2px 4px 5px grey;\n white-space: inherit;\n min-width: 90px;\n}\n.ab-table .badge:not(.badge-small),\n.ab-select-badge:not(.badge-small) {\n width: 100%;\n}\n\ntable.ab-table a.table-item-title {\n color: #2563eb;\n font-weight: 500;\n text-decoration: none;\n}\ntable.ab-table a.table-item-title:hover {\n color: #1d4ed8;\n text-decoration: underline;\n text-underline-offset: 2px;\n}\n\n.ab-table .RiskNumber-table div {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.ab-table .RiskNumber-table div span {\n width: 30px;\n height: 30px;\n min-width: 30px;\n min-height: 30px;\n max-width: 30px;\n max-height: 30px;\n border-radius: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.ab-table .RiskLabel-table .etiquetteMatrix-risque {\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n min-height: 26px;\n width: fit-content;\n max-width: 190px;\n display: flex;\n justify-content: flex-start;\n border-radius: 3px;\n background-color: #fff;\n color: black;\n margin: 0;\n padding: 0;\n border: 0;\n}\n.ab-table .RiskLabel-table .etiquetteMatrix-risque .matrix-RisqueLabelColor {\n min-width: 20px;\n max-width: 20px;\n margin-right: 5px;\n border-right: 1px solid rgba(0, 0, 0, 0.3607843137);\n border-radius: 3px 0 0 3px;\n}\n.ab-table .RiskLabel-table .etiquetteMatrix-risque .matrix-RisqueLabel {\n font-size: 13px;\n font-weight: 300;\n padding: 3px 10px 3px 5px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n display: flex;\n align-items: center;\n}\n.ab-table .RiskLabel-table .etiquetteMatrix-risque .matrix-RisqueLabel > p {\n margin: 0;\n display: inline;\n font: inherit;\n}\n\n.ab-table .RiskOwner-table .risk_owner {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: max-content;\n}\n.ab-table .RiskOwner-table .risk_owner a {\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4705882353);\n padding: 5px 10px;\n border-radius: 5px;\n background-color: white;\n opacity: 1;\n margin: 2px;\n position: relative;\n}\n.ab-table .RiskOwner-table .risk_owner a:hover {\n z-index: 9999;\n}\n\n.ab-table .ab-cell-display--html {\n display: block !important;\n}\n\n.ab-table .ab-texte-limite {\n min-width: 0 !important;\n max-width: 100% !important;\n min-height: 0 !important;\n max-height: var(--ab-content-max, none) !important;\n margin: 0;\n overflow: hidden;\n text-align: left;\n white-space: normal;\n overflow-wrap: anywhere;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: var(--ab-html-lines, none);\n line-height: 17px !important;\n font-size: 14px;\n}\n.ab-table .ab-texte-limite p {\n line-height: 17px !important;\n font-size: 14px;\n margin: 0;\n}\n.ab-table .ab-texte-limite p,\n.ab-table .ab-texte-limite div,\n.ab-table .ab-texte-limite ul,\n.ab-table .ab-texte-limite ol,\n.ab-table .ab-texte-limite li,\n.ab-table .ab-texte-limite blockquote,\n.ab-table .ab-texte-limite h1,\n.ab-table .ab-texte-limite h2,\n.ab-table .ab-texte-limite h3,\n.ab-table .ab-texte-limite h4,\n.ab-table .ab-texte-limite h5,\n.ab-table .ab-texte-limite h6 {\n display: inline;\n margin: 0;\n padding: 0;\n font-size: 14px;\n line-height: 17px !important;\n}\n.ab-table .ab-texte-limite h1,\n.ab-table .ab-texte-limite h2,\n.ab-table .ab-texte-limite h3,\n.ab-table .ab-texte-limite h4,\n.ab-table .ab-texte-limite h5,\n.ab-table .ab-texte-limite h6,\n.ab-table .ab-texte-limite strong,\n.ab-table .ab-texte-limite b {\n font-weight: 600;\n}\n.ab-table .ab-texte-limite p::after,\n.ab-table .ab-texte-limite div::after,\n.ab-table .ab-texte-limite blockquote::after,\n.ab-table .ab-texte-limite h1::after,\n.ab-table .ab-texte-limite h2::after,\n.ab-table .ab-texte-limite h3::after,\n.ab-table .ab-texte-limite h4::after,\n.ab-table .ab-texte-limite h5::after,\n.ab-table .ab-texte-limite h6::after {\n content: \" \";\n}\n.ab-table .ab-texte-limite li + li::before {\n content: \" · \";\n color: #6b7280;\n}\n\n.ab-table .action-picto .picto {\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4705882353);\n padding: 5px 10px;\n border-radius: 5px;\n margin: 5px;\n}\n\n.ab-table .RiskClusters-table .RiskClusters {\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n padding: 5px 19px;\n background-color: rgba(255, 255, 255, 0.5098039216);\n border-radius: 5px;\n opacity: 1;\n position: relative;\n margin: 5px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.ab-table .RiskClusters-table .RiskClusters .material-icons {\n text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3137254902);\n}\n\n.ab-table .progress_bar_menu {\n position: relative;\n height: 20px;\n margin: 0;\n}\n\n.ab-table .progress_bar_menu_black {\n width: 100%;\n position: absolute;\n left: 0;\n top: 50%;\n transform: translateY(-50%);\n height: 6px;\n background-color: #b0bec5;\n border-radius: 3px;\n text-align: left;\n}\n\n.ab-table .progress_bar_menu_load {\n border-radius: 3px;\n height: 6px;\n background-color: #136b89;\n}\n\n.ab-table .progress_bar_menu_info {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n z-index: 1;\n padding: 1px 7px;\n border: 1px solid #e0e3e8;\n border-radius: 999px;\n background: #ffffff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n color: #3f535f;\n font-weight: bold;\n font-size: 11px;\n line-height: 1.45;\n white-space: nowrap;\n}\n.ab-table .progress_bar_menu_info a {\n color: inherit;\n text-decoration: none;\n}\n\n.ab-table .div-col {\n width: 100%;\n}\n\n.ab-table .div-col:not(.div-col-select):not(.div-col-select-multiple) {\n max-height: var(--ab-content-max, none);\n overflow: clip;\n overflow-clip-margin: 6px;\n}\n\n.ab-table .ab-cell-scroll {\n max-height: var(--ab-cell-max, none);\n overflow-y: auto;\n}\n\n.ab-table .tab_label {\n max-width: 100%;\n}\n\ntable.ab-table thead th {\n background-color: #e8eaee !important;\n border-right: 1px solid #e0e3e8 !important;\n border-bottom: 1px solid #e0e3e8 !important;\n}\ntable.ab-table thead th:hover {\n background-color: #e8eaee !important;\n}\ntable.ab-table thead th:last-child {\n border-right: 0 !important;\n}\n\ntable.ab-table .p-column-resizer {\n width: 15px;\n cursor: col-resize;\n border: 0;\n height: auto;\n top: 0;\n bottom: -1px;\n}\n\ntable.ab-table thead th:not(.row-actions-cell):not(:has(> .p-column-filter)) {\n overflow: visible;\n padding-left: 0;\n padding-right: 0;\n}\n\ntable.ab-table thead th:nth-child(1) {\n z-index: 839 !important;\n}\n\ntable.ab-table thead th:nth-child(2) {\n z-index: 838 !important;\n}\n\ntable.ab-table thead th:nth-child(3) {\n z-index: 837 !important;\n}\n\ntable.ab-table thead th:nth-child(4) {\n z-index: 836 !important;\n}\n\ntable.ab-table thead th:nth-child(5) {\n z-index: 835 !important;\n}\n\ntable.ab-table thead th:nth-child(6) {\n z-index: 834 !important;\n}\n\ntable.ab-table thead th:nth-child(7) {\n z-index: 833 !important;\n}\n\ntable.ab-table thead th:nth-child(8) {\n z-index: 832 !important;\n}\n\ntable.ab-table thead th:nth-child(9) {\n z-index: 831 !important;\n}\n\ntable.ab-table thead th:nth-child(10) {\n z-index: 830 !important;\n}\n\ntable.ab-table thead th:nth-child(11) {\n z-index: 829 !important;\n}\n\ntable.ab-table thead th:nth-child(12) {\n z-index: 828 !important;\n}\n\ntable.ab-table thead th:nth-child(13) {\n z-index: 827 !important;\n}\n\ntable.ab-table thead th:nth-child(14) {\n z-index: 826 !important;\n}\n\ntable.ab-table thead th:nth-child(15) {\n z-index: 825 !important;\n}\n\ntable.ab-table thead th:nth-child(16) {\n z-index: 824 !important;\n}\n\ntable.ab-table thead th:nth-child(17) {\n z-index: 823 !important;\n}\n\ntable.ab-table thead th:nth-child(18) {\n z-index: 822 !important;\n}\n\ntable.ab-table thead th:nth-child(19) {\n z-index: 821 !important;\n}\n\ntable.ab-table thead th:nth-child(20) {\n z-index: 820 !important;\n}\n\ntable.ab-table thead th:nth-child(21) {\n z-index: 819 !important;\n}\n\ntable.ab-table thead th:nth-child(22) {\n z-index: 818 !important;\n}\n\ntable.ab-table thead th:nth-child(23) {\n z-index: 817 !important;\n}\n\ntable.ab-table thead th:nth-child(24) {\n z-index: 816 !important;\n}\n\ntable.ab-table thead th:nth-child(25) {\n z-index: 815 !important;\n}\n\ntable.ab-table thead th:nth-child(26) {\n z-index: 814 !important;\n}\n\ntable.ab-table thead th:nth-child(27) {\n z-index: 813 !important;\n}\n\ntable.ab-table thead th:nth-child(28) {\n z-index: 812 !important;\n}\n\ntable.ab-table thead th:nth-child(29) {\n z-index: 811 !important;\n}\n\ntable.ab-table thead th:nth-child(30) {\n z-index: 810 !important;\n}\n\ntable.ab-table thead th:nth-child(31) {\n z-index: 809 !important;\n}\n\ntable.ab-table thead th:nth-child(32) {\n z-index: 808 !important;\n}\n\ntable.ab-table thead th:nth-child(33) {\n z-index: 807 !important;\n}\n\ntable.ab-table thead th:nth-child(34) {\n z-index: 806 !important;\n}\n\ntable.ab-table thead th:nth-child(35) {\n z-index: 805 !important;\n}\n\ntable.ab-table thead th:nth-child(36) {\n z-index: 804 !important;\n}\n\ntable.ab-table thead th:nth-child(37) {\n z-index: 803 !important;\n}\n\ntable.ab-table thead th:nth-child(38) {\n z-index: 802 !important;\n}\n\ntable.ab-table thead th:nth-child(39) {\n z-index: 801 !important;\n}\n\ntable.ab-table thead th:nth-child(40) {\n z-index: 800 !important;\n}\n\ntable.ab-table thead th:not(.row-actions-cell) .p-column-resizer::before {\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: -15px;\n background: linear-gradient(to right, transparent calc(50% - 1px), #000 calc(50% - 1px), #000 calc(50% + 1px), transparent calc(50% + 1px));\n opacity: 0;\n transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\ntable.ab-table thead th:not(.row-actions-cell) .p-column-resizer::after {\n content: \"\";\n position: absolute;\n top: 50%;\n right: calc(-16px - 2px * 0.5);\n width: 30px;\n height: 30px;\n transform: translateY(-50%);\n border-radius: 50%;\n background: #000 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='8'%3E%3Cpath d='M5 0v8L0 4z' fill='%23fff'/%3E%3Cpath d='M11 0v8l5-4z' fill='%23fff'/%3E%3C/svg%3E\") center/16px 8px no-repeat;\n opacity: 0;\n transform: translateY(-50%) scale(0.35);\n transition: opacity 240ms cubic-bezier(0.4, 0, 0.2, 1), transform 240ms cubic-bezier(0.34, 1.3, 0.64, 1);\n}\n\ntable.ab-table thead th:not(.row-actions-cell):hover .p-column-resizer::before {\n opacity: 1;\n}\n\ntable.ab-table thead th:not(.row-actions-cell) .p-column-resizer:hover::before {\n opacity: 0;\n}\n\ntable.ab-table thead th:not(.row-actions-cell) .p-column-resizer:hover::after {\n opacity: 1;\n transform: translateY(-50%) scale(1);\n}\n\n.p-datatable.p-component .p-column-resizer-helper {\n width: 2px;\n top: var(--ab-th-top, 0px) !important;\n height: var(--ab-trait-h, calc(100% - var(--ab-th-top, 0px))) !important;\n background: transparent;\n pointer-events: none;\n transition: opacity 300ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.p-datatable.p-component .p-column-resizer-helper::after {\n content: \"\";\n position: absolute;\n inset: 0;\n background: #000;\n transform-origin: center calc(var(--ab-thead-h, 42px) / 2);\n transform: scaleY(1);\n transition: transform 300ms cubic-bezier(0.2, 0.75, 0.2, 1) 70ms, background-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.p-datatable.p-component .p-column-resizer-helper.ab-resizer--masque {\n opacity: 0;\n}\n.p-datatable.p-component .p-column-resizer-helper.ab-resizer--masque::after {\n transform: scaleY(0);\n transition-delay: 0s;\n}\n.p-datatable.p-component .p-column-resizer-helper::before {\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 100%;\n width: 90px;\n pointer-events: none;\n opacity: 0;\n transition: opacity 160ms cubic-bezier(0.4, 0, 0.2, 1);\n background: linear-gradient(to left, color-mix(in srgb, #dc2626 13%, transparent), color-mix(in srgb, #dc2626 5%, transparent) 45%, transparent);\n}\n.p-datatable.p-component .p-column-resizer-helper.ab-resizer--butee::after {\n background: #dc2626;\n}\n.p-datatable.p-component .p-column-resizer-helper.ab-resizer--butee::before {\n opacity: 1;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .p-datatable.p-component .p-column-resizer-helper,\n .p-datatable.p-component .p-column-resizer-helper::before,\n .p-datatable.p-component .p-column-resizer-helper::after,\n table.ab-table thead th .p-column-resizer::before,\n table.ab-table thead th .p-column-resizer::after {\n transition: none;\n }\n table.ab-table thead th .p-column-resizer::after,\n table.ab-table thead th .p-column-resizer:hover::after {\n transform: translateY(-50%) scale(1);\n }\n .p-datatable.p-component .p-column-resizer-helper::after,\n .p-datatable.p-component .p-column-resizer-helper.ab-resizer--masque::after {\n transform: scaleY(1);\n }\n}\n.ab-row-resizer-helper {\n position: absolute;\n height: 1px;\n margin-top: calc(1px * -0.5);\n z-index: 10;\n pointer-events: none;\n transition: opacity 300ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-row-resizer-helper::after {\n content: \"\";\n position: absolute;\n inset: 0;\n background: #000;\n transform-origin: center center;\n transform: scaleX(1);\n transition: transform 300ms cubic-bezier(0.2, 0.75, 0.2, 1) 70ms;\n}\n.ab-row-resizer-helper.ab-resizer--masque {\n opacity: 0;\n}\n.ab-row-resizer-helper.ab-resizer--masque::after {\n transform: scaleX(0);\n transition-delay: 0s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ab-row-resizer-helper,\n .ab-row-resizer-helper::after {\n transition: none;\n }\n .ab-row-resizer-helper.ab-resizer--masque::after {\n transform: scaleX(1);\n }\n}\ntable.ab-table thead th {\n text-align: left;\n cursor: grab;\n}\ntable.ab-table thead th:active {\n cursor: grabbing;\n}\n\ntable.ab-table thead th [data-pc-section=sort] {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border-radius: 5px;\n background: #f4f5f6;\n color: #b0b8c4;\n cursor: pointer;\n transition: background-color 180ms cubic-bezier(0.4, 0, 0.2, 1), color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\ntable.ab-table thead th [data-pc-section=sort]:hover {\n background: #e0e3e8;\n color: #1a1e26;\n}\ntable.ab-table thead th [data-pc-section=sort] .p-sortable-column-icon {\n margin: 0;\n background: none;\n}\n\ntable.ab-table thead th.p-highlight [data-pc-section=sort] {\n background: color-mix(in srgb, #3f3f3f 12%, transparent);\n color: #3f3f3f;\n}\n\n.p-datatable .p-datatable-tbody > tr:has(> td.ab-td--editable):hover > td {\n background-color: #f4f5f6;\n}\n\n.p-datatable .p-datatable-tbody > tr:hover > td.ab-td--editable:hover {\n background-color: color-mix(in srgb, #c8cdd6 55%, #f4f5f6);\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr:has(> td.ab-td--editable):hover > td.p-frozen-column:not(.row-actions-cell) {\n background: #f4f5f6 !important;\n}\n\n.ab-row-actions-menu {\n transform: translateY(-50%);\n}\n\n.ab-table .p-datatable-header {\n background: none;\n border: 0;\n}\n\n.ab-toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n font-family: \"Roboto\", sans-serif;\n}\n\n.ab-toolbar__zone {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.ab-toolbar__rule {\n flex: 0 0 1px;\n width: 1px;\n height: 22px;\n background: #c8cdd6;\n margin: 0 2px;\n}\n\n.ab-toolbar__search {\n display: flex;\n align-items: center;\n gap: 8px;\n background: #f4f5f6;\n border: 1px solid #e0e3e8;\n border-radius: 8px;\n padding: 7px 12px;\n transition: border-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-toolbar__search:hover {\n border-color: #c8cdd6;\n}\n.ab-toolbar__search:focus-within {\n border-color: #3f3f3f;\n}\n.ab-toolbar__search > i {\n color: #6b7280;\n font-size: 12px;\n}\n.ab-toolbar__search > i.pi-times {\n cursor: pointer;\n font-size: 10.5px;\n}\n.ab-toolbar__search input.p-inputtext {\n border: 0;\n background: transparent;\n outline: none;\n box-shadow: none;\n padding: 0;\n height: auto;\n font-size: 12.5px;\n width: 200px;\n}\n\n.ab-tbtn {\n font-weight: 400;\n font-family: \"Roboto\", sans-serif;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n height: 32px;\n padding: 0 9px;\n background: #ffffff;\n color: #1a1e26;\n border: 1px solid #e0e3e8;\n border-radius: 6px;\n font-size: 12.5px;\n cursor: pointer;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1), border-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-tbtn .material-icons {\n font-size: 18px;\n line-height: 1;\n color: #6b7280;\n}\n.ab-tbtn:hover:not(:disabled) {\n border-color: #c8cdd6;\n background: #f4f5f6;\n}\n.ab-tbtn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.ab-picto-menu:disabled {\n opacity: 0.35;\n cursor: default;\n}\n\n.ab-tbtn--icon {\n width: 32px;\n padding: 0;\n}\n\n.ab-tbtn--primary {\n background: #3f3f3f;\n border-color: #3f3f3f;\n color: #ffffff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n}\n.ab-tbtn--primary .material-icons {\n color: #ffffff;\n}\n.ab-tbtn--primary:hover:not(:disabled) {\n background: #1a1e26;\n border-color: #1a1e26;\n}\n\n.ab-tbtn--on {\n background: #e8eaee;\n border-color: #c8cdd6;\n}\n\n.ab-tbtn__chevron {\n font-size: 15px !important;\n margin-left: -2px;\n opacity: 0.7;\n}\n\n.ab-menu__item--danger {\n color: #dc2626;\n}\n.ab-menu__item--danger .material-icons {\n color: #dc2626;\n}\n.ab-menu__item--danger:hover:not(:disabled) {\n background: rgba(220, 38, 38, 0.08);\n}\n\n@keyframes abCountPulse {\n 0% {\n transform: scale(1);\n box-shadow: 0 0 0 0 rgba(63, 63, 63, 0.5);\n }\n 35% {\n transform: scale(1.28);\n box-shadow: 0 0 0 5px rgba(63, 63, 63, 0);\n }\n 100% {\n transform: scale(1);\n box-shadow: 0 0 0 0 rgba(63, 63, 63, 0);\n }\n}\n.ab-tbtn__count--pulse {\n animation: abCountPulse 420ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ab-tbtn__count--pulse {\n animation: none;\n }\n}\n.ab-tbtn__count {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 17px;\n height: 17px;\n padding: 0 4px;\n border-radius: 9px;\n background: #3f3f3f;\n color: #ffffff;\n font-size: 10.5px;\n font-weight: 500;\n}\n\n.ab-toolbar__anchor {\n position: relative;\n display: inline-flex;\n}\n\n.ab-toolbar__pop {\n position: absolute;\n right: 0;\n top: calc(100% + 4px);\n z-index: 1000;\n background: #ffffff;\n border: 1px solid #e0e3e8;\n border-radius: 8px;\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1215686275), 0 2px 6px rgba(0, 0, 0, 0.2392156863);\n overflow: hidden;\n text-align: left;\n}\n\n.ab-menu {\n min-width: 208px;\n padding: 4px;\n display: flex;\n flex-direction: column;\n gap: 1px;\n}\n\n.ab-menu__item {\n font-family: \"Roboto\", sans-serif;\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 10px;\n background: none;\n border: 0;\n border-radius: 5px;\n cursor: pointer;\n font-size: 13px;\n color: #1a1e26;\n text-align: left;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-menu__item .material-icons {\n font-size: 16px;\n line-height: 1;\n color: #6b7280;\n flex: 0 0 16px;\n width: 16px;\n overflow: hidden;\n}\n.ab-menu__item:hover:not(:disabled) {\n background: #f4f5f6;\n}\n.ab-menu__item:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.ab-brain {\n width: 580px;\n font-size: 13px;\n color: #1a1e26;\n}\n\n.ab-brain__corps {\n display: flex;\n align-items: stretch;\n flex: 1 1 auto;\n min-height: 0;\n}\n\n.ab-brain__sec--cols {\n flex: 0 0 288px;\n border-right: 1px solid #e0e3e8;\n border-bottom: 0;\n}\n\n.ab-brain__reglages {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n min-width: 0;\n}\n.ab-brain__reglages .ab-brain__foot {\n margin-top: auto;\n}\n.ab-brain__reglages .ab-brain__sec:last-of-type {\n border-bottom: 0;\n}\n\n.ab-brain__head {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 11px 14px;\n background: #e8eaee;\n border-bottom: 1px solid #e0e3e8;\n font-weight: 500;\n font-size: 12.5px;\n}\n.ab-brain__head .material-icons {\n font-size: 17px;\n color: #6b7280;\n}\n\n.ab-brain__close {\n margin-left: auto;\n display: grid;\n place-items: center;\n width: 22px;\n height: 22px;\n padding: 0;\n border: none;\n border-radius: 4px;\n background: none;\n color: #6b7280;\n cursor: pointer;\n transition: background-color 180ms cubic-bezier(0.4, 0, 0.2, 1), color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-brain__close:hover {\n background: rgba(63, 63, 63, 0.08);\n color: #1a1e26;\n}\n.ab-brain__close:focus-visible {\n outline: 2px solid #3f3f3f;\n outline-offset: 1px;\n}\n.ab-brain__close .material-icons {\n font-size: 16px;\n color: inherit;\n}\n\n.ab-brain__sec {\n border-bottom: 1px solid #e0e3e8;\n padding: 12px 14px;\n}\n.ab-brain__sec:last-child {\n border-bottom: 0;\n}\n\n.ab-brain__sec-head {\n display: flex;\n align-items: baseline;\n gap: 10px;\n margin-bottom: 10px;\n}\n.ab-brain__sec-head .ab-brain__title {\n margin-bottom: 0;\n}\n\n.ab-brain__reinit {\n margin-left: auto;\n display: inline-flex;\n align-items: center;\n gap: 3px;\n padding: 2px 4px;\n border: 0;\n border-radius: 4px;\n background: none;\n cursor: pointer;\n font-family: \"Roboto\", sans-serif;\n font-size: 10.5px;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: #6b7280;\n white-space: nowrap;\n transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1), background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-brain__reinit .material-icons {\n font-size: 13px;\n}\n.ab-brain__reinit:hover {\n color: #dc2626;\n background: rgba(220, 38, 38, 0.08);\n}\n\n.ab-brain__title {\n font-size: 10.5px;\n font-weight: 500;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n color: #6b7280;\n margin-bottom: 10px;\n}\n\n.ab-brain__cols {\n max-height: 216px;\n overflow-y: auto;\n margin: 0 -4px;\n}\n.ab-brain__cols::-webkit-scrollbar {\n width: 8px;\n}\n.ab-brain__cols::-webkit-scrollbar-thumb {\n background: #c8cdd6;\n border-radius: 4px;\n}\n\n.ab-col-row {\n display: flex;\n align-items: center;\n gap: 9px;\n width: 100%;\n padding: 6px 8px;\n border: 0;\n border-radius: 5px;\n background: none;\n cursor: pointer;\n font-family: \"Roboto\", sans-serif;\n font-size: 13px;\n color: #1a1e26;\n text-align: left;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-col-row:hover {\n background: #f4f5f6;\n}\n.ab-col-row .ab-col-row__name {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ab-col-row:not(.is-on) .ab-col-row__name {\n color: #6b7280;\n}\n\n.ab-col-row__tick {\n flex: 0 0 15px;\n width: 15px;\n height: 15px;\n border: 1.5px solid #c8cdd6;\n border-radius: 3px;\n display: grid;\n place-items: center;\n}\n.ab-col-row__tick .material-icons {\n font-size: 13px;\n color: #ffffff;\n visibility: hidden;\n}\n.is-on .ab-col-row__tick {\n background: #3f3f3f;\n border-color: #3f3f3f;\n}\n.is-on .ab-col-row__tick .material-icons {\n visibility: visible;\n}\n\n.ab-seg {\n display: flex;\n background: #f4f5f6;\n border: 1px solid #e0e3e8;\n border-radius: 7px;\n padding: 2px;\n gap: 2px;\n}\n\n.ab-seg__opt {\n flex: 1;\n font-family: \"Roboto\", sans-serif;\n font-size: 11.5px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 5px 4px;\n border: 0;\n border-radius: 5px;\n background: transparent;\n color: #6b7280;\n cursor: pointer;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1), color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-seg__opt[aria-pressed=true] {\n background: #ffffff;\n color: #1a1e26;\n font-weight: 500;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n}\n\n.ab-switch-row {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 6px 0;\n border: 0;\n background: none;\n cursor: pointer;\n font-family: \"Roboto\", sans-serif;\n font-size: 13px;\n color: #1a1e26;\n text-align: left;\n}\n.ab-switch-row .ab-switch-row__label {\n flex: 1;\n}\n\n.ab-switch {\n position: relative;\n flex: 0 0 32px;\n width: 32px;\n height: 18px;\n border-radius: 9px;\n background: #c8cdd6;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-switch::after {\n content: \"\";\n position: absolute;\n top: 2px;\n left: 2px;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n background: #ffffff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.is-on .ab-switch {\n background: #3f3f3f;\n}\n.is-on .ab-switch::after {\n transform: translateX(14px);\n}\n\n.ab-brain__foot {\n padding: 10px 14px 12px;\n background: #f4f5f6;\n border-top: 1px solid #e0e3e8;\n}\n\n.ab-brain__reset {\n font-family: \"Roboto\", sans-serif;\n display: flex;\n align-items: center;\n gap: 7px;\n width: 100%;\n padding: 5px 0;\n background: none;\n border: 0;\n cursor: pointer;\n font-size: 12px;\n color: #dc2626;\n text-align: left;\n}\n.ab-brain__reset .material-icons {\n font-size: 15px;\n}\n.ab-brain__reset:hover {\n text-decoration: underline;\n}\n\n.ab-brain__reset--minor {\n color: #6b7280;\n font-size: 11.5px;\n padding: 3px 0 3px 22px;\n}\n\n.ab-brain__persist {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-top: 8px;\n padding-top: 8px;\n border-top: 1px solid #e0e3e8;\n font-size: 11px;\n color: #6b7280;\n}\n.ab-brain__persist .material-icons {\n font-size: 13px;\n}\n\n.ab-brain {\n max-height: min(72vh, 660px);\n display: flex;\n flex-direction: column;\n}\n\n.ab-brain__sec--cols {\n display: flex;\n flex-direction: column;\n min-width: 0;\n min-height: 0;\n}\n\n.ab-brain__cols {\n max-height: none;\n flex: 1 1 auto;\n min-height: 120px;\n}\n\n.ab-brain__title-note {\n display: inline-flex;\n align-items: center;\n gap: 2px;\n margin-left: 8px;\n letter-spacing: 0;\n color: #3f3f3f;\n}\n.ab-brain__title-note .material-icons {\n font-size: 13px;\n}\n\n.ab-brain__search {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-bottom: 8px;\n padding: 5px 8px;\n background: #f4f5f6;\n border: 1px solid #e0e3e8;\n border-radius: 6px;\n transition: border-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-brain__search:focus-within {\n border-color: #3f3f3f;\n}\n.ab-brain__search > .material-icons {\n font-size: 15px;\n color: #6b7280;\n}\n.ab-brain__search input {\n flex: 1;\n min-width: 0;\n border: 0;\n background: transparent;\n outline: none;\n font-family: \"Roboto\", sans-serif;\n font-size: 12.5px;\n color: #1a1e26;\n}\n.ab-brain__search input::placeholder {\n color: #b0b8c4;\n}\n\n.ab-brain__cols-legende {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 9px 5px 4px;\n border-bottom: 1px solid #e0e3e8;\n margin-bottom: 4px;\n font-size: 9.5px;\n font-weight: 500;\n letter-spacing: 0.08em;\n text-transform: uppercase;\n color: #6b7280;\n}\n\n.ab-brain__cols-legende__gauche {\n display: flex;\n align-items: center;\n gap: 7px;\n}\n\n.ab-brain__search-clear {\n display: inline-flex;\n padding: 0;\n border: 0;\n background: none;\n cursor: pointer;\n color: #6b7280;\n}\n.ab-brain__search-clear .material-icons {\n font-size: 14px;\n}\n.ab-brain__search-clear:hover {\n color: #1a1e26;\n}\n\n.ab-brain__vide {\n padding: 14px 8px;\n font-size: 12px;\n color: #6b7280;\n text-align: center;\n}\n\n.ab-col-row {\n padding: 0;\n background: none;\n}\n.ab-col-row:hover {\n background: #f4f5f6;\n}\n\n.ab-col-row__main {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: center;\n gap: 9px;\n padding: 6px 4px 6px 8px;\n border: 0;\n background: none;\n cursor: pointer;\n font-family: \"Roboto\", sans-serif;\n font-size: 13px;\n color: inherit;\n text-align: left;\n}\n\n.ab-col-row__pin {\n flex: 0 0 auto;\n display: inline-flex;\n align-items: center;\n padding: 5px 7px;\n border: 0;\n border-radius: 5px;\n background: none;\n cursor: pointer;\n color: #6b7280;\n transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1), background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-col-row__pin .material-icons {\n font-size: 16px;\n}\n.ab-col-row__pin:hover:not(:disabled) {\n color: #1a1e26;\n background: #e8eaee;\n}\n.ab-col-row__pin:disabled {\n opacity: 0.35;\n cursor: not-allowed;\n}\n\n.ab-col-row.is-pinned .ab-col-row__pin {\n color: #3f3f3f;\n}\n.ab-col-row.is-pinned .ab-col-row__pin .material-icons {\n transform: rotate(45deg);\n}\n\n.ab-th {\n display: flex;\n align-items: center;\n gap: 2px;\n width: 100%;\n min-width: 0;\n}\n\n.ab-th__label {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ab-th__btn,\n.ab-picto-menu {\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n padding: 0;\n border: 0;\n border-radius: 4px;\n background: none;\n cursor: pointer;\n color: #6b7280;\n transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1), background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-th__btn .material-icons,\n.ab-picto-menu .material-icons {\n font-size: 15px;\n}\n.ab-th__btn:hover,\n.ab-picto-menu:hover {\n color: #1a1e26;\n background: #ffffff;\n}\n\n@container (max-width: 77px) {\n .p-column-title {\n margin-left: -10px;\n margin-right: -10px;\n }\n .ab-th__btn {\n width: 18px;\n height: 18px;\n }\n .ab-th__btn .material-icons {\n font-size: 14px;\n }\n}\n.ab-menu__item.is-actif {\n background: rgba(63, 63, 63, 0.08);\n color: #1a1e26;\n font-weight: 500;\n}\n.ab-menu__item.is-actif .material-icons {\n color: #1a1e26;\n}\n.ab-menu__item.is-actif:hover {\n background: rgba(63, 63, 63, 0.14);\n}\n\n.ab-menu__item--gele .material-icons {\n transform: rotate(45deg);\n}\n\n.ab-menu__filet {\n height: 1px;\n margin: 3px 6px;\n background: #e0e3e8;\n}\n\ntable.ab-table thead th .p-column-header-content > [data-pc-section=sort] {\n display: none;\n}\n\n.ab-col-menu {\n right: auto;\n top: auto;\n z-index: 1200;\n}\n\n.ab-align--left .ab-table td {\n text-align: left;\n}\n.ab-align--left .ab-table td .div-col,\n.ab-align--left .ab-table td .div-col > * {\n justify-content: flex-start;\n}\n.ab-align--left .ab-th__label {\n text-align: left;\n}\n\n.ab-align--center .ab-table td {\n text-align: center;\n}\n.ab-align--center .ab-table td .div-col,\n.ab-align--center .ab-table td .div-col > * {\n justify-content: safe center;\n}\n.ab-align--center .ab-table td .div-col-select .p-dropdown-label,\n.ab-align--center .ab-table td .div-col-select-multiple .p-multiselect-label {\n justify-content: safe center;\n}\n.ab-align--center .ab-table td .div-col-select > div:not(.select-editor),\n.ab-align--center .ab-table td .div-col-select .p-dropdown-label {\n padding-left: 20px;\n padding-right: 20px;\n}\n.ab-align--center .ab-table td .div-col .ab-texte-limite,\n.ab-align--center .ab-table td .div-col .cell-text,\n.ab-align--center .ab-table td .div-col .tab_label,\n.ab-align--center .ab-table td .div-col p,\n.ab-align--center .ab-table td .div-col ul,\n.ab-align--center .ab-table td .div-col li {\n text-align: left;\n}\n.ab-align--center .ab-th__label {\n text-align: center;\n}\n.ab-align--center .ab-table td.row-actions-cell {\n text-align: center;\n}\n\n.ab-checkbox {\n width: 16px;\n height: 16px;\n min-width: 16px;\n min-height: 16px;\n border: 1.5px solid #e0e3e8;\n border-radius: 3px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: #ffffff;\n color: #ffffff;\n font-size: 10px;\n cursor: pointer;\n transition: all 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-checkbox.checked, .ab-checkbox.p-highlight {\n background-color: #3f3f3f;\n border-color: #3f3f3f;\n}\n.ab-checkbox.partial {\n background: linear-gradient(to top right, #3f3f3f 50%, transparent 50%);\n border-color: #3f3f3f;\n}\n.ab-checkbox {\n margin: auto;\n padding: 0;\n}\n.ab-checkbox .material-icons {\n font-size: 12px;\n line-height: 1;\n color: #ffffff;\n}\n.ab-checkbox:hover:not(.checked):not(.partial) {\n border-color: #c8cdd6;\n}\n\n.ab-menu__titre {\n padding: 7px 10px 4px;\n font-size: 10px;\n font-weight: 500;\n letter-spacing: 0.09em;\n text-transform: uppercase;\n color: #6b7280;\n}\n\n/* ═══════════════════════════════════════════════════════════════════════════\n LIGNE DE FILTRES — une seule épaisseur\n ═══════════════════════════════════════════════════════════════════════════\n Mesuré le 08/09/2026 sur la story `columnFilter` : la rangée alignait DEUX\n hauteurs de champ (40px et 45,5px), DEUX bordures (1px et 1,5px) et DEUX\n rayons (6px et 7px) — et un troisième format, 25,5px, dès qu'une colonne\n `index` était présente.\n\n La cause n'est pas un réglage oublié, c'est une origine différente pour\n chaque champ : les selects et le calendrier passent par le design system,\n donc par `@include field` (40px, bordure 1,5px, rayon 7px), alors que les\n champs texte sont des `InputText` NUS — ils prennent le `padding: 12px` du\n thème PrimeReact, d'où leurs 45,5px. Tous passent désormais par le même\n gabarit, et la hauteur est posée explicitement pour qu'aucune ne dérive.\n ═══════════════════════════════════════════════════════════════════════════ */\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label) {\n font-family: \"Roboto\", sans-serif;\n min-height: 40px;\n padding: 0 12px;\n background: #ffffff;\n border: 1.5px solid #e0e3e8;\n border-radius: 7px;\n color: #1a1e26;\n outline: none;\n transition: border-color 180ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label):hover:not(:focus):not(:focus-within):not([disabled]):not(.is-disabled) {\n border-color: #c8cdd6;\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label):focus, table.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label):focus-within, table.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-open {\n border-color: #3f3f3f;\n box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label)[disabled], table.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-disabled {\n opacity: 0.45;\n cursor: not-allowed;\n pointer-events: none;\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label)[readonly], table.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-readonly {\n background: #f4f5f6;\n cursor: default;\n box-shadow: none;\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label)[readonly]:hover, table.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-readonly:hover {\n border-color: #e0e3e8;\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-error {\n border-color: #dc2626;\n box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-success {\n border-color: #15803d;\n box-shadow: 0 0 0 3px rgba(21, 128, 61, 0.12);\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label) {\n height: 40px;\n font-size: 14px;\n width: 100%;\n min-width: 0;\n}\ntable.ab-table thead th.p-filter-column .p-dropdown,\ntable.ab-table thead th.p-filter-column .p-calendar {\n width: 100%;\n min-width: 0;\n font-size: 14px;\n}\ntable.ab-table thead th.p-filter-column .p-calendar > .p-inputtext {\n height: 40px !important;\n width: 100% !important;\n min-width: 0 !important;\n padding: 0 12px !important;\n border-width: 1.5px !important;\n border-radius: 7px !important;\n}\ntable.ab-table thead th.p-filter-column .p-calendar > .p-inputtext:not(.p-invalid) {\n border-color: #e0e3e8 !important;\n}\ntable.ab-table thead th.p-filter-column .p-inputtext.ab-filtre-compact {\n padding-left: 4px;\n padding-right: 4px;\n}\ntable.ab-table thead th.p-filter-column .p-column-filter-clear-button {\n width: 32px;\n height: 32px;\n color: #6b7280;\n transition: opacity 0.2s ease, color 0.2s ease, background-color 0.2s ease;\n}\ntable.ab-table thead th.p-filter-column .p-column-filter-clear-button.p-hidden-space {\n visibility: visible;\n opacity: 0.38;\n}\ntable.ab-table thead th.p-filter-column .p-column-filter-clear-button:hover {\n opacity: 1;\n color: #1a1e26;\n background: rgba(26, 30, 38, 0.06);\n}\n\ntable.ab-table thead th.ab-th--editable:not(.p-frozen-column) {\n background-color: color-mix(in srgb, #c8cdd6 70%, #e8eaee) !important;\n}\ntable.ab-table thead th.ab-th--editable:not(.p-frozen-column):hover {\n background-color: color-mix(in srgb, #c8cdd6 70%, #e8eaee) !important;\n}\n\ntd.ab-td--editable:not(.p-frozen-column) {\n position: relative;\n}\n\ntd.ab-td--editable::after {\n content: \"\";\n position: absolute;\n right: 3px;\n bottom: 3px;\n width: 0;\n height: 0;\n border-left: 5px solid transparent;\n border-bottom: 5px solid #c8cdd6;\n pointer-events: none;\n}\n\ntd.ab-td--editable {\n cursor: pointer;\n}\n\ntd.ab-td--lecture {\n cursor: default;\n}\n\ntr[style*=row-resize] > td {\n cursor: row-resize;\n}\n\ntable.ab-table thead tr th:has(> .p-column-filter) {\n background-color: #ffffff !important;\n}\n\ntable.ab-table:has(td.ab-td--editable) tbody td:not(.ab-td--editable):not(.row-actions-cell) {\n background-image: linear-gradient(135deg, rgba(200, 205, 214, 0.45) 0 12.5%, transparent 12.5% 50%, rgba(200, 205, 214, 0.45) 50% 62.5%, transparent 62.5% 100%);\n background-size: 8px 8px;\n background-origin: border-box;\n}\n\n.div-col {\n width: 100%;\n}";
48169
48209
  styleInject(css_248z$3);
48170
48210
 
48171
48211
  // src/components/react/Table/Table.tokens.js
@@ -56821,6 +56861,9 @@ var SelfEditableCell = function SelfEditableCell(_ref14) {
56821
56861
  useEffect(function () {
56822
56862
  localValueRef.current = localValue;
56823
56863
  }, [localValue]);
56864
+ // Panneau du multi-select ouvert ? Un changement panneau FERMÉ vient de la croix d'un
56865
+ // chip (ou de « tout effacer ») : aucun `onHide` ne suivra pour l'enregistrer.
56866
+ var panneauMultiOuvertRef = useRef(false);
56824
56867
 
56825
56868
  // ─── `select` : monte en PERMANENCE, plus de bascule lecture ↔ edition ────
56826
56869
  //
@@ -56936,6 +56979,10 @@ var SelfEditableCell = function SelfEditableCell(_ref14) {
56936
56979
  onSave(v);
56937
56980
  setLocalValue(v);
56938
56981
  if (!isRowEditing) setEditing(false);else committedRef.current = false;
56982
+ // Select / multi-select montés en permanence : ils ne quittent jamais
56983
+ // l'édition, rien ne relâcherait donc le verrou entre deux choix dans la
56984
+ // même case — vider puis resélectionner n'enregistrait que le vidage.
56985
+ if (toujoursMonte) committedRef.current = false;
56939
56986
 
56940
56987
  // ⚠️ On RELACHE le focus apres l'enregistrement.
56941
56988
  //
@@ -56951,7 +56998,7 @@ var SelfEditableCell = function SelfEditableCell(_ref14) {
56951
56998
  document.activeElement.blur();
56952
56999
  }
56953
57000
  }, 0);
56954
- }, [isRowEditing, onSave]);
57001
+ }, [isRowEditing, onSave, toujoursMonte]);
56955
57002
  useEffect(function () {
56956
57003
  // date ET html exclus : leur éditeur vit HORS de containerRef (le DatePicker
56957
57004
  // dans un panel porté au body, l'éditeur html dans un Dialog appendTo body).
@@ -57187,17 +57234,26 @@ var SelfEditableCell = function SelfEditableCell(_ref14) {
57187
57234
  value: flatValues,
57188
57235
  options: col.options,
57189
57236
  onChange: function onChange(ids) {
57190
- return setLocalValue(isObjModeMulti ? ids.map(function (id) {
57237
+ var next = isObjModeMulti ? ids.map(function (id) {
57191
57238
  var _col$options$find2, _col$options2;
57192
57239
  return (_col$options$find2 = (_col$options2 = col.options) === null || _col$options2 === void 0 ? void 0 : _col$options2.find(function (o) {
57193
57240
  return o.value === id;
57194
57241
  })) !== null && _col$options$find2 !== void 0 ? _col$options$find2 : {
57195
57242
  value: id
57196
57243
  };
57197
- }) : ids);
57244
+ }) : ids;
57245
+ setLocalValue(next);
57246
+ // Chip retiré par sa croix, panneau fermé : on enregistre tout
57247
+ // de suite. Sinon la valeur restait locale et la cellule, en se
57248
+ // démontant à la sortie de la souris, réaffichait l'ancienne.
57249
+ if (!panneauMultiOuvertRef.current) commit(next);
57250
+ },
57251
+ onShow: function onShow() {
57252
+ panneauMultiOuvertRef.current = true;
57198
57253
  },
57199
57254
  onHide: function onHide() {
57200
- return commit(localValueRef.current);
57255
+ panneauMultiOuvertRef.current = false;
57256
+ commit(localValueRef.current);
57201
57257
  }
57202
57258
  // Le seuil de bascule chips → pastille de comptage. C'est LA
57203
57259
  // reference : le gabarit de lecture lit la meme valeur au meme
@@ -57226,7 +57282,12 @@ var SelfEditableCell = function SelfEditableCell(_ref14) {
57226
57282
  ref: containerRef
57227
57283
  }, /*#__PURE__*/React__default.createElement(DatePicker, {
57228
57284
  value: dateObj,
57229
- dateFormat: primeFormat,
57285
+ dateFormat: primeFormat
57286
+ // Un seul clic pour éditer : le clic qui passe la cellule en
57287
+ // édition ouvre aussi le calendrier (hors édition de ligne, où
57288
+ // toutes les cellules montent ensemble).
57289
+ ,
57290
+ autoOpen: !isRowEditing,
57230
57291
  onChange: function onChange(e) {
57231
57292
  if (e.value) {
57232
57293
  daySelectedRef.current = true;
@@ -57585,6 +57646,8 @@ var Table$1 = function Table(_ref16) {
57585
57646
  setSelectionFilterOpen = _useState38[1];
57586
57647
  var selectionFilterRef = useRef(null);
57587
57648
  var selectionMenuRef = useRef(null);
57649
+ // Vrai quand seules les lignes cochées sont affichées (en-tête « Cochés » ou menu Actions).
57650
+ var filtreSelectionActif = !!selectionFilter && selectionFilterMode === 'checked';
57588
57651
  var displayData = useMemo(function () {
57589
57652
  if (!selectionFilter || selectionFilterMode === 'all') return data;
57590
57653
  var wantSelected = selectionFilterMode === 'checked';
@@ -60633,7 +60696,8 @@ var Table$1 = function Table(_ref16) {
60633
60696
  };
60634
60697
  }
60635
60698
 
60636
- // Wrap non-editable cells with onClick — cursor pointer seulement si onCellClick est câblé
60699
+ // Wrap non-editable cells with onClick — le curseur reste celui par défaut
60700
+ // (`td.ab-td--lecture`), même quand onCellClick est câblé.
60637
60701
  if (!colEditable && displayFn) {
60638
60702
  var innerFn = displayFn;
60639
60703
  displayFn = function displayFn(rowData) {
@@ -60643,7 +60707,6 @@ var Table$1 = function Table(_ref16) {
60643
60707
  onCellClickRef.current && onCellClickRef.current(rowData, col.field);
60644
60708
  },
60645
60709
  style: {
60646
- cursor: cellClickEnabled ? 'pointer' : undefined,
60647
60710
  width: '100%'
60648
60711
  }
60649
60712
  }, innerFn(rowData));
@@ -61048,7 +61111,7 @@ var Table$1 = function Table(_ref16) {
61048
61111
  title: addTooltip !== null && addTooltip !== void 0 ? addTooltip : translate('arengibook.table.toolbar.add', labels)
61049
61112
  }, /*#__PURE__*/React__default.createElement("span", {
61050
61113
  className: "material-icons"
61051
- }, "add"), addLabel && addLabel !== '+' ? addLabel : translate('arengibook.table.toolbar.add', labels)), (actionsSecondaires.length > 0 || rowSelection && nbSelectionnees > 0) && /*#__PURE__*/React__default.createElement("div", {
61114
+ }, "add"), addLabel && addLabel !== '+' ? addLabel : translate('arengibook.table.toolbar.add', labels)), (actionsSecondaires.length > 0 || rowSelection && nbSelectionnees > 0 || filtreSelectionActif) && /*#__PURE__*/React__default.createElement("div", {
61052
61115
  className: "ab-toolbar__anchor",
61053
61116
  ref: menuRef
61054
61117
  }, /*#__PURE__*/React__default.createElement("button", {
@@ -61072,9 +61135,19 @@ var Table$1 = function Table(_ref16) {
61072
61135
  className: "ab-toolbar__pop"
61073
61136
  }, /*#__PURE__*/React__default.createElement("div", {
61074
61137
  className: "ab-menu"
61075
- }, rowSelection && nbSelectionnees > 0 && selectionActions.length > 0 && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
61138
+ }, rowSelection && (nbSelectionnees > 0 && (selectionActions.length > 0 || selectionFilter) || filtreSelectionActif) && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
61076
61139
  className: "ab-menu__titre"
61077
- }, translate('arengibook.table.selection.onSelection', labels), ' · ', nbSelectionnees), selectionActions.map(function (a) {
61140
+ }, translate('arengibook.table.selection.onSelection', labels), ' · ', nbSelectionnees), selectionFilter && /*#__PURE__*/React__default.createElement("button", {
61141
+ type: "button",
61142
+ className: "ab-menu__item".concat(filtreSelectionActif ? ' is-actif' : ''),
61143
+ onClick: function onClick() {
61144
+ setMenuOpen(false);
61145
+ setSelectionFilterMode(filtreSelectionActif ? 'all' : 'checked');
61146
+ setFirst(0);
61147
+ }
61148
+ }, /*#__PURE__*/React__default.createElement("span", {
61149
+ className: "material-icons"
61150
+ }, filtreSelectionActif ? 'visibility' : 'filter_list'), filtreSelectionActif ? translate('arengibook.table.selection.showAll', labels) : translate('arengibook.table.selection.showOnlySelected', labels)), selectionActions.map(function (a) {
61078
61151
  return /*#__PURE__*/React__default.createElement("button", {
61079
61152
  key: "sel-".concat(a.key),
61080
61153
  type: "button",
@@ -62037,6 +62110,9 @@ var Table$1 = function Table(_ref16) {
62037
62110
  // s'edite. Sans cette marque, le survol appuye promettrait un clic
62038
62111
  // sur des cellules qui n'en attendent aucun.
62039
62112
  [colonneEditable(col) ? 'ab-td--editable' : null,
62113
+ // Lecture seule : curseur par défaut sur toute la cellule,
62114
+ // même quand un onCellClick est câblé (cf. Table.scss).
62115
+ colonneEditable(col) ? null : 'ab-td--lecture',
62040
62116
  // La classe `arengi-table-grey-title` a ete retiree
62041
62117
  // (03/09/2026) : la cellule n'est plus grise, et
62042
62118
  // aucune regle n'a besoin de la designer — le titre
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "arengibook",
3
3
  "private": false,
4
- "version": "3.3.3-main",
4
+ "version": "3.3.3-mainTable",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
7
7
  "exports": {