:root,
[data-coreui-theme="light"],
[data-coreui-theme="dark"] {
    /* Fonts */
    --cui-font-sans-serif: Arial, Helvetica, sans-serif;
    --cui-body-font-family: var(--cui-font-sans-serif);
    /* Corporate Colors */
    --icafal-dark-grey: #53565a;
    --icafal-white: #fff;
    --icafal-orange: #ff5900;
    --icafal-grey-600: #888b8d;
    --icafal-grey-500: #a7a8aa;
    --icafal-grey-400: #c2bfb8;
    --icafal-grey-200: #dbdcdb;
    --icafal-black: #000;
    /* Semantic UI Alert Colors (Isolated to Success/Danger only) */
    --icafal-success-green: #28a745;
    --icafal-danger-red: #dc3545;
    /* Overriding CoreUI/Bootstrap Variables */
    --cui-primary: var(--icafal-orange);
    --cui-primary-rgb: 255, 89, 0;
    --cui-secondary: var(--icafal-grey-600);
    --cui-secondary-rgb: 136, 139, 141;
    --cui-success: var(--icafal-success-green);
    --cui-success-rgb: 40, 167, 69;
    --cui-info: var(--icafal-grey-500);
    --cui-info-rgb: 167, 168, 170;
    --cui-warning: var(--icafal-orange);
    --cui-warning-rgb: 255, 89, 0;
    --cui-danger: var(--icafal-danger-red);
    --cui-danger-rgb: 220, 53, 69;
    --cui-light: var(--icafal-grey-200);
    --cui-light-rgb: 219, 220, 219;
    --cui-dark: var(--icafal-dark-grey);
    --cui-dark-rgb: 83, 86, 90;
    --cui-black: var(--icafal-black);
    --cui-black-rgb: 0, 0, 0;
    --cui-white: var(--icafal-white);
    --cui-white-rgb: 255, 255, 255;
    /* Grays - Strictly mapped to Corporate Palette */
    --cui-gray-100: var(--icafal-grey-200);
    --cui-gray-200: var(--icafal-grey-200);
    --cui-gray-300: var(--icafal-grey-400);
    --cui-gray-400: var(--icafal-grey-400);
    --cui-gray-500: var(--icafal-grey-500);
    --cui-gray-600: var(--icafal-grey-600);
    --cui-gray-700: var(--icafal-dark-grey);
    --cui-gray-800: var(--icafal-dark-grey);
    --cui-gray-900: var(--icafal-black);
    /* Body */
    --cui-body-bg: var(--icafal-white);
    --cui-body-color: var(--icafal-black);
    --cui-emphasis-color: var(--icafal-black);
    --cui-secondary-color: var(--icafal-grey-600);
    --cui-tertiary-color: var(--icafal-grey-500);
    /* Sidebar overrides */
    --cui-sidebar-bg: var(--icafal-dark-grey);
    --cui-sidebar-color: var(--icafal-white);
    --cui-sidebar-brand-bg: rgba(0, 0, 0, 0.2);
    /* Header overrides */
    --cui-header-bg: var(--icafal-white);
    --cui-header-border-color: var(--icafal-grey-200);
    /* Links */
    --cui-link-color: var(--icafal-orange);
    --cui-link-hover-color: #e64a00;
    /* Borders and Dividers */
    --cui-border-color: var(--icafal-grey-200);
    --cui-border-color-translucent: rgba(83, 86, 90, 0.175);
    /* Focus Ring */
    --cui-focus-ring-color: rgba(255, 89, 0, 0.25);
}

/* Force Arial on all elements */
body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, p, span, a, input, button, select, textarea {
    font-family: Arial, Helvetica, sans-serif !important;
}

/* ----------------------------------------- */
/* Component Overrides                       */
/* ----------------------------------------- */

.sidebar-nav .nav-link.active {
    --cui-sidebar-nav-link-active-bg: var(--icafal-orange);
}

.sidebar {
    --cui-sidebar-bg: var(--icafal-dark-grey);
}

/* Comprehensive Button Overrides */
.btn-primary {
    --cui-btn-bg: var(--icafal-orange);
    --cui-btn-border-color: var(--icafal-orange);
    --cui-btn-hover-bg: #e64a00;
    --cui-btn-hover-border-color: #e64a00;
    --cui-btn-active-bg: #cc4200;
    --cui-btn-active-border-color: #cc4200;
    --cui-btn-disabled-bg: var(--icafal-orange);
    --cui-btn-disabled-border-color: var(--icafal-orange);
}

.btn-outline-primary {
    --cui-btn-color: var(--icafal-orange);
    --cui-btn-border-color: var(--icafal-orange);
    --cui-btn-hover-bg: var(--icafal-orange);
    --cui-btn-hover-border-color: var(--icafal-orange);
    --cui-btn-active-bg: var(--icafal-orange);
    --cui-btn-active-border-color: var(--icafal-orange);
}

