/* Dark Mode Styles */
.dark {
    --tw-bg-gray-100: #000000; /* Black background for body */
    --tw-text-gray-900: #ffffff; /* White text for readability */
    --tw-bg-gray-800: #000000; /* Black background for containers */
    --tw-bg-gray-700: #1a1a1a; /* Slightly lighter black for headers */
    --tw-bg-gray-600: #2e2e2e; /* Dark gray for hover states */
    --tw-bg-primary-800: #2b6cb0;
    --tw-bg-primary-700: #3b4c5a;
    --tw-bg-white: #000000; /* Black for elements using tw-bg-white */
    --tw-border-color: #3f405b;
    --tw-theme-color: #635bfe;
}

.dark body {
    background-color: var(--tw-bg-gray-100) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .tw-bg-gray-100 {
    background-color: var(--tw-bg-gray-100) !important;
}

.dark .tw-text-gray-900,
.dark .tw-text-gray-600,
.dark .hover\:tw-text-gray-900:hover {
    color: var(--tw-text-gray-900) !important;
}

.dark .tw-bg-white,
.dark .hover\:tw-bg-gray-100:hover {
    background-color: var(--tw-bg-white) !important;
}

.dark .tw-border-gray-200 {
    border-color: #333333 !important;
}

.dark .tw-bg-gradient-to-r {
    background: #000000 !important;
}

.dark .tw-bg-primary-800 {
    background-color: var(--tw-bg-primary-800) !important;
}

.dark .tw-bg-primary-700 {
    background-color: var(--tw-bg-primary-700) !important;
}

.dark .tw-border-primary-500\/30 {
    border-color: rgba(59, 130, 246, 0.3) !important;
}

.dark .tw-bg-@if(!empty(session('business.theme_color'))){{session('business.theme_color')}}@else{{'primary'}}@endif-800 {
    background-color: #000000 !important;
}

.dark .tw-bg-@if(!empty(session('business.theme_color'))){{session('business.theme_color')}}@else{{'primary'}}@endif-700 {
    background-color: #ffaf30 !important;
}

/* Ensure headings are white in dark mode */
.dark h1, .dark h2, .dark h3, .dark h4, .dark h5, .dark h6,
.dark .login-header, .dark .form-header, .dark .catalogue-title, .dark .blue-heading,
.dark .table-pdf thead tr th, .dark .add-product-price-table th, .dark .table-th-green th {
    color: #fff !important;
}

/* Dark mode for card-header.bg-light with higher specificity */
.dark div.card-header.bg-light {
    background-color: var(--tw-bg-gray-800) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark div.card-header.bg-light h5 {
    color: #fff !important;
}

/* Override dark mode for login screen */
.dark .left-col {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.76), rgba(51, 51, 51, 0.32)), url(../img/home-bg.jpg) !important;
    color: #1A7BF9 !important;
}

.dark .right-col {
    background: linear-gradient(to right, #6366f1, #3b82f6) !important;
}

.dark .left-col-content,
.dark .login-header,
.dark .login-header a,
.dark .form-header {
    color: #fff !important;
}

.dark .right-col-content input,
.dark .input_inline input {
    background-color: #fff !important;
    color: #000 !important;
    border-color: #ddd !important;
}

/* Sidebar in dark mode */
.dark .main-sidebar, .dark aside.side-bar, .dark #side-bar, .dark .tw-flex-1.tw-p-3,
.dark .chiled, .dark .tw-relative.tw-mt-2, .dark .tw-relative.tw-mt-2.tw-mb-4,
.dark .tw-space-y-3\.5, .dark .tw-pb-1.tw-rounded-md.tw-bg-gray-200 {
    background-color: #000000 !important;
    color: #ffffff !important;
}

.dark .main-sidebar {
    border-color: #333333 !important;
}

.dark .sidebar-menu > li > a, .dark #side-bar a, .dark .tw-flex-1.tw-p-3 a {
    color: #ffffff !important;
    background-color: transparent !important;
}

.dark .sidebar-menu > li:hover > a, .dark .sidebar-menu > li.active > a,
.dark #side-bar a:hover, .dark .tw-flex-1.tw-p-3 a:hover {
    background-color: #333333 !important;
    color: #ffffff !important;
}

.dark .treeview-menu {
    background: var(--tw-bg-gray-800) !important;
}

.dark .treeview-menu a {
    color: var(--tw-text-gray-900) !important;
}

.dark .treeview-menu a:hover {
    color: #fff !important;
}

.dark .side-bar a[class*="tw-bg-"], .dark aside.side-bar a[class*="tw-bg-"],
.dark [class*="tw-bg-primary-"] {
    background-color: #1a1a1a !important;
    border-color: #333333 !important;
}

.dark #side-bar a[class*="tw-bg-gray-200"], .dark #side-bar a[class*="tw-text-primary-700"],
.dark .tw-flex-1.tw-p-3 a[class*="tw-bg-gray-200"], .dark .tw-flex-1.tw-p-3 a[class*="tw-text-primary-700"] {
    background-color: #1e40af !important;
    color: #ffffff !important;
}

.dark .chiled a, .dark .tw-relative.tw-mt-2 a, .dark .tw-space-y-3\.5 a {
    color: #cccccc !important;
}

.dark .chiled a:hover, .dark .chiled a[class*="tw-text-primary-700"],
.dark .tw-relative.tw-mt-2 a:hover, .dark .tw-relative.tw-mt-2 a[class*="tw-text-primary-700"],
.dark .tw-space-y-3\.5 a:hover, .dark .tw-space-y-3\.5 a[class*="tw-text-primary-700"] {
    color: #60a5fa !important;
    background-color: #1a1a1a !important;
}

