:root {
    --app-vh: 1vh;
    --app-vv-offset-top: 0px;
    --app-vv-offset-left: 0px;
    --app-vv-height: 100dvh;
}

.app-min-h-screen {
    min-height: 100vh;
    min-height: 100dvh;
    min-height: calc(var(--app-vh, 1vh) * 100);
}

.app-h-screen {
    height: 100vh;
    height: 100dvh;
    height: calc(var(--app-vh, 1vh) * 100);
}

.app-fixed-viewport {
    position: fixed;
    inset: 0;
    width: 100%;
    height: calc(var(--app-vh, 1vh) * 100);
}

.app-overlay-root {
    position: fixed;
    top: var(--app-vv-offset-top, 0px);
    left: var(--app-vv-offset-left, 0px);
    z-index: 9000;
    pointer-events: none;
    width: 100%;
    height: var(--app-vv-height, calc(var(--app-vh, 1vh) * 100));
}

.app-overlay-root > .image-popup-overlay,
.app-overlay-root > .custom-modal-overlay {
    pointer-events: auto;
}
