/* Dark Theme CSS for InvoGest - EMDEV */

:root {
    --dark-bg: #121212;
    --dark-card-bg: #1e1e1e;
    --dark-text: #e4e4e4;
    --dark-muted-text: #a0a0a0;
    --dark-border: #2c2c2c;
    --dark-input-bg: #262626;
    --dark-hover: #2a2a2a;
    --dark-active: #303030;
    
    --light-bg: #f8f9fa;
    --light-card-bg: #ffffff;
    --light-text: #212529;
    --light-muted-text: #6c757d;
    --light-border: #dee2e6;
    --light-input-bg: #ffffff;
    --light-hover: #f1f3f5;
    --light-active: #e9ecef;
}

/* Global Dark Mode */
[data-bs-theme="dark"] {
    color-scheme: dark;
    --bs-body-color: var(--dark-text);
    --bs-body-bg: var(--dark-bg);
    --bs-border-color: var(--dark-border);
}

/* Global Light Mode */
[data-bs-theme="light"], body.light {
    color-scheme: light;
    --bs-body-color: var(--light-text);
    --bs-body-bg: var(--light-bg);
    --bs-border-color: var(--light-border);
}

/* Body Styles */
[data-bs-theme="dark"] body, body.dark {
    background-color: var(--dark-bg);
    color: var(--dark-text);
}

[data-bs-theme="light"] body, body.light {
    background-color: var(--light-bg);
    color: var(--light-text);
}

/* Card Styles */
[data-bs-theme="dark"] .card, body.dark .card {
    background-color: var(--dark-card-bg);
    border-color: var(--dark-border);
}

[data-bs-theme="light"] .card, body.light .card {
    background-color: var(--light-card-bg);
    border-color: var(--light-border);
}

[data-bs-theme="dark"] .card-header,
[data-bs-theme="dark"] .card-footer, 
body.dark .card-header,
body.dark .card-footer {
    background-color: rgba(0, 0, 0, 0.15);
    border-color: var(--dark-border);
}

[data-bs-theme="light"] .card-header,
[data-bs-theme="light"] .card-footer,
body.light .card-header,
body.light .card-footer {
    background-color: rgba(0, 0, 0, 0.03);
    border-color: var(--light-border);
}

/* Table Styles */
[data-bs-theme="dark"] .table, body.dark .table {
    color: var(--dark-text);
    border-color: var(--dark-border);
}

[data-bs-theme="light"] .table, body.light .table {
    color: var(--light-text);
    border-color: var(--light-border);
}

[data-bs-theme="dark"] .table-hover tbody tr:hover, 
body.dark .table-hover tbody tr:hover {
    background-color: var(--dark-hover);
}

[data-bs-theme="light"] .table-hover tbody tr:hover,
body.light .table-hover tbody tr:hover {
    background-color: var(--light-hover);
}

[data-bs-theme="dark"] .table-bordered td, 
[data-bs-theme="dark"] .table-bordered th,
body.dark .table-bordered td,
body.dark .table-bordered th {
    border-color: var(--dark-border);
}

[data-bs-theme="light"] .table-bordered td,
[data-bs-theme="light"] .table-bordered th,
body.light .table-bordered td,
body.light .table-bordered th {
    border-color: var(--light-border);
}

/* Form Controls */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
body.dark .form-control,
body.dark .form-select {
    background-color: var(--dark-input-bg);
    border-color: var(--dark-border);
    color: var(--dark-text);
}

[data-bs-theme="light"] .form-control,
[data-bs-theme="light"] .form-select,
body.light .form-control,
body.light .form-select {
    background-color: var(--light-input-bg);
    border-color: var(--light-border);
    color: var(--light-text);
}

