.messenger-launch{position:fixed;right:28px;bottom:28px;z-index:800;display:grid;place-items:center;width:54px;height:54px;padding:0;border:2px solid var(--brand-orange);border-radius:50%;background:#fff;box-shadow:0 12px 30px rgba(255,75,36,.18);cursor:pointer}.messenger-launch img{width:25px;height:25px}.messenger-root:has(.messenger-shell:not([hidden])) .messenger-launch{border-color:#ff681d;background:var(--brand-gradient)}.messenger-root:has(.messenger-shell:not([hidden])) .messenger-launch img{filter:invert(1)}.messenger-badge{position:absolute;right:-4px;top:-5px;display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border:2px solid #fff;border-radius:99px;background:var(--semantic-danger);color:#fff;font:800 10px/1 Manrope,sans-serif}
.messenger-toast{position:fixed;z-index:799;margin-top:-23px;display:flex;align-items:center;gap:9px;max-width:230px;padding:10px 14px;border:0;border-radius:99px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.18);font:600 .78rem/1.3 Manrope,sans-serif;color:var(--text-primary);cursor:pointer;text-align:left;animation:messenger-toast-in .18s ease}
.messenger-toast[hidden]{display:none!important}
.messenger-avatar.messenger-toast-avatar{flex:0 0 26px;width:26px;height:26px;font-size:.66rem}
.messenger-toast-avatar[hidden]{display:none}
@keyframes messenger-toast-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

.messenger-shell{position:fixed;right:88px;bottom:28px;z-index:790;display:grid;grid-template-columns:minmax(440px,1fr) minmax(260px,280px);width:min(940px,calc(100vw - 118px));height:min(78vh,760px);min-height:460px;overflow:hidden;border:1px solid rgba(255,255,255,.75);border-radius:20px;background:rgb(246 239 255 / 58%);backdrop-filter:blur(20px) saturate(125%);-webkit-backdrop-filter:blur(20px) saturate(125%);box-shadow:0 24px 60px rgba(30,50,80,.18),inset 0 1px 0 rgba(255,255,255,.85)}
.messenger-shell.is-contacts-only{grid-template-columns:minmax(260px,280px);width:min(306px,calc(100vw - 118px))}
.messenger-chat,.messenger-contacts{display:grid;min-width:0;min-height:0}
.messenger-chat{grid-template-rows:64px 1fr auto;border-right:1px solid rgba(255,255,255,.55)}
.messenger-contacts{grid-template-rows:auto auto 1fr;background:rgb(255 255 255 / 39%)}

.messenger-head{display:flex;align-items:center;gap:10px;min-height:64px;padding:11px 16px;box-sizing:border-box;border-bottom:1px solid rgba(255,255,255,.55)}
.messenger-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:14.5px;font-weight:750}
.messenger-chat .messenger-head div>strong.messenger-chat-name{display:block}
.messenger-status{color:var(--text-muted);font-size:11.5px;display:flex;align-items:center;gap:5px}
.messenger-status.is-online::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--semantic-success);box-shadow:0 0 0 2px rgba(19,180,91,.18)}
.messenger-close,.messenger-back{margin-left:auto;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:9px;background:transparent;color:var(--text-muted);font-size:20px;cursor:pointer;transition:background .15s,color .15s}
.messenger-close:hover,.messenger-back:hover{background:rgba(120,140,170,.1);color:var(--text-primary)}

