@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;600;700;800;900&display=swap');

:root{
    --brand-blue:#0756b8;
    --brand-blue-dark:#033f8b;
    --brand-green:#39a917;
    --brand-green-dark:#23830c;
    --line:#e1e8f0;
    --text:#172033;
    --muted:#667085;
}

html,
body{
    min-height:100%;
    font-family:'Nunito', Arial, sans-serif;
}

.login-page{
    min-height:100vh;
    background:
        radial-gradient(circle at 18% 18%, rgba(57,169,23,.28), transparent 24rem),
        radial-gradient(circle at 82% 8%, rgba(7,86,184,.28), transparent 22rem),
        linear-gradient(135deg, #eef7ff 0%, #f8fbff 42%, #eef9ea 100%);
}

.login-card{
    overflow:hidden;
    border:0;
    border-radius:8px;
    box-shadow:0 24px 55px rgba(3,63,139,.18);
}

.login-card .card-header{
    border:0;
    background:linear-gradient(135deg, #ffffff 0%, #f2f9ff 100%);
    color:var(--text);
    padding:28px 20px 20px;
}

.login-card .card-header img{
    max-width:140px;
    max-height:92px !important;
    object-fit:contain;
    filter:drop-shadow(0 8px 12px rgba(7,86,184,.16));
}

.login-card .card-header h3{
    color:var(--brand-blue-dark);
    font-weight:900;
}

.login-card .card-body{
    padding:24px;
}

.login-card label{
    color:var(--muted);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.3px;
}

.login-card .form-control{
    min-height:44px;
    border-color:var(--line);
    border-radius:6px;
}

.login-card .form-control:focus{
    border-color:var(--brand-blue);
    box-shadow:0 0 0 .2rem rgba(7,86,184,.12);
}

.login-card .card-footer{
    border-top:1px solid #edf2f7;
    background:#fbfdff;
    color:var(--muted);
}

.login-card .card-footer a{
    color:var(--brand-green-dark);
}

.bg-primary{
    background:linear-gradient(135deg, var(--brand-blue), var(--brand-blue-dark)) !important;
}
.bg-success{
    background:linear-gradient(135deg, var(--brand-green), var(--brand-green-dark)) !important;
}
.bg-danger{
    background-color:#d92d20 !important;
}
.text-primary{
    color:var(--brand-blue) !important;
}
.text-success{
    color:var(--brand-green-dark) !important;
}
.text-danger{
    color:#d92d20 !important;
}
.btn{
    border-radius:6px;
    font-weight:800;
}
.btn-primary{
    background:linear-gradient(135deg, var(--brand-blue), var(--brand-blue-dark)) !important;
    border:0;
    box-shadow:0 10px 18px rgba(7,86,184,.18);
}
.btn-primary:hover{
    background:linear-gradient(135deg, #0a65d4, var(--brand-blue-dark)) !important;
    border:0;
}
.btn-success{
    background:linear-gradient(135deg, var(--brand-green), var(--brand-green-dark)) !important;
    border:0;
}
.btn-success:hover{
    background:linear-gradient(135deg, #45bd21, var(--brand-green-dark)) !important;
    border:0;
}
.btn-danger{
    background-color:#d92d20 !important;
    border:0;
}
.btn-danger:hover{
    background-color:#e5483f !important;
    border:0;
}
