*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:'Poppins',sans-serif;

    background:#F3F6FB;

}

.login-container{

    display:flex;

    min-height:100vh;

}

.login-left{

    flex:1;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#EEF4FF;

}

.login-left img{

    width:70%;

}

.login-right{

    flex:1;

    display:flex;

    justify-content:center;

    align-items:center;

}

.login-card{

    width:430px;

    background:#FFF;

    border-radius:20px;

    padding:45px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.logo{

    width:90px;

    display:block;

    margin:auto;

    margin-bottom:20px;

}

.login-card h2{

    text-align:center;

    color:#1F2937;

    margin-bottom:5px;

}

.login-card p{

    text-align:center;

    color:#6B7280;

    margin-bottom:30px;

}

.form-group{

    margin-bottom:20px;

}

.form-group label{

    display:block;

    margin-bottom:8px;

    color:#374151;

    font-size:14px;

}

.form-group input{

    width:100%;

    height:48px;

    border:1px solid #D1D5DB;

    border-radius:8px;

    padding:0 15px;

    outline:none;

    font-size:15px;

}

.form-group input:focus{

    border-color:#2563EB;

}

.remember{

    display:flex;

    align-items:center;

    gap:8px;

    margin-bottom:25px;

}

.btn-login{

    width:100%;

    height:48px;

    background:#2563EB;

    color:#FFF;

    border:none;

    border-radius:8px;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

}

.btn-login:hover{

    background:#1D4ED8;

}

@media(max-width:900px){

    .login-left{

        display:none;

    }

    .login-right{

        width:100%;

    }

    .login-card{

        width:90%;

    }

}


.password-group{

    position:relative;

}

.password-group input{

    padding-right:50px;

}

.toggle-password{

    position:absolute;

    right:15px;

    top:50%;

    transform:translateY(-50%);

    cursor:pointer;

    user-select:none;

    font-size:20px;

    color:#6B7280;

}

.alert-error{

    background:#FEE2E2;
    color:#B91C1C;
    padding:12px;
    border-radius:8px;
    margin-bottom:20px;
    font-size:14px;

}


.wrapper{

    display:flex;

    min-height:100vh;

    background:#F5F7FB;

}

.sidebar{

    width:250px;

    background:#2563EB;

    color:#FFF;

}

.logo{

    padding:30px;

    text-align:center;

    font-size:22px;

    font-weight:600;

}

.sidebar ul{

    list-style:none;

}

.sidebar li{

    padding:18px 30px;

    cursor:pointer;

    transition:.3s;

}

.sidebar li:hover{

    background:rgba(255,255,255,.15);

}

.active{

    background:rgba(255,255,255,.20);

}

.content{

    flex:1;

    padding:30px;

}

.topbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:30px;

}

.cards{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;

}

.card{

    background:#FFF;

    border-radius:15px;

    padding:30px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.card h1{

    font-size:40px;

    color:#2563EB;

}

.card p{

    margin-top:10px;

    color:#666;

}


.table-card{

    background:#FFF;

    border-radius:15px;

    padding:20px;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.table{

    width:100%;

    border-collapse:collapse;

}

.table th{

    background:#F7F8FB;

    padding:15px;

    text-align:left;

    border-bottom:1px solid #EEE;

}

.table td{

    padding:12px;

    border-bottom:1px solid #EEE;

}

.table tr:hover{

    background:#FAFAFA;

}



.badge-success{

    background:#DCFCE7;

    color:#15803D;

    padding:6px 12px;

    border-radius:20px;

    font-size:12px;

}

.badge-warning{

    background:#FEF3C7;

    color:#B45309;

    padding:6px 12px;

    border-radius:20px;

    font-size:12px;

}

.dataTables_wrapper{

    margin-top:20px;

}

.dataTables_filter input{

    border:1px solid #DDD !important;

    border-radius:8px !important;

    padding:6px 10px !important;

}

.dataTables_length select{

    border:1px solid #DDD;

    border-radius:8px;

    padding:4px;

}

table.dataTable{

    border-collapse:collapse !important;

}