/* ══════════════════════════════════════════════
   MESSENGER — Агрегатор сообщений
   ══════════════════════════════════════════════ */

/* Layout: sidebar (диалоги) + chat */
.msg-layout {
  display: flex;
  height: calc(100dvh - 140px);
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}

/* ── Sidebar: список диалогов ── */
.msg-sidebar {
  width: 340px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--border);
  background: var(--bg2);
}

.msg-sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border);
}
.msg-sidebar-title {
  font-size: 15px;
  font-weight: 800;
}

.msg-search {
  margin: 0 12px 8px;
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  outline: none;
}

/* Filter buttons */
.msg-filters {
  display: flex;
  gap: 4px;
  padding: 4px 12px 8px;
  overflow-x: auto;
  scrollbar-width: none;
}
.msg-filters::-webkit-scrollbar { display: none; }
.msg-filter-btn {
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  font-family: var(--font);
  border: 1px solid var(--border);
  background: none;
  color: var(--text-secondary);
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.12s;
}
.msg-filter-btn:hover {
  background: var(--bg3);
  color: var(--text);
}
.msg-filter-btn.active {
  background: var(--text);
  color: #fff;
  border-color: var(--text);
}
/* Unread badge on filter button */
.msg-filter-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  margin-left: 4px;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  background: var(--accent);
  color: #fff;
  vertical-align: middle;
}
.msg-filter-btn.active .msg-filter-badge {
  background: #fff;
  color: var(--text);
}
.msg-search:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-light);
}

.msg-conv-list {
  flex: 1;
  overflow-y: auto;
  overscroll-behavior: contain;
}

/* Элемент диалога */
.msg-conv-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  cursor: pointer;
  transition: background 0.12s;
  border-bottom: 1px solid rgba(0,0,0,.03);
  position: relative;
}
.msg-conv-item:hover {
  background: var(--bg3);
}
.msg-conv-item.active {
  background: var(--accent-light);
}

/* Hide/show button — visible on hover */
.msg-hide-btn {
  display: none;
  width: 24px;
  height: 24px;
  border: none;
  background: var(--bg3);
  border-radius: 50%;
  font-size: 11px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--text-muted);
  transition: all 0.12s;
}
.msg-conv-item:hover .msg-hide-btn {
  display: flex;
}
.msg-hide-btn:hover {
  background: var(--red-bg);
  color: var(--red);
}

.msg-conv-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--bg3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 800;
  color: var(--text-secondary);
  flex-shrink: 0;
  position: relative;
}
.msg-conv-item.active .msg-conv-avatar {
  background: var(--accent);
  color: #fff;
}

/* Source badge (TG / VK) on avatar */
.msg-src-badge {
  position: absolute;
  bottom: -2px;
  right: -4px;
  font-size: 8px;
  font-weight: 800;
  padding: 1px 4px;
  border-radius: 4px;
  line-height: 1.3;
  border: 1.5px solid var(--bg2);
}
.msg-src-badge.tg {
  background: #29A0DA;
  color: #fff;
}
.msg-src-badge.vk {
  background: #4C75A3;
  color: #fff;
}
.msg-src-badge.tgk {
  background: #E15096;
  color: #fff;
}
.msg-src-badge.avito {
  background: #00AAFF;
  color: #fff;
}

