/* ===== UNIVERSAL DARK THEME SYSTEM ===== */
/* This replaces all scattered inline styles with a centralized system */

/* === CORE COLOR VARIABLES === */
:root {
  /* Light theme colors (default) */
  --bg-primary: #ffffff;
  --bg-secondary: #f8f9fa;
  --bg-tertiary: #e9ecef;
  --text-primary: #212529;
  --text-secondary: #6c757d;
  --text-muted: #adb5bd;
  --border-color: #dee2e6;
  --border-color-strong: #495057;
  --input-bg: #ffffff;
  --input-border: #ced4da;
  --dropdown-bg: #ffffff;
  --card-bg: #ffffff;
  --modal-bg: #ffffff;
  --alert-bg: #f8f9fa;
}

/* IMPROVED DARK THEME - Better contrast and visibility */
[data-bs-theme="dark"] {
  --bg-primary: #1a1a1a;      /* Darker primary background */
  --bg-secondary: #2d2d2d;    /* Lighter secondary (cards, sections) */
  --bg-tertiary: #3d3d3d;     /* Even lighter for emphasis */
  --text-primary: #ffffff;
  --text-secondary: #e0e0e0;
  --text-muted: #b0b0b0;
  --border-color: #404040;
  --border-color-strong: #505050;
  --input-bg: #2d2d2d;
  --input-border: #404040;
  --dropdown-bg: #2d2d2d;
  --card-bg: #242424;          /* Distinct card background */
  --modal-bg: #2d2d2d;
  --alert-bg: #2d2d2d;
}

/* === MOBILE MODULE DARK THEME === */
[data-bs-theme="dark"] .mobile-hub {
    background: var(--bg-primary) !important;
}

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

[data-bs-theme="dark"] .mobile-search {
    background: var(--input-bg) !important;
    border-color: var(--input-border) !important;
    color: var(--text-primary) !important;
}

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

/* === UNIVERSAL ELEMENT STYLING === */
/* Apply to ALL elements to prevent white-on-white issues */

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

/* === TEXT ELEMENTS === */
[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: var(--text-primary) !important;
}

[data-bs-theme="dark"] p,
[data-bs-theme="dark"] span,
[data-bs-theme="dark"] div,
[data-bs-theme="dark"] label {
  color: var(--text-primary) !important;
}

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

[data-bs-theme="dark"] small {
  color: var(--text-muted) !important;
}

/* === FORM ELEMENTS === */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] textarea {
  background-color: var(--input-bg) !important;
  border-color: var(--input-border) !important;
  color: var(--text-primary) !important;
}

