@charset "utf-8";

.ag-aria-description-container { border: 0px; z-index: 9999; clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; padding: 0px; position: absolute; white-space: nowrap; width: 1px; }

.ag-unselectable { user-select: none; }

.ag-selectable { user-select: text; }

.ag-tab-guard { display: block; height: 0px; position: absolute; width: 0px; }

:where(.ag-virtual-list-viewport) .ag-tab-guard { position: sticky; }

.ag-tab-guard-top { top: 1px; }

.ag-tab-guard-bottom { bottom: 1px; }

.ag-shake-left-to-right { animation-direction: alternate; animation-duration: 0.2s; animation-iteration-count: infinite; animation-name: ag-shake-left-to-right; }

@keyframes ag-shake-left-to-right { 
  0% { padding-left: 6px; padding-right: 2px; }
  100% { padding-left: 2px; padding-right: 6px; }
}

.ag-body-horizontal-scroll-viewport, .ag-body-vertical-scroll-viewport, .ag-body-viewport, .ag-center-cols-viewport, .ag-floating-bottom-viewport, .ag-floating-top-viewport, .ag-header-viewport, .ag-sticky-bottom-viewport, .ag-sticky-top-viewport, .ag-virtual-list-viewport { flex: 1 1 auto; height: 100%; min-width: 0px; overflow: hidden; position: relative; }

.ag-viewport { position: relative; }

.ag-spanning-container { position: absolute; top: 0px; z-index: 1; }

.ag-body-viewport, .ag-center-cols-viewport, .ag-floating-bottom-viewport, .ag-floating-top-viewport, .ag-header-viewport, .ag-sticky-bottom-viewport, .ag-sticky-top-viewport {
  overflow-x: auto; scrollbar-width: none !important;
  &::-webkit-scrollbar { display: none !important; }
}

.ag-body-viewport {
  display: flex; overflow-x: hidden;
  &:where(.ag-layout-normal) { overflow-y: auto; }
}

.ag-floating-bottom-container, .ag-floating-top-container, .ag-sticky-bottom-container, .ag-sticky-top-container { min-height: 1px; }

.ag-center-cols-viewport { min-height: 100%; width: 100%; }

.ag-body-horizontal-scroll-viewport { overflow-x: scroll; }

.ag-body-vertical-scroll-viewport { overflow-y: scroll; }

.ag-virtual-list-viewport { overflow: auto; width: 100%; }

.ag-body-container, .ag-body-horizontal-scroll-container, .ag-body-vertical-scroll-container, .ag-center-cols-container, .ag-floating-bottom-container, .ag-floating-bottom-full-width-container, .ag-floating-top-container, .ag-full-width-container, .ag-header-container, .ag-pinned-left-cols-container, .ag-pinned-right-cols-container, .ag-sticky-bottom-container, .ag-sticky-top-container, .ag-virtual-list-container { position: relative; }

.ag-floating-bottom-container, .ag-floating-top-container, .ag-header-container, .ag-pinned-left-floating-bottom, .ag-pinned-left-floating-top, .ag-pinned-right-floating-bottom, .ag-pinned-right-floating-top, .ag-sticky-bottom-container, .ag-sticky-top-container { height: 100%; white-space: nowrap; }

.ag-center-cols-container, .ag-pinned-right-cols-container { display: block; }

.ag-body-horizontal-scroll-container { height: 100%; }

.ag-body-vertical-scroll-container { width: 100%; }

.ag-floating-bottom-full-width-container, .ag-floating-top-full-width-container, .ag-full-width-container, .ag-sticky-bottom-full-width-container, .ag-sticky-top-full-width-container { pointer-events: none; position: absolute; top: 0px; }

:where(.ag-ltr) .ag-floating-bottom-full-width-container, :where(.ag-ltr) .ag-floating-top-full-width-container, :where(.ag-ltr) .ag-full-width-container, :where(.ag-ltr) .ag-sticky-bottom-full-width-container, :where(.ag-ltr) .ag-sticky-top-full-width-container { left: 0px; }

:where(.ag-rtl) .ag-floating-bottom-full-width-container, :where(.ag-rtl) .ag-floating-top-full-width-container, :where(.ag-rtl) .ag-full-width-container, :where(.ag-rtl) .ag-sticky-bottom-full-width-container, :where(.ag-rtl) .ag-sticky-top-full-width-container { right: 0px; }

.ag-full-width-container { width: 100%; }

