/**
 * Тёмная тема — дополнительные экраны и Bootstrap-компоненты.
 * Токены: [data-theme="dark"] в style.css. Подключать после style.css.
 */
[data-theme="dark"] {
    --bs-body-bg: var(--light);
    --bs-tertiary-bg: var(--surface-raised);
    --bs-secondary-bg: var(--surface-raised);
    --bs-light: var(--surface-raised);
    --bs-dark: var(--dark);
    --bs-link-color: #93c5fd;
    --bs-link-hover-color: #bfdbfe;
    --bs-btn-close-filter: invert(1) grayscale(100%);
}

/* Bootstrap utilities */
[data-theme="dark"] .bg-white,
[data-theme="dark"] .bg-body,
[data-theme="dark"] .card-footer.bg-white {
    background-color: var(--surface) !important;
    color: var(--dark);
}

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

[data-theme="dark"] .link-dark,
[data-theme="dark"] .link-body-emphasis {
    color: var(--dark) !important;
}

[data-theme="dark"] .btn-light {
    background: var(--surface-raised);
    border-color: #475569;
    color: var(--dark);
}

[data-theme="dark"] .btn-light:hover {
    background: #334155;
    color: #f8fafc;
}

[data-theme="dark"] .btn-outline-light {
    border-color: #64748b;
    color: #e2e8f0;
}

[data-theme="dark"] .btn-close {
    filter: var(--bs-btn-close-filter);
}

[data-theme="dark"] .page-link {
    background: var(--surface);
    border-color: #334155;
    color: var(--dark);
}

[data-theme="dark"] .page-item.active .page-link {
    background: #1e3a8a;
    border-color: #3b82f6;
    color: #f8fafc;
}

[data-theme="dark"] .page-item.disabled .page-link {
    background: var(--surface-raised);
    color: #64748b;
}

[data-theme="dark"] hr {
    border-color: #334155;
    opacity: 1;
}

[data-theme="dark"] pre,
[data-theme="dark"] code {
    background: var(--surface-raised);
    color: #e2e8f0;
}

[data-theme="dark"] .form-check-input {
    background-color: var(--surface-raised);
    border-color: #64748b;
}

[data-theme="dark"] .form-check-input:checked {
    background-color: #2563eb;
    border-color: #2563eb;
}

[data-theme="dark"] .accordion-item,
[data-theme="dark"] .accordion-button {
    background: var(--surface);
    color: var(--dark);
}

[data-theme="dark"] .accordion-button:not(.collapsed) {
    background: var(--surface-raised);
    color: var(--dark);
}

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

[data-theme="dark"] .offcanvas,
[data-theme="dark"] .toast,
[data-theme="dark"] .popover {
    background: var(--surface);
    color: var(--dark);
    border-color: #334155;
}

[data-theme="dark"] .popover-header {
    background: var(--surface-raised);
    color: var(--dark);
    border-bottom-color: #334155;
}

[data-theme="dark"] .nav-tabs .nav-link {
    color: var(--gray);
}

[data-theme="dark"] .nav-tabs .nav-link.active {
    background: var(--surface);
    color: var(--dark);
    border-color: #334155 #334155 var(--surface);
}

/* Уведомления */
[data-theme="dark"] .notify-drawer__panel {
    background: var(--surface);
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.45);
}

[data-theme="dark"] .notify-drawer__header {
    border-bottom-color: #334155;
}

[data-theme="dark"] .notify-drawer__title {
    color: var(--dark);
}

[data-theme="dark"] .notify-item {
    background: var(--surface-raised);
    border-color: #334155;
    color: var(--dark);
}

[data-theme="dark"] .notify-item--unread {
    background: #422006;
    border-color: #854d0e;
}

[data-theme="dark"] .notification-row.is-clickable:hover {
    background: #273449;
}

/* Чаты */
[data-theme="dark"] .chat-compose {
    background: var(--surface-raised);
    border-color: #334155;
}

[data-theme="dark"] .chat-compose-attach {
    background: var(--surface);
    border-color: #475569;
    color: var(--gray);
}

[data-theme="dark"] .chat-compose-attach--active,
[data-theme="dark"] .chat-compose-attach:hover {
    background: rgba(30, 58, 138, 0.35);
    border-color: #60a5fa;
    color: #93c5fd;
}

[data-theme="dark"] .chat-compose-input {
    background: var(--surface);
    color: var(--dark);
    border-color: #475569;
}

[data-theme="dark"] .chat-pinned-strip,
[data-theme="dark"] .foreman-pinned-strip,
[data-theme="dark"] .chat-forward-sheet__panel .card {
    background: var(--surface-raised) !important;
    color: var(--dark);
}

[data-theme="dark"] .chat-sender-name {
    color: #e2e8f0;
}

[data-theme="dark"] .chat-bubble--mine {
    background: rgba(30, 58, 138, 0.4);
    color: #f1f5f9;
}

[data-theme="dark"] .chat-bubble-text {
    color: inherit;
}

[data-theme="dark"] .chat-bubble--selected {
    outline-color: #60a5fa;
    background: rgba(59, 130, 246, 0.15);
}

[data-theme="dark"] .chat-thread-header {
    background: var(--surface-raised);
    border-color: #334155;
}

[data-theme="dark"] .support-chat-card {
    border-color: #334155;
}

