/* ForOur — Telegram-inspired Theme */

/* ═══════════════════════════════════════════════════════════════════
   LIGHT MODE (Telegram Pastel)
   ═══════════════════════════════════════════════════════════════════ */
body, html {
  --forour-accent: #3390ec;
  --forour-accent-hover: #2b7cd3;
  --forour-bg: #ffffff;
  --forour-sidebar-bg: #ffffff;
  --forour-chat-bg: #e6ebee;
  --forour-bubble-in: #ffffff;
  --forour-bubble-out: #eeffde;
  --forour-text: #000000;
  --forour-text-secondary: #707579;
  --forour-border: #e0e0e0;
  --forour-hover: #f4f4f5;
  --forour-selected: #3390ec1a;
  --forour-unread-badge: #3390ec;
}

/* Dark mode overrides */
@media (prefers-color-scheme: dark) {
  body, html {
    --forour-accent: #8774e1;
    --forour-accent-hover: #7b6ad8;
    --forour-bg: #212121;
    --forour-sidebar-bg: #212121;
    --forour-chat-bg: #0e1621;
    --forour-bubble-in: #182533;
    --forour-bubble-out: #2b5278;
    --forour-text: #f5f5f5;
    --forour-text-secondary: #aaaaaa;
    --forour-border: #2f2f2f;
    --forour-hover: #2b2b2b;
    --forour-selected: #8774e11a;
    --forour-unread-badge: #8774e1;
  }
}

/* Dark theme explicit class */
body[class*="Dark"], body[data-mx-theme*="Dark"], body[data-mx-theme*="dark"] {
  --forour-accent: #8774e1;
  --forour-accent-hover: #7b6ad8;
  --forour-bg: #212121;
  --forour-sidebar-bg: #212121;
  --forour-chat-bg: #0e1621;
  --forour-bubble-in: #182533;
  --forour-bubble-out: #2b5278;
  --forour-text: #f5f5f5;
  --forour-text-secondary: #aaaaaa;
  --forour-border: #2f2f2f;
  --forour-hover: #2b2b2b;
  --forour-selected: #8774e11a;
  --forour-unread-badge: #8774e1;
}

/* Custom Liquid themes (keep backward compat with user config) */
body[class*="Liquid Glass Dark"], body[data-mx-theme*="Liquid Glass Dark"] {
  --forour-accent: #8774e1;
  --forour-accent-hover: #7b6ad8;
  --forour-bg: #171923;
  --forour-sidebar-bg: #1a202c;
  --forour-chat-bg: #0e1621;
  --forour-bubble-in: #182533;
  --forour-bubble-out: #2b5278;
  --forour-text: #f5f5f5;
  --forour-text-secondary: #aaaaaa;
  --forour-border: #2d3748;
  --forour-hover: #2d3748;
  --forour-selected: #8774e11a;
  --forour-unread-badge: #8774e1;
}
body[class*="Liquid Glass"]:not([class*="Dark"]):not([data-mx-theme*="Dark"]) {
  --forour-accent: #3390ec;
  --forour-accent-hover: #2b7cd3;
  --forour-bg: #f5f6f8;
  --forour-sidebar-bg: #ffffff;
  --forour-chat-bg: #e6ebee;
  --forour-bubble-in: #ffffff;
  --forour-bubble-out: #eeffde;
  --forour-text: #000000;
  --forour-text-secondary: #707579;
  --forour-border: #e0e0e0;
  --forour-hover: #f4f4f5;
  --forour-selected: #3390ec1a;
  --forour-unread-badge: #3390ec;
}

