/* Чаты и поддержка.
   Слой поверх design-system.css и Telegram-скина: две панели, список
   диалогов, пузыри, композер и мобильные страницы. Значения — из tokens.css.

   Селекторы с `body` и `.tg-skin` нужны, чтобы перекрыть общий слой
   chat_ui_telegram.html, который подключается внутри страницы позже. */

/* ——— заголовок раздела ——— */
body .chat-page-head {
    margin-bottom: var(--s-3);
    align-items: flex-start;
}

body .chat-page-head .chat-page-icon {
    width: 32px;
    height: 32px;
    border-radius: var(--r-sm);
    background: var(--surface-2);
    border: 1px solid var(--border);
    box-shadow: none;
    color: var(--text-muted);
    font-size: var(--text-lg);
    line-height: 1;
}

body .chat-page-head .chat-page-icon .sr-icon {
    width: 18px;
    height: 18px;
}

body .chat-page-head h5 {
    font-size: var(--text-xl);
    font-weight: var(--fw-semi);
    line-height: var(--lh-tight);
    color: var(--text-main);
    letter-spacing: 0;
}

body .chat-page-head .chat-page-sub {
    margin-top: var(--s-1);
    font-size: var(--text-xs);
    color: var(--text-muted);
}

body .chat-page-head .chat-focus-btn,
body .chat-page-head .st-focus-btn {
    min-height: var(--control-h-sm);
    padding: 0 var(--s-3);
    border-radius: var(--r-sm);
    border: 1px solid var(--border-strong);
    background: transparent;
    color: var(--text-muted);
    font-size: var(--text-xs);
    font-weight: var(--fw-medium);
    box-shadow: none;
}

body .chat-page-head .chat-focus-btn:hover,
body .chat-page-head .st-focus-btn:hover {
    background: var(--surface-2);
    border-color: var(--border-hover);
    color: var(--text-main);
}

/* ——— каркас: список 320 px + переписка ——— */
body .tg-skin.chat-layout,
body .tg-skin.st-layout {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 0;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    box-shadow: none;
    overflow: hidden;
    animation: none;
}

