.auth-page {
    width: min(96%, 460px);
    padding: 6px 0 28px;
}

.auth-logo {
    width: 118px;
    height: 68px;
    margin: 0 auto -8px;
}

.auth-logo img {
    width: 100%;
    height: 68px;
    object-fit: contain;
}

.auth-card {
    padding: 18px 26px 24px;
}

.auth-card h1 {
    margin: 14px 0 5px;
    font-size: 28px;
}

.auth-card > p {
    margin-bottom: 12px;
}

.role-tabs {
    margin-top: 12px;
}

label {
    margin-top: 11px;
}

button {
    margin-top: 16px;
}

/* Поле и его переключатель остаются единым блоком при любой высоте окна. */
.auth-card .password-field {
    position: relative;
    display: block;
}

.auth-card .password-field input {
    width: 100%;
    padding-right: 50px;
}

.auth-card .password-field .password-toggle {
    position: absolute;
    top: 1px;
    right: 1px;
    width: 44px;
    height: calc(100% - 2px);
    min-height: 0;
    margin: 0;
    padding: 0;
    border-radius: 0 5px 5px 0;
}

.auth-card .password-toggle svg,
.registration-paper .password-toggle svg {
    display: block;
    margin: auto;
}

@media (max-width: 480px) {
    .auth-card {
        padding: 16px 18px 22px;
    }
}

@media (max-height: 600px) {
    .auth-page { padding-top: 4px; }
    .auth-logo { display: none; }
    .auth-card { padding: 10px 18px 18px; }
    .auth-card h1 { margin: 8px 0 3px; font-size: 22px; }
    .auth-card > p { display: none; }
    .auth-tabs a, .role-tabs a { padding: 7px 6px; }
    .role-tabs { margin: 7px 0 0; }
    .auth-card label { margin: 7px 0 4px; }
    .auth-card input { min-height: 38px; }
    .auth-card button { min-height: 40px; margin-top: 12px; }
    .auth-card .password-field .password-toggle { min-height: 0; margin: 0; }
}

/* Edge adds its own intermittent reveal control; the site uses one consistent control. */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear {
    display: none;
}
