@taocompany/magic-grid 0.3.4 → 0.4.1

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 (42) hide show
  1. package/README.md +2851 -2851
  2. package/dist/components/ColumnSettings/ColumnFilterPanelEmbed.vue.d.ts.map +1 -1
  3. package/dist/components/ColumnSettings/ColumnSettingsButton.vue.d.ts.map +1 -1
  4. package/dist/components/ColumnSettings/ColumnSettingsClearFiltersBar.vue.d.ts.map +1 -1
  5. package/dist/components/ColumnSettings/ColumnSettingsGroupedLists.vue.d.ts.map +1 -1
  6. package/dist/components/ColumnSettings/ColumnSettingsList.vue.d.ts.map +1 -1
  7. package/dist/components/ColumnSettings/ColumnSettingsPanel.vue.d.ts.map +1 -1
  8. package/dist/components/ColumnSettings/ColumnSettingsRow.vue.d.ts.map +1 -1
  9. package/dist/core/column/applyFooterCells.d.ts +2 -0
  10. package/dist/core/column/applyFooterCells.d.ts.map +1 -1
  11. package/dist/core/column/applyHeaderCells.d.ts +9 -0
  12. package/dist/core/column/applyHeaderCells.d.ts.map +1 -1
  13. package/dist/core/column/columnModel.d.ts +2 -0
  14. package/dist/core/column/columnModel.d.ts.map +1 -1
  15. package/dist/core/column/columnMoveService.d.ts +28 -1
  16. package/dist/core/column/columnMoveService.d.ts.map +1 -1
  17. package/dist/core/column/index.d.ts +2 -2
  18. package/dist/core/column/index.d.ts.map +1 -1
  19. package/dist/core/grid/columnHeaderDragEdgeScroll.d.ts +8 -0
  20. package/dist/core/grid/columnHeaderDragEdgeScroll.d.ts.map +1 -1
  21. package/dist/core/grid/grid.d.ts.map +1 -1
  22. package/dist/core/grid/gridColumnLayout.d.ts +10 -1
  23. package/dist/core/grid/gridColumnLayout.d.ts.map +1 -1
  24. package/dist/core/grid/gridInteraction/columnHeaderDragSession.d.ts +21 -1
  25. package/dist/core/grid/gridInteraction/columnHeaderDragSession.d.ts.map +1 -1
  26. package/dist/core/grid/gridInteraction/gridInteraction.d.ts.map +1 -1
  27. package/dist/core/grid/gridInteraction/types.d.ts +1 -0
  28. package/dist/core/grid/gridInteraction/types.d.ts.map +1 -1
  29. package/dist/core/grid/gridViewport.d.ts +8 -0
  30. package/dist/core/grid/gridViewport.d.ts.map +1 -1
  31. package/dist/core/renderer/rowRenderer.d.ts +2 -0
  32. package/dist/core/renderer/rowRenderer.d.ts.map +1 -1
  33. package/dist/core/renderer/spannedRowRenderer.d.ts +1 -0
  34. package/dist/core/renderer/spannedRowRenderer.d.ts.map +1 -1
  35. package/dist/index.cjs.js +5 -5
  36. package/dist/index.cjs.js.map +1 -1
  37. package/dist/index.es.js +2880 -2612
  38. package/dist/index.es.js.map +1 -1
  39. package/dist/style.css +1 -1
  40. package/dist/validation-BHqm5Flb.js.map +1 -1
  41. package/dist/validation-CD6lt5wS.cjs.map +1 -1
  42. package/package.json +96 -96
