/* Theme Toggle Button Styles */
#theme-toggle {
    border: 1px solid var(--bs-border-color);
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    transition: all 0.3s ease;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

#theme-toggle:hover {
    background: var(--bs-primary);
    color: white;
    border-color: var(--bs-primary);
    transform: scale(1.05);
}

#theme-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25);
}

#theme-icon {
    font-size: 18px;
    transition: transform 0.3s ease;
}

#theme-toggle:hover #theme-icon {
    transform: rotate(180deg);
}

/* Dark theme specific styles */
.dark-style #theme-toggle {
    border-color: var(--bs-border-color);
    background: var(--bs-dark);
    color: var(--bs-light);
}

.dark-style #theme-toggle:hover {
    background: var(--bs-primary);
    color: white;
}

/* Dark Theme Styles - Pure Black and White */
.dark-style {
    --bs-body-bg: #000000;
    --bs-body-color: #ffffff;
    --bs-border-color: #333333;
    --bs-card-bg: #1a1a1a;
    --bs-navbar-bg: #000000;
    --bs-sidebar-bg: #000000;
    --bs-primary: #ffffff;
    --bs-secondary: #666666;
    --bs-success: #ffffff;
    --bs-info: #ffffff;
    --bs-warning: #ffffff;
    --bs-danger: #ffffff;
    --bs-light: #ffffff;
    --bs-dark: #000000;
}

.dark-style body {
    background-color: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
}

.dark-style .layout-wrapper {
    background-color: var(--bs-body-bg) !important;
}

.dark-style .layout-page {
    background-color: var(--bs-body-bg) !important;
}

.dark-style .content-wrapper {
    background-color: var(--bs-body-bg) !important;
}

.dark-style .card {
    background-color: var(--bs-card-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

.dark-style .card-header {
    background-color: var(--bs-card-bg) !important;
    border-bottom-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

.dark-style .card-body {
    background-color: var(--bs-card-bg) !important;
    color: var(--bs-body-color) !important;
}

.dark-style .table {
    color: var(--bs-body-color) !important;
    background-color: var(--bs-card-bg) !important;
}

.dark-style .table th {
    background-color: var(--bs-card-bg) !important;
    color: #ffffff !important;
    border-color: var(--bs-border-color) !important;
}

.dark-style .table td {
    background-color: var(--bs-card-bg) !important;
    color: #ffffff !important;
    border-color: var(--bs-border-color) !important;
}

.dark-style .table-striped > tbody > tr:nth-of-type(odd) > td {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: #ffffff !important;
}

.dark-style .table-striped > tbody > tr:nth-of-type(even) > td {
    background-color: var(--bs-card-bg) !important;
    color: #ffffff !important;
}

.dark-style .table-hover > tbody > tr:hover > td {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
}

/* Additional table styling for dark theme */
.dark-style .table-responsive {
    background-color: var(--bs-card-bg) !important;
}

.dark-style .table-responsive .table {
    background-color: var(--bs-card-bg) !important;
    color: #ffffff !important;
}

.dark-style .table-responsive .table thead th {
    background-color: var(--bs-card-bg) !important;
    color: #ffffff !important;
    border-color: var(--bs-border-color) !important;
}

.dark-style .table-responsive .table tbody td {
    background-color: var(--bs-card-bg) !important;
    color: #ffffff !important;
    border-color: var(--bs-border-color) !important;
}

.dark-style .table-responsive .table tbody tr {
    background-color: var(--bs-card-bg) !important;
    color: #ffffff !important;
}

.dark-style .table-responsive .table tbody tr:nth-child(odd) {
    background-color: rgba(255, 255, 255, 0.02) !important;
}

.dark-style .table-responsive .table tbody tr:nth-child(even) {
    background-color: var(--bs-card-bg) !important;
}

.dark-style .table-responsive .table tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
}

/* Badge styling in dark theme */
.dark-style .badge {
    color: #000000 !important;
}

.dark-style .badge.bg-label-success {
    background-color: #28a745 !important;
    color: #ffffff !important;
}

.dark-style .badge.bg-label-danger {
    background-color: #dc3545 !important;
    color: #ffffff !important;
}

.dark-style .badge.bg-label-warning {
    background-color: #ffc107 !important;
    color: #000000 !important;
}

.dark-style .badge.bg-label-primary {
    background-color: #007bff !important;
    color: #ffffff !important;
}

.dark-style .badge.bg-label-secondary {
    background-color: #6c757d !important;
    color: #ffffff !important;
}

.dark-style .badge.bg-label-info {
    background-color: #17a2b8 !important;
    color: #ffffff !important;
}

/* Force table styling in dark theme */
.dark-style table {
    background-color: var(--bs-card-bg) !important;
    color: #ffffff !important;
}

.dark-style table * {
    color: #ffffff !important;
}

.dark-style table th,
.dark-style table td {
    background-color: var(--bs-card-bg) !important;
    color: #ffffff !important;
    border-color: var(--bs-border-color) !important;
}

.dark-style table tbody tr {
    background-color: var(--bs-card-bg) !important;
    color: #ffffff !important;
}

.dark-style table tbody tr:nth-child(odd) {
    background-color: rgba(255, 255, 255, 0.02) !important;
}

.dark-style table tbody tr:nth-child(even) {
    background-color: var(--bs-card-bg) !important;
}

.dark-style table tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
}

/* Override any existing table classes */
.dark-style .table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.02) !important;
    color: #ffffff !important;
}

