/* =========================================
   LARIDAE SYSTEMS - NAVIGATION THEME
   ========================================= */

/* =========================
   LIGHT MODE
   ========================= */
[data-bs-theme="light"] {
  /* Layout */
  --bg-app: #F4F1EC;
  --bg-sidebar: #EEE9E2;
  --bg-topnav: #F8F6F2;
  --bg-panel: #FFFFFF;
  --bg-hover: #E6E1DA;
  --bg-active: #DFD9D1;
  --bg-input: #F2EFEA;

  /* Borders */
  --border-primary: #D5CFC7;
  --border-subtle: rgba(0, 0, 0, 0.05);

  /* Typography */
  --text-primary: #2B2F33;
  --text-secondary: #68707A;
  --text-muted: #9A938A;

  /* Brand / Accent */
  --accent-bronze: #444136;
  --accent-olive: #79836B;

  /* Status Colors */
  --status-alert: #D96B2B;
  --status-warning: #D7A61E;
  --status-info: #3D63FF;
  --status-success: #4D7A5E;

  /* Effects */
  --overlay-glass: rgba(255, 255, 255, 0.78);
  --shadow-soft: 0 4px 18px rgba(0, 0, 0, 0.08);
  --shadow-panel: 0 2px 10px rgba(0, 0, 0, 0.06);

  /* Radius */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;

  /* Transitions */
  --transition-fast: 0.15s ease;
  --transition-normal: 0.25s ease;

  /* Bootstrap overrides */
  --bs-body-bg: var(--bg-app);
  --bs-body-color: var(--text-primary);
  --bs-secondary-color: var(--text-secondary);
  --bs-tertiary-bg: var(--bg-sidebar);
  --bs-border-color: var(--border-primary);
  --bs-link-color: var(--accent-bronze);
  --bs-link-hover-color: #33302A;
  --bs-primary: #444136;
  --bs-primary-rgb: 68, 65, 54;
  --bs-info: #79836B;
  --bs-info-rgb: 121, 131, 107;
}

/* =========================
   DARK MODE
   ========================= */
[data-bs-theme="dark"] {
  /* Layout */
  --bg-app: #0D0F11;
  --bg-sidebar: #111315;
  --bg-topnav: #15181B;
  --bg-panel: #1D2125;
  --bg-hover: #262B31;
  --bg-active: #2A2F35;
  --bg-input: #171A1E;

  /* Borders */
  --border-primary: #2F353C;
  --border-subtle: rgba(255, 255, 255, 0.05);

  /* Typography */
  --text-primary: #F1F1EE;
  --text-secondary: #A5ADB5;
  --text-muted: #6D747C;

  /* Brand / Accent */
  --accent-bronze: #5C5849;
  --accent-olive: #5D6552;

  /* Status Colors */
  --status-alert: #D96B2B;
  --status-warning: #D7A61E;
  --status-info: #3D63FF;
  --status-success: #4D7A5E;

  /* Effects */
  --overlay-glass: rgba(20, 22, 25, 0.82);
  --shadow-soft: 0 4px 20px rgba(0, 0, 0, 0.28);
  --shadow-panel: 0 2px 12px rgba(0, 0, 0, 0.22);

  /* Radius */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;

  /* Transitions */
  --transition-fast: 0.15s ease;
  --transition-normal: 0.25s ease;

  /* Bootstrap overrides */
  --bs-body-bg: var(--bg-app);
  --bs-body-color: var(--text-primary);
  --bs-secondary-color: var(--text-secondary);
  --bs-tertiary-bg: var(--bg-panel);
  --bs-border-color: var(--border-primary);
  --bs-link-color: var(--accent-bronze);
  --bs-link-hover-color: #6B6658;
  --bs-primary: #5C5849;
  --bs-primary-rgb: 92, 88, 73;
  --bs-info: #5D6552;
  --bs-info-rgb: 93, 101, 82;
}


/* =========================================
   COMPONENT THEMING
   ========================================= */

/* ===== LIST GROUP – active item uses brand bronze ===== */
.list-group {
  --bs-list-group-active-bg: var(--accent-bronze);
  --bs-list-group-active-border-color: var(--accent-bronze);
  --bs-list-group-active-color: #fff;
}

/* ===== FORM CHECKS – brand bronze for checked state ===== */
.form-check-input:checked {
  background-color: var(--accent-bronze) !important;
  border-color: var(--accent-bronze) !important;
}

