.auth-screen {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: flex;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    box-sizing: border-box;
    padding: 1.5rem 1rem;
    background: #f3f4f6;
}

.auth-screen,
.auth-screen *,
.auth-screen *::before,
.auth-screen *::after {
    box-sizing: border-box;
}

.auth-screen__shell {
    width: 28rem;
    max-width: 100%;
    margin: auto;
    flex: 0 0 auto;
}

.auth-card {
    width: 28rem;
    max-width: 100%;
    margin-inline: auto;
}

@media (max-width: 639px) {
    .auth-screen {
        padding: 1rem;
    }

    .auth-screen__shell,
    .auth-card {
        width: 100%;
        max-width: 28rem;
    }
}

@media (max-height: 680px) {
    .auth-screen {
        align-items: flex-start;
    }

    .auth-screen__shell {
        margin-top: auto;
        margin-bottom: auto;
    }
}