.dark .chiled .tw-bg-gray-200, .dark .tw-relative.tw-mt-2 .tw-bg-gray-200,
.dark .tw-absolute.tw-inset-y-0, .dark .tw-absolute.tw-w-px {
    background-color: #333333 !important;
}

.dark #side-bar svg, .dark .side-bar svg, .dark .tw-flex-1.tw-p-3 svg {
    color: currentColor !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}

/* Layout Styles */
.dark .main-header, .dark .top, .dark .topbar, .dark .pos-topbar, .dark .grid-container {
    background-color: var(--tw-bg-gray-700) !important;
    color: var(--tw-text-gray-900) !important;
    border-color: var(--tw-border-color) !important;
}

.dark .content-wrapper, .dark [class*="wrapper"] {
    background-color: var(--tw-bg-gray-800) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .main-footer {
    background-color: var(--tw-bg-gray-100) !important;
}

/* Box and Card Styles */
.dark .box, .dark .card, .dark .box-header, .dark .box-body, .dark .box-footer,
.dark .card-inner, .dark .card-back.card-body, .dark .card-front.card-body {
    background-color: var(--tw-bg-gray-800) !important;
    color: var(--tw-text-gray-900) !important;
    border-color: var(--tw-border-color) !important;
    box-shadow: 0 2px 4px rgba(255, 255, 255, 0.1) !important;
}

/* Dark Mode Table Styles */
.dark .table, .dark .table-pdf {
    background-color: #000000;
    border: 1px solid #374151;
    box-shadow: 0 1px 3px rgba(255, 255, 255, 0.1);
}

.dark .table th, .dark .table td {
    border-color: #374151;
    color: #e5e7eb;
}

.dark .table th, .dark .table-pdf thead tr, .dark .add-product-price-table th,
.dark .table-th-green th, .dark .blue-header th {
    background-color: #1f2a44;
    color: #ffffff !important;
}

.dark .table-striped tbody tr:nth-of-type(odd) {
    background-color: #1f2a44;
}

.dark .table-hover tbody tr:hover {
    background-color: #374151;
}

.dark .table-pdf .odd {
    background-color: #1f2a44;
}

.dark .td-border td, .dark .td-border th {
    border-bottom-color: #374151 !important;
}

table.table-border-center > tbody > tr > td:first-child,
.dark table.table-border-center > thead > tr > th:first-child,
.dark table.table-border-center > tfoot > tr > td:first-child {
    border-right-color: #6b7280;
}

.dark table.table-border-center-col > tbody > tr > td:nth-child(2),
.dark table.table-border-center-col > thead > tr > th:nth-child(2),
.dark table.table-border-center-col > tfoot > tr > td:nth-child(2) {
    border-right-color: #6b7280;
    border-left-color: #6b7280;
}

.dark .table-transparent, .dark .table-transparent th {
    background-color: transparent !important;
    color: #e5e7eb !important;
}

.dark .table-slim.no-border tbody tr:hover {
    background-color: #374151 !important;
}

.dark .pos_form_totals .table, .dark .pos_form_totals .table tbody tr td {
    background-color: #000000 !important;
    border-color: #374151 !important;
    color: #e5e7eb !important;
}

.dark .table>thead>tr>th, .dark .table>tbody>tr>th, .dark .table>tfoot>tr>th,
.dark .table>thead>tr>td, .dark .table>tbody>tr>td, .dark .table>tfoot>tr>td,
.dark .table-pdf>thead>tr>th, .dark .table-pdf>tbody>tr>th, .dark .table-pdf>tfoot>tr>th,
.dark .table-pdf>thead>tr>td, .dark .table-pdf>tbody>tr>td, .dark .table-pdf>tfoot>tr>td,
.dark .product-info-table>thead>tr>th, .dark .product-info-table>tbody>tr>th,
.dark .product-info-table>tfoot>tr>th, .dark .product-info-table>thead>tr>td,
.dark .product-info-table>tbody>tr>td, .dark .product-info-table>tfoot>tr>td,
.dark .add-product-price-table>thead>tr>th, .dark .add-product-price-table>tbody>tr>th,
.dark .add-product-price-table>tfoot>tr>th, .dark .add-product-price-table>thead>tr>td,
.dark .add-product-price-table>tbody>tr>td, .dark .add-product-price-table>tfoot>tr>td,
.dark .general-table>thead>tr>th, .dark .general-table>tbody>tr>th,
.dark .general-table>tfoot>tr>th, .dark .general-table>thead>tr>td,
.dark .general-table>tbody>tr>td, .dark .general-table>tfoot>tr>td,
.dark .table-bordered>thead>tr>th, .dark .table-bordered>tbody>tr>th,
.dark .table-bordered>tfoot>tr>th, .dark .table-bordered>thead>tr>td,
.dark .table-bordered>tbody>tr>td, .dark .table-bordered>tfoot>tr>td,
.dark .max-table>thead>tr>th, .dark .max-table>tbody>tr>th,
.dark .max-table>tfoot>tr>th, .dark .max-table>thead>tr>td,
.dark .max-table>tbody>tr>td, .dark .max-table>tfoot>tr>td,
.dark .table-border-center-col>thead>tr>th, .dark .table-border-center-col>tbody>tr>th,
.dark .table-border-center-col>tfoot>tr>th, .dark .table-border-center-col>thead>tr>td,
.dark .table-border-center-col>tbody>tr>td, .dark .table-border-center-col>tfoot>tr>td,
.dark .report-table>thead>tr>th, .dark .report-table>tbody>tr>th,
.dark .report-table>tfoot>tr>th, .dark .report-table>thead>tr>td,
.dark .report-table>tbody>tr>td, .dark .report-table>tfoot>tr>td {
    background-color: #000000 !important;
    color: #e5e7eb !important;
    border-color: #374151 !important;
}

.dark .table-pdf thead tr, .dark .table-bordered thead th, .dark .max-table thead th,
.dark .table-border-center-col thead th, .dark .general-table thead th {
    background-color: #1f2a44 !important;
    color: #ffffff !important;
}

.dark .table-striped>tbody>tr:nth-of-type(even), .dark .table-condensed tbody tr:nth-of-type(even) {
    background-color: #000000 !important;
}

.dark .general-table tbody tr:hover, .dark .report-table tr:hover {
    background-color: #374151 !important;
}

/* Form and Input Styles */
.dark .form-control, .dark input[type="text"], .dark input[type="number"],
.dark input[type="password"], .dark input[type="email"], .dark select,
.dark textarea, .dark .form-control.input-sm, .dark #select_location_id,
.dark .discount-form input, .dark .discount-form select, .dark #invoice_discount_type,
.dark .form-box input[type="file"], .dark .setting-three-grid input,
textarea.form-control, .dark .form-group textarea, .dark .form-control[type="textarea"] {
    background-color: var(--tw-bg-gray-700) !important;
    border-color: var(--tw-border-color) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .form-control:focus, .dark .well .input-group .form-control:focus,
.dark textarea.form-control:focus {
    border-color: var(--tw-text-gray-900) !important;
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.5) !important;
}

.dark .input-group-addon {
    background-color: var(--tw-bg-gray-800) !important;
    border-color: var(--tw-border-color) !important;
    color: var(--tw-text-gray-900) !important;
}

/* Checkbox in Dark Mode */
.dark input[type="checkbox"] {
    background: var(--tw-bg-gray-700) !important;
    border-color: var(--tw-text-gray-900) !important;
}

.dark input[type="checkbox"]:checked {
    background: var(--tw-theme-color) !important;
    border-color: var(--tw-theme-color) !important;
}

.dark input[type="checkbox"]:checked::after {
    border-color: var(--tw-text-gray-900) !important;
}

.dark .icheckbox_square-blue {
    background: var(--tw-bg-gray-700) !important;
    border-color: var(--tw-text-gray-900) !important;
}

.dark .icheckbox_square-blue.checked {
    background: var(--tw-theme-color) !important;
    border-color: var(--tw-theme-color) !important;
}

.dark .icheckbox_square-blue.checked::after {
    border-color: var(--tw-text-gray-900) !important;
}

/* Select2 Styles */
.dark .select2-container--default .select2-selection--single,
.dark .select2-container--default .select2-selection--multiple,
.dark .select2-selection {
    background-color: var(--tw-bg-gray-100) !important;
    border-color: var(--tw-border-color) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--tw-text-gray-900) !important;
}

