/* =============================================================================
   PANAF VIRTUAL AIRLINE THEME V3 - DARK MODE STYLESHEET
   Enhanced dark mode implementation with CSS Custom Properties
   ============================================================================= */

/* Dark Mode CSS Custom Properties Override */
[data-theme="dark"] {
  /* Primary Colors - Adjusted for dark mode */
  --panaf-primary: #7a9a6b;
  --panaf-primary-light: #8db380;
  --panaf-primary-dark: #65825a;
  --panaf-accent: #a3b18a;
  --panaf-gold: #f4d03f;
  
  /* Background Colors - Dark theme */
  --bg-primary: #1a1a1a;
  --bg-card: #2c3e50;
  --bg-card-header: #34495e;
  --bg-card-footer: #2c3e50;
  
  /* Text Colors - Light colors for dark backgrounds */
  --text-primary: #e8e8e8;
  --text-secondary: #b8c5d1;
  --text-light: #ffffff;
  --text-muted: rgba(184, 197, 209, 0.7);
  --text-on-card: #e8e8e8;
  --text-on-green: #ffffff;
  
  /* Shadow Colors - Darker shadows for dark mode */
  --shadow-primary: rgba(0, 0, 0, 0.4);
  --shadow-strong: rgba(0, 0, 0, 0.6);
  
  /* Border Colors - Visible borders on dark backgrounds */
  --border-light: rgba(184, 197, 209, 0.2);
  --border-primary: #7a9a6b;
  
  /* Interactive States - Adjusted for dark mode */
  --hover-overlay: rgba(122, 154, 107, 0.2);
  --active-overlay: rgba(122, 154, 107, 0.3);
}

