/* ============================================
   ENEM10X - THEME OVERRIDE
   ============================================
   Paleta:
   #1B3132 → Verde escuro profundo (dark/títulos)
   #107568 → Verde teal (primary)
   #107568 → Verde floresta (secondary)
   #4F2605 → Marrom escuro (contrast)
   #CEA581 → Areia/dourado claro (accent warm)
   #D9D9D9 → Cinza neutro (neutral)
   #03B866 → Verde (CTA/highlight)
   ============================================ */

:root {
  /* Primary Colors */
  --primarycolor: #107568 !important;
  --primary-color: #107568 !important;
  --main-color: #107568 !important;
  --primary: #107568 !important;

  /* Secondary Colors */
  --secondarycolor: #107568 !important;
  --secondary-color: #107568 !important;
  --primary-color-light: #107568 !important;
  --primary-light: #107568 !important;
  --primary-dark: #1B3132 !important;

  /* Accent Colors */
  --accent-color: #03B866 !important;
  --accent: #03B866 !important;
  --chart-color: #03B866 !important;
  --alert-color: #107568 !important;

  /* Text Colors */
  --font-color: #1B3132 !important;
  --text-color: #1B3132 !important;
  --details: #333 !important;

  /* Background Colors */
  --dark-color: #1B3132 !important;
  --light-bg: #f7f5f0 !important;
  --very-light-bg: #ffffff !important;
  --very-very-light-bg: #ffffff !important;
  --background-color: #f7f5f0 !important;
  --bg-light: #f7f5f0 !important;
  --bg-white: #ffffff !important;
  --shadowcolor: #D9D9D9 !important;

  /* Keyboard Navigation Colors */
  --kb-primary: 16, 117, 104 !important;
  --kb-secondary: 16, 117, 104 !important;

  /* Gradients — ambos os nomes usados no codebase */
  --primary-gradient: linear-gradient(135deg, #1B3132 0%, #107568 50%, #107568 100%) !important;
  --secondary-gradient: linear-gradient(135deg, #107568 0%, #107568 100%) !important;
  --gradient-primary: linear-gradient(135deg, #107568 0%, #107568 50%, #1B3132 100%) !important;
  --gradient-accent: linear-gradient(135deg, #03B866 0%, #107568 100%) !important;
}

/* Body Background */
body.enem10x {
  background: #f7f5f0 !important;
}

/* ============================================
   SIDEBAR STYLES
   Mantém o glassmorphism branco padrão do Intelecttus.
   Apenas o toggle e hover usam a cor primária.
   ============================================ */
body.enem10x .modern-sidebar .nav-item:hover {
  background-color: rgba(16, 117, 104, 0.08) !important;
}

body.enem10x .modern-sidebar .nav-item:hover::before {
  background: rgba(16, 117, 104, 0.05) !important;
}

body.enem10x .modern-sidebar .nav-icon,
body.enem10x .modern-sidebar .nav-icon i,
body.enem10x .modern-sidebar i {
  color: #107568 !important;
}

body.enem10x .modern-sidebar .nav-item:hover i,
body.enem10x .modern-sidebar .nav-item:hover .nav-icon {
  color: #107568 !important;
}

body.enem10x .modern-sidebar .sidebar-toggle {
  background: #107568 !important;
  border-color: #107568 !important;
}

/* ============================================
   BUTTONS
   ============================================ */
body.enem10x .btn-primary,
.enem10x .btn-primary {
  background: #107568 !important;
  border-color: #107568 !important;
  color: #fff !important;
}

body.enem10x .btn-primary:hover,
.enem10x .btn-primary:hover {
  background: #1B3132 !important;
  border-color: #1B3132 !important;
}

body.enem10x .btn-outline-primary {
  color: #107568 !important;
  border-color: #107568 !important;
}

body.enem10x .btn-outline-primary:hover {
  background-color: #107568 !important;
  color: #ffffff !important;
}

/* ============================================
   CARDS & CONTAINERS
   ============================================ */
body.enem10x .card {
  border-color: rgba(16, 117, 104, 0.1) !important;
}

body.enem10x .card:hover {
  border-color: rgba(16, 117, 104, 0.3) !important;
}

/* ============================================
   LINKS & TEXT
   ============================================ */
/* Text links only — never recolor anchors styled as solid buttons/CTAs,
   which manage their own foreground over a colored background. */
body.enem10x a:not([class*="btn"]):not([class*="cta"]):not([class*="button"]) {
  color: #107568;
}

body.enem10x a:not([class*="btn"]):not([class*="cta"]):not([class*="button"]):hover {
  color: #107568 !important;
}

body.enem10x a:focus {
  outline-color: #107568 !important;
}

/* ============================================
   FORM ELEMENTS
   ============================================ */
body.enem10x .form-control:focus {
  border-color: #107568 !important;
  box-shadow: 0 0 0 3px rgba(16, 117, 104, 0.15) !important;
}

body.enem10x .form-check-input:checked {
  background-color: #107568 !important;
  border-color: #107568 !important;
}

/* ============================================
   BADGES & ALERTS
   ============================================ */
body.enem10x .badge-primary,
body.enem10x .bg-primary {
  background-color: #107568 !important;
}

body.enem10x .text-primary {
  color: #107568 !important;
}

body.enem10x .text-info {
  color: #107568 !important;
}

body.enem10x .border-primary {
  border-color: #107568 !important;
}

body.enem10x .bg-info {
  background-color: #107568 !important;
}

/* ============================================
   CHARTS
   ============================================ */
body.enem10x .chart-container {
  --chart-primary: #107568;
  --chart-secondary: #107568;
  --chart-accent: #03B866;
}

/* ============================================
   KEYBOARD NAVIGATION OVERRIDE
   ============================================ */
body.enem10x {
  --kb-primary: 16, 117, 104;
  --kb-secondary: 16, 117, 104;
}

body.enem10x .keyboard-focused {
  border-color: rgba(16, 117, 104, 0.6) !important;
  box-shadow: 0 0 0 4px rgba(16, 117, 104, 0.15) !important;
}

/* ============================================
   MOBILE MENU
   ============================================ */
body.enem10x .mobile-menu-btn {
  background: #107568 !important;
}

/* ============================================
   SCROLLBAR
   ============================================ */
body.enem10x ::-webkit-scrollbar-thumb {
  background: rgba(16, 117, 104, 0.4);
}

body.enem10x ::-webkit-scrollbar-thumb:hover {
  background: rgba(16, 117, 104, 0.6);
}

/* ============================================
   GLOBAL HOVER & FOCUS OVERRIDES
   ============================================ */
body.enem10x .btn:hover,
body.enem10x .btn:focus,
body.enem10x button:hover,
body.enem10x button:focus {
  border-color: #107568 !important;
  box-shadow: 0 0 0 3px rgba(16, 117, 104, 0.2) !important;
}

body.enem10x .btn-secondary:hover,
body.enem10x .btn-secondary:focus {
  background: #107568 !important;
  border-color: #107568 !important;
}

body.enem10x .btn-success:hover,
body.enem10x .btn-success:focus {
  background: #029e57 !important;
  border-color: #029e57 !important;
  box-shadow: 0 0 0 3px rgba(4, 217, 118, 0.2) !important;
}

body.enem10x .card:hover,
body.enem10x .card:focus {
  border-color: rgba(16, 117, 104, 0.4) !important;
  box-shadow: 0 8px 25px rgba(16, 117, 104, 0.15) !important;
}

body.enem10x input:focus,
body.enem10x textarea:focus,
body.enem10x select:focus,
body.enem10x .form-select:focus {
  border-color: #107568 !important;
  box-shadow: 0 0 0 3px rgba(16, 117, 104, 0.15) !important;
  outline: none !important;
}

/* ============================================
   ESCOLHA-PROVA PAGE OVERRIDES
   ============================================ */
body.enem10x .materia-card {
  border: 1px solid rgba(16, 117, 104, 0.15) !important;
  background: #ffffff !important;
}

body.enem10x .materia-card:hover {
  border-color: rgba(16, 117, 104, 0.5) !important;
  box-shadow: 0 20px 40px rgba(16, 117, 104, 0.2) !important;
}

body.enem10x .materia-card:hover .materia-icon {
  color: #107568 !important;
}

body.enem10x .materia-card:hover .materia-name {
  color: #107568 !important;
}

body.enem10x .materia-card.active {
  background: #107568 !important;
  border-color: #107568 !important;
  box-shadow: 0 15px 35px rgba(16, 117, 104, 0.3) !important;
}

body.enem10x .materia-card.active .materia-icon,
body.enem10x .materia-card.active .materia-name {
  color: #ffffff !important;
}

body.enem10x .materia-icon {
  color: #107568 !important;
  filter: drop-shadow(0 2px 4px rgba(16, 117, 104, 0.2)) !important;
}

/* Checkmark on active card */
body.enem10x #autonomaMateriasGrid .materia-card.active::after {
  background: #03B866 !important;
  color: #ffffff !important;
}

/* Questao options */
body.enem10x .questao-option {
  color: #107568 !important;
  border-color: rgba(16, 117, 104, 0.3) !important;
}

body.enem10x .questao-option:hover:not(.active) {
  border-color: #107568 !important;
  color: #107568 !important;
  box-shadow: 0 4px 12px rgba(16, 117, 104, 0.15) !important;
}

body.enem10x .questao-option.active {
  background: #107568 !important;
  border-color: #107568 !important;
  box-shadow: 0 4px 12px rgba(16, 117, 104, 0.3) !important;
  color: #ffffff !important;
}

/* Prova options */
body.enem10x .prova-option {
  color: #107568 !important;
  border: none;
}

body.enem10x .prova-option:hover {
  background: rgba(16, 117, 104, 0.08) !important;
}

body.enem10x .prova-option.active {
  color: #107568 !important;
}

body.enem10x .prova-option.active::after {
  background: #107568 !important;
}

/* Tipo questao options */
body.enem10x .tipo-questao-option {
  border-color: rgba(16, 117, 104, 0.2) !important;
}

body.enem10x .tipo-questao-option:hover,
body.enem10x .tipo-questao-option.active {
  border-color: #107568 !important;
  box-shadow: 0 6px 20px rgba(16, 117, 104, 0.3) !important;
  color: #ffffff !important;
}

body.enem10x .tipo-questao-option::before {
  background: #107568 !important;
}

body.enem10x .tipo-questao-option i {
  color: #107568 !important;
}

body.enem10x .tipo-questao-option:hover i,
body.enem10x .tipo-questao-option.active i {
  color: #ffffff !important;
}

body.enem10x .tipo-questao-option.active span,
body.enem10x .tipo-questao-option:hover span {
  color: #ffffff !important;
}

/* Status badge */
body.enem10x .status-badge {
  background: rgba(16, 117, 104, 0.1) !important;
  border-color: rgba(16, 117, 104, 0.3) !important;
  color: #107568 !important;
}

body.enem10x .status-dot {
  background: #03B866 !important;
}

/* Title gradient */
body.enem10x .title-gradient,
body.enem10x .page-title {
  background: linear-gradient(135deg, #1B3132, #107568) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* Section title */
body.enem10x .section-title::after {
  background: #03B866 !important;
  box-shadow: 0 2px 8px rgba(4, 217, 118, 0.3) !important;
}

/* Relatorios/Histórico */
body.enem10x .relatorios i {
  color: #107568 !important;
  background: rgba(16, 117, 104, 0.1) !important;
}

body.enem10x .relatorios div:hover i {
  background: rgba(16, 117, 104, 0.2) !important;
}

body.enem10x .relatorios div:hover .prova-nome {
  color: #107568 !important;
}

body.enem10x .relatorios div:hover .prova-data {
  background: rgba(16, 117, 104, 0.2) !important;
  color: #107568 !important;
}

body.enem10x .relatorios div:hover::before {
  background: #107568 !important;
}

body.enem10x .relatorios .prova-data {
  background: rgba(16, 117, 104, 0.1) !important;
}

body.enem10x .relatorios::-webkit-scrollbar-thumb {
  background: rgba(16, 117, 104, 0.6) !important;
}

body.enem10x .relatorios::-webkit-scrollbar-thumb:hover {
  background: rgba(16, 117, 104, 0.8) !important;
}

/* Slider */
body.enem10x .questoes-slider::-webkit-slider-thumb {
  background: #107568 !important;
}

body.enem10x .questoes-slider::-webkit-slider-thumb:hover {
  box-shadow: 0 4px 12px rgba(16, 117, 104, 0.4) !important;
}

body.enem10x .questoes-slider::-moz-range-thumb {
  background: #107568 !important;
}

body.enem10x .slider-label {
  color: #107568 !important;
}

/* Btn secundario */
body.enem10x .btn-secundario {
  color: #107568 !important;
}

body.enem10x .btn-secundario:hover {
  background: rgba(16, 117, 104, 0.1) !important;
  border-color: #107568 !important;
}

/* Sortable headers */
body.enem10x .sortable:hover {
  background: rgba(16, 117, 104, 0.1) !important;
}

/* Loading spinner */
body.enem10x .loading-spinner {
  border-top-color: #107568 !important;
}

/* Header gradient */
body.enem10x .header h1 {
  background: linear-gradient(135deg, #1B3132, #107568) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}

/* Prova form container gradient bar */
body.enem10x .prova-form-container::before {
  background: linear-gradient(90deg, #1B3132, #107568, #03B866) !important;
}

/* Simulados container gradient bar */
body.enem10x #simulados-container::before {
  background: linear-gradient(90deg, #1B3132, #107568, #03B866) !important;
}

/* Info card icons */
body.enem10x .info-card i {
  background: linear-gradient(135deg, #107568, #107568) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}

body.enem10x .info-card:hover {
  box-shadow: 0 10px 25px rgba(16, 117, 104, 0.15) !important;
}

/* ============================================
   TABLE HOVER STATES
   ============================================ */
body.enem10x .tabela-enem tr:hover,
body.enem10x table tr:hover {
  background: rgba(16, 117, 104, 0.08) !important;
}

body.enem10x .tabela-enem tr.selecionado {
  background: rgba(16, 117, 104, 0.15) !important;
}

/* ============================================
   BADGE OVERRIDES
   ============================================ */
body.enem10x .badge.bg-primary {
  background-color: #107568 !important;
  color: #ffffff !important;
}

/* ============================================
   NAV TABS HOVER
   ============================================ */
body.enem10x .nav-tab:hover {
  color: #107568 !important;
  background: rgba(16, 117, 104, 0.08) !important;
}

body.enem10x .nav-tab:focus {
  outline: 2px solid #107568 !important;
  outline-offset: 2px;
}

body.enem10x .nav-tabs .nav-link.active {
  border-color: #107568 !important;
  color: #107568 !important;
}

body.enem10x .nav-tabs .nav-link:hover {
  color: #107568 !important;
}

/* ============================================
   TUTORIAL CARDS HOVER
   ============================================ */
body.enem10x .tutorial-card:hover {
  box-shadow: 0 20px 40px rgba(16, 117, 104, 0.2) !important;
}

body.enem10x .tutorial-card:hover .tutorial-title {
  color: #107568 !important;
}

body.enem10x .btn-watch:hover {
  background: #107568 !important;
}

body.enem10x .btn-watch:focus {
  outline: 2px solid #107568 !important;
  outline-offset: 2px;
}

/* ============================================
   DROPDOWN HOVER
   ============================================ */
body.enem10x .dropdown-item:hover,
body.enem10x .dropdown-item:focus {
  background-color: rgba(16, 117, 104, 0.1) !important;
  color: #107568 !important;
}

body.enem10x .dropdown-item.active,
body.enem10x .dropdown-item:active {
  background-color: #107568 !important;
  color: #ffffff !important;
}

/* ============================================
   LIST GROUP HOVER
   ============================================ */
body.enem10x .list-group-item:hover {
  background-color: rgba(16, 117, 104, 0.08) !important;
}

body.enem10x .list-group-item.active {
  background-color: #107568 !important;
  border-color: #107568 !important;
  color: #ffffff !important;
}

/* ============================================
   PAGINATION HOVER
   ============================================ */
body.enem10x .page-link:hover {
  background-color: rgba(16, 117, 104, 0.1) !important;
  border-color: #107568 !important;
  color: #107568 !important;
}

body.enem10x .page-item.active .page-link {
  background-color: #107568 !important;
  border-color: #107568 !important;
}

/* ============================================
   ACCORDION HOVER
   ============================================ */
body.enem10x .accordion-button:hover {
  background-color: rgba(16, 117, 104, 0.08) !important;
}

body.enem10x .accordion-button:focus {
  border-color: #107568 !important;
  box-shadow: 0 0 0 3px rgba(16, 117, 104, 0.15) !important;
}

body.enem10x .accordion-button:not(.collapsed) {
  background-color: rgba(16, 117, 104, 0.1) !important;
  color: #107568 !important;
}

/* ============================================
   MODAL FOCUS
   ============================================ */
body.enem10x .modal-content {
  border-color: rgba(16, 117, 104, 0.2) !important;
}

body.enem10x .btn-close:focus {
  box-shadow: 0 0 0 3px rgba(16, 117, 104, 0.25) !important;
}

/* ============================================
   CHECKBOX & RADIO FOCUS
   ============================================ */
body.enem10x .form-check-input:focus {
  border-color: #107568 !important;
  box-shadow: 0 0 0 3px rgba(16, 117, 104, 0.15) !important;
}

body.enem10x .form-check-input:hover {
  border-color: #107568 !important;
}

body.enem10x .form-switch .form-check-input:checked {
  background-color: #107568 !important;
  border-color: #107568 !important;
}

/* ============================================
   PROGRESS BAR
   ============================================ */
body.enem10x .progress-bar {
  background-color: #03B866 !important;
}

/* ============================================
   SPINNER
   ============================================ */
body.enem10x .spinner-border {
  color: #107568 !important;
}

body.enem10x .spinner-grow {
  color: #107568 !important;
}

/* ============================================
   TOOLTIP & POPOVER
   ============================================ */
body.enem10x .tooltip-inner {
  background-color: #1B3132 !important;
}

body.enem10x .bs-tooltip-top .tooltip-arrow::before,
body.enem10x .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
  border-top-color: #1B3132 !important;
}

body.enem10x .popover {
  border-color: rgba(16, 117, 104, 0.2) !important;
}

/* ============================================
   KEYBOARD NAVIGATION FOCUS STATES
   ============================================ */
body.enem10x .nav-item.keyboard-focused {
  background: rgba(16, 117, 104, 0.15) !important;
  box-shadow: 0 8px 25px rgba(16, 117, 104, 0.25) !important;
}

body.enem10x .nav-item.keyboard-focused .nav-icon {
  color: #03B866 !important;
}

body.enem10x .keyboard-focused {
  border-color: rgba(16, 117, 104, 0.6) !important;
  box-shadow: 0 0 0 4px rgba(16, 117, 104, 0.15) !important;
}

body.enem10x .keyboard-navigable:focus {
  outline: 3px solid #107568 !important;
}

/* ============================================
   ESCOLHA-PROVA HARDCODED COLOR OVERRIDES
   ============================================ */
body.enem10x .prova-option:hover {
  background: rgba(16, 117, 104, 0.08) !important;
}

body.enem10x .conteudo-item:hover {
  border-color: #107568 !important;
  background: rgba(16, 117, 104, 0.05) !important;
}

body.enem10x .topico-item:hover {
  border-color: #107568 !important;
  background: rgba(16, 117, 104, 0.05) !important;
}

body.enem10x .conteudo-header-topico:hover {
  border-color: #107568 !important;
  background: rgba(16, 117, 104, 0.05) !important;
}

body.enem10x .conteudo-header-topico .btn-select-all:hover {
  background: #107568 !important;
  color: #ffffff !important;
}

body.enem10x .btn-control:hover {
  border-color: #107568 !important;
  background: #107568 !important;
  color: #ffffff !important;
}

body.enem10x .search-input:focus {
  border-color: #107568 !important;
  box-shadow: 0 0 0 3px rgba(16, 117, 104, 0.15) !important;
}

body.enem10x .materia-card-modern:hover,
body.enem10x .materia-card-modern.selected {
  border-color: #107568 !important;
}

body.enem10x .materia-card-modern::before {
  background: #107568 !important;
}

body.enem10x .fonte-option:hover,
body.enem10x .fonte-option.active {
  border-color: #107568 !important;
  background: #107568 !important;
  color: #ffffff !important;
}

body.enem10x .fonte-option.active .fonte-name,
body.enem10x .fonte-option.active .fonte-desc,
body.enem10x .fonte-option.active i,
body.enem10x .fonte-option:hover .fonte-name,
body.enem10x .fonte-option:hover .fonte-desc,
body.enem10x .fonte-option:hover i {
  color: #ffffff !important;
}

body.enem10x .quick-option:hover,
body.enem10x .quick-option.active {
  border-color: #107568 !important;
  color: #ffffff !important;
}

body.enem10x .quick-option::before {
  background: #107568 !important;
}

body.enem10x .config-card:hover {
  border-color: rgba(16, 117, 104, 0.3) !important;
}

body.enem10x .btn-pagination:hover:not(:disabled) {
  background: #107568 !important;
  color: #ffffff !important;
}

body.enem10x .page-number:hover,
body.enem10x .page-number.active {
  background: #107568 !important;
  color: #ffffff !important;
}

body.enem10x .btn-next:hover:not(:disabled) {
  box-shadow: 0 6px 20px rgba(16, 117, 104, 0.3) !important;
}

body.enem10x .btn-generate:hover {
  box-shadow: 0 8px 25px rgba(16, 117, 104, 0.3) !important;
}

/* ============================================
   GLOBAL VAR OVERRIDES FOR ENEM10X
   ============================================ */
body.enem10x {
  --primary: #107568 !important;
  --primary-color: #107568 !important;
  --primarycolor: #107568 !important;
  --main-color: #107568 !important;
  --primary-light: #107568 !important;
  --primary-dark: #1B3132 !important;
  --accent: #03B866 !important;
  --accent-light: #CEA581 !important;
  --focus-border: #107568 !important;
  --focus-shadow: rgba(16, 117, 104, 0.3) !important;
  --primary-gradient: linear-gradient(135deg, #1B3132, #107568) !important;
  --gradient-primary: linear-gradient(135deg, #107568 0%, #107568 50%, #1B3132 100%) !important;
  --gradient-accent: linear-gradient(135deg, #03B866 0%, #107568 100%) !important;
  --gradient-secondary: linear-gradient(135deg, #107568, #107568) !important;
  --primary-blue: #107568 !important;
  --primary-blue-dark: #1B3132 !important;
  --primary-blue-light: rgba(16, 117, 104, 0.15) !important;
}

/* ============================================
   SELECTION HIGHLIGHT
   ============================================ */
body.enem10x ::selection {
  background: rgba(4, 217, 118, 0.25);
  color: #1B3132;
}

body.enem10x ::-moz-selection {
  background: rgba(4, 217, 118, 0.25);
  color: #1B3132;
}

/* ============================================
   OUTLINE FOCUS FOR ACCESSIBILITY
   ============================================ */
body.enem10x *:focus-visible {
  outline: 2px solid #107568 !important;
  outline-offset: 2px;
}

/* ============================================
   BUTTON TEXT COLOR FIX
   ============================================ */
body.enem10x .btn-primary,
body.enem10x .btn-primary:hover,
body.enem10x .btn-primary:focus,
body.enem10x .btn-primary:active,
body.enem10x button.btn-primary,
body.enem10x a.btn-primary,
body.enem10x input.btn-primary,
body.enem10x .btn.btn-primary {
  background: #107568 !important;
  border-color: #107568 !important;
  color: #ffffff !important;
}

/* Only force white text where the hover/focus state paints a teal background.
   At rest, .btn-secondary keeps its own color — some pages use a white
   background (dark text) and others a gray one (white text). */
body.enem10x .btn-secondary:hover,
body.enem10x .btn-secondary:focus {
  color: #ffffff !important;
}

body.enem10x .btn-success,
body.enem10x button.btn-success,
body.enem10x .btn.btn-success {
  background: #03B866 !important;
  border-color: #03B866 !important;
  color: #ffffff !important;
}

body.enem10x .btn-info {
  background-color: #107568 !important;
  border-color: #107568 !important;
  color: #ffffff !important;
}

body.enem10x .btn-info:hover {
  background-color: #107568 !important;
  border-color: #107568 !important;
}

body.enem10x .btn-link:hover,
body.enem10x .btn-link:focus {
  color: #107568 !important;
}

body.enem10x .materia-card.active,
body.enem10x .materia-card.active:hover,
body.enem10x .materia-card.active .materia-icon,
body.enem10x .materia-card.active .materia-name,
body.enem10x .materia-card.active i {
  color: #ffffff !important;
}

body.enem10x .selected-subject-item {
  background: #107568 !important;
  color: #ffffff !important;
}

body.enem10x .btn-generate,
body.enem10x .btn-generate:hover,
body.enem10x .btn-next,
body.enem10x .btn-next:hover {
  color: #ffffff !important;
}

/* ============================================
   REDACOES PAGE
   ============================================ */
body.enem10x .upload-button,
body.enem10x #upload-button {
  background-color: #107568 !important;
  background: #107568 !important;
  color: #ffffff !important;
  border-color: #107568 !important;
}

body.enem10x #redacao-button {
  background-color: #107568 !important;
  color: #ffffff !important;
}

body.enem10x #tema-text {
  color: #107568 !important;
}

/* ============================================
   TURMA PAGE
   ============================================ */
body.enem10x .turma-title,
body.enem10x .turma-header h1 {
  color: #1B3132 !important;
}

body.enem10x .stat-icon,
body.enem10x .stat-card .stat-icon {
  background: #107568 !important;
  color: #ffffff !important;
}

body.enem10x .access-code-card {
  background: #1B3132 !important;
}

body.enem10x .student-card:hover {
  border-color: #107568 !important;
}

body.enem10x .student-card:hover::before {
  background: #107568 !important;
}

body.enem10x .student-card:hover .student-actions {
  color: #107568 !important;
}

body.enem10x .student-avatar {
  background: #107568 !important;
}

body.enem10x .activity-card:hover {
  border-color: #107568 !important;
}

body.enem10x .activity-card:hover::before {
  background: #03B866 !important;
}

body.enem10x .btn-add-student,
body.enem10x .btn-primary-gradient {
  background: #107568 !important;
  color: #ffffff !important;
}

body.enem10x .aviso-card:hover {
  border-color: #107568 !important;
}

body.enem10x .aviso-card:hover::before {
  background: #107568 !important;
}

body.enem10x .attachment-item:hover {
  border-color: #107568 !important;
}

body.enem10x .attachment-item {
  background: #ffffff !important;
  backdrop-filter: none !important;
  border: 1px solid #dfe3e8 !important;
}

body.enem10x .prova-selector .selector-bg {
  border: none;
  box-shadow: none;
}

/* ============================================
   SIDEBAR TOGGLE
   ============================================ */
body.enem10x .modern-sidebar .sidebar-toggle,
body.enem10x .sidebar-toggle {
  background: #107568 !important;
  border-color: #107568 !important;
}

body.enem10x .modern-sidebar .sidebar-toggle i,
body.enem10x .modern-sidebar .sidebar-toggle .toggle,
body.enem10x .sidebar-toggle i,
body.enem10x .sidebar-toggle .toggle {
  color: #ffffff !important;
}

body.enem10x .modern-sidebar .sidebar-toggle:hover,
body.enem10x .sidebar-toggle:hover {
  background: #1B3132 !important;
  border-color: #1B3132 !important;
}

/* ============================================
   QC-BTN (CRIAR QUESTAO)
   ============================================ */
body.enem10x .qc-btn,
body.enem10x a.qc-btn,
body.enem10x button.qc-btn {
  color: #1B3132 !important;
  background: #ffffff !important;
  border-color: #D9D9D9 !important;
}

body.enem10x .qc-btn:hover,
body.enem10x .qc-btn:focus {
  color: #107568 !important;
  background: #f8fafc !important;
  border-color: #107568 !important;
}

body.enem10x .qc-btn.primary,
body.enem10x .qc-btn.primary:hover,
body.enem10x .qc-btn.primary:focus {
  color: #ffffff !important;
  background: #107568 !important;
  border-color: #107568 !important;
}

/* ============================================
   OVERRIDE INLINE BLUE/CYAN COLORS
   ============================================ */
body.enem10x button[style*="background-color: #00a2e8"],
body.enem10x button[style*="background: #00a2e8"],
body.enem10x [style*="background-color: #00a2e8"],
body.enem10x [style*="background: #00a2e8"] {
  background-color: #107568 !important;
  background: #107568 !important;
}

body.enem10x [style*="color: #00a2e8"] {
  color: #107568 !important;
}

/* ============================================
   STEP HEADER (WIZARD)
   ============================================ */
body.enem10x .step-header h2 {
  background: none !important;
  color: #1B3132 !important;
  -webkit-text-fill-color: #1B3132 !important;
}

body.enem10x .step-header p {
  color: #107568;
}

body.enem10x .historico-title {
  background: none !important;
  color: #1B3132 !important;
  -webkit-text-fill-color: #1B3132 !important;
}

body.enem10x .section-header-content .historico-icon {
  color: #107568 !important;
}

/* ============================================
   QUESTION NUMBER
   ============================================ */
.question-number {
  font-weight: bold;
  font-size: 0.85rem;
  line-height: 1;
  color: #107568 !important;
}

/* ============================================
   OVERRIDE HARDCODED #00a2e8 AZUIS DO DASHBOARD/TURMAS
   Esses valores são hardcoded nos templates e não
   respondem a variáveis CSS — precisam de regras diretas.
   ============================================ */

/* Variáveis locais do turmas.html */
body.enem10x {
  --primary-color: #107568 !important;
  --gradient-primary: linear-gradient(135deg, #107568 0%, #107568 50%, #1B3132 100%) !important;
  --gradient-accent: linear-gradient(135deg, #03B866 0%, #107568 100%) !important;
  --primary-blue: #107568 !important;
  --primary-blue-dark: #1B3132 !important;
  --primary-blue-light: rgba(16, 117, 104, 0.15) !important;
}

/* Botões/badges com FUNDO azul hardcoded -> teal.
   IMPORTANTE: só selecionar 'background'/'background-color'. Não incluir
   'color:#00a2e8' aqui: o seletor [style*="color:#00a2e8"] também casa com
   custom properties como --icon-color:#00a2e8 e forçaria um fundo teal em
   ícones/textos que só definem cor azul (resultando em ícone teal sobre fundo
   teal = invisível). O rebrand de cor é tratado no bloco abaixo. */
body.enem10x [style*="background: #00a2e8"],
body.enem10x [style*="background:#00a2e8"],
body.enem10x [style*="background-color: #00a2e8"],
body.enem10x [style*="background-color:#00a2e8"] {
  background-color: #107568 !important;
  background: #107568 !important;
  color: #ffffff !important;
}

/* Ícones inline com cor azul */
body.enem10x [style*="color: #00a2e8"],
body.enem10x [style*="color:#00a2e8"] {
  color: #107568 !important;
}

/* SVG gradients usados no gauge/dial do dashboard */
body.enem10x svg stop {
  stop-color: #107568 !important;
}

body.enem10x svg stop:first-child {
  stop-color: #107568 !important;
}

body.enem10x svg stop:last-child {
  stop-color: #1B3132 !important;
}

/* Circle/path do gauge */
body.enem10x svg circle,
body.enem10x svg path {
  stroke: #107568;
}

/* Borders hardcoded com azul */
body.enem10x [style*="border-color: #00a2e8"],
body.enem10x [style*="border-color:#00a2e8"] {
  border-color: #107568 !important;
}

/* Sidebar glassmorphism navigation active border */
body.enem10x .modern-sidebar.navigation-active {
  border-right: 2px solid rgba(4, 217, 118, 0.3) !important;
  box-shadow:
    0 8px 32px rgba(16, 117, 104, 0.2),
    inset 1px 1px 0 rgba(255, 255, 255, 0.15),
    inset -1px -1px 0 rgba(255, 255, 255, 0.05) !important;
}

body.enem10x .modern-sidebar.navigation-active::before {
  background: linear-gradient(
    45deg,
    rgba(16, 117, 104, 0.03) 0%,
    rgba(4, 217, 118, 0.06) 50%,
    rgba(16, 117, 104, 0.03) 100%
  ) !important;
}

/* Card borders inline com azul */
body.enem10x .card {
  border-color: rgba(16, 117, 104, 0.1) !important;
}

/* Navbar telefone border */
body.enem10x #navbar-telefone {
  border-bottom-color: rgba(16, 117, 104, 0.1) !important;
}

/* Logout section border */
body.enem10x .logout-section {
  border-top-color: rgba(16, 117, 104, 0.15) !important;
}

/* Mobile menu btn */
body.enem10x .mobile-menu-btn {
  background: linear-gradient(135deg, #107568, #107568) !important;
  box-shadow: 0 4px 12px rgba(16, 117, 104, 0.3) !important;
}

/* "AUTO" label e dots do dashboard interativo */
body.enem10x .auto-label,
body.enem10x .dashboard-auto,
body.enem10x [class*="auto"] {
  color: #03B866 !important;
}

/* Sistema Ativo badge dot */
body.enem10x .status-dot,
body.enem10x .online-dot {
  background: #03B866 !important;
  box-shadow: 0 0 6px rgba(4, 217, 118, 0.5) !important;
}