[data-theme="dark"] .support-chat-card__footer {
    background: var(--surface-raised);
    border-top-color: #334155;
}

[data-theme="dark"] .chat-forward-sheet__panel {
    background: var(--surface);
    color: var(--dark);
}

/* Виджет Михалыча */
[data-theme="dark"] .foreman-panel {
    background: var(--surface);
    border-color: #334155;
    color: var(--dark);
}

[data-theme="dark"] .foreman-panel-alert {
    background: #422006;
    color: #fde68a;
}

[data-theme="dark"] .foreman-compose,
[data-theme="dark"] .foreman-panel-footer {
    background: var(--surface-raised);
    border-color: #334155;
}

/* Каталог и фильтры */
[data-theme="dark"] .directory-filters,
[data-theme="dark"] .directory-card {
    background: var(--surface);
    border-color: #334155;
}

[data-theme="dark"] .directory-role-group .directory-role-btn {
    background: var(--surface);
    color: #93c5fd !important;
    border-color: #60a5fa;
}

[data-theme="dark"] .directory-role-group .btn-check:checked + .directory-role-btn {
    background: #1e3a8a;
    color: #f8fafc !important;
    border-color: #3b82f6;
}

[data-theme="dark"] .directory-role-group .directory-role-btn:hover {
    background: rgba(30, 58, 138, 0.35);
    color: #bfdbfe !important;
}

/* Тендеры и проекты */
[data-theme="dark"] .tenders-hub-card {
    background: var(--surface);
    border-color: #334155;
}

[data-theme="dark"] .tenders-hub-card__title a,
[data-theme="dark"] .tenders-hub-card__price {
    color: var(--dark);
}

[data-theme="dark"] .tender-type-card {
    background: var(--surface);
    border-color: #334155;
    color: var(--dark);
}

[data-theme="dark"] .tender-type-card--materials .tender-type-card__badge {
    background: #1e3a8a;
    color: #bfdbfe;
}

[data-theme="dark"] .tender-type-card--works .tender-type-card__badge {
    background: #064e3b;
    color: #6ee7b7;
}

[data-theme="dark"] .project-card {
    border-color: #334155;
}

[data-theme="dark"] .project-inline-pick--materials.is-selected {
    background: rgba(30, 58, 138, 0.35);
    color: #bfdbfe;
    border-color: #60a5fa;
}

[data-theme="dark"] .project-inline-pick--works.is-selected {
    background: rgba(6, 78, 59, 0.45);
    color: #6ee7b7;
    border-color: #10b981;
}

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

[data-theme="dark"] .feature-card,
[data-theme="dark"] .calc-card,
[data-theme="dark"] .roles-strip .role-card,
[data-theme="dark"] .auth-select-card {
    background: var(--surface) !important;
    color: var(--dark);
    border-color: #334155;
}

[data-theme="dark"] .calculator-section .calc-tab-btn:not(.active) {
    background: var(--surface);
    color: var(--gray);
    border-color: #334155;
}

[data-theme="dark"] .calculator-section .calc-tab-btn.active,
[data-theme="dark"] .calculator-section .calc-tab-btn.active:hover {
    background: var(--surface-raised);
    color: var(--dark);
    border-color: #475569;
}

[data-theme="dark"] .foreman-panel-form--page {
    border-top-color: #334155;
}

/* Лендинг / калькулятор */
[data-theme="dark"] .landing-mikhalych-fold summary,
[data-theme="dark"] .landing-partners-strip {
    color: var(--dark);
}

[data-theme="dark"] .site-nav-toggler {
    border-color: #475569;
    color: #e2e8f0;
}

[data-theme="dark"] .site-nav-toggler__icon span {
    background: #e2e8f0;
}

[data-theme="dark"] .table-scroll .table thead th {
    background: var(--surface-raised);
}

[data-theme="dark"] .site-clickable-row,
[data-theme="dark"] .project-list-row,
[data-theme="dark"] .tenders-hub-row {
    color: var(--dark);
}

[data-theme="dark"] .stage-pick-link,
[data-theme="dark"] a.stage-pick-link {
    color: var(--dark) !important;
}

[data-theme="dark"] .bg-success-subtle {
    background: rgba(16, 185, 129, 0.15) !important;
    color: #6ee7b7;
}

[data-theme="dark"] .tender-row-best .tender-price-value {
    color: #6ee7b7;
}

[data-theme="dark"] .assistant-chat-card {
    background: var(--surface);
    border-color: #334155;
}

[data-theme="dark"] .guest-mikhalych-home .foreman-msg-user .foreman-bubble {
    background: #1e40af;
}

/* Иконки */
[data-theme="dark"] .chat-list-item__type .icon {
    color: var(--gray);
}

[data-theme="dark"] .calendar-status-icon--wait {
    color: #94a3b8;
}

[data-theme="dark"] .chat-list-item--unread {
    background-color: rgba(59, 130, 246, 0.12);
    box-shadow: inset 3px 0 0 #3b82f6;
}
[data-theme="dark"] .chat-list-item--unread:hover {
    background-color: rgba(59, 130, 246, 0.18);
}
[data-theme="dark"] .chat-list-title--unread {
    color: #e2e8f0;
}
[data-theme="dark"] .chat-bubble--unread:not(.chat-bubble--mine) .chat-bubble-inner {
    background: rgba(59, 130, 246, 0.12);
    border-color: #334155;
}