body .tg-skin.chat-layout > .chat-threads,
body .tg-skin.st-layout > .st-side {
    background: var(--bg-subtle);
    border: 0;
    border-right: 1px solid var(--border);
    border-radius: 0;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body .tg-skin.chat-layout > .chat-dialog,
body .tg-skin.st-layout > .st-main {
    background: var(--surface);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body .tg-skin.chat-layout::before {
    display: none;
}

/* ——— шапки панелей ——— */
body .tg-skin .chat-threads-head,
body .tg-skin .st-side-head,
body .tg-skin .chat-dialog-head,
body .tg-skin .st-dialog-head {
    min-height: 44px;
    padding: 0 var(--s-3);
    border-bottom: 1px solid var(--border);
    background: transparent;
    color: var(--text-main);
    font-size: var(--text-sm);
    font-weight: var(--fw-semi);
    letter-spacing: 0;
    text-transform: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body .tg-skin .chat-threads-head,
body .tg-skin .st-side-head {
    padding-left: var(--s-4);
    padding-right: var(--s-4);
}

body .tg-skin .chat-badge {
    min-width: 20px;
    height: 20px;
    padding: 0 var(--s-2);
    border: 0;
    border-radius: var(--r-pill);
    background: var(--surface-2);
    color: var(--text-muted);
    font-size: var(--text-2xs);
    font-weight: var(--fw-semi);
    line-height: 20px;
    text-align: center;
}

body .tg-skin .st-new-btn {
    min-height: var(--control-h-sm);
    padding: 0 var(--s-3);
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    background: transparent;
    color: var(--text-muted);
    font-size: var(--text-xs);
    font-weight: var(--fw-medium);
}

body .tg-skin .st-new-btn:hover {
    background: var(--surface-2);
    border-color: var(--border-hover);
    color: var(--text-main);
}

/* ——— поиск по диалогам ——— */
.chat-search {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    height: 36px;
    margin: var(--s-2) var(--s-3);
    padding: 0 var(--s-3);
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    background: var(--surface-2);
    color: var(--text-muted);
}

.chat-search:focus-within {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px var(--accent-tint);
}

.chat-search__icon {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    font-size: var(--text-sm);
    line-height: 1;
    opacity: 0.7;
}

.chat-search__input {
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
    padding: 0;
    border: 0;
    outline: none;
    background: transparent;
    color: var(--text-main);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
}

.chat-search__input::placeholder {
    color: var(--text-dim);
}

/* ——— список диалогов ——— */
body .tg-skin .chat-thread-list,
body .tg-skin .st-list {
    padding: 0;
    background: transparent;
    scrollbar-width: thin;
    scrollbar-color: var(--border-strong) transparent;
}

body .tg-skin .chat-thread-item,
body .tg-skin .st-list-item {
    display: block;
    min-height: 64px;
    margin: 0;
    padding: var(--s-2) var(--s-4);
    border: 0;
    border-bottom: 1px solid var(--border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
    color: inherit;
    text-decoration: none;
}

body .tg-skin .chat-thread-item > div,
body .tg-skin .st-list-item .st-list-row {
    min-height: 48px;
    gap: var(--s-2);
}

body .tg-skin .chat-thread-item:hover,
body .tg-skin .st-list-item:hover {
    background: var(--surface-hover);
    transform: none;
    box-shadow: none;
}

body .tg-skin .chat-thread-item.active,
body .tg-skin .st-list-item.active,
body .tg-skin .st-list-item.st-pinned.active {
    background: var(--surface-2);
    box-shadow: none;
    border-color: var(--border);
}

body .tg-skin .st-list-item.st-pinned {
    background: transparent;
    box-shadow: inset 2px 0 0 var(--accent);
}

body .tg-skin .st-list-item.st-pinned:hover {
    background: var(--surface-hover);
    box-shadow: inset 2px 0 0 var(--accent);
}

body .tg-skin .chat-thread-avatar,
body .tg-skin .st-list-avatar,
body .tg-skin .chat-dialog-avatar {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    flex: 0 0 auto;
    border-radius: var(--r-pill);
    background: var(--surface-hover);
    border: 1px solid var(--border);
    color: var(--text-main);
    font-size: var(--text-xs);
    font-weight: var(--fw-semi);
    box-shadow: none;
    text-transform: uppercase;
}

body .tg-skin .chat-thread-avatar {
    margin-right: 0;
}

body .tg-skin .chat-thread-title,
body .tg-skin .st-list-title {
    font-size: 13.5px;
    font-weight: var(--fw-semi);
    line-height: var(--lh-snug);
    color: var(--text-main);
}

body .tg-skin .chat-thread-item.active .chat-thread-title,
body .tg-skin .st-list-item.active .st-list-title {
    color: var(--text-main);
}

body .tg-skin .chat-thread-meta,
body .tg-skin .st-dialog-meta {
    font-size: var(--text-xs);
    line-height: var(--lh-snug);
    color: var(--text-muted);
}

body .tg-skin .chat-thread-item .chat-thread-meta,
body .tg-skin .st-list-preview {
    font-size: var(--text-xs);
    line-height: var(--lh-snug);
    color: var(--text-muted);
}

body .tg-skin .st-list-preview {
    margin-top: 1px;
}

body .tg-skin .chat-thread-time,
body .tg-skin .st-list-time {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: var(--text-2xs);
    line-height: var(--lh-snug);
    color: var(--text-muted);
    font-variant-numeric: tabular-nums;
}

body .tg-skin .chat-thread-item .chat-thread-meta:empty,
body .tg-skin .st-list-preview:empty {
    display: none;
}

body .tg-skin .chat-tag {
    display: inline;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--text-muted);
    font-size: var(--text-2xs);
    font-weight: var(--fw-medium);
    vertical-align: baseline;
}

body .tg-skin .chat-tag::after {
    content: ' · ';
    color: var(--text-dim);
}

body .tg-skin .chat-unread,
body .tg-skin .st-unread {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    margin-bottom: var(--s-1);
    padding: 0 5px;
    border: 0;
    border-radius: var(--r-pill);
    background: var(--accent);
    color: var(--accent-contrast);
    box-shadow: none;
    font-size: var(--text-2xs);
    font-weight: var(--fw-semi);
    line-height: 1;
    animation: none;
}

body .tg-skin .st-list-item.st-has-unread .st-list-title {
    color: var(--text-main);
}

body .tg-skin .st-list-item.st-has-unread .st-list-preview {
    color: var(--text-muted);
}

body .tg-skin .st-archive-toggle {
    min-height: var(--control-h);
    padding: var(--s-2) var(--s-4);
    border-top: 1px solid var(--border);
    background: transparent;
    color: var(--text-muted);
    font-size: var(--text-xs);
}

/* ——— шапка переписки ——— */
body .tg-skin .chat-dialog-head,
body .tg-skin .st-dialog-head {
    min-height: 56px;
    padding: var(--s-2) var(--s-4);
    gap: var(--s-3);
    flex-wrap: nowrap;
}

body .tg-skin .chat-dialog-name,
body .tg-skin .st-dialog-title {
    margin: 0;
    font-size: var(--text-md);
    font-weight: var(--fw-semi);
    line-height: var(--lh-snug);
    color: var(--text-main);
}

body .tg-skin .chat-dialog-head .chat-thread-meta,
body .tg-skin .st-dialog-meta {
    margin-top: 1px;
    font-size: var(--text-xs);
    color: var(--text-muted);
}

body .tg-skin .chat-dialog-heading {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    min-width: 0;
}

body .tg-skin .chat-dialog-heading-text {
    min-width: 0;
}

body .tg-skin .chat-dialog-head-side {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    margin-left: auto;
}

body .tg-skin .chat-dialog-head .chat-dialog-avatar {
    width: 32px;
    height: 32px;
    min-width: 32px;
    font-size: var(--text-xs);
}

body .tg-skin .chat-dialog-assignee {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--text-muted);
    font-size: var(--text-xs);
    font-weight: var(--fw-regular);
    line-height: var(--lh-snug);
    white-space: nowrap;
}

body .tg-skin .chat-dialog-assignee .sr-icon {
    width: 14px;
    height: 14px;
    color: var(--text-dim);
}

body .tg-skin .chat-sender-line {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 2px 6px;
    align-items: center;
    margin: var(--s-1) var(--s-4) 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--text-dim);
    font-size: var(--text-2xs);
}

body .tg-skin .chat-sender-line b {
    color: var(--text-muted);
    font-weight: var(--fw-medium);
}

body .tg-skin .chat-sender-line a {
    color: var(--text-muted);
}

body .tg-skin .chat-dialog-head .chat-badge {
    height: 22px;
    padding: 0 var(--s-2);
    border: 0;
    background: var(--surface-2);
    color: var(--text-muted);
    font-size: var(--text-2xs);
    font-weight: var(--fw-medium);
    line-height: 22px;
}

body .tg-skin .chat-notice {
    display: flex;
    align-items: flex-start;
    gap: var(--s-2);
    margin: var(--s-2) var(--s-3) 0;
    padding: var(--s-2) var(--s-3);
    border: 0;
    border-radius: var(--r-sm);
    background: var(--surface-2);
    color: var(--text-muted);
    font-size: var(--text-sm);
    line-height: var(--lh-snug);
}

/* ——— лента сообщений ——— */
body .tg-skin .chat-messages,
body .tg-skin .st-messages {
    gap: 4px;
    padding: var(--s-4);
    background: var(--surface);
    scrollbar-width: thin;
    scrollbar-color: var(--border-strong) transparent;
}

body .tg-skin .chat-ui-date,
body .tg-skin .st-date {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    margin: var(--s-3) 0 var(--s-2);
}

body .tg-skin .chat-ui-date > span,
body .tg-skin .st-date {
    padding: 0 var(--s-2);
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--text-dim);
    font-size: var(--text-2xs);
    font-weight: var(--fw-medium);
    letter-spacing: 0.02em;
}

