.support-dialogue {
  --support-dialogue-gap: 16px;
  --support-dialogue-height: min(860px, calc(var(--support-viewport-height, 100dvh) - 2 * var(--support-dialogue-gap)));
  box-sizing: border-box;
  position: fixed;
  top: calc(var(--support-viewport-top, 0px) + (var(--support-viewport-height, 100dvh) - var(--support-dialogue-height)) / 2);
  bottom: auto;
  margin: 0 auto;
  width: min(980px, calc(100vw - 32px));
  max-width: none;
  height: var(--support-dialogue-height);
  max-height: var(--support-dialogue-height);
  overflow: hidden;
  padding: 0;
  border: 1px solid #b9afa0;
  border-radius: 12px;
  color: #29251f;
  background: #fffdf8;
  box-shadow: 0 20px 90px #0004;
  font: 15px/1.5 system-ui, sans-serif;
}
.support-dialogue[open] { display: flex; flex-direction: column; }
.support-dialogue::backdrop { background: #17130ed0; }
.support-dialogue-head {
  flex: 0 0 auto;
  display: flex; justify-content: space-between; align-items: start; gap: 16px;
  padding: 20px 24px; border-bottom: 1px solid #dfd8cb;
}
.support-dialogue-head > div { min-width: 0; }
.support-dialogue-head [data-dismiss] { flex: 0 0 auto; }
.support-dialogue h2 { margin: 0; font: 600 22px/1.3 system-ui, sans-serif; overflow-wrap: anywhere; }
.support-dialogue h2:focus { outline: none; }
.support-dialogue-head p { margin: 6px 0 0; color: #706656; font-size: 13px; }
.support-dialogue button {
  min-height: 42px; padding: 9px 16px; border: 1px solid #b9afa0; border-radius: 6px;
  background: #fffdf8; color: #29251f; cursor: pointer; font: inherit;
}
.support-dialogue button:disabled { opacity: .55; cursor: wait; }
.support-dialogue button[hidden] { display: none; }
.support-dialogue button:focus-visible, .support-dialogue textarea:focus-visible { outline: 3px solid #b69a60; outline-offset: 2px; }
.support-dialogue-history {
  flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain;
  padding: 20px 24px; background: #f3efe7;
}
.support-dialogue-message { width: fit-content; max-width: 92%; padding: 14px 18px; margin: 0 0 16px; border: 1px solid #ded6c7; border-radius: 10px; background: #fffdf8; }
.support-dialogue-message.from-admin { margin-left: auto; background: #eaf1ee; border-color: #c4d6cb; }
.support-dialogue-message-meta { margin-bottom: 8px; color: #6a6257; font-size: 12px; font-weight: 600; }
.support-dialogue-message-body { white-space: pre-wrap; overflow-wrap: anywhere; }
.support-dialogue-form { display: grid; gap: 8px; padding: 18px 24px 22px; border-top: 1px solid #dfd8cb; flex: 0 0 auto; }
.support-dialogue-form label { font-weight: 600; }
.support-dialogue textarea {
  box-sizing: border-box; width: 100%; height: clamp(100px, 24dvh, 220px); min-height: 100px; max-height: 30dvh; resize: vertical;
  padding: 14px; border: 1px solid #b9afa0; border-radius: 6px; background: white; color: #29251f; font: inherit; font-size: 16px;
}
.support-dialogue-info { display: flex; justify-content: space-between; gap: 12px; color: #706656; font-size: 12px; }
.support-dialogue-info [data-counter] { white-space: nowrap; }
.support-dialogue-status { min-height: 20px; margin: 0; color: #326448; font-size: 13px; }
.support-dialogue-status:empty { display: none; }
.support-dialogue-status.is-error { color: #a1322a; }
.support-dialogue-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.support-dialogue .support-dialogue-send { background: #354d40; border-color: #354d40; color: white; }
@media (max-width: 600px) {
  .support-dialogue { --support-dialogue-gap: 6px; width: calc(100vw - 12px); }
  .support-dialogue h2 { font-size: 18px; }
  .support-dialogue-head, .support-dialogue-history, .support-dialogue-form { padding: 12px; }
  .support-dialogue-form { gap: 6px; }
  .support-dialogue textarea { height: clamp(80px, 18dvh, 150px); min-height: 80px; }
  .support-dialogue-message { box-sizing: border-box; max-width: 100%; padding: 12px; }
  .support-dialogue-actions button { flex: 1 1 120px; min-width: 0; padding: 9px 10px; }
}
.support-dialogue.is-compact .support-dialogue-head { padding: 8px 12px; gap: 10px; }
.support-dialogue.is-compact h2 { font-size: 18px; }
.support-dialogue.is-compact .support-dialogue-head p { margin-top: 3px; font-size: 12px; }
.support-dialogue.is-compact .support-dialogue-history { padding: 10px 12px; }
.support-dialogue.is-compact .support-dialogue-form { padding: 8px 12px; gap: 4px; }
.support-dialogue.is-compact textarea { height: 64px; min-height: 64px; max-height: 80px; padding: 8px; }
.support-dialogue.is-compact .support-dialogue-info [data-thread-hint] { display: none; }
.support-dialogue.is-compact .support-dialogue-info { justify-content: flex-end; }
.support-dialogue.is-compact .support-dialogue-actions { gap: 8px; }
.support-dialogue.is-compact .support-dialogue-actions button { flex: 1 1 0; padding: 8px 10px; font-size: 13px; }
