/* Вынесено из site.css (Important C, фаза B / PLAN_css_refactor_v2.md): Login/Register/Pending/AccessDenied и оверлей guestglass. */
/* --- VibeDesk: auth (Login/Register/Pending/AccessDenied) --- */
.zen-auth-shell {
    max-width: 26rem;
}

.zen-auth-card,
.zen-auth-card.tw-surface-card {
    overflow: hidden;
    background: var(--vd-panel) !important;
    border: 1px solid var(--vd-border) !important;
    color: var(--vd-text) !important;
    box-shadow: var(--vd-shadow-md) !important;
}

.zen-auth-card .card-header,
.zen-auth-card .card-body,
.zen-auth-card .card-footer {
    background: transparent !important;
    color: var(--vd-text);
}

.zen-auth-card-header {
    background: linear-gradient(118deg, var(--vd-chrome-bg) 0%, var(--vd-chrome-bg-soft) 55%, var(--vd-accent) 100%) !important;
    border-bottom: 1px solid var(--vd-border) !important;
    color: #fff !important;
}

.zen-auth-card-header--register {
    background: linear-gradient(118deg, var(--vd-chrome-bg) 0%, #0f766e 55%, #14b8a6 100%) !important;
    border-bottom: 1px solid var(--vd-border) !important;
    color: #fff !important;
}

.zen-auth-card-header--pending {
    background: linear-gradient(118deg, var(--vd-chrome-bg) 0%, #3d2357 55%, #b45309 100%) !important;
    border-bottom: 1px solid var(--vd-border) !important;
    color: #fff !important;
}

.zen-auth-card-header h1,
.zen-auth-card-header h2,
.zen-auth-card-header h3,
.zen-auth-card-header h4,
.zen-auth-card-header h5,
.zen-auth-card-header p,
.zen-auth-card-header span,
.zen-auth-card-header .text-muted { color: #fff !important; opacity: 0.92; }

.zen-auth-role-toggle .btn {
    font-weight: 600;
    font-size: 0.8125rem;
    background: transparent;
    color: var(--vd-text-muted);
    border: 1px solid var(--vd-border);
}
.zen-auth-role-toggle .btn-check:checked + .btn,
.zen-auth-role-toggle .btn.active {
    background: var(--vd-accent);
    border-color: var(--vd-accent-strong);
    color: #fff !important;
    box-shadow: 0 1px 6px rgba(15, 23, 42, 0.18);
}

.zen-auth-input-addon {
    background: var(--vd-panel-soft);
    border-color: var(--vd-border);
    color: var(--vd-text-muted);
}

.zen-auth-input {
    background: var(--vd-panel);
    border-color: var(--vd-border);
    color: var(--vd-text);
}
.zen-auth-input::placeholder { color: var(--vd-text-faint); }
.zen-auth-input:focus {
    background: var(--vd-panel);
    border-color: var(--vd-accent);
    box-shadow: 0 0 0 0.2rem var(--vd-accent-soft);
    color: var(--vd-text);
}

.zen-auth-card label,
.zen-auth-card .form-label,
.zen-auth-card .form-check-label { color: var(--vd-text); }

.zen-auth-card .text-muted,
.zen-auth-card .text-secondary { color: var(--vd-text-muted) !important; }

.zen-auth-card .form-label.text-uppercase { color: var(--vd-text-muted) !important; letter-spacing: 0.06em; font-weight: 700; }
.zen-auth-card .border-secondary-subtle,
.zen-auth-card .border-top { border-color: var(--vd-border-soft) !important; }

.zen-auth-card a { color: var(--vd-accent); }
.zen-auth-card a:hover { color: var(--vd-accent-strong); }

.zen-auth-submit {
    background: var(--vd-accent) !important;
    border: 1px solid var(--vd-accent-strong) !important;
    color: #fff !important;
    font-weight: 600;
}
.zen-auth-submit:hover {
    background: var(--vd-accent-strong) !important;
    color: #fff !important;
}

/* Login: единое стекло как vd-glass-card--guest-cta + акцент #1E50DA */
body.zen-body.zen-guest .zen-auth-card--guestglass,
body.zen-body.zen-guest .zen-auth-card--guestglass.tw-surface-card {
    background: linear-gradient(
            152deg,
            var(--vd-glass-guest-stop-1) 0%,
            var(--vd-glass-guest-stop-2) 45%,
            var(--vd-glass-guest-stop-3) 100%
        )
        !important;
    border: 1px solid var(--vd-glass-guest-border) !important;
    backdrop-filter: blur(22px) saturate(1.06);
    -webkit-backdrop-filter: blur(22px) saturate(1.06);
    box-shadow: 0 22px 56px rgba(15, 23, 42, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.52) !important;
    color: #1e293b !important;
}
body.zen-body.zen-guest .zen-auth-card--guestglass .card-body {
    background: transparent !important;
    color: inherit !important;
}
body.zen-body.zen-guest .zen-auth-card--guestglass .zen-auth-card-hero.border-bottom {
    border-color: rgba(15, 23, 42, 0.1) !important;
}
body.zen-body.zen-guest .zen-auth-login-page-row {
    margin-top: clamp(3rem, 12vh, 6.5rem) !important;
}
body.zen-body.zen-guest .zen-auth-card--guestglass .zen-auth-login-brand-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

body.zen-body.zen-guest .zen-auth-card--guestglass .zen-auth-login-title-prefix {
    display: block;
    width: 100%;
    margin: 0;
    color: #ffffff !important;
    -webkit-text-fill-color: #fff;
    font-family: inherit;
    font-weight: inherit;
    font-size: inherit;
    font-style: inherit;
    letter-spacing: inherit;
    text-shadow: 0 1px 2px rgba(15, 23, 42, 0.35), 0 2px 8px rgba(15, 23, 42, 0.18);
}

body.zen-body.zen-guest .zen-auth-card--guestglass .zen-auth-login-brand-block .vd-guest-cta-brand-inner {
    width: 100%;
    justify-content: center;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body.zen-body.zen-guest .zen-auth-card--guestglass .vd-guest-cta-brand-inner .vd-guest-cta-logo {
    width: 52px;
    height: 52px;
}

@media (min-width: 768px) {
    body.zen-body.zen-guest .zen-auth-card--guestglass .vd-guest-cta-brand-inner .vd-guest-cta-logo {
        width: 68px;
        height: 68px;
    }
}

body.zen-body.zen-guest .zen-auth-card--guestglass .vd-guest-cta-title .vd-guest-brand-task,
body.zen-body.zen-guest .zen-auth-card--guestglass .vd-guest-cta-title .vd-guest-brand-be {
    color: #ffffff !important;
    -webkit-text-fill-color: #fff;
    text-shadow: 0 1px 2px rgba(15, 23, 42, 0.35), 0 2px 8px rgba(15, 23, 42, 0.18);
}
body.zen-body.zen-guest .zen-auth-card--guestglass .vd-guest-cta-title .vd-guest-brand-task,
body.zen-body.zen-guest .zen-auth-card--guestglass .vd-guest-cta-title .vd-guest-brand-v-cap,
body.zen-body.zen-guest .zen-auth-card--guestglass .vd-guest-cta-title .vd-guest-brand-i-plain,
body.zen-body.zen-guest .zen-auth-card--guestglass .vd-guest-cta-title .vd-guest-brand-be {
    font-family: inherit;
    font-weight: inherit;
    font-size: inherit;
    font-style: inherit;
    letter-spacing: inherit;
}
body.zen-body.zen-guest .zen-auth-card--guestglass .vd-guest-cta-title .vd-guest-brand-v-cap,
body.zen-body.zen-guest .zen-auth-card--guestglass .vd-guest-cta-title .vd-guest-brand-i-plain {
    background: linear-gradient(90deg, #4a3aff 0%, #6d46f0 52%, #8b23f2 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 1px 2px rgba(15, 23, 42, 0.35)) drop-shadow(0 2px 8px rgba(15, 23, 42, 0.18));
    -webkit-font-smoothing: antialiased;
}
body.zen-body.zen-guest .zen-auth-card--guestglass .zen-auth-role-toggle .btn-check:checked + .btn,
body.zen-body.zen-guest .zen-auth-card--guestglass .zen-auth-role-toggle .btn.active {
    background: #1e50da !important;
    border-color: #1a46bf !important;
    color: #fff !important;
    box-shadow: 0 2px 10px rgba(30, 80, 218, 0.35);
}
body.zen-body.zen-guest .zen-auth-card--guestglass .zen-auth-submit {
    background: #1e50da !important;
    border: 1px solid #1a46bf !important;
    color: #fff !important;
    box-shadow: 0 6px 18px rgba(30, 80, 218, 0.28);
}
body.zen-body.zen-guest .zen-auth-card--guestglass .zen-auth-submit:hover,
body.zen-body.zen-guest .zen-auth-card--guestglass .zen-auth-submit:focus {
    background: #1a46bf !important;
    border-color: #163d9e !important;
    color: #fff !important;
    filter: brightness(1.03);
}
body.zen-body.zen-guest .zen-auth-card--guestglass label,
body.zen-body.zen-guest .zen-auth-card--guestglass .form-label,
body.zen-body.zen-guest .zen-auth-card--guestglass .form-check-label {
    color: #1e293b !important;
}
body.zen-body.zen-guest .zen-auth-card--guestglass .form-label.text-uppercase.text-secondary {
    color: #475569 !important;
}
body.zen-body.zen-guest .zen-auth-card--guestglass .zen-auth-input,
body.zen-body.zen-guest .zen-auth-card--guestglass .zen-auth-input:focus {
    background: rgba(255, 255, 255, 0.48) !important;
    border-color: rgba(15, 23, 42, 0.14) !important;
    color: #0f172a !important;
}
body.zen-body.zen-guest .zen-auth-card--guestglass .zen-auth-input-addon {
    background: rgba(248, 250, 252, 0.58) !important;
    border-color: rgba(15, 23, 42, 0.12) !important;
    color: #475569 !important;
}

.zen-auth-logo {
    background: linear-gradient(135deg, var(--vd-accent), var(--vd-accent-strong));
    box-shadow: var(--vd-accent-glow);
    color: #fff;
}

.zen-auth-pending-icon {
    width: 3.75rem;
    height: 3.75rem;
    background: linear-gradient(135deg, #d97706, #ea580c);
    box-shadow: 0 2px 8px rgba(217, 119, 6, 0.45);
    color: #fff;
}

/* Login: бренд-Lottie под заголовком (раньше inline style, B2) */
.zen-login-brand-lottie {
    width: 104px;
    height: 104px;
}
