/* DBA-TBD-APP Design System - Unified Design Language */

/* ===== GLOBAL TABLE HEADER STYLES ===== */

/* RESTORED ORIGINAL Admin Section Header Styling for Professional Look */
.admin-section-header {
  background: var(--primary-bg-light);        /* ← Original colored background */
  padding: var(--space-lg) var(--space-xl);   /* ← Original padding */
  border-bottom: 1px solid var(--primary-bg-strong); /* ← Original border */
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 60px;                           /* ← Original consistent height */
  margin: calc(-1 * var(--space-xl)) calc(-1 * var(--space-xl)) var(--space-xl) calc(-1 * var(--space-xl)); /* ← Extend to section edges */
  border-top-left-radius: var(--radius-xl);   /* ← Match parent section radius */
  border-top-right-radius: var(--radius-xl);  /* ← Match parent section radius */
}

/* Fix for admin-section-header inside card-modern containers */
.card-modern .admin-section-header {
  margin: calc(-1 * var(--space-xl)) calc(-1 * var(--space-xl)) 0 calc(-1 * var(--space-xl)); /* ← No bottom negative margin for card containers */
  border-top-left-radius: var(--radius-xl);
  border-top-right-radius: var(--radius-xl);
}

/* Fix for admin-section-header inside section-modern containers */
.section-modern .admin-section-header {
  border-top-left-radius: var(--radius-xl);
  border-top-right-radius: var(--radius-xl);
}

.card-modern .admin-section-header + .card-body {
  padding-top: var(--space-lg); /* ← Add proper top padding when following admin-section-header */
}

/* Consistent table header styling for other components */
.table-header-consistent, 
.section-header,
.meeting-table-header {
  background: transparent;
  padding: 0 0 var(--space-lg) 0;
  margin-bottom: var(--space-lg);
  border-bottom: 1px solid var(--primary-bg-strong);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-lg);
}

/* Admin section header styling - more prominent */
.admin-section-header h5 {
  margin: 0;
  color: var(--text-primary) !important;
  font-weight: var(--font-weight-semibold);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: var(--font-size-lg);
}

/* Other headers - less prominent */
.table-header-consistent h5,
.section-header h5,
.meeting-table-header h5 {
  margin: 0;
  color: var(--text-primary) !important;
  font-weight: var(--font-weight-semibold);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: var(--font-size-lg);
}

/* Admin section header icons - more prominent */
.admin-section-header h5 i {
  color: var(--primary-color);
  font-size: var(--font-size-lg);            /* ← Original size */
  margin-right: var(--space-xs);
}

.admin-section-header .section-actions {
  display: flex;
  align-items: center;
  gap: var(--space-sm);                      /* ← Tighter gap for dashboard */
  flex-shrink: 0;
}

/* Other header icons and actions */
.table-header-consistent h5 i,
.section-header h5 i,
.meeting-table-header h5 i {
  color: var(--primary-color);
  font-size: 1.1em;
}

.table-header-consistent .section-actions,
.section-header .section-actions,
.meeting-table-header .section-actions {
  display: flex;
  align-items: center;
  gap: var(--space-lg);
  flex-shrink: 0;
}

