/* Вход / регистрация — строго в пределах окна, без прокрутки */

html.page-auth,
html:has(body.page-auth) {
    height: 100%;
    max-height: 100dvh;
    margin: 0;
    overflow: hidden;
    overscroll-behavior: none;
}

html.page-auth body,
body.page-auth {
    height: 100%;
    max-height: 100dvh;
    margin: 0;
    overflow: hidden;
    overscroll-behavior: none;
}

body.page-auth {
    position: fixed;
    inset: 0;
    width: 100%;
}

body.page-auth .epoch-bg {
    animation: none !important;
    transform: none !important;
    overflow: hidden;
}

body.page-auth .epoch-vignette {
    pointer-events: none;
}

body.page-auth .epoch-layout.epoch-layout--auth {
    position: fixed;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    max-height: 100dvh;
    min-height: 0 !important;
    margin: 0;
    padding: clamp(0.35rem, 1vh, 0.75rem) clamp(0.65rem, 2.5vw, 1rem);
    box-sizing: border-box;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

body.page-auth .auth-wrap {
    width: 100%;
    max-width: min(400px, 100%);
    max-height: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    overflow: hidden;
    flex: 0 1 auto;
}

body.page-auth .auth-panel.login-panel,
body.page-auth .auth-panel.register-panel {
    width: 100%;
    max-height: 100%;
    padding: clamp(0.7rem, 1.5vh, 1.15rem) clamp(0.95rem, 3vw, 1.35rem) clamp(0.6rem, 1.2vh, 0.85rem);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    animation: none !important;
    transform: none !important;
}

body.page-auth .brand {
    margin-bottom: clamp(0.35rem, 0.9vh, 0.6rem);
    flex-shrink: 0;
}

body.page-auth .brand h1 {
    font-size: clamp(0.95rem, 2.2vh, 1.1rem);
    margin-bottom: 0.2rem;
}

body.page-auth .brand-logo {
    width: auto;
    max-width: min(200px, 78vw);
    max-height: clamp(44px, 11vh, 88px);
    margin-bottom: clamp(0.15rem, 0.4vh, 0.35rem);
}

body.page-auth .welcome-3d {
    margin-top: 0.25rem !important;
    padding: 0.3rem 0.75rem !important;
}

body.page-auth .welcome-3d__text {
    font-size: clamp(0.82rem, 2vh, 1rem) !important;
}

body.page-auth .login-form,
body.page-auth .register-form {
    gap: clamp(0.45rem, 1vh, 0.7rem) !important;
    flex-shrink: 1;
    min-height: 0;
}

body.page-auth .field label {
    margin-bottom: 0.3rem !important;
    font-size: 0.72rem !important;
}

body.page-auth .field input {
    padding: clamp(0.55rem, 1.1vh, 0.7rem) 0.85rem !important;
    font-size: 0.9rem !important;
}

body.page-auth .btn-enter {
    margin-top: 0.1rem !important;
    padding: clamp(0.58rem, 1.2vh, 0.72rem) 1rem !important;
    font-size: 0.9rem !important;
}

body.page-auth .login-footer {
    margin-top: clamp(0.35rem, 0.8vh, 0.5rem) !important;
    font-size: 0.7rem !important;
    line-height: 1.3;
    flex-shrink: 0;
}

body.page-auth .login-footer--extra {
    margin-top: 0.2rem !important;
    font-size: 0.68rem !important;
}

body.page-auth .auth-panel__bottom {
    margin-top: clamp(0.3rem, 0.7vh, 0.45rem) !important;
    padding-top: 0.1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    flex-shrink: 0;
}

body.page-auth .abkhazia-tagline__inner {
    padding: 0.32rem 0.6rem 0.38rem !important;
}

body.page-auth .abkhazia-tagline__text {
    font-size: clamp(0.68rem, 1.6vh, 0.82rem) !important;
    line-height: 1.25 !important;
}

body.page-auth .login-project-footer {
    margin-top: 0.2rem !important;
    font-size: 0.65rem !important;
}

/* На низком экране — чуть уменьшаем всю карточку, ничего не прячем */
@media (max-height: 860px) {
    body.page-auth .auth-wrap {
        zoom: 0.94;
    }
}

@media (max-height: 760px) {
    body.page-auth .auth-wrap {
        zoom: 0.88;
    }

    body.page-auth .brand-logo {
        max-height: 72px;
    }
}

@media (max-height: 660px) {
    body.page-auth .auth-wrap {
        zoom: 0.82;
    }
}

@supports not (zoom: 1) {
    @media (max-height: 760px) {
        body.page-auth .auth-wrap {
            transform: scale(0.88);
            transform-origin: center center;
        }
    }
}
