/* =========================================================
   TICKET UI POLISH
   ========================================================= */

#ticketMessengerWrap[data-mode="user"],
#ticketMessengerWrap[data-mode="guest"] {
  --tk-surface: var(--surface, #ffffff);
  --tk-surface-soft: rgba(103,157,198,.06);
  --tk-border: var(--border, #e6eaef);
  --tk-text: var(--text, #1c1f23);
  --tk-muted: var(--muted, #66707a);
  --tk-shadow: var(--card-shadow, 0 10px 30px rgba(16,24,40,.08));
  --tk-shadow-soft: 0 10px 24px rgba(16,24,40,.06);
  --tk-accent: var(--brand-accent, #ff18ff);
  --tk-primary: var(--brand-primary, #679dc6);

  border: 1px solid var(--tk-border);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.96) 100%);
  box-shadow: var(--tk-shadow);
  overflow: hidden;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* тёмная тема — делаем заметно светлее */
html.theme-dark #ticketMessengerWrap[data-mode="user"],
html.theme-dark #ticketMessengerWrap[data-mode="guest"] {
  --tk-surface: rgba(24, 34, 49, .96);
  --tk-surface-soft: rgba(255,255,255,.06);
  --tk-border: rgba(255,255,255,.10);
  --tk-text: #eef4ff;
  --tk-muted: #aebbd0;
  --tk-shadow-soft: 0 18px 40px rgba(0,0,0,.24);

  background: linear-gradient(180deg, rgba(20,30,46,.90) 0%, rgba(24,36,54,.96) 100%);
  border-color: rgba(255,255,255,.10);
}

#ticketMessengerWrap[data-mode="user"] .ticket-chat-header,
#ticketMessengerWrap[data-mode="guest"] .ticket-chat-header {
  padding: 20px 22px 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.76) 0%, rgba(255,255,255,.46) 100%);
  border-bottom: 1px solid var(--tk-border);
}

html.theme-dark #ticketMessengerWrap[data-mode="user"] .ticket-chat-header,
html.theme-dark #ticketMessengerWrap[data-mode="guest"] .ticket-chat-header {
  background: linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.025) 100%);
  border-bottom-color: rgba(255,255,255,.10);
}

#ticketMessengerWrap[data-mode="user"] .ticket-chat-title,
#ticketMessengerWrap[data-mode="guest"] .ticket-chat-title {
  font-size: 22px;
  line-height: 1.2;
  font-weight: 800;
  color: var(--tk-text);
  letter-spacing: -.02em;
  margin: 0;
}

#ticketMessengerWrap[data-mode="user"] .ticket-chat-meta,
#ticketMessengerWrap[data-mode="guest"] .ticket-chat-meta {
  margin-top: 10px;
  gap: 10px;
  color: var(--tk-muted);
  font-size: 13px;
}

#ticketMessengerWrap[data-mode="user"] .ticket-messages,
#ticketMessengerWrap[data-mode="guest"] .ticket-messages {
  padding: 20px;
  height: 460px;
  background: linear-gradient(180deg, rgba(103,157,198,.06) 0%, rgba(103,157,198,.035) 100%);
}

html.theme-dark #ticketMessengerWrap[data-mode="user"] .ticket-messages,
html.theme-dark #ticketMessengerWrap[data-mode="guest"] .ticket-messages {
  background: linear-gradient(180deg, rgba(255,255,255,.025) 0%, rgba(255,255,255,.04) 100%);
}

#ticketMessengerWrap[data-mode="user"] .ticket-msg-bubble,
#ticketMessengerWrap[data-mode="guest"] .ticket-msg-bubble {
  max-width: min(78%, 760px);
  padding: 14px 16px 12px;
  border-radius: 18px;
  border: 1px solid var(--tk-border);
  box-shadow: var(--tk-shadow-soft);
  background: var(--tk-surface);
}

#ticketMessengerWrap[data-mode="user"] .ticket-msg.is-mine .ticket-msg-bubble,
#ticketMessengerWrap[data-mode="guest"] .ticket-msg.is-mine .ticket-msg-bubble {
  background:
    linear-gradient(180deg, rgba(255,24,255,.11) 0%, rgba(103,157,198,.14) 100%),
    var(--tk-surface);
  border-color: rgba(103,157,198,.28);
  border-bottom-right-radius: 6px;
}

#ticketMessengerWrap[data-mode="user"] .ticket-msg.is-admin .ticket-msg-bubble,
#ticketMessengerWrap[data-mode="guest"] .ticket-msg.is-admin .ticket-msg-bubble {
  background: var(--tk-surface);
  border-color: var(--tk-border);
  border-bottom-left-radius: 6px;
}

#ticketMessengerWrap[data-mode="user"] .ticket-msg-author,
#ticketMessengerWrap[data-mode="guest"] .ticket-msg-author {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
  margin-bottom: 8px;
  color: var(--tk-primary);
}