/* Enhanced Body Styling for Dark Mode */
[data-theme="dark"] body {
  background: linear-gradient(135deg, #1a1a1a 0%, #2c3e50 25%, #1a1a1a 100%);
  background-attachment: fixed;
  color: var(--text-primary);
}

/* Enhanced Headings for Dark Mode */
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6 {
  color: var(--text-light);
}

/* Enhanced Links for Dark Mode */
[data-theme="dark"] a {
  color: var(--panaf-accent);
}

[data-theme="dark"] a:hover {
  color: var(--panaf-gold);
}

/* Enhanced Cards for Dark Mode */
[data-theme="dark"] .card {
  background: linear-gradient(135deg, var(--bg-card) 0%, #34495e 100%) !important;
  border: 1px solid var(--border-primary);
  box-shadow: 0 4px 20px var(--shadow-primary);
  color: var(--text-primary) !important;
}

[data-theme="dark"] .card:hover {
  box-shadow: 0 8px 32px var(--shadow-strong);
  border-color: var(--panaf-accent);
}

[data-theme="dark"] .card .card-header {
  background: var(--bg-card-header) !important;
  color: var(--text-light) !important;
  border-bottom: 2px solid var(--panaf-accent);
}

[data-theme="dark"] .card .card-body {
  background-color: var(--bg-card) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .card .card-footer {
  background: linear-gradient(135deg, var(--bg-card-footer) 0%, var(--panaf-primary-dark) 100%) !important;
  color: var(--text-light) !important;
  border-top: 1px solid var(--border-primary);
}

/* Airline Stats Cards */
[data-theme="dark"] .widget-stats,
[data-theme="dark"] .stats-item {
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
}

/* Fleet Cards */
[data-theme="dark"] .fleet-card,
[data-theme="dark"] .aircraft-card {
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
}

/* Route Network Section */
[data-theme="dark"] .route-network,
[data-theme="dark"] .route-section {
  background: var(--bg-card) !important;
  color: var(--text-light) !important;
}

[data-theme="dark"] .route-network h2,
[data-theme="dark"] .route-network h3,
[data-theme="dark"] .route-section h2,
[data-theme="dark"] .route-section h3 {
  color: var(--text-light) !important;
}

/* Active Bookings and Pilots Headers */
[data-theme="dark"] .widget-header,
[data-theme="dark"] .section-header {
  background: var(--bg-card-header) !important;
  color: var(--text-light) !important;
}

/* Partners Section */
[data-theme="dark"] .partners-section,
[data-theme="dark"] .partner-card {
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
}

/* Generic white cards and sections */
[data-theme="dark"] .col-md-3 .card,
[data-theme="dark"] .row-cols-md-2 .card,
[data-theme="dark"] .col-lg-4 .card,
[data-theme="dark"] .col-lg-6 .card,
[data-theme="dark"] .col-lg-8 .card,
[data-theme="dark"] .col-lg-12 .card {
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
}

/* Any div that has a white/light background */
[data-theme="dark"] div[style*="background-color: white"],
[data-theme="dark"] div[style*="background-color: #fff"],
[data-theme="dark"] div[style*="background-color: #ffffff"],
[data-theme="dark"] div[style*="background: white"],
[data-theme="dark"] div[style*="background: #fff"],
[data-theme="dark"] div[style*="background: #ffffff"] {
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
}

/* Override any light backgrounds */
[data-theme="dark"] .bg-white,
[data-theme="dark"] .bg-light {
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
}

/* Ensure all text in cards is visible */
[data-theme="dark"] .card *,
[data-theme="dark"] .card p,
[data-theme="dark"] .card span,
[data-theme="dark"] .card div,
[data-theme="dark"] .card h1,
[data-theme="dark"] .card h2,
[data-theme="dark"] .card h3,
[data-theme="dark"] .card h4,
[data-theme="dark"] .card h5,
[data-theme="dark"] .card h6 {
  color: var(--text-primary) !important;
}

/* Specific for route network section */
[data-theme="dark"] .route-network-section,
[data-theme="dark"] .map-container {
  background: var(--bg-card) !important;
}

[data-theme="dark"] .route-network-section h2,
[data-theme="dark"] .route-network-section h3 {
  color: var(--text-light) !important;
}

/* Fleet carousel cards */
[data-theme="dark"] .carousel .card,
[data-theme="dark"] .carousel-item .card {
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
}

/* Stats widgets and indicators */
[data-theme="dark"] .row > .col-md-3,
[data-theme="dark"] .row > .col-lg-3,
[data-theme="dark"] .row > .col-sm-6 {
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .stats-widget,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .indicator {
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
  border-radius: 12px;
}

/* Widget headers specifically */
[data-theme="dark"] .widget h3,
[data-theme="dark"] .widget h4,
[data-theme="dark"] .widget h5 {
  color: var(--text-light) !important;
}

/* Active bookings and pilots sections */
[data-theme="dark"] .active-bookings,
[data-theme="dark"] .newest-pilots,
[data-theme="dark"] .widget-bookings,
[data-theme="dark"] .widget-pilots {
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
}

/* All widgets */
[data-theme="dark"] .widget {
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
}

/* Force dark backgrounds on any remaining light sections */
[data-theme="dark"] section,
[data-theme="dark"] .section {
  background: var(--bg-primary) !important;
  color: var(--text-primary) !important;
}

/* Make sure all divs with rounded corners (likely cards) are dark */
[data-theme="dark"] div[class*="rounded"],
[data-theme="dark"] div[style*="border-radius"] {
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
}

/* Enhanced Navbar for Dark Mode */
[data-theme="dark"] #panaf-navbar {
  background: linear-gradient(135deg, #1a1a1a 0%, var(--panaf-primary-dark) 50%, #2c3e50 100%);
  border-bottom-color: var(--border-primary);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] #panaf-navbar .navbar-brand,
[data-theme="dark"] #panaf-navbar .nav-link {
  color: var(--text-light) !important;
}

[data-theme="dark"] #panaf-navbar .nav-link:hover {
  background-color: var(--hover-overlay);
  color: var(--panaf-gold) !important;
}

[data-theme="dark"] #panaf-navbar .nav-link.active {
  background-color: var(--active-overlay);
  color: var(--panaf-gold) !important;
}

[data-theme="dark"] #panaf-navbar .dropdown-menu {
  background-color: var(--bg-card);
  border: 1px solid var(--border-primary);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] #panaf-navbar .dropdown-item {
  color: var(--text-primary);
  background-color: transparent;
}