/* ===== BUTTONS – Override btn-primary with brand bronze ===== */
.btn-primary {
  --bs-btn-bg: var(--accent-bronze);
  --bs-btn-border-color: var(--accent-bronze);
  --bs-btn-hover-bg: #33302A;
  --bs-btn-hover-border-color: #2A2822;
  --bs-btn-active-bg: #33302A;
  --bs-btn-active-border-color: #2A2822;
  --bs-btn-disabled-bg: var(--accent-bronze);
  --bs-btn-disabled-border-color: var(--accent-bronze);
  --bs-btn-focus-shadow-rgb: 68, 65, 54;
}

#lblModeHistory {
  background-color: var(--accent-bronze) !important;
  border-color: var(--accent-bronze) !important;
  color: #fff !important;
}

/* History unselected (Live is active) — show as outline with readable text */
#modeHistory:not(:checked) + #lblModeHistory {
  background-color: transparent !important;
  color: var(--accent-bronze) !important;
}

[data-bs-theme="dark"] #modeHistory:not(:checked) + #lblModeHistory {
  color: #B0AA9E !important;
}

[data-bs-theme="dark"] .btn-primary {
  --bs-btn-hover-bg: #6B6658;
  --bs-btn-hover-border-color: #7A7567;
  --bs-btn-active-bg: #7A7567;
  --bs-btn-active-border-color: #8A8577;
}

.btn-outline-primary {
  --bs-btn-color: var(--accent-bronze);
  --bs-btn-border-color: var(--accent-bronze);
  --bs-btn-hover-bg: var(--accent-bronze);
  --bs-btn-hover-border-color: var(--accent-bronze);
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: #33302A;
  --bs-btn-active-border-color: #33302A;
  --bs-btn-active-color: #fff;
  --bs-btn-focus-shadow-rgb: 68, 65, 54;
}

.btn-info {
  --bs-btn-bg: var(--accent-olive);
  --bs-btn-border-color: var(--accent-olive);
  --bs-btn-color: #fff;
  --bs-btn-hover-bg: #5D6552;
  --bs-btn-hover-border-color: #515948;
  --bs-btn-active-bg: #515948;
  --bs-btn-active-border-color: #464E3F;
  --bs-btn-disabled-bg: var(--accent-olive);
  --bs-btn-disabled-border-color: var(--accent-olive);
  --bs-btn-focus-shadow-rgb: 121, 131, 107;
}

.bg-info {
  background-color: var(--accent-olive) !important;
}

.bg-warning {
  background-color: #8B7355 !important;
}
.badge.bg-warning {
  color: #fff !important;
}

.bg-success {
  background-color: #5A7052 !important;
}

.bg-danger {
  background-color: #8B4049 !important;
}

.btn-warning {
  --bs-btn-bg: #8B7355;
  --bs-btn-border-color: #8B7355;
  --bs-btn-color: #fff;
  --bs-btn-hover-bg: #7A6349;
  --bs-btn-hover-border-color: #6B5540;
  --bs-btn-active-bg: #6B5540;
  --bs-btn-active-border-color: #5C4837;
  --bs-btn-focus-shadow-rgb: 139, 115, 85;
}

.btn-success {
  --bs-btn-bg: #5A7052;
  --bs-btn-border-color: #5A7052;
  --bs-btn-color: #fff;
  --bs-btn-hover-bg: #4D6046;
  --bs-btn-hover-border-color: #41523B;
  --bs-btn-active-bg: #41523B;
  --bs-btn-active-border-color: #374531;
  --bs-btn-focus-shadow-rgb: 90, 112, 82;
}

.btn-danger {
  --bs-btn-bg: #8B4049;
  --bs-btn-border-color: #8B4049;
  --bs-btn-color: #fff;
  --bs-btn-hover-bg: #78363E;
  --bs-btn-hover-border-color: #662D34;
  --bs-btn-active-bg: #662D34;
  --bs-btn-active-border-color: #55252B;
  --bs-btn-focus-shadow-rgb: 139, 64, 73;
}

/* ===== NAVBAR ===== */
[data-bs-theme="light"] .navbar.bg-white {
  background-color: var(--bg-topnav) !important;
  border-color: var(--border-primary) !important;
}

