/* ════════════════════════════════════════════════════════════════════
   ТЕМЫ ОФОРМЛЕНИЯ — порядок слоёв
   --------------------------------------------------------------------
   Сначала идёт слой, собранный разбором styles.css: он широкими
   группами гасит цвета, зашитые без переменных. После него — ручной
   слой с переменными и огранкой. Порядок именно такой, потому что
   специфичность у них одинаковая и побеждает последний: когда ручной
   слой лежал первым, автоправило возвращало шапке полупрозрачный фон
   поверх заданного вручную плотного.
   ════════════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════════════
   Перекрытия, собранные по styles.css: цвета, зашитые без переменных.
   Сгруппированы по смыслу — лист, подсветка, текст, рамка.
   ════════════════════════════════════════════════════════════════════ */
html[data-theme="glass-dark"] .login-box,
html[data-theme="glass-dark"] .topbar,
html[data-theme="glass-dark"] .card,
html[data-theme="glass-dark"] .btn-outline,
html[data-theme="glass-dark"] .stat-card,
html[data-theme="glass-dark"] .messages-shell,
html[data-theme="glass-dark"] .messages-sidebar-head,
html[data-theme="glass-dark"] .messages-contact:hover,
html[data-theme="glass-dark"] .messages-contact.active,
html[data-theme="glass-dark"] .messages-chat,
html[data-theme="glass-dark"] .messages-list,
html[data-theme="glass-dark"] .message-bubble,
html[data-theme="glass-dark"] .messages-compose,
html[data-theme="glass-dark"] .emoji-picker,
html[data-theme="glass-dark"] .audit-row,
html[data-theme="glass-dark"] .search-input,
html[data-theme="glass-dark"] .filter-select,
html[data-theme="glass-dark"] .price-range-wrap,
html[data-theme="glass-dark"] .prop-card,
html[data-theme="glass-dark"] .obj-picker-list,
html[data-theme="glass-dark"] .deal-card,
html[data-theme="glass-dark"] .deals-stage-chip,
html[data-theme="glass-dark"] .task-item,
html[data-theme="glass-dark"] .task-sum-cell,
html[data-theme="glass-dark"] .task-sum-done,
html[data-theme="glass-dark"] .task-group-done .task-group-hdr,
html[data-theme="glass-dark"] .board-col-gray,
html[data-theme="glass-dark"] .board-card,
html[data-theme="glass-dark"] .task-table-wrap,
html[data-theme="glass-dark"] .task-menu-drop,
html[data-theme="glass-dark"] .modal,
html[data-theme="glass-dark"] .company-manager,
html[data-theme="glass-dark"] .company-chip small,
html[data-theme="glass-dark"] .empty-state,
html[data-theme="glass-dark"] .view-btn,
html[data-theme="glass-dark"] .user-card,
html[data-theme="glass-dark"] .shkh-stat,
html[data-theme="glass-dark"] .apt-import-details,
html[data-theme="glass-dark"] .apt-drop-zone,
html[data-theme="glass-dark"] .empty-toggle,
html[data-theme="glass-dark"] .section-width-control,
html[data-theme="glass-dark"] .shkh-range-filter,
html[data-theme="glass-dark"] body.msg-mobile-chat .messages-chat-head,
html[data-theme="glass-dark"] .fp-btn-download,
html[data-theme="glass-dark"] .gs-input-row:focus-within,
html[data-theme="glass-dark"] .gs-results,
html[data-theme="glass-dark"] .msg-search-input:focus,
html[data-theme="glass-dark"] .msg-ctx-menu,
html[data-theme="glass-dark"] .reaction-picker,
html[data-theme="glass-dark"] .forward-modal,
html[data-theme="glass-dark"] .msg-contact-search:focus,
html[data-theme="glass-dark"] .cal-cell,
html[data-theme="glass-dark"] .cal-agenda-item,
html[data-theme="glass-dark"] .modal-footer,
html[data-theme="glass-dark"] .shkh-sec-stat-bar {background:var(--srf);border-color:var(--srf-bd);}
html[data-theme="glass-light"] .login-box,
html[data-theme="glass-light"] .topbar,
html[data-theme="glass-light"] .card,
html[data-theme="glass-light"] .btn-outline,
html[data-theme="glass-light"] .stat-card,
html[data-theme="glass-light"] .messages-shell,
html[data-theme="glass-light"] .messages-sidebar-head,
html[data-theme="glass-light"] .messages-contact:hover,
html[data-theme="glass-light"] .messages-contact.active,
html[data-theme="glass-light"] .messages-chat,
html[data-theme="glass-light"] .messages-list,
html[data-theme="glass-light"] .message-bubble,
html[data-theme="glass-light"] .messages-compose,
html[data-theme="glass-light"] .emoji-picker,
html[data-theme="glass-light"] .audit-row,
html[data-theme="glass-light"] .search-input,
html[data-theme="glass-light"] .filter-select,
html[data-theme="glass-light"] .price-range-wrap,
html[data-theme="glass-light"] .prop-card,
html[data-theme="glass-light"] .obj-picker-list,
html[data-theme="glass-light"] .deal-card,
html[data-theme="glass-light"] .deals-stage-chip,
html[data-theme="glass-light"] .task-item,
html[data-theme="glass-light"] .task-sum-cell,
html[data-theme="glass-light"] .task-sum-done,
html[data-theme="glass-light"] .task-group-done .task-group-hdr,
html[data-theme="glass-light"] .board-col-gray,
html[data-theme="glass-light"] .board-card,
html[data-theme="glass-light"] .task-table-wrap,
html[data-theme="glass-light"] .task-menu-drop,
html[data-theme="glass-light"] .modal,
html[data-theme="glass-light"] .company-manager,
html[data-theme="glass-light"] .company-chip small,
html[data-theme="glass-light"] .empty-state,
html[data-theme="glass-light"] .view-btn,
html[data-theme="glass-light"] .user-card,
html[data-theme="glass-light"] .shkh-stat,
html[data-theme="glass-light"] .apt-import-details,
html[data-theme="glass-light"] .apt-drop-zone,
html[data-theme="glass-light"] .empty-toggle,
html[data-theme="glass-light"] .section-width-control,
html[data-theme="glass-light"] .shkh-range-filter,
html[data-theme="glass-light"] body.msg-mobile-chat .messages-chat-head,
html[data-theme="glass-light"] .fp-btn-download,
html[data-theme="glass-light"] .gs-input-row:focus-within,
html[data-theme="glass-light"] .gs-results,
html[data-theme="glass-light"] .msg-search-input:focus,
html[data-theme="glass-light"] .msg-ctx-menu,
html[data-theme="glass-light"] .reaction-picker,
html[data-theme="glass-light"] .forward-modal,
html[data-theme="glass-light"] .msg-contact-search:focus,
html[data-theme="glass-light"] .cal-cell,
html[data-theme="glass-light"] .cal-agenda-item,
html[data-theme="glass-light"] .modal-footer,
html[data-theme="glass-light"] .shkh-sec-stat-bar {background:var(--srf);border-color:var(--srf-bd);}
html[data-theme="glass-dark"] .role-senior,
html[data-theme="glass-dark"] .role-agent,
html[data-theme="glass-dark"] .role-custom5,
html[data-theme="glass-dark"] .badge-blue,
html[data-theme="glass-dark"] .messages-chat.msg-drag-over::after,
html[data-theme="glass-dark"] .task-side-term.soon,
html[data-theme="glass-dark"] .task-sum-today,
html[data-theme="glass-dark"] .task-group-today .task-group-hdr,
html[data-theme="glass-dark"] .board-col-blue,
html[data-theme="glass-dark"] .voice-item-transcribe:hover,
html[data-theme="glass-dark"] .user-company-transfer,
html[data-theme="glass-dark"] .users-bulk-panel,
html[data-theme="glass-dark"] .user-card-selected,
html[data-theme="glass-dark"] .user-row-selected td,
html[data-theme="glass-dark"] .apt-cell.apt-mortgage,
html[data-theme="glass-dark"] .legend-dot.apt-mortgage,
html[data-theme="glass-dark"] .dragging-active .apt-drop-zone,
html[data-theme="glass-dark"] .apt-drop-zone-under,
html[data-theme="glass-dark"] .dragging-active .apt-align-cell.droppable,
html[data-theme="glass-dark"] .message-row.unread-incoming .message-bubble,
html[data-theme="glass-dark"] .msg-reaction.mine,
html[data-theme="glass-dark"] .cal-event-blue,
html[data-theme="glass-dark"] .kb-cat-item.active,
html[data-theme="glass-dark"] .kb-cat-item.active .kb-cat-count,
html[data-theme="glass-dark"] .kb-cat-pill,
html[data-theme="glass-dark"] .kb-article-body blockquote,
html[data-theme="glass-dark"] .kb-rb-img,
html[data-theme="glass-dark"] .kb-rb-img:hover,
html[data-theme="glass-dark"] .kb-editor-area blockquote {background:var(--tint-blue);}
html[data-theme="glass-light"] .role-senior,
html[data-theme="glass-light"] .role-agent,
html[data-theme="glass-light"] .role-custom5,
html[data-theme="glass-light"] .badge-blue,
html[data-theme="glass-light"] .messages-chat.msg-drag-over::after,
html[data-theme="glass-light"] .task-side-term.soon,
html[data-theme="glass-light"] .task-sum-today,
html[data-theme="glass-light"] .task-group-today .task-group-hdr,
html[data-theme="glass-light"] .board-col-blue,
html[data-theme="glass-light"] .voice-item-transcribe:hover,
html[data-theme="glass-light"] .user-company-transfer,
html[data-theme="glass-light"] .users-bulk-panel,
html[data-theme="glass-light"] .user-card-selected,
html[data-theme="glass-light"] .user-row-selected td,
html[data-theme="glass-light"] .apt-cell.apt-mortgage,
html[data-theme="glass-light"] .legend-dot.apt-mortgage,
html[data-theme="glass-light"] .dragging-active .apt-drop-zone,
html[data-theme="glass-light"] .apt-drop-zone-under,
html[data-theme="glass-light"] .dragging-active .apt-align-cell.droppable,
html[data-theme="glass-light"] .message-row.unread-incoming .message-bubble,
html[data-theme="glass-light"] .msg-reaction.mine,
html[data-theme="glass-light"] .cal-event-blue,
html[data-theme="glass-light"] .kb-cat-item.active,
html[data-theme="glass-light"] .kb-cat-item.active .kb-cat-count,
html[data-theme="glass-light"] .kb-cat-pill,
html[data-theme="glass-light"] .kb-article-body blockquote,
html[data-theme="glass-light"] .kb-rb-img,
html[data-theme="glass-light"] .kb-rb-img:hover,
html[data-theme="glass-light"] .kb-editor-area blockquote {background:var(--tint-blue);}
html[data-theme="glass-dark"] .role-admin,
html[data-theme="glass-dark"] .role-custom1,
html[data-theme="glass-dark"] .badge-red,
html[data-theme="glass-dark"] .task-prio-badge.prio-high,
html[data-theme="glass-dark"] .task-item[data-overdue="soft"],
html[data-theme="glass-dark"] .task-item[data-overdue="mid"],
html[data-theme="glass-dark"] .task-item[data-overdue="hard"],
html[data-theme="glass-dark"] .task-sum-overdue,
html[data-theme="glass-dark"] .task-group-overdue .task-group-hdr,
html[data-theme="glass-dark"] .board-col-red,
html[data-theme="glass-dark"] .voice-item-del:hover,
html[data-theme="glass-dark"] .users-reset-btn:hover,
html[data-theme="glass-dark"] .apt-cell.apt-sold,
html[data-theme="glass-dark"] .legend-dot.apt-sold,
html[data-theme="glass-dark"] .cal-event-red,
html[data-theme="glass-dark"] .show-cal-red {background:var(--tint-red);}
html[data-theme="glass-light"] .role-admin,
html[data-theme="glass-light"] .role-custom1,
html[data-theme="glass-light"] .badge-red,
html[data-theme="glass-light"] .task-prio-badge.prio-high,
html[data-theme="glass-light"] .task-item[data-overdue="soft"],
html[data-theme="glass-light"] .task-item[data-overdue="mid"],
html[data-theme="glass-light"] .task-item[data-overdue="hard"],
html[data-theme="glass-light"] .task-sum-overdue,
html[data-theme="glass-light"] .task-group-overdue .task-group-hdr,
html[data-theme="glass-light"] .board-col-red,
html[data-theme="glass-light"] .voice-item-del:hover,
html[data-theme="glass-light"] .users-reset-btn:hover,
html[data-theme="glass-light"] .apt-cell.apt-sold,
html[data-theme="glass-light"] .legend-dot.apt-sold,
html[data-theme="glass-light"] .cal-event-red,
html[data-theme="glass-light"] .show-cal-red {background:var(--tint-red);}
html[data-theme="glass-dark"] .role-broker,
html[data-theme="glass-dark"] .role-custom3,
html[data-theme="glass-dark"] .role-custom6,
html[data-theme="glass-dark"] .badge-green,
html[data-theme="glass-dark"] .task-resolution,
html[data-theme="glass-dark"] .task-prio-badge.prio-low,
html[data-theme="glass-dark"] .task-sum-week,
html[data-theme="glass-dark"] .task-group-week .task-group-hdr,
html[data-theme="glass-dark"] .board-col-green,
html[data-theme="glass-dark"] .apt-cell.apt-free,
html[data-theme="glass-dark"] .legend-dot.apt-free,
html[data-theme="glass-dark"] .cal-event-green,
html[data-theme="glass-dark"] .show-cal-green {background:var(--tint-green);}
html[data-theme="glass-light"] .role-broker,
html[data-theme="glass-light"] .role-custom3,
html[data-theme="glass-light"] .role-custom6,
html[data-theme="glass-light"] .badge-green,
html[data-theme="glass-light"] .task-resolution,
html[data-theme="glass-light"] .task-prio-badge.prio-low,
html[data-theme="glass-light"] .task-sum-week,
html[data-theme="glass-light"] .task-group-week .task-group-hdr,
html[data-theme="glass-light"] .board-col-green,
html[data-theme="glass-light"] .apt-cell.apt-free,
html[data-theme="glass-light"] .legend-dot.apt-free,
html[data-theme="glass-light"] .cal-event-green,
html[data-theme="glass-light"] .show-cal-green {background:var(--tint-green);}
html[data-theme="glass-dark"] .impersonation-bar,
html[data-theme="glass-dark"] .role-assistant,
html[data-theme="glass-dark"] .role-custom2,
html[data-theme="glass-dark"] .badge-yellow,
html[data-theme="glass-dark"] .badge-orange,
html[data-theme="glass-dark"] .task-prio-badge.prio-mid,
html[data-theme="glass-dark"] .task-sum-tomorrow,
html[data-theme="glass-dark"] .task-group-tomorrow .task-group-hdr,
html[data-theme="glass-dark"] .board-col-yellow,
html[data-theme="glass-dark"] .apt-cell.apt-reserved,
html[data-theme="glass-dark"] .apt-cell.apt-booking,
html[data-theme="glass-dark"] .legend-dot.apt-reserved,
html[data-theme="glass-dark"] .legend-dot.apt-booking,
html[data-theme="glass-dark"] .cal-event-yellow,
html[data-theme="glass-dark"] .cal-event-orange,
html[data-theme="glass-dark"] .show-cal-yellow,
html[data-theme="glass-dark"] .kb-draft-badge,
html[data-theme="glass-dark"] .kb-editor-hint {background:var(--tint-amber);}
html[data-theme="glass-light"] .impersonation-bar,
html[data-theme="glass-light"] .role-assistant,
html[data-theme="glass-light"] .role-custom2,
html[data-theme="glass-light"] .badge-yellow,
html[data-theme="glass-light"] .badge-orange,
html[data-theme="glass-light"] .task-prio-badge.prio-mid,
html[data-theme="glass-light"] .task-sum-tomorrow,
html[data-theme="glass-light"] .task-group-tomorrow .task-group-hdr,
html[data-theme="glass-light"] .board-col-yellow,
html[data-theme="glass-light"] .apt-cell.apt-reserved,
html[data-theme="glass-light"] .apt-cell.apt-booking,
html[data-theme="glass-light"] .legend-dot.apt-reserved,
html[data-theme="glass-light"] .legend-dot.apt-booking,
html[data-theme="glass-light"] .cal-event-yellow,
html[data-theme="glass-light"] .cal-event-orange,
html[data-theme="glass-light"] .show-cal-yellow,
html[data-theme="glass-light"] .kb-draft-badge,
html[data-theme="glass-light"] .kb-editor-hint {background:var(--tint-amber);}
html[data-theme="glass-dark"] .role-manager,
html[data-theme="glass-dark"] .role-custom4,
html[data-theme="glass-dark"] .badge-purple {background:var(--tint-purple);}
html[data-theme="glass-light"] .role-manager,
html[data-theme="glass-light"] .role-custom4,
html[data-theme="glass-light"] .badge-purple {background:var(--tint-purple);}
html[data-theme="glass-dark"] .role-admin,
html[data-theme="glass-dark"] .role-custom1,
html[data-theme="glass-dark"] .badge-red,
html[data-theme="glass-dark"] .task-prio-badge.prio-high,
html[data-theme="glass-dark"] .task-sum-overdue .task-sum-num,
html[data-theme="glass-dark"] .task-group-hdr.overdue-hdr,
html[data-theme="glass-dark"] .task-group-overdue .task-group-hdr,
html[data-theme="glass-dark"] .board-col-red .board-col-hdr,
html[data-theme="glass-dark"] .voice-item-del:hover,
html[data-theme="glass-dark"] .cal-event-red,
html[data-theme="glass-dark"] .show-cal-red {color:var(--ink-red);}
html[data-theme="glass-light"] .role-admin,
html[data-theme="glass-light"] .role-custom1,
html[data-theme="glass-light"] .badge-red,
html[data-theme="glass-light"] .task-prio-badge.prio-high,
html[data-theme="glass-light"] .task-sum-overdue .task-sum-num,
html[data-theme="glass-light"] .task-group-hdr.overdue-hdr,
html[data-theme="glass-light"] .task-group-overdue .task-group-hdr,
html[data-theme="glass-light"] .board-col-red .board-col-hdr,
html[data-theme="glass-light"] .voice-item-del:hover,
html[data-theme="glass-light"] .cal-event-red,
html[data-theme="glass-light"] .show-cal-red {color:var(--ink-red);}
html[data-theme="glass-dark"] .role-broker,
html[data-theme="glass-dark"] .role-custom3,
html[data-theme="glass-dark"] .role-custom6,
html[data-theme="glass-dark"] .badge-green,
html[data-theme="glass-dark"] .task-prio-badge.prio-low,
html[data-theme="glass-dark"] .task-side-term.done,
html[data-theme="glass-dark"] .task-group-week .task-group-hdr,
html[data-theme="glass-dark"] .board-col-green .board-col-hdr,
html[data-theme="glass-dark"] .cal-event-green,
html[data-theme="glass-dark"] .show-cal-green {color:var(--ink-green);}
html[data-theme="glass-light"] .role-broker,
html[data-theme="glass-light"] .role-custom3,
html[data-theme="glass-light"] .role-custom6,
html[data-theme="glass-light"] .badge-green,
html[data-theme="glass-light"] .task-prio-badge.prio-low,
html[data-theme="glass-light"] .task-side-term.done,
html[data-theme="glass-light"] .task-group-week .task-group-hdr,
html[data-theme="glass-light"] .board-col-green .board-col-hdr,
html[data-theme="glass-light"] .cal-event-green,
html[data-theme="glass-light"] .show-cal-green {color:var(--ink-green);}
html[data-theme="glass-dark"] .impersonation-bar,
html[data-theme="glass-dark"] .role-assistant,
html[data-theme="glass-dark"] .role-custom2,
html[data-theme="glass-dark"] .badge-yellow,
html[data-theme="glass-dark"] .badge-orange,
html[data-theme="glass-dark"] .task-prio-badge.prio-mid,
html[data-theme="glass-dark"] .task-group-tomorrow .task-group-hdr,
html[data-theme="glass-dark"] .board-col-yellow .board-col-hdr,
html[data-theme="glass-dark"] .apt-cell.apt-special .apt-num,
html[data-theme="glass-dark"] .apt-cell.apt-special .apt-rooms-lbl,
html[data-theme="glass-dark"] .apt-cell.apt-special .apt-area-lbl,
html[data-theme="glass-dark"] .apt-cell.apt-special .apt-price-lbl,
html[data-theme="glass-dark"] .cal-event-yellow,
html[data-theme="glass-dark"] .cal-event-orange,
html[data-theme="glass-dark"] .show-cal-yellow,
html[data-theme="glass-dark"] .kb-section-label-closed,
html[data-theme="glass-dark"] .kb-draft-badge,
html[data-theme="glass-dark"] .kb-editor-hint {color:var(--ink-amber);}
html[data-theme="glass-light"] .impersonation-bar,
html[data-theme="glass-light"] .role-assistant,
html[data-theme="glass-light"] .role-custom2,
html[data-theme="glass-light"] .badge-yellow,
html[data-theme="glass-light"] .badge-orange,
html[data-theme="glass-light"] .task-prio-badge.prio-mid,
html[data-theme="glass-light"] .task-group-tomorrow .task-group-hdr,
html[data-theme="glass-light"] .board-col-yellow .board-col-hdr,
html[data-theme="glass-light"] .apt-cell.apt-special .apt-num,
html[data-theme="glass-light"] .apt-cell.apt-special .apt-rooms-lbl,
html[data-theme="glass-light"] .apt-cell.apt-special .apt-area-lbl,
html[data-theme="glass-light"] .apt-cell.apt-special .apt-price-lbl,
html[data-theme="glass-light"] .cal-event-yellow,
html[data-theme="glass-light"] .cal-event-orange,
html[data-theme="glass-light"] .show-cal-yellow,
html[data-theme="glass-light"] .kb-section-label-closed,
html[data-theme="glass-light"] .kb-draft-badge,
html[data-theme="glass-light"] .kb-editor-hint {color:var(--ink-amber);}
html[data-theme="glass-dark"] .role-senior,
html[data-theme="glass-dark"] .role-agent,
html[data-theme="glass-dark"] .role-custom5,
html[data-theme="glass-dark"] .badge-blue,
html[data-theme="glass-dark"] .task-side-term.soon,
html[data-theme="glass-dark"] .task-sum-today .task-sum-num,
html[data-theme="glass-dark"] .task-group-today .task-group-hdr,
html[data-theme="glass-dark"] .board-col-blue .board-col-hdr,
html[data-theme="glass-dark"] .voice-item-transcribe:hover,
html[data-theme="glass-dark"] .cal-event-blue {color:var(--ink-blue);}
html[data-theme="glass-light"] .role-senior,
html[data-theme="glass-light"] .role-agent,
html[data-theme="glass-light"] .role-custom5,
html[data-theme="glass-light"] .badge-blue,
html[data-theme="glass-light"] .task-side-term.soon,
html[data-theme="glass-light"] .task-sum-today .task-sum-num,
html[data-theme="glass-light"] .task-group-today .task-group-hdr,
html[data-theme="glass-light"] .board-col-blue .board-col-hdr,
html[data-theme="glass-light"] .voice-item-transcribe:hover,
html[data-theme="glass-light"] .cal-event-blue {color:var(--ink-blue);}
html[data-theme="glass-dark"] .role-manager,
html[data-theme="glass-dark"] .role-custom4,
html[data-theme="glass-dark"] .badge-purple {color:var(--ink-purple);}
html[data-theme="glass-light"] .role-manager,
html[data-theme="glass-light"] .role-custom4,
html[data-theme="glass-light"] .badge-purple {color:var(--ink-purple);}
html[data-theme="glass-dark"] .messages-contact.active,
html[data-theme="glass-dark"] .task-group-today .task-group-hdr,
html[data-theme="glass-dark"] .task-bulk-bar,
html[data-theme="glass-dark"] .user-company-transfer,
html[data-theme="glass-dark"] .users-bulk-panel,
html[data-theme="glass-dark"] .apt-cell.apt-mortgage,
html[data-theme="glass-dark"] .legend-dot.apt-mortgage,
html[data-theme="glass-dark"] .dragging-active .apt-drop-zone,
html[data-theme="glass-dark"] .dragging-active .apt-align-cell.droppable,
html[data-theme="glass-dark"] .section-width-control button:hover,
html[data-theme="glass-dark"] .message-row.unread-incoming .message-bubble,
html[data-theme="glass-dark"] .msg-reaction.mine,
html[data-theme="glass-dark"] .kb-rb-img {border-color:var(--bd-blue);}
html[data-theme="glass-light"] .messages-contact.active,
html[data-theme="glass-light"] .task-group-today .task-group-hdr,
html[data-theme="glass-light"] .task-bulk-bar,
html[data-theme="glass-light"] .user-company-transfer,
html[data-theme="glass-light"] .users-bulk-panel,
html[data-theme="glass-light"] .apt-cell.apt-mortgage,
html[data-theme="glass-light"] .legend-dot.apt-mortgage,
html[data-theme="glass-light"] .dragging-active .apt-drop-zone,
html[data-theme="glass-light"] .dragging-active .apt-align-cell.droppable,
html[data-theme="glass-light"] .section-width-control button:hover,
html[data-theme="glass-light"] .message-row.unread-incoming .message-bubble,
html[data-theme="glass-light"] .msg-reaction.mine,
html[data-theme="glass-light"] .kb-rb-img {border-color:var(--bd-blue);}
html[data-theme="glass-dark"] .task-item[data-overdue="mid"],
html[data-theme="glass-dark"] .task-item[data-overdue="hard"],
html[data-theme="glass-dark"] .task-group-overdue .task-group-hdr,
html[data-theme="glass-dark"] .users-reset-btn:hover,
html[data-theme="glass-dark"] .apt-cell.apt-sold,
html[data-theme="glass-dark"] .legend-dot.apt-sold {border-color:var(--bd-red);}
html[data-theme="glass-light"] .task-item[data-overdue="mid"],
html[data-theme="glass-light"] .task-item[data-overdue="hard"],
html[data-theme="glass-light"] .task-group-overdue .task-group-hdr,
html[data-theme="glass-light"] .users-reset-btn:hover,
html[data-theme="glass-light"] .apt-cell.apt-sold,
html[data-theme="glass-light"] .legend-dot.apt-sold {border-color:var(--bd-red);}
html[data-theme="glass-dark"] .apt-cell.apt-free,
html[data-theme="glass-dark"] .legend-dot.apt-free {border-color:var(--bd-green);}
html[data-theme="glass-light"] .apt-cell.apt-free,
html[data-theme="glass-light"] .legend-dot.apt-free {border-color:var(--bd-green);}
html[data-theme="glass-dark"] .task-group-tomorrow .task-group-hdr,
html[data-theme="glass-dark"] .apt-cell.apt-reserved,
html[data-theme="glass-dark"] .apt-cell.apt-booking,
html[data-theme="glass-dark"] .legend-dot.apt-reserved,
html[data-theme="glass-dark"] .legend-dot.apt-booking,
html[data-theme="glass-dark"] .kb-editor-hint {border-color:var(--bd-amber);}
html[data-theme="glass-light"] .task-group-tomorrow .task-group-hdr,
html[data-theme="glass-light"] .apt-cell.apt-reserved,
html[data-theme="glass-light"] .apt-cell.apt-booking,
html[data-theme="glass-light"] .legend-dot.apt-reserved,
html[data-theme="glass-light"] .legend-dot.apt-booking,
html[data-theme="glass-light"] .kb-editor-hint {border-color:var(--bd-amber);}
html[data-theme="glass-dark"] .apt-drop-zone.drag-over,
html[data-theme="glass-dark"] .apt-align-cell.drag-over,
html[data-theme="glass-dark"] .cal-cell-today:hover {background:var(--tint-blue)!important;}
html[data-theme="glass-light"] .apt-drop-zone.drag-over,
html[data-theme="glass-light"] .apt-align-cell.drag-over,
html[data-theme="glass-light"] .cal-cell-today:hover {background:var(--tint-blue)!important;}

