/**
 * Дополнительные правки тёмной темы для страниц
 * с жёстко заданными светлыми цветами.
 */

html[data-theme="dark"] {
    --fc-page-bg-color: var(--light);
    --fc-neutral-bg-color: var(--white);
    --fc-neutral-text-color: var(--text-muted);
    --fc-border-color: var(--border);
    --fc-button-bg-color: var(--surface-2);
    --fc-button-border-color: var(--border);
    --fc-button-text-color: var(--text);
    --fc-button-hover-bg-color: #334155;
    --fc-button-hover-border-color: #475569;
    --fc-button-active-bg-color: var(--primary);
    --fc-button-active-border-color: var(--primary);
    --fc-today-bg-color: rgba(59, 130, 246, 0.16);
    --fc-list-event-hover-bg-color: rgba(59, 130, 246, 0.12);
    --fc-event-border-color: transparent;
}

html[data-theme="dark"] body.login-page {
    background: linear-gradient(145deg, #0b1220 0%, #152033 55%, #0f1a2b 100%);
}

html[data-theme="dark"] .login-header h1 {
    color: var(--dark);
}

/* Карточки / фильтры / словари */
html[data-theme="dark"] .card,
html[data-theme="dark"] .filters-card,
html[data-theme="dark"] .dictionary-header,
html[data-theme="dark"] .calendar-card,
html[data-theme="dark"] .events-tab-card,
html[data-theme="dark"] .modal-content {
    background: var(--white);
    color: var(--text);
    border-color: var(--border);
}

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

html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] .card-title,
html[data-theme="dark"] .dictionary-header h1 {
    color: var(--dark);
}

/* Списки и таблицы заявок / оборудования */
html[data-theme="dark"] .events-list-row:hover,
html[data-theme="dark"] tr.is-focused td {
    background: rgba(59, 130, 246, 0.1);
}

html[data-theme="dark"] body.page-equipment-list .equipment-row:hover,
html[data-theme="dark"] body.page-equipment-list .equipment-row:hover td {
    background: transparent !important;
}

html[data-theme="dark"] .events-under-question-badge {
    background: rgba(148, 163, 184, 0.18);
    color: #cbd5e1;
}

html[data-theme="dark"] .events-completed-badge {
    background: rgba(52, 211, 153, 0.16);
    color: #6ee7b7;
}

html[data-theme="dark"] .events-type-badge {
    background: rgba(59, 130, 246, 0.18);
    color: #93c5fd;
}

/* Календарь */
html[data-theme="dark"] body.page-events-calendar .calendar-filter-btn:not(.calendar-owner-filter-btn) {
    background: var(--surface-2);
    border-color: var(--border);
    color: var(--text);
}

html[data-theme="dark"] body.page-events-calendar .calendar-filter-btn.is-active:not(.calendar-owner-filter-btn) {
    background: rgba(59, 130, 246, 0.22);
    border-color: rgba(59, 130, 246, 0.45);
    color: #dbeafe;
}