.btn-ghost-primary {
    --cui-btn-color: var(--icafal-orange);
    --cui-btn-hover-bg: rgba(255, 89, 0, 0.1);
    --cui-btn-active-bg: rgba(255, 89, 0, 0.2);
}

.btn-secondary {
    --cui-btn-bg: var(--icafal-grey-600);
    --cui-btn-border-color: var(--icafal-grey-600);
    --cui-btn-hover-bg: #717476;
    --cui-btn-hover-border-color: #717476;
}

.btn-outline-secondary {
    --cui-btn-color: var(--icafal-grey-600);
    --cui-btn-border-color: var(--icafal-grey-600);
}

.btn-success, .btn-ghost-success {
    --cui-btn-bg: var(--icafal-success-green);
    --cui-btn-border-color: var(--icafal-success-green);
    --cui-btn-color: var(--icafal-white);
    --cui-btn-hover-bg: #218838;
    --cui-btn-hover-border-color: #1e7e34;
}

.btn-outline-success:hover {
    color: #fff;
}

.btn-danger, .btn-ghost-danger {
    --cui-btn-bg: var(--icafal-danger-red);
    --cui-btn-border-color: var(--icafal-danger-red);
    --cui-btn-color: var(--icafal-white);
    --cui-btn-hover-bg: #c82333;
    --cui-btn-hover-border-color: #bd2130;
}

.btn-info, .btn-ghost-info {
    --cui-btn-bg: var(--icafal-grey-500);
    --cui-btn-border-color: var(--icafal-grey-500);
}

.btn-warning, .btn-ghost-warning {
    --cui-btn-bg: var(--icafal-orange);
    --cui-btn-border-color: var(--icafal-orange);
}

.btn-link {
    --cui-btn-color: var(--icafal-orange);
    --cui-btn-hover-color: #e64a00;
    --cui-btn-active-color: #cc4200;
}

/* ----------------------------------------- */
/* Table overrides & DataTables Integration  */
/* ----------------------------------------- */

/* Base Table & DataTables Support */
.table,
table.dataTable {
    --cui-table-border-color: var(--icafal-grey-200);
    border-collapse: collapse !important;
    margin-bottom: 1rem !important;
}

    /* Specific Row/Cell Overrides for DataTables */
    table.dataTable.no-footer {
        border-bottom: 1px solid var(--cui-table-border-color);
    }

    /* Contextual Classes (Primary, Secondary, etc.) */
    .table-primary,
    table.dataTable.table-primary {
        --cui-table-bg: rgba(255, 89, 0, 0.1);
        --cui-table-border-color: rgba(255, 89, 0, 0.2);
        --cui-table-striped-bg: rgba(255, 89, 0, 0.15);
        --cui-table-active-bg: rgba(255, 89, 0, 0.2);
        --cui-table-hover-bg: rgba(255, 89, 0, 0.175);
        --cui-table-color: var(--icafal-black);
    }

    .table-secondary,
    table.dataTable.table-secondary {
        --cui-table-bg: rgba(136, 139, 141, 0.1);
        --cui-table-border-color: rgba(136, 139, 141, 0.2);
        --cui-table-striped-bg: rgba(136, 139, 141, 0.15);
        --cui-table-active-bg: rgba(136, 139, 141, 0.2);
        --cui-table-hover-bg: rgba(136, 139, 141, 0.175);
        --cui-table-color: var(--icafal-black);
    }

    .table-success,
    table.dataTable.table-success {
        --cui-table-bg: rgba(40, 167, 69, 0.1);
        --cui-table-border-color: rgba(40, 167, 69, 0.2);
        --cui-table-striped-bg: rgba(40, 167, 69, 0.15);
        --cui-table-active-bg: rgba(40, 167, 69, 0.2);
        --cui-table-hover-bg: rgba(40, 167, 69, 0.175);
        --cui-table-color: var(--icafal-black);
    }

    .table-danger,
    table.dataTable.table-danger {
        --cui-table-bg: rgba(220, 53, 69, 0.1);
        --cui-table-border-color: rgba(220, 53, 69, 0.2);
        --cui-table-striped-bg: rgba(220, 53, 69, 0.15);
        --cui-table-active-bg: rgba(220, 53, 69, 0.2);
        --cui-table-hover-bg: rgba(220, 53, 69, 0.175);
        --cui-table-color: var(--icafal-black);
    }

    .table-warning,
    table.dataTable.table-warning {
        --cui-table-bg: rgba(255, 89, 0, 0.1);
        --cui-table-border-color: rgba(255, 89, 0, 0.2);
        --cui-table-striped-bg: rgba(255, 89, 0, 0.15);
        --cui-table-active-bg: rgba(255, 89, 0, 0.2);
        --cui-table-hover-bg: rgba(255, 89, 0, 0.175);
        --cui-table-color: var(--icafal-black);
    }

    .table-info,
    table.dataTable.table-info {
        --cui-table-bg: rgba(167, 168, 170, 0.1);
        --cui-table-border-color: rgba(167, 168, 170, 0.2);
        --cui-table-striped-bg: rgba(167, 168, 170, 0.15);
        --cui-table-active-bg: rgba(167, 168, 170, 0.2);
        --cui-table-hover-bg: rgba(167, 168, 170, 0.175);
        --cui-table-color: var(--icafal-black);
    }

    .table-light,
    table.dataTable.table-light {
        --cui-table-bg: var(--icafal-grey-200);
        --cui-table-border-color: var(--icafal-grey-400);
        --cui-table-striped-bg: rgba(0, 0, 0, 0.05);
        --cui-table-active-bg: rgba(0, 0, 0, 0.1);
        --cui-table-hover-bg: rgba(0, 0, 0, 0.075);
        --cui-table-color: var(--icafal-black);
    }

    .table-dark,
    table.dataTable.table-dark {
        --cui-table-bg: var(--icafal-dark-grey);
        --cui-table-border-color: rgba(255, 255, 255, 0.1);
        --cui-table-striped-bg: rgba(255, 255, 255, 0.05);
        --cui-table-active-bg: rgba(255, 255, 255, 0.1);
        --cui-table-hover-bg: rgba(255, 255, 255, 0.075);
        --cui-table-color: var(--icafal-white);
    }

    .table-active,
    table.dataTable tr.selected,
    table.dataTable .table-active {
        --cui-table-active-bg: rgba(255, 89, 0, 0.2);
        --cui-table-active-color: var(--icafal-black);
    }

