/* Mode sombre complet et corrigé pour AEERCD */

:root {
  /* Variables pour le mode sombre */
  --dark-primary: #2E8B57;
  --dark-secondary: #228B22;
  --dark-accent: #FFD700;
  --dark-bg-primary: #0f172a;
  --dark-bg-secondary: #1e293b;
  --dark-bg-tertiary: #334155;
  --dark-text-primary: #f1f5f9;
  --dark-text-secondary: #cbd5e1;
  --dark-text-muted: #94a3b8;
  --dark-border: #475569;
  --dark-shadow: rgba(0, 0, 0, 0.3);
  
  /* Variables pour le mode clair */
  --light-bg-primary: #ffffff;
  --light-bg-secondary: #f8f9fa;
  --light-bg-tertiary: #e9ecef;
  --light-text-primary: #121417;
  --light-text-secondary: #363c41;
  --light-text-muted: #5f656b;
  --light-border: #dee2e6;
}

/* Mode clair par défaut - corrections pour la lisibilité */
body {
  background-color: var(--light-bg-primary);
  color: var(--light-text-primary);
}

/* Corrections spécifiques pour le mode clair */
.card {
  background-color: var(--light-bg-primary) !important;
  color: var(--light-text-primary) !important;
}

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

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

.discussion-item {
  background-color: var(--light-bg-primary) !important;
  color: var(--light-text-primary) !important;
}

.discussion-meta h6 {
  color: var(--light-text-primary);
}

.stats-badge {
  background-color: var(--light-bg-secondary) !important;
  color: var(--light-text-secondary) !important;
}