/* ===== CSS VARIABLES ===== */
:root {
  /* Primary Colors - Purple Gradient Theme (Consistent across themes) */
  --primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  --primary-gradient-hover: linear-gradient(135deg, #5a67d8, #6b46c1);
  --primary-color: #667eea;
  --primary-dark: #5a67d8;
  --secondary-color: #764ba2;
  --secondary-dark: #6b46c1;
  
  /* State Colors (Consistent across themes) */
  --success-gradient: linear-gradient(135deg, #48bb78, #38a169);
  --success-color: #48bb78;
  --success-dark: #38a169;
  --warning-gradient: linear-gradient(135deg, #f6d365, #fda085);
  --warning-color: #ffc107;
  --danger-gradient: linear-gradient(135deg, #ff6b6b, #ee5a24);
  --danger-color: #dc3545;
  --info-gradient: linear-gradient(135deg, #667eea, #4facfe);
  --info-color: #0dcaf0;
  
  /* Status Colors for Admin Dashboard */
  --status-red: #ff6b6b;
  --status-red-hover: #ff8787;
  --status-yellow: #ffd93d;
  --status-yellow-hover: #ffe066;
  --status-green: #51cf66;
  --status-green-hover: #69db7c;
  
  /* Action Button Hover States */
  --warning-hover: #e0a800;
  --danger-hover: #c82333;
  
  /* Additional Gradients */
  --success-gradient-alt: linear-gradient(135deg, #38a169, #2f855a);
  
  /* Missing Color Variables */
  --color-light-border: #e2e8f0;
  --color-purple-alt: #6b5ed0;
  --color-skeleton-light: #f0f0f0;
  --color-skeleton-dark: #e0e0e0;
  --color-purple-muted: #a6a0e6;
  --color-purple-muted-hover: #b3abe8;
  
  /* Missing RGBA Background Variables */
  --bg-primary-translucent-02: rgba(139, 124, 198, 0.02);
  --bg-primary-translucent-06: rgba(139, 124, 198, 0.06);
  --bg-primary-translucent-08: rgba(139, 124, 198, 0.08);
  --bg-primary-translucent-12: rgba(139, 124, 198, 0.12);
  --bg-primary-translucent-20: rgba(139, 124, 198, 0.2);
  --bg-secondary-muted: rgba(108, 117, 125, 0.15);
  --bg-white-translucent-20: rgba(255, 255, 255, 0.2);
  --bg-white-translucent-30: rgba(255, 255, 255, 0.3);
  
  /* Missing Shadow Variables */
  --shadow-primary-focus: 0 0 0 0.2rem rgba(102, 126, 234, 0.25);
  --shadow-subtle: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-focus: 0 6px 20px rgba(102, 126, 234, 0.3);
  --shadow-button-hover: 0 10px 30px rgba(102, 126, 234, 0.4);
  
  /* Light Mode Colors (Default) */
  --text-primary: #1a202c;
  --text-secondary: #4a5568;
  --text-muted: #718096;
  --text-white: #ffffff;
  
  /* Light Mode Background Colors */
  --bg-body: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  --bg-card: rgba(255, 255, 255, 0.98);
  --bg-card-translucent: rgba(255, 255, 255, 0.95);
  --bg-card-overlay: rgba(255, 255, 255, 0.9);
  --bg-card-subtle: rgba(255, 255, 255, 0.8);
  --bg-light: #f7fafc;
  --bg-hover: #edf2f7;
  --bg-selected: #f0f4ff;
  --bg-white: #ffffff;
  --bg-primary-subtle: rgba(139, 124, 198, 0.05);
  
  /* Light Mode Primary Color Variations */
  --primary-bg-subtle: rgba(139, 124, 198, 0.05);
  --primary-bg-light: rgba(139, 124, 198, 0.1);
  --primary-bg-medium: rgba(139, 124, 198, 0.15);
  --primary-bg-strong: rgba(139, 124, 198, 0.2);
  --primary-bg-border: rgba(139, 124, 198, 0.3);
  
  /* Light Mode State Color Backgrounds */
  --success-bg-light: rgba(72, 187, 120, 0.1);
  --success-bg-medium: rgba(72, 187, 120, 0.15);
  --warning-bg-light: rgba(255, 193, 7, 0.1);
  --warning-bg-medium: rgba(255, 193, 7, 0.15);
  --warning-bg-strong: rgba(255, 193, 7, 0.2);
  --danger-bg-light: rgba(220, 53, 69, 0.1);
  --danger-bg-medium: rgba(220, 53, 69, 0.15);
  --info-bg-light: rgba(23, 162, 184, 0.1);
  --info-bg-medium: rgba(23, 162, 184, 0.15);
  --secondary-bg-light: rgba(108, 117, 125, 0.1);
  --secondary-bg-medium: rgba(108, 117, 125, 0.15);
  
  /* Light Mode Border Colors */
  --border-default: #e2e8f0;
  --border-hover: #cbd5e0;
  --border-focus: #667eea;
  --border-light: #f1f5f9;
  --border-primary: #667eea;
  
  /* Light Mode State Color Borders */
  --success-border: rgba(72, 187, 120, 0.3);
  --warning-border: rgba(255, 193, 7, 0.3);
  --danger-border: rgba(220, 53, 69, 0.3);
  --info-border: rgba(23, 162, 184, 0.3);
  --primary-border: rgba(139, 124, 198, 0.3);
  
  /* Forum Cup Colors (Consistent across themes) */
  --forum-health: #e74c3c;
  --moderator-engagement: #27ae60;
  --chapter-participation: #3498db;
  --eoa-participation: #f39c12;
  
  /* Additional Color Variations (Consistent across themes) */
  --color-purple-primary: #5a4fcf;
  --color-purple-dark: #4b40b0;
  --color-teal: #17a2b8;
  --color-orange: #f4b942;
  
  /* Spacing Scale - RESTORED ORIGINAL COMPACT VALUES for better UI/UX */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 12px;    /* ← Restored from 16px to 12px (original) */
  --space-lg: 16px;    /* ← Restored from 24px to 16px (original) */
  --space-xl: 24px;    /* ← Restored from 32px to 24px (original) */
  --space-2xl: 30px;   /* ← Restored from 48px to 30px (original) */
  --space-3xl: 40px;   /* ← Restored from 64px to 40px (original) */
  --space-min-width-xl: 240px;
  
  /* Typography - RESTORED ORIGINAL VALUES for better proportions */
  --font-family-base: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  --font-size-tiny: 0.625rem;     /* 10px */
  --font-size-xs: 0.75rem;        /* 12px */
  --font-size-sm: 0.875rem;       /* 14px */
  --font-size-base: 0.95rem;      /* ← Restored from 1rem to 0.95rem (original) */
  --font-size-lg: 1.1rem;         /* ← Restored from 1.125rem to 1.1rem (original) */
  --font-size-xl: 1.25rem;        /* 20px */
  --font-size-2xl: 1.5rem;        /* 24px */
  --font-size-3xl: 1.8rem;        /* ← Restored from 1.875rem to 1.8rem (original) */
  
  /* Icon Font Sizes - Specific sizes for iconography */
  --font-size-icon-md: 1.125rem;  /* 18px */
  --font-size-icon-lg: 2rem;      /* 32px */
  --font-size-icon-massive: 4rem; /* 64px */
  
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  
  --letter-spacing-tight: -0.5px;
  --letter-spacing-normal: 0;
  --letter-spacing-wide: 0.5px;
  
  /* Border Radius */
  --radius-sm: 8px;
  --radius-md: 10px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-2xl: 20px;
  --radius-full: 50%;
  
  /* Light Mode Shadows */
  --shadow-xs: 0 2px 4px rgba(0, 0, 0, 0.05);
  --shadow-sm: 0 4px 12px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 10px 30px rgba(0, 0, 0, 0.15);
  --shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.2);
  --shadow-primary: 0 10px 30px rgba(102, 126, 234, 0.3);
  --shadow-success: 0 10px 30px rgba(72, 187, 120, 0.3);
  --shadow-danger: 0 10px 30px rgba(220, 53, 69, 0.3);
  --shadow-warning: 0 10px 30px rgba(255, 193, 7, 0.3);
  --shadow-info: 0 10px 30px rgba(23, 162, 184, 0.3);
  --shadow-button: 0 10px 30px rgba(102, 126, 234, 0.4);
  
  /* Light Mode Generic Shadow Variations */
  --shadow-light: rgba(0, 0, 0, 0.1);
  --shadow-medium: rgba(0, 0, 0, 0.15);
  --shadow-strong: rgba(0, 0, 0, 0.2);
  
  /* Transitions */
  --transition-fast: 0.15s ease-in-out;
  --transition-base: 0.3s ease-in-out;
  --transition-slow: 0.5s ease-in-out;
  --theme-transition: all 0.3s ease-in-out;
}

/* ===== DARK MODE VARIABLES ===== 
 * Manual dark mode toggle - when user explicitly selects dark theme
 */
[data-theme="dark"] {
  /* Dark Mode Text Colors - CRITICAL: Must be white/light for dark backgrounds */
  --text-primary: #ffffff !important;
  --text-secondary: #e0e0e0 !important;  
  --text-muted: #b0b0b0 !important;
  --text-white: #ffffff !important;
  
  /* Dark Mode Background Colors */
  --bg-body: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
  --bg-card: rgba(45, 45, 45, 0.98);
  --bg-card-translucent: rgba(45, 45, 45, 0.95);
  --bg-card-overlay: rgba(45, 45, 45, 0.9);
  --bg-card-subtle: rgba(45, 45, 45, 0.8);
  --bg-light: #2d2d2d;
  --bg-hover: #3d3d3d;
  --bg-selected: rgba(102, 126, 234, 0.2);
  --bg-white: #2d2d2d;
  --bg-primary-subtle: rgba(139, 124, 198, 0.1);
  
  /* Dark Mode Primary Color Variations */
  --primary-bg-subtle: rgba(139, 124, 198, 0.1);
  --primary-bg-light: rgba(139, 124, 198, 0.15);
  --primary-bg-medium: rgba(139, 124, 198, 0.2);
  --primary-bg-strong: rgba(139, 124, 198, 0.25);
  --primary-bg-border: rgba(139, 124, 198, 0.4);
  
  /* Dark Mode Border Colors */
  --border-default: #404040;
  --border-hover: #505050;
  --border-focus: #667eea;
  --border-light: #505050;
  --border-primary: #667eea;
  
  /* Dark Mode State Color Backgrounds */
  --success-bg-light: rgba(72, 187, 120, 0.15);
  --success-bg-medium: rgba(72, 187, 120, 0.2);
  --warning-bg-light: rgba(255, 193, 7, 0.15);
  --warning-bg-medium: rgba(255, 193, 7, 0.2);
  --warning-bg-strong: rgba(255, 193, 7, 0.25);
  --danger-bg-light: rgba(220, 53, 69, 0.15);
  --danger-bg-medium: rgba(220, 53, 69, 0.2);
  --info-bg-light: rgba(23, 162, 184, 0.15);
  --info-bg-medium: rgba(23, 162, 184, 0.2);
  --secondary-bg-light: rgba(108, 117, 125, 0.15);
  --secondary-bg-medium: rgba(108, 117, 125, 0.2);
  
  /* Dark Mode Border Colors */
  --border-default: #404040;
  --border-hover: #505050;
  --border-focus: #667eea;
  
  /* Dark Mode State Color Borders */
  --success-border: rgba(72, 187, 120, 0.4);
  --warning-border: rgba(255, 193, 7, 0.4);
  --danger-border: rgba(220, 53, 69, 0.4);
  --info-border: rgba(23, 162, 184, 0.4);
  --primary-border: rgba(139, 124, 198, 0.4);
  
  /* Dark Mode Shadows */
  --shadow-xs: 0 2px 4px rgba(0, 0, 0, 0.3);
  --shadow-sm: 0 4px 12px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 10px 30px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.6);
  --shadow-primary: 0 10px 30px rgba(102, 126, 234, 0.4);
  --shadow-success: 0 10px 30px rgba(72, 187, 120, 0.4);
  --shadow-danger: 0 10px 30px rgba(220, 53, 69, 0.4);
  --shadow-warning: 0 10px 30px rgba(255, 193, 7, 0.4);
  --shadow-info: 0 10px 30px rgba(23, 162, 184, 0.4);
  --shadow-button: 0 10px 30px rgba(102, 126, 234, 0.5);
  
  /* Dark Mode Generic Shadow Variations */
  --shadow-light: rgba(0, 0, 0, 0.3);
  --shadow-medium: rgba(0, 0, 0, 0.4);
  --shadow-strong: rgba(0, 0, 0, 0.5);
}

/* System preference detection for dark mode - CONSOLIDATED */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    /* IMPORTANT: Auto dark mode when system preference is dark */
    --text-primary: #ffffff !important;
    --text-secondary: #e0e0e0 !important;
    --text-muted: #b0b0b0 !important;
    --text-white: #ffffff !important;
    
    /* Dark Mode Background Colors */
    --bg-body: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
    --bg-card: rgba(45, 45, 45, 0.98) !important;
    --bg-card-translucent: rgba(45, 45, 45, 0.95) !important;
    --bg-card-overlay: rgba(45, 45, 45, 0.9);
    --bg-card-subtle: rgba(45, 45, 45, 0.8);
    --bg-light: #2d2d2d !important;
    --bg-hover: #3d3d3d !important;
    --bg-selected: rgba(102, 126, 234, 0.2);
    --bg-white: #2d2d2d;
    --bg-primary-subtle: rgba(139, 124, 198, 0.1);
    
    /* Dark Mode Primary Color Variations */
    --primary-bg-subtle: rgba(139, 124, 198, 0.1);
    --primary-bg-light: rgba(139, 124, 198, 0.15);
    --primary-bg-medium: rgba(139, 124, 198, 0.2);
    --primary-bg-strong: rgba(139, 124, 198, 0.25);
    --primary-bg-border: rgba(139, 124, 198, 0.4);
    
    /* Dark Mode State Color Backgrounds */
    --success-bg-light: rgba(72, 187, 120, 0.15);
    --success-bg-medium: rgba(72, 187, 120, 0.2);
    --warning-bg-light: rgba(255, 193, 7, 0.15);
    --warning-bg-medium: rgba(255, 193, 7, 0.2);
    --warning-bg-strong: rgba(255, 193, 7, 0.25);
    --danger-bg-light: rgba(220, 53, 69, 0.15);
    --danger-bg-medium: rgba(220, 53, 69, 0.2);
    --info-bg-light: rgba(23, 162, 184, 0.15);
    --info-bg-medium: rgba(23, 162, 184, 0.2);
    --secondary-bg-light: rgba(108, 117, 125, 0.15);
    --secondary-bg-medium: rgba(108, 117, 125, 0.2);
    
    /* Dark Mode Border Colors */
    --border-default: #404040;
    --border-hover: #505050;
    --border-focus: #667eea;
    
    /* Dark Mode State Color Borders */
    --success-border: rgba(72, 187, 120, 0.4);
    --warning-border: rgba(255, 193, 7, 0.4);
    --danger-border: rgba(220, 53, 69, 0.4);
    --info-border: rgba(23, 162, 184, 0.4);
    --primary-border: rgba(139, 124, 198, 0.4);
    
    /* Dark Mode Shadows */
    --shadow-xs: 0 2px 4px rgba(0, 0, 0, 0.3);
    --shadow-sm: 0 4px 12px rgba(0, 0, 0, 0.4);
    --shadow-md: 0 10px 30px rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.6);
    --shadow-primary: 0 10px 30px rgba(102, 126, 234, 0.4);
    --shadow-success: 0 10px 30px rgba(72, 187, 120, 0.4);
    --shadow-danger: 0 10px 30px rgba(220, 53, 69, 0.4);
    --shadow-warning: 0 10px 30px rgba(255, 193, 7, 0.4);
    --shadow-info: 0 10px 30px rgba(23, 162, 184, 0.4);
    --shadow-button: 0 10px 30px rgba(102, 126, 234, 0.5);
    
    /* Dark Mode Generic Shadow Variations */
    --shadow-light: rgba(0, 0, 0, 0.3);
    --shadow-medium: rgba(0, 0, 0, 0.4);
    --shadow-strong: rgba(0, 0, 0, 0.5);
  }
}

/* ===== UTILITY CLASSES ===== */

/* Theme Transition Support */
* {
  transition: var(--theme-transition);
}

/* Theme Toggle Button Styles */
[data-theme-toggle] {
  background: transparent;
  border: none;
  color: var(--text-white);
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-md);
  transition: all var(--transition-base);
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
}

