*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Inter',sans-serif;
}

body{
    background:#f5f7fb;

    display:flex;
    justify-content:center;
    align-items:center;

    min-height:100vh;
}

.login-container{

    width:96%;
    max-width:1480px;

    height:95vh;

    background:white;

    border-radius:24px;

    overflow:visible;

    display:flex;


    box-shadow:0 20px 50px rgba(0,0,0,.08);
}

.left-panel{
    width:48%;
    position:relative;
    overflow:hidden;

    background:
        linear-gradient(rgba(15,45,107,.85), rgba(15,45,107,.92)),
        url("images/map image.jfif");

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}



/* ==========================
   LOGIN LOGO
========================== */

.login-logo{

    display:flex;
    align-items:center;
    gap:18px;

    padding:22px 30px;

}

.login-logo .logo-icon{

    font-size:50px;
    color:white;

}

.login-logo h2{

    color:white;

    font-size:28px;

    font-weight:700;

    margin-bottom:4px;

}

.login-logo p{

    color:rgba(255,255,255,.85);

    font-size:15px;

}
/* ==========================
   HERO TEXT
========================== */

.hero-text{
padding:0 30px;
margin-top:5px;
}

.hero-text h1{
color:white;
font-size:32px;
font-weight:700;
line-height:1.15;
letter-spacing:-1px;
}
.hero-text p{
margin-top:18px;
font-size:16px;
line-height:1.6;
width:280px;
color:rgba(255,255,255,.85);
}

position:absolute;
width:18px;
height:18px;
background:white;
border-radius:50%;
z-index:3;
}

.blue-pin{
right:120px;
top:260px;
background:#2b66ff;
}

.green-pin{
right:180px;
top:430px;
background:#1abc9c;
}

.purple-pin{
right:320px;
top:560px;
background:#7b5cff;
}
/* ==========================
   MAP BACKGROUND
========================== */

.left-panel{

    position:relative;
    overflow:hidden;

}



.login-logo,
.hero-text{

    position:relative;

    z-index:2;

}
.dots-pattern{

    position:absolute;

    top:70px;

    right:60px;

    width:120px;

    height:120px;

    background-image:
    radial-gradient(rgba(255,255,255,0.25) 2px, transparent 2px);

    background-size:24px 24px;

}
/* ===========================
   RIGHT PANEL
=========================== */

.right-panel{
    flex:1;
    background:#ffffff;
    padding:40px 60px;
    overflow-y:auto;
}

/* Top Buttons */

.top-controls{
    display:flex;
    justify-content:flex-end;
    gap:12px;
}

.theme-btn,
.language-btn{

    height:44px;

    border:1px solid #e5e7eb;

    background:white;

    border-radius:12px;

    cursor:pointer;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:15px;
}

.theme-btn{
    width:44px;
}

.language-btn{

    padding:0 16px;

    gap:10px;

    font-size:15px;
}

/* Welcome */

.login-header{

    margin-top:45px;

}

.login-header h1{

    font-size:36px;

    font-weight:700;

    color:#0f172a;
     line-height:1.1;

}

.login-header p{

    margin-top:8px;

    font-size:13px;

    color:#64748b;

}
/* ===========================
   LOGIN FORM
=========================== */

.login-form{
    margin-top:30px;
}

.login-form label{
    display:block;
    font-size:13px;
    font-weight:600;
    margin-bottom:6px;
    color:#111827;
}

.input-box{

    display:flex;
    align-items:center;

    border:1px solid #dbe2ea;

    border-radius:12px;

    height:58px;

    padding:0 18px;

    margin-bottom:12px;
}

.input-box input{

    flex:1;

    border:none;

    outline:none;

    font-size:13px;

    padding-left:15px;

    background:transparent;
}

.input-box i{

    color:#6b7280;

    font-size:20px;
}

.login-options{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:18px;
}

.remember{

    display:flex;

    align-items:center;

    gap:10px;

    font-weight:500 !important;

    margin:0 !important;
}

.login-options a{

    color:#2563eb;

    text-decoration:none;

    font-weight:500;
}

