/* ============================================================
   BRAND COLOR IDENTITY — Global Admin Overrides
   Primary: #10B981 | Accent: #22C55E | Danger: #EF4444
   Warning: #F59E0B | Text: #111827 / #6B7280
   ============================================================ */

/* ===== Google Fonts — Tajawal (Arabic) ===== */
@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@300;400;500;700&display=swap');

/* ===== CSS Brand Variables ===== */
:root {
    --primary:        #10B981;
    --accent:         #22C55E;
    --text-main:      #111827;
    --text-secondary: #6B7280;
    --bg-main:        #FFFFFF;
    --bg-card:        #F8FAFC;
    --bg-sidebar:     #F3F4F6;
    --border:         #E5E7EB;
    --success:        #22C55E;
    --danger:         #EF4444;
    --warning:        #F59E0B;
}

/* ===== Global Font ===== */
body, .table, .card, .btn, h1, h2, h3, h4, h5, h6,
p, span, a, td, th, input, select, textarea, label,
.navbar, .dropdown-item, .nav-link {
    font-family: 'Tajawal', 'Open Sans', sans-serif !important;
    letter-spacing: 0 !important;
}

/* ===== Force Latin (English) Numerals ===== */
/* Disables the OpenType "locl" feature that maps 0-9 to Arabic-Indic numerals (٠-٩) */
*, *::before, *::after {
    font-feature-settings: "locl" 0;
}

/* ===== Body & Layout ===== */
body {
    color: #111827 !important;
    background-color: #F8FAFC !important;
}
.main-content {
    background-color: #F8FAFC !important;
}

/* ===== Cards ===== */
.card {
    background-color: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.06) !important;
}
.card-header {
    background-color: #FFFFFF !important;
    border-bottom: 1px solid #E5E7EB !important;
}

/* ===== Top Navbar ===== */
#navbar-main {
    background-color: #FFFFFF !important;
    border-bottom: 1px solid #E5E7EB !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.05) !important;
}
#navbar-main .nav-link,
#navbar-main a,
#navbar-main .h4 {
    color: #111827 !important;
}
#navbar-main .nav-link:hover { color: #10B981 !important; }

/* ===== Sidebar ===== */
#sidenav-main {
    background-color: #F3F4F6 !important;
    border-left: 1px solid #E5E7EB !important;
    border-right: 1px solid #E5E7EB !important;
    box-shadow: none !important;
}
#sidenav-main .nav-link {
    color: #374151 !important;
}
#sidenav-main .nav-link:hover {
    color: #10B981 !important;
}
#sidenav-main .nav-link:hover i,
#sidenav-main .nav-link.active i {
    color: #10B981 !important;
}
#sidenav-main .nav-link.active {
    color: #10B981 !important;
}
.navbar-vertical .navbar-nav .nav-link.active {
    color: #10B981 !important;
}
.navbar-vertical .navbar-nav .nav-link.active::before {
    border-left-color: #10B981 !important;
}
.navbar-heading {
    color: #6B7280 !important;
}
hr.my-3 {
    border-color: #E5E7EB !important;
}

