/**
 * MES admin brand theme
 * Dark: #040403 | Accent: #cc1f35
 */
:root {
    --mes-brand-dark: #040403;
    --mes-brand-red: #cc1f35;
    --mes-brand-red-hover: #a8182b;
    --mes-brand-red-active: #8f1525;
    --mes-brand-red-rgb: 204, 31, 53;
    --mes-brand-red-subtle: #fdf1f3;
    --mes-brand-red-border: #f0c4ca;

    --bs-primary: #cc1f35;
    --bs-primary-rgb: 204, 31, 53;
    --bs-primary-text-emphasis: #520c16;
    --bs-primary-bg-subtle: #fdf1f3;
    --bs-primary-border-subtle: #f0c4ca;

    --bs-link-color: #cc1f35;
    --bs-link-hover-color: #a8182b;
    --bs-focus-ring-color: rgba(204, 31, 53, 0.25);

    /* DataTables processing dots + selected rows */
    --dt-row-selected: 204, 31, 53;
}

/* ---- Typography ---- */
h1, h2, h3, h4, h5, h6,
.card-title,
.dashboard-header h2,
.page-title {
    color: var(--mes-brand-dark);
}

.text-primary {
    color: var(--mes-brand-red) !important;
}

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

.link-primary:hover,
a.text-primary:hover {
    color: var(--mes-brand-red-hover) !important;
}

/* ---- Buttons ---- */
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--mes-brand-red);
    --bs-btn-border-color: var(--mes-brand-red);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--mes-brand-red-hover);
    --bs-btn-hover-border-color: var(--mes-brand-red-hover);
    --bs-btn-active-bg: var(--mes-brand-red-active);
    --bs-btn-active-border-color: var(--mes-brand-red-active);
    --bs-btn-focus-shadow-rgb: var(--mes-brand-red-rgb);
    background-color: var(--mes-brand-red);
    border-color: var(--mes-brand-red);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--mes-brand-red-hover);
    border-color: var(--mes-brand-red-hover);
}

.btn-outline-primary {
    --bs-btn-color: var(--mes-brand-red);
    --bs-btn-border-color: var(--mes-brand-red);
    --bs-btn-hover-bg: var(--mes-brand-red);
    --bs-btn-hover-border-color: var(--mes-brand-red);
    --bs-btn-active-bg: var(--mes-brand-red-active);
    --bs-btn-active-border-color: var(--mes-brand-red-active);
    --bs-btn-focus-shadow-rgb: var(--mes-brand-red-rgb);
    color: var(--mes-brand-red);
    border-color: var(--mes-brand-red);
}

.btn-outline-primary:hover {
    background-color: var(--mes-brand-red);
    border-color: var(--mes-brand-red);
    color: #fff;
}

/* ---- Sidebar ---- */
.brand-logo {
    padding: 0.75rem 0.5rem 1rem;
    border-bottom: 1px solid #f0f0f0;
    justify-self: center;

}

.brand-logo .logo-img img {
    display: block;
    max-height: 48px;
    width: auto;
    max-width: 300px;

    object-fit: contain;
}

.sidebar-nav ul .sidebar-item .sidebar-link:hover {
    background: var(--mes-brand-red-subtle);
    color: var(--mes-brand-red);
}

.sidebar-nav ul .sidebar-item.selected > .sidebar-link.active,
.sidebar-nav ul .sidebar-item.selected > .sidebar-link,
.sidebar-nav ul .sidebar-item > .sidebar-link.active,
.sidebar-nav ul .sidebar-item .first-level .sidebar-item .sidebar-link.active {
    background: var(--mes-brand-red-subtle) !important;
    color: var(--mes-brand-red) !important;
}

.sidebar-item .sidebar-link::before {
    background: var(--mes-brand-red);
}

.sidebar-item .first-level .sidebar-link:hover {
    background: rgba(var(--mes-brand-red-rgb), 0.08);
    color: var(--mes-brand-red);
}

.badge.bg-danger {
    background-color: var(--mes-brand-red) !important;
}

/* ---- Nav tabs ---- */
.nav-tabs .nav-link.active {
    color: var(--mes-brand-red) !important;
    border-bottom: 2px solid var(--mes-brand-red) !important;
}

.nav-pills .nav-link.active {
    background-color: var(--mes-brand-red);
}