/* ——— пузыри ——— */
body .tg-skin .chat-bubble,
body .tg-skin .st-bubble {
    width: fit-content;
    max-width: 520px;
    padding: 8px 12px;
    border: 0;
    border-radius: var(--r-md);
    box-shadow: none;
    font-size: var(--text-md);
    line-height: var(--lh-base);
    animation: none;
}

body .tg-skin .chat-bubble.in,
body .tg-skin .st-bubble:not(.mine) {
    background: var(--surface-2);
    color: var(--text-main);
    border-radius: var(--r-md);
}

body .tg-skin .chat-bubble.out,
body .tg-skin .st-bubble.mine {
    background: var(--accent-tint);
    color: var(--text-main);
    border-radius: var(--r-md);
}

body .tg-skin .chat-bubble::after,
body .tg-skin .chat-bubble::before,
body .tg-skin .st-bubble::after,
body .tg-skin .st-bubble::before {
    display: none;
}

body .tg-skin .chat-bubble:hover,
body .tg-skin .st-bubble:hover {
    transform: none;
    box-shadow: none;
}

body .tg-skin .chat-bubble.is-grouped,
body .tg-skin .st-bubble.is-grouped {
    margin-top: 0;
    border-top-left-radius: var(--r-md);
    border-top-right-radius: var(--r-md);
}

