.sw-form, .support-composer, .support-form { position: relative; }
.chat-emoji { justify-self: start; }
.chat-emoji-toggle { border: 0; font-size: 1.6rem; background: transparent; color: var(--text-muted); }
.chat-emoji-toggle:hover { color: var(--text); background: var(--surface-hover); }
.chat-emoji-panel { position: absolute; z-index: 5; right: .5rem; bottom: calc(100% + .3rem); width: min(310px, calc(100% - 1rem)); max-height: 240px; overflow: auto; padding: .75rem; border: 1px solid var(--border); border-radius: .8rem; background: var(--surface); box-shadow: 0 6px 24px var(--shadow); }
.chat-emoji-panel > strong { display: block; margin: .4rem 0; font-size: .75rem; color: var(--text-muted); }
.chat-emoji-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .15rem; }
.chat-emoji-grid button { display: grid; place-items: center; min-height: 34px; width: 100%; border: 0; border-radius: .4rem; font-size: 1.3rem; background: transparent; cursor: pointer; padding: .2rem; }
.chat-emoji-grid button:hover { background: var(--surface-hover); }
/* Одинаковая строка отправки в виджете и тикетах. */
.support-widget form.sw-form, .support-page form.support-composer {
  display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: center; gap: .65rem; min-width: 0; flex-shrink: 0;
}
.support-widget .sw-form .chat-emoji, .support-page .support-composer .chat-emoji { grid-column: 2; grid-row: 1; align-self: end; }
.support-widget .sw-form textarea, .support-page .support-composer textarea {
  grid-column: 1; grid-row: 1; width: 100%; min-width: 0; height: 44px; min-height: 44px;
  padding: .65rem .8rem; border: 0 !important; outline: 0 !important; box-shadow: none !important;
  resize: none; border-radius: .75rem 0 0 .75rem; background: transparent; font: inherit; font-size: .875rem; line-height: 1.4;
}
.support-widget .sw-form .sw-attach, .support-page .support-composer .support-upload-button { grid-column: 1; grid-row: 1; }
.support-widget .sw-form > button[type=submit], .support-page .support-composer button.support-send { grid-column: 3; grid-row: 1; }
.support-widget .sw-form > button[type=submit], .support-widget .sw-form .sw-attach,
.support-page .support-composer .support-send, .support-page .support-composer .support-upload-button,
.sw-form .chat-emoji-toggle, .support-composer .chat-emoji-toggle {
  width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0;
}
.support-widget .sw-previews, .support-page .support-composer .support-previews { grid-column: 1 / -1; grid-row: 2; min-width: 0; }
.support-form-tools .chat-emoji-panel { left: 0; right: auto; bottom: calc(100% + .5rem); width: min(310px, 100%); }
.support-ticket-owner a:hover { text-decoration: underline; }

.support-widget .sw-form > button[type=submit], .support-page .support-composer button.support-send { width: 44px; min-width: 44px; height: 44px; min-height: 44px; border-radius: .6rem; }

:is(.support-page, .support-widget) :is(.support-tool-button, .support-send) {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; min-width: 44px; height: 44px; min-height: 44px;
  padding: 0; border-radius: .6rem; line-height: 1;
}
:is(.support-page, .support-widget) :is(.support-form, .support-composer, .sw-form) .support-tool-button {
  border: 1px solid var(--border); background: var(--surface); color: var(--text-muted);
  box-shadow: inset 0 1px 0 var(--header-highlight), 0 3px 8px var(--shadow);
}
:is(.support-page, .support-widget) :is(.support-form, .support-composer, .sw-form) .support-tool-button:hover,
:is(.support-page, .support-widget) .chat-emoji-toggle[aria-expanded='true'] {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--border));
  background: var(--surface-hover); color: var(--accent);
}

/* Поле сообщения и встроенная кнопка эмодзи. */
:is(.support-page .support-composer, .support-widget .sw-form) .chat-input {
  grid-column: 2; grid-row: 1; display: grid; grid-template-columns: minmax(0, 1fr) 44px;
  align-items: center; min-width: 0; border: 1px solid var(--border); border-radius: .75rem;
  background: color-mix(in srgb, var(--surface-hover) 65%, var(--surface));
}
:is(.support-page .support-composer, .support-widget .sw-form) .chat-input:focus-within { border-color: color-mix(in srgb, var(--accent) 50%, var(--border)); }
:is(.support-page .support-composer, .support-widget .sw-form) .chat-input textarea { background: transparent; }
:is(.support-page .support-composer, .support-widget .sw-form) .chat-input textarea::placeholder { color: var(--text-muted); opacity: 1; }
:is(.support-page .support-composer, .support-widget .sw-form) .chat-emoji-toggle,
:is(.support-page .support-composer, .support-widget .sw-form) .chat-emoji-toggle:hover,
:is(.support-page .support-composer, .support-widget .sw-form) .chat-emoji-toggle[aria-expanded='true'] {
  border: 0; background: transparent; box-shadow: none;
}
:is(.support-page .support-composer, .support-widget .sw-form) .chat-emoji-toggle::before { display: none; }