.ag-floating-bottom-full-width-container, .ag-floating-top-full-width-container { display: inline-block; height: 100%; overflow: hidden; width: 100%; }

.ag-virtual-list-container { overflow: hidden; }

.ag-body { display: flex; flex: 1 1 auto; min-height: 0px; position: relative; flex-direction: row !important; }

.ag-body-horizontal-scroll, .ag-body-vertical-scroll {
  display: flex; min-height: 0px; min-width: 0px; position: relative;
  &:where(.ag-scrollbar-invisible) {
  bottom: 0px; position: absolute;
  &:where(.ag-apple-scrollbar) {
  opacity: 0; transition: opacity 0.4s; visibility: hidden;
  &:where(.ag-scrollbar-scrolling, .ag-scrollbar-active) { opacity: 1; visibility: visible; }
}
}
}

.ag-body-horizontal-scroll {
  width: 100%;
  &:where(.ag-scrollbar-invisible) { left: 0px; right: 0px; }
}

.ag-body-vertical-scroll {
  height: 100%;
  &:where(.ag-scrollbar-invisible) { top: 0px; z-index: 10; }
}

:where(.ag-ltr) .ag-body-vertical-scroll {
  &:where(.ag-scrollbar-invisible) { right: 0px; }
}

:where(.ag-rtl) .ag-body-vertical-scroll {
  &:where(.ag-scrollbar-invisible) { left: 0px; }
}

.ag-force-vertical-scroll { overflow-y: scroll !important; }

.ag-horizontal-left-spacer, .ag-horizontal-right-spacer {
  height: 100%; min-width: 0px; overflow-x: scroll;
  &:where(.ag-scroller-corner) { overflow-x: hidden; }
}

:where(.ag-row-animation) .ag-row {
  transition: transform 0.4s, top 0.4s, opacity 0.2s;
  &:where(.ag-after-created) { transition: transform 0.4s, top 0.4s, height 0.4s, opacity 0.2s; }
}

:where(.ag-row-animation.ag-prevent-animation) .ag-row {
  transition: none !important;
  &:where(.ag-row.ag-after-created) { transition: none !important; }
}

:where(.ag-row-no-animation) .ag-row { transition: none; }

.ag-row-loading { align-items: center; display: flex; }

.ag-row-position-absolute { position: absolute; }

.ag-row-position-relative { position: relative; }

.ag-full-width-row { overflow: hidden; pointer-events: all; }

.ag-row-inline-editing { z-index: 1; }

.ag-row-dragging { z-index: 2; }

.ag-stub-cell { align-items: center; display: flex; }

.ag-cell {
  display: inline-block; height: 100%; position: absolute; white-space: nowrap;
  &:focus-visible { box-shadow: none; }
}

.ag-cell-value { flex: 1 1 auto; }

.ag-cell-value:not(.ag-allow-overflow), .ag-group-value { overflow: hidden; text-overflow: ellipsis; }

.ag-cell-wrap-text { white-space: normal; word-break: break-word; }

:where(.ag-cell) .ag-icon { display: inline-block; vertical-align: middle; }

.ag-floating-top { display: flex; overflow: hidden; position: relative; white-space: nowrap; width: 100%; }

:where(.ag-floating-top:not(.ag-invisible)) { border-bottom: var(--ag-pinned-row-border); }

.ag-floating-bottom { display: flex; overflow: hidden; position: relative; white-space: nowrap; width: 100%; }

:where(.ag-floating-bottom:not(.ag-invisible)) { border-top: var(--ag-pinned-row-border); }

.ag-sticky-bottom, .ag-sticky-top { background-color: var(--ag-data-background-color); display: flex; height: 0px; overflow: hidden; position: absolute; width: 100%; z-index: 1; }

.ag-opacity-zero { opacity: 0 !important; }

.ag-cell-label-container { align-items: center; display: flex; flex-direction: row-reverse; height: 100%; justify-content: space-between; width: 100%; }

:where(.ag-right-aligned-header) {
  & .ag-cell-label-container { flex-direction: row; }
  & .ag-header-cell-text { text-align: end; }
}

.ag-column-group-icons {
  display: block;
  & > * { cursor: pointer; }
}

:where(.ag-ltr) {
  direction: ltr;
  & .ag-body, & .ag-body-horizontal-scroll, & .ag-body-viewport, & .ag-floating-bottom, & .ag-floating-top, & .ag-header, & .ag-sticky-bottom, & .ag-sticky-top { flex-direction: row; }
}