/* Map ForOur vars to Element/Compound design tokens */
body {
  --cpd-color-bg-canvas-default: var(--forour-bg) !important;
  --cpd-color-bg-subtle-secondary: var(--forour-sidebar-bg) !important;
  --cpd-color-bg-subtle-primary: var(--forour-bubble-in) !important;
  --cpd-color-bg-action-primary-rest: var(--forour-accent) !important;
  --cpd-color-bg-action-primary-hover: var(--forour-accent-hover) !important;
  --cpd-color-text-primary: var(--forour-text) !important;
  --cpd-color-text-secondary: var(--forour-text-secondary) !important;
  --cpd-color-text-action-primary: #ffffff !important;
  --cpd-color-icon-primary: var(--forour-text-secondary) !important;
  --primary-content: var(--forour-text) !important;
  --secondary-content: var(--forour-text-secondary) !important;
  --tertiary-content: var(--forour-text-secondary) !important;
  --timeline-text-color: var(--forour-text) !important;
  color: var(--forour-text) !important;
}


/* ═══════════════════════════════════════════════════════════════════
   SPACE PANEL — VISIBLE AGAIN
   ═══════════════════════════════════════════════════════════════════ */
.mx_SpacePanel {
  background: var(--forour-sidebar-bg) !important;
  border-right: 1px solid var(--forour-border) !important;
  min-width: 60px !important;
  width: 60px !important;
  padding: 8px 4px !important;
}

/* Кнопка "Развернуть" панель пространств */
.mx_SpacePanel_toggleCollapse {
  transform: scale(0.7) !important; /* Сильно уменьшаем кнопку */
  opacity: 0.6 !important;
  margin-top: 8px !important;
}
.mx_SpacePanel_toggleCollapse:hover {
  opacity: 1 !important;
}

.mx_SpacePanel .mx_SpaceButton {
  border-radius: 12px !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  margin: 4px auto !important;
}
.mx_SpacePanel .mx_SpaceButton_active {
  background: var(--forour-selected) !important;
}

/* ═══════════════════════════════════════════════════════════════════
   LEFT PANEL (Room List) — Telegram style
   ═══════════════════════════════════════════════════════════════════ */
.mx_LeftPanel {
  background: var(--forour-sidebar-bg) !important;
  border-right: 1px solid var(--forour-border) !important;
  min-width: 320px !important;
  max-width: 420px !important;
}

/* Search bar */
.mx_LeftPanel_filterContainer,
.mx_RoomSearch {
  margin: 6px 12px !important;
  border-radius: 20px !important;
  background: var(--forour-hover) !important;
  border: none !important;
}

/* Simplify the room list header (remove unnecessary dropdowns) */
body .mx_LeftPanel_header {
  padding: 12px 16px !important;
  border-bottom: none !important;
}

/* Section headers in room list (Favourites, People, etc.) */
.mx_RoomSublist_headerContainer {
  padding: 6px 16px !important;
}
.mx_RoomSublist_headerText span {
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: var(--forour-accent) !important;
}

/* Room tiles */
.mx_RoomTile {
  border-radius: 10px !important;
  margin: 1px 8px !important;
  padding: 8px !important;
  height: auto !important;
  min-height: 62px !important;
  transition: background 0.15s ease !important;
}
@media (hover: hover) and (pointer: fine) {
  .mx_RoomTile:hover {
    background: var(--forour-hover) !important;
  }
}
.mx_RoomTile.mx_RoomTile_selected,
.mx_RoomTile[aria-selected="true"] {
  background: var(--forour-selected) !important;
}

.mx_RoomTile_name {
  font-weight: 500 !important;
  font-size: 15px !important;
  color: var(--forour-text) !important;
}