/* ===== Primary Color Overrides ===== */
.bg-primary,
.bg-gradient-primary {
    background: #10B981 !important;
    background: linear-gradient(135deg, #10B981 0%, #059669 100%) !important;
}
.text-primary  { color: #10B981 !important; }
.border-primary { border-color: #10B981 !important; }

.btn-primary {
    color: #fff !important;
    background-color: #10B981 !important;
    border-color: #10B981 !important;
    box-shadow: 0 4px 6px rgba(16, 185, 129, .25) !important;
}
.btn-primary:hover,
.btn-primary:focus {
    background-color: #059669 !important;
    border-color: #059669 !important;
    box-shadow: 0 6px 10px rgba(16, 185, 129, .3) !important;
}
.btn-primary:active {
    background-color: #047857 !important;
    border-color: #047857 !important;
}
.btn-outline-primary {
    color: #10B981 !important;
    border-color: #10B981 !important;
}
.btn-outline-primary:hover {
    background-color: #10B981 !important;
    color: #fff !important;
}

.badge-primary {
    color: #065f46 !important;
    background-color: rgba(16, 185, 129, .15) !important;
}

/* ===== Success Color Overrides ===== */
.bg-success,
.bg-gradient-success {
    background: #22C55E !important;
    background: linear-gradient(135deg, #22C55E 0%, #16A34A 100%) !important;
}
.text-success, .text-green { color: #22C55E !important; }

.btn-success {
    color: #fff !important;
    background-color: #22C55E !important;
    border-color: #22C55E !important;
    box-shadow: 0 4px 6px rgba(34, 197, 94, .25) !important;
}
.btn-success:hover,
.btn-success:focus {
    background-color: #16A34A !important;
    border-color: #16A34A !important;
}
.btn-success:active {
    background-color: #15803d !important;
    border-color: #15803d !important;
}

.badge-success {
    color: #14532d !important;
    background-color: rgba(34, 197, 94, .15) !important;
}

/* ===== Danger Color Overrides ===== */
.bg-danger,
.bg-gradient-danger {
    background: #EF4444 !important;
    background: linear-gradient(135deg, #EF4444 0%, #DC2626 100%) !important;
}
.text-danger, .text-red { color: #EF4444 !important; }

.btn-danger {
    color: #fff !important;
    background-color: #EF4444 !important;
    border-color: #EF4444 !important;
    box-shadow: 0 4px 6px rgba(239, 68, 68, .25) !important;
}
.btn-danger:hover,
.btn-danger:focus {
    background-color: #DC2626 !important;
    border-color: #DC2626 !important;
}

.badge-danger {
    color: #7f1d1d !important;
    background-color: rgba(239, 68, 68, .15) !important;
}

/* ===== Warning Color Overrides ===== */
.bg-warning,
.bg-gradient-warning {
    background: #F59E0B !important;
    background: linear-gradient(135deg, #F59E0B 0%, #D97706 100%) !important;
}
.text-warning, .text-orange { color: #F59E0B !important; }

.btn-warning {
    color: #fff !important;
    background-color: #F59E0B !important;
    border-color: #F59E0B !important;
    box-shadow: 0 4px 6px rgba(245, 158, 11, .25) !important;
}
.btn-warning:hover,
.btn-warning:focus {
    background-color: #D97706 !important;
    border-color: #D97706 !important;
}

.badge-warning {
    color: #78350f !important;
    background-color: rgba(245, 158, 11, .15) !important;
}

/* ===== Info Color (kept as teal, consistent with brand) ===== */
.bg-info, .bg-gradient-info { background: #0EA5E9 !important; }
.text-info { color: #0EA5E9 !important; }
.btn-info {
    background-color: #0EA5E9 !important;
    border-color: #0EA5E9 !important;
    color: #fff !important;
}
.badge-info {
    color: #0c4a6e !important;
    background-color: rgba(14, 165, 233, .15) !important;
}

/* ===== Table ===== */
.table thead th {
    color: #6B7280 !important;
    border-bottom-color: #E5E7EB !important;
    background-color: #F8FAFC !important;
}
.table td, .table th {
    border-color: #E5E7EB !important;
    color: #111827 !important;
}
.table tbody tr:hover {
    background-color: #f0fdf4 !important;
}

/* ===== Form Inputs ===== */
.form-control:focus {
    border-color: #10B981 !important;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, .15) !important;
}

/* ===== Dropdowns ===== */
.dropdown-item:hover,
.dropdown-item:focus {
    background-color: #f0fdf4 !important;
    color: #10B981 !important;
}
.dropdown-item.active {
    background-color: #10B981 !important;
}

/* ===== Pagination ===== */
.page-item.active .page-link {
    background-color: #10B981 !important;
    border-color: #10B981 !important;
}
.page-link { color: #10B981 !important; }
.page-link:hover { color: #059669 !important; }

/* ===== Header Section ===== */
.header.bg-gradient-primary,
.header.bg-white {
    background: #FFFFFF !important;
    border-bottom: 1px solid #E5E7EB !important;
}

/* ===== Alerts ===== */
.alert-success { background-color: rgba(34, 197, 94, .1) !important; border-color: rgba(34, 197, 94, .3) !important; color: #14532d !important; }
.alert-danger   { background-color: rgba(239, 68, 68, .1) !important; border-color: rgba(239, 68, 68, .3) !important; color: #7f1d1d !important; }
.alert-warning  { background-color: rgba(245, 158, 11, .1) !important; border-color: rgba(245, 158, 11, .3) !important; color: #78350f !important; }
.alert-info     { background-color: rgba(14, 165, 233, .1) !important; border-color: rgba(14, 165, 233, .3) !important; color: #0c4a6e !important; }