html[data-theme="dark"] body.page-events-calendar .calendar-owner-filter-btn,
html[data-theme="dark"] body.page-events-list .calendar-owner-filter-btn {
    background: transparent;
    border-color: var(--owner-color, #64748b);
    color: var(--owner-color, #94a3b8);
}

html[data-theme="dark"] body.page-events-calendar .calendar-owner-filter-btn.is-active,
html[data-theme="dark"] body.page-events-list .calendar-owner-filter-btn.is-active {
    background: var(--owner-color, #64748b);
    border-color: var(--owner-color, #64748b);
    color: #fff;
}

html[data-theme="dark"] body.page-events-calendar .fc .fc-col-header-cell-cushion,
html[data-theme="dark"] body.page-events-calendar .fc .fc-daygrid-day-number {
    color: var(--text);
}

html[data-theme="dark"] body.page-events-calendar .fc .fc-day-other .fc-daygrid-day-number {
    color: var(--text-muted);
    opacity: 0.7;
}

html[data-theme="dark"] body.page-events-calendar .fc .fc-day-sat .fc-daygrid-day-number,
html[data-theme="dark"] body.page-events-calendar .fc .fc-day-sun .fc-daygrid-day-number,
html[data-theme="dark"] body.page-events-calendar .fc .fc-day-sat .fc-col-header-cell-cushion,
html[data-theme="dark"] body.page-events-calendar .fc .fc-day-sun .fc-col-header-cell-cushion,
html[data-theme="dark"] body.page-events-calendar .fc th.fc-day-sat .fc-col-header-cell-cushion,
html[data-theme="dark"] body.page-events-calendar .fc th.fc-day-sun .fc-col-header-cell-cushion {
    color: #f87171;
}

html[data-theme="dark"] body.page-events-calendar.calendar-week-grid-4 .calendar-week-day-head {
    color: var(--text);
    background: rgba(36, 50, 71, 0.95);
    border-bottom-color: var(--border);
}

html[data-theme="dark"] body.page-events-calendar.calendar-week-grid-4 .calendar-week-day-head.is-weekend {
    color: #f87171;
}

html[data-theme="dark"] body.page-events-calendar .calendar-week-alt {
    background: rgba(148, 163, 184, 0.05);
}

html[data-theme="dark"] body.page-events-calendar .fc-theme-standard td,
html[data-theme="dark"] body.page-events-calendar .fc-theme-standard th,
html[data-theme="dark"] body.page-events-calendar .fc-theme-standard .fc-scrollgrid {
    border-color: var(--border);
}

/* Вкладки и формы заявок */
html[data-theme="dark"] .events-tabs-nav,
html[data-theme="dark"] .events-tab-link {
    border-color: var(--border);
    color: var(--text-muted);
}

html[data-theme="dark"] .events-tab-link.is-active {
    color: var(--dark);
    background: var(--white);
    border-color: var(--border);
}

html[data-theme="dark"] .field-hint,
html[data-theme="dark"] .help-text {
    color: var(--text-muted);
}

html[data-theme="dark"] .event-meta-grid,
html[data-theme="dark"] .event-info-block,
html[data-theme="dark"] .estimate-panel,
html[data-theme="dark"] .personnel-panel {
    background: var(--white);
    border-color: var(--border);
    color: var(--text);
}

/* Настройки / админка */
html[data-theme="dark"] .settings-nav a,
html[data-theme="dark"] .settings-section,
html[data-theme="dark"] .settings-card {
    background: var(--white);
    border-color: var(--border);
    color: var(--text);
}

html[data-theme="dark"] input[type="date"],
html[data-theme="dark"] input[type="time"],
html[data-theme="dark"] input[type="datetime-local"],
html[data-theme="dark"] input[type="number"],
html[data-theme="dark"] input[type="search"],
html[data-theme="dark"] input[type="text"],
html[data-theme="dark"] input[type="password"],
html[data-theme="dark"] input[type="email"],
html[data-theme="dark"] input[type="tel"],
html[data-theme="dark"] textarea,
html[data-theme="dark"] select {
    color: var(--text);
    background-color: var(--input-bg);
    border-color: var(--border);
}

/* Нативные select в фильтрах календаря/списка: тёмный popup со светлым текстом */
html[data-theme="dark"] body.page-events-calendar .calendar-filter-select,
html[data-theme="dark"] body.page-events-list .calendar-filter-select {
    background: var(--white);
    border-color: var(--border);
    color: var(--text-muted);
}

html[data-theme="dark"] body.page-events-calendar .calendar-filter-select.is-active,
html[data-theme="dark"] body.page-events-list .calendar-filter-select.is-active {
    background: rgba(59, 130, 246, 0.16);
    border-color: rgba(96, 165, 250, 0.45);
    color: var(--dark);
}

html[data-theme="dark"] body.page-events-calendar .calendar-filter-select select,
html[data-theme="dark"] body.page-events-list .calendar-filter-select select {
    color: var(--text);
    background-color: var(--input-bg);
    color-scheme: dark;
}

html[data-theme="dark"] body.page-events-calendar .calendar-filter-select select option,
html[data-theme="dark"] body.page-events-list .calendar-filter-select select option {
    color: var(--text);
    background-color: var(--input-bg);
}

html[data-theme="dark"] ::placeholder {
    color: var(--text-muted);
    opacity: 0.85;
}

/* Контекстное меню календаря */
html[data-theme="dark"] .calendar-context-menu {
    background: var(--white);
    border-color: var(--border);
    color: var(--text);
    box-shadow: var(--shadow-lg);
}

html[data-theme="dark"] .calendar-context-menu-item:hover {
    background: rgba(59, 130, 246, 0.14);
}

/* Блок деталей «Где находится» (аренда / ремонт / выдача) */
html[data-theme="dark"] .equipment-status-details {
    background: var(--light);
    border-color: var(--border);
    color: var(--text);
}

html[data-theme="dark"] .equipment-status-panel-title {
    color: var(--dark);
}

/* Выбор сотрудника / контакта / площадки — подсветка в списке поиска */
html[data-theme="dark"] .equipment-elba-search-results {
    background: var(--white);
    border-color: var(--border);
    box-shadow: var(--shadow);
}

html[data-theme="dark"] .equipment-elba-result {
    background: var(--white);
    border-bottom-color: var(--border);
    color: var(--text);
}

html[data-theme="dark"] .equipment-elba-result:hover,
html[data-theme="dark"] .equipment-elba-result:focus-visible,
html[data-theme="dark"] .equipment-elba-result.is-keyboard-focus {
    background: rgba(59, 130, 246, 0.22);
    outline: none;
}

html[data-theme="dark"] .equipment-elba-result strong {
    color: var(--dark);
}

html[data-theme="dark"] .equipment-elba-result span {
    color: var(--text-muted);
}

html[data-theme="dark"] .equipment-elba-selected {
    background: var(--white);
    border-color: var(--border);
    color: var(--text);
}

/* Платежи / расчётные листы — общие поверхности */
html[data-theme="dark"] .payslip-card,
html[data-theme="dark"] .payslip-section,
html[data-theme="dark"] .employee-payments-card,
html[data-theme="dark"] .elba-payments-card {
    background: var(--white);
    border-color: var(--border);
    color: var(--text);
}

/* Жёстко светлые поверхности на ключевых экранах */
html[data-theme="dark"] .events-list-toolbar,
html[data-theme="dark"] .events-view-header,
html[data-theme="dark"] .events-view-actions,
html[data-theme="dark"] .event-form-header,
html[data-theme="dark"] .calendar-page-header,
html[data-theme="dark"] .estimate-compose,
html[data-theme="dark"] .estimate-history-card,
html[data-theme="dark"] .estimate-totals,
html[data-theme="dark"] .event-info-section,
html[data-theme="dark"] .event-my-note,
html[data-theme="dark"] .settings-panel,
html[data-theme="dark"] .settings-block,
html[data-theme="dark"] .employee-cars-list {
    background: var(--surface-2);
    border-color: var(--border);
    color: var(--text);
}
html[data-theme="dark"] .employee-card,
html[data-theme="dark"] .employee-profile-card,
html[data-theme="dark"] .equipment-list-card,
html[data-theme="dark"] .list-cards-item,
html[data-theme="dark"] .qr-card,
html[data-theme="dark"] .crop-modal-content,
html[data-theme="dark"] .event-structure-day,
html[data-theme="dark"] .event-structure-slot,
html[data-theme="dark"] .personnel-day-card,
html[data-theme="dark"] .personnel-slot {
    background: var(--white) !important;
    border-color: var(--border);
    color: var(--text);
}

html[data-theme="dark"] body.page-events-list .events-list-row,
html[data-theme="dark"] body.page-events-list .card {
    background: var(--white);
    color: var(--text);
}

html[data-theme="dark"] .events-tabs-nav {
    background: var(--light);
}

html[data-theme="dark"] .events-tab-link {
    background: transparent;
}

html[data-theme="dark"] .events-tab-link.is-active:not(.events-tab-link--paid):not(.events-tab-link--partial):not(.events-tab-link--unpaid) {
    background: var(--white) !important;
}

html[data-theme="dark"] .events-tab-link.events-tab-link--paid {
    background: rgba(74, 222, 128, 0.14);
    color: #86efac;
    box-shadow:
        inset 0 0 0 1px rgba(74, 222, 128, 0.4),
        0 0 10px rgba(74, 222, 128, 0.22);
}

html[data-theme="dark"] .events-tab-link.events-tab-link--partial {
    background: rgba(251, 146, 60, 0.14);
    color: #fdba74;
    box-shadow:
        inset 0 0 0 1px rgba(251, 146, 60, 0.42),
        0 0 10px rgba(251, 146, 60, 0.22);
}

html[data-theme="dark"] .events-tab-link.events-tab-link--unpaid {
    background: rgba(244, 114, 182, 0.14);
    color: #f9a8d4;
    box-shadow:
        inset 0 0 0 1px rgba(244, 114, 182, 0.42),
        0 0 10px rgba(244, 114, 182, 0.22);
}

html[data-theme="dark"] .events-tab-link.events-tab-link--paid:hover {
    background: rgba(74, 222, 128, 0.22);
    color: #bbf7d0;
    box-shadow:
        inset 0 0 0 1px rgba(74, 222, 128, 0.55),
        0 0 16px rgba(74, 222, 128, 0.32);
}

html[data-theme="dark"] .events-tab-link.events-tab-link--partial:hover {
    background: rgba(251, 146, 60, 0.22);
    color: #fed7aa;
    box-shadow:
        inset 0 0 0 1px rgba(251, 146, 60, 0.55),
        0 0 16px rgba(251, 146, 60, 0.32);
}

html[data-theme="dark"] .events-tab-link.events-tab-link--unpaid:hover {
    background: rgba(244, 114, 182, 0.22);
    color: #fbcfe8;
    box-shadow:
        inset 0 0 0 1px rgba(244, 114, 182, 0.55),
        0 0 16px rgba(244, 114, 182, 0.32);
}

html[data-theme="dark"] .events-tab-link.events-tab-link--paid.is-active {
    background: rgba(74, 222, 128, 0.24);
    color: #bbf7d0;
    text-shadow: 0 0 10px rgba(74, 222, 128, 0.55);
    box-shadow:
        inset 0 0 0 1px rgba(74, 222, 128, 0.65),
        0 0 12px rgba(74, 222, 128, 0.4),
        0 0 22px rgba(74, 222, 128, 0.18);
}

html[data-theme="dark"] .events-tab-link.events-tab-link--partial.is-active {
    background: rgba(251, 146, 60, 0.24);
    color: #fed7aa;
    text-shadow: 0 0 10px rgba(251, 146, 60, 0.55);
    box-shadow:
        inset 0 0 0 1px rgba(251, 146, 60, 0.65),
        0 0 12px rgba(251, 146, 60, 0.4),
        0 0 22px rgba(251, 146, 60, 0.18);
}

html[data-theme="dark"] .events-tab-link.events-tab-link--unpaid.is-active {
    background: rgba(244, 114, 182, 0.24);
    color: #fbcfe8;
    text-shadow: 0 0 10px rgba(244, 114, 182, 0.55);
    box-shadow:
        inset 0 0 0 1px rgba(244, 114, 182, 0.65),
        0 0 12px rgba(244, 114, 182, 0.4),
        0 0 22px rgba(244, 114, 182, 0.18);
}

html[data-theme="dark"] .estimate-line,
html[data-theme="dark"] .estimate-group-header,
html[data-theme="dark"] .payslip-row,
html[data-theme="dark"] .payslip-group-header {
    border-color: var(--border);
}

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

/* Чуть приглушить белые бейджи/чипы со светлым фоном */
html[data-theme="dark"] .chip,
html[data-theme="dark"] .tag,
html[data-theme="dark"] .filter-chip {
    border-color: var(--border);
}

/* ------------------------------------------------------------------
   Список заявок — статусы оплаты в тёмной теме
   Светлые пастельные заливки убираем: тёмный фон строки + акцент слева
   + компактный чип статуса у названия.
------------------------------------------------------------------- */
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--paid td,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--partial td,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--unpaid td,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--unknown td {
    background: transparent;
    color: var(--text);
    border-bottom-color: var(--border);
}

html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--paid td:first-child {
    box-shadow: inset 3px 0 0 #4ade80;
}

html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--partial td:first-child {
    box-shadow: inset 3px 0 0 #fb923c;
}

html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--unpaid td:first-child {
    box-shadow: inset 3px 0 0 #f472b6;
}

html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--unknown td:first-child {
    box-shadow: inset 3px 0 0 #94a3b8;
}

html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--today > td:first-child,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--today.events-row--paid > td:first-child,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--today.events-row--partial > td:first-child,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--today.events-row--unpaid > td:first-child,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--today.events-row--unknown > td:first-child {
    box-shadow:
        inset 2px 0 0 #38bdf8,
        inset 0 2px 0 #38bdf8,
        inset 0 -2px 0 #38bdf8,
        0 0 10px rgba(56, 189, 248, 0.2) !important;
}

html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--today > td:not(:first-child):not(:last-child) {
    box-shadow:
        inset 0 2px 0 #38bdf8,
        inset 0 -2px 0 #38bdf8 !important;
}

html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--today > td:last-child {
    box-shadow:
        inset -2px 0 0 #38bdf8,
        inset 0 2px 0 #38bdf8,
        inset 0 -2px 0 #38bdf8,
        0 0 10px rgba(56, 189, 248, 0.2) !important;
}

html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--paid .events-col-num,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--paid .events-col-type,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--paid .events-col-customer,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--partial .events-col-num,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--partial .events-col-type,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--partial .events-col-customer,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--unpaid .events-col-num,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--unpaid .events-col-type,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--unpaid .events-col-customer,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--unknown .events-col-num,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--unknown .events-col-type,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--unknown .events-col-customer {
    color: var(--text-muted);
}

html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--paid .events-title-link,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--partial .events-title-link,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--unpaid .events-title-link,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--unknown .events-title-link {
    color: var(--dark);
}

/* Чип статуса оплаты у названия */
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--paid .events-title-link,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--partial .events-title-link,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--unpaid .events-title-link,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--unknown .events-title-link {
    display: inline;
}

html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--paid .events-title-link::after,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--partial .events-title-link::after,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--unpaid .events-title-link::after,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--unknown .events-title-link::after {
    display: inline-block;
    margin-left: 8px;
    padding: 1px 7px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.35;
    vertical-align: 1px;
    white-space: nowrap;
}

html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--paid .events-title-link::after {
    content: 'оплачено';
    color: #86efac;
    background: rgba(34, 197, 94, 0.16);
    border: 1px solid rgba(74, 222, 128, 0.35);
}

html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--partial .events-title-link::after {
    content: 'частично';
    color: #fdba74;
    background: rgba(249, 115, 22, 0.16);
    border: 1px solid rgba(251, 146, 60, 0.35);
}

html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--unpaid .events-title-link::after {
    content: 'не оплачено';
    color: #f9a8d4;
    background: rgba(236, 72, 153, 0.16);
    border: 1px solid rgba(244, 114, 182, 0.35);
}

html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--unknown .events-title-link::after {
    content: 'нет данных';
    color: #cbd5e1;
    background: rgba(148, 163, 184, 0.14);
    border: 1px solid rgba(148, 163, 184, 0.3);
}

/* Hover строк списка заявок — стили в events-list.css (файл грузится позже) */

html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-list-group td,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-list-group:hover td,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-list-today-marker td,
html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-list-today-marker:hover td {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--text-muted);
    border-color: var(--border);
    box-shadow: none !important;
}

html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-list-group-year td {
    color: var(--dark);
}

html[data-theme="dark"] body.page-events-list .events-under-question-mark {
    background: #64748b;
    color: #f8fafc;
}

@media (max-width: 960px) {
    html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--paid .events-title-link::after,
    html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--partial .events-title-link::after,
    html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--unpaid .events-title-link::after,
    html[data-theme="dark"] body.page-events-list .dictionary-table tbody tr.events-row--unknown .events-title-link::after {
        display: block;
        width: fit-content;
        margin: 4px 0 0;
    }
}

/* ------------------------------------------------------------------
   Список оборудования — фильтры и табличные группы в тёмной теме
------------------------------------------------------------------- */
html[data-theme="dark"] body.page-equipment-list .filters-card {
    background: var(--white);
    border-color: var(--border);
    color: var(--text);
}

html[data-theme="dark"] body.page-equipment-list .filters-grid .form-control,
html[data-theme="dark"] body.page-equipment-list .filters-grid select.form-control,
html[data-theme="dark"] body.page-equipment-list .per-page-select select {
    background: var(--input-bg);
    color: var(--text);
    border-color: var(--border);
}

html[data-theme="dark"] body.page-equipment-list .filters-grid .type-select-trigger {
    background: var(--input-bg) !important;
    color: var(--text) !important;
    border-color: var(--border) !important;
}

html[data-theme="dark"] body.page-equipment-list .filters-grid .type-select-dropdown,
html[data-theme="dark"] .type-select-dropdown {
    background: var(--white) !important;
    color: var(--text);
    border-color: var(--border);
}

html[data-theme="dark"] .type-select-search {
    background: var(--white);
    border-bottom-color: var(--border);
}

html[data-theme="dark"] .type-select-search-input {
    background: var(--input-bg) !important;
    color: var(--text) !important;
    border-color: var(--border) !important;
}

html[data-theme="dark"] .type-select-empty {
    color: var(--text-muted);
}

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

html[data-theme="dark"] .type-select-option:hover,
html[data-theme="dark"] .type-select-option.is-keyboard-focus {
    background: rgba(59, 130, 246, 0.14) !important;
}

html[data-theme="dark"] .type-select-option.is-selected,
html[data-theme="dark"] .type-select-option.is-selected.is-keyboard-focus {
    background: rgba(59, 130, 246, 0.22) !important;
}

html[data-theme="dark"] body.page-equipment-list .owner-filter-trigger:not(.is-owner-colored) {
    background: var(--input-bg) !important;
    color: var(--text) !important;
    border-color: var(--border) !important;
}

html[data-theme="dark"] body.page-equipment-list .owner-filter-dropdown {
    background: var(--white) !important;
    border-color: var(--border);
}

html[data-theme="dark"] body.page-equipment-list .owner-filter-option {
    background: var(--white) !important;
    color: var(--text) !important;
}

html[data-theme="dark"] body.page-equipment-list .owner-filter-option[data-owner-color] {
    color: var(--owner-color, var(--text)) !important;
}

html[data-theme="dark"] body.page-equipment-list .owner-filter-option:hover,
html[data-theme="dark"] body.page-equipment-list .owner-filter-option.is-keyboard-focus {
    background: rgba(148, 163, 184, 0.12) !important;
}

html[data-theme="dark"] body.page-equipment-list .owner-filter-option.is-selected {
    background: rgba(148, 163, 184, 0.16) !important;
}

html[data-theme="dark"] body.page-equipment-list .owner-filter-option[data-owner-color].is-selected {
    background: color-mix(in srgb, var(--owner-color) 22%, var(--white)) !important;
}

/* Комплекты */
html[data-theme="dark"] body.page-equipment-list .kit-head-row {
    background-color: rgba(34, 197, 94, 0.10) !important;
    color: var(--text);
}

html[data-theme="dark"] body.page-equipment-list .kit-head-row:hover {
    background-color: rgba(34, 197, 94, 0.10) !important;
}

html[data-theme="dark"] body.page-equipment-list .kit-head-row td {
    color: var(--text);
    border-color: rgba(34, 197, 94, 0.18);
}

html[data-theme="dark"] body.page-equipment-list .kit-head-row td:first-child {
    box-shadow: inset 3px 0 0 #4ade80 !important;
}

/* Компоненты комплекта */
html[data-theme="dark"] body.page-equipment-list .child-row {
    background-color: rgba(59, 130, 246, 0.08) !important;
    color: var(--text-muted) !important;
}

html[data-theme="dark"] body.page-equipment-list .child-row:hover {
    background-color: rgba(59, 130, 246, 0.08) !important;
}

html[data-theme="dark"] body.page-equipment-list .child-row td {
    color: var(--text-muted) !important;
    border-color: rgba(59, 130, 246, 0.14);
}

html[data-theme="dark"] body.page-equipment-list .child-row td:first-child {
    box-shadow: inset 3px 0 0 #60a5fa !important;
}

html[data-theme="dark"] body.page-equipment-list .child-indent::before {
    color: var(--text-muted);
}

html[data-theme="dark"] body.page-equipment-list .child-badge {
    background: rgba(56, 189, 248, 0.16);
    color: #7dd3fc;
}

html[data-theme="dark"] body.page-equipment-list .child-row .td-location .child-location-diff {
    background: rgba(245, 158, 11, 0.18) !important;
    color: #fcd34d !important;
    box-shadow: 0 0 0 1px rgba(251, 191, 36, 0.4);
}

html[data-theme="dark"] body.page-equipment-list .child-row td.td-location.has-location-diff {
    background: rgba(245, 158, 11, 0.10) !important;
}

/* Группы одинакового оборудования */
html[data-theme="dark"] body.page-equipment-list .identical-group-row {
    background-color: rgba(148, 163, 184, 0.08) !important;
    color: var(--text);
}

html[data-theme="dark"] body.page-equipment-list .identical-group-row:hover {
    background-color: rgba(148, 163, 184, 0.08) !important;
}

html[data-theme="dark"] body.page-equipment-list .identical-group-row td {
    color: var(--text);
    border-color: var(--border);
}

html[data-theme="dark"] body.page-equipment-list .identical-group-row td:first-child {
    box-shadow: inset 3px 0 0 #94a3b8 !important;
}

html[data-theme="dark"] body.page-equipment-list .identical-group-row .identical-ids {
    color: var(--dark);
}

html[data-theme="dark"] body.page-equipment-list .identical-qty-badge {
    background: rgba(148, 163, 184, 0.18);
    color: #e2e8f0;
}

html[data-theme="dark"] body.page-equipment-list .identical-unit-row {
    background-color: rgba(148, 163, 184, 0.05) !important;
    color: var(--text-muted);
}

html[data-theme="dark"] body.page-equipment-list .identical-unit-row:hover {
    background-color: rgba(148, 163, 184, 0.05) !important;
}

html[data-theme="dark"] body.page-equipment-list .identical-unit-row td:first-child {
    box-shadow: inset 3px 0 0 #94a3b8 !important;
}

html[data-theme="dark"] body.page-equipment-list .btn.identical-toggle {
    color: var(--text-muted);
    background: var(--surface-2);
    border-color: var(--border);
}

html[data-theme="dark"] body.page-equipment-list .item-card.identical-group-card .identical-units {
    border-top-color: var(--border);
}

html[data-theme="dark"] body.page-equipment-list .equipment-list-card,
html[data-theme="dark"] body.page-equipment-list .equipment-list-toolbar {
    background: var(--white);
    border-color: var(--border);
    color: var(--text);
}

html[data-theme="dark"] body.page-equipment-list .equipment-table th {
    background: var(--light);
    color: var(--text-muted);
    border-color: var(--border);
}

html[data-theme="dark"] body.page-equipment-list .equipment-table td {
    border-color: var(--border);
    color: var(--text);
}

html[data-theme="dark"] body.page-equipment-list .equipment-table tbody tr:hover td {
    background: transparent !important;
    background-color: transparent !important;
}

/* Card/table-responsive заливки (выше специфичность в equipment_list.php) */
html[data-theme="dark"] body.page-equipment-list #equipmentTableView .equipment-table.table-responsive-cards tbody tr.kit-head-row {
    background: rgba(34, 197, 94, 0.10) !important;
    box-shadow: inset 3px 0 0 #4ade80 !important;
}

html[data-theme="dark"] body.page-equipment-list #equipmentTableView .equipment-table.table-responsive-cards tbody tr.kit-head-row td {
    color: var(--text) !important;
}

html[data-theme="dark"] body.page-equipment-list #equipmentTableView .equipment-table.table-responsive-cards tbody tr.child-row {
    background: rgba(59, 130, 246, 0.08) !important;
    box-shadow: inset 3px 0 0 #60a5fa !important;
}