[data-theme="dark"] #panaf-navbar .dropdown-item:hover {
  background-color: var(--hover-overlay);
  color: var(--panaf-gold);
}

[data-theme="dark"] #panaf-navbar .user-dropdown {
  background-color: var(--hover-overlay);
}

[data-theme="dark"] #panaf-navbar .user-dropdown:hover {
  background-color: var(--active-overlay);
}

[data-theme="dark"] #panaf-navbar .user-details {
  background-color: var(--bg-card);
  color: var(--text-primary);
  border: 1px solid var(--border-primary);
}

[data-theme="dark"] #panaf-navbar .navbar-toggler {
  border-color: var(--border-light);
}

[data-theme="dark"] #panaf-navbar .navbar-toggler:hover {
  background-color: var(--hover-overlay);
}

/* Legacy Navbar Dark Mode */
[data-theme="dark"] #Dispo_NavBar {
  background: var(--bg-card-header);
}

[data-theme="dark"] #Dispo_NavBar a {
  color: var(--text-light);
  background-color: var(--bg-card-header);
}

[data-theme="dark"] #Dispo_NavBar a:hover {
  color: var(--panaf-gold);
  background-color: var(--panaf-primary);
}

/* Enhanced Buttons for Dark Mode */
[data-theme="dark"] .btn-primary {
  background: linear-gradient(135deg, var(--panaf-primary) 0%, var(--panaf-primary-light) 100%);
  color: var(--text-light);
  border: none;
}

[data-theme="dark"] .btn-primary:hover {
  background: linear-gradient(135deg, var(--panaf-primary-dark) 0%, var(--panaf-primary) 100%);
  color: var(--text-light);
  box-shadow: 0 4px 20px var(--shadow-primary);
}

[data-theme="dark"] .btn-secondary {
  background-color: var(--bg-card-header);
  color: var(--text-light);
  border: 1px solid var(--border-primary);
}

[data-theme="dark"] .btn-secondary:hover {
  background-color: var(--panaf-primary);
  color: var(--text-light);
}

/* Enhanced Form Controls for Dark Mode */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
  background-color: var(--bg-card);
  color: var(--text-primary);
  border: 2px solid var(--border-light);
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
  background-color: var(--bg-card);
  color: var(--text-primary);
  border-color: var(--panaf-primary);
  box-shadow: 0 0 0 0.2rem rgba(122, 154, 107, 0.25);
}

[data-theme="dark"] .form-control::placeholder {
  color: var(--text-muted);
}

[data-theme="dark"] .form-label {
  color: var(--text-secondary);
}

/* Enhanced Form Check (Switches/Checkboxes) */
[data-theme="dark"] .form-check-input {
  background-color: var(--bg-card);
  border: 2px solid var(--border-light);
}

[data-theme="dark"] .form-check-input:checked {
  background-color: var(--panaf-primary);
  border-color: var(--panaf-primary);
}

[data-theme="dark"] .form-check-label {
  color: var(--text-primary);
}

/* Enhanced Dropdown Components */
[data-theme="dark"] .dropdown-menu {
  background-color: var(--bg-card);
  border: 1px solid var(--border-primary);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] .dropdown-item {
  color: var(--text-primary);
  background-color: transparent;
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
  background-color: var(--hover-overlay);
  color: var(--panaf-gold);
}

[data-theme="dark"] .dropdown-divider {
  border-color: var(--border-light);
}