[data-theme-toggle]:hover {
  background: rgba(255, 255, 255, 0.1);
  color: var(--text-white);
  transform: scale(1.05);
}

[data-theme-toggle]:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3);
}

[data-theme-toggle] i {
  font-size: var(--font-size-lg);
  transition: transform var(--transition-base);
}

[data-theme-toggle]:hover i {
  transform: rotate(15deg);
}

/* Card Components - Reusable card patterns */
.card-base {
  background: var(--bg-card-translucent);
  backdrop-filter: blur(10px);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-md);
  border: 1px solid var(--border-default);
  transition: all var(--transition-base);
}

.card-hover {
  transition: all var(--transition-base);
}

.card-hover:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}

.card-interactive {
  background: var(--bg-card-translucent);
  backdrop-filter: blur(10px);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-md);
  border: 1px solid var(--border-default);
  transition: all var(--transition-base);
  cursor: pointer;
}

.card-interactive:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
  border-color: var(--border-hover);
}

/* Button Components */
.btn-primary {
  background: var(--primary-gradient);
  border: none;
  color: var(--text-white);
  padding: var(--space-md) var(--space-xl);
  border-radius: var(--radius-lg);
  font-weight: var(--font-weight-medium);
  transition: all var(--transition-base);
  box-shadow: var(--shadow-button);
}

