:root {
    --dim-gray: #6C7369;
    --ebony: #677468;
    --garnet: #703430;
    --platinum: #ECECEA;
    --battleship-gray: #6E7A70;

    /* Semantic aliases for easy use across the app */
    --color-primary: var(--garnet);
    --color-secondary: var(--ebony);
    --color-surface: var(--platinum);
    --color-text: var(--dim-gray);
    --color-muted: var(--battleship-gray);
    /* Map unknown CSS vars from theme to our palette */
    --gray-gray-3: #BEBEBE; /* used by theme tables/inputs borders */
    --gray-gray-5: #E0E0E0; /* used by theme borders */
    --vz-card-bg: #FFFFFF;  /* used by card backgrounds */
    --color-gradient: linear-gradient(320deg, var(--platinum) 0%, #FFFFFF 100%);

    /* Bootstrap variables remap */
    --bs-primary: var(--garnet);
    --bs-secondary: var(--ebony);
    --bs-success: var(--ebony);
    --bs-info: var(--battleship-gray);
    --bs-warning: var(--platinum);
    --bs-danger: var(--garnet);
    --bs-light: var(--platinum);
    --bs-dark: var(--ebony);

    --bs-link-color: var(--garnet);
    --bs-link-hover-color: color-mix(in srgb, var(--garnet) 86%, #000);
    --bs-body-color: var(--dim-gray);
    --bs-body-bg: var(--platinum);
    --bs-border-color: color-mix(in srgb, var(--battleship-gray) 30%, #e5e7eb);
    --bs-heading-color: var(--ebony);
}

/* Base elements */
body {
    color: var(--color-text) !important;
    background-color: var(--color-surface) !important;
}

a, .link-primary {
    color: var(--color-primary) !important;
}

/* Header */
.header.header-one {
    background: #fff !important;
    border-bottom: 1px solid color-mix(in srgb, var(--color-primary) 12%, #e5e7eb) !important;
}
.header .user-menu .nav-link,
.header .logo-text { color: var(--color-primary) !important; }
.top-nav-search .form-control { border-color: var(--color-muted) !important; }
.top-nav-search .btn { color: var(--color-primary) !important; }

/* Buttons (Bootstrap override-friendly) */
.btn-primary {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}
.btn-primary:hover,
.btn-primary:focus {
    filter: brightness(0.92);
}

.btn-secondary {
    background-color: var(--color-secondary) !important;
    border-color: var(--color-secondary) !important;
}

.btn-outline-primary {
    color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}
.btn-outline-primary:hover {
    background-color: var(--color-primary) !important;
    color: #fff !important;
}

/* Cards and subtle surfaces */
.card {
    background-color: #fff;
    border-color: rgba(0, 0, 0, 0.06);
}
.card-header {
    background-color: color-mix(in srgb, var(--color-primary) 8%, #ffffff) !important;
}

/* Utility helpers */
.text-dim-gray { color: var(--dim-gray) !important; }
.text-ebony { color: var(--ebony) !important; }
.text-garnet { color: var(--garnet) !important; }
.text-battleship-gray { color: var(--battleship-gray) !important; }

.bg-platinum { background-color: var(--platinum) !important; }
.bg-ebony { background-color: var(--ebony) !important; }
.bg-garnet { background-color: var(--garnet) !important; }
.bg-dim-gray { background-color: var(--dim-gray) !important; }
.bg-battleship-gray { background-color: var(--battleship-gray) !important; }

.border-garnet { border-color: var(--garnet) !important; }
.border-ebony { border-color: var(--ebony) !important; }
.border-dim-gray { border-color: var(--dim-gray) !important; }

/* Sidebar */
.sidebar { background-color: #fff !important; border-inline-start: 1px solid color-mix(in srgb, var(--color-secondary) 10%, #e5e7eb) !important; }
.sidebar a, .sidebar .nav-link { color: var(--color-text) !important; }
.sidebar a:hover { color: var(--color-primary) !important; }
.sidebar .menu-title span { color: var(--color-muted) !important; }
.sidebar .submenu > a { color: var(--color-text) !important; }
.sidebar .submenu > a:hover { color: var(--color-primary) !important; }
.sidebar .submenu .menu-arrow { color: var(--color-muted) !important; }

/* Force any default blue in sidebar to our palette */
.sidebar [class*="text-primary"],
.sidebar .active > a,
.sidebar a.active,
.sidebar .nav-link.active {
    color: var(--color-primary) !important;
}

.sidebar .nav-link:hover,
.sidebar .submenu li a:hover {
    color: var(--color-primary) !important;
}

/* إزالة جميع الألوان الزرقاء من Sidebar بشكل خاص */
.sidebar a,
.sidebar .nav-link,
.sidebar .submenu a,
.sidebar .sidebar-vertical a,
.sidebar .sidebar-horizantal a {
    color: var(--color-text) !important;
    text-decoration: none !important;
}

.sidebar a:hover,
.sidebar .nav-link:hover,
.sidebar .submenu a:hover,
.sidebar .sidebar-vertical a:hover,
.sidebar .sidebar-horizantal a:hover {
    color: var(--color-primary) !important;
    text-decoration: none !important;
    background-color: transparent !important;
}

.sidebar a:focus,
.sidebar .nav-link:focus,
.sidebar .submenu a:focus,
.sidebar .sidebar-vertical a:focus,
.sidebar .sidebar-horizantal a:focus {
    color: var(--color-primary) !important;
    text-decoration: none !important;
    background-color: transparent !important;
    outline: none !important;
}

.sidebar a:active,
.sidebar .nav-link:active,
.sidebar .submenu a:active,
.sidebar .sidebar-vertical a:active,
.sidebar .sidebar-horizantal a:active {
    color: var(--color-primary) !important;
    text-decoration: none !important;
    background-color: transparent !important;
}

/* إزالة الألوان الزرقاء من أيقونات Sidebar */
.sidebar i,
.sidebar .fe,
.sidebar .fas,
.sidebar .far {
    color: var(--color-text) !important;
}

.sidebar a:hover i,
.sidebar a:hover .fe,
.sidebar a:hover .fas,
.sidebar a:hover .far {
    color: var(--color-primary) !important;
}

/* إزالة الألوان الزرقاء من أسهم القوائم */
.sidebar .menu-arrow {
    color: var(--color-muted) !important;
}

.sidebar a:hover .menu-arrow {
    color: var(--color-primary) !important;
}

/* إزالة جميع الألوان الزرقاء من النصوص */
.text-primary,
.text-info,
.text-blue,
[class*="text-primary"],
[class*="text-info"],
[class*="text-blue"] {
    color: var(--color-primary) !important;
}

/* إزالة الألوان الزرقاء من الروابط */
a:not(.btn):not(.dropdown-item),
.link-primary,
[class*="link-primary"] {
    color: var(--color-primary) !important;
}

a:not(.btn):not(.dropdown-item):hover,
.link-primary:hover,
[class*="link-primary"]:hover {
    color: color-mix(in srgb, var(--color-primary) 86%, #000) !important;
}

/* إزالة الألوان الزرقاء من الأزرار */
.btn-primary,
.btn-info,
[class*="btn-primary"],
[class*="btn-info"] {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: #ffffff !important;
}

.btn-primary:hover,
.btn-info:hover,
[class*="btn-primary"]:hover,
[class*="btn-info"]:hover {
    background-color: color-mix(in srgb, var(--color-primary) 86%, #000) !important;
    border-color: color-mix(in srgb, var(--color-primary) 86%, #000) !important;
    color: #ffffff !important;
}

/* إزالة الألوان الزرقاء من الخلفيات */
.bg-primary,
.bg-info,
[class*="bg-primary"],
[class*="bg-info"] {
    background-color: var(--color-primary) !important;
}

/* إزالة الألوان الزرقاء من الحدود */
.border-primary,
.border-info,
[class*="border-primary"],
[class*="border-info"] {
    border-color: var(--color-primary) !important;
}

/* -------------------------------------------------------
   Global components overrides (Bootstrap-friendly)
   ------------------------------------------------------- */
/* Headings & text */
h1, h2, h3, h4, h5, h6 { color: var(--ebony) !important; }
p, .text-body { color: var(--color-text) !important; }
.text-muted { color: var(--color-muted) !important; }

/* Links */
a { color: var(--color-primary) !important; }
a:hover, a:focus { color: color-mix(in srgb, var(--color-primary) 86%, #000) !important; }
.btn-link { color: var(--color-primary) !important; }
.btn-link:hover { color: color-mix(in srgb, var(--color-primary) 86%, #000) !important; }

/* Nav tabs */
.nav-tabs .nav-link { color: var(--color-text) !important; border-color: transparent !important; }
.nav-tabs .nav-link:hover { color: var(--color-primary) !important; }
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link { color: var(--color-primary) !important; border-color: var(--color-primary) var(--color-primary) transparent !important; }

/* Tables */
.table thead th { background-color: color-mix(in srgb, var(--color-primary) 6%, #ffffff) !important; color: var(--ebony) !important; }
.table tbody td { color: var(--color-text) !important; }
.table-bordered { border-color: color-mix(in srgb, var(--color-muted) 30%, #e5e7eb) !important; }
.table-bordered > :not(caption) > * { border-color: color-mix(in srgb, var(--color-muted) 30%, #e5e7eb) !important; }

/* Forms */
.form-control { border-color: color-mix(in srgb, var(--color-muted) 40%, #d1d5db) !important; color: var(--color-text) !important; }
.form-control:focus { border-color: var(--color-primary) !important; box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--color-primary) 18%, transparent) !important; }
.form-select { border-color: color-mix(in srgb, var(--color-muted) 40%, #d1d5db) !important; color: var(--color-text) !important; }
.form-select:focus { border-color: var(--color-primary) !important; box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--color-primary) 18%, transparent) !important; }

/* Badges */
.badge.bg-primary, .badge-primary { background-color: var(--color-primary) !important; }
.badge.bg-secondary, .badge-secondary { background-color: var(--color-secondary) !important; }

/* Alerts */
.alert-primary { background-color: color-mix(in srgb, var(--color-primary) 10%, #ffffff) !important; color: var(--garnet) !important; border-color: color-mix(in srgb, var(--color-primary) 20%, #ffffff) !important; }
.alert-secondary { background-color: color-mix(in srgb, var(--color-secondary) 10%, #ffffff) !important; color: var(--ebony) !important; border-color: color-mix(in srgb, var(--color-secondary) 20%, #ffffff) !important; }

/* Pagination */
.pagination .page-link { color: var(--color-primary) !important; border-color: color-mix(in srgb, var(--color-muted) 30%, #e5e7eb) !important; }
.pagination .page-item.active .page-link { background-color: var(--color-primary) !important; border-color: var(--color-primary) !important; }
.pagination .page-link:hover { color: color-mix(in srgb, var(--color-primary) 86%, #000) !important; }

/* Dropdowns */
.dropdown-menu { border-color: color-mix(in srgb, var(--color-muted) 30%, #e5e7eb) !important; }
.dropdown-item.active, .dropdown-item:active { background-color: color-mix(in srgb, var(--color-primary) 12%, #ffffff) !important; color: var(--garnet) !important; }

/* Buttons */
.btn-primary { background-color: var(--color-primary) !important; border-color: var(--color-primary) !important; }
.btn-primary:hover, .btn-primary:focus { filter: brightness(0.92) !important; }
.btn-secondary { background-color: var(--color-secondary) !important; border-color: var(--color-secondary) !important; }
.btn-outline-primary { color: var(--color-primary) !important; border-color: var(--color-primary) !important; }
.btn-outline-primary:hover { background-color: var(--color-primary) !important; color: #fff !important; }

/* Additional button variants mapped to palette */
.btn-info { background-color: var(--battleship-gray) !important; border-color: var(--battleship-gray) !important; color: #fff !important; }
.btn-success { background-color: var(--ebony) !important; border-color: var(--ebony) !important; color: #fff !important; }
.btn-warning { background-color: var(--platinum) !important; border-color: var(--platinum) !important; color: #333 !important; }
.btn-danger { background-color: var(--garnet) !important; border-color: var(--garnet) !important; color: #fff !important; }
.btn-dark { background-color: var(--ebony) !important; border-color: var(--ebony) !important; color: #fff !important; }
.btn-light { background-color: var(--platinum) !important; border-color: var(--platinum) !important; color: #333 !important; }
.btn-outline-secondary { color: var(--ebony) !important; border-color: var(--ebony) !important; }
.btn-outline-success { color: var(--ebony) !important; border-color: var(--ebony) !important; }
.btn-outline-danger { color: var(--garnet) !important; border-color: var(--garnet) !important; }
.btn-outline-info { color: var(--battleship-gray) !important; border-color: var(--battleship-gray) !important; }
.btn-outline-dark { color: var(--ebony) !important; border-color: var(--ebony) !important; }
.btn-outline-light { color: #333 !important; border-color: var(--platinum) !important; background-color: transparent !important; }

/* Text/bg utility remaps */
.text-primary { color: var(--garnet) !important; }
.text-secondary { color: var(--ebony) !important; }
.text-success { color: var(--ebony) !important; }
.text-danger { color: var(--garnet) !important; }
.text-info { color: var(--battleship-gray) !important; }
.text-warning { color: #333 !important; }
.bg-primary { background-color: var(--garnet) !important; }
.bg-secondary { background-color: var(--ebony) !important; }
.bg-success { background-color: var(--ebony) !important; }
.bg-danger { background-color: var(--garnet) !important; }
.bg-info { background-color: var(--battleship-gray) !important; }
.bg-warning { background-color: var(--platinum) !important; }
.border-primary { border-color: var(--garnet) !important; }
.border-secondary { border-color: var(--ebony) !important; }
.border-success { border-color: var(--ebony) !important; }
.border-danger { border-color: var(--garnet) !important; }
.border-info { border-color: var(--battleship-gray) !important; }

/* إزالة جميع الألوان الزرقاء من أي مكان في التطبيق */
* {
    --bs-primary: var(--garnet) !important;
    --bs-info: var(--battleship-gray) !important;
}

/* إزالة الألوان الزرقاء من جميع الروابط */
a:not(.btn):not(.dropdown-item):not(.sidebar a) {
    color: var(--color-primary) !important;
}

a:not(.btn):not(.dropdown-item):not(.sidebar a):hover {
    color: color-mix(in srgb, var(--color-primary) 86%, #000) !important;
}

/* إزالة الألوان الزرقاء من جميع النصوص */
.text-primary:not(.sidebar .text-primary),
.text-info:not(.sidebar .text-info),
[class*="text-primary"]:not(.sidebar [class*="text-primary"]),
[class*="text-info"]:not(.sidebar [class*="text-info"]) {
    color: var(--color-primary) !important;
}

/* إزالة الألوان الزرقاء من جميع الأزرار */
.btn-primary:not(.sidebar .btn-primary),
.btn-info:not(.sidebar .btn-info),
[class*="btn-primary"]:not(.sidebar [class*="btn-primary"]),
[class*="btn-info"]:not(.sidebar [class*="btn-info"]) {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: #ffffff !important;
}

.btn-primary:not(.sidebar .btn-primary):hover,
.btn-info:not(.sidebar .btn-info):hover,
[class*="btn-primary"]:not(.sidebar [class*="btn-primary"]):hover,
[class*="btn-info"]:not(.sidebar [class*="btn-info"]):hover {
    background-color: color-mix(in srgb, var(--color-primary) 86%, #000) !important;
    border-color: color-mix(in srgb, var(--color-primary) 86%, #000) !important;
    color: #ffffff !important;
}
.border-warning { border-color: var(--platinum) !important; }

/* Form controls and switches */
.form-check-input:checked { background-color: var(--garnet) !important; border-color: var(--garnet) !important; }
.form-switch .form-check-input:checked { background-color: var(--garnet) !important; border-color: var(--garnet) !important; }
.form-range::-webkit-slider-thumb { background: var(--garnet) !important; }
.form-range::-moz-range-thumb { background: var(--garnet) !important; }

/* Breadcrumbs and page headers */
.breadcrumb .breadcrumb-item a { color: var(--garnet) !important; }
.breadcrumb .breadcrumb-item.active { color: var(--ebony) !important; }
.content-page-header, .page-header, .content-invoice-header { border-color: color-mix(in srgb, var(--battleship-gray) 30%, #e5e7eb) !important; }

/* DataTables & pagination accents */
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--garnet) !important; border-color: var(--garnet) !important; color: #fff !important;
}
.dataTables_wrapper .dataTables_filter input { border-color: color-mix(in srgb, var(--battleship-gray) 40%, #d1d5db) !important; }

/* Sidebar specifics: vertical list and active states */
.sidebar-vertical a { color: var(--color-text) !important; }
.sidebar-vertical a:hover { color: var(--garnet) !important; }
.sidebar-vertical .active > a,
.sidebar-vertical a.active {
    color: var(--garnet) !important;
}
.sidebar .menu-arrow:before { color: var(--battleship-gray) !important; }

/* Tabs (pills) */
.nav-pills .nav-link.active, .nav-pills .show > .nav-link { background-color: var(--garnet) !important; }

/* Badges extended */
.badge.bg-primary, .badge-primary { background-color: var(--garnet) !important; }
.badge.bg-secondary, .badge-secondary { background-color: var(--ebony) !important; }
.badge.bg-success, .badge-success { background-color: var(--ebony) !important; }
.badge.bg-danger, .badge-danger { background-color: var(--garnet) !important; }
.badge.bg-info, .badge-info { background-color: var(--battleship-gray) !important; }
.badge.bg-warning, .badge-warning { background-color: var(--platinum) !important; color: #333 !important; }
