/* SMSocial 3.4.5 — deterministic desktop floating messenger bootstrap + server-seeded unread fallback. */
.sms-desktop-messenger{position:fixed;inset-inline-end:24px;inset-block-end:18px;z-index:100050;display:flex;align-items:flex-end;gap:12px;pointer-events:none;color:var(--sms-ink,#111827)}
.sms-desktop-messenger[hidden]{display:none!important}
.sms-desktop-messenger__bubbles{display:flex;flex-direction:row-reverse;align-items:center;gap:10px;pointer-events:auto}
.sms-desktop-chat-bubble{position:relative;inline-size:56px;block-size:56px;padding:0;border:3px solid var(--sms-surface,#fff);border-radius:50%;background:color-mix(in srgb,var(--sms-primary,#5b55ea) 12%,var(--sms-surface,#fff));box-shadow:0 10px 28px rgba(15,23,42,.22),0 2px 8px rgba(15,23,42,.12);cursor:pointer;overflow:visible;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.sms-desktop-chat-bubble:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(15,23,42,.26),0 3px 10px rgba(15,23,42,.12)}
.sms-desktop-chat-bubble.is-active{border-color:color-mix(in srgb,var(--sms-primary,#5b55ea) 72%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--sms-primary,#5b55ea) 18%,transparent),0 14px 34px rgba(15,23,42,.24)}
.sms-desktop-chat-bubble:focus-visible,.sms-desktop-chat-panel button:focus-visible,.sms-desktop-chat-panel textarea:focus-visible,.sms-desktop-chat-peek:focus-visible{outline:3px solid color-mix(in srgb,var(--sms-primary,#5b55ea) 42%,transparent);outline-offset:2px}
.sms-desktop-chat-bubble__avatar,.sms-desktop-chat-panel__avatar,.sms-desktop-chat-peek__avatar{display:grid;place-items:center;overflow:hidden;border-radius:inherit;background:linear-gradient(145deg,color-mix(in srgb,var(--sms-primary,#5b55ea) 18%,var(--sms-surface,#fff)),color-mix(in srgb,#26a269 12%,var(--sms-surface,#fff)));color:var(--sms-primary,#5b55ea);font-weight:900;text-transform:uppercase}
.sms-desktop-chat-bubble__avatar{inline-size:100%;block-size:100%;font-size:18px}
.sms-desktop-chat-bubble__avatar img,.sms-desktop-chat-panel__avatar img,.sms-desktop-chat-peek__avatar img{inline-size:100%;block-size:100%;object-fit:cover}
.sms-desktop-chat-bubble__badge{position:absolute;inset-inline-end:-5px;inset-block-start:-5px;min-inline-size:22px;block-size:22px;padding-inline:5px;border:2px solid var(--sms-surface,#fff);border-radius:999px;display:grid;place-items:center;background:#e11d48;color:#fff;font-size:11px;font-weight:900;line-height:1;box-shadow:0 3px 8px rgba(15,23,42,.22)}
.sms-desktop-chat-bubble__badge[hidden]{display:none!important}
.sms-desktop-chat-peek{position:absolute;inset-inline-end:0;inset-block-end:72px;inline-size:310px;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--sms-border,#e5e7eb) 88%,transparent);border-radius:17px;background:color-mix(in srgb,var(--sms-surface,#fff) 97%,transparent);box-shadow:0 18px 50px rgba(15,23,42,.19),0 2px 10px rgba(15,23,42,.08);backdrop-filter:blur(16px);color:inherit;text-align:start;cursor:pointer;pointer-events:auto;opacity:0;transform:translate3d(0,10px,0) scale(.985);transition:opacity .18s ease,transform .18s ease}
.sms-desktop-chat-peek.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
.sms-desktop-chat-peek__avatar{inline-size:46px;block-size:46px;border-radius:14px;font-size:15px}
.sms-desktop-chat-peek__copy{min-inline-size:0;display:grid;gap:2px}
.sms-desktop-chat-peek__copy strong{font-size:13px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sms-desktop-chat-peek__copy small{font-size:12px;line-height:1.35;color:var(--sms-muted,#667085);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sms-desktop-chat-panel{position:absolute;inset-inline-end:0;inset-block-end:72px;inline-size:360px;block-size:min(520px,calc(100vh - 120px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid color-mix(in srgb,var(--sms-border,#e5e7eb) 90%,transparent);border-radius:20px;background:var(--sms-surface,#fff);box-shadow:0 24px 64px rgba(15,23,42,.24),0 4px 14px rgba(15,23,42,.1);overflow:hidden;pointer-events:auto;transform-origin:100% 100%;animation:smsDesktopMessengerIn .18s ease-out}
.sms-desktop-chat-panel[hidden]{display:none!important}
.sms-desktop-chat-panel__header{min-inline-size:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 10px 10px 12px;border-block-end:1px solid color-mix(in srgb,var(--sms-border,#e5e7eb) 80%,transparent);background:color-mix(in srgb,var(--sms-surface,#fff) 97%,var(--sms-primary,#5b55ea) 3%)}
.sms-desktop-chat-panel__identity{min-inline-size:0;flex:1;display:flex;align-items:center;gap:9px;padding:3px;border:0;border-radius:12px;background:transparent;color:inherit;text-align:start;cursor:pointer}
.sms-desktop-chat-panel__identity:hover{background:color-mix(in srgb,var(--sms-primary,#5b55ea) 7%,transparent)}
.sms-desktop-chat-panel__avatar{flex:0 0 auto;inline-size:40px;block-size:40px;border-radius:13px;font-size:14px}
.sms-desktop-chat-panel__identity-copy{min-inline-size:0;display:grid;gap:1px}
.sms-desktop-chat-panel__identity-copy strong{font-size:14px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sms-desktop-chat-panel__identity-copy small{font-size:11px;line-height:1.2;color:var(--sms-muted,#667085);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sms-desktop-chat-panel__actions{display:flex;align-items:center;gap:3px}
.sms-desktop-chat-panel__action{inline-size:32px;block-size:32px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--sms-muted,#667085);font-size:20px;line-height:1;display:grid;place-items:center;cursor:pointer}
.sms-desktop-chat-panel__action:hover{background:color-mix(in srgb,var(--sms-primary,#5b55ea) 9%,transparent);color:var(--sms-ink,#111827)}
.sms-desktop-chat-panel__messages{min-block-size:0;overflow:auto;overscroll-behavior:contain;padding:15px 12px 12px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--sms-surface,#fff) 96%,var(--sms-primary,#5b55ea) 4%),var(--sms-surface,#fff) 110px);scrollbar-width:thin}
.sms-desktop-chat-panel__loading,.sms-desktop-chat-panel__empty,.sms-desktop-chat-panel__error{margin:auto;max-inline-size:85%;padding:12px;text-align:center;font-size:12px;line-height:1.45;color:var(--sms-muted,#667085)}
.sms-desktop-chat-panel__error{color:#b42318}
.sms-desktop-chat-message{max-inline-size:82%;display:grid;gap:3px}
.sms-desktop-chat-message.is-peer{align-self:flex-start;justify-items:start}
.sms-desktop-chat-message.is-mine{align-self:flex-end;justify-items:end}
.sms-desktop-chat-message__bubble{max-inline-size:100%;padding:9px 11px;border-radius:16px 16px 16px 5px;background:color-mix(in srgb,var(--sms-border,#e5e7eb) 44%,var(--sms-surface,#fff));color:var(--sms-ink,#111827);box-shadow:0 1px 2px rgba(15,23,42,.06);overflow:hidden}
.sms-desktop-chat-message.is-mine .sms-desktop-chat-message__bubble{border-radius:16px 16px 5px 16px;background:linear-gradient(145deg,var(--sms-primary,#5b55ea),color-mix(in srgb,var(--sms-primary,#5b55ea) 74%,#8b5cf6));color:#fff}
.sms-desktop-chat-message__bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.42}
.sms-desktop-chat-message__deleted{font-size:12px;font-style:italic;opacity:.72}
.sms-desktop-chat-message__meta{padding-inline:4px;font-size:9.5px;line-height:1.2;color:var(--sms-muted,#667085)}
.sms-desktop-chat-message__attachment{display:block;margin-block-start:6px}
.sms-desktop-chat-message__attachment a{color:inherit;text-decoration:none;font-size:11px;font-weight:700}
.sms-desktop-chat-message__attachment img{display:block;max-inline-size:220px;max-block-size:180px;border-radius:11px;object-fit:cover}
.sms-desktop-chat-panel__footer{padding:9px 10px 10px;border-block-start:1px solid color-mix(in srgb,var(--sms-border,#e5e7eb) 82%,transparent);background:var(--sms-surface,#fff)}
.sms-desktop-chat-compose{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:end;gap:7px}
.sms-desktop-chat-compose textarea{inline-size:100%;min-block-size:42px;max-block-size:96px;resize:none;padding:10px 12px;border:1px solid color-mix(in srgb,var(--sms-border,#d9dde6) 95%,transparent);border-radius:15px;background:color-mix(in srgb,var(--sms-surface,#fff) 94%,var(--sms-border,#e5e7eb) 6%);color:var(--sms-ink,#111827);font:inherit;font-size:13px;line-height:1.35;outline:none}
.sms-desktop-chat-compose textarea:focus{border-color:color-mix(in srgb,var(--sms-primary,#5b55ea) 58%,var(--sms-border,#d9dde6));box-shadow:0 0 0 3px color-mix(in srgb,var(--sms-primary,#5b55ea) 11%,transparent)}
.sms-desktop-chat-compose__send{inline-size:38px;block-size:38px;border:0;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--sms-primary,#5b55ea),color-mix(in srgb,var(--sms-primary,#5b55ea) 78%,#8b5cf6));color:#fff;font-size:17px;line-height:1;cursor:pointer;box-shadow:0 5px 14px color-mix(in srgb,var(--sms-primary,#5b55ea) 28%,transparent)}
.sms-desktop-chat-compose__send:hover{transform:translateY(-1px)}
.sms-desktop-chat-compose__send:disabled{opacity:.55;cursor:default;transform:none}
.sms-desktop-chat-compose__status{display:block;min-block-size:14px;padding:4px 3px 0;font-size:10px;line-height:1.2;color:var(--sms-muted,#667085)}
@keyframes smsDesktopMessengerIn{from{opacity:0;transform:translate3d(0,10px,0) scale(.97)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@media(max-width:767px){.sms-desktop-messenger{display:none!important}}
@media(prefers-reduced-motion:reduce){.sms-desktop-chat-bubble,.sms-desktop-chat-peek,.sms-desktop-chat-panel{transition:none;animation:none}}