body .tg-skin .chat-bubble-meta,
body .tg-skin .chat-ui-meta,
body .tg-skin .st-meta,
body .tg-skin .cab-msg-meta {
    font-size: var(--text-2xs);
    line-height: var(--lh-snug);
    color: var(--text-muted);
    opacity: 1;
}

body .tg-skin .chat-bubble.out .chat-bubble-meta,
body .tg-skin .chat-bubble.out .chat-ui-meta,
body .tg-skin .st-bubble.mine .st-meta {
    color: var(--text-muted);
}

body .tg-skin .chat-ui-meta-row,
body .tg-skin .st-meta-row {
    gap: 0;
    margin: 2px 0 0 var(--s-2);
}

body .tg-skin .chat-ui-menu-wrap,
body .tg-skin .st-msg-menu-wrap {
    position: absolute;
    top: 2px;
    right: 2px;
}

body .tg-skin .chat-ui-menu-btn,
body .tg-skin .st-msg-menu-btn {
    width: 24px;
    height: 24px;
    padding: 0;
    border: 0;
    border-radius: var(--r-sm);
    background: transparent;
    color: var(--text-muted);
    line-height: 24px;
}

body .tg-skin .chat-ui-menu-btn:hover,
body .tg-skin .st-msg-menu-btn:hover,
body .tg-skin .chat-ui-menu-btn[aria-expanded="true"],
body .tg-skin .st-msg-menu-btn[aria-expanded="true"] {
    border: 0;
    background: var(--surface-hover);
    color: var(--text-main);
}

body .tg-skin .chat-ui-quote,
body .tg-skin .st-quote {
    border-left: 2px solid var(--accent);
    border-radius: var(--r-sm);
    background: rgba(var(--accent-rgb), 0.08);
}

body .tg-skin .chat-ui-quote-author,
body .tg-skin .st-quote-author {
    color: var(--text-muted);
    font-size: var(--text-2xs);
    font-weight: var(--fw-semi);
}

body .tg-skin .chat-ui-quote-text,
body .tg-skin .st-quote-text {
    color: var(--text-muted);
    font-size: var(--text-xs);
}

body .tg-skin .chat-ui-attach-file,
body .tg-skin .chat-attach-file,
body .tg-skin .st-attach-file {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    min-height: 44px;
    margin-top: var(--s-2);
    padding: var(--s-2) var(--s-3);
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    background: var(--surface);
    color: var(--text-main);
    font-size: var(--text-sm);
    text-decoration: none;
}

body .tg-skin .chat-ui-attach-file:hover,
body .tg-skin .chat-attach-file:hover,
body .tg-skin .st-attach-file:hover {
    border-color: var(--border-hover);
    background: var(--surface-2);
    transform: none;
    box-shadow: none;
}

body .tg-skin .chat-ui-attach-icon,
body .tg-skin .chat-attach-icon,
body .tg-skin .st-attach-icon {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border-radius: var(--r-sm);
    background: var(--surface-2);
    color: var(--text-muted);
    font-size: var(--text-sm);
    line-height: 1;
}

body .tg-skin .chat-ui-attach-name,
body .tg-skin .chat-attach-name,
body .tg-skin .st-attach-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: normal;
}