.msg-conv-info {
  flex: 1;
  min-width: 0;
}
.msg-conv-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}
.msg-conv-name {
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.msg-conv-time {
  font-size: 11px;
  color: var(--text-muted);
  flex-shrink: 0;
}
.msg-conv-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 2px;
}
.msg-conv-last {
  font-size: 12px;
  color: var(--text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.msg-unread {
  background: var(--accent);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  min-width: 18px;
  height: 18px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
  flex-shrink: 0;
}

.msg-conv-empty, .msg-conv-error {
  padding: 24px;
  text-align: center;
  color: var(--text-muted);
  font-size: 13px;
}

/* Reminder dot on conversation */
.msg-reminder-dot {
  font-size: 10px;
  margin-left: 4px;
  vertical-align: middle;
}

/* ── Chat area ── */
.msg-chat {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: var(--bg);
}

.msg-chat-empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.msg-chat-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  background: var(--bg2);
  border-bottom: 1px solid var(--border);
  min-height: 52px;
}
.msg-back-btn {
  display: none;
  width: 32px;
  height: 32px;
  border: none;
  background: var(--bg3);
  border-radius: 50%;
  font-size: 16px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  color: var(--text);
}
.msg-chat-header-info {
  flex: 1;
  min-width: 0;
}
.msg-chat-name {
  font-size: 15px;
  font-weight: 700;
}

/* Header actions (reminder button etc) */
.msg-header-actions {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
}
.msg-header-btn {
  width: 34px;
  height: 34px;
  border: 1px solid var(--border);
  background: var(--bg);
  border-radius: 50%;
  font-size: 15px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.12s;
}
.msg-header-btn:hover {
  background: var(--bg3);
  border-color: var(--accent);
}

/* Platform label in chat header */
.msg-header-source {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.3px;
  margin-top: 1px;
}
.msg-header-source.tg { color: #29A0DA; }
.msg-header-source.vk { color: #4C75A3; }
.msg-header-source.tgk { color: #E15096; }
.msg-header-source.avito { color: #00AAFF; }

/* ── Reminder banner ── */
.msg-reminder-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 16px;
  background: #FFF8E1;
  border-bottom: 1px solid #FFE082;
  font-size: 13px;
  color: #6D4C00;
}

/* ── Messages ── */
.msg-messages {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  overscroll-behavior: contain;
}

.msg-date-sep {
  text-align: center;
  margin: 12px 0 8px;
}
.msg-date-sep span {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-muted);
  background: var(--bg2);
  padding: 3px 12px;
  border-radius: 10px;
}

.msg-bubble {
  max-width: 70%;
  padding: 8px 12px;
  border-radius: 14px;
  font-size: 14px;
  line-height: 1.45;
  word-wrap: break-word;
  position: relative;
}

.msg-bubble-in {
  align-self: flex-start;
  background: var(--bg2);
  border: 1px solid var(--border);
  border-bottom-left-radius: 4px;
}
.msg-bubble-out {
  align-self: flex-end;
  background: var(--accent);
  color: #fff;
  border-bottom-right-radius: 4px;
}

.msg-sender {
  font-size: 12px;
  font-weight: 700;
  color: var(--accent);
  margin-bottom: 2px;
}

.msg-text {
  white-space: pre-wrap;
}
.msg-text a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.msg-bubble-in .msg-text a {
  color: var(--accent);
}

.msg-media {
  font-size: 12px;
  opacity: 0.8;
  margin-bottom: 2px;
}

.msg-time {
  font-size: 10px;
  opacity: 0.5;
  text-align: right;
  margin-top: 2px;
}

.msg-no-messages {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  font-size: 13px;
}

/* ══════════════════════════════════════════════
   FILE PREVIEW (над строкой ввода)
   ══════════════════════════════════════════════ */

.msg-file-preview {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  background: var(--bg2);
  border-top: 1px solid var(--border);
}
.msg-file-thumb {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  object-fit: cover;
  flex-shrink: 0;
}
.msg-file-icon {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: var(--bg3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
}
.msg-file-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.msg-file-name {
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.msg-file-size {
  font-size: 11px;
  color: var(--text-muted);
}
.msg-file-remove {
  width: 28px;
  height: 28px;
  border: none;
  background: var(--bg3);
  border-radius: 50%;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  flex-shrink: 0;
  transition: all 0.12s;
}
.msg-file-remove:hover {
  background: var(--red-bg);
  color: var(--red);
}

/* ══════════════════════════════════════════════
   TEMPLATES BAR (чипсы под сообщениями)
   ══════════════════════════════════════════════ */

.msg-templates-bar {
  display: flex;
  gap: 6px;
  padding: 6px 16px;
  overflow-x: auto;
  scrollbar-width: none;
  flex-shrink: 0;
  background: var(--bg);
  border-top: 1px solid var(--border);
}
.msg-templates-bar::-webkit-scrollbar { display: none; }

.msg-tpl-chip {
  padding: 4px 12px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--bg2);
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 600;
  font-family: var(--font);
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.12s;
  flex-shrink: 0;
}
.msg-tpl-chip:hover {
  background: var(--accent-light);
  border-color: var(--accent);
  color: var(--accent);
}

.msg-tpl-add-btn {
  padding: 4px 12px;
  border-radius: 14px;
  border: 1px dashed var(--border);
  background: none;
  color: var(--text-muted);
  font-size: 12px;
  font-family: var(--font);
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.12s;
}
.msg-tpl-add-btn:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.msg-tpl-settings-btn {
  padding: 4px 8px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: none;
  color: var(--text-muted);
  font-size: 13px;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.12s;
}
.msg-tpl-settings-btn:hover {
  background: var(--bg3);
  color: var(--text);
}

/* Templates editor modal */
.msg-tpl-editor {
  max-width: 500px;
}
.msg-tpl-row {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 8px;
}
.msg-tpl-label-input {
  width: 100px;
  padding: 6px 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  flex-shrink: 0;
}
.msg-tpl-text-input {
  flex: 1;
  padding: 6px 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
}
.msg-tpl-del {
  width: 28px;
  height: 28px;
  border: none;
  background: var(--bg3);
  border-radius: 50%;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  flex-shrink: 0;
}
.msg-tpl-del:hover {
  background: var(--red-bg);
  color: var(--red);
}

/* ══════════════════════════════════════════════
   LOCATION TEMPLATES (📍 Как нас найти)
   ══════════════════════════════════════════════ */

.msg-loc-btn {
  padding: 4px 10px;
  border-radius: 14px;
  border: 1px solid var(--accent);
  background: var(--accent-light);
  color: var(--accent);
  font-size: 13px;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.12s;
  flex-shrink: 0;
}
.msg-loc-btn:hover {
  background: var(--accent);
  color: #fff;
}

.msg-loc-dropdown {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 4px 16px rgba(0,0,0,.12);
  min-width: 240px;
  z-index: 9999;
  overflow: hidden;
}

.msg-loc-title {
  padding: 10px 14px 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--text-secondary);
}

.msg-loc-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: 100%;
  padding: 10px 14px;
  border: none;
  background: none;
  text-align: left;
  cursor: pointer;
  font-family: var(--font);
  transition: background 0.12s;
}
.msg-loc-item:hover {
  background: var(--accent-light);
}

.msg-loc-item-label {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}
.msg-loc-item-addr {
  font-size: 12px;
  color: var(--text-muted);
}

/* ══════════════════════════════════════════════
   REMINDERS MODAL
   ══════════════════════════════════════════════ */

.msg-remind-modal {
  max-width: 420px;
}

.msg-remind-existing {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  padding: 8px 12px;
  background: #FFF8E1;
  border-radius: var(--radius-sm);
  font-size: 13px;
  color: #6D4C00;
  margin-bottom: 12px;
}

.msg-remind-quick-row {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.msg-remind-quick {
  padding: 6px 14px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: var(--bg2);
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 600;
  font-family: var(--font);
  cursor: pointer;
  transition: all 0.12s;
}
.msg-remind-quick:hover {
  background: var(--accent-light);
  border-color: var(--accent);
  color: var(--accent);
}

.msg-remind-dt {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 14px;
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  margin-top: 4px;
}

.msg-remind-note {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 14px;
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  margin-top: 4px;
}

/* ── Input area ── */
.msg-input-area {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  padding: 10px 16px;
  background: var(--bg2);
  border-top: 1px solid var(--border);
}

/* Attach button */
.msg-attach-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: var(--bg);
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.12s;
}
.msg-attach-btn:hover {
  background: var(--bg3);
  border-color: var(--accent);
}

.msg-input {
  flex: 1;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 20px;
  font-family: var(--font);
  font-size: 14px;
  color: var(--text);
  background: var(--bg);
  resize: none;
  max-height: 120px;
  line-height: 1.4;
  outline: none;
}
.msg-input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-light);
}

