body{
    margin:0;
    font-family:'Segoe UI',sans-serif;
    background:linear-gradient(135deg,#2563eb,#4f46e5);
    overflow:hidden;
}

.container{
    position:relative;
    z-index:10;
}

.login-card{
    background:#fff;
    border-radius:28px;
    padding:40px;
    box-shadow:0 25px 60px rgba(0,0,0,.18);
    animation:fade .8s;
}

.logo{
    width:85px;
    height:85px;
    border-radius:50%;
    margin:auto;
    background:linear-gradient(135deg,#2563eb,#4f46e5);
    color:white;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:36px;
    box-shadow:0 12px 30px rgba(37,99,235,.4);
}

.form-label{
    font-weight:600;
}

.input-group-text{
    border-radius:12px 0 0 12px;
    background:#f5f7fb;
    border-right:none;
}

.form-control{
    border-left:none;
    border-radius:0 12px 12px 0;
    height:50px;
    box-shadow:none!important;
}

.form-control:focus{
    border-color:#2563eb;
}

.input-group{
    border:1px solid #dee2e6;
    border-radius:12px;
    transition:.3s;
}

.input-group:focus-within{
    border-color:#2563eb;
    box-shadow:0 0 0 4px rgba(37,99,235,.15);
}

.btn-login{
    background:#2563eb;

    color:#fff;

    height:52px;

    border-radius:14px;

    font-weight:600;

    transition:.3s;

}

.btn-login:hover{

    background:#1d4ed8;

    transform:translateY(-2px);

}

.blob{

    position:absolute;

    border-radius:50%;

    filter:blur(90px);

    opacity:.4;

}

.blob1{

    width:320px;

    height:320px;

    background:#60a5fa;

    top:-100px;

    left:-80px;

}

.blob2{

    width:300px;

    height:300px;

    background:#818cf8;

    right:-80px;

    bottom:-100px;

}

@keyframes fade{
    from{
        opacity:0;
        transform:translateY(30px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

a{
    text-decoration:none;
}

@media(max-width:576px){
    .login-card{
        padding:30px 25px;
    }

    .logo{
        width:70px;
        height:70px;
        font-size:30px;
    }

    h2{
        font-size:28px;
    }
}