/* ============================================
   Тёмная тема: оверрайды для специфических
   компонентов, которые используют жёсткие цвета
   ============================================ */

/* --- Плавный переход при смене темы --- */
body,
.header,
.sidebar,
.content,
.form-card,
.form-placeholder,
.request-item,
.admin-user-card,
.db-table th,
.db-table td,
.user-profile,
.toast {
  transition:
    background-color 0.35s ease,
    border-color 0.35s ease,
    color 0.35s ease;
}

/* --- Кнопка переключения темы --- */
.theme-toggle {
  background: none;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--color-text-muted);
  transition: all var(--transition-fast);
  flex-shrink: 0;
  margin-left: var(--spacing-sm);
}

.theme-toggle:hover {
  background-color: var(--color-surface-hover);
  color: var(--color-text);
  border-color: var(--color-text-muted);
}

.theme-toggle .icon-sun,
.theme-toggle .icon-moon {
  width: 18px;
  height: 18px;
}

/* Скрываем неактивную иконку */
.theme-toggle .icon-moon { display: block; }
.theme-toggle .icon-sun  { display: none; }
[data-theme="dark"] .theme-toggle .icon-moon { display: none; }
[data-theme="dark"] .theme-toggle .icon-sun  { display: block; }

/* === ADMIN PANEL dark overrides === */
[data-theme="dark"] .admin-user-card__role-badge--user {
  background-color: rgba(107, 114, 128, 0.2);
  color: #94A3B8;
}

[data-theme="dark"] .admin-user-card__role-badge--admin {
  background-color: rgba(124, 58, 237, 0.2);
  color: #A78BFA;
}

[data-theme="dark"] .admin-user-card__role-badge--administrator {
  background-color: rgba(13, 148, 136, 0.2);
  color: #5EEAD4;
}

[data-theme="dark"] .admin-user-card__input--readonly {
  background-color: var(--color-surface);
  color: var(--color-text-muted);
  border-color: var(--color-border);
}

/* === DATABASE TABLE dark overrides === */
[data-theme="dark"] .db-th {
  background: var(--color-bg);
}

[data-theme="dark"] .db-th--filtered {
  background: rgba(99, 102, 241, 0.15);
  color: #818CF8;
}

[data-theme="dark"] .db-th--filtered .db-filter-btn {
  background: #6366F1;
  color: #fff;
  border-color: #6366F1;
}

[data-theme="dark"] .db-table tbody tr:nth-child(even) {
  background-color: rgba(255, 255, 255, 0.02);
}

[data-theme="dark"] .db-filter-dropdown {
  background: var(--color-bg);
  border-color: var(--color-border);
}

[data-theme="dark"] .db-filter-dropdown__header {
  background: var(--color-surface);
}

[data-theme="dark"] .db-filter-dropdown__actions {
  background: var(--color-surface);
}

/* === FORM BADGE dark overrides === */
[data-theme="dark"] .form-card__type-badge {
  background-color: var(--color-primary-light);
  color: #818CF8;
}

[data-theme="dark"] .form-card__type-badge--db {
  background-color: rgba(13, 148, 136, 0.15);
  color: #5EEAD4;
}

/* === STATUS BADGES dark overrides === */
[data-theme="dark"] .request-status--new {
  background-color: var(--color-primary-light);
  color: #818CF8;
}

[data-theme="dark"] .request-status--in_progress {
  background-color: var(--color-warning-bg);
  color: var(--color-warning);
}

[data-theme="dark"] .request-status--done {
  background-color: var(--color-success-bg);
  color: var(--color-success);
}

[data-theme="dark"] .request-status--rejected {
  background-color: var(--color-error-bg);
  color: var(--color-error);
}

/* === SIDEBAR dark overrides === */
[data-theme="dark"] .sidebar__nav-item--active {
  background-color: var(--color-primary-light);
  color: #818CF8;
  border-color: #6366F1;
}

[data-theme="dark"] .sidebar__nav-item--db {
  color: #5EEAD4;
}

/* === HEADER dark === */
[data-theme="dark"] .header__title-accent {
  color: #818CF8;
}

/* === AUTH PAGE dark === */
[data-theme="dark"] .auth-card {
  background-color: var(--color-bg);
}

[data-theme="dark"] .auth-layout {
  background-color: var(--color-surface);
}

[data-theme="dark"] .auth-tab.active {
  color: #818CF8;
  border-bottom-color: #6366F1;
}

/* === ADMIN BADGE dark === */
[data-theme="dark"] .form-card__type-badge--admin {
  background-color: rgba(124, 58, 237, 0.15);
  color: #A78BFA;
}

[data-theme="dark"] .sidebar__nav-item--admin {
  color: #818CF8;
}

/* === SELECT в тёмной теме === */
[data-theme="dark"] select.input,
[data-theme="dark"] .admin-user-card__select {
  background-color: var(--color-bg);
  color: var(--color-text);
  border-color: var(--color-border);
}

[data-theme="dark"] select.input option {
  background-color: var(--color-bg);
  color: var(--color-text);
}

