.data-grid {
    position: relative;
    border: 1px solid #aaa;
    line-height: 120%;
}

.data-grid table {
    table-layout: fixed;
    border-spacing: 0;
    border-collapse: separate;
    height: 100%;
    width: 100%;
}

.data-grid .header-container,
.data-grid .data-container {
    position: absolute;
    left: 0;
    right: 0;
    overflow-x: hidden;
}

.data-grid .header-container {
    top: 0;
    height: 21px;
}

.data-grid .data-container {
    top: 21px;
    bottom: 0;
    overflow-y: overlay;
    transform: translateZ(0);
}

.data-grid.inline .header-container,
.data-grid.inline .data-container {
    position: static;
}

.data-grid.inline .corner {
    display: none;
}

.platform-mac .data-grid .corner,
.data-grid.data-grid-fits-viewport .corner {
    display: none;
}

.data-grid .corner {
    width: 14px;
    padding-right: 0;
    padding-left: 0;
    border-left: 0 none transparent !important;
}

.data-grid .top-filler-td,
.data-grid .bottom-filler-td {
    height: auto !important;
    padding: 0 !important;
}

.data-grid table.data {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    border-top: 0 none transparent;
    table-layout: fixed;
}

.data-grid.inline table.data {
    position: static;
}

.data-grid table.data tr {
    display: none;
    height: 20px;
}

.data-grid table.data tr.revealed {
    display: table-row;
}

.striped-data-grid .revealed.data-grid-data-grid-node:nth-child(odd),
.striped-data-grid-starts-with-odd .revealed.data-grid-data-grid-node:nth-child(even) {
    background-color: hsl(214, 70%, 97%);
}

.data-grid td,
.data-grid th {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    line-height: 18px;
    height: 18px;
    border-left: 1px solid #aaa;
    padding: 1px 4px;
}

.data-grid th:first-child,
.data-grid td:first-child {
    border-left: none !important;
}

.data-grid td {
    vertical-align: top;
    -webkit-user-select: text;
}

.data-grid th {
    text-align: left;
    background-color: var(--toolbar-bg-color);
    border-bottom: 1px solid #aaa;
    font-weight: normal;
    vertical-align: middle;
}

.data-grid td > div,
.data-grid th > div {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.data-grid td.editing > div {
    text-overflow: clip;
}

.data-grid .center {
    text-align: center;
}

.data-grid .right {
    text-align: right;
}

.data-grid th.sortable {
    position: relative;
}

.data-grid th.sortable:active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.15);
}

.data-grid th .sort-order-icon-container {
    position: absolute;
    top: 1px;
    right: 0;
    bottom: 1px;
    display: flex;
    align-items: center;
}

.data-grid th .sort-order-icon {
    margin-right: 4px;
    margin-bottom: -2px;
    display: none;
}

.data-grid th.sort-ascending .sort-order-icon,
.data-grid th.sort-descending .sort-order-icon {
    display: block;
}

.data-grid th.sortable:hover {
    background-color: hsla(0, 0%, 90%, 1);
}

.data-grid button {
    line-height: 18px;
    color: inherit;
}

.data-grid td.disclosure::before {
    -webkit-user-select: none;
    -webkit-mask-image: url(Images/treeoutlineTriangles.png);
    -webkit-mask-position: 0 0;
    -webkit-mask-size: 32px 24px;
    float: left;
    width: 8px;
    height: 12px;
    margin-right: 2px;
    content: "";
    position: relative;
    top: 3px;
    background-color: rgb(110, 110, 110);
}

.data-grid tr:not(.parent) td.disclosure::before {
    background-color: transparent;
}

@media (-webkit-min-device-pixel-ratio: 1.1) {
.data-grid tr.parent td.disclosure::before {
    -webkit-mask-image: url(Images/treeoutlineTriangles_2x.png);
}
} /* media */

.data-grid tr.expanded td.disclosure::before {
    -webkit-mask-position: -16px 0;
}

.data-grid table.data tr.revealed.selected {
    background-color: rgb(212, 212, 212);
    color: inherit;
}

.data-grid:focus table.data tr.selected {
    background-color: var(--selection-bg-color);
    color: var(--selection-fg-color);
}

.data-grid:focus tr.selected .devtools-link {
    color: var(--selection-fg-color);
}

.data-grid:focus tr.parent.selected td.disclosure::before {
    background-color: var(--selection-fg-color);
    -webkit-mask-position: 0 0;
}

.data-grid:focus tr.expanded.selected td.disclosure::before {
    background-color: var(--selection-fg-color);
    -webkit-mask-position: -16px 0;
}

.data-grid tr.inactive {
    color: rgb(128, 128, 128);
    font-style: italic;
}

.data-grid tr.dirty {
    background-color: hsl(0, 100%, 92%);
    color: red;
    font-style: normal;
}

.data-grid:focus tr.selected.dirty {
    background-color: hsl(0, 100%, 70%);
}

.data-grid-resizer {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 5px;
    z-index: 500;
}
