/* === Общие исключения для всех тем === */

/* bet-delete-btn */
body.theme-hacker-green .bet-delete-btn,
body.theme-solarized .bet-delete-btn,
body.theme-matrix .bet-delete-btn,
body.theme-cyberpunk .bet-delete-btn,
body.theme-leagueChampions .bet-delete-btn,
body.theme-leagueEurope .bet-delete-btn,
body.theme-cream-material .bet-delete-btn {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.theme-hacker-green .bet-delete-btn:hover,
body.theme-solarized .bet-delete-btn:hover,
body.theme-matrix .bet-delete-btn:hover,
body.theme-cyberpunk .bet-delete-btn:hover,
body.theme-leagueChampions .bet-delete-btn:hover,
body.theme-leagueEurope .bet-delete-btn:hover,
body.theme-cream-material .bet-delete-btn:hover {
  background: rgba(244, 67, 54, 0.2) !important;
  border: none !important;
  box-shadow: none !important;
}

/* auth-btn.logout-mode */
body.theme-hacker-green .auth-btn.logout-mode,
body.theme-solarized .auth-btn.logout-mode,
body.theme-matrix .auth-btn.logout-mode,
body.theme-cyberpunk .auth-btn.logout-mode,
body.theme-leagueChampions .auth-btn.logout-mode,
body.theme-leagueEurope .auth-btn.logout-mode,
body.theme-cream-material .auth-btn.logout-mode {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.theme-hacker-green .auth-btn.logout-mode:hover,
body.theme-solarized .auth-btn.logout-mode:hover,
body.theme-matrix .auth-btn.logout-mode:hover,
body.theme-cyberpunk .auth-btn.logout-mode:hover,
body.theme-leagueChampions .auth-btn.logout-mode:hover,
body.theme-leagueEurope .auth-btn.logout-mode:hover,
body.theme-cream-material .auth-btn.logout-mode:hover {
  box-shadow: none !important;
}

/* avatarEditBtn */
body.theme-hacker-green #avatarEditBtn,
body.theme-solarized #avatarEditBtn,
body.theme-matrix #avatarEditBtn,
body.theme-cyberpunk #avatarEditBtn,
body.theme-leagueChampions #avatarEditBtn,
body.theme-leagueEurope #avatarEditBtn,
body.theme-cream-material #avatarEditBtn {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* close-profile-btn — общий сброс для всех тем */
body.theme-hacker-green .close-profile-btn,
body.theme-solarized .close-profile-btn,
body.theme-matrix .close-profile-btn,
body.theme-cyberpunk .close-profile-btn,
body.theme-leagueChampions .close-profile-btn,
body.theme-leagueEurope .close-profile-btn,
body.theme-cream-material .close-profile-btn {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* round-filter-btn.finished — завершённые туры (оранжевые) для всех тем */
body.theme-hacker-green .round-filter-btn.finished,
body.theme-solarized .round-filter-btn.finished,
body.theme-matrix .round-filter-btn.finished,
body.theme-cyberpunk .round-filter-btn.finished,
body.theme-leagueChampions .round-filter-btn.finished,
body.theme-leagueEurope .round-filter-btn.finished,
body.theme-cream-material .round-filter-btn.finished {
  background: rgba(255, 152, 0, 0.6) !important;
  border-color: #f57c00 !important;
  box-shadow: none !important;
}

body.theme-hacker-green .round-filter-btn.finished:hover,
body.theme-solarized .round-filter-btn.finished:hover,
body.theme-matrix .round-filter-btn.finished:hover,
body.theme-cyberpunk .round-filter-btn.finished:hover,
body.theme-leagueChampions .round-filter-btn.finished:hover,
body.theme-leagueEurope .round-filter-btn.finished:hover,
body.theme-cream-material .round-filter-btn.finished:hover {
  background: rgba(255, 152, 0, 0.8) !important;
  border-color: #c9721c !important;
}

/* === Переходы между темами === */
body {
  transition: background-color 0.3s ease, color 0.3s ease;
}

.event-card,
.match-card,
.header,
button,
.btn,
.section,
.modal-content {
  transition: all 0.3s ease;
}

/* === Устройства в темах === */
.theme-hacker-green .device-item,
.theme-matrix .device-item {
  border-left-color: #00ff00;
}

.theme-hacker-green .device-item.current-device,
.theme-matrix .device-item.current-device {
  border-left-color: #00ff00;
  background: rgba(0, 255, 0, 0.1);
}

.theme-hacker-green .device-current-badge,
.theme-matrix .device-current-badge {
  background: #00ff00;
  color: #000;
}

.theme-solarized .device-item {
  border-left-color: #268bd2;
}

.theme-solarized .device-item.current-device {
  border-left-color: #268bd2;
  background: rgba(38, 139, 210, 0.1);
}

.theme-solarized .device-current-badge {
  background: #268bd2;
}

.theme-cyberpunk .device-item {
  border-left-color: #ff00ff;
}

.theme-cyberpunk .device-item.current-device {
  border-left-color: #ff00ff;
  background: rgba(255, 0, 255, 0.1);
}

.theme-cyberpunk .device-current-badge {
  background: #ff00ff;
}

.theme-league-champions .device-item {
  border-left-color: #0066cc;
}

.theme-league-champions .device-item.current-device {
  border-left-color: #0066cc;
  background: rgba(0, 102, 204, 0.1);
}

.theme-league-champions .device-current-badge {
  background: #0066cc;
}

.theme-league-europe .device-item {
  border-left-color: #ff9900;
}

.theme-league-europe .device-item.current-device {
  border-left-color: #ff9900;
  background: rgba(255, 153, 0, 0.1);
}

.theme-league-europe .device-current-badge {
  background: #ff9900;
  color: #000;
}

/* === custom-modal для всех тем === */
body.theme-hacker-green .custom-modal,
body.theme-solarized .custom-modal,
body.theme-matrix .custom-modal,
body.theme-cyberpunk .custom-modal,
body.theme-leagueChampions .custom-modal,
body.theme-leagueEurope .custom-modal {
  border: 1px solid;
}

body.theme-hacker-green .custom-modal { background: linear-gradient(135deg, #001100 0%, #002200 100%) !important; border-color: #00ff00 !important; }
body.theme-hacker-green .custom-modal-title { color: #00ff00 !important; }
body.theme-hacker-green .custom-modal-message { color: #00cc00 !important; }
body.theme-hacker-green .custom-modal-input { background: #001100 !important; border-color: #00ff00 !important; color: #00ff00 !important; }
body.theme-hacker-green .custom-modal-btn-secondary { background: rgba(0,255,0,0.1) !important; color: #00ff00 !important; border-color: #00ff00 !important; }

body.theme-solarized .custom-modal { background: linear-gradient(135deg, #073642 0%, #002b36 100%) !important; border-color: #268bd2 !important; }
body.theme-solarized .custom-modal-title { color: #93a1a1 !important; }
body.theme-solarized .custom-modal-message { color: #657b83 !important; }
body.theme-solarized .custom-modal-input { background: #002b36 !important; border-color: #268bd2 !important; color: #93a1a1 !important; }
body.theme-solarized .custom-modal-btn-secondary { background: rgba(38,139,210,0.1) !important; color: #93a1a1 !important; border-color: #268bd2 !important; }

body.theme-matrix .custom-modal { background: linear-gradient(135deg, #000a00 0%, #001a00 100%) !important; border-color: #00ff41 !important; box-shadow: 0 0 30px rgba(0,255,65,0.4) !important; }
body.theme-matrix .custom-modal-title { color: #00ff41 !important; }
body.theme-matrix .custom-modal-message { color: #00cc33 !important; }
body.theme-matrix .custom-modal-input { background: #000a00 !important; border-color: #00ff41 !important; color: #00ff41 !important; }
body.theme-matrix .custom-modal-btn-secondary { background: rgba(0,255,65,0.1) !important; color: #00ff41 !important; border-color: #00ff41 !important; }

body.theme-cyberpunk .custom-modal { background: linear-gradient(135deg, #0a0014 0%, #1a0a2e 100%) !important; border-color: #ff00ff !important; box-shadow: 0 0 30px rgba(255,0,255,0.5) !important; }
body.theme-cyberpunk .custom-modal-title { color: #00ffff !important; }
body.theme-cyberpunk .custom-modal-message { color: #00cccc !important; }
body.theme-cyberpunk .custom-modal-input { background: #0a0014 !important; border-color: #ff00ff !important; color: #00ffff !important; }
body.theme-cyberpunk .custom-modal-btn-secondary { background: rgba(255,0,255,0.1) !important; color: #00ffff !important; border-color: #ff00ff !important; }

body.theme-leagueChampions .custom-modal { background: linear-gradient(135deg, #162447 0%, #0a1428 100%) !important; border-color: #1b9ce5 !important; }
body.theme-leagueChampions .custom-modal-title { color: #e8e8e8 !important; }
body.theme-leagueChampions .custom-modal-message { color: #a0b8d0 !important; }
body.theme-leagueChampions .custom-modal-input { background: #0a1428 !important; border-color: #1b9ce5 !important; color: #e8e8e8 !important; }
body.theme-leagueChampions .custom-modal-btn-secondary { background: rgba(27,156,229,0.1) !important; color: #e8e8e8 !important; border-color: #1b9ce5 !important; }

body.theme-leagueEurope .custom-modal { background: linear-gradient(135deg, #1a1f2e 0%, #0f1419 100%) !important; border-color: #ffd700 !important; }
body.theme-leagueEurope .custom-modal-title { color: #ffffff !important; }
body.theme-leagueEurope .custom-modal-message { color: #cccccc !important; }
body.theme-leagueEurope .custom-modal-input { background: #0f1419 !important; border-color: #ffd700 !important; color: #ffffff !important; }
body.theme-leagueEurope .custom-modal-btn-secondary { background: rgba(255,215,0,0.1) !important; color: #ffffff !important; border-color: #ffd700 !important; }

/* === aiChatBtn — сброс для всех тем (button перекрывает базовые стили) === */
body.theme-hacker-green #aiChatBtn,
body.theme-solarized #aiChatBtn,
body.theme-matrix #aiChatBtn,
body.theme-cyberpunk #aiChatBtn,
body.theme-leagueChampions #aiChatBtn,
body.theme-leagueEurope #aiChatBtn,
body.theme-cream-material #aiChatBtn {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.theme-hacker-green #aiChatBtn:hover,
body.theme-solarized #aiChatBtn:hover,
body.theme-matrix #aiChatBtn:hover,
body.theme-cyberpunk #aiChatBtn:hover,
body.theme-leagueChampions #aiChatBtn:hover,
body.theme-leagueEurope #aiChatBtn:hover,
body.theme-cream-material #aiChatBtn:hover {
  background: transparent !important;
  box-shadow: none !important;
  transform: scale(1.1) !important;
}

/* === countingBtn — цвет текста по теме === */
body.theme-hacker-green #countingBtn { color: #00ff00 !important; border-color: #00ff00 !important; }
body.theme-solarized #countingBtn { color: #268bd2 !important; border-color: #268bd2 !important; }
body.theme-matrix #countingBtn { color: #00ff41 !important; border-color: #00ff41 !important; }
body.theme-cyberpunk #countingBtn { color: #00ffff !important; border-color: #ff00ff !important; }
body.theme-leagueChampions #countingBtn { color: #1b9ce5 !important; border-color: #1b9ce5 !important; }
body.theme-leagueEurope #countingBtn { color: #ffd700 !important; border-color: #ffd700 !important; }

/* === profile-section по темам === */
body.theme-hacker-green .profile-section { background: rgba(0,50,0,0.5) !important; border-left-color: #00ff00 !important; }
body.theme-hacker-green .profile-section-title { color: #00ff00 !important; }
body.theme-hacker-green .profile-section-content { color: #00cc00 !important; }

body.theme-solarized .profile-section { background: rgba(7,54,66,0.7) !important; border-left-color: #268bd2 !important; }
body.theme-solarized .profile-section-title { color: #268bd2 !important; }
body.theme-solarized .profile-section-content { color: #657b83 !important; }

body.theme-matrix .profile-section { background: rgba(0,26,0,0.7) !important; border-left-color: #00ff41 !important; }
body.theme-matrix .profile-section-title { color: #00ff41 !important; }
body.theme-matrix .profile-section-content { color: #00cc33 !important; }

body.theme-cyberpunk .profile-section { background: rgba(22,33,62,0.7) !important; border-left-color: #ff00ff !important; }
body.theme-cyberpunk .profile-section-title { color: #00ffff !important; }
body.theme-cyberpunk .profile-section-content { color: #00cccc !important; }

body.theme-leagueChampions .profile-section { background: rgba(31,64,104,0.5) !important; border-left-color: #1b9ce5 !important; }
body.theme-leagueChampions .profile-section-title { color: #1b9ce5 !important; }
body.theme-leagueChampions .profile-section-content { color: #a0b8d0 !important; }

body.theme-leagueEurope .profile-section { background: rgba(37,45,61,0.7) !important; border-left-color: #ffd700 !important; }
body.theme-leagueEurope .profile-section-title { color: #ffd700 !important; }
body.theme-leagueEurope .profile-section-content { color: #cccccc !important; }

/* === adminBtn и adminSettingsBtn — сброс для всех тем === */
body.theme-hacker-green #adminBtn,
body.theme-solarized #adminBtn,
body.theme-matrix #adminBtn,
body.theme-cyberpunk #adminBtn,
body.theme-leagueChampions #adminBtn,
body.theme-leagueEurope #adminBtn,
body.theme-hacker-green #adminSettingsBtn,
body.theme-solarized #adminSettingsBtn,
body.theme-matrix #adminSettingsBtn,
body.theme-cyberpunk #adminSettingsBtn,
body.theme-leagueChampions #adminSettingsBtn,
body.theme-leagueEurope #adminSettingsBtn {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* === bracket-filter-btn по темам === */
body.theme-hacker-green .bracket-filter-btn {
  background: linear-gradient(135deg, rgba(0,255,0,0.15), rgba(0,200,0,0.1)) !important;
  border: 2px solid rgba(0,255,0,0.5) !important;
  color: #00ff00 !important;
  box-shadow: 0 2px 8px rgba(0,255,0,0.2) !important;
}
body.theme-hacker-green .bracket-filter-btn:hover {
  background: linear-gradient(135deg, rgba(0,255,0,0.25), rgba(0,200,0,0.2)) !important;
  border-color: rgba(0,255,0,0.7) !important;
}

body.theme-solarized .bracket-filter-btn {
  background: linear-gradient(135deg, rgba(38,139,210,0.2), rgba(42,161,152,0.15)) !important;
  border: 2px solid rgba(38,139,210,0.5) !important;
  color: #268bd2 !important;
  box-shadow: 0 2px 8px rgba(38,139,210,0.2) !important;
}
body.theme-solarized .bracket-filter-btn:hover {
  border-color: rgba(38,139,210,0.7) !important;
}

body.theme-matrix .bracket-filter-btn {
  background: linear-gradient(135deg, rgba(0,255,65,0.15), rgba(0,200,50,0.1)) !important;
  border: 2px solid rgba(0,255,65,0.5) !important;
  color: #00ff41 !important;
  box-shadow: 0 2px 8px rgba(0,255,65,0.2) !important;
}
body.theme-matrix .bracket-filter-btn:hover {
  border-color: rgba(0,255,65,0.7) !important;
}

body.theme-cyberpunk .bracket-filter-btn {
  background: linear-gradient(135deg, rgba(255,0,255,0.2), rgba(0,255,255,0.15)) !important;
  border: 2px solid rgba(255,0,255,0.5) !important;
  color: #ff00ff !important;
  box-shadow: 0 2px 8px rgba(255,0,255,0.2) !important;
}
body.theme-cyberpunk .bracket-filter-btn:hover {
  border-color: rgba(255,0,255,0.7) !important;
}

body.theme-leagueChampions .bracket-filter-btn {
  background: linear-gradient(135deg, rgba(27,156,229,0.2), rgba(0,217,255,0.15)) !important;
  border: 2px solid rgba(27,156,229,0.5) !important;
  color: #1b9ce5 !important;
  box-shadow: 0 2px 8px rgba(27,156,229,0.2) !important;
}
body.theme-leagueChampions .bracket-filter-btn:hover {
  border-color: rgba(27,156,229,0.7) !important;
}

/* leagueEurope оставляем золотой — он там уместен */

/* === matchRemindersBtn и adminBtn — сброс для всех тем === */
body.theme-hacker-green #matchRemindersBtn,
body.theme-solarized #matchRemindersBtn,
body.theme-matrix #matchRemindersBtn,
body.theme-cyberpunk #matchRemindersBtn,
body.theme-leagueChampions #matchRemindersBtn,
body.theme-leagueEurope #matchRemindersBtn,
body.theme-cream-material #matchRemindersBtn {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.theme-hacker-green #matchRemindersBtn:hover,
body.theme-solarized #matchRemindersBtn:hover,
body.theme-matrix #matchRemindersBtn:hover,
body.theme-cyberpunk #matchRemindersBtn:hover,
body.theme-leagueChampions #matchRemindersBtn:hover,
body.theme-leagueEurope #matchRemindersBtn:hover,
body.theme-cream-material #matchRemindersBtn:hover {
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

/* === lucky-btn по темам === */
body.theme-hacker-green .lucky-btn {
  color: #00ff00 !important;
  border-color: #00ff00 !important;
  background: transparent !important;
  box-shadow: 0 2px 8px rgba(0,255,0,0.08) !important;
}
body.theme-hacker-green .lucky-btn:hover {
  background: rgba(0,255,0,0.1) !important;
  border-color: #00cc00 !important;
}

body.theme-solarized .lucky-btn {
  color: #268bd2 !important;
  border-color: #268bd2 !important;
  background: transparent !important;
  box-shadow: 0 2px 8px rgba(38,139,210,0.08) !important;
}
body.theme-solarized .lucky-btn:hover {
  background: rgba(38,139,210,0.1) !important;
  border-color: #2aa198 !important;
}

body.theme-matrix .lucky-btn {
  color: #00ff41 !important;
  border-color: #00ff41 !important;
  background: transparent !important;
  box-shadow: 0 2px 8px rgba(0,255,65,0.08) !important;
}
body.theme-matrix .lucky-btn:hover {
  background: rgba(0,255,65,0.1) !important;
  border-color: #00cc33 !important;
}

body.theme-cyberpunk .lucky-btn {
  color: #ff00ff !important;
  border-color: #ff00ff !important;
  background: transparent !important;
  box-shadow: 0 2px 8px rgba(255,0,255,0.08) !important;
}
body.theme-cyberpunk .lucky-btn:hover {
  background: rgba(255,0,255,0.1) !important;
  border-color: #00ffff !important;
}

body.theme-leagueChampions .lucky-btn {
  color: #1b9ce5 !important;
  border-color: #1b9ce5 !important;
  background: transparent !important;
  box-shadow: 0 2px 8px rgba(27,156,229,0.08) !important;
}
body.theme-leagueChampions .lucky-btn:hover {
  background: rgba(27,156,229,0.1) !important;
  border-color: #00d9ff !important;
}

body.theme-leagueEurope .lucky-btn {
  color: #ffd700 !important;
  border-color: #ffd700 !important;
  background: transparent !important;
  box-shadow: 0 2px 8px rgba(255,215,0,0.08) !important;
}
body.theme-leagueEurope .lucky-btn:hover {
  background: rgba(255,215,0,0.1) !important;
  border-color: #ffed4e !important;
}

body.theme-cream-material .lucky-btn {
  color: #6750a4 !important;
  border-color: #6750a4 !important;
  background: transparent !important;
  box-shadow: 0 2px 8px rgba(103,80,164,0.08) !important;
}
body.theme-cream-material .lucky-btn:hover {
  background: #ede7f6 !important;
  border-color: #4a3880 !important;
}

/* === Модал объявлений: split-view редактор === */

/* Контейнер модала — широкий на десктопе */
.announcement-modal-content {
  max-width: 1100px;
  width: 95vw;
  display: flex;
  flex-direction: column;
  max-height: 90vh;
}

/* modal-body внутри этого модала — flex-column без своего скролла */
.announcement-modal-content .modal-body {
  flex: 1;
  min-height: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* Форма — flex-column, занимает всё место */
.announcement-modal-content #featureAnnouncementForm {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

/* Скроллящаяся зона: заголовок + split + мобильный предпросмотр */
.announcement-scroll-area {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

/* Строка заголовка */
.announcement-title-row {
  padding: 14px 18px 10px;
  border-bottom: 1px solid rgba(90, 159, 212, 0.15);
}
.announcement-title-row label {
  display: block;
  font-size: 0.85em;
  color: #b0b8c8;
  margin-bottom: 5px;
}
.announcement-title-row input {
  width: 100%;
  padding: 8px 10px;
  font-size: 0.95em;
  box-sizing: border-box;
}

/* Split-контейнер */
.announcement-split {
  display: flex;
  gap: 0;
  min-height: 420px;
}

/* Левая колонка — редактор */
.announcement-editor-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  border-right: 1px solid rgba(90, 159, 212, 0.2);
  min-width: 0;
}

/* Тулбар */
.ann-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3px;
  padding: 6px 8px;
  background: rgba(40, 44, 54, 0.8);
  border-bottom: 1px solid rgba(90, 159, 212, 0.2);
}
.ann-toolbar-group {
  display: flex;
  gap: 3px;
  flex-wrap: wrap;
}
.ann-toolbar-sep {
  width: 1px;
  height: 20px;
  background: rgba(90, 159, 212, 0.25);
  margin: 0 3px;
  align-self: center;
}
.ann-btn {
  border: 1px solid transparent;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.82em;
  padding: 3px 7px;
  line-height: 1.4;
  transition: opacity 0.15s, background 0.15s;
  white-space: nowrap;
}
.ann-btn:hover { opacity: 0.85; }
.ann-btn-fmt {
  background: rgba(90, 159, 212, 0.45);
  border-color: rgba(90, 159, 212, 0.7);
  color: #e0e6f0;
  min-width: 28px;
  text-align: center;
}
.ann-btn-struct {
  background: rgba(76, 175, 80, 0.4);
  border-color: rgba(76, 175, 80, 0.7);
  color: #e0e6f0;
}
.ann-btn-link {
  background: rgba(156, 39, 176, 0.4);
  border-color: rgba(156, 39, 176, 0.7);
  color: #e0e6f0;
}
.ann-btn-emoji {
  background: rgba(255, 193, 7, 0.3);
  border-color: rgba(255, 193, 7, 0.5);
  color: #e0e6f0;
  font-size: 1em;
  padding: 2px 5px;
}
.ann-btn-clear {
  background: rgba(244, 67, 54, 0.35);
  border-color: rgba(244, 67, 54, 0.6);
  color: #e0e6f0;
  font-size: 1em;
  padding: 2px 6px;
}

/* Textarea */
.announcement-textarea {
  flex: 1;
  width: 100%;
  padding: 10px;
  font-size: 0.93em;
  line-height: 1.6;
  border: none;
  border-radius: 0;
  background: rgba(30, 34, 44, 0.6);
  color: #e0e6f0;
  resize: none;
  box-sizing: border-box;
  font-family: inherit;
  min-height: 300px;
}
.announcement-textarea:focus {
  outline: none;
  background: rgba(30, 34, 44, 0.8);
}

/* Счётчик символов — прилипает к низу, вне скролла */
.ann-char-counter {
  padding: 4px 10px;
  font-size: 0.78em;
  color: #7a8898;
  text-align: right;
  background: rgba(40, 44, 54, 0.6);
  border-top: 1px solid rgba(90, 159, 212, 0.1);
  flex-shrink: 0;
}
.ann-char-counter.ann-char-warn { color: #ffc107; }
.ann-char-counter.ann-char-over { color: #f44336; }

/* Правая колонка — предпросмотр (только десктоп) */
.announcement-preview-col {
  flex: 0 0 42%;
  display: flex;
  flex-direction: column;
  background: rgba(20, 24, 34, 0.5);
  min-width: 0;
}
.ann-preview-header {
  padding: 8px 12px;
  font-size: 0.82em;
  color: #7a9fc8;
  border-bottom: 1px solid rgba(90, 159, 212, 0.15);
  background: rgba(40, 44, 54, 0.5);
}
.ann-preview-bubble {
  flex: 1;
  padding: 12px;
  overflow-y: auto;
}
/* Имитация пузыря Telegram */
.ann-preview-bubble > div {
  background: rgba(56, 118, 235, 0.12);
  border: 1px solid rgba(56, 118, 235, 0.25);
  border-radius: 12px 12px 12px 4px;
  padding: 10px 14px;
  font-size: 0.93em;
  line-height: 1.65;
  color: #e0e6f0;
  white-space: pre-wrap;
  word-break: break-word;
}

/* Мобильный предпросмотр — скрыт на десктопе */
.announcement-preview-mobile {
  display: none;
}

/* Кнопки действий — прилипают к низу, вне скролла */
.announcement-actions {
  padding: 12px 18px;
  border-top: 1px solid rgba(90, 159, 212, 0.15);
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

/* Мобильная адаптация */
@media (max-width: 860px) {
  .announcement-modal-content {
    width: 98vw;
    max-width: 98vw;
    max-height: 95vh;
  }
  .announcement-split {
    flex-direction: column;
    min-height: unset;
  }
  .announcement-editor-col {
    border-right: none;
    border-bottom: 1px solid rgba(90, 159, 212, 0.2);
  }
  .announcement-textarea {
    min-height: 200px;
  }
  /* Скрываем правую колонку предпросмотра на мобильных */
  .announcement-preview-col {
    display: none;
  }
  /* Показываем мобильный предпросмотр */
  .announcement-preview-mobile {
    display: block;
    margin: 0 18px 12px;
  }
  .announcement-preview-mobile .ann-preview-bubble {
    padding: 8px;
  }
  .ann-toolbar {
    gap: 2px;
  }
  .ann-btn {
    padding: 3px 5px;
    font-size: 0.78em;
  }
  .announcement-actions {
    flex-wrap: wrap;
  }
  .announcement-actions button {
    flex: 1 1 calc(50% - 5px);
    min-width: 120px;
  }
}
