
pragma-advanced-grid,
pr-advanced-treelist,
.pr-advanced-treelist,
.pragma-advanced-grid {
    --headerHeight: 2rem;
    --cell-edit-add-display: flex;
    --group-padding-left: 2rem;
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    min-height: 200px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none !important;
    position: relative;
}

pragma-advanced-grid .header-group,
pragma-advanced-grid [role=columnheader],
pr-advanced-treelist .header-group,
pr-advanced-treelist [role=columnheader],
.pr-advanced-treelist .header-group,
.pr-advanced-treelist [role=columnheader],
.pragma-advanced-grid .header-group,
.pragma-advanced-grid [role=columnheader] {
    height: 100%;
    border-right: 1px solid var(--c-border);
    display: block;
    text-align: center;
}

pragma-advanced-grid .header-group [role=checkbox],
pragma-advanced-grid [role=columnheader] [role=checkbox],
pr-advanced-treelist .header-group [role=checkbox],
pr-advanced-treelist [role=columnheader] [role=checkbox],
.pr-advanced-treelist .header-group [role=checkbox],
.pr-advanced-treelist [role=columnheader] [role=checkbox],
.pragma-advanced-grid .header-group [role=checkbox],
.pragma-advanced-grid [role=columnheader] [role=checkbox] {
    border-bottom: 3px solid var(--c-border);
}

pragma-advanced-grid .header-group > span,
pragma-advanced-grid [role=columnheader] > span,
pr-advanced-treelist .header-group > span,
pr-advanced-treelist [role=columnheader] > span,
.pr-advanced-treelist .header-group > span,
.pr-advanced-treelist [role=columnheader] > span,
.pragma-advanced-grid .header-group > span,
.pragma-advanced-grid [role=columnheader] > span {
    width: 100%;
    align-self: flex-start;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

pragma-advanced-grid [role=row],
pragma-advanced-grid [role=rowgroup],
pr-advanced-treelist [role=row],
pr-advanced-treelist [role=rowgroup],
.pr-advanced-treelist [role=row],
.pr-advanced-treelist [role=rowgroup],
.pragma-advanced-grid [role=row],
.pragma-advanced-grid [role=rowgroup] {
    display: flex;
    flex-direction: row;
    line-height: 2rem;
}

pragma-advanced-grid [role=rowgroup]:focus,
pragma-advanced-grid [role=row]:focus,
pr-advanced-treelist [role=rowgroup]:focus,
pr-advanced-treelist [role=row]:focus,
.pr-advanced-treelist [role=rowgroup]:focus,
.pr-advanced-treelist [role=row]:focus,
.pragma-advanced-grid [role=rowgroup]:focus,
.pragma-advanced-grid [role=row]:focus {
    outline: none;
    box-shadow: inset 0 0 0 2px var(--c-focus);
}

pragma-advanced-grid [role=cell]:not([tabindex="-1"]):focus,
pr-advanced-treelist [role=cell]:not([tabindex="-1"]):focus,
.pr-advanced-treelist [role=cell]:not([tabindex="-1"]):focus,
.pragma-advanced-grid [role=cell]:not([tabindex="-1"]):focus {
    outline: none;
    box-shadow: inset 0 0 0 2px var(--c-focus);
}

pragma-advanced-grid [role=table],
pr-advanced-treelist [role=table],
.pr-advanced-treelist [role=table],
.pragma-advanced-grid [role=table] {
    background: var(--c-group-item-bg);
}

pragma-advanced-grid #header,
pr-advanced-treelist #header,
.pr-advanced-treelist #header,
.pragma-advanced-grid #header {
    --scroll-left: 0;
    position: absolute;
    top: 0;
    left: 0;
    height: var(--headerHeight);
    display: flex;
    flex-direction: column;
    border-bottom: 0;
    transform: translateX(calc(1px - (var(--scroll-left) + 1px)));
}

pragma-advanced-grid #header > div,
pr-advanced-treelist #header > div,
.pr-advanced-treelist #header > div,
.pragma-advanced-grid #header > div {
    align-items: center;
    display: flex;
    width: 100%;
    height: 100%;
    color: var(--c-subheading);
    box-shadow: inset 0 -1px 0 0 var(--c-border);
}

pragma-advanced-grid #body,
pr-advanced-treelist #body,
.pr-advanced-treelist #body,
.pragma-advanced-grid #body {
    position: absolute;
    top: var(--headerHeight);
    left: 0;
    right: 0;
    bottom: 0;
}

