/* Dark Mode Theme for Exhibition Manager */

/* Root variables for dark mode */
body.dark-mode {
    /* Base colors */
    --bg-primary: #121212;
    --bg-secondary: #1e1e1e;
    --bg-tertiary: #252525;
    --bg-quaternary: #2a2a2a;
    
    /* Text colors */
    --text-primary: #e0e0e0;
    --text-secondary: #a0a0a0;
    --text-muted: #707070;
    --text-inverse: #121212;
    
    /* Border colors */
    --border-color: #333333;
    --border-light: #404040;
    --border-dark: #1a1a1a;
    
    /* Component backgrounds */
    --card-bg: #1e1e1e;
    --sidebar-bg: #1a1a1a;
    --header-bg: #1a1a1a;
    --modal-bg: #1e1e1e;
    --dropdown-bg: #252525;
    --input-bg: #252525;
    --input-border: #404040;
    --input-focus-bg: #2a2a2a;
    --input-focus-border: #4a9eff;
    
    /* Accent colors adjusted for dark mode */
    --accent-color: #4a9eff;
    --accent-hover: #357abd;
    --success-color: #4caf50;
    --danger-color: #f44336;
    --warning-color: #ff9800;
    --info-color: #2196f3;
    
    /* Shadow and overlays */
    --shadow-color: rgba(0, 0, 0, 0.5);
    --card-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
    --hover-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
    --overlay-bg: rgba(0, 0, 0, 0.7);
    
    /* Hover states */
    --hover-bg: #2a2a2a;
    --hover-border: #404040;
    
    /* Scrollbar */
    --scrollbar-bg: #1a1a1a;
    --scrollbar-thumb: #404040;
    --scrollbar-thumb-hover: #505050;
    
    /* Code and pre */
    --code-bg: #2a2a2a;
    --code-border: #404040;
    
    /* Table colors */
    --table-header-bg: #252525;
    --table-row-hover: #2a2a2a;
    --table-stripe-bg: #1a1a1a;
    
    /* Status colors adjusted for dark mode */
    --status-free: #4caf50;
    --status-reserved: #ff9800;
    --status-assigned: #2196f3;
    --status-contract: #9c27b0;
    --status-invoice: #ff5722;
    --status-paid: #00bcd4;
    --status-draft: #757575;
    --status-published: #4caf50;
    --status-archived: #616161;
}

/* Base elements */
body.dark-mode {
    background-color: var(--bg-primary);
    color: var(--text-primary);
}

/* Scrollbar styling for dark mode */
body.dark-mode ::-webkit-scrollbar {
    width: 12px;
    height: 12px;
    background-color: var(--scrollbar-bg);
}

body.dark-mode ::-webkit-scrollbar-thumb {
    background-color: var(--scrollbar-thumb);
    border-radius: 6px;
    border: 2px solid var(--scrollbar-bg);
}

body.dark-mode ::-webkit-scrollbar-thumb:hover {
    background-color: var(--scrollbar-thumb-hover);
}

body.dark-mode ::-webkit-scrollbar-track {
    background-color: var(--scrollbar-bg);
}

/* Links */
body.dark-mode a {
    color: var(--accent-color);
}

body.dark-mode a:hover {
    color: var(--accent-hover);
}

/* Header and navigation */
body.dark-mode .app-header,
body.dark-mode .top-bar {
    background-color: var(--header-bg);
    border-bottom-color: var(--border-color);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

body.dark-mode .header-title {
    color: var(--text-primary);
}

/* Sidebar */
body.dark-mode .sidebar {
    background-color: var(--sidebar-bg);
    border-right: 1px solid var(--border-color);
}

body.dark-mode .sidebar-header {
    background-color: var(--bg-secondary);
    border-bottom: 1px solid var(--border-color);
}

body.dark-mode .main-nav a {
    color: var(--text-secondary);
}

body.dark-mode .main-nav a:hover {
    background-color: var(--hover-bg);
    color: var(--text-primary);
}

body.dark-mode .main-nav a.active {
    background-color: var(--accent-color);
    color: var(--text-inverse);
}

/* Cards and panels */
body.dark-mode .card,
body.dark-mode .panel,
body.dark-mode .content-section,
body.dark-mode .dashboard-section {
    background-color: var(--card-bg);
    border-color: var(--border-color);
    box-shadow: var(--card-shadow);
}

body.dark-mode .card-header,
body.dark-mode .panel-header,
body.dark-mode .section-header {
    background-color: var(--bg-secondary);
    border-bottom-color: var(--border-color);
    color: var(--text-primary);
}

/* Forms and inputs */
body.dark-mode input,
body.dark-mode textarea,
body.dark-mode select {
    background-color: var(--input-bg);
    border-color: var(--input-border);
    color: var(--text-primary);
}

/* Fix dropdown arrow in dark mode - comprehensive fix */
body.dark-mode select,
body.dark-mode .form-select,
body.dark-mode .form-control[type="select"],
body.dark-mode select.form-control,
body.dark-mode .custom-select,
body.dark-mode [class*="select"],
body.dark-mode input[type="select"] {
    /* Hide the default arrow */
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    
    /* Remove any background images (arrows) */
    background-image: none !important;
    /* Add padding where arrow used to be */
    padding-right: 1.5rem !important;
}

/* Also target Bootstrap's form-select specifically */
body.dark-mode .form-select {
    background-image: none !important;
}

/* Handle select elements inside specific containers */
body.dark-mode .modal select,
body.dark-mode .modal .form-select,
body.dark-mode .card select,
body.dark-mode .card .form-select,
body.dark-mode .exhibitor-form select,
body.dark-mode .exhibitor-form .form-select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: none !important;
    padding-right: 1.5rem !important;
}

