.kg-login {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
}

.kg-login * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
}

body {
    min-height: 100vh;
    background: #f4f8fc;
}

.kg-login {
    display: flex;
    min-height: 100vh;
    position: relative;
}

/* LEFT SIDE */

.kg-login .left {
    width: 50%;
    padding: 60px;
    background: linear-gradient(135deg,
            #f7fbff,
            #edf4ff);
    position: relative;
    overflow: hidden;
}

.kg-login .logo-company {
    font-size: 40px;
    font-weight: 700;
    color: #0e4d92;
    margin-bottom: 80px;
}

.kg-login .welcome {
    color: #2d8cff;
    font-size: 28px;
    margin-bottom: 10px;
}

.kg-login .title {
    font-size: 88px;
    font-weight: 800;
    line-height: 1;
    color: #351d75;
    -webkit-background-clip: text;
    -webkit-text-fill-color: #351d75;
}

.kg-login .subtitle {
    margin-top: 30px;
    font-size: 28px;
    font-weight: 600;
    color: #1d2b4f;
    line-height: 1.4;
}

.kg-login .description {
    margin-top: 25px;
    color: #667085;
    line-height: 1.8;
    width: 80%;
}

.kg-login .features {
    margin-top: 40px;
}

.kg-login .features li {
    list-style: none;
    margin-bottom: 18px;
    font-size: 18px;
    color: #344054;
}

.kg-login .features li::before {
    content: "✓";
    color: #2d8cff;
    font-weight: bold;
    margin-right: 12px;
}

.kg-login .illustration {
    position: absolute;
    bottom: 0;
    left: 40px;
    width: 500px;
    opacity: .9;
}

/* RIGHT SIDE */

.kg-login .right {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 50px;
}

.kg-login .login-card {
    width: clamp(500px, 75%, 650px);
    max-width: 100%;
    background: white;
    border-radius: 30px;
    padding: 50px;
    box-shadow:
        0 20px 60px rgba(0, 0, 0, .08);
}

.kg-login .erp-logo {
    text-align: center;
    margin-bottom: 20px;
}

.kg-login .erp-logo img {
    max-width: 220px;
    /* adjust size */
    height: auto;
    display: block;
    margin: 0 auto;
}


.kg-login .erp-sub {
    text-align: center;
    color: #999;
    margin-top: -5px;
    margin-bottom: 30px;
}

.kg-login .login-title {
    text-align: center;
    font-size: 42px;
    font-weight: 700;
    color: #16213e;
}

.kg-login .login-desc {
    text-align: center;
    color: #667085;
    margin-top: 10px;
    margin-bottom: 40px;
}

.kg-login .form-group {
    margin-bottom: 24px;
}

.kg-login .form-group label {
    display: block;
    margin-bottom: 10px;
    font-weight: 600;
    color: #1f2937;
}

.kg-login .form-group input {
    width: 100%;
    height: 58px;
    border: 1px solid #dce3ec;
    border-radius: 14px;
    padding: 0 18px;
    font-size: 16px;
}

.kg-login .form-footer {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
    font-size: 14px;
}

.kg-login .form-footer a {
    text-decoration: none;
    color: #2d8cff;
}

.kg-login .login-btn {
    width: 100%;
    height: 58px;
    border: none;
    border-radius: 14px;
    background: linear-gradient(90deg,
            #1877f2,
            #0e4d92);
    color: white;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: .3s;
}

.kg-login .login-btn:hover {
    transform: translateY(-2px);
}

.kg-login .help {
    text-align: center;
    margin-top: 30px;
    color: #667085;
}

.kg-login .help a {
    color: #1877f2;
    text-decoration: none;
}

.kg-login .footer {
    position: static;
    transform: none;

    text-align: center;
    color: #98a2b3;
    font-size: 14px;
}

.kg-login .left > :not(.circle-group) {
    position: relative;
    z-index: 5;
}

.kg-login .circle-group {
    position: absolute;

    /* Center slightly left/up of the hero content */
    top: 42%;
    left: 45%;

    /* Huge, but constrained */
    width: min(140%, 100vmax);
    aspect-ratio: 1;

    transform: translate(-50%, -50%);

    z-index: 0;
    pointer-events: none;
}

.kg-login .circle {
    position: absolute;
    border-radius: 50%;

    opacity: 0.2;
    mix-blend-mode: multiply;

    /* smoother edges */
    filter: blur(4px);
}

/* Blue - largest, back-left */
.kg-login .circle1 {
    width: 52%;
    aspect-ratio: 1;

    background: #8FA8FF;

    left: 5%;
    top: 20%;

    z-index: 1;

    animation: bob1 9s ease-in-out infinite alternate;
}

/* Cyan - center */
.kg-login .circle2 {
    width: 46%;
    aspect-ratio: 1;

    background: #BDEFFF;

    left: 25%;
    top: 20%;

    z-index: 3;

    animation: bob2 10s ease-in-out infinite alternate;
}

/* Purple - top-right */
.kg-login .circle3 {
    width: 32%;
    aspect-ratio: 1;

    background: #CFA2FF;

    left: 50%;
    top: 2%;

    z-index: 2;

    animation: bob3 8s ease-in-out infinite alternate;
}

/* Orange - bottom-right */
.kg-login .circle4 {
    width: 42%;
    aspect-ratio: 1;

    background: #F2B183;

    left: 42%;
    top: 48%;

    z-index: 4;

    animation: bob4 5s ease-in-out infinite alternate;
}

@keyframes bob1 {
    to {
        transform: translate(21%, -3%);
    }
}

@keyframes bob2 {
    to {
        transform: translate(-21%, 2%);
    }
}

@keyframes bob3 {
    to {
        transform: translate(11%, 1%);
    }
}

@keyframes bob4 {
    to {
        transform: translate(-11%, -2%);
    }
}

/* Responsive */

@media(max-width:1100px) {

    .kg-login {
        flex-direction: column;
    }

    .kg-login .left,
    .kg-login .right {
        width: 100%;
    }

    .kg-login .title {
        font-size: 60px;
    }

    .kg-login .login-card {
        width: 100%;
        max-width: 500px;
    }
}