body .tg-skin .chat-ui-attach-size,
body .tg-skin .chat-attach-size,
body .tg-skin .st-attach-size {
    margin-left: auto;
    flex: 0 0 auto;
    color: var(--text-muted);
    font-size: var(--text-2xs);
}

body .tg-skin .chat-attach-image,
body .tg-skin .st-attach-image {
    border: 0;
    border-radius: var(--r-sm);
    max-width: min(320px, 100%);
    max-height: 300px;
    box-shadow: none;
}

body .tg-skin .chat-empty,
body .tg-skin .st-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--s-2);
    margin: auto;
    padding: var(--s-8) var(--s-6);
    max-width: 360px;
    color: var(--text-muted);
    font-size: var(--text-sm);
    line-height: var(--lh-base);
    text-align: center;
}

body .tg-skin .chat-empty-icon,
body .tg-skin .st-empty-icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: var(--r-md);
    background: var(--surface-2);
    color: var(--text-dim);
    font-size: var(--text-xl);
}

body .tg-skin .chat-empty-icon .sr-icon,
body .tg-skin .st-empty-icon .sr-icon {
    width: 24px;
    height: 24px;
}

body .tg-skin .chat-empty-title,
body .tg-skin .st-empty-title {
    font-size: var(--text-md);
    font-weight: var(--fw-semi);
    color: var(--text-main);
}

body .tg-skin .chat-empty-text,
body .tg-skin .st-empty-text {
    font-size: var(--text-sm);
    color: var(--text-muted);
}

body .tg-skin .chat-empty a,
body .tg-skin .st-empty a {
    color: var(--accent-text);
    text-decoration: none;
}

body .tg-skin .st-readonly-note {
    padding: var(--s-2) var(--s-3);
    border-top: 1px solid var(--border);
    background: transparent;
    color: var(--text-muted);
    font-size: var(--text-xs);
    line-height: var(--lh-base);
}

body .tg-skin .st-readonly-icon {
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border-radius: var(--r-sm);
    background: var(--surface-2);
    color: var(--text-dim);
    font-size: var(--text-sm);
}

body .tg-skin .st-readonly-note strong {
    display: inline;
    margin-bottom: 0;
    color: var(--text-main);
    font-weight: var(--fw-semi);
}

body .tg-skin .st-dialog-heading {
    min-width: 0;
}

body .tg-skin .st-avatar {
    width: 24px;
    height: 24px;
    border: 1px solid var(--border);
    background: var(--surface-hover);
    color: var(--text-main);
    font-size: var(--text-2xs);
    font-weight: var(--fw-semi);
}

body .tg-skin .st-paste-hint {
    color: var(--text-dim);
}

body .tg-skin .st-author {
    margin-bottom: 2px;
    color: var(--text-muted);
    font-size: var(--text-2xs);
    font-weight: var(--fw-semi);
}

body .tg-skin .st-emoji-panel {
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    background: var(--surface);
    box-shadow: var(--shadow-pop);
}

body .tg-skin .st-emoji-caption {
    color: var(--text-muted);
    font-size: var(--text-2xs);
    letter-spacing: 0.04em;
}

/* ——— композер ——— */
body .tg-skin .chat-compose,
body .tg-skin .st-compose {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--s-2);
    flex: 0 0 auto;
    padding: var(--s-2) var(--s-3);
    border-top: 1px solid var(--border);
    background: var(--surface);
}

.chat-compose-row,
body .tg-skin .st-compose-row {
    display: flex;
    align-items: flex-end;
    gap: var(--s-2);
    width: 100%;
}

.chat-quick {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
    padding: 0;
}

.chat-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 0 var(--s-3);
    border: 1px solid var(--border);
    border-radius: var(--r-pill);
    background: transparent;
    color: var(--text-muted);
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-medium);
    line-height: 1;
    cursor: pointer;
    white-space: nowrap;
}

.chat-chip:hover,
.chat-chip:focus-visible {
    border-color: var(--border-hover);
    background: var(--surface-2);
    color: var(--text-main);
}

body .tg-skin .chat-compose textarea,
body .tg-skin .st-compose textarea {
    flex: 1 1 auto;
    min-height: 44px;
    max-height: 140px;
    padding: 11px 12px;
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    background: var(--surface-2);
    color: var(--text-main);
    font-family: var(--font-sans);
    font-size: var(--text-md);
    line-height: var(--lh-snug);
    resize: none;
    box-shadow: none;
}

