

.card {
    width: min(1060px, 100%);
    min-height: 480px;
    max-height: 100dvh;
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
    position: relative;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

@media(max-width:980px) {
    .card {
        grid-template-columns: 1fr
    }
}

.left {
    padding: 48px 44px;
    display: flex;
    align-items: center;
    justify-content: center
}

.form-inner {
    width: 100%;
    max-width: 420px;
    text-align: center
}

.logo-left {
    height: 80px;
    margin: 0 auto 12px;
    display: block
}

.title {
    margin: 0 0 2px;
    color: #1d1930;
    font-family: "Plus Jakarta Sans", Manrope, ui-sans-serif, system-ui;
    font-weight: 800;
    font-size: 32px;
}

.subtitle {
    color: var(--muted);
    margin: 0 0 14px;
    font-weight: 500
}

.input-wrap {
    position: relative
}

.control {
    width: 100%;
    padding: 14px;
    border-radius: 14px;
    margin: 10px 0;
    border: 1px solid var(--field-b);
    background: var(--field);
    font-size: 15px;
    font-family: Manrope, ui-sans-serif, system-ui;
    transition: box-shadow .15s, border-color .15s;
}

    .control:focus {
        border-color: #9d84d1;
        background: #fff;
        box-shadow: 0 0 0 4px rgba(157, 132, 209, .25)
    }

.eye {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: 0;
    cursor: pointer;
    padding: 4px;
    color: #374151;
}

    .eye svg {
        width: 22px;
        height: 22px;
        display: block
    }

.row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 6px
}

.remember {
    font-size: 13px;
    color: var(--muted)
}

.forgot a {
    font-size: 13px;
    color: var(--purple);
    text-decoration: underline;
    font-weight: 600
}

.btn-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--ctaW);
    height: 48px;
    padding: 12px 22px;
    border-radius: 12px;
    font-weight: 800;
    font-family: "Plus Jakarta Sans", Manrope;
    letter-spacing: .2px;
    border: 2px solid var(--purple);
    color: var(--purple);
    background: transparent;
    cursor: pointer;
    transition: all .2s;
    text-decoration: none;
}

    .btn-cta:hover {
        background: var(--purple);
        color: #fff;
        box-shadow: 0 10px 22px rgba(108, 61, 177, .25)
    }

.alt {
    margin-top: 10px;
    font-size: 14px
}

    .alt a {
        color: var(--purple);
        text-decoration: underline;
        font-weight: 700
    }

.right {
    position: relative;
    background: #fff;
    padding: 54px 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
}

    .right::before {
        content: "";
        position: absolute;
        inset: 4px;
        background: linear-gradient(135deg, var(--purple-700), var(--purple));
        border: 4px solid var(--red);
        border-radius: 24px;
        z-index: 0;
    }

.inner {
    position: relative;
    z-index: 1;
    max-width: 420px
}

.welcome {
    font-family: "Plus Jakarta Sans", Manrope;
    font-weight: 800;
    font-size: 28px;
    margin: 8px 0 4px
}

.desc {
    color: #e7e8ff;
    font-weight: 500
}

.error {
    color: #dc2626;
    font-size: 13px;
    margin: 6px 0
}

body.fade-in {
    animation: fadeIn .75s ease forwards
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

body.fade-out {
    animation: fadeOut .55s ease forwards
}

@keyframes fadeOut {
    from {
        opacity: 1
    }

    to {
        opacity: 0;
        transform: translateY(10px)
    }
}