.btn-primary:hover {
  background: var(--primary-gradient-hover);
  transform: translateY(-1px);
  box-shadow: var(--shadow-lg);
  color: var(--text-white);
}

.btn-secondary {
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  color: var(--text-primary);
  padding: var(--space-md) var(--space-xl);
  border-radius: var(--radius-lg);
  font-weight: var(--font-weight-medium);
  transition: all var(--transition-base);
}

.btn-secondary:hover {
  background: var(--bg-hover);
  border-color: var(--border-hover);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

/* Text Utilities */
.text-primary {
  color: var(--text-primary);
}

.text-secondary {
  color: var(--text-secondary);
}

.text-muted {
  color: var(--text-muted);
}

.text-white {
  color: var(--text-white);
}

/* Background Utilities */
.bg-card {
  background: var(--bg-card);
}

.bg-card-translucent {
  background: var(--bg-card-translucent);
}

.bg-light {
  background: var(--bg-light);
}

/* Border Utilities */
.border-default {
  border: 1px solid var(--border-default);
}

.border-hover {
  border: 1px solid var(--border-hover);
}

/* Shadow Utilities */
.shadow-sm {
  box-shadow: var(--shadow-sm);
}

.shadow-md {
  box-shadow: var(--shadow-md);
}

.shadow-lg {
  box-shadow: var(--shadow-lg);
}

/* Form Elements */
.form-control {
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  color: var(--text-primary);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  transition: all var(--transition-base);
}

.form-control:focus {
  background: var(--bg-card);
  border-color: var(--border-focus);
  color: var(--text-primary);
  box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25);
}