.messenger-search{margin:12px;height:40px;padding:0 12px 0 36px;border:1px solid rgba(255,255,255,.7);border-radius:11px;outline:0;background:rgba(255,255,255,.55) url(/assets/icons/messenger/search.svg) no-repeat 11px center;background-size:16px;color:var(--text-primary);font-size:13px}
.messenger-search::placeholder{color:#9aa3b0}
.messenger-contact-list{overflow:auto}
.messenger-contact{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:9px;align-items:center;width:100%;padding:10px 12px;border:0;border-top:1px solid rgba(255,255,255,.5);background:transparent;text-align:left;cursor:pointer;transition:background .15s}
.messenger-contact:hover{background:rgba(255,255,255,.4)}
.messenger-contact.active{background:rgba(120,170,255,.16)}
.messenger-avatar{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#fff;font-weight:800;font-size:13px}
.messenger-online{position:absolute;right:0;bottom:1px;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:var(--semantic-success)}
.messenger-contact-copy{display:grid;min-width:0;gap:2px}
.messenger-contact-copy strong,.messenger-contact-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.messenger-contact-copy strong{color:var(--text-primary);font-size:13px}
.messenger-contact-copy small{color:var(--text-muted);font-size:11px}
.messenger-contact-meta{display:grid;justify-items:end;gap:5px;color:var(--text-muted);font-size:10px}
.messenger-contact-meta b{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:linear-gradient(135deg,#8b6bd9,#7398ef);color:#fff;font-weight:800}

.messenger-messages{position:relative;overflow:auto;padding:16px;background:url('/assets/images/chat-bg.png') repeat,linear-gradient(45deg,#94d0df,#7fbcff);background-size:100%}
.messenger-empty{display:grid;place-items:center;height:100%;color:var(--text-muted);text-align:center}
.messenger-row{display:flex;align-items:flex-end;gap:8px;margin:0}
.messenger-row+.messenger-row{margin-top:5px}
.messenger-row.mine{justify-content:flex-end}
.messenger-row-avatar{position:relative;flex:0 0 26px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:9.5px;font-weight:800}
.messenger-avatar,.messenger-row-avatar{overflow:hidden}.messenger-avatar img,.messenger-row-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.messenger-row.is-grouped .messenger-row-avatar{visibility:hidden}
.messenger-bubble{position:relative;max-width:74%;padding:9px 12px 6px;border:1px solid rgba(255,255,255,.6);border-radius:16px 16px 16px 5px;background:#fff;box-shadow:0 3px 10px rgba(40,60,90,.04);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem}
.messenger-row.mine .messenger-bubble{border:1px solid rgba(255,255,255,.5);border-radius:16px 16px 5px 16px;background:#e9fdff}
.messenger-row.is-grouped .messenger-bubble{border-top-left-radius:7px}
.messenger-row.mine.is-grouped .messenger-bubble{border-top-left-radius:16px;border-top-right-radius:7px}
.messenger-message-meta{display:flex;align-items:center;gap:8px;margin-top:4px;color:#97a1ae;font-size:9.5px}
.messenger-like{display:inline-flex;align-items:center;gap:3px;padding:0;border:0;background:transparent;color:#97a1ae;cursor:pointer;opacity:0;transition:opacity .12s}
.messenger-bubble:hover .messenger-like{opacity:1}
.messenger-like.active,.messenger-like.mine-reaction{opacity:1}
.messenger-like img{width:11px;height:11px;opacity:.6}
.messenger-like.active img,.messenger-like.mine-reaction img{opacity:1}
.messenger-like span{font-size:9px;font-weight:700}
.messenger-message-meta>span:last-child{margin-left:auto;display:inline-flex;align-items:center;gap:3px}
.messenger-check{width:14px;height:11px;vertical-align:middle}

.messenger-compose{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px;margin:10px;padding:8px 8px 8px 14px;border:1px solid rgba(255,255,255,.7);border-radius:16px;background:rgba(255,255,255,.55);backdrop-filter:blur(10px)}
.messenger-compose-input{min-height:24px;max-height:120px;overflow-y:auto;padding:8px 0;border:0;background:transparent;outline:0;color:var(--text-primary);font-size:13.5px;white-space:pre-wrap;word-break:break-word}
.messenger-compose-input:empty:before{content:attr(data-placeholder);color:#9aa3b0}
.messenger-compose-input.is-disabled{opacity:.5;pointer-events:none}
.messenger-compose-input b,.messenger-compose-input strong{font-weight:700}
.messenger-compose-input i,.messenger-compose-input em{font-style:italic}
.messenger-send{align-self:end;display:grid;place-items:center;width:38px;height:38px;padding:0!important;border:0;border-radius:12px;background:var(--brand-gradient);box-shadow:0 6px 16px rgba(255,75,36,.24);cursor:pointer}
.messenger-send img{width:20px;height:20px}
.messenger-back{display:none}
.messenger-shell[hidden],.messenger-launch[hidden],.messenger-chat[hidden],.messenger-badge[hidden],.messenger-compose[hidden]{display:none!important}
@media(min-width:761px){.messenger-compose{margin:10px 25px 10px 10px}}
.topbar-actions .messenger-launch{position:relative;right:auto;bottom:auto;z-index:auto;width:36px;height:36px;border:1px solid var(--border-subtle);border-radius:9px;background:#fff;box-shadow:none}
.topbar-actions .messenger-launch img{width:20px;height:20px}
.topbar-actions .messenger-badge{right:-6px;top:-6px}
@media(max-width:760px){.messenger-launch{right:18px;bottom:18px}.messenger-shell,.messenger-shell.is-contacts-only{inset:0;z-index:900;display:block;width:100%;height:100%;min-height:0;transform:none;border:0;border-radius:0}.messenger-contacts,.messenger-chat{height:100%}.messenger-chat{grid-template-rows:64px 1fr auto;border:0}.messenger-shell.has-chat .messenger-contacts{display:none}.messenger-shell:not(.has-chat) .messenger-chat{display:none}.messenger-back{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:9px;background:transparent;font-size:20px}}