[data-bs-theme="dark"] .navbar.bg-white {
  background-color: var(--bg-topnav) !important;
  border-color: var(--border-primary) !important;
}

.navbar-brand {
  font-weight: 600;
  letter-spacing: 0.02em;
}

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

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

[data-bs-theme="light"] .nav-link.text-dark {
  color: var(--text-secondary) !important;
  transition: color var(--transition-fast);
}

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

[data-bs-theme="dark"] .nav-link.text-dark,
[data-bs-theme="dark"] .btn.text-dark {
  color: var(--text-secondary) !important;
  transition: color var(--transition-fast);
}

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

[data-bs-theme="dark"] .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,0.85)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

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

/* ===== CARDS & PANELS ===== */
[data-bs-theme="dark"] .card {
  background-color: var(--bg-panel);
  border-color: var(--border-primary);
}

[data-bs-theme="light"] .card {
  border-color: var(--border-primary);
}

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

[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
  border-color: var(--accent-bronze);
  box-shadow: 0 0 0 0.2rem rgba(139, 115, 85, 0.25);
}

[data-bs-theme="light"] .form-control,
[data-bs-theme="light"] .form-select {
  background-color: var(--bg-input);
  border-color: var(--border-primary);
  color: var(--text-primary);
}

[data-bs-theme="light"] .form-control:focus,
[data-bs-theme="light"] .form-select:focus {
  border-color: var(--accent-bronze);
  box-shadow: 0 0 0 0.2rem rgba(155, 124, 88, 0.2);
}

/* ===== DARK MODE TOGGLE ===== */
[data-bs-theme="light"] .dark-mode-toggle {
  border-color: var(--border-primary);
  color: var(--text-secondary);
}

[data-bs-theme="light"] .dark-mode-toggle:hover {
  background-color: var(--bg-hover);
}

[data-bs-theme="dark"] .dark-mode-toggle {
  border-color: var(--border-primary);
  color: var(--text-secondary);
}

[data-bs-theme="dark"] .dark-mode-toggle:hover {
  background-color: var(--bg-hover);
}

[data-bs-theme="dark"] #darkModeToggle {
  color: var(--status-warning);
}

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

[data-bs-theme="dark"] .table-light,
[data-bs-theme="dark"] tr.table-light {
  --bs-table-bg: var(--bg-panel);
  --bs-table-color: var(--text-primary);
  --bs-table-border-color: var(--border-primary);
}

/* ===== DROPDOWNS ===== */
[data-bs-theme="dark"] .dropdown-menu {
  background-color: var(--bg-panel);
  border-color: var(--border-primary);
  box-shadow: var(--shadow-soft);
}

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

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

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

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

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

/* ===== SCROLLBAR (dark) ===== */
[data-bs-theme="dark"] ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

[data-bs-theme="dark"] ::-webkit-scrollbar-track {
  background: var(--bg-app);
}

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

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

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

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

/* ===== BG UTILITY OVERRIDES ===== */
[data-bs-theme="dark"] .bg-white {
  background-color: var(--bg-panel) !important;
}

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

[data-bs-theme="light"] .bg-light {
  background-color: var(--bg-sidebar) !important;
}

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

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

/* ===== NAV TABS ===== */
[data-bs-theme="dark"] .nav-tabs .nav-link:not(.active) {
  color: var(--text-secondary);
}

[data-bs-theme="dark"] .nav-tabs .nav-link:not(.active):hover {
  color: var(--text-primary);
  border-color: transparent transparent var(--border-primary);
}

/* ===== ADMIN SIDEBAR ===== */
[data-bs-theme="dark"] .admin-sidebar {
  background-color: var(--bg-app) !important;
}

[data-bs-theme="dark"] .admin-sidebar .list-group-item {
  background-color: var(--bg-app);
  color: var(--text-primary);
  border-color: var(--border-primary);
}

[data-bs-theme="dark"] .admin-sidebar .list-group-item.active {
  background-color: var(--bg-sidebar);
  color: var(--accent-bronze);
  border-left-color: var(--accent-bronze);
}

[data-bs-theme="dark"] .admin-sidebar .list-group-item:hover:not(.active) {
  background-color: var(--bg-sidebar);
  border-left-color: var(--border-primary);
}

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

/* ===== FOOTER ===== */
.footer {
  border-color: var(--border-primary) !important;
  color: var(--text-muted);
}