/* ── Перекрытие цветов, зашитых в атрибут style ── */
html[data-theme="glass-dark"] [style*="background:#fff;"],
html[data-theme="glass-dark"] [style$="background:#fff"],
html[data-theme="glass-dark"] [style*="background: #fff;"],
html[data-theme="glass-dark"] [style*="background:#ffffff;"],
html[data-theme="glass-dark"] [style$="background:#ffffff"],
html[data-theme="glass-dark"] [style*="background: #ffffff;"],
html[data-theme="glass-dark"] [style*="background:#f9f9f9;"],
html[data-theme="glass-dark"] [style$="background:#f9f9f9"],
html[data-theme="glass-dark"] [style*="background: #f9f9f9;"],
html[data-theme="glass-dark"] [style*="background:#f8fafc;"],
html[data-theme="glass-dark"] [style$="background:#f8fafc"],
html[data-theme="glass-dark"] [style*="background: #f8fafc;"],
html[data-theme="glass-dark"] [style*="background:#f3f4f6;"],
html[data-theme="glass-dark"] [style$="background:#f3f4f6"],
html[data-theme="glass-dark"] [style*="background: #f3f4f6;"],
html[data-theme="glass-dark"] [style*="background:#f1f5f9;"],
html[data-theme="glass-dark"] [style$="background:#f1f5f9"],
html[data-theme="glass-dark"] [style*="background: #f1f5f9;"],
html[data-theme="glass-dark"] [style*="background:#fafafa;"],
html[data-theme="glass-dark"] [style$="background:#fafafa"],
html[data-theme="glass-dark"] [style*="background: #fafafa;"] {background:var(--srf)!important;}
html[data-theme="glass-light"] [style*="background:#fff;"],
html[data-theme="glass-light"] [style$="background:#fff"],
html[data-theme="glass-light"] [style*="background: #fff;"],
html[data-theme="glass-light"] [style*="background:#ffffff;"],
html[data-theme="glass-light"] [style$="background:#ffffff"],
html[data-theme="glass-light"] [style*="background: #ffffff;"],
html[data-theme="glass-light"] [style*="background:#f9f9f9;"],
html[data-theme="glass-light"] [style$="background:#f9f9f9"],
html[data-theme="glass-light"] [style*="background: #f9f9f9;"],
html[data-theme="glass-light"] [style*="background:#f8fafc;"],
html[data-theme="glass-light"] [style$="background:#f8fafc"],
html[data-theme="glass-light"] [style*="background: #f8fafc;"],
html[data-theme="glass-light"] [style*="background:#f3f4f6;"],
html[data-theme="glass-light"] [style$="background:#f3f4f6"],
html[data-theme="glass-light"] [style*="background: #f3f4f6;"],
html[data-theme="glass-light"] [style*="background:#f1f5f9;"],
html[data-theme="glass-light"] [style$="background:#f1f5f9"],
html[data-theme="glass-light"] [style*="background: #f1f5f9;"],
html[data-theme="glass-light"] [style*="background:#fafafa;"],
html[data-theme="glass-light"] [style$="background:#fafafa"],
html[data-theme="glass-light"] [style*="background: #fafafa;"] {background:var(--srf)!important;}
html[data-theme="glass-dark"] [style*="background:#fef2f2;"],
html[data-theme="glass-dark"] [style$="background:#fef2f2"],
html[data-theme="glass-dark"] [style*="background: #fef2f2;"],
html[data-theme="glass-dark"] [style*="background:#fee2e2;"],
html[data-theme="glass-dark"] [style$="background:#fee2e2"],
html[data-theme="glass-dark"] [style*="background: #fee2e2;"],
html[data-theme="glass-dark"] [style*="background:#fff5f5;"],
html[data-theme="glass-dark"] [style$="background:#fff5f5"],
html[data-theme="glass-dark"] [style*="background: #fff5f5;"],
html[data-theme="glass-dark"] [style*="background:#fecaca;"],
html[data-theme="glass-dark"] [style$="background:#fecaca"],
html[data-theme="glass-dark"] [style*="background: #fecaca;"] {background:var(--tint-red)!important;}
html[data-theme="glass-light"] [style*="background:#fef2f2;"],
html[data-theme="glass-light"] [style$="background:#fef2f2"],
html[data-theme="glass-light"] [style*="background: #fef2f2;"],
html[data-theme="glass-light"] [style*="background:#fee2e2;"],
html[data-theme="glass-light"] [style$="background:#fee2e2"],
html[data-theme="glass-light"] [style*="background: #fee2e2;"],
html[data-theme="glass-light"] [style*="background:#fff5f5;"],
html[data-theme="glass-light"] [style$="background:#fff5f5"],
html[data-theme="glass-light"] [style*="background: #fff5f5;"],
html[data-theme="glass-light"] [style*="background:#fecaca;"],
html[data-theme="glass-light"] [style$="background:#fecaca"],
html[data-theme="glass-light"] [style*="background: #fecaca;"] {background:var(--tint-red)!important;}
html[data-theme="glass-dark"] [style*="background:#fef9c3;"],
html[data-theme="glass-dark"] [style$="background:#fef9c3"],
html[data-theme="glass-dark"] [style*="background: #fef9c3;"],
html[data-theme="glass-dark"] [style*="background:#fef3c7;"],
html[data-theme="glass-dark"] [style$="background:#fef3c7"],
html[data-theme="glass-dark"] [style*="background: #fef3c7;"],
html[data-theme="glass-dark"] [style*="background:#ffedd5;"],
html[data-theme="glass-dark"] [style$="background:#ffedd5"],
html[data-theme="glass-dark"] [style*="background: #ffedd5;"],
html[data-theme="glass-dark"] [style*="background:#fffbeb;"],
html[data-theme="glass-dark"] [style$="background:#fffbeb"],
html[data-theme="glass-dark"] [style*="background: #fffbeb;"],
html[data-theme="glass-dark"] [style*="background:#fefce8;"],
html[data-theme="glass-dark"] [style$="background:#fefce8"],
html[data-theme="glass-dark"] [style*="background: #fefce8;"],
html[data-theme="glass-dark"] [style*="background:#fde68a;"],
html[data-theme="glass-dark"] [style$="background:#fde68a"],
html[data-theme="glass-dark"] [style*="background: #fde68a;"] {background:var(--tint-amber)!important;}
html[data-theme="glass-light"] [style*="background:#fef9c3;"],
html[data-theme="glass-light"] [style$="background:#fef9c3"],
html[data-theme="glass-light"] [style*="background: #fef9c3;"],
html[data-theme="glass-light"] [style*="background:#fef3c7;"],
html[data-theme="glass-light"] [style$="background:#fef3c7"],
html[data-theme="glass-light"] [style*="background: #fef3c7;"],
html[data-theme="glass-light"] [style*="background:#ffedd5;"],
html[data-theme="glass-light"] [style$="background:#ffedd5"],
html[data-theme="glass-light"] [style*="background: #ffedd5;"],
html[data-theme="glass-light"] [style*="background:#fffbeb;"],
html[data-theme="glass-light"] [style$="background:#fffbeb"],
html[data-theme="glass-light"] [style*="background: #fffbeb;"],
html[data-theme="glass-light"] [style*="background:#fefce8;"],
html[data-theme="glass-light"] [style$="background:#fefce8"],
html[data-theme="glass-light"] [style*="background: #fefce8;"],
html[data-theme="glass-light"] [style*="background:#fde68a;"],
html[data-theme="glass-light"] [style$="background:#fde68a"],
html[data-theme="glass-light"] [style*="background: #fde68a;"] {background:var(--tint-amber)!important;}
html[data-theme="glass-dark"] [style*="background:#dcfce7;"],
html[data-theme="glass-dark"] [style$="background:#dcfce7"],
html[data-theme="glass-dark"] [style*="background: #dcfce7;"],
html[data-theme="glass-dark"] [style*="background:#f0fdf4;"],
html[data-theme="glass-dark"] [style$="background:#f0fdf4"],
html[data-theme="glass-dark"] [style*="background: #f0fdf4;"],
html[data-theme="glass-dark"] [style*="background:#d1fae5;"],
html[data-theme="glass-dark"] [style$="background:#d1fae5"],
html[data-theme="glass-dark"] [style*="background: #d1fae5;"] {background:var(--tint-green)!important;}
html[data-theme="glass-light"] [style*="background:#dcfce7;"],
html[data-theme="glass-light"] [style$="background:#dcfce7"],
html[data-theme="glass-light"] [style*="background: #dcfce7;"],
html[data-theme="glass-light"] [style*="background:#f0fdf4;"],
html[data-theme="glass-light"] [style$="background:#f0fdf4"],
html[data-theme="glass-light"] [style*="background: #f0fdf4;"],
html[data-theme="glass-light"] [style*="background:#d1fae5;"],
html[data-theme="glass-light"] [style$="background:#d1fae5"],
html[data-theme="glass-light"] [style*="background: #d1fae5;"] {background:var(--tint-green)!important;}
html[data-theme="glass-dark"] [style*="background:#dbeafe;"],
html[data-theme="glass-dark"] [style$="background:#dbeafe"],
html[data-theme="glass-dark"] [style*="background: #dbeafe;"],
html[data-theme="glass-dark"] [style*="background:#eff6ff;"],
html[data-theme="glass-dark"] [style$="background:#eff6ff"],
html[data-theme="glass-dark"] [style*="background: #eff6ff;"],
html[data-theme="glass-dark"] [style*="background:#bfdbfe;"],
html[data-theme="glass-dark"] [style$="background:#bfdbfe"],
html[data-theme="glass-dark"] [style*="background: #bfdbfe;"],
html[data-theme="glass-dark"] [style*="background:#e0e7ff;"],
html[data-theme="glass-dark"] [style$="background:#e0e7ff"],
html[data-theme="glass-dark"] [style*="background: #e0e7ff;"] {background:var(--tint-blue)!important;}
html[data-theme="glass-light"] [style*="background:#dbeafe;"],
html[data-theme="glass-light"] [style$="background:#dbeafe"],
html[data-theme="glass-light"] [style*="background: #dbeafe;"],
html[data-theme="glass-light"] [style*="background:#eff6ff;"],
html[data-theme="glass-light"] [style$="background:#eff6ff"],
html[data-theme="glass-light"] [style*="background: #eff6ff;"],
html[data-theme="glass-light"] [style*="background:#bfdbfe;"],
html[data-theme="glass-light"] [style$="background:#bfdbfe"],
html[data-theme="glass-light"] [style*="background: #bfdbfe;"],
html[data-theme="glass-light"] [style*="background:#e0e7ff;"],
html[data-theme="glass-light"] [style$="background:#e0e7ff"],
html[data-theme="glass-light"] [style*="background: #e0e7ff;"] {background:var(--tint-blue)!important;}
html[data-theme="glass-dark"] [style*="background:#f3e8ff;"],
html[data-theme="glass-dark"] [style$="background:#f3e8ff"],
html[data-theme="glass-dark"] [style*="background: #f3e8ff;"],
html[data-theme="glass-dark"] [style*="background:#fce7f3;"],
html[data-theme="glass-dark"] [style$="background:#fce7f3"],
html[data-theme="glass-dark"] [style*="background: #fce7f3;"],
html[data-theme="glass-dark"] [style*="background:#ede9fe;"],
html[data-theme="glass-dark"] [style$="background:#ede9fe"],
html[data-theme="glass-dark"] [style*="background: #ede9fe;"],
html[data-theme="glass-dark"] [style*="background:#f5f3ff;"],
html[data-theme="glass-dark"] [style$="background:#f5f3ff"],
html[data-theme="glass-dark"] [style*="background: #f5f3ff;"],
html[data-theme="glass-dark"] [style*="background:#fdf4ff;"],
html[data-theme="glass-dark"] [style$="background:#fdf4ff"],
html[data-theme="glass-dark"] [style*="background: #fdf4ff;"] {background:var(--tint-purple)!important;}
html[data-theme="glass-light"] [style*="background:#f3e8ff;"],
html[data-theme="glass-light"] [style$="background:#f3e8ff"],
html[data-theme="glass-light"] [style*="background: #f3e8ff;"],
html[data-theme="glass-light"] [style*="background:#fce7f3;"],
html[data-theme="glass-light"] [style$="background:#fce7f3"],
html[data-theme="glass-light"] [style*="background: #fce7f3;"],
html[data-theme="glass-light"] [style*="background:#ede9fe;"],
html[data-theme="glass-light"] [style$="background:#ede9fe"],
html[data-theme="glass-light"] [style*="background: #ede9fe;"],
html[data-theme="glass-light"] [style*="background:#f5f3ff;"],
html[data-theme="glass-light"] [style$="background:#f5f3ff"],
html[data-theme="glass-light"] [style*="background: #f5f3ff;"],
html[data-theme="glass-light"] [style*="background:#fdf4ff;"],
html[data-theme="glass-light"] [style$="background:#fdf4ff"],
html[data-theme="glass-light"] [style*="background: #fdf4ff;"] {background:var(--tint-purple)!important;}
html[data-theme="glass-dark"] [style*="color:#dc2626;"],
html[data-theme="glass-dark"] [style$="color:#dc2626"],
html[data-theme="glass-dark"] [style*="color: #dc2626;"],
html[data-theme="glass-dark"] [style*="color:#b91c1c;"],
html[data-theme="glass-dark"] [style$="color:#b91c1c"],
html[data-theme="glass-dark"] [style*="color: #b91c1c;"],
html[data-theme="glass-dark"] [style*="color:#991b1b;"],
html[data-theme="glass-dark"] [style$="color:#991b1b"],
html[data-theme="glass-dark"] [style*="color: #991b1b;"] {color:var(--ink-red)!important;}
html[data-theme="glass-light"] [style*="color:#dc2626;"],
html[data-theme="glass-light"] [style$="color:#dc2626"],
html[data-theme="glass-light"] [style*="color: #dc2626;"],
html[data-theme="glass-light"] [style*="color:#b91c1c;"],
html[data-theme="glass-light"] [style$="color:#b91c1c"],
html[data-theme="glass-light"] [style*="color: #b91c1c;"],
html[data-theme="glass-light"] [style*="color:#991b1b;"],
html[data-theme="glass-light"] [style$="color:#991b1b"],
html[data-theme="glass-light"] [style*="color: #991b1b;"] {color:var(--ink-red)!important;}
html[data-theme="glass-dark"] [style*="color:#15803d;"],
html[data-theme="glass-dark"] [style$="color:#15803d"],
html[data-theme="glass-dark"] [style*="color: #15803d;"],
html[data-theme="glass-dark"] [style*="color:#16a34a;"],
html[data-theme="glass-dark"] [style$="color:#16a34a"],
html[data-theme="glass-dark"] [style*="color: #16a34a;"],
html[data-theme="glass-dark"] [style*="color:#065f46;"],
html[data-theme="glass-dark"] [style$="color:#065f46"],
html[data-theme="glass-dark"] [style*="color: #065f46;"] {color:var(--ink-green)!important;}
html[data-theme="glass-light"] [style*="color:#15803d;"],
html[data-theme="glass-light"] [style$="color:#15803d"],
html[data-theme="glass-light"] [style*="color: #15803d;"],
html[data-theme="glass-light"] [style*="color:#16a34a;"],
html[data-theme="glass-light"] [style$="color:#16a34a"],
html[data-theme="glass-light"] [style*="color: #16a34a;"],
html[data-theme="glass-light"] [style*="color:#065f46;"],
html[data-theme="glass-light"] [style$="color:#065f46"],
html[data-theme="glass-light"] [style*="color: #065f46;"] {color:var(--ink-green)!important;}
html[data-theme="glass-dark"] [style*="color:#a16207;"],
html[data-theme="glass-dark"] [style$="color:#a16207"],
html[data-theme="glass-dark"] [style*="color: #a16207;"],
html[data-theme="glass-dark"] [style*="color:#92400e;"],
html[data-theme="glass-dark"] [style$="color:#92400e"],
html[data-theme="glass-dark"] [style*="color: #92400e;"],
html[data-theme="glass-dark"] [style*="color:#d97706;"],
html[data-theme="glass-dark"] [style$="color:#d97706"],
html[data-theme="glass-dark"] [style*="color: #d97706;"],
html[data-theme="glass-dark"] [style*="color:#b45309;"],
html[data-theme="glass-dark"] [style$="color:#b45309"],
html[data-theme="glass-dark"] [style*="color: #b45309;"],
html[data-theme="glass-dark"] [style*="color:#c2410c;"],
html[data-theme="glass-dark"] [style$="color:#c2410c"],
html[data-theme="glass-dark"] [style*="color: #c2410c;"] {color:var(--ink-amber)!important;}
html[data-theme="glass-light"] [style*="color:#a16207;"],
html[data-theme="glass-light"] [style$="color:#a16207"],
html[data-theme="glass-light"] [style*="color: #a16207;"],
html[data-theme="glass-light"] [style*="color:#92400e;"],
html[data-theme="glass-light"] [style$="color:#92400e"],
html[data-theme="glass-light"] [style*="color: #92400e;"],
html[data-theme="glass-light"] [style*="color:#d97706;"],
html[data-theme="glass-light"] [style$="color:#d97706"],
html[data-theme="glass-light"] [style*="color: #d97706;"],
html[data-theme="glass-light"] [style*="color:#b45309;"],
html[data-theme="glass-light"] [style$="color:#b45309"],
html[data-theme="glass-light"] [style*="color: #b45309;"],
html[data-theme="glass-light"] [style*="color:#c2410c;"],
html[data-theme="glass-light"] [style$="color:#c2410c"],
html[data-theme="glass-light"] [style*="color: #c2410c;"] {color:var(--ink-amber)!important;}
html[data-theme="glass-dark"] [style*="color:#1d4ed8;"],
html[data-theme="glass-dark"] [style$="color:#1d4ed8"],
html[data-theme="glass-dark"] [style*="color: #1d4ed8;"],
html[data-theme="glass-dark"] [style*="color:#1e40af;"],
html[data-theme="glass-dark"] [style$="color:#1e40af"],
html[data-theme="glass-dark"] [style*="color: #1e40af;"],
html[data-theme="glass-dark"] [style*="color:#3730a3;"],
html[data-theme="glass-dark"] [style$="color:#3730a3"],
html[data-theme="glass-dark"] [style*="color: #3730a3;"] {color:var(--ink-blue)!important;}
html[data-theme="glass-light"] [style*="color:#1d4ed8;"],
html[data-theme="glass-light"] [style$="color:#1d4ed8"],
html[data-theme="glass-light"] [style*="color: #1d4ed8;"],
html[data-theme="glass-light"] [style*="color:#1e40af;"],
html[data-theme="glass-light"] [style$="color:#1e40af"],
html[data-theme="glass-light"] [style*="color: #1e40af;"],
html[data-theme="glass-light"] [style*="color:#3730a3;"],
html[data-theme="glass-light"] [style$="color:#3730a3"],
html[data-theme="glass-light"] [style*="color: #3730a3;"] {color:var(--ink-blue)!important;}
html[data-theme="glass-dark"] [style*="color:#7c3aed;"],
html[data-theme="glass-dark"] [style$="color:#7c3aed"],
html[data-theme="glass-dark"] [style*="color: #7c3aed;"],
html[data-theme="glass-dark"] [style*="color:#5b21b6;"],
html[data-theme="glass-dark"] [style$="color:#5b21b6"],
html[data-theme="glass-dark"] [style*="color: #5b21b6;"],
html[data-theme="glass-dark"] [style*="color:#7e22ce;"],
html[data-theme="glass-dark"] [style$="color:#7e22ce"],
html[data-theme="glass-dark"] [style*="color: #7e22ce;"],
html[data-theme="glass-dark"] [style*="color:#be185d;"],
html[data-theme="glass-dark"] [style$="color:#be185d"],
html[data-theme="glass-dark"] [style*="color: #be185d;"] {color:var(--ink-purple)!important;}
html[data-theme="glass-light"] [style*="color:#7c3aed;"],
html[data-theme="glass-light"] [style$="color:#7c3aed"],
html[data-theme="glass-light"] [style*="color: #7c3aed;"],
html[data-theme="glass-light"] [style*="color:#5b21b6;"],
html[data-theme="glass-light"] [style$="color:#5b21b6"],
html[data-theme="glass-light"] [style*="color: #5b21b6;"],
html[data-theme="glass-light"] [style*="color:#7e22ce;"],
html[data-theme="glass-light"] [style$="color:#7e22ce"],
html[data-theme="glass-light"] [style*="color: #7e22ce;"],
html[data-theme="glass-light"] [style*="color:#be185d;"],
html[data-theme="glass-light"] [style$="color:#be185d"],
html[data-theme="glass-light"] [style*="color: #be185d;"] {color:var(--ink-purple)!important;}

