        /* Modern Design Variables */
        :root {
            --bs-primary: #0891B2;
            --bs-primary-rgb: 8, 145, 178;
            --bs-secondary: #64748b;
            --bs-success: #10B981;
            --bs-info: #06B6D4;
            --bs-warning: #F59E0B;
            --bs-danger: #EF4444;
            --bs-light: #F8FAFC;
            --bs-dark: #1E293B;
            
            --gradient-primary: linear-gradient(135deg, #0891B2 0%, #06B6D4 100%);
            --gradient-secondary: linear-gradient(135deg, #06B6D4 0%, #3B82F6 100%);
            --gradient-success: linear-gradient(135deg, #10B981 0%, #059669 100%);
            --gradient-warning: linear-gradient(135deg, #F59E0B 0%, #EF4444 100%);
            --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
            --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
            --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
            --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
            
            --border-radius: 0.75rem;
            --border-radius-lg: 1rem;
            --border-radius-xl: 1.25rem;
        }
        
        /* Typography */
        body {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
            font-weight: 400;
            line-height: 1.6;
            color: #334155;
            background: #F8FAFC;
            min-height: 100vh;
            padding-bottom: 60px; /* Space for footer */
        }
        
        h1, h2, h3, h4, h5, h6 {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-weight: 600;
            color: #1e293b;
            letter-spacing: -0.02em;
        }
        
        /* Modern Card Design */
        .card {
            border: none;
            border-radius: var(--border-radius);
            box-shadow: var(--shadow);
            backdrop-filter: blur(10px);
            background: rgba(255, 255, 255, 0.9);
            transition: all 0.3s ease;
        }
        
        .card:hover {
            transform: translateY(-2px);
            box-shadow: var(--shadow-lg);
        }
        
        .card-header {
            background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
            border-bottom: 1px solid #e2e8f0;
            border-radius: var(--border-radius) var(--border-radius) 0 0 !important;
            font-weight: 600;
        }
        /* Modern Button Design */
        .btn {
            border-radius: 0.5rem;
            font-weight: 500;
            transition: all 0.3s ease;
            border: none;
            text-transform: none;
            letter-spacing: 0.02em;
        }
        
        .btn-primary {
            background: var(--gradient-primary);
            box-shadow: var(--shadow);
        }
        
        .btn-primary:hover {
            transform: translateY(-1px);
            box-shadow: var(--shadow-lg);
        }
        
        .btn-success {
            background: var(--gradient-success);
            box-shadow: var(--shadow);
        }
        
        .btn-outline-primary {
            border: 2px solid var(--bs-primary);
            color: var(--bs-primary);
            background: transparent;
        }
        
        .btn-outline-primary:hover {
            background: var(--bs-primary);
            transform: translateY(-1px);
            box-shadow: var(--shadow-lg);
        }
        /* Modern Navigation */
        .navbar {
            backdrop-filter: blur(20px);
            background: linear-gradient(135deg, #FFFFFF 0%, #F8FAFC 100%) !important;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
            border-bottom: 1px solid #E5E7EB;
            padding: 0.75rem 0;
            transition: all 0.3s ease;
        }
        
        .navbar.fixed-top {
            backdrop-filter: blur(20px);
        }
        
        .navbar-brand {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-weight: 700;
            font-size: 1.3rem;
            text-decoration: none;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            transition: all 0.3s ease;
        }
        
        .navbar-brand:hover {
            transform: translateY(-1px);
        }
        
        .brand-icon {
            width: 36px;
            height: 36px;
            border-radius: 10px;
            background: var(--gradient-primary);
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 1.1rem;
            box-shadow: 0 4px 12px rgba(8, 145, 178, 0.3);
        }
        
        .brand-text {
            color: #1E293B;
            font-weight: 700;
        }
        
        .nav-link {
            font-weight: 500;
            color: #64748B !important;
            transition: all 0.2s ease;
            border-radius: 8px;
            margin: 0 0.125rem;
            padding: 0.5rem 0.875rem !important;
            display: flex;
            align-items: center;
            gap: 0.375rem;
            font-size: 0.9375rem;
        }
        
        .nav-link:hover {
            color: #0891B2 !important;
            background: rgba(8, 145, 178, 0.08);
        }
        
        .nav-link.active {
            color: #0891B2 !important;
            background: rgba(8, 145, 178, 0.12);
            font-weight: 600;
        }
        
        .navbar-toggler {
            border: none;
            padding: 0.5rem;
            border-radius: var(--radius);
        }
        
        .navbar-toggler:focus {
            box-shadow: 0 0 0 0.25rem rgba(37, 99, 235, 0.25);
        }
        
        .user-dropdown {
            padding: 0.5rem 0.875rem !important;
            border-radius: 10px;
            background: #FFFFFF;
            border: 1px solid #E5E7EB;
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
        }
        
        .user-dropdown:hover {
            background: rgba(8, 145, 178, 0.06);
            border-color: rgba(8, 145, 178, 0.2);
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
        }
        
        .user-avatar {
            width: 32px;
            height: 32px;
            border-radius: 8px;
            background: var(--gradient-primary);
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 0.875rem;
            box-shadow: 0 2px 6px rgba(8, 145, 178, 0.3);
        }
        
        .user-avatar-large {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: var(--gradient-primary);
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
        }
        
        .user-info {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
        }
        
        .user-name {
            font-weight: 600;
            color: #1e293b;
            font-size: 0.875rem;
        }
        
        .dropdown-header {
            font-weight: 600;
            color: #374151;
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            padding: 0.75rem 1rem 0.5rem;
        }
        
        /* Mobile Navigation */
        @media (max-width: 991px) {
            .navbar-nav {
                padding: 1rem 0;
                background: rgba(255, 255, 255, 0.95);
                border-radius: var(--radius-lg);
                margin-top: 1rem;
                box-shadow: var(--shadow-lg);
            }
            
            .nav-link {
                margin: 0.25rem 0;
            }
            
            .dropdown-menu {
                border: none;
                box-shadow: none;
                background: rgba(248, 250, 252, 0.8);
                margin-left: 1rem;
            }
        }

        /* Desktop Navbar Dropdowns: allow overflow and position absolutely */
        @media (min-width: 992px) {
            .navbar,
            .navbar .container-fluid,
            .navbar .navbar-collapse {
                overflow: visible;
            }
            .navbar-nav .dropdown-menu {
                position: absolute !important;
                transform: none !important;
                top: 100%;
                margin-top: 0.25rem;
            }
        }
        
        /* Adjust body padding for fixed navbar */
        body {
            padding-top: 80px;
        }
        
        @media (max-width: 991px) {
            body {
                padding-top: 70px;
            }
        }
        
        /* Enhanced Alerts */
        .alert {
            border: none;
            border-radius: var(--border-radius);
            border-left: 4px solid;
            box-shadow: var(--shadow-sm);
        }
        
        .alert-info {
            background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
            border-left-color: var(--bs-info);
            color: #1e40af;
        }
        
        .alert-success {
            background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
            border-left-color: var(--bs-success);
            color: #166534;
        }
        
        .alert-warning {
            background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
            border-left-color: var(--bs-warning);
            color: #92400e;
        }
        
        .alert-danger {
            background: linear-gradient(135deg, #fef2f2 0%, #fecaca 100%);
            border-left-color: var(--bs-danger);
            color: #991b1b;
        }
        
        /* Form Controls */
        .form-control {
            border-radius: 0.5rem;
            border: 2px solid #e2e8f0;
            transition: all 0.3s ease;
            background: rgba(255, 255, 255, 0.8);
        }
        
        .form-control:focus {
            border-color: var(--bs-primary);
            box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.1);
            background: rgba(255, 255, 255, 1);
        }
        
        /* Modern Tables */
        .table {
            border-radius: var(--border-radius);
            overflow: hidden;
            box-shadow: var(--shadow);
        }
        
        .table thead th {
            background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
            border: none;
            font-weight: 600;
            color: #475569;
            text-transform: uppercase;
            font-size: 0.75rem;
            letter-spacing: 0.05em;
        }
        
        .table tbody tr {
            border: none;
        }
        
        .table tbody tr:hover {
            background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 50%);
            transform: scale(1.001);
            box-shadow: var(--shadow-sm);
        }
        
        /* Badge Improvements */
        .badge {
            border-radius: 0.375rem;
            font-weight: 500;
            font-size: 0.75rem;
            padding: 0.375rem 0.75rem;
        }
        
        /* Dropdown Improvements */
        .dropdown-menu {
            border: none;
            border-radius: var(--border-radius);
            box-shadow: var(--shadow-xl);
            backdrop-filter: blur(20px);
            background: rgba(255, 255, 255, 0.95);
        }
        
        .dropdown-item {
            border-radius: 0.5rem;
            margin: 0.125rem 0.5rem;
            transition: all 0.2s ease;
        }
        
        .dropdown-item:hover {
            background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
            transform: translateX(2px);
        }
        .drag-handle {
            cursor: grab;
            color: #6c757d;
        }
        .sortable-ghost {
            background-color: #f8f9fa;
            opacity: 0.5;
        }
        .sortable-chosen {
            background-color: #e9ecef;
        }
        .part-row.sortable-chosen td {
            background-color: #e2f0fd;
        }
        .order-handle {
            user-select: none;
        }
        
        /* Enhanced responsive design for tablets/iPads */
        @media (max-width: 1024px) and (min-width: 768px) {
            /* iPad and tablet styles */
            .navbar-nav .dropdown-menu {
                position: absolute !important;
                transform: none !important;
            }
            
            .table-responsive {
                font-size: 0.9rem;
            }
            
            .btn {
                padding: 0.375rem 0.5rem;
                font-size: 0.9rem;
            }
            
            .card-body {
                padding: 1rem;
            }
            
            /* Make form inputs more touch-friendly */
            .form-control, .form-select {
                min-height: 44px;
                font-size: 16px; /* Prevents zoom on iOS */
            }
        }
        
        @media (max-width: 767px) {
            /* Mobile phone styles */
            .navbar-collapse {
                background-color: rgba(var(--bs-primary-rgb), 0.95);
                margin: 0.5rem -1rem;
                padding: 1rem;
                border-radius: 0.5rem;
            }
            
            .table-responsive {
                font-size: 0.8rem;
            }
            
            .btn-sm {
                font-size: 0.75rem;
                padding: 0.25rem 0.4rem;
            }
            
            /* Touch-friendly form inputs */
            .form-control, .form-select {
                min-height: 44px;
                font-size: 16px; /* Prevents zoom on iOS */
            }
        }
        
        /* General touch improvements for all devices */
        .btn, .nav-link, .dropdown-item {
            min-height: 44px;
            display: flex;
            align-items: center;
        }
        
        .dropdown-toggle::after {
            margin-left: 0.5em;
        }
        
        /* Dark Mode Theme Variables */
        :root {
            --bs-primary: #0d6efd;
            --bs-secondary: #6c757d;
            --bs-success: #198754;
            --bs-info: #0dcaf0;
            --bs-warning: #ffc107;
            --bs-danger: #dc3545;
            --bs-light: #f8f9fa;
            --bs-dark: #212529;
            --bs-body-bg: #ffffff;
            --bs-body-color: #212529;
            --bs-card-bg: #ffffff;
            --bs-border-color: #dee2e6;
            --bs-navbar-bg: #0d6efd;
            --bs-sidebar-bg: #ffffff;
        }
        
        /* Dark Mode Theme */
        [data-bs-theme="dark"] {
            --bs-body-bg: #121212;
            --bs-body-color: #e9ecef;
            --bs-card-bg: #1e1e1e;
            --bs-border-color: #404040;
            --bs-navbar-bg: #1a1a1a;
            --bs-sidebar-bg: #1e1e1e;
            --bs-light: #2d2d2d;
            --bs-dark: #f8f9fa;
        }
        
        /* Apply theme variables */
        body {
            background-color: var(--bs-body-bg) !important;
            color: var(--bs-body-color) !important;
            transition: background-color 0.3s ease, color 0.3s ease;
        }
        
        /* Dark Mode Text Utilities - Fix contrast issues */
        [data-bs-theme="dark"] .text-muted {
            color: #adb5bd !important;
        }
        
        [data-bs-theme="dark"] .text-secondary {
            color: #adb5bd !important;
        }
        
        [data-bs-theme="dark"] .text-dark {
            color: #f8f9fa !important;
        }
        
        [data-bs-theme="dark"] .text-body {
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .text-primary {
            color: #66b3ff !important;
        }
        
        [data-bs-theme="dark"] .badge {
            color: #fff !important;
        }
        
        [data-bs-theme="dark"] .alert {
            color: #fff !important;
        }
        
        [data-bs-theme="dark"] a:not(.btn) {
            color: #66b3ff !important;
        }
        
        [data-bs-theme="dark"] a:not(.btn):hover {
            color: #99ccff !important;
        }
        
        /* Additional Dark Mode Fixes for Better Readability */
        [data-bs-theme="dark"] .bg-light {
            background-color: #2d2d2d !important;
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .bg-white {
            background-color: #1e1e1e !important;
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .bg-warning.text-dark {
            color: #000 !important;
        }
        
        [data-bs-theme="dark"] .card-header {
            background-color: #2d2d2d !important;
            color: #e9ecef !important;
            border-color: #404040 !important;
        }
        
        [data-bs-theme="dark"] .list-group-item {
            background-color: #1e1e1e !important;
            color: #e9ecef !important;
            border-color: #404040 !important;
        }
        
        [data-bs-theme="dark"] .dropdown-item {
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .dropdown-item:hover {
            background-color: #2d2d2d !important;
            color: #fff !important;
        }
        
        [data-bs-theme="dark"] .table {
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .table thead th {
            background-color: #2d2d2d !important;
            color: #e9ecef !important;
            border-color: #404040 !important;
        }
        
        [data-bs-theme="dark"] .table tbody td {
            border-color: #404040 !important;
        }
        
        [data-bs-theme="dark"] .table-striped tbody tr:nth-of-type(odd) {
            background-color: rgba(255, 255, 255, 0.03) !important;
        }
        
        [data-bs-theme="dark"] .table-hover tbody tr:hover {
            background-color: rgba(255, 255, 255, 0.075) !important;
        }
        
        [data-bs-theme="dark"] h1, [data-bs-theme="dark"] h2, 
        [data-bs-theme="dark"] h3, [data-bs-theme="dark"] h4, 
        [data-bs-theme="dark"] h5, [data-bs-theme="dark"] h6 {
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .text-black {
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] label {
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] small {
            color: #adb5bd !important;
        }
        
        [data-bs-theme="dark"] .form-text {
            color: #adb5bd !important;
        }
        
        [data-bs-theme="dark"] .input-group-text {
            background-color: #2d2d2d !important;
            border-color: #404040 !important;
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .breadcrumb {
            background-color: #1e1e1e !important;
        }
        
        [data-bs-theme="dark"] .breadcrumb-item {
            color: #adb5bd !important;
        }
        
        [data-bs-theme="dark"] .breadcrumb-item.active {
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .pagination .page-link {
            background-color: #1e1e1e !important;
            border-color: #404040 !important;
            color: #66b3ff !important;
        }
        
        [data-bs-theme="dark"] .pagination .page-link:hover {
            background-color: #2d2d2d !important;
            color: #99ccff !important;
        }
        
        [data-bs-theme="dark"] .pagination .page-item.active .page-link {
            background-color: #0d6efd !important;
            border-color: #0d6efd !important;
        }
        
        [data-bs-theme="dark"] .pagination .page-item.disabled .page-link {
            background-color: #1e1e1e !important;
            color: #6c757d !important;
        }
        
        [data-bs-theme="dark"] .btn-outline-secondary {
            color: #adb5bd !important;
            border-color: #404040 !important;
        }
        
        [data-bs-theme="dark"] .btn-outline-secondary:hover {
            background-color: #2d2d2d !important;
            color: #fff !important;
        }
        
        [data-bs-theme="dark"] .btn-light {
            background-color: #2d2d2d !important;
            border-color: #404040 !important;
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .btn-light:hover {
            background-color: #404040 !important;
            color: #fff !important;
        }
        
        [data-bs-theme="dark"] hr {
            border-color: #404040 !important;
            opacity: 0.5 !important;
        }
        
        [data-bs-theme="dark"] .border {
            border-color: #404040 !important;
        }
        
        [data-bs-theme="dark"] .offcanvas {
            background-color: #1e1e1e !important;
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .offcanvas-header {
            border-color: #404040 !important;
        }
        
        [data-bs-theme="dark"] .nav-tabs {
            border-color: #404040 !important;
        }
        
        [data-bs-theme="dark"] .nav-tabs .nav-link {
            color: #adb5bd !important;
        }
        
        [data-bs-theme="dark"] .nav-tabs .nav-link:hover {
            border-color: #404040 !important;
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .nav-tabs .nav-link.active {
            background-color: #1e1e1e !important;
            color: #e9ecef !important;
            border-color: #404040 #404040 #1e1e1e !important;
        }
        
        [data-bs-theme="dark"] .accordion-button {
            background-color: #2d2d2d !important;
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .accordion-button:not(.collapsed) {
            background-color: #404040 !important;
            color: #fff !important;
        }
        
        [data-bs-theme="dark"] .accordion-item {
            background-color: #1e1e1e !important;
            border-color: #404040 !important;
        }
        
        [data-bs-theme="dark"] .accordion-body {
            background-color: #1e1e1e !important;
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .toast {
            background-color: #1e1e1e !important;
            color: #e9ecef !important;
            border-color: #404040 !important;
        }
        
        [data-bs-theme="dark"] .toast-header {
            background-color: #2d2d2d !important;
            color: #e9ecef !important;
            border-color: #404040 !important;
        }
        
        [data-bs-theme="dark"] .progress {
            background-color: #2d2d2d !important;
        }
        
        [data-bs-theme="dark"] .spinner-border,
        [data-bs-theme="dark"] .spinner-grow {
            color: #66b3ff !important;
        }
        
        [data-bs-theme="dark"] code {
            background-color: #2d2d2d !important;
            color: #f8f9fa !important;
        }
        
        [data-bs-theme="dark"] pre {
            background-color: #1e1e1e !important;
            color: #e9ecef !important;
            border-color: #404040 !important;
        }
        
        [data-bs-theme="dark"] blockquote {
            border-left-color: #404040 !important;
            color: #adb5bd !important;
        }
        
        [data-bs-theme="dark"] .popover {
            background-color: #1e1e1e !important;
            border-color: #404040 !important;
        }
        
        [data-bs-theme="dark"] .popover-header {
            background-color: #2d2d2d !important;
            color: #e9ecef !important;
            border-color: #404040 !important;
        }
        
        [data-bs-theme="dark"] .popover-body {
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .tooltip-inner {
            background-color: #2d2d2d !important;
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .close,
        [data-bs-theme="dark"] .btn-close {
            filter: invert(1) grayscale(100%) brightness(200%);
        }
        
        [data-bs-theme="dark"] ::placeholder {
            color: #6c757d !important;
            opacity: 1 !important;
        }
        
        [data-bs-theme="dark"] ::-webkit-scrollbar {
            width: 10px;
            height: 10px;
        }
        
        [data-bs-theme="dark"] ::-webkit-scrollbar-track {
            background: #1e1e1e;
        }
        
        [data-bs-theme="dark"] ::-webkit-scrollbar-thumb {
            background: #404040;
            border-radius: 5px;
        }
        
        [data-bs-theme="dark"] ::-webkit-scrollbar-thumb:hover {
            background: #555;
        }
        
        /* Dark Mode - Stats Cards and Dashboard Elements */
        [data-bs-theme="dark"] .stats-card {
            background: rgba(30, 30, 30, 0.98) !important;
            border-color: #404040 !important;
        }
        
        [data-bs-theme="dark"] .stats-label {
            color: #adb5bd !important;
        }
        
        [data-bs-theme="dark"] .stats-description {
            color: #adb5bd !important;
        }
        
        [data-bs-theme="dark"] .quick-actions {
            background: rgba(30, 30, 30, 0.98) !important;
            border-color: #404040 !important;
        }
        
        [data-bs-theme="dark"] .keyboard-shortcuts-panel {
            background: #1e1e1e !important;
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .bg-transparent {
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .card.border-0 {
            background-color: #1e1e1e !important;
        }
        
        [data-bs-theme="dark"] .shadow-sm,
        [data-bs-theme="dark"] .shadow,
        [data-bs-theme="dark"] .shadow-lg {
            box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.5) !important;
        }
        
        [data-bs-theme="dark"] .bg-primary.bg-opacity-10 {
            background-color: rgba(13, 110, 253, 0.2) !important;
        }
        
        [data-bs-theme="dark"] .bg-success.bg-opacity-10 {
            background-color: rgba(25, 135, 84, 0.2) !important;
        }
        
        [data-bs-theme="dark"] .bg-warning.bg-opacity-10 {
            background-color: rgba(255, 193, 7, 0.2) !important;
        }
        
        [data-bs-theme="dark"] .bg-info.bg-opacity-10 {
            background-color: rgba(13, 202, 240, 0.2) !important;
        }
        
        [data-bs-theme="dark"] .bg-danger.bg-opacity-10 {
            background-color: rgba(220, 53, 69, 0.2) !important;
        }
        
        [data-bs-theme="dark"] .text-white-50 {
            color: rgba(255, 255, 255, 0.5) !important;
        }
        
        [data-bs-theme="dark"] .opacity-75 {
            opacity: 0.75 !important;
        }
        
        [data-bs-theme="dark"] .opacity-50 {
            opacity: 0.5 !important;
        }
        
        .card {
            background-color: var(--bs-card-bg) !important;
            border-color: var(--bs-border-color) !important;
        }
        
        .navbar {
            background-color: var(--bs-navbar-bg) !important;
        }
        
        .table {
            --bs-table-bg: var(--bs-card-bg);
            --bs-table-border-color: var(--bs-border-color);
        }
        
        .modal-content {
            background-color: var(--bs-card-bg) !important;
            border-color: var(--bs-border-color) !important;
        }
        
        .dropdown-menu {
            background-color: var(--bs-card-bg) !important;
            border-color: var(--bs-border-color) !important;
        }
        
        .form-control, .form-select {
            background-color: var(--bs-card-bg) !important;
            border-color: var(--bs-border-color) !important;
            color: var(--bs-body-color) !important;
        }
        
        .form-control:focus, .form-select:focus {
            background-color: var(--bs-card-bg) !important;
            border-color: var(--bs-primary) !important;
            color: var(--bs-body-color) !important;
            box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
        }
        
        /* Theme Toggle Button */
        .theme-toggle {
            border: none;
            background: transparent;
            color: inherit;
            padding: 0.375rem 0.75rem;
            border-radius: 0.375rem;
            transition: all 0.2s ease;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
        
        .theme-toggle:hover {
            background-color: rgba(255, 255, 255, 0.1);
        }
        
        /* User Preferences Styles */
        .preferences-section {
            border-bottom: 1px solid var(--bs-border-color);
            padding: 1rem 0;
        }
        
        .preferences-section:last-child {
            border-bottom: none;
        }
        
        .preference-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0.5rem 0;
        }
        
        .preference-control {
            min-width: 120px;
        }
        
        .column-preference-item {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0.25rem 0;
            border-bottom: 1px solid rgba(0,0,0,0.1);
        }
        
        .column-preference-item:last-child {
            border-bottom: none;
        }
        
        .drag-handle-pref {
            cursor: grab;
            color: var(--bs-secondary);
            margin-right: 0.5rem;
        }
        
        .drag-handle-pref:active {
            cursor: grabbing;
        }
        
        /* Footer Styles */
        .app-footer {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(135deg, #FFFFFF 0%, #F8FAFC 100%);
            border-top: 1px solid #E5E7EB;
            padding: 0.375rem 0; /* compact height */
            font-size: 0.8125rem;
            color: #64748B;
            box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.05);
            z-index: 1000;
        }
        
        .app-footer .container {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        
        .footer-left a {
            color: #0891B2;
            text-decoration: none;
            font-weight: 500;
            transition: all 0.2s ease;
        }
        
        .footer-left a:hover {
            color: #06B6D4;
            text-decoration: underline;
        }
        
        .footer-right {
            display: flex;
            gap: 0.5rem; /* tighter gap */
            align-items: center;
        }
        
        /* What's New Modal Styles */
        .changelog-version {
            padding: 1rem 0;
        }
        
        .changelog-category {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.95rem;
        }
        
        .changelog-list {
            list-style: none;
            padding-left: 1.75rem;
            margin-bottom: 0;
        }
        
        .changelog-list li {
            position: relative;
            padding: 0.375rem 0;
            color: #475569;
            font-size: 0.9375rem;
            line-height: 1.6;
        }
        
        .changelog-list li::before {
            content: "•";
            position: absolute;
            left: -1rem;
            color: #0891B2;
            font-weight: bold;
        }
        
        #whatsNewModal .modal-content {
            border: none;
            border-radius: 1rem;
            overflow: hidden;
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
        }
        
        #whatsNewModal .modal-body::-webkit-scrollbar {
            width: 8px;
        }
        
        #whatsNewModal .modal-body::-webkit-scrollbar-track {
            background: #F1F5F9;
            border-radius: 4px;
        }
        
        #whatsNewModal .modal-body::-webkit-scrollbar-thumb {
            background: #CBD5E1;
            border-radius: 4px;
        }
        
        #whatsNewModal .modal-body::-webkit-scrollbar-thumb:hover {
            background: #94A3B8;
        }
        
        @media (max-width: 768px) {
            .app-footer .container {
                flex-direction: column;
                gap: 0.5rem;
                text-align: center;
            }
            
            .footer-right {
                flex-direction: column;
                gap: 0.25rem;
            }
        }
        /* Ensure footer stays on one line for wider viewports */
        .app-footer .container-fluid {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: nowrap;
            /* no min-height to keep it tight */
        }
        .app-footer .footer-left,
        .app-footer .footer-right {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            white-space: nowrap;
        }