/* Enhanced Search Components */
[data-theme="dark"] .dropdown-menu .search-input {
  background-color: var(--bg-card-header);
  color: var(--text-primary);
  border-color: var(--border-primary);
}

[data-theme="dark"] .dropdown-menu .search-input:focus {
  background-color: var(--bg-card-header);
  color: var(--text-primary);
  border-color: var(--panaf-primary);
  box-shadow: 0 0 0 2px rgba(122, 154, 107, 0.3);
}

[data-theme="dark"] .dropdown-menu .search-results .dropdown-item:hover {
  background-color: var(--hover-overlay);
  color: var(--panaf-gold);
}

[data-theme="dark"] .form-control.airport_search {
  background-color: var(--bg-card);
  color: var(--text-primary);
  border-color: var(--border-primary);
}

[data-theme="dark"] .form-control.airport_search:focus {
  background-color: var(--bg-card);
  color: var(--text-primary);
  border-color: var(--panaf-primary);
  box-shadow: 0 0 0 0.2rem rgba(122, 154, 107, 0.25);
}

/* Enhanced Carousel for Dark Mode */
[data-theme="dark"] .carousel {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6);
}

[data-theme="dark"] .carousel-control-prev,
[data-theme="dark"] .carousel-control-next {
  color: var(--text-light);
}

[data-theme="dark"] .carousel-indicators button {
  background-color: var(--panaf-accent);
}

[data-theme="dark"] .carousel-caption {
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
  color: var(--text-light);
}

/* Enhanced Crew Center Form for Dark Mode */
[data-theme="dark"] .crew-center-form {
  background: linear-gradient(135deg, rgba(44, 62, 80, 0.9) 0%, rgba(52, 73, 94, 0.9) 100%);
  border: 1px solid var(--border-primary);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] .crew-center-form .segment h1 {
  color: var(--panaf-gold);
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] .crew-center-form button,
[data-theme="dark"] .crew-center-form input,
[data-theme="dark"] .crew-center-form .button {
  background-color: var(--bg-card);
  color: var(--text-primary);
  border-color: var(--border-primary);
}