/* ── Наведение, которое JS пишет в style уже разобранным: rgb(...) ── */
html[data-theme="glass-dark"] [style*="background: rgb(248, 250, 252)"],
html[data-theme="glass-dark"] [style*="background-color: rgb(248, 250, 252)"],
html[data-theme="glass-dark"] [style*="background: #f8fafc"],
html[data-theme="glass-dark"] [style*="background-color: #f8fafc"],
html[data-theme="glass-dark"] [style*="background: rgb(249, 250, 251)"],
html[data-theme="glass-dark"] [style*="background-color: rgb(249, 250, 251)"],
html[data-theme="glass-dark"] [style*="background: #f9fafb"],
html[data-theme="glass-dark"] [style*="background-color: #f9fafb"],
html[data-theme="glass-dark"] [style*="background: rgb(255, 255, 255)"],
html[data-theme="glass-dark"] [style*="background-color: rgb(255, 255, 255)"],
html[data-theme="glass-dark"] [style*="background: #fff"],
html[data-theme="glass-dark"] [style*="background-color: #fff"] {background:var(--srf-3)!important;}
html[data-theme="glass-light"] [style*="background: rgb(248, 250, 252)"],
html[data-theme="glass-light"] [style*="background-color: rgb(248, 250, 252)"],
html[data-theme="glass-light"] [style*="background: #f8fafc"],
html[data-theme="glass-light"] [style*="background-color: #f8fafc"],
html[data-theme="glass-light"] [style*="background: rgb(249, 250, 251)"],
html[data-theme="glass-light"] [style*="background-color: rgb(249, 250, 251)"],
html[data-theme="glass-light"] [style*="background: #f9fafb"],
html[data-theme="glass-light"] [style*="background-color: #f9fafb"],
html[data-theme="glass-light"] [style*="background: rgb(255, 255, 255)"],
html[data-theme="glass-light"] [style*="background-color: rgb(255, 255, 255)"],
html[data-theme="glass-light"] [style*="background: #fff"],
html[data-theme="glass-light"] [style*="background-color: #fff"] {background:var(--srf-3)!important;}
html[data-theme="glass-dark"] [style*="background: rgb(254, 226, 226)"],
html[data-theme="glass-dark"] [style*="background-color: rgb(254, 226, 226)"],
html[data-theme="glass-dark"] [style*="background: #fee2e2"],
html[data-theme="glass-dark"] [style*="background-color: #fee2e2"] {background:var(--tint-red)!important;}
html[data-theme="glass-light"] [style*="background: rgb(254, 226, 226)"],
html[data-theme="glass-light"] [style*="background-color: rgb(254, 226, 226)"],
html[data-theme="glass-light"] [style*="background: #fee2e2"],
html[data-theme="glass-light"] [style*="background-color: #fee2e2"] {background:var(--tint-red)!important;}