:where(.ag-rtl) {
  direction: rtl; text-align: right;
  & .ag-body, & .ag-body-horizontal-scroll, & .ag-body-viewport, & .ag-floating-bottom, & .ag-floating-top, & .ag-header, & .ag-sticky-bottom, & .ag-sticky-top { flex-direction: row-reverse; }
  & .ag-icon-contracted, & .ag-icon-expanded, & .ag-icon-tree-closed { display: block; }
}

:where(.ag-rtl) {
  & .ag-icon-contracted, & .ag-icon-expanded, & .ag-icon-tree-closed { transform: rotate(180deg); }
}

:where(.ag-rtl) {
  & .ag-icon-contracted, & .ag-icon-expanded, & .ag-icon-tree-closed { transform: rotate(-180deg); }
}

.ag-measurement-container { height: 0px; overflow: hidden; visibility: hidden; width: 0px; }

.ag-measurement-element-border {
  display: inline-block;
  &::before { border-left: var(--ag-internal-measurement-border); content: ""; display: block; }
}

.ag-group { position: relative; width: 100%; }

.ag-group-title-bar { align-items: center; display: flex; padding: var(--ag-spacing); }

.ag-group-title { display: inline; min-width: 0px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

:where(.ag-group-title-bar) .ag-group-title { cursor: default; }

.ag-group-toolbar { align-items: center; display: flex; padding: var(--ag-spacing); }

.ag-group-container { display: flex; }

.ag-disabled .ag-group-container { pointer-events: none; }

.ag-disabled-group-container, .ag-disabled-group-title-bar { opacity: 0.5; }

.ag-group-container-horizontal { flex-flow: wrap; }

.ag-group-container-vertical { flex-direction: column; }

.ag-group-title-bar-icon { cursor: pointer; flex: 0 0 auto; }

:where(.ag-ltr) .ag-group-title-bar-icon { margin-right: var(--ag-spacing); }

:where(.ag-rtl) .ag-group-title-bar-icon { margin-left: var(--ag-spacing); }

:where(.ag-group-item-alignment-stretch) .ag-group-item { align-items: stretch; }

:where(.ag-group-item-alignment-start) .ag-group-item { align-items: flex-start; }

:where(.ag-group-item-alignment-end) .ag-group-item { align-items: flex-end; }

:where(.ag-ltr) .ag-row:not(.ag-row-level-0) .ag-pivot-leaf-group { margin-left: var(--ag-row-group-indent-size); }

:where(.ag-rtl) .ag-row:not(.ag-row-level-0) .ag-pivot-leaf-group { margin-right: var(--ag-row-group-indent-size); }

:where(.ag-ltr) .ag-row-group-leaf-indent { margin-left: calc(var(--ag-cell-widget-spacing) + var(--ag-icon-size)); }

:where(.ag-rtl) .ag-row-group-leaf-indent { margin-right: calc(var(--ag-cell-widget-spacing) + var(--ag-icon-size)); }

.ag-value-change-delta { padding: 0px 2px; }

.ag-value-change-delta-up { color: var(--ag-value-change-delta-up-color); }

.ag-value-change-delta-down { color: var(--ag-value-change-delta-down-color); }

.ag-value-change-value { background-color: transparent; border-radius: 1px; padding-left: 1px; padding-right: 1px; transition: background-color 1s; }

.ag-value-change-value-highlight { background-color: var(--ag-value-change-value-highlight-background-color); transition: background-color 0.1s; }

.ag-cell-data-changed { background-color: var(--ag-value-change-value-highlight-background-color) !important; }

.ag-cell-data-changed-animation { background-color: transparent; }

.ag-cell-highlight { background-color: var(--ag-range-selection-highlight-color) !important; }

.ag-row, .ag-spanned-row { color: var(--ag-cell-text-color); font-family: var(--ag-cell-font-family); font-size: var(--ag-data-font-size); white-space: nowrap; --ag-internal-content-line-height: calc(min(var(--ag-row-height), var(--ag-line-height, 1000px)) - var(--ag-internal-row-border-width, 1px) - 2px); }

.ag-row {
  background-color: var(--ag-data-background-color); border-bottom: var(--ag-row-border); height: var(--ag-row-height); width: 100%;
  &.ag-row-editing-invalid { background-color: var(--ag-full-row-edit-invalid-background-color); }
}

:where(.ag-body-vertical-content-no-gap > div > div > div, .ag-body-vertical-content-no-gap > div > div > div > div) > .ag-row-last { border-bottom-color: transparent; }

.ag-sticky-bottom { border-top: var(--ag-row-border); box-sizing: content-box !important; }

.ag-group-contracted, .ag-group-expanded { cursor: pointer; }

.ag-cell, .ag-full-width-row .ag-cell-wrapper.ag-row-group { border: 1px solid transparent; line-height: var(--ag-internal-content-line-height); -webkit-font-smoothing: subpixel-antialiased; }

:where(.ag-ltr) .ag-cell { border-right: var(--ag-column-border); }

:where(.ag-rtl) .ag-cell { border-left: var(--ag-column-border); }

.ag-spanned-cell-wrapper { background-color: var(--ag-data-background-color); position: absolute; }

.ag-spanned-cell-wrapper > .ag-spanned-cell { display: block; position: relative; }

:where(.ag-ltr) :where(.ag-body-horizontal-content-no-gap) .ag-column-last { border-right-color: transparent; }

:where(.ag-rtl) :where(.ag-body-horizontal-content-no-gap) .ag-column-last { border-left-color: transparent; }

.ag-cell-wrapper {
  align-items: center; display: flex;
  & > :where(:not(.ag-cell-value, .ag-group-value)) { align-items: center; display: flex; height: var(--ag-internal-content-line-height); }
  &:where(.ag-row-group) { align-items: flex-start; }
  :where(.ag-full-width-row) &:where(.ag-row-group) { align-items: center; height: 100%; }
}

:where(.ag-ltr) .ag-cell-wrapper { padding-left: calc(var(--ag-indentation-level)*var(--ag-row-group-indent-size)); }

:where(.ag-rtl) .ag-cell-wrapper { padding-right: calc(var(--ag-indentation-level)*var(--ag-row-group-indent-size)); }

:where(.ag-cell-wrap-text:not(.ag-cell-auto-height)) .ag-cell-wrapper {
  align-items: normal; height: 100%;
  & :where(.ag-cell-value) { height: 100%; }
}

:where(.ag-ltr) .ag-row > .ag-cell-wrapper.ag-row-group { padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size)*var(--ag-indentation-level)); }

