/* Dark / light: Bootstrap 5.3 uses data-bs-theme; we extend custom surfaces. */

html[data-theme="auto"] {
  color-scheme: light dark;
}

html[data-bs-theme="dark"] {
  color-scheme: dark;
}

html[data-bs-theme="dark"] body {
  background-color: var(--app-bg, #0b1220);
  color: var(--app-fg, #e2e8f0);
}

html[data-bs-theme="dark"] {
  --app-bg: #0b1220;
  --app-fg: #e2e8f0;
  --clr-bg: #0b1220;
  --surface: #151e2e;
  --surface-soft: #1a2436;
  --border-soft: #2d3b4f;
  --text-soft: #94a3b8;
}

html[data-bs-theme="dark"] .soft-panel,
html[data-bs-theme="dark"] .provider-filter-panel {
  background: var(--surface) !important;
  border-color: var(--border-soft) !important;
  color: var(--app-fg);
}

html[data-bs-theme="dark"] .card {
  background: var(--surface);
  border-color: var(--border-soft);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

html[data-bs-theme="dark"] .card:hover {
  box-shadow: 0 12px 28px rgba(14, 165, 233, 0.12);
}

html[data-bs-theme="dark"] .footer {
  background: var(--surface);
  border-color: var(--border-soft) !important;
  color: var(--text-soft);
}

html[data-bs-theme="dark"] .form-control,
html[data-bs-theme="dark"] .form-select,
html[data-bs-theme="dark"] .searchable-select-input {
  background-color: #1e293b;
  border-color: var(--border-soft);
  color: var(--app-fg);
}

html[data-bs-theme="dark"] .form-control::placeholder {
  color: #64748b;
}

/* Подписи полей: в site.css задано color: #0f172a — на тёмной карточке нечитаемо */
html[data-bs-theme="dark"] .form-label,
html[data-bs-theme="dark"] .col-form-label {
  color: var(--app-fg);
}

html[data-bs-theme="dark"] .form-check-label {
  color: var(--app-fg);
}

html[data-bs-theme="dark"] .input-group-text {
  background: #1e293b;
  border-color: var(--border-soft);
  color: var(--text-soft);
}

html[data-bs-theme="dark"] .dropdown-menu {
  background: var(--surface);
  border: 1px solid var(--border-soft);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.45);
}

html[data-bs-theme="dark"] .dropdown-item {
  color: var(--app-fg);
}

html[data-bs-theme="dark"] .dropdown-item:hover {
  background: rgba(14, 165, 233, 0.15);
}

html[data-bs-theme="dark"] .table {
  --bs-table-color: var(--app-fg);
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--border-soft);
  /* Bootstrap в dark даёт светлую полосу — на ней остаётся светлый текст из --bs-table-color */
  --bs-table-striped-bg: rgba(255, 255, 255, 0.055);
  --bs-table-striped-color: var(--app-fg);
  --bs-table-hover-bg: rgba(14, 165, 233, 0.1);
  --bs-table-hover-color: var(--app-fg);
  --bs-table-active-bg: rgba(14, 165, 233, 0.14);
  --bs-table-active-color: var(--app-fg);
}

html[data-bs-theme="dark"] thead.table-light th {
  background-color: var(--surface-soft) !important;
  color: var(--text-soft) !important;
  border-color: var(--border-soft) !important;
}

html[data-bs-theme="dark"] .table-warning {
  --bs-table-bg: rgba(245, 158, 11, 0.12);
  --bs-table-color: var(--app-fg);
}

html[data-bs-theme="dark"] .modal-content {
  background: var(--surface);
  border-color: var(--border-soft);
  color: var(--app-fg);
}

html[data-bs-theme="dark"] .request-create-address {
  background: linear-gradient(180deg, var(--surface) 0%, #1a2436 100%);
}

html[data-bs-theme="dark"] .address-suggestions {
  background: var(--surface);
  border-color: var(--border-soft);
}

html[data-bs-theme="dark"] .address-suggestion-item {
  color: var(--app-fg);
}

html[data-bs-theme="dark"] .address-suggestion-item:hover,
html[data-bs-theme="dark"] .address-suggestion-item.active {
  background: rgba(14, 165, 233, 0.2);
}

html[data-bs-theme="dark"] .searchable-select-menu {
  background: var(--surface);
  border-color: var(--border-soft);
}

html[data-bs-theme="dark"] .searchable-select-item {
  color: var(--app-fg);
}

html[data-bs-theme="dark"] .searchable-select-item:hover {
  background: rgba(14, 165, 233, 0.2);
}

html[data-bs-theme="dark"] .home-icon-circle--muted {
  background: #1e293b;
}

html[data-bs-theme="dark"] .empty-state .text-dark {
  color: var(--app-fg) !important;
}

/* Ссылки/заголовки на тёмных карточках — без глобального .text-dark (он ломает bg-light и бейджи) */
html[data-bs-theme="dark"] .card a.text-decoration-none.text-dark {
  color: #cbd5e1 !important;
}

html[data-bs-theme="dark"] .card a.text-decoration-none.text-dark:hover {
  color: #7dd3fc !important;
}

/* Бейджи «светлая таблетка + тёмный текст» */
html[data-bs-theme="dark"] .badge.bg-light.text-dark {
  background-color: #e2e8f0 !important;
  color: #0f172a !important;
  border-color: var(--border-soft) !important;
}

/* Непрочитанный ряд в списке чатов: не белая подложка */
html[data-bs-theme="dark"] .soft-panel .d-flex.border-bottom.bg-light {
  background-color: rgba(14, 165, 233, 0.1) !important;
}

html[data-bs-theme="dark"] .alert-light {
  background: rgba(30, 41, 59, 0.85) !important;
  border-color: var(--border-soft) !important;
  color: var(--app-fg) !important;
}

html[data-bs-theme="dark"] .alert-light a {
  color: #7dd3fc;
}

/* Пузырь входящего в чате на тёмном фоне */
html[data-bs-theme="dark"] .chat-msg-incoming {
  background: #1e293b;
  color: var(--app-fg);
  border-color: var(--border-soft);
}

html[data-bs-theme="dark"] a.chat-open-header-name:hover {
  color: #7dd3fc;
}

/* Имя отправителя над входящим пузырём (на тёмной карточке) */
html[data-bs-theme="dark"] .chat-msg-sender {
  color: #94a3b8 !important;
}

/* outline-secondary на тёмных панелях: иначе тёмный текст на тёмном фоне */
html[data-bs-theme="dark"] .btn-outline-secondary {
  color: #cbd5e1;
  border-color: #64748b;
}

html[data-bs-theme="dark"] .btn-outline-secondary:hover,
html[data-bs-theme="dark"] .btn-outline-secondary:focus {
  color: #f8fafc;
  background-color: rgba(148, 163, 184, 0.18);
  border-color: #94a3b8;
}

html[data-bs-theme="dark"] .btn-outline-secondary.active,
html[data-bs-theme="dark"] .btn-outline-secondary:active {
  color: #f8fafc;
  background-color: rgba(148, 163, 184, 0.28);
  border-color: #cbd5e1;
}

html[data-bs-theme="dark"] .app-main-nav {
  background: var(--surface);
  border-bottom-color: var(--border-soft);
}

html[data-bs-theme="dark"] .app-main-nav__link {
  color: #cbd5e1;
}

html[data-bs-theme="dark"] .app-main-nav__link:hover,
html[data-bs-theme="dark"] .app-main-nav__link:focus-visible {
  color: #f1f5f9;
  background: rgba(14, 165, 233, 0.14);
}

html[data-bs-theme="dark"] .app-main-nav__link.is-active {
  color: #7dd3fc;
  background: rgba(14, 165, 233, 0.2);
}

html[data-bs-theme="dark"] .app-main-nav__link--admin {
  color: #fbbf24;
}

html[data-bs-theme="dark"] .app-main-nav__link--admin:hover,
html[data-bs-theme="dark"] .app-main-nav__link--admin:focus-visible {
  color: #fde68a;
  background: rgba(251, 191, 36, 0.12);
}

html[data-bs-theme="dark"] .app-main-nav__link--admin.is-active {
  color: #fde68a;
  background: rgba(251, 191, 36, 0.18);
}

html[data-bs-theme="dark"] .mobile-create-fab {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.45);
}

html[data-bs-theme="dark"] .text-muted {
  color: #94a3b8 !important;
}

html[data-bs-theme="dark"] .alert-success {
  background: rgba(16, 185, 129, 0.15);
  border-color: rgba(16, 185, 129, 0.35);
  color: #a7f3d0;
}

html[data-bs-theme="dark"] .alert-danger {
  background: rgba(239, 68, 68, 0.12);
  border-color: rgba(239, 68, 68, 0.35);
  color: #fecaca;
}

html[data-bs-theme="dark"] .alert-warning {
  background: rgba(245, 158, 11, 0.12);
  border-color: rgba(245, 158, 11, 0.35);
  color: #fde68a;
}

/* Регистрация: блок «Я мастер» — без принудительного bg-light (читаемость в тёмной теме) */
.register-provider-panel {
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(0, 0, 0, 0.08) !important;
}

html[data-bs-theme="dark"] .register-provider-panel {
  background: var(--surface-soft) !important;
  border-color: var(--border-soft) !important;
  color: var(--app-fg);
}

.register-provider-panel__label {
  color: inherit;
}

.register-provider-panel__hint {
  color: var(--bs-secondary-color);
}

html[data-bs-theme="dark"] .register-provider-panel__hint {
  color: var(--text-soft) !important;
}