/* Unread badge — Telegram blue circle */
.mx_NotificationBadge {
  background-color: var(--forour-unread-badge) !important;
  border-radius: 12px !important;
  min-width: 20px !important;
  height: 20px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

/* Last message preview */
.mx_RoomTile_subtitle,
.mx_RoomTile_message {
  color: var(--forour-text-secondary) !important;
  font-size: 14px !important;
}

/* Timestamp */
.mx_RoomTile_timestamp {
  color: var(--forour-text-secondary) !important;
  font-size: 12px !important;
}


/* ═══════════════════════════════════════════════════════════════════
   ROOM HEADER — Clean, Telegram-style
   ═══════════════════════════════════════════════════════════════════ */
.mx_RoomHeader {
  background: var(--forour-bg) !important;
  border-bottom: 1px solid var(--forour-border) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 8px 16px !important;
}

/* Hide breadcrumbs */
.mx_RoomHeader_breadcrumbs {
  display: none !important;
}


/* ═══════════════════════════════════════════════════════════════════
   TIMELINE — Chat area background
   ═══════════════════════════════════════════════════════════════════ */
.mx_RoomView,
.mx_RoomView_body {
  background: var(--forour-chat-bg) !important;
}

/* Timeline scroll area */
.mx_RoomView_timeline,
.mx_RoomView_messagePanel {
  background: transparent !important;
}


/* ═══════════════════════════════════════════════════════════════════
   CHAT BUBBLES — Telegram style
   ═══════════════════════════════════════════════════════════════════ */

/* Incoming messages */
.mx_EventTile[data-layout="bubble"] .mx_EventTile_line {
  border-radius: 12px 12px 12px 0 !important;
  background: var(--forour-bubble-in) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08) !important;
  border: none !important;
  padding: 6px 12px !important;
  margin-bottom: 2px !important;
}

/* Outgoing messages */
.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line {
  background: var(--forour-bubble-out) !important;
  border-radius: 12px 12px 0 12px !important;
  border: none !important;
}

/* Event info (joins, leaves, etc.) */
.mx_EventTile_info {
  color: var(--forour-text-secondary) !important;
}

/* Message timestamp */
.mx_MessageTimestamp {
  color: var(--forour-text-secondary) !important;
  font-size: 11px !important;
}


/* ═══════════════════════════════════════════════════════════════════
   COMPOSER — Telegram-style input bar
   ═══════════════════════════════════════════════════════════════════ */
.mx_MessageComposer {
  background: var(--forour-bg) !important;
  border-top: 1px solid var(--forour-border) !important;
  padding: 8px 12px !important;
}

.mx_BasicMessageComposer,
.mx_MessageComposer_input {
  background: var(--forour-hover) !important;
  border-radius: 20px !important;
  border: none !important;
  box-shadow: none !important;
}

/* Send button */
.mx_MessageComposer_sendMessage {
  background-color: var(--forour-accent) !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  transition: background 0.2s ease !important;
}
.mx_MessageComposer_sendMessage:hover {
  background-color: var(--forour-accent-hover) !important;
}


/* ═══════════════════════════════════════════════════════════════════
   AUTH PAGE — Clean login/register page
   ═══════════════════════════════════════════════════════════════════ */
.mx_AuthPage,
.mx_AuthPage[style] {
  background: var(--forour-bg) !important;
  background-image: none !important;
}
.mx_AuthPage_modal {
  background: var(--forour-sidebar-bg) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1) !important;
  border: 1px solid var(--forour-border) !important;
}
.mx_AuthHeaderLogo {
  display: none !important;
}
.mx_AuthFooter {
  display: none !important;
}
.mx_AuthPage .mx_AccessibleButton_kind_primary,
.mx_AuthPage .mx_AccessibleButton_kind_primary_outline {
  background-color: var(--forour-accent) !important;
  color: #ffffff !important;
  border-radius: 12px !important;
}


/* ═══════════════════════════════════════════════════════════════════
   PRESENCE DOT — fixed 10px
   ═══════════════════════════════════════════════════════════════════ */
.mx_WithPresenceIndicator .mx_WithPresenceIndicator_icon,
.mx_WithPresenceIndicator .mx_WithPresenceIndicator_icon[style] {
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  top: auto !important;
  width: 10px !important;
  height: 10px !important;
  min-width: 10px !important;
  min-height: 10px !important;
  max-width: 10px !important;
  max-height: 10px !important;
  box-sizing: border-box !important;
}
.mx_RoomAvatarView .mx_RoomAvatarView_PresenceDecoration {
  left: auto !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  width: 10px !important;
  height: 10px !important;
}


