body.dark-mode {
  --bg: #12261E;
  --bg-soft: #153326;
  --panel: #1b382f;
  --panel-alt: #214536;
  --text: #F4F7F5;
  --muted: #d5e6e0;
  --primary: #00A86B;
  --primary-strong: #10F090;
  --support: #708D81;
  --border: rgba(255,255,255,0.08);
  --shadow: 0 10px 28px rgba(0,0,0,0.25);
}

body.dark-mode .topbar,
body.dark-mode .auth-card,
body.dark-mode .card,
body.dark-mode .sidebar,
body.dark-mode .question-block,
body.dark-mode .option-item {
  background: var(--panel);
}

body.dark-mode .btn-secondary,
body.dark-mode .user-badge,
body.dark-mode input,
body.dark-mode textarea,
body.dark-mode select {
  background: var(--bg-soft);
  color: var(--text);
}

body.dark-mode .auth-page { background: radial-gradient(circle at top, #16362b 0%, var(--bg) 52%); }
body.dark-mode .loading-screen {
  color: #F4F7F5;
  background: radial-gradient(circle at 50% 42%, #1b382f, #12261E 72%);
}
body.dark-mode .loading-caption { color: #d5e6e0; }
body.dark-mode .menu-item.active { color: #04110b; }
body.dark-mode .menu-item:hover:not(.active) { background: var(--panel-alt); color: var(--text); }

body.dark-mode .chat-messages, body.dark-mode .banco-panel, body.dark-mode .adapt-box { background: var(--bg-soft); }
body.dark-mode .chat-bubble, body.dark-mode .option-item, body.dark-mode .tabs { background: var(--panel); }
body.dark-mode .chat-form-status[data-state="error"] { color: #ffc5c5; }
body.dark-mode .chat-form-status[data-state="success"] { color: #9ef0c6; }
body.dark-mode .option-item.is-correct, body.dark-mode .option-item:has(input:checked) { background: rgba(16, 240, 144, 0.16); }
body.dark-mode .chat-row-user .chat-bubble { background: rgba(16, 240, 144, 0.14); }
body.dark-mode .tab.is-active { color: #04110b; }
body.dark-mode .alert.error { color: #ffd6d6; }
body.dark-mode .mobile-dashboard-tabs { background: var(--panel); }

body.dark-mode .topbar { background: rgba(27, 56, 47, .96); }
body.dark-mode .sidebar { background: var(--panel); }
body.dark-mode .option-item, body.dark-mode .deadline-item { background: var(--bg-soft); }
body.dark-mode .alert.error { background: rgba(220, 92, 92, .2); color: #ffdede; }
body.dark-mode .text-link, body.dark-mode .eyebrow { color: #73f5be; }
body.dark-mode .status-bar, body.dark-mode .bar-track { background: #0d2019; }
body.dark-mode .theme-toggle { border-color: rgba(255,255,255,.2); }


/* Contraste específico para a revisão e os novos cartões de conteúdo */
body.dark-mode .review-stat,
body.dark-mode .review-question,
body.dark-mode .review-difficulty,
body.dark-mode .review-flashcard { color: var(--text); }
body.dark-mode .review-stat-label,
body.dark-mode .review-stat small,
body.dark-mode .review-difficulty-card p,
body.dark-mode .review-flashcard-hint,
body.dark-mode .review-content-section p { color: #dcebe5; }
body.dark-mode .review-difficulty-card,
body.dark-mode .review-flashcard-answer { background: #10271f; color: #f4f7f5; border-color: #557467; }
body.dark-mode .review-option { background: #17382c; border-color: #547467; color: #f4f7f5; }
body.dark-mode .review-option:has(input:checked) { background: #245441; border-color: #73f5be; }
body.dark-mode .review-progress-track { background: #0d2019; }
body.dark-mode .review-feedback { color: #f4f7f5; }
body.dark-mode .review-feedback p { color: #e3f0ea; }
body.dark-mode .review-feedback.error { background: #512b2b; border-color: #b66a6a; color: #fff0f0; }
body.dark-mode .review-feedback.success { background: #173f30; border-color: #3c9d73; color: #edfff6; }
body.dark-mode .review-answer-key { border-color: #557467; }
body.dark-mode .review-option strong { color: #a7f7d0; }

body.dark-mode .list-table th, body.dark-mode .list-table td { color: var(--text); border-color: #49685b; }
body.dark-mode .list-table th { color: #d5e6e0; }
