body.dark-theme {
  --text-color: #e0e0e0;
  --text-secondary: #999;
  --bg-color: #1a1a1a;
  --card-bg: #2d2d2d;
  --border-color: #404040;
  --shadow: 0 2px 8px rgba(0,0,0,0.3);
}

body.dark-theme .header {
  background: var(--card-bg);
  border-bottom: 1px solid var(--border-color);
}

body.dark-theme .btn-secondary {
  background: var(--card-bg);
  color: var(--text-color);
  border-color: var(--border-color);
}

body.dark-theme .btn-secondary:hover {
  background: var(--bg-color);
}

body.dark-theme .module-card {
  background: var(--card-bg);
  box-shadow: var(--shadow);
}

body.dark-theme .module-card:hover {
  box-shadow: 0 4px 12px rgba(76, 175, 80, 0.3);
}

body.dark-theme .modal-content {
  background: var(--card-bg);
}

body.dark-theme .modal-header {
  border-bottom-color: var(--border-color);
}

body.dark-theme .tab-btn {
  color: var(--text-secondary);
}

body.dark-theme .tab-btn.active {
  color: var(--primary-color);
  border-bottom-color: var(--primary-color);
}

body.dark-theme .store-content {
  background: transparent;
}

body.dark-theme .module-store-item {
  background: var(--bg-color);
}

body.dark-theme .input-group input,
body.dark-theme .input-group textarea {
  background: var(--bg-color);
  border-color: var(--border-color);
  color: var(--text-color);
}

body.dark-theme .file-upload {
  border-color: var(--border-color);
}

body.dark-theme .output-area {
  background: var(--bg-color);
}

body.dark-theme .modal {
  background: rgba(0, 0, 0, 0.7);
}

body.dark-theme .empty-state {
  color: var(--text-secondary);
}

body.dark-theme .empty-state h3 {
  color: var(--text-color);
}