/* ═══════════════════════════════════════════════════════════════════
   DIALOGS / MODALS — Consistent with theme
   ═══════════════════════════════════════════════════════════════════ */
.mx_Dialog {
  color: var(--forour-text) !important;
  background: var(--forour-bg) !important;
  border-radius: 16px !important;
}
.mx_Dialog .mx_Dialog_title {
  color: var(--forour-text) !important;
}
.mx_Dialog .mx_AccessibleButton_kind_primary,
.mx_Dialog .mx_AccessibleButton_kind_primary_outline {
  background-color: var(--forour-accent) !important;
  color: #ffffff !important;
}


/* ═══════════════════════════════════════════════════════════════════
   ANIMATIONS — Smooth dialog / context menu transitions
   ═══════════════════════════════════════════════════════════════════ */
.mx_Dialog_wrapper .mx_Dialog_background {
  animation: forour-fade-in 0.2s ease-out forwards !important;
}
.mx_Dialog_wrapper .mx_Dialog,
.mx_SpotlightDialog_wrapper .mx_SpotlightDialog {
  animation: forour-scale-up 0.2s cubic-bezier(0.2, 0.8, 0.2, 1) forwards !important;
}
.mx_ContextualMenu_wrapper .mx_ContextualMenu,
.mx_IconizedContextMenu {
  animation: forour-fade-in 0.15s ease-out forwards, forour-slide-up 0.15s cubic-bezier(0.2, 0.8, 0.2, 1) forwards !important;
  transform-origin: top center !important;
}

.mx_Dialog_wrapper .mx_Dialog_background,
.mx_Dialog_wrapper .mx_Dialog,
.mx_SpotlightDialog_wrapper .mx_SpotlightDialog,
.mx_ContextualMenu_wrapper .mx_ContextualMenu,
.mx_IconizedContextMenu {
  transition: opacity 0.2s ease, transform 0.2s ease, display 0.2s allow-discrete !important;
}

@starting-style {
  .mx_Dialog_wrapper .mx_Dialog_background {
    opacity: 0 !important;
  }
  .mx_Dialog_wrapper .mx_Dialog,
  .mx_SpotlightDialog_wrapper .mx_SpotlightDialog {
    opacity: 0 !important;
    transform: scale(0.95) !important;
  }
  .mx_ContextualMenu_wrapper .mx_ContextualMenu,
  .mx_IconizedContextMenu {
    opacity: 0 !important;
    transform: translateY(12px) !important;
  }
}

@keyframes forour-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes forour-scale-up {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes forour-slide-up {
  from { transform: translateY(12px); }
  to { transform: translateY(0); }
}


/* ═══════════════════════════════════════════════════════════════════
   MISC CLEANUP — Hide ugly/confusing Element UI elements
   ═══════════════════════════════════════════════════════════════════ */

/* Hide update check bar */
.mx_UpdateCheckBar {
  display: none !important;
}

/* Error pages */
.mx_ErrorPage,
.mx_ErrorPage h1 {
  color: var(--forour-text) !important;
}


/* ═══════════════════════════════════════════════════════════════════
   MOBILE RESPONSIVE — Full-width panels on small screens
   ═══════════════════════════════════════════════════════════════════ */
/* Учитываем вырезы/челки/островки на iOS (Dynamic Island) */
html.forour-mobile body {
  padding-top: env(safe-area-inset-top, 0px) !important;
  padding-bottom: env(safe-area-inset-bottom, 0px) !important;
  padding-left: env(safe-area-inset-left, 0px) !important;
  padding-right: env(safe-area-inset-right, 0px) !important;
  box-sizing: border-box !important;
}

html.forour-mobile .mx_LeftPanel,
html.forour-mobile .mx_SpacePanel {
  min-width: 100% !important;
  max-width: 100% !important;
  width: 100% !important;
  flex: 1 1 100% !important;
  border-right: none !important;
}

html.forour-mobile .mx_SpacePanel_toggleCollapse {
  display: none !important; /* Убираем кнопку развернуть на мобиле */
}