html[data-theme="dark"] body.page-equipment-list #equipmentTableView .equipment-table.table-responsive-cards tbody tr.child-row td {
    color: var(--text-muted) !important;
}

html[data-theme="dark"] body.page-equipment-list #equipmentTableView .equipment-table.table-responsive-cards tbody tr.identical-group-row {
    background: rgba(148, 163, 184, 0.08) !important;
    box-shadow: inset 3px 0 0 #94a3b8 !important;
}

html[data-theme="dark"] body.page-equipment-list #equipmentTableView .equipment-table.table-responsive-cards tbody tr.identical-unit-row {
    background: rgba(148, 163, 184, 0.05) !important;
}

html[data-theme="dark"] body.page-equipment-list .equipment-table tbody tr.needs-attention-row,
html[data-theme="dark"] body.page-equipment-list .equipment-table tbody tr.needs-attention-row.identical-unit-row {
    opacity: 0.5;
    filter: grayscale(0.7);
    background: rgba(100, 116, 139, 0.22) !important;
    color: var(--text-muted) !important;
}

html[data-theme="dark"] .item-card.item-card-needs-attention {
    background: rgba(100, 116, 139, 0.22);
    border-color: rgba(148, 163, 184, 0.4);
    color: var(--text-muted);
    filter: grayscale(0.7);
    opacity: 0.55;
}

