/* [AI-41/T10] Беседы в общем инструменте «Чаты» AI-40: полупрозрачные панели,
   единые токены MudBlazor, контраст текста, видимый фокус, крупные касания,
   список и беседа последовательными экранами на телефоне. */
.isida-chat {
    --ic-bg: color-mix(in srgb, var(--mud-palette-surface, #101418) 78%, transparent);
    --ic-line: var(--mud-palette-lines-default, rgba(255, 255, 255, .14));
    --ic-text: var(--mud-palette-text-primary, #f2f4f8);
    --ic-muted: var(--mud-palette-text-secondary, #b8c0cc);
    --ic-accent: var(--mud-palette-primary, #7ab7ff);
    --ic-warn: var(--mud-palette-warning, #ffb74d);
    --ic-own: color-mix(in srgb, var(--ic-accent) 22%, transparent);
    display: grid;
    grid-template-columns: minmax(220px, 300px) 1fr;
    gap: 8px;
    /* Лента и поле ввода — в пределах экрана на любой ширине (AT50): прокручивается лента, не страница. */
    height: calc(100dvh - 120px);
    min-height: 240px;
    color: var(--ic-text);
    font-size: 1rem;
}
.isida-chat:not(.ic-original) button { min-height: 44px; min-width: 44px; border-radius: 10px; border: 1px solid var(--ic-line); background: transparent; color: inherit; cursor: pointer; }
.isida-chat button:focus-visible, .isida-chat textarea:focus-visible, .isida-chat input:focus-visible, .isida-chat .ic-msg:focus-visible {
    outline: 3px solid var(--ic-accent); outline-offset: 2px;
}
.isida-chat .ic-list, .isida-chat .ic-room { background: var(--ic-bg); backdrop-filter: blur(14px); border: 1px solid var(--ic-line); border-radius: 16px; min-height: 0; }
.isida-chat .ic-list { display: flex; flex-direction: column; overflow: hidden; }
.isida-chat .ic-filters { display: flex; gap: 4px; padding: 8px; flex-wrap: wrap; }
.isida-chat .ic-filters [aria-selected="true"] { background: var(--ic-own); border-color: var(--ic-accent); }
.isida-chat .ic-tools { display: flex; gap: 6px; padding: 0 8px 8px; }
.isida-chat .ic-rooms { list-style: none; margin: 0; padding: 0 8px 8px; overflow: auto; }
.isida-chat .ic-room-item { width: 100%; text-align: left; display: grid; gap: 2px; padding: 8px 10px; margin-bottom: 6px; }
.isida-chat .ic-name { font-weight: 600; overflow-wrap: anywhere; }
.isida-chat .ic-label, .isida-chat .ic-muted { color: var(--ic-muted); font-size: .875rem; }
.isida-chat .ic-warn { color: var(--ic-warn); }
.isida-chat .ic-room { display: flex; flex-direction: column; overflow: hidden; min-height: 0; }
.isida-chat .ic-room > * { flex: none; }
.isida-chat .ic-room > .ic-timeline { flex: 1 1 auto; min-height: 0; }
.isida-chat .ic-head { display: flex; align-items: center; gap: 8px; padding: 8px; border-bottom: 1px solid var(--ic-line); flex-wrap: wrap; }
.isida-chat .ic-back { display: none; }
.isida-chat .ic-title { display: grid; flex: 1 1 200px; min-width: 0; }
.isida-chat .ic-title strong { overflow-wrap: anywhere; }
.isida-chat .ic-mode { font-size: .8rem; color: var(--ic-muted); }
.isida-chat .ic-search { flex: 0 1 220px; min-height: 40px; border-radius: 10px; border: 1px solid var(--ic-line); background: transparent; color: inherit; padding: 0 10px; }
.isida-chat .ic-banner { margin: 8px; padding: 8px 10px; border-radius: 10px; background: color-mix(in srgb, var(--ic-warn) 16%, transparent); }
.isida-chat .ic-timeline { list-style: none; margin: 0; padding: 8px; overflow: auto; display: flex; flex-direction: column; gap: 8px; }
.isida-chat .ic-msg { display: grid; grid-template-columns: 36px 1fr auto; gap: 8px; align-items: start; }
.isida-chat .ic-own .ic-bubble { background: var(--ic-own); }
.isida-chat .ic-selected .ic-bubble { outline: 2px dashed var(--ic-accent); }
.isida-chat .ic-avatar { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; display: grid; place-items: center; background: var(--ic-line); }
.isida-chat .ic-bubble { padding: 8px 10px; border-radius: 12px; border: 1px solid var(--ic-line); min-width: 0; }
.isida-chat .ic-meta { display: flex; gap: 8px; font-size: .8rem; color: var(--ic-muted); flex-wrap: wrap; }
.isida-chat .ic-author { color: var(--ic-text); font-weight: 600; }
.isida-chat .ic-badge { font-size: .7rem; padding: 0 6px; border-radius: 6px; border: 1px solid var(--ic-accent); color: var(--ic-accent); }
.isida-chat .ic-text { overflow-wrap: anywhere; white-space: normal; }
.isida-chat .ic-text a { color: var(--ic-accent); }
.isida-chat .ic-quote { font-size: .8rem; color: var(--ic-muted); border-left: 3px solid var(--ic-line); padding-left: 6px; }
.isida-chat .ic-reactions span { display: inline-block; margin-right: 6px; font-size: .85rem; }
.isida-chat .ic-file-card { width: 100%; text-align: left; padding: 8px; }
.isida-chat .ic-composer { display: grid; grid-template-columns: 1fr auto auto; gap: 6px; padding: 8px; border-top: 1px solid var(--ic-line); position: relative; }
.isida-chat textarea { resize: vertical; min-height: 44px; max-height: 40vh; border-radius: 10px; border: 1px solid var(--ic-line); background: transparent; color: inherit; padding: 8px; font: inherit; }
.isida-chat .ic-mentions { position: absolute; bottom: 100%; left: 8px; background: var(--ic-bg); border: 1px solid var(--ic-line); border-radius: 10px; display: grid; }
.isida-chat .ic-dialog { position: fixed; inset: 0; z-index: 1300; display: grid; place-items: center; background: rgba(0, 0, 0, .55); padding: 16px; }
.isida-chat .ic-dialog > * { max-width: min(720px, 100%); max-height: 90vh; overflow: auto; background: var(--mud-palette-surface, #101418); border-radius: 16px; padding: 16px; }
.isida-chat .ic-dialog img, .isida-chat .ic-dialog video { max-width: 100%; max-height: 80vh; }
.isida-chat .ic-menu { display: grid; gap: 4px; }
/* Список и беседа — последовательными экранами, когда самому инструменту тесно (ширина
   контейнера, а не окна: на узком ПК с боковым меню то же, что на телефоне). */
.kvlt-team-chats { container-type: inline-size; }
@container (max-width: 720px) {
    .isida-chat { grid-template-columns: 1fr; }
    .isida-chat.ic-open .ic-list { display: none; }
    .isida-chat .ic-back { display: inline-block; }
    .isida-chat .ic-search { flex: 1 1 140px; min-width: 0; }
    .isida-chat .ic-title { flex: 1 1 calc(100% - 64px); }
    /* Крупный текст (200%): шапка не съедает ленту — название в две строки, режим в одну. */
    .isida-chat .ic-title strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .isida-chat .ic-mode { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
@media (max-width: 768px) {
    /* Телефон (AT50): лента прокручивается внутри, поле ввода всегда над нижним меню
       оболочки (60px) и вырезом экрана; страница целиком не прокручивается. */
    .isida-chat.ic-open .ic-room { height: calc(100dvh - 136px - env(safe-area-inset-bottom)); }
    .isida-chat .ic-timeline { overscroll-behavior: contain; }
}
@media (max-width: 768px) and (orientation: landscape) and (max-height: 500px) {
    .isida-chat.ic-open .ic-room { height: calc(100dvh - 72px - env(safe-area-inset-bottom)); }
    .isida-chat .ic-head { padding: 4px 8px; }
}
@media (prefers-reduced-motion: reduce) { .isida-chat * { transition: none !important; animation: none !important; } }
.kvlt-team-chats, .kvlt-team-chats-host { height: 100%; min-height: 60vh; }
.kvlt-avatar-editor { padding: 12px; border: 1px solid var(--mud-palette-lines-default, rgba(255,255,255,.14)); border-radius: 16px; margin-bottom: 12px; }
.kvlt-avatar-current { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; display: grid; place-items: center; font-size: 2rem; background: var(--mud-palette-lines-default, rgba(255,255,255,.14)); }
.kvlt-avatar-preview { position: relative; width: 160px; height: 160px; overflow: hidden; border-radius: 8px; }
.kvlt-avatar-preview img { width: 100%; height: 100%; object-fit: contain; }
.kvlt-avatar-frame { position: absolute; left: calc(var(--x) * 100%); top: calc(var(--y) * 100%); width: calc(var(--s) * 100%); aspect-ratio: 1; border: 2px solid var(--mud-palette-primary, #7ab7ff); border-radius: 50%; box-shadow: 0 0 0 999px rgba(0,0,0,.45); }
.isida-chat .ic-live { margin: 0 8px 8px; padding: 8px 10px; border-radius: 12px; border: 1px dashed var(--ic-accent); display: grid; gap: 6px; }
.isida-chat .ic-live .ic-stop { justify-self: start; min-height: 36px; }
/* [AI-134] Индикация «чем занята»: три точки и строка сервера. */
.isida-chat .ic-thinking { display: flex; align-items: center; gap: 8px; margin-top: 4px; }
.isida-chat .ic-thinking-dots { display: inline-flex; gap: 3px; }
.isida-chat .ic-thinking-dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--ic-accent); opacity: .3; animation: ic-thinking 1.2s infinite ease-in-out; }
.isida-chat .ic-thinking-dots i:nth-child(2) { animation-delay: .2s; }
.isida-chat .ic-thinking-dots i:nth-child(3) { animation-delay: .4s; }
@keyframes ic-thinking { 0%, 80%, 100% { opacity: .3; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-2px); } }
@media (prefers-reduced-motion: reduce) { .isida-chat .ic-thinking-dots i { animation: none; opacity: .7; } }
.isida-chat .ic-avatar-form { display: grid; gap: 8px; }
.isida-chat .ic-crop { width: min(256px, 70vw); height: auto; aspect-ratio: 1; border-radius: 50%; justify-self: center; background: #000; }
@media (max-height: 500px) {
    .isida-chat { height: calc(100dvh - 64px); }
    .isida-chat .ic-head { padding: 4px 8px; flex-wrap: nowrap; }
    .isida-chat .ic-title strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .isida-chat .ic-mode { display: none; }
    .isida-chat .ic-search { flex: 0 1 160px; min-width: 0; }
}
.isida-chat .ic-viewer { display: grid; gap: 8px; justify-items: center; }
.isida-chat .ic-viewer audio { width: min(480px, 80vw); }

/* [AI-41] Восстановление UX d06f9df^: Chats.razor + chat-cache.js.
   Портрет/шапка, ящик в той же колонке, пузыри, ввод — прежние классы app.css.
   Matrix SDK отвечает за данные; .NET не получает расшифрованные DM. */
.kvlt-chats-main:has(> .kvlt-team-chats) { padding: 0; }
.kvlt-team-chats, .kvlt-team-chats-host { min-height: 0; height: 100%; }
.isida-chat.ic-original {
    --ic-text: var(--пк-текст);
    --ic-muted: var(--пк-текст-тихий);
    --ic-accent: var(--пк-акцент);
    --ic-line: var(--пк-линия-слабая);
    display: flex; flex-direction: column; gap: 0;
    height: 100%; min-height: 0; min-width: 0;
    font-family: var(--пк-шрифт); position: relative;
}
.ic-original [hidden] { display: none !important; }
.ic-original .ic-icon { width: 22px; height: 22px; flex: none; vertical-align: middle; }
.ic-original .ic-room, .ic-original .ic-list {
    background: none; border: 0; border-radius: 0;
    backdrop-filter: none; -webkit-backdrop-filter: none;
    height: 100%; min-height: 0; min-width: 0; width: 100%;
    padding: 14px 16px 12px;
}
.ic-original .ic-list { display: flex; flex-direction: column; gap: 10px; }
.isida-chat.ic-original.kvlt-chats-drawer .ic-list { display: flex; }
.ic-original button { cursor: pointer; }
.ic-original button:not([class*="пк-"]) { min-height: 44px; color: var(--пк-текст); background: var(--пк-стекло-кнопки); border: 1px solid var(--пк-линия-слабая); border-radius: 10px; font: inherit; padding: 6px 12px; }
.ic-original .ic-shelf, .ic-original .ic-members { border: 0; background: none; color: var(--пк-текст-тихий); min-width: 36px; min-height: 36px; }
.ic-original .ic-room { display: flex; flex-direction: column; }
.ic-original .ic-title { display: flex; flex: none; gap: 8px; }
.ic-original .ic-title strong { font-weight: inherit; overflow: hidden; }
.ic-original .ic-title h2 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ic-original .ic-mode { margin: -2px 0 8px; font-size: .75rem; color: var(--пк-текст-тихий); }
.ic-original .ic-room > .ic-feed { flex: 1; min-height: 0; }
.ic-original .ic-timeline { padding: 0; margin: 0; display: block; overflow: visible; list-style: none; }
.ic-original .ic-msg { display: flex; align-items: start; gap: 10px; position: relative; }
.ic-original .ic-own { justify-content: flex-end; }
.ic-original .ic-bubble { border-radius: 14px; padding: 10px 14px; }
.ic-original .ic-own .ic-bubble { background: rgba(22, 62, 94, .72); border-color: rgba(120, 220, 255, .44); }
.ic-original .ic-bubble .ic-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.ic-original .ic-text p { margin: 0 0 .5em; }
.ic-original .ic-text p:last-child { margin-bottom: 0; }
.ic-original .ic-more { min-width: 28px; min-height: 28px; padding: 0; border: 0; color: var(--пк-текст-тихий); background: transparent; }
.ic-original .ic-more .ic-icon { width: 18px; height: 18px; }
.ic-original .ic-msg:not(:hover):not(:focus-within) .ic-more { opacity: .4; }
.ic-original .ic-avatar { border: 1px solid var(--пк-линия); flex: none; }
.ic-original .ic-composer { display: block; padding: 0; border: 0; margin: 8px 0 0; }
.ic-original .ic-composer .пк-ввод { display: flex; }
.ic-original .ic-composer textarea { padding: 11px 4px; border: 0; border-radius: 0; background: transparent; min-width: 0; min-height: 44px; max-height: 140px; resize: none; font: 15px/1.4 var(--пк-шрифт); }
.ic-original .ic-composer textarea:focus-visible { outline: none; box-shadow: none; }
.ic-original .ic-composer button { border: 0; }
.ic-original .ic-composer .ic-send { border-left: 1px solid var(--пк-линия-слабая); border-radius: 12px; }
.ic-original .ic-rooms { padding: 0 6px; margin: 0 -6px; flex: 1; list-style: none; }
.ic-original .ic-room-item { border: 0; border-radius: 10px; background: transparent; margin: 0; }
.ic-original .ic-room-item[aria-current="true"] { background: rgba(53, 201, 255, .16); box-shadow: inset 2px 0 0 var(--пк-акцент); }
.ic-original .ic-label { font-size: 12.5px; color: var(--пк-текст-тихий); }
.ic-original .ic-back { display: inline-flex; align-items: center; justify-content: center; }
.ic-original .ic-search { flex: none; width: 100%; min-width: 0; }
.ic-original .ic-live { border: 0; padding: 0; margin: 6px 0 10px; border-radius: 0; display: flex; }
.ic-original .ic-banner { margin: 4px 0 8px; }
.ic-original .ic-dialog > * { background: var(--пк-стекло-плотное); border: 1px solid var(--пк-линия); color: var(--пк-текст); box-shadow: var(--пк-свечение); }
.ic-original .ic-dialog form { display: grid; gap: 10px; }
.ic-original .ic-dialog :is(input, select) { font: inherit; color: var(--пк-текст); background: var(--пк-стекло-кнопки); border: 1px solid var(--пк-линия-слабая); border-radius: 12px; min-height: 44px; max-width: 100%; padding: 8px 12px; }
.ic-original .ic-file-card.kvlt-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; max-width: min(240px, 100%); width: auto; padding: 0 12px; }
.ic-original .ic-file-card .ic-icon { width: 16px; height: 16px; color: var(--пк-акцент); }
.ic-original .ic-file-card span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ic-original .ic-more { position: absolute; right: -8px; top: 0; }
.ic-original .ic-own .ic-more { left: 0; right: auto; }
.ic-original .ic-msg:not(:hover):not(:focus-within) .ic-more { opacity: 0; }
.ic-original .ic-command-menu { position: absolute; bottom: 100%; left: 0; right: 0; max-height: min(18rem, 45dvh); overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y; -webkit-overflow-scrolling: touch; z-index: 5; background: var(--пк-стекло-плотное); border: 1px solid var(--пк-линия); border-radius: 12px; color: var(--пк-текст); }
.ic-original .ic-command-option { padding: 10px 12px; cursor: pointer; overflow-wrap: anywhere; border-bottom: 1px solid var(--пк-линия-слабая); }
.ic-original .ic-command-option > span, .ic-original .ic-command-option > small { display: block; }
.ic-original .ic-command-option > span[aria-hidden] { float: left; padding-right: 8px; color: var(--пк-акцент); }
.ic-original .ic-command-option > small { color: var(--пк-текст-тихий); }
.ic-original .ic-command-option[aria-selected="true"] { background: rgba(53, 201, 255, .16); box-shadow: inset 2px 0 0 var(--пк-акцент); }
.ic-original .ic-command-description { display: block; width: 100%; margin-top: 8px; }
.ic-original .ic-private-draft { max-height: min(38dvh, 360px); overflow: auto; margin: 8px 0 0; padding: 12px; border: 1px solid var(--пк-линия); border-radius: 12px; background: var(--пк-подложка-текста); font-size: 13px; }
.ic-original .пк-команда-действия { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.ic-original .ic-private-draft pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.ic-original .пк-чат-режимы { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; }
.ic-original .ic-mode-button { width: 38px; min-height: 38px; height: 38px; border-color: transparent; background: transparent; color: var(--пк-текст-тихий); }
.ic-original .ic-mode-button.выбрана { color: var(--пк-акцент-ярко); border-color: var(--пк-линия); background: rgba(53, 201, 255, .12); box-shadow: var(--пк-свечение-кнопки); }
.ic-original .ic-mode-button:hover { color: var(--пк-акцент-ярко); background: rgba(53, 201, 255, .08); }
@media (pointer: coarse), (max-width: 768px) {
    .ic-original .ic-mode-button { width: 44px; min-width: 44px; min-height: 44px; height: 44px; flex: 0 0 44px; }
}
@media (max-width: 768px) {
    .isida-chat.ic-original.ic-open .ic-room { height: 100%; }
    .ic-original .ic-room, .ic-original .ic-list { padding: 14px 16px 12px; }
}

/* AI-42 private editor occupies AI-40 workspace; no second transcript/Razor plaintext. */
.пк-рабочее:has(> [data-isida-client-workspace]:not([hidden])) > :not([data-isida-client-workspace]) { display: none; }
.ic-draft-workspace { height: 100%; min-height: 0; overflow: auto; padding: 16px; }
.isida-chat.ic-draft-workspace { display: block; grid-template-columns: none; min-height: 0; }
.ic-draft-workspace[hidden] { display: none !important; }
.ic-original.ic-draft-workspace .ic-private-draft { max-height: none; margin: 12px 0; }
.ic-draft-workspace .ic-draft-input { display: grid; gap: 8px; margin-top: 16px; }
.ic-draft-workspace textarea { display: block; width: 100%; margin-top: 8px; }
.isida-chat.ic-original.ic-draft-floating { position: fixed; inset: 16px; z-index: 1300; background: var(--пк-стекло-плотное); border: 1px solid var(--пк-линия); border-radius: 16px; height: auto; }
@media (max-width: 768px) {
    .isida-chat.ic-original.ic-draft-floating { inset: 0; border: 0; border-radius: 0; padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom)); }
}

/* [AI-46] Список чатов и беседа по образцу Telegram, в стекле Исиды: поиск сверху,
   папки-чипы, строка «аватар · имя · время / последняя реплика · счётчик», плавающая «+».
   Беседа на телефоне — отдельный экран со стрелкой назад; полки и ключи — в меню «Ещё». */
.ic-original .ic-list { position: relative; }
.ic-original .пк-ящик-шапка { gap: 8px; }
.ic-original .пк-ящик-шапка h3 { flex: 1; font-size: 22px; }
.ic-original .пк-ящик-профиль { flex: 0 1 160px; height: 36px; min-width: 0; }
.ic-original .ic-list-menu { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 12px; background: transparent; color: var(--пк-текст-тихий); }
.ic-original .ic-list-menu:hover { color: var(--пк-акцент-ярко); background: rgba(53, 201, 255, .08); }
.ic-original .пк-поиск { border-radius: 999px; height: 42px; }
.ic-original .ic-rooms { padding-bottom: 76px; }
.ic-original .пк-строка { width: 100%; display: flex; align-items: center; gap: 12px; padding: 8px 10px; min-height: 64px; text-align: left; color: var(--пк-текст); }
.ic-original .пк-строка:hover { background: rgba(53, 201, 255, .08); }
.пк-строка-аватар { width: 50px; height: 50px; flex: none; border-radius: 50%; object-fit: cover; object-position: 50% 16%; border: 1px solid var(--пк-линия); background: #04121e; }
/* [AI-105] Зелёная точка «в сети» на фото собеседника личной беседы. */
.пк-строка-фото { position: relative; flex: none; display: inline-flex; }
.пк-строка-сеть { position: absolute; right: 1px; bottom: 1px; width: 13px; height: 13px; border-radius: 50%; background: var(--пк-успех); border: 2px solid #04121e; box-shadow: 0 0 6px rgba(79, 217, 138, .8); }
.пк-строка-знак { display: inline-flex; align-items: center; justify-content: center; font: 600 20px var(--пк-шрифт); color: #fff;
    background: radial-gradient(circle at 50% 35%, hsl(var(--оттенок, 200) 55% 42%), hsl(var(--оттенок, 200) 60% 18%)); }
.пк-строка-знак.избранное { background: radial-gradient(circle at 50% 35%, rgba(53, 201, 255, .7), rgba(4, 40, 70, .95)); }
.пк-строка-знак .ic-icon { width: 24px; height: 24px; }
.пк-строка-тело { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.пк-строка-верх, .пк-строка-низ { display: flex; align-items: center; gap: 8px; min-width: 0; }
.пк-строка-верх .ic-name { flex: 1; min-width: 0; font: 600 15.5px var(--пк-шрифт); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; overflow-wrap: normal; }
.пк-строка-верх time { flex: none; font-size: 12px; color: var(--пк-текст-тихий); }
.пк-строка-низ .ic-label { flex: 1; min-width: 0; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.пк-строка-счёт { flex: none; min-width: 22px; height: 22px; padding: 0 7px; border-radius: 11px; background: var(--пк-акцент); color: #04121e; font: 600 12px/22px var(--пк-шрифт); text-align: center; }
.пк-строка-счёт.тихо { background: rgba(160, 180, 200, .35); color: var(--пк-текст); }
.пк-строка-закреп { flex: none; color: var(--пк-текст-тихий); }
.пк-строка-закреп .ic-icon { width: 16px; height: 16px; }
.ic-original .ic-menu h3 { margin: 0 0 4px; font: 600 16px var(--пк-шрифт); }
.ic-original .ic-dialog .ic-menu button { display: flex; align-items: center; gap: 10px; text-align: left; }
.пк-чат-подпись { display: block; font-size: 12.5px; color: var(--пк-текст-тихий); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ic-original .пк-чат-шапка .ic-members, .ic-original .пк-чат-шапка .ic-shelf { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; }
.ic-original .пк-чат-назад { display: none; width: 40px; height: 44px; min-height: 44px; flex: none; align-items: center; justify-content: center; margin-left: -8px; padding: 0; border: 0; border-radius: 12px; background: transparent; color: var(--пк-текст); }
.ic-original .ic-mic { color: var(--пк-акцент); }
/* Поле пусто — справа микрофон, есть текст — «Отправить» (Telegram); без круга окна — всегда «Отправить». */
.ic-original:not(.ic-с-миком) .ic-mic { display: none !important; }
.ic-original.ic-с-миком .ic-composer:not(.пусто) .ic-mic { display: none !important; }
.ic-original.ic-с-миком .ic-composer.пусто .ic-send { display: none !important; }
@media (max-width: 767px), (pointer: coarse) and (max-height: 500px) {
    .ic-original .пк-чат-назад { display: inline-flex; }
    .ic-original .пк-чат-шапка { gap: 10px; padding-bottom: 6px; }
    .ic-original .пк-чат-шапка .пк-аватар { width: 40px; height: 40px; }
    .ic-original .пк-чат-шапка .пк-чат-имя { font-size: 17px; }
    /* Режимы, «Чаты ▾», «+» и заголовок под шапкой — на экране списка; в беседе только она сама. */
    .ic-original .ic-drawer, .ic-original .пк-чат-новый, .ic-original .пк-чат-режимы, .ic-original .ic-title { display: none !important; }
    .ic-original .ic-back { display: none !important; }
    .ic-original .ic-mode { display: none !important; }
    /* Список на телефоне — экран выбора, а не боковая колонка: текущую строку не подсвечиваем. */
    .ic-original .ic-room-item[aria-current="true"] { background: transparent; box-shadow: none; }
    .ic-original .ic-room, .ic-original .ic-list { padding: 10px 12px 8px; }
    .ic-original .ic-rooms { margin: 0 -12px; padding: 0 2px 76px; }
    .ic-original .ic-composer { margin-top: 4px; }
    .ic-original .пк-ввод-низ { display: none; }
}
/* [AI-46] Карточка группы: фото крупно по центру, название, «Выбрать фото», участники. */
.ic-original .ic-group-info { display: grid; justify-items: center; gap: 8px; min-width: min(360px, 86vw); text-align: center; }
.ic-original .ic-group-photo { width: 112px; height: 112px; border-radius: 50%; object-fit: cover; border: 1px solid var(--пк-линия); font-size: 44px; box-shadow: 0 0 18px rgba(53, 201, 255, .3); }
.ic-original .ic-group-info h3 { margin: 4px 0 0; font: 600 20px var(--пк-шрифт); }
.ic-original .ic-group-info p { margin: 0; }
.ic-original .ic-group-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.ic-original .ic-group-members { list-style: none; margin: 6px 0; padding: 0; width: 100%; text-align: left; max-height: 36vh; overflow-y: auto; }
.ic-original .ic-group-members li { padding: 8px 4px; border-bottom: 1px solid var(--пк-линия-слабая); }
/* [AI-48] Диктовка: кнопка во время записи не меняется — ни размер, ни вид (без скачков). */
.ic-original .ic-mic { touch-action: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }

/* [AI-50] Папки чатов — значками в сегментированной стеклянной полосе: ровные
   ячейки, выбранная — светящаяся капсула бирюзы; счётчик — точкой-числом в углу.
   «+» выкатывает влево ряд значков видов чата, промах мимо закрывает. */
.пк-фильтры { position: relative; display: flex; gap: 4px; flex: none; padding: 4px; border-radius: 18px;
    border: 1px solid var(--пк-линия-слабая); background: linear-gradient(180deg, rgba(10, 30, 48, .72), rgba(4, 14, 24, .72));
    box-shadow: inset 0 1px 0 rgba(170, 235, 255, .08), 0 6px 18px rgba(0, 0, 0, .25); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.ic-original .пк-фильтр { position: relative; flex: 1 1 0; min-width: 0; height: 40px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 0; border-radius: 14px; background: transparent; color: var(--пк-текст-тихий);
    transition: color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .12s ease; -webkit-tap-highlight-color: transparent; }
.ic-original .пк-фильтр .ic-icon { width: 21px; height: 21px; stroke-width: 1.6; }
.ic-original .пк-фильтр:hover { color: var(--пк-текст); background: rgba(53, 201, 255, .07); }
.ic-original .пк-фильтр:active { transform: scale(.94); }
.ic-original .пк-фильтр.выбрана { color: #eafcff;
    background: radial-gradient(120% 140% at 50% 0%, rgba(111, 214, 255, .42), rgba(30, 120, 170, .28) 55%, rgba(8, 40, 64, .55));
    box-shadow: inset 0 0 0 1px rgba(150, 230, 255, .55), 0 0 16px rgba(53, 201, 255, .35); }
.ic-original .пк-фильтр.выбрана .ic-icon { filter: drop-shadow(0 0 5px rgba(140, 225, 255, .8)); }
.ic-original .пк-фильтр:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--пк-акцент); }
.пк-фильтр-счёт { position: absolute; top: 3px; right: calc(50% - 22px); min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px;
    background: var(--пк-акцент); color: #04121e; font: 700 10px/16px var(--пк-шрифт); text-align: center; box-shadow: 0 0 0 2px rgba(6, 20, 32, .95); }

.ic-original .пк-фаб-зона { position: absolute; right: 18px; bottom: 18px; z-index: 3; }
.ic-original .пк-фаб { position: relative; width: 56px; height: 56px; min-height: 56px; flex: none; display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%; border: 1px solid rgba(150, 230, 255, .6);
    background: radial-gradient(circle at 50% 30%, rgba(111, 214, 255, .7), rgba(20, 110, 160, .9) 55%, rgba(6, 40, 66, .98));
    color: #fff; box-shadow: 0 8px 22px rgba(0, 0, 0, .5), 0 0 22px rgba(53, 201, 255, .42); transition: transform .2s ease, box-shadow .2s ease; }
.ic-original .пк-фаб .ic-icon { width: 26px; height: 26px; transition: transform .22s ease; }
.ic-original .пк-фаб-зона.открыта .пк-фаб .ic-icon { transform: rotate(135deg); }
.ic-original .пк-фаб-зона.открыта .пк-фаб { box-shadow: 0 8px 22px rgba(0, 0, 0, .5), 0 0 28px rgba(53, 201, 255, .6); }
.ic-original .пк-фаб-панель { position: absolute; right: calc(100% + 10px); top: 50%; display: flex; flex-direction: row; gap: 8px; padding: 6px; border-radius: 28px;
    border: 1px solid var(--пк-линия-слабая); background: linear-gradient(180deg, rgba(10, 30, 48, .9), rgba(4, 14, 24, .92));
    box-shadow: 0 8px 22px rgba(0, 0, 0, .45); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
    transform-origin: right center; transform: translate(24px, -50%) scaleX(.4); opacity: 0; pointer-events: none;
    transition: transform .22s cubic-bezier(.2, .9, .3, 1.2), opacity .16s ease; }
.ic-original .пк-фаб-зона.открыта .пк-фаб-панель { transform: translate(0, -50%); opacity: 1; pointer-events: auto; }
.ic-original .пк-фаб-вид { width: 44px; height: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0;
    border-radius: 50%; border: 1px solid rgba(150, 230, 255, .35); background: rgba(53, 201, 255, .1); color: var(--пк-акцент-ярко);
    opacity: 0; transform: translateX(10px) scale(.8); transition: opacity .18s ease, transform .2s ease, background-color .15s ease; }
.ic-original .пк-фаб-вид .ic-icon { width: 21px; height: 21px; }
.ic-original .пк-фаб-вид:hover { background: rgba(53, 201, 255, .22); }
.ic-original .пк-фаб-зона.открыта .пк-фаб-вид { opacity: 1; transform: none; }
.ic-original .пк-фаб-зона.открыта .пк-фаб-вид:nth-child(3) { transition-delay: .03s; }
.ic-original .пк-фаб-зона.открыта .пк-фаб-вид:nth-child(2) { transition-delay: .06s; }
.ic-original .пк-фаб-зона.открыта .пк-фаб-вид:nth-child(1) { transition-delay: .09s; }
@media (prefers-reduced-motion: reduce) { .ic-original .пк-фаб-панель, .ic-original .пк-фаб-вид, .ic-original .пк-фаб .ic-icon { transition: none; } }

/* [AI-54] Скрепка: панель «Фото или видео / Файл» выезжает вверх над полем ввода,
   тем же стеклом, что панель «+»; промах мимо закрывает. */
.ic-original .ic-attach-zone { position: relative; flex: none; display: inline-flex; }
.ic-original .ic-attach-zone.открыта .ic-attach { color: var(--пк-акцент-ярко); }
.ic-original .ic-attach-panel { position: absolute; left: -2px; bottom: calc(100% + 12px); z-index: 4; display: flex; flex-direction: column; gap: 6px; padding: 6px;
    border-radius: 18px; border: 1px solid var(--пк-линия-слабая); background: linear-gradient(180deg, rgba(10, 30, 48, .94), rgba(4, 14, 24, .96));
    box-shadow: 0 10px 26px rgba(0, 0, 0, .5); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
    transform-origin: left bottom; transform: translateY(10px) scale(.85); opacity: 0; pointer-events: none;
    transition: transform .2s cubic-bezier(.2, .9, .3, 1.2), opacity .15s ease; }
.ic-original .ic-attach-zone.открыта .ic-attach-panel { transform: none; opacity: 1; pointer-events: auto; }
.ic-original .ic-attach-panel .ic-attach-вид { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 16px 0 10px; border-radius: 14px;
    border: 1px solid rgba(150, 230, 255, .25); background: rgba(53, 201, 255, .08); color: var(--пк-текст); font: 14.5px var(--пк-шрифт); white-space: nowrap; }
.ic-original .ic-attach-panel .ic-attach-вид .ic-icon { width: 22px; height: 22px; color: var(--пк-акцент-ярко); }
.ic-original .ic-attach-panel .ic-attach-вид:hover { background: rgba(53, 201, 255, .18); }
@media (prefers-reduced-motion: reduce) { .ic-original .ic-attach-panel { transition: none; } }

/* [AI-56] Фото и видео в ленте: миниатюра с закруглением и рамкой стекла, у видео —
   значок воспроизведения; место под картинку занято заранее (aspect-ratio). */
.ic-original .kvlt-chips.ic-media-row { display: block; }
.ic-original .ic-media-thumb { position: relative; display: block; width: min(280px, 72vw); max-height: 360px; padding: 0; overflow: hidden;
    border-radius: 16px; border: 1px solid rgba(150, 230, 255, .35); background: radial-gradient(circle at 50% 40%, rgba(40, 110, 160, .35), rgba(4, 14, 24, .9));
    box-shadow: 0 6px 18px rgba(0, 0, 0, .35); cursor: zoom-in; }
.ic-original .ic-msg.ic-own .ic-media-thumb { margin-left: auto; }
.ic-original .ic-media-thumb img, .ic-original .ic-media-thumb video { display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.ic-original .ic-thumb-ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--пк-акцент); opacity: .7; }
.ic-original .ic-thumb-ph .ic-icon { width: 34px; height: 34px; }
.ic-original .ic-thumb-play { position: absolute; left: 50%; top: 50%; width: 52px; height: 52px; margin: -26px 0 0 -26px; display: flex; align-items: center; justify-content: center;
    border-radius: 50%; background: rgba(4, 16, 28, .62); border: 1px solid rgba(150, 230, 255, .55); color: #fff; box-shadow: 0 0 16px rgba(53, 201, 255, .35);
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.ic-original .ic-thumb-play .ic-icon { width: 30px; height: 30px; margin-left: 3px; }
.ic-original .ic-media-thumb:hover { border-color: var(--пк-линия); }

/* Просмотр фото и видео — во весь экран на тёмном фоне; закрытие — крестик или фон. */
.ic-original .ic-dialog:has(.ic-viewer-media) { padding: 0; background: rgba(0, 4, 8, .94); }
.ic-original .ic-dialog > .ic-viewer-media { max-width: 100vw; max-height: 100dvh; width: 100vw; height: 100dvh; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none;
    display: flex; align-items: center; justify-content: center; }
.ic-original .ic-viewer-media img, .ic-original .ic-viewer-media video { max-width: 100vw; max-height: 100dvh; object-fit: contain; }
.ic-original .ic-viewer-media .ic-close { position: absolute; top: max(12px, env(safe-area-inset-top)); right: 12px; width: 44px; height: 44px; min-height: 44px; padding: 0;
    display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid rgba(150, 230, 255, .4); background: rgba(4, 16, 28, .7); color: #fff; }

/* [AI-59] Список из кеша до подключения и мини-окно общего чата фич. */
.ic-original.ic-из-кеша .ic-list { display: flex; }
.ic-original .kvlt-chat-sync { font-size: 12.5px; }
/* [AI-61] Каркас списка на доли секунды загрузки модуля — без слов и без ожидания. */
.kvlt-chat-wait { display: grid; gap: 10px; padding: 64px 12px 12px; }
.kvlt-chat-wait i { display: block; height: 58px; border-radius: 14px; background: linear-gradient(90deg, rgba(53, 201, 255, .05), rgba(53, 201, 255, .12), rgba(53, 201, 255, .05)); background-size: 200% 100%; animation: kvlt-chat-wait 1.2s linear infinite; }
@keyframes kvlt-chat-wait { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .kvlt-chat-wait i { animation: none; } }
.ic-original.ic-compact .пк-чат-назад, .ic-original.ic-compact .ic-drawer, .ic-original.ic-compact .пк-чат-новый,
.ic-original.ic-compact .пк-чат-режимы, .ic-original.ic-compact .ic-title, .ic-original.ic-compact .ic-list { display: none !important; }
.ic-original.ic-compact .ic-room { display: flex !important; padding: 10px 12px 8px; }

/* [AI-60] Подпись Blazor — только пока скрипт клиента ещё ничего не нарисовал. */
.kvlt-team-chats:has(.kvlt-team-chats-host:not(:empty)) > .kvlt-chat-wait { display: none; }

/* [AI-62] Шапка чатов: лицо действующего ассистента со стрелкой — панель лиц выкатывается
   вправо; архив и корзина — значками справа. */
.ic-original .пк-ящик-шапка { display: flex; align-items: center; gap: 6px; }
.ic-original .пк-ящик-место { flex: 1; }
.ic-original .ic-assistant-zone { position: relative; display: flex; align-items: center; }
.ic-original .ic-assistant-btn { position: relative; width: 50px; height: 50px; min-height: 50px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.ic-original .ic-asst-img { display: block; width: 46px; height: 46px; margin: 2px; border-radius: 50%; object-fit: cover; object-position: 50% 16%;
    border: 1px solid var(--пк-линия); background: #04121e; box-shadow: 0 0 14px rgba(53, 201, 255, .35); }
.ic-original .ic-asst-arrow { position: absolute; left: 50%; bottom: -4px; width: 20px; height: 16px; margin-left: -10px; display: flex; align-items: center; justify-content: center;
    border-radius: 8px; background: #0b2234; border: 1px solid rgba(120, 220, 255, .55); color: var(--пк-акцент-ярко); transition: transform .2s ease; }
.ic-original .ic-asst-arrow .ic-icon { width: 14px; height: 14px; }
.ic-original .ic-assistant-zone.открыта .ic-asst-arrow { transform: rotate(180deg); }
/* [AI-63] Список ассистентов выкатывается вниз (владелец 15.10). */
.ic-original .ic-assistant-panel { position: absolute; left: -4px; top: calc(100% + 8px); z-index: 20; display: flex; flex-direction: column; gap: 4px; padding: 6px;
    max-height: min(60vh, 420px); overflow-y: auto; min-width: 200px;
    border-radius: 18px; border: 1px solid var(--пк-линия-слабая); background: linear-gradient(180deg, rgba(10, 30, 48, .96), rgba(4, 14, 24, .97));
    box-shadow: 0 10px 26px rgba(0, 0, 0, .5); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
    transform-origin: top left; transform: translateY(-10px) scaleY(.6); opacity: 0; pointer-events: none;
    transition: transform .22s cubic-bezier(.2, .9, .3, 1.2), opacity .15s ease; }
.ic-original .ic-assistant-zone.открыта .ic-assistant-panel { transform: none; opacity: 1; pointer-events: auto; }
.ic-original button.ic-asst-choice { display: flex; flex-direction: row; align-items: center; gap: 10px; width: 100%; min-height: 50px; padding: 4px 12px 4px 4px; border: 0; border-radius: 14px; background: transparent; color: var(--пк-текст); font: 14px var(--пк-шрифт); text-align: left; cursor: pointer; }
.ic-original .ic-asst-choice:hover { background: rgba(53, 201, 255, .08); }
.ic-original .ic-asst-choice span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ic-original .ic-asst-choice .ic-asst-img { width: 42px; height: 42px; margin: 0; box-shadow: none; }
.ic-original .ic-asst-choice.выбрана .ic-asst-img { border-color: #8fe3ff; box-shadow: 0 0 0 2px rgba(53, 201, 255, .45), 0 0 14px rgba(53, 201, 255, .5); }
.ic-original .ic-asst-choice.выбрана { color: var(--пк-акцент-ярко); }
.ic-original button.ic-shelf-btn { width: 40px; height: 40px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 12px; background: transparent; color: var(--пк-текст-тихий); cursor: pointer; }
.ic-original .ic-shelf-btn:hover { color: var(--пк-акцент-ярко); background: rgba(53, 201, 255, .08); }
.ic-original .ic-shelf-btn.выбрана { color: var(--пк-акцент-ярко); background: rgba(53, 201, 255, .16); box-shadow: inset 0 0 0 1px rgba(150, 230, 255, .45); }
@media (prefers-reduced-motion: reduce) { .ic-original .ic-assistant-panel, .ic-original .ic-asst-arrow { transition: none; } }

/* [AI-63] Архив и корзина — фильтры в правой части строки поиска. */
.ic-original .пк-поиск { padding-right: 4px; }
.ic-original .пк-поиск button.ic-shelf-btn { width: 34px; height: 34px; min-height: 34px; border-radius: 50%; flex: none; }
.ic-original .пк-поиск .ic-shelf-btn .ic-icon { width: 18px; height: 18px; }

/* [AI-63] Единая карточка настроек беседы (по образцу карточки группы): фото, имя,
   подпись, строки действий, участники; крестик в углу, миссклик закрывает. */
.ic-original .ic-dialog > .ic-card { position: relative; display: grid; justify-items: center; gap: 8px; width: min(400px, 92vw); padding: 22px 16px 16px; text-align: center; border-radius: 20px; }
.ic-original button.ic-card-x { position: absolute; top: 8px; right: 8px; width: 36px; height: 36px; min-height: 36px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: transparent; color: var(--пк-текст-тихий); cursor: pointer; }
.ic-original .ic-card-x:hover { color: var(--пк-текст); background: rgba(53, 201, 255, .08); }
.ic-original .ic-card-photo { width: 112px; height: 112px; border-radius: 50%; object-fit: cover; object-position: 50% 16%; border: 1px solid var(--пк-линия); font-size: 44px; box-shadow: 0 0 18px rgba(53, 201, 255, .3); background: #04121e; }
.ic-original .ic-card-photo .ic-icon { width: 46px; height: 46px; }
.ic-original .ic-card h3 { margin: 4px 0 0; font: 600 20px var(--пк-шрифт); }
.ic-original .ic-card > p { margin: 0; }
.ic-original .ic-card-rows { display: grid; width: 100%; margin-top: 6px; border-top: 1px solid var(--пк-линия-слабая); }
.ic-original button.ic-card-row { display: flex; align-items: center; gap: 14px; width: 100%; min-height: 48px; padding: 0 10px; border: 0; border-bottom: 1px solid var(--пк-линия-слабая); border-radius: 0; background: transparent; color: var(--пк-текст); font: 15px var(--пк-шрифт); text-align: left; cursor: pointer; }
.ic-original .ic-card-row:hover, .ic-original .ic-card-row:focus-visible { background: rgba(53, 201, 255, .08); }
.ic-original .ic-card-row .ic-icon { width: 20px; height: 20px; color: var(--пк-акцент-ярко); flex: none; }
.ic-original .ic-card-row.опасно, .ic-original .ic-card-row.опасно .ic-icon { color: #ff8a8a; }
.ic-original .ic-card .ic-out:empty { display: none; }
.ic-original .ic-card-members { list-style: none; margin: 4px 0 0; padding: 0; width: 100%; text-align: left; max-height: 36vh; overflow-y: auto; }
.ic-original .ic-card-members li { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 9px 4px; border-bottom: 1px solid var(--пк-линия-слабая); }
.ic-original button.ic-card-mini { margin-left: auto; min-height: 30px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--пк-линия-слабая); background: transparent; color: var(--пк-текст); cursor: pointer; }
.ic-original .ic-card-note { font-size: 12.5px; text-align: left; }
/* Контекстное меню сообщения — строки того же вида. */
.ic-original .ic-dialog > .ic-menu { padding: 6px; border-radius: 16px; min-width: 220px; }
.ic-original .ic-dialog .ic-menu button { min-height: 44px; padding: 0 12px; border: 0; border-radius: 10px; background: transparent; color: var(--пк-текст); font: 15px var(--пк-шрифт); cursor: pointer; }
.ic-original .ic-dialog .ic-menu button:hover, .ic-original .ic-dialog .ic-menu button:focus-visible { background: rgba(53, 201, 255, .08); }
/* [AI-87] Панель сообщения: у кнопки, а не по центру; значки действий и шесть реакций, зоны по 44 px.
   Позицию (left/top) ставит placePopover в пределах видимой части экрана. */
.isida-chat .ic-dialog:has(> .ic-msg-panel) { background: rgba(0, 0, 0, .18); }
.isida-chat .ic-dialog > .ic-msg-panel { position: absolute; display: grid; gap: 4px; min-width: 0; width: max-content; max-width: calc(100vw - 16px); padding: 6px; border-radius: 18px; overflow: visible; }
.isida-chat .ic-msg-panel > div { display: flex; flex-wrap: wrap; gap: 2px; }
.isida-chat .ic-msg-panel-reacts { padding-top: 4px; border-top: 1px solid var(--пк-линия-слабая, rgba(127, 127, 127, .25)); }
.isida-chat .ic-dialog .ic-msg-panel button { display: grid; place-items: center; width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0; gap: 0; border: 0; border-radius: 12px; background: transparent; color: var(--пк-текст, inherit); cursor: pointer; }
.isida-chat .ic-dialog .ic-msg-panel-reacts button { font: 24px/1 system-ui, "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; }
.isida-chat .ic-dialog .ic-msg-panel button:hover, .isida-chat .ic-dialog .ic-msg-panel button:focus-visible { background: rgba(53, 201, 255, .12); }
.isida-chat .ic-msg-panel .ic-icon { width: 22px; height: 22px; }
.isida-chat .ic-dialog .ic-msg-panel-acts [data-act="redact"] { color: #ff8a8a; }
.ic-original .ic-card:focus { outline: none; }

/* [AI-70/T05, T06] «печатает…» и отметки доставки/прочтения, как в Telegram. */
.ic-original .ic-subtitle.печатает, .ic-original .ic-label.печатает { color: var(--пк-акцент-ярко); font-style: italic; }
.ic-original .ic-ticks { margin-left: 2px; letter-spacing: -2px; color: var(--пк-текст-тихий); }
.ic-original .ic-ticks.прочитано { color: var(--пк-акцент-ярко); }

/* [AI-70/T07] Голосовой черновик над строкой ввода и голосовые в ленте. */
.ic-original .ic-voice-draft { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; padding: 6px 8px; border-radius: 16px;
    border: 1px solid var(--пк-линия-слабая); background: rgba(4, 16, 28, .75); }
.ic-original .ic-voice-draft[hidden] { display: none; }
.ic-original .ic-vd-len { flex: 1; min-width: 0; font-size: 13.5px; color: var(--пк-текст); }
.ic-original button.ic-vd-play, .ic-original button.ic-vd-drop, .ic-original button.ic-voice-play { width: 36px; height: 36px; min-height: 36px; padding: 0; flex: none;
    display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid var(--пк-линия); background: rgba(53, 201, 255, .12); color: var(--пк-акцент-ярко); }
.ic-original button.ic-vd-drop { background: transparent; border-color: var(--пк-линия-слабая); color: var(--пк-текст-тихий); }
.ic-original .ic-voice-draft .главная { background: var(--пк-акцент); color: #04121e; border-color: var(--пк-акцент); }
.ic-original .ic-voice { display: flex; align-items: center; gap: 8px; padding: 6px 10px 6px 6px; border-radius: 18px; border: 1px solid var(--пк-линия-слабая); background: rgba(4, 16, 28, .55); }
.ic-original .ic-voice-len { font-size: 13.5px; color: var(--пк-текст); }
.ic-original .ic-voice-transcript { margin-top: 4px; padding: 6px 10px; max-width: 520px; border-radius: 12px; background: rgba(53, 201, 255, .06); font-size: 14px; line-height: 1.45; color: var(--пк-текст); white-space: pre-wrap; }

/* [AI-73] Запись голосового без удержания: кнопка горит, пока идёт запись. */
.ic-original .ic-mic[aria-pressed="true"] { color: #fff; background: #e5484d; border-color: #e5484d; animation: ic-rec 1.2s ease-in-out infinite; }
@keyframes ic-rec { 0%, 100% { box-shadow: 0 0 0 0 rgba(229, 72, 77, .55); } 50% { box-shadow: 0 0 0 8px rgba(229, 72, 77, 0); } }
@media (prefers-reduced-motion: reduce) { .ic-original .ic-mic[aria-pressed="true"] { animation: none; } }

/* [AI-77] Окна чата на телефоне: высота — видимая часть экрана (открытая клавиатура её
   уменьшает), кнопки действий прижаты к низу карточки и не уходят под клавиатуру;
   у каждого окна есть видимый выход. */
.isida-chat .ic-dialog { top: var(--ic-vv-top, 0px); bottom: auto; height: var(--ic-vv-h, 100dvh); box-sizing: border-box; }
.isida-chat .ic-dialog > * { max-height: calc(var(--ic-vv-h, 100dvh) - 32px); }
.ic-original .ic-dialog > .ic-dialog-card { position: relative; width: min(520px, 92vw); padding-top: 22px; }
.ic-original .ic-dialog .ic-dialog-card h3 { margin-right: 36px; }
.ic-original .ic-dialog .ic-dialog-actions { position: sticky; bottom: -16px; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 -16px -16px; padding: 12px 16px 16px;
    background: var(--пк-стекло-плотное, var(--mud-palette-surface, #101418)); border-top: 1px solid var(--пк-линия-слабая, transparent); }
.ic-original .ic-dialog .ic-dialog-actions button { flex: 1 1 auto; min-height: 44px; }
.ic-original .ic-dialog textarea[readonly] { opacity: .7; }

/* [AI-78] Отправляемый файл — сразу своим сообщением: миниатюра с устройства, поверх —
   «Сжимаю…» / «Отправляю N%», внизу полоска хода. Ошибка — «Повторить» / «Убрать». */
.ic-original .ic-pending { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ic-original .ic-pending:empty { display: none; }
.ic-original .ic-pending-item .kvlt-msg-col { align-items: flex-end; }
.ic-original .ic-pending-box { position: relative; width: min(280px, 72vw); max-height: 360px; overflow: hidden; margin-left: auto;
    border: 1px solid rgba(120, 220, 255, .44); border-radius: 14px; background: rgba(22, 62, 94, .72); }
.ic-original .ic-pending-box img, .ic-original .ic-pending-box video { display: block; width: 100%; height: 100%; max-height: 360px; object-fit: cover; filter: brightness(.7); }
.ic-original .ic-pending-box-file { width: min(280px, 72vw); min-height: 64px; }
.ic-original .ic-pending-file { display: flex; align-items: center; gap: 8px; padding: 14px 14px 22px; color: var(--пк-текст); overflow-wrap: anywhere; }
.ic-original .ic-pending-box-file .ic-pending-over { position: static; padding: 0 14px 12px; justify-content: flex-start; background: none; }
.ic-original .ic-pending-over { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 8px;
    color: #fff; font-size: 13.5px; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); background: rgba(0, 8, 16, .25); }
.ic-original .ic-pending-box.ошибка { border-color: var(--пк-беда, #e5484d); }
.ic-original .ic-pending-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: rgba(255, 255, 255, .15); }
.ic-original .ic-pending-bar::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--p, 0%); background: var(--пк-акцент-ярко, #35c9ff); transition: width .2s linear; }
.ic-original .ic-spinner { width: 18px; height: 18px; flex: none; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .35); border-top-color: #fff; animation: ic-spin .8s linear infinite; }
.ic-original .ic-pending-error { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; margin-top: 6px; font-size: 13px; color: var(--пк-беда, #e5484d); }
/* [AI-98] Подпись к фото и файлу — под вложением тем же сообщением; окно отправки с полем подписи. */
.ic-original .ic-caption { margin-top: 4px; max-width: min(280px, 72vw); }
.ic-original .ic-pending-item .ic-caption { margin-left: auto; }
.ic-original .ic-send-files label { display: flex; flex-direction: column; gap: 4px; margin-top: 10px; }
.ic-original .ic-send-files textarea { width: 100%; box-sizing: border-box; resize: vertical; min-height: 44px; }
.ic-original .ic-send-previews { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; }
.ic-original .ic-send-previews > img, .ic-original .ic-send-previews > video { flex: none; width: 112px; height: 112px; object-fit: cover; border-radius: 10px; }
.ic-original .ic-send-previews > .ic-pending-file { flex: none; max-width: 220px; padding: 10px 12px; border: 1px solid var(--пк-линия-слабая, rgba(120, 220, 255, .3)); border-radius: 10px; }
.ic-original .ic-send-previews > img:only-child, .ic-original .ic-send-previews > video:only-child { width: 100%; height: auto; max-height: 40vh; object-fit: contain; }
@keyframes ic-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ic-original .ic-spinner { animation-duration: 2.4s; } }
/* [AI-79] Переключение чатов без мигания: пока беседа догружается — каркас реплик (проявляется
   с задержкой, быстрая загрузка его не показывает); пришла — лента один раз мягко проявляется. */
.ic-original .ic-feed-wait { display: flex; flex-direction: column; gap: 10px; padding: 8px 0; opacity: 0; animation: ic-feed-wait-in .2s ease-out .25s forwards; }
.ic-original .ic-feed-wait span { display: block; height: 44px; width: 62%; border-radius: 14px; background: linear-gradient(90deg, rgba(53, 201, 255, .05), rgba(53, 201, 255, .12), rgba(53, 201, 255, .05)); background-size: 200% 100%; animation: kvlt-chat-wait 1.2s linear infinite; }
.ic-original .ic-feed-wait span:nth-child(2) { align-self: flex-end; width: 48%; }
.ic-original .ic-feed-wait span:nth-child(3) { width: 70%; height: 64px; }
.ic-original .ic-timeline.ic-appear { animation: ic-feed-appear .16s ease-out; }
@keyframes ic-feed-wait-in { to { opacity: 1; } }
@keyframes ic-feed-appear { from { opacity: .35; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .ic-original .ic-feed-wait { animation: none; opacity: 1; } .ic-original .ic-feed-wait span, .ic-original .ic-timeline.ic-appear { animation: none; } }

/* [AI-128] Карточки задач и броней под репликой Исиды: миниатюра слева, если есть. */
.isida-chat .ic-cards { display: grid; gap: 6px; margin-top: 6px; max-width: 420px; }
.isida-chat .ic-card { display: flex; gap: 10px; align-items: flex-start; padding: 8px 10px; border-radius: 12px;
    border: 1px solid var(--ic-line); border-left: 3px solid var(--ic-accent); background: color-mix(in srgb, var(--ic-accent) 8%, transparent); min-width: 0; }
.isida-chat .ic-card-booking { border-left-color: var(--ic-warn); background: color-mix(in srgb, var(--ic-warn) 8%, transparent); }
.isida-chat .ic-card-closed { opacity: .65; }
.isida-chat .ic-card-closed .ic-card-title { text-decoration: line-through; }
.isida-chat .ic-card-wait { min-height: 58px; background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--ic-accent) 10%, transparent), transparent);
    background-size: 200% 100%; animation: ic-card-wait 1.2s linear infinite; }
@keyframes ic-card-wait { from { background-position: 100% 0; } to { background-position: -100% 0; } }
.isida-chat .ic-card-thumb { width: 56px; height: 56px; border-radius: 8px; object-fit: cover; flex: none; background: var(--ic-line); }
.isida-chat .ic-card-body { min-width: 0; display: grid; gap: 2px; }
.isida-chat .ic-card-kind { font-size: .75rem; color: var(--ic-muted); }
.isida-chat .ic-card-title { font-weight: 600; color: var(--ic-text); overflow-wrap: anywhere; }
.isida-chat .ic-card-when { font-size: .85rem; color: var(--ic-text); }
.isida-chat .ic-card-facts { font-size: .8rem; color: var(--ic-muted); overflow-wrap: anywhere; }
@media (prefers-reduced-motion: reduce) { .isida-chat .ic-card-wait { animation: none; } }
