/* ---------- General ---------- */

body{
    margin:0;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    background:#f4f6f9;
    color:#2c3e50;
}

/* ---------- Navbar ---------- */

.navbar{
    background:#0f172a !important;
    height:65px;
    box-shadow:0 2px 10px rgba(0,0,0,.15);
}

.navbar-brand{
    font-size:22px;
    font-weight:700;
    color:#fff !important;
}

/* ---------- Sidebar ---------- */

.sidebar{
    background:#1e293b;
    min-height:100vh;
    padding:15px;
}

.sidebar-logo{
    border-bottom:1px solid rgba(255,255,255,.15);
    margin-bottom:20px;
}

.sidebar-logo h5{
    color:#fff;
    font-weight:700;
}

.sidebar a{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    color:#cbd5e1;
    padding:12px 15px;
    border-radius:10px;
    margin-bottom:8px;
    transition:.3s;
    font-size:15px;
}

.sidebar a:hover{
    background:#2563eb;
    color:#fff;
    transform:translateX(4px);
}

.sidebar a.active{
    background:#2563eb;
    color:#fff;
    font-weight:600;
    box-shadow:0 5px 12px rgba(37,99,235,.35);
}

.sidebar i{
    font-size:18px;
    width:22px;
}

/* ---------- Main ---------- */

main{
    background:#f4f6f9;
    min-height:100vh;
}

/* ---------- Cards ---------- */

.card{
    border:none;
    border-radius:15px;
    box-shadow:0 5px 18px rgba(0,0,0,.08);
}

.card-header{
    background:#fff;
    border-bottom:1px solid #eee;
    font-weight:600;
}

/* ---------- Tables ---------- */

.table{
    background:#fff;
    border-radius:12px;
    overflow:hidden;
}

.table thead{
    background:#2563eb;
    color:#fff;
}

.table th{
    border:none;
}

.table td{
    vertical-align:middle;
}

/* ---------- Buttons ---------- */

.btn{
    border-radius:8px;
}

.btn-primary{
    background:#2563eb;
    border:none;
}

.btn-primary:hover{
    background:#1d4ed8;
}

.btn-success{
    background:#16a34a;
    border:none;
}

.btn-danger{
    border:none;
}

.btn-warning{
    color:#fff;
}

/* ---------- Forms ---------- */

.form-control,
.form-select{
    border-radius:8px;
    border:1px solid #d1d5db;
}

.form-control:focus,
.form-select:focus{
    border-color:#2563eb;
    box-shadow:0 0 0 .2rem rgba(37,99,235,.15);
}

/* ---------- Alerts ---------- */

.alert{
    border:none;
    border-radius:10px;
}

/* ---------- Badges ---------- */

.badge{
    padding:7px 10px;
    border-radius:20px;
}

/* ---------- Dashboard Cards ---------- */

.dashboard-card{
    color:#fff;
    border-radius:15px;
    padding:20px;
    margin-bottom:20px;
}

.dashboard-card h2{
    margin:0;
    font-size:34px;
    font-weight:bold;
}

.dashboard-card p{
    margin:0;
    opacity:.9;
}

.bg-blue{
    background:linear-gradient(135deg,#2563eb,#1d4ed8);
}

.bg-green{
    background:linear-gradient(135deg,#16a34a,#15803d);
}

.bg-orange{
    background:linear-gradient(135deg,#ea580c,#c2410c);
}

.bg-purple{
    background:linear-gradient(135deg,#7c3aed,#6d28d9);
}

/* ---------- Responsive ---------- */

@media(max-width:768px){

.sidebar{
    min-height:auto;
}

.sidebar a{
    font-size:14px;
}

.navbar-brand{
    font-size:18px;
}

}