.msg-send-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: var(--accent);
  color: #fff;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s, transform 0.15s;
  flex-shrink: 0;
}
.msg-send-btn:hover {
  background: var(--accent-hover);
  transform: scale(1.05);
}

/* ── Not connected ── */
.msg-not-connected {
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(100dvh - 140px);
}

/* ── Media ── */
.msg-media-wrap {
  margin: 2px -4px 4px;
  max-width: 320px;
  border-radius: 10px;
  overflow: hidden;
  line-height: 0;
}
/* Фото/видео в исходящих — тёмный фон */
.msg-bubble-out .msg-media-wrap {
  background: rgba(0,0,0,.15);
}
.msg-media-wrap.msg-video-round {
  max-width: 240px;
  border-radius: 50%;
}
.msg-media-img {
  width: 100%;
  max-height: 400px;
  object-fit: contain;
  border-radius: 10px;
  cursor: pointer;
  transition: opacity 0.15s;
  display: block;
}
.msg-media-img:hover { opacity: 0.9; }

.msg-media-video {
  width: 100%;
  max-height: 360px;
  border-radius: 10px;
  display: block;
  background: #000;
}
.msg-video-round .msg-media-video {
  border-radius: 50%;
  aspect-ratio: 1;
  object-fit: cover;
}

.msg-media-dur {
  display: block;
  font-size: 11px;
  opacity: 0.6;
  margin-top: 2px;
  line-height: 1.4;
}

