body.page-auth {
    min-height: 100vh;
    background:
        radial-gradient(1100px 680px at 12% 8%, rgba(122,92,255,.18), transparent 58%),
        radial-gradient(900px 520px at 88% 16%, rgba(255,77,166,.12), transparent 55%),
        linear-gradient(180deg, #0b1020 0%, #0d1224 45%, #090e1b 100%);
    color: var(--text-main);
}


.auth-shell {
    max-width: 720px;
    position: relative;
    z-index: 1;
}

body.page-auth #site-header {
    position: relative;
    z-index: 20;
}

body.page-auth .auth-shell {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
}

@media (max-width: 767.98px) {
    body.page-auth .auth-shell {
        padding-top: 28px !important;
        padding-bottom: 32px !important;
    }
}

.auth-card {
    background:
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03)),
        rgba(18,22,34,.82);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 24px 70px rgba(0,0,0,.30);
    backdrop-filter: blur(14px);
    border-radius: 24px;
}

.auth-card .card-body {
    padding: 32px;
}

.auth-card .text-secondary,
.auth-card .form-text,
.auth-card .text-muted {
    color: rgba(255,255,255,.68) !important;
}

.auth-card .card-title,
.auth-card h1,
.auth-card h2,
.auth-card h3,
.auth-card .form-label {
    color: #fff;
}

.form-select {
    background-color: rgba(255,255,255,.035) !important;
    color: var(--text-main) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 12px !important;
}

.form-select:focus {
    border-color: rgba(139,92,246,.54) !important;
    box-shadow: 0 0 0 .2rem rgba(139,92,246,.18) !important;
}

.auth-tabs {
    gap: 10px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.auth-tabs .nav-link {
    color: var(--text-soft);
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    padding: .72rem 1rem;
}

.auth-tabs .nav-link:hover {
    color: #fff;
    border-color: rgba(255,255,255,.08) !important;
    background: rgba(255,255,255,.04);
}

.auth-tabs .nav-link.active {
    color: #fff;
    background: var(--accent-gradient);
    border-color: transparent !important;
    box-shadow: 0 12px 28px rgba(139,92,246,.22);
}

.auth-agreement {
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 16px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
}

.auth-agreement .form-check + .form-check {
    margin-top: 12px;
}

.auth-agreement .form-check-label {
    color: rgba(255,255,255,.92);
    line-height: 1.55;
}

.auth-agreement .form-check-label a {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.auth-agreement .form-check-label a:hover {
    color: #fff;
    opacity: .9;
}

.auth-card .link-secondary,
.auth-card .link-secondary:hover {
    color: #dbe7ff !important;
}

@media (max-width: 767.98px) {
    .auth-card .card-body {
        padding: 22px;
    }
}

.auth-turnstile {
    min-height: 65px;
}

.auth-turnstile:empty {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    border: 1px dashed rgba(255,255,255,.12);
    background: rgba(255,255,255,.035);
}

.auth-turnstile:empty::before {
    content: "Проверка безопасности появится после отправки формы";
    color: rgba(255,255,255,.58);
    font-size: .875rem;
}


.auth-turnstile.is-loading::before {
    content: "Загружаем проверку безопасности…";
}

.auth-turnstile.is-rendered {
    border: 0;
    background: transparent;
    display: block;
}

.auth-turnstile.is-rendered::before {
    content: none;
}

/* Auth pages: compact mobile header */
@media (max-width: 767.98px) {
    body.page-auth .landing-topbar {
        position: static;
    }

    body.page-auth .landing-topbar__inner {
        min-height: 0;
        gap: 12px;
        padding: 18px 0 14px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: nowrap;
    }

    body.page-auth .landing-brand {
        flex: 0 1 auto;
        min-width: 0;
    }

    body.page-auth .landing-brand__logo {
        width: 138px;
        height: 34px;
        border-radius: 0;
    }

    body.page-auth .landing-brand__logo-img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    body.page-auth .landing-topbar__meta {
        width: auto;
        flex: 0 0 auto;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
        flex-wrap: nowrap;
    }

    body.page-auth .landing-topbar__meta > .landing-chip:nth-of-type(1),
    body.page-auth .landing-topbar__meta > .landing-chip:nth-of-type(2),
    body.page-auth .landing-topbar__meta > .landing-chip:nth-of-type(3),
    body.page-auth .landing-topbar__meta > .social-link,
    body.page-auth .landing-topbar__meta > a[href="/contacts"] {
        display: none !important;
    }

    body.page-auth .landing-language-switch,
    body.page-auth .landing-topbar__meta > a[href="/login.html"] {
        flex: 0 0 auto;
    }

    body.page-auth .landing-language-switch {
        transform: scale(.92);
        transform-origin: right center;
    }

    body.page-auth .landing-topbar__meta > a[href="/login.html"] {
        padding: 10px 18px;
        font-size: 1rem;
        white-space: nowrap;
    }

    body.page-auth .auth-shell {
        padding-top: 22px !important;
    }
}

@media (max-width: 380px) {
    body.page-auth .landing-brand__logo {
        width: 112px;
        height: 28px;
    }

    body.page-auth .landing-language-switch {
        transform: scale(.86);
    }

    body.page-auth .landing-topbar__meta > a[href="/login.html"] {
        padding: 9px 14px;
        font-size: .95rem;
    }
}
