/* ===== RH TOTAL - SISTEMA DE TEMAS ===== */
/* Temas de cores configuráveis para personalização */

/* ========================================
   TEMA CLARO AZUL (PADRÃO)
   ======================================== */
:root,
[data-theme="light"],
[data-theme="light-blue"] {
  /* Cores de destaque */
  --accent-primary: #2563eb;
  --accent-primary-dark: #1d4ed8;
  --accent-primary-light: #60a5fa;
  --accent-secondary: #0891b2;
  --accent-success: #10b981;
  --accent-warning: #f59e0b;
  --accent-danger: #ef4444;
  
  /* Backgrounds */
  --body-bg: #f1f5f9;
  --light-bg: #f8fafc;
  --card-bg: #ffffff;
  --input-bg: #ffffff;
  --navbar-bg: #ffffff;
  --sidebar-bg: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
  --footer-bg: #1e293b;
  --header-bg: #ffffff;
  --hover-bg: #f1f5f9;
  --modal-bg: #ffffff;
  
  /* Textos - ALTO CONTRASTE */
  --text-primary: #1e293b;
  --text-secondary: #475569;
  --text-muted: #64748b;
  --text-light: #94a3b8;
  --text-inverted: #ffffff;
  --link-color: #2563eb;
  --link-hover: #1d4ed8;
  
  /* Borders */
  --border-color: #e2e8f0;
  --border-light: #f1f5f9;
  --input-border: #cbd5e1;
  --input-focus-border: #2563eb;
  
  /* Status */
  --success-bg: #d1fae5;
  --success-text: #065f46;
  --success-border: #6ee7b7;
  --warning-bg: #fef3c7;
  --warning-text: #92400e;
  --warning-border: #fcd34d;
  --danger-bg: #fee2e2;
  --danger-text: #991b1b;
  --danger-border: #fca5a5;
  --info-bg: #dbeafe;
  --info-text: #1e40af;
  --info-border: #93c5fd;
  
  /* Sombras */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.15);
  
  /* Gradientes de ícones */
  --icon-blue-bg: linear-gradient(135deg, #dbeafe, #bfdbfe);
  --icon-blue-color: #2563eb;
  --icon-green-bg: linear-gradient(135deg, #d1fae5, #a7f3d0);
  --icon-green-color: #059669;
  --icon-purple-bg: linear-gradient(135deg, #ede9fe, #ddd6fe);
  --icon-purple-color: #7c3aed;
  --icon-orange-bg: linear-gradient(135deg, #ffedd5, #fed7aa);
  --icon-orange-color: #ea580c;
  --icon-red-bg: linear-gradient(135deg, #fee2e2, #fecaca);
  --icon-red-color: #dc2626;
  --icon-teal-bg: linear-gradient(135deg, #ccfbf1, #99f6e4);
  --icon-teal-color: #0d9488;
}

/* ========================================
   TEMA ESCURO AZUL
   ======================================== */
[data-theme="dark"],
[data-theme="dark-blue"] {
  /* Cores de destaque */
  --accent-primary: #60a5fa;
  --accent-primary-dark: #3b82f6;
  --accent-primary-light: #93c5fd;
  --accent-secondary: #22d3ee;
  --accent-success: #34d399;
  --accent-warning: #fbbf24;
  --accent-danger: #f87171;
  
  /* Backgrounds */
  --body-bg: #0f172a;
  --light-bg: #1e293b;
  --card-bg: #1e293b;
  --input-bg: #0f172a;
  --navbar-bg: #1e293b;
  --sidebar-bg: linear-gradient(180deg, #0f172a 0%, #020617 100%);
  --footer-bg: #020617;
  --header-bg: #1e293b;
  --hover-bg: #334155;
  --modal-bg: #1e293b;
  
  /* Textos - ALTO CONTRASTE */
  --text-primary: #f1f5f9;
  --text-secondary: #cbd5e1;
  --text-muted: #94a3b8;
  --text-light: #64748b;
  --text-inverted: #0f172a;
  --link-color: #60a5fa;
  --link-hover: #93c5fd;
  
  /* Borders */
  --border-color: #334155;
  --border-light: #1e293b;
  --input-border: #475569;
  --input-focus-border: #60a5fa;
  
  /* Status */
  --success-bg: rgba(16, 185, 129, 0.15);
  --success-text: #6ee7b7;
  --success-border: #10b981;
  --warning-bg: rgba(245, 158, 11, 0.15);
  --warning-text: #fcd34d;
  --warning-border: #f59e0b;
  --danger-bg: rgba(239, 68, 68, 0.15);
  --danger-text: #fca5a5;
  --danger-border: #ef4444;
  --info-bg: rgba(59, 130, 246, 0.15);
  --info-text: #93c5fd;
  --info-border: #3b82f6;
  
  /* Sombras */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.4);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.5);
  
  /* Gradientes de ícones */
  --icon-blue-bg: linear-gradient(135deg, rgba(59, 130, 246, 0.2), rgba(37, 99, 235, 0.3));
  --icon-blue-color: #93c5fd;
  --icon-green-bg: linear-gradient(135deg, rgba(16, 185, 129, 0.2), rgba(5, 150, 105, 0.3));
  --icon-green-color: #6ee7b7;
  --icon-purple-bg: linear-gradient(135deg, rgba(139, 92, 246, 0.2), rgba(124, 58, 237, 0.3));
  --icon-purple-color: #c4b5fd;
  --icon-orange-bg: linear-gradient(135deg, rgba(249, 115, 22, 0.2), rgba(234, 88, 12, 0.3));
  --icon-orange-color: #fdba74;
  --icon-red-bg: linear-gradient(135deg, rgba(239, 68, 68, 0.2), rgba(220, 38, 38, 0.3));
  --icon-red-color: #fca5a5;
  --icon-teal-bg: linear-gradient(135deg, rgba(20, 184, 166, 0.2), rgba(13, 148, 136, 0.3));
  --icon-teal-color: #5eead4;
}

/* ========================================
   TEMA CLARO VERDE
   ======================================== */
[data-theme="light-green"] {
  /* Cores de destaque */
  --accent-primary: #059669;
  --accent-primary-dark: #047857;
  --accent-primary-light: #34d399;
  --accent-secondary: #0891b2;
  --accent-success: #10b981;
  --accent-warning: #f59e0b;
  --accent-danger: #ef4444;
  
  /* Backgrounds */
  --body-bg: #f0fdf4;
  --light-bg: #f8fafc;
  --card-bg: #ffffff;
  --input-bg: #ffffff;
  --navbar-bg: #ffffff;
  --sidebar-bg: linear-gradient(180deg, #064e3b 0%, #022c22 100%);
  --footer-bg: #064e3b;
  --header-bg: #ffffff;
  --hover-bg: #ecfdf5;
  --modal-bg: #ffffff;
  
  /* Textos */
  --text-primary: #1e293b;
  --text-secondary: #475569;
  --text-muted: #64748b;
  --text-light: #94a3b8;
  --text-inverted: #ffffff;
  --link-color: #059669;
  --link-hover: #047857;
  
  /* Borders */
  --border-color: #d1fae5;
  --border-light: #ecfdf5;
  --input-border: #a7f3d0;
  --input-focus-border: #059669;
}

/* ========================================
   TEMA ESCURO VERDE
   ======================================== */
[data-theme="dark-green"] {
  /* Cores de destaque */
  --accent-primary: #34d399;
  --accent-primary-dark: #10b981;
  --accent-primary-light: #6ee7b7;
  --accent-secondary: #22d3ee;
  --accent-success: #34d399;
  --accent-warning: #fbbf24;
  --accent-danger: #f87171;
  
  /* Backgrounds */
  --body-bg: #022c22;
  --light-bg: #064e3b;
  --card-bg: #064e3b;
  --input-bg: #022c22;
  --navbar-bg: #064e3b;
  --sidebar-bg: linear-gradient(180deg, #022c22 0%, #011510 100%);
  --footer-bg: #011510;
  --header-bg: #064e3b;
  --hover-bg: #065f46;
  --modal-bg: #064e3b;
  
  /* Textos */
  --text-primary: #f0fdf4;
  --text-secondary: #d1fae5;
  --text-muted: #a7f3d0;
  --text-light: #6ee7b7;
  --text-inverted: #022c22;
  --link-color: #6ee7b7;
  --link-hover: #a7f3d0;
  
  /* Borders */
  --border-color: #065f46;
  --border-light: #047857;
  --input-border: #047857;
  --input-focus-border: #34d399;
  
  /* Status */
  --success-bg: rgba(16, 185, 129, 0.15);
  --success-text: #6ee7b7;
  --warning-bg: rgba(245, 158, 11, 0.15);
  --warning-text: #fcd34d;
  --danger-bg: rgba(239, 68, 68, 0.15);
  --danger-text: #fca5a5;
  --info-bg: rgba(59, 130, 246, 0.15);
  --info-text: #93c5fd;
  
  /* Sombras */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.4);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.5);
}

/* ========================================
   TEMA CLARO ROXO
   ======================================== */
[data-theme="light-purple"] {
  /* Cores de destaque */
  --accent-primary: #7c3aed;
  --accent-primary-dark: #6d28d9;
  --accent-primary-light: #a78bfa;
  --accent-secondary: #ec4899;
  --accent-success: #10b981;
  --accent-warning: #f59e0b;
  --accent-danger: #ef4444;
  
  /* Backgrounds */
  --body-bg: #faf5ff;
  --light-bg: #f8fafc;
  --card-bg: #ffffff;
  --input-bg: #ffffff;
  --navbar-bg: #ffffff;
  --sidebar-bg: linear-gradient(180deg, #4c1d95 0%, #2e1065 100%);
  --footer-bg: #4c1d95;
  --header-bg: #ffffff;
  --hover-bg: #f3e8ff;
  --modal-bg: #ffffff;
  
  /* Textos */
  --text-primary: #1e293b;
  --text-secondary: #475569;
  --text-muted: #64748b;
  --text-light: #94a3b8;
  --text-inverted: #ffffff;
  --link-color: #7c3aed;
  --link-hover: #6d28d9;
  
  /* Borders */
  --border-color: #ede9fe;
  --border-light: #f5f3ff;
  --input-border: #ddd6fe;
  --input-focus-border: #7c3aed;
}

/* ========================================
   TEMA ESCURO ROXO
   ======================================== */
[data-theme="dark-purple"] {
  /* Cores de destaque */
  --accent-primary: #a78bfa;
  --accent-primary-dark: #8b5cf6;
  --accent-primary-light: #c4b5fd;
  --accent-secondary: #f472b6;
  --accent-success: #34d399;
  --accent-warning: #fbbf24;
  --accent-danger: #f87171;
  
  /* Backgrounds */
  --body-bg: #1e1033;
  --light-bg: #2e1065;
  --card-bg: #2e1065;
  --input-bg: #1e1033;
  --navbar-bg: #2e1065;
  --sidebar-bg: linear-gradient(180deg, #1e1033 0%, #0f0520 100%);
  --footer-bg: #0f0520;
  --header-bg: #2e1065;
  --hover-bg: #4c1d95;
  --modal-bg: #2e1065;
  
  /* Textos */
  --text-primary: #faf5ff;
  --text-secondary: #e9d5ff;
  --text-muted: #c4b5fd;
  --text-light: #a78bfa;
  --text-inverted: #1e1033;
  --link-color: #c4b5fd;
  --link-hover: #e9d5ff;
  
  /* Borders */
  --border-color: #4c1d95;
  --border-light: #5b21b6;
  --input-border: #5b21b6;
  --input-focus-border: #a78bfa;
  
  /* Status */
  --success-bg: rgba(16, 185, 129, 0.15);
  --success-text: #6ee7b7;
  --warning-bg: rgba(245, 158, 11, 0.15);
  --warning-text: #fcd34d;
  --danger-bg: rgba(239, 68, 68, 0.15);
  --danger-text: #fca5a5;
  --info-bg: rgba(139, 92, 246, 0.15);
  --info-text: #c4b5fd;
  
  /* Sombras */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.4);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.5);
}

/* ========================================
   TEMA CLARO LARANJA
   ======================================== */
[data-theme="light-orange"] {
  /* Cores de destaque */
  --accent-primary: #ea580c;
  --accent-primary-dark: #c2410c;
  --accent-primary-light: #fb923c;
  --accent-secondary: #0891b2;
  --accent-success: #10b981;
  --accent-warning: #f59e0b;
  --accent-danger: #ef4444;
  
  /* Backgrounds */
  --body-bg: #fff7ed;
  --light-bg: #f8fafc;
  --card-bg: #ffffff;
  --input-bg: #ffffff;
  --navbar-bg: #ffffff;
  --sidebar-bg: linear-gradient(180deg, #7c2d12 0%, #431407 100%);
  --footer-bg: #7c2d12;
  --header-bg: #ffffff;
  --hover-bg: #ffedd5;
  --modal-bg: #ffffff;
  
  /* Textos */
  --text-primary: #1e293b;
  --text-secondary: #475569;
  --text-muted: #64748b;
  --text-light: #94a3b8;
  --text-inverted: #ffffff;
  --link-color: #ea580c;
  --link-hover: #c2410c;
  
  /* Borders */
  --border-color: #fed7aa;
  --border-light: #ffedd5;
  --input-border: #fdba74;
  --input-focus-border: #ea580c;
}

/* ========================================
   TEMA ESCURO LARANJA
   ======================================== */
[data-theme="dark-orange"] {
  /* Cores de destaque */
  --accent-primary: #fb923c;
  --accent-primary-dark: #f97316;
  --accent-primary-light: #fdba74;
  --accent-secondary: #22d3ee;
  --accent-success: #34d399;
  --accent-warning: #fbbf24;
  --accent-danger: #f87171;
  
  /* Backgrounds */
  --body-bg: #1c1410;
  --light-bg: #431407;
  --card-bg: #431407;
  --input-bg: #1c1410;
  --navbar-bg: #431407;
  --sidebar-bg: linear-gradient(180deg, #1c1410 0%, #0c0907 100%);
  --footer-bg: #0c0907;
  --header-bg: #431407;
  --hover-bg: #7c2d12;
  --modal-bg: #431407;
  
  /* Textos */
  --text-primary: #fff7ed;
  --text-secondary: #ffedd5;
  --text-muted: #fed7aa;
  --text-light: #fdba74;
  --text-inverted: #1c1410;
  --link-color: #fdba74;
  --link-hover: #ffedd5;
  
  /* Borders */
  --border-color: #7c2d12;
  --border-light: #9a3412;
  --input-border: #9a3412;
  --input-focus-border: #fb923c;
  
  /* Status */
  --success-bg: rgba(16, 185, 129, 0.15);
  --success-text: #6ee7b7;
  --warning-bg: rgba(245, 158, 11, 0.15);
  --warning-text: #fcd34d;
  --danger-bg: rgba(239, 68, 68, 0.15);
  --danger-text: #fca5a5;
  --info-bg: rgba(249, 115, 22, 0.15);
  --info-text: #fdba74;
  
  /* Sombras */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.4);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.5);
}

/* ========================================
   TEMA CLARO CIANO/TEAL
   ======================================== */
[data-theme="light-teal"] {
  /* Cores de destaque */
  --accent-primary: #0d9488;
  --accent-primary-dark: #0f766e;
  --accent-primary-light: #2dd4bf;
  --accent-secondary: #6366f1;
  --accent-success: #10b981;
  --accent-warning: #f59e0b;
  --accent-danger: #ef4444;
  
  /* Backgrounds */
  --body-bg: #f0fdfa;
  --light-bg: #f8fafc;
  --card-bg: #ffffff;
  --input-bg: #ffffff;
  --navbar-bg: #ffffff;
  --sidebar-bg: linear-gradient(180deg, #115e59 0%, #042f2e 100%);
  --footer-bg: #115e59;
  --header-bg: #ffffff;
  --hover-bg: #ccfbf1;
  --modal-bg: #ffffff;
  
  /* Textos */
  --text-primary: #1e293b;
  --text-secondary: #475569;
  --text-muted: #64748b;
  --text-light: #94a3b8;
  --text-inverted: #ffffff;
  --link-color: #0d9488;
  --link-hover: #0f766e;
  
  /* Borders */
  --border-color: #99f6e4;
  --border-light: #ccfbf1;
  --input-border: #5eead4;
  --input-focus-border: #0d9488;
}

/* ========================================
   TEMA ESCURO CIANO/TEAL
   ======================================== */
[data-theme="dark-teal"] {
  /* Cores de destaque */
  --accent-primary: #2dd4bf;
  --accent-primary-dark: #14b8a6;
  --accent-primary-light: #5eead4;
  --accent-secondary: #818cf8;
  --accent-success: #34d399;
  --accent-warning: #fbbf24;
  --accent-danger: #f87171;
  
  /* Backgrounds */
  --body-bg: #042f2e;
  --light-bg: #115e59;
  --card-bg: #115e59;
  --input-bg: #042f2e;
  --navbar-bg: #115e59;
  --sidebar-bg: linear-gradient(180deg, #042f2e 0%, #021716 100%);
  --footer-bg: #021716;
  --header-bg: #115e59;
  --hover-bg: #134e4a;
  --modal-bg: #115e59;
  
  /* Textos */
  --text-primary: #f0fdfa;
  --text-secondary: #ccfbf1;
  --text-muted: #99f6e4;
  --text-light: #5eead4;
  --text-inverted: #042f2e;
  --link-color: #5eead4;
  --link-hover: #99f6e4;
  
  /* Borders */
  --border-color: #134e4a;
  --border-light: #0f766e;
  --input-border: #0f766e;
  --input-focus-border: #2dd4bf;
  
  /* Status */
  --success-bg: rgba(16, 185, 129, 0.15);
  --success-text: #6ee7b7;
  --warning-bg: rgba(245, 158, 11, 0.15);
  --warning-text: #fcd34d;
  --danger-bg: rgba(239, 68, 68, 0.15);
  --danger-text: #fca5a5;
  --info-bg: rgba(20, 184, 166, 0.15);
  --info-text: #5eead4;
  
  /* Sombras */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.4);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.5);
}

/* ========================================
   ESTILOS GLOBAIS - APLICA VARIÁVEIS CSS
   ======================================== */

/* Body */
body {
  background-color: var(--body-bg) !important;
  color: var(--text-primary) !important;
}

/* Links */
a {
  color: var(--link-color);
}

a:hover {
  color: var(--link-hover);
}

/* Headers */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  color: var(--text-primary);
}

/* Paragraphs and text */
p, span, label {
  color: var(--text-secondary);
}

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

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

/* Cards */
.card,
.dashboard-card,
.stat-card,
.feature-card {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

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

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

.card-footer {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

/* Stat Cards */
.stat-value {
  color: var(--text-primary) !important;
}

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

.stat-icon.blue {
  background: var(--icon-blue-bg) !important;
  color: var(--icon-blue-color) !important;
}

.stat-icon.green {
  background: var(--icon-green-bg) !important;
  color: var(--icon-green-color) !important;
}

.stat-icon.purple {
  background: var(--icon-purple-bg) !important;
  color: var(--icon-purple-color) !important;
}

.stat-icon.orange {
  background: var(--icon-orange-bg) !important;
  color: var(--icon-orange-color) !important;
}

/* Forms */
.form-control,
.form-select,
textarea,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="search"] {
  background-color: var(--input-bg) !important;
  border-color: var(--input-border) !important;
  color: var(--text-primary) !important;
}

.form-control:focus,
.form-select:focus {
  background-color: var(--input-bg) !important;
  border-color: var(--input-focus-border) !important;
  color: var(--text-primary) !important;
  box-shadow: 0 0 0 0.2rem rgba(var(--accent-primary), 0.25);
}

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

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

.input-group-text {
  background-color: var(--light-bg) !important;
  border-color: var(--input-border) !important;
  color: var(--text-muted) !important;
}

/* Tables */
.table {
  color: var(--text-primary);
}

.table thead th {
  background-color: var(--light-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

.table tbody td {
  background-color: var(--card-bg) !important;
  color: var(--text-secondary) !important;
  border-color: var(--border-color) !important;
}

.table-hover tbody tr:hover td {
  background-color: var(--hover-bg) !important;
}

.table-striped tbody tr:nth-of-type(odd) td {
  background-color: var(--light-bg) !important;
}

/* Dropdowns */
.dropdown-menu {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
  box-shadow: var(--shadow-lg);
}

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

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

.dropdown-divider {
  border-color: var(--border-color) !important;
}

/* Modals */
.modal-content {
  background-color: var(--modal-bg) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

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

.modal-footer {
  border-color: var(--border-color) !important;
}

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

.btn-close {
  filter: var(--btn-close-filter, none);
}

/* Alerts */
.alert {
  border-radius: 8px;
}

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

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

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

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

/* Breadcrumbs */
.breadcrumb {
  background-color: transparent !important;
}

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

.breadcrumb-item a {
  color: var(--link-color) !important;
}

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

/* List Groups */
.list-group-item {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

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

/* Nav tabs and pills */
.nav-tabs {
  border-color: var(--border-color) !important;
}

.nav-tabs .nav-link {
  color: var(--text-muted) !important;
}

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

.nav-tabs .nav-link.active {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) var(--border-color) var(--card-bg) !important;
  color: var(--text-primary) !important;
}

/* Pagination */
.page-link {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
  color: var(--link-color) !important;
}

.page-link:hover {
  background-color: var(--hover-bg) !important;
  color: var(--link-hover) !important;
}

.page-item.active .page-link {
  background-color: var(--accent-primary) !important;
  border-color: var(--accent-primary) !important;
  color: var(--text-inverted) !important;
}

.page-item.disabled .page-link {
  background-color: var(--light-bg) !important;
  color: var(--text-light) !important;
}

/* Buttons Primary */
.btn-primary {
  background-color: var(--accent-primary) !important;
  border-color: var(--accent-primary) !important;
  color: var(--text-inverted) !important;
}

.btn-primary:hover {
  background-color: var(--accent-primary-dark) !important;
  border-color: var(--accent-primary-dark) !important;
}

.btn-outline-primary {
  color: var(--accent-primary) !important;
  border-color: var(--accent-primary) !important;
}

.btn-outline-primary:hover {
  background-color: var(--accent-primary) !important;
  color: var(--text-inverted) !important;
}

/* Header e Navbar */
.main-header,
.header-bg {
  background-color: var(--header-bg) !important;
  border-color: var(--border-color) !important;
}

.navbar {
  background-color: var(--navbar-bg) !important;
}

/* Sidebar */
.sidebar {
  background: var(--sidebar-bg) !important;
}

.sidebar .nav-link {
  color: var(--sidebar-link-color, rgba(255, 255, 255, 0.7)) !important;
}

.sidebar .nav-link i,
.sidebar .nav-link span,
.sidebar .nav-link .nav-text {
  color: inherit !important;
}

.sidebar .nav-link:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

.sidebar .nav-link:hover i,
.sidebar .nav-link:hover span,
.sidebar .nav-link:hover .nav-text {
  color: inherit !important;
}

.sidebar .nav-link.active {
  color: #ffffff !important;
  background: linear-gradient(90deg, var(--accent-primary), transparent) !important;
}

.sidebar .nav-link.active i,
.sidebar .nav-link.active span,
.sidebar .nav-link.active .nav-text {
  color: inherit !important;
}

/* Page titles */
.page-title {
  color: var(--text-primary) !important;
}

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

/* Footer */
.footer {
  background-color: var(--footer-bg) !important;
}

/* Progress bars */
.progress {
  background-color: var(--light-bg) !important;
}

.progress-bar {
  background-color: var(--accent-primary) !important;
}

/* Badges */
.badge.bg-primary {
  background-color: var(--accent-primary) !important;
}

/* HR */
hr {
  border-color: var(--border-color) !important;
  opacity: 1;
}

/* Dark theme btn-close fix */
[data-theme="dark"] .btn-close,
[data-theme="dark-blue"] .btn-close,
[data-theme="dark-green"] .btn-close,
[data-theme="dark-purple"] .btn-close,
[data-theme="dark-orange"] .btn-close,
[data-theme="dark-teal"] .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%);
}

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

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

::-webkit-scrollbar-thumb {
  background: var(--text-light);
  border-radius: 4px;
}

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

/* Selection */
::selection {
  background-color: var(--accent-primary);
  color: var(--text-inverted);
}

/* Focus outline */
:focus-visible {
  outline: 2px solid var(--accent-primary);
  outline-offset: 2px;
}