body .tg-skin .chat-compose textarea:focus,
body .tg-skin .st-compose textarea:focus {
    border: 1px solid var(--accent);
    box-shadow: 0 0 0 2px var(--accent-tint);
    outline: none;
}

body .tg-skin .chat-compose textarea::placeholder,
body .tg-skin .st-compose textarea::placeholder {
    color: var(--text-dim);
}

body .tg-skin .chat-attach-btn,
body .tg-skin .st-attach-btn,
body .tg-skin .st-emoji-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: var(--r-sm);
    background: transparent;
    color: var(--text-muted);
    font-size: var(--text-md);
    line-height: 1;
    box-shadow: none;
}

body .tg-skin .chat-attach-btn:hover,
body .tg-skin .st-attach-btn:hover,
body .tg-skin .st-emoji-btn:hover,
body .tg-skin .st-emoji-btn[aria-expanded="true"] {
    border-color: var(--border);
    background: var(--surface-2);
    color: var(--text-main);
    transform: none;
    box-shadow: none;
}

body .tg-skin .chat-compose .btn-glow,
body .tg-skin #sendBtn,
body .tg-skin .st-send {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 96px;
    height: 36px;
    padding: 0 var(--s-4);
    border: 0;
    border-radius: var(--r-sm);
    background: var(--accent);
    color: var(--accent-contrast);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-semi);
    line-height: 1;
    box-shadow: none;
    overflow: visible;
}

body .tg-skin .chat-compose .btn-glow::before {
    display: none;
}

body .tg-skin .chat-compose .btn-glow:hover,
body .tg-skin #sendBtn:hover,
body .tg-skin .st-send:hover:not(:disabled) {
    background: var(--accent-hover);
    color: var(--accent-contrast);
    box-shadow: none;
}

body .tg-skin .chat-compose .btn-glow:active,
body .tg-skin #sendBtn:active,
body .tg-skin .st-send:active {
    background: var(--accent-press);
    transform: none;
}

body .tg-skin .chat-compose .btn-glow:disabled,
body .tg-skin #sendBtn:disabled,
body .tg-skin .st-send:disabled {
    opacity: 0.55;
}

body .tg-skin .chat-upload-status,
body .tg-skin .st-status,
body .tg-skin .st-paste-hint,
body .tg-skin .chat-ui-status {
    padding: 0 var(--s-1) var(--s-1);
    min-height: 0;
    color: var(--text-muted);
    font-size: var(--text-2xs);
    line-height: var(--lh-snug);
}

body .tg-skin .chat-upload-status.is-error,
body .tg-skin .chat-ui-status.is-error {
    color: var(--danger);
}

body .tg-skin .st-paste-hint {
    padding: 0 var(--s-1) var(--s-1);
}

/* «Ввод заблокирован» — строка, а не жёлтая плашка. */
body .tg-skin .chat-compose-locked {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-3);
    min-height: 44px;
    padding: var(--s-2) var(--s-3);
    border-top: 1px solid var(--border);
    background: var(--surface);
}

body .tg-skin .chat-compose-locked .chat-team-hint {
    display: block;
    width: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--text-muted);
    font-size: var(--text-sm);
    font-weight: var(--fw-regular);
    line-height: var(--lh-snug);
    white-space: normal;
}

body .tg-skin .chat-unlock-btn {
    flex: 0 0 auto;
    min-height: var(--control-h-sm);
    padding: 0 var(--s-3);
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    background: transparent;
    color: var(--text-muted);
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-medium);
    cursor: pointer;
}

body .tg-skin .chat-unlock-btn:hover {
    background: var(--surface-2);
    border-color: var(--border-hover);
    color: var(--text-main);
}

body .tg-skin .chat-compose-notice {
    padding: 0 var(--s-3) var(--s-2);
    color: var(--text-dim);
    font-size: var(--text-xs);
    line-height: var(--lh-snug);
}