#ticketMessengerWrap[data-mode="user"] .ticket-msg.is-admin .ticket-msg-author,
#ticketMessengerWrap[data-mode="guest"] .ticket-msg.is-admin .ticket-msg-author {
  color: var(--tk-muted);
}

#ticketMessengerWrap[data-mode="user"] .ticket-msg-body,
#ticketMessengerWrap[data-mode="guest"] .ticket-msg-body {
  color: var(--tk-text);
  font-size: 14px;
  line-height: 1.65;
}

#ticketMessengerWrap[data-mode="user"] .ticket-msg-time,
#ticketMessengerWrap[data-mode="guest"] .ticket-msg-time {
  margin-top: 10px;
  font-size: 11px;
  color: var(--tk-muted);
  opacity: .95;
}

#ticketMessengerWrap[data-mode="user"] #ticketFormAlert,
#ticketMessengerWrap[data-mode="guest"] #ticketFormAlert {
  padding: 12px 18px 0;
  background: transparent;
}

#ticketMessengerWrap[data-mode="user"] .ticket-editor-wrap,
#ticketMessengerWrap[data-mode="guest"] .ticket-editor-wrap {
  padding: 14px 6px 10px;
  background: transparent;
  border-top: 1px solid var(--tk-border);
}

#ticketMessengerWrap[data-mode="user"] .mce-tinymce,
#ticketMessengerWrap[data-mode="guest"] .mce-tinymce {
  margin: 0 12px;
}

#ticketMessengerWrap[data-mode="user"] .mce-edit-area iframe,
#ticketMessengerWrap[data-mode="guest"] .mce-edit-area iframe {
  min-height: 132px;
}

#ticketMessengerWrap[data-mode="user"] .ticket-editor-textarea,
#ticketMessengerWrap[data-mode="guest"] .ticket-editor-textarea,
#ticketMessengerWrap[data-mode="user"] #ticketEditor,
#ticketMessengerWrap[data-mode="guest"] #ticketEditor {
  min-height: 132px;
  resize: vertical;
  border-radius: 16px;
  border: 1px solid var(--tk-border);
  background: var(--tk-surface);
  color: var(--tk-text);
  box-shadow: inset 0 1px 2px rgba(16,24,40,.03);
  padding: 14px 16px;
}

html.theme-dark #ticketMessengerWrap[data-mode="user"] .ticket-editor-textarea,
html.theme-dark #ticketMessengerWrap[data-mode="user"] #ticketEditor,
html.theme-dark #ticketMessengerWrap[data-mode="guest"] .ticket-editor-textarea,
html.theme-dark #ticketMessengerWrap[data-mode="guest"] #ticketEditor {
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.10);
}

#ticketMessengerWrap[data-mode="user"] .ticket-editor-textarea:focus,
#ticketMessengerWrap[data-mode="user"] #ticketEditor:focus,
#ticketMessengerWrap[data-mode="guest"] .ticket-editor-textarea:focus,
#ticketMessengerWrap[data-mode="guest"] #ticketEditor:focus {
  border-color: rgba(255,24,255,.32);
  box-shadow: 0 0 0 3px rgba(255,24,255,.10), inset 0 1px 2px rgba(16,24,40,.03);
}

#ticketMessengerWrap[data-mode="user"] .ticket-sendbar,
#ticketMessengerWrap[data-mode="guest"] .ticket-sendbar {
  padding: 14px 18px 22px;
  background: transparent;
  text-align: right;
}

#ticketMessengerWrap[data-mode="user"] #ticketSendBtn,
#ticketMessengerWrap[data-mode="guest"] #ticketSendBtn {
  min-width: 148px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(103,157,198,.20);
}

#ticketMessengerWrap[data-mode="user"] .ticket-messages,
#ticketMessengerWrap[data-mode="guest"] .ticket-messages {
  scrollbar-width: thin;
  scrollbar-color: rgba(103,157,198,.35) transparent;
}

#ticketMessengerWrap[data-mode="user"] .ticket-messages::-webkit-scrollbar,
#ticketMessengerWrap[data-mode="guest"] .ticket-messages::-webkit-scrollbar {
  width: 10px;
}

#ticketMessengerWrap[data-mode="user"] .ticket-messages::-webkit-scrollbar-thumb,
#ticketMessengerWrap[data-mode="guest"] .ticket-messages::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(103,157,198,.45) 0%, rgba(103,157,198,.25) 100%);
  border: 2px solid transparent;
  background-clip: padding-box;
  border-radius: 999px;
}

@media (max-width: 767px) {
  #ticketMessengerWrap[data-mode="user"],
  #ticketMessengerWrap[data-mode="guest"] {
    border-radius: 16px;
  }

  #ticketMessengerWrap[data-mode="user"] .ticket-messages,
  #ticketMessengerWrap[data-mode="guest"] .ticket-messages {
    height: 340px;
    padding: 14px;
  }

  #ticketMessengerWrap[data-mode="user"] .ticket-sendbar,
  #ticketMessengerWrap[data-mode="guest"] .ticket-sendbar {
    padding: 0 14px 18px;
  }
}