body{
    margin:0;
    font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;
    background:linear-gradient(135deg,#0f172a,#1e293b);
}

.login-page{

    display:flex;

    justify-content:center;

    align-items:center;

    min-height:100vh;

}

.login-card{

    width:420px;

    background:#fff;

    border-radius:15px;

    padding:45px;

    box-shadow:0 20px 60px rgba(0,0,0,.35);

}

.logo{

    text-align:center;

    margin-bottom:35px;

}

.logo i{

    font-size:55px;

    color:#0d6efd;

}

.logo h1{

    margin-top:15px;

    font-size:30px;

    font-weight:700;

}

.logo p{

    color:#666;

}

.form-control{

    height:48px;

    border-radius:8px;

}

.btn{

    height:48px;

    border-radius:8px;

    font-weight:600;

}

.alert{

    border-radius:8px;

}

input[type="text"],
input[type="password"]{
    width:100%;
    height:48px;
    padding:12px 15px;
    border:1px solid #d0d5dd;
    border-radius:8px;
    font-size:15px;
    box-sizing:border-box;
    outline:none;
    transition:.2s;
    background:#fff;
}

input[type="text"]:focus,
input[type="password"]:focus{
    border-color:#0d6efd;
    box-shadow:0 0 0 3px rgba(13,110,253,.2);
}

label{
    display:block;
    margin-bottom:8px;
    font-weight:600;
    color:#333;
}

.mb-3{
    margin-bottom:20px;
}

.mb-4{
    margin-bottom:25px;
}

.btn{
    width:100%;
    height:48px;
    border:none;
    border-radius:8px;
    background:#0d6efd;
    color:#fff;
    font-size:16px;
    cursor:pointer;
    transition:.2s;
}

.btn:hover{
    background:#0b5ed7;
}

.form-check{
    display:flex;
    align-items:center;
    gap:10px;
}

.alert{
    padding:12px;
    border-radius:8px;
    background:#fde8e8;
    color:#b91c1c;
    margin-bottom:20px;
}