.msg-voice-wrap {
  min-width: 200px;
  max-width: 300px;
}
.msg-media-audio {
  width: 100%;
  height: 36px;
  margin: 4px 0 2px;
}
/* Аудио/голосовые в исходящих — полупрозрачный светлый фон */
.msg-bubble-out .msg-voice-wrap {
  background: rgba(255,255,255,.2);
  border-radius: 10px;
  padding: 6px 10px;
  margin: 2px -2px 4px;
}
.msg-voice-dur {
  font-size: 11px;
  opacity: 0.6;
}
.msg-audio-name {
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 2px;
}

.msg-sticker-wrap {
  background: transparent !important;
  border: none !important;
  max-width: 180px;
}
.msg-sticker {
  width: 100%;
  max-width: 180px;
  max-height: 180px;
  object-fit: contain;
}

.msg-doc-wrap {
  margin: 2px 0;
}
/* Документы в исходящих — читаемый контейнер */
.msg-bubble-out .msg-doc-wrap {
  background: rgba(255,255,255,.2);
  border-radius: 8px;
  padding: 6px 10px;
  margin: 2px -2px 4px;
}
.msg-doc-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.msg-bubble-in .msg-doc-link { color: var(--accent); }
.msg-doc-size {
  font-size: 11px;
  opacity: 0.6;
}

.msg-media-fallback {
  padding: 8px 12px;
  font-size: 12px;
  opacity: 0.6;
}

/* Стикер без фона баббла */
.msg-bubble-sticker {
  background: transparent !important;
  border: none !important;
  padding: 4px 0;
}
.msg-bubble-sticker .msg-time {
  color: var(--text-muted);
}

/* ══════════════════════════════════════════════
   NAV ALERT — моргание 💬, таймер, бейдж
   ══════════════════════════════════════════════ */

/* Бейдж-кружок на кнопке 💬 в навбаре */
.msg-nav-badge {
  position: absolute;
  top: -2px;
  right: -4px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 800;
  line-height: 16px;
  text-align: center;
  background: var(--accent);
  color: #fff;
  pointer-events: none;
}

/* Жёлтое моргание (первые 15 мин) */
.nav-btn.msg-blink-yellow {
  animation: msgBlinkYellow 1.2s ease-in-out infinite;
}
@keyframes msgBlinkYellow {
  0%, 100% { background: none; }
  50% { background: #F5A623; color: #fff; }
}

/* Красное моргание (после 15 мин) */
.nav-btn.msg-blink-red {
  animation: msgBlinkRed 0.8s ease-in-out infinite;
}
@keyframes msgBlinkRed {
  0%, 100% { background: none; }
  50% { background: #E74C3C; color: #fff; }
}

/* Таймер обратного отсчёта */
.msg-nav-timer {
  font-size: 11px;
  font-weight: 700;
  font-family: var(--font-mono, monospace);
  color: #F5A623;
  margin-left: -4px;
  padding: 4px 6px;
  pointer-events: none;
  user-select: none;
}
.msg-nav-timer-red {
  color: #E74C3C;
}

/* Не моргаем если кнопка активна (мы уже на вкладке) */
.nav-btn.active.msg-blink-yellow,
.nav-btn.active.msg-blink-red {
  animation: none;
}

/* ══════════════════════════════════════════════
   MOBILE
   ══════════════════════════════════════════════ */
/* Reminders list modal */
.msg-remind-list-modal { max-width: 480px; }
.msg-remind-list { display: flex; flex-direction: column; gap: 8px; max-height: 400px; overflow-y: auto; }
.msg-remind-list-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; background: var(--bg2); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.msg-remind-list-info { flex: 1; min-width: 0; }
.msg-remind-list-name { font-size: 14px; font-weight: 600; }
.msg-remind-list-note { font-size: 12px; color: var(--text-secondary); margin-top: 2px; }
.msg-remind-list-time { font-size: 12px; color: var(--text-muted); margin-top: 2px; }
.msg-remind-list-actions { display: flex; gap: 4px; flex-shrink: 0; }

@media (max-width: 768px) {
  .msg-layout {
    height: calc(100dvh - 120px);
  }
  .msg-sidebar {
    width: 100%;
  }
  .msg-chat {
    display: none;
  }
  .msg-back-btn {
    display: flex;
  }

  /* Когда чат открыт — скрыть sidebar, показать chat */
  .msg-layout.chat-open .msg-sidebar {
    display: none;
  }
  .msg-layout.chat-open .msg-chat {
    display: flex;
  }

  /* Templates + file preview адаптация */
  .msg-tpl-editor {
    max-width: 100%;
  }
  .msg-tpl-row {
    flex-wrap: wrap;
  }
  .msg-tpl-label-input {
    width: 80px;
  }
  .msg-remind-modal {
    max-width: 100%;
  }
}