[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus,
[data-bs-theme="dark"] textarea:focus {
  background-color: var(--bg-secondary) !important;
  border-color: #0d6efd !important;
  color: var(--text-primary) !important;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

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

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

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

/* === INPUT TYPES === */
[data-bs-theme="dark"] input[type="text"],
[data-bs-theme="dark"] input[type="number"],
[data-bs-theme="dark"] input[type="email"],
[data-bs-theme="dark"] input[type="password"],
[data-bs-theme="dark"] input[type="search"],
[data-bs-theme="dark"] input[type="tel"],
[data-bs-theme="dark"] input[type="url"] {
  background-color: var(--input-bg) !important;
  border-color: var(--input-border) !important;
  color: var(--text-primary) !important;
  -webkit-text-fill-color: var(--text-primary) !important;
}

[data-bs-theme="dark"] input[type="text"]:focus,
[data-bs-theme="dark"] input[type="number"]:focus,
[data-bs-theme="dark"] input[type="email"]:focus,
[data-bs-theme="dark"] input[type="password"]:focus,
[data-bs-theme="dark"] input[type="search"]:focus,
[data-bs-theme="dark"] input[type="tel"]:focus,
[data-bs-theme="dark"] input[type="url"]:focus {
  background-color: var(--bg-secondary) !important;
  border-color: #0d6efd !important;
  color: var(--text-primary) !important;
  -webkit-text-fill-color: var(--text-primary) !important;
}

/* === CARD COMPONENTS === */
[data-bs-theme="dark"] .card {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

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

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

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

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

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

/* === MODALS === */
[data-bs-theme="dark"] .modal-content {
  background-color: var(--modal-bg) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-bs-theme="dark"] .modal-header {
  border-color: var(--border-color) !important;
}

[data-bs-theme="dark"] .modal-footer {
  border-color: var(--border-color) !important;
}

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

/* === DROPDOWNS === */
[data-bs-theme="dark"] .dropdown-menu {
  background-color: var(--dropdown-bg) !important;
  border-color: var(--border-color) !important;
}

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

[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}

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

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

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

[data-bs-theme="dark"] .table th,
[data-bs-theme="dark"] .table td {
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-bs-theme="dark"] .table-striped tbody tr:nth-of-type(odd) {
  background-color: var(--bg-secondary) !important;
}

/* === LISTS === */
[data-bs-theme="dark"] .list-group-item {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-bs-theme="dark"] .list-group-item:hover {
  background-color: var(--bg-secondary) !important;
}

/* === ALERTS === */
[data-bs-theme="dark"] .alert {
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-bs-theme="dark"] .alert-info {
  background-color: rgba(13, 110, 253, 0.1) !important;
  border-color: rgba(13, 110, 253, 0.2) !important;
  color: #b6d7ff !important;
}

[data-bs-theme="dark"] .alert-success {
  background-color: rgba(25, 135, 84, 0.1) !important;
  border-color: rgba(25, 135, 84, 0.2) !important;
  color: #a3d9a5 !important;
}

[data-bs-theme="dark"] .alert-warning {
  background-color: rgba(255, 193, 7, 0.1) !important;
  border-color: rgba(255, 193, 7, 0.2) !important;
  color: #ffda6a !important;
}

[data-bs-theme="dark"] .alert-danger {
  background-color: rgba(220, 53, 69, 0.1) !important;
  border-color: rgba(220, 53, 69, 0.2) !important;
  color: #ea868f !important;
}

/* === BUTTONS === */
[data-bs-theme="dark"] .btn-outline-secondary {
  color: var(--text-muted) !important;
  border-color: var(--border-color-strong) !important;
}

[data-bs-theme="dark"] .btn-outline-secondary:hover {
  background-color: var(--bg-secondary) !important;
  border-color: var(--border-color-strong) !important;
  color: var(--text-primary) !important;
}

/* === NAVIGATION === */
[data-bs-theme="dark"] .nav-link {
  color: var(--text-primary) !important;
}

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

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

/* === PAGINATION === */
[data-bs-theme="dark"] .page-link {
  background-color: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-bs-theme="dark"] .page-link:hover {
  background-color: var(--bg-tertiary) !important;
  border-color: var(--border-color-strong) !important;
  color: var(--text-primary) !important;
}

/* === ACCORDION === */
[data-bs-theme="dark"] .accordion-item {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

[data-bs-theme="dark"] .accordion-header button {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

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

/* === INPUT GROUPS === */
[data-bs-theme="dark"] .input-group-text {
  background-color: var(--bg-secondary) !important;
  border-color: var(--input-border) !important;
  color: var(--text-primary) !important;
}

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

/* === CUSTOM COMPONENTS === */
[data-bs-theme="dark"] .exercise-item {
  background-color: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

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

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

/* === FORM SELECT OPTIONS === */
[data-bs-theme="dark"] .form-select option {
  background-color: var(--input-bg) !important;
  color: var(--text-primary) !important;
}

/* === UTILITY CLASSES === */
[data-bs-theme="dark"] .fw-bold {
  color: var(--text-primary) !important;
}

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

/* === CATCHALL FOR MISSED ELEMENTS === */
[data-bs-theme="dark"] * {
  border-color: var(--border-color);
}

/* Ensure any remaining elements get proper colors */
[data-bs-theme="dark"] div:not([class*="btn"]):not([class*="alert"]):not([class*="badge"]) {
  color: var(--text-primary);
}

/* HERO SECTION - Keep colorful gradient */
[data-bs-theme="dark"] .hero-video-section {
  background: linear-gradient(135deg, rgba(0, 188, 212, 0.9), rgba(63, 81, 181, 0.9)) !important;
}

/* FEATURE SECTIONS - Add proper backgrounds */
[data-bs-theme="dark"] .container section,
[data-bs-theme="dark"] .row.py-5,
[data-bs-theme="dark"] .py-5 {
  background-color: var(--bg-secondary) !important;
  border-radius: 8px;
  margin-bottom: 2rem;
}

/* FEATURE CARDS - Better visibility */
[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .feature-card {
  background-color: var(--card-bg) !important;
  border: 1px solid var(--border-color) !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3) !important;
}

/* ALTERNATING SECTION BACKGROUNDS */
[data-bs-theme="dark"] .py-5:nth-child(odd) {
  background-color: var(--bg-primary) !important;
}

[data-bs-theme="dark"] .py-5:nth-child(even) {
  background-color: var(--bg-secondary) !important;
}