/* Окно «Почта» (ТЗ почтового клиента, Этап 6). Стиль рабочего приложения app.html:
   плоско, серо-белое, рамки 1px #e6e6e6, кнопки 7px, основная — чёрная, без теней и цветных рамок.
   Палитра — переменные --mc-* из style.css; Docs/PERPLEXITY_STYLE_GUIDE.md — с поправкой владельца
   (кнопки ≤ 7px вместо «пилюль»). Все классы — с префиксом mcm-. */

/* Плавающее окно: по умолчанию — половина ширины экрана по центру (размер и место задаёт JS и
   запоминает); размер — за правый нижний угол; «Развернуть» — класс .mcm-max на весь экран */
.mcm-overlay {
    position: fixed; z-index: 9000; display: none; flex-direction: column;
    min-width: 640px; min-height: 420px; overflow: hidden;   /* размер — ручки .mcm-rs (16.10), не resize: both */
    background: var(--mc-canvas, #f6f6f5); color: var(--mc-text, #1f1f1f);
    border: 1px solid var(--mc-line, #e6e6e6); border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, .10), 0 1px 3px rgba(0, 0, 0, .05);
    font: 14px/1.45 var(--mc-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif);
}
/* развёрнутое — на всю рабочую область правее левого рельса (--rail из style.css): рельс — рамка страницы, окна его не закрывают */
.mcm-overlay.mcm-max {
    /* на 1px на рельс: своя рамка ложится на рамку рельса — одна линия, без щели при дробном масштабе */
    left: calc(var(--rail, 0px) - 1px) !important; top: 0 !important; width: calc(100vw - var(--rail, 0px) + 1px) !important; height: 100vh !important;
    min-width: 0; border-radius: 0; border: none; border-left: 1px solid var(--mc-line, #e6e6e6); resize: none; box-shadow: none;
}
.mcm-head {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: move; user-select: none;
    padding: 10px 16px; background: var(--mc-surface, #fff); border-bottom: 1px solid var(--mc-line, #e6e6e6);
}
.mcm-overlay.mcm-max .mcm-head { cursor: default; }
.mcm-title { font-size: 15px; font-weight: 600; }
.mcm-head-actions, .mcm-actions { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.mcm-body { flex: 1; min-height: 0; display: grid; gap: 0; position: relative;
    grid-template-columns: var(--mcm-nav-w, var(--mcm-nav-def, 230px)) var(--mcm-list-w, var(--mcm-list-def, 380px)) minmax(320px, 1fr); }
/* разделители колонок: тянуть мышью, двойной щелчок — ширина по умолчанию */
.mcm-split { position: absolute; top: 0; bottom: 0; width: 6px; cursor: col-resize; z-index: 2; }
.mcm-split:hover, .mcm-dragging .mcm-split { background: rgba(31, 31, 31, .06); }
.mcm-dragging { user-select: none; cursor: col-resize; }
.mcm-dragging iframe { pointer-events: none; }   /* иначе рамка письма «съедает» движение мыши */
/* ручки размера окна: правый край, нижний край, угол (16.10) — поверх содержимого, на время тяги iframe выключен */
.mcm-rs { position: absolute; z-index: 6; }
.mcm-rs-e { top: 48px; right: 0; bottom: 14px; width: 6px; cursor: ew-resize; }
.mcm-rs-s { left: 0; right: 14px; bottom: 0; height: 6px; cursor: ns-resize; }
.mcm-rs-se { right: 0; bottom: 0; width: 16px; height: 16px; cursor: nwse-resize;
    background: linear-gradient(135deg, transparent 0 55%, #b8b8b8 55% 62%, transparent 62% 72%, #b8b8b8 72% 79%, transparent 79%); }
.mcm-overlay.mcm-max .mcm-rs { display: none; }
.mcm-resizing { user-select: none; }
.mcm-resizing iframe { pointer-events: none; }
.mcm-resizing * { cursor: inherit !important; }   /* курсор ручки (style.cursor окна) — над всем окном, пока тянут */

.mcm-btn {
    height: 30px; padding: 0 12px; border: none; border-radius: 7px; cursor: pointer;
    background: var(--mc-soft, #f3f3f3); color: var(--mc-text, #1f1f1f); font: 500 13px/30px inherit; font-family: inherit;
    transition: background 150ms ease, color 150ms ease;
}
.mcm-btn:hover { background: var(--mc-soft2, #e9e9e9); }
.mcm-btn:disabled { opacity: .5; cursor: not-allowed; }
.mcm-btn:focus-visible, .mcm-icon:focus-visible, .mcm-chip:focus-visible { outline: none; box-shadow: 0 0 0 2px rgba(31, 31, 31, .25); }
.mcm-btn.mcm-primary { background: var(--mc-ink, #1f1f1f); color: #fff; }
.mcm-btn.mcm-primary:hover { background: #3a3a3a; }
.mcm-btn.mcm-danger:hover { color: var(--mc-danger, #b42318); }
.mcm-btn.mcm-small { height: 24px; line-height: 24px; padding: 0 8px; font-size: 12px; }
.mcm-icon {
    width: 30px; height: 30px; border: none; border-radius: 7px; background: transparent; cursor: pointer;
    color: var(--mc-muted, #6f6f6f); font-size: 18px; line-height: 30px; transition: background 150ms ease;
}
/* «Обычный размер окна» (16.10): знак ⧉ шрифтом крупнее соседних — под их размер */
.mcm-icon[data-act="window-reset"] { font-size: 14px; }
.mcm-icon:hover { background: var(--mc-soft, #f3f3f3); color: var(--mc-text, #1f1f1f); }
.mcm-icon.mcm-small { width: 22px; height: 22px; line-height: 22px; font-size: 14px; }

.mcm-nav { display: flex; flex-direction: column; min-height: 0; overflow: hidden; background: var(--mc-surface, #fff); border-right: 1px solid var(--mc-line, #e6e6e6); }
.mcm-nav-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 10px 8px; }
/* строки состояния под ящиками и под списком (приёмка 15.10): писем, места на диске, вложений / в списке, выбрано */
.mcm-status { flex: 0 0 auto; min-height: 28px; box-sizing: border-box; padding: 6px 12px; border-top: 1px solid var(--mc-line, #e6e6e6);
    color: var(--mc-muted, #6f6f6f); font-size: 12px; line-height: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mcm-status:empty { display: none; }
.mcm-nav .mcm-status { white-space: normal; padding: 6px 12px 8px; }
/* связь с серверами ящиков: точка состояния и текст (приёмка 15.10) */
.mcm-conn { display: flex; align-items: baseline; gap: 6px; min-width: 0; line-height: 16px; }
.mcm-conn + .mcm-conn { margin-top: 2px; }
.mcm-conn i { flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; background: #9b9b9b; transform: translateY(-1px); }
.mcm-conn span { min-width: 0; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.mcm-conn.ok i { background: #22a06b; }
.mcm-conn.busy i { background: #9b9b9b; animation: mcm-pulse 1.2s ease-in-out infinite; }
.mcm-conn.warn i { background: #d97706; }
.mcm-conn.err i { background: #dc2626; }
.mcm-conn.err { color: #b91c1c; }
.mcm-conn[data-act] { cursor: pointer; }
.mcm-conn[data-act]:hover span { text-decoration: underline; }
@keyframes mcm-pulse { 50% { opacity: .35; } }
.mcm-acc-err { flex: 0 0 auto; width: 6px; height: 6px; border-radius: 50%; background: #dc2626; }
.mcm-status b { font-weight: 500; color: var(--mc-text, #1f1f1f); }
.mcm-nav-item {
    display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 6px 10px; margin: 1px 0;
    border: none; border-radius: 7px; background: transparent; cursor: pointer; text-align: left;
    color: var(--mc-text, #1f1f1f); font: 13px/1.35 inherit; font-family: inherit;
}
.mcm-nav-item:hover { background: var(--mc-soft, #f3f3f3); }
.mcm-nav-item.active { background: var(--mc-soft2, #e9e9e9); font-weight: 500; }
.mcm-nav-acc { display: flex; justify-content: space-between; align-items: center; margin: 12px 4px 2px 10px;
    color: var(--mc-muted, #6f6f6f); font-size: 12px; overflow: hidden; }
.mcm-nav-acc span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mcm-count { color: var(--mc-muted, #6f6f6f); font-size: 12px; font-variant-numeric: tabular-nums; }

.mcm-list { display: flex; flex-direction: column; min-height: 0; background: var(--mc-surface, #fff); border-right: 1px solid var(--mc-line, #e6e6e6); }
.mcm-list-tools { padding: 10px; border-bottom: 1px solid var(--mc-line, #e6e6e6); }
.mcm-input {
    width: 100%; box-sizing: border-box; padding: 7px 10px; border: 1px solid var(--mc-line, #e6e6e6); border-radius: 7px;
    background: #fff; color: var(--mc-text, #1f1f1f); font: 13px/1.4 inherit; font-family: inherit;
}
.mcm-input:focus, .mcm-select:focus { outline: none; border-color: #9b9b9b; }
/* поиск по почте: крестик «стереть» внутри поля справа (приёмка 15.10) */
.mcm-sform { position: relative; }
.mcm-sform .mcm-input { padding-right: 30px; }
.mcm-sclear { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; padding: 0;
    display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 6px; background: transparent;
    color: #9b9b9b; cursor: pointer; }
.mcm-sclear[hidden] { display: none; }
.mcm-sclear:hover { background: #f0f0f0; color: #1f1f1f; }
.mcm-sclear .mcm-ic { width: 14px; height: 14px; }
.mcm-select { height: 30px; padding: 0 8px; border: 1px solid var(--mc-line, #e6e6e6); border-radius: 7px; background: #fff;
    color: var(--mc-text, #1f1f1f); font: 13px inherit; font-family: inherit; }
.mcm-filters { display: flex; gap: 4px; margin-top: 8px; flex-wrap: wrap; }
.mcm-chip { height: 24px; padding: 0 9px; border: none; border-radius: 7px; background: transparent; cursor: pointer;
    color: var(--mc-muted, #6f6f6f); font: 12px/24px inherit; font-family: inherit; }
.mcm-chip:hover { background: var(--mc-soft, #f3f3f3); }
.mcm-chip.active { background: var(--mc-soft2, #e9e9e9); color: var(--mc-text, #1f1f1f); }
.mcm-rows { flex: 1; overflow-y: auto; }
.mcm-row { padding: 9px 12px; border-bottom: 1px solid var(--mc-line, #e6e6e6); cursor: pointer; }
.mcm-row:hover { background: var(--mc-canvas, #f6f6f5); }
.mcm-row.active { background: var(--mc-soft, #f3f3f3); }
.mcm-row-top, .mcm-row-mid { display: flex; align-items: center; gap: 6px; min-width: 0; }
.mcm-from { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.mcm-date { color: var(--mc-faint, #9b9b9b); font-size: 12px; font-variant-numeric: tabular-nums; }
.mcm-subj { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; color: var(--mc-muted, #6f6f6f); }
.mcm-row.unread .mcm-from, .mcm-row.unread .mcm-subj { font-weight: 600; color: var(--mc-text, #1f1f1f); }
.mcm-snip { color: var(--mc-faint, #9b9b9b); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 2px; }
.mcm-kind { flex-shrink: 0; padding: 0 6px; border-radius: 7px; background: var(--mc-soft, #f3f3f3); color: var(--mc-muted, #6f6f6f);
    font-size: 11px; line-height: 18px; }
/* значок статуса индексации у строки (Р17, T6.8): та же приглушённость, что у пометок вида */
.mcm-dot { flex-shrink: 0; width: 8px; height: 8px; border-radius: 50%; box-sizing: border-box; }
.mcm-dot.st-indexed { background: #6f6f6f; }
.mcm-dot.st-indexing { border: 2px solid #6f6f6f; border-right-color: transparent; }
.mcm-dot.st-waiting { border: 1px solid #9b9b9b; }
.mcm-dot.st-none { background: #e6e6e6; }
.mcm-dot.st-failed { background: var(--mc-danger, #b42318); }
.mcm-more { padding: 10px 12px; color: var(--mc-faint, #9b9b9b); font-size: 12px; }

.mcm-view { display: flex; flex-direction: column; min-height: 0; overflow-y: auto; background: var(--mc-surface, #fff); }
.mcm-empty { margin: auto; padding: 24px; max-width: 420px; text-align: center; color: var(--mc-muted, #6f6f6f); font-size: 13px; }
.mcm-msg-head { padding: 14px 18px 10px; border-bottom: 1px solid var(--mc-line, #e6e6e6); }
.mcm-msg-subj { font-size: 17px; font-weight: 500; margin-bottom: 4px; }
.mcm-meta { color: var(--mc-muted, #6f6f6f); font-size: 12px; }
.mcm-status { margin: 8px 0; font-size: 12px; color: var(--mc-muted, #6f6f6f); }
.mcm-status.st-failed, .mcm-warn { color: var(--mc-danger, #b42318); font-size: 12px; }
.mcm-card { padding: 6px 18px; border-bottom: 1px solid var(--mc-line, #e6e6e6); font-size: 13px; }
.mcm-card-toggle { border: none; background: none; padding: 2px 0; cursor: pointer; color: var(--mc-muted, #6f6f6f); font: 12px inherit; font-family: inherit; }
.mcm-card-toggle::before { content: '▸ '; }
.mcm-card.open .mcm-card-toggle::before { content: '▾ '; }
.mcm-card-body { display: none; padding: 4px 0 6px; }
.mcm-card.open .mcm-card-body { display: block; }
.mcm-atts { padding: 8px 18px; border-bottom: 1px solid var(--mc-line, #e6e6e6); display: flex; flex-direction: column; gap: 4px; }
.mcm-att { display: flex; align-items: center; gap: 6px 8px; flex-wrap: wrap; font-size: 13px; }
/* не переносить — только кнопки и короткие подписи в строке вложения; пояснения переносятся */
.mcm-btn, .mcm-att .mcm-meta, .mcm-date, .mcm-count { white-space: nowrap; }
.mcm-modal-body { overflow-x: hidden; }
.mcm-modal-body > .mcm-meta, .mcm-modal-body form > .mcm-meta { display: block; white-space: normal; margin-bottom: 4px; }
.mcm-att-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 320px; }
.mcm-imgbar { padding: 6px 18px; background: var(--mc-canvas, #f6f6f5); color: var(--mc-muted, #6f6f6f); font-size: 12px; }
.mcm-frame { flex: 1; min-height: 360px; width: 100%; border: none; background: #fff; }

/* окно ответа по высоте колонки: длинная цитата прокручивается внутри поля текста, панель «Отправить» —
   всегда внизу (приёмка 15.10: панель уезжала за край окна); в низком окне прокручивается вся колонка,
   а панель прилипает к её низу */
.mcm-compose { display: flex; flex-direction: column; gap: 8px; padding: 14px 18px 0; flex: 1 1 auto; min-height: 0; }
.mcm-compose > .mcm-actions { position: sticky; bottom: 0; z-index: 1; margin: 0 -18px; padding: 10px 18px 12px;
    background: var(--mc-surface, #fff); border-top: 1px solid var(--mc-line, #e6e6e6); }
.mcm-compose-atts:not(:empty) { max-height: 30%; overflow-y: auto; flex: 0 0 auto; }
.mcm-field { display: grid; grid-template-columns: 110px 1fr; align-items: center; gap: 8px; margin: 4px 0; }
.mcm-field label { color: var(--mc-muted, #6f6f6f); font-size: 12px; }
.mcm-text { min-height: 260px; flex: 1; resize: vertical; font-family: inherit; }
.mcm-compose-atts { display: flex; gap: 4px; flex-wrap: wrap; }

/* плашка свёрнутого окна — над панелью масштаба канваса (#zoom: right 12px, bottom 12px); точное место ставит JS */
.mcm-restore-chip {
    position: fixed; right: 12px; bottom: 64px; z-index: 9001; height: 32px; padding: 0 14px; border: 1px solid var(--mc-line, #e6e6e6);
    border-radius: 7px; background: #fff; color: var(--mc-text, #1f1f1f); cursor: pointer; font: 500 13px inherit;
}

/* Этап 10: ящик без пароля (из файла настроек), форма паролей, список ящиков файла */
.mcm-needpw { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; padding: 0;
    border: 0; border-radius: 6px; background: transparent; color: #b45309; cursor: pointer; }
.mcm-needpw .mcm-ic { width: 14px; height: 14px; }
.mcm-needpw:hover { background: var(--mc-soft, #f3f3f3); }
.mcm-pw-row { padding: 10px 0; border-top: 1px solid var(--mc-line, #e6e6e6); }
.mcm-pw-head { display: flex; align-items: baseline; gap: 8px; margin-bottom: 4px; min-width: 0; }
.mcm-pw-head .mcm-meta { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mcm-pw-state { margin-left: auto; font-size: 12px; color: #b45309; white-space: nowrap; }
.mcm-pw-state.ok { color: #15803d; }
.mcm-imp-list { max-height: 220px; overflow-y: auto; margin-bottom: 8px; }
.mcm-imp-row { display: flex; justify-content: space-between; gap: 10px; padding: 5px 0; border-bottom: 1px solid var(--mc-line, #e6e6e6); font-size: 13px; }
.mcm-imp-row .mcm-meta { text-align: right; }
.mcm-imp-row > span:first-child { flex: 0 0 auto; white-space: nowrap; }

/* меню «Приложения» живёт в верхней строке сайта (#top, z-index 1001) — пока оно открыто, строка над окном почты */
#top:has(#topAppsMenu.open) { z-index: 9050; }

.mcm-modal-wrap { position: fixed; inset: 0; z-index: 9100; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .18); }
.mcm-modal { width: 92%; max-width: 640px; max-height: 85vh; display: flex; flex-direction: column; resize: both; overflow: auto;
    background: #fff; border: 1px solid var(--mc-line, #e6e6e6); border-radius: 12px; }
.mcm-modal-head { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; cursor: move;
    border-bottom: 1px solid var(--mc-line, #e6e6e6); font-weight: 600; }
.mcm-modal-body { padding: 12px 16px 16px; overflow-y: auto; }
.mcm-more-fields { margin: 8px 0; font-size: 13px; }
.mcm-more-fields summary { cursor: pointer; color: var(--mc-muted, #6f6f6f); }
.mcm-ftable { margin: 10px 0; border: 1px solid var(--mc-line, #e6e6e6); border-radius: 8px; max-height: 46vh; overflow-y: auto; overflow-x: auto; }
.mcm-fhead, .mcm-frow { display: grid; grid-template-columns: 118px minmax(0, 1fr) minmax(160px, 1.1fr) 132px 60px; gap: 8px; align-items: center; padding: 6px 10px; }
.mcm-frow .mcm-fhist { min-height: 28px; padding: 2px 6px; font-size: 12px; width: 100%; }
.mcm-fhead { position: sticky; top: 0; background: var(--mc-canvas, #f6f6f5); color: var(--mc-muted, #6f6f6f); font-size: 12px; }
.mcm-frow { border-top: 1px solid var(--mc-line, #e6e6e6); font-size: 13px; }
.mcm-frow > label { cursor: pointer; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mcm-frow > input[type="checkbox"] { justify-self: start; margin-left: 42px; cursor: pointer; }
/* «В базу знаний» у папки — тот же выпадающий список, что в правилах, пониже */
.mcm-ms-btn.mcm-ms-sm { min-height: 28px; padding: 2px 8px 2px 4px; font-size: 12px; }
.mcm-ms-btn.mcm-ms-sm .mcm-ms-chip { height: 20px; font-size: 12px; }
.mcm-ms-btn:disabled { opacity: .45; cursor: default; background: var(--mc-canvas, #f6f6f5); }
.mcm-ms-btn:disabled .mcm-ms-caret { display: none; }
.mcm-frow input:disabled { opacity: .45; }

.mcm-overlay ::-webkit-scrollbar { width: 8px; height: 8px; }
.mcm-overlay ::-webkit-scrollbar-thumb { background: rgba(31, 31, 31, .18); border-radius: 4px; }
.mcm-overlay ::-webkit-scrollbar-track { background: transparent; }

/* колонки по ширине самого окна (ResizeObserver ставит классы) */
.mcm-overlay.mcm-narrow { --mcm-nav-def: 180px; --mcm-list-def: 290px; }
.mcm-overlay.mcm-tight { --mcm-nav-def: 150px; --mcm-list-def: 240px; }
.mcm-overlay.mcm-narrow .mcm-head-actions .mcm-btn { padding: 0 9px; }
.mcm-overlay.mcm-tight .mcm-title { display: none; }
/* строка действий письма в узком окне переносится, а не вылезает */
.mcm-overlay.mcm-narrow .mcm-actions { row-gap: 6px; }

/* флажок с пояснением в настройках ящика */
.mcm-wiz-sum { display: flex; flex-direction: column; gap: 3px; margin: 0 0 10px; padding: 8px 10px; border-radius: 7px; background: var(--mc-canvas, #f6f6f5); font-size: 13px; }
.mcm-wiz-sum .mcm-meta { display: inline-block; min-width: 72px; }
.mcm-more-fields .mcm-subhead { margin: 10px 0 2px; }
.mcm-check { display: flex; align-items: flex-start; gap: 8px; margin: 8px 0 4px; font-size: 13px; cursor: pointer; }
.mcm-check input { margin-top: 3px; }
.mcm-check-hint { display: block; white-space: normal; margin-top: 2px; }

/* атлас (Р26): связи письма в «Карточке» и плашка «Связано с» над списком */
.mcm-ents { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin-top: 6px; }
.mcm-ent { height: 24px; padding: 0 8px; border: none; border-radius: 7px; background: var(--mc-soft, #f3f3f3);
    color: var(--mc-text, #1f1f1f); font: 12px/24px inherit; font-family: inherit; cursor: pointer; white-space: nowrap;
    max-width: 280px; overflow: hidden; text-overflow: ellipsis; }
.mcm-ent:hover { background: var(--mc-soft2, #e9e9e9); }
.mcm-entbar { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 12px;
    background: var(--mc-canvas, #f6f6f5); border-bottom: 1px solid var(--mc-line, #e6e6e6); font-size: 12px; position: sticky; top: 0; z-index: 1; }
.mcm-entbar b { font-weight: 600; }

/* ───────── Кнопки-значки (владелец 15.10): как .top-icon-btn в шапке app.html — 32×32, без фона,
   приглушённый цвет; наведение — плашка --mc-soft и цвет текста; подсказка — .mcm-tip ───────── */
.mcm-ib { position: relative; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
    width: 32px; height: 32px; padding: 0; border: none; border-radius: 7px; background: transparent; cursor: pointer;
    color: var(--mc-muted, #6f6f6f); transition: background 150ms ease, color 150ms ease, transform 150ms ease; }
.mcm-ib:hover { background: var(--mc-soft, #f3f3f3); color: var(--mc-text, #1f1f1f); }
.mcm-ib:active { background: var(--mc-soft2, #e9e9e9); transform: scale(.96); }
.mcm-ib:focus-visible { outline: 2px solid var(--mc-ink, #1f1f1f); outline-offset: 1px; }
.mcm-ib:disabled { opacity: .5; cursor: default; transform: none; }
.mcm-ib.active, .mcm-ib[aria-pressed="true"] { background: var(--mc-soft2, #e9e9e9); color: var(--mc-text, #1f1f1f); }
.mcm-ib[data-danger]:hover { color: var(--mc-danger, #b42318); }
.mcm-ib[data-act="flag"][aria-pressed="true"] { color: var(--mc-danger, #b42318); }
.mcm-ic { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.mcm-btn-ic { display: inline-flex; align-items: center; gap: 6px; }
.mcm-btn-ic .mcm-ic { width: 16px; height: 16px; }
.mcm-tsep { flex-shrink: 0; width: 1px; height: 18px; margin: 0 4px; background: var(--mc-line, #e6e6e6); }
.mcm-tbar { display: flex; align-items: center; gap: 2px; flex-wrap: wrap; margin-top: 8px; }
.mcm-fbar { display: flex; align-items: center; gap: 2px; flex-wrap: wrap; margin-top: 8px; }
.mcm-list, .mcm-list-tools { min-width: 0; }
.mcm-list { overflow: hidden; }
/* узкий список: значки фильтров мельче, чтобы стояли в одну строку */
.mcm-overlay.mcm-narrow .mcm-fbar .mcm-ib { width: 28px; height: 28px; }
.mcm-overlay.mcm-narrow .mcm-fbar .mcm-ic { width: 16px; height: 16px; }
.mcm-head-actions .mcm-tsep { height: 20px; }
@keyframes mcm-spin { to { transform: rotate(360deg); } }
.mcm-ib.mcm-spin .mcm-ic { animation: mcm-spin 900ms linear infinite; }
/* подсказка: тёмная плашка, как всплывающие подписи системы, без стрелки */
.mcm-tip { position: fixed; z-index: 9400; max-width: 260px; padding: 4px 8px; border-radius: 6px; pointer-events: none;
    background: #1f1f1f; color: #fff; font: 12px/1.35 var(--mc-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif);
    white-space: nowrap; box-shadow: 0 2px 8px rgba(0, 0, 0, .15); }
.mcm-menu-ic { display: inline-flex; color: var(--mc-muted, #6f6f6f); }
.mcm-menu-ic .mcm-ic { width: 16px; height: 16px; }
.mcm-menu-check { display: inline-flex; color: var(--mc-text, #1f1f1f); }
.mcm-menu-check .mcm-ico { width: 14px; height: 14px; stroke-width: 2.4; }
.mcm-selbar .mcm-ib { width: 28px; height: 28px; }
.mcm-selbar .mcm-ic { width: 16px; height: 16px; }

/* ───────── Напоминания (Р31): часы у строки, строка в шапке письма, быстрые сроки ───────── */
.mcm-remind { flex-shrink: 0; display: inline-flex; color: var(--mc-muted, #6f6f6f); }
.mcm-remind .mcm-ic { width: 13px; height: 13px; stroke-width: 2; }
.mcm-remind.due { color: #c05621; }
.mcm-remline { display: flex; align-items: center; gap: 8px; padding: 6px 18px; border-bottom: 1px solid var(--mc-line, #e6e6e6);
    background: #fff7ed; font-size: 12px; color: var(--mc-text, #1f1f1f); }
.mcm-remline .mcm-ic { width: 15px; height: 15px; color: #c05621; flex-shrink: 0; }
.mcm-remline span { flex: 1; min-width: 0; }
.mcm-row.mcm-remdue { background: #fff7ed; }
.mcm-remwhat { margin-bottom: 8px; font-size: 13px; color: var(--mc-text, #1f1f1f); }
.mcm-remcur { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font-size: 13px; }
.mcm-remcur .mcm-ic { width: 16px; height: 16px; color: #c05621; }
.mcm-presets { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 6px; margin-bottom: 12px; }
.mcm-preset { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 8px 10px; border: 1px solid var(--mc-line, #e6e6e6);
    border-radius: 7px; background: #fff; cursor: pointer; font: 13px/1.3 inherit; font-family: inherit; color: var(--mc-text, #1f1f1f); text-align: left; }
.mcm-preset:hover { background: var(--mc-soft, #f3f3f3); }

/* ───────── Этап 9: выделение, меню, цвет, папки, книга, редактор, настройки ───────── */
.mcm-overlay [hidden], .mcm-menu [hidden] { display: none !important; }
.mcm-ico { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vertical-align: -2px; }
.mcm-hasatt, .mcm-flagged { flex-shrink: 0; color: var(--mc-muted, #6f6f6f); display: inline-flex; }
.mcm-flagged { color: var(--mc-danger, #b42318); }
.mcm-msg-subj .mcm-flagged, .mcm-msg-subj .mcm-cdot { margin-right: 6px; }
.mcm-rows:focus { outline: none; }
/* выделенные письма: серая плашка, текущее — темнее; цвет письма — полоска слева 3px и лёгкий фон */
.mcm-row { position: relative; }
.mcm-row.selected { background: var(--mc-soft2, #e9e9e9); }
.mcm-row.selected:hover { background: #e2e2e2; }
.mcm-row.colored::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--mcm-row-color); }
.mcm-cdot { display: inline-block; flex-shrink: 0; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; vertical-align: 1px; }
.mcm-selbar:not([hidden]) { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; padding: 6px 10px;
    background: var(--mc-canvas, #f6f6f5); border-bottom: 1px solid var(--mc-line, #e6e6e6); }
.mcm-selcount { font-size: 12px; font-weight: 500; margin-right: auto; }
.mcm-sel-big { font-size: 15px; font-weight: 500; color: var(--mc-text, #1f1f1f); margin-bottom: 12px; }
.mcm-empty p { margin: 0 0 8px; line-height: 1.5; }
.mcm-center { justify-content: center; margin-bottom: 12px; }

/* левая колонка: папки деревом, цвет, перетаскивание */
.mcm-nav-label { display: flex; align-items: center; min-width: 0; overflow: hidden; }
.mcm-fl { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mcm-nav-item.mcm-drop { background: var(--mc-soft2, #e9e9e9); box-shadow: inset 0 0 0 1px #9b9b9b; }
.mcm-nav-sep { height: 1px; margin: 10px 6px; background: var(--mc-line, #e6e6e6); }
/* ящик в левой колонке — сворачивается щелчком (по умолчанию свёрнут) */
/* приёмка 15.10: ящик — уровнем выше папок: крупнее и жирнее, отделён линией; папки сдвинуты под ящик */
/* 16.10: плотнее — было ≈51px на ящик («сильно размашисто») */
.mcm-nav-acc { position: relative; cursor: pointer; gap: 4px; padding: 3px 4px 3px 6px; margin: 3px 0 0; border-radius: 7px;
    user-select: none; color: #4a4a4a; font-size: 14px; font-weight: 500; }
.mcm-nav-acc::before { content: ''; position: absolute; left: 6px; right: 6px; top: -2px; height: 1px; background: var(--mc-line, #e6e6e6); }
/* перетаскивание ящика: линия там, куда он встанет */
.mcm-nav-acc.mcm-acc-before { box-shadow: inset 0 2px 0 #6f6f6f; }
.mcm-nav-acc.mcm-acc-after { box-shadow: inset 0 -2px 0 #6f6f6f; }
.mcm-nav-acc:hover { background: var(--mc-soft, #f3f3f3); color: var(--mc-text, #1f1f1f); }
.mcm-acc-arrow { flex-shrink: 0; width: 12px; font-size: 11px; font-weight: 400; color: var(--mc-muted, #6f6f6f); }
.mcm-acc-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mcm-nav-acc .mcm-count { margin-right: 2px; font-weight: 400; }
/* T6.8: «не в базе» у папки с автоиндексацией — приглушённо, рядом с именем */
.mcm-ni { display: inline-flex; align-items: center; margin: 0 6px 0 4px; color: var(--mc-muted, #6f6f6f); opacity: .7; flex: none; }
.mcm-ni svg { width: 11px; height: 11px; }
.mcm-nav-acc .mcm-icon { font-weight: 400; }
/* папка не собирается в 1Base — видна, как в веб-почте ящика, но бледнее */
.mcm-nav-item[data-off] { color: var(--mc-faint, #9b9b9b); }
.mcm-nav-item[data-off].active { color: var(--mc-muted, #6f6f6f); }

/* контекстное меню */
.mcm-menu { position: fixed; z-index: 9300; min-width: 200px; max-width: 320px; max-height: 70vh; overflow-y: auto; padding: 4px;
    background: #fff; border: 1px solid var(--mc-line, #e6e6e6); border-radius: 8px; box-shadow: 0 6px 24px rgba(0, 0, 0, .12);
    font: 13px/1.35 var(--mc-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif); color: var(--mc-text, #1f1f1f); }
.mcm-menu-item { display: flex; align-items: center; gap: 6px; width: 100%; padding: 6px 10px; border: none; border-radius: 6px;
    background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; white-space: nowrap; }
.mcm-menu-item:hover:not(:disabled) { background: var(--mc-soft, #f3f3f3); }
.mcm-menu-item:disabled { opacity: .45; cursor: default; }
.mcm-menu-item span:first-of-type { flex: 1; overflow: hidden; text-overflow: ellipsis; }
.mcm-menu-item.danger { color: var(--mc-danger, #b42318); }
.mcm-menu-hint, .mcm-menu-arrow { color: var(--mc-faint, #9b9b9b); font-size: 12px; }
.mcm-menu-sep { height: 1px; margin: 4px 6px; background: var(--mc-line, #e6e6e6); }

/* адреса в шапке письма — щелчок открывает меню */
.mcm-addr { cursor: pointer; color: var(--mc-text, #1f1f1f); border-radius: 4px; }
.mcm-addr:hover { background: var(--mc-soft, #f3f3f3); }
.mcm-faint { color: var(--mc-faint, #9b9b9b); }

/* цепочка */
.mcm-thread { padding: 4px 18px 6px; border-bottom: 1px solid var(--mc-line, #e6e6e6); font-size: 12px; }
/* цепочка — тем же видом, что «Карточка»: значок ▸ / ▾ того же размера (приёмка 15.10) */
.mcm-thread-toggle { border: none; background: none; padding: 2px 0; cursor: pointer; color: var(--mc-muted, #6f6f6f); font: 12px inherit; font-family: inherit; }
.mcm-thread-toggle::before { content: '▸ '; }
.mcm-thread.open .mcm-thread-toggle::before { content: '▾ '; }
.mcm-thread-body { display: none; padding: 2px 0 2px; }
.mcm-thread.open .mcm-thread-body { display: block; }
.mcm-thread-item { display: flex; gap: 8px; align-items: center; width: 100%; padding: 4px 6px; border: none; border-radius: 6px;
    background: transparent; cursor: pointer; font: inherit; text-align: left; color: var(--mc-text, #1f1f1f); }
.mcm-thread-item:hover { background: var(--mc-soft, #f3f3f3); }
.mcm-thread-item.current { background: var(--mc-soft2, #e9e9e9); }
.mcm-thread-from { flex-shrink: 0; width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; }
.mcm-thread-snip { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--mc-muted, #6f6f6f); }
/* «В коллекцию…» у цепочки — справа от строки «Цепочка: N писем», тихой кнопкой (T11.9) */
.mcm-thread-coll { float: right; display: inline-flex; align-items: center; gap: 4px; border: none; background: none; padding: 2px 4px;
    border-radius: 6px; cursor: pointer; color: var(--mc-muted, #6f6f6f); font: 12px inherit; font-family: inherit; }
.mcm-thread-coll:hover { background: var(--mc-soft, #f3f3f3); color: var(--mc-text, #1f1f1f); }
.mcm-thread-coll .mcm-ic { width: 13px; height: 13px; }
.mcm-thread-coll.on { color: var(--mc-text, #1f1f1f); }
/* «В коллекцию»: письмо кладётся в базу — значок мерцает (приёмка 15.10: состояние видно на кнопке) */
@keyframes mcm-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .3; } }
.mcm-ib[data-busy] svg, .mcm-thread-coll.busy svg { animation: mcm-pulse 1.1s ease-in-out infinite; }

/* значки строки списка при наведении (приёмка 15.10): в верхней строке перед датой — важное, напомнить,
   прочитано, спам, письма с этой темой, удалить; фон строки закрывает конец имени отправителя и скрепку */
.mcm-row-acts { display: none; flex-shrink: 0; align-items: center; gap: 1px; margin: -3px 2px -3px 0; }
.mcm-row:hover .mcm-row-acts { display: inline-flex; }
/* при наведении значки письма (флажок, скрепка, будильник) уступают место панели — состояние видно на её кнопках */
.mcm-row:hover .mcm-row-top > .mcm-flagged, .mcm-row:hover .mcm-row-top > .mcm-hasatt,
.mcm-row:hover .mcm-row-top > .mcm-remind { display: none; }
.mcm-row-act { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 22px; padding: 0;
    border: none; border-radius: 6px; background: transparent; cursor: pointer; color: var(--mc-muted, #6f6f6f); }
.mcm-row-act svg { width: 14px; height: 14px; }
.mcm-row-act:hover { color: var(--mc-text, #1f1f1f); background: var(--mc-soft2, #e9e9e9); }
.mcm-row-act[aria-pressed="true"] { color: var(--mc-text, #1f1f1f); }
.mcm-row-act[data-act="row-flag"][aria-pressed="true"] { color: #c4392f; }
.mcm-row-act[data-act="row-del"]:hover { color: #c4392f; }
.mcm-thread-body { clear: both; }

/* правила обработки писем (Этап 11): список и редактор */
.mcm-rule-list { margin: 10px 0; border: 1px solid var(--mc-line, #e6e6e6); border-radius: 7px; max-height: 60vh; overflow-y: auto; }
.mcm-rule-row { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-bottom: 1px solid var(--mc-line, #e6e6e6); font-size: 13px; }
.mcm-rule-row:last-child { border-bottom: none; }
.mcm-rule-row.off .mcm-rule-text { opacity: .55; }
.mcm-rule-row > input { margin-top: 3px; flex-shrink: 0; }
.mcm-rule-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.mcm-rule-name { font-weight: 500; color: var(--mc-text, #1f1f1f); }
.mcm-rule-btns { display: flex; gap: 4px; align-items: center; flex-shrink: 0; }
.mcm-rule-empty { padding: 14px 12px; }
.mcm-select.mcm-inline { width: auto; display: inline-block; padding: 2px 6px; }
/* редактор правила (16.10): разделы, строки одной сеткой, коллекции — выпадающим списком */
.mcm-modal.mcm-rule-dlg { max-width: 780px; }
.mcm-modal.mcm-rule-dlg .mcm-modal-body { padding: 14px 18px 0; }
.mcm-rule-form { display: flex; flex-direction: column; gap: 16px; }
.mcm-rule-namef { display: flex; flex-direction: column; gap: 5px; }
.mcm-rule-namef label, .mcm-rule-sec-t { font-size: 12px; font-weight: 600; color: var(--mc-text, #1f1f1f); }
.mcm-rule-sec { display: flex; flex-direction: column; gap: 7px; }
.mcm-rule-sec-h { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; min-height: 26px; }
.mcm-rule-box { display: flex; flex-direction: column; gap: 6px; padding: 10px; background: var(--mc-canvas, #f6f6f5);
    border: 1px solid var(--mc-line, #e6e6e6); border-radius: 8px; }
.mcm-rule-line { display: grid; gap: 6px; align-items: start; }
.mcm-rule-cond { grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr) minmax(0, 1.5fr) 26px; }
.mcm-rule-act { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.7fr) 26px; }
.mcm-rule-line > .mcm-select, .mcm-rule-val > .mcm-select, .mcm-rule-val > .mcm-input { width: 100%; min-width: 0; box-sizing: border-box; }
.mcm-rule-line .mcm-input { height: 30px; }
.mcm-rule-line textarea.mcm-input { height: auto; resize: vertical; }
.mcm-rule-val { min-width: 0; display: flex; align-items: center; min-height: 30px; }
.mcm-rule-val.wide { grid-column: 2 / 4; }
.mcm-rule-x { align-self: start; justify-self: center; margin-top: 4px; }
.mcm-rule-join { padding-left: 4px; color: var(--mc-faint, #9b9b9b); font-size: 11px; line-height: 12px; }
.mcm-rule-none { padding: 4px 2px; color: var(--mc-muted, #6f6f6f); font-size: 13px; }
.mcm-rule-add { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; height: 28px; margin-top: 2px; padding: 0 10px;
    border: none; border-radius: 7px; background: none; color: var(--mc-muted, #6f6f6f); cursor: pointer; font: 500 13px inherit; font-family: inherit; }
.mcm-rule-add:hover { background: var(--mc-soft2, #e9e9e9); color: var(--mc-text, #1f1f1f); }
.mcm-rule-days { display: flex; flex-wrap: wrap; gap: 4px; }
.mcm-rule-pill, .mcm-rule-scope > label { position: relative; display: inline-flex; align-items: center; cursor: pointer; user-select: none; }
.mcm-rule-pill { height: 28px; min-width: 34px; justify-content: center; padding: 0 6px; box-sizing: border-box; border: 1px solid var(--mc-line, #e6e6e6);
    border-radius: 6px; background: #fff; font-size: 12px; }
.mcm-rule-pill:hover { background: var(--mc-soft, #f3f3f3); }
.mcm-rule-pill:has(input:checked) { background: var(--mc-soft2, #e9e9e9); border-color: #b9b9b9; font-weight: 500; }
.mcm-rule-pill input, .mcm-rule-scope input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.mcm-rule-pill:has(input:focus-visible), .mcm-rule-scope > label:has(input:focus-visible) { box-shadow: 0 0 0 2px rgba(31, 31, 31, .25); }
.mcm-rule-range { display: inline-flex; gap: 6px; align-items: center; font-size: 13px; }
.mcm-rule-range .mcm-input { width: 64px; }
.mcm-rule-reply { flex: 1; display: flex; flex-direction: column; gap: 6px; }
.mcm-rule-mode .mcm-seg-b, .mcm-rule-scope .mcm-seg-b { height: 28px; padding: 0 11px; font-size: 12px; }
.mcm-rule-scope-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mcm-rule-since { width: 160px; height: 28px; }
.mcm-rule-hint { white-space: normal; }
.mcm-rule-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; }
.mcm-rule-opts .mcm-check { margin: 0; }
.mcm-rule-foot { position: sticky; bottom: 0; z-index: 1; display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    margin: 0 -18px; padding: 12px 18px 14px; background: #fff; border-top: 1px solid var(--mc-line, #e6e6e6); }
.mcm-rule-foot #mcmRuleOut { flex: 1; min-width: 120px; white-space: normal; }
.mcm-rule-foot-r { display: flex; gap: 6px; margin-left: auto; }
#mcmRuleSample:empty { display: none; }
#mcmRuleSample .mcm-rule-sample { margin-top: 0; }
/* выпадающий список коллекций */
.mcm-ms-btn { width: 100%; min-height: 30px; display: flex; align-items: center; gap: 6px; padding: 3px 8px 3px 6px; box-sizing: border-box;
    border: 1px solid var(--mc-line, #e6e6e6); border-radius: 7px; background: #fff; color: var(--mc-text, #1f1f1f); cursor: pointer; text-align: left;
    font: 13px inherit; font-family: inherit; }
.mcm-ms-btn:hover { border-color: #cfcfcf; }
.mcm-ms-btn[aria-expanded="true"], .mcm-ms-btn:focus-visible { outline: none; border-color: #9b9b9b; }
.mcm-ms-chips { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.mcm-ms-chip { display: inline-flex; align-items: center; gap: 2px; max-width: 100%; height: 22px; padding: 0 2px 0 8px; box-sizing: border-box;
    border-radius: 6px; background: var(--mc-soft2, #e9e9e9); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mcm-ms-x { width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; border-radius: 5px;
    color: var(--mc-muted, #6f6f6f); font-size: 14px; line-height: 1; }
.mcm-ms-x:hover { background: #d9d9d9; color: var(--mc-text, #1f1f1f); }
.mcm-ms-ph { flex: 1; padding-left: 2px; color: var(--mc-faint, #9b9b9b); }
.mcm-ms-caret { flex: 0 0 auto; width: 6px; height: 6px; margin: 0 2px 3px 4px; border: solid var(--mc-muted, #6f6f6f); border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
.mcm-ms-btn[aria-expanded="true"] .mcm-ms-caret { margin-bottom: -3px; transform: rotate(-135deg); }
.mcm-ms-pop { position: absolute; z-index: 5; display: flex; flex-direction: column; max-height: 320px; box-sizing: border-box;
    background: #fff; border: 1px solid var(--mc-line, #e6e6e6); border-radius: 8px; box-shadow: 0 8px 24px rgba(0, 0, 0, .12); overflow: hidden; }
.mcm-ms-findw { padding: 8px 8px 4px; }
.mcm-ms-list { flex: 1; min-height: 0; overflow-y: auto; padding: 4px; }
.mcm-ms-opt { display: flex; align-items: flex-start; gap: 8px; padding: 6px 8px; border-radius: 6px; cursor: pointer; font-size: 13px; }
.mcm-ms-opt:hover { background: var(--mc-soft, #f3f3f3); }
.mcm-ms-opt[hidden] { display: none; }
.mcm-ms-opt input { margin: 2px 0 0; flex-shrink: 0; }
.mcm-ms-text { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.mcm-ms-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mcm-ms-desc { color: var(--mc-muted, #6f6f6f); font-size: 11px; line-height: 1.35; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.mcm-ms-empty, .mcm-ms-nores { padding: 12px; color: var(--mc-muted, #6f6f6f); font-size: 13px; white-space: normal; }
.mcm-ms-foot { display: flex; align-items: center; gap: 6px; padding: 8px; border-top: 1px solid var(--mc-line, #e6e6e6); }
.mcm-ms-foot [data-ms-n] { flex: 1; }
/* узкое окно правила (не окна почты): значение — под полем, крестик — справа от первой строки */
.mcm-rule-form { container-type: inline-size; }
@container (max-width: 600px) {
    .mcm-rule-cond { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 26px; }
    .mcm-rule-cond > .mcm-rule-val, .mcm-rule-cond > .mcm-rule-val.wide { grid-column: 1 / 3; }
    .mcm-rule-cond > .mcm-rule-x { grid-column: 3; grid-row: 1; }
    .mcm-rule-act { grid-template-columns: minmax(0, 1fr) 26px; }
    .mcm-rule-act > .mcm-rule-val { grid-column: 1 / 2; }
    .mcm-rule-act > .mcm-rule-val.empty { display: none; }
    .mcm-rule-act > .mcm-rule-x { grid-column: 2; grid-row: 1; }
    .mcm-rule-opts { grid-template-columns: 1fr; }
}
.mcm-rule-sample { margin-top: 8px; max-height: 180px; overflow-y: auto; font-size: 12px; line-height: 1.6;
    border: 1px solid var(--mc-line, #e6e6e6); border-radius: 7px; padding: 6px 10px; }

/* диалог «В коллекцию базы знаний» */
.mcm-coll-find { width: 100%; margin-bottom: 8px; box-sizing: border-box; }
.mcm-coll-list { max-height: 320px; overflow-y: auto; margin-bottom: 10px; border: 1px solid var(--mc-line, #e6e6e6); border-radius: 7px; }
.mcm-coll-row { display: flex; gap: 10px; align-items: flex-start; padding: 8px 10px; cursor: pointer; font-size: 13px;
    border-bottom: 1px solid var(--mc-line, #e6e6e6); }
.mcm-coll-row:last-child { border-bottom: none; }
.mcm-coll-row:hover { background: var(--mc-soft, #f3f3f3); }
.mcm-coll-row input { margin-top: 2px; flex-shrink: 0; }
.mcm-coll-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mcm-coll-name { font-weight: 500; color: var(--mc-text, #1f1f1f); }
.mcm-coll-desc { overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

/* инструменты над списком */
.mcm-tools-row { margin-top: 8px; }
.mcm-tools-title { font-size: 14px; font-weight: 600; }
.mcm-sort { height: 24px; margin-left: auto; font-size: 12px; }

/* редактор письма */
.mcm-fmtbar { display: flex; align-items: center; gap: 2px; flex-wrap: wrap; padding: 2px 0; }
.mcm-fmtbar .mcm-icon { font-size: 13px; color: var(--mc-text, #1f1f1f); }
.mcm-fmtsep { width: 1px; height: 16px; margin: 0 4px; background: var(--mc-line, #e6e6e6); }
.mcm-btn.mcm-flat { background: transparent; color: var(--mc-muted, #6f6f6f); }
.mcm-btn.mcm-flat:hover { background: var(--mc-soft, #f3f3f3); }
.mcm-editor { min-height: 140px; flex: 1 1 0; overflow-y: auto; line-height: 1.5; font-size: 14px; cursor: text; }
.mcm-editor blockquote { margin: 0 0 0 .8ex; padding-left: 1ex; border-left: 1px solid #ccc; color: #555; }
.mcm-editor .mcm-sig { color: var(--mc-muted, #6f6f6f); }
.mcm-acwrap { position: relative; display: flex; gap: 6px; align-items: center; min-width: 0; }
.mcm-acwrap .mcm-input { flex: 1; min-width: 0; }
/* адресаты карточками (приёмка 15.10): поле — рамка с карточками и полем ввода внутри */
.mcm-chipbox { flex-wrap: wrap; gap: 4px; padding: 3px 4px 3px 6px; min-height: 34px; box-sizing: border-box; cursor: text;
    border: 1px solid var(--mc-line, #e6e6e6); border-radius: 7px; background: #fff; }
.mcm-chipbox:focus-within { border-color: #1f1f1f; box-shadow: 0 0 0 2px rgba(31, 31, 31, .035); }
.mcm-chipbox .mcm-input { flex: 1 1 140px; min-width: 140px; border: none !important; box-shadow: none !important; background: transparent !important;
    padding: 4px 2px; outline: none; }
.mcm-chips { display: contents; }
.mcm-chip { display: inline-flex; align-items: center; gap: 2px; max-width: 100%; padding: 2px 2px 2px 8px; border-radius: 6px;
    background: var(--mc-soft2, #e9e9e9); color: var(--mc-text, #1f1f1f); font-size: 13px; line-height: 20px; cursor: pointer;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mcm-chip:hover { background: #dedede; }
.mcm-chip.bad { background: #fdecea; color: #b91c1c; }
.mcm-chip-x { flex-shrink: 0; width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; padding: 0;
    border: none; border-radius: 4px; background: transparent; cursor: pointer; color: var(--mc-muted, #6f6f6f); font-size: 14px; line-height: 1; }
.mcm-chip-x:hover { background: rgba(0, 0, 0, .08); color: var(--mc-text, #1f1f1f); }
/* выбор адресатов из адресной книги: группы слева, люди справа, выбранные внизу */
.mcm-pick-filters { display: flex; gap: 6px; margin-bottom: 8px; flex-wrap: wrap; }
.mcm-pick-filters .mcm-input { flex: 1 1 260px; min-width: 200px; }
.mcm-pick-filters .mcm-select { flex: 0 1 200px; width: auto; max-width: 240px; }
.mcm-pick { display: flex; gap: 0; height: min(52vh, 460px); border: 1px solid var(--mc-line, #e6e6e6); border-radius: 7px; overflow: hidden; }
.mcm-pick-groups { flex: 0 0 200px; overflow-y: auto; padding: 6px; border-right: 1px solid var(--mc-line, #e6e6e6); background: var(--mc-canvas, #f6f6f5); }
.mcm-pick-g { display: flex; justify-content: space-between; align-items: center; gap: 6px; width: 100%; padding: 6px 8px; border: none;
    border-radius: 6px; background: transparent; cursor: pointer; font: 13px/1.35 inherit; font-family: inherit; text-align: left; color: var(--mc-text, #1f1f1f); }
.mcm-pick-g span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mcm-pick-g:hover { background: var(--mc-soft, #f3f3f3); }
.mcm-pick-g.on { background: var(--mc-soft2, #e9e9e9); font-weight: 500; }
.mcm-pick-gsub { margin: 10px 8px 4px; font-size: 11px; color: var(--mc-faint, #9b9b9b); text-transform: uppercase; letter-spacing: .04em; }
.mcm-pick-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.mcm-pick-head { padding: 8px 12px; border-bottom: 1px solid var(--mc-line, #e6e6e6); font-size: 13px; }
.mcm-pick-all { display: flex; gap: 8px; align-items: center; cursor: pointer; }
.mcm-pick-list { flex: 1; overflow-y: auto; }
.mcm-pick-row { display: flex; gap: 10px; align-items: center; padding: 7px 12px; border-bottom: 1px solid var(--mc-line, #e6e6e6); cursor: pointer; font-size: 13px; }
.mcm-pick-row:hover { background: var(--mc-soft, #f3f3f3); }
.mcm-pick-row.was { opacity: .55; cursor: default; }
.mcm-pick-av { flex: 0 0 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    background: var(--mc-soft2, #e9e9e9); color: var(--mc-muted, #6f6f6f); font-size: 12px; font-weight: 500; }
.mcm-pick-who { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.mcm-pick-who > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mcm-pick-name { color: var(--mc-text, #1f1f1f); }
.mcm-pick-tags { display: flex; gap: 4px; flex-wrap: wrap; justify-content: flex-end; max-width: 40%; }
.mcm-pick-tag { padding: 1px 6px; border-radius: 5px; background: var(--mc-canvas, #f6f6f5); border: 1px solid var(--mc-line, #e6e6e6);
    font-size: 11px; color: var(--mc-muted, #6f6f6f); white-space: nowrap; }
.mcm-pick-sel { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; min-height: 28px; margin: 8px 0 2px; }
.mcm-pick-sel > .mcm-meta { margin-right: 4px; }
@media (max-width: 760px) { .mcm-pick { flex-direction: column; height: auto; } .mcm-pick-groups { flex: 0 0 auto; max-height: 150px; border-right: none;
    border-bottom: 1px solid var(--mc-line, #e6e6e6); } .mcm-pick-list { max-height: 40vh; } }
/* «Кому» / «Копия» / «Скрытая» — щелчком открывают адресную книгу */
.mcm-addr-label { cursor: pointer; text-decoration: underline dotted; text-underline-offset: 3px; }
.mcm-addr-label:hover { color: var(--mc-text, #1f1f1f); }
/* подсказка адресов — поверх окна (в body), место считает JS */
.mcm-ac { position: fixed; z-index: 9300; max-height: 280px; overflow-y: auto; padding: 4px; box-sizing: border-box;
    background: #fff; border: 1px solid var(--mc-line, #e6e6e6); border-radius: 8px; box-shadow: 0 6px 24px rgba(0, 0, 0, .10);
    font: 13px/1.35 var(--mc-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif); }
.mcm-ac-item { display: flex; flex-direction: column; gap: 1px; width: 100%; padding: 6px 8px; border: none; border-radius: 6px;
    background: transparent; cursor: pointer; font: inherit; text-align: left; color: var(--mc-text, #1f1f1f); }
.mcm-ac-item.on, .mcm-ac-item:hover { background: var(--mc-soft, #f3f3f3); }
.mcm-ac-name, .mcm-ac-item .mcm-meta { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
/* «не подсказывать этот адрес» (приёмка 15.10) — крестик справа в подсказке, ярче при наведении на неё */
.mcm-ac-item { position: relative; padding-right: 34px; }
.mcm-ac-x { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; display: flex;
    align-items: center; justify-content: center; border-radius: 6px; font-size: 16px; line-height: 1; color: var(--mc-faint, #9b9b9b); }
.mcm-ac-item.on .mcm-ac-x, .mcm-ac-item:hover .mcm-ac-x { color: var(--mc-muted, #6f6f6f); }
.mcm-ac-x:hover { background: var(--mc-soft2, #e9e9e9); color: #c4392f !important; }
/* редактор в узком окне: поля не шире колонки, подписи короче */
.mcm-compose { min-width: 0; }
.mcm-compose .mcm-field { grid-template-columns: 64px minmax(0, 1fr); }
.mcm-field > * { min-width: 0; }
.mcm-compose .mcm-select { width: 100%; max-width: 100%; }
.mcm-attchip { display: inline-flex; align-items: center; gap: 4px; }
.mcm-x { border: none; background: none; cursor: pointer; color: var(--mc-muted, #6f6f6f); font-size: 13px; padding: 0 2px; }

/* адресная книга */
.mcm-contact { padding: 18px; }
.mcm-kvs { margin: 14px 0; display: flex; flex-direction: column; gap: 8px; }
.mcm-kv { display: grid; grid-template-columns: 110px 1fr; gap: 8px; font-size: 13px; }
.mcm-inline { display: inline-flex; margin: 2px 12px 2px 0; }
.mcm-sugglist { max-height: 50vh; overflow-y: auto; margin: 8px 0; border: 1px solid var(--mc-line, #e6e6e6); border-radius: 8px; }
/* «Из почты в адресную книгу» (16.10): в какие группы добавить */
.mcm-sugg-groups { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 2px 0 8px; }
.mcm-sugg-groups .mcm-chk { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; cursor: pointer; }
.mcm-sugg-newg { flex: 0 1 220px; height: 30px; }
.mcm-sugg { display: flex; gap: 8px; align-items: flex-start; padding: 7px 10px; border-top: 1px solid var(--mc-line, #e6e6e6); cursor: pointer; font-size: 13px; }
.mcm-sugg:first-child { border-top: none; }
.mcm-sugg > span:nth-child(2) { flex: 1; min-width: 0; }
.mcm-block { display: block; }
.mcm-right { white-space: nowrap; }
.mcm-grow { flex: 1; }

/* окна-диалоги: шире для настроек, вкладки */
.mcm-modal.mcm-wide { max-width: 760px; }
/* своё окно подтверждения (вместо системного confirm) */
.mcm-modal.mcm-modal-sm { max-width: 420px; resize: none; }
.mcm-confirm-text { font-size: 14px; line-height: 1.45; color: var(--mc-text, #1f1f1f); }
.mcm-confirm-hint { margin-top: 6px; white-space: normal; }
.mcm-confirm-actions { margin-top: 16px; justify-content: flex-end; }
.mcm-btn.mcm-danger-solid { background: var(--mc-danger, #b42318); color: #fff; }
.mcm-btn.mcm-danger-solid:hover { background: #912018; }
.mcm-tabs { display: flex; gap: 2px; flex-wrap: wrap; margin: -2px 0 12px; border-bottom: 1px solid var(--mc-line, #e6e6e6); }
.mcm-tab { padding: 6px 10px; border: none; border-radius: 7px 7px 0 0; background: transparent; cursor: pointer;
    color: var(--mc-muted, #6f6f6f); font: 13px inherit; font-family: inherit; margin-bottom: -1px; border-bottom: 2px solid transparent; }
.mcm-tab:hover { color: var(--mc-text, #1f1f1f); }
.mcm-tab.active { color: var(--mc-text, #1f1f1f); font-weight: 500; border-bottom-color: var(--mc-ink, #1f1f1f); }
.mcm-subhead { margin: 14px 0 4px; font-size: 13px; font-weight: 600; }
.mcm-modal-foot { margin-top: 14px; padding-top: 10px; border-top: 1px solid var(--mc-line, #e6e6e6); }
.mcm-wnote { white-space: normal; }
.mcm-sharebox { display: flex; gap: 6px; margin-top: 12px; }
/* отклик «Скопировано» на самой кнопке (2 с): зелёная галочка на светлом */
.mcm-btn.mcm-copied, .mcm-btn.mcm-primary.mcm-copied { background: #e7f6ec; color: #1a7f37; }
.mcm-btn.mcm-copied .mcm-ico { stroke-width: 3; }
.mcm-sharebox .mcm-input { flex: 1; }

/* поиск: выделенное слово и место совпадения в строке письма (приёмка 15.10) */
.mcm-row mark { background: #fdf0b3; color: inherit; border-radius: 2px; padding: 0 1px; }
.mcm-hit-where { color: var(--mc-faint, #9b9b9b); }
.mcm-snip.mcm-hit { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

/* «Обсудить в чате» (T6.4): карточка переписки в диалоге — текст писем видит модель, человеку — тема и даты */
.mail-ctx-msg { display: flex; justify-content: flex-start; margin: 6px 0; }
.mail-ctx-card { display: flex; align-items: center; gap: 10px; max-width: 100%; box-sizing: border-box; padding: 8px 10px;
    border: 1px solid var(--mc-line, #e6e6e6); border-radius: 7px; background: var(--mc-surface, #fff); color: var(--mc-text, #1f1f1f); }
.mail-ctx-ic { flex: 0 0 auto; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; color: var(--mc-muted, #6f6f6f); }
.mail-ctx-body { min-width: 0; }
.mail-ctx-title { font-size: 13px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mail-ctx-meta { font-size: 12px; color: var(--mc-muted, #6f6f6f); }
.mail-ctx-open { flex: 0 0 auto; height: 26px; padding: 0 10px; border: 1px solid var(--mc-line, #e6e6e6); border-radius: 6px; background: #fff;
    color: var(--mc-text, #1f1f1f); font: 12px inherit; font-family: inherit; cursor: pointer; }
.mail-ctx-open:hover { background: var(--mc-soft, #f3f3f3); }
/* «Улучшить текст» (T5.4): плашка в углу поля письма и панель сбоку */
.mcm-edrow { display: flex; gap: 10px; flex: 1 1 0; min-height: 140px; }
.mcm-edwrap { position: relative; flex: 1 1 auto; min-width: 0; display: flex; }
.mcm-edwrap > .mcm-editor { flex: 1 1 auto; width: 100%; min-height: 140px; }
/* на уровне первой строки текста (владелец 15.10): в правом верхнем углу поля; пока плашка видна, справа в поле — место под неё */
/* 16.10: «Ответить с ИИ» над «Улучшить текст» — колонка в том же углу, кнопки одной ширины и высоты */
.mcm-ai-chips { position: absolute; right: 8px; top: 7px; display: flex; flex-direction: column; align-items: stretch; gap: 4px; z-index: 1; }
.mcm-improve-chip { display: inline-flex; align-items: center; gap: 5px; height: 26px; padding: 0 10px;
    border: 1px solid var(--mc-line, #e6e6e6); border-radius: 7px; background: #fff; color: var(--mc-text, #1f1f1f); font: 12px inherit; font-family: inherit;
    cursor: pointer; box-shadow: 0 1px 3px rgba(0, 0, 0, .06); }
.mcm-improve-chip[hidden] { display: none; }
.mcm-improve-chip:hover { background: var(--mc-soft, #f3f3f3); }
.mcm-improve-chip .mcm-ic { width: 14px; height: 14px; }
.mcm-improve { flex: 0 0 290px; min-width: 0; overflow-y: auto; box-sizing: border-box; padding: 10px 12px; border: 1px solid var(--mc-line, #e6e6e6);
    border-radius: 7px; background: var(--mc-surface, #fff); font-size: 13px; }
.mcm-improve[hidden] { display: none; }
.mcm-imp-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.mcm-imp-label { margin: 8px 0 4px; font-size: 12px; color: var(--mc-muted, #6f6f6f); }
.mcm-seg { display: flex; flex-wrap: wrap; gap: 4px; }
.mcm-seg-b { height: 26px; padding: 0 9px; border: 1px solid var(--mc-line, #e6e6e6); border-radius: 6px; background: #fff; color: var(--mc-text, #1f1f1f);
    font: 12px inherit; font-family: inherit; cursor: pointer; }
.mcm-seg-b:hover { background: var(--mc-soft, #f3f3f3); }
.mcm-seg-b.on { background: var(--mc-soft2, #e9e9e9); border-color: #b9b9b9; font-weight: 500; }
.mcm-improve .mcm-actions { margin: 12px 0 6px; flex-wrap: wrap; }
.mcm-imp-notes { margin: 8px 0; padding: 8px 10px; border-radius: 6px; background: #fff8e6; }
.mcm-imp-notes ul { margin: 4px 0 0 16px; padding: 0; }
.mcm-imp-err { margin: 8px 0; color: #b91c1c; }.mcm-edwrap.chip-on > .mcm-editor { padding-right: 150px; }
/* граница панели ИИ (16.10): перетаскивается, до половины поля ответа; видна, только пока панель открыта */
.mcm-ai-split { flex: 0 0 6px; align-self: stretch; margin: 0 -8px; border-radius: 3px; cursor: col-resize; z-index: 1; }
.mcm-ai-split:hover, .mcm-resizing .mcm-ai-split { background: rgba(31, 31, 31, .08); }
.mcm-edrow:has(> .mcm-improve[hidden]) > .mcm-ai-split { display: none; }
.mcm-improve { max-width: 50%; }
.mcm-overlay.mcm-narrow .mcm-edrow:has(> .mcm-improve:not([hidden])) > .mcm-ai-split { flex-basis: 6px; margin: -8px 0; cursor: row-resize; }
.mcm-overlay.mcm-narrow .mcm-edrow:has(> .mcm-improve:not([hidden])) > .mcm-improve { max-width: none; max-height: 50%; }
/* узкое окно (16.10): панель «Улучшить текст» / «Ответить с ИИ» — под полем письма, а не сбоку (сбоку поле сжималось в полоску) */
.mcm-overlay.mcm-narrow .mcm-edrow:has(> .mcm-improve:not([hidden])) { flex-direction: column; }
.mcm-overlay.mcm-narrow .mcm-edrow:has(> .mcm-improve:not([hidden])) > .mcm-edwrap { flex: 1 1 0; min-height: 140px; }
.mcm-overlay.mcm-narrow .mcm-improve { flex: 0 0 auto; max-height: 60%; }
/* пересылка и цитата HTML-письма (16.10): картинки из интернета в поле — местом без загрузки; широкие таблицы — по ширине поля */
.mcm-editor img[data-mcm-src] { display: inline-block; min-width: 24px; min-height: 16px; background: #f3f3f3; outline: 1px dashed #d0d0d0; }
.mcm-editor table { max-width: 100%; }
.mcm-editor .mcm-fwd-body img { max-width: 100%; height: auto; }
/* «Ответить с ИИ» (16.10): просьба, коллекции 1Base, источники */
.mcm-ai-ask { width: 100%; box-sizing: border-box; min-height: 74px; resize: vertical; font: 13px/1.4 inherit; font-family: inherit; }
.mcm-ai-colls { max-height: 150px; overflow-y: auto; padding: 4px 6px; border: 1px solid var(--mc-line, #e6e6e6); border-radius: 6px; }
.mcm-ai-coll { display: flex; align-items: center; gap: 6px; padding: 2px 0; font-size: 12px; cursor: pointer; }
.mcm-ai-coll span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mcm-ai-src { margin: 8px 0; font-size: 12px; }
.mcm-ai-src ul { margin: 4px 0 0 16px; padding: 0; }
/* T6.2: человек и его адреса */
.mcm-person { display: flex; flex-direction: column; gap: 6px; min-width: min(380px, 100%); }
.mcm-person-name { font-size: 15px; font-weight: 600; }
.mcm-person-found { display: flex; flex-direction: column; gap: 2px; max-height: 240px; overflow-y: auto; }
.mcm-person-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 5px 0; border-bottom: 1px solid var(--mc-line, #e6e6e6); }
.mcm-person-row > span { display: flex; flex-direction: column; min-width: 0; }
/* 20.10: коллекция папки, которой нет в этом 1Base (настройки перенесены файлом) */
.mcm-ms-chip.mcm-ms-miss { color: var(--mc-muted, #6f6f6f); text-decoration: line-through; }
.mcm-ms-miss-tag { margin-left: 4px; font-size: 11px; text-decoration: none; display: inline-block; color: #b3261e; }

/* окно, придвинутое к рельсу (watchDock → app-win-dock-l): своя рамка на рамке рельса, тени слева нет, левые углы прямые —
   иначе у стыка двойная рамка и тень на рельсе («полоса у рельса», владелец 25.10) */
.mcm-overlay.app-win-dock-l { border-top-left-radius: 0; border-bottom-left-radius: 0; clip-path: inset(-64px -64px -64px 0); translate: -1px 0; }
