/* ==========================================
   RESET
========================================== */

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

html{
    scroll-behavior:smooth;
}

body{

    min-height:100vh;

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

    padding:40px;

    background:linear-gradient(180deg,#f8fbff 0%,#eef5ff 100%);

    overflow-x:hidden;

}

/* ==========================================
   CONTAINER
========================================== */

.container{

    width:1100px;

    max-width:100%;

    min-height:650px;

    display:flex;

    overflow:hidden;

    border-radius:28px;

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

    backdrop-filter:blur(18px);

    box-shadow:
    0 25px 70px rgba(37,99,235,.12),
    0 10px 30px rgba(0,0,0,.05);

}

/* ==========================================
   LEFT PANEL
========================================== */

.left{

    width:45%;

    background:linear-gradient(135deg,#2563eb,#3b82f6);

    color:white;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    padding:60px;

    text-align:center;

    position:relative;

    overflow:hidden;

}

.left::before{

    content:"";

    position:absolute;

    width:350px;
    height:350px;

    border-radius:50%;

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

    top:-120px;
    left:-120px;

}

.left::after{

    content:"";

    position:absolute;

    width:250px;
    height:250px;

    border-radius:50%;

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

    bottom:-80px;
    right:-80px;

}

.logo{

    font-size:72px;

    margin-bottom:30px;

    z-index:2;

}

.left h1{

    font-size:38px;

    line-height:1.2;

    margin-bottom:20px;

    z-index:2;

}

.left p{

    line-height:1.9;

    opacity:.95;

    max-width:330px;

    z-index:2;

}

/* ==========================================
   RIGHT PANEL
========================================== */

.right{

    width:55%;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:60px;

}

form{

    width:100%;

    max-width:420px;

}

form h2{

    font-size:36px;

    color:#0f172a;

    margin-bottom:35px;

}

/* ==========================================
   INPUTS
========================================== */

.input-group{

    margin-bottom:22px;

}

.input-group label{

    display:block;

    margin-bottom:8px;

    font-weight:600;

    color:#334155;

}

.input-group input{

    width:100%;

    padding:16px 18px;

    border-radius:14px;

    border:1px solid #dbe3ef;

    background:#fff;

    font-size:16px;

    outline:none;

    transition:.35s;

}

.input-group input::placeholder{

    color:#94a3b8;

}

.input-group input:focus{

    border-color:#2563eb;

    box-shadow:0 0 0 4px rgba(37,99,235,.12);

    transform:translateY(-1px);

}

/* ==========================================
   BUTTON
========================================== */

button{

    width:100%;

    padding:16px;

    margin-top:10px;

    border:none;

    border-radius:14px;

    background:linear-gradient(135deg,#2563eb,#3b82f6);

    color:#fff;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    transition:.35s;

    box-shadow:0 12px 30px rgba(37,99,235,.22);

}

button:hover{

    transform:translateY(-3px);

    box-shadow:0 18px 40px rgba(37,99,235,.30);

}

button:active{

    transform:scale(.98);

}

/* ==========================================
   BOTTOM TEXT
========================================== */

.bottom{

    margin-top:28px;

    text-align:center;

    color:#64748b;

    font-size:15px;

}

.bottom a{

    color:#2563eb;

    font-weight:600;

    text-decoration:none;

    transition:.3s;

}

.bottom a:hover{

    color:#1d4ed8;

    text-decoration:underline;

}

/* ==========================================
   ALERTS
========================================== */

.error{

    margin-top:18px;

    text-align:center;

    color:#dc2626;

    font-weight:600;

    background:#fef2f2;

    border:1px solid #fecaca;

    padding:12px;

    border-radius:12px;

}

.success{

    margin-top:18px;

    text-align:center;

    color:#15803d;

    font-weight:600;

    background:#f0fdf4;

    border:1px solid #bbf7d0;

    padding:12px;

    border-radius:12px;

}

/* ==========================================
   SCROLL ANIMATION
========================================== */

.container{

    animation:fadeUp .7s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(30px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/* ==========================================
   RESPONSIVE
========================================== */

@media(max-width:992px){

.container{

    width:100%;

    min-height:auto;

    flex-direction:column;

}

.left{

    width:100%;

    padding:50px 35px;

}

.right{

    width:100%;

    padding:45px 30px;

}

.left h1{

    font-size:32px;

}

.logo{

    font-size:60px;

}

form h2{

    font-size:30px;

}

}

@media(max-width:600px){

body{

    padding:20px;

}

.container{

    border-radius:22px;

}

.left{

    padding:40px 25px;

}

.right{

    padding:35px 20px;

}

.left h1{

    font-size:28px;

}

.left p{

    font-size:15px;

}

.logo{

    font-size:54px;

}

form{

    max-width:100%;

}

form h2{

    font-size:28px;

}

.input-group input{

    padding:15px;

    font-size:15px;

}

button{

    padding:15px;

}

}
/* ==========================
   Home Button
========================== */

body{
    position: relative;
}

.home-btn{

    position: absolute;

    top: 30px;

    right: 40px;

    display: flex;

    align-items: center;

    gap: 8px;

    padding: 12px 22px;

    background: #ffffff;

    color: #2563eb;

    text-decoration: none;

    font-weight: 600;

    border: 2px solid #2563eb;

    border-radius: 10px;

    transition: all .3s ease;

    z-index: 1000;

}

.home-btn:hover{

    background: #2563eb;

    color: #ffffff;

    transform: translateY(-2px);

}