:focus-visible {
    outline: unset;
}

.virt-spacer {
    position: absolute;
    margin: 0;
    transform: translate(0, 0);
    will-change: transform;
}

.virt-grid {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.virt-cell {
    position: absolute;
    overflow: hidden;
    box-sizing: border-box;
    border: none;
    border-right: 0.5px solid var(--grey-90);
    border-bottom: 0.5px solid var(--grey-90);
    width: 6rem;
    height: 2rem;
}

.virt-cell.active {
    background-color: var(--brand-primary-tint60);
    border: 2px solid var(--brand-primary);
}

.virt-header-row, .virt-header-col, .virt-header-corner {
    position: fixed;
    overflow: hidden;
    background-color: var(--platinum-tint60);
    z-index: 2;
}

.virt-header-corner {
    top: calc(5rem + 1px);
    left: 0;
    z-index: 3;
    border-right: 1px solid var(--grey-90);
    border-bottom: 1px solid var(--grey-90);
}

.virt-header-row {
    left: 0;
    width: 2.5rem;
    height: 100%;
}

.virt-header-col {
    top: calc(5rem + 1px);
    height: 2rem;
    width: calc(100% - 16rem);
}

.virt-header {
    position: absolute;
    overflow: hidden;
    box-sizing: border-box;
    border: none;
    z-index: 2;
    border-right: 1px solid var(--grey-90);
    border-bottom: 1px solid var(--grey-90);
    color: var(--mink-tint10);
    text-align: center;
    line-height: 2rem;
}

.virt-header.active {
    color: var(--brand-primary);
    background-color: var(--brand-primary-tint50);
}

.virt-header-col > .virt-header.active {
    border-top: 2px solid var(--brand-primary);
}

.virt-header-row > .virt-header.active {
    border-left: 2px solid var(--brand-primary);
}

.virt-header-col .virt-header {
    width: 6rem;
    height: 2rem;
}

.virt-header-row .virt-header, .virt-header-corner {
    width: 2.5rem;
    height: 2rem;
}