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

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:Inter,"Segoe UI",Arial,sans-serif;

    background:linear-gradient(135deg,#0f172a,#1e3a8a,#2563eb);

    min-height:100vh;

    overflow:hidden;

    color:#fff;

}

/* =====================================================
   BACKGROUND
===================================================== */

.background{

    position:fixed;

    inset:0;

    overflow:hidden;

    z-index:-1;

}

.blob{

    position:absolute;

    border-radius:50%;

    filter:blur(90px);

    opacity:.45;

    animation:float 18s infinite ease-in-out;

}

.blob1{

    width:420px;

    height:420px;

    background:#3b82f6;

    left:-120px;

    top:-100px;

}

.blob2{

    width:350px;

    height:350px;

    background:#06b6d4;

    right:-80px;

    bottom:-60px;

    animation-delay:4s;

}

.blob3{

    width:250px;

    height:250px;

    background:#2563eb;

    left:45%;

    top:45%;

    animation-delay:8s;

}

@keyframes float{

0%,100%{

transform:translateY(0) translateX(0);

}

50%{

transform:translateY(-40px) translateX(25px);

}

}

/* =====================================================
   LAYOUT
===================================================== */

.login-container{

    width:100%;

    min-height:100vh;

    display:grid;

    grid-template-columns:1.2fr 500px;

    align-items:center;

    gap:60px;

    padding:60px;

}

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

.left-panel{

    padding:30px;

}

.logo{

    width:220px;

    margin-bottom:30px;

}

.left-panel h1{

    font-size:60px;

    margin-bottom:15px;

    font-weight:800;

}

.left-panel h2{

    font-size:26px;

    font-weight:600;

    line-height:40px;

    margin-bottom:25px;

}

.left-panel p{

    color:#dbeafe;

    font-size:18px;

    line-height:34px;

    max-width:700px;

    margin-bottom:45px;

}

/* =====================================================
   FEATURE
===================================================== */

.feature-list{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

}

.feature{

    display:flex;

    gap:18px;

    align-items:center;

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

    backdrop-filter:blur(25px);

    padding:20px;

    border-radius:20px;

    border:1px solid rgba(255,255,255,.08);

    transition:.3s;

}

.feature:hover{

    transform:translateY(-5px);

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

}

.feature span{

    font-size:38px;

}

.feature b{

    display:block;

    margin-bottom:5px;

    font-size:17px;

}

.feature small{

    color:#dbeafe;

    line-height:22px;

}

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

.right-panel{

    display:flex;

    justify-content:center;

}

.login-card{

    width:100%;

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

    backdrop-filter:blur(25px);

    border-radius:30px;

    padding:45px;

    border:1px solid rgba(255,255,255,.12);

    box-shadow:0 25px 60px rgba(0,0,0,.35);

}

.login-header{

    text-align:center;

    margin-bottom:35px;

}

.login-header h2{

    font-size:34px;

    margin-bottom:12px;

}

.login-header p{

    color:#dbeafe;

}

/* =====================================================
   FORM
===================================================== */

.form-group{

    margin-bottom:22px;

}

.form-group label{

    display:block;

    margin-bottom:10px;

    font-weight:600;

}

.form-group input{

    width:100%;

    padding:15px 18px;

    border:none;

    border-radius:15px;

    font-size:15px;

    outline:none;

}

.password-box{

    position:relative;

}

.password-box button{

    position:absolute;

    right:10px;

    top:50%;

    transform:translateY(-50%);

    border:none;

    background:none;

    font-size:22px;

    cursor:pointer;

}

.remember{

    margin:18px 0 30px;

    color:#dbeafe;

}

.login-button{

    width:100%;

    border:none;

    padding:18px;

    border-radius:16px;

    font-size:17px;

    font-weight:700;

    color:white;

    cursor:pointer;

    background:linear-gradient(90deg,#2563eb,#06b6d4);

    transition:.3s;

}

.login-button:hover{

    transform:translateY(-3px);

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

}

/* =====================================================
   FOOTER
===================================================== */

.copyright{

    margin-top:35px;

    text-align:center;

    color:#cbd5e1;

    font-size:13px;

    line-height:24px;

}

/* =====================================================
   MOBILE
===================================================== */

@media(max-width:1100px){

.login-container{

grid-template-columns:1fr;

padding:30px;

}

.left-panel{

display:none;

}

.login-card{

max-width:500px;

margin:auto;

}

}

@media(max-width:600px){

.login-card{

padding:30px;

}

.login-header h2{

font-size:28px;

}

}


/* ======================================
   Loader
====================================== */

.loader{

    width:18px;

    height:18px;

    border:3px solid rgba(255,255,255,.3);

    border-top:3px solid white;

    border-radius:50%;

    display:inline-block;

    margin-right:10px;

    animation:spin .8s linear infinite;

    vertical-align:middle;

}

@keyframes spin{

100%{

transform:rotate(360deg);

}

}

/* ======================================
   Ripple
====================================== */

.login-button{

    position:relative;

    overflow:hidden;

}

.ripple{

    position:absolute;

    width:12px;

    height:12px;

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

    border-radius:50%;

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

    animation:ripple .7s linear;

}

@keyframes ripple{

0%{

width:0;

height:0;

opacity:.8;

}

100%{

width:500px;

height:500px;

opacity:0;

}

}

/* ======================================
   Focus
====================================== */

.focused input{

    box-shadow:

    0 0 0 4px rgba(37,99,235,.25);

}