pragma-advanced-grid .header,
pr-advanced-treelist .header,
.pr-advanced-treelist .header,
.pragma-advanced-grid .header {
    height: var(--headerHeight);
    background: var(--c-surface-bg);
}

pragma-advanced-grid [role=rowgroup],
pr-advanced-treelist [role=rowgroup],
.pr-advanced-treelist [role=rowgroup],
.pragma-advanced-grid [role=rowgroup] {
    font-size: var(--font-size-small);
    padding-right: 1rem;
    padding-left: var(--row-padding);
    transform: translate(var(--scroll-left), var(--scroll-top));
    background: var(--c-surface-bg);
}

pragma-advanced-grid [role=rowgroup].header,
pr-advanced-treelist [role=rowgroup].header,
.pr-advanced-treelist [role=rowgroup].header,
.pragma-advanced-grid [role=rowgroup].header {
    border-bottom: 2px solid var(--c-border);
}

pragma-advanced-grid [role=rowgroup] :last-child,
pr-advanced-treelist [role=rowgroup] :last-child,
.pr-advanced-treelist [role=rowgroup] :last-child,
.pragma-advanced-grid [role=rowgroup] :last-child {
    font-size: var(--font-size-small);
}

pragma-advanced-grid .items-container-parent,
pr-advanced-treelist .items-container-parent,
.pr-advanced-treelist .items-container-parent,
.pragma-advanced-grid .items-container-parent {
    --scroll-left: 0px;
}

pragma-advanced-grid .items-container-parent [role=rowgroup],
pr-advanced-treelist .items-container-parent [role=rowgroup],
.pr-advanced-treelist .items-container-parent [role=rowgroup],
.pragma-advanced-grid .items-container-parent [role=rowgroup] {
    font-size: var(--font-size-base);
    color: var(--c-text);
}

pragma-advanced-grid .items-container-parent [role=rowgroup]:hover,
pr-advanced-treelist .items-container-parent [role=rowgroup]:hover,
.pr-advanced-treelist .items-container-parent [role=rowgroup]:hover,
.pragma-advanced-grid .items-container-parent [role=rowgroup]:hover {
    background: var(--c-hover);
}

pragma-advanced-grid [role=columnheader],
pragma-advanced-grid [role=cell],
pr-advanced-treelist [role=columnheader],
pr-advanced-treelist [role=cell],
.pr-advanced-treelist [role=columnheader],
.pr-advanced-treelist [role=cell],
.pragma-advanced-grid [role=columnheader],
.pragma-advanced-grid [role=cell] {
    position: relative;
    padding-left: 0.5rem;
}

pragma-advanced-grid [role=columnheader]:first-child,
pragma-advanced-grid [role=cell]:first-child,
pr-advanced-treelist [role=columnheader]:first-child,
pr-advanced-treelist [role=cell]:first-child,
.pr-advanced-treelist [role=columnheader]:first-child,
.pr-advanced-treelist [role=cell]:first-child,
.pragma-advanced-grid [role=columnheader]:first-child,
.pragma-advanced-grid [role=cell]:first-child {
    justify-content: center;
    text-align: center;
    padding-left: 0;
    display: flex;
    background: none;
}

pragma-advanced-grid [role=columnheader],
pr-advanced-treelist [role=columnheader],
.pr-advanced-treelist [role=columnheader],
.pragma-advanced-grid [role=columnheader] {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    flex-shrink: 0;
    flex-grow: 0;
    font-weight: bold;
}

pragma-advanced-grid [role=columnheader] [tabindex="-1"] pragma-checkbox,
pr-advanced-treelist [role=columnheader] [tabindex="-1"] pragma-checkbox,
.pr-advanced-treelist [role=columnheader] [tabindex="-1"] pragma-checkbox,
.pragma-advanced-grid [role=columnheader] [tabindex="-1"] pragma-checkbox {
    margin-left: 0;
    background: var(--c-surface-bg);
    border-bottom: 2px solid var(--c-border);
}

pragma-advanced-grid .items-container svg[aria-hidden=false],
pr-advanced-treelist .items-container svg[aria-hidden=false],
.pr-advanced-treelist .items-container svg[aria-hidden=false],
.pragma-advanced-grid .items-container svg[aria-hidden=false] {
    display: block;
}

pragma-advanced-grid pragma-checkbox svg,
pr-advanced-treelist pragma-checkbox svg,
.pr-advanced-treelist pragma-checkbox svg,
.pragma-advanced-grid pragma-checkbox svg {
    height: 1.5rem;
}

