/* ========================================= */
/* RESET */
/* ========================================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/* ========================================= */
/* BODY */
/* ========================================= */

html,
body{

    width:100%;
    min-height:100vh;

    overflow-x:hidden;

    font-family:'Segoe UI',sans-serif;

    background:#111827;
}

/* ========================================= */
/* MAIN CONTAINER */
/* ========================================= */

.main-container{

    width:100%;
    min-height:100vh;

    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:60px;

    padding:60px;

    background:
    linear-gradient(
    135deg,
    #1D4ED8 0%,
    #6D28D9 55%,
    #EC4899 100%);
}

/* ========================================= */
/* LEFT SECTION */
/* ========================================= */

.left-section{

    width:58%;

    color:white;
}

/* ========================================= */
/* LOGO AREA */
/* ========================================= */

.logo-area{

    display:flex;

    align-items:center;

    gap:18px;
}

.logo-box{

    width:78px;
    height:78px;

    border-radius:20px;

    background:rgba(255,255,255,0.12);

    display:flex;

    align-items:center;
    justify-content:center;

    font-size:40px;

    backdrop-filter:blur(12px);
}

.portal-title{

    font-size:52px;

    font-weight:800;

    line-height:58px;
}

.portal-subtitle{

    font-size:18px;

    color:rgba(255,255,255,0.82);

    margin-top:6px;
}

/* ========================================= */
/* BIG TITLE */
/* ========================================= */

.big-title{

    margin-top:70px;

    font-size:96px;

    font-weight:900;

    line-height:100px;

    letter-spacing:-2px;
}

/* ========================================= */
/* DESCRIPTION */
/* ========================================= */

.description{

    width:90%;

    margin-top:34px;

    font-size:24px;

    line-height:42px;

    color:rgba(255,255,255,0.88);
}

/* ========================================= */
/* FEATURE GRID */
/* ========================================= */

.feature-grid{

    margin-top:55px;

    width:90%;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:18px;
}

.feature-card{

    padding:22px;

    border-radius:18px;

    background:rgba(255,255,255,0.10);

    color:white;

    font-size:18px;

    font-weight:600;

    backdrop-filter:blur(12px);

    border:1px solid rgba(255,255,255,0.08);

    transition:0.3s;
}

.feature-card:hover{

    transform:translateY(-5px);

    background:rgba(255,255,255,0.16);
}

/* ========================================= */
/* AUTH WRAPPER */
/* ========================================= */

.auth-wrapper{

    width:42%;

    display:flex;

    justify-content:center;
}

/* ========================================= */
/* AUTH CARD */
/* ========================================= */

.auth-card{

    width:100%;
    max-width:460px;

    padding:48px 36px;

    border-radius:34px;

    background:rgba(255,255,255,0.14);

    border:1px solid rgba(255,255,255,0.10);

    backdrop-filter:blur(18px);

    box-shadow:
    0 30px 60px rgba(0,0,0,0.22);

    text-align:center;
}

/* ========================================= */
/* ICON */
/* ========================================= */

.auth-icon{

    width:110px;
    height:110px;

    margin:auto;

    border-radius:50%;

    background:rgba(255,255,255,0.10);

    display:flex;

    align-items:center;
    justify-content:center;

    font-size:52px;

    margin-bottom:28px;
}

/* ========================================= */
/* FORM TITLE */
/* ========================================= */

.form-title{

    font-size:42px;

    font-weight:800;

    color:white;

    margin-bottom:10px;
}

.form-subtitle{

    font-size:16px;

    line-height:30px;

    color:rgba(255,255,255,0.84);

    margin-bottom:34px;
}

/* ========================================= */
/* INPUTS */
/* ========================================= */

.input-group{

    margin-bottom:22px;

    text-align:left;
}

.input-group label{

    display:block;

    margin-bottom:10px;

    color:white;

    font-size:15px;

    font-weight:600;
}

.input-group input{

    width:100%;

    padding:16px;

    border:none;

    border-radius:16px;

    background:rgba(255,255,255,0.14);

    color:white;

    font-size:15px;

    outline:none;
}

.input-group input::placeholder{

    color:rgba(255,255,255,0.60);
}

/* ========================================= */
/* BUTTON */
/* ========================================= */

.submit-btn{

    width:100%;

    padding:18px;

    border:none;

    border-radius:16px;

    background:
    linear-gradient(
    135deg,
    #5B21B6,
    #7C3AED);

    color:white;

    font-size:18px;

    font-weight:700;

    cursor:pointer;

    margin-top:10px;
}

/* ========================================= */
/* FOOTER */
/* ========================================= */

.auth-footer{

    margin-top:26px;

    color:rgba(255,255,255,0.72);

    font-size:13px;
}

/* ========================================= */
/* MESSAGE */
/* ========================================= */

.message-box{

    padding:12px;

    border-radius:10px;

    color:white;

    margin-bottom:20px;

    font-size:14px;
}

/* ========================================= */
/* TABLET */
/* ========================================= */

@media(max-width:1100px){

    .main-container{

        flex-direction:column;

        align-items:flex-start;

        padding:40px;
    }

    .left-section,
    .auth-wrapper{

        width:100%;
    }

    .big-title{

        font-size:72px;

        line-height:78px;
    }

    .description{

        width:100%;
    }

    .feature-grid{

        width:100%;
    }

    .auth-wrapper{

        justify-content:flex-start;
    }
}

/* ========================================= */
/* MOBILE */
/* ========================================= */

@media(max-width:768px){

    .main-container{

        flex-direction:column;

        align-items:center;

        justify-content:flex-start;

        padding:24px 20px 40px 20px;

        gap:40px;
    }

    .left-section{

        width:100%;
    }

    .logo-box{

        width:56px;
        height:56px;

        font-size:28px;
    }

    .portal-title{

        font-size:28px;

        line-height:34px;
    }

    .portal-subtitle{

        font-size:14px;
    }

    .big-title{

        margin-top:36px;

        font-size:58px;

        line-height:62px;
    }

    .description{

        width:100%;

        margin-top:20px;

        font-size:17px;

        line-height:30px;
    }

    .feature-grid{

        width:100%;

        margin-top:30px;

        grid-template-columns:1fr;

        gap:14px;
    }

    .feature-card{

        padding:18px;

        font-size:15px;

        text-align:center;
    }

    .auth-wrapper{

        width:100%;

        justify-content:center;
    }

    .auth-card{

        width:100%;

        padding:34px 22px;

        border-radius:28px;
    }

    .auth-icon{

        width:90px;
        height:90px;

        font-size:42px;

        margin-bottom:20px;
    }

    .form-title{

        font-size:30px;
    }

    .form-subtitle{

        font-size:14px;

        line-height:24px;
    }

    .input-group input{

        padding:15px;

        font-size:14px;
    }

    .submit-btn{

        padding:16px;

        font-size:16px;
    }
}