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

:root{

    --primary:#1F4E79;
    --secondary:#8DC63F;
    --light:#F8FAFC;
    --border:#E5E7EB;
    --text:#334155;

}

body{

    font-family:"Cairo",sans-serif;

    background:#F5F7FB;

    color:var(--text);

}

a{

    text-decoration:none;

}

.login-page{

    display:grid;

    grid-template-columns:1fr 480px;

    min-height:100vh;

}

.login-cover{

    background:linear-gradient(135deg,#1F4E79,#295B87);

    color:#fff;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:60px;

}

.login-cover img{

    width:130px;

    margin-bottom:30px;

}

.login-cover h1{

    font-size:42px;

    font-weight:800;

    margin-bottom:12px;

}

.login-cover span{

    font-size:18px;

    opacity:.9;

    margin-bottom:25px;

}

.login-cover p{

    max-width:520px;

    line-height:2;

    font-size:18px;

    opacity:.9;

}

.login-box{

    background:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:50px;

}

.login-box form{

    width:100%;

    max-width:380px;

}

.login-header{

    margin-bottom:35px;

}

.login-header h2{

    color:var(--primary);

    font-size:34px;

    margin-bottom:8px;

}

.login-header p{

    color:#64748B;

}

.form-group{

    margin-bottom:22px;

}

.form-group label{

    display:block;

    margin-bottom:8px;

    font-weight:700;

}

.input-group{

    display:flex;

    align-items:center;

    background:#fff;

    border:1px solid var(--border);

    border-radius:14px;

    overflow:hidden;

    transition:.3s;

}

.input-group:focus-within{

    border-color:var(--secondary);

    box-shadow:0 0 0 4px rgba(141,198,63,.15);

}

.input-group i{

    width:55px;

    text-align:center;

    color:#94A3B8;

}

.input-group input{

    flex:1;

    border:none;

    outline:none;

    height:56px;

    font-family:inherit;

    font-size:16px;

    padding-left:18px;

    background:transparent;

}

.btn-login{

    width:100%;

    height:56px;

    border:none;

    border-radius:14px;

    background:var(--secondary);

    color:#fff;

    font-family:inherit;

    font-size:17px;

    font-weight:700;

    cursor:pointer;

    transition:.3s;

}

.btn-login:hover{

    background:#78AF2F;

}

.alert{

    background:#FEE2E2;

    color:#B91C1C;

    padding:14px;

    border-radius:12px;

    margin-bottom:20px;

}

@media(max-width:992px){

    .login-page{

        grid-template-columns:1fr;

    }

    .login-cover{

        display:none;

    }

    .login-box{

        padding:30px;

    }

}