/* Direkte Nachrichten – eigenständige, responsive Messenger-Oberfläche. */
.modal.messages-modal { width:min(1640px,98vw); height:min(920px,96vh); max-height:96vh; padding:0; overflow:hidden; border:1px solid #303340; border-radius:14px; background:#15171c; box-shadow:0 28px 90px rgba(0,0,0,.58); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.messages-modal > .modal-head { display:none; }
.dm-layout { position:relative; display:grid; grid-template-columns:minmax(280px,22fr) minmax(500px,56fr) minmax(270px,22fr); height:100%; min-height:0; overflow:hidden; background:#15171c; }
.messages-modal .dm-modal-close { position:absolute; z-index:5; top:14px; right:14px; display:grid; width:36px; height:36px; place-items:center; border:0; border-radius:9px; color:#b8bfd0; background:transparent; cursor:pointer; transition:background .18s,color .18s; }
.messages-modal .dm-modal-close:hover,.messages-modal .dm-modal-close:focus-visible { color:#fff; background:#383b46; }
.dm-layout.dm-profile-closed { grid-template-columns:minmax(280px,28fr) minmax(0,72fr); }.dm-profile[hidden] { display:none; }
.dm-sidebar { display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; min-width:0; min-height:0; overflow:hidden; border-right:1px solid #303340; background:#1b1d23; }.dm-sidebar::after { content:none; }
.dm-quick-nav { display:grid; gap:4px; padding:18px 18px 14px; border-bottom:1px solid #303340; }.dm-quick-item { display:flex; align-items:center; gap:15px; height:42px; padding:0 10px; border-radius:10px; color:#c5cada; font-size:14px; }.dm-quick-item svg { color:#aab1c5; }.dm-quick-item:hover { background:#383b46; color:#f2f3f7; }
.dm-search { display:block; width:100%; height:44px; margin:0 0 13px; padding:0 14px 0 42px; border:1px solid #3a3e4c; border-radius:10px; outline:0; color:#f2f3f7; background:#252934 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23a3a9bb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='m20 20-4.2-4.2'/%3E%3C/svg%3E") no-repeat 14px center; font:inherit; font-size:13px; }.dm-search::placeholder { color:#a3a9bb; }.dm-search:focus { border-color:#6c4ff6; box-shadow:0 0 0 3px rgba(108,79,246,.2); }
.dm-sidebar-head { min-height:48px; padding:0 20px; border:0; }.dm-sidebar-head strong { color:#a3a9bb; font-size:12px; font-weight:700; letter-spacing:.02em; text-transform:none; }.dm-sidebar-head .icon-btn { display:grid; width:32px; height:32px; margin-left:auto; place-items:center; border:0; border-radius:8px; color:#aeb5c8; background:transparent; }.dm-sidebar-head .icon-btn:hover { color:#fff; background:#383b46; }
.dm-conversation-list { min-height:0; overflow-y:auto; padding:0 10px 12px; scrollbar-color:#4a4f5d transparent; }.dm-conversation { width:100%; margin:2px 0; border:0; border-radius:11px; color:#dce0ea; background:transparent; }.dm-conversation:hover { transform:none; color:#fff; background:#383b46; }.dm-conversation.is-active { border:0; color:#fff; background:linear-gradient(105deg,rgba(108,79,246,.42),#373b48); box-shadow:inset 3px 0 #8b72ff; }.dm-conversation-open { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:10px; min-height:64px; padding:9px 10px; }.dm-avatar-wrap { position:relative; display:grid; place-items:center; }.dm-avatar-wrap .avatar,.dm-message .avatar { border:1px solid rgba(255,255,255,.1); }.dm-presence { position:absolute; right:-1px; bottom:-1px; width:13px; height:13px; border:2px solid #1b1d23; border-radius:50%; background:#35c98b; }.dm-conversation-copy { display:grid; min-width:0; gap:3px; }.dm-conversation-copy strong { overflow:hidden; color:inherit; font-size:14px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }.dm-conversation-copy small { overflow:hidden; color:#a3a9bb; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.dm-conversation-trailing { display:grid; align-content:start; justify-items:end; gap:6px; padding-top:2px; color:#a3a9bb; font-size:11px; }.dm-unread { display:grid; min-width:19px; height:19px; place-items:center; padding:0 5px; border-radius:20px; color:#fff; background:#6c4ff6; font-size:10px; font-weight:800; }.dm-hide { opacity:0; }.dm-conversation:hover .dm-hide { opacity:1; }
.dm-self-profile { display:grid; grid-template-columns:44px minmax(0,1fr) 34px; gap:10px; align-items:center; min-height:76px; padding:12px 18px; border-top:1px solid #303340; background:#191b21; }.dm-self-profile strong,.dm-self-profile small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.dm-self-profile strong { color:#f2f3f7; font-size:13px; }.dm-self-profile small { margin-top:2px; color:#35c98b; font-size:11px; }.dm-self-settings { display:grid; width:34px; height:34px; place-items:center; border:0; border-radius:9px; color:#b8bfd0; background:transparent; cursor:pointer; }.dm-self-settings:hover { color:#fff; background:#383b46; }
.dm-main { position:relative; display:grid; grid-template-rows:82px minmax(0,1fr) auto auto; min-width:0; min-height:0; height:100%; overflow:hidden; background:radial-gradient(circle at 58% 20%,rgba(108,79,246,.08),transparent 34%),#202229; }.dm-main::before { content:none; }.dm-main > * { position:relative; }
.dm-main-head { display:flex; align-items:center; justify-content:space-between; min-height:82px; padding:0 24px; border-bottom:1px solid #303340; background:rgba(27,29,35,.78); }.dm-mobile-back { display:none; }.dm-chat-person { display:grid !important; grid-template-columns:44px minmax(0,1fr); grid-template-rows:21px 17px; column-gap:11px; align-items:center; min-width:0; }.dm-chat-person > .avatar { grid-row:1 / 3; width:44px !important; height:44px !important; border:0; }.dm-chat-person > span { display:contents; }.dm-chat-person strong { grid-column:2; overflow:hidden; color:#f2f3f7; font-size:17px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }.dm-chat-person small { grid-column:2; color:#a3a9bb; font-size:12px; }.dm-chat-person small.online { color:#35c98b; }.dm-header-tools { display:flex !important; align-items:center; gap:8px; }.dm-head-tool { display:grid; width:38px; height:38px; place-items:center; border:0; border-radius:10px; color:#b8bfd0; background:transparent; cursor:pointer; transition:background .18s,color .18s; }.dm-head-tool:hover { color:#fff; background:#383b46; }.dm-chat-search { width:230px; height:42px; padding:0 13px; border:1px solid #3a3e4c; border-radius:10px; outline:0; color:#f2f3f7; background:#1b1d23; font:inherit; font-size:12px; }.dm-chat-search::placeholder { color:#a3a9bb; }.dm-chat-search:focus { border-color:#6c4ff6; }
.dm-message-list { display:flex; flex-direction:column; gap:12px; min-height:0; padding:28px 28px 22px; overflow-y:auto; scrollbar-color:#4a4f5d transparent; }.dm-date-divider { display:flex; align-items:center; gap:16px; margin:6px 0 14px; color:#a3a9bb; font-size:12px; font-weight:700; }.dm-date-divider::before,.dm-date-divider::after { flex:1; height:1px; background:#373a45; content:""; }.dm-message { display:flex; align-items:flex-start; gap:11px; width:100%; max-width:none; min-height:40px; margin:0; }.dm-message.own { flex-direction:row; justify-content:flex-end; align-self:auto; }.dm-message .avatar { width:42px !important; height:42px !important; flex:0 0 auto; border:0; }.dm-bubble { max-width:min(74%,600px); padding:11px 14px; border:0; border-radius:7px 14px 14px 14px; color:#f2f3f7; background:#2d303b; box-shadow:none; }.dm-message.own .dm-bubble { border:0; border-radius:14px 7px 14px 14px; color:#fff; background:linear-gradient(135deg,#795cf8,#5e41eb); }.dm-message-meta { display:flex; align-items:baseline; gap:9px; margin-bottom:4px; }.dm-message-meta strong { color:inherit; font-size:13px; font-weight:750; }.dm-message-meta small,.dm-message.own .dm-message-meta small { color:#aeb4c5; font-size:11px; }.dm-message.own .dm-message-meta small { color:rgba(255,255,255,.72); }.dm-message-body { color:inherit; font-size:14px; line-height:1.46; }.dm-gif,.dm-attachment img,.dm-bubble > img { display:block; max-width:min(340px,100%); max-height:240px; margin-top:8px; border-radius:9px; }.dm-attachment { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:center; min-width:240px; padding:10px; border:1px solid rgba(255,255,255,.1); border-radius:9px; color:inherit; background:rgba(0,0,0,.14); }.dm-attachment img { display:none; }.dm-attachment span { margin:0; text-decoration:none; }
.dm-typing { min-height:24px; padding:2px 28px 5px; color:#a3a9bb; background:#202229; }.dm-compose { display:flex; align-items:center; gap:8px; min-height:58px; margin:0 22px 22px; padding:7px 10px; border:1px solid #464a58; border-radius:13px; background:#262932; box-shadow:0 8px 24px rgba(0,0,0,.18); }.dm-compose textarea { min-height:40px; padding:10px 5px; color:#f2f3f7; font:inherit; font-size:14px; }.dm-compose textarea::placeholder { color:#9098ad; }.dm-tool { width:35px; height:35px; border-radius:9px; color:#b7bed0; }.dm-tool:hover { color:#fff; background:#383b46; }.dm-compose .btn.primary { display:grid; min-width:42px; height:42px; place-items:center; padding:0; border-radius:10px; background:#6c4ff6; font-size:0; }.dm-compose .btn.primary:hover { background:#7a60ff; }.dm-compose .btn.primary svg { transform:rotate(-90deg); }
.dm-profile { min-width:0; overflow-y:auto; border-left:1px solid #303340; background:#1b1d23; }.dm-profile-person { display:grid; justify-items:center; padding:28px 20px 22px; text-align:center; }.dm-profile-avatar { position:relative; display:grid; margin-bottom:11px; }.dm-profile-avatar .avatar { width:88px !important; height:88px !important; border:0; border-radius:50%; background:#6c4ff6; font-size:34px !important; }.dm-profile-avatar .dm-presence { width:19px; height:19px; border-width:3px; border-color:#1b1d23; }.dm-profile-person strong { color:#f2f3f7; font-size:20px; }.dm-profile-person small { margin-top:4px; color:#a3a9bb; font-size:13px; }.dm-profile-divider { height:1px; margin:0 22px; background:#343742; }.dm-profile-section { padding:20px 24px; border-bottom:1px solid #343742; }.dm-profile-section strong { color:#c9cede; font-size:13px; }.dm-profile-section p { margin:10px 0 0; color:#a3a9bb; font-size:13px; line-height:1.5; }
.dm-shared-media { display:grid; gap:10px; }.dm-media-row { display:grid; grid-template-columns:32px minmax(0,1fr) auto; gap:9px; align-items:center; padding:9px; border-radius:10px; background:#262932; }.dm-media-row > svg { display:grid; width:32px; height:32px; place-self:center; padding:7px; border-radius:8px; color:#c7baff; background:rgba(108,79,246,.18); }.dm-media-row span:not(.dm-media-count) { min-width:0; }.dm-media-row b,.dm-media-row small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.dm-media-row b { color:#e8eaf1; font-size:12px; }.dm-media-row small { margin-top:2px; color:#9fa6b7; font-size:11px; }.dm-media-count { display:grid; min-width:22px; height:22px; place-items:center; border-radius:8px; color:#cdc5ff; background:rgba(108,79,246,.15); font-size:11px; font-weight:700; }
.dm-welcome { min-height:100%; border:0; background:transparent; }.dm-welcome svg { color:#8b72ff; }
@media (max-width:1180px) { .dm-layout { grid-template-columns:310px minmax(0,1fr); }.dm-profile { position:absolute; z-index:2; top:0; right:0; bottom:0; width:min(330px,86vw); box-shadow:-18px 0 40px rgba(0,0,0,.35); }.dm-layout:not(.dm-profile-closed) .dm-profile { display:block; }.dm-layout.dm-profile-closed .dm-profile { display:none; } }
@media (max-width:720px) { .modal.messages-modal { width:100vw; height:100vh; max-height:100vh; border:0; border-radius:0; }.dm-layout,.dm-layout.dm-profile-closed { grid-template-columns:1fr; }.dm-sidebar { display:grid; }.dm-main { display:none; }.dm-layout.dm-mobile-chat-open .dm-sidebar { display:none; }.dm-layout.dm-mobile-chat-open .dm-main { display:grid; }.dm-profile { display:none !important; }.dm-layout.dm-mobile-profile-open .dm-main { display:none; }.dm-layout.dm-mobile-profile-open .dm-profile { position:static; display:block !important; width:auto; box-shadow:none; }.dm-main-head { min-height:66px; padding:0 14px; }.dm-mobile-back { display:grid; width:34px; height:34px; margin-right:3px; place-items:center; border:0; border-radius:8px; color:#c4cbdd; background:transparent; }.dm-mobile-back svg { transform:rotate(180deg); }.dm-chat-person > .avatar { width:38px !important; height:38px !important; }.dm-chat-person { grid-template-columns:38px minmax(0,1fr); }.dm-header-tools { gap:2px; }.dm-chat-search { display:none; }.dm-message-list { padding:18px 14px; }.dm-bubble { max-width:82%; }.dm-compose { margin:0 10px 10px; } }

/* Verbindliche kompakte Zwei-Spalten-Ansicht: nutzt die gesamte Dialoghöhe. */
.modal.messages-modal { width:min(1260px,calc(100vw - 32px)); height:calc(100vh - 48px); max-height:none; }
.messages-modal > :not(.modal-head) { height:100%; min-height:0; }
.dm-layout { grid-template-columns:290px minmax(0,1fr); height:100%; min-height:0; }
.dm-sidebar { grid-template-rows:58px auto minmax(0,1fr) 70px; }
.dm-quick-nav,.dm-profile { display:none !important; }
.dm-sidebar-head { min-height:58px; padding:0 16px; border-bottom:1px solid #303340; }.dm-sidebar-head strong { color:#f2f3f5; font-size:15px; }.dm-sidebar-head .icon-btn { color:#b9c0d1; }
.dm-sidebar > .dm-search { width:calc(100% - 28px); height:40px; margin:14px; padding-left:39px; border-radius:9px; }
.dm-conversation-list { padding:0 8px 10px; }.dm-conversation-open { min-height:56px; grid-template-columns:38px minmax(0,1fr) auto; gap:9px; padding:8px; }.dm-conversation-copy strong { font-size:13px; }.dm-conversation-copy small { font-size:11px; }.dm-conversation-trailing { font-size:10px; }
.dm-self-profile { min-height:70px; padding:10px 14px; }
.dm-main { grid-template-rows:64px minmax(0,1fr) auto auto; min-height:0; }.dm-main-head { min-height:64px; padding:0 62px 0 18px; }.dm-chat-person strong { font-size:15px; }.dm-message-list { min-height:0; padding:20px 24px; }.dm-compose { margin:0 16px 16px; }
@media (max-width:720px) { .modal.messages-modal { width:100vw; height:100vh; max-height:none; border-radius:0; }.messages-modal > :not(.modal-head) { height:100%; }.dm-layout { grid-template-columns:1fr; }.dm-sidebar { display:grid; }.dm-main { display:none; }.dm-layout.dm-mobile-chat-open .dm-sidebar { display:none; }.dm-layout.dm-mobile-chat-open .dm-main { display:grid; }.dm-message-list { padding:16px 12px; }.dm-compose { margin:0 8px 8px; } }

/* Stabilisierung des bestehenden Nachrichtenverlaufs: keine Überlappungen. */
.dm-main-head { position:relative; z-index:1; flex:0 0 64px; overflow:hidden; }.dm-main-head > .dm-chat-person { min-width:0; }.dm-main-head > .dm-header-tools { flex:0 0 auto; min-width:0; }.dm-chat-search { max-width:230px; min-width:0; }
.dm-message-list { position:relative; display:flex; flex-direction:column; align-items:stretch; gap:8px; min-height:0; overflow-y:auto; overscroll-behavior:contain; }.dm-date-divider,.dm-message { position:relative; flex:0 0 auto; min-width:0; }.dm-date-divider { width:100%; }.dm-message { display:flex; align-items:flex-end; width:100%; }.dm-message:not(.own) { justify-content:flex-start; }.dm-message.own { justify-content:flex-end; }.dm-bubble,.dm-message.own .dm-bubble { position:relative; width:fit-content; min-width:0; max-width:min(70%,560px); overflow-wrap:anywhere; word-break:normal; }.dm-message .avatar { flex:0 0 auto; align-self:flex-end; }
.dm-message-image,.dm-gif,.dm-attachment img,.dm-bubble > img { display:block; width:auto; max-width:min(320px,100%); height:auto; max-height:none; object-fit:contain; border-radius:8px; }.dm-attachment { display:block; min-width:0; padding:0; border:0; background:transparent; }.dm-attachment img { margin-top:8px; }.dm-attachment span { display:flex; align-items:center; gap:6px; margin-top:6px; color:inherit; font-size:11px; text-decoration:underline; }
@media (max-width:720px) { .dm-main-head { flex-basis:64px; }.dm-chat-search { display:none; }.dm-bubble,.dm-message.own .dm-bubble { max-width:calc(100% - 46px); }.dm-message-image,.dm-gif,.dm-attachment img,.dm-bubble > img { max-width:100%; } }

/* Feste Chat-Kopfzeile: Avatar, Status und Suche können sich nicht überlagern. */
.dm-main { grid-template-rows:70px minmax(0,1fr) auto auto; }.dm-main-head { display:flex; align-items:center; gap:14px; min-height:70px; height:70px; padding:0 18px; overflow:visible; }.dm-chat-person { display:flex !important; flex:1 1 auto; grid-template-columns:none; grid-template-rows:none; align-items:center; gap:10px; min-width:0; height:100%; }.dm-chat-person > .avatar { flex:0 0 40px; width:40px !important; height:40px !important; grid-row:auto; }.dm-chat-person > span { display:block !important; min-width:0; }.dm-chat-person strong,.dm-chat-person small { display:block !important; grid-column:auto; margin:0; padding:0; }.dm-chat-person strong { overflow:hidden; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }.dm-chat-person small { margin-top:2px; font-size:11px; }.dm-header-tools { display:flex !important; flex:0 0 auto; align-items:center; gap:6px; height:100%; }.dm-header-tools [hidden] { display:none !important; }.dm-head-tool { flex:0 0 36px; width:36px; height:36px; }.dm-chat-search { width:220px; height:36px; max-width:28vw; }.dm-message-list { z-index:0; }
@media (max-width:720px) { .dm-main { grid-template-rows:64px minmax(0,1fr) auto auto; }.dm-main-head { min-height:64px; height:64px; padding:0 10px; gap:7px; }.dm-chat-person > .avatar { flex-basis:36px; width:36px !important; height:36px !important; }.dm-chat-search { display:none !important; }.dm-header-tools { gap:1px; }.dm-head-tool { flex-basis:34px; width:34px; height:34px; } }

/* Reparatur der echten Chat-Komponenten: bewusst nach den älteren Panel-Regeln. */
.messages-modal .dm-main { grid-template-rows:72px minmax(0,1fr) auto auto; min-height:0; height:100%; overflow:hidden; }
.messages-modal .dm-main-head { box-sizing:border-box; display:flex; align-items:center; gap:14px; min-height:72px; height:72px; padding:0 18px; overflow:visible; flex:none; }
.messages-modal .dm-main-head > .dm-chat-person::before,.messages-modal .dm-main-head > .dm-header-tools::before { display:none !important; content:none !important; }
.messages-modal .dm-chat-person { display:flex !important; flex:1 1 auto; align-items:center; gap:10px; min-width:0; height:100%; }
.messages-modal .dm-chat-person > .avatar { flex:0 0 40px; width:40px !important; height:40px !important; }
.messages-modal .dm-chat-person > span { display:block !important; min-width:0; }
.messages-modal .dm-chat-person strong,.messages-modal .dm-chat-person small { display:block !important; margin:0; padding:0; }
.messages-modal .dm-chat-person strong { overflow:hidden; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.messages-modal .dm-chat-person small { margin-top:2px; font-size:11px; }
.messages-modal .dm-header-tools { display:flex !important; flex:0 0 auto; align-items:center; gap:6px; height:100%; }
.messages-modal .dm-header-tools [hidden] { display:none !important; }
.messages-modal .dm-message-list { display:flex; flex-direction:column; align-items:stretch; gap:0; min-height:0; padding:16px 24px 24px; overflow-y:auto; overscroll-behavior:contain; }
.messages-modal .dm-date-divider { flex:0 0 auto; width:100%; margin:18px 0 12px; }
.messages-modal .dm-message-group { display:grid; grid-template-columns:34px minmax(0,1fr); column-gap:10px; flex:0 0 auto; min-width:0; margin:0 0 16px; }
.messages-modal .dm-message-group.own { grid-template-columns:minmax(0,1fr); justify-items:stretch; }
.messages-modal .dm-message-group-avatar { grid-row:1 / span 2; align-self:start; }
.messages-modal .dm-message-group-avatar .avatar { width:34px !important; height:34px !important; border:0; }
.messages-modal .dm-message-group-main { min-width:0; width:100%; }
.messages-modal .dm-message-group.own .dm-message-group-main { display:flex; flex-direction:column; align-items:flex-end; }
.messages-modal .dm-message-group-head { display:flex; align-items:baseline; gap:8px; min-height:17px; margin:0 0 4px; }
.messages-modal .dm-message-group.own .dm-message-group-head { justify-content:flex-end; }
.messages-modal .dm-message-group-head strong { color:#f2f3f7; font-size:13px; font-weight:750; }
.messages-modal .dm-message-group-head small { color:#aeb4c5; font-size:11px; }
.messages-modal .dm-message-group-bubbles { display:flex; flex-direction:column; align-items:flex-start; gap:4px; min-width:0; }
.messages-modal .dm-message-group.own .dm-message-group-bubbles { align-items:flex-end; }
.messages-modal .dm-message-group .dm-bubble { align-self:flex-start; inline-size:fit-content; max-inline-size:min(65%,560px); min-inline-size:72px; flex:0 0 auto; padding:10px 13px 7px; overflow-wrap:break-word; word-break:normal; white-space:normal; border-radius:7px 14px 14px 14px; }
.messages-modal .dm-message-group.own .dm-bubble { align-self:flex-end; border-radius:14px 7px 14px 14px; color:#fff; background:linear-gradient(135deg,#795cf8,#5e41eb); }
.messages-modal .dm-message-group .dm-bubble:empty { display:none; }
.messages-modal .dm-bubble-time { display:block; margin-top:4px; color:#aeb4c5; font-size:10px; line-height:1; text-align:right; white-space:nowrap; }
.messages-modal .dm-message-group.own .dm-bubble-time { color:rgba(255,255,255,.76); }
.messages-modal .dm-message-group[hidden],.messages-modal .dm-date-divider[hidden] { display:none !important; }
.messages-modal .dm-message-list.dm-search-no-results::after { display:block; margin:auto; color:#a3a9bb; font-size:13px; text-align:center; content:'Keine passende Nachricht gefunden.'; }
.modal.dm-profile-settings-modal { width:min(620px,calc(100vw - 32px)); }
.dm-profile-settings-form { display:grid; gap:14px; padding:20px; }
.dm-profile-settings-picture { display:flex; align-items:center; gap:16px; padding:14px; border:1px solid #343845; border-radius:12px; background:#20232b; }
.dm-profile-settings-avatar { flex:0 0 auto; }
.dm-profile-settings-picture strong,.dm-profile-settings-picture small { display:block; }
.dm-profile-settings-picture small { margin:3px 0 10px; color:#a3a9bb; }
@media (max-width:720px) { .messages-modal .dm-main { grid-template-rows:64px minmax(0,1fr) auto auto; }.messages-modal .dm-main-head { min-height:64px; height:64px; padding:0 10px; gap:7px; }.messages-modal .dm-chat-person > .avatar { flex-basis:36px; width:36px !important; height:36px !important; }.messages-modal .dm-message-list { padding:14px 12px 18px; }.messages-modal .dm-message-group { margin-bottom:14px; }.messages-modal .dm-message-group .dm-bubble { max-width:calc(100% - 10px); } }

/* Nachrichtenfenster: 22 / 56 / 22, aufklappbares Profil und geordneter Composer. */
.modal.messages-modal {
  width:min(1580px,calc(100vw - 24px));
  height:calc(100vh - 64px);
  max-height:none;
}
.messages-modal .dm-layout {
  position:relative;
  grid-template-columns:minmax(260px,22fr) minmax(0,56fr) minmax(260px,22fr);
}
.messages-modal .dm-layout.dm-profile-closed {
  grid-template-columns:minmax(260px,22fr) minmax(0,78fr);
}
.messages-modal .dm-profile[hidden] { display:none !important; }
.messages-modal .dm-profile:not([hidden]) {
  display:block !important;
  min-width:0;
  min-height:0;
  overflow-y:auto;
  border-left:1px solid #303340;
  background:#1b1d23;
}

.messages-modal button.dm-chat-person {
  appearance:none;
  width:auto;
  padding:6px 9px;
  border:0;
  border-radius:10px;
  color:inherit;
  background:transparent;
  text-align:left;
  cursor:pointer;
  transition:background .18s ease;
}
.messages-modal button.dm-chat-person:hover,
.messages-modal button.dm-chat-person:focus-visible { background:#2b2e37; }
.messages-modal button.dm-chat-person:focus-visible { outline:2px solid #6c4ff6; outline-offset:2px; }

.messages-modal .dm-profile-head {
  position:sticky;
  z-index:1;
  top:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:72px;
  padding:0 18px 0 22px;
  border-bottom:1px solid #303340;
  color:#f2f3f7;
  background:rgba(27,29,35,.96);
  backdrop-filter:blur(10px);
}
.messages-modal .dm-profile-status {
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:10px;
  padding:5px 10px;
  border-radius:999px;
  color:#a3a9bb;
  background:#252831;
  font-size:11px;
  font-weight:700;
}
.messages-modal .dm-profile-status::before {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#788094;
  content:"";
}
.messages-modal .dm-profile-status.online { color:#75ddb5; }
.messages-modal .dm-profile-status.online::before { background:#35c98b; }
.messages-modal .dm-profile-facts dl { display:grid; gap:10px; margin:12px 0 0; }
.messages-modal .dm-profile-facts dl > div {
  display:grid;
  grid-template-columns:minmax(72px,.7fr) minmax(0,1.3fr);
  gap:10px;
  padding:10px 11px;
  border-radius:9px;
  background:#24272f;
}
.messages-modal .dm-profile-facts dt { color:#8f97aa; font-size:11px; }
.messages-modal .dm-profile-facts dd {
  min-width:0;
  margin:0;
  overflow-wrap:anywhere;
  color:#e4e7ef;
  font-size:12px;
  text-align:right;
}
.messages-modal .dm-profile-links { display:grid; gap:7px; margin-top:11px; }
.messages-modal .dm-profile-links a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  padding:10px 11px;
  border-radius:9px;
  color:#cfc8ff;
  background:#24272f;
  font-size:12px;
  text-decoration:none;
}
.messages-modal .dm-profile-links a:hover { color:#fff; background:#383b46; }

.messages-modal .dm-compose {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:end;
  gap:8px;
  min-height:62px;
  margin:0 18px 18px;
  padding:8px 9px;
  border:1px solid #404552;
  border-radius:14px;
  background:#282b34;
  box-shadow:0 10px 28px rgba(0,0,0,.2);
}
.messages-modal .dm-compose-leading,
.messages-modal .dm-compose-actions {
  display:flex;
  align-items:end;
  gap:4px;
  min-height:44px;
}
.messages-modal .dm-compose-editor {
  display:flex;
  align-items:center;
  min-width:0;
  min-height:44px;
  border-radius:10px;
  background:#22262e;
}
.messages-modal .dm-compose textarea {
  box-sizing:border-box;
  display:block;
  width:100%;
  height:44px;
  min-height:44px;
  max-height:120px;
  margin:0;
  padding:11px 12px;
  overflow-y:auto;
  resize:none;
  border:0 !important;
  outline:0;
  color:#f2f3f7;
  background:transparent !important;
  box-shadow:none !important;
  line-height:1.45;
}
.messages-modal .dm-compose textarea:focus { box-shadow:inset 0 0 0 1px #6c4ff6 !important; }
.messages-modal .dm-compose .dm-tool {
  flex:0 0 38px;
  width:38px;
  height:38px;
  padding:0;
  border:0;
  border-radius:10px;
  color:#b8bfd0;
  background:transparent;
  cursor:pointer;
}
.messages-modal .dm-compose .dm-tool.gif {
  width:auto;
  flex-basis:auto;
  padding:0 8px;
  font-size:10px;
  font-weight:800;
}
.messages-modal .dm-compose .dm-tool.emoji { font-size:20px; }
.messages-modal .dm-compose .dm-tool:hover { color:#fff; background:#383b46; }
.messages-modal .dm-compose .btn.primary {
  width:44px;
  min-width:44px;
  height:44px;
  border-radius:11px;
}

@media (max-width:1180px) {
  .modal.messages-modal { width:calc(100vw - 20px); }
  .messages-modal .dm-layout,
  .messages-modal .dm-layout.dm-profile-closed { grid-template-columns:minmax(270px,30fr) minmax(0,70fr); }
  .messages-modal .dm-profile:not([hidden]) {
    position:absolute;
    z-index:5;
    inset:0 0 0 auto;
    display:block !important;
    width:min(350px,88vw);
    box-shadow:-20px 0 44px rgba(0,0,0,.45);
  }
}

@media (max-width:720px) {
  .modal.messages-modal { width:100vw; height:100vh; max-height:none; }
  .messages-modal .dm-layout,
  .messages-modal .dm-layout.dm-profile-closed { grid-template-columns:1fr; }
  .messages-modal .dm-layout.dm-mobile-profile-open .dm-sidebar,
  .messages-modal .dm-layout.dm-mobile-profile-open .dm-main { display:none; }
  .messages-modal .dm-layout.dm-mobile-profile-open .dm-profile:not([hidden]) {
    position:static;
    display:block !important;
    width:auto;
    box-shadow:none;
  }
  .messages-modal .dm-compose {
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:4px;
    margin:0 8px 8px;
    padding:6px;
  }
  .messages-modal .dm-compose-actions { gap:1px; }
  .messages-modal .dm-compose .dm-tool { flex-basis:34px; width:34px; }
  .messages-modal .dm-compose .dm-tool.gif { padding:0 5px; }
  .messages-modal .dm-compose .btn.primary { width:40px; min-width:40px; height:40px; }
}

/* Hochwertige Profilkarte in der rechten Messenger-Spalte. */
.messages-modal .dm-profile:not([hidden]) {
  background:
    linear-gradient(180deg,rgba(108,79,246,.035),transparent 34%),
    #191b21;
  scrollbar-color:#454a58 transparent;
}
.messages-modal .dm-profile-head {
  padding:0 15px 0 19px;
  background:rgba(25,27,33,.9);
}
.messages-modal .dm-profile-head > span { display:grid; gap:2px; }
.messages-modal .dm-profile-head > span small {
  color:#777f92;
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
}
.messages-modal .dm-profile-head > span strong { color:#f4f5f8; font-size:15px; }
.messages-modal .dm-profile-person {
  position:relative;
  display:grid;
  justify-items:stretch;
  padding:0 18px 18px;
  overflow:hidden;
  text-align:left;
}
.messages-modal .dm-profile-cover {
  position:relative;
  width:calc(100% + 36px);
  height:120px;
  margin:0 -18px;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.messages-modal .dm-profile-cover::after {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 24%,rgba(25,27,33,.82));
  content:"";
}
.messages-modal .dm-profile-cover i {
  position:absolute;
  width:90px;
  height:90px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  transform:rotate(28deg);
}
.messages-modal .dm-profile-cover i:first-child { top:-42px; left:-18px; }
.messages-modal .dm-profile-cover i:last-child { right:-28px; bottom:-46px; width:125px; height:125px; }
.messages-modal .dm-profile-avatar {
  position:relative;
  z-index:1;
  justify-self:start;
  margin:-48px 0 0 8px;
  padding:4px;
  border-radius:50%;
  background:#191b21;
  box-shadow:0 12px 30px rgba(0,0,0,.38);
}
.messages-modal .dm-profile-avatar .avatar {
  width:96px !important;
  height:96px !important;
  border:2px solid rgba(255,255,255,.1);
  background:linear-gradient(145deg,#795cf8,#5035d7);
  font-size:36px !important;
}
.messages-modal .dm-profile-presence {
  position:absolute;
  right:5px;
  bottom:5px;
  width:18px;
  height:18px;
  border:4px solid #191b21;
  border-radius:50%;
  background:#747b8c;
}
.messages-modal .dm-profile-presence.online { background:#35c98b; }
.messages-modal .dm-profile-identity { display:grid; justify-items:start; margin:9px 8px 0; }
.messages-modal .dm-profile-identity > strong {
  max-width:100%;
  overflow:hidden;
  color:#f5f6f9;
  font-size:21px;
  font-weight:800;
  letter-spacing:-.02em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.messages-modal .dm-profile-identity > small { margin-top:2px; color:#8f97aa; font-size:12px; }
.messages-modal .dm-profile-status {
  margin-top:10px;
  padding:5px 9px;
  border:1px solid rgba(255,255,255,.055);
  background:#23262e;
}
.messages-modal .dm-profile-chat-action {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  height:40px;
  margin-top:16px;
  border:1px solid rgba(130,105,255,.44);
  border-radius:11px;
  color:#edeaff;
  background:linear-gradient(135deg,rgba(108,79,246,.34),rgba(108,79,246,.16));
  font:inherit;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.messages-modal .dm-profile-chat-action:hover {
  transform:translateY(-1px);
  border-color:#8169ff;
  background:linear-gradient(135deg,rgba(108,79,246,.58),rgba(108,79,246,.25));
}
.messages-modal .dm-profile-divider { display:none; }
.messages-modal .dm-profile-section.dm-profile-card {
  margin:0 14px 12px;
  padding:15px;
  border:1px solid #30333d;
  border-radius:13px;
  background:linear-gradient(145deg,#22252d,#1f2229);
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.messages-modal .dm-profile-section-title {
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:12px;
}
.messages-modal .dm-profile-section-title > span,
.messages-modal .dm-profile-fact-icon,
.messages-modal .dm-profile-link-icon {
  display:grid;
  flex:0 0 30px;
  width:30px;
  height:30px;
  place-items:center;
  border-radius:9px;
  color:#c8bfff;
  background:rgba(108,79,246,.16);
}
.messages-modal .dm-profile-section-title > strong { color:#e7e9f0; font-size:12px; }
.messages-modal .dm-profile-about p {
  margin:0;
  color:#aeb4c4;
  font-size:12px;
  line-height:1.6;
  white-space:pre-wrap;
}
.messages-modal .dm-profile-facts dl { gap:7px; margin:0; }
.messages-modal .dm-profile-facts dl > div.dm-profile-fact {
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:9px;
  border:1px solid transparent;
  border-radius:10px;
  background:#292c35;
  transition:border-color .18s ease,background .18s ease;
}
.messages-modal .dm-profile-facts dl > div.dm-profile-fact:hover {
  border-color:#3c404c;
  background:#2d3039;
}
.messages-modal .dm-profile-fact-icon { width:30px; height:30px; color:#a99cff; }
.messages-modal .dm-profile-fact-copy { display:grid; min-width:0; gap:2px; }
.messages-modal .dm-profile-facts dt { color:#81899c; font-size:9px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.messages-modal .dm-profile-facts dd {
  overflow:hidden;
  color:#eef0f5;
  font-size:11px;
  font-weight:600;
  text-align:left;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.messages-modal .dm-profile-links { gap:7px; margin:0; }
.messages-modal .dm-profile-links a {
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:9px;
  border:1px solid transparent;
  border-radius:10px;
  color:#dcd8ff;
  background:#292c35;
}
.messages-modal .dm-profile-links a:hover { border-color:#514978; background:#302d42; }
.messages-modal .dm-profile-link-icon { width:34px; height:34px; }
.messages-modal .dm-profile-link-copy { display:grid; min-width:0; gap:2px; }
.messages-modal .dm-profile-link-copy strong,
.messages-modal .dm-profile-link-copy small {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.messages-modal .dm-profile-link-copy strong { color:#eeecff; font-size:11px; }
.messages-modal .dm-profile-link-copy small { color:#858da0; font-size:9px; }

/* Moderner, klar gegliederter Nachrichten-Composer. */
.messages-modal .dm-compose {
  position:relative;
  isolation:isolate;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-height:66px;
  margin:0 18px 16px;
  padding:7px;
  overflow:hidden;
  border:1px solid #3b404d;
  border-radius:17px;
  background:linear-gradient(145deg,#2b2e38,#242730);
  box-shadow:0 14px 36px rgba(0,0,0,.26),inset 0 1px rgba(255,255,255,.035);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.messages-modal .dm-compose::before {
  position:absolute;
  z-index:-1;
  right:-80px;
  bottom:-95px;
  width:210px;
  height:150px;
  border-radius:50%;
  background:rgba(108,79,246,.1);
  filter:blur(24px);
  pointer-events:none;
  content:"";
}
.messages-modal .dm-compose:focus-within {
  border-color:rgba(125,99,255,.82);
  box-shadow:0 16px 42px rgba(0,0,0,.3),0 0 0 3px rgba(108,79,246,.12),inset 0 1px rgba(255,255,255,.05);
}
.messages-modal .dm-compose-leading {
  display:grid;
  min-height:44px;
  margin-bottom:18px;
  place-items:center;
}
.messages-modal .dm-compose-editor {
  min-height:46px;
  border:1px solid #363b48;
  border-radius:12px;
  background:#20232b;
  transition:border-color .18s ease,background .18s ease;
}
.messages-modal .dm-compose:focus-within .dm-compose-editor {
  border-color:#48405f;
  background:#1f2229;
}
.messages-modal .dm-compose textarea {
  height:46px;
  min-height:46px;
  padding:12px 14px;
  border-radius:12px;
  font-size:13px;
  line-height:1.55;
}
.messages-modal .dm-compose textarea:focus { box-shadow:none !important; }
.messages-modal .dm-compose-leading .dm-tool {
  width:40px;
  height:40px;
  color:#d5d9e4;
  background:#353944;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.055);
}
.messages-modal .dm-compose-leading .dm-tool:hover {
  color:#fff;
  background:#454a57;
  transform:rotate(90deg);
}
.messages-modal .dm-compose-actions {
  gap:5px;
  min-height:44px;
  margin-bottom:18px;
  padding-left:7px;
  border-left:1px solid #3b3f4a;
}
.messages-modal .dm-compose-actions .dm-tool {
  width:36px;
  height:36px;
  flex-basis:36px;
  color:#aeb5c7;
}
.messages-modal .dm-compose-actions .dm-tool.gif {
  min-width:40px;
  padding:0 7px;
  border:1px solid #3b3f4b;
  border-radius:9px;
  color:#c9cede;
  background:#30343e;
  font-size:9px;
  letter-spacing:.04em;
}
.messages-modal .dm-compose-actions .dm-tool.gif:hover {
  border-color:#625799;
  color:#fff;
  background:#3b3653;
}
.messages-modal .dm-compose-actions .dm-tool.emoji {
  border-radius:50%;
  font-size:21px;
}
.messages-modal .dm-compose .btn.primary {
  width:46px;
  min-width:46px;
  height:46px;
  margin-left:2px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:13px;
  background:linear-gradient(145deg,#8065ff,#5e40ea);
  box-shadow:0 8px 20px rgba(85,57,222,.38),inset 0 1px rgba(255,255,255,.18);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.messages-modal .dm-compose .btn.primary:hover {
  transform:translateY(-2px);
  filter:brightness(1.08);
  box-shadow:0 11px 25px rgba(85,57,222,.48),inset 0 1px rgba(255,255,255,.2);
}
.messages-modal .dm-compose .btn.primary:active { transform:translateY(0) scale(.96); }
.messages-modal .dm-compose .btn.primary svg { transform:none; }
.messages-modal .dm-compose .btn.primary:disabled {
  transform:none;
  opacity:.38;
  background:#454955;
  box-shadow:none;
  cursor:not-allowed;
}
.messages-modal .dm-compose-stack {
  display:grid;
  min-width:0;
  gap:5px;
}
.messages-modal .dm-compose-meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  min-height:13px;
  padding:0 5px 0 7px;
  color:#747c8f;
  font-size:9px;
  line-height:1;
}
.messages-modal .dm-compose-hint {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.messages-modal .dm-compose-count {
  flex:0 0 auto;
  font-variant-numeric:tabular-nums;
  transition:color .18s ease;
}
.messages-modal .dm-compose-count.near-limit { color:#ffbf69; font-weight:750; }
.messages-modal .dm-compose-attachment {
  display:grid;
  grid-template-columns:40px minmax(0,1fr) 30px;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:6px 7px;
  border:1px solid #45404f;
  border-radius:11px;
  background:linear-gradient(135deg,rgba(108,79,246,.13),#242730);
}
.messages-modal .dm-compose-attachment[hidden] { display:none !important; }
.messages-modal .dm-compose-attachment > img {
  width:40px;
  height:40px;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
}
.messages-modal .dm-compose-attachment > span { display:grid; min-width:0; gap:3px; }
.messages-modal .dm-compose-attachment strong,
.messages-modal .dm-compose-attachment small {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.messages-modal .dm-compose-attachment strong { color:#e9eaf0; font-size:11px; }
.messages-modal .dm-compose-attachment small { color:#969daf; font-size:9px; }
.messages-modal .dm-compose-attachment > button {
  display:grid;
  width:28px;
  height:28px;
  place-items:center;
  border:0;
  border-radius:8px;
  color:#aeb5c6;
  background:transparent;
  cursor:pointer;
}
.messages-modal .dm-compose-attachment > button:hover { color:#fff; background:#3c404b; }
.messages-modal .dm-compose.is-dragging {
  border-color:#8b75ff;
  background:linear-gradient(145deg,#332f48,#282a36);
  box-shadow:0 0 0 3px rgba(108,79,246,.16),0 16px 42px rgba(0,0,0,.3);
}
.messages-modal .dm-compose.is-dragging::after {
  position:absolute;
  z-index:4;
  inset:5px;
  display:grid;
  place-items:center;
  border:1px dashed #9380ff;
  border-radius:12px;
  color:#f1efff;
  background:rgba(31,29,45,.9);
  font-size:12px;
  font-weight:750;
  pointer-events:none;
  content:"Bild hier ablegen";
}
.messages-modal .dm-compose.is-sending .btn.primary svg { animation:dm-send-pulse .7s ease-in-out infinite alternate; }
@keyframes dm-send-pulse {
  from { transform:translate(-1px,1px); opacity:.65; }
  to { transform:translate(2px,-2px); opacity:1; }
}

@media (max-width:720px) {
  .messages-modal .dm-compose {
    grid-template-columns:40px minmax(0,1fr) auto;
    gap:5px;
    min-height:60px;
    margin:0 7px 7px;
    padding:6px;
    border-radius:15px;
  }
  .messages-modal .dm-compose-leading .dm-tool { width:36px; height:36px; }
  .messages-modal .dm-compose-actions { gap:1px; padding-left:3px; }
  .messages-modal .dm-compose-actions .dm-tool { width:32px; flex-basis:32px; }
  .messages-modal .dm-compose-actions .dm-tool.gif { min-width:34px; padding:0 4px; }
  .messages-modal .dm-compose .btn.primary { width:40px; min-width:40px; height:40px; }
  .messages-modal .dm-compose-hint { display:none; }
  .messages-modal .dm-compose-meta { justify-content:flex-end; }
}

/* Gruppen werden als eigene Unterhaltung dargestellt, nie als Profil der ersten Person. */
.messages-modal .dm-group-avatar {
  display:grid;
  flex:0 0 auto;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  color:#d7d0ff;
  background:linear-gradient(145deg,#51429c,#2e2a48);
  box-shadow:inset 0 1px rgba(255,255,255,.08);
}
.messages-modal .dm-group-avatar img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.messages-modal .dm-chat-person > .dm-group-avatar {
  flex-basis:40px;
  width:40px !important;
  height:40px !important;
}
.messages-modal .dm-chat-person small.group { color:#aeb4c5; }
.messages-modal .dm-group-hero {
  position:relative;
  display:grid;
  justify-items:center;
  padding:26px 18px 22px;
  overflow:hidden;
  text-align:center;
  background:
    radial-gradient(circle at 75% 12%,rgba(108,79,246,.24),transparent 30%),
    linear-gradient(180deg,#222130,#191b21);
}
.messages-modal .dm-group-hero::before {
  position:absolute;
  top:-70px;
  width:220px;
  height:150px;
  border:1px solid rgba(151,132,255,.12);
  border-radius:50%;
  content:"";
}
.messages-modal .dm-group-hero-avatar {
  position:relative;
  z-index:1;
  display:grid;
  width:92px;
  height:92px;
  place-items:center;
  overflow:hidden;
  border:4px solid #1b1d23;
  border-radius:26px;
  color:#e6e2ff;
  background:linear-gradient(145deg,#7059e8,#3e346d);
  box-shadow:0 16px 36px rgba(0,0,0,.38),0 0 0 1px rgba(255,255,255,.08);
}
.messages-modal .dm-group-hero-avatar.has-image { background:#242730; }
.messages-modal .dm-group-hero-avatar img { width:100%; height:100%; object-fit:cover; }
.messages-modal .dm-group-hero > strong {
  z-index:1;
  max-width:100%;
  margin-top:12px;
  overflow:hidden;
  color:#f5f6fa;
  font-size:20px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.messages-modal .dm-group-hero > span { z-index:1; margin-top:4px; color:#969daf; font-size:11px; }
.messages-modal .dm-group-image-actions { z-index:1; display:flex; gap:7px; margin-top:15px; }
.messages-modal .dm-group-image-button,
.messages-modal .dm-group-image-remove,
.messages-modal .dm-group-save {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  height:34px;
  padding:0 11px;
  border:1px solid #4d466e;
  border-radius:9px;
  color:#ded9ff;
  background:#302b47;
  font:inherit;
  font-size:10px;
  font-weight:750;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.messages-modal .dm-group-image-button:hover,
.messages-modal .dm-group-save:hover { transform:translateY(-1px); border-color:#7465c4; background:#3a3356; }
.messages-modal .dm-group-image-remove { border-color:#563840; color:#e6a3b1; background:#33252a; }
.messages-modal .dm-group-image-remove:hover { border-color:#8c4d5c; color:#ffd8e0; background:#472d34; }
.messages-modal .dm-group-image-button:disabled,
.messages-modal .dm-group-save:disabled { opacity:.5; cursor:wait; }
.messages-modal .dm-group-name-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:end; }
.messages-modal .dm-group-name-form label { display:grid; min-width:0; gap:6px; }
.messages-modal .dm-group-name-form label > span { color:#858da0; font-size:9px; font-weight:750; letter-spacing:.05em; text-transform:uppercase; }
.messages-modal .dm-group-name-form input {
  box-sizing:border-box;
  width:100%;
  height:36px;
  min-width:0;
  padding:0 10px;
  border:1px solid #3c414e;
  border-radius:9px;
  outline:0;
  color:#f1f2f6;
  background:#1c1f26;
  font:inherit;
  font-size:11px;
}
.messages-modal .dm-group-name-form input:focus { border-color:#7460e8; box-shadow:0 0 0 3px rgba(108,79,246,.12); }
.messages-modal .dm-group-save { height:36px; }
.messages-modal .dm-group-members { display:grid; gap:5px; }
.messages-modal .dm-group-member {
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  min-width:0;
  padding:8px;
  border:1px solid transparent;
  border-radius:10px;
  background:#292c35;
}
.messages-modal .dm-group-member:hover { border-color:#3d414d; background:#2d3039; }
.messages-modal .dm-group-member .dm-presence { width:11px; height:11px; border-color:#292c35; }
.messages-modal .dm-group-member .dm-presence[hidden] { display:none !important; }
.messages-modal .dm-group-member-copy { display:grid; min-width:0; gap:2px; }
.messages-modal .dm-group-member-copy strong,
.messages-modal .dm-group-member-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.messages-modal .dm-group-member-copy strong { color:#edf0f5; font-size:11px; }
.messages-modal .dm-group-member-copy small { color:#81899c; font-size:9px; }
.messages-modal .dm-group-member-status {
  padding:4px 6px;
  border-radius:999px;
  color:#858da0;
  background:#23262e;
  font-size:8px;
  font-weight:750;
}
.messages-modal .dm-group-member-status.online { color:#70dcb1; background:rgba(53,201,139,.1); }
.messages-modal .dm-group-danger-zone { border-color:#40343a !important; }
.messages-modal .dm-group-danger-zone > p {
  margin:0 0 12px;
  color:#969dab;
  font-size:10px;
  line-height:1.5;
}
.messages-modal .dm-group-danger-zone > div:last-child { display:grid; gap:7px; }
.messages-modal .dm-group-leave,
.messages-modal .dm-group-delete {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:100%;
  min-height:36px;
  padding:0 10px;
  border:1px solid #514a5c;
  border-radius:9px;
  color:#d8dbe4;
  background:#2b2d35;
  font:inherit;
  font-size:10px;
  font-weight:750;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,color .18s ease;
}
.messages-modal .dm-group-leave:hover { border-color:#70667f; color:#fff; background:#353640; }
.messages-modal .dm-group-delete { border-color:#653a44; color:#ffb8c6; background:#35252a; }
.messages-modal .dm-group-delete:hover { border-color:#a84f63; color:#fff; background:#4b2932; }

@media (max-width:720px) {
  .messages-modal .dm-chat-person > .dm-group-avatar { flex-basis:36px; width:36px !important; height:36px !important; }
  .messages-modal .dm-group-name-form { grid-template-columns:1fr; }
}

/* Neue Unterhaltung: fokussierter Editor statt eines leeren Formulars. */
.messages-modal .dm-new-head { justify-content:flex-start; }
.messages-modal .dm-new-head-copy {
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
}
.messages-modal .dm-new-head-copy > span {
  display:grid;
  width:36px;
  height:36px;
  flex:0 0 36px;
  place-items:center;
  border-radius:11px;
  color:#d9d3ff;
  background:linear-gradient(145deg,rgba(108,79,246,.38),rgba(108,79,246,.14));
  box-shadow:inset 0 0 0 1px rgba(140,119,255,.2);
}
.messages-modal .dm-new-head-copy strong,
.messages-modal .dm-new-head-copy small { display:block; }
.messages-modal .dm-new-head-copy strong { color:#f3f4f8; font-size:14px; }
.messages-modal .dm-new-head-copy small { margin-top:2px; color:#8f97a9; font-size:10px; }
.messages-modal .dm-new {
  display:grid;
  align-content:start;
  gap:14px;
  min-height:0;
  padding:24px;
  overflow-y:auto;
  background:
    radial-gradient(circle at 82% 8%,rgba(108,79,246,.075),transparent 30%),
    #202229;
  scrollbar-color:#484d5b transparent;
}
.messages-modal .dm-new-card,
.messages-modal .dm-new-group-field {
  box-sizing:border-box;
  width:min(100%,960px);
  margin:0 auto;
  border:1px solid #343845;
  border-radius:15px;
  background:linear-gradient(145deg,#252832,#22252d);
  box-shadow:0 14px 34px rgba(0,0,0,.15),inset 0 1px rgba(255,255,255,.025);
}
.messages-modal .dm-new-card { padding:17px; }
.messages-modal .dm-new-card-head {
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  margin-bottom:14px;
}
.messages-modal .dm-new-card-head > span:first-child {
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  border-radius:10px;
  color:#cfc6ff;
  background:rgba(108,79,246,.15);
}
.messages-modal .dm-new-card-head strong,
.messages-modal .dm-new-card-head small { display:block; }
.messages-modal .dm-new-card-head strong { color:#eceef4; font-size:12px; }
.messages-modal .dm-new-card-head small { margin-top:3px; color:#858da0; font-size:9px; }
.messages-modal .dm-new-selection-count,
.messages-modal .dm-new-mode {
  display:inline-flex !important;
  align-items:center;
  gap:6px;
  padding:6px 9px;
  border:1px solid #3d414e;
  border-radius:999px;
  color:#aeb5c6 !important;
  background:#292c35;
  font-size:9px !important;
  font-weight:750;
  white-space:nowrap;
}
.messages-modal .dm-new-search {
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:center;
  gap:9px;
  height:42px;
  padding:0 12px;
  border:1px solid #3b404d;
  border-radius:11px;
  color:#858da0;
  background:#1d2027;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.messages-modal .dm-new-search:focus-within { border-color:#6c55df; box-shadow:0 0 0 3px rgba(108,79,246,.12); }
.messages-modal .dm-new-search input {
  width:100%;
  height:40px;
  padding:0;
  border:0;
  outline:0;
  color:#f0f2f6;
  background:transparent;
  font:inherit;
  font-size:11px;
}
.messages-modal .dm-new-search input::placeholder { color:#757d90; }
.messages-modal .dm-new-selected {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:11px;
  padding:9px;
  border:1px dashed #474153;
  border-radius:11px;
  background:rgba(108,79,246,.045);
}
.messages-modal .dm-new-selected[hidden],
.messages-modal .dm-new-group-field[hidden] { display:none !important; }
.messages-modal .dm-new-selected button {
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  height:32px;
  padding:3px 7px 3px 3px;
  border:1px solid #50486f;
  border-radius:999px;
  color:#dedaf5;
  background:#343047;
  font:inherit;
  font-size:9px;
  cursor:pointer;
}
.messages-modal .dm-new-selected button:hover { border-color:#7667bb; background:#403957; }
.messages-modal .dm-new-selected .avatar { flex:0 0 24px; width:24px !important; height:24px !important; }
.messages-modal .dm-new-people {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:11px;
  max-height:250px;
  overflow-y:auto;
  scrollbar-color:#454a57 transparent;
}
.messages-modal .dm-new-person {
  display:grid;
  grid-template-columns:40px minmax(0,1fr) 30px;
  align-items:center;
  gap:9px;
  min-width:0;
  min-height:58px;
  padding:8px;
  border:1px solid #373b47;
  border-radius:11px;
  color:inherit;
  background:#292c34;
  text-align:left;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.messages-modal .dm-new-person:hover { transform:translateY(-1px); border-color:#4d5261; background:#30333d; }
.messages-modal .dm-new-person.selected { border-color:#6f5ada; background:linear-gradient(135deg,rgba(108,79,246,.22),#302f40); }
.messages-modal .dm-new-person .avatar { width:38px !important; height:38px !important; }
.messages-modal .dm-new-person-copy { display:grid; min-width:0; gap:3px; }
.messages-modal .dm-new-person-copy strong,
.messages-modal .dm-new-person-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.messages-modal .dm-new-person-copy strong { color:#e9ebf1; font-size:11px; }
.messages-modal .dm-new-person-copy small { color:#838b9d; font-size:9px; }
.messages-modal .dm-new-person-check {
  display:grid;
  width:28px;
  height:28px;
  place-items:center;
  border-radius:9px;
  color:#929aab;
  background:#22252c;
}
.messages-modal .dm-new-person.selected .dm-new-person-check { color:#fff; background:#6c4ff6; }
.messages-modal .dm-new-empty { grid-column:1/-1; margin:8px 0; color:#858da0; font-size:11px; text-align:center; }
.messages-modal .dm-new-group-field {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:12px;
  padding:14px 17px;
  border-color:#443d61;
  background:linear-gradient(135deg,rgba(108,79,246,.12),#23252e 55%);
}
.messages-modal .dm-new-group-field label { display:grid; gap:7px; }
.messages-modal .dm-new-group-field label > span { color:#b8b0e4; font-size:9px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.messages-modal .dm-new-group-field input {
  box-sizing:border-box;
  width:100%;
  height:40px;
  padding:0 11px;
  border:1px solid #484257;
  border-radius:10px;
  outline:0;
  color:#f1f2f6;
  background:#1e2028;
  font:inherit;
  font-size:11px;
}
.messages-modal .dm-new-group-field input:focus { border-color:#735ee7; box-shadow:0 0 0 3px rgba(108,79,246,.12); }
.messages-modal .dm-new-group-field > small { padding-bottom:11px; color:#858da0; font-size:9px; white-space:nowrap; }
.messages-modal .dm-new-message-card textarea {
  box-sizing:border-box;
  width:100%;
  min-height:118px;
  max-height:200px;
  padding:13px 14px;
  resize:none;
  border:1px solid #3b404d;
  border-radius:12px;
  outline:0;
  color:#f2f3f7;
  background:#1d2027;
  font:inherit;
  font-size:12px;
  line-height:1.55;
}
.messages-modal .dm-new-message-card textarea:focus { border-color:#6c55df; box-shadow:0 0 0 3px rgba(108,79,246,.12); }
.messages-modal .dm-new-message-card textarea::placeholder { color:#747c8f; }
.messages-modal .dm-new-message-foot { display:flex; align-items:center; justify-content:flex-end; gap:13px; margin-top:11px; }
.messages-modal .dm-new-count { color:#777f91; font-size:9px; font-variant-numeric:tabular-nums; }
.messages-modal .dm-new-count.near-limit { color:#ffbd68; font-weight:750; }
.messages-modal .dm-new-send {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:160px;
  height:42px;
  padding:0 15px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:11px;
  color:#fff;
  background:linear-gradient(145deg,#8065ff,#5c3fe8);
  box-shadow:0 9px 22px rgba(83,55,218,.34),inset 0 1px rgba(255,255,255,.16);
  font:inherit;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
}
.messages-modal .dm-new-send:hover:not(:disabled) { transform:translateY(-2px); filter:brightness(1.08); box-shadow:0 12px 26px rgba(83,55,218,.44); }
.messages-modal .dm-new-send:disabled { opacity:.36; background:#464a55; box-shadow:none; cursor:not-allowed; }
.messages-modal .dm-new-send.is-sending svg { animation:dm-send-pulse .7s ease-in-out infinite alternate; }

@media (max-width:760px) {
  .messages-modal .dm-new { padding:14px 10px; }
  .messages-modal .dm-new-card { padding:13px; }
  .messages-modal .dm-new-people { grid-template-columns:1fr; max-height:none; }
  .messages-modal .dm-new-group-field { grid-template-columns:1fr; }
  .messages-modal .dm-new-group-field > small { padding-bottom:0; white-space:normal; }
  .messages-modal .dm-new-card-head { grid-template-columns:34px minmax(0,1fr); }
  .messages-modal .dm-new-selection-count,
  .messages-modal .dm-new-mode { grid-column:1/-1; justify-self:start; }
  .messages-modal .dm-new-send { min-width:138px; }
}
