/* Единый стиль кнопок программы (02.11.2026).
   Эталон — кнопки «Моей доски» (board_user.css: .ub-btn, .ub-seg): спокойные белые кнопки с тонкой рамкой и фиолетовым
   наведением, главное действие — фирменный оранжевый (ember), «согласовать» — зелёный, вкладки — «таблетки» на светлой подложке.
   Раньше у каждой страницы был свой набор .btn/.btn-outline/.tab-btn прямо в <style> шаблона — оранжевые градиентные кнопки,
   разные радиусы, шрифты и отступы. Этот файл подключается ПОСЛЕДНИМ в <head> каждой страницы и переопределяет их единым
   набором правил (префикс :is(body, #id…) даёт перевес над стилями страницы и над правилами, привязанными к #id блоков «Архив», «Корзина», «Входящие», «Записки», без !important), разметку страниц менять не пришлось.
   Кнопки самой доски (.ub-*) здесь не трогаем. Новая кнопка: .btn — главное действие, .btn.btn-outline — второстепенное,
   .btn.btn-danger — опасное, .seg/.seg-btn — переключатель вариантов. */

/* ---------- основа: любая «кнопка» — компактная, с одним шрифтом и фокусом ---------- */
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.btn, .btn-outline, .btn-secondary, .btn-ghost, .btn-primary, .btn-green, .btn-export, .btn-clear, .cp-add-btn,
         .icon-btn, .ghost-btn, .ab-btn, .air-btn, .cp-card-btn, .toolbar-btn, .month-nav-btn, .avatar-file-btn,
         .fsx-btn, .proj-action-btn, .send-btn, .submit-btn, .result-restore-btn, .result-delete-btn) {
  font-family: var(--font-body, 'Golos Text', -apple-system, sans-serif);
  font-size: 12.5px; font-weight: 600; line-height: 1.2; letter-spacing: 0;
  border-radius: 8px; text-decoration: none; white-space: nowrap; cursor: pointer;
  transition: background .15s, border-color .15s, color .15s, filter .15s, box-shadow .15s;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.btn, .btn-outline, .btn-secondary, .btn-ghost, .btn-primary, .btn-green, .btn-export, .icon-btn, .ghost-btn,
         .ab-btn, .air-btn, .fsx-btn, .proj-action-btn, .send-btn, .submit-btn, .avatar-file-btn):focus-visible,
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.cp-card-btn, .toolbar-btn, .month-nav-btn, .seg-btn, .tab-btn, .modal-tab-btn, .memo-tab-btn, .cp-toggle-btn, .emp-toggle-btn, .view-tab, .view-tabs a, .view-switch a):focus-visible {
  outline: 2px solid var(--violet-1, #6b74b8); outline-offset: 2px;
}

/* ---------- главное действие: фирменный оранжевый (ember) — прежняя принятая палитра программы ---------- */
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.btn, .btn-primary, .send-btn, .submit-btn, .cp-add-btn, .fsx-btn, .ab-btn.go, .sf-btn.go) {
  background: linear-gradient(135deg, var(--ember-1, #d97a3f), var(--ember-2, #b85f2b)); border: 1px solid transparent;
  color: var(--ink, #16223a); box-shadow: none;
}
/* «Согласовать / подтвердить» — зелёный, как было на странице письма */
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .btn.btn-green, :is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .btn-green {
  background: linear-gradient(135deg, var(--teal, #2f9463), #1ea884); border: 1px solid transparent; color: #fff; box-shadow: none;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.btn, .btn-primary, .btn-green, .send-btn, .submit-btn, .cp-add-btn, .fsx-btn, .ab-btn.go, .sf-btn.go):hover:not(:disabled) { filter: brightness(1.07); color: var(--ink, #16223a); }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .btn-green:hover:not(:disabled) { color: #fff; }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.cp-add-btn, .ab-btn.go, .sf-btn.go) { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 34px; padding: 0 16px; font: 600 12.5px/1.2 var(--font-body, 'Golos Text', sans-serif); border-radius: 8px; }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .btn { min-height: 34px; padding: 7px 16px; }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .btn.btn-sm { min-height: 30px; padding: 5px 12px; font-size: 12px; }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.send-btn, .submit-btn) { font-size: 13.5px; }

/* ---------- второстепенное: белая кнопка с рамкой (как .ub-btn) ---------- */
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.btn-outline, .btn-secondary, .btn-ghost, .btn-export, .btn-clear, .mt-status-btn, .icon-btn, .ghost-btn, .ab-btn, .air-btn,
         .cp-card-btn, .toolbar-btn, .month-nav-btn, .avatar-file-btn, .result-restore-btn, .btn.btn-outline, .btn.btn-secondary,
         .btn.btn-ghost, .proj-action-btn),
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .btn.btn-outline, :is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .btn.btn-secondary, :is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .btn.btn-ghost {
  background: var(--surface-2, #fff); border: 1px solid var(--border-strong, rgba(15,23,42,.16)); color: var(--text, #16223a);
  box-shadow: none; filter: none;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.btn-outline, .btn-secondary, .btn-ghost, .btn-export, .icon-btn, .ghost-btn, .ab-btn, .air-btn, .cp-card-btn,
         .toolbar-btn, .month-nav-btn, .avatar-file-btn, .result-restore-btn, .proj-action-btn):hover:not(:disabled),
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.btn.btn-outline, .btn.btn-secondary, .btn.btn-ghost):hover:not(:disabled) {
  background: var(--surface-2, #fff); border-color: var(--violet-1, #6b74b8); color: var(--violet-2, #3d4370); filter: none;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .btn-clear { border-color: transparent; background: transparent; color: var(--text-dim, #5b6178); }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.icon-btn, .ghost-btn, .ab-btn, .air-btn, .btn-export, .avatar-file-btn, .proj-action-btn) { padding: 6px 12px; min-height: 30px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.toolbar-btn, .month-nav-btn) { display: inline-flex; align-items: center; justify-content: center; }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .cp-card-btn { border-radius: 8px; }

/* ---------- опасное действие: красный текст, красная рамка при наведении (как .ub-btn.danger) ---------- */
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.btn-danger, .icon-btn-danger, .icon-btn.danger, .chain-reject-btn, .result-delete-btn, .btn.btn-outline.chain-reject-btn),
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .btn.btn-danger {
  background: var(--surface-2, #fff); border: 1px solid var(--border-strong, rgba(15,23,42,.16)); color: var(--red, #d64545); filter: none;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.btn-danger, .icon-btn-danger, .icon-btn.danger, .chain-reject-btn, .result-delete-btn):hover:not(:disabled) {
  background: rgba(214,69,69,.06); border-color: var(--red, #d64545); color: var(--red, #d64545);
}

/* ---------- недоступная кнопка выглядит недоступной ---------- */
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.btn, .btn-outline, .btn-secondary, .btn-ghost, .btn-export, .icon-btn, .ghost-btn, .ab-btn, .air-btn, .fsx-btn,
         .send-btn, .submit-btn, .proj-action-btn, .btn-disabled):is(:disabled, [disabled], [aria-disabled="true"], .btn-disabled) {
  opacity: .5; cursor: not-allowed; filter: grayscale(.5); box-shadow: none;
}

/* ---------- переключатели и вкладки: «таблетки» на светлой подложке (как .ub-seg) ---------- */
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.tabs, .modal-tabs, .memo-tabs, .seg, .cp-toggle-group, .emp-toggle-group, .view-switch, .view-tabs, .air-tabs, .audit-scope-toggle, .console-tabs, .fsx-subtabs) {
  display: inline-flex; align-items: center; gap: 2px; padding: 2px; margin-right: 0;
  background: rgba(15,23,42,.05); border: 0; border-radius: 10px; max-width: 100%; width: fit-content;
  overflow: auto hidden; scrollbar-width: none; flex-shrink: 0;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.tabs, .modal-tabs, .memo-tabs, .seg, .cp-toggle-group, .emp-toggle-group, .view-switch, .view-tabs, .air-tabs, .audit-scope-toggle, .console-tabs, .fsx-subtabs)::-webkit-scrollbar { display: none; }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .view-tabs, :is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .view-switch { margin-bottom: 16px; }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .view-switch { margin-bottom: 0; }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.tab-btn, .modal-tab-btn, .memo-tab-btn, .seg-btn, .cp-toggle-btn, .emp-toggle-btn, .view-tab, .view-tabs a, .view-switch a, .air-tab, .audit-scope-toggle a, .console-tab-btn, .fsx-subtab-btn) {
  display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 13px; margin: 0; border: 0; border-radius: 8px;
  background: transparent; color: var(--text-dim, #5b6178); font: 500 12.5px/1 var(--font-body, 'Golos Text', sans-serif);
  text-decoration: none; cursor: pointer; white-space: nowrap; flex-shrink: 0; box-shadow: none; transition: background .15s, color .15s;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.tab-btn, .modal-tab-btn, .memo-tab-btn, .seg-btn, .cp-toggle-btn, .emp-toggle-btn, .view-tab, .view-tabs a, .view-switch a, .air-tab, .audit-scope-toggle a, .console-tab-btn, .fsx-subtab-btn):hover {
  color: var(--text, #16223a); background: transparent; border: 0;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.tab-btn, .modal-tab-btn, .memo-tab-btn, .seg-btn, .cp-toggle-btn, .emp-toggle-btn, .view-tab, .view-tabs a, .view-switch a, .air-tab, .audit-scope-toggle a, .console-tab-btn, .fsx-subtab-btn).active,
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.tab-btn, .modal-tab-btn, .memo-tab-btn, .seg-btn, .cp-toggle-btn, .emp-toggle-btn, .view-tab, .view-tabs a, .view-switch a, .air-tab, .audit-scope-toggle a, .console-tab-btn, .fsx-subtab-btn):is([aria-selected="true"], .on) {
  background: var(--surface-2, #fff); color: var(--violet-2, #3d4370); font-weight: 600; box-shadow: 0 1px 3px rgba(15,23,42,.12); border: 0;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .emp-toggle-btn svg { width: 15px; height: 15px; flex-shrink: 0; }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .today-btn {
  background: var(--surface-2, #fff); border: 1px solid var(--border-strong, rgba(15,23,42,.16)); color: var(--text, #16223a);
  border-radius: 8px; font: 600 12.5px/1.2 var(--font-body, 'Golos Text', sans-serif); text-decoration: none;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .today-btn:hover { border-color: var(--violet-1, #6b74b8); color: var(--violet-2, #3d4370); background: var(--surface-2, #fff); }

/* активный пункт остаётся «таблеткой» и при наведении (раньше у части страниц при наведении заливался синим) */
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.tab-btn, .modal-tab-btn, .memo-tab-btn, .seg-btn, .cp-toggle-btn, .emp-toggle-btn, .view-tab, .view-tabs a, .view-switch a, .air-tab, .audit-scope-toggle a, .console-tab-btn, .fsx-subtab-btn).active:hover,
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.tab-btn, .modal-tab-btn, .memo-tab-btn, .seg-btn, .cp-toggle-btn, .emp-toggle-btn, .view-tab, .view-tabs a, .view-switch a, .air-tab, .audit-scope-toggle a, .console-tab-btn, .fsx-subtab-btn):is([aria-selected="true"], .on):hover {
  background: var(--surface-2, #fff); color: var(--violet-2, #3d4370); border: 0; box-shadow: 0 1px 3px rgba(15,23,42,.12);
}
/* «Спам» в архиве остаётся красным */
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .view-tabs .view-tab-spam, :is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .view-tabs .view-tab-spam:hover { color: var(--red, #d64545); }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .view-tabs .view-tab-spam.active, :is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .view-tabs .view-tab-spam.active:hover { color: var(--red, #d64545); background: var(--surface-2, #fff); }

/* ---------- постраничная навигация: белые кнопки с рамкой, текущая страница — рамка и текст фиолетовые ---------- */
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.pagination, .audit-pagination, .cp-pagination) :is(a, button, .current, .disabled) {
  display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 30px; padding: 0 11px;
  border: 1px solid var(--border-strong, rgba(15,23,42,.16)); border-radius: 8px; background: var(--surface-2, #fff);
  color: var(--text, #16223a); font: 600 12.5px/1 var(--font-body, 'Golos Text', sans-serif); text-decoration: none; cursor: pointer; box-shadow: none;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.pagination, .audit-pagination, .cp-pagination) :is(a, button):hover:not(:disabled):not(.current) {
  border-color: var(--violet-1, #6b74b8); color: var(--violet-2, #3d4370); background: var(--surface-2, #fff);
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.pagination, .audit-pagination, .cp-pagination) :is(.current, button.current, button.current:hover) {
  border-color: var(--violet-1, #6b74b8); color: var(--violet-2, #3d4370); background: var(--surface-2, #fff); font-weight: 700; cursor: default;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.pagination, .audit-pagination, .cp-pagination) :is(.disabled, button:disabled) { opacity: .5; cursor: not-allowed; }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .cp-pagination .cp-page-ellipsis { border: 0; background: transparent; min-width: 0; padding: 0 4px; }

/* ---------- чипы-фильтры (контрагенты в «Письмах» и «Проектах»): выбранный — рамка и текст фиолетовые ---------- */
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .contact-chip-btn {
  border-radius: 8px; font: 500 12.5px/1.2 var(--font-body, 'Golos Text', sans-serif);
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .contact-chip-btn.active, :is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .contact-chip-btn.active:hover {
  background: var(--surface-2, #fff); color: var(--violet-2, #3d4370); border-color: var(--violet-1, #6b74b8); font-weight: 600;
}

/* ======================================================================================================
   Вторая очередь (02.11.2026): крестики, кнопки фильтров, карточка письма, чат, раскрытие строк, Файловая служба
   ====================================================================================================== */
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.modal-close, .attachment-modal-close, .modal-close-btn, .fsp-x, .file-item-remove, .remove-member-btn, .fsx-search-clear, .checklist-delete-btn) {
  display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 8px;
  background: transparent; color: var(--text-dim, #5b6178); cursor: pointer; box-shadow: none; transition: background .15s, color .15s;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.modal-close, .attachment-modal-close, .modal-close-btn, .fsp-x, .file-item-remove, .remove-member-btn, .fsx-search-clear, .checklist-delete-btn):hover:not(:disabled) {
  background: rgba(15,23,42,.07); color: var(--text, #16223a);
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.modal-close, .attachment-modal-close, .modal-close-btn, .fsp-x, .file-item-remove, .remove-member-btn, .fsx-search-clear, .checklist-delete-btn):focus-visible {
  outline: 2px solid var(--violet-1, #6b74b8); outline-offset: 1px;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.modal-close, .attachment-modal-close) { width: 30px; height: 30px; padding: 0; font-size: 16px; line-height: 1; }

/* кнопки отправки форм фильтров («Найти», «Применить») — главное действие, как .btn */
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.filters-submit, .audit-filters-submit) {
  background: linear-gradient(135deg, var(--ember-1, #d97a3f), var(--ember-2, #b85f2b)); border: 1px solid transparent; color: var(--ink, #16223a);
  border-radius: 8px; min-height: 34px; padding: 0 18px; font: 600 12.5px/1.2 var(--font-body, 'Golos Text', sans-serif); cursor: pointer; box-shadow: none;
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; white-space: nowrap;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.filters-submit, .audit-filters-submit):hover:not(:disabled) { filter: brightness(1.07); }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.filters-submit, .audit-filters-submit):is(:disabled, [disabled]) { opacity: .5; cursor: not-allowed; filter: grayscale(.5); }

/* второстепенные кнопки карточки письма, чата и форм — белая с рамкой, как .ub-btn */
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.btn-primary-outline, .print-btn, .restore-btn, .ai-improve-btn, .ai-subject-btn, .ai-suggestion-use, .reply-upload-btn,
         .banner-discard-draft, .fsgp-reset, .emp-chat-btn, .emp-row-chat-btn, .new-group-btn, .attach-btn,
         .chrono-add-subtask, .fsx-splitter-toggle, .fs-block-props-btn) {
  background: var(--surface-2, #fff); border: 1px solid var(--border-strong, rgba(15,23,42,.16)); color: var(--text, #16223a);
  border-radius: 8px; font-family: var(--font-body, 'Golos Text', sans-serif); font-weight: 600; text-decoration: none; box-shadow: none; filter: none;
  cursor: pointer; transition: background .15s, border-color .15s, color .15s;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.btn-primary-outline, .print-btn, .restore-btn, .ai-improve-btn, .ai-subject-btn, .ai-suggestion-use, .reply-upload-btn,
         .banner-discard-draft, .fsgp-reset, .emp-chat-btn, .emp-row-chat-btn, .new-group-btn, .attach-btn,
         .fsx-splitter-toggle, .fs-block-props-btn):hover:not(:disabled) {
  background: var(--surface-2, #fff); border-color: var(--violet-1, #6b74b8); color: var(--violet-2, #3d4370);
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.print-btn, .restore-btn, .ai-improve-btn, .ai-subject-btn, .ai-suggestion-use, .reply-upload-btn, .banner-discard-draft, .emp-chat-btn, .emp-row-chat-btn) {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; font-size: 12px; min-height: 30px; padding: 5px 12px;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .chrono-add-subtask { font-size: 11.5px; border-style: dashed; }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .chrono-add-subtask:disabled, :is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .chrono-add-subtask[disabled] { opacity: .55; cursor: not-allowed; }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .fsgp-reset { border: 0; background: transparent; text-decoration: underline; color: var(--violet-2, #3d4370); }

/* опасные: «Это спам», «Выйти из группы» */
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.spam-btn, .leave-group-btn, .cm-remove) {
  background: var(--surface-2, #fff); border: 1px solid var(--border-strong, rgba(15,23,42,.16)); color: var(--red, #d64545);
  border-radius: 8px; font-family: var(--font-body, 'Golos Text', sans-serif); font-weight: 600; box-shadow: none; cursor: pointer;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.spam-btn, .leave-group-btn, .cm-remove):hover:not(:disabled) { background: rgba(214,69,69,.06); border-color: var(--red, #d64545); color: var(--red, #d64545); }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .spam-btn { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; min-height: 30px; padding: 5px 12px; }

/* «убрать шаг» и иконка скачивания вложения — спокойные иконки с серым фоном при наведении */
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.btn-remove-step, .attachment-download-btn, .ai-suggestion-dismiss) {
  border-radius: 8px; background: transparent; color: var(--text-dim, #5b6178); box-shadow: none; transition: background .15s, color .15s, border-color .15s;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .btn-remove-step { border: 1px solid var(--border-strong, rgba(15,23,42,.16)); background: var(--surface-2, #fff); }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.attachment-download-btn, .ai-suggestion-dismiss) { border: 0; }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.attachment-download-btn, .ai-suggestion-dismiss):hover { background: rgba(15,23,42,.07); color: var(--text, #16223a); }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .btn-remove-step:hover { background: rgba(214,69,69,.06); border-color: var(--red, #d64545); color: var(--red, #d64545); }

/* стрелки раскрытия строк (Хронология, Гант, Иерархия, Письма) */
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.row-toggle, .chrono-project-toggle, .chrono-row-toggle, .hierarchy-row-expand, .chrono-expand-btn, .comment-toggle) {
  background: transparent; border: 0; border-radius: 6px; color: var(--text-dim, #5b6178); box-shadow: none; cursor: pointer; transition: background .15s, color .15s;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.row-toggle, .chrono-project-toggle, .chrono-row-toggle, .hierarchy-row-expand):hover { background: rgba(15,23,42,.07); color: var(--text, #16223a); }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.chrono-expand-btn, .comment-toggle) { font-family: var(--font-body, 'Golos Text', sans-serif); font-weight: 600; color: var(--violet-2, #3d4370); }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.chrono-expand-btn, .comment-toggle):hover { background: rgba(15,23,42,.06); }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .hierarchy-row-expand { border: 1px solid var(--border-strong, rgba(15,23,42,.16)); background: var(--surface-2, #fff); border-radius: 50%; }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .hierarchy-row-expand:hover { border-color: var(--violet-1, #6b74b8); color: var(--violet-2, #3d4370); background: var(--surface-2, #fff); }

/* Файловая служба: боковое меню, меню действий, «три точки» */
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.fsx-side-item, .fsx-actions-item) {
  border-radius: 8px; color: var(--text-dim, #5b6178); font-family: var(--font-body, 'Golos Text', sans-serif); font-weight: 500; transition: background .15s, color .15s;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.fsx-side-item, .fsx-actions-item):hover { background: rgba(15,23,42,.06); color: var(--text, #16223a); }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .fsx-side-item.active, :is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .fsx-side-item.active:hover {
  background: var(--surface-2, #fff); color: var(--violet-2, #3d4370); font-weight: 600; box-shadow: 0 1px 3px rgba(15,23,42,.12);
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .fsx-side-item.active .fsx-side-count { background: rgba(107,116,184,.14); color: var(--violet-2, #3d4370); }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .fs-actions-btn { border-radius: 8px; color: var(--text-dim, #5b6178); transition: background .15s, color .15s; }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .fs-actions-btn:hover { background: rgba(15,23,42,.07); color: var(--text, #16223a); }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) :is(.fsx-side-item, .fsx-actions-item, .fs-actions-btn, .fsx-splitter-toggle, .row-toggle, .chrono-row-toggle, .hierarchy-row-expand):focus-visible {
  outline: 2px solid var(--violet-1, #6b74b8); outline-offset: 1px;
}

/* ---------- кнопки на тёмной шапке («← К проектам», «← На главную», «Справка», иконки окна чата): тот же вид, что у кнопок доски, в тёмной версии ---------- */
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .back-link:not(.back-link-plain) {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 32px; padding: 0 14px; border-radius: 8px;
  border: 1px solid rgba(255,255,255,.16); background: transparent; color: rgba(243,241,234,.88);
  font: 500 12.5px/1.2 var(--font-body, 'Golos Text', sans-serif); text-decoration: none; cursor: pointer; white-space: nowrap; box-shadow: none;
  transition: background .15s, border-color .15s, color .15s;
}
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .back-link:not(.back-link-plain):hover { background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.32); color: #fff; }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .back-link:not(.back-link-plain):focus-visible { outline: 2px solid var(--violet-1, #6b74b8); outline-offset: 2px; }
:is(body, #mailArchive, #memosArchive, #mailTrash, #mailIncoming, #mailOutgoing, #memosList, #cpQuickAddModal, #quickViewModal) .back-link.widget-icon-btn { min-height: 28px; padding: 0 9px; }

@media (prefers-reduced-motion: reduce) {
  body :is(.btn, .btn-outline, .icon-btn, .ghost-btn, .ab-btn, .air-btn, .tab-btn, .modal-tab-btn, .memo-tab-btn, .seg-btn, .view-tab) { transition: none; }
}

/* ======================================================================
   ПЛАВНЫЕ ПЕРЕХОДЫ (02.11.2026) — слой «движения», подключён последним, как и
   остальной этот файл. Цветов и размеров не меняет, только анимирует то, что
   раньше появлялось и исчезало мгновенно. Работает в Chromium (Chrome, Edge,
   Яндекс Браузер); в остальных браузерах правила просто игнорируются, и всё
   работает как раньше (мгновенно). При системной настройке «уменьшить
   движение» не анимируется ничего.
   1) Переход между страницами (cross-document View Transitions): шаблонные
      страницы приложения — обычные ссылки, не SPA; браузер сам делает плавный
      кросс-фейд между старой и новой страницей. Боковая рельса (.gnav-rail)
      вынесена в отдельный слой с именем — она остаётся на месте, меняется
      только подсветка активного пункта.
      Не анимируются: перезагрузка (F5, автообновление), ввод адреса вручную,
      переход из закладки, открытие в новой вкладке — это ограничение API.
   2) Окна: карточка задачи, просмотр файла и диалог действия на Доске
      (<dialog>), окно предпросмотра вложений (.attachment-modal — две копии
      разметки: _attachment_preview_modal.html и email_detail.html, стили
      анимации одни, здесь). Появление: прозрачность + лёгкий сдвиг; закрытие
      короче появления. Откат: git revert коммита этого слоя.
   ====================================================================== */
:root {
  --motion-fast: 140ms;
  --motion-base: 200ms;
  --motion-page: 180ms;
  --motion-ease: cubic-bezier(.2, .7, .2, 1);
}

@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }

  .gnav-rail { view-transition-name: gnav-rail; }

  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation-duration: var(--motion-page);
    animation-timing-function: var(--motion-ease);
  }
  /* рельса не должна «мигать» кросс-фейдом на месте: пока страница уже та же, фон одинаковый */
  ::view-transition-group(*) { animation-duration: var(--motion-page); animation-timing-function: var(--motion-ease); }

  /* перестроение карточек личной Доски (static/board_user.js, morph()): страница вокруг не анимируется — «новый» снимок страницы
     показывается сразу, а карточки с именами ub-c<id> плавно переезжают на новые места, пропавшие гаснут, новые появляются */
  html.board-vt::view-transition-old(root) { display: none; }
  html.board-vt::view-transition-new(root) { animation: none; }

  /* окна <dialog> Доски (карточка, просмотр файла, диалог) — тем же слоем, но правила лежат в board_user.css:
     тест test_buttons_unified требует, чтобы в этом файле не было селекторов .ub-* */

  /* ---- окно предпросмотра вложений (div с атрибутом hidden) ---- */
  .attachment-modal {
    opacity: 1;
    transition:
      opacity var(--motion-fast) ease-in,
      display var(--motion-fast) allow-discrete;
  }
  .attachment-modal[hidden] { opacity: 0; pointer-events: none; }
  .attachment-modal:not([hidden]) {
    transition-duration: var(--motion-base);
    transition-timing-function: var(--motion-ease);
  }
  .attachment-modal-dialog {
    transform: none;
    transition: transform var(--motion-base) var(--motion-ease);
  }
  .attachment-modal[hidden] .attachment-modal-dialog { transform: translateY(10px) scale(.985); transition-duration: var(--motion-fast); }
  @starting-style {
    .attachment-modal:not([hidden]) { opacity: 0; }
    .attachment-modal:not([hidden]) .attachment-modal-dialog { transform: translateY(10px) scale(.985); }
  }
}