.signin-btn{

    width:100%;

    height:60px;

    border:none;

    border-radius:14px;

    background:linear-gradient(90deg,#2563eb,#2f6df7);

    color:white;

    font-size:20px;

    font-weight:600;

    cursor:pointer;
}

.signin-btn i{

    margin-right:10px;
}
/* Divider */

.divider{
    text-align:center;
    margin:22px 0;
    position:relative;
}
.divider span{

    background:white;

    padding:0 15px;

    color:#64748b;

    position:relative;

    z-index:2;
}

.divider::before{

    content:"";

    position:absolute;

    left:0;
    top:50%;

    width:100%;
    height:1px;

    background:#e5e7eb;
}

/* Social Buttons */

.social-login{
    display:flex;
    gap:20px;
    margin-top:25px;
    margin-bottom:25px;
}

.social-btn{

    flex:1;

    height:58px;

    border:1px solid #dbe2ea;

    border-radius:12px;

    background:white;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    cursor:pointer;

    font-size:16px;
     font-weight:500;
}

.social-btn img{

    width:24px;
    height:24px;
}

 .login-footer{
    text-align:center;
    color:#64748b;
    font-size:15px;
    margin-top:10px;
}

.login-footer a{

    color:#2563eb;

    text-decoration:none;

    font-weight:600;
}
/* ==========================
   FEATURE CARDS
========================== */

.features{
    position:absolute;
    bottom:25px;
    left:30px;
    right:30px;

    display:flex;
    justify-content:space-between;
    align-items:flex-start;

    z-index:5;
}

.feature-card{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;

    width:180px;
}
.feature-icon{
    
width:48px;
height:48px;

border-radius:12px;

font-size:20px;


    display:flex;
    justify-content:center;
    align-items:center;

    color:white;
    

    flex-shrink:0;
}

.blue{
    background:#2b66ff;
}

.green{
    background:#18b78a;
}

.purple{
    background:#7856ff;
}

.feature-card h4{
    color:white;
    font-size:15px;
    margin-bottom:3px;
}

.feature-card p{
    color:rgba(255,255,255,.78);
    font-size:12px;
    line-height:1.4;
    width:170px;
}
.signin-btn{
    display:flex;
    justify-content:center;
    align-items:center;
    text-decoration:none;
}

/* ==========================
   RESPONSIVE  (all auth pages: login / register / verify)
========================== */

@media (max-width: 1024px){
    .login-container{
        max-width:640px;
        height:auto;
        min-height:100vh;
        width:100%;
        border-radius:0;
        flex-direction:column;
        box-shadow:none;
    }
    .left-panel{
        width:100%;
        min-height:auto;
        display:flex;
        flex-direction:column;
        justify-content:flex-start;
        padding-bottom:28px;
    }
    .features{ display:none; }
    .dots-pattern{ display:none; }
    .hero-text p{ width:auto; max-width:440px; }
    .right-panel{ padding:34px 40px; }
    .hero-text h1{ font-size:26px; }
}

@media (max-width: 640px){
    body{ display:block; }
    .login-container{ min-height:100vh; }
    .left-panel{
        padding:14px 0 22px;
    }
    .login-logo{
        padding:16px 22px 12px;
        gap:14px;
    }
    .login-logo .logo-icon{ font-size:38px; }
    .login-logo h2{ font-size:22px; }
    .login-logo p{ font-size:13px; }
    .hero-text{ padding:0 22px; margin-top:0; }
    .hero-text h1{ font-size:22px; line-height:1.2; }
    .hero-text p{ font-size:14px; margin-top:12px; line-height:1.5; }
    .right-panel{
        padding:28px 22px 40px;
    }
    .login-header{ margin-top:28px; }
    .login-header h1{ font-size:28px; }
    .top-controls{ gap:8px; }
    .language-btn{ padding:0 12px; font-size:14px; }
    .input-box{ height:54px; border-radius:10px; }
    .signin-btn{ height:56px; font-size:17px; border-radius:12px; }
    .social-login{ gap:12px; flex-direction:column; }
    .social-btn{ height:52px; font-size:15px; }
    .login-footer{ font-size:13.5px; }
    .login-footer a{ display:inline-block; padding:6px 0; }
}

@media (max-width: 380px){
    .login-logo h2{ font-size:20px; }
    .right-panel{ padding-left:16px; padding-right:16px; }
    .login-options{ flex-direction:column; align-items:flex-start; gap:10px; }
}