:where(.ag-rtl) .ag-row > .ag-cell-wrapper.ag-row-group { padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size)*var(--ag-indentation-level)); }

.ag-cell-focus:not(.ag-cell-range-selected):focus-within, .ag-cell-range-single-cell, .ag-cell-range-single-cell.ag-cell-range-handle, .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected), .ag-context-menu-open .ag-full-width-row.ag-row-focus .ag-cell-wrapper.ag-row-group, .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group { border-width: 1px; border-image: initial; border-color: var(--ag-range-selection-border-color); border-style: var(--ag-range-selection-border-style); outline: initial; }

.ag-full-width-row.ag-row-focus:focus { box-shadow: none; }

:where(.ag-ltr) .ag-group-contracted, :where(.ag-ltr) .ag-group-expanded, :where(.ag-ltr) .ag-row-drag, :where(.ag-ltr) .ag-selection-checkbox { margin-right: var(--ag-cell-widget-spacing); }

:where(.ag-rtl) .ag-group-contracted, :where(.ag-rtl) .ag-group-expanded, :where(.ag-rtl) .ag-row-drag, :where(.ag-rtl) .ag-selection-checkbox { margin-left: var(--ag-cell-widget-spacing); }

:where(.ag-ltr) .ag-group-child-count { margin-left: 3px; }

:where(.ag-rtl) .ag-group-child-count { margin-right: 3px; }

.ag-row-highlight-above::after, .ag-row-highlight-below::after, .ag-row-highlight-inside::after { background-color: var(--ag-range-selection-border-color); content: ""; height: 1px; pointer-events: none; position: absolute; width: calc(100% - 1px); }

:where(.ag-ltr) .ag-row-highlight-above::after, :where(.ag-ltr) .ag-row-highlight-below::after, :where(.ag-ltr) .ag-row-highlight-inside::after { left: 1px; }

:where(.ag-rtl) .ag-row-highlight-above::after, :where(.ag-rtl) .ag-row-highlight-below::after, :where(.ag-rtl) .ag-row-highlight-inside::after { right: 1px; }

.ag-row-highlight-above::after { top: 0px; }

.ag-row-highlight-below::after { bottom: 0px; }

.ag-row-highlight-indent::after { display: block; width: auto; }