.form-control::placeholder {
  color: var(--text-muted);
}

/* Table Styles */
.table {
  background: var(--bg-card);
  color: var(--text-primary);
}

.table th {
  background: var(--bg-light);
  color: var(--text-primary);
  border-bottom: 1px solid var(--border-default);
}

.table td {
  border-bottom: 1px solid var(--border-default);
  color: var(--text-primary);
}

.table-hover tbody tr:hover {
  background: var(--bg-hover);
}

/* Navigation Styles */
.navbar {
  background: var(--bg-card-translucent);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border-default);
}

.navbar-brand {
  color: var(--text-primary);
  font-weight: var(--font-weight-bold);
}

.nav-link {
  color: var(--text-primary);
  transition: all var(--transition-base);
}

.nav-link:hover {
  color: var(--text-primary);
  background-color: var(--bg-hover);
  border-radius: var(--radius-md);
}

.nav-link.active {
  color: var(--text-white);
  font-weight: var(--font-weight-medium);
  background: var(--primary-gradient);
  border-radius: var(--radius-md);
}

/* Dropdown Styles */
.dropdown-menu {
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  box-shadow: var(--shadow-lg);
}

.dropdown-item {
  color: var(--text-primary);
  transition: all var(--transition-base);
}

.dropdown-item:hover {
  background: var(--bg-hover);
  color: var(--text-primary);
}

