/**
 * Светлая / тёмная тема для кабинетов (соискатель, HR, админ).
 * Переключатель: data-theme на <html>, localStorage vb-theme.
 */

html[data-theme="dark"] {
  color-scheme: dark;
  --vb-page-bg: #0f1419;
  --vb-text-primary: #f3f4f6;
  --vb-text-muted: #9ca3af;
  --vb-surface: #1a1f2e;
  --vb-surface-muted: #121820;
  --vb-border: #2d3748;
  --vb-card-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  --vb-card-hover-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
  --bs-body-bg: var(--vb-page-bg);
  --bs-body-color: var(--vb-text-primary);
  --bs-border-color: var(--vb-border);
}

html[data-theme="dark"] body.vb-cabinet-seeker,
html[data-theme="dark"] body.vb-cabinet-recruiter,
html[data-theme="dark"] body.vb-cabinet-admin {
  background: var(--vb-page-bg);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-cabinet-top {
  background: rgba(15, 20, 25, 0.92);
  border-bottom-color: var(--vb-border);
}

html[data-theme="dark"] .vb-cabinet-sidebar {
  background: var(--vb-surface);
  border-right-color: var(--vb-border);
}

html[data-theme="dark"] .vb-cabinet-sidebar .nav-link {
  color: #cbd5e1;
}

html[data-theme="dark"] .vb-cabinet-sidebar .nav-link:hover {
  background: rgba(255, 255, 255, 0.06);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-cabinet-sidebar .nav-link.active {
  background: rgba(var(--vb-brand-rgb), 0.18);
}

html[data-theme="dark"] .vb-cabinet-page-title {
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-cabinet-page-lead,
html[data-theme="dark"] .vb-dash-card p,
html[data-theme="dark"] .vb-dash-widget-meta,
html[data-theme="dark"] .vb-dash-card__stat-hint {
  color: var(--vb-text-muted);
}

html[data-theme="dark"] .vb-dash-card,
html[data-theme="dark"] .vb-cabinet-tg-hint {
  background: var(--vb-surface);
  border-color: var(--vb-border);
  box-shadow: var(--vb-card-shadow);
}

html[data-theme="dark"] .vb-dash-card--featured {
  background: linear-gradient(180deg, var(--vb-surface) 0%, #151b28 100%);
  border-color: rgba(var(--vb-brand-rgb), 0.35);
}

html[data-theme="dark"] .vb-dash-card h2,
html[data-theme="dark"] .vb-dash-widget-stat {
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-dash-profile-panel__block {
  background: var(--vb-surface);
  border-color: var(--vb-border);
  box-shadow: var(--vb-card-shadow);
}

html[data-theme="dark"] .vb-dash-profile-panel__title,
html[data-theme="dark"] .vb-dash-profile-panel__meta,
html[data-theme="dark"] .vb-dash-profile-panel__placeholder {
  color: var(--vb-text-muted);
}

html[data-theme="dark"] .vb-dash-profile-panel__stat,
html[data-theme="dark"] .vb-dash-profile-panel__salary {
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-dash-profile-panel__billing-btn {
  border-top-color: var(--vb-border);
  color: #e5e7eb;
}

html[data-theme="dark"] .vb-btn-cabinet--ghost {
  background: var(--vb-surface-muted);
  border-color: var(--vb-border);
  color: #e5e7eb;
}

html[data-theme="dark"] .vb-btn-cabinet--ghost:hover {
  background: #1f2937;
  border-color: #6b7280;
  color: #fff;
}

/* Шапка: ghost-кнопки из landing.css (Профиль, Выход, переключатель темы) */
html[data-theme="dark"] body.vb-cabinet-seeker .vb-btn-landing--ghost,
html[data-theme="dark"] body.vb-cabinet-recruiter .vb-btn-landing--ghost,
html[data-theme="dark"] body.vb-cabinet-admin .vb-btn-landing--ghost {
  border-color: var(--vb-border);
  color: var(--vb-text-primary);
  background: rgba(255, 255, 255, 0.05);
}

html[data-theme="dark"] body.vb-cabinet-seeker .vb-btn-landing--ghost:hover,
html[data-theme="dark"] body.vb-cabinet-recruiter .vb-btn-landing--ghost:hover,
html[data-theme="dark"] body.vb-cabinet-admin .vb-btn-landing--ghost:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  border-color: #6b7280;
}

html[data-theme="dark"] .vb-theme-toggle {
  color: #fbbf24;
}

html[data-theme="dark"] .vb-theme-toggle .vb-theme-icon-dark {
  color: #e5e7eb;
}

html[data-theme="dark"] .vb-cabinet-top .navbar-brand {
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-lang-switcher__btn {
  color: var(--vb-text-muted);
}

html[data-theme="dark"] .vb-lang-switcher__btn:hover {
  color: var(--vb-text-primary);
  background: rgba(255, 255, 255, 0.06);
}

html[data-theme="dark"] .vb-lang-switcher__btn--active {
  color: #a5b4fc;
  background: rgba(var(--vb-brand-rgb), 0.22);
}

/* Bootstrap outline-кнопки внутри кабинетов */
html[data-theme="dark"] body.vb-cabinet-seeker .btn-outline-dark,
html[data-theme="dark"] body.vb-cabinet-recruiter .btn-outline-dark,
html[data-theme="dark"] body.vb-cabinet-admin .btn-outline-dark,
html[data-theme="dark"] body.vb-cabinet-seeker .btn-outline-secondary,
html[data-theme="dark"] body.vb-cabinet-recruiter .btn-outline-secondary,
html[data-theme="dark"] body.vb-cabinet-admin .btn-outline-secondary {
  color: var(--vb-text-primary);
  border-color: var(--vb-border);
}

html[data-theme="dark"] body.vb-cabinet-seeker .btn-outline-dark:hover,
html[data-theme="dark"] body.vb-cabinet-recruiter .btn-outline-dark:hover,
html[data-theme="dark"] body.vb-cabinet-admin .btn-outline-dark:hover,
html[data-theme="dark"] body.vb-cabinet-seeker .btn-outline-secondary:hover,
html[data-theme="dark"] body.vb-cabinet-recruiter .btn-outline-secondary:hover,
html[data-theme="dark"] body.vb-cabinet-admin .btn-outline-secondary:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
  border-color: #6b7280;
}

html[data-theme="dark"] .vb-cabinet-main .btn-outline-primary {
  color: #93c5fd;
  border-color: rgba(147, 197, 253, 0.45);
}

html[data-theme="dark"] .vb-cabinet-main .btn-outline-primary:hover {
  color: #fff;
  background: rgba(var(--vb-brand-rgb), 0.25);
  border-color: #93c5fd;
}

html[data-theme="dark"] .vb-dash-quick-search input {
  background: var(--vb-surface-muted);
  border-color: var(--vb-border);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-dash-progress {
  background: #374151;
}

html[data-theme="dark"] .vb-cabinet-admin .admin-metric-card,
html[data-theme="dark"] .vb-cabinet-admin .admin-section-card {
  background: var(--vb-surface) !important;
  border-color: var(--vb-border) !important;
  color: var(--vb-text-primary) !important;
}

html[data-theme="dark"] .vb-cabinet-admin .admin-section-card .card-header,
html[data-theme="dark"] .vb-cabinet-admin .admin-metric-card .card-title {
  background: var(--vb-surface) !important;
  color: var(--vb-text-muted) !important;
  border-color: var(--vb-border) !important;
}

html[data-theme="dark"] .vb-cabinet-admin .admin-metric-card .card-text {
  color: var(--vb-text-primary) !important;
}

html[data-theme="dark"] .vb-cabinet-main .card {
  background: var(--vb-surface);
  border-color: var(--vb-border);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-cabinet-main .card-header {
  background: var(--vb-surface);
  border-color: var(--vb-border);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--vb-text-primary);
  --bs-table-border-color: var(--vb-border);
}

html[data-theme="dark"] .text-muted {
  color: var(--vb-text-muted) !important;
}

html[data-theme="dark"] .text-body-secondary,
html[data-theme="dark"] .vb-cabinet-main .text-body-secondary {
  color: var(--vb-text-muted) !important;
}

html[data-theme="dark"] .vb-cabinet-main .list-group-item {
  background-color: var(--vb-surface);
  border-color: var(--vb-border);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-cabinet-main .list-group-item .h6,
html[data-theme="dark"] .vb-cabinet-main .list-group-item h2 {
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-cabinet-main .list-group-item .vb-vacancy-snippet {
  color: var(--vb-text-muted) !important;
}

html[data-theme="dark"] .vb-freelance-search-results,
html[data-theme="dark"] .vb-freelance-search-results a {
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-freelance-search-results a {
  color: #93c5fd;
}

html[data-theme="dark"] .modal-content {
  background: var(--vb-surface);
  color: var(--vb-text-primary);
  border-color: var(--vb-border);
}

html[data-theme="dark"] .modal-header,
html[data-theme="dark"] .modal-footer {
  border-color: var(--vb-border);
}

html[data-theme="dark"] .accordion-item {
  background: var(--vb-surface);
  border-color: var(--vb-border);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .accordion-button {
  background: var(--vb-surface-muted);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .accordion-button:not(.collapsed) {
  background: rgba(99, 102, 241, 0.15);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .accordion-button::after {
  filter: invert(0.85);
}

/* Поля ввода, подписи, placeholder (все кабинеты) */
html[data-theme="dark"] body.vb-cabinet-seeker .form-label,
html[data-theme="dark"] body.vb-cabinet-recruiter .form-label,
html[data-theme="dark"] body.vb-cabinet-admin .form-label {
  color: var(--vb-text-primary);
}

html[data-theme="dark"] body.vb-cabinet-seeker .form-control,
html[data-theme="dark"] body.vb-cabinet-recruiter .form-control,
html[data-theme="dark"] body.vb-cabinet-admin .form-control,
html[data-theme="dark"] body.vb-cabinet-seeker .form-select,
html[data-theme="dark"] body.vb-cabinet-recruiter .form-select,
html[data-theme="dark"] body.vb-cabinet-admin .form-select,
html[data-theme="dark"] body.vb-cabinet-seeker textarea.form-control,
html[data-theme="dark"] body.vb-cabinet-recruiter textarea.form-control,
html[data-theme="dark"] body.vb-cabinet-admin textarea.form-control {
  background-color: var(--vb-surface-muted);
  border-color: var(--vb-border);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] body.vb-cabinet-seeker .form-control:focus,
html[data-theme="dark"] body.vb-cabinet-recruiter .form-control:focus,
html[data-theme="dark"] body.vb-cabinet-admin .form-control:focus,
html[data-theme="dark"] body.vb-cabinet-seeker .form-select:focus,
html[data-theme="dark"] body.vb-cabinet-recruiter .form-select:focus,
html[data-theme="dark"] body.vb-cabinet-admin .form-select:focus {
  background-color: var(--vb-surface-muted);
  border-color: #6366f1;
  color: var(--vb-text-primary);
  box-shadow: 0 0 0 0.2rem rgba(99, 102, 241, 0.28);
}

html[data-theme="dark"] body.vb-cabinet-seeker .form-control::placeholder,
html[data-theme="dark"] body.vb-cabinet-recruiter .form-control::placeholder,
html[data-theme="dark"] body.vb-cabinet-admin .form-control::placeholder {
  color: #9ca3af;
  opacity: 1;
}

html[data-theme="dark"] body.vb-cabinet-seeker .form-control::-webkit-input-placeholder,
html[data-theme="dark"] body.vb-cabinet-recruiter .form-control::-webkit-input-placeholder,
html[data-theme="dark"] body.vb-cabinet-admin .form-control::-webkit-input-placeholder {
  color: #9ca3af;
  opacity: 1;
}

html[data-theme="dark"] body.vb-cabinet-seeker .input-group-text,
html[data-theme="dark"] body.vb-cabinet-recruiter .input-group-text,
html[data-theme="dark"] body.vb-cabinet-admin .input-group-text {
  background: var(--vb-surface);
  border-color: var(--vb-border);
  color: var(--vb-text-muted);
}

html[data-theme="dark"] .vb-cabinet-main .alert-info {
  background: rgba(59, 130, 246, 0.15);
  border-color: #3b82f6;
  color: #dbeafe;
}

html[data-theme="dark"] .vb-cabinet-main .alert-light {
  background: var(--vb-surface);
  border-color: var(--vb-border);
  color: var(--vb-text-muted);
}

html[data-theme="dark"] .vb-cabinet-main .alert-light a {
  color: #93c5fd;
}

html[data-theme="dark"] .vb-cabinet-main .alert-light strong {
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-cabinet-tg-hint {
  color: var(--vb-text-muted);
}

html[data-theme="dark"] .vb-cabinet-tg-hint a {
  color: #93c5fd;
}

html[data-theme="dark"] .vb-cabinet-main .card-title {
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-cabinet-main details summary {
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-cabinet-main details.border-top {
  border-color: var(--vb-border) !important;
}

html[data-theme="dark"] .vb-cabinet-main .bg-body-tertiary {
  background: var(--vb-surface-muted) !important;
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-taxonomy-picker__box {
  background: var(--vb-surface-muted);
  border-color: var(--vb-border);
}

html[data-theme="dark"] .vb-taxonomy-picker__chips {
  border-top-color: var(--vb-border);
}

html[data-theme="dark"] .vb-taxonomy-picker__chip {
  background: rgba(45, 212, 191, 0.18);
  color: #a7f3d0;
}

html[data-theme="dark"] .vb-taxonomy-picker__chip-remove:hover {
  background: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .vb-taxonomy-picker__dropdown {
  background: var(--vb-surface);
  border: 1px solid var(--vb-border);
  box-shadow: var(--vb-card-shadow);
}

html[data-theme="dark"] .vb-taxonomy-picker__dropdown .list-group-item {
  background: var(--vb-surface);
  border-color: var(--vb-border);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-taxonomy-picker__dropdown .list-group-item-action:hover {
  background: rgba(99, 102, 241, 0.15);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-cabinet-main .badge.bg-light.text-dark {
  background: rgba(255, 255, 255, 0.12) !important;
  color: var(--vb-text-primary) !important;
  border: 1px solid var(--vb-border);
}

html[data-theme="dark"] .vb-smart-banner--ok {
  background: linear-gradient(135deg, #14532d 0%, #166534 100%);
  border-color: #22c55e;
  color: #dcfce7;
}

html[data-theme="dark"] .vb-smart-banner--warn {
  background: linear-gradient(135deg, #431407 0%, #7c2d12 100%);
  border-color: #ea580c;
  color: #ffedd5;
}

html[data-theme="dark"] .vb-smart-banner--info {
  background: linear-gradient(135deg, #1e3a5f 0%, #1e40af 100%);
  border-color: #3b82f6;
  color: #dbeafe;
}

/* Переключатель темы */
.vb-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0 !important;
  border-radius: 0.5rem;
}

.vb-theme-toggle .vb-theme-icon-dark {
  display: none;
}

html[data-theme="dark"] .vb-theme-toggle .vb-theme-icon-light {
  display: none;
}

html[data-theme="dark"] .vb-theme-toggle .vb-theme-icon-dark {
  display: inline;
}

/* —— База резюме: тёмная тема и контраст —— */
html[data-theme="dark"] .vb-cabinet-main .breadcrumb {
  --bs-breadcrumb-divider-color: var(--vb-text-muted);
}

html[data-theme="dark"] .vb-cabinet-main .breadcrumb-item,
html[data-theme="dark"] .vb-cabinet-main .breadcrumb-item a {
  color: var(--vb-text-muted);
}

html[data-theme="dark"] .vb-cabinet-main .breadcrumb-item a:hover {
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-cabinet-main .breadcrumb-item.active {
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-cabinet-main code {
  color: #c4b5fd;
  background: rgba(255, 255, 255, 0.08);
  padding: 0.1em 0.35em;
  border-radius: 0.25rem;
}

.vb-cabinet-main .vb-log-pre {
  max-height: 400px;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-word;
  font-size: 0.875rem;
  padding: 1rem;
  margin-bottom: 0;
  border-radius: 0.375rem;
  border: 1px solid #dee2e6;
  background: #f8f9fa;
  color: #212529;
}

html[data-theme="dark"] .vb-cabinet-main .vb-log-pre {
  background: var(--vb-surface-muted);
  color: var(--vb-text-primary);
  border-color: var(--vb-border);
  scrollbar-color: var(--vb-border) transparent;
}

html[data-theme="dark"] .vb-resume-db-folder.card {
  background: var(--vb-surface);
  border-color: var(--vb-border);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-resume-db-folder:hover {
  border-color: #6366f1;
  background: rgba(99, 102, 241, 0.12);
}

html[data-theme="dark"] .vb-resume-db-folder__icon {
  color: #a5b4fc;
}

html[data-theme="dark"] .vb-resume-db-folder__count {
  color: var(--vb-text-muted);
}

html[data-theme="dark"] .vb-resume-db-list .list-group-item {
  background: var(--vb-surface);
  border-color: var(--vb-border);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-resume-db-list .list-group-item-action:hover,
html[data-theme="dark"] .vb-resume-db-list .list-group-item-action:focus {
  background: rgba(99, 102, 241, 0.15);
  color: var(--vb-text-primary);
  border-color: var(--vb-border);
}

html[data-theme="dark"] .vb-resume-db-list .list-group-item-action:active,
html[data-theme="dark"] .vb-resume-db-list .list-group-item-action.active {
  background: rgba(99, 102, 241, 0.22);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-resume-db-row__title,
html[data-theme="dark"] .vb-resume-db-row__position {
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-resume-db-row__meta {
  color: var(--vb-text-muted) !important;
}

html[data-theme="dark"] .vb-resume-db-skill {
  background: rgba(255, 255, 255, 0.1);
  color: var(--vb-text-primary);
  border: 1px solid var(--vb-border);
}

html[data-theme="dark"] .vb-resume-db-badge--import {
  background: #475569;
  color: #f1f5f9;
}

html[data-theme="dark"] .vb-resume-db-badge--bot {
  background: #166534;
  color: #dcfce7;
}

html[data-theme="dark"] .vb-resume-db-pagination .page-link {
  background: var(--vb-surface);
  border-color: var(--vb-border);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] .vb-resume-db-pagination .page-item.active .page-link {
  background: #4f46e5;
  border-color: #4f46e5;
  color: #fff;
}

html[data-theme="dark"] .vb-resume-db-pagination .page-item.disabled .page-link {
  background: var(--vb-surface);
  color: var(--vb-text-muted);
}

html[data-theme="dark"] .vb-resume-db-empty.alert-info {
  background: rgba(59, 130, 246, 0.15);
  border-color: #3b82f6;
  color: #dbeafe;
}

/* Светлая тема: список базы */
.vb-resume-db-folder {
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.vb-resume-db-folder:hover {
  border-color: #4f46e5;
  box-shadow: 0 4px 14px rgba(79, 70, 229, 0.12);
}

.vb-resume-db-folder__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.75rem;
  background: rgba(79, 70, 229, 0.1);
  color: #4f46e5;
  flex-shrink: 0;
}

.vb-resume-db-folder__title {
  color: inherit;
}

.vb-resume-db-row__title {
  font-weight: 600;
}

.vb-resume-db-skill {
  background: rgba(79, 70, 229, 0.08);
  color: #3730a3;
  font-weight: 500;
  margin-right: 0.25rem;
  margin-bottom: 0.25rem;
}

html[data-theme="dark"] .vb-cabinet-main .list-group-item-action {
  --bs-list-group-action-hover-bg: rgba(99, 102, 241, 0.15);
  --bs-list-group-action-active-bg: rgba(99, 102, 241, 0.22);
  --bs-list-group-action-hover-color: var(--vb-text-primary);
  --bs-list-group-action-active-color: var(--vb-text-primary);
}

html[data-theme="dark"] a.vb-dash-card--clickable .vb-dash-card__go {
  color: var(--vb-text-muted);
  background: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] a.vb-dash-card--clickable:hover .vb-dash-card__go {
  color: #a5b4fc;
  background: rgba(99, 102, 241, 0.25);
}

/* Кастомный file input: i18n + контраст в тёмной теме (нативный «Выберите файл» не переводится). */
.vb-file-input {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  padding: 0.35rem 0.5rem;
  border: 1px solid var(--bs-border-color, #dee2e6);
  border-radius: var(--bs-border-radius-sm, 0.25rem);
  background: var(--bs-body-bg, #fff);
  min-height: calc(1.5em + 0.5rem + 2px);
}

.vb-file-input__label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  flex: 1 1 8rem;
}

.vb-file-input__btn {
  flex-shrink: 0;
  color: var(--bs-primary, #0d6efd);
  border-color: var(--bs-primary, #0d6efd);
  background-color: transparent;
}

.vb-file-input__btn:hover,
.vb-file-input__btn:focus {
  color: #fff;
  background-color: var(--bs-primary, #0d6efd);
  border-color: var(--bs-primary, #0d6efd);
}

html[data-theme="dark"] body.vb-cabinet-seeker .vb-file-input,
html[data-theme="dark"] body.vb-cabinet-recruiter .vb-file-input,
html[data-theme="dark"] body.vb-cabinet-admin .vb-file-input {
  background: var(--vb-surface-muted, #121820);
  border-color: var(--vb-border, #2d3748);
}

html[data-theme="dark"] body.vb-cabinet-seeker .vb-file-input__btn,
html[data-theme="dark"] body.vb-cabinet-recruiter .vb-file-input__btn,
html[data-theme="dark"] body.vb-cabinet-admin .vb-file-input__btn {
  color: #c7d2fe;
  border-color: #818cf8;
  background-color: rgba(99, 102, 241, 0.12);
}

html[data-theme="dark"] body.vb-cabinet-seeker .vb-file-input__btn:hover,
html[data-theme="dark"] body.vb-cabinet-recruiter .vb-file-input__btn:hover,
html[data-theme="dark"] body.vb-cabinet-admin .vb-file-input__btn:hover,
html[data-theme="dark"] body.vb-cabinet-seeker .vb-file-input__btn:focus,
html[data-theme="dark"] body.vb-cabinet-recruiter .vb-file-input__btn:focus,
html[data-theme="dark"] body.vb-cabinet-admin .vb-file-input__btn:focus {
  color: #fff;
  background-color: #6366f1;
  border-color: #6366f1;
}

html[data-theme="dark"] body.vb-cabinet-seeker .vb-file-input__label,
html[data-theme="dark"] body.vb-cabinet-recruiter .vb-file-input__label,
html[data-theme="dark"] body.vb-cabinet-admin .vb-file-input__label {
  color: var(--vb-text-muted, #9ca3af);
}

html[data-theme="dark"] body.vb-cabinet-seeker .vb-profile-avatar-hint,
html[data-theme="dark"] body.vb-cabinet-recruiter .vb-profile-avatar-hint,
html[data-theme="dark"] body.vb-cabinet-admin .vb-profile-avatar-hint,
html[data-theme="dark"] body.vb-cabinet-seeker .form-text,
html[data-theme="dark"] body.vb-cabinet-recruiter .form-text,
html[data-theme="dark"] body.vb-cabinet-admin .form-text {
  color: var(--vb-text-muted, #9ca3af) !important;
}

/* Billing: кнопка «Pay» / «Оплатить» в таблице тарифов */
html[data-theme="dark"] body.vb-cabinet-recruiter .vb-billing-pay-btn,
html[data-theme="dark"] body.vb-cabinet-seeker .vb-billing-pay-btn {
  color: #e0e7ff;
  border-color: #818cf8;
  background-color: rgba(99, 102, 241, 0.2);
}

html[data-theme="dark"] body.vb-cabinet-recruiter .vb-billing-pay-btn:hover,
html[data-theme="dark"] body.vb-cabinet-seeker .vb-billing-pay-btn:hover {
  color: #fff;
  background-color: #6366f1;
  border-color: #6366f1;
}

/* —— Публичные страницы (base_public): тёмная тема как на лендинге —— */
body.vb-public {
  --vb-public-bg: #f7f9fc;
  background: var(--vb-public-bg);
  color: #101828;
}

html[data-theme="dark"] body.vb-public {
  background: var(--vb-page-bg);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] body.vb-public .public-nav {
  background-color: rgba(15, 20, 25, 0.92) !important;
  border-bottom-color: var(--vb-border) !important;
}

html[data-theme="dark"] body.vb-public .public-nav .navbar-brand {
  color: var(--vb-text-primary);
}

html[data-theme="dark"] body.vb-public .public-nav .nav-link {
  color: var(--vb-text-muted);
}

html[data-theme="dark"] body.vb-public .public-nav .nav-link:hover,
html[data-theme="dark"] body.vb-public .public-nav .nav-link:focus {
  color: var(--vb-text-primary);
}

html[data-theme="dark"] body.vb-public .navbar-toggler {
  border-color: var(--vb-border);
}

html[data-theme="dark"] body.vb-public .navbar-toggler-icon {
  filter: invert(1) grayscale(100%) brightness(200%);
}

html[data-theme="dark"] body.vb-public .dropdown-menu {
  background: var(--vb-surface);
  border-color: var(--vb-border);
}

html[data-theme="dark"] body.vb-public .dropdown-item {
  color: var(--vb-text-primary);
}

html[data-theme="dark"] body.vb-public .dropdown-item:hover,
html[data-theme="dark"] body.vb-public .dropdown-item:focus {
  background: var(--vb-surface-muted);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] body.vb-public footer.bg-light {
  background: var(--vb-surface-muted) !important;
  border-top-color: var(--vb-border) !important;
}

html[data-theme="dark"] body.vb-public footer .text-muted,
html[data-theme="dark"] body.vb-public footer a.text-muted {
  color: var(--vb-text-muted) !important;
}

html[data-theme="dark"] body.vb-public footer a.text-muted:hover {
  color: var(--vb-text-primary) !important;
}

html[data-theme="dark"] body.vb-public .public-form-card,
html[data-theme="dark"] body.vb-public .card.public-form-card {
  background: var(--vb-surface);
  border: 1px solid var(--vb-border);
  box-shadow: var(--vb-card-shadow);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] body.vb-public .cookie-notice-bar {
  background: rgba(15, 20, 25, 0.98);
  border-top-color: var(--vb-border);
  box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] body.vb-public .cookie-notice-bar p,
html[data-theme="dark"] body.vb-public .cookie-notice-bar .small {
  color: var(--vb-text-muted);
}

html[data-theme="dark"] body.vb-public .cookie-notice-bar a {
  color: #93c5fd;
}

html[data-theme="dark"] body.vb-public .vb-btn-landing--ghost {
  border-color: var(--vb-border);
  color: #e5e7eb;
}

html[data-theme="dark"] body.vb-public .vb-btn-landing--ghost:hover {
  background: var(--vb-surface);
  color: #fff;
}

html[data-theme="dark"] body.vb-public .form-label,
html[data-theme="dark"] body.vb-public .form-check-label,
html[data-theme="dark"] body.vb-public legend.form-label {
  color: var(--vb-text-primary);
}

html[data-theme="dark"] body.vb-public .form-check-input {
  background-color: var(--vb-surface-muted);
  border-color: var(--vb-border);
}

html[data-theme="dark"] body.vb-public .form-check-input:checked {
  background-color: #6366f1;
  border-color: #6366f1;
}

html[data-theme="dark"] body.vb-public .form-control,
html[data-theme="dark"] body.vb-public .form-select,
html[data-theme="dark"] body.vb-public textarea.form-control {
  background-color: var(--vb-surface-muted);
  border-color: var(--vb-border);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] body.vb-public .form-control:focus,
html[data-theme="dark"] body.vb-public .form-select:focus {
  background-color: var(--vb-surface-muted);
  border-color: #6366f1;
  color: var(--vb-text-primary);
  box-shadow: 0 0 0 0.2rem rgba(99, 102, 241, 0.28);
}

html[data-theme="dark"] body.vb-public .form-control::placeholder {
  color: #9ca3af;
  opacity: 1;
}

html[data-theme="dark"] body.vb-public .form-control::-webkit-input-placeholder {
  color: #9ca3af;
  opacity: 1;
}

html[data-theme="dark"] body.vb-public .form-text {
  color: var(--vb-text-muted);
}

html[data-theme="dark"] body.vb-public .bg-light {
  background-color: var(--vb-surface-muted) !important;
  color: var(--vb-text-primary);
  border-color: var(--vb-border) !important;
}

html[data-theme="dark"] body.vb-public .text-muted {
  color: var(--vb-text-muted) !important;
}

html[data-theme="dark"] body.vb-public a.vb-link-brand {
  color: #93c5fd;
}

html[data-theme="dark"] body.vb-public a.vb-link-brand:hover {
  color: #bfdbfe;
}

html[data-theme="dark"] body.vb-public .vb-auth-divider::before,
html[data-theme="dark"] body.vb-public .vb-auth-divider::after {
  border-bottom-color: var(--vb-border);
}

html[data-theme="dark"] body.vb-public .vb-auth-divider span {
  color: var(--vb-text-muted);
}

html[data-theme="dark"] body.vb-public .btn-secondary {
  background-color: var(--vb-surface-muted);
  border-color: var(--vb-border);
  color: var(--vb-text-primary);
}

html[data-theme="dark"] body.vb-public .btn-secondary:hover {
  background-color: var(--vb-surface);
  border-color: var(--vb-border);
  color: #fff;
}

html[data-theme="dark"] body.vb-public .alert-danger {
  background: rgba(239, 68, 68, 0.15);
  border-color: #ef4444;
  color: #fecaca;
}

html[data-theme="dark"] body.vb-public .alert-info {
  background: rgba(59, 130, 246, 0.15);
  border-color: #3b82f6;
  color: #dbeafe;
}