pragma-advanced-grid .inline-grid-icon svg,
pr-advanced-treelist .inline-grid-icon svg,
.pr-advanced-treelist .inline-grid-icon svg,
.pragma-advanced-grid .inline-grid-icon svg {
    height: 1rem;
    width: 1.5rem;
    padding-left: 0.5rem;
}

pragma-advanced-grid [role=columnheader]:first-child.sticky,
pr-advanced-treelist [role=columnheader]:first-child.sticky,
.pr-advanced-treelist [role=columnheader]:first-child.sticky,
.pragma-advanced-grid [role=columnheader]:first-child.sticky {
    transform: translateX(calc(var(--scroll-left) * 1px));
    background: var(--c-surface-bg);
    min-width: 2rem;
}

pragma-advanced-grid .sticky,
pr-advanced-treelist .sticky,
.pr-advanced-treelist .sticky,
.pragma-advanced-grid .sticky {
    position: sticky;
    z-index: 2;
    background: var(--c-cell-bg);
}

pragma-advanced-grid [role=row] [role=cell]:first-child.sticky,
pr-advanced-treelist [role=row] [role=cell]:first-child.sticky,
.pr-advanced-treelist [role=row] [role=cell]:first-child.sticky,
.pragma-advanced-grid [role=row] [role=cell]:first-child.sticky {
    left: 0;
    position: sticky;
    z-index: 2;
    background: var(--c-cell-bg);
    min-width: 2rem;
}

pragma-advanced-grid[selection=single] [role=columnheader],
pragma-advanced-grid[selection=single] [role=cell],
pr-advanced-treelist[selection=single] [role=columnheader],
pr-advanced-treelist[selection=single] [role=cell],
.pr-advanced-treelist[selection=single] [role=columnheader],
.pr-advanced-treelist[selection=single] [role=cell],
.pragma-advanced-grid[selection=single] [role=columnheader],
.pragma-advanced-grid[selection=single] [role=cell] {
    padding-left: 0.5rem;
}

pragma-advanced-grid[selection=single] [role=columnheader]:first-child,
pragma-advanced-grid[selection=single] [role=cell]:first-child,
pr-advanced-treelist[selection=single] [role=columnheader]:first-child,
pr-advanced-treelist[selection=single] [role=cell]:first-child,
.pr-advanced-treelist[selection=single] [role=columnheader]:first-child,
.pr-advanced-treelist[selection=single] [role=cell]:first-child,
.pragma-advanced-grid[selection=single] [role=columnheader]:first-child,
.pragma-advanced-grid[selection=single] [role=cell]:first-child {
    justify-content: left;
    text-align: left;
}

pragma-advanced-grid[selection=multiple] [role=cell]:first-child,
pragma-advanced-grid[selection=multiple] [role=columnheader]:first-child,
pr-advanced-treelist[selection=multiple] [role=cell]:first-child,
pr-advanced-treelist[selection=multiple] [role=columnheader]:first-child,
.pr-advanced-treelist[selection=multiple] [role=cell]:first-child,
.pr-advanced-treelist[selection=multiple] [role=columnheader]:first-child,
.pragma-advanced-grid[selection=multiple] [role=cell]:first-child,
.pragma-advanced-grid[selection=multiple] [role=columnheader]:first-child {
    min-width: 2rem;
    margin-left: 0;
    background: none;
    padding: 0;
    display: flex;
    justify-content: left;
}

pragma-advanced-grid[selection=multiple] [role=columnheader]:first-child,
pr-advanced-treelist[selection=multiple] [role=columnheader]:first-child,
.pr-advanced-treelist[selection=multiple] [role=columnheader]:first-child,
.pragma-advanced-grid[selection=multiple] [role=columnheader]:first-child {
    transform: translateX(var(--scroll-left));
    background: var(--c-surface-bg);
    z-index: 0;
}

pragma-advanced-grid[selection=multiple] [role=row] [role=cell]:first-child.sticky,
pr-advanced-treelist[selection=multiple] [role=row] [role=cell]:first-child.sticky,
.pr-advanced-treelist[selection=multiple] [role=row] [role=cell]:first-child.sticky,
.pragma-advanced-grid[selection=multiple] [role=row] [role=cell]:first-child.sticky {
    background: var(--c-surface-bg);
}

pragma-advanced-grid[selection=multiple] [role=row][aria-selected=true] [role=cell]:first-child,
pr-advanced-treelist[selection=multiple] [role=row][aria-selected=true] [role=cell]:first-child,
.pr-advanced-treelist[selection=multiple] [role=row][aria-selected=true] [role=cell]:first-child,
.pragma-advanced-grid[selection=multiple] [role=row][aria-selected=true] [role=cell]:first-child {
    background: var(--c-item-selected);
}

