:root {
    --primary: #3490dc;
    --primary-dark: #2779bd;
    --success: #38a169;
    --warning: #ecc94b;
    --danger: #e53e3e;
    --info: #4299e1;
    --dark: #2d3748;
}

body {
    font-family: 'Nunito', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #f4f6f9;
}

/* STATUS BADGES */
.badge {
    font-weight: 500;
}
.badge.bg-green, .badge.bg-success { background-color: var(--success) !important; }
.badge.bg-yellow, .badge.bg-warning { background-color: var(--warning) !important; color: #000 !important; }
.badge.bg-red, .badge.bg-danger { background-color: var(--danger) !important; }

/* DASHBOARD CARDS */
.small-box {
    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow: 0 0 10px rgba(0,0,0,0.05);
    transition: transform 0.2s;
}
.small-box:hover { transform: translateY(-2px); }
.small-box .inner h3 { font-weight: 700; }

/* CARD STYLING */
.card {
    border-radius: 0.5rem;
    border: none;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    margin-bottom: 1.25rem;
}
.card-header {
    background-color: #fff;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    padding: 0.75rem 1.25rem;
}
.card-header .card-title { font-weight: 600; font-size: 1rem; }

/* SIDEBAR */
.main-sidebar {
    background: linear-gradient(180deg, #2d3748 0%, #1a202c 100%);
}
.nav-sidebar .nav-link {
    border-radius: 0.25rem;
    margin: 2px 8px;
    padding: 0.5rem 0.75rem;
    color: rgba(255,255,255,0.7);
    transition: all 0.2s;
}
.nav-sidebar .nav-link:hover { background: rgba(255,255,255,0.1); color: #fff; }
.nav-sidebar .nav-link.active { background: var(--primary); color: #fff; }

/* NAVBAR */
.main-header { border-bottom: 1px solid #e9ecef; }

/* BUTTONS */
.btn { border-radius: 0.375rem; font-weight: 500; }
.btn-primary { background-color: var(--primary); border-color: var(--primary); }
.btn-primary:hover { background-color: var(--primary-dark); border-color: var(--primary-dark); }
.btn-success { background-color: var(--success); border-color: var(--success); }
.btn-danger { background-color: var(--danger); border-color: var(--danger); }

/* FORMS */
.form-control:focus, .form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 0.2rem rgba(52, 144, 220, 0.15);
}

/* TABLES */
.table thead th { border-bottom-width: 1px; font-weight: 600; color: #4a5568; }
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: var(--primary) !important;
    color: #fff !important;
    border-color: var(--primary) !important;
}

/* DATA TABLES FIX */
table.dataTable { width: 100% !important; }

/* ALERTS */
.alert { border-radius: 0.5rem; border: none; }

/* RESPONSIVE */
@media (max-width: 768px) {
    .content-wrapper { margin-left: 0 !important; }
    .main-sidebar { transform: translateX(-250px); }
    .sidebar-open .main-sidebar { transform: translateX(0); }
}

/* RTL SUPPORT */
[dir="rtl"] .ml-auto { margin-left: 0 !important; margin-right: auto !important; }
[dir="rtl"] .float-right { float: left !important; }
[dir="rtl"] .float-left { float: right !important; }
[dir="rtl"] .text-right { text-align: left !important; }
[dir="rtl"] .text-left { text-align: right !important; }