/* ---- Forms ---- */
.form-control:focus,
.form-select:focus {
    border-color: var(--mes-brand-red);
    box-shadow: 0 0 0 0.2rem rgba(var(--mes-brand-red-rgb), 0.15);
}

.form-check-input:checked {
    background-color: var(--mes-brand-red);
    border-color: var(--mes-brand-red);
}

.form-check-input:focus {
    border-color: var(--mes-brand-red);
    box-shadow: 0 0 0 0.2rem rgba(var(--mes-brand-red-rgb), 0.15);
}

/* ---- Pagination & tables ---- */
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.page-item.active .page-link {
    background: var(--mes-brand-red) !important;
    border-color: var(--mes-brand-red) !important;
    color: #fff !important;
}

.page-link {
    color: var(--mes-brand-red);
}

.page-link:hover {
    color: var(--mes-brand-red-hover);
}

.order-export-col-cb:checked + label {
    color: var(--mes-brand-red);
}

/* ---- Dashboard stat icons ---- */
.stat-card-icon.primary {
    background: linear-gradient(135deg, var(--mes-brand-red) 0%, var(--mes-brand-red-active) 100%);
    color: #fff;
}

.border-primary {
    border-color: var(--mes-brand-red) !important;
}

.bg-primary {
    background-color: var(--mes-brand-red) !important;
}

.bg-primary-subtle {
    background-color: var(--mes-brand-red-subtle) !important;
    color: var(--mes-brand-red) !important;
}

/* ---- Settings page nav ---- */
.settings-nav .nav-link.active {
    border-left-color: var(--mes-brand-red) !important;
    color: var(--mes-brand-red) !important;
}

.settings-nav .nav-link:hover {
    color: var(--mes-brand-red-hover);
}

/* ---- Scrollbar ---- */
.left-sidebar .scroll-sidebar::-webkit-scrollbar-thumb {
    background: rgba(var(--mes-brand-red-rgb), 0.35);
}

.left-sidebar .scroll-sidebar:hover::-webkit-scrollbar-thumb,
.left-sidebar .scroll-sidebar:focus-within::-webkit-scrollbar-thumb {
    background: rgba(var(--mes-brand-red-rgb), 0.55);
}

/* ---- Select2 ---- */
.select2-container--bootstrap-5 .select2-selection--single:focus,
.select2-container--bootstrap-5.select2-container--focus .select2-selection {
    border-color: var(--mes-brand-red);
    box-shadow: 0 0 0 0.2rem rgba(var(--mes-brand-red-rgb), 0.15);
}

.select2-container--bootstrap-5 .select2-results__option--highlighted {
    background-color: var(--mes-brand-red);
}

/* ---- Login (Bootstrap 4) ---- */
body.admin-login .btn-primary {
    background-color: var(--mes-brand-red);
    border-color: var(--mes-brand-red);
}

body.admin-login .btn-primary:hover,
body.admin-login .btn-primary:focus {
    background-color: var(--mes-brand-red-hover);
    border-color: var(--mes-brand-red-hover);
}

body.admin-login .form-control:focus {
    border-color: var(--mes-brand-red);
    box-shadow: 0 0 0 0.2rem rgba(var(--mes-brand-red-rgb), 0.15);
}

/* ---- Loaders & spinners ---- */
.spinner-border.text-primary,
.spinner-grow.text-primary {
    --bs-spinner-color: var(--mes-brand-red);
    color: var(--mes-brand-red) !important;
}

.bx-loader-alt.bx-spin,
.bx-loader.bx-spin,
i.bx-spin {
    color: var(--mes-brand-red);
}

.btn .bx-loader-alt.bx-spin,
.btn .bx-loader.bx-spin {
    color: currentColor;
}

.btn-primary .bx-loader-alt.bx-spin,
.btn-primary .bx-loader.bx-spin,
.btn-outline-primary .bx-loader-alt.bx-spin {
    color: #fff;
}

#global-loader {
    background: #fff;
}

#global-loader .loader-img img,
.loader-img img {
    filter: none;
}

/* DataTables: hide default bouncing dots (spinner-only via BaseDataTable) */
div.dt-processing > div:last-child,
.dataTables_wrapper .dataTables_processing > div:last-child {
    display: none !important;
}

div.dt-processing,
.dataTables_wrapper .dataTables_processing {
    color: var(--mes-brand-dark);
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(4, 4, 3, 0.08);
    background: rgba(255, 255, 255, 0.96) !important;
    padding: 10px 14px !important;
}