html[data-theme="dark"] .item-card.item-card-needs-attention .item-card-photo img,
html[data-theme="dark"] .item-card.item-card-needs-attention .item-card-photo .no-image {
    filter: grayscale(1);
}

html[data-theme="dark"] body.page-equipment-list #equipmentCardsView .item-card.item-card-needs-attention {
    background: rgba(100, 116, 139, 0.22);
    border-color: rgba(148, 163, 184, 0.4);
    color: var(--text-muted);
    filter: grayscale(0.7);
    opacity: 0.55;
}

html[data-theme="dark"] body.page-equipment-list #equipmentCardsView .item-card.item-card-needs-attention .item-card-actions .btn,
html[data-theme="dark"] body.page-equipment-list #equipmentCardsView .item-card.item-card-needs-attention .item-card-actions a.btn,
html[data-theme="dark"] body.page-equipment-list #equipmentCardsView .item-card.item-card-needs-attention .item-card-actions .qr-open-btn,
html[data-theme="dark"] body.page-equipment-list #equipmentCardsView .item-card.item-card-needs-attention .identical-toggle,
html[data-theme="dark"] body.page-equipment-list #equipmentCardsView .item-card.item-card-needs-attention .btn.identical-toggle {
    filter: grayscale(1);
    background: rgba(148, 163, 184, 0.25) !important;
    border-color: rgba(148, 163, 184, 0.45) !important;
    color: var(--text-muted) !important;
}

