/* ProLutas authentication experience — clean enterprise surfaces over the brand imagery. */
:root {
    --auth-red: #c8102e;
    --auth-red-dark: #9f0d25;
    --auth-ink: #172027;
    --auth-muted: #65717b;
    --auth-border: #d8e0e5;
}

.tenant-login-page {
    min-height: 100vh !important;
    min-height: 100dvh !important;
    background: #0b1013 !important;
}

.tenant-login-page::before {
    opacity: .62 !important;
    filter: saturate(.82) contrast(1.05) !important;
    background-position: center !important;
}

.tenant-login-page::after {
    background:
        linear-gradient(90deg, rgba(6, 10, 12, .82), rgba(6, 10, 12, .40) 52%, rgba(6, 10, 12, .66)),
        radial-gradient(circle at 72% 22%, rgba(200, 16, 46, .18), transparent 34%) !important;
}

.global-login.tenant-login-page::after {
    background:
        linear-gradient(rgba(6, 10, 12, .46), rgba(6, 10, 12, .62)),
        radial-gradient(circle at 50% 38%, rgba(200, 16, 46, .14), transparent 32%) !important;
}

.tenant-login-card {
    border: 1px solid rgba(216, 224, 229, .95) !important;
    border-top: 3px solid var(--auth-red) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 28px 70px rgba(0, 0, 0, .30) !important;
    backdrop-filter: blur(14px) !important;
}

.global-login .tenant-login-card {
    box-shadow: 0 30px 80px rgba(0, 0, 0, .34) !important;
}

.tenant-login-page .tenant-login-submit,
.auth-recovery-page .btn-primary-red {
    background: linear-gradient(135deg, var(--auth-red), var(--auth-red-dark)) !important;
    box-shadow: 0 10px 22px rgba(200, 16, 46, .22) !important;
}

.tenant-login-links a,
.tenant-login-register summary {
    color: var(--auth-red) !important;
}

.tenant-login-page .btn-outline-light {
    color: var(--auth-red) !important;
    border-color: rgba(200, 16, 46, .38) !important;
}

.tenant-login-page .btn-outline-light:hover {
    color: #fff !important;
    background: var(--auth-red) !important;
    border-color: var(--auth-red) !important;
}

.auth-recovery-page {
    isolation: isolate;
    overflow: hidden;
    padding: 88px 0 44px !important;
    background:
        linear-gradient(90deg, rgba(5, 9, 11, .88), rgba(5, 9, 11, .50) 52%, rgba(5, 9, 11, .75)),
        url('/assets/img/hero.png') center / cover no-repeat !important;
}

.auth-recovery-page::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        radial-gradient(circle at 50% 36%, rgba(200, 16, 46, .16), transparent 27%),
        linear-gradient(180deg, rgba(0, 0, 0, .04), rgba(0, 0, 0, .32));
    pointer-events: none;
}

.auth-recovery-page .container {
    position: relative;
    z-index: 2;
}

.auth-recovery-page .hero-particles {
    opacity: .28;
}

.auth-recovery-brand img {
    height: 48px !important;
    filter: drop-shadow(0 7px 16px rgba(0, 0, 0, .28));
}

.auth-recovery-brand > a span {
    color: #fff !important;
    text-shadow: 0 3px 14px rgba(0, 0, 0, .35);
}

.auth-recovery-brand > p {
    color: rgba(255, 255, 255, .78) !important;
    margin-bottom: 0;
}

.auth-recovery-card {
    padding: 30px !important;
    border: 1px solid rgba(216, 224, 229, .95) !important;
    border-top: 3px solid var(--auth-red) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .98) !important;
    color: var(--auth-ink) !important;
    box-shadow: 0 28px 70px rgba(0, 0, 0, .34) !important;
    backdrop-filter: blur(14px) !important;
}

.auth-recovery-card p,
.auth-recovery-card p[style] {
    color: var(--auth-muted) !important;
}

.auth-recovery-card .form-label,
.auth-recovery-card .form-label[style] {
    color: var(--auth-ink) !important;
    font-weight: 700 !important;
}

.auth-recovery-card .form-control,
.auth-recovery-card .form-control-dark {
    min-height: 52px;
    border: 1px solid var(--auth-border) !important;
    border-radius: 10px !important;
    background: #f8fafb !important;
    color: var(--auth-ink) !important;
    color-scheme: light;
}

.auth-recovery-card .form-control::placeholder {
    color: #929ca4 !important;
}

.auth-recovery-card .form-control:focus {
    border-color: var(--auth-red) !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(200, 16, 46, .10) !important;
}

.auth-recovery-card .btn-primary-red {
    min-height: 52px;
    border-radius: 10px !important;
    font-weight: 700;
}

.auth-recovery-card a {
    color: var(--auth-red) !important;
}

@media (max-width: 575.98px) {
    .tenant-login-page,
    .auth-recovery-page {
        min-height: 100svh !important;
        padding: 78px 0 28px !important;
    }

    .tenant-login-page::before {
        background-position: 58% center !important;
    }

    .auth-recovery-page {
        background-position: 58% center !important;
    }

    .auth-recovery-card {
        padding: 24px 20px !important;
        border-radius: 15px !important;
    }
}
