.vgrid-loading-badge {
    display: inline-flex;
    align-items: center;
    gap: .5em;
    max-width: 100%;
    min-width: 0;
    padding: .35em .9em;
    color: inherit;
    background: var(--vgrid-popup-background, Canvas);
    border: var(--vgrid-border-width, 1px) solid var(--vgrid-border-color, #dee2e6);
    border-radius: var(--vgrid-border-radius, .25rem);
    box-shadow: var(--vgrid-popup-shadow, 0 .4em 1.4em rgba(0, 0, 0, .18));
    font-family: inherit;
    font-size: inherit;
    line-height: 1.2;
    white-space: nowrap;
}

.vgrid-loading-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vgrid-loading-space td {
    height: 3.25em;
    padding: 0;
    border: 0;
    background: none;
}

.vgrid-loading-badge.vgrid-loading-error {
    color: #b3261e;
    border-color: rgba(179, 38, 30, .45);
}

.vgrid-spinner {
    width: 1em;
    height: 1em;
    flex: none;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: vgrid-spin .6s linear infinite;
}

@keyframes vgrid-spin {
    to { transform: rotate(360deg); }
}

.vgrid-subgrid-cell {
    padding: 0;
    max-width: 0;
    overflow: clip;
}

.vgrid-viewport,
.vgrid-pagination-bar,
.vgrid-subgrid-slide {
    position: sticky;
    left: var(--vgrid-viewport-offset, 0px);
    box-sizing: border-box;
    max-width: 100%;
}

.vgrid-viewport,
.vgrid-pagination-bar {
    width: calc(var(--vgrid-viewport, 100%) - .2em);
}

span.vgrid-viewport {
    display: block;
}

.vgrid-subgrid-slide {
    display: block;
    width: var(--vgrid-viewport, 100%);
    height: 0;
    overflow: hidden;
    contain: inline-size;
    transition: height var(--vgrid-easing, 160ms) cubic-bezier(.4, 0, .2, 1);
    will-change: height;
}

.vgrid-subgrid-clip {
    position: relative;
    min-width: 0;
}

.vgrid-subgrid-body {
    min-width: 0;
    max-height: var(--vgrid-subgrid-max-height, 400px);
    padding: .5em;
    overflow: auto;
}

@media (prefers-reduced-motion: reduce) {
    .vgrid-subgrid-slide {
        transition-duration: 1ms;
    }
}

.vgrid-subgrid-caption {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: .5em;
    padding: .25em .4em .4em;
    background: Canvas;
    color: inherit;
    font-weight: 700;
    border-bottom: var(--vgrid-border-width, 1px) solid var(--vgrid-border-color, #dee2e6);
}

.vgrid-subgrid-title {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vgrid-subgrid-close {
    flex: none;
    margin-left: auto;
    padding: 0 .35em;
    line-height: 1.25;
    font-weight: 400;
    color: inherit;
    background: var(--vgrid-popup-background, Canvas);
    border: var(--vgrid-border-width, 1px) solid var(--vgrid-border-color, #dee2e6);
    border-radius: var(--vgrid-border-radius, .25rem);
    cursor: pointer;
}

.vgrid-subgrid-close:hover {
    background: color-mix(in srgb, currentColor 9%, Canvas);
}

.vgrid-subgrid-close:focus-visible {
    outline: 2px solid AccentColor;
    outline-offset: 1px;
}

.vgrid-panel-loading,
.vgrid-panel-empty,
.vgrid-panel-error {
    display: flex;
    align-items: center;
    gap: .5em;
    padding: .5em .2em;
    color: color-mix(in srgb, currentColor 60%, transparent);
}

.vgrid-panel-error {
    color: #8a1f11;
}

.vgrid-empty td {
    padding: .75em .4em;
    color: color-mix(in srgb, currentColor 60%, transparent);
    text-align: center;
}

.vgrid-panel-text {
    margin: 0;
    white-space: pre-wrap;
    font-size: inherit;
}

@media (prefers-color-scheme: dark) {
    .vgrid-panel-error {
        color: #ffb4a8;
    }
}

.vgrid-wrapper {
    display: block;
    position: relative;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    font-size: var(--vgrid-font-size, inherit);
    border: var(--vgrid-border-width, 1px) solid var(--vgrid-border-color, #dee2e6);
    border-radius: var(--vgrid-border-radius, .25rem);
}

.vgrid-wrapper input,
.vgrid-wrapper select,
.vgrid-wrapper button {
    font-size: inherit;
    font-family: inherit;
}

.vgrid-actions {
    float: right;
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: .25em;
    max-width: 100%;
    min-height: 1lh;
}

.vgrid-wrapper:focus-visible {
    outline: 2px solid AccentColor;
    outline-offset: 1px;
}

.vgrid-actions button {
    padding: 0 .45em;
    line-height: 1.25;
    color: inherit;
    background: Canvas;
    border: var(--vgrid-border-width, 1px) solid var(--vgrid-border-color, #dee2e6);
    border-radius: var(--vgrid-border-radius, .25rem);
    cursor: pointer;
}

.vgrid-actions button:hover {
    background: color-mix(in srgb, currentColor 9%, Canvas);
}

.vgrid-actions button:active {
    background: color-mix(in srgb, currentColor 9%, Canvas);
    filter: brightness(.95);
}

.vgrid-actions button:focus-visible {
    outline: 2px solid AccentColor;
    outline-offset: 1px;
}

.vgrid-actions button:disabled {
    color: color-mix(in srgb, currentColor 60%, transparent);
    cursor: default;
}

.vgrid-caption {
    font-weight: 700;
}

.vgrid-header th {
    font-weight: 700;
}

.vgrid-caption td,
.vgrid-header th,
.vgrid-filter td,
.vgrid-pagination td,
.vgrid-row td {
    padding: .1em .1em;
}

.vgrid-pagination td {
    position: relative;
}

.vgrid-header th.vgrid-select,
.vgrid-filter td.vgrid-select,
.vgrid-row td.vgrid-select,
.vgrid-header th.vgrid-row-number,
.vgrid-filter td.vgrid-row-number,
.vgrid-row td.vgrid-row-number {
    padding-inline: .4em;
}

.vgrid-select {
    text-align: center;
}

.vgrid-select input {
    margin: 0;
    vertical-align: middle;
}

.vgrid-selection td {
    padding: .25rem .5rem;
    background: color-mix(in srgb, currentColor 9%, Canvas);
}

.vgrid-selection-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25em 1em;
}

.vgrid-selection-action,
.vgrid-selection-close {
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.vgrid-selection-action {
    text-decoration: underline;
}

.vgrid-selection-close {
    margin-left: auto;
    font-size: 1.2em;
    line-height: 1;
}

.vgrid-toggle-subgrid {
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}

button.vgrid-toggle-subgrid {
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}

.vgrid-toggle-subgrid[data-vgrid-menu] {
    font-size: 1.35em;
}

.vgrid-toggle-subgrid:focus-visible {
    outline: 2px solid AccentColor;
    outline-offset: 1px;
}

.vgrid [role="gridcell"][data-vgrid-cell-row]:focus-visible {
    outline: 2px solid AccentColor;
    outline-offset: -2px;
}

.vgrid [role="gridcell"][aria-selected="true"] {
    box-shadow: inset 0 0 0 1px currentColor;
}

.vgrid tr[data-vgrid-clickable]:focus-visible {
    outline: 2px solid AccentColor;
    outline-offset: -2px;
}

.vgrid-panel-menu,
.vgrid-filter-mode-menu {
    position: fixed;
    inset: auto;
    box-sizing: border-box;
    min-width: 10em;
    max-width: min(20em, calc(100vw - 8px));
    max-height: 60vh;
    margin: 0;
    padding: .25em 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    color: inherit;
    background: var(--vgrid-popup-background, Canvas);
    border: var(--vgrid-border-width, 1px) solid var(--vgrid-border-color, #dee2e6);
    border-radius: var(--vgrid-border-radius, .25rem);
    box-shadow: var(--vgrid-popup-shadow, 0 .4em 1.4em rgba(0, 0, 0, .18));
}

.vgrid-settings,
.vgrid-panel-menu,
.vgrid-filter-mode-menu {
    opacity: 0;
    transform: translateY(-.2em);
    transition: opacity var(--vgrid-easing, 160ms) cubic-bezier(.4, 0, .2, 1),
                transform var(--vgrid-easing, 160ms) cubic-bezier(.4, 0, .2, 1),
                overlay var(--vgrid-easing, 160ms) allow-discrete,
                display var(--vgrid-easing, 160ms) allow-discrete;
}

.vgrid-settings:popover-open,
.vgrid-panel-menu:popover-open,
.vgrid-filter-mode-menu:popover-open {
    opacity: 1;
    transform: translateY(0);
}

@starting-style {
    .vgrid-settings:popover-open,
    .vgrid-panel-menu:popover-open,
    .vgrid-filter-mode-menu:popover-open {
        opacity: 0;
        transform: translateY(-.2em);
    }
}

@media (prefers-reduced-motion: reduce) {
    .vgrid-settings,
    .vgrid-panel-menu,
    .vgrid-filter-mode-menu {
        transition-duration: 1ms;
        transform: none;
    }
}

.vgrid-settings,
.vgrid-panel-menu,
.vgrid-filter-mode-menu,
.vgrid-subgrid-body {
    scrollbar-width: thin;
    scrollbar-color: var(--vgrid-scrollbar-color, color-mix(in srgb, currentColor 45%, transparent)) transparent;
}

.vgrid-settings::-webkit-scrollbar,
.vgrid-panel-menu::-webkit-scrollbar,
.vgrid-filter-mode-menu::-webkit-scrollbar,
.vgrid-subgrid-body::-webkit-scrollbar {
    width: .7em;
    height: .7em;
}

.vgrid-settings::-webkit-scrollbar-track,
.vgrid-panel-menu::-webkit-scrollbar-track,
.vgrid-filter-mode-menu::-webkit-scrollbar-track,
.vgrid-subgrid-body::-webkit-scrollbar-track {
    background: transparent;
}

.vgrid-settings::-webkit-scrollbar-thumb,
.vgrid-panel-menu::-webkit-scrollbar-thumb,
.vgrid-filter-mode-menu::-webkit-scrollbar-thumb,
.vgrid-subgrid-body::-webkit-scrollbar-thumb {
    background: var(--vgrid-scrollbar-color, color-mix(in srgb, currentColor 45%, transparent));
    background-clip: padding-box;
    border: .2em solid transparent;
    border-radius: 1em;
}

.vgrid-panel-menu-item,
.vgrid-filter-mode-item {
    display: block;
    width: 100%;
    padding: .25em .75em;
    overflow: hidden;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    white-space: nowrap;
    text-overflow: ellipsis;
    cursor: pointer;
}

.vgrid-panel-menu-item:hover,
.vgrid-panel-menu-item:focus-visible,
.vgrid-filter-mode-item:hover,
.vgrid-filter-mode-item:focus-visible {
    background: color-mix(in srgb, currentColor 9%, Canvas);
}

.vgrid-panel-menu-item:focus-visible,
.vgrid-filter-mode-item:focus-visible {
    outline: 2px solid AccentColor;
    outline-offset: -2px;
}

.vgrid-panel-menu-item[aria-checked="true"],
.vgrid-filter-mode-item[aria-checked="true"] {
    font-weight: 700;
}

.vgrid-settings {
    position: fixed;
    inset: auto;
    box-sizing: border-box;
    margin: 0;
    min-width: min(12em, calc(100vw - 8px));
    max-width: calc(100vw - 8px);
    max-height: calc(100vh - 8px);
    max-height: calc(100dvh - 8px);
    padding: .6em .7em;
    flex-direction: column;
    overflow: hidden;
    color: inherit;
    background: var(--vgrid-popup-background, Canvas);
    border: var(--vgrid-border-width, 1px) solid var(--vgrid-border-color, #dee2e6);
    border-radius: var(--vgrid-border-radius, .25rem);
    box-shadow: var(--vgrid-popup-shadow, 0 .4em 1.4em rgba(0, 0, 0, .18));
}

.vgrid-settings:popover-open {
    display: flex;
}

.vgrid-settings-title {
    flex: 0 0 auto;
    padding: 0 2em .4em 0;
    font-weight: 700;
}

.vgrid-settings-list {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.vgrid-settings label {
    display: block;
    padding: .1em 0;
    cursor: pointer;
}

.vgrid-settings-close {
    position: absolute;
    top: .4em;
    right: .4em;
    padding: 0 .35em;
    line-height: 1.25;
    color: inherit;
    background: var(--vgrid-popup-background, Canvas);
    border: var(--vgrid-border-width, 1px) solid var(--vgrid-border-color, #dee2e6);
    border-radius: var(--vgrid-border-radius, .25rem);
    cursor: pointer;
}

.vgrid-actions button,
.vgrid-pager button,
.vgrid-rows-per-page select,
.vgrid-header th button,
.vgrid-filter input,
.vgrid-filter select,
.vgrid-filter-clear,
.vgrid-filter-mode,
.vgrid-filter-mode-item,
.vgrid-panel-menu-item,
.vgrid-settings-close,
.vgrid-settings-actions button,
.vgrid-toggle-subgrid,
.vgrid-subgrid-close,
.vgrid-row-actions button,
.vgrid-row-reorder button,
.vgrid-selection-action,
.vgrid-selection-close {
    min-width: 24px;
    min-height: 24px;
    box-sizing: border-box;
}

.vgrid-settings-column {
    margin: .15em 0;
}

.vgrid-settings-column label {
    display: flex;
    align-items: center;
    min-width: 0;
    margin: 0;
}

.vgrid-settings-actions {
    flex: 0 0 auto;
    display: flex;
    gap: .35em;
    margin-top: .6em;
}

.vgrid-settings-actions button {
    padding: 0 .6em;
    line-height: 1.5;
    color: inherit;
    background: var(--vgrid-popup-background, Canvas);
    border: var(--vgrid-border-width, 1px) solid var(--vgrid-border-color, #dee2e6);
    border-radius: var(--vgrid-border-radius, .25rem);
    cursor: pointer;
}

.vgrid-settings-close:hover,
.vgrid-settings-actions button:hover {
    background: color-mix(in srgb, currentColor 9%, Canvas);
}

.vgrid-settings-close:focus-visible,
.vgrid-settings-actions button:focus-visible {
    outline: 2px solid AccentColor;
    outline-offset: 1px;
}

.vgrid-pagination-bar {
    display: flex;
    align-items: center;
    gap: .25em .5em;
}

.vgrid-count {
    flex: 1 1 0;
    color: color-mix(in srgb, currentColor 60%, transparent);
    white-space: nowrap;
}

.vgrid-rows-per-page {
    flex: 1 1 0;
    text-align: right;
    white-space: nowrap;
}

.vgrid-pager {
    display: inline-flex;
    align-items: center;
    gap: .15em;
    height: 1lh;
}

.vgrid-pagination-bar[data-vgrid-stacked] {
    flex-wrap: wrap;
}

.vgrid-pagination-bar[data-vgrid-stacked] .vgrid-count,
.vgrid-pagination-bar[data-vgrid-stacked] .vgrid-rows-per-page {
    flex: 0 1 auto;
}

.vgrid-pagination-bar[data-vgrid-stacked] .vgrid-rows-per-page {
    margin-left: auto;
}

.vgrid-pagination-bar[data-vgrid-stacked] .vgrid-pager {
    order: 1;
    flex: 1 1 100%;
    flex-wrap: wrap;
    justify-content: center;
    height: auto;
}

.vgrid-pager button {
    min-width: max(1.9em, 24px);
    padding: 0 .35em;
    line-height: 1.25;
    color: inherit;
    background: Canvas;
    border: var(--vgrid-border-width, 1px) solid var(--vgrid-border-color, #dee2e6);
    border-radius: var(--vgrid-border-radius, .25rem);
    cursor: pointer;
}

.vgrid-pager button:hover:not(:disabled) {
    background: color-mix(in srgb, currentColor 9%, Canvas);
}

.vgrid-pager button:disabled {
    color: color-mix(in srgb, currentColor 60%, transparent);
    cursor: default;
}

.vgrid-pager button[aria-current="page"] {
    font-weight: 700;
    background: color-mix(in srgb, currentColor 9%, Canvas);
}

.vgrid-pager button:focus-visible {
    outline: 2px solid AccentColor;
    outline-offset: 1px;
}

.vgrid-wrapper[data-vgrid-size="smallest"] {
    --vgrid-font-size: .75em;
}

.vgrid-wrapper[data-vgrid-size="small"] {
    --vgrid-font-size: .875em;
}

.vgrid-wrapper[data-vgrid-size="medium"] {
    --vgrid-font-size: 1em;
}

.vgrid-wrapper[data-vgrid-size="large"] {
    --vgrid-font-size: 1.125em;
}

.vgrid-wrapper[data-vgrid-size="larger"] {
    --vgrid-font-size: 1.25em;
}

.vgrid-wrapper[data-vgrid-size="largest"] {
    --vgrid-font-size: 1.5em;
}

.vgrid {
    width: 100%;
    max-width: 100%;
    border: 0;
    border-collapse: collapse;
}

.vgrid-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.vgrid-clip {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

col.vgrid-toggle-column,
col.vgrid-select-column,
col.vgrid-row-number-column {
    width: 1px;
}

.vgrid-header th button {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    text-align: inherit;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
}

.vgrid-filter input,
.vgrid-filter select {
    width: 100%;
}

.vgrid-filter-wrap {
    position: relative;
    display: block;
}

.vgrid-filter-clear {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 24px;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    line-height: 1;
    color: inherit;
    opacity: .6;
    cursor: pointer;
}

.vgrid-filter-clear:hover {
    opacity: 1;
}

.vgrid-filter-wrap > select + .vgrid-filter-clear {
    right: 1.2em;
}

.vgrid-filter-moded {
    position: relative;
    display: flex;
    gap: .2em;
}

.vgrid-filter-mode {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 24px;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    line-height: 1;
    color: inherit;
    cursor: pointer;
    overflow: hidden;
}

.vgrid-filter-moded > input,
.vgrid-filter-moded > .vgrid-filter-wrap {
    flex: 1 1 0;
    min-width: 0;
}

.vgrid-filter-moded input[data-slot="0"],
.vgrid-filter-fixed {
    padding-left: 24px;
}

.vgrid-filter-fixed {
    cursor: pointer;
}

.vgrid-filter-mode-symbol {
    display: inline-block;
    min-width: 1.5em;
}

.vgrid-loading {
    position: absolute;
    left: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 .5em;
    box-sizing: border-box;
    pointer-events: none;
}

.vgrid-loading[hidden] {
    display: none;
}

.vgrid > tbody > tr[data-vgrid-dimmed] {
    filter: blur(1px);
    opacity: .55;
}

.vgrid-print-frame {
    position: fixed;
    right: 0;
    bottom: 0;
    width: 0;
    height: 0;
    border: 0;
    visibility: hidden;
}

.vgrid th,
.vgrid td {
    border-style: solid;
    border-color: var(--vgrid-border-color, #dee2e6);
    border-width: var(--vgrid-border-h, var(--vgrid-border-width, 1px)) var(--vgrid-border-v, var(--vgrid-border-width, 1px));
}

.vgrid-filter-mode:focus-visible {
    outline: 2px solid AccentColor;
    outline-offset: -2px;
}

.vgrid-wrapper[data-vgrid-reorder] .vgrid-header th {
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}

.vgrid-column-ghost {
    position: absolute;
    z-index: 5;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    overflow: hidden;
    white-space: nowrap;
    pointer-events: none;
    background-color: Canvas;
    color: inherit;
    font-weight: 700;
    border: var(--vgrid-border-width, 1px) solid var(--vgrid-border-color, #dee2e6);
    border-radius: var(--vgrid-border-radius, .25rem);
    box-shadow: var(--vgrid-drag-shadow, 0 .2em .45em rgba(0, 0, 0, .12), 0 .8em 2em rgba(0, 0, 0, .22));
    animation: vgrid-column-lift calc(var(--vgrid-easing, 160ms) * 1.5) cubic-bezier(.2, .9, .3, 1.25) both;
}

@keyframes vgrid-column-lift {
    from {
        opacity: .6;
        transform: none;
        box-shadow: none;
    }
    to {
        opacity: .96;
        transform: scale(1.06) rotate(-1deg);
    }
}

.vgrid-column-marker {
    position: absolute;
    z-index: 4;
    width: 3px;
    opacity: 0;
    pointer-events: none;
    background-color: AccentColor;
    border-radius: 3px;
    box-shadow: 0 0 .6em AccentColor;
    transition:
        left var(--vgrid-easing, 160ms) cubic-bezier(.4, 0, .2, 1),
        opacity var(--vgrid-easing, 160ms) ease;
}

.vgrid [data-vgrid-drag-source] {
    animation: vgrid-column-fade var(--vgrid-easing, 160ms) ease both;
}

@keyframes vgrid-column-fade {
    to { opacity: .35; }
}

.vgrid [data-vgrid-dropped] {
    animation: vgrid-column-drop calc(var(--vgrid-easing, 160ms) * 4) ease-out;
}

@keyframes vgrid-column-drop {
    from { background-color: var(--vgrid-drop-color, color-mix(in srgb, AccentColor 22%, transparent)); }
}

@media (prefers-reduced-motion: reduce) {
    .vgrid-column-ghost,
    .vgrid [data-vgrid-drag-source],
    .vgrid [data-vgrid-dropped] {
        animation-duration: 1ms;
    }
    .vgrid-column-marker {
        transition-duration: 1ms;
    }
}

.vgrid-filter td > * {
    transition:
        width var(--vgrid-easing, 160ms) cubic-bezier(.4, 0, .2, 1),
        margin var(--vgrid-easing, 160ms) cubic-bezier(.4, 0, .2, 1),
        box-shadow var(--vgrid-easing, 160ms) ease;
}

.vgrid-filter td > [data-vgrid-magnified] {
    border-radius: var(--vgrid-border-radius, .25rem);
    background-color: Canvas;
    box-shadow: var(--vgrid-magnify-shadow, 0 .1em .25em rgba(0, 0, 0, .12), 0 .5em 1.4em rgba(0, 0, 0, .18));
}

@media (prefers-reduced-motion: reduce) {
    .vgrid-filter td > * {
        transition-duration: 1ms;
    }
}

.vgrid-filter input,
.vgrid-filter select,
.vgrid-rows-per-page select {
    border: var(--vgrid-border-width, 1px) solid var(--vgrid-border-color, #dee2e6);
    border-radius: var(--vgrid-border-radius, .25rem);
}

.vgrid-filter select,
.vgrid-rows-per-page select {
    background-color: Field;
    color: FieldText;
}

.vgrid tr > :first-child {
    border-left-width: 0;
}

.vgrid tr > :last-child {
    border-right-width: 0;
}

.vgrid > thead > tr:first-child > * {
    border-top-width: 0;
}

.vgrid > tbody:last-child > tr:last-child > *,
.vgrid > tfoot > tr:last-child > * {
    border-bottom-width: 0;
}

.vgrid-wrapper[data-vgrid-borders="horizontal"],
.vgrid-wrapper[data-vgrid-borders="rows"],
.vgrid-wrapper[data-vgrid-borders="inner"] {
    --vgrid-border-v: 0;
}

.vgrid-wrapper[data-vgrid-borders="rows"],
.vgrid-wrapper[data-vgrid-borders="inner"] {
    border-width: 0;
}

.vgrid-wrapper[data-vgrid-borders="rows"] > .vgrid > thead > tr:first-child > * {
    border-top-width: var(--vgrid-border-h, var(--vgrid-border-width, 1px));
}

.vgrid-wrapper[data-vgrid-borders="rows"] > .vgrid > tbody:last-child > tr:last-child > *,
.vgrid-wrapper[data-vgrid-borders="rows"] > .vgrid > tfoot > tr:last-child > * {
    border-bottom-width: var(--vgrid-border-h, var(--vgrid-border-width, 1px));
}

.vgrid-wrapper[data-vgrid-borders="none"] {
    --vgrid-border-h: 0;
    --vgrid-border-v: 0;
    border-width: 0;
}

.vgrid-wrapper[data-vgrid-striped] > .vgrid > tbody > tr[data-vgrid-stripe] > td {
    background-color: var(--vgrid-stripe-color, rgba(128, 128, 128, .07));
}

.vgrid-wrapper[data-vgrid-hover] > .vgrid > tbody > tr.vgrid-row > td {
    transition: background-color var(--vgrid-easing, 160ms) ease;
}

.vgrid-wrapper[data-vgrid-hover] > .vgrid > tbody > tr.vgrid-row:hover > td {
    background-color: var(--vgrid-hover-color, rgba(128, 128, 128, .18));
}