/* Override any inline styles or JavaScript-added arrows */
body.dark-mode select[style*="background-image"],
body.dark-mode .form-select[style*="background-image"] {
    background-image: none !important;
}

/* If you want a custom arrow, uncomment this section:
body.dark-mode select:not([multiple]),
body.dark-mode .form-select:not([multiple]) {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a0a0a0' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.75rem center !important;
    background-size: 16px 12px !important;
}
*/

body.dark-mode input:focus,
body.dark-mode textarea:focus,
body.dark-mode select:focus {
    background-color: var(--input-focus-bg);
    border-color: var(--input-focus-border);
    outline: none;
    box-shadow: 0 0 0 2px rgba(74, 158, 255, 0.2);
}

body.dark-mode input::placeholder,
body.dark-mode textarea::placeholder {
    color: var(--text-muted);
}

body.dark-mode .form-label,
body.dark-mode label {
    color: var(--text-secondary);
}

/* Buttons - Enhanced for Bootstrap compatibility */
body.dark-mode .btn {
    border-color: var(--border-color);
    transition: all 0.15s ease-in-out;
}

body.dark-mode .btn-primary {
    background-color: var(--accent-color);
    border-color: var(--accent-color);
    color: white;
}

body.dark-mode .btn-primary:hover,
body.dark-mode .btn-primary:focus {
    background-color: var(--accent-hover);
    border-color: var(--accent-hover);
    color: white;
}

body.dark-mode .btn-secondary {
    background-color: var(--bg-tertiary);
    border-color: var(--border-light);
    color: var(--text-primary);
}