html[data-theme="dark"] body.page-equipment-list #equipmentCardsView .item-card.item-card-needs-attention .identical-qty-badge,
html[data-theme="dark"] body.page-equipment-list #equipmentCardsView .item-card.item-card-needs-attention .identical-qty-note,
html[data-theme="dark"] body.page-equipment-list #equipmentCardsView .item-card.item-card-needs-attention .child-badge,
html[data-theme="dark"] body.page-equipment-list #equipmentCardsView .item-card.item-card-needs-attention .badge {
    filter: grayscale(1);
    background: rgba(148, 163, 184, 0.25) !important;
    color: var(--text-muted) !important;
}

html[data-theme="dark"] body.page-equipment-list #equipmentCardsView .item-card.item-card-needs-attention .item-card-title-row strong,
html[data-theme="dark"] body.page-equipment-list #equipmentCardsView .item-card.item-card-needs-attention .item-card-meta,
html[data-theme="dark"] body.page-equipment-list #equipmentCardsView .item-card.item-card-needs-attention .item-card-meta span,
html[data-theme="dark"] body.page-equipment-list #equipmentCardsView .item-card.item-card-needs-attention .item-card-inventory--above-photo,
html[data-theme="dark"] body.page-equipment-list #equipmentCardsView .item-card.item-card-needs-attention .item-card-inventory--in-title {
    color: var(--text-muted);
}