:where(.ag-ltr) .ag-row-highlight-indent::after { left: calc((var(--ag-cell-widget-spacing) + var(--ag-icon-size))*2 + var(--ag-cell-horizontal-padding) + var(--ag-row-highlight-level)*var(--ag-row-group-indent-size)); right: 1px; }

:where(.ag-rtl) .ag-row-highlight-indent::after { left: 1px; right: calc((var(--ag-cell-widget-spacing) + var(--ag-icon-size))*2 + var(--ag-cell-horizontal-padding) + var(--ag-row-highlight-level)*var(--ag-row-group-indent-size)); }

.ag-row-highlight-inside::after { background-color: var(--ag-selected-row-background-color); border: 1px solid var(--ag-range-selection-border-color); display: block; height: auto; inset: 0px; width: auto; }

.ag-body, .ag-floating-bottom, .ag-floating-top { background-color: var(--ag-data-background-color); }

.ag-row-odd { background-color: var(--ag-odd-row-background-color); }

.ag-row-selected::before { background-color: var(--ag-selected-row-background-color); content: ""; display: block; inset: 0px; pointer-events: none; position: absolute; }

.ag-row-hover.ag-full-width-row.ag-row-group::before, .ag-row-hover:not(.ag-full-width-row)::before { background-color: var(--ag-row-hover-color); content: ""; display: block; inset: 0px; pointer-events: none; position: absolute; }

.ag-row-hover.ag-row-selected::before { background-color: var(--ag-row-hover-color); background-image: linear-gradient(var(--ag-selected-row-background-color),var(--ag-selected-row-background-color)); }

.ag-row.ag-full-width-row.ag-row-group > * { position: relative; }

.ag-column-hover { background-color: var(--ag-column-hover-color); }

.ag-header-range-highlight { background-color: var(--ag-range-header-highlight-color); }

.ag-right-aligned-cell { font-variant-numeric: tabular-nums; }

:where(.ag-ltr) .ag-right-aligned-cell { text-align: right; }

:where(.ag-rtl) .ag-right-aligned-cell { text-align: left; }

.ag-right-aligned-cell .ag-cell-value, .ag-right-aligned-cell .ag-group-value { margin-left: auto; }

:where(.ag-ltr) .ag-cell:not(.ag-cell-inline-editing), :where(.ag-ltr) .ag-full-width-row .ag-cell-wrapper.ag-row-group { padding-left: calc(var(--ag-cell-horizontal-padding) - 1px + var(--ag-row-group-indent-size)*var(--ag-indentation-level)); padding-right: calc(var(--ag-cell-horizontal-padding) - 1px); }

:where(.ag-rtl) .ag-cell:not(.ag-cell-inline-editing), :where(.ag-rtl) .ag-full-width-row .ag-cell-wrapper.ag-row-group { padding-left: calc(var(--ag-cell-horizontal-padding) - 1px); padding-right: calc(var(--ag-cell-horizontal-padding) - 1px + var(--ag-row-group-indent-size)*var(--ag-indentation-level)); }

.ag-row > .ag-cell-wrapper { padding-left: calc(var(--ag-cell-horizontal-padding) - 1px); padding-right: calc(var(--ag-cell-horizontal-padding) - 1px); }

.ag-row-dragging { cursor: move; opacity: 0.5; }

.ag-details-row { background-color: var(--ag-data-background-color); padding: calc(var(--ag-spacing)*3.75); }

.ag-layout-auto-height, .ag-layout-print {
  & .ag-center-cols-container, & .ag-center-cols-viewport { min-height: 150px; }
}

.ag-overlay-loading-wrapper { background-color: var(--ag-modal-overlay-background-color); }

.ag-skeleton-container { align-content: center; height: 100%; width: 100%; }

.ag-skeleton-effect { animation: 1.5s ease-in-out 0.5s infinite normal none running ag-skeleton-loading; background-color: var(--ag-row-loading-skeleton-effect-color); border-radius: 0.25rem; height: 1em; width: 100%; }

:where(.ag-ltr) .ag-right-aligned-cell .ag-skeleton-effect { margin-left: auto; }

:where(.ag-rtl) .ag-right-aligned-cell .ag-skeleton-effect { margin-right: auto; }

@keyframes ag-skeleton-loading { 
  0% { background-color: var(--ag-row-loading-skeleton-effect-color); }
  50% { background-color: color-mix(in srgb,transparent,var(--ag-row-loading-skeleton-effect-color) 40%); }
  100% { background-color: var(--ag-row-loading-skeleton-effect-color); }
}