.dropdown-item.active {
  background: var(--primary-bg-light);
  color: var(--text-primary);
}

/* Dropdown Header */
.dropdown-header {
  color: var(--text-secondary);
  font-weight: var(--font-weight-semibold);
  background: var(--bg-light);
  border-bottom: 1px solid var(--border-default);
}

/* Dropdown Divider */
.dropdown-divider {
  border-top: 1px solid var(--border-default);
  margin: 0.5rem 0;
}

/* Modal Styles */
.modal-content {
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  box-shadow: var(--shadow-lg);
}

.modal-header {
  border-bottom: 1px solid var(--border-default);
}

.modal-footer {
  border-top: 1px solid var(--border-default);
}

.modal-title {
  color: var(--text-primary);
}

/* Alert Styles */
.alert {
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
}

.alert-success {
  background: var(--success-bg-light);
  border-color: var(--success-border);
  color: var(--success-color);
}

.alert-warning {
  background: var(--warning-bg-light);
  border-color: var(--warning-border);
  color: var(--warning-color);
}

.alert-danger {
  background: var(--danger-bg-light);
  border-color: var(--danger-border);
  color: var(--danger-color);
}

.alert-info {
  background: var(--info-bg-light);
  border-color: var(--info-border);
  color: var(--info-color);
}