/* Кнопки раскрытия групп и прочие светлые акценты */
html[data-theme="dark"] body.page-equipment-list .identical-toggle,
html[data-theme="dark"] body.page-equipment-list .btn.identical-toggle {
    background: var(--surface-2) !important;
    border-color: var(--border) !important;
    color: var(--text-muted) !important;
}

html[data-theme="dark"] body.page-equipment-list .identical-toggle:hover {
    background: rgba(148, 163, 184, 0.18) !important;
    border-color: var(--border) !important;
}

html[data-theme="dark"] body.page-equipment-list .identical-group-row.is-expanded .identical-toggle,
html[data-theme="dark"] body.page-equipment-list .item-card.identical-group-card.is-expanded .identical-toggle {
    background: rgba(148, 163, 184, 0.22) !important;
}

html[data-theme="dark"] body.page-equipment-list .kit-head-row td {
    color: var(--text) !important;
}

html[data-theme="dark"] body.page-equipment-list .filters-grid label,
html[data-theme="dark"] body.page-equipment-list .filters-grid .form-label {
    color: var(--text-muted);
}

html[data-theme="dark"] body.page-equipment-list .type-select-placeholder,
html[data-theme="dark"] body.page-equipment-list .type-select-value {
    color: var(--text);
}

html[data-theme="dark"] body.page-equipment-list .type-select-trigger::after,
html[data-theme="dark"] body.page-equipment-list .owner-filter-trigger::after {
    border-top-color: var(--text-muted);
    color: var(--text-muted);
}

