:root {
    --primary: #4361ee;
    --secondary: #3f37c9;
    --success: #4cc9f0;
    --danger: #f72585;
    --dark: #212529;
    --light: #f8f9fa;
    --white: #ffffff;
    --glass: rgba(255, 255, 255, 0.95);
    --shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.15);
}

body {
    background-color: #f0f2f5;
    color: var(--dark);
}

body.lang-ar { font-family: 'Tajawal', sans-serif; }
body.lang-fr { font-family: 'Inter', sans-serif; }

.navbar {
    background: var(--glass);
    backdrop-filter: blur(4px);
    box-shadow: var(--shadow);
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.sidebar {
    background: var(--white);
    min-height: calc(100vh - 56px);
    box-shadow: 2px 0 10px rgba(0,0,0,0.05);
}

[dir="rtl"] .sidebar {
    box-shadow: -2px 0 10px rgba(0,0,0,0.05);
}

.card {
    border: none;
    border-radius: 15px;
    box-shadow: var(--shadow);
    transition: transform 0.3s ease;
}

.card:hover { transform: translateY(-5px); }

.btn-primary {
    background: linear-gradient(45deg, var(--primary), var(--secondary));
    border: none;
    border-radius: 10px;
    padding: 8px 20px;
}

.stat-card {
    padding: 20px;
    border-radius: 15px;
    color: white;
}

.stat-blue { background: linear-gradient(45deg, #4361ee, #4cc9f0); }
.stat-pink { background: linear-gradient(45deg, #f72585, #b5179e); }
.stat-green { background: linear-gradient(45deg, #4895ef, #4cc9f0); }
.stat-purple { background: linear-gradient(45deg, #7209b7, #3f37c9); }

.navbar-brand { font-weight: 800; color: var(--primary) !important; }
.nav-link { font-weight: 500; color: var(--dark); }
.nav-link:hover { color: var(--primary); }