/* Badge Styles */
.badge {
  border-radius: var(--radius-sm);
  font-weight: var(--font-weight-medium);
}

.badge-success {
  background: var(--success-color);
  color: var(--text-white);
}

.badge-warning {
  background: var(--warning-color);
  color: var(--text-primary);
}

.badge-danger {
  background: var(--danger-color);
  color: var(--text-white);
}

.badge-info {
  background: var(--info-color);
  color: var(--text-white);
}

/* Progress Bar Styles */
.progress {
  background: var(--bg-light);
  border-radius: var(--radius-md);
}

.progress-bar {
  background: var(--primary-gradient);
  border-radius: var(--radius-md);
}

/* List Group Styles */
.list-group-item {
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  color: var(--text-primary);
}

.list-group-item:hover {
  background: var(--bg-hover);
}

.list-group-item.active {
  background: var(--primary-bg-light);
  border-color: var(--primary-border);
  color: var(--text-primary);
}

/* Pagination Styles */
.page-link {
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  color: var(--text-primary);
  transition: all var(--transition-base);
}

.page-link:hover {
  background: var(--bg-hover);
  border-color: var(--border-hover);
  color: var(--text-primary);
}

.page-item.active .page-link {
  background: var(--primary-color);
  border-color: var(--primary-color);
  color: var(--text-white);
}

/* Tooltip Styles */
.tooltip {
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  box-shadow: var(--shadow-md);
}