.ag-loading { align-items: center; display: flex; height: 100%; }

:where(.ag-ltr) .ag-loading { padding-left: var(--ag-cell-horizontal-padding); }

:where(.ag-rtl) .ag-loading { padding-right: var(--ag-cell-horizontal-padding); }

:where(.ag-ltr) .ag-loading-icon { padding-right: var(--ag-cell-widget-spacing); }

:where(.ag-rtl) .ag-loading-icon { padding-left: var(--ag-cell-widget-spacing); }

.ag-icon-loading { animation-duration: 1s; animation-iteration-count: infinite; animation-name: spin; animation-timing-function: linear; }

@keyframes spin { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(1turn); }
}

.ag-header { background-color: var(--ag-header-background-color); border-bottom: var(--ag-header-row-border); color: var(--ag-header-text-color); display: flex; font-family: var(--ag-header-font-family); font-size: var(--ag-header-font-size); font-weight: var(--ag-header-font-weight); overflow: hidden; white-space: nowrap; width: 100%; }

.ag-header-row { height: var(--ag-header-height); position: absolute; }

.ag-floating-filter-button-button, .ag-header-cell-filter-button, .ag-header-cell-menu-button, .ag-header-expand-icon, .ag-panel-title-bar-button, :where(.ag-header-cell-sortable) .ag-header-cell-label { cursor: pointer; }

:where(.ag-ltr) .ag-header-expand-icon { margin-left: 4px; }

:where(.ag-rtl) .ag-header-expand-icon { margin-right: 4px; }

.ag-header-row:where(:not(:first-child)) {
  & :where(.ag-header-cell:not(.ag-header-span-height.ag-header-span-total, .ag-header-parent-hidden), .ag-header-group-cell.ag-header-group-cell-with-group) { border-top: var(--ag-header-row-border); }
}

.ag-header-row:where(:not(.ag-header-row-column-group)) { overflow: hidden; }

:where(.ag-header.ag-header-allow-overflow) .ag-header-row { overflow: visible; }

.ag-header-cell { display: inline-flex; overflow: hidden; }

.ag-header-group-cell { contain: paint; display: flex; }

.ag-header-cell, .ag-header-group-cell { align-items: center; gap: var(--ag-cell-widget-spacing); height: 100%; padding: 0 var(--ag-cell-horizontal-padding); position: absolute; }

@property --ag-internal-moving-color { syntax: "<color>"; inherits: false; initial-value: transparent; }

@property --ag-internal-hover-color { syntax: "<color>"; inherits: false; initial-value: transparent; }

.ag-header-cell:where(:not(.ag-floating-filter)), .ag-header-group-cell {
  &::before { background-image: linear-gradient(var(--ag-internal-hover-color),var(--ag-internal-hover-color)),linear-gradient(var(--ag-internal-moving-color),var(--ag-internal-moving-color)); content: ""; inset: 0px; position: absolute; --ag-internal-moving-color: transparent; --ag-internal-hover-color: transparent; transition: --ag-internal-moving-color var(--ag-header-cell-background-transition-duration),--ag-internal-hover-color var(--ag-header-cell-background-transition-duration); }
  &:where(:hover)::before { --ag-internal-hover-color: var(--ag-header-cell-hover-background-color); }
  &:where(.ag-header-cell-moving)::before { --ag-internal-moving-color: var(--ag-header-cell-moving-background-color); --ag-internal-hover-color: var(--ag-header-cell-hover-background-color); }
}

:where(.ag-header-cell:not(.ag-floating-filter) *, .ag-header-group-cell *) { position: relative; z-index: 1; }

.ag-header-cell-menu-button:where(:not(.ag-header-menu-always-show)) { opacity: 0; transition: opacity 0.2s; }

.ag-header-cell-filter-button, :where(.ag-header-cell.ag-header-active) .ag-header-cell-menu-button { opacity: 1; }

.ag-header-cell-label, .ag-header-group-cell-label { align-items: center; align-self: stretch; display: flex; flex: 1 1 auto; overflow: hidden; padding: 5px 0px; }

:where(.ag-ltr) .ag-sort-indicator-icon { padding-left: var(--ag-spacing); }

:where(.ag-rtl) .ag-sort-indicator-icon { padding-right: var(--ag-spacing); }

.ag-header-cell-label { text-overflow: ellipsis; }

