/**
 * Login left panel animated color layer.
 * The right image slider is intentionally untouched.
 */

.login-form-panel {
    --login-panel-bg:
        radial-gradient(circle at 28% 82%, rgba(14, 165, 233, .15), transparent 22rem),
        linear-gradient(180deg, #ffffff 0%, #f8fbff 48%, #edf9ff 100%);
    --login-canvas-opacity: .28;
    --login-canvas-blend: normal;
    --login-mesh-opacity: .88;
    --login-band-opacity: .56;
    --login-orb-a: rgba(79, 70, 229, .30);
    --login-orb-b: rgba(14, 165, 233, .36);
    --login-orb-c: rgba(34, 211, 238, .24);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--login-panel-bg) !important;
}

html[data-theme="light"] .login-form-panel {
    --login-panel-bg:
        radial-gradient(circle at 22% 78%, rgba(14, 165, 233, .18), transparent 23rem),
        radial-gradient(circle at 78% 16%, rgba(99, 102, 241, .10), transparent 20rem),
        linear-gradient(180deg, #ffffff 0%, #f8fbff 48%, #edf9ff 100%);
    --login-canvas-opacity: .26;
    --login-canvas-blend: normal;
    --login-mesh-opacity: .92;
    --login-band-opacity: .58;
}

html[data-theme="dark"] .login-form-panel {
    --login-panel-bg:
        radial-gradient(circle at 78% 88%, rgba(14, 165, 233, .16), transparent 18rem),
        radial-gradient(circle at 14% 18%, rgba(99, 102, 241, .13), transparent 20rem),
        linear-gradient(155deg, #030712 0%, #07111f 46%, #081624 100%);
    --login-canvas-opacity: .30;
    --login-canvas-blend: screen;
    --login-mesh-opacity: .54;
    --login-band-opacity: .42;
    --login-orb-a: rgba(79, 70, 229, .28);
    --login-orb-b: rgba(14, 165, 233, .30);
    --login-orb-c: rgba(34, 211, 238, .16);
}

html[data-theme="light"] .auth-page-host section.login-form-panel:first-of-type,
html[data-theme="dark"] .auth-page-host section.login-form-panel:first-of-type {
    background: var(--login-panel-bg) !important;
}

.login-form-panel::before,
.login-form-panel::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.login-form-panel::before {
    inset: 0;
    z-index: 0;
    opacity: .26;
    background:
        linear-gradient(90deg, rgba(59, 130, 246, .08) 1px, transparent 1px),
        linear-gradient(180deg, rgba(59, 130, 246, .06) 1px, transparent 1px);
    background-size: 56px 56px;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 78%, transparent 100%);
    mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 78%, transparent 100%);
}

.login-form-panel::after {
    left: 12%;
    right: 12%;
    bottom: 8.5%;
    z-index: 3;
    height: 1px;
    opacity: .72;
    background: linear-gradient(90deg, transparent, rgba(56, 189, 248, .55), rgba(99, 102, 241, .32), transparent);
    box-shadow: 0 0 22px rgba(14, 165, 233, .28);
    animation: login-premium-scan 5.5s ease-in-out infinite alternate;
}

html[data-theme="dark"] .login-form-panel::before {
    opacity: .14;
    background:
        linear-gradient(90deg, rgba(148, 163, 184, .08) 1px, transparent 1px),
        linear-gradient(180deg, rgba(148, 163, 184, .06) 1px, transparent 1px);
}

html[data-theme="dark"] .login-form-panel::after {
    opacity: .62;
}

.login-granim-host {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    background:
        radial-gradient(circle at 12% 92%, rgba(14, 165, 233, .16), transparent 16rem),
        radial-gradient(circle at 80% 82%, rgba(99, 102, 241, .12), transparent 18rem);
    transform: translateZ(0);
}