.tooltip-inner {
  background: var(--bg-card);
  color: var(--text-primary);
}

/* Popover Styles */
.popover {
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  box-shadow: var(--shadow-lg);
}

.popover-header {
  background: var(--bg-light);
  border-bottom: 1px solid var(--border-default);
  color: var(--text-primary);
}

.popover-body {
  color: var(--text-primary);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--bg-light);
}

::-webkit-scrollbar-thumb {
  background: var(--border-default);
  border-radius: var(--radius-sm);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--border-hover);
}

/* Selection Styles */
::selection {
  background: var(--primary-bg-light);
  color: var(--text-primary);
}

::-moz-selection {
  background: var(--primary-bg-light);
  color: var(--text-primary);
}

/* ===== BOOTSTRAP OVERRIDES FOR DARK MODE ===== */

/* Navigation Overrides */
.navbar {
  background: var(--bg-card-translucent) !important;
}

.navbar-nav .nav-link {
  color: var(--text-primary) !important;
}

.navbar-nav .nav-link:hover {
  color: var(--text-primary) !important;
  background-color: var(--bg-hover) !important;
  border-radius: var(--radius-md) !important;
}

.navbar-nav .nav-link.active {
  color: var(--text-white) !important;
  background: var(--primary-gradient) !important;
  border-radius: var(--radius-md) !important;
}

.navbar-brand {
  color: var(--text-primary) !important;
}

/* Dropdown Overrides */
.dropdown-menu {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-default) !important;
}

.dropdown-item {
  color: var(--text-primary) !important;
}

.dropdown-item:hover {
  background: var(--bg-hover) !important;
  color: var(--text-primary) !important;
}

.dropdown-header {
  color: var(--text-secondary) !important;
  background: var(--bg-light) !important;
}

/* Card Overrides */
.card {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-default) !important;
  color: var(--text-primary) !important;
}

.card-header {
  background: var(--bg-light) !important;
  border-bottom: 1px solid var(--border-default) !important;
  color: var(--text-primary) !important;
}

.card-body {
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
}

/* Alert Overrides */
.alert {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-default) !important;
  color: var(--text-primary) !important;
}

.alert-success {
  background: var(--success-bg-light) !important;
  color: var(--success-color) !important;
}

.alert-warning {
  background: var(--warning-bg-light) !important;
  color: var(--warning-color) !important;
}

.alert-danger {
  background: var(--danger-bg-light) !important;
  color: var(--danger-color) !important;
}

.alert-info {
  background: var(--info-bg-light) !important;
  color: var(--info-color) !important;
}

/* Badge Overrides */
.badge.bg-success {
  background: var(--success-color) !important;
  color: var(--text-white) !important;
}

.badge.bg-danger {
  background: var(--danger-color) !important;
  color: var(--text-white) !important;
}

.badge.bg-warning {
  background: var(--warning-color) !important;
  color: var(--text-primary) !important;
}

.badge.bg-info {
  background: var(--info-color) !important;
  color: var(--text-white) !important;
}

.badge.bg-primary {
  background: var(--primary-color) !important;
  color: var(--text-white) !important;
}

/* Form Overrides */
.form-control {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-default) !important;
  color: var(--text-primary) !important;
}

.form-select {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-default) !important;
  color: var(--text-primary) !important;
}

.form-label {
  color: var(--text-primary) !important;
}

.form-text {
  color: var(--text-muted) !important;
}

/* Text Color Overrides */
.text-muted {
  color: var(--text-muted) !important;
}

.text-primary {
  color: var(--primary-color) !important;
}

.text-success {
  color: var(--success-color) !important;
}

.text-warning {
  color: var(--warning-color) !important;
}

.text-danger {
  color: var(--danger-color) !important;
}

.text-info {
  color: var(--info-color) !important;
}

/* Code Overrides */
code {
  background: var(--bg-light) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-default) !important;
}

pre {
  background: var(--bg-light) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-default) !important;
}