.ag-header-group-cell-label.ag-sticky-label { flex: 0 0 auto; max-width: 100%; overflow: visible; position: sticky; }

:where(.ag-ltr) .ag-header-group-cell-label.ag-sticky-label { left: var(--ag-cell-horizontal-padding); }

:where(.ag-rtl) .ag-header-group-cell-label.ag-sticky-label { right: var(--ag-cell-horizontal-padding); }

.ag-header-cell-text, .ag-header-group-text { overflow: hidden; text-overflow: ellipsis; }

.ag-header-cell-text { word-break: break-word; }

.ag-header-cell-comp-wrapper { width: 100%; }

:where(.ag-header-group-cell) .ag-header-cell-comp-wrapper { display: flex; }

:where(.ag-header-cell:not(.ag-header-cell-auto-height)) .ag-header-cell-comp-wrapper { align-items: center; display: flex; height: 100%; }

.ag-header-cell-wrap-text .ag-header-cell-comp-wrapper { white-space: normal; }

.ag-header-cell-comp-wrapper-limited-height > * { overflow: hidden; }

:where(.ag-right-aligned-header) .ag-header-cell-label { flex-direction: row-reverse; }

:where(.ag-ltr) :where(.ag-header-cell:not(.ag-right-aligned-header)) {
  & .ag-header-label-icon, & .ag-header-menu-icon { margin-left: var(--ag-spacing); }
}

:where(.ag-rtl) :where(.ag-header-cell:not(.ag-right-aligned-header)) {
  & .ag-header-label-icon, & .ag-header-menu-icon { margin-right: var(--ag-spacing); }
}

:where(.ag-ltr) :where(.ag-header-cell.ag-right-aligned-header) {
  & .ag-header-label-icon, & .ag-header-menu-icon { margin-right: var(--ag-spacing); }
}

:where(.ag-rtl) :where(.ag-header-cell.ag-right-aligned-header) {
  & .ag-header-label-icon, & .ag-header-menu-icon { margin-left: var(--ag-spacing); }
}

.ag-header-cell::after, .ag-header-group-cell:where(:not(.ag-header-span-height.ag-header-group-cell-no-group))::after { content: ""; height: var(--ag-header-column-border-height); position: absolute; top: calc(50% - var(--ag-header-column-border-height)*.5); z-index: 1; }

:where(.ag-ltr) .ag-header-cell::after, :where(.ag-ltr) .ag-header-group-cell:where(:not(.ag-header-span-height.ag-header-group-cell-no-group))::after { border-right: var(--ag-header-column-border); right: 0px; }

:where(.ag-rtl) .ag-header-cell::after, :where(.ag-rtl) .ag-header-group-cell:where(:not(.ag-header-span-height.ag-header-group-cell-no-group))::after { border-left: var(--ag-header-column-border); left: 0px; }

.ag-header-highlight-after::after, .ag-header-highlight-before::after { background-color: var(--ag-accent-color); content: ""; height: 100%; position: absolute; width: 1px; }

:where(.ag-ltr) .ag-header-highlight-before::after { left: 0px; }

:where(.ag-rtl) .ag-header-highlight-before::after { right: 0px; }

:where(.ag-ltr) .ag-header-highlight-after::after {
  right: 0px;
  :where(.ag-pinned-left-header) & { right: 1px; }
}

:where(.ag-rtl) .ag-header-highlight-after::after {
  left: 0px;
  :where(.ag-pinned-left-header) & { left: 1px; }
}

.ag-header-cell-resize {
  align-items: center; cursor: ew-resize; display: flex; height: 100%; position: absolute; top: 0px; width: 8px; z-index: 2;
  &::after { background-color: var(--ag-header-column-resize-handle-color); content: ""; height: var(--ag-header-column-resize-handle-height); position: absolute; top: calc(50% - var(--ag-header-column-resize-handle-height)*.5); width: var(--ag-header-column-resize-handle-width); z-index: 1; }
}

:where(.ag-ltr) .ag-header-cell-resize {
  right: -3px;
  &::after { left: calc(50% - var(--ag-header-column-resize-handle-width)); }
}

:where(.ag-rtl) .ag-header-cell-resize {
  left: -3px;
  &::after { right: calc(50% - var(--ag-header-column-resize-handle-width)); }
}

:where(.ag-header-cell.ag-header-span-height) .ag-header-cell-resize::after { height: calc(100% - var(--ag-spacing)*4); top: calc(var(--ag-spacing)*2); }