[data-theme="dark"] .crew-center-form input {
  background-color: var(--bg-card-header);
  color: var(--text-primary);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .crew-center-form input:focus {
  background-color: var(--bg-card-header);
  color: var(--text-primary);
  border-color: var(--panaf-primary);
  box-shadow: 0 0 0 0.2rem rgba(122, 154, 107, 0.25);
}

[data-theme="dark"] .crew-center-form button,
[data-theme="dark"] .crew-center-form .button {
  background: linear-gradient(135deg, var(--panaf-primary) 0%, var(--panaf-primary-light) 100%);
  color: var(--text-light);
  border: none;
}

[data-theme="dark"] .crew-center-form button:hover,
[data-theme="dark"] .crew-center-form .button:hover {
  background: linear-gradient(135deg, var(--panaf-primary-dark) 0%, var(--panaf-primary) 100%);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .crew-center-form label {
  color: var(--text-secondary);
}

[data-theme="dark"] .crew-center-form button.green,
[data-theme="dark"] .crew-center-form .button.green {
  background: linear-gradient(135deg, #27ae60 0%, #2ecc71 100%);
}

[data-theme="dark"] .crew-center-form button.blue,
[data-theme="dark"] .crew-center-form .button.blue {
  background: linear-gradient(135deg, #3498db 0%, #5dade2 100%);
}

/* Enhanced Stats Carousel for Dark Mode */
[data-theme="dark"] .stats-item {
  background: linear-gradient(135deg, var(--bg-card) 0%, var(--bg-card-header) 100%);
  border-color: var(--border-primary);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .stats-item:hover {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6);
  border-color: var(--panaf-accent);
}

[data-theme="dark"] .stats-value {
  color: var(--panaf-gold);
}

[data-theme="dark"] .stats-label {
  color: var(--text-secondary);
}

/* Enhanced Top Navigation Buttons */
[data-theme="dark"] .top-nav-buttons a {
  background: linear-gradient(135deg, var(--panaf-primary) 0%, var(--panaf-primary-light) 100%);
  color: var(--text-light);
  border-color: var(--border-primary);
}

[data-theme="dark"] .top-nav-buttons a:hover {
  background: linear-gradient(135deg, var(--panaf-primary-dark) 0%, var(--panaf-primary) 100%);
  color: var(--panaf-gold);
  border-color: var(--panaf-gold);
}

/* Enhanced Tables for Dark Mode */
[data-theme="dark"] .table {
  color: var(--text-primary);
  background-color: var(--bg-card);
}

[data-theme="dark"] .table th {
  background: linear-gradient(135deg, var(--bg-card-header) 0%, var(--panaf-primary-dark) 100%);
  color: var(--text-light);
  border-color: var(--border-primary);
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .table td {
  border-color: var(--border-light);
}

[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > td,
[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > th {
  background-color: rgba(122, 154, 107, 0.1);
}

[data-theme="dark"] .table-hover > tbody > tr:hover > td,
[data-theme="dark"] .table-hover > tbody > tr:hover > th {
  background-color: var(--hover-overlay);
}

/* Enhanced styling for Active Flights and Active Bookings widget table headers */
[data-theme="dark"] .widget .table th,
[data-theme="dark"] .card .table th {
  background: linear-gradient(135deg, var(--panaf-primary-dark) 0%, var(--panaf-primary) 100%);
  color: var(--text-light);
  font-weight: bold;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  border-bottom: 2px solid var(--panaf-accent);
  position: relative;
}

[data-theme="dark"] .widget .table th::after,
[data-theme="dark"] .card .table th::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, var(--panaf-gold) 50%, transparent 100%);
}

/* Specific styling for Flight Board (Active Flights) widget */
[data-theme="dark"] .card .table.table-striped th {
  background: linear-gradient(135deg, #34495e 0%, var(--panaf-primary) 100%);
  color: var(--panaf-gold);
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
  padding: 12px 8px;
}

/* Specific styling for Active Bookings widget */
[data-theme="dark"] .card .table.table-borderless th {
  background: linear-gradient(135deg, var(--panaf-primary-dark) 0%, #2c3e50 100%);
  color: var(--text-light);
  font-weight: 600;
  border-bottom: 2px solid var(--panaf-accent);
}

/* Enhanced Badges and Alerts */
[data-theme="dark"] .badge {
  color: var(--text-light);
}

[data-theme="dark"] .badge-primary {
  background-color: var(--panaf-primary);
}

[data-theme="dark"] .badge-secondary {
  background-color: var(--bg-card-header);
}

[data-theme="dark"] .alert {
  background-color: var(--bg-card);
  border-color: var(--border-primary);
  color: var(--text-primary);
}

[data-theme="dark"] .alert-success {
  background-color: rgba(39, 174, 96, 0.2);
  border-color: #27ae60;
  color: #2ecc71;
}

[data-theme="dark"] .alert-warning {
  background-color: rgba(244, 208, 63, 0.2);
  border-color: #f4d03f;
  color: #f1c40f;
}

[data-theme="dark"] .alert-danger {
  background-color: rgba(231, 76, 60, 0.2);
  border-color: #e74c3c;
  color: #ec7063;
}

[data-theme="dark"] .alert-info {
  background-color: rgba(52, 152, 219, 0.2);
  border-color: #3498db;
  color: #5dade2;
}

/* Enhanced Background Utilities for Dark Mode */
[data-theme="dark"] .bg-light {
  background-color: var(--bg-card) !important;
  color: var(--text-primary);
}

[data-theme="dark"] .bg-white {
  background-color: var(--bg-card-header) !important;
  color: var(--text-primary);
}

[data-theme="dark"] .bg-dark {
  background-color: #1a1a1a !important;
  color: var(--text-light);
}

[data-theme="dark"] .bg-info {
  background: linear-gradient(135deg, #3498db 0%, #5dade2 100%) !important;
  color: var(--text-light) !important;
}

[data-theme="dark"] .bg-success {
  background: linear-gradient(135deg, #27ae60 0%, #2ecc71 100%) !important;
  color: var(--text-light) !important;
}

[data-theme="dark"] .bg-warning {
  background: linear-gradient(135deg, #f39c12 0%, #f4d03f 100%) !important;
  color: #1a1a1a !important;
}

[data-theme="dark"] .bg-danger {
  background: linear-gradient(135deg, #e74c3c 0%, #ec7063 100%) !important;
  color: var(--text-light) !important;
}

/* Enhanced Text Utilities for Dark Mode */
[data-theme="dark"] .text-muted {
  color: var(--text-muted) !important;
}

[data-theme="dark"] .text-light {
  color: var(--text-light) !important;
}

[data-theme="dark"] .text-dark {
  color: var(--text-primary) !important;
}

/* Enhanced Select2 Components for Dark Mode */
[data-theme="dark"] .select2-container--bootstrap-5 .select2-selection {
  background-color: var(--bg-card);
  color: var(--text-primary);
  border-color: var(--border-primary);
}

[data-theme="dark"] .select2-container--bootstrap-5 .select2-selection:focus {
  border-color: var(--panaf-primary);
}

[data-theme="dark"] .select2-dropdown {
  background-color: var(--bg-card);
  border-color: var(--border-primary);
}

[data-theme="dark"] .select2-results__option {
  color: var(--text-primary);
  background-color: var(--bg-card);
}

[data-theme="dark"] .select2-results__option:hover,
[data-theme="dark"] .select2-results__option--highlighted {
  background-color: var(--hover-overlay);
  color: var(--panaf-gold);
}

[data-theme="dark"] .select2-search input {
  background-color: var(--bg-card-header);
  color: var(--text-primary);
  border-color: var(--border-primary);
}

[data-theme="dark"] .select2-results {
  background-color: var(--bg-card);
  color: var(--text-primary);
}

/* Enhanced Modal Components for Dark Mode */
[data-theme="dark"] .modal-content {
  background-color: var(--bg-card);
  border-color: var(--border-primary);
}

[data-theme="dark"] .modal-header {
  background-color: var(--bg-card-header);
  color: var(--text-light);
  border-bottom-color: var(--border-primary);
}

[data-theme="dark"] .modal-body {
  background-color: var(--bg-card);
  color: var(--text-primary);
}

[data-theme="dark"] .modal-footer {
  background-color: var(--bg-card);
  color: var(--text-primary);
  border-top-color: var(--border-primary);
}

[data-theme="dark"] .close,
[data-theme="dark"] .btn-close {
  color: var(--text-light);
  opacity: 0.8;
}

[data-theme="dark"] .close:hover,
[data-theme="dark"] .btn-close:hover {
  color: var(--panaf-gold);
  opacity: 1;
}

/* Enhanced Progress Bars for Dark Mode */
[data-theme="dark"] .progress {
  background-color: var(--bg-card-header);
}

[data-theme="dark"] .progress-bar {
  background: linear-gradient(135deg, var(--panaf-primary) 0%, var(--panaf-primary-light) 100%);
}

/* Enhanced Pagination for Dark Mode */
[data-theme="dark"] .pagination .page-link {
  background-color: var(--bg-card);
  color: var(--text-primary);
  border-color: var(--border-primary);
}

[data-theme="dark"] .pagination .page-link:hover {
  background-color: var(--hover-overlay);
  color: var(--panaf-gold);
  border-color: var(--panaf-primary);
}

[data-theme="dark"] .pagination .page-item.active .page-link {
  background-color: var(--panaf-primary);
  border-color: var(--panaf-primary);
  color: var(--text-light);
}

/* Enhanced Footer for Dark Mode */
[data-theme="dark"] .panaf-footer {
  background: linear-gradient(135deg, #1a1a1a 0%, var(--panaf-primary-dark) 100%);
  border-top: 1px solid var(--border-primary);
}

[data-theme="dark"] .panaf-footer .footer-section h5 {
  color: var(--panaf-gold);
}

[data-theme="dark"] .panaf-footer .footer-section a {
  color: var(--text-secondary);
}

[data-theme="dark"] .panaf-footer .footer-section a:hover {
  color: var(--panaf-gold);
}

[data-theme="dark"] .panaf-footer .social-links a {
  color: var(--text-secondary);
}

[data-theme="dark"] .panaf-footer .social-links a:hover {
  color: var(--panaf-gold);
}

[data-theme="dark"] .panaf-footer .footer-link {
  color: var(--panaf-gold);
}

[data-theme="dark"] .panaf-footer .footer-link:hover {
  color: var(--text-light);
}

/* Enhanced Clock and Utility Components */
[data-theme="dark"] #clock,
[data-theme="dark"] #utc_clock {
  color: var(--panaf-accent);
  text-shadow: 0 0 10px rgba(122, 154, 107, 0.5);
}

/* Enhanced Map for Dark Mode */
[data-theme="dark"] #map {
  filter: brightness(0.7) invert(1) contrast(1.2) hue-rotate(180deg) saturate(1.1) brightness(0.8);
  border-radius: 0.75rem;
  border: 1px solid var(--border-primary);
}

/* Enhanced Live Flights Table */
[data-theme="dark"] #live_flights_table {
  color: var(--text-primary);
  background-color: var(--bg-card);
}

/* Enhanced Breadcrumbs for Dark Mode */
[data-theme="dark"] .breadcrumb {
  background-color: var(--bg-card);
  border-radius: 0.5rem;
}

[data-theme="dark"] .breadcrumb-item + .breadcrumb-item::before {
  color: var(--text-muted);
}

[data-theme="dark"] .breadcrumb-item a {
  color: var(--panaf-accent);
}

[data-theme="dark"] .breadcrumb-item.active {
  color: var(--text-primary);
}

/* Enhanced List Groups for Dark Mode */
[data-theme="dark"] .list-group-item {
  background-color: var(--bg-card);
  color: var(--text-primary);
  border-color: var(--border-primary);
}

[data-theme="dark"] .list-group-item:hover {
  background-color: var(--hover-overlay);
}

[data-theme="dark"] .list-group-item.active {
  background-color: var(--panaf-primary);
  border-color: var(--panaf-primary);
  color: var(--text-light);
}

/* Enhanced Spinner/Loading Components */
[data-theme="dark"] .spinner-border,
[data-theme="dark"] .spinner-grow {
  color: var(--panaf-primary);
}

/* Enhanced Scrollbar for Dark Mode (Webkit browsers) */
[data-theme="dark"] ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

[data-theme="dark"] ::-webkit-scrollbar-track {
  background: var(--bg-card);
  border-radius: 4px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: var(--panaf-primary);
  border-radius: 4px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: var(--panaf-accent);
}

/* Enhanced Code Elements for Dark Mode */
[data-theme="dark"] code {
  background-color: var(--bg-card-header);
  color: var(--panaf-gold);
  border: 1px solid var(--border-primary);
}

[data-theme="dark"] pre {
  background-color: var(--bg-card);
  color: var(--text-primary);
  border: 1px solid var(--border-primary);
}

/* Enhanced Tooltips for Dark Mode */
[data-theme="dark"] .tooltip .tooltip-inner {
  background-color: var(--bg-card-header);
  color: var(--text-light);
}

[data-theme="dark"] .tooltip.bs-tooltip-top .tooltip-arrow::before {
  border-top-color: var(--bg-card-header);
}

[data-theme="dark"] .tooltip.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: var(--bg-card-header);
}

[data-theme="dark"] .tooltip.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: var(--bg-card-header);
}

[data-theme="dark"] .tooltip.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: var(--bg-card-header);
}

/* Enhanced Popovers for Dark Mode */
[data-theme="dark"] .popover {
  background-color: var(--bg-card);
  border-color: var(--border-primary);
}

[data-theme="dark"] .popover-header {
  background-color: var(--bg-card-header);
  color: var(--text-light);
  border-bottom-color: var(--border-primary);
}

[data-theme="dark"] .popover-body {
  color: var(--text-primary);
}

/* Animation and Transition Adjustments for Dark Mode */
[data-theme="dark"] .fade {
  transition: opacity 0.3s ease-in-out;
}

/* Accessibility Improvements for Dark Mode */
[data-theme="dark"] :focus {
  outline: 2px solid var(--panaf-gold);
  outline-offset: 2px;
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
  [data-theme="dark"] {
    --border-primary: #ffffff;
    --border-light: rgba(255, 255, 255, 0.5);
    --text-primary: #ffffff;
    --text-secondary: #e0e0e0;
  }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
  [data-theme="dark"] * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Additional comprehensive overrides for all remaining light elements */
[data-theme="dark"] .container,
[data-theme="dark"] .container-fluid {
  background: transparent !important;
}

[data-theme="dark"] .row {
  background: transparent !important;
}

/* Override any remaining Bootstrap utility classes */
[data-theme="dark"] .border-light {
  border-color: var(--border-light) !important;
}

/* Comprehensive card override */
[data-theme="dark"] [class*="card"],
[data-theme="dark"] [class*="Card"] {
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-primary) !important;
}

/* Force all text elements to have proper contrast */
[data-theme="dark"] h1:not(.navbar h1):not(.card-header h1), 
[data-theme="dark"] h2:not(.navbar h2):not(.card-header h2), 
[data-theme="dark"] h3:not(.navbar h3):not(.card-header h3), 
[data-theme="dark"] h4:not(.navbar h4):not(.card-header h4), 
[data-theme="dark"] h5:not(.navbar h5):not(.card-header h5), 
[data-theme="dark"] h6:not(.navbar h6):not(.card-header h6),
[data-theme="dark"] p:not(.navbar p):not(.card-header p):not(.card-footer p),
[data-theme="dark"] span:not(.navbar span):not(.card-header span):not(.card-footer span),
[data-theme="dark"] div:not(.navbar):not(.dropdown-menu):not(.card-header):not(.card-footer) {
  color: var(--text-primary) !important;
}

/* Specific overrides for problematic elements */
[data-theme="dark"] [style*="background:#fff"],
[data-theme="dark"] [style*="background: #fff"],
[data-theme="dark"] [style*="background-color:#fff"],
[data-theme="dark"] [style*="background-color: #fff"],
[data-theme="dark"] [style*="background:white"],
[data-theme="dark"] [style*="background: white"],
[data-theme="dark"] [style*="background-color:white"],
[data-theme="dark"] [style*="background-color: white"] {
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
}

/* Headers and footers get light text */
[data-theme="dark"] .card-header,
[data-theme="dark"] .card-header *,
[data-theme="dark"] .card-footer,
[data-theme="dark"] .card-footer *,
[data-theme="dark"] .navbar,
[data-theme="dark"] .navbar *,
[data-theme="dark"] .bg-success,
[data-theme="dark"] .bg-success *,
[data-theme="dark"] .bg-primary,
[data-theme="dark"] .bg-primary *,
[data-theme="dark"] .bg-info,
[data-theme="dark"] .bg-info *,
[data-theme="dark"] .bg-warning,
[data-theme="dark"] .bg-warning *,
[data-theme="dark"] .bg-danger,
[data-theme="dark"] .bg-danger * {
  color: var(--text-light) !important;
}

/* Print Mode Adjustments for Dark Theme */
@media print {
  [data-theme="dark"] * {
    background: white !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
}