:root {
    --app-nav-height: calc(72px + env(safe-area-inset-bottom, 0px));
    --app-safe-top: env(safe-area-inset-top, 0px);
}

body {
    padding-top: var(--app-safe-top);
    padding-left: env(safe-area-inset-left, 0px);
    padding-right: env(safe-area-inset-right, 0px);
}

body::before {
    content: "";
    position: fixed;
    inset: 0 0 auto;
    height: var(--app-safe-top);
    background: #020d1e;
    z-index: 60;
    pointer-events: none;
}

@media (display-mode: standalone) and (max-width: 767px) {
    :root {
        --app-safe-top: max(env(safe-area-inset-top, 0px), 24px);
    }
}

.mobile-app-nav {
    padding-bottom: max(8px, env(safe-area-inset-bottom, 0px));
}

[data-app-page][hidden],
[data-visible-page][hidden] {
    display: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .admin-portal-button {
        transition: none;
    }
}