.ag-header-group-cell-no-group:where(.ag-header-span-height) { display: none; }

.ag-sort-indicator-container { display: flex; gap: var(--ag-spacing); }

.ag-layout-print {
  &.ag-body { display: block; height: unset; }
  &.ag-root-wrapper { display: inline-block; }
  & .ag-body-horizontal-scroll, & .ag-body-vertical-scroll { display: none; }
  &.ag-force-vertical-scroll { overflow-y: visible !important; }
}

@media print {
  .ag-root-wrapper.ag-layout-print {
  display: table;
  & .ag-body-horizontal-scroll-viewport, & .ag-body-viewport, & .ag-center-cols-container, & .ag-center-cols-viewport, & .ag-root, & .ag-root-wrapper-body, & .ag-virtual-list-viewport { display: block !important; height: auto !important; overflow: hidden !important; }
  & .ag-cell, & .ag-row { break-inside: avoid; }
}
}

ag-grid, ag-grid-angular { display: block; }

.ag-root-wrapper {
  border: var(--ag-wrapper-border); border-radius: var(--ag-wrapper-border-radius); display: flex; flex-direction: column; overflow: hidden; position: relative;
  &.ag-layout-normal { height: 100%; }
}

.ag-root-wrapper-body {
  display: flex; flex-direction: row;
  &.ag-layout-normal { flex: 1 1 auto; height: 0px; min-height: 0px; }
}

.ag-root {
  display: flex; flex-direction: column; position: relative;
  &.ag-layout-auto-height, &.ag-layout-normal { flex: 1 1 auto; overflow: hidden; width: 0px; }
  &.ag-layout-normal { height: 100%; }
}

.ag-virtual-list-item { height: var(--ag-list-item-height); position: absolute; width: 100%; }

.ag-list-item-hovered::after { background-color: var(--ag-accent-color); content: ""; height: 1px; left: 0px; position: absolute; right: 0px; }

.ag-item-highlight-top::after { top: 0px; }

.ag-item-highlight-bottom::after { bottom: 0px; }

.ag-drag-handle {
  color: var(--ag-drag-handle-color); cursor: grab;
  & :where(.ag-icon) { color: var(--ag-drag-handle-color); }
}

.ag-chart-menu-icon, .ag-chart-settings-next, .ag-chart-settings-prev, .ag-column-group-icons, .ag-column-select-header-icon, .ag-filter-toolpanel-expand, .ag-floating-filter-button-button, .ag-group-title-bar-icon, .ag-header-cell-filter-button, .ag-header-cell-menu-button, .ag-header-expand-icon, .ag-panel-title-bar-button, .ag-panel-title-bar-button-icon, .ag-set-filter-group-icons, :where(.ag-group-contracted) .ag-icon, :where(.ag-group-expanded) .ag-icon {
  background-color: var(--ag-icon-button-background-color); border-radius: var(--ag-icon-button-border-radius); box-shadow: 0 0 0 var(--ag-icon-button-background-spread) var(--ag-icon-button-background-color); color: var(--ag-icon-button-color);
  &:hover { background-color: var(--ag-icon-button-hover-background-color); box-shadow: 0 0 0 var(--ag-icon-button-background-spread) var(--ag-icon-button-hover-background-color); color: var(--ag-icon-button-hover-color); }
}

.ag-filter-active {
  background-image: linear-gradient(var(--ag-icon-button-active-background-color),var(--ag-icon-button-active-background-color)); border-radius: 1px; outline: solid var(--ag-icon-button-background-spread) var(--ag-icon-button-active-background-color); position: relative;
  &::after { background-color: var(--ag-icon-button-active-indicator-color); border-radius: 50%; content: ""; height: 6px; position: absolute; top: -1px; width: 6px; }
  & :where(.ag-icon-filter) { clip-path: path("M 8 0 C 8 4.415 11.585 8 16 8 L 16 16 L 0 16 L 0 0 L 8 0 Z"); color: var(--ag-icon-button-active-color); }
}

:where(.ag-ltr) .ag-filter-active {
  &::after { right: -1px; }
}

:where(.ag-rtl) .ag-filter-active {
  &::after { left: -1px; }
}

.ag-menu { background-color: var(--ag-menu-background-color); border: var(--ag-menu-border); border-radius: var(--ag-border-radius); box-shadow: var(--ag-menu-shadow); color: var(--ag-menu-text-color); max-height: 100%; overflow-y: auto; position: absolute; user-select: none; }