body.dark-mode .btn-secondary:hover,
body.dark-mode .btn-secondary:focus {
    background-color: var(--hover-bg);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .btn-success {
    background-color: var(--success-color);
    border-color: var(--success-color);
    color: white;
}

body.dark-mode .btn-success:hover,
body.dark-mode .btn-success:focus {
    background-color: #45a049;
    border-color: #45a049;
    color: white;
}

body.dark-mode .btn-danger {
    background-color: var(--danger-color);
    border-color: var(--danger-color);
    color: white;
}

body.dark-mode .btn-danger:hover,
body.dark-mode .btn-danger:focus {
    background-color: #da190b;
    border-color: #da190b;
    color: white;
}

body.dark-mode .btn-warning {
    background-color: var(--warning-color);
    border-color: var(--warning-color);
    color: var(--text-inverse);
}

body.dark-mode .btn-warning:hover,
body.dark-mode .btn-warning:focus {
    background-color: #e68900;
    border-color: #e68900;
    color: var(--text-inverse);
}

body.dark-mode .btn-info {
    background-color: var(--info-color);
    border-color: var(--info-color);
    color: white;
}

body.dark-mode .btn-info:hover,
body.dark-mode .btn-info:focus {
    background-color: #1976d2;
    border-color: #1976d2;
    color: white;
}

body.dark-mode .btn-light {
    background-color: #f8f9fa;
    border-color: #f8f9fa;
    color: #212529;
}

body.dark-mode .btn-light:hover,
body.dark-mode .btn-light:focus {
    background-color: #e2e6ea;
    border-color: #dae0e5;
    color: #212529;
}

body.dark-mode .btn-dark {
    background-color: #212529;
    border-color: #212529;
    color: white;
}

body.dark-mode .btn-dark:hover,
body.dark-mode .btn-dark:focus {
    background-color: #1c1f23;
    border-color: #1a1e21;
    color: white;
}

/* Outline buttons */
body.dark-mode .btn-outline-primary {
    color: var(--accent-color);
    border-color: var(--accent-color);
    background-color: transparent;
}

body.dark-mode .btn-outline-primary:hover {
    color: white;
    background-color: var(--accent-color);
    border-color: var(--accent-color);
}

body.dark-mode .btn-outline-secondary {
    color: var(--text-primary);
    border-color: var(--border-light);
    background-color: transparent;
}

body.dark-mode .btn-outline-secondary:hover {
    color: var(--text-primary);
    background-color: var(--bg-tertiary);
    border-color: var(--border-light);
}

body.dark-mode .btn-outline-success {
    color: var(--success-color);
    border-color: var(--success-color);
    background-color: transparent;
}

body.dark-mode .btn-outline-success:hover {
    color: white;
    background-color: var(--success-color);
    border-color: var(--success-color);
}

body.dark-mode .btn-outline-danger {
    color: var(--danger-color);
    border-color: var(--danger-color);
    background-color: transparent;
}

body.dark-mode .btn-outline-danger:hover {
    color: white;
    background-color: var(--danger-color);
    border-color: var(--danger-color);
}

body.dark-mode .btn-outline-warning {
    color: var(--warning-color);
    border-color: var(--warning-color);
    background-color: transparent;
}

body.dark-mode .btn-outline-warning:hover {
    color: var(--text-inverse);
    background-color: var(--warning-color);
    border-color: var(--warning-color);
}

body.dark-mode .btn-outline-info {
    color: var(--info-color);
    border-color: var(--info-color);
    background-color: transparent;
}

body.dark-mode .btn-outline-info:hover {
    color: white;
    background-color: var(--info-color);
    border-color: var(--info-color);
}

body.dark-mode .btn-outline-light {
    color: #f8f9fa;
    border-color: #f8f9fa;
    background-color: transparent;
}

body.dark-mode .btn-outline-light:hover {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa;
}

body.dark-mode .btn-outline-dark {
    color: var(--text-secondary);
    border-color: var(--border-color);
    background-color: transparent;
}

body.dark-mode .btn-outline-dark:hover {
    color: white;
    background-color: #212529;
    border-color: #212529;
}

/* Button states */
body.dark-mode .btn:disabled,
body.dark-mode .btn.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

body.dark-mode .btn:focus,
body.dark-mode .btn:active {
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(74, 158, 255, 0.25);
}

/* Close button */
body.dark-mode .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

body.dark-mode .btn-close:hover {
    opacity: 0.75;
}

/* Dropdowns */
body.dark-mode .dropdown-menu {
    background-color: var(--dropdown-bg);
    border-color: var(--border-color);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

body.dark-mode .dropdown-item {
    color: var(--text-primary);
}

body.dark-mode .dropdown-item:hover {
    background-color: var(--hover-bg);
    color: var(--text-primary);
}

/* Tables */
body.dark-mode table {
    background-color: var(--card-bg);
    color: var(--text-primary);
}

body.dark-mode th {
    background-color: var(--table-header-bg);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode td {
    border-color: var(--border-color);
}

body.dark-mode tr:hover {
    background-color: var(--table-row-hover);
}

body.dark-mode tbody tr:nth-child(even) {
    background-color: var(--table-stripe-bg);
}

/* Modals */
body.dark-mode .modal-content {
    background-color: var(--modal-bg);
    border-color: var(--border-color);
}

body.dark-mode .modal-header {
    background-color: var(--bg-secondary);
    border-bottom-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .modal-footer {
    background-color: var(--bg-secondary);
    border-top-color: var(--border-color);
}

body.dark-mode .modal-backdrop,
body.dark-mode .modal-overlay {
    background-color: var(--overlay-bg);
}

/* Tabs */
body.dark-mode .nav-tabs {
    border-bottom-color: var(--border-color);
}

body.dark-mode .nav-tabs .nav-link {
    color: var(--text-secondary);
    border-color: transparent;
}

body.dark-mode .nav-tabs .nav-link:hover {
    background-color: var(--hover-bg);
    border-color: var(--border-color) var(--border-color) transparent;
    color: var(--text-primary);
}

body.dark-mode .nav-tabs .nav-link.active {
    background-color: var(--card-bg);
    border-color: var(--border-color) var(--border-color) var(--card-bg);
    color: var(--text-primary);
}

/* Badges and tags */
body.dark-mode .badge {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
}

body.dark-mode .badge-primary {
    background-color: var(--accent-color);
}

body.dark-mode .badge-success {
    background-color: var(--success-color);
}

body.dark-mode .badge-danger {
    background-color: var(--danger-color);
}

body.dark-mode .badge-warning {
    background-color: var(--warning-color);
    color: var(--text-inverse);
}

/* Alerts */
body.dark-mode .alert {
    border-color: var(--border-color);
}

body.dark-mode .alert-info {
    background-color: rgba(33, 150, 243, 0.1);
    border-color: rgba(33, 150, 243, 0.3);
    color: #64b5f6;
}

body.dark-mode .alert-success {
    background-color: rgba(76, 175, 80, 0.1);
    border-color: rgba(76, 175, 80, 0.3);
    color: #81c784;
}

body.dark-mode .alert-warning {
    background-color: rgba(255, 152, 0, 0.1);
    border-color: rgba(255, 152, 0, 0.3);
    color: #ffb74d;
}

body.dark-mode .alert-danger {
    background-color: rgba(244, 67, 54, 0.1);
    border-color: rgba(244, 67, 54, 0.3);
    color: #e57373;
}

/* Progress bars */
body.dark-mode .progress {
    background-color: var(--bg-tertiary);
}

body.dark-mode .progress-bar {
    background-color: var(--accent-color);
}

/* Tooltips */
body.dark-mode .tooltip-inner {
    background-color: var(--bg-quaternary);
    color: var(--text-primary);
}

/* Pagination */
body.dark-mode .pagination .page-link {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .pagination .page-link:hover {
    background-color: var(--hover-bg);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .pagination .page-item.active .page-link {
    background-color: var(--accent-color);
    border-color: var(--accent-color);
}

/* Code blocks */
body.dark-mode pre,
body.dark-mode code {
    background-color: var(--code-bg);
    border-color: var(--code-border);
    color: var(--text-primary);
}

/* Exhibition specific components */

/* Exhibitor cards */
body.dark-mode .exhibitor-card {
    background-color: var(--card-bg);
    border-color: var(--border-color);
    box-shadow: var(--card-shadow);
}

body.dark-mode .exhibitor-card:hover {
    box-shadow: var(--hover-shadow);
}

body.dark-mode .exhibitor-card-header {
    background-color: var(--bg-secondary);
    border-bottom-color: var(--border-color);
}

/* Stand status colors */
body.dark-mode .stand-free {
    background-color: var(--status-free);
    color: white;
}

body.dark-mode .stand-reserved {
    background-color: var(--status-reserved);
    color: white;
}

body.dark-mode .stand-assigned {
    background-color: var(--status-assigned);
    color: white;
}

/* 3D Editor specific */
body.dark-mode .editor-sidebar {
    background-color: var(--sidebar-bg);
    border-right-color: var(--border-color);
}

body.dark-mode .editor-toolbar {
    background-color: var(--bg-secondary);
    border-bottom-color: var(--border-color);
}

body.dark-mode .properties-panel {
    background-color: var(--card-bg);
    border-color: var(--border-color);
}

/* Template editor */
body.dark-mode .template-canvas {
    background-color: var(--bg-tertiary);
    border-color: var(--border-color);
}

body.dark-mode .canvas-page {
    background-color: white;
    color: black;
    /* Keep template pages white for accurate preview */
}

body.dark-mode .component-item {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .component-item:hover {
    background-color: var(--hover-bg);
    border-color: var(--accent-color);
}

/* Pricing editor */
body.dark-mode .pricing-editor {
    background-color: var(--card-bg);
}

body.dark-mode .formula-editor {
    background-color: var(--input-bg);
    border-color: var(--input-border);
    color: var(--text-primary);
}

/* Notification styles */
body.dark-mode .notification {
    background-color: var(--bg-quaternary);
    border-color: var(--border-color);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

body.dark-mode .notification-success {
    border-left-color: var(--success-color);
}

body.dark-mode .notification-error {
    border-left-color: var(--danger-color);
}

body.dark-mode .notification-warning {
    border-left-color: var(--warning-color);
}

body.dark-mode .notification-info {
    border-left-color: var(--info-color);
}

/* Loading spinners */
body.dark-mode .spinner {
    border-color: var(--border-color);
    border-top-color: var(--accent-color);
}

/* Charts */
body.dark-mode .chart-container {
    background-color: var(--card-bg);
}

/* File upload areas */
body.dark-mode .upload-area {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
    color: var(--text-secondary);
}

body.dark-mode .upload-area:hover {
    background-color: var(--hover-bg);
    border-color: var(--accent-color);
}

body.dark-mode .upload-area.drag-over {
    background-color: var(--hover-bg);
    border-color: var(--accent-color);
}

/* Context menus */
body.dark-mode .context-menu {
    background-color: var(--dropdown-bg);
    border-color: var(--border-color);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

body.dark-mode .context-menu-item {
    color: var(--text-primary);
}

body.dark-mode .context-menu-item:hover {
    background-color: var(--hover-bg);
}

/* Search inputs */
body.dark-mode .search-input {
    background-color: var(--input-bg);
    border-color: var(--input-border);
    color: var(--text-primary);
}

body.dark-mode .search-results {
    background-color: var(--dropdown-bg);
    border-color: var(--border-color);
}

/* Timeline/Gantt */
body.dark-mode .gantt-container {
    background-color: var(--card-bg);
}

body.dark-mode .gantt-task {
    background-color: var(--accent-color);
}

/* Calendar */
body.dark-mode .calendar {
    background-color: var(--card-bg);
}

body.dark-mode .calendar-day {
    border-color: var(--border-color);
}

body.dark-mode .calendar-day:hover {
    background-color: var(--hover-bg);
}

body.dark-mode .calendar-today {
    background-color: var(--accent-color);
    color: white;
}

/* Dividers */
body.dark-mode hr {
    border-color: var(--border-color);
}

/* Selection */
body.dark-mode ::selection {
    background-color: var(--accent-color);
    color: white;
}

body.dark-mode ::-moz-selection {
    background-color: var(--accent-color);
    color: white;
}

/* Focus outline */
body.dark-mode *:focus {
    outline-color: var(--accent-color);
}

/* Disabled states */
body.dark-mode [disabled],
body.dark-mode .disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Window Manager specific styles */
body.dark-mode .window {
    background-color: var(--card-bg);
    border-color: var(--border-color);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6);
}

body.dark-mode .window-header {
    background-color: var(--bg-secondary);
    border-bottom-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .window-title {
    color: var(--text-primary);
}

body.dark-mode .window-controls button {
    background-color: transparent;
    color: var(--text-secondary);
    border: none;
}

body.dark-mode .window-controls button:hover {
    background-color: var(--hover-bg);
    color: var(--text-primary);
}

body.dark-mode .window-content {
    background-color: var(--card-bg);
    color: var(--text-primary);
}

body.dark-mode .window.minimized {
    background-color: var(--bg-tertiary);
    border-color: var(--border-light);
}

/* Exhibitor Detail Window specific */
body.dark-mode .exhibitor-detail-window {
    background-color: var(--card-bg);
}

body.dark-mode .exhibitor-detail-window .tab-content {
    background-color: var(--card-bg);
}

body.dark-mode .exhibitor-detail-window .tab-pane {
    background-color: var(--card-bg);
    color: var(--text-primary);
}

/* Fix white backgrounds in exhibitor windows */
body.dark-mode .exhibitor-detail-window [style*="background: white"],
body.dark-mode .exhibitor-detail-window [style*="background-color: white"],
body.dark-mode .exhibitor-detail-window [style*="background:#fff"],
body.dark-mode .exhibitor-detail-window [style*="background-color:#fff"],
body.dark-mode .exhibitor-detail-window [style*="background: #ffffff"],
body.dark-mode .exhibitor-detail-window [style*="background-color: #ffffff"] {
    background-color: var(--card-bg) !important;
}

/* Ensure nav tabs in exhibitor window are styled */
body.dark-mode .exhibitor-detail-window .nav-tabs {
    background-color: transparent;
    border-bottom-color: var(--border-color);
}

body.dark-mode .exhibitor-detail-window .nav-tabs .nav-link {
    color: var(--text-secondary);
    background-color: transparent;
    border-color: transparent;
}

body.dark-mode .exhibitor-detail-window .nav-tabs .nav-link:hover {
    background-color: var(--hover-bg);
    border-color: var(--border-color) var(--border-color) transparent;
    color: var(--text-primary);
}

body.dark-mode .exhibitor-detail-window .nav-tabs .nav-link.active {
    background-color: var(--card-bg);
    border-color: var(--border-color) var(--border-color) var(--card-bg);
    color: var(--text-primary);
}

/* Exhibitor Board specific */
body.dark-mode .exhibitor-board {
    background-color: var(--bg-primary);
}

body.dark-mode .board-column {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
}

body.dark-mode .board-column-header {
    background-color: var(--bg-tertiary);
    border-bottom-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .board-card {
    background-color: var(--card-bg);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .board-card:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
    border-color: var(--accent-color);
}

/* More specific exhibitor board column styles */
body.dark-mode .exhibitor-board-container {
    background-color: var(--bg-primary) !important;
}

body.dark-mode .exhibitor-column,
body.dark-mode .board-column,
body.dark-mode .category-column {
    background-color: var(--bg-secondary) !important;
    border: 1px solid var(--border-color) !important;
}

body.dark-mode .exhibitor-column-header,
body.dark-mode .board-column-header,
body.dark-mode .category-column-header,
body.dark-mode .column-header {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-bottom: 1px solid var(--border-color) !important;
}

body.dark-mode .exhibitor-column-body,
body.dark-mode .board-column-body,
body.dark-mode .category-column-body {
    background-color: var(--bg-secondary) !important;
}

body.dark-mode .exhibitor-card,
body.dark-mode .board-card {
    background-color: var(--card-bg) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-primary) !important;
}

body.dark-mode .exhibitor-card:hover,
body.dark-mode .board-card:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5) !important;
    border-color: var(--accent-color) !important;
}

/* Column header specific styles */
body.dark-mode .board-column .column-header {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

/* Fix any white backgrounds in exhibitor board */
body.dark-mode .exhibitor-board [style*="background: white"],
body.dark-mode .exhibitor-board [style*="background-color: white"],
body.dark-mode .exhibitor-board [style*="background:#fff"],
body.dark-mode .exhibitor-board [style*="background-color:#fff"],
body.dark-mode .exhibitor-board [style*="background: #fff"],
body.dark-mode .exhibitor-board [style*="background-color: #fff"],
body.dark-mode .exhibitor-board [style*="background:white"],
body.dark-mode .exhibitor-board [style*="background-color:white"] {
    background-color: var(--bg-secondary) !important;
}

/* Force dark backgrounds on column body and cards container */
body.dark-mode .board-column .column-cards,
body.dark-mode .board-column .column-body,
body.dark-mode .category-column .column-cards {
    background-color: var(--bg-secondary) !important;
}

/* Ensure the entire column has dark background */
body.dark-mode .board-column,
body.dark-mode .category-column,
body.dark-mode .exhibitor-column {
    background-color: var(--bg-secondary) !important;
}

/* Override any inline styles on board columns */
body.dark-mode .board-column[style],
body.dark-mode .category-column[style] {
    background-color: var(--bg-secondary) !important;
}

/* Ensure the entire column has dark background */
body.dark-mode .board-column,
body.dark-mode .category-column {
    background-color: #1e1e1e !important;
}

/* Target board columns with inline styles more specifically */
body.dark-mode .board-column[style],
body.dark-mode div.board-column {
    background-color: #1e1e1e !important;
}

/* Ensure the column itself (not just children) has dark background */
body.dark-mode #board-columns-container > .board-column,
body.dark-mode .board-columns-container > .board-column {
    background-color: #1e1e1e !important;
}

/* Override board columns with data-column-id attribute */
body.dark-mode .board-column[data-column-id] {
    background-color: #1e1e1e !important;
}

/* Most specific selector to ensure dark background on board columns */
body.dark-mode div[class="board-column"][data-column-id] {
    background-color: #1e1e1e !important;
}

/* Ensure text is visible in dark mode */
body.dark-mode .exhibitor-card-title,
body.dark-mode .exhibitor-card-content,
body.dark-mode .exhibitor-info,
body.dark-mode .exhibitor-details,
body.dark-mode .column-count {
    color: var(--text-primary) !important;
}

/* Make brand name white in dark mode */
body.dark-mode .exhibitor-card .brand-name {
    color: #ffffff !important;
}

/* Form improvements */
body.dark-mode .form-control {
    background-color: var(--input-bg);
    border-color: var(--input-border);
    color: var(--text-primary);
}

body.dark-mode .form-control:focus {
    background-color: var(--input-focus-bg);
    border-color: var(--input-focus-border);
    color: var(--text-primary);
    box-shadow: 0 0 0 0.2rem rgba(74, 158, 255, 0.25);
}

body.dark-mode .form-select {
    background-color: var(--input-bg);
    border-color: var(--input-border);
    color: var(--text-primary);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a0a0a0' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}

body.dark-mode .form-check-input {
    background-color: var(--input-bg);
    border-color: var(--input-border);
}

body.dark-mode .form-check-input:checked {
    background-color: var(--accent-color);
    border-color: var(--accent-color);
}

/* Financial tab specific */
body.dark-mode .financial-tab-container {
    background-color: var(--card-bg);
}

body.dark-mode .financial-header {
    background-color: var(--bg-secondary);
    border-bottom-color: var(--border-color);
}

body.dark-mode .pricing-summary-card {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
}

body.dark-mode .calculation-details {
    background-color: var(--bg-tertiary);
    border-color: var(--border-color);
}

/* Contracts tab specific */
body.dark-mode .contracts-tab-content {
    background-color: var(--card-bg);
}

body.dark-mode .contract-item {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
}

body.dark-mode .contract-item:hover {
    background-color: var(--hover-bg);
    border-color: var(--accent-color);
}

/* Contract Generation Section */
body.dark-mode .contract-generation,
body.dark-mode .document-management {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .contract-generation h3,
body.dark-mode .document-management h3,
body.dark-mode .pricing-summary h3 {
    color: var(--text-primary);
    background-color: transparent;
}

body.dark-mode .contract-form-group {
    background-color: var(--bg-tertiary);
    border-color: var(--border-color);
}

body.dark-mode .contract-form-group label {
    color: var(--text-secondary);
}

/* Pricing Summary Section */
body.dark-mode .pricing-summary,
body.dark-mode .pricing-summary-modern,
body.dark-mode .pricing-summary-section {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .pricing-details,
body.dark-mode .price-row {
    background-color: var(--bg-tertiary);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .price-row:hover {
    background-color: var(--hover-bg);
}

body.dark-mode .pricing-details strong,
body.dark-mode .pricing-details .price-value {
    color: var(--text-primary);
}

body.dark-mode .discount-item {
    background-color: var(--bg-quaternary);
    border-color: var(--border-color);
    color: var(--text-primary);
}

/* Contract Generation Window */
body.dark-mode .contract-generation-window {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
}

body.dark-mode .contract-generation-window .form-control,
body.dark-mode .contract-generation-window .form-select {
    background-color: var(--input-bg);
    border-color: var(--input-border);
    color: var(--text-primary);
}

body.dark-mode .contract-generation-window .form-control:focus,
body.dark-mode .contract-generation-window .form-select:focus {
    background-color: var(--input-focus-bg);
    border-color: var(--input-focus-border);
}

/* Document Type and Template Selectors */
body.dark-mode .document-type-selector,
body.dark-mode .template-selector {
    background-color: var(--bg-tertiary);
    border-color: var(--border-color);
    padding: 1rem;
    border-radius: 0.25rem;
}

/* Action Buttons Group */
body.dark-mode .action-buttons {
    background-color: var(--bg-tertiary);
    border-top: 1px solid var(--border-color);
    padding: 1rem;
}

/* Contract History */
body.dark-mode .contract-history {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
}

body.dark-mode .contract-history-item {
    background-color: var(--bg-tertiary);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .contract-history-item:hover {
    background-color: var(--hover-bg);
    border-color: var(--accent-color);
}

/* Fix white backgrounds in contracts tab */
body.dark-mode .contracts-tab [style*="background: white"],
body.dark-mode .contracts-tab [style*="background-color: white"],
body.dark-mode .contracts-tab [style*="background:#fff"],
body.dark-mode .contracts-tab [style*="background-color:#fff"] {
    background-color: var(--bg-secondary) !important;
}

/* Ensure all text is readable */
body.dark-mode .contracts-tab p,
body.dark-mode .contracts-tab span,
body.dark-mode .contracts-tab div,
body.dark-mode .contracts-tab label {
    color: var(--text-primary);
}

/* Fix any specific elements that might have inline styles */
body.dark-mode #contract-generation,
body.dark-mode #document-management,
body.dark-mode #pricing-summary {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

/* Additional fixes for contracts tab content */
body.dark-mode .contracts-tab,
body.dark-mode #contracts-tab,
body.dark-mode .tab-pane#contracts {
    background-color: transparent !important;
}

body.dark-mode .contracts-section,
body.dark-mode .contracts-content,
body.dark-mode .contracts-container {
    background-color: var(--card-bg) !important;
    color: var(--text-primary) !important;
}

/* Fix form groups and inputs in contracts tab */
body.dark-mode .contracts-tab .form-group,
body.dark-mode .contracts-tab .mb-3,
body.dark-mode .contracts-tab .mb-2 {
    color: var(--text-primary);
}

body.dark-mode .contracts-tab .form-label,
body.dark-mode .contracts-tab label {
    color: var(--text-secondary) !important;
}

/* Fix any remaining white divs */
body.dark-mode .contracts-tab > div,
body.dark-mode #contracts-tab > div {
    background-color: transparent !important;
}

/* Ensure proper styling for nested sections */
body.dark-mode .contracts-tab .card,
body.dark-mode .contracts-tab .panel {
    background-color: var(--bg-secondary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

body.dark-mode .contracts-tab .card-header,
body.dark-mode .contracts-tab .panel-header {
    background-color: var(--bg-tertiary) !important;
    border-bottom-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

/* 3D Editor enhancements */
body.dark-mode .three-d-editor-container {
    background-color: var(--bg-primary);
}

body.dark-mode .editor-toolbar {
    background-color: var(--bg-secondary);
    border-bottom-color: var(--border-color);
}

body.dark-mode .editor-sidebar {
    background-color: var(--sidebar-bg);
    border-right-color: var(--border-color);
}

body.dark-mode .tool-button {
    background-color: var(--bg-tertiary);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .tool-button:hover {
    background-color: var(--hover-bg);
    border-color: var(--accent-color);
}

body.dark-mode .tool-button.active {
    background-color: var(--accent-color);
    border-color: var(--accent-color);
    color: white;
}

/* List groups */
body.dark-mode .list-group-item {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .list-group-item:hover {
    background-color: var(--hover-bg);
}

body.dark-mode .list-group-item.active {
    background-color: var(--accent-color);
    border-color: var(--accent-color);
    color: white;
}

/* Progress bars */
body.dark-mode .progress {
    background-color: var(--bg-tertiary);
}

body.dark-mode .progress-bar {
    background-color: var(--accent-color);
}

/* Tooltips and popovers */
body.dark-mode .tooltip-inner {
    background-color: var(--bg-quaternary);
    color: var(--text-primary);
}

body.dark-mode .popover {
    background-color: var(--card-bg);
    border-color: var(--border-color);
}

body.dark-mode .popover-header {
    background-color: var(--bg-secondary);
    border-bottom-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .popover-body {
    color: var(--text-primary);
}

/* Pagination improvements */
body.dark-mode .page-link {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .page-link:hover {
    background-color: var(--hover-bg);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .page-item.active .page-link {
    background-color: var(--accent-color);
    border-color: var(--accent-color);
    color: white;
}

/* Additional Dark Mode Improvements and Fixes */

/* Fix sidebar with high specificity */
body.dark-mode .sidebar,
body.dark-mode #sidebar {
    background-color: #1a1a1a !important;
    border-right: 1px solid #333333 !important;
}

/* Fix main content areas */
body.dark-mode .main-content,
body.dark-mode #main-content,
body.dark-mode .content-wrapper {
    background-color: #121212 !important;
    color: #e0e0e0 !important;
}

/* Dashboard sections fix */
body.dark-mode .dashboard-section,
body.dark-mode .section-card,
body.dark-mode .content-card {
    background-color: #1e1e1e !important;
    border: 1px solid #333333 !important;
    color: #e0e0e0 !important;
}

/* Contract Management specific */
body.dark-mode #contract-management,
body.dark-mode .contract-management-section,
body.dark-mode .contracts-management {
    background-color: transparent !important;
}

body.dark-mode .contract-workflow,
body.dark-mode .workflow-section {
    background-color: #252525 !important;
    border: 1px solid #333333 !important;
    padding: 1.5rem;
    margin-bottom: 1rem;
    border-radius: 0.25rem;
}

/* Fix text visibility in lists */
body.dark-mode ul,
body.dark-mode ol,
body.dark-mode li {
    color: #e0e0e0 !important;
}

/* Icons in lists */
body.dark-mode li .fas,
body.dark-mode li .far {
    color: #4a9eff !important;
    margin-right: 0.5rem;
}

/* Improve form controls in dark mode */
body.dark-mode .form-control {
    background-color: #252525 !important;
    border-color: #404040 !important;
    color: #e0e0e0 !important;
}

body.dark-mode .form-control:focus {
    background-color: #2a2a2a !important;
    border-color: #4a9eff !important;
    color: #e0e0e0 !important;
    box-shadow: 0 0 0 0.2rem rgba(74, 158, 255, 0.25) !important;
}

body.dark-mode .form-select {
    background-color: #252525 !important;
    border-color: #404040 !important;
    color: #e0e0e0 !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23e0e0e0' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important;
}

/* Fix Bootstrap component colors in dark mode */
body.dark-mode .modal-content {
    background-color: #1e1e1e !important;
    border-color: #333333 !important;
}

body.dark-mode .modal-header,
body.dark-mode .modal-footer {
    background-color: #252525 !important;
    border-color: #333333 !important;
}

body.dark-mode .dropdown-menu {
    background-color: #252525 !important;
    border-color: #333333 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5) !important;
}

body.dark-mode .dropdown-item {
    color: #e0e0e0 !important;
}

body.dark-mode .dropdown-item:hover,
body.dark-mode .dropdown-item:focus {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
}

body.dark-mode .list-group-item {
    background-color: #1e1e1e !important;
    border-color: #333333 !important;
    color: #e0e0e0 !important;
}

body.dark-mode .list-group-item:hover {
    background-color: #252525 !important;
}

body.dark-mode .list-group-item.active {
    background-color: #4a9eff !important;
    border-color: #4a9eff !important;
    color: white !important;
}

/* Toast in dark mode */
body.dark-mode .toast {
    background-color: rgba(30, 30, 30, 0.95) !important;
    color: #e0e0e0 !important;
    border-color: #333333 !important;
}

body.dark-mode .toast-header {
    background-color: rgba(37, 37, 37, 0.95) !important;
    color: #e0e0e0 !important;
    border-bottom-color: #333333 !important;
}

/* Accordion in dark mode */
body.dark-mode .accordion-item {
    background-color: #1e1e1e !important;
    border-color: #333333 !important;
}

body.dark-mode .accordion-button {
    background-color: #252525 !important;
    color: #e0e0e0 !important;
}

body.dark-mode .accordion-button:not(.collapsed) {
    background-color: #2a2a2a !important;
    color: #4a9eff !important;
}

body.dark-mode .accordion-button::after {
    filter: invert(1) !important;
}

body.dark-mode .accordion-body {
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
}

/* Spinner in dark mode */
body.dark-mode .spinner-border {
    border-color: #333333 !important;
    border-right-color: transparent !important;
}

/* Progress bar in dark mode */
body.dark-mode .progress {
    background-color: #252525 !important;
}

body.dark-mode .progress-bar {
    background-color: #4a9eff !important;
}

/* Pagination in dark mode */
body.dark-mode .page-link {
    background-color: #1e1e1e !important;
    border-color: #333333 !important;
    color: #e0e0e0 !important;
}

body.dark-mode .page-link:hover {
    background-color: #252525 !important;
    border-color: #333333 !important;
    color: #e0e0e0 !important;
}

body.dark-mode .page-item.active .page-link {
    background-color: #4a9eff !important;
    border-color: #4a9eff !important;
    color: white !important;
}

/* Fix any inline styles that set white backgrounds */
body.dark-mode [style*="background-color: white"],
body.dark-mode [style*="background-color:#fff"],
body.dark-mode [style*="background-color: #fff"],
body.dark-mode [style*="background: white"],
body.dark-mode [style*="background:#fff"],
body.dark-mode [style*="background: #fff"] {
    background-color: #1e1e1e !important;
}

/* Fix any inline styles that set color to black */
body.dark-mode [style*="color: black"],
body.dark-mode [style*="color:#000"],
body.dark-mode [style*="color: #000"] {
    color: #e0e0e0 !important;
}

/* Print styles - keep light theme for printing */
@media print {
    body.dark-mode {
        background-color: white !important;
        color: black !important;
    }
    
    body.dark-mode * {
        background-color: transparent !important;
        color: black !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }
}
/* Force dark background on board wrapper and container elements */
body.dark-mode #exhibitor-board,
body.dark-mode .exhibitor-board,
body.dark-mode .exhibitor-board-wrapper,
body.dark-mode .exhibitor-board-container,
body.dark-mode .board-wrapper,
body.dark-mode .board-container,
body.dark-mode #board-columns-container,
body.dark-mode .board-columns-container,
body.dark-mode .board-columns {
    background-color: #121212 \!important;
}

/* Absolutely force dark background on board column with highest specificity */
body.dark-mode div.board-column,
body.dark-mode div.category-column {
    background-color: #1e1e1e \!important;
    background: #1e1e1e \!important;
}

/* Fix dropdown arrows in dark mode - remove them completely */
body.dark-mode select,
body.dark-mode .form-select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: none !important;
    padding-right: 1.5rem !important;
}

/* Override any inline styles or JS-added backgrounds */
body.dark-mode select[style*="background-image"] {
    background-image: none !important;
}

/* Ensure dropdowns in modals and other contexts also have no arrows */
body.dark-mode .modal select,
body.dark-mode .card select,
body.dark-mode .form-group select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: none !important;
}

