@ermis-network/ermis-chat-react 1.0.9 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/index.cjs +15288 -4203
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.css +701 -195
  4. package/dist/index.css.map +1 -1
  5. package/dist/index.d.mts +862 -94
  6. package/dist/index.d.ts +862 -94
  7. package/dist/index.mjs +15238 -4179
  8. package/dist/index.mjs.map +1 -1
  9. package/package.json +9 -4
  10. package/src/channelTypeUtils.ts +1 -1
  11. package/src/components/Avatar.tsx +2 -1
  12. package/src/components/Channel.tsx +6 -2
  13. package/src/components/ChannelActions.tsx +61 -2
  14. package/src/components/ChannelHeader.tsx +19 -5
  15. package/src/components/ChannelInfo/AddMemberModal.tsx +5 -1
  16. package/src/components/ChannelInfo/ChannelInfo.tsx +330 -187
  17. package/src/components/ChannelInfo/ChannelInfoTabs.tsx +59 -297
  18. package/src/components/ChannelInfo/ChannelSettingsPanel.tsx +30 -174
  19. package/src/components/ChannelInfo/EditChannelModal.tsx +4 -1
  20. package/src/components/ChannelInfo/MediaGridItem.tsx +12 -2
  21. package/src/components/ChannelInfo/MemberListItem.tsx +2 -3
  22. package/src/components/ChannelInfo/MessageSearchPanel.tsx +27 -126
  23. package/src/components/ChannelInfo/States.tsx +1 -1
  24. package/src/components/ChannelInfo/index.ts +3 -0
  25. package/src/components/ChannelInfo/useChannelInfoTabs.tsx +386 -0
  26. package/src/components/ChannelInfo/useChannelSettings.ts +212 -0
  27. package/src/components/ChannelInfo/useMessageSearch.tsx +141 -0
  28. package/src/components/ChannelList.tsx +177 -290
  29. package/src/components/CreateChannelModal.tsx +166 -88
  30. package/src/components/Dropdown.tsx +1 -16
  31. package/src/components/EditPreview.tsx +1 -0
  32. package/src/components/ErmisCallProvider.tsx +72 -17
  33. package/src/components/ErmisCallUI.tsx +43 -20
  34. package/src/components/FlatTopicGroupItem.tsx +232 -0
  35. package/src/components/ForwardMessageModal.tsx +31 -77
  36. package/src/components/MediaLightbox.tsx +62 -40
  37. package/src/components/MentionSuggestions.tsx +47 -35
  38. package/src/components/MessageActionsBox.tsx +4 -1
  39. package/src/components/MessageInput.tsx +126 -7
  40. package/src/components/MessageInputDefaults.tsx +127 -1
  41. package/src/components/MessageItem.tsx +93 -26
  42. package/src/components/MessageQuickReactions.tsx +153 -26
  43. package/src/components/MessageReactions.tsx +2 -1
  44. package/src/components/MessageRenderers.tsx +111 -39
  45. package/src/components/Panel.tsx +1 -14
  46. package/src/components/PinnedMessages.tsx +17 -5
  47. package/src/components/PreviewOverlay.tsx +24 -0
  48. package/src/components/ReadReceipts.tsx +2 -1
  49. package/src/components/TopicList.tsx +221 -0
  50. package/src/components/TopicModal.tsx +4 -1
  51. package/src/components/TypingIndicator.tsx +14 -5
  52. package/src/components/UserPicker.tsx +87 -10
  53. package/src/components/VirtualMessageList.tsx +106 -20
  54. package/src/context/ChatComponentsContext.tsx +14 -0
  55. package/src/context/ChatProvider.tsx +18 -14
  56. package/src/context/ErmisCallContext.tsx +4 -0
  57. package/src/hooks/useChannelCapabilities.ts +7 -4
  58. package/src/hooks/useChannelData.ts +10 -3
  59. package/src/hooks/useChannelListUpdates.ts +72 -20
  60. package/src/hooks/useChannelMessages.ts +72 -10
  61. package/src/hooks/useChannelRowUpdates.ts +24 -5
  62. package/src/hooks/useChatUser.ts +31 -0
  63. package/src/hooks/useContactChannels.ts +45 -0
  64. package/src/hooks/useContactCount.ts +50 -0
  65. package/src/hooks/useDownloadHandler.ts +36 -0
  66. package/src/hooks/useDragAndDrop.ts +79 -0
  67. package/src/hooks/useForwardMessage.ts +112 -0
  68. package/src/hooks/useInviteChannels.ts +88 -0
  69. package/src/hooks/useInviteCount.ts +104 -0
  70. package/src/hooks/useMentions.ts +0 -1
  71. package/src/hooks/useMessageActions.ts +13 -10
  72. package/src/hooks/usePendingState.ts +21 -4
  73. package/src/hooks/usePreviewState.ts +69 -0
  74. package/src/hooks/useStickerPicker.ts +62 -0
  75. package/src/hooks/useTopicGroupUpdates.ts +197 -0
  76. package/src/index.ts +56 -6
  77. package/src/messageTypeUtils.ts +13 -1
  78. package/src/styles/_base.css +0 -1
  79. package/src/styles/_call-ui.css +59 -2
  80. package/src/styles/_channel-info.css +41 -4
  81. package/src/styles/_channel-list.css +97 -57
  82. package/src/styles/_create-channel-modal.css +10 -0
  83. package/src/styles/_forward-modal.css +16 -1
  84. package/src/styles/_media-lightbox.css +32 -0
  85. package/src/styles/_mentions.css +1 -1
  86. package/src/styles/_message-actions.css +3 -4
  87. package/src/styles/_message-bubble.css +286 -107
  88. package/src/styles/_message-input.css +131 -0
  89. package/src/styles/_message-list.css +33 -17
  90. package/src/styles/_message-quick-reactions.css +40 -9
  91. package/src/styles/_message-reactions.css +4 -0
  92. package/src/styles/_modal.css +2 -1
  93. package/src/styles/_preview-overlay.css +38 -0
  94. package/src/styles/_tokens.css +17 -15
  95. package/src/styles/_typing-indicator.css +7 -1
  96. package/src/styles/index.css +1 -0
  97. package/src/types.ts +362 -14
  98. package/src/utils/avatarColors.ts +48 -0
  99. package/src/utils.ts +193 -10
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/styles/_tokens.css","../src/styles/_base.css","../src/styles/_dropdown.css","../src/styles/_modal.css","../src/styles/_panel.css","../src/styles/_channel-list.css","../src/styles/_message-list.css","../src/styles/_message-bubble.css","../src/styles/_message-input.css","../src/styles/_mentions.css","../src/styles/_pinned-messages.css","../src/styles/_message-actions.css","../src/styles/_forward-modal.css","../src/styles/_typing-indicator.css","../src/styles/_message-reactions.css","../src/styles/_message-quick-reactions.css","../src/styles/_channel-info.css","../src/styles/_add-member-modal.css","../src/styles/_search-panel.css","../src/styles/_user-picker.css","../src/styles/_create-channel-modal.css","../src/styles/_call-ui.css","../src/styles/_topic-modal.css","../src/styles/_media-lightbox.css"],"sourcesContent":["/* ============================================================\n Ermis Chat React – Design Tokens\n BEM naming: .ermis-{block}__{element}--{modifier}\n ============================================================ */\n\n/* ----------------------------------------------------------\n Design Tokens – Dark (default)\n ---------------------------------------------------------- */\n.ermis-chat,\n.ermis-chat--dark {\n --ermis-bg-primary: #0a0a0f;\n --ermis-bg-secondary: #111118;\n --ermis-bg-hover: rgba(255, 255, 255, 0.04);\n --ermis-bg-active: rgba(99, 102, 241, 0.12);\n --ermis-border: rgba(255, 255, 255, 0.08);\n --ermis-accent: #6366f1;\n --ermis-accent-hover: #818cf8;\n --ermis-text-primary: #e5e7eb;\n --ermis-text-secondary: #9ca3af;\n --ermis-text-muted: #6b7280;\n\n /* Semantic Colors */\n --ermis-color-danger: #ef4444;\n --ermis-color-danger-hover: #dc2626;\n --ermis-color-success: #22c55e;\n --ermis-color-success-hover: #16a34a;\n\n /* Message bubbles */\n --ermis-bubble-own-bg: var(--ermis-accent);\n --ermis-bubble-own-text: #ffffff;\n --ermis-bubble-other-bg: #1e1e2a;\n --ermis-bubble-other-text: var(--ermis-text-primary);\n\n /* Quote message */\n --ermis-quote-other-bg: rgba(99, 102, 241, 0.1);\n --ermis-quote-other-bg-hover: rgba(99, 102, 241, 0.18);\n --ermis-quote-own-bg: rgba(99, 102, 241, 0.2);\n --ermis-quote-own-bg-hover: rgba(99, 102, 241, 0.3);\n --ermis-quote-own-border: rgba(255, 255, 255, 0.4);\n --ermis-quote-own-author: rgba(255, 255, 255, 0.9);\n --ermis-quote-own-text: rgba(255, 255, 255, 0.65);\n\n /* Typography */\n --ermis-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell,\n 'Helvetica Neue', sans-serif;\n --ermis-font-size-xs: 0.75rem;\n --ermis-font-size-sm: 0.875rem;\n --ermis-font-size-base: 1rem;\n\n /* Spacing */\n --ermis-spacing-xs: 0.25rem;\n --ermis-spacing-sm: 0.5rem;\n --ermis-spacing-md: 0.75rem;\n --ermis-spacing-lg: 1rem;\n\n /* Radius */\n --ermis-radius-sm: 0.375rem;\n --ermis-radius-md: 0.5rem;\n --ermis-radius-lg: 0.75rem;\n --ermis-radius-full: 9999px;\n\n /* Transitions */\n --ermis-transition: 150ms ease;\n\n /* Signal messages (call events) */\n --ermis-signal-success: #54D62C;\n --ermis-signal-missed: #FF4842;\n --ermis-signal-bg: rgba(255, 255, 255, 0.04);\n --ermis-signal-own-success: #86EFAC;\n --ermis-signal-own-missed: #FCA5A5;\n --ermis-signal-own-bg: rgba(255, 255, 255, 0.12);\n --ermis-signal-own-duration: rgba(255, 255, 255, 0.6);\n\n /* Call UI */\n --ermis-call-bg: linear-gradient(135deg, #0f0f1a 0%, #1a1a2e 50%, #16213e 100%);\n --ermis-call-glass: rgba(255, 255, 255, 0.06);\n --ermis-call-glass-border: rgba(255, 255, 255, 0.1);\n --ermis-call-pulse: rgba(99, 102, 241, 0.4);\n\n color: var(--ermis-text-primary);\n font-family: var(--ermis-font-family);\n}\n\n/* ----------------------------------------------------------\n Design Tokens – Light\n ---------------------------------------------------------- */\n.ermis-chat--light {\n --ermis-bg-primary: #ffffff;\n --ermis-bg-secondary: #f9fafb;\n --ermis-bg-hover: rgba(0, 0, 0, 0.04);\n --ermis-bg-active: rgba(99, 102, 241, 0.08);\n --ermis-border: rgba(0, 0, 0, 0.08);\n --ermis-accent: #6366f1;\n --ermis-accent-hover: #4f46e5;\n --ermis-text-primary: #111827;\n --ermis-text-secondary: #6b7280;\n --ermis-text-muted: #9ca3af;\n\n /* Semantic Colors */\n --ermis-color-danger: #ef4444;\n --ermis-color-danger-hover: #dc2626;\n --ermis-color-success: #10b981;\n --ermis-color-success-hover: #059669;\n\n /* Message bubbles */\n --ermis-bubble-own-bg: var(--ermis-accent);\n --ermis-bubble-own-text: #ffffff;\n --ermis-bubble-other-bg: #f3f4f6;\n --ermis-bubble-other-text: var(--ermis-text-primary);\n\n /* Quote message */\n --ermis-quote-other-bg: rgba(99, 102, 241, 0.08);\n --ermis-quote-other-bg-hover: rgba(99, 102, 241, 0.14);\n --ermis-quote-own-bg: rgba(0, 0, 0, 0.25);\n --ermis-quote-own-bg-hover: rgba(0, 0, 0, 0.4);\n --ermis-quote-own-border: rgba(255, 255, 255, 0.6);\n --ermis-quote-own-author: rgba(255, 255, 255, 0.95);\n --ermis-quote-own-text: rgba(255, 255, 255, 0.8);\n\n /* Signal messages (call events) */\n --ermis-signal-success: #229A16;\n --ermis-signal-missed: #B72136;\n --ermis-signal-bg: rgba(0, 0, 0, 0.03);\n --ermis-signal-own-success: #86EFAC;\n --ermis-signal-own-missed: #FCA5A5;\n --ermis-signal-own-bg: rgba(255, 255, 255, 0.12);\n --ermis-signal-own-duration: rgba(255, 255, 255, 0.6);\n\n /* Call UI */\n --ermis-call-bg: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 50%, #dee2e6 100%);\n --ermis-call-glass: rgba(0, 0, 0, 0.04);\n --ermis-call-glass-border: rgba(0, 0, 0, 0.08);\n --ermis-call-pulse: rgba(99, 102, 241, 0.3);\n}\n","/* ----------------------------------------------------------\n Chat root\n ---------------------------------------------------------- */\n.ermis-chat {\n width: 100%;\n height: 100%;\n background-color: var(--ermis-bg-primary);\n color: var(--ermis-text-primary);\n overflow: hidden;\n}\n\n/* ----------------------------------------------------------\n Avatar\n ---------------------------------------------------------- */\n.ermis-avatar {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--ermis-radius-full);\n object-fit: cover;\n flex-shrink: 0;\n overflow: hidden;\n}\n\n.ermis-avatar--fallback {\n background: linear-gradient(135deg, var(--ermis-accent) 0%, var(--ermis-accent-hover) 100%);\n color: #fff;\n font-weight: 600;\n font-family: var(--ermis-font-family);\n text-transform: uppercase;\n user-select: none;\n}\n","/* ----------------------------------------------------------\n Generic Dropdown\n ---------------------------------------------------------- */\n\n.ermis-dropdown {\n font-family: var(--ermis-font-family);\n animation: dropdown-fade-up 0.15s ease-out;\n}\n\n.ermis-dropdown__menu {\n background-color: var(--ermis-bg-primary);\n border: 1px solid var(--ermis-border);\n border-radius: var(--ermis-radius-md);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n min-width: 160px;\n padding: var(--ermis-spacing-xs) 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.ermis-dropdown__item {\n background: none;\n border: none;\n width: 100%;\n text-align: left;\n padding: var(--ermis-spacing-xs) var(--ermis-spacing-md);\n font-size: var(--ermis-font-size-sm);\n color: var(--ermis-text-primary);\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n transition: background-color 0.15s;\n}\n\n.ermis-dropdown__item:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.ermis-dropdown__item:hover {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-dropdown__divider {\n height: 1px;\n background-color: var(--ermis-border);\n margin: var(--ermis-spacing-xs) 0;\n}\n\n.ermis-dropdown__item--danger {\n color: #e74c3c;\n}\n\n.ermis-dropdown__item--danger:hover {\n background-color: rgba(231, 76, 60, 0.1);\n}\n\n@keyframes dropdown-fade-up {\n 0% {\n opacity: 0;\n transform: translateY(4px) scale(0.98);\n }\n 100% {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n}\n",".ermis-modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n z-index: 1000;\n background-color: rgba(0, 0, 0, 0.5);\n backdrop-filter: blur(4px);\n display: flex;\n align-items: center;\n justify-content: center;\n animation: ermis-modal-fade-in 0.2s ease-out;\n}\n\n@keyframes ermis-modal-fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n.ermis-modal-content {\n background-color: var(--ermis-bg-primary);\n border-radius: 12px;\n width: 90%;\n max-width: 480px;\n max-height: 85vh;\n display: flex;\n flex-direction: column;\n box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);\n overflow: hidden;\n animation: ermis-modal-slide-up 0.2s cubic-bezier(0.16, 1, 0.3, 1);\n border: 1px solid var(--ermis-border);\n}\n\n@keyframes ermis-modal-slide-up {\n from {\n opacity: 0;\n transform: translateY(20px) scale(0.98);\n }\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n}\n\n.ermis-modal-header {\n padding: 16px 20px;\n border-bottom: 1px solid var(--ermis-border);\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-shrink: 0;\n}\n\n.ermis-modal-header h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--ermis-text-primary);\n}\n\n.ermis-modal-close {\n background: transparent;\n border: none;\n cursor: pointer;\n color: var(--ermis-text-secondary);\n padding: 4px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background-color 0.15s ease, color 0.15s ease;\n}\n\n.ermis-modal-close:hover {\n background-color: var(--ermis-bg-hover);\n color: var(--ermis-text-primary);\n}\n\n.ermis-modal-body {\n padding: 20px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n flex: 1;\n}\n\n.ermis-modal-footer {\n padding: 16px 20px;\n border-top: 1px solid var(--ermis-border);\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n flex-shrink: 0;\n background-color: var(--ermis-bg-secondary);\n}\n","/* ==========================================================================\n Panel — Reusable sliding overlay panel\n ========================================================================== */\n\n.ermis-panel {\n position: absolute;\n inset: 0;\n z-index: 30;\n display: flex;\n flex-direction: column;\n background: var(--ermis-bg-primary);\n transform: translateX(100%);\n transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: transform;\n overflow: hidden;\n}\n\n.ermis-panel--open {\n transform: translateX(0);\n}\n\n/* Header */\n.ermis-panel__header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n border-bottom: 1px solid var(--ermis-border, rgba(0, 0, 0, 0.08));\n flex-shrink: 0;\n}\n\n.ermis-panel__back {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border: none;\n background: none;\n color: var(--ermis-text-secondary);\n cursor: pointer;\n border-radius: 8px;\n flex-shrink: 0;\n transition: background 0.15s, color 0.15s;\n}\n\n.ermis-panel__back:hover {\n background: var(--ermis-bg-hover);\n color: var(--ermis-text-primary);\n}\n\n.ermis-panel__title {\n font-size: 15px;\n font-weight: 600;\n color: var(--ermis-text-primary);\n margin: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* Body */\n.ermis-panel__body {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n overflow-x: hidden;\n}\n","/* ----------------------------------------------------------\n ChannelHeader\n ---------------------------------------------------------- */\n.ermis-channel-header {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-md);\n padding: var(--ermis-spacing-md) var(--ermis-spacing-lg);\n border-bottom: 1px solid var(--ermis-border);\n background-color: var(--ermis-bg-secondary);\n font-family: var(--ermis-font-family);\n}\n\n.ermis-channel-header__info {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.ermis-channel-header__name {\n font-size: var(--ermis-font-size-base);\n font-weight: 600;\n color: var(--ermis-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-channel-header__team-name {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-secondary);\n margin-bottom: 2px;\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-channel-header__topic-avatar {\n width: 32px;\n height: 32px;\n min-width: 32px;\n border-radius: var(--ermis-radius-md);\n background-color: var(--ermis-bg-primary);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 16px;\n color: var(--ermis-text-secondary);\n}\n\n.ermis-channel-header__subtitle {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* --- Online Status Indicator --- */\n.ermis-channel-header__online-status {\n display: flex;\n align-items: center;\n gap: 5px;\n margin-top: 1px;\n}\n\n.ermis-channel-header__online-dot {\n width: 8px;\n height: 8px;\n border-radius: var(--ermis-radius-full);\n flex-shrink: 0;\n transition: background-color var(--ermis-transition);\n}\n\n.ermis-channel-header__online-dot--online {\n background-color: var(--ermis-color-success);\n}\n\n.ermis-channel-header__online-dot--offline {\n background-color: var(--ermis-text-muted);\n}\n\n.ermis-channel-header__online-label {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n line-height: 1;\n}\n\n.ermis-channel-header__online-status--online .ermis-channel-header__online-label {\n color: var(--ermis-color-success);\n}\n\n.ermis-channel-header__info {\n flex: 1;\n}\n\n.ermis-channel-header__actions {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n margin-left: auto;\n flex-shrink: 0;\n}\n\n/* ----------------------------------------------------------\n ChannelList\n ---------------------------------------------------------- */\n.ermis-channel-list {\n display: flex;\n flex-direction: column;\n font-family: var(--ermis-font-family);\n height: 100%;\n flex: 1;\n}\n\n.ermis-channel-list__loading {\n padding: var(--ermis-spacing-lg);\n color: var(--ermis-text-muted);\n font-size: var(--ermis-font-size-sm);\n text-align: center;\n}\n\n.ermis-channel-list__empty {\n padding: var(--ermis-spacing-lg);\n color: var(--ermis-text-muted);\n font-size: var(--ermis-font-size-sm);\n text-align: center;\n}\n\n.ermis-channel-list__item {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-md);\n padding: var(--ermis-spacing-md) var(--ermis-spacing-lg);\n cursor: pointer;\n border-left: 2px solid transparent;\n transition: background-color var(--ermis-transition), border-color var(--ermis-transition);\n position: relative;\n}\n\n.ermis-channel-list__item:hover {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-channel-list__item--active {\n background-color: var(--ermis-bg-active);\n border-left-color: var(--ermis-accent);\n}\n\n.ermis-channel-list__item-content {\n display: flex;\n flex-direction: column;\n min-width: 0;\n flex: 1;\n}\n\n/* --- Avatar wrapper with online dot overlay --- */\n.ermis-channel-list__item-avatar-wrapper {\n position: relative;\n flex-shrink: 0;\n}\n\n.ermis-channel-list__online-dot {\n position: absolute;\n bottom: 0;\n right: 0;\n width: 10px;\n height: 10px;\n border-radius: var(--ermis-radius-full);\n border: 2px solid var(--ermis-bg-secondary);\n transition: background-color var(--ermis-transition);\n}\n\n.ermis-channel-list__online-dot--online {\n background-color: var(--ermis-color-success);\n}\n\n.ermis-channel-list__online-dot--offline {\n background-color: var(--ermis-text-muted);\n}\n\n.ermis-channel-list__item-top-row {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: var(--ermis-spacing-sm);\n}\n\n.ermis-channel-list__item-bottom-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ermis-spacing-sm);\n margin-top: 2px;\n}\n\n.ermis-channel-list__item-name {\n font-size: var(--ermis-font-size-sm);\n font-weight: 500;\n color: var(--ermis-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n}\n\n.ermis-channel-list__item-timestamp {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n white-space: nowrap;\n flex-shrink: 0;\n margin-top: 2px;\n}\n\n.ermis-channel-list__item-last-message {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n}\n\n.ermis-channel-list__item-closed-indicator {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-secondary);\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n}\n\n.ermis-channel-list__closed-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n color: var(--ermis-color-danger);\n}\n\n.ermis-channel-list__pinned-icon {\n position: absolute;\n top: -5px;\n right: 0px;\n color: var(--ermis-color-danger, #ef4444);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n transform: rotate(45deg);\n}\n\n.ermis-channel-list__item-badges {\n display: flex;\n align-items: center;\n gap: 4px;\n flex-shrink: 0;\n}\n\n.ermis-channel-list__item-last-message-user {\n color: var(--ermis-text-secondary);\n}\n\n.ermis-channel-list__item-actions-wrapper,\n.ermis-channel-list__topic-actions-wrapper {\n position: absolute;\n right: var(--ermis-spacing-sm);\n top: 50%;\n transform: translateY(-50%);\n opacity: 0;\n transition: opacity var(--ermis-transition);\n display: flex;\n align-items: center;\n z-index: 1;\n}\n\n.ermis-channel-list__item:hover .ermis-channel-list__item-actions-wrapper,\n.ermis-channel-list__topic-header:hover .ermis-channel-list__topic-actions-wrapper,\n.ermis-channel-list__item-actions-wrapper:has(.ermis-channel-list__actions-trigger--active),\n.ermis-channel-list__topic-actions-wrapper:has(.ermis-channel-list__actions-trigger--active) {\n opacity: 1;\n}\n\n.ermis-channel-list__actions-trigger {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border-radius: var(--ermis-radius-sm);\n background-color: var(--ermis-bg-primary);\n color: var(--ermis-text-muted);\n border: none;\n cursor: pointer;\n transition: all var(--ermis-transition);\n}\n\n.ermis-channel-list__actions-trigger:hover,\n.ermis-channel-list__actions-trigger--active {\n background-color: var(--ermis-bg-primary);\n color: var(--ermis-accent);\n}\n\n/* --- Unread channel indicator --- */\n.ermis-channel-list__item--unread .ermis-channel-list__item-name {\n font-weight: 700;\n color: var(--ermis-text-primary);\n}\n\n.ermis-channel-list__item--unread .ermis-channel-list__item-last-message {\n color: var(--ermis-text-secondary);\n font-weight: 600;\n}\n\n.ermis-channel-list__unread-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n padding: 0 5px;\n border-radius: var(--ermis-radius-full);\n background-color: #ef4444;\n color: #fff;\n font-size: 0.625rem;\n font-weight: 700;\n line-height: 1;\n flex-shrink: 0;\n}\n\n.ermis-channel-list__blocked-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n color: var(--ermis-text-muted);\n}\n\n/* --- Pending channel indicator --- */\n.ermis-channel-list__item--pending {\n border-left: 3px solid var(--ermis-color-danger);\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-channel-list__pending-badge {\n display: inline-flex;\n padding: 3px 6px;\n background-color: var(--ermis-bg-hover);\n color: var(--ermis-color-danger);\n border-radius: 6px;\n font-size: 0.6rem;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n flex-shrink: 0;\n}\n\n/* --- Accordion Header --- */\n.ermis-channel-list__accordion-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 12px 6px 16px;\n background-color: transparent;\n cursor: pointer;\n color: var(--ermis-text-muted);\n font-size: 0.7rem;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n transition: color 0.2s ease;\n user-select: none;\n}\n\n.ermis-channel-list__accordion-header:hover {\n color: var(--ermis-accent);\n}\n\n.ermis-channel-list__accordion-header--static {\n cursor: default;\n}\n\n.ermis-channel-list__accordion-header--static:hover {\n color: var(--ermis-text-muted);\n}\n\n.ermis-channel-list__accordion-icon {\n transform: rotate(-90deg);\n transition: transform 0.2s ease;\n}\n\n.ermis-channel-list__accordion-icon--expanded {\n transform: rotate(0deg);\n}\n\n/* --- Topic Group --- */\n.ermis-channel-list__topic-group {\n display: flex;\n flex-direction: column;\n}\n\n.ermis-channel-list__topic-header {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-md);\n padding: var(--ermis-spacing-md) var(--ermis-spacing-lg);\n cursor: pointer;\n border-left: 2px solid transparent;\n transition: background-color var(--ermis-transition);\n position: relative;\n}\n\n.ermis-channel-list__topic-header:hover {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-channel-list__topic-header-name {\n font-size: var(--ermis-font-size-sm);\n font-weight: 600;\n color: var(--ermis-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n}\n\n.ermis-channel-list__add-topic-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border-radius: var(--ermis-radius-sm);\n background-color: transparent;\n color: var(--ermis-text-muted);\n border: none;\n cursor: pointer;\n transition: all var(--ermis-transition);\n}\n\n.ermis-channel-list__add-topic-btn:hover {\n background-color: var(--ermis-bg-primary);\n color: var(--ermis-accent);\n}\n\n.ermis-channel-list__topic-header--expanded .ermis-channel-list__accordion-icon {\n transform: rotate(0deg);\n}\n\n.ermis-channel-list__topic-sublist {\n display: flex;\n flex-direction: column;\n background-color: var(--ermis-bg-secondary);\n}\n\n/* Indent nested items and provide hierarchical line */\n.ermis-channel-list__topic-sublist .ermis-channel-list__item {\n padding-left: var(--ermis-spacing-md);\n margin-left: 20px;\n border-left: 2px solid var(--ermis-border);\n}\n\n.ermis-channel-list__topic-sublist .ermis-channel-list__item:hover {\n border-left-color: var(--ermis-border-hover);\n}\n\n.ermis-channel-list__topic-sublist .ermis-channel-list__item--active {\n border-left-color: var(--ermis-accent);\n}\n\n.ermis-channel-list__topic-hashtag {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n background-color: transparent;\n color: var(--ermis-text-muted);\n border-radius: var(--ermis-radius-full);\n font-size: 0.95rem;\n font-weight: 600;\n flex-shrink: 0;\n}\n","/* ----------------------------------------------------------\n Channel\n ---------------------------------------------------------- */\n.ermis-channel {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n font-family: var(--ermis-font-family);\n}\n\n.ermis-channel__empty {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n color: var(--ermis-text-muted);\n font-size: var(--ermis-font-size-sm);\n font-family: var(--ermis-font-family);\n}\n\n/* ----------------------------------------------------------\n MessageList\n ---------------------------------------------------------- */\n.ermis-message-list {\n display: flex;\n flex-direction: column;\n flex: 1;\n font-family: var(--ermis-font-family);\n gap: var(--ermis-spacing-xs);\n position: relative;\n}\n\n.ermis-message-list__vlist {\n display: flex !important;\n flex-direction: column !important;\n padding-left: 3rem;\n padding-right: 3rem;\n padding-top: var(--ermis-spacing-lg);\n padding-bottom: var(--ermis-spacing-lg);\n}\n\n/* Push content to bottom when few messages, margin collapses when content overflows */\n.ermis-message-list__vlist > div {\n margin-top: auto;\n}\n\n/* Jump to latest button */\n.ermis-message-list__jump-latest {\n position: sticky;\n bottom: var(--ermis-spacing-md);\n align-self: center;\n padding: var(--ermis-spacing-xs) var(--ermis-spacing-lg);\n border: none;\n border-radius: 999px;\n background-color: var(--ermis-accent);\n color: #fff;\n font-size: var(--ermis-font-size-xs);\n font-weight: 600;\n font-family: var(--ermis-font-family);\n cursor: pointer;\n transition: background-color var(--ermis-transition), transform var(--ermis-transition);\n z-index: 10;\n}\n\n.ermis-message-list__jump-latest:hover {\n background-color: var(--ermis-accent-hover);\n transform: translateY(-1px);\n}\n\n/* Pushes messages to bottom when few messages exist */\n.ermis-message-list__spacer {\n flex: 1;\n}\n\n/* --- Load more (pagination) --- */\n.ermis-message-list__loading-more {\n text-align: center;\n padding: var(--ermis-spacing-sm);\n color: var(--ermis-text-muted);\n font-size: var(--ermis-font-size-xs);\n}\n\n.ermis-message-list__no-more {\n text-align: center;\n padding: var(--ermis-spacing-sm);\n color: var(--ermis-text-muted);\n font-size: var(--ermis-font-size-xs);\n font-style: italic;\n}\n\n/* --- Date separator --- */\n.ermis-message-list__date-separator {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-md);\n padding: var(--ermis-spacing-md) 0;\n margin: var(--ermis-spacing-xs) 0;\n align-self: stretch;\n}\n\n.ermis-message-list__date-separator-line {\n flex: 1;\n height: 1px;\n background-color: var(--ermis-border);\n}\n\n.ermis-message-list__date-separator-label {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n white-space: nowrap;\n font-weight: 500;\n}\n\n.ermis-message-list__empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n gap: var(--ermis-spacing-sm);\n color: var(--ermis-text-muted);\n font-family: var(--ermis-font-family);\n padding: var(--ermis-spacing-lg);\n user-select: none;\n}\n\n.ermis-message-list__empty-icon {\n color: var(--ermis-accent);\n opacity: 0.4;\n margin-bottom: var(--ermis-spacing-xs);\n}\n\n.ermis-message-list__empty-title {\n font-size: var(--ermis-font-size-base);\n font-weight: 600;\n color: var(--ermis-text-secondary);\n}\n\n.ermis-message-list__empty-subtitle {\n font-size: var(--ermis-font-size-sm);\n color: var(--ermis-text-muted);\n}\n\n/* --- Message item (other = left, own = right) --- */\n.ermis-message-list__item {\n display: flex;\n align-items: flex-start;\n gap: var(--ermis-spacing-sm);\n width: 100%;\n}\n\n/* First message in a group: normal top margin */\n.ermis-message-list__item--group-start {\n padding-top: var(--ermis-spacing-md);\n}\n\n/* Continuation messages in a group: tight spacing */\n.ermis-message-list__item--group-cont {\n padding-top: 2px;\n}\n\n.ermis-message-list__item--other {\n align-self: flex-start;\n flex-direction: row;\n}\n\n.ermis-message-list__item--own {\n align-self: flex-end;\n flex-direction: row-reverse;\n}\n\n@keyframes ermis-highlight-fade {\n 0% {\n background-color: rgba(99, 102, 241, 0.15);\n }\n 100% {\n background-color: transparent;\n }\n}\n\n/* --- Fade-in animation for new messages --- */\n/* Smooth scroll handles the \"slide-up\" for the entire list;\n individual items only need a subtle fade-in. */\n@keyframes ermis-message-fade-in {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n\n.ermis-message-list__item--new {\n animation: ermis-message-fade-in 0.35s ease-out forwards;\n}\n\n.ermis-message-list__item--highlighted {\n position: relative;\n}\n\n.ermis-message-list__item--highlighted::before {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: -3rem;\n right: -3rem;\n animation: ermis-highlight-fade 3s ease-out forwards;\n pointer-events: none;\n z-index: -1;\n}\n\n/* --- Optimistic UI: message status --- */\n.ermis-message--sending {\n opacity: 0.6;\n pointer-events: none;\n}\n\n.ermis-message--error .ermis-message-bubble {\n border: 1px solid #e74c3c;\n}\n\n/* --- Pinned Message Indicator --- */\n.ermis-message-list__pinned-indicator {\n position: absolute;\n top: -5px;\n color: #e74c3c;\n z-index: 10;\n pointer-events: none;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n}\n\n.ermis-message-list__pinned-indicator--own {\n left: -10px;\n transform: rotate(-45deg);\n}\n\n.ermis-message-list__pinned-indicator--other {\n right: -10px;\n transform: rotate(45deg);\n}\n\n/* ----------------------------------------------------------\n Banned State\n ---------------------------------------------------------- */\n\n.ermis-message-list__banned-overlay {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: calc(100dvh - 8rem);\n gap: var(--ermis-spacing-md);\n user-select: none;\n}\n\n.ermis-message-list__banned-overlay-icon {\n color: #ef4444;\n opacity: 0.6;\n}\n\n.ermis-message-list__banned-overlay-title {\n font-size: var(--ermis-font-size-base);\n font-weight: 600;\n color: var(--ermis-text-primary);\n}\n\n.ermis-message-list__banned-overlay-subtitle {\n font-size: var(--ermis-font-size-sm);\n color: var(--ermis-text-muted);\n}\n\n/* ----------------------------------------------------------\n Closed Topic State\n ---------------------------------------------------------- */\n\n.ermis-message-list__closed-overlay {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: calc(100dvh - 8rem);\n gap: var(--ermis-spacing-md);\n user-select: none;\n}\n\n.ermis-message-list__closed-overlay-icon {\n color: var(--ermis-color-danger);\n opacity: 0.8;\n}\n\n.ermis-message-list__closed-overlay-title {\n font-size: var(--ermis-font-size-base);\n font-weight: 600;\n color: var(--ermis-text-primary);\n}\n\n.ermis-message-list__closed-overlay-subtitle {\n font-size: var(--ermis-font-size-sm);\n color: var(--ermis-text-muted);\n text-align: center;\n max-width: 80%;\n}\n\n.ermis-message-list__reopen-btn {\n margin-top: var(--ermis-spacing-md);\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-xl, 24px);\n border: none;\n border-radius: var(--ermis-radius-md, 8px);\n background-color: var(--ermis-accent);\n color: #fff;\n font-size: var(--ermis-font-size-sm);\n font-weight: 600;\n font-family: var(--ermis-font-family);\n cursor: pointer;\n transition: background-color var(--ermis-transition), transform var(--ermis-transition);\n}\n\n.ermis-message-list__reopen-btn:hover {\n background-color: var(--ermis-accent-hover);\n transform: translateY(-1px);\n}\n\n.ermis-message-list__reopen-btn:active {\n transform: translateY(0);\n}\n\n\n\n/* Unblock button inside blocked overlay */\n.ermis-message-list__unblock-btn {\n margin-top: var(--ermis-spacing-md);\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-xl, 24px);\n border: none;\n border-radius: var(--ermis-radius-md, 8px);\n background-color: var(--ermis-accent);\n color: #fff;\n font-size: var(--ermis-font-size-sm);\n font-weight: 600;\n font-family: var(--ermis-font-family);\n cursor: pointer;\n transition: background-color var(--ermis-transition), transform var(--ermis-transition);\n}\n\n.ermis-message-list__unblock-btn:hover {\n background-color: var(--ermis-accent-hover);\n transform: translateY(-1px);\n}\n\n.ermis-message-list__unblock-btn:active {\n transform: translateY(0);\n}\n\n/* Pending Overlay */\n.ermis-message-list__pending-overlay {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: calc(100dvh - 8rem);\n padding: var(--ermis-spacing-xl);\n}\n\n.ermis-message-list__pending-card {\n background-color: var(--ermis-bg-primary);\n border-radius: var(--ermis-radius-lg, 12px);\n padding: var(--ermis-spacing-xxl, 32px);\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n max-width: 400px;\n width: 100%;\n}\n\n.ermis-message-list__pending-avatar {\n margin-bottom: var(--ermis-spacing-lg, 16px);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\n}\n\n.ermis-message-list__pending-overlay-title {\n font-family: var(--ermis-font-family, sans-serif);\n font-size: var(--ermis-font-size-md, 14px);\n font-weight: 500;\n color: var(--ermis-text-secondary);\n margin-bottom: var(--ermis-spacing-xs, 4px);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.ermis-message-list__pending-channel-name {\n font-family: var(--ermis-font-family, sans-serif);\n font-size: var(--ermis-font-size-xl, 20px);\n font-weight: 700;\n color: var(--ermis-text-primary);\n margin-bottom: var(--ermis-spacing-sm, 8px);\n}\n\n.ermis-message-list__pending-overlay-subtitle {\n font-family: var(--ermis-font-family, sans-serif);\n font-size: var(--ermis-font-size-sm, 14px);\n color: var(--ermis-text-secondary);\n margin-bottom: var(--ermis-spacing-xl, 24px);\n line-height: 1.5;\n}\n\n.ermis-message-list__pending-actions {\n display: flex;\n gap: var(--ermis-spacing-md, 12px);\n width: 100%;\n}\n\n.ermis-message-list__accept-btn,\n.ermis-message-list__reject-btn {\n flex: 1;\n padding: var(--ermis-spacing-sm, 10px) var(--ermis-spacing-md, 16px);\n border-radius: var(--ermis-radius-md, 8px);\n font-family: var(--ermis-font-family, sans-serif);\n font-size: var(--ermis-font-size-md, 15px);\n font-weight: 600;\n cursor: pointer;\n transition: all var(--ermis-transition, 0.2s ease);\n}\n\n.ermis-message-list__accept-btn {\n border: none;\n background-color: var(--ermis-accent);\n color: #fff;\n box-shadow: 0 4px 10px rgba(0, 95, 255, 0.2);\n}\n\n.ermis-message-list__accept-btn:hover {\n background-color: var(--ermis-accent-hover);\n transform: translateY(-2px);\n box-shadow: 0 6px 14px rgba(0, 95, 255, 0.3);\n}\n\n.ermis-message-list__accept-btn:active {\n transform: translateY(0);\n}\n\n.ermis-message-list__reject-btn {\n border: 1px solid var(--ermis-color-danger);\n background-color: var(--ermis-bg-hover);\n color: var(--ermis-color-danger);\n}\n\n.ermis-message-list__reject-btn:hover {\n background-color: var(--ermis-color-danger);\n color: #fff;\n border-color: var(--ermis-color-danger);\n transform: translateY(-2px);\n box-shadow: 0 6px 14px rgba(239, 68, 68, 0.3);\n}\n.ermis-message-list__reject-btn:active {\n transform: translateY(0);\n}\n\n/* Pending Invitee Notification */\n.ermis-message-list__pending-invitee {\n background-color: var(--ermis-bg-secondary);\n border: 1px solid var(--ermis-border);\n border-radius: var(--ermis-radius-md, 8px);\n padding: var(--ermis-spacing-sm, 12px) var(--ermis-spacing-md, 16px);\n margin: var(--ermis-spacing-sm) var(--ermis-spacing-lg);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.ermis-message-list__pending-invitee-content {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-md, 12px);\n color: var(--ermis-text-secondary);\n font-size: var(--ermis-font-size-sm, 14px);\n font-family: var(--ermis-font-family, sans-serif);\n}\n\n.ermis-message-list__pending-invitee-content svg {\n color: var(--ermis-accent);\n}\n","/* --- Quoted message preview --- */\n.ermis-quoted-message {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding: var(--ermis-spacing-xs) var(--ermis-spacing-sm);\n border-left: 3px solid var(--ermis-accent);\n background-color: var(--ermis-quote-other-bg);\n border-radius: 0 var(--ermis-radius-sm) var(--ermis-radius-sm) 0;\n cursor: pointer;\n max-width: 100%;\n transition: background-color 0.15s;\n margin-top: var(--ermis-spacing-sm);\n}\n\n.ermis-quoted-message:hover {\n background-color: var(--ermis-quote-other-bg-hover);\n}\n\n.ermis-quoted-message--own {\n border-left-color: var(--ermis-quote-own-border);\n background-color: var(--ermis-quote-own-bg);\n border-radius: var(--ermis-radius-sm);\n}\n\n.ermis-quoted-message--own:hover {\n background-color: var(--ermis-quote-own-bg-hover);\n}\n\n.ermis-quoted-message__author {\n font-size: var(--ermis-font-size-xs);\n font-weight: 600;\n color: var(--ermis-accent);\n}\n\n.ermis-quoted-message--own .ermis-quoted-message__author {\n color: var(--ermis-quote-own-author);\n}\n\n.ermis-quoted-message__text {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ermis-quoted-message--own .ermis-quoted-message__text {\n color: var(--ermis-quote-own-text);\n}\n\n/* Light theme: same approach works since we darken the accent bg */\n\n/* Avatar column: fixed width for consistent alignment */\n.ermis-message-list__item-avatar {\n flex-shrink: 0;\n}\n\n.ermis-message-list__item-content {\n display: flex;\n flex-direction: column;\n min-width: 0;\n max-width: 75%;\n gap: 2px;\n}\n\n.ermis-message-list__item--own .ermis-message-list__item-content {\n align-items: flex-end;\n}\n\n.ermis-message-list__bubble-wrapper {\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n align-items: center; /* Center actions vertically with the bubble */\n position: relative;\n width: 100%;\n}\n\n.ermis-message-list__item--own .ermis-message-list__bubble-wrapper {\n flex-direction: row-reverse;\n}\n\n.ermis-message-list__item-user {\n font-size: var(--ermis-font-size-xs);\n font-weight: 600;\n color: var(--ermis-accent);\n margin-bottom: 1px;\n}\n\n/* Timestamp inside bubble — bottom right */\n.ermis-message-list__item-time {\n font-size: 0.625rem;\n color: var(--ermis-text-muted);\n margin-left: auto;\n padding-left: var(--ermis-spacing-md);\n white-space: nowrap;\n line-height: 1;\n align-self: flex-end;\n padding-top: 4px;\n width: 100%;\n text-align: right;\n display: inline-flex;\n align-items: center;\n justify-content: flex-end;\n gap: 3px;\n}\n\n.ermis-message-list__edited-indicator {\n margin-right: 2px;\n}\n\n/* --- Inline message status icon (inside bubble, after timestamp) --- */\n.ermis-message-status-icon {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n line-height: 0;\n}\n\n.ermis-message-status-icon--sent {\n color: var(--ermis-text-muted);\n opacity: 0.5;\n}\n\n.ermis-message-bubble--own .ermis-message-status-icon--sent {\n color: rgba(255, 255, 255, 0.6);\n opacity: 1;\n}\n\n.ermis-message-status-icon--sending {\n color: var(--ermis-text-muted);\n opacity: 0.4;\n}\n\n.ermis-message-bubble--own .ermis-message-status-icon--sending {\n color: rgba(255, 255, 255, 0.4);\n opacity: 1;\n}\n\n.ermis-message-status-icon--failed {\n color: var(--ermis-color-danger);\n}\n\n.ermis-message-bubble--own .ermis-message-list__item-time {\n color: rgba(255, 255, 255, 0.6);\n}\n\n.ermis-message-list__item-text {\n font-size: var(--ermis-font-size-sm);\n line-height: 1.5;\n word-break: break-word;\n}\n\n/* --- Mentions --- */\n.ermis-mention {\n color: var(--ermis-accent);\n font-weight: 600;\n cursor: pointer;\n}\n\n.ermis-message-bubble--own .ermis-mention {\n color: rgba(255, 255, 255, 0.9);\n text-decoration: underline;\n text-underline-offset: 2px;\n}\n\n/* Auto-detected URLs/emails in message text */\n.ermis-text-link {\n color: var(--ermis-accent);\n text-decoration: underline;\n text-underline-offset: 2px;\n cursor: pointer;\n word-break: break-all;\n}\n\n.ermis-text-link:hover {\n opacity: 0.8;\n}\n\n.ermis-message-bubble--own .ermis-text-link {\n color: rgba(255, 255, 255, 0.9);\n}\n\n.ermis-message-bubble--own .ermis-attachment__link-title {\n color: rgba(255, 255, 255, 0.9);\n}\n\n/* --- Message Bubble --- */\n.ermis-message-bubble {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: flex-end;\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n border-radius: var(--ermis-radius-lg);\n /* width: 100%; */\n word-break: break-word;\n}\n\n.ermis-message-bubble--own {\n background-color: var(--ermis-bubble-own-bg);\n color: var(--ermis-bubble-own-text);\n border-bottom-right-radius: var(--ermis-radius-sm);\n}\n\n/* --- Override muted text inside own bubble (unreadable on accent bg in dark mode) --- */\n.ermis-message-bubble--own .ermis-attachment__file-size,\n.ermis-message-bubble--own .ermis-attachment__link-url,\n.ermis-message-bubble--own .ermis-attachment__link-description,\n.ermis-message-bubble--own .ermis-attachment__voice-duration,\n.ermis-message-bubble--own .ermis-message-list__forwarded-indicator,\n.ermis-message-bubble--own .ermis-attachment--file {\n color: rgba(255, 255, 255, 0.6);\n}\n\n.ermis-message-bubble--own .ermis-attachment--link-preview {\n border-color: rgba(255, 255, 255, 0.2);\n}\n\n.ermis-message-bubble--own .ermis-attachment--file {\n background-color: rgba(255, 255, 255, 0.1);\n}\n\n.ermis-message-bubble--other {\n background-color: var(--ermis-bubble-other-bg);\n color: var(--ermis-bubble-other-text);\n border-bottom-left-radius: var(--ermis-radius-sm);\n}\n\n/* --- System messages --- */\n.ermis-message-list__system {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-sm) 0;\n margin: var(--ermis-spacing-xs) 0;\n align-self: center;\n}\n\n.ermis-message-list__system-text {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n font-style: italic;\n}\n\n/* --- Signal messages (call events) --- */\n.ermis-signal-message {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n border-radius: var(--ermis-radius-md);\n background-color: var(--ermis-signal-bg);\n min-width: 180px;\n}\n\n.ermis-signal-message__icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 32px;\n height: 32px;\n border-radius: var(--ermis-radius-full);\n}\n\n.ermis-signal-message__icon--success {\n background-color: rgba(84, 214, 44, 0.12);\n color: var(--ermis-signal-success);\n}\n\n.ermis-signal-message__icon--missed {\n background-color: rgba(255, 72, 66, 0.12);\n color: var(--ermis-signal-missed);\n}\n\n.ermis-signal-message__body {\n display: flex;\n flex-direction: column;\n gap: 1px;\n min-width: 0;\n}\n\n.ermis-signal-message__text {\n font-size: var(--ermis-font-size-sm);\n line-height: 1.4;\n word-break: break-word;\n}\n\n.ermis-signal-message__text--success {\n color: var(--ermis-signal-success);\n}\n\n.ermis-signal-message__text--missed {\n color: var(--ermis-signal-missed);\n}\n\n.ermis-signal-message__duration {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n line-height: 1.3;\n}\n\n/* Legacy class kept for backward compatibility */\n.ermis-message-list__signal-text {\n font-size: var(--ermis-font-size-sm);\n color: inherit;\n line-height: 1.5;\n word-break: break-word;\n}\n\n/* --- Signal message inside own bubble (accent bg) --- */\n.ermis-message-bubble--own .ermis-signal-message {\n background-color: var(--ermis-signal-own-bg);\n}\n\n.ermis-message-bubble--own .ermis-signal-message__icon--success {\n background-color: rgba(134, 239, 172, 0.2);\n color: var(--ermis-signal-own-success);\n}\n\n.ermis-message-bubble--own .ermis-signal-message__icon--missed {\n background-color: rgba(252, 165, 165, 0.2);\n color: var(--ermis-signal-own-missed);\n}\n\n.ermis-message-bubble--own .ermis-signal-message__text--success {\n color: var(--ermis-signal-own-success);\n}\n\n.ermis-message-bubble--own .ermis-signal-message__text--missed {\n color: var(--ermis-signal-own-missed);\n}\n\n.ermis-message-bubble--own .ermis-signal-message__duration {\n color: var(--ermis-signal-own-duration);\n}\n\n/* --- Attachments --- */\n\n/* When message has attachments, constrain entire content column (quote + bubble) */\n.ermis-message-list__item-content--has-attachments {\n width: 350px;\n}\n\n.ermis-message-list__item-content--has-attachments .ermis-message-bubble {\n width: 100%;\n}\n\n/* Container for messages with both text + attachments */\n.ermis-message-content--with-attachments {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n.ermis-message-content--with-attachments .ermis-message-list__item-text {\n word-wrap: break-word;\n overflow-wrap: break-word;\n}\n\n.ermis-attachment-list {\n display: flex;\n flex-direction: column;\n gap: var(--ermis-spacing-xs);\n margin-top: var(--ermis-spacing-xs);\n width: 100%;\n}\n\n/* Media grid (images + videos) */\n.ermis-attachment-grid {\n display: grid;\n gap: 2px;\n border-radius: var(--ermis-radius-md);\n overflow: hidden;\n}\n\n.ermis-attachment-grid--single {\n grid-template-columns: 1fr;\n}\n\n.ermis-attachment-grid--multi {\n grid-template-columns: 1fr 1fr;\n}\n\n.ermis-attachment-grid .ermis-attachment--image,\n.ermis-attachment-grid .ermis-attachment--video,\n.ermis-attachment-grid .ermis-attachment--video-poster {\n width: 100%;\n height: 100%;\n max-width: none;\n max-height: 200px;\n border-radius: 0;\n display: block;\n}\n\n.ermis-attachment-grid .ermis-attachment--image,\n.ermis-attachment-grid .ermis-attachment--video-poster {\n object-fit: cover;\n}\n\n.ermis-attachment-grid .ermis-attachment--video {\n object-fit: contain;\n background-color: var(--ermis-bg-hover);\n}\n\n/* Single media: larger height allowed */\n.ermis-attachment-grid--single .ermis-attachment--image,\n.ermis-attachment-grid--single .ermis-attachment--video,\n.ermis-attachment-grid--single .ermis-attachment--video-poster {\n max-height: 300px;\n}\n\n/* If odd number of media in multi-grid, last item spans full width */\n.ermis-attachment-grid--multi > :last-child:nth-child(odd) {\n grid-column: 1 / -1;\n}\n\n/* --- Aspect Ratio Box — prevents CLS (Cumulative Layout Shift) --- */\n.ermis-attachment-aspect-box {\n position: relative;\n overflow: hidden;\n border-radius: var(--ermis-radius-md);\n width: 100%;\n max-width: 300px;\n min-height: 120px;\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-attachment-aspect-box--4-3 {\n padding-bottom: 75%;\n}\n\n/* Blurred thumbnail preview (shown while full image loads) */\n.ermis-attachment-blur-preview {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n filter: blur(20px);\n transform: scale(1.1); /* hide blur edges */\n z-index: 1;\n}\n\n/* Shimmer animation placeholder (when no thumbnail available) */\n.ermis-attachment-shimmer {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1;\n background: linear-gradient(110deg, var(--ermis-bg-hover) 30%, var(--ermis-bg-active) 50%, var(--ermis-bg-hover) 70%);\n background-size: 200% 100%;\n animation: ermis-shimmer 1.5s ease-in-out infinite;\n}\n\n@keyframes ermis-shimmer {\n 0% {\n background-position: 200% 0;\n }\n 100% {\n background-position: -200% 0;\n }\n}\n\n.ermis-attachment--hidden-loader {\n display: none;\n}\n\n/* Full media — hidden until loaded, fades in over blur/shimmer */\n.ermis-attachment-aspect-box .ermis-attachment--image,\n.ermis-attachment-aspect-box .ermis-attachment--video,\n.ermis-attachment-aspect-box .ermis-attachment--video-poster {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n transition: opacity 0.3s ease;\n z-index: 2;\n /* Reset standalone styles inside aspect-box */\n max-width: none;\n max-height: none;\n border-radius: 0;\n}\n\n.ermis-attachment-aspect-box .ermis-attachment--image,\n.ermis-attachment-aspect-box .ermis-attachment--video-poster {\n object-fit: cover;\n}\n\n.ermis-attachment-aspect-box .ermis-attachment--video {\n object-fit: contain;\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-attachment-aspect-box .ermis-attachment--image.ermis-attachment--loaded,\n.ermis-attachment-aspect-box .ermis-attachment--video.ermis-attachment--loaded,\n.ermis-attachment-aspect-box .ermis-attachment--video-poster.ermis-attachment--loaded {\n opacity: 1;\n}\n\n/* Override aspect-box inside grid: remove constraints */\n.ermis-attachment-grid .ermis-attachment-aspect-box {\n max-width: none;\n border-radius: 0;\n min-height: 100px;\n}\n\n.ermis-attachment--image,\n.ermis-attachment--video-poster {\n max-width: 300px;\n max-height: 200px;\n border-radius: var(--ermis-radius-md);\n object-fit: cover;\n cursor: pointer;\n}\n\n.ermis-attachment--video {\n max-width: 300px;\n max-height: 200px;\n border-radius: var(--ermis-radius-md);\n object-fit: contain;\n}\n\n.ermis-attachment--file {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n border-radius: var(--ermis-radius-md);\n background-color: var(--ermis-bg-hover);\n text-decoration: none;\n color: var(--ermis-text-primary);\n transition: background-color var(--ermis-transition);\n}\n\n.ermis-attachment--file:hover {\n background-color: var(--ermis-bg-active);\n}\n\n.ermis-attachment__file-icon {\n width: 40px;\n height: 40px;\n min-width: 40px;\n border-radius: var(--ermis-radius-md);\n background: var(--ermis-bg-secondary);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: var(--ermis-text-muted);\n gap: 1px;\n flex-shrink: 0;\n}\n\n.ermis-attachment__file-ext {\n font-size: 8px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n color: var(--ermis-text-muted);\n line-height: 1;\n}\n\n.ermis-attachment__file-info {\n display: flex;\n flex-direction: column;\n min-width: 0;\n flex: 1;\n}\n\n.ermis-attachment__file-name {\n font-size: var(--ermis-font-size-sm);\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-attachment__file-size {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n}\n\n.ermis-attachment__file-download {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 32px;\n height: 32px;\n border: none;\n border-radius: var(--ermis-radius-full);\n background: transparent;\n color: var(--ermis-text-muted);\n cursor: pointer;\n transition: background-color var(--ermis-transition), color var(--ermis-transition);\n}\n\n.ermis-attachment__file-download:hover {\n background-color: var(--ermis-bg-active);\n color: var(--ermis-accent);\n}\n\n.ermis-message-bubble--own .ermis-attachment__file-name {\n color: rgba(255, 255, 255, 0.9);\n}\n\n.ermis-message-bubble--own .ermis-attachment__file-icon {\n background: rgba(255, 255, 255, 0.2);\n color: #fff;\n}\n\n.ermis-message-bubble--own .ermis-attachment__file-ext {\n color: rgba(255, 255, 255, 0.8);\n}\n\n.ermis-message-bubble--own .ermis-attachment__file-download {\n color: rgba(255, 255, 255, 0.7);\n}\n\n.ermis-message-bubble--own .ermis-attachment__file-download:hover {\n background-color: rgba(255, 255, 255, 0.15);\n color: #fff;\n}\n\n/* --- Voice recording --- */\n.ermis-attachment--voice {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n border-radius: var(--ermis-radius-md);\n background-color: var(--ermis-bg-hover);\n overflow: hidden;\n width: 100%;\n box-sizing: border-box;\n}\n\n.ermis-attachment__voice-icon {\n font-size: 1.25rem;\n flex-shrink: 0;\n}\n\n.ermis-attachment__voice-player {\n flex: 1;\n min-width: 0;\n width: 100%;\n max-width: 100%;\n height: 32px;\n}\n\n.ermis-attachment__voice-duration {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n flex-shrink: 0;\n}\n\n/* --- Link preview --- */\n.ermis-attachment--link-preview {\n display: flex;\n flex-direction: column;\n border-radius: var(--ermis-radius-md);\n overflow: hidden;\n border: 1px solid var(--ermis-border);\n text-decoration: none;\n color: var(--ermis-text-primary);\n transition: border-color var(--ermis-transition);\n}\n\n.ermis-attachment--link-preview:hover {\n border-color: var(--ermis-accent);\n}\n\n.ermis-attachment__link-image-wrapper {\n position: relative;\n width: 100%;\n min-height: 120px;\n background-color: var(--ermis-bg-hover);\n overflow: hidden;\n}\n\n.ermis-attachment__link-image {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n transition: opacity 0.3s ease;\n}\n\n.ermis-attachment__link-image.ermis-attachment--loaded {\n opacity: 1;\n}\n\n.ermis-attachment__link-info {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n}\n\n.ermis-attachment__link-title {\n font-size: var(--ermis-font-size-sm);\n font-weight: 600;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.ermis-attachment__link-description {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-secondary);\n display: -webkit-box;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.ermis-attachment__link-url {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n margin-top: 2px;\n}\n\n/* --- Poll message --- */\n.ermis-message-poll {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n}\n\n.ermis-message-poll__icon {\n font-size: 1.25rem;\n}\n\n.ermis-message-poll__text {\n font-size: var(--ermis-font-size-sm);\n}\n\n/* --- Sticker message --- */\n.ermis-message-sticker-wrapper {\n position: relative;\n width: 120px;\n height: 120px;\n overflow: hidden;\n}\n\n.ermis-message-sticker {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n object-fit: contain;\n opacity: 0;\n transition: opacity 0.3s ease;\n}\n\n.ermis-message-sticker.ermis-attachment--loaded {\n opacity: 1;\n}\n\n/* --- Error message --- */\n.ermis-message-error {\n font-size: var(--ermis-font-size-sm);\n color: #ef4444;\n font-style: italic;\n}\n\n/* --- Read receipts --- */\n.ermis-read-receipts {\n display: flex;\n justify-content: flex-end;\n width: 100%;\n padding-top: 2px;\n}\n\n@keyframes ermis-receipt-pop {\n 0% {\n opacity: 0;\n transform: scale(0.5) translateY(5px);\n }\n 100% {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n}\n\n.ermis-read-receipts__avatars {\n display: flex;\n flex-direction: row;\n align-items: center;\n cursor: default;\n position: relative;\n animation: ermis-receipt-pop 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;\n}\n\n.ermis-read-receipts__avatar {\n flex-shrink: 0;\n border: 1.5px solid var(--ermis-bg-primary);\n border-radius: 50%;\n box-sizing: content-box;\n}\n\n/* Stack overlapping */\n.ermis-read-receipts__avatar + .ermis-read-receipts__avatar {\n margin-left: -4px;\n}\n\n.ermis-read-receipts__overflow {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n background-color: var(--ermis-bg-hover);\n color: var(--ermis-text-muted);\n font-size: 0.5rem;\n font-weight: 700;\n margin-left: -4px;\n border: 1.5px solid var(--ermis-bg-primary);\n box-sizing: content-box;\n flex-shrink: 0;\n}\n\n/* Tooltip Wrapper — hidden by default, shown on hover of __avatars */\n.ermis-read-receipts__tooltip-wrapper {\n display: none;\n position: absolute;\n bottom: calc(100% + 6px);\n right: 0;\n z-index: 50;\n}\n\n/* Invisible bridge to prevent hover loss when moving mouse from avatar to tooltip */\n.ermis-read-receipts__tooltip-wrapper::after {\n content: '';\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n height: 6px;\n background: transparent;\n}\n\n.ermis-read-receipts__avatars:hover .ermis-read-receipts__tooltip-wrapper {\n display: flex;\n}\n\n/* Inner Tooltip with scrolling and styling */\n.ermis-read-receipts__tooltip {\n display: flex;\n flex-direction: column;\n gap: 8px;\n background-color: var(--ermis-bg-secondary);\n border: 1px solid var(--ermis-border);\n border-radius: var(--ermis-radius-md, 8px);\n padding: var(--ermis-spacing-xs, 6px) var(--ermis-spacing-sm, 8px);\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);\n width: 200px;\n max-height: 200px;\n overflow-y: auto;\n}\n\n.ermis-read-receipts__tooltip-item {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm, 8px);\n}\n\n.ermis-read-receipts__tooltip-info {\n display: flex;\n flex-direction: column;\n gap: 1px;\n min-width: 0;\n}\n\n.ermis-read-receipts__tooltip-name {\n font-size: var(--ermis-font-size-xs, 0.75rem);\n color: var(--ermis-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-read-receipts__tooltip-time {\n font-size: 0.625rem;\n color: var(--ermis-text-muted);\n white-space: nowrap;\n}\n","/* ----------------------------------------------------------\n MessageInput\n ---------------------------------------------------------- */\n.ermis-message-input {\n display: flex;\n flex-direction: column;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-md);\n border-top: 1px solid var(--ermis-border);\n background-color: var(--ermis-bg-secondary);\n font-family: var(--ermis-font-family);\n position: relative;\n}\n\n.ermis-message-input__row {\n display: flex;\n align-items: flex-end;\n gap: var(--ermis-spacing-sm);\n}\n\n.ermis-message-input__textarea {\n flex: 1;\n resize: none;\n border: 1px solid var(--ermis-border);\n border-radius: var(--ermis-radius-md);\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n font-size: var(--ermis-font-size-sm);\n font-family: var(--ermis-font-family);\n color: var(--ermis-text-primary);\n background-color: var(--ermis-bg-primary);\n outline: none;\n transition: border-color var(--ermis-transition);\n line-height: 1.5;\n min-height: 2.25rem;\n max-height: 8rem;\n}\n\n.ermis-message-input__textarea::placeholder {\n color: var(--ermis-text-muted);\n}\n\n.ermis-message-input__textarea:focus {\n border-color: var(--ermis-accent);\n}\n\n.ermis-message-input__send-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-lg);\n border: none;\n border-radius: var(--ermis-radius-md);\n background-color: var(--ermis-accent);\n color: #fff;\n font-size: var(--ermis-font-size-sm);\n font-weight: 600;\n font-family: var(--ermis-font-family);\n cursor: pointer;\n white-space: nowrap;\n transition: background-color var(--ermis-transition), opacity var(--ermis-transition);\n}\n\n.ermis-message-input__send-btn:hover:not(:disabled) {\n background-color: var(--ermis-accent-hover);\n}\n\n.ermis-message-input__send-btn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n/* --- Attach button --- */\n.ermis-message-input__attach-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 4px;\n border: none;\n background: none;\n font-size: 1.25rem;\n cursor: pointer;\n color: var(--ermis-text-secondary);\n transition: color var(--ermis-transition);\n flex-shrink: 0;\n}\n\n.ermis-message-input__attach-btn:hover {\n color: var(--ermis-accent);\n}\n\n.ermis-message-input__attach-btn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.ermis-message-input__file-input {\n display: none;\n}\n\n/* --- Emoji button --- */\n.ermis-message-input__emoji-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 4px;\n border: none;\n background: none;\n font-size: 1.25rem;\n cursor: pointer;\n color: var(--ermis-text-secondary);\n transition: color var(--ermis-transition);\n flex-shrink: 0;\n}\n\n.ermis-message-input__emoji-btn:hover,\n.ermis-message-input__emoji-btn--active {\n color: var(--ermis-accent);\n}\n\n/* --- Emoji picker container --- */\n.ermis-message-input__emoji-picker {\n position: absolute;\n bottom: 100%;\n right: 0;\n margin-bottom: var(--ermis-spacing-xs);\n z-index: 100;\n border-radius: var(--ermis-radius-md);\n box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.15);\n overflow: hidden;\n}\n\n/* --- Files preview --- */\n.ermis-files-preview {\n display: flex;\n gap: var(--ermis-spacing-sm);\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: thin;\n min-width: 0;\n}\n.ermis-files-preview__item {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 80px;\n min-width: 80px;\n border-radius: var(--ermis-radius-md);\n border: 1px solid var(--ermis-border);\n overflow: hidden;\n background: var(--ermis-bg-primary);\n}\n\n.ermis-files-preview__item--error {\n border-color: #e74c3c;\n}\n\n.ermis-files-preview__remove {\n position: absolute;\n top: 2px;\n right: 2px;\n width: 18px;\n height: 18px;\n border-radius: 50%;\n border: none;\n background: rgba(0, 0, 0, 0.6);\n color: #fff;\n font-size: 10px;\n line-height: 1;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1;\n padding: 0;\n}\n\n.ermis-files-preview__remove:hover {\n background: rgba(0, 0, 0, 0.8);\n}\n\n.ermis-files-preview__thumb {\n width: 100%;\n height: 60px;\n object-fit: cover;\n display: block;\n}\n\n.ermis-files-preview__file-icon {\n width: 100%;\n height: 60px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 1.5rem;\n background: var(--ermis-bg-hover);\n}\n\n.ermis-files-preview__info {\n display: flex;\n flex-direction: column;\n padding: 2px 4px;\n gap: 1px;\n}\n\n.ermis-files-preview__name {\n font-size: 10px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: var(--ermis-text-primary);\n}\n\n.ermis-files-preview__size {\n font-size: 9px;\n color: var(--ermis-text-muted);\n}\n\n.ermis-files-preview__uploading {\n position: absolute;\n inset: 0;\n background: rgba(0, 0, 0, 0.3);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.ermis-files-preview__spinner {\n width: 20px;\n height: 20px;\n border: 2px solid rgba(255, 255, 255, 0.4);\n border-top-color: #fff;\n border-radius: 50%;\n animation: ermis-spin 0.6s linear infinite;\n}\n\n@keyframes ermis-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n.ermis-files-preview__error-badge {\n position: absolute;\n bottom: 2px;\n right: 2px;\n font-size: 14px;\n color: #e74c3c;\n}\n\n/* ----------------------------------------------------------\n Reply Preview\n ---------------------------------------------------------- */\n.ermis-message-input__reply-preview {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--ermis-spacing-xs) var(--ermis-spacing-md);\n background-color: var(--ermis-bg-primary);\n border-left: 3px solid var(--ermis-accent);\n border-radius: var(--ermis-radius-sm);\n gap: var(--ermis-spacing-sm);\n}\n\n.ermis-message-input__reply-preview-body {\n display: flex;\n flex-direction: column;\n min-width: 0;\n flex: 1;\n}\n\n.ermis-message-input__reply-preview-label {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-accent);\n font-weight: 600;\n}\n\n.ermis-message-input__reply-preview-user {\n font-size: var(--ermis-font-size-sm);\n font-weight: 600;\n color: var(--ermis-text-primary);\n}\n\n.ermis-message-input__reply-preview-text {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-message-input__reply-preview-dismiss {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n cursor: pointer;\n color: var(--ermis-text-secondary);\n padding: 4px;\n border-radius: var(--ermis-radius-sm);\n flex-shrink: 0;\n transition: background-color 0.15s, color 0.15s;\n}\n\n.ermis-message-input__reply-preview-dismiss:hover {\n background-color: var(--ermis-bg-hover);\n color: var(--ermis-text-primary);\n}\n\n/* ----------------------------------------------------------\n Banned State\n ---------------------------------------------------------- */\n.ermis-message-input--banned {\n pointer-events: none;\n}\n\n.ermis-message-input__banned-banner {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-md) var(--ermis-spacing-lg);\n color: #ef4444;\n font-size: var(--ermis-font-size-sm);\n font-weight: 500;\n user-select: none;\n opacity: 0.8;\n}\n\n.ermis-message-input__banned-banner svg {\n flex-shrink: 0;\n}\n\n/* ----------------------------------------------------------\n Blocked State (messaging channels — user-initiated block)\n ---------------------------------------------------------- */\n.ermis-message-input--blocked {\n pointer-events: none;\n}\n\n.ermis-message-input__blocked-banner {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-md) var(--ermis-spacing-lg);\n color: var(--ermis-text-secondary);\n font-size: var(--ermis-font-size-sm);\n font-weight: 500;\n user-select: none;\n opacity: 0.8;\n}\n\n.ermis-message-input__blocked-banner svg {\n flex-shrink: 0;\n}\n\n/* ----------------------------------------------------------\n Closed Topic State\n ---------------------------------------------------------- */\n.ermis-message-input--closed {\n pointer-events: none;\n}\n\n.ermis-message-input__closed-banner {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-md) var(--ermis-spacing-lg);\n color: var(--ermis-color-danger);\n font-size: var(--ermis-font-size-sm);\n font-weight: 500;\n user-select: none;\n opacity: 0.8;\n}\n\n.ermis-message-input__closed-banner svg {\n flex-shrink: 0;\n}\n\n/* ----------------------------------------------------------\n Banners\n ---------------------------------------------------------- */\n.ermis-message-input__keyword-banner {\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n background-color: var(--ermis-bg-hover);\n border-radius: var(--ermis-radius-md) var(--ermis-radius-md) 0 0;\n font-size: var(--ermis-font-size-sm, 13px);\n color: var(--ermis-color-danger);\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n border-bottom: 1px solid var(--ermis-color-danger);\n}\n\n.ermis-message-input__permission-banner,\n.ermis-message-input__slow-mode-banner {\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n background-color: var(--ermis-bg-secondary);\n border-radius: var(--ermis-radius-md) var(--ermis-radius-md) 0 0;\n font-size: var(--ermis-font-size-sm, 13px);\n color: var(--ermis-text-secondary);\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n border-bottom: 1px solid var(--ermis-border-color);\n}\n\n.ermis-message-input__row--banners-active {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n","/* --- ContentEditable mention input --- */\n.ermis-message-input__editable-wrapper {\n flex: 1;\n position: relative;\n min-width: 0;\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-xs);\n}\n\n.ermis-message-input__editable {\n flex: 1;\n min-width: 0;\n border: 1px solid var(--ermis-border);\n border-radius: var(--ermis-radius-md);\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n font-size: var(--ermis-font-size-sm);\n font-family: var(--ermis-font-family);\n color: var(--ermis-text-primary);\n background-color: var(--ermis-bg-primary);\n outline: none;\n transition: border-color var(--ermis-transition);\n line-height: 1.5;\n min-height: 2.25rem;\n max-height: 8rem;\n overflow-y: auto;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n.ermis-message-input__editable:focus {\n border-color: var(--ermis-accent);\n}\n\n.ermis-message-input__editable:empty::before {\n content: attr(data-placeholder);\n color: var(--ermis-text-muted);\n pointer-events: none;\n}\n\n/* Atomic mention span inside contentEditable */\n.ermis-message-input__mention-span {\n color: var(--ermis-accent);\n font-weight: 600;\n user-select: all;\n cursor: default;\n border-radius: 3px;\n padding: 0 1px;\n}\n\n/* --- Mention Suggestion Box --- */\n.ermis-mention-suggestions {\n position: absolute;\n bottom: 100%;\n left: 0;\n right: 0;\n max-height: 200px;\n overflow-y: auto;\n background-color: var(--ermis-bg-primary);\n border: 1px solid var(--ermis-border);\n border-radius: var(--ermis-radius-md);\n box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.15);\n margin-bottom: var(--ermis-spacing-xs);\n z-index: 100;\n}\n\n.ermis-mention-suggestions__item {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n cursor: pointer;\n transition: background-color 0.1s;\n}\n\n.ermis-mention-suggestions__item:hover,\n.ermis-mention-suggestions__item--highlighted {\n background-color: var(--ermis-bg-secondary);\n}\n\n.ermis-mention-suggestions__name {\n font-size: var(--ermis-font-size-sm);\n color: var(--ermis-text-primary);\n font-weight: 500;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ermis-mention-suggestions__all-icon {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n background-color: var(--ermis-accent);\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 0.75rem;\n font-weight: 700;\n flex-shrink: 0;\n}\n","/* ----------------------------------------------------------\n Pinned Messages\n ---------------------------------------------------------- */\n.ermis-pinned-messages {\n border-bottom: 1px solid var(--ermis-border);\n background-color: var(--ermis-bg-secondary);\n font-family: var(--ermis-font-family);\n position: relative;\n flex-shrink: 0;\n z-index: 50;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);\n}\n\n.ermis-pinned-messages__header {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-xs);\n padding: var(--ermis-spacing-xs) var(--ermis-spacing-md);\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-secondary);\n cursor: pointer; /* make header clickable to toggle */\n}\n\n.ermis-pinned-messages__icon {\n color: var(--ermis-accent);\n flex-shrink: 0;\n}\n\n.ermis-pinned-messages__label {\n font-weight: 600;\n color: var(--ermis-text-primary);\n}\n\n.ermis-pinned-messages__toggle {\n margin-left: auto;\n background: none;\n border: none;\n color: var(--ermis-accent);\n font-size: var(--ermis-font-size-xs);\n font-weight: 600;\n cursor: pointer;\n padding: 2px 6px;\n border-radius: var(--ermis-radius-sm);\n transition: background-color var(--ermis-transition);\n}\n\n.ermis-pinned-messages__toggle:hover {\n background-color: var(--ermis-bg-hover);\n}\n\n/* Accordion transition for the list */\n.ermis-pinned-messages__list {\n padding: 0 var(--ermis-spacing-md);\n display: flex;\n flex-direction: column;\n gap: 2px;\n max-height: 0;\n overflow-y: auto;\n transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), padding 0.3s ease;\n scrollbar-width: thin;\n /* Overlay on top of VList instead of pushing it down */\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n background-color: var(--ermis-bg-secondary);\n z-index: 49;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n}\n\n.ermis-pinned-messages--expanded .ermis-pinned-messages__list {\n max-height: 300px;\n padding-bottom: var(--ermis-spacing-xs);\n}\n\n.ermis-pinned-messages__item {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-xs) var(--ermis-spacing-sm);\n border-radius: var(--ermis-radius-sm);\n cursor: pointer;\n transition: background-color var(--ermis-transition);\n}\n\n.ermis-pinned-messages__item:hover {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-pinned-messages__item-content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 1px;\n}\n\n.ermis-pinned-messages__item-user {\n font-size: var(--ermis-font-size-xs);\n font-weight: 600;\n color: var(--ermis-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-pinned-messages__item-text {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n}\n\n/* --- Unpin button --- */\n.ermis-pinned-messages__unpin-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border: none;\n background: none;\n border-radius: var(--ermis-radius-sm);\n color: var(--ermis-text-muted);\n cursor: pointer;\n flex-shrink: 0;\n transition: color var(--ermis-transition), background-color var(--ermis-transition);\n opacity: 0;\n}\n\n.ermis-pinned-messages__item:hover .ermis-pinned-messages__unpin-btn {\n opacity: 1;\n}\n\n.ermis-pinned-messages__unpin-btn:hover {\n color: var(--ermis-accent);\n background-color: var(--ermis-bg-hover);\n}\n","/* ----------------------------------------------------------\n Message Actions (Context Menu & Hover Button)\n ---------------------------------------------------------- */\n\n/* Hover button container on the message item */\n.ermis-message-list__actions {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n opacity: 0;\n display: inline-flex;\n align-items: center;\n gap: 2px;\n background-color: var(--ermis-bg-secondary);\n border: 1px solid var(--ermis-border);\n border-radius: var(--ermis-radius-sm);\n padding: 2px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n transition: opacity 0.2s;\n z-index: 10;\n}\n\n.ermis-message-list__bubble-wrapper:hover .ermis-message-list__actions,\n.ermis-message-list__actions--active {\n opacity: 1;\n}\n\n/* Position container for other (left) vs own (right) */\n.ermis-message-list__item--own .ermis-message-list__actions {\n right: 100%;\n flex-direction: row-reverse;\n}\n\n.ermis-message-list__item--other .ermis-message-list__actions {\n left: 100%;\n}\n\n/* Individual action buttons */\n.ermis-message-list__actions-trigger {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n border-radius: var(--ermis-radius-sm);\n padding: 4px;\n cursor: pointer;\n color: var(--ermis-text-secondary);\n transition: background-color var(--ermis-transition), color var(--ermis-transition);\n}\n\n.ermis-message-list__actions-trigger:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.ermis-message-list__actions-trigger:hover:not(:disabled) {\n background-color: var(--ermis-bg-hover);\n color: var(--ermis-text-primary);\n}\n\n","/* ============================================================\n Forward Message Modal\n ============================================================ */\n\n/* Message preview */\n.ermis-forward-modal__preview {\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-lg);\n border-bottom: 1px solid var(--ermis-border);\n background: var(--ermis-bg-primary);\n}\n\n.ermis-forward-modal__preview-sender {\n font-size: var(--ermis-font-size-xs);\n font-weight: 600;\n color: var(--ermis-accent);\n margin-bottom: 2px;\n}\n\n.ermis-forward-modal__preview-text {\n font-size: var(--ermis-font-size-sm);\n color: var(--ermis-text-secondary);\n line-height: 1.4;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.ermis-forward-modal__preview-attachments {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n margin-top: 4px;\n}\n\n/* Search */\n.ermis-forward-modal__search-wrapper {\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-lg);\n border-bottom: 1px solid var(--ermis-border);\n}\n\n.ermis-forward-modal__search {\n width: 100%;\n padding: 8px 12px;\n background: var(--ermis-bg-primary);\n border: 1px solid var(--ermis-border);\n border-radius: var(--ermis-radius-md);\n color: var(--ermis-text-primary);\n font-size: var(--ermis-font-size-sm);\n font-family: var(--ermis-font-family);\n outline: none;\n transition: border-color var(--ermis-transition);\n box-sizing: border-box;\n}\n\n.ermis-forward-modal__search:focus {\n border-color: var(--ermis-accent);\n}\n\n.ermis-forward-modal__search::placeholder {\n color: var(--ermis-text-muted);\n}\n\n/* Channel list */\n.ermis-forward-modal__channel-list {\n flex: 1;\n overflow-y: auto;\n min-height: 160px;\n max-height: 320px;\n padding: var(--ermis-spacing-xs) 0;\n}\n\n/* Channel item */\n.ermis-forward-modal__channel-item {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-lg);\n cursor: pointer;\n transition: background var(--ermis-transition);\n}\n\n.ermis-forward-modal__channel-item:hover {\n background: var(--ermis-bg-hover);\n}\n\n.ermis-forward-modal__channel-item--selected {\n background: var(--ermis-bg-active);\n}\n\n.ermis-forward-modal__channel-name {\n flex: 1;\n font-size: var(--ermis-font-size-sm);\n color: var(--ermis-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Checkbox */\n.ermis-forward-modal__checkbox {\n width: 20px;\n height: 20px;\n border: 2px solid var(--ermis-text-muted);\n border-radius: var(--ermis-radius-sm);\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all var(--ermis-transition);\n flex-shrink: 0;\n}\n\n.ermis-forward-modal__checkbox--checked {\n background: var(--ermis-accent);\n border-color: var(--ermis-accent);\n color: #fff;\n}\n\n/* Loading / empty */\n.ermis-forward-modal__loading,\n.ermis-forward-modal__empty {\n padding: var(--ermis-spacing-lg);\n text-align: center;\n color: var(--ermis-text-muted);\n font-size: var(--ermis-font-size-sm);\n}\n\n/* ----------------------------------------------------------\n Forwarded indicator on message items\n ---------------------------------------------------------- */\n.ermis-message-list__forwarded-indicator {\n display: block;\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n font-style: italic;\n margin-bottom: 2px;\n width: 100%;\n}\n/* Results */\n.ermis-forward-modal__results {\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-lg);\n border-top: 1px solid var(--ermis-border);\n}\n\n.ermis-forward-modal__results-success {\n font-size: var(--ermis-font-size-sm);\n color: #34d399;\n}\n\n.ermis-forward-modal__results-failed {\n font-size: var(--ermis-font-size-sm);\n color: #f87171;\n margin-top: 2px;\n}\n\n/* Footer buttons */\n.ermis-forward-modal__btn {\n padding: 8px 16px;\n border: none;\n border-radius: var(--ermis-radius-md);\n font-size: var(--ermis-font-size-sm);\n font-weight: 500;\n cursor: pointer;\n transition: all var(--ermis-transition);\n font-family: var(--ermis-font-family);\n}\n\n.ermis-forward-modal__btn--cancel {\n background: transparent;\n color: var(--ermis-text-secondary);\n}\n\n.ermis-forward-modal__btn--cancel:hover {\n background: var(--ermis-bg-hover);\n color: var(--ermis-text-primary);\n}\n\n.ermis-forward-modal__btn--send {\n background: var(--ermis-accent);\n color: #fff;\n}\n\n.ermis-forward-modal__btn--send:hover:not(:disabled) {\n background: var(--ermis-accent-hover);\n}\n\n.ermis-forward-modal__btn--send:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n","/* ============================================================\n Typing Indicator\n ============================================================ */\n\n/* Container always rendered with fixed height to prevent layout shifts */\n.ermis-typing-indicator {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 0 16px;\n height: 24px;\n font-size: 12px;\n color: var(--ermis-text-secondary);\n overflow: hidden;\n}\n\n.ermis-typing-indicator__dots {\n display: flex;\n align-items: center;\n gap: 3px;\n animation: ermis-typing-appear 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;\n}\n\n@keyframes ermis-typing-appear {\n 0% {\n opacity: 0;\n transform: translateY(8px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.ermis-typing-indicator__dot {\n width: 5px;\n height: 5px;\n border-radius: 50%;\n background-color: var(--ermis-text-secondary);\n animation: ermis-typing-bounce 1.4s infinite ease-in-out both;\n}\n\n.ermis-typing-indicator__dot:nth-child(1) {\n animation-delay: -0.32s;\n}\n\n.ermis-typing-indicator__dot:nth-child(2) {\n animation-delay: -0.16s;\n}\n\n.ermis-typing-indicator__dot:nth-child(3) {\n animation-delay: 0s;\n}\n\n@keyframes ermis-typing-bounce {\n 0%, 80%, 100% {\n transform: scale(0.6);\n opacity: 0.4;\n }\n 40% {\n transform: scale(1);\n opacity: 1;\n }\n}\n\n.ermis-typing-indicator__text {\n font-style: italic;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n animation: ermis-typing-appear 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;\n}\n","/* ============================================================\n Message Reactions\n ============================================================ */\n.ermis-message-reactions {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-bottom: 2px;\n margin-top: 2px;\n width: 100%;\n}\n\n.ermis-message-reactions--disabled {\n opacity: 0.8;\n pointer-events: none;\n}\n\n.ermis-message-reactions__item {\n position: relative; /* For tooltip */\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 6px;\n border-radius: 12px;\n background-color: var(--ermis-surface);\n border: 1px solid var(--ermis-border);\n font-size: 11px;\n line-height: 1.2;\n color: var(--ermis-text-secondary);\n cursor: pointer;\n transition: all 0.2s ease;\n user-select: none;\n}\n\n/* Custom Tooltip */\n.ermis-message-reactions__item::after {\n content: attr(data-tooltip);\n position: absolute;\n bottom: 100%;\n left: 50%;\n transform: translateX(-50%);\n background-color: rgba(0, 0, 0, 0.75);\n color: #fff;\n padding: 4px 8px;\n border-radius: 6px;\n font-size: 11px;\n white-space: pre;\n text-align: left;\n pointer-events: none;\n opacity: 0;\n visibility: hidden;\n transition: opacity 0.2s, visibility 0.2s;\n margin-bottom: 6px;\n z-index: 100;\n}\n\n.ermis-message-reactions__item:hover::after {\n opacity: 1;\n visibility: visible;\n}\n\n.ermis-message-reactions__item--active {\n background-color: var(--ermis-bg-active, rgba(99, 102, 241, 0.12));\n border-color: var(--ermis-accent);\n color: var(--ermis-accent);\n}\n\n.ermis-message-reactions__emoji {\n font-size: 14px;\n}\n\n.ermis-message-reactions__count {\n font-weight: 600;\n}\n","/* ============================================================\n Message Quick Reactions (Hover popup)\n ============================================================ */\n\n.ermis-message-quick-reactions {\n position: absolute;\n bottom: calc(100% - 10px); /* hover right above the bubble */\n display: flex;\n align-items: center;\n gap: 2px;\n background-color: var(--ermis-bg-primary);\n border: 1px solid var(--ermis-border);\n padding: 4px;\n border-radius: 20px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n opacity: 0;\n visibility: hidden;\n pointer-events: none;\n transform: translateY(8px);\n transition: opacity 0.2s ease, transform 0.2s ease;\n z-index: 20;\n}\n\n/* Align based on ownership */\n.ermis-message-quick-reactions {\n left: 0;\n}\n.ermis-message-quick-reactions--own {\n left: auto;\n right: 0;\n}\n\n.ermis-message-list__bubble-wrapper:hover .ermis-message-quick-reactions {\n opacity: 1;\n visibility: visible;\n pointer-events: auto;\n transform: translateY(0);\n}\n\n.ermis-message-list__bubble-wrapper:hover .ermis-message-quick-reactions--disabled {\n opacity: 0.5;\n pointer-events: none;\n}\n\n.ermis-message-quick-reactions__btn {\n display: flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n font-size: 18px;\n line-height: 1;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n cursor: pointer;\n transition: transform 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275), background-color 0.15s;\n}\n\n.ermis-message-quick-reactions__btn:hover {\n transform: scale(1.2);\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-message-quick-reactions__btn--active {\n background-color: var(--ermis-bg-active, rgba(99, 102, 241, 0.12));\n}\n",".ermis-channel-info {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n background: var(--ermis-bg-primary);\n border-left: 1px solid var(--ermis-border-base);\n overflow-y: auto;\n overflow-x: hidden;\n box-sizing: border-box;\n}\n\n.ermis-channel-info__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px;\n border-bottom: 1px solid var(--ermis-border-base);\n}\n\n.ermis-channel-info__title {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--ermis-text-primary);\n}\n\n.ermis-channel-info__close {\n background: transparent;\n border: none;\n cursor: pointer;\n color: var(--ermis-text-secondary);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 4px;\n border-radius: 4px;\n transition: background-color 0.2s ease, color 0.2s ease;\n}\n\n.ermis-channel-info__close:hover {\n background-color: var(--ermis-bg-hover);\n color: var(--ermis-text-primary);\n}\n\n.ermis-channel-info__cover {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 16px;\n text-align: center;\n}\n\n.ermis-channel-info__avatar {\n margin-bottom: 16px;\n}\n\n.ermis-channel-info__name {\n margin: 0 0 8px 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--ermis-text-primary);\n}\n\n.ermis-channel-info__name-row {\n display: flex;\n align-items: center;\n gap: 8px;\n justify-content: center;\n}\n\n.ermis-channel-info__name-row .ermis-channel-info__name {\n margin: 0;\n}\n\n.ermis-channel-info__parent-name {\n font-size: 13px;\n color: var(--ermis-accent);\n margin-top: -4px;\n margin-bottom: 8px;\n font-weight: 500;\n}\n\n.ermis-channel-info__topic-emoji-avatar {\n font-size: 48px;\n line-height: 80px;\n width: 80px;\n height: 80px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--ermis-bg-secondary);\n border-radius: 50%;\n margin-bottom: 16px;\n}\n\n.ermis-channel-info__cover-edit-btn {\n background: transparent;\n border: none;\n cursor: pointer;\n color: var(--ermis-text-muted);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 4px;\n border-radius: 4px;\n transition: color 0.2s ease, background-color 0.2s ease;\n flex-shrink: 0;\n}\n\n.ermis-channel-info__cover-edit-btn:hover {\n color: var(--ermis-accent);\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-channel-info__description {\n margin: 0;\n font-size: 14px;\n color: var(--ermis-text-secondary);\n line-height: 1.4;\n}\n\n.ermis-channel-info__type-badge {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 10px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 500;\n line-height: 1;\n margin: 4px 0;\n}\n\n.ermis-channel-info__type-badge--public {\n background: rgba(40, 167, 69, 0.1);\n color: #28a745;\n}\n\n.ermis-channel-info__type-badge--private {\n background: rgba(108, 117, 125, 0.1);\n color: var(--ermis-text-secondary);\n}\n\n.ermis-channel-info__actions {\n display: flex;\n justify-content: space-evenly;\n padding: 16px;\n border-bottom: 1px solid var(--ermis-border-base);\n}\n\n.ermis-channel-info__action-btn {\n background: transparent;\n border: none;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 6px;\n cursor: pointer;\n color: var(--ermis-text-secondary);\n font-size: 13px;\n font-weight: 500;\n transition: color 0.2s ease;\n}\n\n.ermis-channel-info__action-btn--danger {\n color: var(--ermis-color-danger);\n}\n\n.ermis-channel-info__action-btn:hover {\n color: var(--ermis-text-primary);\n}\n\n.ermis-channel-info__action-btn--danger:hover {\n color: var(--ermis-color-danger);\n opacity: 0.8;\n}\n\n.ermis-channel-info__action-btn:disabled {\n opacity: 0.35;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.ermis-channel-info__action-icon {\n width: 36px;\n height: 36px;\n border-radius: 50%;\n background-color: var(--ermis-bg-secondary);\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background-color 0.2s ease;\n}\n\n.ermis-channel-info__action-icon svg {\n width: 18px;\n height: 18px;\n}\n\n.ermis-channel-info__action-btn:hover .ermis-channel-info__action-icon {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-channel-info__action-btn--danger .ermis-channel-info__action-icon {\n background-color: rgba(220, 53, 69, 0.08);\n}\n\n.ermis-channel-info__action-btn--danger:hover .ermis-channel-info__action-icon {\n background-color: rgba(220, 53, 69, 0.15);\n}\n\n.ermis-channel-info__section {\n padding: 16px 0;\n}\n\n.ermis-channel-info__section-header {\n padding: 0 16px 8px;\n}\n\n.ermis-channel-info__section-header h4 {\n margin: 0;\n font-size: 12px;\n text-transform: uppercase;\n font-weight: 600;\n color: var(--ermis-text-muted);\n letter-spacing: 0.5px;\n}\n\n.ermis-channel-info__members {\n padding: 0 8px;\n}\n\n.ermis-channel-info__members-tab {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.ermis-channel-info__member-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n cursor: pointer;\n transition: background-color 0.2s ease;\n min-height: 56px;\n border-bottom: 1px solid var(--ermis-border-base);\n box-sizing: border-box;\n}\n\n.ermis-channel-info__member-item:hover {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-channel-info__member-info {\n display: flex;\n flex-direction: column;\n min-width: 0;\n gap: 2px;\n flex: 1;\n}\n\n.ermis-channel-info__member-name {\n font-size: 14px;\n color: var(--ermis-text-primary);\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-channel-info__member-role {\n font-size: 10px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n width: fit-content;\n}\n\n.ermis-channel-info__member-role--owner {\n color: var(--ermis-color-danger);\n}\n.ermis-channel-info__member-role--moder {\n color: var(--ermis-accent);\n}\n.ermis-channel-info__member-role--member {\n color: var(--ermis-text-muted);\n}\n.ermis-channel-info__member-role--pending {\n color: var(--ermis-color-danger);\n}\n\n.ermis-channel-info__add-member-wrap {\n padding: 12px 16px;\n border-bottom: 1px solid var(--ermis-border-base);\n flex-shrink: 0;\n}\n\n.ermis-channel-info__add-member-btn {\n width: 100%;\n padding: 10px;\n background: transparent;\n border: 1px dashed var(--ermis-border-base);\n border-radius: 8px;\n color: var(--ermis-accent);\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n cursor: pointer;\n font-weight: 500;\n transition: background-color 0.2s ease, border-color 0.2s ease;\n}\n\n.ermis-channel-info__add-member-btn:hover {\n background-color: var(--ermis-bg-hover);\n border-color: var(--ermis-accent);\n}\n\n/* ============================================\n Media Section - Tabs\n ============================================ */\n\n.ermis-channel-info__media-section {\n flex: 1;\n display: flex;\n flex-direction: column;\n padding: 0;\n border-top: 1px solid var(--ermis-border-base);\n}\n\n.ermis-channel-info__media-tabs {\n display: flex;\n border-bottom: 1px solid var(--ermis-border-base);\n padding: 0 4px;\n gap: 0;\n flex-shrink: 0;\n}\n\n.ermis-channel-info__media-tab {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 3px;\n padding: 5px 8px;\n background: transparent;\n border: none;\n border-bottom: 2px solid transparent;\n cursor: pointer;\n color: var(--ermis-text-muted);\n font-size: 13px;\n font-weight: 500;\n transition: color 0.2s ease, border-color 0.2s ease;\n white-space: nowrap;\n}\n\n.ermis-channel-info__media-tab:hover {\n color: var(--ermis-text-secondary);\n}\n\n.ermis-channel-info__media-tab--active {\n color: var(--ermis-accent);\n border-bottom-color: var(--ermis-accent);\n}\n\n.ermis-channel-info__media-tab-label {\n font-size: 13px;\n}\n\n.ermis-channel-info__media-tab-count {\n font-size: 11px;\n font-weight: 600;\n min-width: 18px;\n height: 18px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 9px;\n background: var(--ermis-bg-secondary);\n color: var(--ermis-text-secondary);\n padding: 0 5px;\n}\n\n.ermis-channel-info__media-tab--active .ermis-channel-info__media-tab-count {\n background: var(--ermis-accent);\n color: #fff;\n}\n\n/* ============================================\n Media Content Container\n ============================================ */\n\n.ermis-channel-info__media-content {\n flex: 1;\n overflow: hidden;\n min-height: 120px;\n}\n\n/* ============================================\n Media Grid\n ============================================ */\n\n.ermis-channel-info__media-grid-row {\n display: flex;\n gap: 2px;\n padding: 0 0 2px 0;\n}\n\n.ermis-channel-info__media-item {\n flex: 1;\n aspect-ratio: 1;\n background-color: var(--ermis-bg-secondary);\n overflow: hidden;\n cursor: pointer;\n position: relative;\n}\n\n.ermis-channel-info__media-item--empty {\n cursor: default;\n background: transparent;\n}\n\n.ermis-channel-info__media-item img,\n.ermis-channel-info__media-item video {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.ermis-channel-info__media-item:not(.ermis-channel-info__media-item--empty):hover img,\n.ermis-channel-info__media-item:not(.ermis-channel-info__media-item--empty):hover video {\n transform: scale(1.05);\n}\n\n/* Shimmer placeholder — matches ermis-attachment-shimmer */\n.ermis-channel-info__media-shimmer {\n position: absolute;\n inset: 0;\n background: linear-gradient(\n 90deg,\n var(--ermis-bg-secondary) 25%,\n var(--ermis-bg-hover, rgba(255, 255, 255, 0.06)) 50%,\n var(--ermis-bg-secondary) 75%\n );\n background-size: 200% 100%;\n animation: ermis-ci-shimmer 1.4s ease-in-out infinite;\n z-index: 1;\n}\n\n@keyframes ermis-ci-shimmer {\n 0% {\n background-position: 200% 0;\n }\n 100% {\n background-position: -200% 0;\n }\n}\n\n.ermis-channel-info__media-video-thumb {\n width: 100%;\n height: 100%;\n position: relative;\n}\n\n.ermis-channel-info__media-video-thumb img,\n.ermis-channel-info__media-video-thumb video {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.ermis-channel-info__media-play-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: rgba(0, 0, 0, 0.6);\n display: flex;\n align-items: center;\n justify-content: center;\n color: #fff;\n pointer-events: none;\n}\n\n.ermis-channel-info__media-play-icon svg {\n margin-left: 2px;\n}\n\n/* ============================================\n Links List\n ============================================ */\n\n.ermis-channel-info__links-list {\n display: flex;\n flex-direction: column;\n}\n\n.ermis-channel-info__link-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n text-decoration: none;\n color: inherit;\n transition: background-color 0.15s ease;\n border-bottom: 1px solid var(--ermis-border-base);\n}\n\n.ermis-channel-info__link-item:hover {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-channel-info__link-icon {\n width: 36px;\n height: 36px;\n min-width: 36px;\n border-radius: 8px;\n background: var(--ermis-bg-secondary);\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--ermis-text-muted);\n overflow: hidden;\n}\n\n.ermis-channel-info__link-preview-img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.ermis-channel-info__link-content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.ermis-channel-info__link-title {\n font-size: 13px;\n font-weight: 500;\n color: var(--ermis-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-channel-info__link-domain {\n font-size: 12px;\n color: var(--ermis-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-channel-info__link-date {\n font-size: 11px;\n color: var(--ermis-text-muted);\n white-space: nowrap;\n flex-shrink: 0;\n}\n\n/* ============================================\n Files List\n ============================================ */\n\n.ermis-channel-info__files-list {\n display: flex;\n flex-direction: column;\n}\n\n.ermis-channel-info__file-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n cursor: pointer;\n transition: background-color 0.15s ease;\n border-bottom: 1px solid var(--ermis-border-base);\n}\n\n.ermis-channel-info__file-item:hover {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-channel-info__file-icon {\n width: 40px;\n height: 40px;\n min-width: 40px;\n border-radius: 8px;\n background: var(--ermis-bg-secondary);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: var(--ermis-text-muted);\n gap: 1px;\n}\n\n.ermis-channel-info__file-ext {\n font-size: 8px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n color: var(--ermis-text-muted);\n line-height: 1;\n}\n\n.ermis-channel-info__file-info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.ermis-channel-info__file-name {\n font-size: 13px;\n font-weight: 500;\n color: var(--ermis-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-channel-info__file-meta {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: var(--ermis-text-muted);\n}\n\n.ermis-channel-info__file-meta-dot {\n color: var(--ermis-text-muted);\n}\n\n.ermis-channel-info__file-download {\n background: transparent;\n border: none;\n cursor: pointer;\n color: var(--ermis-text-muted);\n padding: 6px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background-color 0.15s ease, color 0.15s ease;\n flex-shrink: 0;\n}\n\n.ermis-channel-info__file-download:hover {\n background-color: var(--ermis-bg-secondary);\n color: var(--ermis-accent);\n}\n\n/* ============================================\n Empty & Loading states\n ============================================ */\n\n.ermis-channel-info__media-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 16px;\n gap: 12px;\n color: var(--ermis-text-muted);\n font-size: 13px;\n}\n\n.ermis-channel-info__media-empty-icon {\n width: 56px;\n height: 56px;\n border-radius: 50%;\n background: var(--ermis-bg-secondary);\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--ermis-text-muted);\n}\n\n.ermis-channel-info__media-loading {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 40px 16px;\n}\n\n.ermis-channel-info__media-spinner {\n width: 24px;\n height: 24px;\n border: 2px solid var(--ermis-border-base);\n border-top-color: var(--ermis-accent);\n border-radius: 50%;\n animation: ermis-spin 0.7s linear infinite;\n}\n\n@keyframes ermis-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n/* ============================================\n Edit Channel Modal — Body Content\n ============================================ */\n\n.ermis-channel-info__edit-body {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n/* Avatar section */\n.ermis-channel-info__edit-avatar-section {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n}\n\n.ermis-channel-info__edit-avatar-wrap {\n position: relative;\n cursor: pointer;\n border-radius: 50%;\n overflow: hidden;\n}\n\n.ermis-channel-info__edit-avatar-overlay {\n position: absolute;\n inset: 0;\n background: rgba(0, 0, 0, 0.45);\n display: flex;\n align-items: center;\n justify-content: center;\n color: #fff;\n opacity: 0;\n transition: opacity 0.2s ease;\n border-radius: 50%;\n}\n\n.ermis-channel-info__edit-avatar-wrap:hover .ermis-channel-info__edit-avatar-overlay {\n opacity: 1;\n}\n\n.ermis-channel-info__edit-avatar-btn {\n background: transparent;\n border: none;\n cursor: pointer;\n color: var(--ermis-accent);\n font-size: 13px;\n font-weight: 500;\n padding: 4px 8px;\n border-radius: 4px;\n transition: background-color 0.2s ease;\n}\n\n.ermis-channel-info__edit-avatar-btn:hover {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-channel-info__edit-avatar-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Form fields */\n.ermis-channel-info__edit-field {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.ermis-channel-info__edit-field--toggle {\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n padding: 8px 0;\n}\n\n.ermis-channel-info__edit-label {\n font-size: 13px;\n font-weight: 500;\n color: var(--ermis-text-secondary);\n}\n\n.ermis-channel-info__edit-input {\n background: var(--ermis-bg-secondary);\n border: 1px solid var(--ermis-border-base);\n border-radius: 8px;\n padding: 10px 12px;\n font-size: 14px;\n color: var(--ermis-text-primary);\n outline: none;\n transition: border-color 0.2s ease, box-shadow 0.2s ease;\n font-family: inherit;\n}\n\n.ermis-channel-info__edit-input:focus {\n border-color: var(--ermis-accent);\n box-shadow: 0 0 0 2px rgba(0, 95, 255, 0.15);\n}\n\n.ermis-channel-info__edit-input:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n.ermis-channel-info__edit-textarea {\n background: var(--ermis-bg-secondary);\n border: 1px solid var(--ermis-border-base);\n border-radius: 8px;\n padding: 10px 12px;\n font-size: 14px;\n color: var(--ermis-text-primary);\n outline: none;\n transition: border-color 0.2s ease, box-shadow 0.2s ease;\n resize: vertical;\n min-height: 60px;\n font-family: inherit;\n}\n\n.ermis-channel-info__edit-textarea:focus {\n border-color: var(--ermis-accent);\n box-shadow: 0 0 0 2px rgba(0, 95, 255, 0.15);\n}\n\n.ermis-channel-info__edit-textarea:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n/* Toggle switch */\n.ermis-channel-info__edit-toggle {\n position: relative;\n width: 44px;\n height: 24px;\n background: var(--ermis-bg-secondary);\n border: 1px solid var(--ermis-border-base);\n border-radius: 12px;\n cursor: pointer;\n transition: background-color 0.2s ease, border-color 0.2s ease;\n padding: 0;\n flex-shrink: 0;\n}\n\n.ermis-channel-info__edit-toggle--on {\n background: var(--ermis-accent);\n border-color: var(--ermis-accent);\n}\n\n.ermis-channel-info__edit-toggle-thumb {\n position: absolute;\n top: 2px;\n left: 2px;\n width: 18px;\n height: 18px;\n background: #fff;\n border-radius: 50%;\n transition: transform 0.2s ease;\n pointer-events: none;\n}\n\n.ermis-channel-info__edit-toggle--on .ermis-channel-info__edit-toggle-thumb {\n transform: translateX(20px);\n}\n\n.ermis-channel-info__edit-toggle:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Error message */\n.ermis-channel-info__edit-error {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 12px;\n background: rgba(220, 53, 69, 0.08);\n border: 1px solid rgba(220, 53, 69, 0.2);\n border-radius: 8px;\n color: var(--ermis-color-danger);\n font-size: 13px;\n}\n\n/* Footer buttons */\n.ermis-channel-info__edit-footer-buttons {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n width: 100%;\n}\n\n.ermis-channel-info__edit-btn {\n padding: 8px 20px;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;\n border: none;\n font-family: inherit;\n}\n\n.ermis-channel-info__edit-btn:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n.ermis-channel-info__edit-btn--cancel {\n background: transparent;\n color: var(--ermis-text-secondary);\n border: 1px solid var(--ermis-border-base);\n}\n\n.ermis-channel-info__edit-btn--cancel:hover:not(:disabled) {\n background-color: var(--ermis-bg-hover);\n color: var(--ermis-text-primary);\n}\n\n.ermis-channel-info__edit-btn--save {\n background: var(--ermis-accent);\n color: #fff;\n}\n\n.ermis-channel-info__edit-btn--save:hover:not(:disabled) {\n opacity: 0.9;\n}\n\n/* ============================================\n Banned State\n ============================================ */\n\n.ermis-channel-info__banned-banner {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 12px;\n padding: 40px 16px;\n text-align: center;\n flex: 1;\n}\n\n.ermis-channel-info__banned-banner-icon {\n color: #ef4444;\n opacity: 0.5;\n}\n\n.ermis-channel-info__banned-banner-text {\n font-size: 14px;\n font-weight: 500;\n color: var(--ermis-text-secondary);\n}\n",".ermis-modal-search {\n position: relative;\n display: flex;\n align-items: center;\n margin-bottom: 16px;\n}\n\n.ermis-modal-search svg {\n position: absolute;\n left: 12px;\n color: var(--ermis-text-secondary);\n pointer-events: none;\n}\n\n.ermis-modal-search input {\n width: 100%;\n padding: 10px 12px 10px 36px;\n border-radius: 8px;\n border: 1px solid var(--ermis-border);\n background-color: var(--ermis-bg-secondary);\n color: var(--ermis-text-primary);\n font-size: 14px;\n transition: border-color 0.15s ease, box-shadow 0.15s ease;\n outline: none;\n}\n\n.ermis-modal-search input:focus {\n border-color: var(--ermis-accent);\n box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2);\n}\n\n.ermis-modal-user-list {\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n gap: 4px;\n max-height: 400px;\n padding-right: 4px;\n}\n\n/* Custom scrollbar for user list */\n.ermis-modal-user-list::-webkit-scrollbar {\n width: 6px;\n}\n.ermis-modal-user-list::-webkit-scrollbar-track {\n background: transparent;\n}\n.ermis-modal-user-list::-webkit-scrollbar-thumb {\n background-color: var(--ermis-border);\n border-radius: 3px;\n}\n\n.ermis-modal-loading,\n.ermis-modal-empty {\n text-align: center;\n color: var(--ermis-text-secondary);\n padding: 32px 0;\n font-size: 14px;\n}\n\n.ermis-modal-user-item {\n display: flex;\n align-items: center;\n padding: 8px 12px;\n border-radius: 8px;\n transition: background-color 0.15s ease;\n}\n\n.ermis-modal-user-item:hover {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-modal-user-info {\n margin-left: 12px;\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n\n.ermis-modal-user-name {\n font-size: 14px;\n font-weight: 500;\n color: var(--ermis-text-primary);\n}\n\n.ermis-modal-add-btn {\n background-color: var(--ermis-accent);\n color: #ffffff;\n border: none;\n border-radius: 6px;\n padding: 6px 14px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: background-color 0.15s ease, opacity 0.15s ease;\n}\n\n.ermis-modal-add-btn:hover:not(:disabled) {\n background-color: var(--ermis-accent-hover);\n}\n\n.ermis-modal-add-btn:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n","/* ==========================================================================\n MessageSearchPanel — Search overlay inside ChannelInfo\n ========================================================================== */\n\n/* Search box inside panel body */\n.ermis-search-panel__search-box {\n padding: 12px 16px;\n border-bottom: 1px solid var(--ermis-border, rgba(0, 0, 0, 0.08));\n flex-shrink: 0;\n}\n\n.ermis-search-panel__input-wrap {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 6px 12px;\n background: var(--ermis-bg-secondary);\n border-radius: 20px;\n transition: background 0.15s;\n}\n\n.ermis-search-panel__input-wrap:focus-within {\n background: var(--ermis-bg-hover);\n}\n\n.ermis-search-panel__input-icon {\n flex-shrink: 0;\n color: var(--ermis-text-secondary);\n}\n\n.ermis-search-panel__input {\n flex: 1;\n border: none;\n background: none;\n outline: none;\n font-size: 14px;\n color: var(--ermis-text-primary);\n line-height: 1.4;\n}\n\n.ermis-search-panel__input::placeholder {\n color: var(--ermis-text-muted);\n}\n\n.ermis-search-panel__input-clear {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n border: none;\n background: var(--ermis-text-muted);\n color: #fff;\n border-radius: 50%;\n cursor: pointer;\n flex-shrink: 0;\n padding: 0;\n transition: background 0.15s;\n}\n\n.ermis-search-panel__input-clear:hover {\n background: var(--ermis-text-secondary);\n}\n\n/* Results container */\n.ermis-search-panel__results {\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n/* Idle state (no query) */\n.ermis-search-panel__idle {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 12px;\n padding: 48px 16px;\n color: var(--ermis-text-muted);\n text-align: center;\n font-size: 14px;\n}\n\n/* Loading state */\n.ermis-search-panel__loading {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 12px;\n padding: 48px 16px;\n color: var(--ermis-text-secondary);\n font-size: 14px;\n}\n\n/* Spinner */\n.ermis-search-panel__spinner {\n width: 24px;\n height: 24px;\n border: 2.5px solid var(--ermis-border, rgba(0, 0, 0, 0.08));\n border-top-color: var(--ermis-accent);\n border-radius: 50%;\n animation: ermis-spin 0.7s linear infinite;\n}\n\n.ermis-search-panel__spinner--small {\n width: 18px;\n height: 18px;\n border-width: 2px;\n}\n\n@keyframes ermis-spin {\n to { transform: rotate(360deg); }\n}\n\n/* Empty state */\n.ermis-search-panel__empty {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 48px 16px;\n color: var(--ermis-text-muted);\n font-size: 14px;\n}\n\n/* Result item */\n.ermis-search-panel__result-item {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n width: 100%;\n padding: 12px 16px;\n border: none;\n background: none;\n cursor: pointer;\n text-align: left;\n transition: background 0.12s;\n border-bottom: 1px solid var(--ermis-border, rgba(0, 0, 0, 0.04));\n}\n\n.ermis-search-panel__result-item:hover {\n background: var(--ermis-bg-hover, rgba(0, 0, 0, 0.04));\n}\n\n.ermis-search-panel__result-item:active {\n background: var(--ermis-bg-active, rgba(0, 0, 0, 0.07));\n}\n\n.ermis-search-panel__result-body {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.ermis-search-panel__result-meta {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n\n.ermis-search-panel__result-name {\n font-size: 13px;\n font-weight: 600;\n color: var(--ermis-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-search-panel__result-time {\n font-size: 11px;\n color: var(--ermis-text-muted);\n white-space: nowrap;\n flex-shrink: 0;\n}\n\n.ermis-search-panel__result-text {\n margin: 0;\n font-size: 13px;\n color: var(--ermis-text-secondary);\n line-height: 1.4;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n}\n\n/* Highlight matching text */\n.ermis-search-panel__highlight {\n background: rgba(255, 210, 0, 0.35);\n color: var(--ermis-text-primary);\n border-radius: 2px;\n padding: 0 1px;\n}\n\n/* Loading more indicator */\n.ermis-search-panel__loading-more {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 12px;\n}\n\n/* End of results indicator */\n.ermis-search-panel__end-indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 24px 16px;\n color: var(--ermis-text-muted);\n font-size: 13px;\n text-align: center;\n}\n","/* ============================================================\n UserPicker – Reusable User Selection Component\n BEM: .ermis-user-picker__{element}--{modifier}\n ============================================================ */\n\n/* ---------- Root container ---------- */\n.ermis-user-picker {\n display: flex;\n flex-direction: column;\n gap: var(--ermis-spacing-md, 0.75rem);\n}\n\n/* ---------- Selected Users Chip Box ---------- */\n.ermis-user-picker__selected-box {\n display: flex;\n flex-wrap: wrap;\n gap: var(--ermis-spacing-xs, 0.25rem);\n padding: var(--ermis-spacing-sm, 0.5rem);\n border-radius: var(--ermis-radius-md, 0.5rem);\n background-color: var(--ermis-bg-secondary);\n border: 1px solid var(--ermis-border, rgba(255, 255, 255, 0.08));\n min-height: 40px;\n max-height: 120px;\n overflow-y: auto;\n}\n\n.ermis-user-picker__selected-box:empty {\n display: none;\n}\n\n.ermis-user-picker__selected-box::-webkit-scrollbar {\n width: 4px;\n}\n.ermis-user-picker__selected-box::-webkit-scrollbar-track {\n background: transparent;\n}\n.ermis-user-picker__selected-box::-webkit-scrollbar-thumb {\n background: var(--ermis-border, rgba(255, 255, 255, 0.08));\n border-radius: var(--ermis-radius-full, 9999px);\n}\n\n.ermis-user-picker__chip {\n display: inline-flex;\n align-items: center;\n gap: var(--ermis-spacing-xs, 0.25rem);\n padding: 2px 8px 2px 2px;\n border-radius: var(--ermis-radius-full, 9999px);\n background-color: var(--ermis-bg-active, rgba(99, 102, 241, 0.12));\n color: var(--ermis-text-primary);\n font-size: var(--ermis-font-size-xs, 0.75rem);\n font-weight: 500;\n line-height: 1;\n white-space: nowrap;\n transition: background-color var(--ermis-transition, 150ms ease);\n animation: ermis-user-picker-chip-in 0.2s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n@keyframes ermis-user-picker-chip-in {\n from { opacity: 0; transform: scale(0.85); }\n to { opacity: 1; transform: scale(1); }\n}\n\n.ermis-user-picker__chip:hover {\n background-color: var(--ermis-accent);\n color: #ffffff;\n}\n\n.ermis-user-picker__chip-name {\n max-width: 100px;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-user-picker__chip-remove {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n border: none;\n background: none;\n color: inherit;\n cursor: pointer;\n padding: 0;\n border-radius: var(--ermis-radius-full, 9999px);\n opacity: 0.7;\n transition: opacity var(--ermis-transition, 150ms ease);\n}\n\n.ermis-user-picker__chip-remove:hover {\n opacity: 1;\n}\n\n.ermis-user-picker__selected-empty {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n color: var(--ermis-text-muted);\n font-size: var(--ermis-font-size-xs, 0.75rem);\n}\n\n/* ---------- Search Input ---------- */\n.ermis-user-picker__search {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.ermis-user-picker__search svg {\n position: absolute;\n left: 12px;\n color: var(--ermis-text-muted);\n pointer-events: none;\n}\n\n.ermis-user-picker__search input {\n width: 100%;\n padding: 10px 12px 10px 38px;\n border-radius: var(--ermis-radius-md, 0.5rem);\n border: 1px solid var(--ermis-border, rgba(255, 255, 255, 0.08));\n background-color: var(--ermis-bg-secondary);\n color: var(--ermis-text-primary);\n font-size: var(--ermis-font-size-sm, 0.875rem);\n font-family: inherit;\n transition: border-color var(--ermis-transition, 150ms ease), box-shadow var(--ermis-transition, 150ms ease);\n outline: none;\n}\n\n.ermis-user-picker__search input::placeholder {\n color: var(--ermis-text-muted);\n}\n\n.ermis-user-picker__search input:focus {\n border-color: var(--ermis-accent);\n box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2);\n}\n\n/* ---------- List Container ---------- */\n.ermis-user-picker__list {\n overflow: hidden;\n height: 360px;\n border-radius: var(--ermis-radius-md, 0.5rem);\n}\n\n/* ---------- User Row ---------- */\n.ermis-user-picker__item {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-md, 0.75rem);\n padding: 8px 12px;\n border-radius: var(--ermis-radius-md, 0.5rem);\n cursor: pointer;\n transition: background-color var(--ermis-transition, 150ms ease);\n user-select: none;\n}\n\n.ermis-user-picker__item:hover {\n background-color: var(--ermis-bg-hover, rgba(255, 255, 255, 0.04));\n}\n\n.ermis-user-picker__item--selected {\n background-color: var(--ermis-bg-active, rgba(99, 102, 241, 0.12));\n}\n\n.ermis-user-picker__item--selected:hover {\n background-color: var(--ermis-bg-active, rgba(99, 102, 241, 0.12));\n}\n\n.ermis-user-picker__item--disabled {\n opacity: 0.45;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* ---------- Radio / Checkbox ---------- */\n.ermis-user-picker__input {\n position: relative;\n width: 18px;\n height: 18px;\n min-width: 18px;\n border: 2px solid var(--ermis-border, rgba(255, 255, 255, 0.08));\n background: transparent;\n transition: all var(--ermis-transition, 150ms ease);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.ermis-user-picker__input--radio {\n border-radius: var(--ermis-radius-full, 9999px);\n}\n\n.ermis-user-picker__input--checkbox {\n border-radius: var(--ermis-radius-sm, 0.375rem);\n}\n\n.ermis-user-picker__input--checked {\n background-color: var(--ermis-accent);\n border-color: var(--ermis-accent);\n}\n\n.ermis-user-picker__input--checked svg {\n color: #ffffff;\n}\n\n/* ---------- User Info ---------- */\n.ermis-user-picker__info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.ermis-user-picker__name {\n font-size: var(--ermis-font-size-sm, 0.875rem);\n font-weight: 500;\n color: var(--ermis-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-user-picker__detail {\n font-size: var(--ermis-font-size-xs, 0.75rem);\n color: var(--ermis-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* ---------- Loading / Empty ---------- */\n.ermis-user-picker__loading,\n.ermis-user-picker__empty {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 32px 0;\n color: var(--ermis-text-muted);\n font-size: var(--ermis-font-size-sm, 0.875rem);\n}\n\n.ermis-user-picker__load-more {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 12px 0;\n color: var(--ermis-text-muted);\n font-size: var(--ermis-font-size-xs, 0.75rem);\n}\n\n/* ---------- Spinner keyframes ---------- */\n.ermis-user-picker__spinner {\n display: inline-block;\n width: 16px;\n height: 16px;\n border: 2px solid var(--ermis-border, rgba(255, 255, 255, 0.08));\n border-top-color: var(--ermis-accent);\n border-radius: var(--ermis-radius-full, 9999px);\n animation: ermis-user-picker-spin 0.6s linear infinite;\n margin-right: var(--ermis-spacing-sm, 0.5rem);\n}\n\n@keyframes ermis-user-picker-spin {\n to { transform: rotate(360deg); }\n}\n","/* ============================================================\n Create Channel Modal\n BEM: .ermis-create-channel__*\n ============================================================ */\n\n.ermis-create-channel__body {\n display: flex;\n flex-direction: column;\n gap: var(--ermis-spacing-md, 0.75rem);\n padding: var(--ermis-spacing-md, 0.75rem);\n}\n\n.ermis-create-channel__tabs {\n display: flex;\n gap: 8px;\n background-color: var(--ermis-bg-secondary);\n padding: 4px;\n border-radius: var(--ermis-radius-md, 0.5rem);\n margin-bottom: var(--ermis-spacing-sm, 0.5rem);\n}\n\n.ermis-create-channel__tab {\n flex: 1;\n padding: 8px 12px;\n border-radius: var(--ermis-radius-sm, 0.375rem);\n text-align: center;\n font-size: var(--ermis-font-size-sm, 0.875rem);\n font-weight: 500;\n color: var(--ermis-text-muted);\n background: transparent;\n border: none;\n cursor: pointer;\n transition: all var(--ermis-transition, 150ms ease);\n}\n\n.ermis-create-channel__tab:hover {\n color: var(--ermis-text-primary);\n}\n\n.ermis-create-channel__tab--active {\n background-color: var(--ermis-bg-active, rgba(99, 102, 241, 0.12));\n color: var(--ermis-text-primary);\n}\n\n/* Form Fields */\n.ermis-create-channel__field {\n display: flex;\n flex-direction: column;\n gap: var(--ermis-spacing-xs, 0.25rem);\n}\n\n.ermis-create-channel__label {\n font-size: var(--ermis-font-size-sm, 0.875rem);\n font-weight: 500;\n color: var(--ermis-text-primary);\n}\n\n.ermis-create-channel__input,\n.ermis-create-channel__textarea {\n width: 100%;\n padding: 10px 12px;\n border-radius: var(--ermis-radius-md, 0.5rem);\n border: 1px solid var(--ermis-border, rgba(255, 255, 255, 0.08));\n background-color: var(--ermis-bg-secondary);\n color: var(--ermis-text-primary);\n font-size: var(--ermis-font-size-sm, 0.875rem);\n font-family: inherit;\n outline: none;\n transition: border-color var(--ermis-transition, 150ms ease);\n}\n\n.ermis-create-channel__input:focus,\n.ermis-create-channel__textarea:focus {\n border-color: var(--ermis-accent);\n}\n\n.ermis-create-channel__textarea {\n resize: vertical;\n min-height: 80px;\n}\n\n/* Public toggle */\n.ermis-create-channel__field--toggle {\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n}\n\n.ermis-create-channel__toggle {\n position: relative;\n width: 44px;\n height: 24px;\n background-color: var(--ermis-bg-secondary);\n border: 1px solid var(--ermis-border, rgba(255, 255, 255, 0.08));\n border-radius: 12px;\n cursor: pointer;\n transition: background-color var(--ermis-transition, 150ms ease);\n padding: 0;\n}\n\n.ermis-create-channel__toggle--on {\n background-color: var(--ermis-accent);\n border-color: var(--ermis-accent);\n}\n\n.ermis-create-channel__toggle-thumb {\n position: absolute;\n top: 1px;\n left: 2px;\n width: 20px;\n height: 20px;\n background-color: #ffffff;\n border-radius: 50%;\n transition: transform var(--ermis-transition, 150ms ease);\n}\n\n.ermis-create-channel__toggle--on .ermis-create-channel__toggle-thumb {\n transform: translateX(20px);\n}\n\n/* User Picker Wrap */\n.ermis-create-channel__users {\n margin-top: var(--ermis-spacing-sm, 0.5rem);\n}\n\n.ermis-create-channel__users-title {\n font-size: var(--ermis-font-size-sm, 0.875rem);\n font-weight: 500;\n color: var(--ermis-text-primary);\n margin-bottom: var(--ermis-spacing-xs, 0.25rem);\n}\n\n/* Error */\n.ermis-create-channel__error {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-xs, 0.25rem);\n padding: var(--ermis-spacing-sm, 0.5rem);\n color: var(--ermis-color-danger);\n background-color: rgba(239, 68, 68, 0.1);\n border-radius: var(--ermis-radius-sm, 0.375rem);\n font-size: var(--ermis-font-size-sm, 0.875rem);\n}\n\n/* Footer Buttons */\n.ermis-create-channel__footer {\n display: flex;\n justify-content: flex-end;\n gap: var(--ermis-spacing-sm, 0.5rem);\n}\n\n.ermis-create-channel__btn {\n padding: 8px 16px;\n border-radius: var(--ermis-radius-md, 0.5rem);\n font-size: var(--ermis-font-size-sm, 0.875rem);\n font-weight: 500;\n cursor: pointer;\n transition: all var(--ermis-transition, 150ms ease);\n border: none;\n}\n\n.ermis-create-channel__btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.ermis-create-channel__btn--cancel {\n background-color: transparent;\n color: var(--ermis-text-primary);\n}\n\n.ermis-create-channel__btn--cancel:hover:not(:disabled) {\n background-color: var(--ermis-bg-hover, rgba(255, 255, 255, 0.04));\n}\n\n.ermis-create-channel__btn--create {\n background-color: var(--ermis-accent);\n color: #fff;\n}\n\n.ermis-create-channel__btn--create:hover:not(:disabled) {\n opacity: 0.9;\n}\n","/* ============================================================\n Ermis Call UI – Premium Call Experience\n BEM naming: .ermis-call-ui__{element}--{modifier}\n ============================================================ */\n\n.ermis-call-ui {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n}\n\n/* Fullscreen mode */\n.ermis-call-ui--fullscreen {\n background: #000000;\n justify-content: center;\n height: 100%;\n}\n\n.ermis-call-ui--fullscreen .ermis-call-ui__video-container {\n aspect-ratio: auto;\n height: 100%;\n border-radius: 0;\n}\n\n.ermis-call-ui--fullscreen .ermis-call-ui__audio-container {\n flex: 1;\n border-radius: 0;\n justify-content: center;\n}\n\n/* Hidden audio element (replaces inline style={{ display: 'none' }}) */\n.ermis-call-ui__audio--hidden {\n position: absolute;\n width: 0;\n height: 0;\n overflow: hidden;\n pointer-events: none;\n}\n\n/* ============================================================\n RINGING STATE\n ============================================================ */\n.ermis-call-ui__ringing {\n text-align: center;\n padding: 2.5rem var(--ermis-spacing-lg) 2rem;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n background: var(--ermis-call-bg);\n border-radius: var(--ermis-radius-lg);\n min-height: 340px;\n width: 100%;\n}\n\n/* -- Avatar Pulse Container -- */\n.ermis-call-ui__ringing-avatar {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: var(--ermis-spacing-lg);\n}\n\n/* Pulse rings */\n.ermis-call-ui__ringing-avatar::before,\n.ermis-call-ui__ringing-avatar::after {\n content: '';\n position: absolute;\n border-radius: 50%;\n border: 2px solid var(--ermis-call-pulse);\n animation: ermis-call-pulse 2s ease-out infinite;\n}\n\n.ermis-call-ui__ringing-avatar::before {\n width: 110px;\n height: 110px;\n}\n\n.ermis-call-ui__ringing-avatar::after {\n width: 130px;\n height: 130px;\n animation-delay: 0.6s;\n}\n\n@keyframes ermis-call-pulse {\n 0% {\n transform: scale(0.85);\n opacity: 0.8;\n }\n 100% {\n transform: scale(1.4);\n opacity: 0;\n }\n}\n\n/* Floating avatar effect */\n.ermis-call-ui__ringing-avatar-inner {\n position: relative;\n z-index: 2;\n animation: ermis-call-float 3s ease-in-out infinite;\n}\n\n@keyframes ermis-call-float {\n 0%,\n 100% {\n transform: translateY(0);\n }\n 50% {\n transform: translateY(-6px);\n }\n}\n\n/* -- Name & Status -- */\n.ermis-call-ui__ringing-name {\n margin: 0 0 var(--ermis-spacing-xs);\n font-size: 1.35rem;\n font-weight: 700;\n color: var(--ermis-text-primary);\n letter-spacing: -0.01em;\n}\n\n.ermis-call-ui__ringing-status {\n color: var(--ermis-text-secondary);\n margin: 0 0 var(--ermis-spacing-sm);\n font-size: var(--ermis-font-size-sm);\n font-weight: 400;\n}\n\n/* -- Call Type Badge -- */\n.ermis-call-ui__type-badge {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 14px;\n border-radius: var(--ermis-radius-full);\n background: var(--ermis-call-glass);\n border: 1px solid var(--ermis-call-glass-border);\n color: var(--ermis-text-secondary);\n font-size: var(--ermis-font-size-xs);\n font-weight: 500;\n text-transform: capitalize;\n margin-bottom: 1.5rem;\n}\n\n.ermis-call-ui__type-badge svg {\n width: 14px;\n height: 14px;\n opacity: 0.8;\n}\n\n/* -- Ringing Action Buttons -- */\n.ermis-call-ui__ringing-actions {\n display: flex;\n justify-content: center;\n gap: 2.5rem;\n width: 100%;\n}\n\n.ermis-call-ui__ringing-action {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n}\n\n.ermis-call-ui__action-circle {\n width: 48px;\n height: 48px;\n border-radius: 50%;\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: transform var(--ermis-transition), box-shadow var(--ermis-transition),\n background-color var(--ermis-transition);\n color: #ffffff;\n}\n\n.ermis-call-ui__action-circle:hover {\n transform: scale(1.1);\n}\n\n.ermis-call-ui__action-circle:active {\n transform: scale(0.95);\n}\n\n.ermis-call-ui__action-circle--reject {\n background-color: var(--ermis-color-danger);\n box-shadow: 0 4px 20px rgba(239, 68, 68, 0.35);\n}\n\n.ermis-call-ui__action-circle--reject:hover {\n background-color: var(--ermis-color-danger-hover);\n box-shadow: 0 6px 28px rgba(239, 68, 68, 0.45);\n}\n\n.ermis-call-ui__action-circle--accept {\n background-color: var(--ermis-color-success);\n box-shadow: 0 4px 20px rgba(34, 197, 94, 0.35);\n}\n\n.ermis-call-ui__action-circle--accept:hover {\n background-color: var(--ermis-color-success-hover);\n box-shadow: 0 6px 28px rgba(34, 197, 94, 0.45);\n}\n\n.ermis-call-ui__action-circle svg {\n width: 20px;\n height: 20px;\n}\n\n.ermis-call-ui__action-label {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-secondary);\n font-weight: 500;\n}\n\n/* ============================================================\n ACTIVE CALL STATE\n ============================================================ */\n.ermis-call-ui__active {\n display: flex;\n flex-direction: column;\n width: 100%;\n gap: 0;\n}\n\n/* -- Video Layout -- */\n.ermis-call-ui__video-container {\n position: relative;\n width: 100%;\n aspect-ratio: 16 / 9;\n background-color: #000000;\n border-radius: var(--ermis-radius-lg);\n overflow: hidden;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);\n}\n\n.ermis-call-ui__video-remote {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.ermis-call-ui__video-local {\n position: absolute;\n bottom: 72px;\n right: 16px;\n width: 140px;\n aspect-ratio: 16 / 9;\n background-color: #1a1a2e;\n border-radius: var(--ermis-radius-md);\n overflow: hidden;\n border: 2px solid rgba(255, 255, 255, 0.25);\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);\n z-index: 10;\n transition: transform var(--ermis-transition), box-shadow var(--ermis-transition);\n}\n\n.ermis-call-ui__video-local:hover {\n border-color: rgba(255, 255, 255, 0.5);\n box-shadow: 0 6px 24px rgba(0, 0, 0, 0.5);\n}\n\n.ermis-call-ui__video-local-stream {\n width: 100%;\n height: 100%;\n object-fit: cover;\n transform: scaleX(-1);\n}\n\n/* Remote peer muted mic badge */\n.ermis-call-ui__remote-muted-badge {\n position: absolute;\n top: 16px;\n left: 16px;\n z-index: 15;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: rgba(239, 68, 68, 0.85);\n color: #ffffff;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);\n backdrop-filter: blur(8px);\n -webkit-backdrop-filter: blur(8px);\n}\n\n.ermis-call-ui__remote-muted-badge svg {\n width: 16px;\n height: 16px;\n}\n\n/* Audio call: badge positioned relative to the avatar wrapper */\n.ermis-call-ui__audio-avatar-wrapper {\n position: relative;\n display: inline-flex;\n}\n\n.ermis-call-ui__remote-muted-badge--audio {\n position: absolute;\n top: auto;\n left: auto;\n bottom: 2px;\n right: 2px;\n width: 28px;\n height: 28px;\n border: 2px solid var(--ermis-bg-secondary);\n}\n\n/* Glassmorphism controls overlay for video */\n.ermis-call-ui__video-controls-overlay {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n justify-content: center;\n padding: var(--ermis-spacing-md) var(--ermis-spacing-lg);\n background: linear-gradient(transparent, rgba(0, 0, 0, 0.6));\n}\n\n/* -- Audio Layout -- */\n.ermis-call-ui__audio-container {\n text-align: center;\n padding: 2.5rem var(--ermis-spacing-lg) 2rem;\n display: flex;\n flex-direction: column;\n align-items: center;\n background: var(--ermis-call-bg);\n border-radius: var(--ermis-radius-lg);\n position: relative;\n overflow: hidden;\n}\n\n/* Audio wave visualizer */\n.ermis-call-ui__audio-waves {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 3px;\n height: 40px;\n margin-bottom: var(--ermis-spacing-lg);\n margin-top: var(--ermis-spacing-sm);\n}\n\n.ermis-call-ui__audio-wave-bar {\n width: 3px;\n border-radius: var(--ermis-radius-full);\n background-color: var(--ermis-accent);\n opacity: 0.6;\n animation: ermis-call-wave 1.2s ease-in-out infinite;\n}\n\n.ermis-call-ui__audio-wave-bar:nth-child(1) {\n height: 12px;\n animation-delay: 0s;\n}\n.ermis-call-ui__audio-wave-bar:nth-child(2) {\n height: 20px;\n animation-delay: 0.1s;\n}\n.ermis-call-ui__audio-wave-bar:nth-child(3) {\n height: 32px;\n animation-delay: 0.2s;\n}\n.ermis-call-ui__audio-wave-bar:nth-child(4) {\n height: 24px;\n animation-delay: 0.3s;\n}\n.ermis-call-ui__audio-wave-bar:nth-child(5) {\n height: 36px;\n animation-delay: 0.15s;\n}\n.ermis-call-ui__audio-wave-bar:nth-child(6) {\n height: 28px;\n animation-delay: 0.25s;\n}\n.ermis-call-ui__audio-wave-bar:nth-child(7) {\n height: 18px;\n animation-delay: 0.35s;\n}\n.ermis-call-ui__audio-wave-bar:nth-child(8) {\n height: 30px;\n animation-delay: 0.05s;\n}\n.ermis-call-ui__audio-wave-bar:nth-child(9) {\n height: 14px;\n animation-delay: 0.4s;\n}\n\n@keyframes ermis-call-wave {\n 0%,\n 100% {\n transform: scaleY(0.4);\n }\n 50% {\n transform: scaleY(1);\n }\n}\n\n/* Active call info */\n.ermis-call-ui__active-name {\n margin: var(--ermis-spacing-md) 0 var(--ermis-spacing-xs);\n font-size: 1.35rem;\n font-weight: 700;\n color: var(--ermis-text-primary);\n letter-spacing: -0.01em;\n}\n\n.ermis-call-ui__active-status {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n color: var(--ermis-text-secondary);\n font-size: var(--ermis-font-size-sm);\n margin-bottom: var(--ermis-spacing-sm);\n}\n\n.ermis-call-ui__active-status-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background-color: var(--ermis-color-success);\n animation: ermis-call-status-blink 2s ease-in-out infinite;\n}\n\n@keyframes ermis-call-status-blink {\n 0%,\n 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.4;\n }\n}\n\n.ermis-call-ui__timer {\n font-variant-numeric: tabular-nums;\n font-weight: 500;\n color: var(--ermis-text-secondary);\n font-size: var(--ermis-font-size-sm);\n}\n\n/* ============================================================\n CONTROLS BAR\n ============================================================ */\n.ermis-call-ui__controls {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: var(--ermis-spacing-md);\n padding: var(--ermis-spacing-md) var(--ermis-spacing-lg);\n background: var(--ermis-call-glass);\n backdrop-filter: blur(16px);\n -webkit-backdrop-filter: blur(16px);\n border: 1px solid var(--ermis-call-glass-border);\n border-radius: var(--ermis-radius-full);\n margin-top: var(--ermis-spacing-lg);\n}\n\n/* For video mode, controls float inside the video overlay */\n.ermis-call-ui__video-controls-overlay .ermis-call-ui__controls {\n margin-top: 0;\n background: rgba(0, 0, 0, 0.4);\n backdrop-filter: blur(20px);\n -webkit-backdrop-filter: blur(20px);\n border-color: rgba(255, 255, 255, 0.08);\n}\n\n.ermis-call-ui__controls-separator {\n width: 1px;\n height: 20px;\n background: var(--ermis-call-glass-border);\n margin: 0 var(--ermis-spacing-xs);\n}\n\n/* Control buttons — circular icons */\n.ermis-call-ui__control-btn {\n width: 34px;\n height: 34px;\n border-radius: 50%;\n border: none;\n background-color: var(--ermis-call-glass);\n color: var(--ermis-text-primary);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all var(--ermis-transition);\n position: relative;\n}\n\n.ermis-call-ui__control-btn svg {\n width: 16px;\n height: 16px;\n}\n\n.ermis-call-ui__control-btn:hover {\n background-color: var(--ermis-bg-hover);\n transform: scale(1.08);\n}\n\n.ermis-call-ui__control-btn:active {\n transform: scale(0.95);\n}\n\n/* Tooltip on hover */\n.ermis-call-ui__control-btn::after {\n content: attr(data-tooltip);\n position: absolute;\n bottom: calc(100% + 8px);\n left: 50%;\n transform: translateX(-50%) translateY(4px);\n padding: 4px 10px;\n background: var(--ermis-bg-primary);\n color: var(--ermis-text-primary);\n font-size: var(--ermis-font-size-xs);\n border-radius: var(--ermis-radius-sm);\n white-space: nowrap;\n opacity: 0;\n visibility: hidden;\n transition: all var(--ermis-transition);\n pointer-events: none;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n border: 1px solid var(--ermis-call-glass-border);\n}\n\n.ermis-call-ui__control-btn:hover::after {\n opacity: 1;\n visibility: visible;\n transform: translateX(-50%) translateY(0);\n}\n\n/* Video overlay tooltips need light text */\n.ermis-call-ui__video-controls-overlay .ermis-call-ui__control-btn {\n color: #ffffff;\n}\n\n.ermis-call-ui__video-controls-overlay .ermis-call-ui__control-btn::after {\n background: rgba(0, 0, 0, 0.8);\n color: #ffffff;\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n/* Muted state */\n.ermis-call-ui__control-btn--muted {\n background-color: rgba(239, 68, 68, 0.15);\n color: var(--ermis-color-danger);\n}\n\n.ermis-call-ui__control-btn--muted:hover {\n background-color: rgba(239, 68, 68, 0.25);\n}\n\n.ermis-call-ui__video-controls-overlay .ermis-call-ui__control-btn--muted {\n background-color: rgba(239, 68, 68, 0.3);\n color: #ffffff;\n}\n\n/* Active state (screen sharing) */\n.ermis-call-ui__control-btn--active {\n background-color: rgba(34, 197, 94, 0.15);\n color: var(--ermis-color-success);\n}\n\n.ermis-call-ui__control-btn--active:hover {\n background-color: rgba(34, 197, 94, 0.25);\n}\n\n.ermis-call-ui__video-controls-overlay .ermis-call-ui__control-btn--active {\n background-color: rgba(34, 197, 94, 0.3);\n color: #ffffff;\n}\n\n/* End call button — always solid danger */\n.ermis-call-ui__control-btn--danger {\n background-color: var(--ermis-color-danger);\n color: #ffffff;\n box-shadow: 0 2px 12px rgba(239, 68, 68, 0.3);\n}\n\n.ermis-call-ui__control-btn--danger:hover {\n background-color: var(--ermis-color-danger-hover);\n box-shadow: 0 4px 20px rgba(239, 68, 68, 0.4);\n}\n\n/* ============================================================\n ACTION GROUPS & DEVICE SELECTORS\n ============================================================ */\n.ermis-call-ui__action-group {\n display: flex;\n flex-direction: column;\n align-items: center;\n position: relative;\n}\n\n.ermis-call-ui__device-select {\n position: absolute;\n bottom: calc(100% + 10px);\n width: 160px;\n left: 50%;\n transform: translateX(-50%);\n background: var(--ermis-bg-primary);\n color: var(--ermis-text-primary);\n border: 1px solid var(--ermis-call-glass-border);\n border-radius: var(--ermis-radius-md);\n padding: 6px 8px;\n font-size: var(--ermis-font-size-xs);\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);\n outline: none;\n cursor: pointer;\n opacity: 0;\n visibility: hidden;\n transition: all var(--ermis-transition);\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n\n.ermis-call-ui__action-group:hover .ermis-call-ui__device-select {\n opacity: 1;\n visibility: visible;\n}\n\n.ermis-call-ui__device-select:focus {\n border-color: var(--ermis-accent);\n opacity: 1;\n visibility: visible;\n}\n\n/* Video overlay device selects */\n.ermis-call-ui__video-controls-overlay .ermis-call-ui__device-select {\n background: rgba(0, 0, 0, 0.85);\n border-color: rgba(255, 255, 255, 0.1);\n color: #ffffff;\n}\n\n/* ============================================================\n ERROR STATE\n ============================================================ */\n.ermis-call-ui__error {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 3rem var(--ermis-spacing-lg);\n text-align: center;\n background: var(--ermis-call-bg);\n border-radius: var(--ermis-radius-lg);\n min-height: 280px;\n width: 100%;\n}\n\n.ermis-call-ui__error-icon {\n animation: ermis-call-shake 0.6s ease-in-out;\n margin-bottom: var(--ermis-spacing-md);\n}\n\n@keyframes ermis-call-shake {\n 0%,\n 100% {\n transform: translateX(0);\n }\n 15% {\n transform: translateX(-8px);\n }\n 30% {\n transform: translateX(8px);\n }\n 45% {\n transform: translateX(-6px);\n }\n 60% {\n transform: translateX(6px);\n }\n 75% {\n transform: translateX(-3px);\n }\n 90% {\n transform: translateX(3px);\n }\n}\n\n.ermis-call-ui__error-text {\n margin: 0 0 var(--ermis-spacing-lg);\n color: var(--ermis-text-primary);\n font-weight: 500;\n font-size: 1.1rem;\n line-height: 1.5;\n max-width: 320px;\n}\n\n.ermis-call-ui__error-dismiss {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n padding: 12px 28px;\n border-radius: var(--ermis-radius-full);\n border: none;\n font-weight: 600;\n font-size: var(--ermis-font-size-base);\n cursor: pointer;\n transition: all var(--ermis-transition);\n background-color: var(--ermis-color-danger);\n color: #ffffff;\n box-shadow: 0 2px 12px rgba(239, 68, 68, 0.3);\n}\n\n.ermis-call-ui__error-dismiss:hover {\n background-color: var(--ermis-color-danger-hover);\n box-shadow: 0 4px 20px rgba(239, 68, 68, 0.4);\n transform: scale(1.02);\n}\n\n.ermis-call-ui__error-dismiss:active {\n transform: scale(0.98);\n}\n\n/* ============================================================\n REDUCED MOTION\n ============================================================ */\n@media (prefers-reduced-motion: reduce) {\n .ermis-call-ui__ringing-avatar::before,\n .ermis-call-ui__ringing-avatar::after,\n .ermis-call-ui__ringing-avatar-inner,\n .ermis-call-ui__audio-wave-bar,\n .ermis-call-ui__active-status-dot,\n .ermis-call-ui__error-icon {\n animation: none;\n }\n\n .ermis-call-ui__action-circle:hover,\n .ermis-call-ui__control-btn:hover,\n .ermis-call-ui__error-dismiss:hover {\n transform: none;\n }\n}\n","/* ----------------------------------------------------------\n CreateTopicModal\n ---------------------------------------------------------- */\n.ermis-create-topic__body {\n display: flex;\n flex-direction: column;\n gap: var(--ermis-spacing-lg);\n padding: 0 var(--ermis-spacing-xs);\n}\n\n.ermis-create-topic__field {\n display: flex;\n flex-direction: column;\n gap: var(--ermis-spacing-xs);\n}\n\n.ermis-create-topic__label {\n font-size: var(--ermis-font-size-sm);\n font-weight: 500;\n color: var(--ermis-text-primary);\n}\n\n.ermis-create-topic__required {\n color: var(--ermis-error);\n}\n\n.ermis-create-topic__input {\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n border: 1px solid var(--ermis-border);\n border-radius: var(--ermis-radius-md);\n font-size: var(--ermis-font-size-base);\n color: var(--ermis-text-primary);\n background-color: var(--ermis-bg-primary);\n transition: border-color var(--ermis-transition);\n}\n\n.ermis-create-topic__input:focus {\n outline: none;\n border-color: var(--ermis-accent);\n}\n\n.ermis-create-topic__live-preview {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-md);\n background-color: var(--ermis-bg-secondary);\n border-radius: var(--ermis-radius-md);\n border: 1px dashed var(--ermis-border);\n}\n\n.ermis-create-topic__live-preview-emoji {\n font-size: 20px;\n}\n\n.ermis-create-topic__live-preview-name {\n font-size: var(--ermis-font-size-base);\n font-weight: 600;\n color: var(--ermis-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-create-topic__emoji-picker {\n margin-top: var(--ermis-spacing-sm);\n}\n\n.ermis-create-topic__default-icons {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: var(--ermis-spacing-sm);\n}\n\n.ermis-create-topic__default-icon {\n width: 100%;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 20px;\n background-color: var(--ermis-bg-secondary);\n border: 1px solid var(--ermis-border);\n border-radius: var(--ermis-radius-md);\n cursor: pointer;\n transition: all var(--ermis-transition);\n}\n\n.ermis-create-topic__default-icon:hover:not(:disabled) {\n background-color: var(--ermis-bg-hover);\n border-color: var(--ermis-border-hover);\n}\n\n.ermis-create-topic__default-icon--active {\n border-color: var(--ermis-accent);\n background-color: var(--ermis-bg-primary);\n}\n\n.ermis-create-topic__default-icon:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n\n.ermis-create-topic__error {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-sm);\n border-radius: var(--ermis-radius-md);\n background-color: rgba(239, 68, 68, 0.1);\n color: var(--ermis-error);\n font-size: var(--ermis-font-size-sm);\n}\n\n.ermis-create-topic__footer {\n display: flex;\n justify-content: flex-end;\n gap: var(--ermis-spacing-sm);\n margin-top: var(--ermis-spacing-lg);\n}\n\n.ermis-create-topic__btn {\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-lg);\n border-radius: var(--ermis-radius-md);\n font-size: var(--ermis-font-size-sm);\n font-weight: 500;\n cursor: pointer;\n transition: all var(--ermis-transition);\n border: none;\n}\n\n.ermis-create-topic__btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.ermis-create-topic__btn--cancel {\n background-color: transparent;\n color: var(--ermis-text-primary);\n}\n\n.ermis-create-topic__btn--cancel:hover:not(:disabled) {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-create-topic__btn--create {\n background-color: var(--ermis-accent);\n color: white;\n}\n\n.ermis-create-topic__btn--create:hover:not(:disabled) {\n background-color: var(--ermis-accent-hover);\n}\n","/* ============================================================\n Media Lightbox – Full-screen overlay for images & videos\n BEM: .ermis-lightbox__{element}--{modifier}\n ============================================================ */\n\n/* ----------------------------------------------------------\n Overlay & backdrop\n ---------------------------------------------------------- */\n.ermis-lightbox {\n position: fixed;\n inset: 0;\n z-index: 1100;\n display: flex;\n flex-direction: column;\n animation: ermis-lightbox-fade-in 0.2s ease-out;\n}\n\n.ermis-lightbox__backdrop {\n position: absolute;\n inset: 0;\n background-color: rgba(0, 0, 0, 0.92);\n backdrop-filter: blur(8px);\n}\n\n@keyframes ermis-lightbox-fade-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n/* ----------------------------------------------------------\n Header: counter + close\n ---------------------------------------------------------- */\n.ermis-lightbox__header {\n position: relative;\n z-index: 2;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n min-height: 48px;\n}\n\n.ermis-lightbox__counter {\n color: rgba(255, 255, 255, 0.8);\n font-size: 14px;\n font-weight: 500;\n letter-spacing: 0.5px;\n user-select: none;\n}\n\n.ermis-lightbox__actions {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-left: auto;\n}\n\n.ermis-lightbox__action-btn {\n background: rgba(255, 255, 255, 0.1);\n border: none;\n border-radius: 50%;\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: rgba(255, 255, 255, 0.85);\n cursor: pointer;\n transition: background-color 0.15s ease, color 0.15s ease;\n}\n\n.ermis-lightbox__action-btn:hover {\n background: rgba(255, 255, 255, 0.2);\n color: #fff;\n}\n\n/* ----------------------------------------------------------\n Content area\n ---------------------------------------------------------- */\n.ermis-lightbox__content {\n position: relative;\n z-index: 1;\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 60px;\n overflow: hidden;\n cursor: default;\n}\n\n/* ----------------------------------------------------------\n Image\n ---------------------------------------------------------- */\n.ermis-lightbox__image {\n max-width: 90vw;\n max-height: 80vh;\n object-fit: contain;\n border-radius: 4px;\n user-select: none;\n transition: transform 0.15s ease;\n animation: ermis-lightbox-zoom-in 0.25s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.ermis-lightbox__image--zoomed {\n transition: none;\n}\n\n@keyframes ermis-lightbox-zoom-in {\n from {\n opacity: 0;\n transform: scale(0.92);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n/* ----------------------------------------------------------\n Video\n ---------------------------------------------------------- */\n.ermis-lightbox__video {\n max-width: 90vw;\n max-height: 80vh;\n border-radius: 4px;\n background: #000;\n outline: none;\n animation: ermis-lightbox-zoom-in 0.25s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n/* ----------------------------------------------------------\n Navigation buttons\n ---------------------------------------------------------- */\n.ermis-lightbox__nav {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n z-index: 3;\n background: rgba(255, 255, 255, 0.08);\n border: none;\n border-radius: 50%;\n width: 44px;\n height: 44px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: rgba(255, 255, 255, 0.75);\n cursor: pointer;\n transition: background-color 0.15s ease, color 0.15s ease, transform 0.15s ease;\n}\n\n.ermis-lightbox__nav:hover {\n background: rgba(255, 255, 255, 0.18);\n color: #fff;\n}\n\n.ermis-lightbox__nav--prev {\n left: 12px;\n}\n\n.ermis-lightbox__nav--prev:hover {\n transform: translateY(-50%) translateX(-2px);\n}\n\n.ermis-lightbox__nav--next {\n right: 12px;\n}\n\n.ermis-lightbox__nav--next:hover {\n transform: translateY(-50%) translateX(2px);\n}\n\n/* ----------------------------------------------------------\n Filename\n ---------------------------------------------------------- */\n.ermis-lightbox__filename {\n position: relative;\n z-index: 2;\n text-align: center;\n padding: 8px 16px 16px;\n color: rgba(255, 255, 255, 0.6);\n font-size: 13px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n user-select: none;\n}\n\n/* ----------------------------------------------------------\n Clickable attachment overlay (hover effect on images/videos in messages)\n ---------------------------------------------------------- */\n.ermis-attachment--clickable {\n cursor: pointer;\n position: relative;\n}\n\n.ermis-attachment--clickable::after {\n content: '';\n position: absolute;\n inset: 0;\n background: rgba(0, 0, 0, 0);\n border-radius: inherit;\n transition: background-color 0.2s ease;\n pointer-events: none;\n}\n\n.ermis-attachment--clickable:hover::after {\n background: rgba(0, 0, 0, 0.12);\n}\n\n/* Zoom hint icon on hover */\n.ermis-attachment__overlay {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%) scale(0.8);\n z-index: 2;\n opacity: 0;\n transition: opacity 0.2s ease, transform 0.2s ease;\n color: #fff;\n background: rgba(0, 0, 0, 0.5);\n border-radius: 50%;\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n}\n\n.ermis-attachment--clickable:hover .ermis-attachment__overlay {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n}\n\n/* ----------------------------------------------------------\n Responsive: small viewports\n ---------------------------------------------------------- */\n@media (max-width: 768px) {\n .ermis-lightbox__content {\n padding: 0 12px;\n }\n\n .ermis-lightbox__image,\n .ermis-lightbox__video {\n max-width: 100vw;\n max-height: 75vh;\n }\n\n .ermis-lightbox__nav {\n width: 36px;\n height: 36px;\n }\n\n .ermis-lightbox__nav--prev {\n left: 4px;\n }\n\n .ermis-lightbox__nav--next {\n right: 4px;\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/styles/_tokens.css","../src/styles/_base.css","../src/styles/_dropdown.css","../src/styles/_modal.css","../src/styles/_panel.css","../src/styles/_channel-list.css","../src/styles/_message-list.css","../src/styles/_message-bubble.css","../src/styles/_message-input.css","../src/styles/_mentions.css","../src/styles/_pinned-messages.css","../src/styles/_message-actions.css","../src/styles/_forward-modal.css","../src/styles/_typing-indicator.css","../src/styles/_message-reactions.css","../src/styles/_message-quick-reactions.css","../src/styles/_channel-info.css","../src/styles/_add-member-modal.css","../src/styles/_search-panel.css","../src/styles/_user-picker.css","../src/styles/_create-channel-modal.css","../src/styles/_call-ui.css","../src/styles/_topic-modal.css","../src/styles/_media-lightbox.css","../src/styles/_preview-overlay.css"],"sourcesContent":["/* ============================================================\n Ermis Chat React – Design Tokens\n BEM naming: .ermis-{block}__{element}--{modifier}\n ============================================================ */\n\n/* ----------------------------------------------------------\n Design Tokens – Dark (default)\n ---------------------------------------------------------- */\n.ermis-chat,\n.ermis-chat--dark {\n --ermis-bg-primary: #0a0a0f;\n --ermis-bg-secondary: #111118;\n --ermis-bg-hover: rgba(255, 255, 255, 0.04);\n --ermis-bg-active: rgba(99, 102, 241, 0.12);\n --ermis-bg-overlay: rgba(0, 0, 0, 0.4);\n --ermis-border: rgba(255, 255, 255, 0.08);\n --ermis-accent: #6366f1;\n --ermis-accent-hover: #818cf8;\n --ermis-text-primary: #e5e7eb;\n --ermis-text-secondary: #9ca3af;\n --ermis-text-muted: #6b7280;\n\n /* Semantic Colors */\n --ermis-color-danger: #ef4444;\n --ermis-color-danger-hover: #dc2626;\n --ermis-color-success: #22c55e;\n --ermis-color-success-hover: #16a34a;\n\n /* Message bubbles */\n --ermis-bubble-own-bg: var(--ermis-accent);\n --ermis-bubble-own-text: #ffffff;\n --ermis-bubble-other-bg: #1e1e2a;\n --ermis-bubble-other-text: var(--ermis-text-primary);\n\n /* Quote message */\n --ermis-quote-other-bg: rgba(99, 102, 241, 0.1);\n --ermis-quote-other-bg-hover: rgba(99, 102, 241, 0.18);\n --ermis-quote-own-bg: rgba(255, 255, 255, 0.2);\n --ermis-quote-own-bg-hover: rgba(255, 255, 255, 0.3);\n --ermis-quote-own-border: rgba(255, 255, 255, 0.5);\n --ermis-quote-own-author: #ffffff;\n --ermis-quote-own-text: rgba(255, 255, 255, 0.75);\n\n /* Typography */\n --ermis-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell,\n 'Helvetica Neue', sans-serif;\n --ermis-font-size-xs: 0.75rem;\n --ermis-font-size-sm: 0.875rem;\n --ermis-font-size-base: 1rem;\n\n /* Spacing */\n --ermis-spacing-xs: 0.25rem;\n --ermis-spacing-sm: 0.5rem;\n --ermis-spacing-md: 0.75rem;\n --ermis-spacing-lg: 1rem;\n\n /* Radius */\n --ermis-radius-sm: 0.375rem;\n --ermis-radius-md: 0.5rem;\n --ermis-radius-lg: 0.75rem;\n --ermis-radius-full: 9999px;\n\n /* Transitions */\n --ermis-transition: 150ms ease;\n\n /* Signal messages (call events) */\n --ermis-signal-success: #54D62C;\n --ermis-signal-missed: #FF4842;\n --ermis-signal-bg: rgba(255, 255, 255, 0.04);\n --ermis-signal-own-success: #86EFAC;\n --ermis-signal-own-missed: #FCA5A5;\n --ermis-signal-own-bg: rgba(255, 255, 255, 0.12);\n --ermis-signal-own-duration: rgba(255, 255, 255, 0.6);\n\n /* Call UI */\n --ermis-call-bg: linear-gradient(135deg, #0f0f1a 0%, #1a1a2e 50%, #16213e 100%);\n --ermis-call-glass: rgba(255, 255, 255, 0.06);\n --ermis-call-glass-border: rgba(255, 255, 255, 0.1);\n --ermis-call-pulse: rgba(99, 102, 241, 0.4);\n\n color: var(--ermis-text-primary);\n font-family: var(--ermis-font-family);\n}\n\n/* ----------------------------------------------------------\n Design Tokens – Light\n ---------------------------------------------------------- */\n.ermis-chat--light {\n --ermis-bg-primary: #ffffff;\n --ermis-bg-secondary: #f9fafb;\n --ermis-bg-hover: rgba(0, 0, 0, 0.04);\n --ermis-bg-active: rgba(99, 102, 241, 0.08);\n --ermis-bg-overlay: rgba(255, 255, 255, 0.6);\n --ermis-border: rgba(0, 0, 0, 0.08);\n --ermis-accent: #3436b6;\n --ermis-accent-hover: #0d00ff;\n --ermis-text-primary: #111827;\n --ermis-text-secondary: #6b7280;\n --ermis-text-muted: #9ca3af;\n\n /* Semantic Colors */\n --ermis-color-danger: #ef4444;\n --ermis-color-danger-hover: #dc2626;\n --ermis-color-success: #10b981;\n --ermis-color-success-hover: #059669;\n\n /* Message bubbles */\n --ermis-bubble-own-bg: var(--ermis-accent);\n --ermis-bubble-own-text: #ffffff;\n --ermis-bubble-other-bg: #f3f4f6;\n --ermis-bubble-other-text: var(--ermis-text-primary);\n\n /* Quote message */\n --ermis-quote-other-bg: rgba(99, 102, 241, 0.06);\n --ermis-quote-other-bg-hover: rgba(99, 102, 241, 0.12);\n --ermis-quote-own-bg: rgba(255, 255, 255, 0.3);\n --ermis-quote-own-bg-hover: rgba(255, 255, 255, 0.4);\n --ermis-quote-own-border: rgba(255, 255, 255, 0.7);\n --ermis-quote-own-author: #ffffff;\n --ermis-quote-own-text: rgba(255, 255, 255, 0.85);\n\n /* Signal messages (call events) */\n --ermis-signal-success: #229A16;\n --ermis-signal-missed: #B72136;\n --ermis-signal-bg: rgba(0, 0, 0, 0.03);\n --ermis-signal-own-success: #86EFAC;\n --ermis-signal-own-missed: #FCA5A5;\n --ermis-signal-own-bg: rgba(255, 255, 255, 0.12);\n --ermis-signal-own-duration: rgba(255, 255, 255, 0.6);\n\n /* Call UI */\n --ermis-call-bg: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 50%, #dee2e6 100%);\n --ermis-call-glass: rgba(0, 0, 0, 0.04);\n --ermis-call-glass-border: rgba(0, 0, 0, 0.08);\n --ermis-call-pulse: rgba(99, 102, 241, 0.3);\n}","/* ----------------------------------------------------------\n Chat root\n ---------------------------------------------------------- */\n.ermis-chat {\n width: 100%;\n height: 100%;\n background-color: var(--ermis-bg-primary);\n color: var(--ermis-text-primary);\n overflow: hidden;\n}\n\n/* ----------------------------------------------------------\n Avatar\n ---------------------------------------------------------- */\n.ermis-avatar {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--ermis-radius-full);\n object-fit: cover;\n flex-shrink: 0;\n overflow: hidden;\n}\n\n.ermis-avatar--fallback {\n color: #fff;\n font-weight: 600;\n font-family: var(--ermis-font-family);\n text-transform: uppercase;\n user-select: none;\n}\n","/* ----------------------------------------------------------\n Generic Dropdown\n ---------------------------------------------------------- */\n\n.ermis-dropdown {\n font-family: var(--ermis-font-family);\n animation: dropdown-fade-up 0.15s ease-out;\n}\n\n.ermis-dropdown__menu {\n background-color: var(--ermis-bg-primary);\n border: 1px solid var(--ermis-border);\n border-radius: var(--ermis-radius-md);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n min-width: 160px;\n padding: var(--ermis-spacing-xs) 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.ermis-dropdown__item {\n background: none;\n border: none;\n width: 100%;\n text-align: left;\n padding: var(--ermis-spacing-xs) var(--ermis-spacing-md);\n font-size: var(--ermis-font-size-sm);\n color: var(--ermis-text-primary);\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n transition: background-color 0.15s;\n}\n\n.ermis-dropdown__item:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.ermis-dropdown__item:hover {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-dropdown__divider {\n height: 1px;\n background-color: var(--ermis-border);\n margin: var(--ermis-spacing-xs) 0;\n}\n\n.ermis-dropdown__item--danger {\n color: #e74c3c;\n}\n\n.ermis-dropdown__item--danger:hover {\n background-color: rgba(231, 76, 60, 0.1);\n}\n\n@keyframes dropdown-fade-up {\n 0% {\n opacity: 0;\n transform: translateY(4px) scale(0.98);\n }\n 100% {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n}\n",".ermis-modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n z-index: 1000;\n background-color: rgba(0, 0, 0, 0.5);\n backdrop-filter: blur(4px);\n display: flex;\n align-items: center;\n justify-content: center;\n animation: ermis-modal-fade-in 0.2s ease-out;\n}\n\n@keyframes ermis-modal-fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n.ermis-modal-content {\n background-color: var(--ermis-bg-primary);\n border-radius: 12px;\n width: 90%;\n max-width: 480px;\n max-height: 85vh;\n display: flex;\n flex-direction: column;\n box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);\n overflow: hidden;\n animation: ermis-modal-slide-up 0.2s cubic-bezier(0.16, 1, 0.3, 1);\n border: 1px solid var(--ermis-border);\n}\n\n@keyframes ermis-modal-slide-up {\n from {\n opacity: 0;\n transform: translateY(20px) scale(0.98);\n }\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n}\n\n.ermis-modal-header {\n padding: 16px 20px;\n border-bottom: 1px solid var(--ermis-border);\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-shrink: 0;\n}\n\n.ermis-modal-header h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--ermis-text-primary);\n}\n\n.ermis-modal-close {\n background: transparent;\n border: none;\n cursor: pointer;\n color: var(--ermis-text-secondary);\n padding: 4px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background-color 0.15s ease, color 0.15s ease;\n}\n\n.ermis-modal-close:hover {\n background-color: var(--ermis-bg-hover);\n color: var(--ermis-text-primary);\n}\n\n.ermis-modal-body {\n padding: 20px;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n flex: 1;\n min-height: 0;\n}\n\n.ermis-modal-footer {\n padding: 16px 20px;\n border-top: 1px solid var(--ermis-border);\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n flex-shrink: 0;\n background-color: var(--ermis-bg-secondary);\n}\n","/* ==========================================================================\n Panel — Reusable sliding overlay panel\n ========================================================================== */\n\n.ermis-panel {\n position: absolute;\n inset: 0;\n z-index: 30;\n display: flex;\n flex-direction: column;\n background: var(--ermis-bg-primary);\n transform: translateX(100%);\n transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: transform;\n overflow: hidden;\n}\n\n.ermis-panel--open {\n transform: translateX(0);\n}\n\n/* Header */\n.ermis-panel__header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n border-bottom: 1px solid var(--ermis-border, rgba(0, 0, 0, 0.08));\n flex-shrink: 0;\n}\n\n.ermis-panel__back {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border: none;\n background: none;\n color: var(--ermis-text-secondary);\n cursor: pointer;\n border-radius: 8px;\n flex-shrink: 0;\n transition: background 0.15s, color 0.15s;\n}\n\n.ermis-panel__back:hover {\n background: var(--ermis-bg-hover);\n color: var(--ermis-text-primary);\n}\n\n.ermis-panel__title {\n font-size: 15px;\n font-weight: 600;\n color: var(--ermis-text-primary);\n margin: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* Body */\n.ermis-panel__body {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n overflow-x: hidden;\n}\n","/* ----------------------------------------------------------\n ChannelHeader\n ---------------------------------------------------------- */\n.ermis-channel-header {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-md);\n padding: var(--ermis-spacing-md) var(--ermis-spacing-lg);\n border-bottom: 1px solid var(--ermis-border);\n background-color: var(--ermis-bg-secondary);\n font-family: var(--ermis-font-family);\n}\n\n.ermis-channel-header__info {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.ermis-channel-header__name {\n font-size: var(--ermis-font-size-base);\n font-weight: 600;\n color: var(--ermis-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-channel-header__team-name {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-secondary);\n margin-bottom: 2px;\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-channel-header__topic-avatar {\n width: 32px;\n height: 32px;\n min-width: 32px;\n border-radius: var(--ermis-radius-md);\n background-color: var(--ermis-bg-primary);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 16px;\n color: var(--ermis-text-secondary);\n}\n\n.ermis-channel-header__subtitle {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* --- Online Status Indicator --- */\n.ermis-channel-header__online-status {\n display: flex;\n align-items: center;\n gap: 5px;\n margin-top: 1px;\n}\n\n.ermis-channel-header__online-dot {\n width: 8px;\n height: 8px;\n border-radius: var(--ermis-radius-full);\n flex-shrink: 0;\n transition: background-color var(--ermis-transition);\n}\n\n.ermis-channel-header__online-dot--online {\n background-color: var(--ermis-color-success);\n}\n\n.ermis-channel-header__online-dot--offline {\n background-color: var(--ermis-text-muted);\n}\n\n.ermis-channel-header__online-label {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n line-height: 1;\n}\n\n.ermis-channel-header__online-status--online .ermis-channel-header__online-label {\n color: var(--ermis-color-success);\n}\n\n.ermis-channel-header__info {\n flex: 1;\n}\n\n.ermis-channel-header__actions {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n margin-left: auto;\n flex-shrink: 0;\n}\n\n/* ----------------------------------------------------------\n ChannelList\n ---------------------------------------------------------- */\n.ermis-channel-list {\n display: flex;\n flex-direction: column;\n font-family: var(--ermis-font-family);\n height: 100%;\n flex: 1;\n}\n\n.ermis-channel-list__loading {\n padding: var(--ermis-spacing-lg);\n color: var(--ermis-text-muted);\n font-size: var(--ermis-font-size-sm);\n text-align: center;\n}\n\n.ermis-channel-list__empty {\n padding: var(--ermis-spacing-lg);\n color: var(--ermis-text-muted);\n font-size: var(--ermis-font-size-sm);\n text-align: center;\n}\n\n.ermis-channel-list__item {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-md);\n padding: var(--ermis-spacing-md) var(--ermis-spacing-lg);\n cursor: pointer;\n border-left: 2px solid transparent;\n transition: background-color var(--ermis-transition), border-color var(--ermis-transition);\n position: relative;\n}\n\n.ermis-channel-list__item:hover {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-channel-list__item--active {\n background-color: var(--ermis-bg-active);\n border-left-color: var(--ermis-accent);\n}\n\n.ermis-channel-list__item-content {\n display: flex;\n flex-direction: column;\n min-width: 0;\n flex: 1;\n}\n\n/* --- Avatar wrapper with online dot overlay --- */\n.ermis-channel-list__item-avatar-wrapper {\n position: relative;\n flex-shrink: 0;\n}\n\n.ermis-channel-list__online-dot {\n position: absolute;\n bottom: 0;\n right: 0;\n width: 10px;\n height: 10px;\n border-radius: var(--ermis-radius-full);\n border: 2px solid var(--ermis-bg-secondary);\n transition: background-color var(--ermis-transition);\n}\n\n.ermis-channel-list__online-dot--online {\n background-color: var(--ermis-color-success);\n}\n\n.ermis-channel-list__online-dot--offline {\n background-color: var(--ermis-text-muted);\n}\n\n.ermis-channel-list__item-top-row {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: var(--ermis-spacing-sm);\n}\n\n.ermis-channel-list__item-bottom-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ermis-spacing-sm);\n margin-top: 2px;\n}\n\n.ermis-channel-list__item-name {\n font-size: var(--ermis-font-size-sm);\n font-weight: 500;\n color: var(--ermis-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n}\n\n.ermis-channel-list__item-timestamp {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n white-space: nowrap;\n flex-shrink: 0;\n margin-top: 2px;\n}\n\n.ermis-channel-list__item-last-message {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n}\n\n.ermis-channel-list__item-closed-indicator {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-secondary);\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n}\n\n.ermis-channel-list__closed-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n color: var(--ermis-color-danger);\n}\n\n.ermis-channel-list__pinned-icon {\n position: absolute;\n top: 0px;\n right: 0px;\n color: var(--ermis-color-danger, #ef4444);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n transform: rotate(45deg);\n}\n\n.ermis-channel-list__item-badges {\n display: flex;\n align-items: center;\n gap: 4px;\n flex-shrink: 0;\n}\n\n.ermis-channel-list__item-last-message-user {\n color: var(--ermis-text-secondary);\n}\n\n.ermis-channel-list__item-last-message-source {\n color: var(--ermis-accent);\n font-weight: 500;\n}\n\n.ermis-channel-list__item-actions-wrapper,\n.ermis-channel-list__topic-actions-wrapper {\n position: absolute;\n right: var(--ermis-spacing-sm);\n top: 50%;\n transform: translateY(-50%);\n opacity: 0;\n transition: opacity var(--ermis-transition);\n display: flex;\n align-items: center;\n z-index: 1;\n}\n\n.ermis-channel-list__item:hover .ermis-channel-list__item-actions-wrapper,\n.ermis-channel-list__topic-header:hover .ermis-channel-list__topic-actions-wrapper,\n.ermis-channel-list__item-actions-wrapper:has(.ermis-channel-list__actions-trigger--active),\n.ermis-channel-list__topic-actions-wrapper:has(.ermis-channel-list__actions-trigger--active) {\n opacity: 1;\n}\n\n.ermis-channel-list__actions-trigger {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border-radius: var(--ermis-radius-sm);\n background-color: var(--ermis-bg-primary);\n color: var(--ermis-text-muted);\n border: none;\n cursor: pointer;\n transition: all var(--ermis-transition);\n}\n\n.ermis-channel-list__actions-trigger:hover,\n.ermis-channel-list__actions-trigger--active {\n background-color: var(--ermis-bg-primary);\n color: var(--ermis-accent);\n}\n\n/* --- Unread channel indicator --- */\n.ermis-channel-list__item--unread .ermis-channel-list__item-name {\n font-weight: 700;\n color: var(--ermis-text-primary);\n}\n\n.ermis-channel-list__item--unread .ermis-channel-list__item-last-message {\n color: var(--ermis-text-secondary);\n font-weight: 600;\n}\n\n.ermis-channel-list__unread-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n padding: 0 5px;\n border-radius: var(--ermis-radius-full);\n background-color: #ef4444;\n color: #fff;\n font-size: 0.625rem;\n font-weight: 700;\n line-height: 1;\n flex-shrink: 0;\n}\n\n.ermis-channel-list__blocked-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n color: var(--ermis-text-muted);\n}\n\n/* --- Pending channel indicator --- */\n.ermis-channel-list__item--pending {\n border-left: 3px solid var(--ermis-color-danger);\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-channel-list__pending-badge {\n display: inline-flex;\n padding: 3px 6px;\n background-color: var(--ermis-bg-hover);\n color: var(--ermis-color-danger);\n border-radius: 6px;\n font-size: 0.6rem;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n flex-shrink: 0;\n}\n\n/* --- Accordion Header --- */\n.ermis-channel-list__accordion-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 12px 6px 16px;\n background-color: transparent;\n cursor: pointer;\n color: var(--ermis-text-muted);\n font-size: 0.7rem;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n transition: color 0.2s ease;\n user-select: none;\n}\n\n.ermis-channel-list__accordion-header:hover {\n color: var(--ermis-accent);\n}\n\n.ermis-channel-list__accordion-header--static {\n cursor: default;\n}\n\n.ermis-channel-list__accordion-header--static:hover {\n color: var(--ermis-text-muted);\n}\n\n.ermis-channel-list__accordion-icon {\n transform: rotate(-90deg);\n transition: transform 0.2s ease;\n}\n\n.ermis-channel-list__accordion-icon--expanded {\n transform: rotate(0deg);\n}\n\n/* --- Topic Hashtag Avatar (used by TopicList) --- */\n.ermis-channel-list__topic-hashtag {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n background-color: transparent;\n color: var(--ermis-text-muted);\n border-radius: var(--ermis-radius-full);\n font-size: 0.95rem;\n font-weight: 600;\n flex-shrink: 0;\n}\n\n/* --- Topic Pills (FlatTopicGroupItem) --- */\n.ermis-channel-list__topic-pills {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-xs);\n flex: 1;\n min-width: 0;\n overflow: hidden;\n}\n\n.ermis-channel-list__topic-pill {\n display: inline-flex;\n align-items: center;\n gap: 2px;\n max-width: 80px;\n flex-shrink: 0;\n}\n\n.ermis-channel-list__topic-pill-avatar {\n width: 16px;\n height: 16px;\n min-width: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 0.7rem;\n border-radius: var(--ermis-radius-full);\n background-color: transparent;\n}\n\n.ermis-channel-list__topic-pill-name {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 60px;\n}\n\n.ermis-channel-list__topic-overflow {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n flex-shrink: 0;\n font-weight: 600;\n}\n\n/* --- Topics Row (third row in FlatTopicGroupItem) --- */\n.ermis-channel-list__item-topics-row {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-xs);\n margin-top: 2px;\n}\n\n/* --- Error Indicator --- */\n.ermis-channel-list__error {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: var(--ermis-spacing-xl, 32px) var(--ermis-spacing-lg);\n text-align: center;\n height: 100%;\n}\n\n.ermis-channel-list__error-icon {\n color: var(--ermis-color-danger, #ef4444);\n margin-bottom: var(--ermis-spacing-md);\n opacity: 0.8;\n}\n\n.ermis-channel-list__error-text {\n font-size: var(--ermis-font-size-sm);\n color: var(--ermis-text-primary);\n font-weight: 500;\n margin-bottom: var(--ermis-spacing-lg);\n max-width: 220px;\n line-height: 1.5;\n}\n\n.ermis-channel-list__error-retry {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: var(--ermis-spacing-sm, 8px) var(--ermis-spacing-lg, 16px);\n background-color: var(--ermis-bg-primary, #fff);\n color: var(--ermis-text-primary, #111);\n border: 1px solid var(--ermis-border, #e5e7eb);\n border-radius: var(--ermis-radius-md, 8px);\n font-size: var(--ermis-font-size-sm);\n font-weight: 600;\n cursor: pointer;\n transition: all var(--ermis-transition, 0.2s ease);\n}\n\n.ermis-channel-list__error-retry:hover {\n background-color: var(--ermis-bg-hover, #f3f4f6);\n border-color: var(--ermis-accent);\n color: var(--ermis-accent);\n}\n\n.ermis-channel-list__error-retry svg {\n transition: transform 0.5s ease;\n}\n\n.ermis-channel-list__error-retry:hover svg {\n transform: rotate(180deg);\n}\n","/* ----------------------------------------------------------\n Channel\n ---------------------------------------------------------- */\n.ermis-channel {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n font-family: var(--ermis-font-family);\n}\n\n.ermis-channel__empty {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n color: var(--ermis-text-muted);\n font-size: var(--ermis-font-size-sm);\n font-family: var(--ermis-font-family);\n}\n\n/* ----------------------------------------------------------\n MessageList\n ---------------------------------------------------------- */\n.ermis-message-list {\n display: flex;\n flex-direction: column;\n flex: 1;\n font-family: var(--ermis-font-family);\n gap: var(--ermis-spacing-xs);\n position: relative;\n}\n\n.ermis-message-list__vlist {\n display: flex !important;\n flex-direction: column !important;\n padding-left: 1rem;\n padding-right: 1rem;\n padding-top: var(--ermis-spacing-lg);\n padding-bottom: var(--ermis-spacing-lg);\n}\n\n/* Push content to bottom when few messages, margin collapses when content overflows */\n.ermis-message-list__vlist>div {\n margin-top: auto;\n}\n\n/* Jump to latest button */\n.ermis-message-list__jump-latest {\n position: sticky;\n bottom: var(--ermis-spacing-md);\n align-self: center;\n padding: var(--ermis-spacing-xs) var(--ermis-spacing-lg);\n border: none;\n border-radius: 999px;\n background-color: var(--ermis-accent);\n color: #fff;\n font-size: var(--ermis-font-size-xs);\n font-weight: 600;\n font-family: var(--ermis-font-family);\n cursor: pointer;\n transition: background-color var(--ermis-transition), transform var(--ermis-transition);\n z-index: 10;\n}\n\n.ermis-message-list__jump-latest:hover {\n background-color: var(--ermis-accent-hover);\n transform: translateY(-1px);\n}\n\n/* Pushes messages to bottom when few messages exist */\n.ermis-message-list__spacer {\n flex: 1;\n}\n\n/* --- Load more (pagination) --- */\n.ermis-message-list__loading-more {\n text-align: center;\n padding: var(--ermis-spacing-sm);\n color: var(--ermis-text-muted);\n font-size: var(--ermis-font-size-xs);\n}\n\n.ermis-message-list__no-more {\n text-align: center;\n padding: var(--ermis-spacing-sm);\n color: var(--ermis-text-muted);\n font-size: var(--ermis-font-size-xs);\n font-style: italic;\n}\n\n/* --- Date separator --- */\n.ermis-message-list__date-separator {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--ermis-spacing-md) 0;\n margin: var(--ermis-spacing-xs) 0;\n align-self: stretch;\n}\n\n.ermis-message-list__date-separator-line {\n display: none;\n}\n\n.ermis-message-list__date-separator-label {\n font-size: 11px;\n color: #fff;\n background-color: rgba(0, 0, 0, 0.2);\n padding: 4px 12px;\n border-radius: 12px;\n white-space: nowrap;\n font-weight: 500;\n}\n\n.ermis-message-list__empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n gap: var(--ermis-spacing-sm);\n color: var(--ermis-text-muted);\n font-family: var(--ermis-font-family);\n padding: var(--ermis-spacing-lg);\n user-select: none;\n}\n\n.ermis-message-list__empty-icon {\n color: var(--ermis-accent);\n opacity: 0.4;\n margin-bottom: var(--ermis-spacing-xs);\n}\n\n.ermis-message-list__empty-title {\n font-size: var(--ermis-font-size-base);\n font-weight: 600;\n color: var(--ermis-text-secondary);\n}\n\n.ermis-message-list__empty-subtitle {\n font-size: var(--ermis-font-size-sm);\n color: var(--ermis-text-muted);\n}\n\n/* --- Message item (other = left, own = right) --- */\n.ermis-message-list__item {\n display: flex;\n align-items: flex-start;\n gap: var(--ermis-spacing-sm);\n width: 100%;\n}\n\n/* First message in a group (or standalone): normal top margin */\n.ermis-message-list__item--group-single,\n.ermis-message-list__item--group-top {\n padding-top: var(--ermis-spacing-sm);\n}\n\n/* Continuation messages in a group: tight spacing (increased slightly per request) */\n.ermis-message-list__item--group-middle,\n.ermis-message-list__item--group-bottom {\n padding-top: 2px;\n}\n\n.ermis-message-list__item--other {\n align-self: flex-start;\n flex-direction: row;\n}\n\n.ermis-message-list__item--own {\n align-self: flex-end;\n flex-direction: row-reverse;\n}\n\n@keyframes ermis-highlight-fade {\n 0% {\n background-color: rgba(99, 102, 241, 0.15);\n }\n\n 100% {\n background-color: transparent;\n }\n}\n\n/* --- Fade-in animation for new messages --- */\n/* Smooth scroll handles the \"slide-up\" for the entire list;\n individual items only need a subtle fade-in. */\n@keyframes ermis-message-fade-in {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n.ermis-message-list__item--new {\n animation: ermis-message-fade-in 0.35s ease-out forwards;\n}\n\n.ermis-message-list__item--highlighted {\n position: relative;\n}\n\n.ermis-message-list__item--highlighted::before {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: -3rem;\n right: -3rem;\n animation: ermis-highlight-fade 3s ease-out forwards;\n pointer-events: none;\n z-index: -1;\n}\n\n/* --- Optimistic UI: message status --- */\n.ermis-message--sending {\n opacity: 0.6;\n pointer-events: none;\n}\n\n.ermis-message--error .ermis-message-bubble {\n border: 1px solid #e74c3c;\n}\n\n/* --- Deleted Display Message --- */\n\n.ermis-message-list__deleted-text {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-style: italic;\n font-size: var(--ermis-font-size-sm);\n user-select: none;\n opacity: 0.5;\n}\n\n/* --- Pinned Message Indicator --- */\n.ermis-message-list__pinned-indicator {\n position: absolute;\n top: -5px;\n color: #e74c3c;\n z-index: 10;\n pointer-events: none;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n}\n\n.ermis-message-list__pinned-indicator--own {\n left: -10px;\n transform: rotate(-45deg);\n}\n\n.ermis-message-list__pinned-indicator--other {\n right: -10px;\n transform: rotate(45deg);\n}\n\n/* ----------------------------------------------------------\n Banned State\n ---------------------------------------------------------- */\n\n.ermis-message-list__banned-overlay {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: calc(100dvh - 8rem);\n gap: var(--ermis-spacing-md);\n user-select: none;\n}\n\n.ermis-message-list__banned-overlay-icon {\n color: #ef4444;\n opacity: 0.6;\n}\n\n.ermis-message-list__banned-overlay-title {\n font-size: var(--ermis-font-size-base);\n font-weight: 600;\n color: var(--ermis-text-primary);\n}\n\n.ermis-message-list__banned-overlay-subtitle {\n font-size: var(--ermis-font-size-sm);\n color: var(--ermis-text-muted);\n}\n\n/* ----------------------------------------------------------\n Closed Topic State\n ---------------------------------------------------------- */\n\n.ermis-message-list__closed-overlay {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: calc(100dvh - 8rem);\n gap: var(--ermis-spacing-md);\n user-select: none;\n}\n\n.ermis-message-list__closed-overlay-icon {\n color: var(--ermis-color-danger);\n opacity: 0.8;\n}\n\n.ermis-message-list__closed-overlay-title {\n font-size: var(--ermis-font-size-base);\n font-weight: 600;\n color: var(--ermis-text-primary);\n}\n\n.ermis-message-list__closed-overlay-subtitle {\n font-size: var(--ermis-font-size-sm);\n color: var(--ermis-text-muted);\n text-align: center;\n max-width: 80%;\n}\n\n.ermis-message-list__reopen-btn {\n margin-top: var(--ermis-spacing-md);\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-xl, 24px);\n border: none;\n border-radius: var(--ermis-radius-md, 8px);\n background-color: var(--ermis-accent);\n color: #fff;\n font-size: var(--ermis-font-size-sm);\n font-weight: 600;\n font-family: var(--ermis-font-family);\n cursor: pointer;\n transition: background-color var(--ermis-transition), transform var(--ermis-transition);\n}\n\n.ermis-message-list__reopen-btn:hover {\n background-color: var(--ermis-accent-hover);\n transform: translateY(-1px);\n}\n\n.ermis-message-list__reopen-btn:active {\n transform: translateY(0);\n}\n\n/* Unblock button inside blocked overlay */\n.ermis-message-list__unblock-btn {\n margin-top: var(--ermis-spacing-md);\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-xl, 24px);\n border: none;\n border-radius: var(--ermis-radius-md, 8px);\n background-color: var(--ermis-accent);\n color: #fff;\n font-size: var(--ermis-font-size-sm);\n font-weight: 600;\n font-family: var(--ermis-font-family);\n cursor: pointer;\n transition: background-color var(--ermis-transition), transform var(--ermis-transition);\n}\n\n.ermis-message-list__unblock-btn:hover {\n background-color: var(--ermis-accent-hover);\n transform: translateY(-1px);\n}\n\n.ermis-message-list__unblock-btn:active {\n transform: translateY(0);\n}\n\n/* Pending Overlay */\n.ermis-message-list__pending-overlay {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: calc(100dvh - 8rem);\n padding: var(--ermis-spacing-xl);\n}\n\n.ermis-message-list__pending-card {\n background-color: var(--ermis-bg-primary);\n border-radius: var(--ermis-radius-lg, 12px);\n padding: var(--ermis-spacing-xxl, 32px);\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n max-width: 400px;\n width: 100%;\n}\n\n.ermis-message-list__pending-avatar {\n margin-bottom: var(--ermis-spacing-lg, 16px);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\n}\n\n.ermis-message-list__pending-overlay-title {\n font-family: var(--ermis-font-family, sans-serif);\n font-size: var(--ermis-font-size-md, 14px);\n font-weight: 500;\n color: var(--ermis-text-secondary);\n margin-bottom: var(--ermis-spacing-xs, 4px);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.ermis-message-list__pending-channel-name {\n font-family: var(--ermis-font-family, sans-serif);\n font-size: var(--ermis-font-size-xl, 20px);\n font-weight: 700;\n color: var(--ermis-text-primary);\n margin-bottom: var(--ermis-spacing-sm, 8px);\n}\n\n.ermis-message-list__pending-overlay-subtitle {\n font-family: var(--ermis-font-family, sans-serif);\n font-size: var(--ermis-font-size-sm, 14px);\n color: var(--ermis-text-secondary);\n margin-bottom: var(--ermis-spacing-xl, 24px);\n line-height: 1.5;\n}\n\n.ermis-message-list__pending-actions {\n display: flex;\n gap: var(--ermis-spacing-md, 12px);\n width: 100%;\n}\n\n.ermis-message-list__accept-btn,\n.ermis-message-list__reject-btn {\n flex: 1;\n padding: var(--ermis-spacing-sm, 10px) var(--ermis-spacing-md, 16px);\n border-radius: var(--ermis-radius-md, 8px);\n font-family: var(--ermis-font-family, sans-serif);\n font-size: var(--ermis-font-size-md, 15px);\n font-weight: 600;\n cursor: pointer;\n transition: all var(--ermis-transition, 0.2s ease);\n}\n\n.ermis-message-list__accept-btn {\n border: none;\n background-color: var(--ermis-accent);\n color: #fff;\n box-shadow: 0 4px 10px rgba(0, 95, 255, 0.2);\n}\n\n.ermis-message-list__accept-btn:hover {\n background-color: var(--ermis-accent-hover);\n transform: translateY(-2px);\n box-shadow: 0 6px 14px rgba(0, 95, 255, 0.3);\n}\n\n.ermis-message-list__accept-btn:active {\n transform: translateY(0);\n}\n\n.ermis-message-list__reject-btn {\n border: 1px solid var(--ermis-color-danger);\n background-color: var(--ermis-bg-hover);\n color: var(--ermis-color-danger);\n}\n\n.ermis-message-list__reject-btn:hover {\n background-color: var(--ermis-color-danger);\n color: #fff;\n border-color: var(--ermis-color-danger);\n transform: translateY(-2px);\n box-shadow: 0 6px 14px rgba(239, 68, 68, 0.3);\n}\n\n.ermis-message-list__reject-btn:active {\n transform: translateY(0);\n}\n\n/* Pending Invitee Notification */\n.ermis-message-list__pending-invitee {\n background-color: var(--ermis-bg-secondary);\n border: 1px solid var(--ermis-border);\n border-radius: var(--ermis-radius-md, 8px);\n padding: var(--ermis-spacing-sm, 12px) var(--ermis-spacing-md, 16px);\n margin: var(--ermis-spacing-sm) var(--ermis-spacing-lg);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.ermis-message-list__pending-invitee-content {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-md, 12px);\n color: var(--ermis-text-secondary);\n font-size: var(--ermis-font-size-sm, 14px);\n font-family: var(--ermis-font-family, sans-serif);\n}\n\n.ermis-message-list__pending-invitee-content svg {\n color: var(--ermis-accent);\n}","/* --- Quoted message preview --- */\n.ermis-quoted-message {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding: var(--ermis-spacing-xs) var(--ermis-spacing-sm);\n border-left: 3px solid var(--ermis-accent);\n background-color: var(--ermis-quote-other-bg);\n border-radius: var(--ermis-radius-sm);\n cursor: pointer;\n max-width: 100%;\n transition: background-color 0.15s;\n margin-top: var(--ermis-spacing-sm);\n}\n\n.ermis-quoted-message:hover {\n background-color: var(--ermis-quote-other-bg-hover);\n}\n\n.ermis-quoted-message__author {\n font-size: var(--ermis-font-size-xs);\n font-weight: 600;\n color: var(--ermis-accent);\n}\n\n.ermis-quoted-message__text {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Light theme: same approach works since we darken the accent bg */\n\n/* Avatar column: fixed width for consistent alignment */\n.ermis-message-list__item-avatar {\n flex-shrink: 0;\n}\n\n.ermis-message-list__item-content {\n display: flex;\n flex-direction: column;\n min-width: 0;\n max-width: 75%;\n gap: 2px;\n}\n\n.ermis-message-list__item--own .ermis-message-list__item-content {\n align-items: flex-end;\n}\n\n.ermis-message-list__bubble-wrapper {\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n align-items: center; /* Center actions vertically with the bubble */\n position: relative;\n width: 100%;\n}\n\n.ermis-message-list__item--own .ermis-message-list__bubble-wrapper {\n flex-direction: row-reverse;\n}\n\n.ermis-message-list__item-user {\n font-size: var(--ermis-font-size-xs);\n font-weight: 600;\n color: var(--ermis-accent);\n margin-bottom: 1px;\n}\n\n.ermis-message-list__item-user--clickable {\n cursor: pointer;\n transition: opacity 0.2s;\n}\n\n.ermis-message-list__item-user--clickable:hover {\n opacity: 0.7;\n}\n\n/* Timestamp inside bubble — bottom right */\n.ermis-message-list__item-time {\n font-size: 0.625rem;\n color: var(--ermis-text-muted);\n margin-left: 0;\n padding-top: 4px;\n white-space: nowrap;\n line-height: 1;\n align-self: flex-start;\n text-align: left;\n display: inline-flex;\n align-items: center;\n justify-content: flex-start;\n gap: 3px;\n}\n\n.ermis-message-list__edited-indicator {\n margin-right: 2px;\n}\n\n/* --- Inline message status icon (inside bubble, after timestamp) --- */\n.ermis-message-status-icon {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n line-height: 0;\n}\n\n.ermis-message-status-icon--sent {\n color: var(--ermis-text-muted);\n opacity: 0.5;\n}\n\n.ermis-message-bubble--own .ermis-message-status-icon--sent {\n color: rgba(255, 255, 255, 0.6);\n opacity: 1;\n}\n\n.ermis-message-status-icon--sending {\n color: var(--ermis-text-muted);\n opacity: 0.4;\n}\n\n.ermis-message-bubble--own .ermis-message-status-icon--sending {\n color: rgba(255, 255, 255, 0.4);\n opacity: 1;\n}\n\n.ermis-message-status-icon--failed {\n color: var(--ermis-color-danger);\n}\n\n.ermis-message-bubble--own .ermis-message-list__item-time {\n color: var(--ermis-bubble-own-text);\n opacity: 0.6;\n}\n\n.ermis-message-list__item-text {\n font-size: var(--ermis-font-size-sm);\n line-height: 1.5;\n word-break: break-word;\n white-space: pre-wrap;\n}\n\n/* --- Mentions --- */\n.ermis-mention {\n color: var(--ermis-accent);\n font-weight: 600;\n cursor: default;\n background-color: rgba(0, 122, 255, 0.1);\n padding: 2px 6px;\n border-radius: 4px;\n margin: 0 1px;\n}\n\n.ermis-mention--clickable {\n cursor: pointer;\n transition: opacity 0.2s;\n}\n\n.ermis-mention--clickable:hover {\n opacity: 0.8;\n}\n\n.ermis-message-bubble--own .ermis-mention {\n color: rgba(255, 255, 255, 0.9);\n background-color: rgba(255, 255, 255, 0.2);\n text-decoration: none;\n}\n\n/* Auto-detected URLs/emails in message text */\n.ermis-text-link {\n color: var(--ermis-accent);\n text-decoration: underline;\n text-underline-offset: 2px;\n cursor: pointer;\n word-break: break-all;\n}\n\n.ermis-text-link:hover {\n opacity: 0.8;\n}\n\n.ermis-message-bubble--own .ermis-text-link {\n color: var(--ermis-bubble-own-text);\n text-decoration: underline;\n}\n\n.ermis-message-bubble--own .ermis-attachment__link-title {\n color: var(--ermis-bubble-own-text);\n}\n\n/* --- Message Bubble --- */\n.ermis-message-bubble {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n border-radius: var(--ermis-radius-lg);\n /* width: 100%; */\n word-break: break-word;\n border: 1px solid var(--ermis-border);\n}\n\n.ermis-message-bubble--own {\n background-color: var(--ermis-bubble-own-bg);\n color: var(--ermis-bubble-own-text);\n border-color: var(--ermis-bubble-own-bg);\n}\n\n/* --- Override muted text inside own bubble --- */\n.ermis-message-bubble--own .ermis-attachment__file-size,\n.ermis-message-bubble--own .ermis-attachment__link-url,\n.ermis-message-bubble--own .ermis-attachment__link-description,\n.ermis-message-bubble--own .ermis-attachment__voice-duration,\n.ermis-message-bubble--own .ermis-message-list__forwarded-indicator,\n.ermis-message-bubble--own .ermis-attachment--file {\n color: var(--ermis-bubble-own-text);\n opacity: 0.8;\n}\n\n.ermis-message-bubble--own .ermis-attachment--link-preview {\n border-color: var(--ermis-bubble-own-text);\n opacity: 0.3;\n}\n\n.ermis-message-bubble--own .ermis-attachment--file {\n background-color: var(--ermis-bubble-own-text);\n opacity: 0.1;\n}\n\n.ermis-message-bubble--other {\n background-color: var(--ermis-bubble-other-bg);\n color: var(--ermis-bubble-other-text);\n}\n\n/* --- Dynamic Border Radius based on grouping --- */\n/* Own messages (right side flat) */\n.ermis-message-list__item--own.ermis-message-list__item--group-top .ermis-message-bubble {\n border-bottom-right-radius: 4px;\n}\n.ermis-message-list__item--own.ermis-message-list__item--group-middle .ermis-message-bubble {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.ermis-message-list__item--own.ermis-message-list__item--group-bottom .ermis-message-bubble {\n border-top-right-radius: 4px;\n}\n\n/* Other messages (left side flat) */\n.ermis-message-list__item--other.ermis-message-list__item--group-top .ermis-message-bubble {\n border-bottom-left-radius: 4px;\n}\n.ermis-message-list__item--other.ermis-message-list__item--group-middle .ermis-message-bubble {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.ermis-message-list__item--other.ermis-message-list__item--group-bottom .ermis-message-bubble {\n border-top-left-radius: 4px;\n}\n\n/* --- System messages --- */\n.ermis-message-list__system {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-sm) 0;\n margin: var(--ermis-spacing-xs) 0;\n align-self: center;\n}\n\n.ermis-message-list__system-text {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n font-style: italic;\n}\n\n/* --- Signal messages (call events) --- */\n.ermis-signal-message {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n border-radius: var(--ermis-radius-md);\n background-color: var(--ermis-signal-bg);\n min-width: 180px;\n position: relative;\n}\n\n.ermis-signal-message__icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 32px;\n height: 32px;\n border-radius: var(--ermis-radius-full);\n}\n\n.ermis-signal-message__icon--success {\n background-color: rgba(84, 214, 44, 0.12);\n color: var(--ermis-signal-success);\n}\n\n.ermis-signal-message__icon--missed {\n background-color: rgba(255, 72, 66, 0.12);\n color: var(--ermis-signal-missed);\n}\n\n.ermis-signal-message__body {\n display: flex;\n flex-direction: column;\n gap: 1px;\n min-width: 0;\n padding-right: 40px; /* Space for timestamp */\n}\n\n.ermis-signal-message__text {\n font-size: var(--ermis-font-size-sm);\n line-height: 1.4;\n word-break: break-word;\n}\n\n.ermis-signal-message__text--success {\n color: var(--ermis-signal-success);\n}\n\n.ermis-signal-message__text--missed {\n color: var(--ermis-signal-missed);\n}\n\n.ermis-signal-message__duration {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n line-height: 1.3;\n}\n\n.ermis-signal-message__time {\n position: absolute;\n bottom: 8px;\n right: 12px;\n font-size: 10px;\n color: var(--ermis-text-muted);\n line-height: 1;\n}\n\n/* --- Signal Message Overrides --- */\n.ermis-message-list__item--signal .ermis-message-bubble {\n background: transparent !important;\n box-shadow: none !important;\n padding: 0 !important;\n border: none !important;\n}\n\n/* --- Attachments --- */\n\n/* When message has attachments, constrain entire content column (quote + bubble) */\n.ermis-message-list__item-content--has-attachments {\n width: 350px;\n}\n\n.ermis-message-list__item-content--has-attachments .ermis-message-bubble {\n width: 100%;\n}\n\n/* Container for messages with both text + attachments */\n.ermis-message-content--with-attachments {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n.ermis-message-content--with-attachments .ermis-message-list__item-text {\n word-wrap: break-word;\n overflow-wrap: break-word;\n}\n\n.ermis-attachment-list {\n display: flex;\n flex-direction: column;\n gap: var(--ermis-spacing-xs);\n margin-top: var(--ermis-spacing-xs);\n width: 100%;\n}\n\n/* Media grid (images + videos) */\n.ermis-attachment-grid {\n display: grid;\n gap: 2px;\n border-radius: var(--ermis-radius-md);\n overflow: hidden;\n}\n\n.ermis-attachment-grid--single {\n grid-template-columns: 1fr;\n}\n\n.ermis-attachment-grid--multi {\n grid-template-columns: 1fr 1fr;\n}\n\n.ermis-attachment-grid .ermis-attachment--image,\n.ermis-attachment-grid .ermis-attachment--video,\n.ermis-attachment-grid .ermis-attachment--video-poster {\n width: 100%;\n height: 100%;\n max-width: none;\n max-height: 200px;\n border-radius: 0;\n display: block;\n}\n\n.ermis-attachment-grid .ermis-attachment--image,\n.ermis-attachment-grid .ermis-attachment--video-poster {\n object-fit: cover;\n}\n\n.ermis-attachment-grid .ermis-attachment--video {\n object-fit: contain;\n background-color: var(--ermis-bg-hover);\n}\n\n/* Single media: larger height allowed */\n.ermis-attachment-grid--single .ermis-attachment--image,\n.ermis-attachment-grid--single .ermis-attachment--video,\n.ermis-attachment-grid--single .ermis-attachment--video-poster {\n max-height: 300px;\n}\n\n/* If odd number of media in multi-grid, last item spans full width */\n.ermis-attachment-grid--multi > :last-child:nth-child(odd) {\n grid-column: 1 / -1;\n}\n\n/* --- Aspect Ratio Box — prevents CLS (Cumulative Layout Shift) --- */\n.ermis-attachment-aspect-box {\n position: relative;\n overflow: hidden;\n border-radius: var(--ermis-radius-md);\n width: 100%;\n max-width: 300px;\n min-height: 120px;\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-attachment-aspect-box--4-3 {\n padding-bottom: 75%;\n}\n\n/* Blurred thumbnail preview (shown while full image loads) */\n.ermis-attachment-blur-preview {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n filter: blur(20px);\n transform: scale(1.1); /* hide blur edges */\n z-index: 1;\n}\n\n/* Shimmer animation placeholder (when no thumbnail available) */\n.ermis-attachment-shimmer {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1;\n background: linear-gradient(110deg, var(--ermis-bg-hover) 30%, var(--ermis-bg-active) 50%, var(--ermis-bg-hover) 70%);\n background-size: 200% 100%;\n animation: ermis-shimmer 1.5s ease-in-out infinite;\n}\n\n@keyframes ermis-shimmer {\n 0% {\n background-position: 200% 0;\n }\n 100% {\n background-position: -200% 0;\n }\n}\n\n.ermis-attachment--hidden-loader {\n display: none;\n}\n\n/* Full media — hidden until loaded, fades in over blur/shimmer */\n.ermis-attachment-aspect-box .ermis-attachment--image,\n.ermis-attachment-aspect-box .ermis-attachment--video,\n.ermis-attachment-aspect-box .ermis-attachment--video-poster {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n transition: opacity 0.3s ease;\n z-index: 2;\n /* Reset standalone styles inside aspect-box */\n max-width: none;\n max-height: none;\n border-radius: 0;\n}\n\n.ermis-attachment-aspect-box .ermis-attachment--image,\n.ermis-attachment-aspect-box .ermis-attachment--video-poster {\n object-fit: cover;\n}\n\n.ermis-attachment-aspect-box .ermis-attachment--video {\n object-fit: contain;\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-attachment-aspect-box .ermis-attachment--image.ermis-attachment--loaded,\n.ermis-attachment-aspect-box .ermis-attachment--video.ermis-attachment--loaded,\n.ermis-attachment-aspect-box .ermis-attachment--video-poster.ermis-attachment--loaded {\n opacity: 1;\n}\n\n/* Override aspect-box inside grid: remove constraints */\n.ermis-attachment-grid .ermis-attachment-aspect-box {\n max-width: none;\n border-radius: 0;\n min-height: 100px;\n}\n\n.ermis-attachment--image,\n.ermis-attachment--video-poster {\n max-width: 300px;\n max-height: 200px;\n border-radius: var(--ermis-radius-md);\n object-fit: cover;\n cursor: pointer;\n}\n\n.ermis-attachment--video {\n max-width: 300px;\n max-height: 200px;\n border-radius: var(--ermis-radius-md);\n object-fit: contain;\n}\n\n.ermis-attachment--file {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n border-radius: var(--ermis-radius-md);\n background-color: var(--ermis-bg-hover);\n text-decoration: none;\n color: var(--ermis-text-primary);\n transition: background-color var(--ermis-transition);\n}\n\n.ermis-attachment--file:hover {\n background-color: var(--ermis-bg-active);\n}\n\n.ermis-attachment__file-icon {\n width: 40px;\n height: 40px;\n min-width: 40px;\n border-radius: var(--ermis-radius-md);\n background: var(--ermis-bg-secondary);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: var(--ermis-text-muted);\n gap: 1px;\n flex-shrink: 0;\n}\n\n.ermis-attachment__file-ext {\n font-size: 8px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n color: var(--ermis-text-muted);\n line-height: 1;\n}\n\n.ermis-attachment__file-info {\n display: flex;\n flex-direction: column;\n min-width: 0;\n flex: 1;\n}\n\n.ermis-attachment__file-name {\n font-size: var(--ermis-font-size-sm);\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-attachment__file-size {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n}\n\n.ermis-attachment__file-download {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 32px;\n height: 32px;\n border: none;\n border-radius: var(--ermis-radius-full);\n background: transparent;\n color: var(--ermis-text-muted);\n cursor: pointer;\n transition: background-color var(--ermis-transition), color var(--ermis-transition);\n}\n\n.ermis-attachment__file-download:hover {\n background-color: var(--ermis-bg-active);\n color: var(--ermis-accent);\n}\n\n.ermis-message-bubble--own .ermis-attachment__file-name {\n color: var(--ermis-bubble-own-text);\n}\n\n.ermis-message-bubble--own .ermis-attachment__file-icon {\n background: var(--ermis-bubble-own-text);\n opacity: 0.2;\n color: inherit;\n}\n\n.ermis-message-bubble--own .ermis-attachment__file-ext {\n color: var(--ermis-bubble-own-text);\n opacity: 0.8;\n}\n\n.ermis-message-bubble--own .ermis-attachment__file-download {\n color: var(--ermis-bubble-own-text);\n opacity: 0.8;\n}\n\n.ermis-message-bubble--own .ermis-attachment__file-download:hover {\n background-color: var(--ermis-bubble-own-text);\n opacity: 0.15;\n color: inherit;\n}\n\n/* --- Custom Audio Player --- */\n.ermis-custom-audio-player {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n min-width: 240px; /* base comfortable width */\n width: 100%; /* stretch to fill bubble if text makes it wider */\n}\n\n.ermis-custom-audio-play-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n border-radius: 50%;\n background-color: var(--ermis-accent);\n border: none;\n cursor: pointer;\n color: white; /* solid white icon */\n flex-shrink: 0;\n transition: opacity 0.2s, transform 0.1s;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.ermis-custom-audio-play-btn:hover {\n opacity: 0.9;\n}\n\n.ermis-custom-audio-play-btn:active {\n transform: scale(0.95);\n}\n\n.ermis-message-bubble--own .ermis-custom-audio-play-btn {\n background-color: var(--ermis-bubble-own-text);\n color: var(--ermis-accent);\n}\n\n.ermis-custom-audio-progress-container {\n flex: 1;\n display: flex;\n align-items: center;\n height: 24px;\n padding: 0 6px; /* prevent thumb cutoff */\n}\n\n.ermis-custom-audio-progress-bg {\n position: relative;\n width: 100%;\n height: 4px;\n background-color: rgba(0, 0, 0, 0.1);\n border-radius: 2px;\n cursor: pointer;\n}\n\n.ermis-message-bubble--own .ermis-custom-audio-progress-bg {\n background-color: rgba(255, 255, 255, 0.3);\n}\n\n.ermis-custom-audio-progress-fill {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n background-color: var(--ermis-accent);\n border-radius: 2px;\n pointer-events: none;\n}\n\n.ermis-message-bubble--own .ermis-custom-audio-progress-fill {\n background-color: var(--ermis-bubble-own-text);\n}\n\n.ermis-custom-audio-progress-thumb {\n position: absolute;\n top: 50%;\n width: 12px;\n height: 12px;\n background-color: var(--ermis-accent);\n border-radius: 50%;\n transform: translate(-50%, -50%);\n pointer-events: none;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);\n}\n\n.ermis-message-bubble--own .ermis-custom-audio-progress-thumb {\n background-color: var(--ermis-bubble-own-text);\n}\n\n.ermis-custom-audio-duration {\n font-size: var(--ermis-font-size-sm);\n color: var(--ermis-text-primary);\n font-weight: 500;\n flex-shrink: 0;\n min-width: 32px;\n text-align: right;\n opacity: 0.7;\n}\n\n.ermis-message-bubble--own .ermis-custom-audio-duration {\n color: var(--ermis-bubble-own-text);\n}\n\n.ermis-custom-audio-hidden {\n display: none;\n}\n\n/* --- Link preview --- */\n.ermis-attachment--link-preview {\n display: flex;\n flex-direction: column;\n border-radius: var(--ermis-radius-md);\n overflow: hidden;\n border: 1px solid var(--ermis-border);\n text-decoration: none;\n color: var(--ermis-text-primary);\n transition: border-color var(--ermis-transition);\n}\n\n.ermis-attachment--link-preview:hover {\n border-color: var(--ermis-accent);\n}\n\n.ermis-attachment__link-image-wrapper {\n position: relative;\n width: 100%;\n min-height: 120px;\n background-color: var(--ermis-bg-hover);\n overflow: hidden;\n}\n\n.ermis-attachment__link-image {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n transition: opacity 0.3s ease;\n}\n\n.ermis-attachment__link-image.ermis-attachment--loaded {\n opacity: 1;\n}\n\n.ermis-attachment__link-info {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n}\n\n.ermis-attachment__link-title {\n font-size: var(--ermis-font-size-sm);\n font-weight: 600;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.ermis-attachment__link-description {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-secondary);\n display: -webkit-box;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.ermis-attachment__link-url {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n margin-top: 2px;\n}\n\n/* --- Poll message --- */\n.ermis-message-poll {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n}\n\n.ermis-message-poll__icon {\n font-size: 1.25rem;\n}\n\n.ermis-message-poll__text {\n font-size: var(--ermis-font-size-sm);\n}\n\n/* --- Sticker message --- */\n.ermis-message-sticker-wrapper {\n position: relative;\n width: 160px;\n height: 160px;\n overflow: hidden;\n border-radius: 10px;\n}\n\n.ermis-message-sticker {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n object-fit: contain;\n opacity: 0;\n transition: opacity 0.3s ease;\n}\n\n.ermis-message-sticker.ermis-attachment--loaded {\n opacity: 1;\n}\n\n/* --- Sticker Message Overrides --- */\n.ermis-message-list__item--sticker .ermis-message-bubble {\n background: transparent !important;\n box-shadow: none !important;\n padding: 0 !important;\n border: none !important;\n position: relative;\n border-radius: 0;\n display: inline-block; /* Ensure bubble shrinks to fit sticker */\n}\n\n/* Timestamp overlay for stickers */\n.ermis-message-list__item--sticker .ermis-message-list__item-time {\n position: absolute;\n bottom: 8px;\n right: 8px;\n color: #ffffff;\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 11px;\n margin: 0;\n line-height: 1.2;\n font-weight: 500;\n text-shadow: 0px 1px 3px rgba(0, 0, 0, 0.8), 0px 0px 1px rgba(0, 0, 0, 0.6);\n}\n\n/* Ensure edited indicator and inline status icon styling for sticker */\n.ermis-message-list__item--sticker .ermis-message-list__item-time .ermis-message-list__edited-indicator {\n color: rgba(255, 255, 255, 0.9);\n}\n\n.ermis-message-list__item--sticker .ermis-message-list__item-time svg {\n color: #ffffff;\n filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.8));\n}\n\n/* --- Error message --- */\n.ermis-message-error {\n font-size: var(--ermis-font-size-sm);\n color: #ef4444;\n font-style: italic;\n}\n\n/* --- Read receipts --- */\n.ermis-read-receipts {\n display: flex;\n width: 100%;\n padding-top: 2px;\n}\n\n.ermis-read-receipts--own {\n justify-content: flex-end;\n}\n\n.ermis-read-receipts--other {\n justify-content: flex-start;\n padding-left: 36px; /* align with message content (avatar width 28px + gap 8px) */\n}\n\n@keyframes ermis-receipt-pop {\n 0% {\n opacity: 0;\n transform: scale(0.5) translateY(5px);\n }\n 100% {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n}\n\n.ermis-read-receipts__avatars {\n display: flex;\n flex-direction: row;\n align-items: center;\n cursor: default;\n position: relative;\n animation: ermis-receipt-pop 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;\n z-index: 5;\n}\n\n.ermis-read-receipts__avatar {\n flex-shrink: 0;\n border: 1.5px solid var(--ermis-bg-primary);\n border-radius: 50%;\n box-sizing: content-box;\n}\n\n/* Stack overlapping */\n.ermis-read-receipts__avatar + .ermis-read-receipts__avatar {\n margin-left: -4px;\n}\n\n.ermis-read-receipts__overflow {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n background-color: var(--ermis-bg-hover);\n color: var(--ermis-text-muted);\n font-size: 0.5rem;\n font-weight: 700;\n margin-left: -4px;\n border: 1.5px solid var(--ermis-bg-primary);\n box-sizing: content-box;\n flex-shrink: 0;\n}\n\n/* Tooltip Wrapper — hidden by default, shown on hover of __avatars */\n.ermis-read-receipts__tooltip-wrapper {\n display: none;\n position: absolute;\n bottom: calc(100% + 6px);\n z-index: 50;\n}\n\n.ermis-read-receipts--own .ermis-read-receipts__tooltip-wrapper {\n right: 0;\n}\n\n.ermis-read-receipts--other .ermis-read-receipts__tooltip-wrapper {\n left: 0;\n}\n\n/* Invisible bridge to prevent hover loss when moving mouse from avatar to tooltip */\n.ermis-read-receipts__tooltip-wrapper::after {\n content: '';\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n height: 6px;\n background: transparent;\n}\n\n/* Inner Tooltip with scrolling and styling */\n@keyframes ermis-tooltip-fade-in {\n from {\n opacity: 0;\n transform: translateY(6px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.ermis-read-receipts__avatars:hover .ermis-read-receipts__tooltip-wrapper {\n display: flex;\n animation: ermis-tooltip-fade-in 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n.ermis-read-receipts__tooltip {\n display: flex;\n flex-direction: column;\n gap: 8px;\n background-color: var(--ermis-bg-secondary);\n border: 1px solid var(--ermis-border);\n border-radius: var(--ermis-radius-md, 8px);\n padding: 8px 12px;\n box-shadow: none;\n min-width: 140px;\n width: max-content;\n max-width: 220px;\n max-height: 250px;\n overflow-y: auto;\n}\n\n/* Custom scrollbar for tooltip */\n.ermis-read-receipts__tooltip::-webkit-scrollbar {\n width: 4px;\n}\n.ermis-read-receipts__tooltip::-webkit-scrollbar-track {\n background: transparent;\n}\n.ermis-read-receipts__tooltip::-webkit-scrollbar-thumb {\n background: var(--ermis-border);\n border-radius: 4px;\n}\n\n.ermis-read-receipts__tooltip-item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 2px 0;\n}\n\n.ermis-read-receipts__tooltip-info {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.ermis-read-receipts__tooltip-name {\n font-size: var(--ermis-font-size-sm, 0.875rem);\n font-weight: 500;\n color: var(--ermis-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 1.2;\n}\n\n.ermis-read-receipts__tooltip-time {\n font-size: 0.65rem;\n color: var(--ermis-text-muted);\n white-space: nowrap;\n line-height: 1.2;\n}\n","/* ----------------------------------------------------------\n MessageInput\n ---------------------------------------------------------- */\n.ermis-message-input {\n display: flex;\n flex-direction: column;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-md);\n border-top: 1px solid var(--ermis-border);\n background-color: var(--ermis-bg-secondary);\n font-family: var(--ermis-font-family);\n position: relative;\n overflow: hidden;\n}\n\n.ermis-message-input__row {\n display: flex;\n align-items: flex-end;\n gap: var(--ermis-spacing-sm);\n}\n\n.ermis-message-input__textarea {\n flex: 1;\n resize: none;\n border: 1px solid var(--ermis-border);\n border-radius: var(--ermis-radius-md);\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n font-size: var(--ermis-font-size-sm);\n font-family: var(--ermis-font-family);\n color: var(--ermis-text-primary);\n background-color: var(--ermis-bg-primary);\n outline: none;\n transition: border-color var(--ermis-transition);\n line-height: 1.5;\n min-height: 2.25rem;\n max-height: 8rem;\n}\n\n.ermis-message-input__textarea::placeholder {\n color: var(--ermis-text-muted);\n}\n\n.ermis-message-input__textarea:focus {\n border-color: var(--ermis-accent);\n}\n\n.ermis-message-input__send-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-lg);\n border: none;\n border-radius: var(--ermis-radius-md);\n background-color: var(--ermis-accent);\n color: #fff;\n font-size: var(--ermis-font-size-sm);\n font-weight: 600;\n font-family: var(--ermis-font-family);\n cursor: pointer;\n white-space: nowrap;\n transition: background-color var(--ermis-transition), opacity var(--ermis-transition);\n}\n\n.ermis-message-input__send-btn:hover:not(:disabled) {\n background-color: var(--ermis-accent-hover);\n}\n\n.ermis-message-input__send-btn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n/* --- Attach button --- */\n.ermis-message-input__attach-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 4px;\n border: none;\n background: none;\n font-size: 1.25rem;\n cursor: pointer;\n color: var(--ermis-text-secondary);\n transition: color var(--ermis-transition);\n flex-shrink: 0;\n}\n\n.ermis-message-input__attach-btn:hover {\n color: var(--ermis-accent);\n}\n\n.ermis-message-input__attach-btn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.ermis-message-input__file-input {\n display: none;\n}\n\n/* --- Emoji button --- */\n.ermis-message-input__emoji-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 4px;\n border: none;\n background: none;\n font-size: 1.25rem;\n cursor: pointer;\n color: var(--ermis-text-secondary);\n transition: color var(--ermis-transition);\n flex-shrink: 0;\n}\n\n.ermis-message-input__emoji-btn:hover,\n.ermis-message-input__emoji-btn--active {\n color: var(--ermis-accent);\n}\n\n/* --- Voice record button --- */\n.ermis-message-input__voice-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 4px;\n border: none;\n background: none;\n font-size: 1.25rem;\n cursor: pointer;\n color: var(--ermis-text-secondary);\n transition: color var(--ermis-transition);\n flex-shrink: 0;\n}\n\n.ermis-message-input__voice-btn:hover {\n color: var(--ermis-accent);\n}\n\n.ermis-message-input__voice-btn--recording {\n color: var(--ermis-color-danger);\n}\n\n.ermis-message-input__voice-btn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.ermis-message-input__voice-recording-indicator {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: var(--ermis-font-size-sm);\n font-weight: 500;\n color: var(--ermis-color-danger);\n}\n\n.ermis-message-input__voice-dot {\n width: 8px;\n height: 8px;\n background-color: var(--ermis-color-danger);\n border-radius: 50%;\n animation: ermis-blink 1.5s ease-in-out infinite;\n}\n\n@keyframes ermis-blink {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.4; }\n}\n\n/* --- Emoji picker container --- */\n.ermis-message-input__emoji-picker {\n position: absolute;\n bottom: 100%;\n right: 0;\n margin-bottom: var(--ermis-spacing-xs);\n z-index: 100;\n border-radius: var(--ermis-radius-md);\n box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.15);\n overflow: hidden;\n}\n\n/* --- Sticker button --- */\n.ermis-message-input__sticker-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 4px;\n border: none;\n background: none;\n font-size: 1.25rem;\n cursor: pointer;\n color: var(--ermis-text-secondary);\n transition: color var(--ermis-transition);\n flex-shrink: 0;\n}\n\n.ermis-message-input__sticker-btn:hover,\n.ermis-message-input__sticker-btn--active {\n color: var(--ermis-accent);\n}\n\n.ermis-message-input__sticker-btn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n/* --- Sticker picker container --- */\n.ermis-message-input__sticker-picker-container {\n position: absolute;\n bottom: 100%;\n right: 0;\n margin-bottom: var(--ermis-spacing-xs);\n z-index: 100;\n border-radius: var(--ermis-radius-lg);\n box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.15);\n overflow: hidden;\n}\n\n.ermis-message-input__sticker-iframe {\n border: none;\n width: 320px;\n height: 400px;\n background: var(--ermis-bg-primary);\n display: block;\n}\n\n/* --- Files preview --- */\n.ermis-files-preview {\n display: flex;\n gap: var(--ermis-spacing-sm);\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: thin;\n min-width: 0;\n}\n.ermis-files-preview__item {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 80px;\n min-width: 80px;\n border-radius: var(--ermis-radius-md);\n border: 1px solid var(--ermis-border);\n overflow: hidden;\n background: var(--ermis-bg-primary);\n}\n\n.ermis-files-preview__item--error {\n border-color: #e74c3c;\n}\n\n.ermis-files-preview__remove {\n position: absolute;\n top: 2px;\n right: 2px;\n width: 18px;\n height: 18px;\n border-radius: 50%;\n border: none;\n background: rgba(0, 0, 0, 0.6);\n color: #fff;\n font-size: 10px;\n line-height: 1;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1;\n padding: 0;\n}\n\n.ermis-files-preview__remove:hover {\n background: rgba(0, 0, 0, 0.8);\n}\n\n.ermis-files-preview__thumb {\n width: 100%;\n height: 60px;\n object-fit: cover;\n display: block;\n}\n\n.ermis-files-preview__file-icon {\n width: 100%;\n height: 60px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 1.5rem;\n background: var(--ermis-bg-hover);\n}\n\n.ermis-files-preview__info {\n display: flex;\n flex-direction: column;\n padding: 2px 4px;\n gap: 1px;\n}\n\n.ermis-files-preview__name {\n font-size: 10px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: var(--ermis-text-primary);\n}\n\n.ermis-files-preview__size {\n font-size: 9px;\n color: var(--ermis-text-muted);\n}\n\n.ermis-files-preview__uploading {\n position: absolute;\n inset: 0;\n background: rgba(0, 0, 0, 0.3);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.ermis-files-preview__spinner {\n width: 20px;\n height: 20px;\n border: 2px solid rgba(255, 255, 255, 0.4);\n border-top-color: #fff;\n border-radius: 50%;\n animation: ermis-spin 0.6s linear infinite;\n}\n\n@keyframes ermis-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n.ermis-files-preview__error-badge {\n position: absolute;\n bottom: 2px;\n right: 2px;\n font-size: 14px;\n color: #e74c3c;\n}\n\n/* ----------------------------------------------------------\n Reply Preview\n ---------------------------------------------------------- */\n.ermis-message-input__reply-preview {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--ermis-spacing-xs) var(--ermis-spacing-md);\n background-color: var(--ermis-bg-primary);\n border-left: 3px solid var(--ermis-accent);\n border-radius: var(--ermis-radius-sm);\n gap: var(--ermis-spacing-sm);\n}\n\n.ermis-message-input__reply-preview-body {\n display: flex;\n flex-direction: column;\n min-width: 0;\n flex: 1;\n}\n\n.ermis-message-input__reply-preview-label {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-accent);\n font-weight: 600;\n}\n\n.ermis-message-input__reply-preview-user {\n font-size: var(--ermis-font-size-sm);\n font-weight: 600;\n color: var(--ermis-text-primary);\n}\n\n.ermis-message-input__reply-preview-text {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-message-input__reply-preview-dismiss {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n cursor: pointer;\n color: var(--ermis-text-secondary);\n padding: 4px;\n border-radius: var(--ermis-radius-sm);\n flex-shrink: 0;\n transition: background-color 0.15s, color 0.15s;\n}\n\n.ermis-message-input__reply-preview-dismiss:hover {\n background-color: var(--ermis-bg-hover);\n color: var(--ermis-text-primary);\n}\n\n/* ----------------------------------------------------------\n Banned State\n ---------------------------------------------------------- */\n.ermis-message-input--banned {\n pointer-events: none;\n}\n\n.ermis-message-input__banned-banner {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-md) var(--ermis-spacing-lg);\n color: #ef4444;\n font-size: var(--ermis-font-size-sm);\n font-weight: 500;\n user-select: none;\n opacity: 0.8;\n}\n\n.ermis-message-input__banned-banner svg {\n flex-shrink: 0;\n}\n\n/* ----------------------------------------------------------\n Blocked State (messaging channels — user-initiated block)\n ---------------------------------------------------------- */\n.ermis-message-input--blocked {\n pointer-events: none;\n}\n\n.ermis-message-input__blocked-banner {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-md) var(--ermis-spacing-lg);\n color: var(--ermis-text-secondary);\n font-size: var(--ermis-font-size-sm);\n font-weight: 500;\n user-select: none;\n opacity: 0.8;\n}\n\n.ermis-message-input__blocked-banner svg {\n flex-shrink: 0;\n}\n\n/* ----------------------------------------------------------\n Closed Topic State\n ---------------------------------------------------------- */\n.ermis-message-input--closed {\n pointer-events: none;\n}\n\n.ermis-message-input__closed-banner {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-md) var(--ermis-spacing-lg);\n color: var(--ermis-color-danger);\n font-size: var(--ermis-font-size-sm);\n font-weight: 500;\n user-select: none;\n opacity: 0.8;\n}\n\n.ermis-message-input__closed-banner svg {\n flex-shrink: 0;\n}\n\n/* ----------------------------------------------------------\n Banners\n ---------------------------------------------------------- */\n.ermis-message-input__keyword-banner {\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n background-color: var(--ermis-bg-hover);\n border-radius: var(--ermis-radius-md) var(--ermis-radius-md) 0 0;\n font-size: var(--ermis-font-size-sm, 13px);\n color: var(--ermis-color-danger);\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n border-bottom: 1px solid var(--ermis-color-danger);\n}\n\n.ermis-message-input__permission-banner,\n.ermis-message-input__slow-mode-banner {\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n background-color: var(--ermis-bg-secondary);\n border-radius: var(--ermis-radius-md) var(--ermis-radius-md) 0 0;\n font-size: var(--ermis-font-size-sm, 13px);\n color: var(--ermis-text-secondary);\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n border-bottom: 1px solid var(--ermis-border-color);\n}\n\n.ermis-message-input__row--banners-active {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n/* ----------------------------------------------------------\n Drag & Drop Overlay (Global over channel)\n ---------------------------------------------------------- */\n.ermis-channel__drop-overlay {\n position: fixed;\n inset: 0;\n z-index: 9999;\n background-color: var(--ermis-bg-overlay);\n backdrop-filter: blur(4px);\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none; /* Let the window drag events pass through */\n}\n\n.ermis-channel__drop-overlay-content {\n border: 2px dashed var(--ermis-accent);\n border-radius: var(--ermis-radius-lg);\n padding: var(--ermis-spacing-xl) var(--ermis-spacing-xxl);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--ermis-spacing-md);\n color: var(--ermis-accent);\n background-color: var(--ermis-bg-primary);\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);\n pointer-events: none;\n}\n\n.ermis-channel__drop-overlay-content span {\n font-size: var(--ermis-font-size-lg);\n font-weight: 600;\n font-family: var(--ermis-font-family);\n}\n","/* --- ContentEditable mention input --- */\n.ermis-message-input__editable-wrapper {\n flex: 1;\n position: relative;\n min-width: 0;\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-xs);\n}\n\n.ermis-message-input__editable {\n flex: 1;\n min-width: 0;\n border: 1px solid var(--ermis-border);\n border-radius: var(--ermis-radius-md);\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n font-size: var(--ermis-font-size-sm);\n font-family: var(--ermis-font-family);\n color: var(--ermis-text-primary);\n background-color: var(--ermis-bg-primary);\n outline: none;\n transition: border-color var(--ermis-transition);\n line-height: 1.5;\n min-height: 2.25rem;\n max-height: 8rem;\n overflow-y: auto;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n.ermis-message-input__editable:focus {\n border-color: var(--ermis-accent);\n}\n\n.ermis-message-input__editable:empty::before {\n content: attr(data-placeholder);\n color: var(--ermis-text-muted);\n pointer-events: none;\n}\n\n/* Atomic mention span inside contentEditable */\n.ermis-message-input__mention-span {\n color: var(--ermis-accent);\n font-weight: 600;\n user-select: all;\n cursor: default;\n border-radius: 3px;\n padding: 0 1px;\n}\n\n/* --- Mention Suggestion Box --- */\n.ermis-mention-suggestions {\n position: absolute;\n bottom: 100%;\n left: 0;\n right: 0;\n max-height: 200px;\n overflow-y: auto;\n background-color: var(--ermis-bg-primary);\n border: 1px solid var(--ermis-border);\n border-radius: var(--ermis-radius-md);\n box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.15);\n margin-bottom: var(--ermis-spacing-xs);\n z-index: 100;\n}\n\n.ermis-mention-suggestions__item {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n cursor: pointer;\n transition: background-color 0.1s;\n}\n\n.ermis-mention-suggestions__item:hover,\n.ermis-mention-suggestions__item--highlighted {\n background-color: var(--ermis-bg-active);\n}\n\n.ermis-mention-suggestions__name {\n font-size: var(--ermis-font-size-sm);\n color: var(--ermis-text-primary);\n font-weight: 500;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ermis-mention-suggestions__all-icon {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n background-color: var(--ermis-accent);\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 0.75rem;\n font-weight: 700;\n flex-shrink: 0;\n}\n","/* ----------------------------------------------------------\n Pinned Messages\n ---------------------------------------------------------- */\n.ermis-pinned-messages {\n border-bottom: 1px solid var(--ermis-border);\n background-color: var(--ermis-bg-secondary);\n font-family: var(--ermis-font-family);\n position: relative;\n flex-shrink: 0;\n z-index: 50;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);\n}\n\n.ermis-pinned-messages__header {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-xs);\n padding: var(--ermis-spacing-xs) var(--ermis-spacing-md);\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-secondary);\n cursor: pointer; /* make header clickable to toggle */\n}\n\n.ermis-pinned-messages__icon {\n color: var(--ermis-accent);\n flex-shrink: 0;\n}\n\n.ermis-pinned-messages__label {\n font-weight: 600;\n color: var(--ermis-text-primary);\n}\n\n.ermis-pinned-messages__toggle {\n margin-left: auto;\n background: none;\n border: none;\n color: var(--ermis-accent);\n font-size: var(--ermis-font-size-xs);\n font-weight: 600;\n cursor: pointer;\n padding: 2px 6px;\n border-radius: var(--ermis-radius-sm);\n transition: background-color var(--ermis-transition);\n}\n\n.ermis-pinned-messages__toggle:hover {\n background-color: var(--ermis-bg-hover);\n}\n\n/* Accordion transition for the list */\n.ermis-pinned-messages__list {\n padding: 0 var(--ermis-spacing-md);\n display: flex;\n flex-direction: column;\n gap: 2px;\n max-height: 0;\n overflow-y: auto;\n transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), padding 0.3s ease;\n scrollbar-width: thin;\n /* Overlay on top of VList instead of pushing it down */\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n background-color: var(--ermis-bg-secondary);\n z-index: 49;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n}\n\n.ermis-pinned-messages--expanded .ermis-pinned-messages__list {\n max-height: 300px;\n padding-bottom: var(--ermis-spacing-xs);\n}\n\n.ermis-pinned-messages__item {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-xs) var(--ermis-spacing-sm);\n border-radius: var(--ermis-radius-sm);\n cursor: pointer;\n transition: background-color var(--ermis-transition);\n}\n\n.ermis-pinned-messages__item:hover {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-pinned-messages__item-content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 1px;\n}\n\n.ermis-pinned-messages__item-user {\n font-size: var(--ermis-font-size-xs);\n font-weight: 600;\n color: var(--ermis-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-pinned-messages__item-text {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n}\n\n/* --- Unpin button --- */\n.ermis-pinned-messages__unpin-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border: none;\n background: none;\n border-radius: var(--ermis-radius-sm);\n color: var(--ermis-text-muted);\n cursor: pointer;\n flex-shrink: 0;\n transition: color var(--ermis-transition), background-color var(--ermis-transition);\n opacity: 0;\n}\n\n.ermis-pinned-messages__item:hover .ermis-pinned-messages__unpin-btn {\n opacity: 1;\n}\n\n.ermis-pinned-messages__unpin-btn:hover {\n color: var(--ermis-accent);\n background-color: var(--ermis-bg-hover);\n}\n","/* ----------------------------------------------------------\n Message Actions (Context Menu & Hover Button)\n ---------------------------------------------------------- */\n\n/* Hover button container on the message item */\n.ermis-message-list__actions {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n opacity: 0;\n display: inline-flex;\n align-items: center;\n gap: 2px;\n background-color: var(--ermis-bg-secondary);\n border: 1px solid var(--ermis-border);\n border-radius: var(--ermis-radius-sm);\n padding: 2px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n transition: opacity 0.2s;\n z-index: 10;\n}\n\n.ermis-message-list__bubble-wrapper:hover .ermis-message-list__actions,\n.ermis-message-list__actions--active {\n opacity: 1;\n}\n\n/* Position container for other (left) vs own (right) */\n.ermis-message-list__item--own .ermis-message-list__actions {\n right: calc(100% + 12px);\n flex-direction: row-reverse;\n}\n\n.ermis-message-list__item--other .ermis-message-list__actions {\n left: calc(100% + 12px);\n}\n\n/* Individual action buttons */\n.ermis-message-list__actions-trigger {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n border-radius: var(--ermis-radius-sm);\n padding: 4px;\n cursor: pointer;\n color: var(--ermis-text-secondary);\n transition: background-color var(--ermis-transition), color var(--ermis-transition);\n}\n\n.ermis-message-list__actions-trigger:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.ermis-message-list__actions-trigger:hover:not(:disabled) {\n background-color: var(--ermis-bg-hover);\n color: var(--ermis-text-primary);\n}","/* ============================================================\n Forward Message Modal\n ============================================================ */\n\n/* Message preview */\n.ermis-forward-modal__preview {\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-lg);\n border-bottom: 1px solid var(--ermis-border);\n background: var(--ermis-bg-primary);\n}\n\n.ermis-forward-modal__preview-sender {\n font-size: var(--ermis-font-size-xs);\n font-weight: 600;\n color: var(--ermis-accent);\n margin-bottom: 2px;\n}\n\n.ermis-forward-modal__preview-text {\n font-size: var(--ermis-font-size-sm);\n color: var(--ermis-text-secondary);\n line-height: 1.4;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.ermis-forward-modal__preview-attachments {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n margin-top: 4px;\n}\n\n/* Search */\n.ermis-forward-modal__search-wrapper {\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-lg);\n border-bottom: 1px solid var(--ermis-border);\n}\n\n.ermis-forward-modal__search {\n width: 100%;\n padding: 8px 12px;\n background: var(--ermis-bg-primary);\n border: 1px solid var(--ermis-border);\n border-radius: var(--ermis-radius-md);\n color: var(--ermis-text-primary);\n font-size: var(--ermis-font-size-sm);\n font-family: var(--ermis-font-family);\n outline: none;\n transition: border-color var(--ermis-transition);\n box-sizing: border-box;\n}\n\n.ermis-forward-modal__search:focus {\n border-color: var(--ermis-accent);\n}\n\n.ermis-forward-modal__search::placeholder {\n color: var(--ermis-text-muted);\n}\n\n/* Channel list */\n.ermis-forward-modal__channel-list {\n flex: 1;\n overflow-y: auto;\n min-height: 160px;\n max-height: 320px;\n padding: var(--ermis-spacing-xs) 0;\n}\n\n/* Channel item */\n.ermis-forward-modal__channel-item {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-lg);\n cursor: pointer;\n transition: background var(--ermis-transition);\n}\n\n.ermis-forward-modal__channel-item:hover {\n background: var(--ermis-bg-hover);\n}\n\n.ermis-forward-modal__channel-item--selected {\n background: var(--ermis-bg-active);\n}\n\n.ermis-forward-modal__channel-name-container {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.ermis-forward-modal__channel-name {\n font-size: var(--ermis-font-size-sm);\n color: var(--ermis-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ermis-forward-modal__channel-parent-name {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n margin-bottom: 2px;\n}\n\n/* Checkbox */\n.ermis-forward-modal__checkbox {\n width: 20px;\n height: 20px;\n border: 2px solid var(--ermis-text-muted);\n border-radius: var(--ermis-radius-sm);\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all var(--ermis-transition);\n flex-shrink: 0;\n}\n\n.ermis-forward-modal__checkbox--checked {\n background: var(--ermis-accent);\n border-color: var(--ermis-accent);\n color: #fff;\n}\n\n/* Loading / empty */\n.ermis-forward-modal__loading,\n.ermis-forward-modal__empty {\n padding: var(--ermis-spacing-lg);\n text-align: center;\n color: var(--ermis-text-muted);\n font-size: var(--ermis-font-size-sm);\n}\n\n/* ----------------------------------------------------------\n Forwarded indicator on message items\n ---------------------------------------------------------- */\n.ermis-message-list__forwarded-indicator {\n display: block;\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-muted);\n font-style: italic;\n margin-bottom: 2px;\n width: 100%;\n}\n/* Results */\n.ermis-forward-modal__results {\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-lg);\n border-top: 1px solid var(--ermis-border);\n}\n\n.ermis-forward-modal__results-success {\n font-size: var(--ermis-font-size-sm);\n color: #34d399;\n}\n\n.ermis-forward-modal__results-failed {\n font-size: var(--ermis-font-size-sm);\n color: #f87171;\n margin-top: 2px;\n}\n\n/* Footer buttons */\n.ermis-forward-modal__btn {\n padding: 8px 16px;\n border: none;\n border-radius: var(--ermis-radius-md);\n font-size: var(--ermis-font-size-sm);\n font-weight: 500;\n cursor: pointer;\n transition: all var(--ermis-transition);\n font-family: var(--ermis-font-family);\n}\n\n.ermis-forward-modal__btn--cancel {\n background: transparent;\n color: var(--ermis-text-secondary);\n}\n\n.ermis-forward-modal__btn--cancel:hover {\n background: var(--ermis-bg-hover);\n color: var(--ermis-text-primary);\n}\n\n.ermis-forward-modal__btn--send {\n background: var(--ermis-accent);\n color: #fff;\n}\n\n.ermis-forward-modal__btn--send:hover:not(:disabled) {\n background: var(--ermis-accent-hover);\n}\n\n.ermis-forward-modal__btn--send:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n","/* ============================================================\n Typing Indicator\n ============================================================ */\n\n/* Container always rendered with fixed height to prevent layout shifts */\n.ermis-typing-indicator {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 0 16px;\n height: 24px;\n font-size: 12px;\n color: var(--ermis-text-secondary);\n overflow: hidden;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n}\n\n.ermis-typing-indicator__dots {\n display: flex;\n align-items: center;\n gap: 3px;\n animation: ermis-typing-appear 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;\n}\n\n@keyframes ermis-typing-appear {\n 0% {\n opacity: 0;\n transform: translateY(8px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.ermis-typing-indicator__dot {\n width: 5px;\n height: 5px;\n border-radius: 50%;\n background-color: var(--ermis-text-secondary);\n animation: ermis-typing-bounce 1.4s infinite ease-in-out both;\n}\n\n.ermis-typing-indicator__dot:nth-child(1) {\n animation-delay: -0.32s;\n}\n\n.ermis-typing-indicator__dot:nth-child(2) {\n animation-delay: -0.16s;\n}\n\n.ermis-typing-indicator__dot:nth-child(3) {\n animation-delay: 0s;\n}\n\n@keyframes ermis-typing-bounce {\n 0%,\n 80%,\n 100% {\n transform: scale(0.6);\n opacity: 0.4;\n }\n 40% {\n transform: scale(1);\n opacity: 1;\n }\n}\n\n.ermis-typing-indicator__text {\n font-style: italic;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n animation: ermis-typing-appear 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;\n}\n","/* ============================================================\n Message Reactions\n ============================================================ */\n.ermis-message-reactions {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-bottom: 2px;\n margin-top: 2px;\n width: 100%;\n}\n\n.ermis-message-reactions--disabled {\n opacity: 0.8;\n pointer-events: none;\n}\n\n.ermis-message-reactions--own {\n justify-content: flex-end;\n}\n\n.ermis-message-reactions__item {\n position: relative; /* For tooltip */\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 6px;\n border-radius: 12px;\n background-color: var(--ermis-surface);\n border: 1px solid var(--ermis-border);\n font-size: 11px;\n line-height: 1.2;\n color: var(--ermis-text-secondary);\n cursor: pointer;\n transition: all 0.2s ease;\n user-select: none;\n}\n\n/* Custom Tooltip */\n.ermis-message-reactions__item::after {\n content: attr(data-tooltip);\n position: absolute;\n bottom: 100%;\n left: 50%;\n transform: translateX(-50%);\n background-color: rgba(0, 0, 0, 0.75);\n color: #fff;\n padding: 4px 8px;\n border-radius: 6px;\n font-size: 11px;\n white-space: pre;\n text-align: left;\n pointer-events: none;\n opacity: 0;\n visibility: hidden;\n transition: opacity 0.2s, visibility 0.2s;\n margin-bottom: 6px;\n z-index: 100;\n}\n\n.ermis-message-reactions__item:hover::after {\n opacity: 1;\n visibility: visible;\n}\n\n.ermis-message-reactions__item--active {\n background-color: var(--ermis-bg-active, rgba(99, 102, 241, 0.12));\n border-color: var(--ermis-accent);\n color: var(--ermis-accent);\n}\n\n.ermis-message-reactions__emoji {\n font-size: 14px;\n}\n\n.ermis-message-reactions__count {\n font-weight: 600;\n}\n","/* ============================================================\n Message Quick Reactions (Hover popup)\n ============================================================ */\n\n.ermis-message-quick-reactions {\n position: absolute;\n bottom: 100%; /* Sits exactly on top of bubble-wrapper, no gap */\n display: flex;\n align-items: center;\n gap: 2px;\n padding: 4px;\n padding-bottom: 8px; /* 4px normal padding + 4px transparent gap */\n border-radius: 20px;\n opacity: 0;\n visibility: hidden;\n transform: translateY(4px);\n /* Fast, snappy transition with NO delay to prevent stuttering */\n transition: opacity 0.1s ease, transform 0.1s ease, visibility 0.1s ease;\n z-index: 20;\n}\n\n/* Visual background pushed up by the padding gap */\n.ermis-message-quick-reactions::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 4px; /* Leave 4px transparent at the bottom */\n background-color: var(--ermis-bg-primary);\n border: 1px solid var(--ermis-border);\n border-radius: 20px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n z-index: -1;\n}\n\n\n\n/* Align based on ownership */\n.ermis-message-quick-reactions {\n left: 0;\n}\n.ermis-message-quick-reactions--own {\n left: auto;\n right: 0;\n}\n\n.ermis-message-list__bubble-wrapper:hover {\n z-index: 100; /* Ensure the hovered wrapper is above adjacent messages */\n}\n\n.ermis-message-list__bubble-wrapper:hover .ermis-message-quick-reactions,\n.ermis-message-quick-reactions:hover {\n opacity: 1;\n visibility: visible;\n transform: translateY(0);\n}\n\n.ermis-message-quick-reactions--expanded {\n opacity: 1;\n visibility: visible;\n transform: translateY(0);\n transition: none !important; /* Let framer-motion handle transitions */\n will-change: width, height, transform;\n}\n\n.ermis-message-quick-reactions--expanded::before {\n display: none; /* Hide custom background when expanded, framer-motion takes over */\n}\n\n.ermis-message-list__bubble-wrapper:hover .ermis-message-quick-reactions--disabled {\n opacity: 0.5;\n pointer-events: none;\n}\n\n.ermis-message-quick-reactions__btn {\n display: flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n font-size: 18px;\n line-height: 1;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n cursor: pointer;\n transition: transform 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275), background-color 0.15s;\n}\n\n.ermis-message-quick-reactions__btn:hover {\n transform: scale(1.2);\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-message-quick-reactions__btn--active {\n background-color: var(--ermis-bg-active, rgba(99, 102, 241, 0.12));\n}\n",".ermis-channel-info {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n background: var(--ermis-bg-primary);\n border-left: 1px solid var(--ermis-border-base);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n box-sizing: border-box;\n}\n\n.ermis-channel-info__body {\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n scroll-behavior: smooth;\n}\n\n.ermis-channel-info__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px;\n border-bottom: 1px solid var(--ermis-border-base);\n}\n\n.ermis-channel-info__title {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--ermis-text-primary);\n}\n\n.ermis-channel-info__close {\n background: transparent;\n border: none;\n cursor: pointer;\n color: var(--ermis-text-secondary);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 4px;\n border-radius: 4px;\n transition: background-color 0.2s ease, color 0.2s ease;\n}\n\n.ermis-channel-info__close:hover {\n background-color: var(--ermis-bg-hover);\n color: var(--ermis-text-primary);\n}\n\n.ermis-channel-info__cover {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 16px;\n text-align: center;\n}\n\n.ermis-channel-info__avatar {\n margin-bottom: 16px;\n}\n\n.ermis-channel-info__name {\n margin: 0 0 8px 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--ermis-text-primary);\n}\n\n.ermis-channel-info__name-row {\n display: flex;\n align-items: center;\n gap: 8px;\n justify-content: center;\n}\n\n.ermis-channel-info__name-row .ermis-channel-info__name {\n margin: 0;\n}\n\n.ermis-channel-info__parent-name {\n font-size: 13px;\n color: var(--ermis-accent);\n margin-top: -4px;\n margin-bottom: 8px;\n font-weight: 500;\n}\n\n.ermis-channel-info__topic-emoji-avatar {\n font-size: 48px;\n line-height: 80px;\n width: 80px;\n height: 80px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--ermis-bg-secondary);\n border-radius: 50%;\n margin-bottom: 16px;\n}\n\n.ermis-channel-info__cover-edit-btn {\n background: transparent;\n border: none;\n cursor: pointer;\n color: var(--ermis-text-muted);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 4px;\n border-radius: 4px;\n transition: color 0.2s ease, background-color 0.2s ease;\n flex-shrink: 0;\n}\n\n.ermis-channel-info__cover-edit-btn:hover {\n color: var(--ermis-accent);\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-channel-info__description {\n margin: 0;\n font-size: 14px;\n color: var(--ermis-text-secondary);\n line-height: 1.4;\n}\n\n.ermis-channel-info__type-badge {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 10px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 500;\n line-height: 1;\n margin: 4px 0;\n}\n\n.ermis-channel-info__type-badge--public {\n background: rgba(40, 167, 69, 0.1);\n color: #28a745;\n}\n\n.ermis-channel-info__type-badge--private {\n background: rgba(108, 117, 125, 0.1);\n color: var(--ermis-text-secondary);\n}\n\n.ermis-channel-info__actions {\n display: flex;\n justify-content: space-evenly;\n padding: 16px;\n border-bottom: 1px solid var(--ermis-border-base);\n}\n\n.ermis-channel-info__action-btn {\n background: transparent;\n border: none;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 6px;\n cursor: pointer;\n color: var(--ermis-text-secondary);\n font-size: 13px;\n font-weight: 500;\n transition: color 0.2s ease;\n}\n\n.ermis-channel-info__action-btn--danger {\n color: var(--ermis-color-danger);\n}\n\n.ermis-channel-info__action-btn:hover {\n color: var(--ermis-text-primary);\n}\n\n.ermis-channel-info__action-btn--danger:hover {\n color: var(--ermis-color-danger);\n opacity: 0.8;\n}\n\n.ermis-channel-info__action-btn:disabled {\n opacity: 0.35;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.ermis-channel-info__action-icon {\n width: 36px;\n height: 36px;\n border-radius: 50%;\n background-color: var(--ermis-bg-secondary);\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background-color 0.2s ease;\n}\n\n.ermis-channel-info__action-icon svg {\n width: 18px;\n height: 18px;\n}\n\n.ermis-channel-info__action-btn:hover .ermis-channel-info__action-icon {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-channel-info__action-btn--danger .ermis-channel-info__action-icon {\n background-color: rgba(220, 53, 69, 0.08);\n}\n\n.ermis-channel-info__action-btn--danger:hover .ermis-channel-info__action-icon {\n background-color: rgba(220, 53, 69, 0.15);\n}\n\n.ermis-channel-info__section {\n padding: 16px 0;\n}\n\n.ermis-channel-info__section-header {\n padding: 0 16px 8px;\n}\n\n.ermis-channel-info__section-header h4 {\n margin: 0;\n font-size: 12px;\n text-transform: uppercase;\n font-weight: 600;\n color: var(--ermis-text-muted);\n letter-spacing: 0.5px;\n}\n\n.ermis-channel-info__members {\n padding: 0 8px;\n}\n\n.ermis-channel-info__members-tab {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.ermis-channel-info__member-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n cursor: pointer;\n transition: background-color 0.2s ease;\n min-height: 56px;\n border-bottom: 1px solid var(--ermis-border-base);\n box-sizing: border-box;\n}\n\n.ermis-channel-info__member-item:hover {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-channel-info__member-info {\n display: flex;\n flex-direction: column;\n min-width: 0;\n gap: 2px;\n flex: 1;\n}\n\n.ermis-channel-info__member-name {\n font-size: 14px;\n color: var(--ermis-text-primary);\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-channel-info__member-role {\n font-size: 10px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n width: fit-content;\n}\n\n.ermis-channel-info__member-role--owner {\n color: var(--ermis-color-danger);\n}\n.ermis-channel-info__member-role--moder {\n color: var(--ermis-accent);\n}\n.ermis-channel-info__member-role--member {\n color: var(--ermis-text-muted);\n}\n.ermis-channel-info__member-role--pending {\n color: var(--ermis-color-danger);\n}\n\n.ermis-channel-info__add-member-wrap {\n padding: 12px 16px;\n border-bottom: 1px solid var(--ermis-border-base);\n flex-shrink: 0;\n}\n\n.ermis-channel-info__add-member-btn {\n width: 100%;\n padding: 10px;\n background: transparent;\n border: 1px dashed var(--ermis-border-base);\n border-radius: 8px;\n color: var(--ermis-accent);\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n cursor: pointer;\n font-weight: 500;\n transition: background-color 0.2s ease, border-color 0.2s ease;\n}\n\n.ermis-channel-info__add-member-btn:hover {\n background-color: var(--ermis-bg-hover);\n border-color: var(--ermis-accent);\n}\n\n/* ============================================\n Media Section - Tabs\n ============================================ */\n\n.ermis-channel-info__media-section {\n display: flex;\n flex-direction: column;\n padding: 0;\n border-top: 1px solid var(--ermis-border-base);\n}\n\n.ermis-channel-info__media-tabs {\n display: flex;\n border-bottom: 1px solid var(--ermis-border-base);\n padding: 0 4px;\n gap: 0;\n flex-shrink: 0;\n position: sticky;\n top: 0;\n z-index: 10;\n background-color: var(--ermis-bg-primary);\n}\n\n.ermis-channel-info__media-tab {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 3px;\n padding: 5px 8px;\n background: transparent;\n border: none;\n border-bottom: 2px solid transparent;\n cursor: pointer;\n color: var(--ermis-text-muted);\n font-size: 13px;\n font-weight: 500;\n transition: color 0.2s ease, border-color 0.2s ease;\n white-space: nowrap;\n}\n\n.ermis-channel-info__media-tab:hover {\n color: var(--ermis-text-secondary);\n}\n\n.ermis-channel-info__media-tab--active {\n color: var(--ermis-accent);\n border-bottom-color: var(--ermis-accent);\n}\n\n.ermis-channel-info__media-tab-label {\n font-size: 13px;\n}\n\n.ermis-channel-info__media-tab-count {\n font-size: 11px;\n font-weight: 600;\n min-width: 18px;\n height: 18px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 9px;\n background: var(--ermis-bg-secondary);\n color: var(--ermis-text-secondary);\n padding: 0 5px;\n}\n\n.ermis-channel-info__media-tab--active .ermis-channel-info__media-tab-count {\n background: var(--ermis-accent);\n color: #fff;\n}\n\n/* ============================================\n Media Content Container\n ============================================ */\n\n.ermis-channel-info__media-content {\n min-height: 120px;\n}\n\n/* ============================================\n Media Grid\n ============================================ */\n\n.ermis-channel-info__media-grid-row {\n display: flex;\n gap: 2px;\n padding: 0 0 2px 0;\n}\n\n.ermis-channel-info__media-item {\n flex: 1;\n aspect-ratio: 1;\n background-color: var(--ermis-bg-secondary);\n overflow: hidden;\n cursor: pointer;\n position: relative;\n}\n\n.ermis-channel-info__media-item--empty {\n cursor: default;\n background: transparent;\n}\n\n.ermis-channel-info__media-item img,\n.ermis-channel-info__media-item video {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.ermis-channel-info__media-item:not(.ermis-channel-info__media-item--empty):hover img,\n.ermis-channel-info__media-item:not(.ermis-channel-info__media-item--empty):hover video {\n transform: scale(1.05);\n}\n\n/* Shimmer placeholder — matches ermis-attachment-shimmer */\n.ermis-channel-info__media-shimmer {\n position: absolute;\n inset: 0;\n background: linear-gradient(\n 90deg,\n var(--ermis-bg-secondary) 25%,\n var(--ermis-bg-hover, rgba(255, 255, 255, 0.06)) 50%,\n var(--ermis-bg-secondary) 75%\n );\n background-size: 200% 100%;\n animation: ermis-ci-shimmer 1.4s ease-in-out infinite;\n z-index: 1;\n}\n\n@keyframes ermis-ci-shimmer {\n 0% {\n background-position: 200% 0;\n }\n 100% {\n background-position: -200% 0;\n }\n}\n\n.ermis-channel-info__media-video-thumb {\n width: 100%;\n height: 100%;\n position: relative;\n}\n\n.ermis-channel-info__media-video-thumb img,\n.ermis-channel-info__media-video-thumb video {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.ermis-channel-info__media-play-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: rgba(0, 0, 0, 0.6);\n display: flex;\n align-items: center;\n justify-content: center;\n color: #fff;\n pointer-events: none;\n}\n\n.ermis-channel-info__media-play-icon svg {\n margin-left: 2px;\n}\n\n/* ============================================\n Links List\n ============================================ */\n\n.ermis-channel-info__links-list {\n display: flex;\n flex-direction: column;\n}\n\n.ermis-channel-info__link-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n text-decoration: none;\n color: inherit;\n transition: background-color 0.15s ease;\n border-bottom: 1px solid var(--ermis-border-base);\n}\n\n.ermis-channel-info__link-item:hover {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-channel-info__link-icon {\n width: 36px;\n height: 36px;\n min-width: 36px;\n border-radius: 8px;\n background: var(--ermis-bg-secondary);\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--ermis-text-muted);\n overflow: hidden;\n}\n\n.ermis-channel-info__link-preview-img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.ermis-channel-info__link-content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.ermis-channel-info__link-title {\n font-size: 13px;\n font-weight: 500;\n color: var(--ermis-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-channel-info__link-domain {\n font-size: 12px;\n color: var(--ermis-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-channel-info__link-date {\n font-size: 11px;\n color: var(--ermis-text-muted);\n white-space: nowrap;\n flex-shrink: 0;\n}\n\n/* ============================================\n Files List\n ============================================ */\n\n.ermis-channel-info__files-list {\n display: flex;\n flex-direction: column;\n}\n\n.ermis-channel-info__file-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n cursor: pointer;\n transition: background-color 0.15s ease;\n border-bottom: 1px solid var(--ermis-border-base);\n}\n\n.ermis-channel-info__file-item:hover {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-channel-info__file-icon {\n width: 40px;\n height: 40px;\n min-width: 40px;\n border-radius: 8px;\n background: var(--ermis-bg-secondary);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: var(--ermis-text-muted);\n gap: 1px;\n}\n\n.ermis-channel-info__file-ext {\n font-size: 8px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n color: var(--ermis-text-muted);\n line-height: 1;\n}\n\n.ermis-channel-info__file-info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.ermis-channel-info__file-name {\n font-size: 13px;\n font-weight: 500;\n color: var(--ermis-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-channel-info__file-meta {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: var(--ermis-text-muted);\n}\n\n.ermis-channel-info__file-meta-dot {\n color: var(--ermis-text-muted);\n}\n\n.ermis-channel-info__file-download {\n background: transparent;\n border: none;\n cursor: pointer;\n color: var(--ermis-text-muted);\n padding: 6px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background-color 0.15s ease, color 0.15s ease;\n flex-shrink: 0;\n}\n\n.ermis-channel-info__file-download:hover {\n background-color: var(--ermis-bg-secondary);\n color: var(--ermis-accent);\n}\n\n/* ============================================\n Empty & Loading states\n ============================================ */\n\n.ermis-channel-info__media-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 16px;\n gap: 12px;\n color: var(--ermis-text-muted);\n font-size: 13px;\n}\n\n.ermis-channel-info__media-empty-icon {\n width: 56px;\n height: 56px;\n border-radius: 50%;\n background: var(--ermis-bg-secondary);\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--ermis-text-muted);\n}\n\n.ermis-channel-info__media-loading {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 40px 16px;\n}\n\n.ermis-channel-info__media-spinner {\n width: 24px;\n height: 24px;\n border: 2px solid var(--ermis-border-base);\n border-top-color: var(--ermis-accent);\n border-radius: 50%;\n animation: ermis-spin 0.7s linear infinite;\n}\n\n@keyframes ermis-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n/* ============================================\n Edit Channel Modal — Body Content\n ============================================ */\n\n.ermis-channel-info__edit-body {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n/* Avatar section */\n.ermis-channel-info__edit-avatar-section {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n}\n\n.ermis-channel-info__edit-avatar-wrap {\n position: relative;\n cursor: pointer;\n border-radius: 50%;\n overflow: hidden;\n}\n\n.ermis-channel-info__edit-avatar-overlay {\n position: absolute;\n inset: 0;\n background: rgba(0, 0, 0, 0.45);\n display: flex;\n align-items: center;\n justify-content: center;\n color: #fff;\n opacity: 0;\n transition: opacity 0.2s ease;\n border-radius: 50%;\n}\n\n.ermis-channel-info__edit-avatar-wrap:hover .ermis-channel-info__edit-avatar-overlay {\n opacity: 1;\n}\n\n.ermis-channel-info__edit-avatar-btn {\n background: transparent;\n border: none;\n cursor: pointer;\n color: var(--ermis-accent);\n font-size: 13px;\n font-weight: 500;\n padding: 4px 8px;\n border-radius: 4px;\n transition: background-color 0.2s ease;\n}\n\n.ermis-channel-info__edit-avatar-btn:hover {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-channel-info__edit-avatar-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Form fields */\n.ermis-channel-info__edit-field {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.ermis-channel-info__edit-field--toggle {\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n padding: 8px 0;\n}\n\n.ermis-channel-info__edit-label {\n font-size: 13px;\n font-weight: 500;\n color: var(--ermis-text-secondary);\n}\n\n.ermis-channel-info__edit-input {\n background: var(--ermis-bg-secondary);\n border: 1px solid var(--ermis-border-base);\n border-radius: 8px;\n padding: 10px 12px;\n font-size: 14px;\n color: var(--ermis-text-primary);\n outline: none;\n transition: border-color 0.2s ease, box-shadow 0.2s ease;\n font-family: inherit;\n}\n\n.ermis-channel-info__edit-input:focus {\n border-color: var(--ermis-accent);\n box-shadow: 0 0 0 2px rgba(0, 95, 255, 0.15);\n}\n\n.ermis-channel-info__edit-input:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n.ermis-channel-info__edit-textarea {\n background: var(--ermis-bg-secondary);\n border: 1px solid var(--ermis-border-base);\n border-radius: 8px;\n padding: 10px 12px;\n font-size: 14px;\n color: var(--ermis-text-primary);\n outline: none;\n transition: border-color 0.2s ease, box-shadow 0.2s ease;\n resize: vertical;\n min-height: 60px;\n font-family: inherit;\n}\n\n.ermis-channel-info__edit-textarea:focus {\n border-color: var(--ermis-accent);\n box-shadow: 0 0 0 2px rgba(0, 95, 255, 0.15);\n}\n\n.ermis-channel-info__edit-textarea:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n/* Toggle switch */\n.ermis-channel-info__edit-toggle {\n position: relative;\n width: 44px;\n height: 24px;\n background: var(--ermis-bg-secondary);\n border: 1px solid var(--ermis-border-base);\n border-radius: 12px;\n cursor: pointer;\n transition: background-color 0.2s ease, border-color 0.2s ease;\n padding: 0;\n flex-shrink: 0;\n}\n\n.ermis-channel-info__edit-toggle--on {\n background: var(--ermis-accent);\n border-color: var(--ermis-accent);\n}\n\n.ermis-channel-info__edit-toggle-thumb {\n position: absolute;\n top: 2px;\n left: 2px;\n width: 18px;\n height: 18px;\n background: #fff;\n border-radius: 50%;\n transition: transform 0.2s ease;\n pointer-events: none;\n}\n\n.ermis-channel-info__edit-toggle--on .ermis-channel-info__edit-toggle-thumb {\n transform: translateX(20px);\n}\n\n.ermis-channel-info__edit-toggle:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Error message */\n.ermis-channel-info__edit-error {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 12px;\n background: rgba(220, 53, 69, 0.08);\n border: 1px solid rgba(220, 53, 69, 0.2);\n border-radius: 8px;\n color: var(--ermis-color-danger);\n font-size: 13px;\n}\n\n/* Footer buttons */\n.ermis-channel-info__edit-footer-buttons {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n width: 100%;\n}\n\n.ermis-channel-info__edit-btn {\n padding: 8px 20px;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;\n border: none;\n font-family: inherit;\n}\n\n.ermis-channel-info__edit-btn:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n.ermis-channel-info__edit-btn--cancel {\n background: transparent;\n color: var(--ermis-text-secondary);\n border: 1px solid var(--ermis-border-base);\n}\n\n.ermis-channel-info__edit-btn--cancel:hover:not(:disabled) {\n background-color: var(--ermis-bg-hover);\n color: var(--ermis-text-primary);\n}\n\n.ermis-channel-info__edit-btn--save {\n background: var(--ermis-accent);\n color: #fff;\n}\n\n.ermis-channel-info__edit-btn--save:hover:not(:disabled) {\n opacity: 0.9;\n}\n\n/* ============================================\n Banned State\n ============================================ */\n\n.ermis-channel-info__banned-banner {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 12px;\n padding: 40px 16px;\n text-align: center;\n flex: 1;\n}\n\n.ermis-channel-info__banned-banner-icon {\n color: #ef4444;\n opacity: 0.5;\n}\n\n.ermis-channel-info__banned-banner-text {\n font-size: 14px;\n font-weight: 500;\n color: var(--ermis-text-secondary);\n}\n\n.ermis-channel-info__preview-actions {\n display: flex;\n justify-content: center;\n padding: 12px 16px;\n border-bottom: 1px solid var(--ermis-border);\n}\n\n.ermis-channel-info__join-btn {\n width: 100%;\n justify-content: center;\n font-weight: 600;\n padding: 10px 16px;\n border-radius: var(--ermis-radius-lg);\n background-color: var(--ermis-accent);\n color: #ffffff;\n border: none;\n cursor: pointer;\n transition: opacity 0.2s ease, transform 0.1s ease;\n}\n\n.ermis-channel-info__join-btn:hover {\n opacity: 0.9;\n}\n\n.ermis-channel-info__join-btn:active {\n transform: scale(0.98);\n}\n",".ermis-modal-search {\n position: relative;\n display: flex;\n align-items: center;\n margin-bottom: 16px;\n}\n\n.ermis-modal-search svg {\n position: absolute;\n left: 12px;\n color: var(--ermis-text-secondary);\n pointer-events: none;\n}\n\n.ermis-modal-search input {\n width: 100%;\n padding: 10px 12px 10px 36px;\n border-radius: 8px;\n border: 1px solid var(--ermis-border);\n background-color: var(--ermis-bg-secondary);\n color: var(--ermis-text-primary);\n font-size: 14px;\n transition: border-color 0.15s ease, box-shadow 0.15s ease;\n outline: none;\n}\n\n.ermis-modal-search input:focus {\n border-color: var(--ermis-accent);\n box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2);\n}\n\n.ermis-modal-user-list {\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n gap: 4px;\n max-height: 400px;\n padding-right: 4px;\n}\n\n/* Custom scrollbar for user list */\n.ermis-modal-user-list::-webkit-scrollbar {\n width: 6px;\n}\n.ermis-modal-user-list::-webkit-scrollbar-track {\n background: transparent;\n}\n.ermis-modal-user-list::-webkit-scrollbar-thumb {\n background-color: var(--ermis-border);\n border-radius: 3px;\n}\n\n.ermis-modal-loading,\n.ermis-modal-empty {\n text-align: center;\n color: var(--ermis-text-secondary);\n padding: 32px 0;\n font-size: 14px;\n}\n\n.ermis-modal-user-item {\n display: flex;\n align-items: center;\n padding: 8px 12px;\n border-radius: 8px;\n transition: background-color 0.15s ease;\n}\n\n.ermis-modal-user-item:hover {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-modal-user-info {\n margin-left: 12px;\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n\n.ermis-modal-user-name {\n font-size: 14px;\n font-weight: 500;\n color: var(--ermis-text-primary);\n}\n\n.ermis-modal-add-btn {\n background-color: var(--ermis-accent);\n color: #ffffff;\n border: none;\n border-radius: 6px;\n padding: 6px 14px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: background-color 0.15s ease, opacity 0.15s ease;\n}\n\n.ermis-modal-add-btn:hover:not(:disabled) {\n background-color: var(--ermis-accent-hover);\n}\n\n.ermis-modal-add-btn:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n","/* ==========================================================================\n MessageSearchPanel — Search overlay inside ChannelInfo\n ========================================================================== */\n\n/* Search box inside panel body */\n.ermis-search-panel__search-box {\n padding: 12px 16px;\n border-bottom: 1px solid var(--ermis-border, rgba(0, 0, 0, 0.08));\n flex-shrink: 0;\n}\n\n.ermis-search-panel__input-wrap {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 6px 12px;\n background: var(--ermis-bg-secondary);\n border-radius: 20px;\n transition: background 0.15s;\n}\n\n.ermis-search-panel__input-wrap:focus-within {\n background: var(--ermis-bg-hover);\n}\n\n.ermis-search-panel__input-icon {\n flex-shrink: 0;\n color: var(--ermis-text-secondary);\n}\n\n.ermis-search-panel__input {\n flex: 1;\n border: none;\n background: none;\n outline: none;\n font-size: 14px;\n color: var(--ermis-text-primary);\n line-height: 1.4;\n}\n\n.ermis-search-panel__input::placeholder {\n color: var(--ermis-text-muted);\n}\n\n.ermis-search-panel__input-clear {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n border: none;\n background: var(--ermis-text-muted);\n color: #fff;\n border-radius: 50%;\n cursor: pointer;\n flex-shrink: 0;\n padding: 0;\n transition: background 0.15s;\n}\n\n.ermis-search-panel__input-clear:hover {\n background: var(--ermis-text-secondary);\n}\n\n/* Results container */\n.ermis-search-panel__results {\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n/* Idle state (no query) */\n.ermis-search-panel__idle {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 12px;\n padding: 48px 16px;\n color: var(--ermis-text-muted);\n text-align: center;\n font-size: 14px;\n}\n\n/* Loading state */\n.ermis-search-panel__loading {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 12px;\n padding: 48px 16px;\n color: var(--ermis-text-secondary);\n font-size: 14px;\n}\n\n/* Spinner */\n.ermis-search-panel__spinner {\n width: 24px;\n height: 24px;\n border: 2.5px solid var(--ermis-border, rgba(0, 0, 0, 0.08));\n border-top-color: var(--ermis-accent);\n border-radius: 50%;\n animation: ermis-spin 0.7s linear infinite;\n}\n\n.ermis-search-panel__spinner--small {\n width: 18px;\n height: 18px;\n border-width: 2px;\n}\n\n@keyframes ermis-spin {\n to { transform: rotate(360deg); }\n}\n\n/* Empty state */\n.ermis-search-panel__empty {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 48px 16px;\n color: var(--ermis-text-muted);\n font-size: 14px;\n}\n\n/* Result item */\n.ermis-search-panel__result-item {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n width: 100%;\n padding: 12px 16px;\n border: none;\n background: none;\n cursor: pointer;\n text-align: left;\n transition: background 0.12s;\n border-bottom: 1px solid var(--ermis-border, rgba(0, 0, 0, 0.04));\n}\n\n.ermis-search-panel__result-item:hover {\n background: var(--ermis-bg-hover, rgba(0, 0, 0, 0.04));\n}\n\n.ermis-search-panel__result-item:active {\n background: var(--ermis-bg-active, rgba(0, 0, 0, 0.07));\n}\n\n.ermis-search-panel__result-body {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.ermis-search-panel__result-meta {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n\n.ermis-search-panel__result-name {\n font-size: 13px;\n font-weight: 600;\n color: var(--ermis-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-search-panel__result-time {\n font-size: 11px;\n color: var(--ermis-text-muted);\n white-space: nowrap;\n flex-shrink: 0;\n}\n\n.ermis-search-panel__result-text {\n margin: 0;\n font-size: 13px;\n color: var(--ermis-text-secondary);\n line-height: 1.4;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n}\n\n/* Highlight matching text */\n.ermis-search-panel__highlight {\n background: rgba(255, 210, 0, 0.35);\n color: var(--ermis-text-primary);\n border-radius: 2px;\n padding: 0 1px;\n}\n\n/* Loading more indicator */\n.ermis-search-panel__loading-more {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 12px;\n}\n\n/* End of results indicator */\n.ermis-search-panel__end-indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 24px 16px;\n color: var(--ermis-text-muted);\n font-size: 13px;\n text-align: center;\n}\n","/* ============================================================\n UserPicker – Reusable User Selection Component\n BEM: .ermis-user-picker__{element}--{modifier}\n ============================================================ */\n\n/* ---------- Root container ---------- */\n.ermis-user-picker {\n display: flex;\n flex-direction: column;\n gap: var(--ermis-spacing-md, 0.75rem);\n}\n\n/* ---------- Selected Users Chip Box ---------- */\n.ermis-user-picker__selected-box {\n display: flex;\n flex-wrap: wrap;\n gap: var(--ermis-spacing-xs, 0.25rem);\n padding: var(--ermis-spacing-sm, 0.5rem);\n border-radius: var(--ermis-radius-md, 0.5rem);\n background-color: var(--ermis-bg-secondary);\n border: 1px solid var(--ermis-border, rgba(255, 255, 255, 0.08));\n min-height: 40px;\n max-height: 120px;\n overflow-y: auto;\n}\n\n.ermis-user-picker__selected-box:empty {\n display: none;\n}\n\n.ermis-user-picker__selected-box::-webkit-scrollbar {\n width: 4px;\n}\n.ermis-user-picker__selected-box::-webkit-scrollbar-track {\n background: transparent;\n}\n.ermis-user-picker__selected-box::-webkit-scrollbar-thumb {\n background: var(--ermis-border, rgba(255, 255, 255, 0.08));\n border-radius: var(--ermis-radius-full, 9999px);\n}\n\n.ermis-user-picker__chip {\n display: inline-flex;\n align-items: center;\n gap: var(--ermis-spacing-xs, 0.25rem);\n padding: 2px 8px 2px 2px;\n border-radius: var(--ermis-radius-full, 9999px);\n background-color: var(--ermis-bg-active, rgba(99, 102, 241, 0.12));\n color: var(--ermis-text-primary);\n font-size: var(--ermis-font-size-xs, 0.75rem);\n font-weight: 500;\n line-height: 1;\n white-space: nowrap;\n transition: background-color var(--ermis-transition, 150ms ease);\n animation: ermis-user-picker-chip-in 0.2s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n@keyframes ermis-user-picker-chip-in {\n from { opacity: 0; transform: scale(0.85); }\n to { opacity: 1; transform: scale(1); }\n}\n\n.ermis-user-picker__chip:hover {\n background-color: var(--ermis-accent);\n color: #ffffff;\n}\n\n.ermis-user-picker__chip-name {\n max-width: 100px;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-user-picker__chip-remove {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n border: none;\n background: none;\n color: inherit;\n cursor: pointer;\n padding: 0;\n border-radius: var(--ermis-radius-full, 9999px);\n opacity: 0.7;\n transition: opacity var(--ermis-transition, 150ms ease);\n}\n\n.ermis-user-picker__chip-remove:hover {\n opacity: 1;\n}\n\n.ermis-user-picker__selected-empty {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n color: var(--ermis-text-muted);\n font-size: var(--ermis-font-size-xs, 0.75rem);\n}\n\n/* ---------- Search Input ---------- */\n.ermis-user-picker__search {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.ermis-user-picker__search svg {\n position: absolute;\n left: 12px;\n color: var(--ermis-text-muted);\n pointer-events: none;\n}\n\n.ermis-user-picker__search input {\n width: 100%;\n padding: 10px 12px 10px 38px;\n border-radius: var(--ermis-radius-md, 0.5rem);\n border: 1px solid var(--ermis-border, rgba(255, 255, 255, 0.08));\n background-color: var(--ermis-bg-secondary);\n color: var(--ermis-text-primary);\n font-size: var(--ermis-font-size-sm, 0.875rem);\n font-family: inherit;\n transition: border-color var(--ermis-transition, 150ms ease), box-shadow var(--ermis-transition, 150ms ease);\n outline: none;\n}\n\n.ermis-user-picker__search input::placeholder {\n color: var(--ermis-text-muted);\n}\n\n.ermis-user-picker__search input:focus {\n border-color: var(--ermis-accent);\n box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2);\n}\n\n/* ---------- List Container ---------- */\n.ermis-user-picker__list {\n overflow: hidden;\n height: 360px;\n border-radius: var(--ermis-radius-md, 0.5rem);\n}\n\n/* ---------- User Row ---------- */\n.ermis-user-picker__item {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-md, 0.75rem);\n padding: 8px 12px;\n border-radius: var(--ermis-radius-md, 0.5rem);\n cursor: pointer;\n transition: background-color var(--ermis-transition, 150ms ease);\n user-select: none;\n}\n\n.ermis-user-picker__item:hover {\n background-color: var(--ermis-bg-hover, rgba(255, 255, 255, 0.04));\n}\n\n.ermis-user-picker__item--selected {\n background-color: var(--ermis-bg-active, rgba(99, 102, 241, 0.12));\n}\n\n.ermis-user-picker__item--selected:hover {\n background-color: var(--ermis-bg-active, rgba(99, 102, 241, 0.12));\n}\n\n.ermis-user-picker__item--disabled {\n opacity: 0.45;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* ---------- Radio / Checkbox ---------- */\n.ermis-user-picker__input {\n position: relative;\n width: 18px;\n height: 18px;\n min-width: 18px;\n border: 2px solid var(--ermis-border, rgba(255, 255, 255, 0.08));\n background: transparent;\n transition: all var(--ermis-transition, 150ms ease);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.ermis-user-picker__input--radio {\n border-radius: var(--ermis-radius-full, 9999px);\n}\n\n.ermis-user-picker__input--checkbox {\n border-radius: var(--ermis-radius-sm, 0.375rem);\n}\n\n.ermis-user-picker__input--checked {\n background-color: var(--ermis-accent);\n border-color: var(--ermis-accent);\n}\n\n.ermis-user-picker__input--checked svg {\n color: #ffffff;\n}\n\n/* ---------- User Info ---------- */\n.ermis-user-picker__info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.ermis-user-picker__name {\n font-size: var(--ermis-font-size-sm, 0.875rem);\n font-weight: 500;\n color: var(--ermis-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-user-picker__detail {\n font-size: var(--ermis-font-size-xs, 0.75rem);\n color: var(--ermis-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* ---------- Loading / Empty ---------- */\n.ermis-user-picker__loading,\n.ermis-user-picker__empty {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 32px 0;\n color: var(--ermis-text-muted);\n font-size: var(--ermis-font-size-sm, 0.875rem);\n}\n\n.ermis-user-picker__load-more {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 12px 0;\n color: var(--ermis-text-muted);\n font-size: var(--ermis-font-size-xs, 0.75rem);\n}\n\n/* ---------- Spinner keyframes ---------- */\n.ermis-user-picker__spinner {\n display: inline-block;\n width: 16px;\n height: 16px;\n border: 2px solid var(--ermis-border, rgba(255, 255, 255, 0.08));\n border-top-color: var(--ermis-accent);\n border-radius: var(--ermis-radius-full, 9999px);\n animation: ermis-user-picker-spin 0.6s linear infinite;\n margin-right: var(--ermis-spacing-sm, 0.5rem);\n}\n\n@keyframes ermis-user-picker-spin {\n to { transform: rotate(360deg); }\n}\n","/* ============================================================\n Create Channel Modal\n BEM: .ermis-create-channel__*\n ============================================================ */\n\n.ermis-create-channel__body {\n display: flex;\n flex-direction: column;\n gap: var(--ermis-spacing-md, 0.75rem);\n padding: var(--ermis-spacing-md, 0.75rem);\n}\n\n.ermis-create-channel__tabs {\n display: flex;\n gap: 8px;\n background-color: var(--ermis-bg-secondary);\n padding: 4px;\n border-radius: var(--ermis-radius-md, 0.5rem);\n margin-bottom: var(--ermis-spacing-sm, 0.5rem);\n}\n\n.ermis-create-channel__tab {\n flex: 1;\n padding: 8px 12px;\n border-radius: var(--ermis-radius-sm, 0.375rem);\n text-align: center;\n font-size: var(--ermis-font-size-sm, 0.875rem);\n font-weight: 500;\n color: var(--ermis-text-muted);\n background: transparent;\n border: none;\n cursor: pointer;\n transition: all var(--ermis-transition, 150ms ease);\n}\n\n.ermis-create-channel__tab:hover {\n color: var(--ermis-text-primary);\n}\n\n.ermis-create-channel__tab--active {\n background-color: var(--ermis-bg-active, rgba(99, 102, 241, 0.12));\n color: var(--ermis-text-primary);\n}\n\n/* Form Fields */\n.ermis-create-channel__field {\n display: flex;\n flex-direction: column;\n gap: var(--ermis-spacing-xs, 0.25rem);\n}\n\n.ermis-create-channel__label {\n font-size: var(--ermis-font-size-sm, 0.875rem);\n font-weight: 500;\n color: var(--ermis-text-primary);\n}\n\n.ermis-create-channel__input,\n.ermis-create-channel__textarea {\n width: 100%;\n padding: 10px 12px;\n border-radius: var(--ermis-radius-md, 0.5rem);\n border: 1px solid var(--ermis-border, rgba(255, 255, 255, 0.08));\n background-color: var(--ermis-bg-secondary);\n color: var(--ermis-text-primary);\n font-size: var(--ermis-font-size-sm, 0.875rem);\n font-family: inherit;\n outline: none;\n transition: border-color var(--ermis-transition, 150ms ease);\n}\n\n.ermis-create-channel__input:focus,\n.ermis-create-channel__textarea:focus {\n border-color: var(--ermis-accent);\n}\n\n.ermis-create-channel__textarea {\n resize: vertical;\n min-height: 80px;\n}\n\n/* Public toggle */\n.ermis-create-channel__field--toggle {\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n}\n\n.ermis-create-channel__toggle {\n position: relative;\n width: 44px;\n height: 24px;\n background-color: var(--ermis-bg-secondary);\n border: 1px solid var(--ermis-border, rgba(255, 255, 255, 0.08));\n border-radius: 12px;\n cursor: pointer;\n transition: background-color var(--ermis-transition, 150ms ease);\n padding: 0;\n}\n\n.ermis-create-channel__toggle--on {\n background-color: var(--ermis-accent);\n border-color: var(--ermis-accent);\n}\n\n.ermis-create-channel__toggle-thumb {\n position: absolute;\n top: 1px;\n left: 2px;\n width: 20px;\n height: 20px;\n background-color: #ffffff;\n border-radius: 50%;\n transition: transform var(--ermis-transition, 150ms ease);\n}\n\n.ermis-create-channel__toggle--on .ermis-create-channel__toggle-thumb {\n transform: translateX(20px);\n}\n\n/* User Picker Wrap */\n.ermis-create-channel__users {\n margin-top: var(--ermis-spacing-sm, 0.5rem);\n display: flex;\n flex-direction: column;\n}\n\n/* .ermis-create-channel__users--team {\n height: 280px;\n}\n\n.ermis-create-channel__users--messaging {\n height: 400px;\n} */\n\n.ermis-create-channel__users-title {\n font-size: var(--ermis-font-size-sm, 0.875rem);\n font-weight: 500;\n color: var(--ermis-text-primary);\n margin-bottom: var(--ermis-spacing-xs, 0.25rem);\n}\n\n/* Error */\n.ermis-create-channel__error {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-xs, 0.25rem);\n padding: var(--ermis-spacing-sm, 0.5rem);\n color: var(--ermis-color-danger);\n background-color: rgba(239, 68, 68, 0.1);\n border-radius: var(--ermis-radius-sm, 0.375rem);\n font-size: var(--ermis-font-size-sm, 0.875rem);\n}\n\n/* Footer Buttons */\n.ermis-create-channel__footer {\n display: flex;\n justify-content: flex-end;\n gap: var(--ermis-spacing-sm, 0.5rem);\n}\n\n.ermis-create-channel__btn {\n padding: 8px 16px;\n border-radius: var(--ermis-radius-md, 0.5rem);\n font-size: var(--ermis-font-size-sm, 0.875rem);\n font-weight: 500;\n cursor: pointer;\n transition: all var(--ermis-transition, 150ms ease);\n border: none;\n}\n\n.ermis-create-channel__btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.ermis-create-channel__btn--cancel {\n background-color: transparent;\n color: var(--ermis-text-primary);\n}\n\n.ermis-create-channel__btn--cancel:hover:not(:disabled) {\n background-color: var(--ermis-bg-hover, rgba(255, 255, 255, 0.04));\n}\n\n.ermis-create-channel__btn--create {\n background-color: var(--ermis-accent);\n color: #fff;\n}\n\n.ermis-create-channel__btn--create:hover:not(:disabled) {\n opacity: 0.9;\n}\n","/* ============================================================\n Ermis Call UI – Premium Call Experience\n BEM naming: .ermis-call-ui__{element}--{modifier}\n ============================================================ */\n\n.ermis-call-ui {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n}\n\n/* Fullscreen mode */\n.ermis-call-ui--fullscreen {\n background: #000000;\n justify-content: center;\n height: 100%;\n}\n\n.ermis-call-ui--fullscreen .ermis-call-ui__video-container {\n aspect-ratio: auto;\n height: 100%;\n border-radius: 0;\n}\n\n.ermis-call-ui--fullscreen .ermis-call-ui__audio-container {\n flex: 1;\n border-radius: 0;\n justify-content: center;\n}\n\n/* Hidden audio element (replaces inline style={{ display: 'none' }}) */\n.ermis-call-ui__audio--hidden {\n position: absolute;\n width: 0;\n height: 0;\n overflow: hidden;\n pointer-events: none;\n}\n\n/* ============================================================\n RINGING STATE\n ============================================================ */\n.ermis-call-ui__ringing {\n text-align: center;\n padding: 2.5rem var(--ermis-spacing-lg) 2rem;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n background: var(--ermis-call-bg);\n border-radius: var(--ermis-radius-lg);\n min-height: 340px;\n width: 100%;\n}\n\n/* -- Avatar Pulse Container -- */\n.ermis-call-ui__ringing-avatar {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: var(--ermis-spacing-lg);\n}\n\n/* Pulse rings */\n.ermis-call-ui__ringing-avatar::before,\n.ermis-call-ui__ringing-avatar::after {\n content: '';\n position: absolute;\n border-radius: 50%;\n border: 2px solid var(--ermis-call-pulse);\n animation: ermis-call-pulse 2s ease-out infinite;\n}\n\n.ermis-call-ui__ringing-avatar::before {\n width: 110px;\n height: 110px;\n}\n\n.ermis-call-ui__ringing-avatar::after {\n width: 130px;\n height: 130px;\n animation-delay: 0.6s;\n}\n\n@keyframes ermis-call-pulse {\n 0% {\n transform: scale(0.85);\n opacity: 0.8;\n }\n 100% {\n transform: scale(1.4);\n opacity: 0;\n }\n}\n\n/* Floating avatar effect */\n.ermis-call-ui__ringing-avatar-inner {\n position: relative;\n z-index: 2;\n animation: ermis-call-float 3s ease-in-out infinite;\n}\n\n@keyframes ermis-call-float {\n 0%,\n 100% {\n transform: translateY(0);\n }\n 50% {\n transform: translateY(-6px);\n }\n}\n\n/* -- Name & Status -- */\n.ermis-call-ui__ringing-name {\n margin: 0 0 var(--ermis-spacing-xs);\n font-size: 1.35rem;\n font-weight: 700;\n color: var(--ermis-text-primary);\n letter-spacing: -0.01em;\n}\n\n.ermis-call-ui__ringing-status {\n color: var(--ermis-text-secondary);\n margin: 0 0 var(--ermis-spacing-sm);\n font-size: var(--ermis-font-size-sm);\n font-weight: 400;\n}\n\n/* -- Call Type Badge -- */\n.ermis-call-ui__type-badge {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 14px;\n border-radius: var(--ermis-radius-full);\n background: var(--ermis-call-glass);\n border: 1px solid var(--ermis-call-glass-border);\n color: var(--ermis-text-secondary);\n font-size: var(--ermis-font-size-xs);\n font-weight: 500;\n text-transform: capitalize;\n margin-bottom: 1.5rem;\n}\n\n.ermis-call-ui__type-badge svg {\n width: 14px;\n height: 14px;\n opacity: 0.8;\n}\n\n/* -- Ringing Action Buttons -- */\n.ermis-call-ui__ringing-actions {\n display: flex;\n justify-content: center;\n gap: 2.5rem;\n width: 100%;\n}\n\n.ermis-call-ui__ringing-action {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n}\n\n.ermis-call-ui__action-circle {\n width: 48px;\n height: 48px;\n border-radius: 50%;\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: transform var(--ermis-transition), box-shadow var(--ermis-transition),\n background-color var(--ermis-transition);\n color: #ffffff;\n}\n\n.ermis-call-ui__action-circle:hover {\n transform: scale(1.1);\n}\n\n.ermis-call-ui__action-circle:active {\n transform: scale(0.95);\n}\n\n.ermis-call-ui__action-circle:disabled {\n opacity: 0.7;\n cursor: not-allowed;\n transform: none;\n}\n\n.ermis-call-ui__action-circle--reject {\n background-color: var(--ermis-color-danger);\n box-shadow: 0 4px 20px rgba(239, 68, 68, 0.35);\n}\n\n.ermis-call-ui__action-circle--reject:hover {\n background-color: var(--ermis-color-danger-hover);\n box-shadow: 0 6px 28px rgba(239, 68, 68, 0.45);\n}\n\n.ermis-call-ui__action-circle--accept {\n background-color: var(--ermis-color-success);\n box-shadow: 0 4px 20px rgba(34, 197, 94, 0.35);\n}\n\n.ermis-call-ui__action-circle--accept:hover {\n background-color: var(--ermis-color-success-hover);\n box-shadow: 0 6px 28px rgba(34, 197, 94, 0.45);\n}\n\n.ermis-call-ui__action-circle svg {\n width: 20px;\n height: 20px;\n}\n\n.ermis-call-ui__action-label {\n font-size: var(--ermis-font-size-xs);\n color: var(--ermis-text-secondary);\n font-weight: 500;\n}\n\n/* ============================================================\n ACTIVE CALL STATE\n ============================================================ */\n.ermis-call-ui__active {\n display: flex;\n flex-direction: column;\n width: 100%;\n gap: 0;\n}\n\n/* -- Video Layout -- */\n.ermis-call-ui__video-container {\n position: relative;\n width: 100%;\n aspect-ratio: 16 / 9;\n background-color: #000000;\n border-radius: var(--ermis-radius-lg);\n overflow: hidden;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);\n}\n\n.ermis-call-ui__video-remote {\n width: 100%;\n height: 100%;\n object-fit: contain;\n}\n\n.ermis-call-ui__video-local {\n position: absolute;\n bottom: 72px;\n right: 16px;\n width: 140px;\n aspect-ratio: 16 / 9;\n background-color: #1a1a2e;\n border-radius: var(--ermis-radius-md);\n overflow: hidden;\n border: 2px solid rgba(255, 255, 255, 0.25);\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);\n z-index: 10;\n transition: transform var(--ermis-transition), box-shadow var(--ermis-transition);\n}\n\n.ermis-call-ui__video-local:hover {\n border-color: rgba(255, 255, 255, 0.5);\n box-shadow: 0 6px 24px rgba(0, 0, 0, 0.5);\n}\n\n.ermis-call-ui__video-local-stream {\n width: 100%;\n height: 100%;\n object-fit: contain;\n transform: scaleX(-1);\n}\n\n/* Remote peer muted mic badge */\n.ermis-call-ui__remote-muted-badge {\n position: absolute;\n top: 16px;\n left: 16px;\n z-index: 15;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: rgba(239, 68, 68, 0.85);\n color: #ffffff;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);\n backdrop-filter: blur(8px);\n -webkit-backdrop-filter: blur(8px);\n}\n\n.ermis-call-ui__remote-muted-badge svg {\n width: 16px;\n height: 16px;\n}\n\n/* Audio call: badge positioned relative to the avatar wrapper */\n.ermis-call-ui__audio-avatar-wrapper {\n position: relative;\n display: inline-flex;\n}\n\n.ermis-call-ui__remote-muted-badge--audio {\n position: absolute;\n top: auto;\n left: auto;\n bottom: 2px;\n right: 2px;\n width: 28px;\n height: 28px;\n border: 2px solid var(--ermis-bg-secondary);\n}\n\n/* Glassmorphism controls overlay for video */\n.ermis-call-ui__video-controls-overlay {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n justify-content: center;\n padding: var(--ermis-spacing-md) var(--ermis-spacing-lg);\n background: linear-gradient(transparent, rgba(0, 0, 0, 0.6));\n}\n\n/* Video call status bar: mic-muted icon + duration timer in one row */\n.ermis-call-ui__video-timer {\n position: absolute;\n top: 16px;\n left: 16px;\n z-index: 15;\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 4px 12px;\n border-radius: var(--ermis-radius-full);\n background: rgba(0, 0, 0, 0.45);\n backdrop-filter: blur(12px);\n -webkit-backdrop-filter: blur(12px);\n border: 1px solid rgba(255, 255, 255, 0.1);\n color: rgba(255, 255, 255, 0.85);\n font-size: var(--ermis-font-size-sm);\n font-variant-numeric: tabular-nums;\n font-weight: 500;\n user-select: none;\n}\n\n.ermis-call-ui__video-timer-mic {\n display: flex;\n align-items: center;\n color: #f87171; /* red-400 */\n}\n\n.ermis-call-ui__video-timer-mic svg {\n width: 16px;\n height: 16px;\n}\n\n/* -- Audio Layout -- */\n.ermis-call-ui__audio-container {\n text-align: center;\n padding: 2.5rem var(--ermis-spacing-lg) 2rem;\n display: flex;\n flex-direction: column;\n align-items: center;\n background: var(--ermis-call-bg);\n border-radius: var(--ermis-radius-lg);\n position: relative;\n overflow: hidden;\n}\n\n/* Audio wave visualizer */\n.ermis-call-ui__audio-waves {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 3px;\n height: 40px;\n margin-bottom: var(--ermis-spacing-lg);\n margin-top: var(--ermis-spacing-sm);\n}\n\n.ermis-call-ui__audio-wave-bar {\n width: 3px;\n border-radius: var(--ermis-radius-full);\n background-color: var(--ermis-accent);\n opacity: 0.6;\n animation: ermis-call-wave 1.2s ease-in-out infinite;\n}\n\n.ermis-call-ui__audio-wave-bar:nth-child(1) {\n height: 12px;\n animation-delay: 0s;\n}\n.ermis-call-ui__audio-wave-bar:nth-child(2) {\n height: 20px;\n animation-delay: 0.1s;\n}\n.ermis-call-ui__audio-wave-bar:nth-child(3) {\n height: 32px;\n animation-delay: 0.2s;\n}\n.ermis-call-ui__audio-wave-bar:nth-child(4) {\n height: 24px;\n animation-delay: 0.3s;\n}\n.ermis-call-ui__audio-wave-bar:nth-child(5) {\n height: 36px;\n animation-delay: 0.15s;\n}\n.ermis-call-ui__audio-wave-bar:nth-child(6) {\n height: 28px;\n animation-delay: 0.25s;\n}\n.ermis-call-ui__audio-wave-bar:nth-child(7) {\n height: 18px;\n animation-delay: 0.35s;\n}\n.ermis-call-ui__audio-wave-bar:nth-child(8) {\n height: 30px;\n animation-delay: 0.05s;\n}\n.ermis-call-ui__audio-wave-bar:nth-child(9) {\n height: 14px;\n animation-delay: 0.4s;\n}\n\n@keyframes ermis-call-wave {\n 0%,\n 100% {\n transform: scaleY(0.4);\n }\n 50% {\n transform: scaleY(1);\n }\n}\n\n/* Active call info */\n.ermis-call-ui__active-name {\n margin: var(--ermis-spacing-md) 0 var(--ermis-spacing-xs);\n font-size: 1.35rem;\n font-weight: 700;\n color: var(--ermis-text-primary);\n letter-spacing: -0.01em;\n}\n\n.ermis-call-ui__active-status {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n color: var(--ermis-text-secondary);\n font-size: var(--ermis-font-size-sm);\n margin-bottom: var(--ermis-spacing-sm);\n}\n\n.ermis-call-ui__active-status-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background-color: var(--ermis-color-success);\n animation: ermis-call-status-blink 2s ease-in-out infinite;\n}\n\n@keyframes ermis-call-status-blink {\n 0%,\n 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.4;\n }\n}\n\n.ermis-call-ui__timer {\n font-variant-numeric: tabular-nums;\n font-weight: 500;\n color: var(--ermis-text-secondary);\n font-size: var(--ermis-font-size-sm);\n}\n\n/* ============================================================\n CONTROLS BAR\n ============================================================ */\n.ermis-call-ui__controls {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: var(--ermis-spacing-md);\n padding: var(--ermis-spacing-md) var(--ermis-spacing-lg);\n background: var(--ermis-call-glass);\n backdrop-filter: blur(16px);\n -webkit-backdrop-filter: blur(16px);\n border: 1px solid var(--ermis-call-glass-border);\n border-radius: var(--ermis-radius-full);\n margin-top: var(--ermis-spacing-lg);\n}\n\n/* For video mode, controls float inside the video overlay */\n.ermis-call-ui__video-controls-overlay .ermis-call-ui__controls {\n margin-top: 0;\n background: rgba(0, 0, 0, 0.4);\n backdrop-filter: blur(20px);\n -webkit-backdrop-filter: blur(20px);\n border-color: rgba(255, 255, 255, 0.08);\n}\n\n.ermis-call-ui__controls-separator {\n width: 1px;\n height: 20px;\n background: var(--ermis-call-glass-border);\n margin: 0 var(--ermis-spacing-xs);\n}\n\n/* Control buttons — circular icons */\n.ermis-call-ui__control-btn {\n width: 34px;\n height: 34px;\n border-radius: 50%;\n border: none;\n background-color: var(--ermis-call-glass);\n color: var(--ermis-text-primary);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all var(--ermis-transition);\n position: relative;\n}\n\n.ermis-call-ui__control-btn svg {\n width: 16px;\n height: 16px;\n}\n\n.ermis-call-ui__control-btn:hover {\n background-color: var(--ermis-bg-hover);\n transform: scale(1.08);\n}\n\n.ermis-call-ui__control-btn:active {\n transform: scale(0.95);\n}\n\n/* Tooltip on hover */\n.ermis-call-ui__control-btn::after {\n content: attr(data-tooltip);\n position: absolute;\n bottom: calc(100% + 8px);\n left: 50%;\n transform: translateX(-50%) translateY(4px);\n padding: 4px 10px;\n background: var(--ermis-bg-primary);\n color: var(--ermis-text-primary);\n font-size: var(--ermis-font-size-xs);\n border-radius: var(--ermis-radius-sm);\n white-space: nowrap;\n opacity: 0;\n visibility: hidden;\n transition: all var(--ermis-transition);\n pointer-events: none;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n border: 1px solid var(--ermis-call-glass-border);\n}\n\n.ermis-call-ui__control-btn:hover::after {\n opacity: 1;\n visibility: visible;\n transform: translateX(-50%) translateY(0);\n}\n\n/* Video overlay tooltips need light text */\n.ermis-call-ui__video-controls-overlay .ermis-call-ui__control-btn {\n color: #ffffff;\n}\n\n.ermis-call-ui__video-controls-overlay .ermis-call-ui__control-btn::after {\n background: rgba(0, 0, 0, 0.8);\n color: #ffffff;\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n/* Muted state */\n.ermis-call-ui__control-btn--muted {\n background-color: rgba(239, 68, 68, 0.15);\n color: var(--ermis-color-danger);\n}\n\n.ermis-call-ui__control-btn--muted:hover {\n background-color: rgba(239, 68, 68, 0.25);\n}\n\n.ermis-call-ui__video-controls-overlay .ermis-call-ui__control-btn--muted {\n background-color: rgba(239, 68, 68, 0.3);\n color: #ffffff;\n}\n\n/* Active state (screen sharing) */\n.ermis-call-ui__control-btn--active {\n background-color: rgba(34, 197, 94, 0.15);\n color: var(--ermis-color-success);\n}\n\n.ermis-call-ui__control-btn--active:hover {\n background-color: rgba(34, 197, 94, 0.25);\n}\n\n.ermis-call-ui__video-controls-overlay .ermis-call-ui__control-btn--active {\n background-color: rgba(34, 197, 94, 0.3);\n color: #ffffff;\n}\n\n/* End call button — always solid danger */\n.ermis-call-ui__control-btn--danger {\n background-color: var(--ermis-color-danger);\n color: #ffffff;\n box-shadow: 0 2px 12px rgba(239, 68, 68, 0.3);\n}\n\n.ermis-call-ui__control-btn--danger:hover {\n background-color: var(--ermis-color-danger-hover);\n box-shadow: 0 4px 20px rgba(239, 68, 68, 0.4);\n}\n\n/* ============================================================\n ACTION GROUPS & DEVICE SELECTORS\n ============================================================ */\n.ermis-call-ui__action-group {\n display: flex;\n flex-direction: column;\n align-items: center;\n position: relative;\n}\n\n.ermis-call-ui__device-select {\n position: absolute;\n bottom: calc(100% + 10px);\n width: 160px;\n left: 50%;\n transform: translateX(-50%);\n background: var(--ermis-bg-primary);\n color: var(--ermis-text-primary);\n border: 1px solid var(--ermis-call-glass-border);\n border-radius: var(--ermis-radius-md);\n padding: 6px 8px;\n font-size: var(--ermis-font-size-xs);\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);\n outline: none;\n cursor: pointer;\n opacity: 0;\n visibility: hidden;\n transition: all var(--ermis-transition);\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n\n.ermis-call-ui__action-group:hover .ermis-call-ui__device-select {\n opacity: 1;\n visibility: visible;\n}\n\n.ermis-call-ui__device-select:focus {\n border-color: var(--ermis-accent);\n opacity: 1;\n visibility: visible;\n}\n\n/* Video overlay device selects */\n.ermis-call-ui__video-controls-overlay .ermis-call-ui__device-select {\n background: rgba(0, 0, 0, 0.85);\n border-color: rgba(255, 255, 255, 0.1);\n color: #ffffff;\n}\n\n/* ============================================================\n ERROR STATE\n ============================================================ */\n.ermis-call-ui__error {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 3rem var(--ermis-spacing-lg);\n text-align: center;\n background: var(--ermis-call-bg);\n border-radius: var(--ermis-radius-lg);\n min-height: 280px;\n width: 100%;\n}\n\n.ermis-call-ui__error-icon {\n animation: ermis-call-shake 0.6s ease-in-out;\n margin-bottom: var(--ermis-spacing-md);\n}\n\n@keyframes ermis-call-shake {\n 0%,\n 100% {\n transform: translateX(0);\n }\n 15% {\n transform: translateX(-8px);\n }\n 30% {\n transform: translateX(8px);\n }\n 45% {\n transform: translateX(-6px);\n }\n 60% {\n transform: translateX(6px);\n }\n 75% {\n transform: translateX(-3px);\n }\n 90% {\n transform: translateX(3px);\n }\n}\n\n.ermis-call-ui__error-text {\n margin: 0 0 var(--ermis-spacing-lg);\n color: var(--ermis-text-primary);\n font-weight: 500;\n font-size: 1.1rem;\n line-height: 1.5;\n max-width: 320px;\n}\n\n.ermis-call-ui__error-dismiss {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n padding: 12px 28px;\n border-radius: var(--ermis-radius-full);\n border: none;\n font-weight: 600;\n font-size: var(--ermis-font-size-base);\n cursor: pointer;\n transition: all var(--ermis-transition);\n background-color: var(--ermis-color-danger);\n color: #ffffff;\n box-shadow: 0 2px 12px rgba(239, 68, 68, 0.3);\n}\n\n.ermis-call-ui__error-dismiss:hover {\n background-color: var(--ermis-color-danger-hover);\n box-shadow: 0 4px 20px rgba(239, 68, 68, 0.4);\n transform: scale(1.02);\n}\n\n.ermis-call-ui__error-dismiss:active {\n transform: scale(0.98);\n}\n\n/* ============================================================\n REDUCED MOTION\n ============================================================ */\n@media (prefers-reduced-motion: reduce) {\n .ermis-call-ui__ringing-avatar::before,\n .ermis-call-ui__ringing-avatar::after,\n .ermis-call-ui__ringing-avatar-inner,\n .ermis-call-ui__audio-wave-bar,\n .ermis-call-ui__active-status-dot,\n .ermis-call-ui__error-icon {\n animation: none;\n }\n\n .ermis-call-ui__action-circle:hover,\n .ermis-call-ui__control-btn:hover,\n .ermis-call-ui__error-dismiss:hover {\n transform: none;\n }\n}\n\n/* ============================================================\n SPINNER\n ============================================================ */\n.ermis-call-ui__spinner {\n width: 20px;\n height: 20px;\n border: 2px solid rgba(255, 255, 255, 0.3);\n border-radius: 50%;\n border-top-color: #ffffff;\n animation: ermis-call-spin 0.8s linear infinite;\n}\n\n@keyframes ermis-call-spin {\n to {\n transform: rotate(360deg);\n }\n}\n","/* ----------------------------------------------------------\n CreateTopicModal\n ---------------------------------------------------------- */\n.ermis-create-topic__body {\n display: flex;\n flex-direction: column;\n gap: var(--ermis-spacing-lg);\n padding: 0 var(--ermis-spacing-xs);\n}\n\n.ermis-create-topic__field {\n display: flex;\n flex-direction: column;\n gap: var(--ermis-spacing-xs);\n}\n\n.ermis-create-topic__label {\n font-size: var(--ermis-font-size-sm);\n font-weight: 500;\n color: var(--ermis-text-primary);\n}\n\n.ermis-create-topic__required {\n color: var(--ermis-error);\n}\n\n.ermis-create-topic__input {\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n border: 1px solid var(--ermis-border);\n border-radius: var(--ermis-radius-md);\n font-size: var(--ermis-font-size-base);\n color: var(--ermis-text-primary);\n background-color: var(--ermis-bg-primary);\n transition: border-color var(--ermis-transition);\n}\n\n.ermis-create-topic__input:focus {\n outline: none;\n border-color: var(--ermis-accent);\n}\n\n.ermis-create-topic__live-preview {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-md);\n background-color: var(--ermis-bg-secondary);\n border-radius: var(--ermis-radius-md);\n border: 1px dashed var(--ermis-border);\n}\n\n.ermis-create-topic__live-preview-emoji {\n font-size: 20px;\n}\n\n.ermis-create-topic__live-preview-name {\n font-size: var(--ermis-font-size-base);\n font-weight: 600;\n color: var(--ermis-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ermis-create-topic__emoji-picker {\n margin-top: var(--ermis-spacing-sm);\n}\n\n.ermis-create-topic__default-icons {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: var(--ermis-spacing-sm);\n}\n\n.ermis-create-topic__default-icon {\n width: 100%;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 20px;\n background-color: var(--ermis-bg-secondary);\n border: 1px solid var(--ermis-border);\n border-radius: var(--ermis-radius-md);\n cursor: pointer;\n transition: all var(--ermis-transition);\n}\n\n.ermis-create-topic__default-icon:hover:not(:disabled) {\n background-color: var(--ermis-bg-hover);\n border-color: var(--ermis-border-hover);\n}\n\n.ermis-create-topic__default-icon--active {\n border-color: var(--ermis-accent);\n background-color: var(--ermis-bg-primary);\n}\n\n.ermis-create-topic__default-icon:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n\n.ermis-create-topic__error {\n display: flex;\n align-items: center;\n gap: var(--ermis-spacing-sm);\n padding: var(--ermis-spacing-sm);\n border-radius: var(--ermis-radius-md);\n background-color: rgba(239, 68, 68, 0.1);\n color: var(--ermis-error);\n font-size: var(--ermis-font-size-sm);\n}\n\n.ermis-create-topic__footer {\n display: flex;\n justify-content: flex-end;\n gap: var(--ermis-spacing-sm);\n margin-top: var(--ermis-spacing-lg);\n}\n\n.ermis-create-topic__btn {\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-lg);\n border-radius: var(--ermis-radius-md);\n font-size: var(--ermis-font-size-sm);\n font-weight: 500;\n cursor: pointer;\n transition: all var(--ermis-transition);\n border: none;\n}\n\n.ermis-create-topic__btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.ermis-create-topic__btn--cancel {\n background-color: transparent;\n color: var(--ermis-text-primary);\n}\n\n.ermis-create-topic__btn--cancel:hover:not(:disabled) {\n background-color: var(--ermis-bg-hover);\n}\n\n.ermis-create-topic__btn--create {\n background-color: var(--ermis-accent);\n color: white;\n}\n\n.ermis-create-topic__btn--create:hover:not(:disabled) {\n background-color: var(--ermis-accent-hover);\n}\n","/* ============================================================\n Media Lightbox – Full-screen overlay for images & videos\n BEM: .ermis-lightbox__{element}--{modifier}\n ============================================================ */\n\n/* ----------------------------------------------------------\n Overlay & backdrop\n ---------------------------------------------------------- */\n.ermis-lightbox {\n position: fixed;\n inset: 0;\n z-index: 1100;\n display: flex;\n flex-direction: column;\n animation: ermis-lightbox-fade-in 0.2s ease-out;\n}\n\n.ermis-lightbox__backdrop {\n position: absolute;\n inset: 0;\n background-color: rgba(0, 0, 0, 0.92);\n backdrop-filter: blur(8px);\n}\n\n@keyframes ermis-lightbox-fade-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n/* ----------------------------------------------------------\n Header: counter + close\n ---------------------------------------------------------- */\n.ermis-lightbox__header {\n position: relative;\n z-index: 2;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n min-height: 48px;\n}\n\n.ermis-lightbox__counter {\n color: rgba(255, 255, 255, 0.8);\n font-size: 14px;\n font-weight: 500;\n letter-spacing: 0.5px;\n user-select: none;\n}\n\n.ermis-lightbox__actions {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-left: auto;\n}\n\n.ermis-lightbox__action-btn {\n background: rgba(255, 255, 255, 0.1);\n border: none;\n border-radius: 50%;\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: rgba(255, 255, 255, 0.85);\n cursor: pointer;\n transition: background-color 0.15s ease, color 0.15s ease;\n}\n\n.ermis-lightbox__action-btn:hover {\n background: rgba(255, 255, 255, 0.2);\n color: #fff;\n}\n\n/* ----------------------------------------------------------\n Content area\n ---------------------------------------------------------- */\n.ermis-lightbox__content {\n position: relative;\n z-index: 1;\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 60px;\n overflow: hidden;\n cursor: default;\n}\n\n/* ----------------------------------------------------------\n Image\n ---------------------------------------------------------- */\n.ermis-lightbox__image {\n max-width: 90vw;\n max-height: 80vh;\n object-fit: contain;\n border-radius: 4px;\n user-select: none;\n transition: transform 0.15s ease;\n animation: ermis-lightbox-zoom-in 0.25s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.ermis-lightbox__image--zoomed {\n transition: none;\n}\n\n@keyframes ermis-lightbox-zoom-in {\n from {\n opacity: 0;\n transform: scale(0.92);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n/* ----------------------------------------------------------\n Video\n ---------------------------------------------------------- */\n.ermis-lightbox__video-wrapper {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.ermis-lightbox__video {\n max-width: 90vw;\n max-height: 80vh;\n border-radius: 4px;\n background: #000;\n outline: none;\n animation: ermis-lightbox-zoom-in 0.25s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n/* Retry overlay + spinner shown when video fails to load (CDN not ready) */\n.ermis-lightbox__video-retry {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(0, 0, 0, 0.5);\n border-radius: 4px;\n pointer-events: none;\n}\n\n.ermis-lightbox__video-spinner {\n width: 36px;\n height: 36px;\n border: 3px solid rgba(255, 255, 255, 0.2);\n border-top-color: #fff;\n border-radius: 50%;\n animation: ermis-lightbox-spin 0.8s linear infinite;\n}\n\n@keyframes ermis-lightbox-spin {\n to { transform: rotate(360deg); }\n}\n\n/* ----------------------------------------------------------\n Navigation buttons\n ---------------------------------------------------------- */\n.ermis-lightbox__nav {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n z-index: 3;\n background: rgba(255, 255, 255, 0.08);\n border: none;\n border-radius: 50%;\n width: 44px;\n height: 44px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: rgba(255, 255, 255, 0.75);\n cursor: pointer;\n transition: background-color 0.15s ease, color 0.15s ease, transform 0.15s ease;\n}\n\n.ermis-lightbox__nav:hover {\n background: rgba(255, 255, 255, 0.18);\n color: #fff;\n}\n\n.ermis-lightbox__nav--prev {\n left: 12px;\n}\n\n.ermis-lightbox__nav--prev:hover {\n transform: translateY(-50%) translateX(-2px);\n}\n\n.ermis-lightbox__nav--next {\n right: 12px;\n}\n\n.ermis-lightbox__nav--next:hover {\n transform: translateY(-50%) translateX(2px);\n}\n\n/* ----------------------------------------------------------\n Filename\n ---------------------------------------------------------- */\n.ermis-lightbox__filename {\n position: relative;\n z-index: 2;\n text-align: center;\n padding: 8px 16px 16px;\n color: rgba(255, 255, 255, 0.6);\n font-size: 13px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n user-select: none;\n}\n\n/* ----------------------------------------------------------\n Clickable attachment overlay (hover effect on images/videos in messages)\n ---------------------------------------------------------- */\n.ermis-attachment--clickable {\n cursor: pointer;\n position: relative;\n}\n\n.ermis-attachment--clickable::after {\n content: '';\n position: absolute;\n inset: 0;\n background: rgba(0, 0, 0, 0);\n border-radius: inherit;\n transition: background-color 0.2s ease;\n pointer-events: none;\n}\n\n.ermis-attachment--clickable:hover::after {\n background: rgba(0, 0, 0, 0.12);\n}\n\n/* Zoom hint icon on hover */\n.ermis-attachment__overlay {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%) scale(0.8);\n z-index: 2;\n opacity: 0;\n transition: opacity 0.2s ease, transform 0.2s ease;\n color: #fff;\n background: rgba(0, 0, 0, 0.5);\n border-radius: 50%;\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n}\n\n.ermis-attachment--clickable:hover .ermis-attachment__overlay {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n}\n\n/* ----------------------------------------------------------\n Responsive: small viewports\n ---------------------------------------------------------- */\n@media (max-width: 768px) {\n .ermis-lightbox__content {\n padding: 0 12px;\n }\n\n .ermis-lightbox__image,\n .ermis-lightbox__video {\n max-width: 100vw;\n max-height: 75vh;\n }\n\n .ermis-lightbox__nav {\n width: 36px;\n height: 36px;\n }\n\n .ermis-lightbox__nav--prev {\n left: 4px;\n }\n\n .ermis-lightbox__nav--next {\n right: 4px;\n }\n}\n","/* ----------------------------------------------------------\n PreviewOverlay\n ---------------------------------------------------------- */\n.ermis-preview-overlay {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--ermis-spacing-md);\n background-color: var(--ermis-bg-secondary);\n border-top: 1px solid var(--ermis-border);\n font-family: var(--ermis-font-family);\n}\n\n.ermis-preview-overlay__text {\n font-size: var(--ermis-font-size-sm);\n color: var(--ermis-text-secondary);\n font-weight: 500;\n}\n\n.ermis-preview-overlay__button {\n background-color: var(--ermis-accent);\n color: #ffffff;\n border: none;\n border-radius: var(--ermis-radius-md);\n padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);\n font-size: var(--ermis-font-size-sm);\n font-weight: 600;\n cursor: pointer;\n transition: opacity 0.2s ease, transform 0.1s ease;\n}\n\n.ermis-preview-overlay__button:hover {\n opacity: 0.9;\n}\n\n.ermis-preview-overlay__button:active {\n transform: scale(0.98);\n}\n"],"mappings":"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","names":[]}