.dark-style .table-striped tbody tr:nth-of-type(even) {
    background-color: var(--bs-card-bg) !important;
    color: #ffffff !important;
}

.dark-style .table-hover tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: #ffffff !important;
}

/* Specific overrides for Bootstrap table classes */
.dark-style .table-striped > tbody > tr:nth-of-type(odd) > td,
.dark-style .table-striped > tbody > tr:nth-of-type(odd) > th {
    background-color: rgba(255, 255, 255, 0.02) !important;
    color: #ffffff !important;
}

.dark-style .table-striped > tbody > tr:nth-of-type(even) > td,
.dark-style .table-striped > tbody > tr:nth-of-type(even) > th {
    background-color: var(--bs-card-bg) !important;
    color: #ffffff !important;
}

.dark-style .table-border-bottom-0 {
    border-bottom: none !important;
}

.dark-style .table-border-bottom-0 td {
    background-color: var(--bs-card-bg) !important;
    color: #ffffff !important;
    border-color: var(--bs-border-color) !important;
}

/* Override any inline styles */
.dark-style table[style] {
    background-color: var(--bs-card-bg) !important;
    color: #ffffff !important;
}

.dark-style table td[style],
.dark-style table th[style] {
    background-color: var(--bs-card-bg) !important;
    color: #ffffff !important;
}

/* Most aggressive table override */
.dark-style .card .table-responsive table,
.dark-style .card .table-responsive table thead,
.dark-style .card .table-responsive table tbody,
.dark-style .card .table-responsive table tr,
.dark-style .card .table-responsive table td,
.dark-style .card .table-responsive table th {
    background-color: var(--bs-card-bg) !important;
    color: #ffffff !important;
    border-color: var(--bs-border-color) !important;
}

.dark-style .card .table-responsive table tbody tr:nth-child(odd) {
    background-color: rgba(255, 255, 255, 0.02) !important;
}

.dark-style .card .table-responsive table tbody tr:nth-child(even) {
    background-color: var(--bs-card-bg) !important;
}

.dark-style .card .table-responsive table tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
}

/* Ultra aggressive table override - force everything */
.dark-style .card-body .table-responsive table,
.dark-style .card-body .table-responsive table *,
.dark-style .card-body .table-responsive table thead,
.dark-style .card-body .table-responsive table tbody,
.dark-style .card-body .table-responsive table tr,
.dark-style .card-body .table-responsive table td,
.dark-style .card-body .table-responsive table th {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #333333 !important;
}

.dark-style .card-body .table-responsive table tbody tr:nth-child(odd) td {
    background-color: rgba(255, 255, 255, 0.02) !important;
    color: #ffffff !important;
}