[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus,
body.dark .form-control:focus,
body.dark .form-select:focus {
    background-color: var(--dark-input-bg);
    border-color: #0d6efd;
    color: var(--dark-text);
}

[data-bs-theme="light"] .form-control:focus,
[data-bs-theme="light"] .form-select:focus,
body.light .form-control:focus,
body.light .form-select:focus {
    background-color: var(--light-input-bg);
    border-color: #0d6efd;
    color: var(--light-text);
}

[data-bs-theme="dark"] .form-control::placeholder,
body.dark .form-control::placeholder {
    color: var(--dark-muted-text);
}

[data-bs-theme="light"] .form-control::placeholder,
body.light .form-control::placeholder {
    color: var(--light-muted-text);
}

[data-bs-theme="dark"] .input-group-text,
body.dark .input-group-text {
    background-color: var(--dark-active);
    border-color: var(--dark-border);
    color: var(--dark-text);
}

[data-bs-theme="light"] .input-group-text,
body.light .input-group-text {
    background-color: var(--light-active);
    border-color: var(--light-border);
    color: var(--light-text);
}

/* Text colors */
body.light .text-muted {
    color: var(--light-muted-text) !important;
}

body.dark .text-muted {
    color: var(--dark-muted-text) !important;
}

/* List Group */
[data-bs-theme="dark"] .list-group-item, 
body.dark .list-group-item {
    background-color: var(--dark-card-bg);
    border-color: var(--dark-border);
    color: var(--dark-text);
}

[data-bs-theme="light"] .list-group-item,
body.light .list-group-item {
    background-color: var(--light-card-bg);
    border-color: var(--light-border);
    color: var(--light-text);
}

/* DataTables */
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_length,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_filter,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_info,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_processing {
    color: var(--dark-text);
}

[data-bs-theme="light"] .dataTables_wrapper .dataTables_length,
[data-bs-theme="light"] .dataTables_wrapper .dataTables_filter,
[data-bs-theme="light"] .dataTables_wrapper .dataTables_info,
[data-bs-theme="light"] .dataTables_wrapper .dataTables_processing {
    color: var(--light-text);
}

[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button {
    color: var(--dark-text) !important;
}

[data-bs-theme="light"] .dataTables_wrapper .dataTables_paginate .paginate_button {
    color: var(--light-text) !important;
}

[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.current,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--dark-active);
    border-color: var(--dark-border);
    color: white !important;
}

[data-bs-theme="light"] .dataTables_wrapper .dataTables_paginate .paginate_button.current,
[data-bs-theme="light"] .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--light-active);
    border-color: var(--light-border);
    color: var(--light-text) !important;
}

/* Dropdown Menus */
[data-bs-theme="dark"] .dropdown-menu,
body.dark .dropdown-menu {
    background-color: var(--dark-card-bg);
    border-color: var(--dark-border);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.5) !important;
    z-index: 1050;
}

[data-bs-theme="light"] .dropdown-menu,
body.light .dropdown-menu {
    background-color: var(--light-card-bg);
    border-color: var(--light-border);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
    z-index: 1050;
}

[data-bs-theme="dark"] .dropdown-item,
body.dark .dropdown-item {
    color: var(--dark-text);
}

[data-bs-theme="light"] .dropdown-item,
body.light .dropdown-item {
    color: var(--light-text);
}