.dark .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--tw-text-gray-900) transparent transparent transparent !important;
}

.dark .select2-container--default .select2-dropdown,
.dark .select2-results__options,
.dark .select2-results__option,
.dark .select2-search--dropdown .select2-search__field {
    background-color: var(--tw-bg-gray-100) !important;
    border-color: var(--tw-border-color) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .select2-results__option--highlighted,
.dark .select2-container--open .select2-results__option--highlighted {
    background-color: var(--tw-bg-gray-600) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .select2-selection__choice {
    background-color: var(--tw-bg-gray-600) !important;
    border-color: var(--tw-border-color) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .select2-selection__choice__remove:hover {
    color: #d9534f !important;
}

.dark .select2-search--dropdown .select2-search__field:focus {
    border-color: var(--tw-text-gray-900) !important;
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.5) !important;
}

/* Dropdown Styles */
.dark .dropdown-menu,
.dark .main-header .navbar-custom-menu .dropdown-menu,
.dark .modal .dropdown-menu,
.dark .navbar-nav>.notifications-menu>.dropdown-menu,
.dark .navbar-nav>.user-menu>.dropdown-menu {
    background-color: var(--tw-bg-gray-100) !important;
    border-color: var(--tw-border-color) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .dropdown-menu li a,
.dark .navbar-nav>.notifications-menu>.dropdown-menu li .menu li a {
    background-color: var(--tw-bg-gray-100) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .dropdown-menu li a:hover,
.dark .dropdown-menu li a:focus,
.dark .navbar-nav>.notifications-menu>.dropdown-menu li .menu li a:hover {
    background-color: var(--tw-bg-gray-600) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .dropdown-menu .divider {
    background-color: var(--tw-bg-gray-700) !important;
    border-top: 1px solid var(--tw-border-color) !important;
}

/* Modal Styles */
.dark .modal-content, .dark .modal-body, .dark .modal-footer {
    background-color: var(--tw-bg-gray-800) !important;
    color: var(--tw-text-gray-900) !important;
    border-color: var(--tw-border-color) !important;
}

.dark .modal-header {
    border-bottom: 1px solid var(--tw-border-color) !important;
}

.dark .modal-body a, .dark .modal-footer a {
    color: #00bcd4 !important;
}
.dark .modal-body a:hover, .dark .modal-footer a:hover {
    color: #00e5ff !important;
}

.dark .swal-modal {
    background-color: var(--tw-bg-gray-800) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .swal-title, .dark .swal-text {
    color: var(--tw-text-gray-900) !important;
}

.dark .swal-footer {
    border-top: 1px solid var(--tw-border-color) !important;
}

.dark .swal-button {
    background-color: var(--tw-bg-gray-600) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .swal-button--cancel {
    background-color: var(--tw-bg-gray-700) !important;
}

.dark .swal-button--danger {
    background-color: #e64942 !important;
}

.dark .swal-content__input, .dark .swal-content__textarea {
    background-color: var(--tw-bg-gray-700) !important;
    border-color: var(--tw-border-color) !important;
    color: var(--tw-text-gray-900) !important;
}

/* Button Styles */
.dark .btn, .dark .btn-default, .dark .dt-buttons .btn, .dark .modal-footer .btn,
.dark .input-group-btn .btn, .dark .btn-modal img, .dark .filter .btn,
.dark .filter .add-user-modal-btn, .dark .button-box button, .dark #create_ledger_pdf,
.dark #send_ledger, .dark .report-print, .dark #stock_adjustment_date_filter {
    background-color: var(--tw-bg-gray-600) !important;
    color: var(--tw-text-gray-900) !important;
    border-color: var(--tw-border-color) !important;
}

.dark .btn:hover, .dark .btn-default:hover, .dark .dt-buttons .btn:hover,
.dark .modal-footer .btn:hover, .dark .input-group-btn .btn:hover, .dark .filter .btn:hover,
.dark .filter .add-user-modal-btn:hover, .dark .button-box button:hover,
.dark #create_ledger_pdf:hover, .dark #send_ledger:hover, .dark .report-print:hover,
.dark #stock_adjustment_date_filter:hover {
    background-color: #ffaf30 !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .btn.bg-navy, .dark #refresh_orders {
    background-color: var(--tw-bg-gray-100) !important;
    border-color: var(--tw-bg-gray-100) !important;
}
.dark .btn.bg-navy:hover, .dark #refresh_orders:hover {
    background-color: #ffb600 !important;
}

.dark .btn-primary, .dark .new-user .btn-modal, .dark button.primary-btn,
.dark button.add-user-modal, .dark .new-user .add-user-modal-btn,
.dark input.btn-success, .dark .btn-warning, .dark a.pos {
    background-color: var(--tw-theme-color) !important;
    border-color: var(--tw-theme-color) !important;
}

.dark .btn-primary:hover, .dark .new-user .btn-modal:hover, .dark button.primary-btn:hover,
.dark button.add-user-modal:hover, .dark .new-user .add-user-modal-btn:hover,
.dark input.btn-success:hover, .dark .btn-warning:hover, .dark a.pos:hover {
    background-color: #ffaf30 !important;
}

.dark .btn.small-box-footer, .dark .small-box a.small-box-footer {
    background-color: var(--tw-bg-gray-700) !important;
    border-color: var(--tw-border-color) !important;
}
.dark .btn.small-box-footer:hover, .dark .small-box a.small-box-footer:hover {
    background-color: var(--tw-bg-gray-600) !important;
}

/* Pagination Styles */
.dark .pagination {
    background-color: var(--tw-bg-gray-800) !important;
}

.dark .pagination li a {
    background-color: var(--tw-bg-gray-700) !important;
    border-color: var(--tw-border-color) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .pagination li.active a {
    background-color: var(--tw-bg-gray-600) !important;
}

.dark .pagination li.disabled a {
    color: #666 !important;
    background-color: var(--tw-bg-gray-800) !important;
    border-color: var(--tw-border-color) !important;
}

.dark .pagination li a:hover {
    background-color: #555 !important;
}

/* DataTables Styles */
.dark .dataTables_scrollHeadInner thead th {
    background-color: var(--tw-bg-gray-700) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .dataTable .btn-group .btn {
    background-color: var(--tw-bg-gray-800) !important;
    border-color: var(--tw-bg-gray-100) !important;
}
.dark .dataTable .btn-group .btn:hover {
    background-color: var(--tw-bg-gray-700) !important;
}
.dark .dataTable .btn-group .btn:focus, .dark .dataTable .btn-group .btn:active {
    background-color: var(--tw-bg-gray-600) !important;
}

/* POS and Tab Styles */
.dark .pos-tab-container, .dark .pos-tab-content, .dark .pos_form_totals .table tbody tr td {
    background-color: var(--tw-bg-gray-800) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .pos-tab-menu .list-group-item.active {
    background-color: var(--tw-bg-gray-600) !important;
    border-color: var(--tw-border-color) !important;
}

.dark .pos-form-actions {
    background-color: var(--tw-bg-gray-800) !important;
}

/* Kanban Styles */
.dark .kanban-board {
    background-color: var(--tw-bg-gray-800) !important;
}

.dark .kanban-board-header {
    background-color: var(--tw-bg-gray-700) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .kanban-board-header.success { background-color: #2f855a !important; }
.dark .kanban-board-header.info { background-color: var(--tw-bg-primary-800) !important; }
.dark .kanban-board-header.warning { background-color: #d69e2e !important; }
.dark .kanban-board-header.error { background-color: #c53030 !important; }
.dark .kanban-board-header.new { color: #f687b3 !important; }

.dark .kanban-item {
    background-color: var(--tw-bg-gray-700) !important;
    color: var(--tw-text-gray-900) !important;
    box-shadow: 0 1px 3px rgba(255, 255, 255, 0.1), 0 1px 2px rgba(255, 255, 255, 0.2) !important;
}

.dark .kanban-item:hover::before {
    background-color: var(--tw-theme-color) !important;
}

/* Scrollbar Styles */
.dark ::-webkit-scrollbar {
    width: 3px !important;
    height: 3px !important;
    background-color: var(--tw-bg-gray-800) !important;
}

.dark ::-webkit-scrollbar-track {
    background: var(--tw-bg-gray-700) !important;
}

.dark ::-webkit-scrollbar-thumb {
    background: var(--tw-theme-color) !important;
    border-radius: 5px !important;
}

.dark ::-webkit-scrollbar-thumb:hover {
    background: #ffaf30 !important;
}

/* FullCalendar Styles */
.dark .fc, .dark .fc-day, .dark .fc-day-top, .dark .fc-list-item,
.dark .fc-view-container, .dark .fc-widget-content, .dark .fc-scroller {
    background-color: var(--tw-bg-gray-800) !important;
    border-color: var(--tw-border-color) !important;
}

.dark .fc-day-header, .dark .fc-list-heading {
    background-color: var(--tw-bg-gray-700) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .fc-today, .dark .fc-day:hover, .dark .fc-day-top:hover, .dark .fc-list-item:hover {
    background-color: var(--tw-bg-gray-600) !important;
}

.dark .fc-button, .dark .fc-prev-button, .dark .fc-next-button {
    background-color: var(--tw-bg-gray-700) !important;
    color: var(--tw-text-gray-900) !important;
    border: none !important;
}
.dark .fc-button:hover, .dark .fc-prev-button:hover, .dark .fc-next-button:hover {
    background-color: var(--tw-bg-gray-600) !important;
}
.dark .fc-button.fc-state-active {
    background-color: var(--tw-bg-gray-600) !important;
}
.dark .fc-center h2 {
    color: var(--tw-text-gray-900) !important;
}

/* Highcharts Styles */
.dark .highcharts-container, .dark .highcharts-background {
    background-color: var(--tw-bg-gray-800) !important;
    fill: var(--tw-bg-gray-800) !important;
}
.dark .highcharts-axis-labels text, .dark .highcharts-axis-title text,
.dark .highcharts-title, .dark .highcharts-subtitle, .dark .highcharts-legend-item text {
    fill: var(--tw-text-gray-900) !important;
}
.dark .highcharts-grid-line, .dark .highcharts-plot-border {
    stroke: var(--tw-border-color) !important;
}
.dark .highcharts-tooltip {
    background-color: var(--tw-bg-gray-600) !important;
    color: var(--tw-text-gray-900) !important;
}
.dark .highcharts-contextmenu {
    background-color: var(--tw-bg-gray-700) !important;
    color: var(--tw-text-gray-900) !important;
    border-color: var(--tw-border-color) !important;
}
.dark .highcharts-contextmenu .highcharts-menu-item {
    color: var(--tw-text-gray-900) !important;
    background: none !important;
}
.dark .highcharts-contextmenu .highcharts-menu-item:hover {
    background-color: var(--tw-bg-gray-600) !important;
}

/* TinyMCE Styles */
.dark .tox, .dark .tox-menubar, .dark .tox-toolbar__group, .dark .tox-editor-header,
.dark .tox-edit-area__iframe, .dark .tox-statusbar, .dark .tox-sidebar-wrap,
.dark .tox-collection__group, .dark .tox-collection__item {
    background-color: var(--tw-bg-gray-800) !important;
    border-color: var(--tw-border-color) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .tox-collection__item--active, .dark .tox-collection__item:hover {
    background-color: var(--tw-bg-gray-600) !important;
}
.dark .tox .tox-statusbar__path, .dark .tox .tox-statusbar__wordcount, .dark .tox .tox-statusbar__branding a {
    color: #aaaaaa !important;
}
.dark .tox-icon .tox-tbtn__icon-wrap svg, .dark .tox-toolbar__group button .tox-icon svg,
.dark .tox-split-button .tox-icon tox-tbtn__icon-wrap svg path,
.dark .tox-split-button .tox-split-button__chevron svg path {
    fill: var(--tw-text-gray-900) !important;
}

/* Dropzone Styles */
.dark #shipping_documents_dropzone {
    background-color: var(--tw-bg-gray-800) !important;
    border: 2px dashed #555 !important;
}

/* Miscellaneous Styles */
.dark .quick-data, .dark .short-list-item, .dark .horizontal-scroll, .dark .storys-container,
.dark #accordion, .dark .topbar-sub-menu, .dark .notification-list, .dark .kitchen-order-item,
.dark .drawer-side, .dark #category-drawer .btn.category-back, .dark #category-drawer .close-side-bar-category,
.dark #category-drawer .main-category, .dark #category-drawer .product_category button,
.dark #category-drawer .card-body, .dark .sub-category-dropdown,
.dark .sub-category-dropdown .product_category .card-body, .dark .drawer-menu,
.dark .drawer-menu .product_brand .card-body, .dark .nav-tabs-custom,
.dark .nav-tabs-custom .tab-content, .dark .product-card, .dark .full-summary,
.dark .pricing-card, .dark .notification-template-tags, .dark .label-box,
.dark .subject-form, .dark #ui-id-1, .dark .ui-menu-item,
.dark .well.well-sm.bg-light-gray, .dark .info-box, .dark .panel.panel-default, .dark .panel-body {
    background-color: var(--tw-bg-gray-800) !important;
    border-color: var(--tw-border-color) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .storys-container .sub-menu-item.active {
    background-color: var(--tw-bg-gray-100) !important;
}

.dark .storys-container .sub-menu-item:hover, .dark .ui-menu-item:hover {
    background-color: var(--tw-bg-gray-700) !important;
}

.dark .nav-tabs-custom .nav-tabs li.active a, .dark .nav-tabs-custom .nav-tabs li a:hover {
    background-color: var(--tw-bg-gray-600) !important;
}

.dark .nav-tabs-custom .nav-tabs li a {
    background-color: var(--tw-bg-gray-800) !important;
}

.dark .product-card .label-success.heading, .dark .info-box-icon {
    background-color: var(--tw-bg-gray-600) !important;
}

.dark .accordionTitle, .dark .accordionTitle.is-open {
    background-color: var(--tw-bg-gray-600) !important;
    border-color: var(--tw-bg-gray-800) !important;
}

.dark .variation_images, .dark .pos-tab-content .option-div,
.dark .pos-tab-content .btn-success, .dark .pos-tab-content .input-group-btn .btn {
    background-color: var(--tw-bg-gray-700) !important;
    border-color: var(--tw-border-color) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .pos-tab-content .option-div.active, .dark .pos-tab-content .btn-success:hover,
.dark .pos-tab-content .input-group-btn .btn:hover {
    background-color: var(--tw-bg-gray-600) !important;
}

.dark .pos-tab-content hr {
    border-top: 1px solid var(--tw-border-color) !important;
}

/* Image and Icon Filters */
.dark .dt-buttons .btn img, .dark .dataTable .btn-group .btn img, .dark .export-icon,
.dark .dropdown-toggle, .dark .topbar-sub-menu .sub-menu-link img, .dark .filter-modal-btn img,
.dark #dashboard_date_filter img, .dark .discount-btn img, .dark .right-section img,
.dark .bill-to-option img, .dark .edit_variation_button, .dark .edit_category_button,
.dark .edit_brand_button, .dark .edit_tax_rate_button, .dark .view_payment, .dark .#menuBtn,
.dark .view-button, .dark .edit_role_button, .dark .btn-primary img, .dark .filter img,
.dark .accordionTitle svg, .dark #print_ledger_pdf img, .dark #send_ledger img, .dark .pos:hover img {
    filter: invert(100%) !important;
}

/* Popover Styles */
.dark .popover, .dark .popover-content {
    background-color: var(--tw-bg-gray-800) !important;
    border-color: var(--tw-border-color) !important;
}

.dark .popover-title {
    background-color: var(--tw-bg-gray-700) !important;
    border-bottom: 1px solid var(--tw-border-color) !important;
}

.dark .popover .arrow {
    border-bottom-color: var(--tw-bg-gray-800) !important;
}

.dark .popover .btn-primary {
    background-color: var(--tw-bg-gray-700) !important;
    border-color: var(--tw-border-color) !important;
}

/* Specific Overrides */
.dark .status { color: #000000 !important; }
.dark .report-card-wrapper .report-table td span.login { color: #1E3A8A !important; }
.dark .report-card-wrapper .report-table td span.verified { color: #166534 !important; }
.dark .report-card-wrapper .report-table td span.email-sent { color: #854D0E !important; }
.dark .report-card-wrapper .report-table td span.payment-edited { color: #9CA3AF !important; }
.dark .report-card-wrapper .report-table td span.logout { color: #B91C1C !important; }
.dark .table-condensed .danger td, .dark .table-condensed .danger th { background-color: #FF5733 !important; }
.dark .table-condensed .success td, .dark .table-condensed .success th { background-color: #50C878 !important; }
.dark .input-group-btn .btn .fa-minus { color: #dc3545 !important; }
.dark .input-group-btn .btn .fa-plus { color: #28a745 !important; }

.dark .small-box.bg-aqua, .dark .small-box.bg-yellow, .dark .small-box.bg-red, .dark .bg-aqua,
.dark .list-group-unbordered .list-group-item .label-success, .dark .badge.bg-green,
.dark .bg-green, .dark .success th {
    background-color: var(--tw-bg-gray-600) !important;
}

.dark .list-group-unbordered .list-group-item, .dark .list-group-item.text-center.active {
    background-color: var(--tw-bg-gray-800) !important;
    border-color: var(--tw-border-color) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .modal-footer .btn-default, .dark .footer-btn .btn-default, .dark .pull-right button.btn-success {
    background-color: var(--tw-bg-gray-800) !important;
    border-color: var(--tw-bg-gray-100) !important;
}
.dark .modal-footer .btn-default:hover, .dark .footer-btn .btn-default:hover,
.dark .pull-right button.btn-success:hover {
    border-color: var(--tw-bg-gray-600) !important;
    color: #ffaf30 !important;
}

.dark code, .dark mark {
    background-color: var(--tw-bg-gray-600) !important;
}

.dark .bg-danger { background-color: #721c24 !important; }
.dark .bg-success { background-color: #155724 !important; }
.dark .bg-info { background-color: #0c5460 !important; }
.dark .bg-warning { background-color: #856404 !important; }

/* Invert logo in dark mode for better visibility */
.dark .side-bar img {
    filter: invert(1) hue-rotate(180deg);
}

/* Ensure business name text is white if used as logo */
.dark .side-bar-heading {
    color: #fff !important;
}

/*
-- TEMPORARY THEME COLORS - NOT RECOMMENDED --
-- These will be deleted on the next CSS re-compile --
*/

/* SKY THEME */
.tw-from-sky-800 {
    --tw-gradient-from: #075985 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(7 89 133 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.tw-to-sky-900 {
    --tw-gradient-to: #0c4a6e var(--tw-gradient-to-position);
}
.tw-bg-sky-800 {
    background-color: #075985;
}
.hover\:tw-bg-sky-700:hover {
    background-color: #0369a1;
}

/* SLATE THEME */
.tw-from-slate-800 {
    --tw-gradient-from: #1e293b var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(30 41 59 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.tw-to-slate-900 {
    --tw-gradient-to: #0f172a var(--tw-gradient-to-position);
}
.tw-bg-slate-800 {
    background-color: #1e293b;
}
.hover\:tw-bg-slate-700:hover {
    background-color: #334155;
}

/*
-- TEMPORARY MODERN COLORS - NOT RECOMMENDED --
*/

/* INDIGO THEME */
.tw-from-indigo-800 { --tw-gradient-from: #3730a3 var(--tw-gradient-from-position); --tw-gradient-to: rgb(55 48 163 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.tw-to-indigo-900 { --tw-gradient-to: #312e81 var(--tw-gradient-to-position); }
.tw-bg-indigo-800 { background-color: #3730a3; }
.hover\:tw-bg-indigo-700:hover { background-color: #4338ca; }

/* CYAN THEME */
.tw-from-cyan-800 { --tw-gradient-from: #0e7490 var(--tw-gradient-from-position); --tw-gradient-to: rgb(14 116 144 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.tw-to-cyan-900 { --tw-gradient-to: #164e63 var(--tw-gradient-to-position); }
.tw-bg-cyan-800 { background-color: #0e7490; }
.hover\:tw-bg-cyan-700:hover { background-color: #0891b2; }

/* ROSE THEME */
.tw-from-rose-800 { --tw-gradient-from: #be123c var(--tw-gradient-from-position); --tw-gradient-to: rgb(190 18 60 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.tw-to-rose-900 { --tw-gradient-to: #881337 var(--tw-gradient-to-position); }
.tw-bg-rose-800 { background-color: #be123c; }
.hover\:tw-bg-rose-700:hover { background-color: #e11d48; }

/*
-- TEMPORARY ICON THEMES - NOT RECOMMENDED --
*/

/* EXECUTIVE GRID THEME */
.tw-from-executive-800, .tw-to-executive-900, .tw-bg-executive-800, .hover\:tw-bg-executive-700:hover {
  background-color: #312e81;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%234338ca' fill-opacity='0.4' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E");
}

/* TECH CIRCUIT THEME */
.tw-from-tech-800, .tw-to-tech-900, .tw-bg-tech-800, .hover\:tw-bg-tech-700:hover {
  background-color: #1e293b;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg fill-rule='evenodd'%3E%3Cg fill='%23334155' fill-opacity='0.4'%3E%3Cpath d='M0 38.59l2.83-2.83 1.41 1.41L1.41 40H0v-1.41zM0 1.4l2.83 2.83 1.41-1.41L1.41 0H0v1.41zM38.59 40l-2.83-2.83 1.41-1.41L40 38.59V40h-1.41zM40 1.41l-2.83 2.83-1.41-1.41L38.59 0H40v1.41zM20 18.6l2.83-2.83 1.41 1.41L21.41 20l2.83 2.83-1.41 1.41L20 21.41l-2.83 2.83-1.41-1.41L18.59 20l-2.83-2.83 1.41-1.41L20 18.59z'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

/* FINANCIAL GROWTH THEME */
.tw-from-finance-800, .tw-to-finance-900, .tw-bg-finance-800, .hover\:tw-bg-finance-700:hover {
  background-color: #064e3b;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cg fill='%23065f46' fill-opacity='0.3'%3E%3Cpath fill-rule='evenodd' d='M0 10h4v2H0v-2zm6 0h4v2H6v-2zm6 0h4v2h-4v-2zm6 0h4v2h-4v-2zM0 4h4v2H0V4zm6 0h4v2H6V4zm6 0h4v2h-4V4zm6 0h4v2h-4V4zM0 16h4v2H0v-2zm6 0h4v2H6v-2zm6 0h4v2h-4v-2zm6 0h4v2h-4v-2zM0 0h4v2H0V0zm6 0h4v2H6V0zm6 0h4v2h-4V0zm6 0h4v2h-4V0z'/%3E%3C/g%3E%3C/svg%3E");
}

/* Dark Mode for Settings Page Layout */
.dark .pos-tab-container {
    background-color: var(--tw-bg-gray-800) !important;
    border-color: var(--tw-border-color) !important;
}

.dark .pos-tab-menu .list-group-item {
    background-color: var(--tw-bg-gray-800) !important;
    border-color: var(--tw-border-color) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .pos-tab-menu .list-group-item:hover {
    background-color: var(--tw-bg-gray-700) !important;
}

.dark .pos-tab-menu .list-group-item.active {
    background: linear-gradient(to right, #147cbb, #0f5f92) !important;
    color: #ffffff !important;
    border-color: #147cbb !important;
}

/* Dark Mode for Professional Panel Styles */
.dark .panel-primary {
    border-color: #147cbb;
}
.dark .panel-primary > .panel-heading {
    background-color: #147cbb;
    border-color: #147cbb;
    color: #fff;
}
.dark .panel, .dark .panel-body {
    background-color: var(--tw-bg-gray-800) !important;
    color: var(--tw-text-gray-900) !important;
    border-color: var(--tw-border-color) !important;
}
.dark .panel-body .help-block {
    color: #a0aec0; /* Lighter help text for dark mode */
}

/* Dark Mode for Settings Page Layout & Tabs */
.dark .pos-tab-container,
.dark .pos-tab-content {
    background-color: var(--tw-bg-gray-800) !important;
    border-color: var(--tw-border-color) !important;
}

.dark .pos-tab-menu .list-group-item {
    background-color: var(--tw-bg-gray-800) !important;
    border-color: var(--tw-border-color) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .pos-tab-menu .list-group-item:hover {
    background-color: var(--tw-bg-gray-700) !important;
}

.dark .pos-tab-menu .list-group-item.active {
    background: linear-gradient(to right, #147cbb, #0f5f92) !important;
    color: #ffffff !important;
    border-color: #147cbb !important;
}

/* Dark Mode for Reward Points & Other 'well' components */
.dark .well {
    background-color: #1a1a1a !important; /* Slightly lighter than main bg */
    border-color: var(--tw-border-color) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .well h4 {
    color: #ffffff !important;
}

/* Dark Mode for Checkbox Labels */
.dark .checkbox label,
.dark .checkbox strong {
    color: #ffffff !important;
}

.dark .input-icheck, .dark input[type="checkbox"] {
    background-color: var(--tw-bg-gray-700) !important;
    border-color: #a4a4a4 !important;
}

.dark .input-icheck:checked, .dark input[type="checkbox"]:checked {
    background-color: #147cbb !important;
    border-color: #147cbb !important;
}
/* Dark Mode for Reward Points & Other 'well' components */
.dark .well {
    background-color: #1a1a1a !important; /* Slightly lighter than main bg */
    border-color: var(--tw-border-color) !important;
    color: var(--tw-text-gray-900) !important;
}

.dark .well h4 {
    color: #ffffff !important;
}

/* Dark Mode for Checkbox Labels and Checkboxes */
.dark .checkbox label,
.dark .checkbox strong {
    color: #ffffff !important;
}

.dark .input-icheck, .dark input[type="checkbox"] {
    background-color: var(--tw-bg-gray-700) !important;
    border-color: #a4a4a4 !important;
}

.dark .input-icheck:checked, .dark input[type="checkbox"]:checked {
    background-color: #147cbb !important;
    border-color: #147cbb !important;
}

/* === START: FINAL HIGH-PRIORITY DARK MODE CHECKBOX STYLES (v2) === */
/* This block provides matching dark mode styles for all checkboxes. */

/* --- Part 1: Dark mode for Standard HTML Checkboxes --- */
.dark body input[type="checkbox"].form-check-input {
    background-color: #2e2e2e !important;
    border-color: #a4a4a4 !important;
}
.dark body input[type="checkbox"].form-check-input:checked {
    background-color: #147cbb !important;
    border-color: #147cbb !important;
}

/* --- Part 2: Dark mode for JS-Plugin Checkboxes --- */
.dark .icheckbox_square-blue {
    background-color: #2e2e2e !important;
    border-color: #a4a4a4 !important;
}
.dark .icheckbox_square-blue.checked {
    background-color: #147cbb !important;
    border-color: #147cbb !important;
}

/* --- Part 3: Dark mode for ALL checkbox labels --- */
.dark .checkbox label,
.dark .form-check-label,
.dark .checkbox strong {
    color: #ffffff !important;
}

/* === END: FINAL HIGH-PRIORITY DARK MODE CHECKBOX STYLES (v2) === */

/* darkmode.css */

/*
* FIX 1: Remove the overly broad rule that flattens all gradients.
* Find and DELETE or COMMENT OUT the following rule.
*/
/* .dark .tw-bg-gradient-to-r {
    background: #000000 !important;
} 
*/


/* * FIX 2: Add a specific, branded style for the buttons in dark mode.
* This new rule ensures your primary action buttons remain prominent and stylish.
* You can add this block anywhere in the "Button Styles" section.
*/
.dark .box-tools .tw-bg-gradient-to-r {
    background: linear-gradient(to right, #147cbb, #0f5f92) !important;
    color: #ffffff !important;
    border: 1px solid #147cbb !important;
}

.dark .box-tools .tw-bg-gradient-to-r:hover {
    background: linear-gradient(to right, #0f5f92, #147cbb) !important;
    opacity: 0.9;
}


/* * FIX 3: Correct the sidebar active item color for better contrast and branding.
* Find the existing rule below...
*/
.dark #side-bar a[class*="tw-bg-gray-200"], .dark #side-bar a[class*="tw-text-primary-700"],
.dark .tw-flex-1.tw-p-3 a[class*="tw-bg-gray-200"], .dark .tw-flex-1.tw-p-3 a[class*="tw-text-primary-700"] {
    background-color: #1e40af !important; /* This is the problematic line */
    color: #ffffff !important;
}

/* * ...and UPDATE it to use your brand's color gradient, like this:
*/
.dark #side-bar a[class*="tw-bg-gray-200"], .dark #side-bar a[class*="tw-text-primary-700"],
.dark .tw-flex-1.tw-p-3 a[class*="tw-bg-gray-200"], .dark .tw-flex-1.tw-p-3 a[class*="tw-text-primary-700"] {
    background: linear-gradient(to right, #147cbb, #0f5f92) !important; /* UPDATED line */
    color: #ffffff !important;
}