.login-granim-host::before {
    content: "";
    position: absolute;
    left: 4%;
    right: 4%;
    bottom: 4%;
    height: 36%;
    z-index: 0;
    opacity: var(--login-mesh-opacity);
    background:
        radial-gradient(circle at 25% 52%, var(--login-orb-a), transparent 33%),
        radial-gradient(circle at 76% 48%, var(--login-orb-b), transparent 36%),
        radial-gradient(circle at 54% 72%, var(--login-orb-c), transparent 32%),
        linear-gradient(135deg, rgba(30, 64, 175, .16), rgba(14, 165, 233, .22), rgba(125, 211, 252, .14));
    border-radius: 999px;
    filter: blur(24px) saturate(1.16);
    transform: translate3d(-2%, -3%, 0) scale(1.03) rotate(-2deg);
    animation: login-granim-orbit 10.5s ease-in-out infinite alternate;
}

.login-granim-host::after {
    content: "";
    position: absolute;
    left: 16%;
    right: 16%;
    bottom: 13%;
    height: 18%;
    z-index: 2;
    opacity: var(--login-band-opacity);
    background: linear-gradient(100deg, rgba(79, 70, 229, .18), rgba(14, 165, 233, .34), rgba(34, 211, 238, .20), rgba(79, 70, 229, .14));
    border-radius: 999px;
    filter: blur(18px) saturate(1.2);
    transform: translate3d(0, 0, 0) scaleX(.92);
    animation: login-granim-sweep 7.25s ease-in-out infinite alternate;
}

html[data-theme="dark"] .auth-page-host section.login-form-panel:first-of-type input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) {
    border-color: rgba(148, 163, 184, .24) !important;
    background:
        linear-gradient(180deg, rgba(15, 23, 42, .92), rgba(8, 15, 29, .86)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .055),
        0 14px 34px -26px rgba(14, 165, 233, .52) !important;
}

html[data-theme="dark"] .auth-page-host section.login-form-panel:first-of-type input:not([type="checkbox"]):not([type="radio"]):focus {
    border-color: rgba(56, 189, 248, .72) !important;
    box-shadow:
        0 0 0 .25rem rgba(14, 165, 233, .13),
        0 20px 42px -28px rgba(56, 189, 248, .62),
        inset 0 1px 0 rgba(255, 255, 255, .07) !important;
}

html[data-theme="dark"] .auth-page-host section.login-form-panel:first-of-type .remember-me__box {
    border-color: rgba(148, 163, 184, .26) !important;
    background: rgba(8, 15, 29, .86) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
}

.login-granim-canvas {
    position: absolute;
    inset: -2%;
    z-index: 1;
    display: block;
    width: 104%;
    height: 104%;
    opacity: var(--login-canvas-opacity);
    mix-blend-mode: var(--login-canvas-blend);
    filter: saturate(1.18) contrast(1.04) blur(.15px);
    pointer-events: none;
    user-select: none;
}

.login-form-panel__content {
    position: relative;
    z-index: 10;
}

@media (prefers-reduced-motion: reduce) {
    .login-granim-host::before,
    .login-granim-host::after {
        animation: none;
    }

    .login-granim-canvas {
        opacity: .16;
    }
}

@keyframes login-granim-orbit {
    0% {
        transform: translate3d(-5%, -4%, 0) scale(1.02) rotate(-3deg);
    }
    45% {
        transform: translate3d(4%, 2%, 0) scale(1.11) rotate(2deg);
    }
    100% {
        transform: translate3d(1%, -1%, 0) scale(1.06) rotate(-1deg);
    }
}

@keyframes login-granim-sweep {
    0% {
        transform: translate3d(-8%, 2%, 0) scaleX(.86);
    }
    50% {
        transform: translate3d(4%, -4%, 0) scaleX(1.08);
    }
    100% {
        transform: translate3d(9%, 1%, 0) scaleX(.96);
    }
}

@keyframes login-premium-scan {
    0% {
        transform: translate3d(-4%, 0, 0) scaleX(.86);
    }
    50% {
        transform: translate3d(2%, 0, 0) scaleX(1.05);
    }
    100% {
        transform: translate3d(5%, 0, 0) scaleX(.94);
    }
}