/* ════════════════════════════════════════════════════════════════════
   ТЕМЫ ОФОРМЛЕНИЯ — «стекло», тёмное и светлое
   --------------------------------------------------------------------
   Файл только перекрывает styles.css и ничего в нём не меняет.
   Без атрибута data-theme (или при data-theme="classic") ни одно
   правило отсюда не срабатывает — это и есть возврат к текущему виду.
   ════════════════════════════════════════════════════════════════════ */

/* ── ТЁМНОЕ СТЕКЛО ── */
html[data-theme="glass-dark"]{
  --bg-base:#07070c;
  --srf:rgba(255,255,255,.048);
  --srf-2:rgba(255,255,255,.028);
  --srf-3:rgba(255,255,255,.075);
  --srf-bd:rgba(255,255,255,.085);
  --srf-bd-strong:rgba(255,255,255,.16);
  --glass-blur:blur(16px) saturate(120%);
  --chrome-blur:blur(10px);
  --glow:0 8px 32px rgba(0,0,0,.5);

  --primary:#6d63f2;--primary-dark:#574de0;--primary-light:rgba(109,99,242,.16);
  --accent-grad:linear-gradient(140deg,#7b6ff5 0%,#4f46e5 100%);
  --success:#34d399;--warning:#fbbf24;--danger:#f87171;

  --tint-blue:rgba(99,102,241,.17);
  --tint-red:rgba(248,113,113,.15);
  --tint-green:rgba(52,211,153,.15);
  --tint-amber:rgba(251,191,36,.15);
  --tint-purple:rgba(192,132,252,.16);
  --ink-blue:#a5b4fc;--ink-red:#fca5a5;--ink-green:#6ee7b7;
  --ink-amber:#fcd34d;--ink-purple:#d8b4fe;
  --bd-blue:rgba(129,140,248,.35);--bd-red:rgba(248,113,113,.32);
  --bd-green:rgba(52,211,153,.32);--bd-amber:rgba(251,191,36,.32);

  /* Серая шкала переворачивается: светлое становится тёмным, тёмное — текстом */
  --gray-50:rgba(255,255,255,.035);
  --gray-100:rgba(255,255,255,.06);
  --gray-200:rgba(255,255,255,.09);
  --gray-300:rgba(255,255,255,.15);
  --gray-400:#7d8499;
  --gray-500:#949bb1;
  --gray-600:#aab1c6;
  --gray-700:#c4cadb;
  --gray-800:#e0e4ef;
  --gray-900:#f3f4fa;

  --shadow:0 1px 2px rgba(0,0,0,.4);
  --shadow-md:0 8px 24px rgba(0,0,0,.45);
  --radius:14px;
  color-scheme:dark;
}

/* ── СВЕТЛОЕ СТЕКЛО ── */
html[data-theme="glass-light"]{
  --bg-base:#eceff8;
  --srf:rgba(255,255,255,.72);
  --srf-2:rgba(255,255,255,.45);
  --srf-3:rgba(255,255,255,.9);
  --srf-bd:rgba(255,255,255,.85);
  --srf-bd-strong:rgba(94,101,160,.22);
  --glass-blur:blur(16px) saturate(125%);
  --chrome-blur:blur(10px);
  --glow:0 10px 30px rgba(38,43,84,.10);

  --primary:#5b4bd6;--primary-dark:#4a3cbd;--primary-light:rgba(91,75,214,.1);
  --accent-grad:linear-gradient(140deg,#6d5cf0 0%,#4f46e5 100%);
  --success:#0f9d64;--warning:#d97706;--danger:#e0484d;

  --tint-blue:rgba(99,102,241,.12);
  --tint-red:rgba(224,72,77,.11);
  --tint-green:rgba(15,157,100,.12);
  --tint-amber:rgba(217,119,6,.12);
  --tint-purple:rgba(147,51,234,.12);
  --ink-blue:#4338ca;--ink-red:#b91c1c;--ink-green:#047857;
  --ink-amber:#a16207;--ink-purple:#7e22ce;
  --bd-blue:rgba(99,102,241,.3);--bd-red:rgba(224,72,77,.28);
  --bd-green:rgba(15,157,100,.28);--bd-amber:rgba(217,119,6,.28);

  --gray-50:rgba(255,255,255,.5);
  --gray-100:rgba(94,101,160,.09);
  --gray-200:rgba(94,101,160,.17);
  --gray-300:rgba(94,101,160,.26);
  --gray-400:#8089a6;
  --gray-500:#6b7490;
  --gray-600:#555d78;
  --gray-700:#3d445c;
  --gray-800:#272d43;
  --gray-900:#161b2e;

  --shadow:0 1px 2px rgba(38,43,84,.07);
  --shadow-md:0 10px 28px rgba(38,43,84,.12);
  --radius:14px;
  color-scheme:light;
}

/* ════════ ОБЩЕЕ ДЛЯ ОБЕИХ СТЕКЛЯННЫХ ТЕМ ════════ */

/* Подложка: ровный тон плюс два мягких световых пятна.
   fixed — чтобы пятна не уезжали вместе с прокруткой содержимого. */
html[data-theme^="glass-"] body{
  background:var(--bg-base);
  color:var(--gray-800);
  min-height:100vh;
}
html[data-theme^="glass-"] body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(56vw 46vw at 34% 2%,var(--glow-1),transparent 66%),
    radial-gradient(50vw 42vw at 94% 18%,var(--glow-2),transparent 64%),
    radial-gradient(46vw 42vw at 66% 104%,var(--glow-3),transparent 62%);
}
html[data-theme="glass-dark"]{
  --glow-1:rgba(104,94,240,.30);
  --glow-2:rgba(37,99,235,.19);
  --glow-3:rgba(147,51,234,.17);
}
html[data-theme="glass-light"]{
  --glow-1:rgba(124,110,255,.32);
  --glow-2:rgba(56,152,255,.24);
  --glow-3:rgba(236,130,255,.20);
}
/* Содержимое поверх пятен.
   Только position, без z-index: слой на .app делает его контекстом
   наложения, и тогда затемнение бокового меню (.sidebar-overlay —
   сосед .app с z-index:99) накрывало само меню вместе с выбором темы.
   Без z-index .app остаётся выше пятен по порядку в разметке, а
   .sidebar со своим z-index:100 снова оказывается над затемнением.
   .login-screen трогать нельзя: у него position:fixed, и подмена на
   relative роняет окно входа из центра экрана вверх. */
html[data-theme^="glass-"] .app{position:relative}

/* ── Боковое меню ── */
html[data-theme^="glass-"] .sidebar{
  background:var(--side-bg);
  border-right:1px solid var(--srf-bd);
}
html[data-theme="glass-dark"]{--side-bg:#0b0b12;--top-bg:#0d0d16}
html[data-theme="glass-light"]{--side-bg:#fff;--top-bg:#fff}
html[data-theme^="glass-"] .nav-edit-bar{background:var(--side-bg)}

html[data-theme="glass-light"] .sidebar-logo-text h1,
html[data-theme="glass-light"] .sidebar-user-name{color:var(--gray-900)}
html[data-theme="glass-light"] .nav-item{color:var(--gray-600)}
html[data-theme="glass-light"] .nav-item:hover{background:rgba(94,101,160,.1);color:var(--gray-900)}
html[data-theme="glass-light"] .sidebar-logo,
html[data-theme="glass-light"] .sidebar-user,
html[data-theme="glass-light"] .nav-edit-bar{border-color:rgba(94,101,160,.14)}

/* Активный пункт — заливка градиентом, как акцентная плитка в макете */
html[data-theme^="glass-"] .nav-item.active{
  background:var(--accent-grad);color:#fff;
  box-shadow:0 6px 18px rgba(79,70,229,.38);
}
html[data-theme^="glass-"] .sidebar-logo-icon{
  background:var(--accent-grad);
  box-shadow:0 6px 16px rgba(79,70,229,.4);
}

/* ── Верхняя полоса ── */
html[data-theme^="glass-"] .topbar{
  background:var(--top-bg);
  border-bottom:1px solid var(--srf-bd);
}
html[data-theme^="glass-"] #pageTitle{color:var(--gray-900)}

/* ── Карточки и панели ── */
html[data-theme^="glass-"] .card,
html[data-theme^="glass-"] .stat-card,
html[data-theme^="glass-"] .modal,
html[data-theme^="glass-"] .messages-shell,
html[data-theme^="glass-"] .task-table-wrap,
html[data-theme^="glass-"] .prop-card,
html[data-theme^="glass-"] .user-card,
html[data-theme^="glass-"] .company-manager,
html[data-theme^="glass-"] .empty-state,
html[data-theme^="glass-"] .login-box{
  border:1px solid var(--srf-bd);
  border-radius:var(--radius);
  box-shadow:var(--glow);
  backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);
}
/* Светлый блик по верхней кромке — от него стекло читается как стекло */
html[data-theme^="glass-"] .card,
html[data-theme^="glass-"] .stat-card,
html[data-theme^="glass-"] .modal,
html[data-theme^="glass-"] .login-box{position:relative}
html[data-theme^="glass-"] .card::after,
html[data-theme^="glass-"] .stat-card::after,
html[data-theme^="glass-"] .modal::after,
html[data-theme^="glass-"] .login-box::after{
  content:'';position:absolute;inset:0 0 auto;height:1px;pointer-events:none;
  border-radius:var(--radius) var(--radius) 0 0;
  background:linear-gradient(90deg,transparent,var(--srf-bd-strong) 18%,var(--srf-bd-strong) 82%,transparent);
}
html[data-theme^="glass-"] .card-header{border-bottom-color:var(--srf-bd)}
html[data-theme^="glass-"] .card-header h3{color:var(--gray-900)}

/* Первая плитка статистики — акцентная, как «Total revenue» в макете */
html[data-theme^="glass-"] .stats-grid > .stat-card:first-child{
  background:var(--accent-grad);
  border-color:rgba(255,255,255,.22);
  box-shadow:0 14px 34px rgba(79,70,229,.35);
}
html[data-theme^="glass-"] .stats-grid > .stat-card:first-child .stat-value,
html[data-theme^="glass-"] .stats-grid > .stat-card:first-child .stat-label{color:#fff}
html[data-theme^="glass-"] .stats-grid > .stat-card:first-child .stat-label{opacity:.82}
html[data-theme^="glass-"] .stats-grid > .stat-card:first-child .stat-icon{
  background:rgba(255,255,255,.18)!important;color:#fff;
}
html[data-theme^="glass-"] .stat-value{color:var(--gray-900);letter-spacing:-.02em}

/* ── Кнопки ── */
html[data-theme^="glass-"] .btn-primary,
html[data-theme^="glass-"] .login-btn{
  background:var(--accent-grad);
  box-shadow:0 6px 16px rgba(79,70,229,.32);
}
html[data-theme^="glass-"] .btn-primary:hover,
html[data-theme^="glass-"] .login-btn:hover{
  background:var(--accent-grad);filter:brightness(1.1);
}
html[data-theme^="glass-"] .btn{border-radius:9px}
html[data-theme^="glass-"] .btn-outline{
  background:var(--srf-3);border-color:var(--srf-bd-strong);color:var(--gray-700);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
html[data-theme^="glass-"] .btn-outline:hover{
  background:var(--srf-3);border-color:var(--primary);color:var(--gray-900);
}

/* ── Поля ввода ── */
html[data-theme^="glass-"] .form-control,
html[data-theme^="glass-"] .search-input,
html[data-theme^="glass-"] .filter-select,
html[data-theme^="glass-"] .gs-input-row{
  background:var(--srf-2);border-color:var(--srf-bd-strong);color:var(--gray-800);
  border-radius:9px;
}
html[data-theme^="glass-"] .form-control::placeholder,
html[data-theme^="glass-"] .gs-input::placeholder{color:var(--gray-400)}
html[data-theme^="glass-"] .form-control:focus{
  border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);
}
html[data-theme^="glass-"] .gs-input{background:transparent;color:var(--gray-800)}
html[data-theme="glass-dark"] select.form-control option,
html[data-theme="glass-dark"] .filter-select option{background:#16161f;color:#e0e4ef}

/* ── Таблицы ── */
html[data-theme^="glass-"] thead th,
html[data-theme^="glass-"] .task-table th,
html[data-theme^="glass-"] .user-table th{
  background:var(--srf-2);color:var(--gray-500);border-bottom-color:var(--srf-bd);
}
html[data-theme^="glass-"] tbody tr:hover,
html[data-theme^="glass-"] .task-table tr:hover td{background:var(--srf-3)}
html[data-theme^="glass-"] tbody td{border-bottom-color:var(--srf-bd)}

/* ── Модальные окна ── */
html[data-theme^="glass-"] .modal-overlay{
  background:rgba(4,4,10,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
html[data-theme^="glass-"] .modal-header{border-bottom-color:var(--srf-bd)}
html[data-theme^="glass-"] .modal-header h3{color:var(--gray-900)}
html[data-theme^="glass-"] .modal-footer{border-top-color:var(--srf-bd)}
html[data-theme^="glass-"] .modal-close{background:var(--srf-3);color:var(--gray-500)}

/* ── Вход ── */
html[data-theme^="glass-"] .login-screen{background:transparent}
html[data-theme^="glass-"] .login-box{background:var(--srf);border-radius:22px}
html[data-theme^="glass-"] .login-title,
html[data-theme^="glass-"] .login-logo-text h1{color:var(--gray-900)}
html[data-theme^="glass-"] .login-user-card{border-color:var(--srf-bd-strong);background:var(--srf-2)}

/* ── Мелочи, где серая шкала не спасает ── */
html[data-theme^="glass-"] .toast{
  background:var(--srf-3);color:var(--gray-900);border:1px solid var(--srf-bd-strong);
  backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);
}
/* Шахматка задаёт фон заголовка подъезда inline-стилем (var(--gray-800)),
   а в тёмной теме это почти белый — текст по белому пропадал.
   Перебить можно только !important. */
html[data-theme^="glass-"] .section-header{background:var(--accent-grad)!important;color:#fff}
html[data-theme^="glass-"] .pipeline-col,
html[data-theme^="glass-"] .board-col{background:var(--srf-2);border-color:var(--srf-bd)}
html[data-theme^="glass-"] .tab-bar{border-bottom-color:var(--srf-bd)}
html[data-theme^="glass-"] .messages-sidebar{background:var(--srf-2)}
html[data-theme^="glass-"] .message-row.mine .message-bubble{
  background:var(--accent-grad)!important;border-color:transparent!important;color:#fff;
}
html[data-theme^="glass-"] .message-row.mine .message-bubble *{color:#fff}

/* Полоса прокрутки под тему */
html[data-theme^="glass-"] *::-webkit-scrollbar{width:10px;height:10px}
html[data-theme^="glass-"] *::-webkit-scrollbar-track{background:transparent}
html[data-theme^="glass-"] *::-webkit-scrollbar-thumb{
  background:var(--srf-bd-strong);border-radius:8px;border:2px solid transparent;background-clip:padding-box;
}

/* ════════ ВЫБОР ОФОРМЛЕНИЯ ════════ */
/* Три кнопки в ряд внизу бокового меню, без всплывающего списка:
   список накрывал нижние пункты меню и кнопку «Настроить меню», а в
   тесной панели ему просто некуда раскрыться. Инлайновый ряд ничего
   не перекрывает и сразу показывает, какая тема включена. */
.theme-picker{padding:10px 14px 2px;border-top:1px solid rgba(255,255,255,.07)}
.theme-picker-label{
  font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gray-500);margin-bottom:6px;
}
.theme-picker-row{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.theme-opt{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  padding:7px 2px;border-radius:8px;cursor:pointer;font-family:inherit;
  border:1px solid rgba(255,255,255,.12);background:transparent;
  color:var(--gray-400);font-size:10px;font-weight:600;line-height:1.1;
  transition:background .15s,border-color .15s,color .15s;
}
.theme-opt-ic{font-size:14px;line-height:1}
.theme-opt:hover{background:rgba(255,255,255,.07);color:#fff}
.theme-opt.active{
  background:var(--primary);border-color:var(--primary);color:#fff;
}

/* В светлой теме боковое меню белое — тёмные рамка и текст */
html[data-theme="glass-light"] .theme-picker{border-top-color:rgba(94,101,160,.14)}
html[data-theme="glass-light"] .theme-opt{border-color:rgba(94,101,160,.2);color:var(--gray-600)}
html[data-theme="glass-light"] .theme-opt:hover{background:rgba(94,101,160,.1);color:var(--gray-900)}
html[data-theme^="glass-"] .theme-opt.active{
  background:var(--accent-grad);border-color:transparent;color:#fff;
  box-shadow:0 4px 12px rgba(79,70,229,.3);
}

/* ════════ РЕЖИМ ПРОСМОТРА ════════ */
/* Кнопки берут вид у .theme-opt — тот же ряд внизу меню, те же состояния,
   поэтому стили здесь только про раскладку и рамку телефона. */
.view-picker{padding:8px 14px 2px}
.view-picker-row{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}

/* Выбор устройства — пилюли в строку: названий четыре, вертикальными
   плитками они заняли бы половину окна предпросмотра. */
.vp-devices{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.vp-dev{
  display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;
  border:1px solid var(--gray-200);background:transparent;color:var(--gray-600);
  font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;
  transition:background .15s,border-color .15s,color .15s;
}
.vp-dev:hover{border-color:var(--primary);color:var(--primary)}
.vp-dev.active{background:var(--primary);border-color:var(--primary);color:#fff}
.vp-dev-px{font-size:10px;font-weight:500;opacity:.75}

/* Рамку масштабируем трансформом, а размеры сцены считает JS: поток о
   трансформе не знает и оставил бы под уменьшенным телефоном пустоту. */
.vp-stage{overflow:hidden;margin:0 auto}
.vp-phone{
  width:max-content;border:10px solid #15161c;border-radius:34px;background:#15161c;
  box-shadow:0 18px 40px rgba(0,0,0,.35);transform-origin:top left;
}
.vp-frame{display:block;border:0;border-radius:24px;background:#fff}
.vp-note{font-size:12px;color:var(--gray-500);margin-right:auto}

html[data-theme^="glass-"] .vp-dev{border-color:var(--srf-bd-strong);color:var(--gray-400)}
html[data-theme^="glass-"] .vp-dev:hover{color:#fff}
html[data-theme^="glass-"] .vp-dev.active{background:var(--accent-grad);border-color:transparent;color:#fff}
html[data-theme="glass-light"] .vp-dev{color:var(--gray-600)}
html[data-theme="glass-light"] .vp-dev:hover{color:var(--gray-900)}


/* ── Бублик воронки сделок на дашборде ──
   Цвета у него заданы атрибутами SVG (fill="#1e293b"), а не стилями, поэтому
   ни переменные, ни перекрытия по style их не достают: число «в работе»
   оставалось тёмным на тёмной карточке. Свойство fill из CSS сильнее
   атрибута представления, им и правим. */
html[data-theme^="glass-"] #funnel-chart text{fill:var(--gray-900)}
html[data-theme^="glass-"] #funnel-chart text:last-of-type{fill:var(--gray-400)}
html[data-theme^="glass-"] #funnel-chart circle{stroke:var(--gray-200)}
/* Белые перемычки между дольками на тёмной карточке светятся — делаем их
   цветом самой карточки, чтобы читались как разрезы, а не как обводка. */
html[data-theme="glass-dark"] #funnel-chart path{stroke:#16161e}

/* ── Кнопка завершения на карточке доски ──
   Добавлена в styles.css уже после сборки слоя перекрытий, поэтому её
   зелёная подсветка при наведении (#f0fdf4) осталась бы светлой пятном
   на тёмной карточке. */
html[data-theme^="glass-"] .board-card-done-btn{background:var(--srf-2);border-color:var(--srf-bd-strong)}
html[data-theme^="glass-"] .board-card-done-btn:hover{
  background:var(--tint-green);border-color:var(--success);color:var(--ink-green);
}
html[data-theme^="glass-"] .board-card-done-btn.undo:hover{
  background:var(--tint-blue);border-color:var(--primary);color:var(--ink-blue);
}