.dark-style .card-body .table-responsive table tbody tr:nth-child(even) td {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

.dark-style .card-body .table-responsive table tbody tr:hover td {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: #ffffff !important;
}

/* Force all text in table to be white */
.dark-style .card-body .table-responsive table * {
    color: #ffffff !important;
}

/* Override any Bootstrap table classes with maximum specificity */
.dark-style .card .card-body .table-responsive .table.table-striped,
.dark-style .card .card-body .table-responsive .table.table-striped thead,
.dark-style .card .card-body .table-responsive .table.table-striped tbody,
.dark-style .card .card-body .table-responsive .table.table-striped tr,
.dark-style .card .card-body .table-responsive .table.table-striped td,
.dark-style .card .card-body .table-responsive .table.table-striped th {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #333333 !important;
}

/* Target the specific accounts table structure */
.dark-style .container-xxl .card .card-body .table-responsive table,
.dark-style .container-xxl .card .card-body .table-responsive table thead,
.dark-style .container-xxl .card .card-body .table-responsive table tbody,
.dark-style .container-xxl .card .card-body .table-responsive table tr,
.dark-style .container-xxl .card .card-body .table-responsive table td,
.dark-style .container-xxl .card .card-body .table-responsive table th {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #333333 !important;
}

/* Force override with maximum specificity */
.dark-style .container-xxl .row .col-12 .card .card-body .table-responsive .table.table-striped,
.dark-style .container-xxl .row .col-12 .card .card-body .table-responsive .table.table-striped thead,
.dark-style .container-xxl .row .col-12 .card .card-body .table-responsive .table.table-striped tbody,
.dark-style .container-xxl .row .col-12 .card .card-body .table-responsive .table.table-striped tr,
.dark-style .container-xxl .row .col-12 .card .card-body .table-responsive .table.table-striped td,
.dark-style .container-xxl .row .col-12 .card .card-body .table-responsive .table.table-striped th {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #333333 !important;
}

.dark-style .navbar {
    background-color: var(--bs-navbar-bg) !important;
    border-bottom-color: var(--bs-border-color) !important;
}

.dark-style .navbar-nav .nav-link {
    color: var(--bs-body-color) !important;
}

.dark-style .dropdown-menu {
    background-color: var(--bs-card-bg) !important;
    border-color: var(--bs-border-color) !important;
}

.dark-style .dropdown-item {
    color: var(--bs-body-color) !important;
}

.dark-style .dropdown-item:hover {
    background-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

.dark-style .form-control {
    background-color: var(--bs-card-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

.dark-style .form-control:focus {
    background-color: var(--bs-card-bg) !important;
    border-color: var(--bs-primary) !important;
    color: var(--bs-body-color) !important;
}

.dark-style .form-select {
    background-color: var(--bs-card-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

.dark-style .form-select:focus {
    background-color: var(--bs-card-bg) !important;
    border-color: var(--bs-primary) !important;
    color: var(--bs-body-color) !important;
}

.dark-style .btn-outline-secondary {
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

.dark-style .btn-outline-secondary:hover {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: white !important;
}

.dark-style .text-muted {
    color: #adb5bd !important;
}

.dark-style .offcanvas {
    background-color: var(--bs-card-bg) !important;
    color: var(--bs-body-color) !important;
}

.dark-style .offcanvas-header {
    border-bottom-color: var(--bs-border-color) !important;
}

.dark-style .offcanvas-body {
    background-color: var(--bs-card-bg) !important;
    color: var(--bs-body-color) !important;
}

.dark-style .badge {
    color: var(--bs-body-color) !important;
}

.dark-style .alert {
    background-color: var(--bs-card-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

.dark-style .alert-success {
    background-color: rgba(25, 135, 84, 0.1) !important;
    border-color: #198754 !important;
    color: #75b798 !important;
}

.dark-style .alert-danger {
    background-color: rgba(220, 53, 69, 0.1) !important;
    border-color: #dc3545 !important;
    color: #f1aeb5 !important;
}

.dark-style .alert-info {
    background-color: rgba(13, 202, 240, 0.1) !important;
    border-color: #0dcaf0 !important;
    color: #6edff6 !important;
}

.dark-style .btn-close {
    filter: invert(1) !important;
}

.dark-style .select2-container--bootstrap-5 .select2-selection {
    background-color: var(--bs-card-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

.dark-style .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
    color: var(--bs-body-color) !important;
}

.dark-style .select2-dropdown {
    background-color: var(--bs-card-bg) !important;
    border-color: var(--bs-border-color) !important;
}

.dark-style .select2-container--bootstrap-5 .select2-results__option {
    background-color: var(--bs-card-bg) !important;
    color: var(--bs-body-color) !important;
}

.dark-style .select2-container--bootstrap-5 .select2-results__option--highlighted {
    background-color: var(--bs-primary) !important;
    color: white !important;
}

/* Sidebar Dark Theme */
.dark-style .layout-menu {
    background-color: var(--bs-sidebar-bg) !important;
    border-right-color: var(--bs-border-color) !important;
}

.dark-style .layout-menu .menu-inner {
    background-color: var(--bs-sidebar-bg) !important;
}

.dark-style .layout-menu .menu-inner .menu-item {
    color: var(--bs-body-color) !important;
}

.dark-style .layout-menu .menu-inner .menu-item .menu-link {
    color: var(--bs-body-color) !important;
    background-color: transparent !important;
}

.dark-style .layout-menu .menu-inner .menu-item .menu-link:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: var(--bs-body-color) !important;
}

.dark-style .layout-menu .menu-inner .menu-item .menu-link.active {
    background-color: var(--bs-primary) !important;
    color: white !important;
}

.dark-style .layout-menu .menu-inner .menu-item .menu-link .menu-icon {
    color: var(--bs-body-color) !important;
}

.dark-style .layout-menu .menu-inner .menu-item .menu-link.active .menu-icon {
    color: white !important;
}

.dark-style .layout-menu .menu-inner .menu-item .menu-link .menu-text {
    color: var(--bs-body-color) !important;
}

.dark-style .layout-menu .menu-inner .menu-item .menu-link.active .menu-text {
    color: white !important;
}

.dark-style .layout-menu .menu-inner .menu-item .menu-sub .menu-item .menu-link {
    color: var(--bs-body-color) !important;
}

.dark-style .layout-menu .menu-inner .menu-item .menu-sub .menu-item .menu-link:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: var(--bs-body-color) !important;
}

.dark-style .layout-menu .menu-inner .menu-item .menu-sub .menu-item .menu-link.active {
    background-color: var(--bs-primary) !important;
    color: white !important;
}

/* Logo and Brand */
.dark-style .app-brand {
    background-color: var(--bs-sidebar-bg) !important;
    border-bottom-color: var(--bs-border-color) !important;
}

.dark-style .app-brand .app-brand-text {
    color: var(--bs-body-color) !important;
}

.dark-style .app-brand .app-brand-logo {
    color: var(--bs-primary) !important;
}

/* Layout Wrapper */
.dark-style .layout-wrapper {
    background-color: var(--bs-body-bg) !important;
}

.dark-style .layout-page {
    background-color: var(--bs-body-bg) !important;
}

.dark-style .content-wrapper {
    background-color: var(--bs-body-bg) !important;
}

/* Breadcrumbs */
.dark-style .breadcrumb {
    background-color: transparent !important;
}

.dark-style .breadcrumb .breadcrumb-item {
    color: var(--bs-body-color) !important;
}

.dark-style .breadcrumb .breadcrumb-item.active {
    color: var(--bs-body-color) !important;
}

.dark-style .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: var(--bs-body-color) !important;
}

/* Menu Toggle */
.dark-style .layout-menu-toggle {
    background-color: var(--bs-sidebar-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

.dark-style .layout-menu-toggle:hover {
    background-color: var(--bs-primary) !important;
    color: white !important;
}

/* Footer */
.dark-style .footer {
    background-color: var(--bs-card-bg) !important;
    border-top-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

/* Scrollbar */
.dark-style ::-webkit-scrollbar {
    width: 8px;
}

.dark-style ::-webkit-scrollbar-track {
    background: var(--bs-sidebar-bg);
}

.dark-style ::-webkit-scrollbar-thumb {
    background: var(--bs-border-color);
    border-radius: 4px;
}

.dark-style ::-webkit-scrollbar-thumb:hover {
    background: var(--bs-primary);
}

/* Light Theme Styles - Pure White */
.light-style {
    --bs-body-bg: #ffffff;
    --bs-body-color: #000000;
    --bs-border-color: #e0e0e0;
    --bs-card-bg: #ffffff;
    --bs-navbar-bg: #ffffff;
    --bs-sidebar-bg: #ffffff;
    --bs-primary: #000000;
    --bs-secondary: #666666;
    --bs-success: #000000;
    --bs-info: #000000;
    --bs-warning: #000000;
    --bs-danger: #000000;
    --bs-light: #ffffff;
    --bs-dark: #000000;
}

.light-style body {
    background-color: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
}

.light-style .layout-menu {
    background-color: var(--bs-sidebar-bg) !important;
    border-right-color: var(--bs-border-color) !important;
}

.light-style .layout-menu .menu-inner .menu-item .menu-link {
    color: var(--bs-body-color) !important;
}

.light-style .layout-menu .menu-inner .menu-item .menu-link:hover {
    background-color: rgba(0, 0, 0, 0.05) !important;
}

.light-style .layout-menu .menu-inner .menu-item .menu-link.active {
    background-color: rgba(0, 0, 0, 0.1) !important;
}

.light-style .navbar {
    background-color: var(--bs-navbar-bg) !important;
}

.light-style .card {
    background-color: var(--bs-card-bg) !important;
    border-color: var(--bs-border-color) !important;
}

.light-style .table th {
    background-color: var(--bs-card-bg) !important;
    color: #000000 !important;
    border-color: var(--bs-border-color) !important;
}

.light-style .table td {
    background-color: var(--bs-card-bg) !important;
    color: #000000 !important;
    border-color: var(--bs-border-color) !important;
}