pragma-advanced-grid .group-title,
pr-advanced-treelist .group-title,
.pr-advanced-treelist .group-title,
.pragma-advanced-grid .group-title {
    flex: 1;
    overflow: hidden;
    max-height: 2rem;
}

pragma-advanced-grid pr-no-content,
pr-advanced-treelist pr-no-content,
.pr-advanced-treelist pr-no-content,
.pragma-advanced-grid pr-no-content {
    position: absolute;
    top: 2rem;
    bottom: 0;
    height: unset;
    background-color: var(--c-surface-bg);
}

pragma-advanced-grid.grouping-enabled pr-no-content,
pr-advanced-treelist.grouping-enabled pr-no-content,
.pr-advanced-treelist.grouping-enabled pr-no-content,
.pragma-advanced-grid.grouping-enabled pr-no-content {
    top: 5rem;
}

pragma-advanced-grid pr-memo-cell,
pr-advanced-treelist pr-memo-cell,
.pr-advanced-treelist pr-memo-cell,
.pragma-advanced-grid pr-memo-cell {
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
}

pragma-advanced-grid pr-memo-cell span,
pr-advanced-treelist pr-memo-cell span,
.pr-advanced-treelist pr-memo-cell span,
.pragma-advanced-grid pr-memo-cell span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

pragma-advanced-grid pr-memo-cell pragma-icon-button,
pr-advanced-treelist pr-memo-cell pragma-icon-button,
.pr-advanced-treelist pr-memo-cell pragma-icon-button,
.pragma-advanced-grid pr-memo-cell pragma-icon-button {
    width: 2rem;
    height: 2rem;
    display: none;
}

pragma-advanced-grid [role=row][aria-selected=true] pr-memo-cell pragma-icon-button:not([data-hidden]), pragma-advanced-grid [role=row]:hover pr-memo-cell pragma-icon-button:not([data-hidden]), pragma-advanced-grid [role=row]:focus pr-memo-cell pragma-icon-button:not([data-hidden]),
pr-advanced-treelist [role=row][aria-selected=true] pr-memo-cell pragma-icon-button:not([data-hidden]),
pr-advanced-treelist [role=row]:hover pr-memo-cell pragma-icon-button:not([data-hidden]),
pr-advanced-treelist [role=row]:focus pr-memo-cell pragma-icon-button:not([data-hidden]),
.pr-advanced-treelist [role=row][aria-selected=true] pr-memo-cell pragma-icon-button:not([data-hidden]),
.pr-advanced-treelist [role=row]:hover pr-memo-cell pragma-icon-button:not([data-hidden]),
.pr-advanced-treelist [role=row]:focus pr-memo-cell pragma-icon-button:not([data-hidden]),
.pragma-advanced-grid [role=row][aria-selected=true] pr-memo-cell pragma-icon-button:not([data-hidden]),
.pragma-advanced-grid [role=row]:hover pr-memo-cell pragma-icon-button:not([data-hidden]),
.pragma-advanced-grid [role=row]:focus pr-memo-cell pragma-icon-button:not([data-hidden]) {
    display: inline;
    flex-shrink: 0;
}

[role=columnheader]:first-child, [role=cell]:first-child {
    padding-left: 0;
}

[role=columnheader] {
    display: inline-block;
    padding-left: 0.5rem;
    text-overflow: clip;
}

[role=columnheader][tabindex="-1"] [role=checkbox], [role=columnheader][tabindex="-1"] [aria-expanded] {
    height: 2rem;
    padding: 0.25rem;
    fill: var(--c-text);
}

[role=columnheader][tabindex="-1"] pragma-checkbox {
    display: flex;
    align-items: center;
    height: 1.5rem;
}

[role=columnheader][tabindex="-1"] pragma-checkbox:focus {
    outline: 0;
    box-shadow: inset 0 0 0 0.2rem var(--c-focus);
}

[role=columnheader][tabindex="-1"] pragma-checkbox svg {
    height: 1.5rem;
    fill: var(--c-text);
}

[role=row] {
    border-bottom: 1px solid var(--c-border);
}

[role=row][data-deleted=true] {
    color: var(--c-error);
}

[role=row] svg#remove {
    padding: 0.25rem;
    fill: var(--c-error);
}

pragma-advanced-grid [role=cell],
pr-advanced-treelist [role=cell],
.pr-advanced-treelist [role=cell],
.pragma-advanced-grid [role-cell] {
  padding-right: 0.5rem;
}
