.conversationZone{background:#f4f7f9;min-height:0;overflow:hidden}.conversationHead{min-height:72px;padding:12px 16px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);position:relative;z-index:4;flex:0 0 auto}.conversationIdentity{display:flex;align-items:center;gap:10px;min-width:0}.conversationAvatar{width:42px;height:42px;flex:0 0 42px;border-radius:14px;display:grid;place-items:center;background:var(--ws-accent-soft,#eaf3fb);color:var(--ws-accent,#1769aa);font-size:13px;font-weight:800}.conversationIdentityText{min-width:0}.conversationTitleRow{display:flex;align-items:center;gap:7px;min-width:0}.conversationTitleRow .brand{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversationState{display:inline-flex;align-items:center;min-height:21px;padding:0 7px;border-radius:999px;background:var(--ws-surface-subtle,#f8fafb);color:var(--ws-text-secondary,#52606d);font-size:10px;font-weight:700;white-space:nowrap}.conversationState.waiting_manager{background:var(--ws-warning-soft,#fff4d2);color:var(--ws-warning,#8a6400)}.conversationState.manager{background:var(--ws-success-soft,#e4f6ec);color:var(--ws-success,#1f7a4d)}.conversationState.closed{background:#eef1f4;color:#6d7782}.conversationHead .muted{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversationLoadStatus{flex:0 0 auto;margin:8px 14px 0;padding:8px 11px;border-radius:11px;background:#edf3f7;color:#54616d;font-size:11px;text-align:center}.conversationLoadStatus.error{background:#fff1f1;color:#932f2f;border:1px solid #efcaca}.conversationLoadStatus.loading{color:#536878}.messages{min-height:0;flex:1 1 auto;padding:18px clamp(18px,4vw,52px) 20px;gap:4px;scroll-behavior:auto;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;justify-content:flex-start}.msg{position:relative;max-width:min(72%,620px);margin:3px 0;padding:10px 13px;border-radius:16px;box-shadow:0 1px 2px rgba(24,35,47,.06);line-height:1.42;font-size:13px;flex:0 0 auto}.msgBody{white-space:pre-wrap;overflow-wrap:anywhere}.msg.customer{align-self:flex-start;background:#fff;border:1px solid #e3e8ed;border-bottom-left-radius:5px}.msg.ai{align-self:flex-start;margin-left:28px;background:#edf5fb;border:1px solid #d7e7f4;color:#334b5e;border-bottom-left-radius:5px;box-shadow:none}.msg.manager{align-self:flex-end;background:#1f3447;color:#fff;border:1px solid #1f3447;border-bottom-right-radius:5px}.msgMeta{margin-top:5px;font-size:9px;opacity:.62}.msg.manager .msgMeta{color:#dbe5ed}.messageSender{display:block;margin-bottom:3px;font-size:9px;font-weight:750;letter-spacing:.02em;text-transform:uppercase;opacity:.6}.attachments{margin-top:8px;max-width:100%}.attachments img,.attachments video{display:block;width:auto;height:auto;border-radius:12px;max-width:min(100%,420px);max-height:420px;object-fit:contain}.attachments audio{display:block;max-width:100%}.attachments a{overflow-wrap:anywhere}.msg.manager .attachments a{color:#b9ddff}.conversationEmpty{margin:auto;max-width:330px;display:grid;justify-items:center;gap:7px;text-align:center;color:var(--ws-muted,#74808d)}.conversationEmpty strong{font-size:15px;color:var(--ws-text,#202a33)}.conversationEmptyIcon{width:48px;height:48px;border-radius:16px;background:#fff;display:grid;place-items:center;font-size:22px;box-shadow:0 3px 16px rgba(23,33,43,.08)}.deliveryFailure{margin:10px 14px 0;padding:10px 12px;border:1px solid #efc6c6;border-radius:13px;background:#fff4f4;color:#8f3030;font-size:11px;flex:0 0 auto}.deliveryFailure.suspended{font-weight:650}.composer{position:relative;z-index:5;flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;width:100%;padding:8px 14px max(10px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e2e7eb;gap:6px}.quickReplies{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:1px 0;min-width:0}.quickReplies::-webkit-scrollbar{display:none}.quickReplies button{flex:0 0 auto;border:1px solid #dde4e9;background:#fff;color:#52606d;border-radius:999px;padding:6px 9px;font:inherit;font-size:10px;cursor:pointer}.quickReplies button:hover{background:#f1f5f8;color:#263440}.composerSurface{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;width:100%;min-width:0;padding:6px;border:1px solid #d8e0e6;border-radius:16px;background:#fff;box-shadow:0 3px 14px rgba(23,33,43,.06)}.composerMain{min-width:0}.composer textarea{display:block;width:100%;min-height:40px;max-height:120px;resize:none;border:0!important;box-shadow:none!important;padding:9px 10px;background:transparent;line-height:1.4;font-size:13px;overflow-y:auto}.composerActions{display:flex;align-items:center;gap:6px}.composer .attachBtn,.composer .sendBtn{min-height:40px;border-radius:12px}.composer .sendBtn[disabled]{opacity:.55;cursor:wait}.replyStatus{min-height:0;padding:0 10px;font-size:10px;color:var(--ws-muted,#74808d)}.replyStatus:not(:empty){padding-bottom:5px}.replyStatus.error{color:var(--ws-danger,#a33a3a)}.replyStatus.success{color:var(--ws-success,#1f7a4d)}.composerHint{text-align:right;padding-right:4px;font-size:9px;color:#909aa4}.composerLocked{margin:10px 14px max(12px,env(safe-area-inset-bottom));padding:11px 13px;border:1px solid #e0e6eb;border-radius:13px;background:#fff;color:#687481;font-size:11px;text-align:center;flex:0 0 auto}.composerLocked strong{color:#27333d}.conversationHead #conversationActions{display:flex;gap:6px}.conversationHead #conversationActions .actionBtn{white-space:nowrap}
@media(max-width:1100px){.messages{padding-left:22px;padding-right:22px}.msg{max-width:80%}}
@media(max-width:900px){.conversationZone{background:#f4f7f9;height:100dvh;max-height:100dvh}.conversationHead{position:relative;top:auto;padding:8px 10px;min-height:58px}.conversationAvatar{width:36px;height:36px;flex-basis:36px;border-radius:11px}.conversationHead .actions{gap:4px;flex-wrap:nowrap}.conversationHead #conversationActions{gap:4px}.conversationHead #conversationActions .actionBtn{padding:7px 8px;font-size:11px}.conversationLoadStatus{margin:7px 9px 0;padding:7px 9px}.messages{padding:12px 10px 14px}.msg{max-width:88%;font-size:13px}.msg.ai{margin-left:14px}.composer{padding:7px 8px max(7px,env(safe-area-inset-bottom))}.composerSurface{border-radius:14px}.quickReplies{margin:0 -1px}.composerHint{display:none}.composerLocked,.deliveryFailure{margin:8px 9px max(9px,env(safe-area-inset-bottom))}}
@media(max-width:520px){.conversationIdentity{gap:7px;flex:1}.conversationAvatar{display:none}.conversationTitleRow{max-width:none}.conversationIdentityText{max-width:calc(100vw - 205px)}.conversationTitleRow .brand{font-size:16px}.conversationState{display:none}.conversationHead .muted{max-width:100%;font-size:10px}.mobileBack{flex:0 0 34px;width:34px;height:38px;padding:0!important}.mobileLeadBtn{font-size:0;padding:7px 8px!important}.mobileLeadBtn:after{content:'Лид';font-size:10px}.conversationHead #conversationActions .actionBtn{padding:7px 8px;font-size:10px}.messages{padding:10px 8px 12px}.msg{max-width:88%;min-width:104px;padding:8px 10px;border-radius:14px}.msg.ai{margin-left:8px}.msg:has(.attachments){width:min(78vw,320px);min-width:min(72vw,240px)}.msg:has(.attachments) .msgBody:empty{display:none}.msg:has(.attachments) .attachments{margin-top:6px}.msg:has(.attachments) .attachments img,.msg:has(.attachments) .attachments video{width:100%;max-width:100%;max-height:360px}.attachments img,.attachments video{max-width:min(100%,280px);max-height:300px}.composer{padding:6px 7px max(6px,env(safe-area-inset-bottom))}.quickReplies{order:2}.quickReplies button{font-size:9px;padding:5px 7px}.composerSurface{grid-template-columns:minmax(0,1fr) auto;gap:4px;padding:4px}.composer textarea{padding:8px;min-height:38px;font-size:16px}.composerActions{gap:4px}.composer .attachBtn span{display:none}.composer .attachBtn{width:38px;min-width:38px;justify-content:center;padding:0}.composer .sendBtn{min-width:92px;padding:0 12px}.replyStatus{font-size:9px;padding-left:8px}.composerHint{display:none}}
@media(max-width:380px){.conversationIdentityText{max-width:calc(100vw - 188px)}.conversationHead #conversationActions .actionBtn{padding:6px;font-size:9px}.composer .sendBtn{min-width:82px;padding:0 9px}.msg{max-width:90%;min-width:96px}.msg:has(.attachments){width:82vw;min-width:220px}}

/* Photo opening stays in the authenticated page, above transformed mobile panes. */
.attachments .photoOpen{display:inline-flex;align-items:center;min-height:44px;touch-action:manipulation;cursor:zoom-in}
.attachments .photoPreview{display:block;max-width:100%;min-height:44px}
.composer .emojiToggle{flex:0 0 40px;width:40px;height:40px;padding:0;border:1px solid var(--ws-border,#e1e6eb);border-radius:12px;background:#fff;font-size:21px;line-height:1;cursor:pointer;touch-action:manipulation}
.composer .emojiToggle:hover,.composer .emojiToggle[aria-expanded="true"]{background:var(--ws-accent-soft,#eaf3fb)}
.composer .emojiToggle:disabled{opacity:.5;cursor:default}
.composer .emojiToggle,.emojiPicker button{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.emojiPicker{order:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:2px;justify-self:end;width:min(100%,360px);max-height:min(254px,30dvh);overflow-y:auto;overscroll-behavior:contain;padding:8px;border:1px solid var(--ws-border,#e1e6eb);border-radius:14px;background:#fff;box-shadow:0 3px 14px rgba(23,33,43,.08)}
.emojiPicker button{min-width:0;min-height:42px;padding:0;border:0;border-radius:9px;background:transparent;font-size:24px;line-height:1;cursor:pointer;touch-action:manipulation}
.emojiPicker button:hover{background:var(--ws-accent-soft,#eaf3fb)}
.emojiPicker button:focus-visible,.composer .emojiToggle:focus-visible{outline:2px solid var(--ws-accent,#1769aa);outline-offset:-2px}
@media(max-width:520px){.composer .emojiToggle{flex-basis:38px;width:38px;height:42px;align-self:flex-end;border-radius:10px}.emojiPicker{justify-self:stretch;width:100%}}
.photoOpen:focus-visible{outline:3px solid #1769aa;outline-offset:3px;border-radius:8px}
.photoViewer{box-sizing:border-box;position:fixed;inset:0;margin:auto;padding:0;border:0;border-radius:16px;width:min(1100px,96vw);height:94vh;height:94dvh;max-width:100vw;max-height:100vh;max-height:100dvh;background:#172532;color:#fff;overflow:hidden}
.photoViewer[open]{display:flex;flex-direction:column}
.photoViewer::backdrop{background:rgba(10,18,26,.78)}
.photoViewerBar{display:flex;align-items:center;gap:8px;padding:10px max(10px,env(safe-area-inset-right)) 10px max(10px,env(safe-area-inset-left));flex:0 0 auto}
.photoViewerBar strong{flex:1;min-width:0;font-size:14px}
.photoViewer button{box-sizing:border-box;min-height:44px;min-width:44px;padding:8px 12px;border:1px solid #718397;border-radius:10px;background:#263d50;color:#fff;font:inherit;font-size:13px;cursor:pointer;touch-action:manipulation}
.photoViewer button:focus-visible{outline:3px solid #c4e5ff;outline-offset:2px}
.photoViewer button:disabled{opacity:.55;cursor:wait}
.photoViewerStatus{flex:0 0 auto;padding:10px 16px;line-height:1.5;font-size:14px}
.photoViewerStatus:empty{display:none}
.photoViewer>button{align-self:center;margin:4px 12px 12px}
.photoViewerStage{flex:1 1 auto;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;padding:10px 10px max(10px,env(safe-area-inset-bottom))}
.photoViewerStage img{display:block;flex:0 0 auto;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.photoViewerStage.zoomed{display:block}
.photoViewerStage.zoomed img{max-width:none;max-height:none;margin:0 auto}
.photoViewer [hidden]{display:none!important}
@media(max-width:900px){.photoViewer{width:100%;height:100vh;height:100dvh;border-radius:0}.photoViewerBar{padding-top:max(8px,env(safe-area-inset-top))}.photoViewerBar strong{font-size:13px}.photoViewer button{padding:8px 10px}}

.linkedMessage{margin:0 0 7px;padding:7px 9px;border-left:3px solid currentColor;border-radius:5px;background:rgba(127,127,127,.10);font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.linkedMessageLabel{font-size:10px;text-transform:uppercase;letter-spacing:.03em;opacity:.7}
.linkedMessageSender{font-weight:600;margin-top:2px}.linkedMessageText{margin-top:2px;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

.msg.serviceAction{align-self:center;max-width:min(92%,640px);margin:8px 0;padding:8px 12px;border:1px solid #dce4eb;border-radius:10px;background:#eef2f5;color:#536270;box-shadow:none;font-size:12px}
.serviceAction .messageSender{text-transform:none;opacity:1;font-size:10px}.serviceAction .msgMeta{font-size:10px}
.serviceActionDetails{margin-top:4px;font-size:11px}.serviceActionDetails summary{cursor:pointer}.serviceActionDetails code{display:block;margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere}
.lifecycleNotice{display:flex;align-items:center;justify-content:center;gap:6px 12px;flex-wrap:wrap;text-align:left;font-size:12px;line-height:1.4}.lifecycleNotice span{flex:1 1 220px;min-width:0;overflow-wrap:anywhere}.lifecycleNotice .actionBtn{min-height:44px;flex:0 0 auto;white-space:nowrap}.lifecycleNotice.warning{background:#fff5dc;color:#705400;border:1px solid #e9d49e}

/* Panel-only handoff context stays outside the message transcript. */
.handoffContext{flex:0 0 auto;min-width:0;margin:6px 12px;border:1px solid #d8e2de;border-radius:10px;background:#f4f8f6;color:#30483d;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.handoffContext[hidden]{display:none}
.handoffContext summary{box-sizing:border-box;min-height:44px;padding:12px;cursor:pointer;font-weight:600;touch-action:manipulation}
.handoffContext summary:focus-visible{outline:2px solid #28765d;outline-offset:-3px;border-radius:9px}
.handoffContextContent{max-height:30vh;max-height:min(280px,30dvh);overflow:auto;overscroll-behavior:contain;padding:0 12px 12px}
.handoffContextSummary,.handoffContextGuidance{white-space:pre-wrap}
.handoffContextGuidance{margin-top:12px;padding-top:10px;border-top:1px solid #d8e2de;color:#52665d}
.handoffContext .attachments{max-width:100%}
.handoffContext .attachments img,.handoffContext .attachments video{max-width:100%}
/* A phone keyboard can shrink visualViewport without changing dvh. Reuse the
   reply editor's measured height so context cannot cover the chat/composer. */
.manager2 .m2ReplyViewport .handoffContextContent{max-height:min(160px,calc(var(--m2-reply-visible-height)*.2))}
.manager2 .m2ReplyViewport .handoffContext{flex-shrink:1;min-height:44px;overflow:auto}
.manager2 .m2ReplyViewport:has(.handoffContext:not([hidden])) .messages{min-height:60px}
@media(max-width:430px){.handoffContext{margin:4px 8px}.handoffContext summary{padding:12px 10px}.handoffContextContent{padding:0 10px 10px}}