package/dist/style.css CHANGED
@@ -1,2 +1,2 @@
1
- .magic-grid{--mg-color-bg:#fff;--mg-color-primary:#5460dd;--mg-color-success:#67c23a;--mg-color-danger:#f56c6c;--mg-color-warning:#e6a23c;--mg-color-info:#909399;--mg-color-text-primary:#333;--mg-color-text-regular:#333;--mg-color-text-secondary:#9f9f9f;--mg-color-border:#d8d8d8;--mg-color-border-light:#d8d8d8;--mg-color-bg-stripe:#f5f7fa;--mg-color-bg-header:#ecf3ff;--mg-color-bg-footer:var(--mg-color-bg-header);--mg-color-bg-cell:#fff;--mg-font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mg-spacing:8px;--mg-cell-padding-x:8px;--mg-font-size:12px;--mg-border-radius:8px;--mg-row-height:32px;--mg-header-height:32px;--mg-summary-row-height:32px;--mg-status-bar-height:32px;--mg-status-bar-font-size:12px;--mg-status-bar-control-height:calc(32px - 6px);--mg-checkbox-size:14px;--mg-cell-control-size:max(12px, calc(32px - 8px));--mg-border-width:1px;--mg-focus-ring-width:2px}.magic-grid--size-mini{--mg-spacing:4px;--mg-cell-padding-x:4px;--mg-font-size:12px;--mg-border-radius:4px;--mg-row-height:20px;--mg-header-height:20px;--mg-summary-row-height:20px;--mg-status-bar-height:20px;--mg-status-bar-font-size:12px;--mg-status-bar-control-height:calc(20px - 6px);--mg-checkbox-size:12px;--mg-cell-control-size:max(12px, calc(20px - 8px));--mg-border-width:1px;--mg-focus-ring-width:2px}.magic-grid--size-small{--mg-spacing:8px;--mg-cell-padding-x:8px;--mg-font-size:12px;--mg-border-radius:8px;--mg-row-height:24px;--mg-header-height:24px;--mg-summary-row-height:24px;--mg-status-bar-height:24px;--mg-status-bar-font-size:12px;--mg-status-bar-control-height:calc(24px - 6px);--mg-checkbox-size:12px;--mg-cell-control-size:max(12px, calc(24px - 8px));--mg-border-width:1px;--mg-focus-ring-width:2px}.magic-grid--size-default{--mg-spacing:8px;--mg-cell-padding-x:8px;--mg-font-size:12px;--mg-border-radius:8px;--mg-row-height:32px;--mg-header-height:32px;--mg-summary-row-height:32px;--mg-status-bar-height:32px;--mg-status-bar-font-size:12px;--mg-status-bar-control-height:calc(32px - 6px);--mg-checkbox-size:14px;--mg-cell-control-size:max(12px, calc(32px - 8px));--mg-border-width:1px;--mg-focus-ring-width:2px}.magic-grid--size-large{--mg-spacing:12px;--mg-cell-padding-x:12px;--mg-font-size:14px;--mg-border-radius:8px;--mg-row-height:40px;--mg-header-height:40px;--mg-summary-row-height:40px;--mg-status-bar-height:40px;--mg-status-bar-font-size:14px;--mg-status-bar-control-height:calc(40px - 6px);--mg-checkbox-size:14px;--mg-cell-control-size:max(12px, calc(40px - 8px));--mg-border-width:1px;--mg-focus-ring-width:2px}.magic-grid{--mg-color-bg-cell:var(--mg-color-bg);--mg-fixed-shadow-left:4px 0 8px -2px #0000001f;--mg-fixed-shadow-right:-4px 0 8px -2px #0000001f;--mg-fixed-z-index:2;--mg-fixed-editing-z-index:3}.mg-header-row{flex-direction:row;display:flex}.mg-header-row:after{content:"";background:var(--mg-color-bg-header);flex:1 0 0;align-self:stretch;min-width:0}.mg-header-row__lane{flex:none;height:100%;position:relative;overflow:hidden}.mg-header-row__lane--left,.mg-header-row__lane--right{z-index:var(--mg-fixed-z-index);background:var(--mg-color-bg-header);position:sticky}.mg-header-row__lane--left{left:0}.mg-header-row__lane--right{order:1;right:0}.mg-header-row__lane--center{z-index:0}.mg-row{flex-direction:row;display:flex}.mg-row:after{content:"";background:var(--mg-color-bg-cell);flex:1 0 0;align-self:stretch;min-width:0}.mg-row__lane{flex:none;height:100%;position:relative;overflow:hidden}.mg-row__lane--left,.mg-row__lane--right{z-index:var(--mg-fixed-z-index);position:sticky}.mg-row__lane--left{background:var(--mg-color-bg-cell);left:0}.mg-row__lane--right{background:var(--mg-color-bg-cell);order:1;right:0}.mg-row__lane--center{z-index:0;background:var(--mg-color-bg-cell)}.mg-header-cell--fixed-left-last:after{content:"";pointer-events:none;width:0;box-shadow:var(--mg-fixed-shadow-left);position:absolute;top:0;bottom:0;left:100%}.mg-header-cell--fixed-right-first:after{content:"";pointer-events:none;width:0;box-shadow:var(--mg-fixed-shadow-right);position:absolute;top:0;bottom:0;right:100%}.mg-footer-row{flex-direction:row;display:flex}.mg-footer-row:after{content:"";background:var(--mg-color-bg-footer);flex:1 0 0;align-self:stretch;min-width:0}.mg-footer-row__lane{flex:none;height:100%;position:relative;overflow:hidden}.mg-footer-row__lane--left,.mg-footer-row__lane--right{z-index:var(--mg-fixed-z-index);background:var(--mg-color-bg-footer);position:sticky}.mg-footer-row__lane--left{left:0}.mg-footer-row__lane--right{order:1;right:0}.mg-footer-row__lane--center{z-index:0}.mg-footer-cell--fixed-left-last:after{content:"";pointer-events:none;width:0;box-shadow:var(--mg-fixed-shadow-left);position:absolute;top:0;bottom:0;left:100%}.mg-footer-cell--fixed-right-first:after{content:"";pointer-events:none;width:0;box-shadow:var(--mg-fixed-shadow-right);position:absolute;top:0;bottom:0;right:100%}.mg-cell--fixed-left-last:after{content:"";pointer-events:none;width:0;box-shadow:var(--mg-fixed-shadow-left);position:absolute;top:0;bottom:0;left:100%}.mg-cell--fixed-right-first:after{content:"";pointer-events:none;width:0;box-shadow:var(--mg-fixed-shadow-right);position:absolute;top:0;bottom:0;right:100%}.mg-cell--editing{z-index:var(--mg-fixed-editing-z-index)}.mg-row--stripe>.mg-row__lane--left,.mg-row--stripe>.mg-row__lane--right,.mg-row--stripe>.mg-row__lane--center,.mg-row--stripe:after{background:var(--mg-color-bg-stripe)}.mg-row--selected>.mg-row__lane--left,.mg-row--index-focused>.mg-row__lane--left,.mg-row--selected>.mg-row__lane--right,.mg-row--index-focused>.mg-row__lane--right,.mg-row--selected .mg-cell--fixed-left:not(.mg-cell--index):not(.mg-cell--selection),.mg-row--index-focused .mg-cell--fixed-left:not(.mg-cell--index):not(.mg-cell--selection),.mg-row--selected .mg-cell--fixed-right,.mg-row--index-focused .mg-cell--fixed-right,.mg-row--selected:after,.mg-row--index-focused:after{background:color-mix(in srgb, var(--mg-color-primary) 10%, var(--mg-color-bg-cell))}.mg-row--selected.mg-row--stripe>.mg-row__lane--left,.mg-row--index-focused.mg-row--stripe>.mg-row__lane--left,.mg-row--selected.mg-row--stripe>.mg-row__lane--right,.mg-row--index-focused.mg-row--stripe>.mg-row__lane--right,.mg-row--selected.mg-row--stripe .mg-cell--fixed-left:not(.mg-cell--index):not(.mg-cell--selection),.mg-row--index-focused.mg-row--stripe .mg-cell--fixed-left:not(.mg-cell--index):not(.mg-cell--selection),.mg-row--selected.mg-row--stripe .mg-cell--fixed-right,.mg-row--index-focused.mg-row--stripe .mg-cell--fixed-right,.mg-row--selected.mg-row--stripe:after,.mg-row--index-focused.mg-row--stripe:after{background:color-mix(in srgb, var(--mg-color-primary) 10%, var(--mg-color-bg-stripe))}.magic-grid--border-none{border:none}.magic-grid--border-none .mg-header-viewport{border-bottom:var(--mg-border-width) solid var(--mg-color-border)}.magic-grid--border-none.magic-grid--has-footer .mg-footer-viewport{border-top:var(--mg-border-width) solid var(--mg-color-border)}.magic-grid--border-border{border:var(--mg-border-width) solid var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--last .mg-cell{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--last .mg-cell--center-last{box-shadow:none}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--last .mg-cell--fixed-right-first:not(.mg-cell--column-last){box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--last .mg-cell--column-last:not(.mg-cell--center-last):not(.mg-cell--fixed-right-first){box-shadow:none}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes):not(.mg-grid--inner-right-closes) .mg-row--last .mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes).mg-grid--inner-right-closes .mg-row--last .mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes).mg-grid--inner-right-closes .mg-row--last .mg-cell--column-last:not(.mg-cell--center-last):not(.mg-cell--fixed-right-first){box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer .mg-footer-cell{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer .mg-footer-cell--center-last{box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer .mg-footer-cell--fixed-right-first:not(.mg-footer-cell--column-last){box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer .mg-footer-cell--column-last:not(.mg-footer-cell--center-last):not(.mg-footer-cell--fixed-right-first){box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-right-closes) .mg-footer-cell--fixed-right-first.mg-footer-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer.mg-grid--inner-right-closes .mg-footer-cell--fixed-right-first.mg-footer-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer.mg-grid--inner-right-closes .mg-footer-cell--column-last:not(.mg-footer-cell--center-last):not(.mg-footer-cell--fixed-right-first){box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--last .mg-cell{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--last .mg-cell--center-last{box-shadow:none}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--last .mg-cell--fixed-right-first:not(.mg-cell--column-last){box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--last .mg-cell--column-last:not(.mg-cell--center-last):not(.mg-cell--fixed-right-first){box-shadow:none}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer):not(.mg-grid--inner-right-closes) .mg-row--last .mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer).mg-grid--inner-right-closes .mg-row--last .mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer).mg-grid--inner-right-closes .mg-row--last .mg-cell--column-last:not(.mg-cell--center-last):not(.mg-cell--fixed-right-first){box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-header-viewport{border-bottom:none}.magic-grid--border-border .mg-header-row:after,.magic-grid--border-border .mg-header-span,.magic-grid--border-border .mg-header-gutter,.magic-grid--border-border .mg-header-viewport:after{box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-footer-row:after,.magic-grid--border-border .mg-footer-span,.magic-grid--border-border .mg-footer-gutter,.magic-grid--border-border .mg-footer-viewport:after{box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-header-cell,.magic-grid--border-border .mg-cell{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-header-cell--center-last,.magic-grid--border-border .mg-cell--center-last{box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-header-cell--fixed-right-first:not(.mg-header-cell--column-last),.magic-grid--border-border .mg-cell--fixed-right-first:not(.mg-cell--column-last){box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-header-cell--fixed-right-first.mg-header-cell--column-last,.magic-grid--border-border .mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-header-cell--column-last:not(.mg-header-cell--center-last):not(.mg-header-cell--fixed-right-first),.magic-grid--border-border .mg-cell--column-last:not(.mg-cell--center-last):not(.mg-cell--fixed-right-first){box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border.mg-grid--inner-right-closes .mg-header-cell--column-last:not(.mg-header-cell--center-last):not(.mg-header-cell--fixed-right-first),.magic-grid--border-border.mg-grid--inner-right-closes .mg-cell--column-last:not(.mg-cell--center-last):not(.mg-cell--fixed-right-first){box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border.mg-grid--inner-right-closes .mg-header-cell--fixed-right-first.mg-header-cell--column-last,.magic-grid--border-border.mg-grid--inner-right-closes .mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-row--expanded-master .mg-cell{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-row--expanded-master .mg-cell--center-last{box-shadow:none}.magic-grid--border-border .mg-row--expanded-master .mg-cell--fixed-right-first:not(.mg-cell--column-last){box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-row--expanded-master .mg-cell--column-last:not(.mg-cell--center-last):not(.mg-cell--fixed-right-first){box-shadow:none}.magic-grid--border-border:not(.mg-grid--inner-right-closes) .mg-row--expanded-master .mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border)}.magic-grid--border-border.mg-grid--inner-right-closes .mg-row--expanded-master .mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border.mg-grid--inner-right-closes .mg-row--expanded-master .mg-cell--column-last:not(.mg-cell--center-last):not(.mg-cell--fixed-right-first){box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-full-width-row__content,.magic-grid--border-border .mg-row--full-width-embed.mg-row--detail .mg-full-width-row__content{box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.mg-grid--inner-right-closes .mg-full-width-row__content{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail:has(>.mg-row__lane--right .mg-cell--embed-spacer) .mg-full-width-row__content{box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail:not(:has(>.mg-row__lane--right .mg-cell--embed-spacer)) .mg-full-width-row__content{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--left .mg-cell--embed-spacer,.magic-grid--border-border .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--right .mg-cell--embed-spacer{box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--left .mg-cell--embed-spacer.mg-cell--index:not(.mg-cell--fixed-left-last),.magic-grid--border-border .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--left .mg-cell--embed-spacer.mg-cell--fixed-left-last{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--fixed-right-first:not(.mg-cell--column-last),.magic-grid--border-border .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--column-last:not(.mg-cell--fixed-right-first){box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--column-last:not(.mg-cell--fixed-right-first){box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-full-width-row--last .mg-full-width-row__content,.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--full-width-embed.mg-row--detail.mg-row--last .mg-full-width-row__content{box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes).mg-grid--inner-right-closes .mg-full-width-row--last .mg-full-width-row__content{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes).mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail.mg-row--last:has(>.mg-row__lane--right .mg-cell--embed-spacer) .mg-full-width-row__content{box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes).mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail.mg-row--last:not(:has(>.mg-row__lane--right .mg-cell--embed-spacer)) .mg-full-width-row__content{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--left .mg-cell--embed-spacer,.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--right .mg-cell--embed-spacer{box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--left .mg-cell--embed-spacer.mg-cell--index:not(.mg-cell--fixed-left-last),.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--left .mg-cell--embed-spacer.mg-cell--fixed-left-last{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--fixed-right-first:not(.mg-cell--column-last),.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-full-width-row--last .mg-full-width-row__content,.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--full-width-embed.mg-row--detail.mg-row--last .mg-full-width-row__content{box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer).mg-grid--inner-right-closes .mg-full-width-row--last .mg-full-width-row__content{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer).mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail.mg-row--last:has(>.mg-row__lane--right .mg-cell--embed-spacer) .mg-full-width-row__content{box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer).mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail.mg-row--last:not(:has(>.mg-row__lane--right .mg-cell--embed-spacer)) .mg-full-width-row__content{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--left .mg-cell--embed-spacer,.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--right .mg-cell--embed-spacer{box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--left .mg-cell--embed-spacer.mg-cell--index:not(.mg-cell--fixed-left-last),.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--left .mg-cell--embed-spacer.mg-cell--fixed-left-last{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--fixed-right-first:not(.mg-cell--column-last),.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes).mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes).mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--column-last:not(.mg-cell--fixed-right-first){box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer).mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer).mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--column-last:not(.mg-cell--fixed-right-first){box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-linear{border:none}.magic-grid--border-linear .mg-header-viewport{border-bottom:none}.magic-grid--border-linear.magic-grid--has-footer .mg-footer-viewport{border-top:none}.magic-grid--border-linear .mg-header-cell,.magic-grid--border-linear .mg-cell,.magic-grid--border-linear .mg-footer-cell,.magic-grid--border-linear .mg-header-row:after,.magic-grid--border-linear .mg-header-span,.magic-grid--border-linear .mg-header-gutter,.magic-grid--border-linear .mg-header-viewport:after{box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-linear .mg-footer-row:after,.magic-grid--border-linear .mg-footer-span,.magic-grid--border-linear .mg-footer-gutter,.magic-grid--border-linear .mg-footer-viewport:after{box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-linear .mg-row--expanded-master .mg-cell{box-shadow:none}.magic-grid--border-linear .mg-full-width-row__content,.magic-grid--border-linear .mg-row--full-width-embed.mg-row--detail .mg-full-width-row__content,.magic-grid--border-linear .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--left .mg-cell--embed-spacer,.magic-grid--border-linear .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--right .mg-cell--embed-spacer{box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-linear .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--left .mg-cell--embed-spacer.mg-cell--index:not(.mg-cell--fixed-left-last),.magic-grid--border-linear .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--left .mg-cell--embed-spacer.mg-cell--fixed-left-last{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-linear .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--fixed-right-first{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-linear .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--column-last:not(.mg-cell--fixed-right-first){box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.mg-header-cell--align-h-left,.mg-footer-cell--align-h-left,.mg-cell--align-h-left:not(.mg-cell--editing){text-align:left}.mg-header-cell--align-h-center,.mg-footer-cell--align-h-center,.mg-cell--align-h-center:not(.mg-cell--editing){text-align:center}.mg-header-cell--align-h-right,.mg-footer-cell--align-h-right,.mg-cell--align-h-right:not(.mg-cell--editing){text-align:right}.mg-header-cell--align-v-top,.mg-footer-cell--align-v-top,.mg-cell--align-v-top:not(.mg-cell--editing){align-items:flex-start}.mg-header-cell--align-v-center,.mg-footer-cell--align-v-center,.mg-cell--align-v-center:not(.mg-cell--editing){align-items:center}.mg-header-cell--align-v-bottom,.mg-footer-cell--align-v-bottom,.mg-cell--align-v-bottom:not(.mg-cell--editing){align-items:flex-end}.mg-cell--align-h-left .mg-cell-editor,.mg-cell--align-h-left .mg-cell-editor-host .mg-cell-editor,.mg-cell--align-h-left .mg-cell-editor-host input,.mg-cell--align-h-left .mg-cell-editor-host textarea,.mg-cell--align-h-left .mg-cell-editor-host select{text-align:left}.mg-cell--align-h-center .mg-cell-editor,.mg-cell--align-h-center .mg-cell-editor-host .mg-cell-editor,.mg-cell--align-h-center .mg-cell-editor-host input,.mg-cell--align-h-center .mg-cell-editor-host textarea,.mg-cell--align-h-center .mg-cell-editor-host select{text-align:center}.mg-cell--align-h-right .mg-cell-editor,.mg-cell--align-h-right .mg-cell-editor-host .mg-cell-editor,.mg-cell--align-h-right .mg-cell-editor-host input,.mg-cell--align-h-right .mg-cell-editor-host textarea,.mg-cell--align-h-right .mg-cell-editor-host select{text-align:right}.mg-cell__text[hidden],.mg-cell__renderer[hidden],.mg-cell__inline-editor[hidden],.mg-footer-cell__text[hidden],.mg-footer-cell__renderer[hidden]{display:none!important}.mg-cell__text:not([hidden]),.mg-cell__renderer:not([hidden]),.mg-cell__inline-editor:not([hidden]),.mg-footer-cell__text:not([hidden]),.mg-footer-cell__renderer:not([hidden]){flex:auto;width:100%;min-width:0;min-height:0;overflow:hidden}.mg-header-cell__text,.mg-cell__text:not([hidden]),.mg-footer-cell__text:not([hidden]){text-overflow:ellipsis;white-space:nowrap;display:block}.mg-header-cell__text{flex:auto;width:100%;min-width:0;overflow:hidden}.mg-cell__renderer:not([hidden]),.mg-cell__inline-editor:not([hidden]),.mg-footer-cell__renderer:not([hidden]){height:100%;display:flex}.mg-cell--align-h-left:not(.mg-cell--editing) .mg-cell__text:not([hidden]),.mg-footer-cell--align-h-left .mg-footer-cell__text:not([hidden]){text-align:left}.mg-cell--align-h-center:not(.mg-cell--editing) .mg-cell__text:not([hidden]),.mg-footer-cell--align-h-center .mg-footer-cell__text:not([hidden]){text-align:center}.mg-cell--align-h-right:not(.mg-cell--editing) .mg-cell__text:not([hidden]),.mg-footer-cell--align-h-right .mg-footer-cell__text:not([hidden]){text-align:right}.mg-cell--align-h-left .mg-cell__renderer:not([hidden]),.mg-cell--align-h-left .mg-cell__inline-editor:not([hidden]),.mg-footer-cell--align-h-left .mg-footer-cell__renderer:not([hidden]){justify-content:flex-start}.mg-cell--align-h-center .mg-cell__renderer:not([hidden]),.mg-cell--align-h-center .mg-cell__inline-editor:not([hidden]),.mg-footer-cell--align-h-center .mg-footer-cell__renderer:not([hidden]){justify-content:center}.mg-cell--align-h-right .mg-cell__renderer:not([hidden]),.mg-cell--align-h-right .mg-cell__inline-editor:not([hidden]),.mg-footer-cell--align-h-right .mg-footer-cell__renderer:not([hidden]){justify-content:flex-end}.mg-cell--align-v-top:not(.mg-cell--editing) .mg-cell__text:not([hidden]),.mg-footer-cell--align-v-top .mg-footer-cell__text:not([hidden]){align-self:flex-start}.mg-cell--align-v-center:not(.mg-cell--editing) .mg-cell__text:not([hidden]),.mg-footer-cell--align-v-center .mg-footer-cell__text:not([hidden]){align-self:center}.mg-cell--align-v-bottom:not(.mg-cell--editing) .mg-cell__text:not([hidden]),.mg-footer-cell--align-v-bottom .mg-footer-cell__text:not([hidden]){align-self:flex-end}.mg-cell--align-v-top .mg-cell__renderer:not([hidden]),.mg-cell--align-v-top .mg-cell__inline-editor:not([hidden]),.mg-footer-cell--align-v-top .mg-footer-cell__renderer:not([hidden]){align-items:flex-start}.mg-cell--align-v-center .mg-cell__renderer:not([hidden]),.mg-cell--align-v-center .mg-cell__inline-editor:not([hidden]),.mg-footer-cell--align-v-center .mg-footer-cell__renderer:not([hidden]){align-items:center}.mg-cell--align-v-bottom .mg-cell__renderer:not([hidden]),.mg-cell--align-v-bottom .mg-cell__inline-editor:not([hidden]),.mg-footer-cell--align-v-bottom .mg-footer-cell__renderer:not([hidden]){align-items:flex-end}.magic-grid{--mg-color-sort-icon:#c0c4cc;--mg-color-sort-active:var(--mg-color-primary);--mg-sort-icon-size:14px;--mg-sort-icon-gap:2px}.mg-header-cell--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.mg-header-cell--sortable .mg-header-cell__label{cursor:pointer}.mg-header-cell--sorted .mg-header-cell__text{color:var(--mg-color-text-primary)}.mg-header-cell__sort{align-self:center;align-items:center;gap:var(--mg-sort-icon-gap);pointer-events:none;flex-direction:column;flex:none;line-height:1;display:inline-flex}.mg-sort-icon{width:var(--mg-sort-icon-size);height:var(--mg-sort-icon-size);color:var(--mg-color-sort-icon);opacity:.45;flex-shrink:0;transition:opacity .12s,color .12s;display:block}.mg-header-cell--sorted-asc .mg-sort-icon--asc,.mg-header-cell--sorted-desc .mg-sort-icon--desc{color:var(--mg-color-sort-active);opacity:1}.mg-header-cell--sort-hint:not(.mg-header-cell--sorted) .mg-header-cell__sort{visibility:hidden}.mg-header-cell--sort-hint:not(.mg-header-cell--sorted):hover .mg-header-cell__sort{visibility:visible}.mg-header-cell--sort-hint:not(.mg-header-cell--sorted):hover .mg-sort-icon{color:color-mix(in srgb, var(--mg-color-sort-icon) 80%, var(--mg-color-primary));opacity:.75}.mg-header-cell--sortable.mg-header-cell--focused.mg-header-cell--sorted-asc .mg-sort-icon--asc,.mg-header-cell--sortable.mg-header-cell--focused.mg-header-cell--sorted-desc .mg-sort-icon--desc{opacity:1}.mg-header-cell--sortable.mg-header-cell--focused.mg-header-cell--sort-hint:not(.mg-header-cell--sorted) .mg-header-cell__sort{visibility:visible}.mg-header-cell--sortable:active.mg-header-cell--focused:before{box-shadow:none}.mg-header-cell--sortable:active.mg-header-cell--range-highlight{background-color:var(--mg-color-bg-header)!important}.magic-grid{--mg-header-label-gap:1px;--mg-header-chrome-edge-inset:2px;--mg-color-column-handle:color-mix(in srgb, var(--mg-color-text-regular) 45%, transparent);--mg-color-column-handle-hover-bg:color-mix(in srgb, var(--mg-color-text-regular) 10%, transparent)}.mg-header-cell{position:relative}.mg-header-cell__label{align-items:center;gap:var(--mg-header-label-gap);flex:auto;min-width:0;display:inline-flex}.mg-header-cell__label .mg-header-cell__text{flex:0 auto;width:auto}.mg-header-cell__chrome{flex:none;align-items:center;display:inline-flex}.mg-header-cell__column-handle{opacity:.55;pointer-events:auto;cursor:pointer;border-radius:var(--mg-border-radius);flex:none;justify-content:center;align-items:center;padding:2px;line-height:0;transition:opacity .12s,background-color .12s;display:inline-flex}.mg-header-cell__column-handle:hover{opacity:1;background-color:var(--mg-color-column-handle-hover-bg)}.mg-header-cell__column-handle[aria-pressed=true]{opacity:1;color:var(--mg-color-primary)}.mg-header-cell--filtered .mg-header-icon--column-handle{color:var(--mg-color-primary)}.mg-header-icon--column-handle{width:14px;height:14px;color:var(--mg-color-column-handle);display:block}.mg-header-cell--align-h-left .mg-header-cell__label,.mg-header-cell--align-h-center .mg-header-cell__label{justify-content:flex-start}.mg-header-cell--align-h-left .mg-header-cell__label .mg-header-cell__text,.mg-header-cell--align-h-center .mg-header-cell__label .mg-header-cell__text{text-align:left}.mg-header-cell--align-h-left.mg-header-cell--has-column-handle .mg-header-cell__chrome,.mg-header-cell--align-h-center.mg-header-cell--has-column-handle .mg-header-cell__chrome{margin-left:auto;margin-right:calc(-1 * (var(--mg-cell-padding-x) - var(--mg-header-chrome-edge-inset)))}.mg-header-cell--align-h-center{justify-content:center}.mg-header-cell--align-h-center .mg-header-cell__label{flex:0 auto;justify-content:center}.mg-header-cell--align-h-center .mg-header-cell__label .mg-header-cell__text{text-align:center}.mg-header-cell--align-h-center.mg-header-cell--has-column-handle .mg-header-cell__chrome{right:var(--mg-header-chrome-edge-inset);margin-right:0;position:absolute;top:50%;transform:translateY(-50%)}.mg-header-cell--align-h-right .mg-header-cell__label{justify-content:flex-end}.mg-header-cell--align-h-right .mg-header-cell__label .mg-header-cell__text{text-align:right}.mg-header-cell--align-h-right.mg-header-cell--has-column-handle .mg-header-cell__chrome{margin-left:calc(-1 * (var(--mg-cell-padding-x) - var(--mg-header-chrome-edge-inset)))}.magic-grid{--mg-header-resize-handle-width:8px;--mg-header-resize-handle-offset:-3px;--mg-header-resize-handle-line-width:3px;--mg-header-resize-handle-line-color:var(--mg-color-border);--mg-header-resize-handle-line-color-hover:var(--mg-color-primary);--mg-header-resize-handle-line-color-active:var(--mg-color-primary)}.mg-header-cell__resize-handle{z-index:3;height:100%;width:var(--mg-header-resize-handle-width);top:0;right:var(--mg-header-resize-handle-offset);cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute}.mg-header-cell__resize-handle:after{content:"";z-index:5;height:100%;top:0;right:calc(-1 * var(--mg-header-resize-handle-offset) + var(--mg-header-resize-line-inset,0));width:var(--mg-header-resize-handle-line-width);background-color:var(--mg-header-resize-handle-line-color);pointer-events:none;opacity:0;position:absolute}.mg-header-cell--resizable:hover{z-index:4;overflow:visible}.mg-header-cell--resizable:hover .mg-header-cell__resize-handle:after{opacity:1}.mg-header-cell--resizable:hover .mg-header-cell__resize-handle:hover:after{background-color:var(--mg-header-resize-handle-line-color-hover)}.mg-root--column-resizing .mg-header-cell[data-column-resize-active]{z-index:5;overflow:visible}.mg-root--column-resizing .mg-header-cell[data-column-resize-active] .mg-header-cell__resize-handle:after{opacity:1;background-color:var(--mg-header-resize-handle-line-color-active)}.magic-grid--border-border{--mg-header-resize-line-inset:var(--mg-border-width)}.magic-grid--border-border .mg-header-cell--resizable:hover:not(.mg-header-cell--center-last):not(.mg-header-cell--column-last),.magic-grid--border-border .mg-header-cell--resizable[data-column-resize-active]:not(.mg-header-cell--center-last):not(.mg-header-cell--column-last){box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-header-cell--fixed-right-first.mg-header-cell--resizable:hover:not(.mg-header-cell--column-last),.magic-grid--border-border .mg-header-cell--fixed-right-first.mg-header-cell--resizable[data-column-resize-active]:not(.mg-header-cell--column-last){box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.mg-root--column-resizing{-webkit-user-select:none;user-select:none;cursor:col-resize!important}.mg-root--column-resizing .mg-header-cell__resize-handle{cursor:col-resize}.magic-grid{--mg-color-column-drag-ghost-bg:var(--mg-color-bg);--mg-color-column-drag-ghost-border:var(--mg-color-border);--mg-color-column-drag-ghost-icon:var(--mg-color-text-secondary);--mg-column-drag-ghost-gap:var(--mg-cell-padding-x);--mg-color-column-drop-indicator:var(--mg-color-primary);--mg-column-dragging-opacity:.42;--mg-column-drop-indicator-width:2px;--mg-column-drag-ghost-z-index:30;--mg-column-drop-indicator-z-index:29;--mg-column-move-duration:.2s}.mg-root:not(.magic-grid--suppress-column-move-animation):not(.magic-grid--column-move-live) .mg-header-cell,.mg-root:not(.magic-grid--suppress-column-move-animation):not(.magic-grid--column-move-live) .mg-cell,.mg-root:not(.magic-grid--suppress-column-move-animation):not(.magic-grid--column-move-live) .mg-footer-cell{transition:left var(--mg-column-move-duration) ease}.mg-header-cell--movable{-webkit-user-select:none;user-select:none}.mg-header-cell--movable .mg-header-cell__column-handle:active{cursor:grabbing}.mg-header-cell--movable.mg-header-cell--sortable{cursor:default}.mg-header-cell--movable.mg-header-cell--sortable .mg-header-cell__label{cursor:pointer}.mg-header-cell--dragging{cursor:grabbing;opacity:var(--mg-column-dragging-opacity);pointer-events:none}.mg-column-drag-ghost{z-index:var(--mg-column-drag-ghost-z-index);box-sizing:border-box;align-items:center;gap:var(--mg-column-drag-ghost-gap);padding:0 var(--mg-cell-padding-x);height:var(--mg-header-height);font-weight:400;font-size:var(--mg-font-size);font-family:var(--mg-font-family);color:var(--mg-color-text-primary);background-color:var(--mg-color-column-drag-ghost-bg,#fff);border:1px solid var(--mg-color-column-drag-ghost-border);border-radius:var(--mg-border-radius);pointer-events:none;white-space:nowrap;line-height:1;display:flex;position:fixed;overflow:hidden;box-shadow:0 1px 2px #0000000f,0 4px 12px #00000014}.mg-column-drag-ghost__icon{color:var(--mg-color-column-drag-ghost-icon);flex:none;align-items:center;line-height:0;display:inline-flex}.mg-column-drag-ghost__move-icon{width:1em;height:1em;display:block}.mg-column-drag-ghost__label{text-overflow:ellipsis;min-width:0;overflow:hidden}.mg-column-drop-indicator{z-index:var(--mg-column-drop-indicator-z-index);width:var(--mg-column-drop-indicator-width);background:var(--mg-color-column-drop-indicator);pointer-events:none;box-shadow:0 0 0 1px color-mix(in srgb, var(--mg-color-column-drop-indicator) 25%, transparent);border-radius:1px;position:fixed}.mg-header-viewport--column-dragging,.mg-header-viewport--column-dragging .mg-header-cell--movable:not(.mg-header-cell--dragging){cursor:grabbing}.magic-grid{--mg-column-handle-menu-z-index:35;--mg-column-handle-menu-min-width:168px;--mg-column-handle-menu-shadow:0 1px 2px #0000000f, 0 4px 12px #00000014;--mg-color-column-handle-menu-bg:var(--mg-color-bg);--mg-color-column-handle-menu-border:var(--mg-color-border);--mg-color-column-handle-menu-heading:var(--mg-color-text-secondary);--mg-color-column-handle-menu-item-hover:color-mix(in srgb, var(--mg-color-text-regular) 8%, transparent);--mg-color-column-handle-menu-item-checked:color-mix(in srgb, var(--mg-color-primary) 12%, transparent)}.mg-column-handle-menu-portal{z-index:var(--mg-column-handle-menu-z-index);pointer-events:none;position:fixed;inset:0}.mg-column-handle-menu{box-sizing:border-box;min-width:var(--mg-column-handle-menu-min-width);border:1px solid var(--mg-color-column-handle-menu-border);border-radius:var(--mg-border-radius);background:var(--mg-color-column-handle-menu-bg);box-shadow:var(--mg-column-handle-menu-shadow);pointer-events:auto;font-size:var(--mg-font-size);font-family:var(--mg-font-family);color:var(--mg-color-text-regular);padding:4px 0;position:fixed}.mg-column-handle-menu__heading{color:var(--mg-color-column-handle-menu-heading);-webkit-user-select:none;user-select:none;padding:6px 12px 4px;font-size:12px;font-weight:600}.mg-column-handle-menu__item{box-sizing:border-box;text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:6px 12px;display:flex}.mg-column-handle-menu__item:hover{background:var(--mg-color-column-handle-menu-item-hover)}.mg-column-handle-menu__item--checked,.mg-column-handle-menu__item[aria-checked=true]{background:var(--mg-color-column-handle-menu-item-checked);font-weight:600}.mg-column-handle-menu__item-content{flex:auto;align-items:center;gap:8px;min-width:0;display:inline-flex}.mg-column-handle-menu__item-label{min-width:0}.mg-column-handle-menu__icon,.mg-column-handle-menu__item-content .mg-sort-icon{color:var(--mg-color-text-secondary);flex:none}.mg-column-handle-menu__item--checked .mg-column-handle-menu__icon,.mg-column-handle-menu__item--checked .mg-sort-icon,.mg-column-handle-menu__item[aria-checked=true] .mg-column-handle-menu__icon,.mg-column-handle-menu__item[aria-checked=true] .mg-sort-icon{color:var(--mg-color-primary)}.mg-column-handle-menu__item--submenu-trigger{justify-content:space-between}.mg-column-handle-menu__item--submenu-trigger .mg-column-handle-menu__icon--chevron{color:var(--mg-color-text-secondary);flex:none}.mg-column-handle-menu__submenu{position:relative}.mg-column-handle-menu__submenu-panel{z-index:1;min-width:var(--mg-column-handle-menu-min-width);border:1px solid var(--mg-color-column-handle-menu-border);border-radius:var(--mg-border-radius);background:var(--mg-color-column-handle-menu-bg);box-shadow:var(--mg-column-handle-menu-shadow);padding:4px 0;position:absolute;top:0;left:100%}.mg-column-handle-menu__submenu-panel--flip{left:auto;right:100%}.mg-column-handle-menu__submenu--open>.mg-column-handle-menu__item--submenu-trigger,.mg-column-handle-menu__submenu-panel .mg-column-handle-menu__item:hover{background:var(--mg-color-column-handle-menu-item-hover)}.mg-column-handle-menu__divider{background:var(--mg-color-column-handle-menu-border);height:1px;margin:4px 0}.mg-column-handle-menu__filter-panel{flex-direction:column;gap:6px;padding:0 12px 8px;display:flex}.mg-column-handle-menu__filter-type,.mg-column-handle-menu__filter-input,.mg-column-handle-menu__filter-input-to{box-sizing:border-box;border:1px solid var(--mg-color-column-handle-menu-border);border-radius:var(--mg-border-radius);width:100%;font:inherit;color:inherit;background:var(--mg-color-bg);padding:4px 8px}.mg-column-handle-menu__filter-notice{color:var(--mg-color-column-handle-menu-heading);padding:0 12px 8px;font-size:12px}.mg-column-handle-menu__filter-panel .mg-column-handle-menu__item{padding-left:0;padding-right:0}.mg-column-handle-menu__filter-actions{justify-content:flex-end;padding-top:2px;display:flex}.mg-column-handle-menu__filter-reset{box-sizing:border-box;border-radius:var(--mg-border-radius);width:auto;font:inherit;color:#fff;background:var(--mg-color-primary);cursor:pointer;border:none;padding:4px 12px;font-weight:600;line-height:1.4}.mg-column-handle-menu__filter-reset:hover{background:color-mix(in srgb, var(--mg-color-primary) 88%, #000)}.mg-column-handle-menu__filter-group,.mg-column-handle-menu__filter-operator-panel{flex-direction:column;gap:6px;display:flex}.mg-column-handle-menu__filter-operator-logic{border:none;justify-content:center;align-items:center;gap:16px;margin:0;padding:0;display:flex}.mg-column-handle-menu__filter-operator-logic[hidden],.mg-column-handle-menu__filter-condition-row--secondary[hidden]{display:none!important}.mg-column-handle-menu__filter-operator-logic-option{cursor:pointer;align-items:center;gap:6px;font-size:12px;line-height:16px;display:inline-flex}.mg-column-handle-menu__filter-operator-logic-option input[type=radio]{box-sizing:border-box;width:14px;height:14px;accent-color:var(--mg-color-primary);flex-shrink:0;margin:0}.mg-column-handle-menu__filter-conditions{flex-direction:column;gap:8px;display:flex}.mg-column-handle-menu__filter-condition-row{flex-direction:column;gap:4px;display:flex}.mg-column-handle-menu__filter-condition-row--secondary{margin:0;padding:0}.mg-column-handle-menu__filter-group-heading{color:var(--mg-color-column-handle-menu-heading);font-size:12px;font-weight:600}.mg-column-handle-menu__filter-set-panel{flex-direction:column;gap:4px;display:flex}.mg-column-handle-menu__filter-set-search,.mg-column-handle-menu__filter-set-mode,.mg-column-handle-menu__filter-set-layout{box-sizing:border-box;border:1px solid var(--mg-color-column-handle-menu-border);border-radius:var(--mg-border-radius);width:100%;font:inherit;color:inherit;background:var(--mg-color-bg);padding:4px 8px}.mg-column-handle-menu__filter-set-search,.mg-column-handle-menu__filter-set-select-all{flex:none}.mg-column-handle-menu__filter-set-list{max-height:160px;overflow:auto}.mg-column-handle-menu__filter-set-list-spacer{width:100%;position:relative}.mg-column-handle-menu__filter-set-list-window{width:100%;position:absolute;top:0;left:0}.mg-column-handle-menu__filter-set-option{box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;height:28px;padding:0;display:flex}.mg-column-handle-menu__filter-set-option input{flex:none;margin:0}.mg-column-handle-menu__filter-set-option span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mg-column-handle-menu__filter-set-empty,.mg-column-handle-menu__filter-set-notice{color:var(--mg-color-column-handle-menu-heading);font-size:12px}.mg-column-handle-menu__filter-set-list-host{flex-direction:column;min-height:0;display:flex}.mg-column-handle-menu__filter-set-tree-row{box-sizing:border-box;align-items:center;gap:6px;min-width:0;display:flex}.mg-column-handle-menu__filter-set-tree-toggle{border:1px solid var(--mg-color-column-handle-menu-border);border-radius:calc(var(--mg-border-radius) / 2);background:var(--mg-color-bg);width:16px;height:16px;color:var(--mg-color-text-regular);font:inherit;cursor:pointer;flex:0 0 16px;padding:0;font-size:12px;line-height:1}.mg-column-handle-menu__filter-set-tree-toggle:hover{background:var(--mg-color-column-handle-menu-item-hover)}.mg-column-handle-menu__filter-set-tree-toggle-spacer{flex:0 0 16px;width:16px;height:16px}.mg-column-handle-menu__filter-set-tree-option{cursor:pointer;-webkit-user-select:none;user-select:none;flex:auto;align-items:center;gap:8px;min-width:0;display:flex}.mg-column-handle-menu__filter-set-tree-option input{flex:none;margin:0}.mg-column-handle-menu__filter-set-tree-option span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mg-header-cell__column-handle[aria-expanded=true]{background-color:var(--mg-color-column-handle-hover-bg)}.magic-grid,.mg-column-settings-button,.mg-column-settings-portal,.mg-column-settings{--mg-z-column-settings:34;--mg-column-settings-min-width:320px;--mg-column-settings-max-width:400px;--mg-column-settings-max-height:70vh;--mg-column-settings-shadow:0 8px 24px #0f172a1f;--mg-color-column-settings-bg:var(--mg-color-bg,#fff);--mg-color-column-settings-border:var(--mg-color-border,#d1d5db);--mg-color-column-settings-text:var(--mg-color-text-regular,var(--mg-color-text,#111827));--mg-color-column-settings-text-secondary:var(--mg-color-text-secondary,#6b7280);--mg-color-column-settings-bg-subtle:color-mix(in srgb, var(--mg-color-column-settings-text) 6%, transparent);--mg-color-column-settings-primary:var(--mg-color-primary,#2563eb);--mg-color-column-settings-primary-soft:color-mix(in srgb, var(--mg-color-column-settings-primary) 12%, transparent);--mg-color-column-settings-pinned-bg:color-mix(in srgb, var(--mg-color-column-settings-text) 5%, var(--mg-color-column-settings-bg))}.magic-grid.mg-theme-dark{--mg-column-settings-shadow:0 8px 24px #00000073;--mg-color-column-settings-bg-subtle:color-mix(in srgb, var(--mg-color-text-regular) 10%, transparent);--mg-color-column-settings-pinned-bg:color-mix(in srgb, var(--mg-color-text-regular) 9%, var(--mg-color-column-settings-bg))}.mg-column-settings-portal{z-index:var(--mg-z-column-settings,34);position:relative}.mg-column-settings-button__trigger:hover:not(:disabled){background:var(--mg-color-column-settings-bg-subtle)}.mg-column-settings-menu{box-sizing:border-box;border:1px solid var(--mg-color-column-settings-border,#d1d5db);background:var(--mg-color-column-settings-bg,#fff);min-width:168px;box-shadow:var(--mg-column-settings-shadow,0 8px 24px #0f172a1f);font-size:var(--mg-font-size,14px);font-family:var(--mg-font-family,inherit);color:var(--mg-color-column-settings-text,#111827);border-radius:6px;padding:4px 0}.mg-column-settings-menu__item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.mg-column-settings-menu__item:hover{background:var(--mg-color-column-settings-bg-subtle)}.mg-column-settings-menu__item-icon{color:var(--mg-color-column-settings-text-secondary);flex-shrink:0;display:block}.mg-column-settings-menu__item-label{flex:1;min-width:0}.mg-column-settings-menu__item-leading{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.mg-column-settings-menu__item--submenu-trigger{justify-content:space-between}.mg-column-settings-menu__item-chevron{color:var(--mg-color-column-settings-text-secondary);flex-shrink:0;display:block}.mg-column-settings-menu__submenu{position:relative}.mg-column-settings-menu__submenu-panel{z-index:1;box-sizing:border-box;border:1px solid var(--mg-color-column-settings-border);background:var(--mg-color-column-settings-bg);min-width:168px;box-shadow:var(--mg-column-settings-shadow);border-radius:6px;padding:4px 0;position:absolute;top:0;left:100%}.mg-column-settings-menu__submenu-panel--flip{left:auto;right:100%}.mg-column-settings-menu__submenu--open>.mg-column-settings-menu__item--submenu-trigger,.mg-column-settings-menu__submenu-panel .mg-column-settings-menu__item:hover{background:var(--mg-color-column-settings-bg-subtle)}.mg-column-settings-menu__divider{background:var(--mg-color-column-settings-border);height:1px;margin:4px 0}.mg-column-settings-menu__custom :slotted(.mg-column-settings-menu__item){width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.mg-column-settings-menu__custom :slotted(.mg-column-settings-menu__item:hover){background:var(--mg-color-column-settings-bg-subtle)}.mg-column-settings-menu__custom :slotted(.mg-column-settings-menu__item-icon){color:var(--mg-color-column-settings-text-secondary);flex-shrink:0;align-items:center;display:flex}.mg-column-settings-menu__icon-svg{display:block}.mg-column-settings-popover{position:fixed;top:0;left:0}.mg-column-settings-button{display:inline-flex}.mg-column-settings-button__trigger{box-sizing:border-box;width:var(--mg-column-settings-button-size,var(--mg-status-bar-height,32px));min-width:var(--mg-column-settings-button-size,var(--mg-status-bar-height,32px));height:var(--mg-column-settings-button-size,var(--mg-status-bar-height,32px));border:1px solid var(--mg-color-column-settings-border,#d1d5db);border-radius:var(--mg-border-radius,6px);background:var(--mg-color-column-settings-bg,#fff);color:var(--mg-color-column-settings-text,#111827);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.mg-column-settings-button__trigger:disabled{opacity:.45;cursor:not-allowed}.mg-column-settings-button__icon{width:var(--mg-column-settings-button-icon-size,16px);height:var(--mg-column-settings-button-icon-size,16px);flex-shrink:0;display:block}.mg-column-settings{min-width:var(--mg-column-settings-min-width);max-width:var(--mg-column-settings-max-width);max-height:var(--mg-column-settings-max-height);background:var(--mg-color-column-settings-bg);color:var(--mg-color-column-settings-text);border:1px solid var(--mg-color-column-settings-border);box-shadow:var(--mg-column-settings-shadow);font-family:var(--mg-font-family);font-size:var(--mg-font-size);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.mg-column-settings__header{border-bottom:1px solid var(--mg-color-column-settings-border);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.mg-column-settings__header-leading{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.mg-column-settings__title-group{flex:none;align-items:center;gap:6px;display:inline-flex}.mg-column-settings__title-icon{color:var(--mg-color-column-settings-text);flex-shrink:0;display:block}.mg-column-settings__title{flex:none;margin:0;font-size:14px;font-weight:600;line-height:1.2}.mg-column-settings__close{width:28px;height:28px;color:var(--mg-color-column-settings-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;padding:0;font-size:18px;line-height:1}.mg-column-settings__close:hover{background:var(--mg-color-column-settings-bg-subtle)}.mg-column-settings__body{flex:1;min-height:0;padding:12px;overflow:auto}.mg-column-settings__clear-filters{border:1px solid var(--mg-color-column-settings-border);background:var(--mg-color-column-settings-bg);min-height:24px;color:var(--mg-color-column-settings-text);cursor:pointer;white-space:nowrap;border-radius:4px;flex:none;padding:0 8px;font-size:12px;line-height:1}.mg-column-settings__clear-filters:disabled{opacity:.45;cursor:not-allowed}.mg-column-settings__group-heading,.mg-column-settings__hidden-toggle{color:var(--mg-color-column-settings-text-secondary);font-size:12px;font-weight:600}.mg-column-settings__row{border-radius:4px;flex-direction:column;gap:4px;min-height:32px;padding:4px 8px;display:flex}.mg-column-settings__row-main{flex-wrap:nowrap;align-items:center;gap:6px 2px;min-width:0;display:flex}.mg-column-settings__row-actions{flex-wrap:nowrap;flex:none;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.mg-column-settings__row--drag-over{background:var(--mg-color-column-settings-primary-soft)}.mg-column-settings__row--dragging{opacity:.55}.mg-column-settings__group--left .mg-column-settings__row,.mg-column-settings__group--right .mg-column-settings__row{background:var(--mg-color-column-settings-pinned-bg)}.mg-column-settings__row--filtered .mg-column-settings__row-label{color:var(--mg-color-column-settings-primary);font-weight:600}.mg-column-settings__drag-handle{cursor:grab;width:18px;color:var(--mg-color-column-settings-text-secondary);-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex}.mg-column-settings__drag-handle--disabled{opacity:.35;cursor:not-allowed}.mg-column-settings__row-label{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:0;overflow:hidden}.mg-column-settings__sort-button,.mg-column-settings__filter-button{border:1px solid var(--mg-color-column-settings-border);background:var(--mg-color-column-settings-bg);min-width:28px;height:24px;color:var(--mg-color-column-settings-text);cursor:pointer;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0 6px;font-size:12px;line-height:1;display:inline-flex}.mg-column-settings__filter-icon{flex-shrink:0;display:block}.mg-column-settings__filter-button--active,.mg-column-settings__sort-button--asc,.mg-column-settings__sort-button--desc{border-color:var(--mg-color-column-settings-primary);background:var(--mg-color-column-settings-primary-soft);color:var(--mg-color-column-settings-primary)}.mg-column-settings__pin-group{border:1px solid var(--mg-color-column-settings-border);background:var(--mg-color-column-settings-bg);border-radius:4px;flex:none;display:inline-flex;overflow:hidden}.mg-column-settings__pin-group .mg-column-settings__pin-button{border:none;border-right:1px solid var(--mg-color-column-settings-border);min-width:28px;height:24px;color:var(--mg-color-column-settings-text);cursor:pointer;background:0 0;border-radius:0;flex:none;padding:0 8px;font-size:12px;line-height:1}.mg-column-settings__pin-group .mg-column-settings__pin-button:last-child{border-right:none}.mg-column-settings__pin-group .mg-column-settings__pin-button--active{background:var(--mg-color-column-settings-primary-soft);color:var(--mg-color-column-settings-primary)}.mg-column-settings__pin-group .mg-column-settings__pin-button:hover:not(.mg-column-settings__pin-button--active){background:var(--mg-color-column-settings-bg-subtle)}.mg-column-settings__visibility{color:var(--mg-color-column-settings-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:4px;font-size:12px;display:inline-flex}.mg-column-settings__filter-embed{border:1px solid var(--mg-color-column-settings-border);background:var(--mg-color-column-settings-bg-subtle);border-radius:4px;flex:0 0 100%;margin-top:4px;padding:8px}.mg-column-settings__groups{flex-direction:column;gap:12px;display:flex}.mg-column-settings__visible-lanes{flex-direction:column;gap:0;display:flex}.mg-column-settings__hidden-section{margin-top:0}.mg-column-settings__hidden-divider{align-items:center;gap:8px;margin-bottom:8px;display:flex}.mg-column-settings__hidden-divider-line{background:var(--mg-color-column-settings-border);flex:1;height:1px}.mg-column-settings__hidden-divider-center{flex:none;align-items:center;gap:8px;display:inline-flex}.mg-column-settings__hidden-toggle{min-height:24px;color:var(--mg-color-column-settings-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:12px;line-height:1;display:inline-flex}.mg-column-settings__hidden-toggle-icon{flex-shrink:0;display:block}.mg-column-settings__hidden-show-all{min-height:24px;color:var(--mg-color-column-settings-primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:0 6px;font-size:12px;line-height:1}.mg-column-settings__hidden-show-all:hover{background:var(--mg-color-column-settings-primary-soft)}.mg-column-settings__hidden-rows{flex-direction:column;gap:2px;display:flex}.mg-floating-filter-viewport{height:var(--mg-header-height);min-height:var(--mg-header-height);box-sizing:border-box;background:var(--mg-color-bg-header);border-bottom:1px solid var(--mg-color-border);flex-direction:row;flex:none;display:flex;position:relative;overflow:hidden}.mg-floating-filter-viewport:after{content:"";width:var(--mg-v-scrollbar-visual-overlay,0px);pointer-events:none;z-index:2;height:100%;position:absolute;top:0;right:0}.mg-floating-filter-scroll{flex-direction:row;flex:auto;min-width:0;height:100%;display:flex;overflow:hidden}.mg-floating-filter-span{background:var(--mg-color-bg-header);flex:1 0 0;align-self:stretch;min-width:0}.mg-floating-filter-gutter{flex:0 0 var(--mg-v-scrollbar-layout,0px);pointer-events:none;height:100%}.mg-floating-filter-row{height:var(--mg-header-height);min-height:var(--mg-header-height);background:var(--mg-color-bg-header);flex-direction:row;display:flex;position:relative}.mg-floating-filter-row:after{content:"";background:var(--mg-color-bg-header);flex:1 0 0;align-self:stretch;min-width:0}.mg-floating-filter-row__lane{flex:none;height:100%;position:relative;overflow:hidden}.mg-floating-filter-row__lane--left,.mg-floating-filter-row__lane--right{z-index:var(--mg-fixed-z-index);background:var(--mg-color-bg-header);position:sticky}.mg-floating-filter-row__lane--left{left:0}.mg-floating-filter-row__lane--right{order:1;right:0}.mg-floating-filter-row__lane--center{z-index:0}.mg-floating-filter-cell{box-sizing:border-box;padding:0 calc(var(--mg-cell-padding-x) / 2);height:var(--mg-header-height);align-items:center;display:flex;position:absolute;top:0}.mg-floating-filter-cell--fixed-left-last:after{content:"";pointer-events:none;width:0;box-shadow:var(--mg-fixed-shadow-left);position:absolute;top:0;bottom:0;left:100%}.mg-floating-filter-cell--fixed-right-first:after{content:"";pointer-events:none;width:0;box-shadow:var(--mg-fixed-shadow-right);position:absolute;top:0;bottom:0;right:100%}.mg-floating-filter-cell--active{background:color-mix(in srgb, var(--mg-color-primary) 8%, transparent)}.mg-floating-filter-cell__inner{align-items:center;width:100%;min-width:0;display:flex}.mg-floating-filter-cell__spacer{width:100%;min-width:0;height:100%;display:block}.mg-floating-filter-control{box-sizing:border-box;width:100%;min-width:0;height:var(--mg-cell-control-size);background:0 0;border:none;padding:0;display:block;position:relative}.mg-floating-filter-input{box-sizing:border-box;width:100%;min-width:0;height:100%;padding:0 calc(var(--mg-cell-control-size) + 2px) 0 8px;border:1px solid var(--mg-color-border);border-radius:calc(var(--mg-border-radius) / 2);background:var(--mg-color-bg);color:var(--mg-color-text-regular);font:inherit;appearance:none;display:block}.mg-floating-filter-input:focus{border-color:var(--mg-color-primary);outline:none}.mg-floating-filter-input:disabled{opacity:.55;cursor:not-allowed}.mg-floating-filter-input--readonly,.mg-floating-filter-input[readonly]{cursor:default;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none;border-style:dashed;border-color:color-mix(in srgb, var(--mg-color-border) 72%, transparent);background:color-mix(in srgb, var(--mg-color-text-secondary) 10%, var(--mg-color-bg));color:var(--mg-color-text-secondary);font-size:12px;overflow:hidden}.mg-floating-filter-input--readonly:focus,.mg-floating-filter-input[readonly]:focus{border-color:color-mix(in srgb, var(--mg-color-border) 72%, transparent)}.mg-floating-filter-button{box-sizing:border-box;width:var(--mg-cell-control-size);border-radius:0 calc(var(--mg-border-radius) / 2 - 1px) calc(var(--mg-border-radius) / 2 - 1px) 0;color:var(--mg-color-column-handle,color-mix(in srgb, var(--mg-color-text-regular) 45%, transparent));cursor:pointer;opacity:.5;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:1px;bottom:1px;right:1px}.mg-floating-filter-button .mg-header-icon--floating-filter{flex-shrink:0;display:block}.mg-floating-filter-button:hover{opacity:1;color:var(--mg-color-text-regular)}.mg-floating-filter-button--active{opacity:1;color:var(--mg-color-primary)}.mg-floating-filter-cell--active .mg-floating-filter-input:not([readonly]):not(.mg-floating-filter-input--readonly){border-color:color-mix(in srgb, var(--mg-color-primary) 45%, var(--mg-color-border))}.mg-floating-filter-cell--active .mg-floating-filter-input--readonly,.mg-floating-filter-cell--active .mg-floating-filter-input[readonly]{border-color:color-mix(in srgb, var(--mg-color-primary) 28%, var(--mg-color-border));background:color-mix(in srgb, var(--mg-color-primary) 7%, var(--mg-color-bg));color:var(--mg-color-text-regular)}.magic-grid{--mg-color-bg-status-bar:var(--mg-color-bg-header)}.mg-status-bar{box-sizing:border-box;height:var(--mg-status-bar-height);min-height:var(--mg-status-bar-height);max-height:var(--mg-status-bar-height);padding:0 var(--mg-spacing);font-size:var(--mg-status-bar-font-size,var(--mg-font-size));color:var(--mg-color-text-primary);background:var(--mg-color-bg-status-bar);border-top:var(--mg-border-width) solid var(--mg-color-border);flex:none;justify-content:flex-start;align-items:center;gap:0;line-height:1;display:flex;overflow:hidden}.mg-status-bar__region{align-items:center;gap:calc(var(--mg-spacing) / 2);flex:none;min-width:0;min-height:0;max-height:100%;display:flex}.mg-status-bar__region--left{justify-content:flex-start}.mg-status-bar__region--right{justify-content:flex-end}.mg-status-bar__separator{width:0;margin:0 calc(var(--mg-spacing) / 2);border-left:1px solid var(--mg-color-border-light);flex:none;align-self:stretch}.mg-status-bar__stretch{flex:auto;align-self:stretch;min-width:0}.mg-status-bar__panels{justify-content:flex-start;align-items:center;gap:calc(var(--mg-spacing) / 2);flex-wrap:nowrap;flex:0 auto;min-width:0;max-height:100%;display:flex;overflow:hidden}.mg-status-bar__panels--aggregation{font-variant-numeric:tabular-nums;flex:none;justify-content:flex-end}.mg-status-bar__panel{vertical-align:bottom;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;display:inline-block;overflow:hidden}.mg-status-bar__panel+.mg-status-bar__panel:before{content:"·";margin-right:calc(var(--mg-spacing) / 2);color:var(--mg-color-text-secondary)}.mg-status-bar [data-mg-tooltip-anchor]{vertical-align:bottom;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;display:inline-block;overflow:hidden}.magic-grid--border-none .mg-status-bar,.magic-grid--border-linear .mg-status-bar{border-top-color:var(--mg-color-border-light)}.magic-grid--has-footer.magic-grid--has-status-bar .mg-footer-viewport{border-bottom:none}.magic-grid,.mg-root{--mg-z-tooltip:24}.mg-tooltip{z-index:var(--mg-z-tooltip,24);max-width:420px;padding:calc(var(--mg-spacing,8px) * .75) calc(var(--mg-spacing,8px) * 1);border-radius:var(--mg-border-radius,4px);background:var(--mg-color-bg-overlay,#000000d9);color:var(--mg-color-text-inverse,#fff);pointer-events:none;box-sizing:border-box;position:fixed;box-shadow:0 4px 12px #00000026}.mg-tooltip--interactive{pointer-events:auto;-webkit-user-select:text;user-select:text}.mg-tooltip__text{white-space:pre-wrap;word-break:break-word;line-height:1.4;font-size:var(--mg-font-size,14px)}.magic-grid[data-theme=dark] .mg-tooltip,.mg-root[data-theme=dark]~.mg-tooltip,.mg-tooltip[data-theme=dark]{background:var(--mg-color-bg-overlay,#1e1e1ef5);color:var(--mg-color-text-primary,#e5eaf3)}.mg-header-gutter,.mg-footer-gutter,.mg-floating-filter-gutter,.mg-header-viewport:after,.mg-footer-viewport:after,.mg-floating-filter-viewport:after,.magic-grid--overlay-scrollbar .mg-header-viewport:after,.magic-grid--overlay-scrollbar .mg-footer-viewport:after,.magic-grid--overlay-scrollbar .mg-floating-filter-viewport:after{background:var(--mg-color-bg-header)}.magic-grid.magic-grid--theme-dark{--mg-color-bg:#141414;--mg-color-primary:#5460dd;--mg-color-success:#67c23a;--mg-color-danger:#f56c6c;--mg-color-warning:#e6a23c;--mg-color-info:#909399;--mg-color-text-primary:#e8e8e8;--mg-color-text-regular:#e0e0e0;--mg-color-text-secondary:#9aa0a6;--mg-color-border:#3a3f47;--mg-color-border-light:#32363d;--mg-color-bg-stripe:#1c1c1c;--mg-color-bg-header:#1a2332;--mg-color-bg-footer:#1a2332;--mg-color-bg-cell:#141414;--mg-color-bg-status-bar:#141414;--mg-color-column-drag-ghost-bg:var(--mg-color-bg-header);--mg-fixed-shadow-left:4px 0 8px -2px #00000073;--mg-fixed-shadow-right:-4px 0 8px -2px #00000073;--mg-column-handle-menu-shadow:0 1px 2px #00000059, 0 4px 12px #0006}.magic-grid.magic-grid--theme-dark .mg-body{--mg-color-bg-cell:#fff;--mg-color-bg-stripe:#f5f7fa;--mg-color-text-primary:#333;--mg-color-text-regular:#333;--mg-color-text-secondary:#9f9f9f;--mg-color-border:#d8d8d8;--mg-color-border-light:#d8d8d8;--mg-fixed-shadow-left:4px 0 8px -2px #0000001f;--mg-fixed-shadow-right:-4px 0 8px -2px #0000001f;color:#333}.magic-grid.magic-grid--theme-dark .mg-body .mg-cell--index:not(.mg-cell--index-focused){color:#e0e0e0}.magic-grid.magic-grid--theme-dark .mg-body .mg-cell--index:not(.mg-cell--index-focused) .mg-cell__text{color:inherit}.magic-grid.magic-grid--theme-dark .mg-body .mg-cell--selection{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.magic-grid{border-radius:var(--mg-border-radius);box-sizing:border-box;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.magic-grid__mount{flex:auto;width:100%;min-height:0}.magic-grid__portal{z-index:var(--mg-z-column-settings,34);pointer-events:none;flex:0 0 0;width:0;height:0;position:relative;overflow:visible}.magic-grid__portal>.mg-column-settings-portal{pointer-events:auto}.magic-grid__toolbar{border-bottom:1px solid var(--mg-color-border);background:var(--mg-color-bg);flex:none;justify-content:flex-end;align-items:center;gap:8px;padding:8px 12px;display:flex}.mg-root{background:var(--mg-color-bg);width:100%;height:100%;min-height:0;color:var(--mg-color-text-regular);font-family:var(--mg-font-family);font-size:var(--mg-font-size);flex-direction:column;display:flex}.mg-header-viewport{height:var(--mg-header-height);min-height:var(--mg-header-height);box-sizing:border-box;background:var(--mg-color-bg-header);flex-direction:row;flex:none;display:flex;position:relative;overflow:hidden}.mg-header-viewport:after{content:"";width:var(--mg-v-scrollbar-visual-overlay,0px);pointer-events:none;z-index:2;height:100%;position:absolute;top:0;right:0}.mg-header-scroll{flex-direction:row;flex:auto;min-width:0;height:100%;display:flex;overflow:hidden}.mg-header-span{background:var(--mg-color-bg-header);flex:1 0 0;align-self:stretch;min-width:0}.mg-header-gutter{flex:0 0 var(--mg-v-scrollbar-layout,0px);pointer-events:none;height:100%}.mg-header-row{height:var(--mg-header-height);min-height:var(--mg-header-height);background:var(--mg-color-bg-header);position:relative}.mg-header-cell{height:var(--mg-header-height);box-sizing:border-box;padding:0 var(--mg-cell-padding-x);white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:flex;position:absolute;top:0;overflow:hidden}.mg-header-cell--required,.mg-header-cell--invalid{color:var(--mg-color-danger)}.mg-header-cell--focused:before{content:"";pointer-events:none;z-index:2;box-shadow:inset 0 0 0 var(--mg-focus-ring-width) var(--mg-color-primary);position:absolute;inset:0}.mg-footer-viewport{height:var(--mg-summary-row-height);min-height:var(--mg-summary-row-height);box-sizing:border-box;background:var(--mg-color-bg-footer);flex-direction:row;flex:none;display:flex;position:relative;overflow:hidden}.mg-footer-viewport:after{content:"";width:var(--mg-v-scrollbar-visual-overlay,0px);pointer-events:none;z-index:2;height:100%;position:absolute;top:0;right:0}.mg-footer-scroll{flex-direction:row;flex:auto;min-width:0;height:100%;display:flex;overflow:hidden}.mg-footer-span{background:var(--mg-color-bg-footer);flex:1 0 0;align-self:stretch;min-width:0}.mg-footer-gutter{flex:0 0 var(--mg-v-scrollbar-layout,0px);pointer-events:none;height:100%}.mg-footer-row{height:var(--mg-summary-row-height);min-height:var(--mg-summary-row-height);background:var(--mg-color-bg-footer);position:relative}.mg-footer-cell{box-sizing:border-box;padding:0 var(--mg-cell-padding-x);white-space:nowrap;height:var(--mg-summary-row-height);font-weight:600;display:flex;position:absolute;top:0;overflow:hidden}.mg-footer-cell--focused:before{content:"";pointer-events:none;z-index:2;box-shadow:inset 0 0 0 var(--mg-focus-ring-width) var(--mg-color-primary);position:absolute;inset:0}.mg-body{flex:auto;min-height:0;position:relative}.mg-viewport{-webkit-user-select:none;user-select:none;background:var(--mg-color-bg);width:100%;height:100%;position:relative;overflow:auto}.mg-viewport:focus{outline:none}.mg-spacer{width:100%;position:relative}.mg-spacer--compressed{pointer-events:none}.mg-scroll-phantom{pointer-events:none;width:100%;height:0}.mg-scroll-phantom--active{flex-shrink:0}.mg-rows-layer{width:100%;position:absolute;top:0;left:0}.mg-rows-layer--compressed{width:100%;height:var(--mg-viewport-px);z-index:1;pointer-events:auto;position:sticky;top:0;overflow:hidden}.mg-rows-container{width:100%;position:absolute;top:0;left:0}.mg-spanned-rows-container{pointer-events:none;z-index:1;width:100%;position:absolute;top:0;left:0}.mg-full-width-rows-container{pointer-events:auto;z-index:2;width:100%;position:absolute;top:0;left:0}.mg-full-width-row{box-sizing:border-box;will-change:transform;position:absolute;top:0;left:0}.mg-full-width-row__content{box-sizing:border-box;width:100%;height:100%;padding:var(--mg-cell-padding-y,4px) var(--mg-cell-padding-x,8px);overflow:auto}.mg-row--full-width-embed>.mg-row__lane--left,.mg-row--full-width-embed>.mg-row__lane--right{pointer-events:none;overflow:hidden}.mg-row--full-width-embed>.mg-row__lane--center{overflow:visible}.mg-row--full-width-embed:after{flex:0 0 0;width:0;min-width:0}.mg-row--full-width-embed .mg-full-width-row__content{box-sizing:border-box;width:100%;height:100%;padding:var(--mg-cell-padding-y,4px) var(--mg-cell-padding-x,8px);overflow:auto}.mg-row--full-width-embed .mg-cell--embed-spacer{pointer-events:none}.mg-row--full-width-embed .mg-cell--embed-spacer input,.mg-row--full-width-embed .mg-cell--embed-spacer button,.mg-row--full-width-embed .mg-cell--embed-spacer .mg-cell__row-expand{display:none}.mg-row--spanned{pointer-events:none;overflow:visible;height:0!important}.mg-row--spanned>.mg-row__lane--left,.mg-row--spanned>.mg-row__lane--right{overflow:hidden}.mg-row--spanned>.mg-row__lane--center{z-index:auto;overflow:visible}.mg-row--spanned .mg-cell{pointer-events:auto}.mg-row{box-sizing:border-box;will-change:transform;position:absolute;top:0;left:0}.mg-cell{box-sizing:border-box;padding:0 var(--mg-cell-padding-x);height:var(--mg-row-height);position:absolute;top:0;overflow:hidden}.mg-cell:not(.mg-cell--editing){display:flex}.mg-cell--editing{padding:0;overflow:visible}.mg-cell--editing:not(.mg-cell--auto-height){line-height:var(--mg-row-height)}.mg-cell--focused:not(.mg-cell--invalid):before,.mg-cell--editing:not(.mg-cell--invalid):before,.mg-cell--invalid:before{content:"";pointer-events:none;z-index:2;position:absolute;inset:0}.mg-cell--focused:not(.mg-cell--invalid):before,.mg-cell--editing:not(.mg-cell--invalid):before{box-shadow:inset 0 0 0 var(--mg-focus-ring-width) var(--mg-color-primary)}.mg-cell--invalid:before{box-shadow:inset 0 0 0 var(--mg-focus-ring-width) var(--mg-color-danger)}.mg-row--selected>.mg-row__lane--center,.mg-row--index-focused>.mg-row__lane--center{background:color-mix(in srgb, var(--mg-color-primary) 10%, var(--mg-color-bg-cell))}.mg-row--selected.mg-row--stripe>.mg-row__lane--center,.mg-row--index-focused.mg-row--stripe>.mg-row__lane--center{background:color-mix(in srgb, var(--mg-color-primary) 10%, var(--mg-color-bg-stripe))}.mg-row--committing{position:relative}.mg-row--committing:after{content:"";background:color-mix(in srgb, var(--mg-color-primary) 8%, transparent);pointer-events:none;z-index:3;position:absolute;inset:0}.mg-cell--committing{position:relative}.mg-cell--committing:after{content:"";background:color-mix(in srgb, var(--mg-color-primary) 12%, transparent);pointer-events:none;z-index:2;position:absolute;inset:0}.mg-cell-editor-host--committing{pointer-events:none}.mg-cell-editor-host--committing .mg-cell-editor,.mg-cell-editor-host--committing input,.mg-cell-editor-host--committing textarea,.mg-cell-editor-host--committing select{opacity:.55;cursor:wait}.mg-cell-editor-host--committing:after{content:"";background:color-mix(in srgb, var(--mg-color-bg) 72%, transparent);z-index:5;position:absolute;inset:0}.mg-cell-editor-host--committing:before{content:"";border:2px solid color-mix(in srgb, var(--mg-color-primary) 25%, transparent);border-top-color:var(--mg-color-primary);z-index:6;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;animation:.7s linear infinite mg-commit-spin;position:absolute;top:50%;left:50%}@keyframes mg-commit-spin{to{transform:rotate(360deg)}}.mg-cell-editor-host{z-index:0;position:absolute;inset:0}.mg-cell-editor-host .mg-cell-editor,.mg-cell-editor-host input,.mg-cell-editor-host textarea,.mg-cell-editor-host select{box-shadow:none;border:none;outline:none}.mg-cell-editor{box-sizing:border-box;width:100%;height:100%;padding:0 var(--mg-cell-padding-x);font:inherit;line-height:var(--mg-row-height);background:var(--mg-color-bg-cell);-webkit-user-select:text;user-select:text;border:none;outline:none}.mg-cell--index,.mg-footer-cell--index{background:var(--mg-color-bg-header)}.mg-cell--index{justify-content:center;align-items:center;display:flex}.mg-cell--index .mg-cell__text{flex:0 auto;width:auto}.mg-header-cell--index{justify-content:center;align-items:center;display:flex}.mg-header-cell--index .mg-header-cell__text{flex:0 auto;width:auto}.mg-footer-cell--index{justify-content:center;align-items:center;display:flex}.mg-footer-cell--index .mg-footer-cell__text{flex:0 auto;width:auto}.mg-row--stripe .mg-cell--index{background:var(--mg-color-bg-header)}.mg-cell--index-focused,.mg-row--stripe .mg-cell--index-focused{background:color-mix(in srgb, var(--mg-color-primary) 90%, #fff);color:#fff;box-shadow:inset 0 -1px 0 0 var(--mg-color-border), inset -1px 0 0 0 var(--mg-color-primary)}.mg-cell--index-focused .mg-cell__text,.mg-row--stripe .mg-cell--index-focused .mg-cell__text{color:#fff}body.mg-row-drag-selecting,body.mg-row-drag-selecting *{cursor:default!important;-webkit-user-select:none!important;user-select:none!important}.mg-index-column-fill-host{pointer-events:none;z-index:0;width:0;height:0;position:sticky;top:0;left:0;overflow:visible}.mg-index-column-fill{box-sizing:border-box;background:var(--mg-color-bg-header);box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border);position:absolute;top:0;left:0}.mg-cell--selection .mg-cell__text,.mg-header-cell--selection .mg-cell__text,.mg-footer-cell--selection .mg-cell__text,.mg-cell--selection .mg-header-cell__text,.mg-header-cell--selection .mg-header-cell__text,.mg-footer-cell--selection .mg-header-cell__text,.mg-cell--selection .mg-footer-cell__text,.mg-header-cell--selection .mg-footer-cell__text,.mg-footer-cell--selection .mg-footer-cell__text{display:none}.mg-cell--selection .mg-selection-checkbox{pointer-events:none}.mg-selection-checkbox--disabled{cursor:not-allowed;opacity:.45}.mg-cell--selection-disabled .mg-selection-checkbox,.mg-header-cell--selection .mg-selection-checkbox{pointer-events:none}.mg-selection-checkbox{width:var(--mg-checkbox-size,14px);height:var(--mg-checkbox-size,14px);accent-color:var(--mg-color-primary);cursor:default;margin:0}.mg-selection-checkbox--header{cursor:default}.mg-cell--selection,.mg-header-cell--selection{justify-content:center;align-items:center;display:flex}.mg-footer-cell--selection{background:var(--mg-color-bg-header)}.mg-cell--expand,.mg-header-cell--expand{justify-content:center;align-items:center;padding:0;display:flex}.mg-cell__row-expand{box-sizing:border-box;width:var(--mg-cell-control-size);height:var(--mg-cell-control-size);border-radius:var(--mg-border-radius-sm,4px);color:var(--mg-text-secondary,#64748b);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;line-height:1;display:inline-flex}.mg-cell__row-expand__icon{flex:none;transition:transform .15s;display:block}.mg-cell__row-expand--expanded .mg-cell__row-expand__icon{transform:rotate(90deg)}.mg-cell__row-expand:hover{background:var(--mg-row-hover-bg,#0000000a);color:var(--mg-text-primary,#0f172a)}.mg-cell__row-expand:focus-visible{outline:2px solid var(--mg-focus-ring,#3b82f6);outline-offset:1px}.mg-cell--group,.mg-header-cell--group{padding:0 var(--mg-cell-padding-x,8px);align-items:center;display:flex}.mg-cell__group-content{align-items:center;gap:4px;width:100%;min-width:0;display:inline-flex}.mg-cell__group-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.mg-cell__group-count{color:var(--mg-text-secondary,#64748b);flex:none;font-size:.875em}.mg-cell__group-expand,.mg-cell__tree-expand{box-sizing:border-box;width:var(--mg-cell-control-size);height:var(--mg-cell-control-size);border-radius:var(--mg-border-radius-sm,4px);color:var(--mg-text-secondary,#64748b);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin:0;padding:0;line-height:1;display:inline-flex}.mg-cell__group-expand .mg-cell__row-expand__icon,.mg-cell__tree-expand .mg-cell__row-expand__icon{flex:none;transition:transform .15s;display:block}.mg-cell__group-expand--expanded .mg-cell__row-expand__icon,.mg-cell__tree-expand--expanded .mg-cell__row-expand__icon{transform:rotate(90deg)}.mg-cell__group-expand:hover,.mg-cell__tree-expand:hover{background:var(--mg-row-hover-bg,#0000000a);color:var(--mg-text-primary,#0f172a)}.mg-cell__group-expand:focus-visible,.mg-cell__tree-expand:focus-visible{outline:2px solid var(--mg-focus-ring,#3b82f6);outline-offset:1px}.mg-row--group-header{font-weight:600}.mg-row--group-footer{background:var(--mg-row-footer-bg,#00000005);font-weight:600}.mg-row--group-footer .mg-cell__group-expand,.mg-row--group-footer .mg-cell__tree-expand{display:none!important}.mg-cell__tree-expand--loading{cursor:wait}.mg-cell__tree-expand--loading .mg-cell__row-expand__icon{display:none}.mg-cell__tree-expand--loading .mg-cell__tree-expand__loading-icon{animation:.9s linear infinite mg-tree-expand-loading;display:block}@keyframes mg-tree-expand-loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mg-cell--inline-editor .mg-cell__text,.mg-cell--inline-editor .mg-cell__renderer{display:none!important}.mg-inline-checkbox{width:var(--mg-checkbox-size,14px);height:var(--mg-checkbox-size,14px);accent-color:var(--mg-color-primary);flex-shrink:0;margin:0}.mg-cell--inline-disabled .mg-inline-checkbox{cursor:not-allowed;opacity:.45;pointer-events:none}.mg-cell--inline-disabled .mg-cell__inline-editor{pointer-events:none}:root{--mg-cell-disabled-opacity:.45;--mg-cell-disabled-cursor:not-allowed}.mg-cell--disabled{cursor:var(--mg-cell-disabled-cursor)}.mg-cell--disabled .mg-cell__text,.mg-cell--disabled .mg-cell__renderer{opacity:var(--mg-cell-disabled-opacity);pointer-events:none}.mg-row--selected .mg-cell--disabled .mg-cell__text,.mg-row--selected .mg-cell--disabled .mg-cell__renderer,.mg-cell--invalid.mg-cell--disabled .mg-cell__text,.mg-cell--invalid.mg-cell--disabled .mg-cell__renderer{opacity:var(--mg-cell-disabled-opacity)}.mg-cell--auto-height,.mg-cell[data-auto-height]{white-space:normal;word-break:break-word;align-items:flex-start;overflow:visible}.mg-cell--auto-height .mg-cell__text,.mg-cell[data-auto-height] .mg-cell__text,.mg-cell--auto-height .mg-cell__renderer,.mg-cell[data-auto-height] .mg-cell__renderer{white-space:normal;word-break:break-word;text-overflow:clip;line-height:1.4;overflow:visible}.magic-grid{--mg-row-resize-handle-height:8px;--mg-row-resize-handle-offset:-3px;--mg-row-resize-handle-line-height:3px;--mg-row-resize-handle-line-color:var(--mg-color-border);--mg-row-resize-handle-line-color-hover:var(--mg-color-primary);--mg-row-resize-handle-line-color-active:var(--mg-color-primary)}.mg-cell__row-resize-handle{z-index:3;width:100%;height:var(--mg-row-resize-handle-height);left:0;bottom:var(--mg-row-resize-handle-offset);cursor:row-resize;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;margin:0;padding:0;position:absolute}.mg-cell__row-resize-handle:after{content:"";z-index:5;width:100%;left:0;bottom:calc(-1 * var(--mg-row-resize-handle-offset) + var(--mg-row-resize-line-inset,0));height:var(--mg-row-resize-handle-line-height);background-color:var(--mg-row-resize-handle-line-color);pointer-events:none;opacity:0;position:absolute}.mg-cell--index.mg-cell--row-resizable{overflow:visible}.mg-cell--index.mg-cell--row-resizable:hover{z-index:4}.mg-cell--index.mg-cell--row-resizable:hover .mg-cell__row-resize-handle:after{opacity:1}.mg-cell--index.mg-cell--row-resizable:hover .mg-cell__row-resize-handle:hover:after{background-color:var(--mg-row-resize-handle-line-color-hover)}.mg-root--row-resizing .mg-cell[data-row-resize-active]{z-index:5;overflow:visible}.mg-root--row-resizing .mg-cell[data-row-resize-active] .mg-cell__row-resize-handle:after{opacity:1;background-color:var(--mg-row-resize-handle-line-color-active)}.mg-root--row-resizing{-webkit-user-select:none;user-select:none;cursor:row-resize!important}.mg-root--row-resizing .mg-cell__row-resize-handle{cursor:row-resize}.magic-grid{--mg-row-drag-handle-size:14px;--mg-row-drag-commit-spinner-size:14px;--mg-row-drag-commit-spinner-left:calc(var(--mg-cell-padding-x,8px) + (var(--mg-row-drag-handle-size) / 2) + 2px);--mg-color-row-drag-ghost-bg:var(--mg-color-bg);--mg-color-row-drag-ghost-border:var(--mg-color-border);--mg-row-dragging-opacity:.42;--mg-color-row-drop-indicator:var(--mg-color-primary);--mg-row-drop-indicator-height:2px;--mg-row-drag-ghost-z-index:30;--mg-row-drop-indicator-z-index:29}.magic-grid--row-drag-committing .mg-cell__row-drag-handle{pointer-events:none;cursor:wait;opacity:.35}.mg-row--row-drag-committing{cursor:wait;position:relative}.mg-row--row-drag-committing:after{content:"";background:color-mix(in srgb, var(--mg-color-primary) 12%, transparent);pointer-events:none;z-index:4;position:absolute;inset:0}.mg-row--row-drag-committing:before{content:"";top:50%;left:var(--mg-row-drag-commit-spinner-left);width:var(--mg-row-drag-commit-spinner-size);height:var(--mg-row-drag-commit-spinner-size);margin:calc(var(--mg-row-drag-commit-spinner-size) / -2) 0 0 calc(var(--mg-row-drag-commit-spinner-size) / -2);border:2px solid color-mix(in srgb, var(--mg-color-primary) 25%, transparent);border-top-color:var(--mg-color-primary);pointer-events:none;z-index:5;border-radius:50%;animation:.7s linear infinite mg-commit-spin;position:absolute}.mg-cell--row-draggable{position:relative}.mg-cell__row-drag-handle{z-index:3;border-radius:var(--mg-border-radius);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;opacity:.55;background:0 0;border:0;justify-content:center;align-items:center;margin:0;padding:2px;line-height:0;transition:opacity .12s,background-color .12s;display:inline-flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}.mg-cell__row-drag-handle:hover{opacity:1;background-color:var(--mg-color-column-handle-hover-bg)}.mg-cell__row-drag-handle:active{cursor:grabbing}.mg-cell--index.mg-cell--row-draggable .mg-cell__content,.mg-cell--row-draggable:not(.mg-cell--index) .mg-cell__content{padding-left:calc(var(--mg-row-drag-handle-size) + 6px)}.mg-cell--row-dragging{opacity:var(--mg-row-dragging-opacity);pointer-events:none}.mg-row-drag-ghost{z-index:var(--mg-row-drag-ghost-z-index);box-sizing:border-box;padding:0 var(--mg-cell-padding-x);font-size:var(--mg-font-size);font-family:var(--mg-font-family);color:var(--mg-color-text-primary);background-color:var(--mg-color-row-drag-ghost-bg,#fff);border:1px solid var(--mg-color-row-drag-ghost-border);border-radius:var(--mg-border-radius);pointer-events:none;white-space:nowrap;align-items:center;line-height:1;display:flex;position:fixed;overflow:hidden;box-shadow:0 1px 2px #0000000f,0 4px 12px #00000014}.mg-row-drag-ghost__label{text-overflow:ellipsis;min-width:0;overflow:hidden}.mg-row-drop-indicator{z-index:var(--mg-row-drop-indicator-z-index,29);height:var(--mg-row-drop-indicator-height,2px);background:var(--mg-color-row-drop-indicator,#1677ff);pointer-events:none;box-shadow:0 0 0 1px color-mix(in srgb, var(--mg-color-row-drop-indicator,#1677ff) 25%, transparent);border-radius:1px;position:fixed}body.mg-row-dragging,body.mg-row-dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}body.mg-row-dragging.mg-row-dragging--drop-forbidden,body.mg-row-dragging.mg-row-dragging--drop-forbidden *{cursor:not-allowed!important}.mg-row--span-top{will-change:auto}.mg-row--span-top>.mg-row__lane--center{z-index:auto;overflow:visible}.mg-cell--spanning,.mg-cell--col-span,.mg-footer-cell--spanning,.mg-footer-cell--col-span{z-index:1}.mg-cell--row-span{z-index:1;background-color:var(--mg-color-bg-cell);overflow:hidden}.mg-row--stripe .mg-cell--row-span{background-color:var(--mg-color-bg-stripe)}.mg-cell--row-span.mg-cell--row-span-highlighted{background-color:color-mix(in srgb, var(--mg-color-primary) 10%, var(--mg-color-bg-cell))}.mg-row--stripe .mg-cell--row-span.mg-cell--row-span-highlighted{background-color:color-mix(in srgb, var(--mg-color-primary) 10%, var(--mg-color-bg-stripe))}.mg-cell--row-span.mg-cell--range-selected:not(.mg-cell--range-anchor),.mg-row--stripe .mg-cell--row-span.mg-cell--range-selected:not(.mg-cell--range-anchor),.mg-cell--row-span.mg-cell--range-selected.mg-cell--range-anchor{background-color:var(--mg-range-selection-bg)}.magic-grid--border-border .mg-cell--row-span{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-footer-cell--col-span{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-cell--row-span.mg-cell--center-last,.magic-grid--border-border .mg-cell--row-span.mg-cell--column-last:not(.mg-cell--fixed-right-first){box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border.mg-grid--inner-right-closes .mg-cell--row-span.mg-cell--center-last,.magic-grid--border-border.mg-grid--inner-right-closes .mg-cell--row-span.mg-cell--column-last:not(.mg-cell--fixed-right-first){box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-linear .mg-cell--row-span,.magic-grid--border-linear .mg-cell--col-span{box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-linear .mg-footer-cell--col-span{box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid{--mg-cell-comment-indicator-size:6px;--mg-cell-comment-indicator-color:var(--mg-color-warning,#e6a23c);--mg-cell-comment-indicator-empty-color:var(--mg-color-text-placeholder,#c0c4cc);--mg-cell-comment-popup-z-index:25;--mg-cell-comment-context-menu-z-index:26;--mg-cell-comment-popup-bg:var(--mg-color-bg-elevated,var(--mg-color-bg));--mg-cell-comment-popup-border:var(--mg-color-border);--mg-cell-comment-popup-shadow:0 8px 24px color-mix(in srgb, var(--mg-color-text-primary,#000) 12%, transparent);--mg-cell-comment-viewport-padding:var(--mg-spacing);--mg-cell-comment-anchor-gap:var(--mg-spacing);--mg-cell-comment-context-menu-padding:8px;--mg-cell-comment-context-menu-item-padding-x:8px;--mg-cell-comment-context-menu-item-padding-y:4px}.mg-cell--has-comment:after,.mg-cell--comment-empty:after{content:"";border-style:solid;border-width:0 var(--mg-cell-comment-indicator-size) var(--mg-cell-comment-indicator-size) 0;pointer-events:none;z-index:1;width:0;height:0;position:absolute;top:2px;right:2px}.mg-cell--has-comment .mg-cell-editor--checkbox,.mg-cell--comment-empty .mg-cell-editor--checkbox{margin-right:calc(var(--mg-cell-comment-indicator-size) + 2px)}.mg-cell--has-comment:after{border-color:transparent var(--mg-cell-comment-indicator-color) transparent transparent}.mg-cell--comment-empty:after{border-color:transparent var(--mg-cell-comment-indicator-empty-color) transparent transparent}.mg-cell-comment-popup{z-index:var(--mg-cell-comment-popup-z-index,25);gap:var(--mg-spacing,8px);padding:var(--mg-spacing,8px);box-sizing:border-box;border:1px solid var(--mg-cell-comment-popup-border,#d8d8d8);border-radius:var(--mg-border-radius,8px);background:var(--mg-cell-comment-popup-bg,#fff);box-shadow:var(--mg-cell-comment-popup-shadow,0 8px 24px #0000001f);color:var(--mg-color-text-regular,#333);font-family:var(--mg-font-family,system-ui, sans-serif);font-size:var(--mg-font-size,12px);flex-direction:column;display:flex;position:fixed}.mg-cell-comment-popup__textarea{resize:vertical;box-sizing:border-box;width:100%;min-height:72px;padding:var(--mg-cell-padding-y,4px) var(--mg-spacing,8px);border:1px solid var(--mg-color-border,#d8d8d8);border-radius:var(--mg-border-radius,8px);background:var(--mg-color-bg,#fff);color:var(--mg-color-text-regular,#333);font:inherit;line-height:1.4}.mg-cell-comment-popup__textarea:focus{border-color:var(--mg-color-primary,#5460dd);outline:none}.mg-cell-comment-popup__textarea[readonly]{background:color-mix(in srgb, var(--mg-color-bg,#fff) 92%, var(--mg-color-text-regular,#333) 8%);cursor:default}.mg-cell-comment-popup__actions{justify-content:flex-end;gap:var(--mg-spacing,8px);display:flex}.mg-cell-comment-popup__btn--save,.mg-cell-comment-popup__btn--delete,.mg-cell-comment-popup__btn--cancel{padding:calc(var(--mg-spacing,8px) / 2) var(--mg-spacing,8px);border:1px solid var(--mg-color-border,#d8d8d8);border-radius:var(--mg-border-radius,8px);background:var(--mg-color-bg,#fff);color:var(--mg-color-text-regular,#333);font:inherit;cursor:pointer}.mg-cell-comment-popup__btn--save:hover,.mg-cell-comment-popup__btn--delete:hover,.mg-cell-comment-popup__btn--cancel:hover{border-color:var(--mg-color-primary,#5460dd);color:var(--mg-color-primary,#5460dd)}.mg-cell-comment-popup__btn--save{background:var(--mg-color-primary,#5460dd);border-color:var(--mg-color-primary,#5460dd);color:#fff}.mg-cell-comment-popup__btn--save:hover{color:#fff;filter:brightness(1.05)}.mg-cell-comment-popup__btn--save:disabled{opacity:.72;cursor:wait;filter:none}.mg-cell-comment-popup__btn--delete{color:var(--mg-color-danger,#f56c6c);border-color:color-mix(in srgb, var(--mg-color-danger,#f56c6c) 35%, var(--mg-color-border,#d8d8d8))}.mg-cell-comment-popup__btn--delete:hover{border-color:var(--mg-color-danger,#f56c6c);color:var(--mg-color-danger,#f56c6c)}.mg-cell-comment-popup__btn--delete:disabled,.mg-cell-comment-popup__btn--cancel:disabled{opacity:.72;cursor:wait}.mg-cell-comment-popup--committing{cursor:wait}.mg-cell-comment-popup--committing .mg-cell-comment-popup__textarea{opacity:.72}.mg-cell-comment-popup--readonly .mg-cell-comment-popup__textarea{border-style:dashed;min-height:0}.mg-cell-comment-context-menu{z-index:var(--mg-cell-comment-context-menu-z-index,26);box-sizing:border-box;min-width:120px;padding:var(--mg-cell-comment-context-menu-padding,8px);border:1px solid var(--mg-cell-comment-popup-border,#d8d8d8);border-radius:var(--mg-border-radius,8px);background:var(--mg-cell-comment-popup-bg,#fff);box-shadow:var(--mg-cell-comment-popup-shadow,0 8px 24px #0000001f);color:var(--mg-color-text-regular,#333);font-family:var(--mg-font-family,system-ui, sans-serif);font-size:var(--mg-font-size,12px);flex-direction:column;gap:0;display:flex;position:fixed}.mg-cell-comment-context-menu__items{flex-direction:column;display:flex}.mg-cell-comment-context-menu__item{align-items:center;gap:calc(var(--mg-cell-comment-context-menu-item-padding-x,8px) / 2);box-sizing:border-box;width:100%;padding:var(--mg-cell-comment-context-menu-item-padding-y,4px) var(--mg-cell-comment-context-menu-item-padding-x,8px);border-radius:calc(var(--mg-border-radius,8px) / 2);color:var(--mg-color-text-regular,#333);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;display:flex}.mg-cell-comment-context-menu__item:hover:not(:disabled){background:color-mix(in srgb, var(--mg-color-primary,#5460dd) 10%, transparent);color:var(--mg-color-primary,#5460dd)}.mg-cell-comment-context-menu__item:disabled{opacity:.45;cursor:not-allowed}.mg-cell-comment-context-menu__item-label{flex:1;min-width:0}.mg-cell-comment-context-menu__loading-icon{border:2px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:currentColor;border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:.7s linear infinite mg-commit-spin}.mg-cell-comment-context-menu__item[data-action=remove]{color:var(--mg-color-danger,#f56c6c)}.mg-cell-comment-context-menu__item[data-action=remove]:hover:not(:disabled){background:color-mix(in srgb, var(--mg-color-danger,#f56c6c) 10%, transparent);color:var(--mg-color-danger,#f56c6c)}.mg-cell-comment-context-menu--committing{cursor:wait}.mg-cell-comment-context-menu__item--committing,.mg-cell-comment-context-menu__item--committing:disabled{opacity:1;cursor:wait}.magic-grid[data-theme=dark],.magic-grid.magic-grid--dark{--mg-cell-comment-indicator-color:#f3b760;--mg-cell-comment-indicator-empty-color:#8a9099;--mg-cell-comment-popup-shadow:0 10px 28px #00000073}.magic-grid{--mg-range-selection-bg:color-mix(in srgb, var(--mg-color-primary,#5460dd) 14%, transparent);--mg-range-selection-bg-opaque:color-mix(in srgb, var(--mg-color-primary,#5460dd) 14%, var(--mg-color-bg-cell));--mg-range-selection-bg-opaque-stripe:color-mix(in srgb, var(--mg-color-primary,#5460dd) 14%, var(--mg-color-bg-stripe));--mg-range-selection-border-color:var(--mg-color-primary,#5460dd);--mg-range-selection-header-bg:color-mix(in srgb, var(--mg-color-primary,#5460dd) 18%, var(--mg-color-bg-header))}.mg-cell--range-selected:not(.mg-cell--range-anchor){background-color:var(--mg-range-selection-bg)}.mg-cell--fixed-left.mg-cell--range-selected:not(.mg-cell--range-anchor):not(.mg-cell--index):not(.mg-cell--selection),.mg-cell--fixed-right.mg-cell--range-selected:not(.mg-cell--range-anchor){background-color:var(--mg-range-selection-bg-opaque)}.mg-row--stripe .mg-cell--fixed-left.mg-cell--range-selected:not(.mg-cell--range-anchor):not(.mg-cell--index):not(.mg-cell--selection),.mg-row--stripe .mg-cell--fixed-right.mg-cell--range-selected:not(.mg-cell--range-anchor){background-color:var(--mg-range-selection-bg-opaque-stripe)}.mg-row--index-focused .mg-cell--fixed-left.mg-cell--range-selected:not(.mg-cell--range-anchor):not(.mg-cell--index):not(.mg-cell--selection),.mg-row--selected .mg-cell--fixed-left.mg-cell--range-selected:not(.mg-cell--range-anchor):not(.mg-cell--index):not(.mg-cell--selection),.mg-row--index-focused .mg-cell--fixed-right.mg-cell--range-selected:not(.mg-cell--range-anchor),.mg-row--selected .mg-cell--fixed-right.mg-cell--range-selected:not(.mg-cell--range-anchor){background-color:var(--mg-range-selection-bg-opaque)}.mg-row--index-focused.mg-row--stripe .mg-cell--fixed-left.mg-cell--range-selected:not(.mg-cell--range-anchor):not(.mg-cell--index):not(.mg-cell--selection),.mg-row--selected.mg-row--stripe .mg-cell--fixed-left.mg-cell--range-selected:not(.mg-cell--range-anchor):not(.mg-cell--index):not(.mg-cell--selection),.mg-row--index-focused.mg-row--stripe .mg-cell--fixed-right.mg-cell--range-selected:not(.mg-cell--range-anchor),.mg-row--selected.mg-row--stripe .mg-cell--fixed-right.mg-cell--range-selected:not(.mg-cell--range-anchor){background-color:var(--mg-range-selection-bg-opaque-stripe)}:is(.mg-row--index-focused:has(.mg-cell--range-selected)>.mg-row__lane--center,.mg-row--index-focused:has(.mg-cell--range-selected)>.mg-row__lane--left,.mg-row--index-focused:has(.mg-cell--range-selected)>.mg-row__lane--right){background:0 0}.mg-row--index-focused:has(.mg-cell--range-selected):after{background:0 0}:is(.mg-row--index-focused:has(.mg-cell--range-selected).mg-row--stripe>.mg-row__lane--center,.mg-row--index-focused:has(.mg-cell--range-selected).mg-row--stripe>.mg-row__lane--left,.mg-row--index-focused:has(.mg-cell--range-selected).mg-row--stripe>.mg-row__lane--right){background:0 0}.mg-row--index-focused:has(.mg-cell--range-selected).mg-row--stripe:after{background:0 0}.mg-row--index-focused:has(.mg-cell--range-selected) .mg-cell--fixed-left:not(.mg-cell--index):not(.mg-cell--selection):not(.mg-cell--range-selected){background:var(--mg-color-bg-cell)}.mg-row--index-focused:has(.mg-cell--range-selected) .mg-cell--fixed-right:not(.mg-cell--range-selected){background:var(--mg-color-bg-cell)}.mg-row--index-focused:has(.mg-cell--range-selected).mg-row--stripe .mg-cell--fixed-left:not(.mg-cell--index):not(.mg-cell--selection):not(.mg-cell--range-selected){background:var(--mg-color-bg-stripe)}.mg-row--index-focused:has(.mg-cell--range-selected).mg-row--stripe .mg-cell--fixed-right:not(.mg-cell--range-selected){background:var(--mg-color-bg-stripe)}.mg-row--index-focused:has(.mg-cell--range-selected) .mg-cell--fixed-left.mg-cell--range-selected.mg-cell--range-anchor:not(.mg-cell--index):not(.mg-cell--selection){background-color:var(--mg-range-selection-bg-opaque)}.mg-row--index-focused:has(.mg-cell--range-selected) .mg-cell--fixed-right.mg-cell--range-selected.mg-cell--range-anchor{background-color:var(--mg-range-selection-bg-opaque)}.mg-row--index-focused:has(.mg-cell--range-selected).mg-row--stripe .mg-cell--fixed-left.mg-cell--range-selected.mg-cell--range-anchor:not(.mg-cell--index):not(.mg-cell--selection){background-color:var(--mg-range-selection-bg-opaque-stripe)}.mg-row--index-focused:has(.mg-cell--range-selected).mg-row--stripe .mg-cell--fixed-right.mg-cell--range-selected.mg-cell--range-anchor{background-color:var(--mg-range-selection-bg-opaque-stripe)}.mg-row--index-focused:has(.mg-cell--range-selected) .mg-cell--range-selected.mg-cell--range-anchor:not(.mg-cell--index):not(.mg-cell--selection){background-color:var(--mg-range-selection-bg)}.mg-cell--index.mg-cell--index-range-highlight:not(.mg-cell--index-focused){color:inherit;background-color:var(--mg-range-selection-header-bg)!important}.mg-cell--index.mg-cell--index-range-highlight:not(.mg-cell--index-focused) .mg-cell__text{color:inherit}.mg-cell--range-copy-flash{animation:.48s ease-out mg-cell-range-copy-flash}@keyframes mg-cell-range-copy-flash{0%,to{background-color:#0000}40%{background-color:color-mix(in srgb, var(--mg-color-primary,#5460dd) 36%, var(--mg-color-bg,#fff))}}.mg-cell-range-overlay--copy-flash .mg-cell-range-border{animation:.48s ease-in-out mg-cell-range-border-copy-flash}@keyframes mg-cell-range-border-copy-flash{0%,to{opacity:1}45%{opacity:.35}}.mg-cell--range-paste-flash{animation:.48s ease-out mg-cell-range-paste-flash-plain}.mg-cell--range-paste-blocked-flash{animation:.48s ease-out mg-cell-range-paste-blocked-flash-plain}@keyframes mg-cell-range-paste-flash-plain{0%,to{background-color:#0000}40%{background-color:color-mix(in srgb, var(--mg-color-success,#67c23a) 34%, var(--mg-color-bg,#fff))}}@keyframes mg-cell-range-paste-blocked-flash-plain{0%,to{background-color:#0000}40%{background-color:color-mix(in srgb, var(--mg-color-warning,#e6a23c) 36%, var(--mg-color-bg,#fff))}}.mg-cell--range-paste-blocked-flash:after{content:"";box-sizing:border-box;pointer-events:none;z-index:2;animation:.48s ease-out mg-cell-range-paste-blocked-flash-overlay;position:absolute;inset:0}@keyframes mg-cell-range-paste-blocked-flash-overlay{0%,to{background-color:color-mix(in srgb, var(--mg-color-warning,#e6a23c) 18%, transparent)}45%{background-color:color-mix(in srgb, var(--mg-color-warning,#e6a23c) 52%, transparent)}}.mg-cell-range-paste-flash-layer{pointer-events:none;z-index:3;flex-direction:row;display:flex;position:absolute;top:0;bottom:0;left:0}.mg-cell-range-paste-flash-layer:after{content:"";flex:1 0 0;align-self:stretch;min-width:0}.mg-cell-range-paste-overlay{box-sizing:border-box;pointer-events:none;z-index:3;position:absolute}.mg-cell-range-paste-overlay--applied{background-color:color-mix(in srgb, var(--mg-color-success,#67c23a) 38%, transparent);animation:.48s ease-out mg-cell-range-paste-overlay-applied}.mg-cell-range-paste-overlay--blocked{background-color:color-mix(in srgb, var(--mg-color-warning,#e6a23c) 46%, transparent);animation:.48s ease-out mg-cell-range-paste-overlay-blocked}@keyframes mg-cell-range-paste-overlay-applied{0%,to{opacity:.25}45%{opacity:1}}@keyframes mg-cell-range-paste-overlay-blocked{0%,to{opacity:.3}45%{opacity:1}}.mg-cell--range-selected.mg-cell--focused:not(.mg-cell--invalid):before,.mg-cell--range-selected.mg-cell--editing:not(.mg-cell--invalid):before{box-shadow:none}.mg-cell-range-overlay{pointer-events:none;z-index:3;flex-direction:row;display:flex;position:absolute;top:0;bottom:0;left:0}.mg-cell-range-overlay:after{content:"";flex:1 0 0;align-self:stretch;min-width:0}.mg-cell-range-overlay__lane{flex:none;height:100%;position:relative}.mg-cell-range-overlay__lane--center{z-index:0;position:relative}.mg-cell-range-overlay__lane--left,.mg-cell-range-overlay__lane--right{z-index:calc(var(--mg-fixed-z-index,2) + 1);position:sticky}.mg-cell-range-overlay__lane--left{left:0}.mg-cell-range-overlay__lane--right{order:1;right:0}.mg-cell-range-border{box-sizing:border-box;pointer-events:none;z-index:1;border:none;position:absolute}.mg-cell-range-border--edge-top{border-top:2px solid var(--mg-range-selection-border-color)}.mg-cell-range-border--edge-right{border-right:2px solid var(--mg-range-selection-border-color)}.mg-cell-range-border--edge-bottom{border-bottom:2px solid var(--mg-range-selection-border-color)}.mg-cell-range-border--edge-left{border-left:2px solid var(--mg-range-selection-border-color)}.mg-cell-range-border--fill-h,.mg-cell-range-border--fill-v{background-color:var(--mg-range-selection-border-color)}.mg-header-cell--range-highlight{background-color:var(--mg-range-selection-header-bg)!important}.mg-fill-handle{box-sizing:border-box;background:var(--mg-range-selection-border-color);border:1px solid var(--mg-color-bg,#fff);pointer-events:auto;cursor:crosshair;z-index:1;position:absolute}body.mg-fill-handle-dragging{cursor:crosshair;-webkit-user-select:none;user-select:none}.mg-range-handle{box-sizing:border-box;background:var(--mg-range-selection-border-color);border:1px solid var(--mg-color-bg,#fff);pointer-events:auto;cursor:nwse-resize;z-index:1;position:absolute}body.mg-range-handle-dragging{cursor:nwse-resize;-webkit-user-select:none;user-select:none}.magic-grid.magic-grid--theme-dark{--mg-range-selection-bg:color-mix(in srgb, var(--mg-color-primary,#6b7cff) 24%, transparent);--mg-range-selection-bg-opaque:color-mix(in srgb, var(--mg-color-primary,#6b7cff) 24%, var(--mg-color-bg-cell));--mg-range-selection-bg-opaque-stripe:color-mix(in srgb, var(--mg-color-primary,#6b7cff) 24%, var(--mg-color-bg-stripe));--mg-range-selection-header-bg:color-mix(in srgb, var(--mg-color-primary,#6b7cff) 22%, var(--mg-color-bg-header))}:root{--mg-z-overlay:20;--mg-overlay-mask-bg:#ffffffa6}.mg-overlay{z-index:var(--mg-z-overlay,20);pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;inset:0;overflow:hidden}.mg-overlay[hidden]{display:none!important}.mg-overlay--masked{pointer-events:auto;cursor:wait;background:var(--mg-overlay-mask-bg)}.mg-overlay--masked .mg-overlay__wrapper,.mg-overlay--masked .mg-overlay__mount,.mg-overlay--masked .mg-overlay__content{pointer-events:auto;cursor:wait}.mg-overlay__wrapper{pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.mg-overlay--interactive .mg-overlay__wrapper{pointer-events:auto}.mg-overlay__mount,.mg-overlay__content{justify-content:center;align-items:center;gap:calc(var(--mg-spacing,8px) * .75);color:var(--mg-color-text-secondary,#909399);font-size:var(--mg-font-size,12px);text-align:center;pointer-events:none;line-height:1.5;display:flex}.mg-overlay--interactive .mg-overlay__mount,.mg-overlay--interactive .mg-overlay__content{pointer-events:auto}.mg-overlay__panel--loading{flex-direction:column}.mg-overlay__spinner{border:2px solid var(--mg-color-border,#dcdfe6);border-top-color:var(--mg-color-primary,#409eff);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite mg-overlay-spin}@keyframes mg-overlay-spin{to{transform:rotate(360deg)}}.magic-grid[data-theme=dark]{--mg-overlay-mask-bg:#00000073}.magic-grid[data-theme=dark] .mg-overlay__mount,.magic-grid[data-theme=dark] .mg-overlay__content{color:var(--mg-color-text-secondary,#a3a6ad)}.magic-grid[data-theme=dark] .mg-overlay__spinner{border-color:var(--mg-color-border,#4c4d4f);border-top-color:var(--mg-color-primary,#409eff)}.mg-column-settings__clear-filters[data-v-1c8bd037]{border:1px solid var(--mg-color-border,#d1d5db);background:var(--mg-color-bg,#fff);min-height:24px;color:var(--mg-color-text,#111827);cursor:pointer;white-space:nowrap;border-radius:4px;flex:none;padding:0 8px;font-size:12px;line-height:1}.mg-column-settings__clear-filters[data-v-1c8bd037]:disabled{opacity:.45;cursor:not-allowed}.mg-column-settings__filter-embed[data-v-85b2c30c]{border:1px solid var(--mg-color-border,#d1d5db);background:var(--mg-color-bg-subtle,#f9fafb);border-radius:4px;margin-top:4px;padding:8px}.mg-column-settings__row[data-v-d7915c64]{border-radius:4px;flex-direction:column;gap:4px;min-height:32px;padding:4px 8px;display:flex}.mg-column-settings__row-main[data-v-d7915c64]{flex-wrap:nowrap;align-items:center;gap:6px 2px;min-width:0;display:flex}.mg-column-settings__row-actions[data-v-d7915c64]{flex-wrap:nowrap;flex:none;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.mg-column-settings__row--drag-over[data-v-d7915c64]{background:var(--mg-color-bg-subtle,#3b82f614)}.mg-column-settings__row--dragging[data-v-d7915c64]{opacity:.55}.mg-column-settings__row--filtered .mg-column-settings__row-label[data-v-d7915c64]{font-weight:600}.mg-column-settings__drag-handle[data-v-d7915c64]{cursor:grab;width:18px;color:var(--mg-color-text-secondary,#6b7280);-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex}.mg-column-settings__drag-handle--disabled[data-v-d7915c64]{opacity:.35;cursor:not-allowed}.mg-column-settings__row-label[data-v-d7915c64]{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:0;overflow:hidden}.mg-column-settings__filter-panel[data-v-d7915c64]{width:100%}.mg-column-settings__sort-button[data-v-d7915c64],.mg-column-settings__filter-button[data-v-d7915c64]{border:1px solid var(--mg-color-border,#d1d5db);background:var(--mg-color-bg,#fff);min-width:28px;height:24px;color:var(--mg-color-text,#111827);cursor:pointer;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0 6px;font-size:12px;line-height:1;display:inline-flex}.mg-column-settings__filter-icon[data-v-d7915c64]{flex-shrink:0;display:block}.mg-column-settings__filter-button--active[data-v-d7915c64],.mg-column-settings__sort-button--asc[data-v-d7915c64],.mg-column-settings__sort-button--desc[data-v-d7915c64]{border-color:var(--mg-color-primary,#2563eb);background:var(--mg-color-primary-soft,#2563eb14);color:var(--mg-color-primary,#2563eb)}.mg-column-settings__pin-group[data-v-d7915c64]{border:1px solid var(--mg-color-border,#d1d5db);background:var(--mg-color-bg,#fff);border-radius:4px;flex:none;display:inline-flex;overflow:hidden}.mg-column-settings__pin-group .mg-column-settings__pin-button[data-v-d7915c64]{border:none;border-right:1px solid var(--mg-color-border,#d1d5db);min-width:28px;height:24px;color:var(--mg-color-text,#111827);cursor:pointer;background:0 0;border-radius:0;flex:none;padding:0 8px;font-size:12px;line-height:1}.mg-column-settings__pin-group .mg-column-settings__pin-button[data-v-d7915c64]:last-child{border-right:none}.mg-column-settings__pin-group .mg-column-settings__pin-button--active[data-v-d7915c64]{background:var(--mg-color-primary-soft,#2563eb14);color:var(--mg-color-primary,#2563eb)}.mg-column-settings__pin-group .mg-column-settings__pin-button[data-v-d7915c64]:hover:not(.mg-column-settings__pin-button--active){background:var(--mg-color-bg-subtle,#0f172a0f)}.mg-column-settings__visibility[data-v-d7915c64]{color:var(--mg-color-text-secondary,#6b7280);cursor:pointer;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:4px;font-size:12px;display:inline-flex}.mg-column-settings__visibility-input[data-v-d7915c64]{margin:0}.mg-column-settings__rows[data-v-69b1c1f5]{flex-direction:column;gap:2px;display:flex}.mg-column-settings__row-host[data-v-69b1c1f5]{display:block}.mg-column-settings__groups[data-v-62756c32]{flex-direction:column;gap:12px;display:flex}.mg-column-settings__visible-lanes[data-v-62756c32]{flex-direction:column;gap:0;display:flex}.mg-column-settings__rows[data-v-62756c32]{flex-direction:column;gap:2px;display:flex}.mg-column-settings__hidden-section[data-v-62756c32]{margin-top:0}.mg-column-settings__hidden-divider[data-v-62756c32]{align-items:center;gap:8px;margin-bottom:8px;display:flex}.mg-column-settings__hidden-divider-line[data-v-62756c32]{background:var(--mg-color-border,#d1d5db);flex:1;height:1px}.mg-column-settings__hidden-divider-center[data-v-62756c32]{flex:none;align-items:center;gap:8px;display:inline-flex}.mg-column-settings__hidden-toggle[data-v-62756c32]{min-height:24px;color:var(--mg-color-text-secondary,#6b7280);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:12px;line-height:1;display:inline-flex}.mg-column-settings__hidden-toggle-icon[data-v-62756c32]{flex-shrink:0;display:block}.mg-column-settings__hidden-show-all[data-v-62756c32]{min-height:24px;color:var(--mg-color-primary,#2563eb);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:0 6px;font-size:12px;line-height:1}.mg-column-settings__hidden-show-all[data-v-62756c32]:hover{background:var(--mg-color-primary-soft,#2563eb14)}.mg-column-settings__hidden-rows[data-v-62756c32]{flex-direction:column;gap:2px;display:flex}.mg-column-settings__sr-only[data-v-62756c32]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mg-column-settings[data-v-d618f6f4]{background:var(--mg-color-bg,#fff);min-width:320px;max-width:400px;max-height:70vh;color:var(--mg-color-text,#111827);border:1px solid var(--mg-color-border,#d1d5db);border-radius:8px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 8px 24px #0f172a1f}.mg-column-settings__header[data-v-d618f6f4]{border-bottom:1px solid var(--mg-color-border,#d1d5db);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.mg-column-settings__header-leading[data-v-d618f6f4]{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.mg-column-settings__title-group[data-v-d618f6f4]{flex:none;align-items:center;gap:6px;display:inline-flex}.mg-column-settings__title-icon[data-v-d618f6f4]{color:var(--mg-color-text,#111827);flex-shrink:0;display:block}.mg-column-settings__title[data-v-d618f6f4]{flex:none;margin:0;font-size:14px;font-weight:600;line-height:1.2}.mg-column-settings__close[data-v-d618f6f4]{width:28px;height:28px;color:var(--mg-color-text-secondary,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;padding:0;font-size:18px;line-height:1}.mg-column-settings__close[data-v-d618f6f4]:hover{background:var(--mg-color-bg-subtle,#0f172a0f)}.mg-column-settings__body[data-v-d618f6f4]{flex:1;min-height:0;padding:12px;overflow:auto}
1
+ .magic-grid{--mg-color-bg:#fff;--mg-color-primary:#5460dd;--mg-color-success:#67c23a;--mg-color-danger:#f56c6c;--mg-color-warning:#e6a23c;--mg-color-info:#909399;--mg-color-text-primary:#333;--mg-color-text-regular:#333;--mg-color-text-secondary:#9f9f9f;--mg-color-border:#d8d8d8;--mg-color-border-light:#d8d8d8;--mg-color-bg-stripe:#f5f7fa;--mg-color-bg-header:#ecf3ff;--mg-color-bg-footer:var(--mg-color-bg-header);--mg-color-bg-cell:#fff;--mg-font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mg-spacing:8px;--mg-cell-padding-x:8px;--mg-font-size:12px;--mg-border-radius:8px;--mg-row-height:32px;--mg-header-height:32px;--mg-summary-row-height:32px;--mg-status-bar-height:32px;--mg-status-bar-font-size:12px;--mg-status-bar-control-height:calc(32px - 6px);--mg-checkbox-size:14px;--mg-cell-control-size:max(12px, calc(32px - 8px));--mg-border-width:1px;--mg-focus-ring-width:2px}.magic-grid--size-mini{--mg-spacing:4px;--mg-cell-padding-x:4px;--mg-font-size:12px;--mg-border-radius:4px;--mg-row-height:20px;--mg-header-height:20px;--mg-summary-row-height:20px;--mg-status-bar-height:20px;--mg-status-bar-font-size:12px;--mg-status-bar-control-height:calc(20px - 6px);--mg-checkbox-size:12px;--mg-cell-control-size:max(12px, calc(20px - 8px));--mg-border-width:1px;--mg-focus-ring-width:2px}.magic-grid--size-small{--mg-spacing:8px;--mg-cell-padding-x:8px;--mg-font-size:12px;--mg-border-radius:8px;--mg-row-height:24px;--mg-header-height:24px;--mg-summary-row-height:24px;--mg-status-bar-height:24px;--mg-status-bar-font-size:12px;--mg-status-bar-control-height:calc(24px - 6px);--mg-checkbox-size:12px;--mg-cell-control-size:max(12px, calc(24px - 8px));--mg-border-width:1px;--mg-focus-ring-width:2px}.magic-grid--size-default{--mg-spacing:8px;--mg-cell-padding-x:8px;--mg-font-size:12px;--mg-border-radius:8px;--mg-row-height:32px;--mg-header-height:32px;--mg-summary-row-height:32px;--mg-status-bar-height:32px;--mg-status-bar-font-size:12px;--mg-status-bar-control-height:calc(32px - 6px);--mg-checkbox-size:14px;--mg-cell-control-size:max(12px, calc(32px - 8px));--mg-border-width:1px;--mg-focus-ring-width:2px}.magic-grid--size-large{--mg-spacing:12px;--mg-cell-padding-x:12px;--mg-font-size:14px;--mg-border-radius:8px;--mg-row-height:40px;--mg-header-height:40px;--mg-summary-row-height:40px;--mg-status-bar-height:40px;--mg-status-bar-font-size:14px;--mg-status-bar-control-height:calc(40px - 6px);--mg-checkbox-size:14px;--mg-cell-control-size:max(12px, calc(40px - 8px));--mg-border-width:1px;--mg-focus-ring-width:2px}.magic-grid{--mg-color-bg-cell:var(--mg-color-bg);--mg-fixed-shadow-left:4px 0 8px -2px #0000001f;--mg-fixed-shadow-right:-4px 0 8px -2px #0000001f;--mg-fixed-z-index:2;--mg-fixed-editing-z-index:3}.mg-header-row{flex-direction:row;display:flex}.mg-header-row:after{content:"";background:var(--mg-color-bg-header);flex:1 0 0;align-self:stretch;min-width:0}.mg-header-row__lane{flex:none;height:100%;position:relative;overflow:hidden}.mg-header-row__lane--left,.mg-header-row__lane--right{z-index:var(--mg-fixed-z-index);background:var(--mg-color-bg-header);position:sticky}.mg-header-row__lane--left{left:0}.mg-header-row__lane--right{order:1;right:0}.mg-header-row__lane--center{z-index:0}.mg-row{flex-direction:row;display:flex}.mg-row:after{content:"";background:var(--mg-color-bg-cell);flex:1 0 0;align-self:stretch;min-width:0}.mg-row__lane{flex:none;height:100%;position:relative;overflow:hidden}.mg-row__lane--left,.mg-row__lane--right{z-index:var(--mg-fixed-z-index);position:sticky}.mg-row__lane--left{background:var(--mg-color-bg-cell);left:0}.mg-row__lane--right{background:var(--mg-color-bg-cell);order:1;right:0}.mg-row__lane--center{z-index:0;background:var(--mg-color-bg-cell)}.mg-header-cell--fixed-left-last:after{content:"";pointer-events:none;width:0;box-shadow:var(--mg-fixed-shadow-left);position:absolute;top:0;bottom:0;left:100%}.mg-header-cell--fixed-right-first:after{content:"";pointer-events:none;width:0;box-shadow:var(--mg-fixed-shadow-right);position:absolute;top:0;bottom:0;right:100%}.mg-footer-row{flex-direction:row;display:flex}.mg-footer-row:after{content:"";background:var(--mg-color-bg-footer);flex:1 0 0;align-self:stretch;min-width:0}.mg-footer-row__lane{flex:none;height:100%;position:relative;overflow:hidden}.mg-footer-row__lane--left,.mg-footer-row__lane--right{z-index:var(--mg-fixed-z-index);background:var(--mg-color-bg-footer);position:sticky}.mg-footer-row__lane--left{left:0}.mg-footer-row__lane--right{order:1;right:0}.mg-footer-row__lane--center{z-index:0}.mg-footer-cell--fixed-left-last:after{content:"";pointer-events:none;width:0;box-shadow:var(--mg-fixed-shadow-left);position:absolute;top:0;bottom:0;left:100%}.mg-footer-cell--fixed-right-first:after{content:"";pointer-events:none;width:0;box-shadow:var(--mg-fixed-shadow-right);position:absolute;top:0;bottom:0;right:100%}.mg-cell--fixed-left-last:after{content:"";pointer-events:none;width:0;box-shadow:var(--mg-fixed-shadow-left);position:absolute;top:0;bottom:0;left:100%}.mg-cell--fixed-right-first:after{content:"";pointer-events:none;width:0;box-shadow:var(--mg-fixed-shadow-right);position:absolute;top:0;bottom:0;right:100%}.mg-cell--editing{z-index:var(--mg-fixed-editing-z-index)}.mg-row--stripe>.mg-row__lane--left,.mg-row--stripe>.mg-row__lane--right,.mg-row--stripe>.mg-row__lane--center,.mg-row--stripe:after{background:var(--mg-color-bg-stripe)}.mg-row--selected>.mg-row__lane--left,.mg-row--index-focused>.mg-row__lane--left,.mg-row--selected>.mg-row__lane--right,.mg-row--index-focused>.mg-row__lane--right,.mg-row--selected .mg-cell--fixed-left:not(.mg-cell--index):not(.mg-cell--selection),.mg-row--index-focused .mg-cell--fixed-left:not(.mg-cell--index):not(.mg-cell--selection),.mg-row--selected .mg-cell--fixed-right,.mg-row--index-focused .mg-cell--fixed-right,.mg-row--selected:after,.mg-row--index-focused:after{background:color-mix(in srgb, var(--mg-color-primary) 10%, var(--mg-color-bg-cell))}.mg-row--selected.mg-row--stripe>.mg-row__lane--left,.mg-row--index-focused.mg-row--stripe>.mg-row__lane--left,.mg-row--selected.mg-row--stripe>.mg-row__lane--right,.mg-row--index-focused.mg-row--stripe>.mg-row__lane--right,.mg-row--selected.mg-row--stripe .mg-cell--fixed-left:not(.mg-cell--index):not(.mg-cell--selection),.mg-row--index-focused.mg-row--stripe .mg-cell--fixed-left:not(.mg-cell--index):not(.mg-cell--selection),.mg-row--selected.mg-row--stripe .mg-cell--fixed-right,.mg-row--index-focused.mg-row--stripe .mg-cell--fixed-right,.mg-row--selected.mg-row--stripe:after,.mg-row--index-focused.mg-row--stripe:after{background:color-mix(in srgb, var(--mg-color-primary) 10%, var(--mg-color-bg-stripe))}.magic-grid--border-none{border:none}.magic-grid--border-none .mg-header-viewport{border-bottom:var(--mg-border-width) solid var(--mg-color-border)}.magic-grid--border-none.magic-grid--has-footer .mg-footer-viewport{border-top:var(--mg-border-width) solid var(--mg-color-border)}.magic-grid--border-border{border:var(--mg-border-width) solid var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--last .mg-cell{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--last .mg-cell--center-last{box-shadow:none}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--last .mg-cell--fixed-right-first:not(.mg-cell--column-last){box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--last .mg-cell--column-last:not(.mg-cell--center-last):not(.mg-cell--fixed-right-first){box-shadow:none}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes):not(.mg-grid--inner-right-closes) .mg-row--last .mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes).mg-grid--inner-right-closes .mg-row--last .mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes).mg-grid--inner-right-closes .mg-row--last .mg-cell--column-last:not(.mg-cell--center-last):not(.mg-cell--fixed-right-first){box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer .mg-footer-cell{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer .mg-footer-cell--center-last{box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer .mg-footer-cell--fixed-right-first:not(.mg-footer-cell--column-last){box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer .mg-footer-cell--column-last:not(.mg-footer-cell--center-last):not(.mg-footer-cell--fixed-right-first){box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-right-closes) .mg-footer-cell--fixed-right-first.mg-footer-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer.mg-grid--inner-right-closes .mg-footer-cell--fixed-right-first.mg-footer-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer.mg-grid--inner-right-closes .mg-footer-cell--column-last:not(.mg-footer-cell--center-last):not(.mg-footer-cell--fixed-right-first){box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--last .mg-cell{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--last .mg-cell--center-last{box-shadow:none}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--last .mg-cell--fixed-right-first:not(.mg-cell--column-last){box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--last .mg-cell--column-last:not(.mg-cell--center-last):not(.mg-cell--fixed-right-first){box-shadow:none}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer):not(.mg-grid--inner-right-closes) .mg-row--last .mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer).mg-grid--inner-right-closes .mg-row--last .mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer).mg-grid--inner-right-closes .mg-row--last .mg-cell--column-last:not(.mg-cell--center-last):not(.mg-cell--fixed-right-first){box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-header-viewport{border-bottom:none}.magic-grid--border-border .mg-header-row:after,.magic-grid--border-border .mg-header-span,.magic-grid--border-border .mg-header-gutter,.magic-grid--border-border .mg-header-viewport:after{box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-footer-row:after,.magic-grid--border-border .mg-footer-span,.magic-grid--border-border .mg-footer-gutter,.magic-grid--border-border .mg-footer-viewport:after{box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-header-cell,.magic-grid--border-border .mg-cell{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-header-cell--center-last,.magic-grid--border-border .mg-cell--center-last{box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-header-cell--fixed-right-first:not(.mg-header-cell--column-last),.magic-grid--border-border .mg-cell--fixed-right-first:not(.mg-cell--column-last){box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-header-cell--fixed-right-first.mg-header-cell--column-last,.magic-grid--border-border .mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-header-cell--column-last:not(.mg-header-cell--center-last):not(.mg-header-cell--fixed-right-first),.magic-grid--border-border .mg-cell--column-last:not(.mg-cell--center-last):not(.mg-cell--fixed-right-first){box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border.mg-grid--inner-right-closes .mg-header-cell--column-last:not(.mg-header-cell--center-last):not(.mg-header-cell--fixed-right-first),.magic-grid--border-border.mg-grid--inner-right-closes .mg-cell--column-last:not(.mg-cell--center-last):not(.mg-cell--fixed-right-first){box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border.mg-grid--inner-right-closes .mg-header-cell--fixed-right-first.mg-header-cell--column-last,.magic-grid--border-border.mg-grid--inner-right-closes .mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-row--expanded-master .mg-cell{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-row--expanded-master .mg-cell--center-last{box-shadow:none}.magic-grid--border-border .mg-row--expanded-master .mg-cell--fixed-right-first:not(.mg-cell--column-last){box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-row--expanded-master .mg-cell--column-last:not(.mg-cell--center-last):not(.mg-cell--fixed-right-first){box-shadow:none}.magic-grid--border-border:not(.mg-grid--inner-right-closes) .mg-row--expanded-master .mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border)}.magic-grid--border-border.mg-grid--inner-right-closes .mg-row--expanded-master .mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border.mg-grid--inner-right-closes .mg-row--expanded-master .mg-cell--column-last:not(.mg-cell--center-last):not(.mg-cell--fixed-right-first){box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-full-width-row__content,.magic-grid--border-border .mg-row--full-width-embed.mg-row--detail .mg-full-width-row__content{box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.mg-grid--inner-right-closes .mg-full-width-row__content{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail:has(>.mg-row__lane--right .mg-cell--embed-spacer) .mg-full-width-row__content{box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail:not(:has(>.mg-row__lane--right .mg-cell--embed-spacer)) .mg-full-width-row__content{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--left .mg-cell--embed-spacer,.magic-grid--border-border .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--right .mg-cell--embed-spacer{box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--left .mg-cell--embed-spacer.mg-cell--index:not(.mg-cell--fixed-left-last),.magic-grid--border-border .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--left .mg-cell--embed-spacer.mg-cell--fixed-left-last{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--fixed-right-first:not(.mg-cell--column-last),.magic-grid--border-border .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--column-last:not(.mg-cell--fixed-right-first){box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--column-last:not(.mg-cell--fixed-right-first){box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-full-width-row--last .mg-full-width-row__content,.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--full-width-embed.mg-row--detail.mg-row--last .mg-full-width-row__content{box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes).mg-grid--inner-right-closes .mg-full-width-row--last .mg-full-width-row__content{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes).mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail.mg-row--last:has(>.mg-row__lane--right .mg-cell--embed-spacer) .mg-full-width-row__content{box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes).mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail.mg-row--last:not(:has(>.mg-row__lane--right .mg-cell--embed-spacer)) .mg-full-width-row__content{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--left .mg-cell--embed-spacer,.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--right .mg-cell--embed-spacer{box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--left .mg-cell--embed-spacer.mg-cell--index:not(.mg-cell--fixed-left-last),.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--left .mg-cell--embed-spacer.mg-cell--fixed-left-last{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--fixed-right-first:not(.mg-cell--column-last),.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-full-width-row--last .mg-full-width-row__content,.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--full-width-embed.mg-row--detail.mg-row--last .mg-full-width-row__content{box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer).mg-grid--inner-right-closes .mg-full-width-row--last .mg-full-width-row__content{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer).mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail.mg-row--last:has(>.mg-row__lane--right .mg-cell--embed-spacer) .mg-full-width-row__content{box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer).mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail.mg-row--last:not(:has(>.mg-row__lane--right .mg-cell--embed-spacer)) .mg-full-width-row__content{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--left .mg-cell--embed-spacer,.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--right .mg-cell--embed-spacer{box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--left .mg-cell--embed-spacer.mg-cell--index:not(.mg-cell--fixed-left-last),.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--left .mg-cell--embed-spacer.mg-cell--fixed-left-last{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--fixed-right-first:not(.mg-cell--column-last),.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer) .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes).mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border.magic-grid--has-footer:not(.mg-grid--inner-bottom-closes).mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--column-last:not(.mg-cell--fixed-right-first){box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer).mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--fixed-right-first.mg-cell--column-last{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border:not(.mg-grid--inner-bottom-closes):not(.magic-grid--has-footer).mg-grid--inner-right-closes .mg-row--full-width-embed.mg-row--detail.mg-row--last>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--column-last:not(.mg-cell--fixed-right-first){box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-linear{border:none}.magic-grid--border-linear .mg-header-viewport{border-bottom:none}.magic-grid--border-linear.magic-grid--has-footer .mg-footer-viewport{border-top:none}.magic-grid--border-linear .mg-header-cell,.magic-grid--border-linear .mg-cell,.magic-grid--border-linear .mg-footer-cell,.magic-grid--border-linear .mg-header-row:after,.magic-grid--border-linear .mg-header-span,.magic-grid--border-linear .mg-header-gutter,.magic-grid--border-linear .mg-header-viewport:after{box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-linear .mg-footer-row:after,.magic-grid--border-linear .mg-footer-span,.magic-grid--border-linear .mg-footer-gutter,.magic-grid--border-linear .mg-footer-viewport:after{box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-linear .mg-row--expanded-master .mg-cell{box-shadow:none}.magic-grid--border-linear .mg-full-width-row__content,.magic-grid--border-linear .mg-row--full-width-embed.mg-row--detail .mg-full-width-row__content,.magic-grid--border-linear .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--left .mg-cell--embed-spacer,.magic-grid--border-linear .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--right .mg-cell--embed-spacer{box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-linear .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--left .mg-cell--embed-spacer.mg-cell--index:not(.mg-cell--fixed-left-last),.magic-grid--border-linear .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--left .mg-cell--embed-spacer.mg-cell--fixed-left-last{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-linear .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--fixed-right-first{box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-linear .mg-row--full-width-embed.mg-row--detail>.mg-row__lane--right .mg-cell--embed-spacer.mg-cell--column-last:not(.mg-cell--fixed-right-first){box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.mg-header-cell--align-h-left,.mg-footer-cell--align-h-left,.mg-cell--align-h-left:not(.mg-cell--editing){text-align:left}.mg-header-cell--align-h-center,.mg-footer-cell--align-h-center,.mg-cell--align-h-center:not(.mg-cell--editing){text-align:center}.mg-header-cell--align-h-right,.mg-footer-cell--align-h-right,.mg-cell--align-h-right:not(.mg-cell--editing){text-align:right}.mg-header-cell--align-v-top,.mg-footer-cell--align-v-top,.mg-cell--align-v-top:not(.mg-cell--editing){align-items:flex-start}.mg-header-cell--align-v-center,.mg-footer-cell--align-v-center,.mg-cell--align-v-center:not(.mg-cell--editing){align-items:center}.mg-header-cell--align-v-bottom,.mg-footer-cell--align-v-bottom,.mg-cell--align-v-bottom:not(.mg-cell--editing){align-items:flex-end}.mg-cell--align-h-left .mg-cell-editor,.mg-cell--align-h-left .mg-cell-editor-host .mg-cell-editor,.mg-cell--align-h-left .mg-cell-editor-host input,.mg-cell--align-h-left .mg-cell-editor-host textarea,.mg-cell--align-h-left .mg-cell-editor-host select{text-align:left}.mg-cell--align-h-center .mg-cell-editor,.mg-cell--align-h-center .mg-cell-editor-host .mg-cell-editor,.mg-cell--align-h-center .mg-cell-editor-host input,.mg-cell--align-h-center .mg-cell-editor-host textarea,.mg-cell--align-h-center .mg-cell-editor-host select{text-align:center}.mg-cell--align-h-right .mg-cell-editor,.mg-cell--align-h-right .mg-cell-editor-host .mg-cell-editor,.mg-cell--align-h-right .mg-cell-editor-host input,.mg-cell--align-h-right .mg-cell-editor-host textarea,.mg-cell--align-h-right .mg-cell-editor-host select{text-align:right}.mg-cell__text[hidden],.mg-cell__renderer[hidden],.mg-cell__inline-editor[hidden],.mg-footer-cell__text[hidden],.mg-footer-cell__renderer[hidden]{display:none!important}.mg-cell__text:not([hidden]),.mg-cell__renderer:not([hidden]),.mg-cell__inline-editor:not([hidden]),.mg-footer-cell__text:not([hidden]),.mg-footer-cell__renderer:not([hidden]){flex:auto;width:100%;min-width:0;min-height:0;overflow:hidden}.mg-header-cell__text,.mg-cell__text:not([hidden]),.mg-footer-cell__text:not([hidden]){text-overflow:ellipsis;white-space:nowrap;display:block}.mg-header-cell__text{flex:auto;width:100%;min-width:0;overflow:hidden}.mg-cell__renderer:not([hidden]),.mg-cell__inline-editor:not([hidden]),.mg-footer-cell__renderer:not([hidden]){height:100%;display:flex}.mg-cell--align-h-left:not(.mg-cell--editing) .mg-cell__text:not([hidden]),.mg-footer-cell--align-h-left .mg-footer-cell__text:not([hidden]){text-align:left}.mg-cell--align-h-center:not(.mg-cell--editing) .mg-cell__text:not([hidden]),.mg-footer-cell--align-h-center .mg-footer-cell__text:not([hidden]){text-align:center}.mg-cell--align-h-right:not(.mg-cell--editing) .mg-cell__text:not([hidden]),.mg-footer-cell--align-h-right .mg-footer-cell__text:not([hidden]){text-align:right}.mg-cell--align-h-left .mg-cell__renderer:not([hidden]),.mg-cell--align-h-left .mg-cell__inline-editor:not([hidden]),.mg-footer-cell--align-h-left .mg-footer-cell__renderer:not([hidden]){justify-content:flex-start}.mg-cell--align-h-center .mg-cell__renderer:not([hidden]),.mg-cell--align-h-center .mg-cell__inline-editor:not([hidden]),.mg-footer-cell--align-h-center .mg-footer-cell__renderer:not([hidden]){justify-content:center}.mg-cell--align-h-right .mg-cell__renderer:not([hidden]),.mg-cell--align-h-right .mg-cell__inline-editor:not([hidden]),.mg-footer-cell--align-h-right .mg-footer-cell__renderer:not([hidden]){justify-content:flex-end}.mg-cell--align-v-top:not(.mg-cell--editing) .mg-cell__text:not([hidden]),.mg-footer-cell--align-v-top .mg-footer-cell__text:not([hidden]){align-self:flex-start}.mg-cell--align-v-center:not(.mg-cell--editing) .mg-cell__text:not([hidden]),.mg-footer-cell--align-v-center .mg-footer-cell__text:not([hidden]){align-self:center}.mg-cell--align-v-bottom:not(.mg-cell--editing) .mg-cell__text:not([hidden]),.mg-footer-cell--align-v-bottom .mg-footer-cell__text:not([hidden]){align-self:flex-end}.mg-cell--align-v-top .mg-cell__renderer:not([hidden]),.mg-cell--align-v-top .mg-cell__inline-editor:not([hidden]),.mg-footer-cell--align-v-top .mg-footer-cell__renderer:not([hidden]){align-items:flex-start}.mg-cell--align-v-center .mg-cell__renderer:not([hidden]),.mg-cell--align-v-center .mg-cell__inline-editor:not([hidden]),.mg-footer-cell--align-v-center .mg-footer-cell__renderer:not([hidden]){align-items:center}.mg-cell--align-v-bottom .mg-cell__renderer:not([hidden]),.mg-cell--align-v-bottom .mg-cell__inline-editor:not([hidden]),.mg-footer-cell--align-v-bottom .mg-footer-cell__renderer:not([hidden]){align-items:flex-end}.magic-grid{--mg-color-sort-icon:#c0c4cc;--mg-color-sort-active:var(--mg-color-primary);--mg-sort-icon-size:14px;--mg-sort-icon-gap:2px}.mg-header-cell--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.mg-header-cell--sortable .mg-header-cell__label{cursor:pointer}.mg-header-cell--sorted .mg-header-cell__text{color:var(--mg-color-text-primary)}.mg-header-cell__sort{align-self:center;align-items:center;gap:var(--mg-sort-icon-gap);pointer-events:none;flex-direction:column;flex:none;line-height:1;display:inline-flex}.mg-sort-icon{width:var(--mg-sort-icon-size);height:var(--mg-sort-icon-size);color:var(--mg-color-sort-icon);opacity:.45;flex-shrink:0;transition:opacity .12s,color .12s;display:block}.mg-header-cell--sorted-asc .mg-sort-icon--asc,.mg-header-cell--sorted-desc .mg-sort-icon--desc{color:var(--mg-color-sort-active);opacity:1}.mg-header-cell--sort-hint:not(.mg-header-cell--sorted) .mg-header-cell__sort{visibility:hidden}.mg-header-cell--sort-hint:not(.mg-header-cell--sorted):hover .mg-header-cell__sort{visibility:visible}.mg-header-cell--sort-hint:not(.mg-header-cell--sorted):hover .mg-sort-icon{color:color-mix(in srgb, var(--mg-color-sort-icon) 80%, var(--mg-color-primary));opacity:.75}.mg-header-cell--sortable.mg-header-cell--focused.mg-header-cell--sorted-asc .mg-sort-icon--asc,.mg-header-cell--sortable.mg-header-cell--focused.mg-header-cell--sorted-desc .mg-sort-icon--desc{opacity:1}.mg-header-cell--sortable.mg-header-cell--focused.mg-header-cell--sort-hint:not(.mg-header-cell--sorted) .mg-header-cell__sort{visibility:visible}.mg-header-cell--sortable:active.mg-header-cell--focused:before{box-shadow:none}.mg-header-cell--sortable:active.mg-header-cell--range-highlight{background-color:var(--mg-color-bg-header)!important}.magic-grid{--mg-header-label-gap:1px;--mg-header-chrome-edge-inset:2px;--mg-color-column-handle:color-mix(in srgb, var(--mg-color-text-regular) 45%, transparent);--mg-color-column-handle-hover-bg:color-mix(in srgb, var(--mg-color-text-regular) 10%, transparent)}.mg-header-cell{position:relative}.mg-header-cell__label{align-items:center;gap:var(--mg-header-label-gap);flex:auto;min-width:0;display:inline-flex}.mg-header-cell__label .mg-header-cell__text{flex:0 auto;width:auto}.mg-header-cell__chrome{flex:none;align-items:center;display:inline-flex}.mg-header-cell__column-handle{opacity:.55;pointer-events:auto;cursor:pointer;border-radius:var(--mg-border-radius);flex:none;justify-content:center;align-items:center;padding:2px;line-height:0;transition:opacity .12s,background-color .12s;display:inline-flex}.mg-header-cell__column-handle:hover{opacity:1;background-color:var(--mg-color-column-handle-hover-bg)}.mg-header-cell__column-handle[aria-pressed=true]{opacity:1;color:var(--mg-color-primary)}.mg-header-cell--filtered .mg-header-icon--column-handle{color:var(--mg-color-primary)}.mg-header-icon--column-handle{width:14px;height:14px;color:var(--mg-color-column-handle);display:block}.mg-header-cell--align-h-left .mg-header-cell__label,.mg-header-cell--align-h-center .mg-header-cell__label{justify-content:flex-start}.mg-header-cell--align-h-left .mg-header-cell__label .mg-header-cell__text,.mg-header-cell--align-h-center .mg-header-cell__label .mg-header-cell__text{text-align:left}.mg-header-cell--align-h-left.mg-header-cell--has-column-handle .mg-header-cell__chrome,.mg-header-cell--align-h-center.mg-header-cell--has-column-handle .mg-header-cell__chrome{margin-left:auto;margin-right:calc(-1 * (var(--mg-cell-padding-x) - var(--mg-header-chrome-edge-inset)))}.mg-header-cell--align-h-center{justify-content:center}.mg-header-cell--align-h-center .mg-header-cell__label{flex:0 auto;justify-content:center}.mg-header-cell--align-h-center .mg-header-cell__label .mg-header-cell__text{text-align:center}.mg-header-cell--align-h-center.mg-header-cell--has-column-handle .mg-header-cell__chrome{right:var(--mg-header-chrome-edge-inset);margin-right:0;position:absolute;top:50%;transform:translateY(-50%)}.mg-header-cell--align-h-right .mg-header-cell__label{justify-content:flex-end}.mg-header-cell--align-h-right .mg-header-cell__label .mg-header-cell__text{text-align:right}.mg-header-cell--align-h-right.mg-header-cell--has-column-handle .mg-header-cell__chrome{margin-left:calc(-1 * (var(--mg-cell-padding-x) - var(--mg-header-chrome-edge-inset)))}.magic-grid{--mg-header-resize-handle-width:8px;--mg-header-resize-handle-offset:-3px;--mg-header-resize-handle-line-width:3px;--mg-header-resize-handle-line-color:var(--mg-color-border);--mg-header-resize-handle-line-color-hover:var(--mg-color-primary);--mg-header-resize-handle-line-color-active:var(--mg-color-primary)}.mg-header-cell__resize-handle{z-index:3;height:100%;width:var(--mg-header-resize-handle-width);top:0;right:var(--mg-header-resize-handle-offset);cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute}.mg-header-cell__resize-handle:after{content:"";z-index:5;height:100%;top:0;right:calc(-1 * var(--mg-header-resize-handle-offset) + var(--mg-header-resize-line-inset,0));width:var(--mg-header-resize-handle-line-width);background-color:var(--mg-header-resize-handle-line-color);pointer-events:none;opacity:0;position:absolute}.mg-header-cell--resizable:hover{z-index:4;overflow:visible}.mg-header-cell--resizable:hover .mg-header-cell__resize-handle:after{opacity:1}.mg-header-cell--resizable:hover .mg-header-cell__resize-handle:hover:after{background-color:var(--mg-header-resize-handle-line-color-hover)}.mg-root--column-resizing .mg-header-cell[data-column-resize-active]{z-index:5;overflow:visible}.mg-root--column-resizing .mg-header-cell[data-column-resize-active] .mg-header-cell__resize-handle:after{opacity:1;background-color:var(--mg-header-resize-handle-line-color-active)}.magic-grid--border-border{--mg-header-resize-line-inset:var(--mg-border-width)}.magic-grid--border-border .mg-header-cell--resizable:hover:not(.mg-header-cell--center-last):not(.mg-header-cell--column-last),.magic-grid--border-border .mg-header-cell--resizable[data-column-resize-active]:not(.mg-header-cell--center-last):not(.mg-header-cell--column-last){box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-header-cell--fixed-right-first.mg-header-cell--resizable:hover:not(.mg-header-cell--column-last),.magic-grid--border-border .mg-header-cell--fixed-right-first.mg-header-cell--resizable[data-column-resize-active]:not(.mg-header-cell--column-last){box-shadow:inset var(--mg-border-width) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.mg-root--column-resizing{-webkit-user-select:none;user-select:none;cursor:col-resize!important}.mg-root--column-resizing .mg-header-cell__resize-handle{cursor:col-resize}.magic-grid{--mg-color-column-drag-ghost-bg:var(--mg-color-bg);--mg-color-column-drag-ghost-border:var(--mg-color-border);--mg-color-column-drag-ghost-icon:var(--mg-color-text-secondary);--mg-column-drag-ghost-gap:var(--mg-cell-padding-x);--mg-color-column-drop-indicator:var(--mg-color-primary);--mg-column-dragging-opacity:.42;--mg-column-drop-indicator-width:2px;--mg-column-drag-ghost-z-index:30;--mg-column-drop-indicator-z-index:29;--mg-column-move-duration:.2s}.mg-root:not(.magic-grid--suppress-column-move-animation):not(.magic-grid--column-move-live) .mg-header-cell,.mg-root:not(.magic-grid--suppress-column-move-animation):not(.magic-grid--column-move-live) .mg-cell,.mg-root:not(.magic-grid--suppress-column-move-animation):not(.magic-grid--column-move-live) .mg-footer-cell{transition:left var(--mg-column-move-duration) ease}.mg-header-cell--movable{-webkit-user-select:none;user-select:none}.mg-header-cell--movable .mg-header-cell__column-handle:active{cursor:grabbing}.mg-header-cell--movable.mg-header-cell--sortable{cursor:default}.mg-header-cell--movable.mg-header-cell--sortable .mg-header-cell__label{cursor:pointer}.mg-header-cell--dragging{cursor:grabbing;opacity:var(--mg-column-dragging-opacity);pointer-events:none}.mg-column-drag-ghost{z-index:var(--mg-column-drag-ghost-z-index);box-sizing:border-box;align-items:center;gap:var(--mg-column-drag-ghost-gap);padding:0 var(--mg-cell-padding-x);height:var(--mg-header-height);font-weight:400;font-size:var(--mg-font-size);font-family:var(--mg-font-family);color:var(--mg-color-text-primary);background-color:var(--mg-color-column-drag-ghost-bg,#fff);border:1px solid var(--mg-color-column-drag-ghost-border);border-radius:var(--mg-border-radius);pointer-events:none;white-space:nowrap;line-height:1;display:flex;position:fixed;overflow:hidden;box-shadow:0 1px 2px #0000000f,0 4px 12px #00000014}.mg-column-drag-ghost__icon{color:var(--mg-color-column-drag-ghost-icon);flex:none;align-items:center;line-height:0;display:inline-flex}.mg-column-drag-ghost__move-icon{width:1em;height:1em;display:block}.mg-column-drag-ghost__label{text-overflow:ellipsis;min-width:0;overflow:hidden}.mg-column-drop-indicator{z-index:var(--mg-column-drop-indicator-z-index);width:var(--mg-column-drop-indicator-width);background:var(--mg-color-column-drop-indicator);pointer-events:none;box-shadow:0 0 0 1px color-mix(in srgb, var(--mg-color-column-drop-indicator) 25%, transparent);border-radius:1px;position:fixed}.mg-header-viewport--column-dragging,.mg-header-viewport--column-dragging .mg-header-cell--movable:not(.mg-header-cell--dragging){cursor:grabbing}.magic-grid{--mg-column-handle-menu-z-index:35;--mg-column-handle-menu-min-width:168px;--mg-column-handle-menu-shadow:0 1px 2px #0000000f, 0 4px 12px #00000014;--mg-color-column-handle-menu-bg:var(--mg-color-bg);--mg-color-column-handle-menu-border:var(--mg-color-border);--mg-color-column-handle-menu-heading:var(--mg-color-text-secondary);--mg-color-column-handle-menu-item-hover:color-mix(in srgb, var(--mg-color-text-regular) 8%, transparent);--mg-color-column-handle-menu-item-checked:color-mix(in srgb, var(--mg-color-primary) 12%, transparent)}.mg-column-handle-menu-portal{z-index:var(--mg-column-handle-menu-z-index);pointer-events:none;position:fixed;inset:0}.mg-column-handle-menu{box-sizing:border-box;min-width:var(--mg-column-handle-menu-min-width);border:1px solid var(--mg-color-column-handle-menu-border);border-radius:var(--mg-border-radius);background:var(--mg-color-column-handle-menu-bg);box-shadow:var(--mg-column-handle-menu-shadow);pointer-events:auto;font-size:var(--mg-font-size);font-family:var(--mg-font-family);color:var(--mg-color-text-regular);padding:4px 0;position:fixed}.mg-column-handle-menu__heading{color:var(--mg-color-column-handle-menu-heading);-webkit-user-select:none;user-select:none;padding:6px 12px 4px;font-size:12px;font-weight:600}.mg-column-handle-menu__item{box-sizing:border-box;text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:6px 12px;display:flex}.mg-column-handle-menu__item:hover{background:var(--mg-color-column-handle-menu-item-hover)}.mg-column-handle-menu__item--checked,.mg-column-handle-menu__item[aria-checked=true]{background:var(--mg-color-column-handle-menu-item-checked);font-weight:600}.mg-column-handle-menu__item-content{flex:auto;align-items:center;gap:8px;min-width:0;display:inline-flex}.mg-column-handle-menu__item-label{min-width:0}.mg-column-handle-menu__icon,.mg-column-handle-menu__item-content .mg-sort-icon{color:var(--mg-color-text-secondary);flex:none}.mg-column-handle-menu__item--checked .mg-column-handle-menu__icon,.mg-column-handle-menu__item--checked .mg-sort-icon,.mg-column-handle-menu__item[aria-checked=true] .mg-column-handle-menu__icon,.mg-column-handle-menu__item[aria-checked=true] .mg-sort-icon{color:var(--mg-color-primary)}.mg-column-handle-menu__item--submenu-trigger{justify-content:space-between}.mg-column-handle-menu__item--submenu-trigger .mg-column-handle-menu__icon--chevron{color:var(--mg-color-text-secondary);flex:none}.mg-column-handle-menu__submenu{position:relative}.mg-column-handle-menu__submenu-panel{z-index:1;min-width:var(--mg-column-handle-menu-min-width);border:1px solid var(--mg-color-column-handle-menu-border);border-radius:var(--mg-border-radius);background:var(--mg-color-column-handle-menu-bg);box-shadow:var(--mg-column-handle-menu-shadow);padding:4px 0;position:absolute;top:0;left:100%}.mg-column-handle-menu__submenu-panel--flip{left:auto;right:100%}.mg-column-handle-menu__submenu--open>.mg-column-handle-menu__item--submenu-trigger,.mg-column-handle-menu__submenu-panel .mg-column-handle-menu__item:hover{background:var(--mg-color-column-handle-menu-item-hover)}.mg-column-handle-menu__divider{background:var(--mg-color-column-handle-menu-border);height:1px;margin:4px 0}.mg-column-handle-menu__filter-panel{flex-direction:column;gap:6px;padding:0 12px 8px;display:flex}.mg-column-handle-menu__filter-type,.mg-column-handle-menu__filter-input,.mg-column-handle-menu__filter-input-to{box-sizing:border-box;border:1px solid var(--mg-color-column-handle-menu-border);border-radius:var(--mg-border-radius);width:100%;font:inherit;color:inherit;background:var(--mg-color-bg);padding:4px 8px}.mg-column-handle-menu__filter-notice{color:var(--mg-color-column-handle-menu-heading);padding:0 12px 8px;font-size:12px}.mg-column-handle-menu__filter-panel .mg-column-handle-menu__item{padding-left:0;padding-right:0}.mg-column-handle-menu__filter-actions{justify-content:flex-end;padding-top:2px;display:flex}.mg-column-handle-menu__filter-reset{box-sizing:border-box;border-radius:var(--mg-border-radius);width:auto;font:inherit;color:#fff;background:var(--mg-color-primary);cursor:pointer;border:none;padding:4px 12px;font-weight:600;line-height:1.4}.mg-column-handle-menu__filter-reset:hover{background:color-mix(in srgb, var(--mg-color-primary) 88%, #000)}.mg-column-handle-menu__filter-group,.mg-column-handle-menu__filter-operator-panel{flex-direction:column;gap:6px;display:flex}.mg-column-handle-menu__filter-operator-logic{border:none;justify-content:center;align-items:center;gap:16px;margin:0;padding:0;display:flex}.mg-column-handle-menu__filter-operator-logic[hidden],.mg-column-handle-menu__filter-condition-row--secondary[hidden]{display:none!important}.mg-column-handle-menu__filter-operator-logic-option{cursor:pointer;align-items:center;gap:6px;font-size:12px;line-height:16px;display:inline-flex}.mg-column-handle-menu__filter-operator-logic-option input[type=radio]{box-sizing:border-box;width:14px;height:14px;accent-color:var(--mg-color-primary);flex-shrink:0;margin:0}.mg-column-handle-menu__filter-conditions{flex-direction:column;gap:8px;display:flex}.mg-column-handle-menu__filter-condition-row{flex-direction:column;gap:4px;display:flex}.mg-column-handle-menu__filter-condition-row--secondary{margin:0;padding:0}.mg-column-handle-menu__filter-group-heading{color:var(--mg-color-column-handle-menu-heading);font-size:12px;font-weight:600}.mg-column-handle-menu__filter-set-panel{flex-direction:column;gap:4px;display:flex}.mg-column-handle-menu__filter-set-search,.mg-column-handle-menu__filter-set-mode,.mg-column-handle-menu__filter-set-layout{box-sizing:border-box;border:1px solid var(--mg-color-column-handle-menu-border);border-radius:var(--mg-border-radius);width:100%;font:inherit;color:inherit;background:var(--mg-color-bg);padding:4px 8px}.mg-column-handle-menu__filter-set-search,.mg-column-handle-menu__filter-set-select-all{flex:none}.mg-column-handle-menu__filter-set-list{max-height:160px;overflow:auto}.mg-column-handle-menu__filter-set-list-spacer{width:100%;position:relative}.mg-column-handle-menu__filter-set-list-window{width:100%;position:absolute;top:0;left:0}.mg-column-handle-menu__filter-set-option{box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;height:28px;padding:0;display:flex}.mg-column-handle-menu__filter-set-option input{flex:none;margin:0}.mg-column-handle-menu__filter-set-option span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mg-column-handle-menu__filter-set-empty,.mg-column-handle-menu__filter-set-notice{color:var(--mg-color-column-handle-menu-heading);font-size:12px}.mg-column-handle-menu__filter-set-list-host{flex-direction:column;min-height:0;display:flex}.mg-column-handle-menu__filter-set-tree-row{box-sizing:border-box;align-items:center;gap:6px;min-width:0;display:flex}.mg-column-handle-menu__filter-set-tree-toggle{border:1px solid var(--mg-color-column-handle-menu-border);border-radius:calc(var(--mg-border-radius) / 2);background:var(--mg-color-bg);width:16px;height:16px;color:var(--mg-color-text-regular);font:inherit;cursor:pointer;flex:0 0 16px;padding:0;font-size:12px;line-height:1}.mg-column-handle-menu__filter-set-tree-toggle:hover{background:var(--mg-color-column-handle-menu-item-hover)}.mg-column-handle-menu__filter-set-tree-toggle-spacer{flex:0 0 16px;width:16px;height:16px}.mg-column-handle-menu__filter-set-tree-option{cursor:pointer;-webkit-user-select:none;user-select:none;flex:auto;align-items:center;gap:8px;min-width:0;display:flex}.mg-column-handle-menu__filter-set-tree-option input{flex:none;margin:0}.mg-column-handle-menu__filter-set-tree-option span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mg-header-cell__column-handle[aria-expanded=true]{background-color:var(--mg-color-column-handle-hover-bg)}.magic-grid,.mg-column-settings-button,.mg-column-settings-portal,.mg-column-settings{--mg-z-column-settings:34;--mg-column-settings-min-width:320px;--mg-column-settings-max-width:400px;--mg-column-settings-max-height:70vh;--mg-column-settings-shadow:0 8px 24px #0f172a1f;--mg-color-column-settings-bg:var(--mg-color-bg,#fff);--mg-color-column-settings-border:var(--mg-color-border,#d1d5db);--mg-color-column-settings-text:var(--mg-color-text-regular,var(--mg-color-text,#111827));--mg-color-column-settings-text-secondary:var(--mg-color-text-secondary,#6b7280);--mg-color-column-settings-bg-subtle:color-mix(in srgb, var(--mg-color-column-settings-text) 6%, transparent);--mg-color-column-settings-primary:var(--mg-color-primary,#2563eb);--mg-color-column-settings-primary-soft:color-mix(in srgb, var(--mg-color-column-settings-primary) 12%, transparent);--mg-color-column-settings-pinned-bg:color-mix(in srgb, var(--mg-color-column-settings-text) 5%, var(--mg-color-column-settings-bg))}.magic-grid.mg-theme-dark{--mg-column-settings-shadow:0 8px 24px #00000073;--mg-color-column-settings-bg-subtle:color-mix(in srgb, var(--mg-color-text-regular) 10%, transparent);--mg-color-column-settings-pinned-bg:color-mix(in srgb, var(--mg-color-text-regular) 9%, var(--mg-color-column-settings-bg))}.mg-column-settings-portal{z-index:var(--mg-z-column-settings,34);position:relative}.mg-column-settings-button__trigger:hover:not(:disabled){background:var(--mg-color-column-settings-bg-subtle)}.mg-column-settings-menu{box-sizing:border-box;border:1px solid var(--mg-color-column-settings-border,#d1d5db);background:var(--mg-color-column-settings-bg,#fff);min-width:168px;box-shadow:var(--mg-column-settings-shadow,0 8px 24px #0f172a1f);font-size:var(--mg-font-size,12px);font-family:var(--mg-font-family,system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);color:var(--mg-color-column-settings-text,#111827);border-radius:6px;padding:4px 0}.mg-column-settings-menu__item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.mg-column-settings-menu__item:hover{background:var(--mg-color-column-settings-bg-subtle)}.mg-column-settings-menu__item-icon{color:var(--mg-color-column-settings-text-secondary);flex-shrink:0;display:block}.mg-column-settings-menu__item-label{flex:1;min-width:0}.mg-column-settings-menu__item-leading{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.mg-column-settings-menu__item--submenu-trigger{justify-content:space-between}.mg-column-settings-menu__item-chevron{color:var(--mg-color-column-settings-text-secondary);flex-shrink:0;display:block}.mg-column-settings-menu__submenu{position:relative}.mg-column-settings-menu__submenu-panel{z-index:1;box-sizing:border-box;border:1px solid var(--mg-color-column-settings-border);background:var(--mg-color-column-settings-bg);min-width:168px;box-shadow:var(--mg-column-settings-shadow);border-radius:6px;padding:4px 0;position:absolute;top:0;left:100%}.mg-column-settings-menu__submenu-panel--flip{left:auto;right:100%}.mg-column-settings-menu__submenu--open>.mg-column-settings-menu__item--submenu-trigger,.mg-column-settings-menu__submenu-panel .mg-column-settings-menu__item:hover{background:var(--mg-color-column-settings-bg-subtle)}.mg-column-settings-menu__divider{background:var(--mg-color-column-settings-border);height:1px;margin:4px 0}.mg-column-settings-menu__custom :slotted(.mg-column-settings-menu__item){width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.mg-column-settings-menu__custom :slotted(.mg-column-settings-menu__item:hover){background:var(--mg-color-column-settings-bg-subtle)}.mg-column-settings-menu__custom :slotted(.mg-column-settings-menu__item-icon){color:var(--mg-color-column-settings-text-secondary);flex-shrink:0;align-items:center;display:flex}.mg-column-settings-menu__icon-svg{display:block}.mg-column-settings-popover{position:fixed;top:0;left:0}.mg-column-settings-button{display:inline-flex}.mg-column-settings-button__trigger{box-sizing:border-box;width:var(--mg-column-settings-button-size,var(--mg-status-bar-height,32px));min-width:var(--mg-column-settings-button-size,var(--mg-status-bar-height,32px));height:var(--mg-column-settings-button-size,var(--mg-status-bar-height,32px));border:1px solid var(--mg-color-column-settings-border,#d1d5db);border-radius:var(--mg-border-radius,6px);background:var(--mg-color-column-settings-bg,#fff);color:var(--mg-color-column-settings-text,#111827);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.mg-column-settings-button__trigger:disabled{opacity:.45;cursor:not-allowed}.mg-column-settings-button__icon{width:var(--mg-column-settings-button-icon-size,16px);height:var(--mg-column-settings-button-icon-size,16px);flex-shrink:0;display:block}.mg-column-settings{min-width:var(--mg-column-settings-min-width);max-width:var(--mg-column-settings-max-width);max-height:var(--mg-column-settings-max-height);background:var(--mg-color-column-settings-bg);color:var(--mg-color-column-settings-text);border:1px solid var(--mg-color-column-settings-border);box-shadow:var(--mg-column-settings-shadow);font-family:var(--mg-font-family,system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--mg-font-size,12px);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.mg-column-settings__header{border-bottom:1px solid var(--mg-color-column-settings-border);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.mg-column-settings__header-leading{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.mg-column-settings__title-group{flex:none;align-items:center;gap:6px;display:inline-flex}.mg-column-settings__title-icon{color:var(--mg-color-column-settings-text);flex-shrink:0;display:block}.mg-column-settings__title{flex:none;margin:0;font-size:14px;font-weight:600;line-height:1.2}.mg-column-settings__close{width:28px;height:28px;color:var(--mg-color-column-settings-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;padding:0;font-size:18px;line-height:1}.mg-column-settings__close:hover{background:var(--mg-color-column-settings-bg-subtle)}.mg-column-settings__body{flex:1;min-height:0;padding:12px;overflow:auto}.mg-column-settings__clear-filters{border:1px solid var(--mg-color-column-settings-border);background:var(--mg-color-column-settings-bg);min-height:24px;color:var(--mg-color-column-settings-text);cursor:pointer;white-space:nowrap;border-radius:4px;flex:none;padding:0 8px;font-size:12px;line-height:1}.mg-column-settings__clear-filters:disabled{opacity:.45;cursor:not-allowed}.mg-column-settings__group-heading,.mg-column-settings__hidden-toggle{color:var(--mg-color-column-settings-text-secondary);font-size:12px;font-weight:600}.mg-column-settings__row{border-radius:4px;flex-direction:column;gap:4px;min-height:32px;padding:4px 8px;display:flex}.mg-column-settings__row-main{flex-wrap:nowrap;align-items:center;gap:6px 2px;min-width:0;display:flex}.mg-column-settings__row-actions{flex-wrap:nowrap;flex:none;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.mg-column-settings__row--drag-over{background:var(--mg-color-column-settings-primary-soft)}.mg-column-settings__row--dragging{opacity:.55}.mg-column-settings__group--left .mg-column-settings__row,.mg-column-settings__group--right .mg-column-settings__row{background:var(--mg-color-column-settings-pinned-bg)}.mg-column-settings__row--filtered .mg-column-settings__row-label{color:var(--mg-color-column-settings-primary);font-weight:600}.mg-column-settings__drag-handle{cursor:grab;width:18px;color:var(--mg-color-column-settings-text-secondary);-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex}.mg-column-settings__drag-handle--disabled{opacity:.35;cursor:not-allowed}.mg-column-settings__row-label{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:0;overflow:hidden}.mg-column-settings__filter-panel{width:100%}.mg-column-settings__sort-button,.mg-column-settings__filter-button{border:1px solid var(--mg-color-column-settings-border);background:var(--mg-color-column-settings-bg);min-width:28px;height:24px;color:var(--mg-color-column-settings-text);cursor:pointer;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0 6px;font-size:12px;line-height:1;display:inline-flex}.mg-column-settings__filter-icon{flex-shrink:0;display:block}.mg-column-settings__filter-button--active,.mg-column-settings__sort-button--asc,.mg-column-settings__sort-button--desc{border-color:var(--mg-color-column-settings-primary);background:var(--mg-color-column-settings-primary-soft);color:var(--mg-color-column-settings-primary)}.mg-column-settings__pin-group{border:1px solid var(--mg-color-column-settings-border);background:var(--mg-color-column-settings-bg);border-radius:4px;flex:none;display:inline-flex;overflow:hidden}.mg-column-settings__pin-group .mg-column-settings__pin-button{border:none;border-right:1px solid var(--mg-color-column-settings-border);min-width:28px;height:24px;color:var(--mg-color-column-settings-text);cursor:pointer;background:0 0;border-radius:0;flex:none;padding:0 8px;font-size:12px;line-height:1}.mg-column-settings__pin-group .mg-column-settings__pin-button:last-child{border-right:none}.mg-column-settings__pin-group .mg-column-settings__pin-button--active{background:var(--mg-color-column-settings-primary-soft);color:var(--mg-color-column-settings-primary)}.mg-column-settings__pin-group .mg-column-settings__pin-button:hover:not(.mg-column-settings__pin-button--active){background:var(--mg-color-column-settings-bg-subtle)}.mg-column-settings__visibility{color:var(--mg-color-column-settings-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:4px;font-size:12px;display:inline-flex}.mg-column-settings__visibility-input{margin:0}.mg-column-settings__filter-embed{border:1px solid var(--mg-color-column-settings-border);background:var(--mg-color-column-settings-bg-subtle);border-radius:4px;flex:0 0 100%;margin-top:4px;padding:8px}.mg-column-settings__groups{flex-direction:column;gap:12px;display:flex}.mg-column-settings__visible-lanes{flex-direction:column;gap:0;display:flex}.mg-column-settings__rows{flex-direction:column;gap:2px;display:flex}.mg-column-settings__row-host{display:block}.mg-column-settings__hidden-section{margin-top:0}.mg-column-settings__hidden-divider{align-items:center;gap:8px;margin-bottom:8px;display:flex}.mg-column-settings__hidden-divider-line{background:var(--mg-color-column-settings-border);flex:1;height:1px}.mg-column-settings__hidden-divider-center{flex:none;align-items:center;gap:8px;display:inline-flex}.mg-column-settings__hidden-toggle{min-height:24px;color:var(--mg-color-column-settings-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:12px;line-height:1;display:inline-flex}.mg-column-settings__hidden-toggle-icon{flex-shrink:0;display:block}.mg-column-settings__hidden-show-all{min-height:24px;color:var(--mg-color-column-settings-primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:0 6px;font-size:12px;line-height:1}.mg-column-settings__hidden-show-all:hover{background:var(--mg-color-column-settings-primary-soft)}.mg-column-settings__hidden-rows{flex-direction:column;gap:2px;display:flex}.mg-column-settings__sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mg-floating-filter-viewport{height:var(--mg-header-height);min-height:var(--mg-header-height);box-sizing:border-box;background:var(--mg-color-bg-header);border-bottom:1px solid var(--mg-color-border);flex-direction:row;flex:none;display:flex;position:relative;overflow:hidden}.mg-floating-filter-viewport:after{content:"";width:var(--mg-v-scrollbar-visual-overlay,0px);pointer-events:none;z-index:2;height:100%;position:absolute;top:0;right:0}.mg-floating-filter-scroll{flex-direction:row;flex:auto;min-width:0;height:100%;display:flex;overflow:hidden}.mg-floating-filter-span{background:var(--mg-color-bg-header);flex:1 0 0;align-self:stretch;min-width:0}.mg-floating-filter-gutter{flex:0 0 var(--mg-v-scrollbar-layout,0px);pointer-events:none;height:100%}.mg-floating-filter-row{height:var(--mg-header-height);min-height:var(--mg-header-height);background:var(--mg-color-bg-header);flex-direction:row;display:flex;position:relative}.mg-floating-filter-row:after{content:"";background:var(--mg-color-bg-header);flex:1 0 0;align-self:stretch;min-width:0}.mg-floating-filter-row__lane{flex:none;height:100%;position:relative;overflow:hidden}.mg-floating-filter-row__lane--left,.mg-floating-filter-row__lane--right{z-index:var(--mg-fixed-z-index);background:var(--mg-color-bg-header);position:sticky}.mg-floating-filter-row__lane--left{left:0}.mg-floating-filter-row__lane--right{order:1;right:0}.mg-floating-filter-row__lane--center{z-index:0}.mg-floating-filter-cell{box-sizing:border-box;padding:0 calc(var(--mg-cell-padding-x) / 2);height:var(--mg-header-height);align-items:center;display:flex;position:absolute;top:0}.mg-floating-filter-cell--fixed-left-last:after{content:"";pointer-events:none;width:0;box-shadow:var(--mg-fixed-shadow-left);position:absolute;top:0;bottom:0;left:100%}.mg-floating-filter-cell--fixed-right-first:after{content:"";pointer-events:none;width:0;box-shadow:var(--mg-fixed-shadow-right);position:absolute;top:0;bottom:0;right:100%}.mg-floating-filter-cell--active{background:color-mix(in srgb, var(--mg-color-primary) 8%, transparent)}.mg-floating-filter-cell__inner{align-items:center;width:100%;min-width:0;display:flex}.mg-floating-filter-cell__spacer{width:100%;min-width:0;height:100%;display:block}.mg-floating-filter-control{box-sizing:border-box;width:100%;min-width:0;height:var(--mg-cell-control-size);background:0 0;border:none;padding:0;display:block;position:relative}.mg-floating-filter-input{box-sizing:border-box;width:100%;min-width:0;height:100%;padding:0 calc(var(--mg-cell-control-size) + 2px) 0 8px;border:1px solid var(--mg-color-border);border-radius:calc(var(--mg-border-radius) / 2);background:var(--mg-color-bg);color:var(--mg-color-text-regular);font:inherit;appearance:none;display:block}.mg-floating-filter-input:focus{border-color:var(--mg-color-primary);outline:none}.mg-floating-filter-input:disabled{opacity:.55;cursor:not-allowed}.mg-floating-filter-input--readonly,.mg-floating-filter-input[readonly]{cursor:default;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none;border-style:dashed;border-color:color-mix(in srgb, var(--mg-color-border) 72%, transparent);background:color-mix(in srgb, var(--mg-color-text-secondary) 10%, var(--mg-color-bg));color:var(--mg-color-text-secondary);font-size:12px;overflow:hidden}.mg-floating-filter-input--readonly:focus,.mg-floating-filter-input[readonly]:focus{border-color:color-mix(in srgb, var(--mg-color-border) 72%, transparent)}.mg-floating-filter-button{box-sizing:border-box;width:var(--mg-cell-control-size);border-radius:0 calc(var(--mg-border-radius) / 2 - 1px) calc(var(--mg-border-radius) / 2 - 1px) 0;color:var(--mg-color-column-handle,color-mix(in srgb, var(--mg-color-text-regular) 45%, transparent));cursor:pointer;opacity:.5;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:1px;bottom:1px;right:1px}.mg-floating-filter-button .mg-header-icon--floating-filter{flex-shrink:0;display:block}.mg-floating-filter-button:hover{opacity:1;color:var(--mg-color-text-regular)}.mg-floating-filter-button--active{opacity:1;color:var(--mg-color-primary)}.mg-floating-filter-cell--active .mg-floating-filter-input:not([readonly]):not(.mg-floating-filter-input--readonly){border-color:color-mix(in srgb, var(--mg-color-primary) 45%, var(--mg-color-border))}.mg-floating-filter-cell--active .mg-floating-filter-input--readonly,.mg-floating-filter-cell--active .mg-floating-filter-input[readonly]{border-color:color-mix(in srgb, var(--mg-color-primary) 28%, var(--mg-color-border));background:color-mix(in srgb, var(--mg-color-primary) 7%, var(--mg-color-bg));color:var(--mg-color-text-regular)}.magic-grid{--mg-color-bg-status-bar:var(--mg-color-bg-header)}.mg-status-bar{box-sizing:border-box;height:var(--mg-status-bar-height);min-height:var(--mg-status-bar-height);max-height:var(--mg-status-bar-height);padding:0 var(--mg-spacing);font-size:var(--mg-status-bar-font-size,var(--mg-font-size));color:var(--mg-color-text-primary);background:var(--mg-color-bg-status-bar);border-top:var(--mg-border-width) solid var(--mg-color-border);flex:none;justify-content:flex-start;align-items:center;gap:0;line-height:1;display:flex;overflow:hidden}.mg-status-bar__region{align-items:center;gap:calc(var(--mg-spacing) / 2);flex:none;min-width:0;min-height:0;max-height:100%;display:flex}.mg-status-bar__region--left{justify-content:flex-start}.mg-status-bar__region--right{justify-content:flex-end}.mg-status-bar__separator{width:0;margin:0 calc(var(--mg-spacing) / 2);border-left:1px solid var(--mg-color-border-light);flex:none;align-self:stretch}.mg-status-bar__stretch{flex:auto;align-self:stretch;min-width:0}.mg-status-bar__panels{justify-content:flex-start;align-items:center;gap:calc(var(--mg-spacing) / 2);flex-wrap:nowrap;flex:0 auto;min-width:0;max-height:100%;display:flex;overflow:hidden}.mg-status-bar__panels--aggregation{font-variant-numeric:tabular-nums;flex:none;justify-content:flex-end}.mg-status-bar__panel{vertical-align:bottom;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;display:inline-block;overflow:hidden}.mg-status-bar__panel+.mg-status-bar__panel:before{content:"·";margin-right:calc(var(--mg-spacing) / 2);color:var(--mg-color-text-secondary)}.mg-status-bar [data-mg-tooltip-anchor]{vertical-align:bottom;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;display:inline-block;overflow:hidden}.magic-grid--border-none .mg-status-bar,.magic-grid--border-linear .mg-status-bar{border-top-color:var(--mg-color-border-light)}.magic-grid--has-footer.magic-grid--has-status-bar .mg-footer-viewport{border-bottom:none}.magic-grid,.mg-root{--mg-z-tooltip:24}.mg-tooltip{z-index:var(--mg-z-tooltip,24);max-width:420px;padding:calc(var(--mg-spacing,8px) * .75) calc(var(--mg-spacing,8px) * 1);border-radius:var(--mg-border-radius,4px);background:var(--mg-color-bg-overlay,#000000d9);color:var(--mg-color-text-inverse,#fff);pointer-events:none;box-sizing:border-box;position:fixed;box-shadow:0 4px 12px #00000026}.mg-tooltip--interactive{pointer-events:auto;-webkit-user-select:text;user-select:text}.mg-tooltip__text{white-space:pre-wrap;word-break:break-word;line-height:1.4;font-size:var(--mg-font-size,14px)}.magic-grid[data-theme=dark] .mg-tooltip,.mg-root[data-theme=dark]~.mg-tooltip,.mg-tooltip[data-theme=dark]{background:var(--mg-color-bg-overlay,#1e1e1ef5);color:var(--mg-color-text-primary,#e5eaf3)}.mg-header-gutter,.mg-footer-gutter,.mg-floating-filter-gutter,.mg-header-viewport:after,.mg-footer-viewport:after,.mg-floating-filter-viewport:after,.magic-grid--overlay-scrollbar .mg-header-viewport:after,.magic-grid--overlay-scrollbar .mg-footer-viewport:after,.magic-grid--overlay-scrollbar .mg-floating-filter-viewport:after{background:var(--mg-color-bg-header)}.magic-grid.magic-grid--theme-dark{--mg-color-bg:#141414;--mg-color-primary:#5460dd;--mg-color-success:#67c23a;--mg-color-danger:#f56c6c;--mg-color-warning:#e6a23c;--mg-color-info:#909399;--mg-color-text-primary:#e8e8e8;--mg-color-text-regular:#e0e0e0;--mg-color-text-secondary:#9aa0a6;--mg-color-border:#3a3f47;--mg-color-border-light:#32363d;--mg-color-bg-stripe:#1c1c1c;--mg-color-bg-header:#1a2332;--mg-color-bg-footer:#1a2332;--mg-color-bg-cell:#141414;--mg-color-bg-status-bar:#141414;--mg-color-column-drag-ghost-bg:var(--mg-color-bg-header);--mg-fixed-shadow-left:4px 0 8px -2px #00000073;--mg-fixed-shadow-right:-4px 0 8px -2px #00000073;--mg-column-handle-menu-shadow:0 1px 2px #00000059, 0 4px 12px #0006}.magic-grid.magic-grid--theme-dark .mg-body{--mg-color-bg-cell:#fff;--mg-color-bg-stripe:#f5f7fa;--mg-color-text-primary:#333;--mg-color-text-regular:#333;--mg-color-text-secondary:#9f9f9f;--mg-color-border:#d8d8d8;--mg-color-border-light:#d8d8d8;--mg-fixed-shadow-left:4px 0 8px -2px #0000001f;--mg-fixed-shadow-right:-4px 0 8px -2px #0000001f;color:#333}.magic-grid.magic-grid--theme-dark .mg-body .mg-cell--index:not(.mg-cell--index-focused){color:#e0e0e0}.magic-grid.magic-grid--theme-dark .mg-body .mg-cell--index:not(.mg-cell--index-focused) .mg-cell__text{color:inherit}.magic-grid.magic-grid--theme-dark .mg-body .mg-cell--selection{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.magic-grid{border-radius:var(--mg-border-radius);box-sizing:border-box;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.magic-grid__mount{flex:auto;width:100%;min-height:0}.magic-grid__portal{z-index:var(--mg-z-column-settings,34);pointer-events:none;flex:0 0 0;width:0;height:0;position:relative;overflow:visible}.magic-grid__portal>.mg-column-settings-portal{pointer-events:auto}.magic-grid__toolbar{border-bottom:1px solid var(--mg-color-border);background:var(--mg-color-bg);flex:none;justify-content:flex-end;align-items:center;gap:8px;padding:8px 12px;display:flex}.mg-root{background:var(--mg-color-bg);width:100%;height:100%;min-height:0;color:var(--mg-color-text-regular);font-family:var(--mg-font-family);font-size:var(--mg-font-size);flex-direction:column;display:flex}.mg-header-viewport{height:var(--mg-header-height);min-height:var(--mg-header-height);box-sizing:border-box;background:var(--mg-color-bg-header);flex-direction:row;flex:none;display:flex;position:relative;overflow:hidden}.mg-header-viewport:after{content:"";width:var(--mg-v-scrollbar-visual-overlay,0px);pointer-events:none;z-index:2;height:100%;position:absolute;top:0;right:0}.mg-header-scroll{flex-direction:row;flex:auto;min-width:0;height:100%;display:flex;overflow:hidden}.mg-header-span{background:var(--mg-color-bg-header);flex:1 0 0;align-self:stretch;min-width:0}.mg-header-gutter{flex:0 0 var(--mg-v-scrollbar-layout,0px);pointer-events:none;height:100%}.mg-header-row{height:var(--mg-header-height);min-height:var(--mg-header-height);background:var(--mg-color-bg-header);position:relative}.mg-header-cell{height:var(--mg-header-height);box-sizing:border-box;padding:0 var(--mg-cell-padding-x);white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:flex;position:absolute;top:0;overflow:hidden}.mg-header-cell--required,.mg-header-cell--invalid{color:var(--mg-color-danger)}.mg-header-cell--focused:before{content:"";pointer-events:none;z-index:2;box-shadow:inset 0 0 0 var(--mg-focus-ring-width) var(--mg-color-primary);position:absolute;inset:0}.mg-footer-viewport{height:var(--mg-summary-row-height);min-height:var(--mg-summary-row-height);box-sizing:border-box;background:var(--mg-color-bg-footer);flex-direction:row;flex:none;display:flex;position:relative;overflow:hidden}.mg-footer-viewport:after{content:"";width:var(--mg-v-scrollbar-visual-overlay,0px);pointer-events:none;z-index:2;height:100%;position:absolute;top:0;right:0}.mg-footer-scroll{flex-direction:row;flex:auto;min-width:0;height:100%;display:flex;overflow:hidden}.mg-footer-span{background:var(--mg-color-bg-footer);flex:1 0 0;align-self:stretch;min-width:0}.mg-footer-gutter{flex:0 0 var(--mg-v-scrollbar-layout,0px);pointer-events:none;height:100%}.mg-footer-row{height:var(--mg-summary-row-height);min-height:var(--mg-summary-row-height);background:var(--mg-color-bg-footer);position:relative}.mg-footer-cell{box-sizing:border-box;padding:0 var(--mg-cell-padding-x);white-space:nowrap;height:var(--mg-summary-row-height);font-weight:600;display:flex;position:absolute;top:0;overflow:hidden}.mg-footer-cell--focused:before{content:"";pointer-events:none;z-index:2;box-shadow:inset 0 0 0 var(--mg-focus-ring-width) var(--mg-color-primary);position:absolute;inset:0}.mg-body{flex:auto;min-height:0;position:relative}.mg-viewport{-webkit-user-select:none;user-select:none;background:var(--mg-color-bg);width:100%;height:100%;position:relative;overflow:auto}.mg-viewport:focus{outline:none}.mg-spacer{width:100%;position:relative}.mg-spacer--compressed{pointer-events:none}.mg-scroll-phantom{pointer-events:none;width:100%;height:0}.mg-scroll-phantom--active{flex-shrink:0}.mg-rows-layer{width:100%;position:absolute;top:0;left:0}.mg-rows-layer--compressed{width:100%;height:var(--mg-viewport-px);z-index:1;pointer-events:auto;position:sticky;top:0;overflow:hidden}.mg-rows-container{width:100%;position:absolute;top:0;left:0}.mg-spanned-rows-container{pointer-events:none;z-index:1;width:100%;position:absolute;top:0;left:0}.mg-full-width-rows-container{pointer-events:auto;z-index:2;width:100%;position:absolute;top:0;left:0}.mg-full-width-row{box-sizing:border-box;will-change:transform;position:absolute;top:0;left:0}.mg-full-width-row__content{box-sizing:border-box;width:100%;height:100%;padding:var(--mg-cell-padding-y,4px) var(--mg-cell-padding-x,8px);overflow:auto}.mg-row--full-width-embed>.mg-row__lane--left,.mg-row--full-width-embed>.mg-row__lane--right{pointer-events:none;overflow:hidden}.mg-row--full-width-embed>.mg-row__lane--center{overflow:visible}.mg-row--full-width-embed:after{flex:0 0 0;width:0;min-width:0}.mg-row--full-width-embed .mg-full-width-row__content{box-sizing:border-box;width:100%;height:100%;padding:var(--mg-cell-padding-y,4px) var(--mg-cell-padding-x,8px);overflow:auto}.mg-row--full-width-embed .mg-cell--embed-spacer{pointer-events:none}.mg-row--full-width-embed .mg-cell--embed-spacer input,.mg-row--full-width-embed .mg-cell--embed-spacer button,.mg-row--full-width-embed .mg-cell--embed-spacer .mg-cell__row-expand{display:none}.mg-row--spanned{pointer-events:none;overflow:visible;height:0!important}.mg-row--spanned>.mg-row__lane--left,.mg-row--spanned>.mg-row__lane--right{overflow:hidden}.mg-row--spanned>.mg-row__lane--center{z-index:auto;overflow:visible}.mg-row--spanned .mg-cell{pointer-events:auto}.mg-row{box-sizing:border-box;will-change:transform;position:absolute;top:0;left:0}.mg-cell{box-sizing:border-box;padding:0 var(--mg-cell-padding-x);height:var(--mg-row-height);position:absolute;top:0;overflow:hidden}.mg-cell:not(.mg-cell--editing){display:flex}.mg-cell--editing{padding:0;overflow:visible}.mg-cell--editing:not(.mg-cell--auto-height){line-height:var(--mg-row-height)}.mg-cell--focused:not(.mg-cell--invalid):not(.mg-cell--editing):before,.mg-cell--invalid:before{content:"";pointer-events:none;z-index:2;position:absolute;inset:0}.mg-cell--focused:not(.mg-cell--invalid):not(.mg-cell--editing):before{box-shadow:inset 0 0 0 var(--mg-focus-ring-width) var(--mg-color-primary)}.mg-cell--invalid:before{box-shadow:inset 0 0 0 var(--mg-focus-ring-width) var(--mg-color-danger)}.mg-row--selected>.mg-row__lane--center,.mg-row--index-focused>.mg-row__lane--center{background:color-mix(in srgb, var(--mg-color-primary) 10%, var(--mg-color-bg-cell))}.mg-row--selected.mg-row--stripe>.mg-row__lane--center,.mg-row--index-focused.mg-row--stripe>.mg-row__lane--center{background:color-mix(in srgb, var(--mg-color-primary) 10%, var(--mg-color-bg-stripe))}.mg-row--committing{position:relative}.mg-row--committing:after{content:"";background:color-mix(in srgb, var(--mg-color-primary) 8%, transparent);pointer-events:none;z-index:3;position:absolute;inset:0}.mg-cell--committing{position:relative}.mg-cell--committing:after{content:"";background:color-mix(in srgb, var(--mg-color-primary) 12%, transparent);pointer-events:none;z-index:2;position:absolute;inset:0}.mg-cell-editor-host--committing{pointer-events:none}.mg-cell-editor-host--committing .mg-cell-editor,.mg-cell-editor-host--committing input,.mg-cell-editor-host--committing textarea,.mg-cell-editor-host--committing select{opacity:.55;cursor:wait}.mg-cell-editor-host--committing:after{content:"";background:color-mix(in srgb, var(--mg-color-bg) 72%, transparent);z-index:5;position:absolute;inset:0}.mg-cell-editor-host--committing:before{content:"";border:2px solid color-mix(in srgb, var(--mg-color-primary) 25%, transparent);border-top-color:var(--mg-color-primary);z-index:6;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;animation:.7s linear infinite mg-commit-spin;position:absolute;top:50%;left:50%}@keyframes mg-commit-spin{to{transform:rotate(360deg)}}.mg-cell-editor-host{z-index:0;position:absolute;inset:0}.mg-cell-editor-host input:not(.mg-cell-editor):not(.mg-inline-checkbox),.mg-cell-editor-host textarea:not(.mg-cell-editor),.mg-cell-editor-host select:not(.mg-cell-editor){box-shadow:none;border:none;outline:none}.mg-cell-editor-host .mg-cell-editor:not(.mg-inline-checkbox),.mg-cell-editor-host textarea.mg-cell-editor,.mg-cell-editor-host select.mg-cell-editor{box-shadow:none;outline:none}.mg-cell-editor{box-sizing:border-box;width:100%;height:100%;padding:0 var(--mg-cell-padding-x);font:inherit;line-height:var(--mg-row-height);background:var(--mg-color-bg-cell);-webkit-user-select:text;user-select:text;border:1px solid #0000;outline:none}.mg-cell-editor:not(.mg-inline-checkbox):focus{border-color:var(--mg-color-primary)}.mg-cell--invalid .mg-cell-editor:not(.mg-inline-checkbox):focus{border-color:var(--mg-color-danger)}.mg-cell--index,.mg-footer-cell--index{background:var(--mg-color-bg-header)}.mg-cell--index{justify-content:center;align-items:center;display:flex}.mg-cell--index .mg-cell__text{flex:0 auto;width:auto}.mg-header-cell--index{justify-content:center;align-items:center;display:flex}.mg-header-cell--index .mg-header-cell__text{flex:0 auto;width:auto}.mg-footer-cell--index{justify-content:center;align-items:center;display:flex}.mg-footer-cell--index .mg-footer-cell__text{flex:0 auto;width:auto}.mg-row--stripe .mg-cell--index{background:var(--mg-color-bg-header)}.mg-cell--index-focused,.mg-row--stripe .mg-cell--index-focused{background:color-mix(in srgb, var(--mg-color-primary) 90%, #fff);color:#fff;box-shadow:inset 0 -1px 0 0 var(--mg-color-border), inset -1px 0 0 0 var(--mg-color-primary)}.mg-cell--index-focused .mg-cell__text,.mg-row--stripe .mg-cell--index-focused .mg-cell__text{color:#fff}body.mg-row-drag-selecting,body.mg-row-drag-selecting *{cursor:default!important;-webkit-user-select:none!important;user-select:none!important}.mg-index-column-fill-host{pointer-events:none;z-index:0;width:0;height:0;position:sticky;top:0;left:0;overflow:visible}.mg-index-column-fill{box-sizing:border-box;background:var(--mg-color-bg-header);box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border);position:absolute;top:0;left:0}.mg-cell--selection .mg-cell__text,.mg-header-cell--selection .mg-cell__text,.mg-footer-cell--selection .mg-cell__text,.mg-cell--selection .mg-header-cell__text,.mg-header-cell--selection .mg-header-cell__text,.mg-footer-cell--selection .mg-header-cell__text,.mg-cell--selection .mg-footer-cell__text,.mg-header-cell--selection .mg-footer-cell__text,.mg-footer-cell--selection .mg-footer-cell__text{display:none}.mg-cell--selection .mg-selection-checkbox{pointer-events:none}.mg-selection-checkbox--disabled{cursor:not-allowed;opacity:.45}.mg-cell--selection-disabled .mg-selection-checkbox,.mg-header-cell--selection .mg-selection-checkbox{pointer-events:none}.mg-selection-checkbox{width:var(--mg-checkbox-size,14px);height:var(--mg-checkbox-size,14px);accent-color:var(--mg-color-primary);cursor:default;margin:0}.mg-selection-checkbox--header{cursor:default}.mg-cell--selection,.mg-header-cell--selection{justify-content:center;align-items:center;display:flex}.mg-footer-cell--selection{background:var(--mg-color-bg-header)}.mg-cell--expand,.mg-header-cell--expand{justify-content:center;align-items:center;padding:0;display:flex}.mg-cell__row-expand{box-sizing:border-box;width:var(--mg-cell-control-size);height:var(--mg-cell-control-size);border-radius:var(--mg-border-radius-sm,4px);color:var(--mg-text-secondary,#64748b);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;line-height:1;display:inline-flex}.mg-cell__row-expand__icon{flex:none;transition:transform .15s;display:block}.mg-cell__row-expand--expanded .mg-cell__row-expand__icon{transform:rotate(90deg)}.mg-cell__row-expand:hover{background:var(--mg-row-hover-bg,#0000000a);color:var(--mg-text-primary,#0f172a)}.mg-cell__row-expand:focus-visible{outline:2px solid var(--mg-focus-ring,#3b82f6);outline-offset:1px}.mg-cell--group,.mg-header-cell--group{padding:0 var(--mg-cell-padding-x,8px);align-items:center;display:flex}.mg-cell__group-content{align-items:center;gap:4px;width:100%;min-width:0;display:inline-flex}.mg-cell__group-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.mg-cell__group-count{color:var(--mg-text-secondary,#64748b);flex:none;font-size:.875em}.mg-cell__group-expand,.mg-cell__tree-expand{box-sizing:border-box;width:var(--mg-cell-control-size);height:var(--mg-cell-control-size);border-radius:var(--mg-border-radius-sm,4px);color:var(--mg-text-secondary,#64748b);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin:0;padding:0;line-height:1;display:inline-flex}.mg-cell__group-expand .mg-cell__row-expand__icon,.mg-cell__tree-expand .mg-cell__row-expand__icon{flex:none;transition:transform .15s;display:block}.mg-cell__group-expand--expanded .mg-cell__row-expand__icon,.mg-cell__tree-expand--expanded .mg-cell__row-expand__icon{transform:rotate(90deg)}.mg-cell__group-expand:hover,.mg-cell__tree-expand:hover{background:var(--mg-row-hover-bg,#0000000a);color:var(--mg-text-primary,#0f172a)}.mg-cell__group-expand:focus-visible,.mg-cell__tree-expand:focus-visible{outline:2px solid var(--mg-focus-ring,#3b82f6);outline-offset:1px}.mg-row--group-header{font-weight:600}.mg-row--group-footer{background:var(--mg-row-footer-bg,#00000005);font-weight:600}.mg-row--group-footer .mg-cell__group-expand,.mg-row--group-footer .mg-cell__tree-expand{display:none!important}.mg-cell__tree-expand--loading{cursor:wait}.mg-cell__tree-expand--loading .mg-cell__row-expand__icon{display:none}.mg-cell__tree-expand--loading .mg-cell__tree-expand__loading-icon{animation:.9s linear infinite mg-tree-expand-loading;display:block}@keyframes mg-tree-expand-loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mg-cell--inline-editor .mg-cell__text,.mg-cell--inline-editor .mg-cell__renderer{display:none!important}.mg-inline-checkbox{width:var(--mg-checkbox-size,14px);height:var(--mg-checkbox-size,14px);accent-color:var(--mg-color-primary);flex-shrink:0;margin:0}.mg-cell--inline-disabled .mg-inline-checkbox{cursor:not-allowed;opacity:.45;pointer-events:none}.mg-cell--inline-disabled .mg-cell__inline-editor{pointer-events:none}:root{--mg-cell-disabled-opacity:.45;--mg-cell-disabled-cursor:not-allowed}.mg-cell--disabled{cursor:var(--mg-cell-disabled-cursor)}.mg-cell--disabled .mg-cell__text,.mg-cell--disabled .mg-cell__renderer{opacity:var(--mg-cell-disabled-opacity);pointer-events:none}.mg-row--selected .mg-cell--disabled .mg-cell__text,.mg-row--selected .mg-cell--disabled .mg-cell__renderer,.mg-cell--invalid.mg-cell--disabled .mg-cell__text,.mg-cell--invalid.mg-cell--disabled .mg-cell__renderer{opacity:var(--mg-cell-disabled-opacity)}.mg-cell--auto-height,.mg-cell[data-auto-height]{white-space:normal;word-break:break-word;align-items:flex-start;overflow:visible}.mg-cell--auto-height .mg-cell__text,.mg-cell[data-auto-height] .mg-cell__text,.mg-cell--auto-height .mg-cell__renderer,.mg-cell[data-auto-height] .mg-cell__renderer{white-space:normal;word-break:break-word;text-overflow:clip;line-height:1.4;overflow:visible}.magic-grid{--mg-row-resize-handle-height:8px;--mg-row-resize-handle-offset:-3px;--mg-row-resize-handle-line-height:3px;--mg-row-resize-handle-line-color:var(--mg-color-border);--mg-row-resize-handle-line-color-hover:var(--mg-color-primary);--mg-row-resize-handle-line-color-active:var(--mg-color-primary)}.mg-cell__row-resize-handle{z-index:3;width:100%;height:var(--mg-row-resize-handle-height);left:0;bottom:var(--mg-row-resize-handle-offset);cursor:row-resize;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;margin:0;padding:0;position:absolute}.mg-cell__row-resize-handle:after{content:"";z-index:5;width:100%;left:0;bottom:calc(-1 * var(--mg-row-resize-handle-offset) + var(--mg-row-resize-line-inset,0));height:var(--mg-row-resize-handle-line-height);background-color:var(--mg-row-resize-handle-line-color);pointer-events:none;opacity:0;position:absolute}.mg-cell--index.mg-cell--row-resizable{overflow:visible}.mg-cell--index.mg-cell--row-resizable:hover{z-index:4}.mg-cell--index.mg-cell--row-resizable:hover .mg-cell__row-resize-handle:after{opacity:1}.mg-cell--index.mg-cell--row-resizable:hover .mg-cell__row-resize-handle:hover:after{background-color:var(--mg-row-resize-handle-line-color-hover)}.mg-root--row-resizing .mg-cell[data-row-resize-active]{z-index:5;overflow:visible}.mg-root--row-resizing .mg-cell[data-row-resize-active] .mg-cell__row-resize-handle:after{opacity:1;background-color:var(--mg-row-resize-handle-line-color-active)}.mg-root--row-resizing{-webkit-user-select:none;user-select:none;cursor:row-resize!important}.mg-root--row-resizing .mg-cell__row-resize-handle{cursor:row-resize}.magic-grid{--mg-row-drag-handle-size:14px;--mg-row-drag-commit-spinner-size:14px;--mg-row-drag-commit-spinner-left:calc(var(--mg-cell-padding-x,8px) + (var(--mg-row-drag-handle-size) / 2) + 2px);--mg-color-row-drag-ghost-bg:var(--mg-color-bg);--mg-color-row-drag-ghost-border:var(--mg-color-border);--mg-row-dragging-opacity:.42;--mg-color-row-drop-indicator:var(--mg-color-primary);--mg-row-drop-indicator-height:2px;--mg-row-drag-ghost-z-index:30;--mg-row-drop-indicator-z-index:29}.magic-grid--row-drag-committing .mg-cell__row-drag-handle{pointer-events:none;cursor:wait;opacity:.35}.mg-row--row-drag-committing{cursor:wait;position:relative}.mg-row--row-drag-committing:after{content:"";background:color-mix(in srgb, var(--mg-color-primary) 12%, transparent);pointer-events:none;z-index:4;position:absolute;inset:0}.mg-row--row-drag-committing:before{content:"";top:50%;left:var(--mg-row-drag-commit-spinner-left);width:var(--mg-row-drag-commit-spinner-size);height:var(--mg-row-drag-commit-spinner-size);margin:calc(var(--mg-row-drag-commit-spinner-size) / -2) 0 0 calc(var(--mg-row-drag-commit-spinner-size) / -2);border:2px solid color-mix(in srgb, var(--mg-color-primary) 25%, transparent);border-top-color:var(--mg-color-primary);pointer-events:none;z-index:5;border-radius:50%;animation:.7s linear infinite mg-commit-spin;position:absolute}.mg-cell--row-draggable{position:relative}.mg-cell__row-drag-handle{z-index:3;border-radius:var(--mg-border-radius);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;opacity:.55;background:0 0;border:0;justify-content:center;align-items:center;margin:0;padding:2px;line-height:0;transition:opacity .12s,background-color .12s;display:inline-flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}.mg-cell__row-drag-handle:hover{opacity:1;background-color:var(--mg-color-column-handle-hover-bg)}.mg-cell__row-drag-handle:active{cursor:grabbing}.mg-cell--index.mg-cell--row-draggable .mg-cell__content,.mg-cell--row-draggable:not(.mg-cell--index) .mg-cell__content{padding-left:calc(var(--mg-row-drag-handle-size) + 6px)}.mg-cell--row-dragging{opacity:var(--mg-row-dragging-opacity);pointer-events:none}.mg-row-drag-ghost{z-index:var(--mg-row-drag-ghost-z-index);box-sizing:border-box;padding:0 var(--mg-cell-padding-x);font-size:var(--mg-font-size);font-family:var(--mg-font-family);color:var(--mg-color-text-primary);background-color:var(--mg-color-row-drag-ghost-bg,#fff);border:1px solid var(--mg-color-row-drag-ghost-border);border-radius:var(--mg-border-radius);pointer-events:none;white-space:nowrap;align-items:center;line-height:1;display:flex;position:fixed;overflow:hidden;box-shadow:0 1px 2px #0000000f,0 4px 12px #00000014}.mg-row-drag-ghost__label{text-overflow:ellipsis;min-width:0;overflow:hidden}.mg-row-drop-indicator{z-index:var(--mg-row-drop-indicator-z-index,29);height:var(--mg-row-drop-indicator-height,2px);background:var(--mg-color-row-drop-indicator,#1677ff);pointer-events:none;box-shadow:0 0 0 1px color-mix(in srgb, var(--mg-color-row-drop-indicator,#1677ff) 25%, transparent);border-radius:1px;position:fixed}body.mg-row-dragging,body.mg-row-dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}body.mg-row-dragging.mg-row-dragging--drop-forbidden,body.mg-row-dragging.mg-row-dragging--drop-forbidden *{cursor:not-allowed!important}.mg-row--span-top{will-change:auto}.mg-row--span-top>.mg-row__lane--center{z-index:auto;overflow:visible}.mg-cell--spanning,.mg-cell--col-span,.mg-footer-cell--spanning,.mg-footer-cell--col-span{z-index:1}.mg-cell--row-span{z-index:1;background-color:var(--mg-color-bg-cell);overflow:hidden}.mg-row--stripe .mg-cell--row-span{background-color:var(--mg-color-bg-stripe)}.mg-cell--row-span.mg-cell--row-span-highlighted{background-color:color-mix(in srgb, var(--mg-color-primary) 10%, var(--mg-color-bg-cell))}.mg-row--stripe .mg-cell--row-span.mg-cell--row-span-highlighted{background-color:color-mix(in srgb, var(--mg-color-primary) 10%, var(--mg-color-bg-stripe))}.mg-cell--row-span.mg-cell--range-selected:not(.mg-cell--range-anchor),.mg-row--stripe .mg-cell--row-span.mg-cell--range-selected:not(.mg-cell--range-anchor),.mg-cell--row-span.mg-cell--range-selected.mg-cell--range-anchor{background-color:var(--mg-range-selection-bg)}.magic-grid--border-border .mg-cell--row-span{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-footer-cell--col-span{box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid--border-border .mg-cell--row-span.mg-cell--center-last,.magic-grid--border-border .mg-cell--row-span.mg-cell--column-last:not(.mg-cell--fixed-right-first){box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-border.mg-grid--inner-right-closes .mg-cell--row-span.mg-cell--center-last,.magic-grid--border-border.mg-grid--inner-right-closes .mg-cell--row-span.mg-cell--column-last:not(.mg-cell--fixed-right-first){box-shadow:inset calc(-1 * var(--mg-border-width)) 0 0 0 var(--mg-color-border), inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-linear .mg-cell--row-span,.magic-grid--border-linear .mg-cell--col-span{box-shadow:inset 0 calc(-1 * var(--mg-border-width)) 0 0 var(--mg-color-border)}.magic-grid--border-linear .mg-footer-cell--col-span{box-shadow:inset 0 var(--mg-border-width) 0 0 var(--mg-color-border)}.magic-grid{--mg-cell-comment-indicator-size:6px;--mg-cell-comment-indicator-color:var(--mg-color-warning,#e6a23c);--mg-cell-comment-indicator-empty-color:var(--mg-color-text-placeholder,#c0c4cc);--mg-cell-comment-popup-z-index:25;--mg-cell-comment-context-menu-z-index:26;--mg-cell-comment-popup-bg:var(--mg-color-bg-elevated,var(--mg-color-bg));--mg-cell-comment-popup-border:var(--mg-color-border);--mg-cell-comment-popup-shadow:0 8px 24px color-mix(in srgb, var(--mg-color-text-primary,#000) 12%, transparent);--mg-cell-comment-viewport-padding:var(--mg-spacing);--mg-cell-comment-anchor-gap:var(--mg-spacing);--mg-cell-comment-context-menu-padding:8px;--mg-cell-comment-context-menu-item-padding-x:8px;--mg-cell-comment-context-menu-item-padding-y:4px}.mg-cell--has-comment:after,.mg-cell--comment-empty:after{content:"";border-style:solid;border-width:0 var(--mg-cell-comment-indicator-size) var(--mg-cell-comment-indicator-size) 0;pointer-events:none;z-index:1;width:0;height:0;position:absolute;top:2px;right:2px}.mg-cell--has-comment .mg-cell-editor--checkbox,.mg-cell--comment-empty .mg-cell-editor--checkbox{margin-right:calc(var(--mg-cell-comment-indicator-size) + 2px)}.mg-cell--has-comment:after{border-color:transparent var(--mg-cell-comment-indicator-color) transparent transparent}.mg-cell--comment-empty:after{border-color:transparent var(--mg-cell-comment-indicator-empty-color) transparent transparent}.mg-cell-comment-popup{z-index:var(--mg-cell-comment-popup-z-index,25);gap:var(--mg-spacing,8px);padding:var(--mg-spacing,8px);box-sizing:border-box;border:1px solid var(--mg-cell-comment-popup-border,#d8d8d8);border-radius:var(--mg-border-radius,8px);background:var(--mg-cell-comment-popup-bg,#fff);box-shadow:var(--mg-cell-comment-popup-shadow,0 8px 24px #0000001f);color:var(--mg-color-text-regular,#333);font-family:var(--mg-font-family,system-ui, sans-serif);font-size:var(--mg-font-size,12px);flex-direction:column;display:flex;position:fixed}.mg-cell-comment-popup__textarea{resize:vertical;box-sizing:border-box;width:100%;min-height:72px;padding:var(--mg-cell-padding-y,4px) var(--mg-spacing,8px);border:1px solid var(--mg-color-border,#d8d8d8);border-radius:var(--mg-border-radius,8px);background:var(--mg-color-bg,#fff);color:var(--mg-color-text-regular,#333);font:inherit;line-height:1.4}.mg-cell-comment-popup__textarea:focus{border-color:var(--mg-color-primary,#5460dd);outline:none}.mg-cell-comment-popup__textarea[readonly]{background:color-mix(in srgb, var(--mg-color-bg,#fff) 92%, var(--mg-color-text-regular,#333) 8%);cursor:default}.mg-cell-comment-popup__actions{justify-content:flex-end;gap:var(--mg-spacing,8px);display:flex}.mg-cell-comment-popup__btn--save,.mg-cell-comment-popup__btn--delete,.mg-cell-comment-popup__btn--cancel{padding:calc(var(--mg-spacing,8px) / 2) var(--mg-spacing,8px);border:1px solid var(--mg-color-border,#d8d8d8);border-radius:var(--mg-border-radius,8px);background:var(--mg-color-bg,#fff);color:var(--mg-color-text-regular,#333);font:inherit;cursor:pointer}.mg-cell-comment-popup__btn--save:hover,.mg-cell-comment-popup__btn--delete:hover,.mg-cell-comment-popup__btn--cancel:hover{border-color:var(--mg-color-primary,#5460dd);color:var(--mg-color-primary,#5460dd)}.mg-cell-comment-popup__btn--save{background:var(--mg-color-primary,#5460dd);border-color:var(--mg-color-primary,#5460dd);color:#fff}.mg-cell-comment-popup__btn--save:hover{color:#fff;filter:brightness(1.05)}.mg-cell-comment-popup__btn--save:disabled{opacity:.72;cursor:wait;filter:none}.mg-cell-comment-popup__btn--delete{color:var(--mg-color-danger,#f56c6c);border-color:color-mix(in srgb, var(--mg-color-danger,#f56c6c) 35%, var(--mg-color-border,#d8d8d8))}.mg-cell-comment-popup__btn--delete:hover{border-color:var(--mg-color-danger,#f56c6c);color:var(--mg-color-danger,#f56c6c)}.mg-cell-comment-popup__btn--delete:disabled,.mg-cell-comment-popup__btn--cancel:disabled{opacity:.72;cursor:wait}.mg-cell-comment-popup--committing{cursor:wait}.mg-cell-comment-popup--committing .mg-cell-comment-popup__textarea{opacity:.72}.mg-cell-comment-popup--readonly .mg-cell-comment-popup__textarea{border-style:dashed;min-height:0}.mg-cell-comment-context-menu{z-index:var(--mg-cell-comment-context-menu-z-index,26);box-sizing:border-box;min-width:120px;padding:var(--mg-cell-comment-context-menu-padding,8px);border:1px solid var(--mg-cell-comment-popup-border,#d8d8d8);border-radius:var(--mg-border-radius,8px);background:var(--mg-cell-comment-popup-bg,#fff);box-shadow:var(--mg-cell-comment-popup-shadow,0 8px 24px #0000001f);color:var(--mg-color-text-regular,#333);font-family:var(--mg-font-family,system-ui, sans-serif);font-size:var(--mg-font-size,12px);flex-direction:column;gap:0;display:flex;position:fixed}.mg-cell-comment-context-menu__items{flex-direction:column;display:flex}.mg-cell-comment-context-menu__item{align-items:center;gap:calc(var(--mg-cell-comment-context-menu-item-padding-x,8px) / 2);box-sizing:border-box;width:100%;padding:var(--mg-cell-comment-context-menu-item-padding-y,4px) var(--mg-cell-comment-context-menu-item-padding-x,8px);border-radius:calc(var(--mg-border-radius,8px) / 2);color:var(--mg-color-text-regular,#333);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;display:flex}.mg-cell-comment-context-menu__item:hover:not(:disabled){background:color-mix(in srgb, var(--mg-color-primary,#5460dd) 10%, transparent);color:var(--mg-color-primary,#5460dd)}.mg-cell-comment-context-menu__item:disabled{opacity:.45;cursor:not-allowed}.mg-cell-comment-context-menu__item-label{flex:1;min-width:0}.mg-cell-comment-context-menu__loading-icon{border:2px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:currentColor;border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:.7s linear infinite mg-commit-spin}.mg-cell-comment-context-menu__item[data-action=remove]{color:var(--mg-color-danger,#f56c6c)}.mg-cell-comment-context-menu__item[data-action=remove]:hover:not(:disabled){background:color-mix(in srgb, var(--mg-color-danger,#f56c6c) 10%, transparent);color:var(--mg-color-danger,#f56c6c)}.mg-cell-comment-context-menu--committing{cursor:wait}.mg-cell-comment-context-menu__item--committing,.mg-cell-comment-context-menu__item--committing:disabled{opacity:1;cursor:wait}.magic-grid[data-theme=dark],.magic-grid.magic-grid--dark{--mg-cell-comment-indicator-color:#f3b760;--mg-cell-comment-indicator-empty-color:#8a9099;--mg-cell-comment-popup-shadow:0 10px 28px #00000073}.magic-grid{--mg-range-selection-bg:color-mix(in srgb, var(--mg-color-primary,#5460dd) 14%, transparent);--mg-range-selection-bg-opaque:color-mix(in srgb, var(--mg-color-primary,#5460dd) 14%, var(--mg-color-bg-cell));--mg-range-selection-bg-opaque-stripe:color-mix(in srgb, var(--mg-color-primary,#5460dd) 14%, var(--mg-color-bg-stripe));--mg-range-selection-border-color:var(--mg-color-primary,#5460dd);--mg-range-selection-header-bg:color-mix(in srgb, var(--mg-color-primary,#5460dd) 18%, var(--mg-color-bg-header))}.mg-cell--range-selected:not(.mg-cell--range-anchor){background-color:var(--mg-range-selection-bg)}.mg-cell--fixed-left.mg-cell--range-selected:not(.mg-cell--range-anchor):not(.mg-cell--index):not(.mg-cell--selection),.mg-cell--fixed-right.mg-cell--range-selected:not(.mg-cell--range-anchor){background-color:var(--mg-range-selection-bg-opaque)}.mg-row--stripe .mg-cell--fixed-left.mg-cell--range-selected:not(.mg-cell--range-anchor):not(.mg-cell--index):not(.mg-cell--selection),.mg-row--stripe .mg-cell--fixed-right.mg-cell--range-selected:not(.mg-cell--range-anchor){background-color:var(--mg-range-selection-bg-opaque-stripe)}.mg-row--index-focused .mg-cell--fixed-left.mg-cell--range-selected:not(.mg-cell--range-anchor):not(.mg-cell--index):not(.mg-cell--selection),.mg-row--selected .mg-cell--fixed-left.mg-cell--range-selected:not(.mg-cell--range-anchor):not(.mg-cell--index):not(.mg-cell--selection),.mg-row--index-focused .mg-cell--fixed-right.mg-cell--range-selected:not(.mg-cell--range-anchor),.mg-row--selected .mg-cell--fixed-right.mg-cell--range-selected:not(.mg-cell--range-anchor){background-color:var(--mg-range-selection-bg-opaque)}.mg-row--index-focused.mg-row--stripe .mg-cell--fixed-left.mg-cell--range-selected:not(.mg-cell--range-anchor):not(.mg-cell--index):not(.mg-cell--selection),.mg-row--selected.mg-row--stripe .mg-cell--fixed-left.mg-cell--range-selected:not(.mg-cell--range-anchor):not(.mg-cell--index):not(.mg-cell--selection),.mg-row--index-focused.mg-row--stripe .mg-cell--fixed-right.mg-cell--range-selected:not(.mg-cell--range-anchor),.mg-row--selected.mg-row--stripe .mg-cell--fixed-right.mg-cell--range-selected:not(.mg-cell--range-anchor){background-color:var(--mg-range-selection-bg-opaque-stripe)}:is(.mg-row--index-focused:has(.mg-cell--range-selected)>.mg-row__lane--center,.mg-row--index-focused:has(.mg-cell--range-selected)>.mg-row__lane--left,.mg-row--index-focused:has(.mg-cell--range-selected)>.mg-row__lane--right){background:0 0}.mg-row--index-focused:has(.mg-cell--range-selected):after{background:0 0}:is(.mg-row--index-focused:has(.mg-cell--range-selected).mg-row--stripe>.mg-row__lane--center,.mg-row--index-focused:has(.mg-cell--range-selected).mg-row--stripe>.mg-row__lane--left,.mg-row--index-focused:has(.mg-cell--range-selected).mg-row--stripe>.mg-row__lane--right){background:0 0}.mg-row--index-focused:has(.mg-cell--range-selected).mg-row--stripe:after{background:0 0}.mg-row--index-focused:has(.mg-cell--range-selected) .mg-cell--fixed-left:not(.mg-cell--index):not(.mg-cell--selection):not(.mg-cell--range-selected){background:var(--mg-color-bg-cell)}.mg-row--index-focused:has(.mg-cell--range-selected) .mg-cell--fixed-right:not(.mg-cell--range-selected){background:var(--mg-color-bg-cell)}.mg-row--index-focused:has(.mg-cell--range-selected).mg-row--stripe .mg-cell--fixed-left:not(.mg-cell--index):not(.mg-cell--selection):not(.mg-cell--range-selected){background:var(--mg-color-bg-stripe)}.mg-row--index-focused:has(.mg-cell--range-selected).mg-row--stripe .mg-cell--fixed-right:not(.mg-cell--range-selected){background:var(--mg-color-bg-stripe)}.mg-row--index-focused:has(.mg-cell--range-selected) .mg-cell--fixed-left.mg-cell--range-selected.mg-cell--range-anchor:not(.mg-cell--index):not(.mg-cell--selection){background-color:var(--mg-range-selection-bg-opaque)}.mg-row--index-focused:has(.mg-cell--range-selected) .mg-cell--fixed-right.mg-cell--range-selected.mg-cell--range-anchor{background-color:var(--mg-range-selection-bg-opaque)}.mg-row--index-focused:has(.mg-cell--range-selected).mg-row--stripe .mg-cell--fixed-left.mg-cell--range-selected.mg-cell--range-anchor:not(.mg-cell--index):not(.mg-cell--selection){background-color:var(--mg-range-selection-bg-opaque-stripe)}.mg-row--index-focused:has(.mg-cell--range-selected).mg-row--stripe .mg-cell--fixed-right.mg-cell--range-selected.mg-cell--range-anchor{background-color:var(--mg-range-selection-bg-opaque-stripe)}.mg-row--index-focused:has(.mg-cell--range-selected) .mg-cell--range-selected.mg-cell--range-anchor:not(.mg-cell--index):not(.mg-cell--selection){background-color:var(--mg-range-selection-bg)}.mg-cell--index.mg-cell--index-range-highlight:not(.mg-cell--index-focused){color:inherit;background-color:var(--mg-range-selection-header-bg)!important}.mg-cell--index.mg-cell--index-range-highlight:not(.mg-cell--index-focused) .mg-cell__text{color:inherit}.mg-cell--range-copy-flash{animation:.48s ease-out mg-cell-range-copy-flash}@keyframes mg-cell-range-copy-flash{0%,to{background-color:#0000}40%{background-color:color-mix(in srgb, var(--mg-color-primary,#5460dd) 36%, var(--mg-color-bg,#fff))}}.mg-cell-range-overlay--copy-flash .mg-cell-range-border{animation:.48s ease-in-out mg-cell-range-border-copy-flash}@keyframes mg-cell-range-border-copy-flash{0%,to{opacity:1}45%{opacity:.35}}.mg-cell--range-paste-flash{animation:.48s ease-out mg-cell-range-paste-flash-plain}.mg-cell--range-paste-blocked-flash{animation:.48s ease-out mg-cell-range-paste-blocked-flash-plain}@keyframes mg-cell-range-paste-flash-plain{0%,to{background-color:#0000}40%{background-color:color-mix(in srgb, var(--mg-color-success,#67c23a) 34%, var(--mg-color-bg,#fff))}}@keyframes mg-cell-range-paste-blocked-flash-plain{0%,to{background-color:#0000}40%{background-color:color-mix(in srgb, var(--mg-color-warning,#e6a23c) 36%, var(--mg-color-bg,#fff))}}.mg-cell--range-paste-blocked-flash:after{content:"";box-sizing:border-box;pointer-events:none;z-index:2;animation:.48s ease-out mg-cell-range-paste-blocked-flash-overlay;position:absolute;inset:0}@keyframes mg-cell-range-paste-blocked-flash-overlay{0%,to{background-color:color-mix(in srgb, var(--mg-color-warning,#e6a23c) 18%, transparent)}45%{background-color:color-mix(in srgb, var(--mg-color-warning,#e6a23c) 52%, transparent)}}.mg-cell-range-paste-flash-layer{pointer-events:none;z-index:3;flex-direction:row;display:flex;position:absolute;top:0;bottom:0;left:0}.mg-cell-range-paste-flash-layer:after{content:"";flex:1 0 0;align-self:stretch;min-width:0}.mg-cell-range-paste-overlay{box-sizing:border-box;pointer-events:none;z-index:3;position:absolute}.mg-cell-range-paste-overlay--applied{background-color:color-mix(in srgb, var(--mg-color-success,#67c23a) 38%, transparent);animation:.48s ease-out mg-cell-range-paste-overlay-applied}.mg-cell-range-paste-overlay--blocked{background-color:color-mix(in srgb, var(--mg-color-warning,#e6a23c) 46%, transparent);animation:.48s ease-out mg-cell-range-paste-overlay-blocked}@keyframes mg-cell-range-paste-overlay-applied{0%,to{opacity:.25}45%{opacity:1}}@keyframes mg-cell-range-paste-overlay-blocked{0%,to{opacity:.3}45%{opacity:1}}.mg-cell--range-selected.mg-cell--focused:not(.mg-cell--invalid):not(.mg-cell--editing):before{box-shadow:none}.mg-cell-range-overlay{pointer-events:none;z-index:3;flex-direction:row;display:flex;position:absolute;top:0;bottom:0;left:0}.mg-cell-range-overlay:after{content:"";flex:1 0 0;align-self:stretch;min-width:0}.mg-cell-range-overlay__lane{flex:none;height:100%;position:relative}.mg-cell-range-overlay__lane--center{z-index:0;position:relative}.mg-cell-range-overlay__lane--left,.mg-cell-range-overlay__lane--right{z-index:calc(var(--mg-fixed-z-index,2) + 1);position:sticky}.mg-cell-range-overlay__lane--left{left:0}.mg-cell-range-overlay__lane--right{order:1;right:0}.mg-cell-range-border{box-sizing:border-box;pointer-events:none;z-index:1;border:none;position:absolute}.mg-cell-range-border--edge-top{border-top:2px solid var(--mg-range-selection-border-color)}.mg-cell-range-border--edge-right{border-right:2px solid var(--mg-range-selection-border-color)}.mg-cell-range-border--edge-bottom{border-bottom:2px solid var(--mg-range-selection-border-color)}.mg-cell-range-border--edge-left{border-left:2px solid var(--mg-range-selection-border-color)}.mg-cell-range-border--fill-h,.mg-cell-range-border--fill-v{background-color:var(--mg-range-selection-border-color)}.mg-header-cell--range-highlight{background-color:var(--mg-range-selection-header-bg)!important}.mg-fill-handle{box-sizing:border-box;background:var(--mg-range-selection-border-color);border:1px solid var(--mg-color-bg,#fff);pointer-events:auto;cursor:crosshair;z-index:1;position:absolute}body.mg-fill-handle-dragging{cursor:crosshair;-webkit-user-select:none;user-select:none}.mg-range-handle{box-sizing:border-box;background:var(--mg-range-selection-border-color);border:1px solid var(--mg-color-bg,#fff);pointer-events:auto;cursor:nwse-resize;z-index:1;position:absolute}body.mg-range-handle-dragging{cursor:nwse-resize;-webkit-user-select:none;user-select:none}.magic-grid.magic-grid--theme-dark{--mg-range-selection-bg:color-mix(in srgb, var(--mg-color-primary,#6b7cff) 24%, transparent);--mg-range-selection-bg-opaque:color-mix(in srgb, var(--mg-color-primary,#6b7cff) 24%, var(--mg-color-bg-cell));--mg-range-selection-bg-opaque-stripe:color-mix(in srgb, var(--mg-color-primary,#6b7cff) 24%, var(--mg-color-bg-stripe));--mg-range-selection-header-bg:color-mix(in srgb, var(--mg-color-primary,#6b7cff) 22%, var(--mg-color-bg-header))}:root{--mg-z-overlay:20;--mg-overlay-mask-bg:#ffffffa6}.mg-overlay{z-index:var(--mg-z-overlay,20);pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;inset:0;overflow:hidden}.mg-overlay[hidden]{display:none!important}.mg-overlay--masked{pointer-events:auto;cursor:wait;background:var(--mg-overlay-mask-bg)}.mg-overlay--masked .mg-overlay__wrapper,.mg-overlay--masked .mg-overlay__mount,.mg-overlay--masked .mg-overlay__content{pointer-events:auto;cursor:wait}.mg-overlay__wrapper{pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.mg-overlay--interactive .mg-overlay__wrapper{pointer-events:auto}.mg-overlay__mount,.mg-overlay__content{justify-content:center;align-items:center;gap:calc(var(--mg-spacing,8px) * .75);color:var(--mg-color-text-secondary,#909399);font-size:var(--mg-font-size,12px);text-align:center;pointer-events:none;line-height:1.5;display:flex}.mg-overlay--interactive .mg-overlay__mount,.mg-overlay--interactive .mg-overlay__content{pointer-events:auto}.mg-overlay__panel--loading{flex-direction:column}.mg-overlay__spinner{border:2px solid var(--mg-color-border,#dcdfe6);border-top-color:var(--mg-color-primary,#409eff);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite mg-overlay-spin}@keyframes mg-overlay-spin{to{transform:rotate(360deg)}}.magic-grid[data-theme=dark]{--mg-overlay-mask-bg:#00000073}.magic-grid[data-theme=dark] .mg-overlay__mount,.magic-grid[data-theme=dark] .mg-overlay__content{color:var(--mg-color-text-secondary,#a3a6ad)}.magic-grid[data-theme=dark] .mg-overlay__spinner{border-color:var(--mg-color-border,#4c4d4f);border-top-color:var(--mg-color-primary,#409eff)}
2
2
  /*$vite$:1*/
@@ -1 +1 @@
1
- {"version":3,"file":"validation-BHqm5Flb.js","names":[],"sources":["../src/core/editing/editCommitContext.ts","../src/validation/asyncValidatorAdapter.ts"],"sourcesContent":["/** 编辑会话阶段 */\nexport type EditSessionPhase = 'idle' | 'editing' | 'committing' | 'cancelling'\n\n/** 单次提交上下文:abort 与 commitId 防竞态 */\nexport interface EditCommitContext {\n signal: AbortSignal\n commitId: number\n}\n\nexport class EditCommitAbortedError extends Error {\n readonly name = 'EditCommitAbortedError'\n\n constructor(message = 'Edit commit aborted') {\n super(message)\n }\n}\n\nexport function isEditCommitAborted(error: unknown): error is EditCommitAbortedError {\n return error instanceof EditCommitAbortedError\n}\n\nexport interface EditCommitController {\n context: EditCommitContext\n abort: () => void\n}\n\n/** 创建新的提交控制器;若传入 previous 则先 abort */\nexport function createEditCommitController(\n commitId: number,\n previous?: EditCommitController | null,\n): EditCommitController {\n previous?.abort()\n\n const controller = new AbortController()\n const context: EditCommitContext = {\n signal: controller.signal,\n commitId,\n }\n\n return {\n context,\n abort: () => {\n if (!controller.signal.aborted) {\n controller.abort(new EditCommitAbortedError())\n }\n },\n }\n}\n\nexport function throwIfAborted(signal: AbortSignal): void {\n if (signal.aborted) {\n throw new EditCommitAbortedError()\n }\n}\n\nexport async function onceAborted(signal: AbortSignal): Promise<never> {\n if (signal.aborted) {\n throw new EditCommitAbortedError()\n }\n\n return new Promise((_, reject) => {\n const onAbort = (): void => {\n signal.removeEventListener('abort', onAbort)\n reject(new EditCommitAbortedError())\n }\n\n signal.addEventListener('abort', onAbort)\n })\n}\n","import Schema, {\n type Rule,\n type Rules,\n type ValidateError,\n type ValidateFieldsError,\n} from 'async-validator'\n\nimport { isEditCommitAborted } from '@core/editing/editCommitContext'\nimport type { CellValidator, RowValidator, ValidationSchema } from '@core/types/validation'\nimport type { ColumnDef } from '@types'\n\nexport { default as Schema } from 'async-validator'\n\nfunction formatValidateErrors(errors: ValidateError[]): string[] {\n return errors.map((error) => error.message ?? String(error.field))\n}\n\nfunction raceWithAbort<T>(promise: Promise<T>, signal?: AbortSignal): Promise<T> {\n if (!signal) {\n return promise\n }\n\n if (signal.aborted) {\n return Promise.reject(signal.reason)\n }\n\n return new Promise((resolve, reject) => {\n const onAbort = (): void => {\n signal.removeEventListener('abort', onAbort)\n reject(signal.reason)\n }\n\n signal.addEventListener('abort', onAbort)\n promise.then(\n (value) => {\n signal.removeEventListener('abort', onAbort)\n resolve(value)\n },\n (error) => {\n signal.removeEventListener('abort', onAbort)\n reject(error)\n },\n )\n })\n}\n\nfunction isAsyncFunction(fn: (...args: unknown[]) => unknown): boolean {\n return fn.constructor.name === 'AsyncFunction'\n}\n\n/** magic-grid validationRules 使用 validator;async-validator 异步规则使用 asyncValidator */\nfunction normalizeRule(rule: Rule): Rule {\n const record = rule as Record<string, unknown>\n const customValidator = record.validator\n\n if (typeof customValidator === 'function' && record.asyncValidator == null) {\n if (isAsyncFunction(customValidator as (...args: unknown[]) => unknown)) {\n const { validator, ...rest } = record\n return { ...rest, asyncValidator: validator } as Rule\n }\n }\n\n return rule\n}\n\nfunction normalizeRules(rules: Rule | Rule[]): Rule[] {\n const list = Array.isArray(rules) ? rules : [rules]\n return list.map(normalizeRule)\n}\n\nfunction normalizeSchema(schema: Rules): Rules {\n const normalized: Record<string, Rule | Rule[]> = {}\n\n for (const [field, rules] of Object.entries(schema)) {\n normalized[field] = normalizeRules(rules as Rule | Rule[])\n }\n\n return normalized as Rules\n}\n\nexport async function validateWithSchema(\n schema: Rules,\n source: Record<string, unknown>,\n options?: { signal?: AbortSignal },\n): Promise<string[] | null> {\n const validator = new Schema(normalizeSchema(schema as Rules))\n\n try {\n await raceWithAbort(validator.validate(source), options?.signal)\n return null\n } catch (error) {\n if (isEditCommitAborted(error)) {\n throw error\n }\n\n if (error && typeof error === 'object' && 'errors' in error) {\n const fieldError = error as ValidateFieldsError\n return formatValidateErrors(fieldError.errors ?? [])\n }\n\n if (error instanceof Error) {\n return [error.message]\n }\n\n return ['Validation failed']\n }\n}\n\nexport function createCellValidator(field: string, rules: Rule | Rule[]): CellValidator {\n const schema = { [field]: rules } as Rules\n\n return async (params) => {\n const source = {\n [field]: params.parsedValue,\n }\n return validateWithSchema(schema, source, { signal: params.signal })\n }\n}\n\nexport function createRowValidator(schema: ValidationSchema): RowValidator {\n return async (params) => {\n const source: Record<string, unknown> = { ...params.data }\n for (const [colId, value] of params.draftValues) {\n source[colId] = value\n }\n\n return validateWithSchema(schema as Rules, source, { signal: params.signal })\n }\n}\n\n/** 判断 validationRules 是否包含 required 规则 */\nexport function isValidationRequired(rules?: import('@core/types/validation').ValidationRules): boolean {\n if (!rules) {\n return false\n }\n\n const list = Array.isArray(rules) ? rules : [rules]\n return list.some((rule) => {\n const record = rule as Record<string, unknown>\n return record.required === true\n })\n}\n\n/** 将 ColumnDef.validationRules 编译为 cellValidator(不覆盖已有 cellValidator) */\nexport function enrichColumnsWithValidation(columns: ColumnDef[]): ColumnDef[] {\n return columns.map((column) => {\n const validationRequired =\n column.validationRequired ?? isValidationRequired(column.validationRules)\n\n if (column.cellValidator || !column.validationRules || !column.prop) {\n return validationRequired === column.validationRequired\n ? column\n : { ...column, validationRequired }\n }\n\n const field = column.prop\n return {\n ...column,\n validationRequired,\n cellValidator: createCellValidator(field, column.validationRules as Rule | Rule[]),\n }\n })\n}\n"],"mappings":";;AASA,IAAa,IAAb,cAA4C,MAAM;CAChD,OAAgB;CAEhB,YAAY,IAAU,uBAAuB;EAC3C,MAAM,CAAO;CACf;AACF;AAEA,SAAgB,EAAoB,GAAiD;CACnF,OAAO,aAAiB;AAC1B;AAQA,SAAgB,EACd,GACA,GACsB;CACtB,GAAU,MAAM;CAEhB,IAAM,IAAa,IAAI,gBAAgB;CAMvC,OAAO;EACL,SAAA;GALA,QAAQ,EAAW;GACnB;EAIA;EACA,aAAa;GACX,AAAK,EAAW,OAAO,WACrB,EAAW,MAAM,IAAI,EAAuB,CAAC;EAEjD;CACF;AACF;AAEA,SAAgB,EAAe,GAA2B;CACxD,IAAI,EAAO,SACT,MAAM,IAAI,EAAuB;AAErC;;;ACxCA,SAAS,EAAqB,GAAmC;CAC/D,OAAO,EAAO,KAAK,MAAU,EAAM,WAAW,OAAO,EAAM,KAAK,CAAC;AACnE;AAEA,SAAS,EAAiB,GAAqB,GAAkC;CAS/E,OARK,IAID,EAAO,UACF,QAAQ,OAAO,EAAO,MAAM,IAG9B,IAAI,SAAS,GAAS,MAAW;EACtC,IAAM,UAAsB;GAE1B,AADA,EAAO,oBAAoB,SAAS,CAAO,GAC3C,EAAO,EAAO,MAAM;EACtB;EAGA,AADA,EAAO,iBAAiB,SAAS,CAAO,GACxC,EAAQ,MACL,MAAU;GAET,AADA,EAAO,oBAAoB,SAAS,CAAO,GAC3C,EAAQ,CAAK;EACf,IACC,MAAU;GAET,AADA,EAAO,oBAAoB,SAAS,CAAO,GAC3C,EAAO,CAAK;EACd,CACF;CACF,CAAC,IAxBQ;AAyBX;AAEA,SAAS,EAAgB,GAA8C;CACrE,OAAO,EAAG,YAAY,SAAS;AACjC;AAGA,SAAS,EAAc,GAAkB;CACvC,IAAM,IAAS,GACT,IAAkB,EAAO;CAE/B,IAAI,OAAO,KAAoB,cAAc,EAAO,kBAAkB,QAChE,EAAgB,CAAkD,GAAG;EACvE,IAAM,EAAE,cAAW,GAAG,MAAS;EAC/B,OAAO;GAAE,GAAG;GAAM,gBAAgB;EAAU;CAC9C;CAGF,OAAO;AACT;AAEA,SAAS,EAAe,GAA8B;CAEpD,QADa,MAAM,QAAQ,CAAK,IAAI,IAAQ,CAAC,CAAK,EAAA,CACtC,IAAI,CAAa;AAC/B;AAEA,SAAS,EAAgB,GAAsB;CAC7C,IAAM,IAA4C,CAAC;CAEnD,KAAK,IAAM,CAAC,GAAO,MAAU,OAAO,QAAQ,CAAM,GAChD,EAAW,KAAS,EAAe,CAAsB;CAG3D,OAAO;AACT;AAEA,eAAsB,EACpB,GACA,GACA,GAC0B;CAC1B,IAAM,IAAY,IAAI,EAAO,EAAgB,CAAe,CAAC;CAE7D,IAAI;EAEF,OADA,MAAM,EAAc,EAAU,SAAS,CAAM,GAAG,GAAS,MAAM,GACxD;CACT,SAAS,GAAO;EACd,IAAI,EAAoB,CAAK,GAC3B,MAAM;EAYR,OATI,KAAS,OAAO,KAAU,YAAY,YAAY,IAE7C,EAAqB,EAAW,UAAU,CAAC,CAAC,IAGjD,aAAiB,QACZ,CAAC,EAAM,OAAO,IAGhB,CAAC,mBAAmB;CAC7B;AACF;AAEA,SAAgB,EAAoB,GAAe,GAAqC;CACtF,IAAM,IAAS,GAAG,IAAQ,EAAM;CAEhC,OAAO,OAAO,MAAW;EACvB,IAAM,IAAS,GACZ,IAAQ,EAAO,YAClB;EACA,OAAO,EAAmB,GAAQ,GAAQ,EAAE,QAAQ,EAAO,OAAO,CAAC;CACrE;AACF;AAEA,SAAgB,EAAmB,GAAwC;CACzE,OAAO,OAAO,MAAW;EACvB,IAAM,IAAkC,EAAE,GAAG,EAAO,KAAK;EACzD,KAAK,IAAM,CAAC,GAAO,MAAU,EAAO,aAClC,EAAO,KAAS;EAGlB,OAAO,EAAmB,GAAiB,GAAQ,EAAE,QAAQ,EAAO,OAAO,CAAC;CAC9E;AACF;AAGA,SAAgB,EAAqB,GAAmE;CAMtG,OALK,KAIQ,MAAM,QAAQ,CAAK,IAAI,IAAQ,CAAC,CAAK,EAAA,CACtC,MAAM,MAET,EAAO,aAAa,EAC5B,IAPQ;AAQX;AAGA,SAAgB,EAA4B,GAAmC;CAC7E,OAAO,EAAQ,KAAK,MAAW;EAC7B,IAAM,IACJ,EAAO,sBAAsB,EAAqB,EAAO,eAAe;EAE1E,IAAI,EAAO,iBAAiB,CAAC,EAAO,mBAAmB,CAAC,EAAO,MAC7D,OAAO,MAAuB,EAAO,qBACjC,IACA;GAAE,GAAG;GAAQ;EAAmB;EAGtC,IAAM,IAAQ,EAAO;EACrB,OAAO;GACL,GAAG;GACH;GACA,eAAe,EAAoB,GAAO,EAAO,eAAgC;EACnF;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"validation-BHqm5Flb.js","names":[],"sources":["../src/core/editing/editCommitContext.ts","../src/validation/asyncValidatorAdapter.ts"],"sourcesContent":["/** 编辑会话阶段 */\nexport type EditSessionPhase = 'idle' | 'editing' | 'committing' | 'cancelling'\n\n/** 单次提交上下文:abort 与 commitId 防竞态 */\nexport interface EditCommitContext {\n signal: AbortSignal\n commitId: number\n}\n\nexport class EditCommitAbortedError extends Error {\n readonly name = 'EditCommitAbortedError'\n\n constructor(message = 'Edit commit aborted') {\n super(message)\n }\n}\n\nexport function isEditCommitAborted(error: unknown): error is EditCommitAbortedError {\n return error instanceof EditCommitAbortedError\n}\n\nexport interface EditCommitController {\n context: EditCommitContext\n abort: () => void\n}\n\n/** 创建新的提交控制器;若传入 previous 则先 abort */\nexport function createEditCommitController(\n commitId: number,\n previous?: EditCommitController | null,\n): EditCommitController {\n previous?.abort()\n\n const controller = new AbortController()\n const context: EditCommitContext = {\n signal: controller.signal,\n commitId,\n }\n\n return {\n context,\n abort: () => {\n if (!controller.signal.aborted) {\n controller.abort(new EditCommitAbortedError())\n }\n },\n }\n}\n\nexport function throwIfAborted(signal: AbortSignal): void {\n if (signal.aborted) {\n throw new EditCommitAbortedError()\n }\n}\n\nexport async function onceAborted(signal: AbortSignal): Promise<never> {\n if (signal.aborted) {\n throw new EditCommitAbortedError()\n }\n\n return new Promise((_, reject) => {\n const onAbort = (): void => {\n signal.removeEventListener('abort', onAbort)\n reject(new EditCommitAbortedError())\n }\n\n signal.addEventListener('abort', onAbort)\n })\n}\n","import Schema, {\r\n type Rule,\r\n type Rules,\r\n type ValidateError,\r\n type ValidateFieldsError,\r\n} from 'async-validator'\r\n\r\nimport { isEditCommitAborted } from '@core/editing/editCommitContext'\r\nimport type { CellValidator, RowValidator, ValidationSchema } from '@core/types/validation'\r\nimport type { ColumnDef } from '@types'\r\n\r\nexport { default as Schema } from 'async-validator'\r\n\r\nfunction formatValidateErrors(errors: ValidateError[]): string[] {\r\n return errors.map((error) => error.message ?? String(error.field))\r\n}\r\n\r\nfunction raceWithAbort<T>(promise: Promise<T>, signal?: AbortSignal): Promise<T> {\r\n if (!signal) {\r\n return promise\r\n }\r\n\r\n if (signal.aborted) {\r\n return Promise.reject(signal.reason)\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n const onAbort = (): void => {\r\n signal.removeEventListener('abort', onAbort)\r\n reject(signal.reason)\r\n }\r\n\r\n signal.addEventListener('abort', onAbort)\r\n promise.then(\r\n (value) => {\r\n signal.removeEventListener('abort', onAbort)\r\n resolve(value)\r\n },\r\n (error) => {\r\n signal.removeEventListener('abort', onAbort)\r\n reject(error)\r\n },\r\n )\r\n })\r\n}\r\n\r\nfunction isAsyncFunction(fn: (...args: unknown[]) => unknown): boolean {\r\n return fn.constructor.name === 'AsyncFunction'\r\n}\r\n\r\n/** magic-grid validationRules 使用 validator;async-validator 异步规则使用 asyncValidator */\r\nfunction normalizeRule(rule: Rule): Rule {\r\n const record = rule as Record<string, unknown>\r\n const customValidator = record.validator\r\n\r\n if (typeof customValidator === 'function' && record.asyncValidator == null) {\r\n if (isAsyncFunction(customValidator as (...args: unknown[]) => unknown)) {\r\n const { validator, ...rest } = record\r\n return { ...rest, asyncValidator: validator } as Rule\r\n }\r\n }\r\n\r\n return rule\r\n}\r\n\r\nfunction normalizeRules(rules: Rule | Rule[]): Rule[] {\r\n const list = Array.isArray(rules) ? rules : [rules]\r\n return list.map(normalizeRule)\r\n}\r\n\r\nfunction normalizeSchema(schema: Rules): Rules {\r\n const normalized: Record<string, Rule | Rule[]> = {}\r\n\r\n for (const [field, rules] of Object.entries(schema)) {\r\n normalized[field] = normalizeRules(rules as Rule | Rule[])\r\n }\r\n\r\n return normalized as Rules\r\n}\r\n\r\nexport async function validateWithSchema(\r\n schema: Rules,\r\n source: Record<string, unknown>,\r\n options?: { signal?: AbortSignal },\r\n): Promise<string[] | null> {\r\n const validator = new Schema(normalizeSchema(schema as Rules))\r\n\r\n try {\r\n await raceWithAbort(validator.validate(source), options?.signal)\r\n return null\r\n } catch (error) {\r\n if (isEditCommitAborted(error)) {\r\n throw error\r\n }\r\n\r\n if (error && typeof error === 'object' && 'errors' in error) {\r\n const fieldError = error as ValidateFieldsError\r\n return formatValidateErrors(fieldError.errors ?? [])\r\n }\r\n\r\n if (error instanceof Error) {\r\n return [error.message]\r\n }\r\n\r\n return ['Validation failed']\r\n }\r\n}\r\n\r\nexport function createCellValidator(field: string, rules: Rule | Rule[]): CellValidator {\r\n const schema = { [field]: rules } as Rules\r\n\r\n return async (params) => {\r\n const source = {\r\n [field]: params.parsedValue,\r\n }\r\n return validateWithSchema(schema, source, { signal: params.signal })\r\n }\r\n}\r\n\r\nexport function createRowValidator(schema: ValidationSchema): RowValidator {\r\n return async (params) => {\r\n const source: Record<string, unknown> = { ...params.data }\r\n for (const [colId, value] of params.draftValues) {\r\n source[colId] = value\r\n }\r\n\r\n return validateWithSchema(schema as Rules, source, { signal: params.signal })\r\n }\r\n}\r\n\r\n/** 判断 validationRules 是否包含 required 规则 */\r\nexport function isValidationRequired(rules?: import('@core/types/validation').ValidationRules): boolean {\r\n if (!rules) {\r\n return false\r\n }\r\n\r\n const list = Array.isArray(rules) ? rules : [rules]\r\n return list.some((rule) => {\r\n const record = rule as Record<string, unknown>\r\n return record.required === true\r\n })\r\n}\r\n\r\n/** 将 ColumnDef.validationRules 编译为 cellValidator(不覆盖已有 cellValidator) */\r\nexport function enrichColumnsWithValidation(columns: ColumnDef[]): ColumnDef[] {\r\n return columns.map((column) => {\r\n const validationRequired =\r\n column.validationRequired ?? isValidationRequired(column.validationRules)\r\n\r\n if (column.cellValidator || !column.validationRules || !column.prop) {\r\n return validationRequired === column.validationRequired\r\n ? column\r\n : { ...column, validationRequired }\r\n }\r\n\r\n const field = column.prop\r\n return {\r\n ...column,\r\n validationRequired,\r\n cellValidator: createCellValidator(field, column.validationRules as Rule | Rule[]),\r\n }\r\n })\r\n}\r\n"],"mappings":";;AASA,IAAa,IAAb,cAA4C,MAAM;CAChD,OAAgB;CAEhB,YAAY,IAAU,uBAAuB;EAC3C,MAAM,CAAO;CACf;AACF;AAEA,SAAgB,EAAoB,GAAiD;CACnF,OAAO,aAAiB;AAC1B;AAQA,SAAgB,EACd,GACA,GACsB;CACtB,GAAU,MAAM;CAEhB,IAAM,IAAa,IAAI,gBAAgB;CAMvC,OAAO;EACL,SAAA;GALA,QAAQ,EAAW;GACnB;EAIA;EACA,aAAa;GACX,AAAK,EAAW,OAAO,WACrB,EAAW,MAAM,IAAI,EAAuB,CAAC;EAEjD;CACF;AACF;AAEA,SAAgB,EAAe,GAA2B;CACxD,IAAI,EAAO,SACT,MAAM,IAAI,EAAuB;AAErC;;;ACxCA,SAAS,EAAqB,GAAmC;CAC/D,OAAO,EAAO,KAAK,MAAU,EAAM,WAAW,OAAO,EAAM,KAAK,CAAC;AACnE;AAEA,SAAS,EAAiB,GAAqB,GAAkC;CAS/E,OARK,IAID,EAAO,UACF,QAAQ,OAAO,EAAO,MAAM,IAG9B,IAAI,SAAS,GAAS,MAAW;EACtC,IAAM,UAAsB;GAE1B,AADA,EAAO,oBAAoB,SAAS,CAAO,GAC3C,EAAO,EAAO,MAAM;EACtB;EAGA,AADA,EAAO,iBAAiB,SAAS,CAAO,GACxC,EAAQ,MACL,MAAU;GAET,AADA,EAAO,oBAAoB,SAAS,CAAO,GAC3C,EAAQ,CAAK;EACf,IACC,MAAU;GAET,AADA,EAAO,oBAAoB,SAAS,CAAO,GAC3C,EAAO,CAAK;EACd,CACF;CACF,CAAC,IAxBQ;AAyBX;AAEA,SAAS,EAAgB,GAA8C;CACrE,OAAO,EAAG,YAAY,SAAS;AACjC;AAGA,SAAS,EAAc,GAAkB;CACvC,IAAM,IAAS,GACT,IAAkB,EAAO;CAE/B,IAAI,OAAO,KAAoB,cAAc,EAAO,kBAAkB,QAChE,EAAgB,CAAkD,GAAG;EACvE,IAAM,EAAE,cAAW,GAAG,MAAS;EAC/B,OAAO;GAAE,GAAG;GAAM,gBAAgB;EAAU;CAC9C;CAGF,OAAO;AACT;AAEA,SAAS,EAAe,GAA8B;CAEpD,QADa,MAAM,QAAQ,CAAK,IAAI,IAAQ,CAAC,CAAK,EAAA,CACtC,IAAI,CAAa;AAC/B;AAEA,SAAS,EAAgB,GAAsB;CAC7C,IAAM,IAA4C,CAAC;CAEnD,KAAK,IAAM,CAAC,GAAO,MAAU,OAAO,QAAQ,CAAM,GAChD,EAAW,KAAS,EAAe,CAAsB;CAG3D,OAAO;AACT;AAEA,eAAsB,EACpB,GACA,GACA,GAC0B;CAC1B,IAAM,IAAY,IAAI,EAAO,EAAgB,CAAe,CAAC;CAE7D,IAAI;EAEF,OADA,MAAM,EAAc,EAAU,SAAS,CAAM,GAAG,GAAS,MAAM,GACxD;CACT,SAAS,GAAO;EACd,IAAI,EAAoB,CAAK,GAC3B,MAAM;EAYR,OATI,KAAS,OAAO,KAAU,YAAY,YAAY,IAE7C,EAAqB,EAAW,UAAU,CAAC,CAAC,IAGjD,aAAiB,QACZ,CAAC,EAAM,OAAO,IAGhB,CAAC,mBAAmB;CAC7B;AACF;AAEA,SAAgB,EAAoB,GAAe,GAAqC;CACtF,IAAM,IAAS,GAAG,IAAQ,EAAM;CAEhC,OAAO,OAAO,MAAW;EACvB,IAAM,IAAS,GACZ,IAAQ,EAAO,YAClB;EACA,OAAO,EAAmB,GAAQ,GAAQ,EAAE,QAAQ,EAAO,OAAO,CAAC;CACrE;AACF;AAEA,SAAgB,EAAmB,GAAwC;CACzE,OAAO,OAAO,MAAW;EACvB,IAAM,IAAkC,EAAE,GAAG,EAAO,KAAK;EACzD,KAAK,IAAM,CAAC,GAAO,MAAU,EAAO,aAClC,EAAO,KAAS;EAGlB,OAAO,EAAmB,GAAiB,GAAQ,EAAE,QAAQ,EAAO,OAAO,CAAC;CAC9E;AACF;AAGA,SAAgB,EAAqB,GAAmE;CAMtG,OALK,KAIQ,MAAM,QAAQ,CAAK,IAAI,IAAQ,CAAC,CAAK,EAAA,CACtC,MAAM,MAET,EAAO,aAAa,EAC5B,IAPQ;AAQX;AAGA,SAAgB,EAA4B,GAAmC;CAC7E,OAAO,EAAQ,KAAK,MAAW;EAC7B,IAAM,IACJ,EAAO,sBAAsB,EAAqB,EAAO,eAAe;EAE1E,IAAI,EAAO,iBAAiB,CAAC,EAAO,mBAAmB,CAAC,EAAO,MAC7D,OAAO,MAAuB,EAAO,qBACjC,IACA;GAAE,GAAG;GAAQ;EAAmB;EAGtC,IAAM,IAAQ,EAAO;EACrB,OAAO;GACL,GAAG;GACH;GACA,eAAe,EAAoB,GAAO,EAAO,eAAgC;EACnF;CACF,CAAC;AACH"}