[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus,
body.dark .dropdown-item:hover,
body.dark .dropdown-item:focus {
    background-color: var(--dark-hover);
}

[data-bs-theme="light"] .dropdown-item:hover,
[data-bs-theme="light"] .dropdown-item:focus,
body.light .dropdown-item:hover,
body.light .dropdown-item:focus {
    background-color: var(--light-hover);
}

/* Modal */
[data-bs-theme="dark"] .modal-content,
body.dark .modal-content {
    background-color: var(--dark-card-bg);
    border-color: var(--dark-border);
}

[data-bs-theme="light"] .modal-content,
body.light .modal-content {
    background-color: var(--light-card-bg);
    border-color: var(--light-border);
}

[data-bs-theme="dark"] .modal-header,
[data-bs-theme="dark"] .modal-footer,
body.dark .modal-header,
body.dark .modal-footer {
    border-color: var(--dark-border);
}

[data-bs-theme="light"] .modal-header,
[data-bs-theme="light"] .modal-footer,
body.light .modal-header,
body.light .modal-footer {
    border-color: var(--light-border);
}

/* Nav Tabs */
[data-bs-theme="dark"] .nav-tabs,
body.dark .nav-tabs {
    border-color: var(--dark-border);
}

[data-bs-theme="light"] .nav-tabs,
body.light .nav-tabs {
    border-color: var(--light-border);
}

[data-bs-theme="dark"] .nav-tabs .nav-link.active,
body.dark .nav-tabs .nav-link.active {
    background-color: var(--dark-card-bg);
    border-color: var(--dark-border);
    color: var(--dark-text);
}

[data-bs-theme="light"] .nav-tabs .nav-link.active,
body.light .nav-tabs .nav-link.active {
    background-color: var(--light-card-bg);
    border-color: var(--light-border);
    color: var(--light-text);
}

[data-bs-theme="dark"] .nav-tabs .nav-link:hover,
body.dark .nav-tabs .nav-link:hover {
    border-color: var(--dark-border);
}

[data-bs-theme="light"] .nav-tabs .nav-link:hover,
body.light .nav-tabs .nav-link:hover {
    border-color: var(--light-border);
}

/* Header Icons Spacing */
.header-main .header-right ul li {
    margin-right: 15px;
}

.header-main .header-right ul li:last-child {
    margin-right: 0;
}

.dark-light-toggle .sun,
.dark-light-toggle .moon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.dropdown-menu.show {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* Fix dropdown menu in dark mode */
[data-bs-theme="dark"] .dropdown-menu.show,
body.dark .dropdown-menu.show {
    display: block !important;
    background-color: var(--dark-card-bg);
    border-color: var(--dark-border);
    color: var(--dark-text);
}

[data-bs-theme="dark"] .dropdown-menu .dropdown-item:hover,
body.dark .dropdown-menu .dropdown-item:hover {
    background-color: var(--dark-hover);
    color: var(--dark-text);
}

/* Fix dark mode toggle */
.dark-light-toggle {
    position: relative;
    display: inline-block;
    cursor: pointer;
}

body.dark .dark-light-toggle .sun-logo,
[data-bs-theme="dark"] .dark-light-toggle .sun-logo {
    display: inline-block;
}

body.dark .dark-light-toggle .moon-logo,
[data-bs-theme="dark"] .dark-light-toggle .moon-logo {
    display: none;
}

body.light .dark-light-toggle .sun-logo,
[data-bs-theme="light"] .dark-light-toggle .sun-logo {
    display: none;
}

body.light .dark-light-toggle .moon-logo,
[data-bs-theme="light"] .dark-light-toggle .moon-logo {
    display: inline-block;
}

/* Dark Sidebar with Light Content */
body.light nav.sidebar,
[data-bs-theme="light"] nav.sidebar {
    background-color: var(--dark-bg);
    color: var(--dark-text);
    border-color: var(--dark-border);
}

body.light .main-nav,
[data-bs-theme="light"] .main-nav {
    background-color: var(--dark-bg);
}

body.light .main-nav li a,
[data-bs-theme="light"] .main-nav li a {
    color: var(--dark-text);
}

body.light .main-nav li a:hover,
[data-bs-theme="light"] .main-nav li a:hover {
    background-color: var(--dark-hover);
}

body.light .main-nav .sub-menu,
[data-bs-theme="light"] .main-nav .sub-menu {
    background-color: var(--dark-bg);
}

body.light .sidebar-logo,
[data-bs-theme="light"] .sidebar-logo {
    background-color: var(--dark-bg);
    border-color: var(--dark-border);
}

body.light .main-nav li a.active,
[data-bs-theme="light"] .main-nav li a.active {
    background-color: var(--dark-active);
    color: #fff;
}

body.light .main-nav li.active > a,
[data-bs-theme="light"] .main-nav li.active > a {
    color: #fff;
}

body.light .main-nav .collapse-level-2,
[data-bs-theme="light"] .main-nav .collapse-level-2 {
    background-color: var(--dark-card-bg);
}

/* Client and Admin Sidebar customizations */
body.light .sidebar .sidebar-logo span,
[data-bs-theme="light"] .sidebar .sidebar-logo span {
    color: var(--dark-text);
}

body.light .sidebar .nav-close,
[data-bs-theme="light"] .sidebar .nav-close {
    color: var(--dark-text);
}

body.light .main-nav li ul li a,
[data-bs-theme="light"] .main-nav li ul li a {
    color: var(--dark-muted-text);
}

body.light .main-nav li ul li a:hover,
[data-bs-theme="light"] .main-nav li ul li a:hover {
    color: var(--dark-text);
}

/* Specific styles for dark sidebar class */
.dark-sidebar {
    background-color: var(--dark-bg) !important;
    color: var(--dark-text) !important;
    border-color: var(--dark-border) !important;
}

.dark-sidebar .app-logo,
.dark-sidebar .sidebar-logo {
    background-color: var(--dark-bg) !important;
    border-color: var(--dark-border) !important;
}

.dark-sidebar .sidebar-logo span,
.dark-sidebar .app-logo span {
    color: var(--dark-text) !important;
}

.dark-sidebar .main-nav {
    background-color: var(--dark-bg) !important;
}

.dark-sidebar .main-nav li a {
    color: var(--dark-text) !important;
}

.dark-sidebar .main-nav li a:hover {
    background-color: var(--dark-hover) !important;
}

.dark-sidebar .main-nav .sub-menu {
    background-color: var(--dark-bg) !important;
}

.dark-sidebar .main-nav li a.active {
    background-color: var(--dark-active) !important;
    color: #fff !important;
}

.dark-sidebar .main-nav li.active > a {
    color: #fff !important;
}

.dark-sidebar .main-nav .collapse-level-2 {
    background-color: var(--dark-card-bg) !important;
}

.dark-sidebar .nav-close {
    color: var(--dark-text) !important;
}

.dark-sidebar .main-nav li ul li a {
    color: var(--dark-muted-text) !important;
}

.dark-sidebar .main-nav li ul li a:hover {
    color: var(--dark-text) !important;
}

body.light .main-nav,
[data-bs-theme="light"] .main-nav {
    background-color: var(--dark-bg);
} 