#groupingMenuPopup { min-width: 370px; max-width: calc(100vw - 80px); max-height: calc(100vh - 70px); overflow-y: auto; }
#groupingMenuPopup .menu-popup-item { white-space: nowrap; padding-left: 18px; }
#groupingMenuPopup .menu-popup-item:disabled { color: #89909a; background: transparent; border-color: transparent; }
.grouping-menu-separator { border-top: 1px solid #a8adb3; margin: 4px 3px 4px 16px; }
.grouping-dialog { width: min(480px, calc(100vw - 32px)); max-height: calc(100vh - 40px); overflow-y: auto; padding: 20px; border: 1px solid #7f8a96; border-radius: 4px; background: #f7f8fa; color: #1f2730; box-shadow: 0 12px 45px #0004; }
.grouping-dialog::backdrop { background: #19253144; }
.grouping-dialog h2 { font-size: 18px; margin: 0 0 18px; }
.grouping-field { display: grid; gap: 5px; margin-bottom: 12px; }
.grouping-field input { width: 100%; min-width: 0; }
.grouping-check { display: flex; gap: 8px; align-items: center; }
.grouping-check input, .grouping-list-row input { width: auto; }
.grouping-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
.grouping-dialog-actions button { min-width: 85px; }
.grouping-error { color: #a62323; margin: 8px 0 0; }
.grouping-error:empty { display: none; }
.grouping-list { max-height: 360px; overflow-y: auto; border: 1px solid #b4bec9; background: white; }
.grouping-list-row { display: flex; align-items: center; gap: 8px; min-height: 32px; padding: 5px 8px; }
.grouping-list-row[hidden] { display: none; }
.grouping-list-row:hover, .grouping-list-row:has(input:checked) { background: #deebfc; }
.grouping-list-row small { margin-left: auto; color: #5b6470; }
.grouping-pick { cursor: crosshair; }