/* Mode sombre global */
body.dark-mode {
  background-color: var(--dark-bg-primary) !important;
  color: var(--dark-text-primary) !important;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Correction pour tous les textes */
body.dark-mode {
  color: var(--dark-text-primary);
}

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

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

body.dark-mode .text-secondary {
  color: var(--dark-text-secondary) !important;
}

/* Navbar en mode sombre */
body.dark-mode .navbar {
  background: linear-gradient(135deg, #1e293b, #334155) !important;
  border-bottom: 1px solid var(--dark-border);
}

body.dark-mode .navbar-brand,
body.dark-mode .nav-link {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .nav-link:hover {
  background-color: rgba(255, 255, 255, 0.1) !important;
  color: var(--dark-text-primary) !important;
}

body.dark-mode .navbar-nav .nav-link.active {
  color: var(--dark-accent) !important;
}

/* Cards en mode sombre */
body.dark-mode .card {
  background-color: var(--dark-bg-secondary) !important;
  border: 1px solid var(--dark-border) !important;
  color: var(--dark-text-primary) !important;
}

body.dark-mode .card-header {
  background-color: var(--dark-bg-tertiary) !important;
  border-bottom: 1px solid var(--dark-border) !important;
  color: var(--dark-text-primary) !important;
}

body.dark-mode .card-body {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .card-title {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .card-text {
  color: var(--dark-text-primary) !important;
}

/* Formulaires en mode sombre */
body.dark-mode .form-control {
  background-color: var(--dark-bg-tertiary) !important;
  border: 1px solid var(--dark-border) !important;
  color: var(--dark-text-primary) !important;
}

body.dark-mode .form-control:focus {
  background-color: var(--dark-bg-tertiary) !important;
  border-color: var(--dark-primary) !important;
  box-shadow: 0 0 0 0.2rem rgba(46, 139, 87, 0.25) !important;
  color: var(--dark-text-primary) !important;
}

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

body.dark-mode .form-select {
  background-color: var(--dark-bg-tertiary) !important;
  border: 1px solid var(--dark-border) !important;
  color: var(--dark-text-primary) !important;
}

body.dark-mode textarea.form-control {
  background-color: var(--dark-bg-tertiary) !important;
  color: var(--dark-text-primary) !important;
}

/* Boutons en mode sombre */
body.dark-mode .btn-primary {
  background-color: var(--dark-primary) !important;
  border-color: var(--dark-primary) !important;
  color: white !important;
}

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

body.dark-mode .btn-outline-primary:hover {
  background-color: var(--dark-primary) !important;
  border-color: var(--dark-primary) !important;
  color: white !important;
}

body.dark-mode .btn-outline-secondary {
  color: var(--dark-text-secondary) !important;
  border-color: var(--dark-border) !important;
}

body.dark-mode .btn-outline-secondary:hover {
  background-color: var(--dark-bg-tertiary) !important;
  color: var(--dark-text-primary) !important;
}

body.dark-mode .btn-outline-danger {
  color: #dc3545 !important;
  border-color: #dc3545 !important;
}

body.dark-mode .btn-outline-danger:hover {
  background-color: #dc3545 !important;
  color: white !important;
}

/* Alertes en mode sombre */
body.dark-mode .alert {
  background-color: var(--dark-bg-tertiary) !important;
  border: 1px solid var(--dark-border) !important;
  color: var(--dark-text-primary) !important;
}

body.dark-mode .alert-success {
  background-color: rgba(34, 139, 34, 0.2) !important;
  border-color: var(--dark-secondary) !important;
  color: var(--dark-text-primary) !important;
}

body.dark-mode .alert-danger {
  background-color: rgba(220, 20, 60, 0.2) !important;
  border-color: #DC143C !important;
  color: var(--dark-text-primary) !important;
}

body.dark-mode .alert-info {
  background-color: rgba(46, 139, 87, 0.2) !important;
  border-color: var(--dark-primary) !important;
  color: var(--dark-text-primary) !important;
}

body.dark-mode .alert-warning {
  background-color: rgba(255, 215, 0, 0.2) !important;
  border-color: var(--dark-accent) !important;
  color: var(--dark-text-primary) !important;
}

/* Dropdown en mode sombre */
body.dark-mode .dropdown-menu {
  background-color: var(--dark-bg-secondary) !important;
  border: 1px solid var(--dark-border) !important;
}

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

body.dark-mode .dropdown-item:hover {
  background-color: var(--dark-bg-tertiary) !important;
  color: var(--dark-text-primary) !important;
}

body.dark-mode .dropdown-header {
  color: var(--dark-text-secondary) !important;
}

/* Footer en mode sombre */
body.dark-mode .footer {
  background: linear-gradient(135deg, #0f172a, #1e293b) !important;
}

body.dark-mode .footer-title,
body.dark-mode .footer-subtitle {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .text-light-emphasis {
  color: var(--dark-text-secondary) !important;
}

/* Pagination en mode sombre */
body.dark-mode .page-link {
  background-color: var(--dark-bg-secondary) !important;
  border-color: var(--dark-border) !important;
  color: var(--dark-text-primary) !important;
}

body.dark-mode .page-item.active .page-link {
  background-color: var(--dark-primary) !important;
  border-color: var(--dark-primary) !important;
}

/* Badges en mode sombre */
body.dark-mode .badge {
  background-color: var(--dark-bg-tertiary) !important;
  color: var(--dark-text-primary) !important;
}

body.dark-mode .badge.bg-primary {
  background-color: var(--dark-primary) !important;
  color: white !important;
}

body.dark-mode .badge.bg-success {
  background-color: #28a745 !important;
  color: white !important;
}

body.dark-mode .badge.bg-warning {
  background-color: #ffc107 !important;
  color: #000 !important;
}

/* Tables en mode sombre */
body.dark-mode .table {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .table-striped > tbody > tr:nth-of-type(odd) > td {
  background-color: rgba(255, 255, 255, 0.05) !important;
}

/* Modals en mode sombre */
body.dark-mode .modal-content {
  background-color: var(--dark-bg-secondary) !important;
  border: 1px solid var(--dark-border) !important;
}

body.dark-mode .modal-header {
  background-color: var(--dark-bg-tertiary) !important;
  border-bottom: 1px solid var(--dark-border) !important;
  color: var(--dark-text-primary) !important;
}

body.dark-mode .modal-body {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .modal-footer {
  border-top: 1px solid var(--dark-border) !important;
}

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

/* Liens en mode sombre */
body.dark-mode a {
  color: var(--dark-accent) !important;
}

body.dark-mode a:hover {
  color: #FFA500 !important;
}

body.dark-mode .text-decoration-none {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .text-decoration-none:hover {
  color: var(--dark-accent) !important;
}

/* Titres en mode sombre */
body.dark-mode h1, 
body.dark-mode h2, 
body.dark-mode h3, 
body.dark-mode h4, 
body.dark-mode h5, 
body.dark-mode h6 {
  color: var(--dark-text-primary) !important;
}

body.dark-mode p {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .lead {
  color: var(--dark-text-secondary) !important;
}

/* Page d'accueil en mode sombre */
body.dark-mode .hero-gradient {
  background: linear-gradient(135deg, #1e293b 0%, #334155 100%) !important;
}

body.dark-mode .floating-card {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.dark-mode .feature-card {
  background-color: var(--dark-bg-secondary) !important;
  border: 1px solid var(--dark-border) !important;
}

body.dark-mode .category-card {
  background-color: var(--dark-bg-secondary) !important;
  border: 1px solid var(--dark-border) !important;
}

body.dark-mode .testimonial-card {
  background-color: var(--dark-bg-secondary) !important;
  border: 1px solid var(--dark-border) !important;
}

body.dark-mode .cta-section {
  background: linear-gradient(130deg, #0d121b 0%, #334155 100%) !important;
}

/* Profil en mode sombre */
body.dark-mode .profile-hero {
  background: linear-gradient(135deg, #1e293b 0%, #334155 100%) !important;
}

body.dark-mode .profile-content {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .profile-name,
body.dark-mode .profile-bio,
body.dark-mode .profile-location {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .stat-card {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.dark-mode .stat-number {
  color: var(--dark-accent) !important;
}

body.dark-mode .stat-label {
  color: var(--dark-text-secondary) !important;
}

body.dark-mode .content-tabs {
  background-color: var(--dark-bg-secondary) !important;
}

body.dark-mode .nav-tabs {
  background-color: var(--dark-bg-tertiary) !important;
}

body.dark-mode .nav-tabs .nav-link {
  color: var(--dark-text-secondary) !important;
}

body.dark-mode .nav-tabs .nav-link:hover {
  color: var(--dark-text-primary) !important;
  background-color: rgba(255, 255, 255, 0.05) !important;
}

body.dark-mode .nav-tabs .nav-link.active {
  background-color: var(--dark-bg-secondary) !important;
  color: var(--dark-primary) !important;
  border-bottom-color: var(--dark-primary) !important;
}
.form-section {
    padding: 2rem;
    background: white;
}
body.dark-mode .form-section {
  background-color: var(--dark-bg-secondary) !important;
  border: 1px solid var(--dark-border) !important;
}
 .form-section {
  background-color: var(--light-bg-primary) !important;
  border: 1px solid var(--dark-border) !important;
}

body.dark-mode .form-section h4 {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .article-card {
  background-color: var(--dark-bg-secondary) !important;
  border: 1px solid var(--dark-border) !important;
}

body.dark-mode .no-content {
  color: var(--dark-text-secondary) !important;
}

/* Calendrier en mode sombre */
body.dark-mode .calendar-container {
  background-color: var(--dark-bg-secondary) !important;
}

body.dark-mode .calendar-header {
  background: linear-gradient(135deg, #1e293b, #334155) !important;
}

body.dark-mode .calendar-nav {
  background: var(--dark-bg-tertiary) !important;
}

body.dark-mode .calendar-day {
  background-color: var(--dark-bg-tertiary) !important;
  color: var(--dark-text-primary) !important;
}

body.dark-mode .calendar-day:hover {
  background-color: var(--dark-bg-primary) !important;
}

body.dark-mode .calendar-day.other-month {
  background-color: var(--dark-bg-primary) !important;
  color: var(--dark-text-muted) !important;
}

body.dark-mode .calendar-day.today {
  background: linear-gradient(135deg, #FFD700, #FFA500) !important;
  color: #000 !important;
}

body.dark-mode .calendar-day-header {
  background: var(--dark-primary) !important;
  color: white !important;
}

body.dark-mode .day-number {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .calendar-day.today .day-number {
  color: #000 !important;
}

body.dark-mode .legend {
  background: var(--dark-bg-tertiary) !important;
}

body.dark-mode .legend-text {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .event-item {
  background: var(--dark-bg-secondary) !important;
  border-color: var(--dark-border) !important;
}

body.dark-mode .personal-event-item {
  background: var(--dark-bg-secondary) !important;
  border-color: var(--dark-border) !important;
}

/* Forum en mode sombre */
body.dark-mode .forum-header {
  background: linear-gradient(135deg, #1e293b, #334155) !important;
}

body.dark-mode .topic-card {
  background-color: var(--dark-bg-secondary) !important;
  border: 1px solid var(--dark-border) !important;
}

body.dark-mode .topic-card h5 {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .topic-card p {
  color: var(--dark-text-secondary) !important;
}

body.dark-mode .discussion-item {
  background-color: var(--dark-bg-tertiary) !important;
  border: 1px solid var(--dark-border) !important;
  color: var(--dark-text-primary) !important;
}

body.dark-mode .discussion-meta h6 {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .discussion-meta small {
  color: var(--dark-text-muted) !important;
}

body.dark-mode .discussion-item p {
  color: var(--dark-text-secondary) !important;
}

body.dark-mode .stats-badge {
  background-color: var(--dark-bg-primary) !important;
  color: var(--dark-text-secondary) !important;
}

/* Filtres en mode sombre */
body.dark-mode .filter-card {
  background-color: var(--dark-bg-secondary) !important;
  border: 1px solid var(--dark-border) !important;
}

body.dark-mode .filter-group-header {
  background-color: var(--dark-bg-tertiary) !important;
}

body.dark-mode .filter-group-header h5 {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .filter-link {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .filter-link:hover {
  background-color: var(--dark-bg-primary) !important;
  color: var(--dark-primary) !important;
}

body.dark-mode .filter-item.active .filter-link {
  background-color: var(--dark-primary) !important;
  color: white !important;
}

body.dark-mode .filter-count {
  background-color: var(--dark-bg-primary) !important;
  color: var(--dark-text-muted) !important;
}

/* Cartes étudiantes en mode sombre */
body.dark-mode .student-card {
  background-color: var(--dark-bg-secondary) !important;
  border: 1px solid var(--dark-border) !important;
}

body.dark-mode .student-stats {
  background: linear-gradient(135deg, #1e293b, #334155) !important;
}

body.dark-mode .feature-icon {
  background: linear-gradient(135deg, var(--dark-primary), var(--dark-secondary)) !important;
}

/* Accordéons en mode sombre */
body.dark-mode .accordion-item {
  background-color: var(--dark-bg-secondary) !important;
  border: 1px solid var(--dark-border) !important;
}

body.dark-mode .accordion-button {
  background-color: var(--dark-bg-tertiary) !important;
  color: var(--dark-text-primary) !important;
  border: none !important;
}

body.dark-mode .accordion-button:not(.collapsed) {
  background-color: var(--dark-bg-primary) !important;
  color: var(--dark-primary) !important;
}

body.dark-mode .accordion-body {
  background-color: var(--dark-bg-secondary) !important;
  color: var(--dark-text-primary) !important;
}

/* Éditeur Quill en mode sombre */
body.dark-mode .ql-toolbar.ql-snow {
  background-color: var(--dark-bg-tertiary) !important;
  border-color: var(--dark-border) !important;
}

body.dark-mode .ql-container.ql-snow {
  border-color: var(--dark-border) !important;
}

body.dark-mode .ql-editor {
  background-color: var(--dark-bg-secondary) !important;
  color: var(--dark-text-primary) !important;
}

body.dark-mode .ql-picker {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .ql-stroke {
  stroke: var(--dark-text-primary) !important;
}

body.dark-mode .ql-fill {
  fill: var(--dark-text-primary) !important;
}

/* Corrections spécifiques pour l'éditeur WYSIWYG personnalisé */
body.dark-mode .wysiwyg-wrapper .editor-area {
    background-color: var(--dark-bg-secondary) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-mode .wysiwyg-wrapper .editor-area * {
    color: var(--dark-text-primary) !important;
}

body.dark-mode .wysiwyg-wrapper .editor-area p,
body.dark-mode .wysiwyg-wrapper .editor-area div,
body.dark-mode .wysiwyg-wrapper .editor-area span,
body.dark-mode .wysiwyg-wrapper .editor-area h1,
body.dark-mode .wysiwyg-wrapper .editor-area h2,
body.dark-mode .wysiwyg-wrapper .editor-area h3,
body.dark-mode .wysiwyg-wrapper .editor-area h4,
body.dark-mode .wysiwyg-wrapper .editor-area h5,
body.dark-mode .wysiwyg-wrapper .editor-area h6 {
    color: var(--dark-text-primary) !important;
}

/* Correction pour le texte saisi par l'utilisateur */
body.dark-mode .wysiwyg-wrapper .editor-area li,
body.dark-mode .wysiwyg-wrapper .editor-area td,
body.dark-mode .wysiwyg-wrapper .editor-area th,
body.dark-mode .wysiwyg-wrapper .editor-area blockquote,
body.dark-mode .wysiwyg-wrapper .editor-area code,
body.dark-mode .wysiwyg-wrapper .editor-area pre {
    color: var(--dark-text-primary) !important;
}

/* Forcer la couleur pour le contenu éditable */
body.dark-mode [contenteditable="true"] {
    color: var(--dark-text-primary) !important;
}

body.dark-mode [contenteditable="true"] * {
    color: var(--dark-text-primary) !important;
}

body.dark-mode .wysiwyg-wrapper .editor-area:empty::before {
    color: var(--dark-text-muted) !important;
}

/* Commentaires en mode sombre */
body.dark-mode .comment,
body.dark-mode .reply {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .comment-header strong,
body.dark-mode .reply-header strong {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .comment-content,
body.dark-mode .reply-content {
  color: var(--dark-text-primary) !important;
}

/* Statistiques en mode sombre */
body.dark-mode .article-stats {
  color: var(--dark-text-muted) !important;
}

/* Toggle du mode sombre */
.dark-mode-toggle {
  position: fixed;
  bottom: 2rem;
  left: 2rem;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea, #764ba2);
  border: none;
  color: white;
  font-size: 1.2rem;
  cursor: pointer;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease;
  z-index: 1000;
}

.dark-mode-toggle:hover {
  transform: scale(1.1);
}

body.dark-mode .dark-mode-toggle {
  background: linear-gradient(135deg, #FFD700, #FFA500);
  color: #000;
}

/* Responsive pour mode sombre */
@media (max-width: 768px) {
  .dark-mode-toggle {
    bottom: 1rem;
    left: 1rem;
    width: 45px;
    height: 45px;
    font-size: 1rem;
  }
}

/* Corrections spécifiques pour la lisibilité */
body.dark-mode .bg-light {
  background-color: var(--dark-bg-tertiary) !important;
}

body.dark-mode .border-bottom {
  border-bottom-color: var(--dark-border) !important;
}

body.dark-mode .border-top {
  border-top-color: var(--dark-border) !important;
}

/* Corrections pour les éléments spécifiques */
body.dark-mode .student-card::before {
  background: linear-gradient(135deg, var(--dark-primary), var(--dark-secondary)) !important;
}

body.dark-mode .academic-level {
  background-color: var(--dark-bg-tertiary) !important;
  color: var(--dark-text-primary) !important;
}

body.dark-mode .timeline-content {
  background-color: var(--dark-bg-secondary) !important;
  border: 1px solid var(--dark-border) !important;
}

body.dark-mode .progress-card {
  background-color: var(--dark-bg-secondary) !important;
  border: 1px solid var(--dark-border) !important;
}

body.dark-mode .progress-card::before {
  background: linear-gradient(135deg, var(--dark-primary), var(--dark-secondary)) !important;
}

/* Corrections spécifiques pour les petits éléments */
body.dark-mode small {
  color: var(--dark-text-muted) !important;
}

body.dark-mode .small {
  color: var(--dark-text-muted) !important;
}

body.dark-mode .text-white {
  color: var(--dark-text-primary) !important;
}

/* Corrections pour les liens dans les cards */
body.dark-mode .card a {
  color: var(--dark-accent) !important;
}

body.dark-mode .card a:hover {
  color: #FFA500 !important;
}

/* Corrections pour les inputs et selects */
body.dark-mode input[type="text"],
body.dark-mode input[type="email"],
body.dark-mode input[type="password"],
body.dark-mode input[type="search"],
body.dark-mode select,
body.dark-mode textarea {
  background-color: var(--dark-bg-tertiary) !important;
  border: 1px solid var(--dark-border) !important;
  color: var(--dark-text-primary) !important;
}

/* Corrections pour les placeholders */
body.dark-mode ::placeholder {
  color: var(--dark-text-muted) !important;
  opacity: 1;
}

body.dark-mode ::-webkit-input-placeholder {
  color: var(--dark-text-muted) !important;
}

body.dark-mode ::-moz-placeholder {
  color: var(--dark-text-muted) !important;
  opacity: 1;
}

body.dark-mode :-ms-input-placeholder {
  color: var(--dark-text-muted) !important;
}

/* Corrections pour les listes */
body.dark-mode ul li,
body.dark-mode ol li {
  color: var(--dark-text-primary) !important;
}

/* Corrections pour les spans et divs */
body.dark-mode span,
body.dark-mode div {
  color: inherit !important;
}

/* Corrections pour les éléments de navigation */
body.dark-mode .breadcrumb {
  background-color: var(--dark-bg-secondary) !important;
}

body.dark-mode .breadcrumb-item {
  color: var(--dark-text-secondary) !important;
}

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

/* Corrections pour les tooltips */
body.dark-mode .tooltip-inner {
  background-color: var(--dark-bg-tertiary) !important;
  color: var(--dark-text-primary) !important;
}

/* Corrections pour les popovers */
body.dark-mode .popover {
  background-color: var(--dark-bg-secondary) !important;
  border: 1px solid var(--dark-border) !important;
}

body.dark-mode .popover-header {
  background-color: var(--dark-bg-tertiary) !important;
  color: var(--dark-text-primary) !important;
}

body.dark-mode .popover-body {
  color: var(--dark-text-primary) !important;
}

/* Corrections spécifiques pour le forum */
body.dark-mode .topic-card {
  background-color: var(--dark-bg-secondary) !important;
  border: 1px solid var(--dark-border) !important;
}

body.dark-mode .topic-card h5,
body.dark-mode .topic-card p {
  color: var(--dark-text-primary) !important;
}

body.dark-mode .topic-header {
  background: linear-gradient(135deg, #1e293b, #334155) !important;
}

body.dark-mode .topic-content {
  background-color: var(--dark-bg-secondary) !important;
}

body.dark-mode .reply-item {
  background-color: var(--dark-bg-secondary) !important;
  border-left-color: var(--dark-primary) !important;
}

body.dark-mode .reply-form {
  background-color: var(--dark-bg-tertiary) !important;
}