/* ——— мобильные две страницы ——— */
@media (max-width: 767px) {
    body:not(.chats-focus) .tg-skin.chat-layout,
    body:not(.chats-focus) .tg-skin.st-layout {
        height: calc(100dvh - 330px);
        min-height: 0;
    }

    body .tg-skin.chat-layout,
    body .tg-skin.st-layout {
        grid-template-columns: minmax(0, 1fr);
        border: 0;
        border-radius: 0;
    }

    body .tg-skin.chat-layout > .chat-threads,
    body .tg-skin.st-layout > .st-side {
        border-right: 0;
    }

    body .tg-skin.chat-layout.has-active > .chat-threads,
    body .tg-skin.st-layout.has-active > .st-side {
        display: none;
    }

    body .tg-skin.chat-layout:not(.has-active) > .chat-dialog,
    body .tg-skin.st-layout:not(.has-active) > .st-main {
        display: none;
    }

    body .tg-skin .chat-dialog-head,
    body .tg-skin .st-dialog-head {
        min-height: 44px;
        padding: 4px var(--s-3);
        flex-wrap: nowrap;
        max-height: none;
        overflow: visible;
    }

    body .tg-skin .chat-dialog-head > div {
        width: auto;
    }

    body .tg-skin .chat-sender-line,
    body .tg-skin .chat-dialog-head .chat-badge,
    body .tg-skin .chat-dialog-assignee {
        display: none;
    }

    body .tg-skin .chat-dialog-head select {
        width: auto !important;
    }

    body .tg-skin .chat-back-btn,
    body .tg-skin .st-back-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        flex: 0 0 auto;
        padding: 0;
        border: 0;
        border-radius: var(--r-sm);
        background: transparent;
        color: var(--text-main);
        font-size: var(--text-lg);
        line-height: 1;
    }

    body .tg-skin .chat-back-btn:hover,
    body .tg-skin .st-back-btn:hover {
        background: var(--surface-2);
    }

    body .tg-skin .chat-thread-item,
    body .tg-skin .st-list-item {
        min-height: 64px;
        padding: var(--s-2) var(--s-3);
    }

    body .tg-skin .chat-messages,
    body .tg-skin .st-messages {
        padding: var(--s-3) var(--s-3) calc(var(--s-4) + env(safe-area-inset-bottom, 0px));
    }

    body .tg-skin .chat-bubble,
    body .tg-skin .st-bubble {
        max-width: min(88%, 520px);
    }

    body .tg-skin .chat-attach-btn,
    body .tg-skin .st-attach-btn,
    body .tg-skin .st-emoji-btn,
    body .tg-skin .chat-unlock-btn {
        width: 44px;
        height: 44px;
        min-height: 44px;
    }

    body .tg-skin .chat-chip,
    body .tg-skin .st-new-btn,
    body .tg-skin .st-icon-btn,
    body .tg-skin .st-archive-toggle {
        min-height: 44px;
    }

    body .tg-skin .st-icon-btn {
        padding: 0 var(--s-3);
        font-size: var(--text-xs);
    }

    body .tg-skin .chat-compose .btn-glow,
    body .tg-skin #sendBtn,
    body .tg-skin .st-send {
        min-width: 44px;
        height: 44px;
        padding: 0 var(--s-4);
    }

    body .tg-skin .chat-compose textarea,
    body .tg-skin .st-compose textarea {
        min-height: 44px;
    }

    body .tg-skin .st-paste-hint {
        display: none;
    }

    body .tg-skin .chat-compose-locked {
        flex-direction: row;
        align-items: center;
        gap: var(--s-2);
    }

    body .tg-skin .chat-compose-locked .chat-team-hint {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        font-size: var(--text-xs);
    }

    body .tg-skin .chat-unlock-btn {
        width: auto;
        min-width: 0;
        align-self: center;
        padding: 0 var(--s-3);
        font-size: var(--text-2xs);
    }

    body .tg-skin .chat-ui-menu-btn,
    body .tg-skin .st-msg-menu-btn {
        width: 32px;
        height: 32px;
    }

    body .chat-page-head {
        margin-bottom: var(--s-2);
    }

    body .chat-page-head .chat-page-sub {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .chat-search,
    body .tg-skin .chat-bubble,
    body .tg-skin .st-bubble,
    body .tg-skin .chat-thread-item,
    body .tg-skin .st-list-item {
        transition: none !important;
        animation: none !important;
    }
}
