body{

background:#F5F7FA;

height:100vh;

display:flex;

justify-content:center;

align-items:center;

font-family:Poppins,sans-serif;

}

.login-card{

width:420px;

background:#FFF;

padding:40px;

border-radius:15px;

box-shadow:0 10px 35px rgba(0,0,0,.15);

}

.logo{

width:90px;

display:block;

margin:auto;

margin-bottom:20px;

}

h3{

text-align:center;

color:#0F5F86;

font-weight:bold;

}

p{

text-align:center;

color:#777;

margin-bottom:30px;

}

.btn-primary{

background:#1688B8;

border:none;

padding:12px;

}

.btn-primary:hover{

background:#0F5F86;

}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body.login-page{

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:20px;

    background:linear-gradient(135deg,#0d6efd,#0a58ca);

    font-family:"Segoe UI",sans-serif;

}

.login-card{

    width:100%;

    max-width:420px;

    background:#fff;

    border-radius:15px;

    padding:40px 35px;

    box-shadow:0 15px 40px rgba(0,0,0,.15);

    text-align:center;

}

.logo{

    width:90px;

    max-width:100%;

    margin-bottom:20px;

}

.login-card h3{

    font-weight:700;

    margin-bottom:5px;

}

.login-card p{

    color:#666;

    margin-bottom:30px;

}

.login-card label{

    font-weight:600;

    margin-bottom:6px;

    display:block;

    text-align:left;

}

.form-control{

    height:48px;

    border-radius:8px;

}

.btn{

    height:50px;

    font-size:16px;

    border-radius:8px;

}

/* ======================
TABLETS
====================== */

@media (max-width:768px){

    .login-card{

        padding:30px;

        max-width:450px;

    }

}

/* ======================
TELEMÓVEIS
====================== */

@media (max-width:576px){

    body.login-page{

        padding:15px;

    }

    .login-card{

        padding:25px 20px;

        border-radius:12px;

    }

    .logo{

        width:75px;

    }

    .login-card h3{

        font-size:22px;

    }

    .login-card p{

        font-size:14px;

    }

    .form-control{

        height:45px;

        font-size:15px;

    }

    .btn{

        height:46px;

        font-size:15px;

    }

}

/* ======================
ECRÃS MUITO PEQUENOS
====================== */

@media (max-width:360px){

    .login-card{

        padding:20px 15px;

    }

    .login-card h3{

        font-size:20px;

    }

    .logo{

        width:65px;

    }

}