/* DataTables UI Controls (Pagination, Search, etc.) */
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: var(--icafal-grey-200) !important;
    border-color: var(--icafal-grey-400) !important;
    color: var(--icafal-black) !important;
}

.dataTables_wrapper .dataTables_filter input {
    border: 1px solid var(--icafal-grey-400);
    border-radius: 4px;
    padding: 4px 8px;
}

/* ----------------------------------------- */
/* DataTables Header & Table-Primary Fix     */
/* ----------------------------------------- */

/* Force corporate colors on table-primary headers */
.table thead.table-primary th,
.table thead.table-primary td,
table.dataTable thead.table-primary th,
table.dataTable thead.table-primary td {
    --cui-table-bg: var(--icafal-orange);
    --cui-table-color: var(--icafal-white);
    --cui-table-border-color: var(--icafal-orange);
    background-color: var(--cui-table-bg) !important;
    color: var(--cui-table-color) !important;
    border-color: var(--cui-table-border-color) !important;
}

    /* Fix for DataTables sorting icons on dark backgrounds */
    table.dataTable thead.table-primary th.sorting:before,
    table.dataTable thead.table-primary th.sorting:after,
    table.dataTable thead.table-primary th.sorting_asc:before,
    table.dataTable thead.table-primary th.sorting_asc:after,
    table.dataTable thead.table-primary th.sorting_desc:before,
    table.dataTable thead.table-primary th.sorting_desc:after {
        opacity: 0.6;
        color: var(--icafal-white) !important;
    }

    table.dataTable thead.table-primary th.sorting_asc:before,
    table.dataTable thead.table-primary th.sorting_desc:after {
        opacity: 1; /* Highlight active sort arrow */
    }

/* ----------------------------------------- */
/* Input Group Overrides                     */
/* ----------------------------------------- */

.input-group-text {
    background-color: var(--icafal-orange);
    color: var(--icafal-white);
    border-color: var(--icafal-orange);
}

/* Optional: If you want an outlined version instead of solid filled */
.input-group-text-outline {
    background-color: transparent;
    color: var(--icafal-orange);
    border-color: var(--icafal-orange);
}

/* ----------------------------------------- */
/* DataTables Pagination Overrides           */
/* ----------------------------------------- */

/* Default Link State */
.dt-paging .page-link {
    color: var(--icafal-orange);
    border-color: var(--icafal-grey-200);
}

    /* Hover State */
    .dt-paging .page-link:hover {
        color: var(--icafal-white);
        background-color: var(--icafal-orange);
        border-color: var(--icafal-orange);
    }

/* Active (Current Page) State */
.dt-paging .page-item.active .page-link {
    z-index: 3;
    color: var(--icafal-white);
    background-color: var(--icafal-orange);
    border-color: var(--icafal-orange);
}

/* Focus State (Clicking/Tabbing) */
.dt-paging .page-link:focus {
    z-index: 3;
    color: var(--icafal-orange);
    background-color: rgba(255, 89, 0, 0.1); /* Subtle orange tint */
    outline: 0;
    box-shadow: 0 0 0 0.25rem var(--cui-focus-ring-color);
}

/* Disabled State (First/Prev/Next/Last limits) */
.dt-paging .page-item.disabled .page-link {
    color: var(--icafal-grey-400);
    pointer-events: none;
    background-color: var(--icafal-white);
    border-color: var(--icafal-grey-200);
}