/* ============================================================
   KUVIA 006J9
   Login parity with approved mockup
   No fake SSO / compliance claims
   ============================================================ */

body.kv-login-j9-active {
    margin: 0 !important;
    min-height: 100vh !important;
    overflow: auto !important;
    background: #fff !important;
}


body.kv-login-j9-active
> *:not(.kv-login-j9-root):not(script) {
    display: none !important;
}


.kv-login-j9-root {
    min-height: 100vh;

    display: grid;
    grid-template-columns:
        minmax(0, 1.22fr)
        minmax(440px, .78fr);

    background:
        linear-gradient(
            90deg,
            #ffffff 0%,
            #fefcff 55%,
            #fbf8fd 100%
        );

    color: #202632;
}


.kv-login-j9-brand {
    position: relative;
    overflow: hidden;

    padding:
        clamp(34px, 4vw, 68px)
        clamp(38px, 5vw, 86px);

    display: flex;
    flex-direction: column;

    min-height: 100vh;
}


.kv-login-j9-brand::before {
    content: "";

    position: absolute;

    width: 640px;
    height: 760px;

    right: -120px;
    top: 70px;

    opacity: .62;

    background:
        radial-gradient(
            circle at 20% 20%,
            rgba(174,113,220,.13) 0 9%,
            transparent 10%
        ),
        radial-gradient(
            circle at 72% 28%,
            rgba(169,105,217,.12) 0 13%,
            transparent 14%
        ),
        radial-gradient(
            circle at 44% 58%,
            rgba(143,79,196,.11) 0 17%,
            transparent 18%
        ),
        radial-gradient(
            circle at 82% 75%,
            rgba(183,123,224,.12) 0 13%,
            transparent 14%
        ),
        linear-gradient(
            135deg,
            rgba(153,92,205,.04),
            rgba(181,124,224,.13)
        );

    filter: blur(.2px);

    border-radius: 42% 58% 47% 53%;
}


.kv-login-j9-mosaic {
    position: absolute;
    inset: 10% -2% 4% 43%;

    opacity: .36;

    pointer-events: none;

    background:
        linear-gradient(
            rgba(255,255,255,.64),
            rgba(255,255,255,.64)
        ),
        repeating-linear-gradient(
            90deg,
            rgba(158,92,207,.11) 0 76px,
            transparent 76px 91px
        ),
        repeating-linear-gradient(
            0deg,
            rgba(158,92,207,.09) 0 88px,
            transparent 88px 105px
        );

    mask-image:
        linear-gradient(
            90deg,
            transparent,
            #000 18%,
            #000 74%,
            transparent
        );
}


.kv-login-j9-logo {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    gap: 19px;

    color: #080b10;

    font-size: 40px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .01em;
}


.kv-login-j9-logo-mark {
    width: 46px;
    height: 46px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 9px;

    background:
        linear-gradient(
            135deg,
            #f0e5f9,
            #e4caF5
        );

    color: #9960c9;

    font-size: 24px;
    font-weight: 800;
}


.kv-login-j9-copy {
    position: relative;
    z-index: 2;

    width: min(610px, 85%);

    margin-top:
        clamp(105px, 14vh, 175px);
}


.kv-login-j9-title {
    margin: 0;

    max-width: 600px;

    color: #080c13;

    font-size:
        clamp(43px, 4.3vw, 68px);

    line-height: 1.02;

    letter-spacing: -.045em;

    font-weight: 790;
}


.kv-login-j9-lead {
    margin:
        23px 0 0;

    max-width: 570px;

    color: #667080;

    font-size:
        clamp(16px, 1.35vw, 21px);

    line-height: 1.45;
}


.kv-login-j9-features {
    margin-top: 39px;

    display: grid;
    gap: 22px;
}


.kv-login-j9-feature {
    display: grid;
    grid-template-columns:
        48px minmax(0, 1fr);

    gap: 15px;

    align-items: start;
}


.kv-login-j9-feature-icon {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: #f3eafb;

    color: #9454ca;

    font-size: 19px;
    font-weight: 700;
}


.kv-login-j9-feature strong {
    display: block;

    color: #222834;

    font-size: 15px;
}


.kv-login-j9-feature span {
    display: block;

    margin-top: 3px;

    color: #697383;

    font-size: 13px;
    line-height: 1.45;
}


.kv-login-j9-auth {
    min-height: 100vh;

    display: flex;
    align-items: center;
    justify-content: center;

    padding:
        42px clamp(34px, 4vw, 70px);

    border-left:
        1px solid rgba(232,229,237,.82);
}


.kv-login-j9-card {
    width: min(100%, 475px);

    padding:
        38px 38px 28px;

    border:
        1px solid #e5e3e8;

    border-radius: 18px;

    background:
        rgba(255,255,255,.96);

    box-shadow:
        0 18px 55px
        rgba(43,31,54,.06);
}


.kv-login-j9-card-logo {
    width: 70px;
    height: 70px;

    margin: 0 auto 21px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            #d8b5ee,
            #ead8f5
        );

    color: #111218;

    font-size: 34px;
    font-weight: 800;
}


.kv-login-j9-card h1 {
    margin: 0;

    color: #11151d;

    text-align: center;

    font-size: 25px;
    line-height: 1.2;

    font-weight: 740;
}


.kv-login-j9-card-sub {
    margin:
        8px 0 26px;

    color: #7a8290;

    text-align: center;

    font-size: 13px;
}


.kv-login-j9-card form {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

    border: 0 !important;

    background: transparent !important;

    box-shadow: none !important;
}


.kv-login-j9-card form label {
    display: block;

    margin:
        14px 0 7px;

    color: #242a35;

    font-size: 12px;
    font-weight: 650;
}


.kv-login-j9-card
input[type="email"],

.kv-login-j9-card
input[type="text"],

.kv-login-j9-card
input[type="password"] {
    box-sizing: border-box;

    width: 100% !important;
    height: 46px !important;

    padding: 0 13px !important;

    border:
        1px solid #d8dbe2 !important;

    border-radius: 9px !important;

    background: #fff !important;

    color: #28303d !important;

    outline: 0;

    font-size: 13px !important;

    transition:
        border-color .14s ease,
        box-shadow .14s ease;
}


.kv-login-j9-card
input:focus {
    border-color:
        #a165d0 !important;

    box-shadow:
        0 0 0 3px
        rgba(154,91,208,.10) !important;
}


.kv-login-j9-card
button[type="submit"],

.kv-login-j9-card
input[type="submit"] {
    box-sizing: border-box;

    width: 100% !important;
    min-height: 47px !important;

    margin-top: 22px !important;

    border: 0 !important;
    border-radius: 9px !important;

    background:
        linear-gradient(
            90deg,
            #a65de1,
            #8744c3
        ) !important;

    color: #fff !important;

    cursor: pointer;

    font-size: 13px !important;
    font-weight: 650 !important;
}


.kv-login-j9-card
a {
    color: #8c4bc3;
}


.kv-login-j9-secure {
    margin-top: 24px;

    padding-top: 18px;

    border-top:
        1px solid #eff0f2;

    color: #818997;

    text-align: center;

    font-size: 10.5px;
}


@media (max-width: 1040px) {

    .kv-login-j9-root {
        grid-template-columns:
            1fr;
    }


    .kv-login-j9-brand {
        min-height: auto;

        padding-bottom: 60px;
    }


    .kv-login-j9-copy {
        margin-top: 70px;
    }


    .kv-login-j9-auth {
        min-height: auto;

        padding-top: 30px;
        padding-bottom: 70px;

        border-left: 0;
    }
}