html[data-theme="dark"] body.page-equipment-list .equipment-list-active-filters {
    background: rgba(59, 130, 246, 0.12) !important;
    border-top-color: rgba(59, 130, 246, 0.28) !important;
}

html[data-theme="dark"] body.page-equipment-list .equipment-list-active-filters-label {
    color: #93c5fd !important;
}

html[data-theme="dark"] body.page-equipment-list .equipment-list-sticky.is-filtered {
    border-color: rgba(59, 130, 246, 0.45) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35) !important;
}

/* Редактирование/добавление оборудования: sticky-панель и зоны загрузки */
html[data-theme="dark"] .sticky-edit-panel,
html[data-theme="dark"] .sticky-add-panel,
html[data-theme="dark"] .sticky-edit-panel.fixed,
html[data-theme="dark"] .sticky-add-panel.fixed {
    background: var(--white) !important;
    border-bottom-color: var(--primary);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .paste-zone:hover,
html[data-theme="dark"] .paste-zone:focus,
html[data-theme="dark"] .paste-zone.active,
html[data-theme="dark"] .file-upload-area:hover,
html[data-theme="dark"] .equipment-edit .file-upload-area:hover {
    background: rgba(59, 130, 246, 0.14) !important;
    border-color: var(--primary);
}

html[data-theme="dark"] .pending-card {
    background: var(--white);
}

html[data-theme="dark"] .label-niimbot {
    background: var(--surface-2);
    border-color: var(--border);
}

html[data-theme="dark"] .label-preview-wrap {
    background-color: var(--surface-2);
}

html[data-theme="dark"] .label-card-results,
html[data-theme="dark"] .layout-card-results {
    background: var(--white);
    border-color: var(--border);
    box-shadow: var(--shadow);
}

html[data-theme="dark"] .label-card-result,
html[data-theme="dark"] .layout-card-result {
    background: var(--white);
    border-bottom-color: var(--border);
    color: var(--text);
}

html[data-theme="dark"] .label-card-result:hover,
html[data-theme="dark"] .layout-card-result:hover {
    background: rgba(59, 130, 246, 0.22);
}

html[data-theme="dark"] .label-card-result strong,
html[data-theme="dark"] .layout-card-result strong {
    color: var(--dark);
}

html[data-theme="dark"] .label-card-result span,
html[data-theme="dark"] .layout-card-result span,
html[data-theme="dark"] .label-card-result-empty,
html[data-theme="dark"] .layout-card-result-empty {
    color: var(--text-muted);
}

html[data-theme="dark"] .user-menu-dropdown {
    background: var(--white, #0f172a);
    border-color: var(--border);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}
html[data-theme="dark"] .user-menu-role {
    background: rgba(52, 211, 153, 0.16);
    border-color: rgba(52, 211, 153, 0.45);
    color: #6ee7b7;
    box-shadow: 0 0 8px rgba(52, 211, 153, 0.22);
}
html[data-theme="dark"] .user-menu-owner {
    background: color-mix(in srgb, var(--owner-color, #38bdf8) 16%, transparent);
    border-color: color-mix(in srgb, var(--owner-color, #38bdf8) 35%, #fff);
    color: color-mix(in srgb, var(--owner-color, #38bdf8) 28%, #fff);
    box-shadow:
        0 0 8px color-mix(in srgb, var(--owner-color, #38bdf8) 60%, transparent),
        0 0 16px color-mix(in srgb, var(--owner-color, #38bdf8) 28%, transparent);
    text-shadow: 0 0 8px color-mix(in srgb, var(--owner-color, #38bdf8) 70%, transparent);
}
html[data-theme="dark"] .user-menu-owner--none {
    background: rgba(148, 163, 184, 0.08);
    border-color: rgba(148, 163, 184, 0.45);
    color: #cbd5e1;
    box-shadow: 0 0 8px rgba(148, 163, 184, 0.18);
    text-shadow: none;
}
html[data-theme="dark"] .user-menu-owner-option {
    border-color: var(--border);
    color: var(--text);
}
html[data-theme="dark"] .user-menu-owner-option.is-active,
html[data-theme="dark"] .user-menu-owner-option:hover {
    background: color-mix(in srgb, var(--owner-color, #38bdf8) 14%, transparent);
    border-color: color-mix(in srgb, var(--owner-color, #38bdf8) 40%, #fff);
    color: color-mix(in srgb, var(--owner-color, #38bdf8) 30%, #fff);
    box-shadow:
        0 0 10px color-mix(in srgb, var(--owner-color, #38bdf8) 45%, transparent),
        inset 0 0 10px color-mix(in srgb, var(--owner-color, #38bdf8) 12%, transparent);
}
html[data-theme="dark"] .user-menu-owner-option--none.is-active,
html[data-theme="dark"] .user-menu-owner-option--none:hover {
    background: rgba(148, 163, 184, 0.12);
    border-color: rgba(148, 163, 184, 0.55);
    color: #e2e8f0;
    box-shadow: 0 0 10px rgba(148, 163, 184, 0.22);
}

html[data-theme="dark"] .auth-acting-owner-option.is-active,
html[data-theme="dark"] .auth-acting-owner-option:hover,
html[data-theme="dark"] .auth-acting-owner-option:has(input:checked) {
    background: color-mix(in srgb, var(--owner-color, #38bdf8) 14%, transparent);
    border-color: color-mix(in srgb, var(--owner-color, #38bdf8) 40%, #fff);
    box-shadow:
        0 0 12px color-mix(in srgb, var(--owner-color, #38bdf8) 50%, transparent),
        0 0 22px color-mix(in srgb, var(--owner-color, #38bdf8) 22%, transparent),
        inset 0 0 12px color-mix(in srgb, var(--owner-color, #38bdf8) 12%, transparent);
}
html[data-theme="dark"] .auth-acting-owner-option strong {
    color: color-mix(in srgb, var(--owner-color, #38bdf8) 28%, #fff);
    text-shadow: 0 0 10px color-mix(in srgb, var(--owner-color, #38bdf8) 70%, transparent);
}

