/* Messenger presentation is scoped to an open conversation. */
.messages-view .workspace-detail:has(.messenger-thread){--chat-bg:#fff;--chat-surface:#f0f1f3;--chat-text:#202127;--chat-muted:#747780;--chat-own:#a92f4a;--chat-line:#e6e7eb;--chat-sheet:#f6f6f8;--chat-accent:#a92f4a;background:var(--chat-bg);color:var(--chat-text)}
.messages-view .workspace-detail:has(.messenger-thread[data-theme=dark]){--chat-bg:#0c0e13;--chat-surface:#24262e;--chat-text:#f5f5f7;--chat-muted:#a5a7b2;--chat-own:#8f2944;--chat-line:#32343e;--chat-sheet:#1c1e26;--chat-accent:#f0a4b8;color-scheme:dark}
.messages-view .workspace-detail:has(.messenger-thread) .workspace-case-header{background:var(--chat-bg);padding-bottom:7px;min-height:66px;border:0;align-items:center}
.messages-view .workspace-detail:has(.messenger-thread) .workspace-case-header h2{color:var(--chat-text);margin:0;font-size:16px}
.messenger-person{padding:0;border:0;background:none;font:inherit;font-weight:650;color:inherit;text-align:left;cursor:pointer;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:30px}
.messages-view .workspace-detail:has(.messenger-thread) .mx-listing-link{color:var(--chat-muted);min-height:22px}.messages-view .workspace-detail:has(.messenger-thread) .mx-listing-copy strong{font-size:11px}
.messages-view .workspace-detail:has(.messenger-thread):not(.messenger-context-open) .workspace-case-tabs{display:none}
.messages-view .workspace-detail:has(.messenger-thread) .workspace-case-tabs{background:var(--chat-bg);border-color:var(--chat-line);overflow-x:auto;flex-shrink:0}.messages-view .workspace-detail:has(.messenger-thread) .workspace-case-tabs>button{color:var(--chat-muted)}.messages-view .workspace-detail:has(.messenger-thread) .workspace-case-tabs>button.active{color:var(--chat-accent);border-color:var(--chat-accent)}
.messages-view .workspace-detail:has(.messenger-thread) #workspace-back{background:var(--chat-surface);color:var(--chat-text);border-radius:50%;width:40px;min-width:40px;height:40px}
.messages-view .messenger-thread .thread-context{display:none}.messages-view .messenger-thread .message-scroll{background:var(--chat-bg);padding-top:18px;gap:8px}.messages-view .messenger-thread .thread-header{top:12px}
.messages-view .messenger-thread .thread-options>summary{background:var(--chat-surface);color:var(--chat-text)}.messages-view .messenger-thread .thread-options>div{background:var(--chat-sheet);border-color:var(--chat-line);box-shadow:0 10px 40px #0003}.messages-view .messenger-thread .thread-options button{background:none;color:var(--chat-text)}.messages-view .messenger-thread .thread-options button:hover{background:var(--chat-surface)}.messages-view .messenger-thread .composer-guidance,.messages-view .messenger-thread .composer-guidance p{color:var(--chat-muted);border-color:var(--chat-line)}
.messenger-theme{display:flex;flex-direction:column;gap:7px;padding:10px 12px;font-size:11px;color:var(--chat-muted)}.messenger-theme select{padding:9px 7px;border:1px solid var(--chat-line);border-radius:8px;background:var(--chat-surface);color:var(--chat-text);font:inherit;font-size:13px;width:100%}
.messages-view .messenger-thread .message-bubble{background:var(--chat-surface);color:var(--chat-text);box-shadow:none;border-radius:20px 20px 20px 6px;max-width:82%;padding:10px 13px 4px;margin-bottom:2px}
.messages-view .messenger-thread .message-bubble.mine{background:var(--chat-own);color:#fff;border-radius:20px 20px 6px 20px}
.messages-view .messenger-thread .message-bubble>p{font-size:15px;line-height:1.45}.messages-view .messenger-thread .message-bubble footer{margin:1px -3px 0 0;min-height:22px;gap:1px}.messages-view .messenger-thread .message-bubble time{font-size:9px;color:var(--chat-muted)}.messages-view .messenger-thread .message-bubble.mine time{color:#ffffffb8}
.messages-view .messenger-thread .chat-message-menu{color:var(--chat-muted);width:30px;height:28px}.messages-view .messenger-thread .mine .chat-message-menu{color:#ffffffb8}.messages-view .messenger-thread .chat-message-menu[aria-expanded=true]{background:#ffffff24}
.messages-view .messenger-thread .chat-tools-open{outline-color:var(--chat-accent)}.messages-view .messenger-thread .message-reply-button,.messages-view .messenger-thread .message-react-picker>summary,.messages-view .messenger-thread .message-actions>summary{color:inherit}
.messages-view .messenger-thread .message-react-picker>div,.messages-view .messenger-thread .message-actions>button{background:var(--chat-sheet);color:var(--chat-text);border-color:var(--chat-line)}
.messages-view .messenger-thread .message-reactions:not(:empty){position:relative;left:auto;bottom:auto;margin:4px 0 0;gap:3px;z-index:1}.messages-view .messenger-thread .mine .message-reactions:not(:empty){left:auto;right:auto}.messages-view .messenger-thread .message-bubble:has(.message-reactions:not(:empty)){margin-bottom:3px}
.messages-view .messenger-thread .message-reaction{background:var(--chat-surface);border:2px solid var(--chat-bg);color:var(--chat-text);min-height:28px;padding:1px 6px}.messages-view .messenger-thread .message-reaction.mine{background:var(--chat-sheet);box-shadow:inset 0 0 0 1px var(--chat-accent)}
.messages-view .messenger-thread .chat-quote{background:#00000010;color:inherit;border-left-color:var(--chat-accent)}.messages-view .messenger-thread .mine .chat-quote{background:#ffffff16;border-left-color:#ffffffaa}.messages-view .messenger-thread .chat-quote span{opacity:.85}
.messages-view .messenger-thread .chat-image{width:280px;max-width:100%;background:#00000012;border-radius:16px;margin:0}.messages-view .messenger-thread .chat-image img{height:280px;object-fit:contain}.messages-view .messenger-thread .message-bubble video{max-height:380px;max-width:100%;border-radius:16px;margin:0}
.messages-view .messenger-thread .message-bubble:has(>.chat-image),.messages-view .messenger-thread .message-bubble:has(>video){background:none;padding:0;color:var(--chat-text)}.messages-view .messenger-thread .message-bubble:has(>.chat-image)>p,.messages-view .messenger-thread .message-bubble:has(>video)>p{padding:8px 10px}.messages-view .messenger-thread .message-bubble:has(>.chat-image) time,.messages-view .messenger-thread .message-bubble:has(>video) time{color:var(--chat-muted)}
.messages-view .messenger-thread .chat-audio-play{background:var(--chat-accent);color:var(--chat-bg)}.messages-view .messenger-thread .mine .chat-audio-play{background:#fff;color:#99283f}.messages-view .messenger-thread .chat-audio-track input{accent-color:var(--chat-accent)}.messages-view .messenger-thread .mine .chat-audio-track input{accent-color:#fff}.messages-view .messenger-thread .chat-audio-track>div{color:var(--chat-muted)}.messages-view .messenger-thread .mine .chat-audio-track>div{color:#ffffffc7}
.messages-view .messenger-thread .message-day,.messages-view .messenger-thread .chat-typing,.messages-view .messenger-thread .chat-history{background:var(--chat-bg);color:var(--chat-muted)}.messages-view .messenger-thread .message-day{font-size:10px;margin:14px 0 7px}.messages-view .messenger-thread .chat-file small{color:inherit;opacity:.8}
.messages-view .messenger-thread .message-composer{background:var(--chat-bg);border:0;padding:6px 10px 10px!important;max-height:65%;overflow:auto}
.messages-view .messenger-thread .mx-compose-line{background:var(--chat-surface);border-radius:28px;gap:1px;padding:3px;align-items:flex-end}
.messages-view .messenger-thread .mx-compose-line textarea{background:transparent;color:var(--chat-text);padding:12px 6px;border:0;border-radius:0;font-size:16px;min-width:40px}.messages-view .messenger-thread .mx-compose-line textarea::placeholder{color:var(--chat-muted)}
.messages-view .messenger-thread .mx-compose-line .icon-button{width:35px;min-width:35px;min-height:44px;padding:8px 6px;border-radius:50%;background:none;color:var(--chat-text)}.messages-view .messenger-thread .mx-compose-line svg{width:23px;height:23px}.messages-view .messenger-thread #messenger-camera{background:var(--chat-own);color:#fff;min-width:40px;width:40px;min-height:40px;margin:2px}
.messages-view .messenger-thread #send-message{min-width:40px;width:40px;min-height:40px;margin:2px;background:var(--chat-own);color:#fff;align-self:flex-end}
.messages-view .messenger-thread .message-composer:not(.messenger-ready) #send-message{display:none}.messages-view .messenger-thread .messenger-ready #record-voice,.messages-view .messenger-thread .messenger-ready #messenger-gallery{display:none}
.messages-view .messenger-thread .composer-actions{position:relative;background:var(--chat-sheet);border:1px solid var(--chat-line);border-radius:24px;padding:8px 10px 12px;margin:8px 0 0;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.messenger-tray-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;min-height:35px;padding:0 4px 6px;color:var(--chat-text)}.messenger-tray-head strong{font-size:12px;font-weight:550}.messenger-tray-head button{width:36px;height:36px;border:0;border-radius:50%;background:var(--chat-surface);color:var(--chat-text);font-size:24px;cursor:pointer}
.messages-view .messenger-thread .composer-actions .messenger-attachment{color:var(--chat-text);font-size:10px;gap:8px;padding:8px 0;border:0;background:none}.messages-view .messenger-thread .composer-actions .messenger-attachment svg{color:var(--chat-text);background:var(--chat-surface);width:46px;height:46px;padding:11px;border-radius:17px}.messages-view .messenger-thread .composer-actions .messenger-attachment:hover{background:var(--chat-surface)}
.messages-view .messenger-thread #message-status{color:var(--chat-muted);font-size:11px}.messages-view .messenger-thread .reply-video-preview,.messages-view .messenger-thread .chat-reply-draft,.messages-view .messenger-thread .voice-recording{background:var(--chat-surface);border-color:var(--chat-line);color:var(--chat-text)}.messages-view .messenger-thread .chat-reply-draft strong,.messages-view .messenger-thread .reply-video-preview small{color:var(--chat-muted)}
@media(max-width:700px){body.messages-active:has(.case-open .messenger-thread) .mobile-nav{display:none}#main.messages-view:has(.case-open .messenger-thread){height:var(--mx-viewport,100dvh);background:var(--chat-bg,#fff)}.messages-view .workspace-detail:has(.messenger-thread) .workspace-case-header{padding:calc(8px + env(safe-area-inset-top,0px)) 56px 7px 8px;min-height:64px}.messages-view .messenger-thread .thread-header{top:calc(11px + env(safe-area-inset-top,0px));right:10px}.messages-view .messenger-thread .message-composer{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))!important}.messages-keyboard .messages-view .messenger-thread .message-composer{padding-bottom:6px!important}.messages-view .messenger-thread .message-scroll{padding-left:12px;padding-right:12px}.messages-view .messenger-thread .chat-audio{width:220px}.messages-view .messenger-thread .chat-image{width:270px}.messenger-theme select{font-size:16px}}
.messages-view .workspace-detail .messenger-thread{background:var(--chat-bg)}.messages-view .messenger-thread #record-voice{background:transparent;color:var(--chat-text);width:35px;min-width:35px}

/* Component-owned controls avoid inherited form/button defaults. */
#composer-attachments .messenger-attachment{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0;min-height:88px;margin:0;line-height:1.25;text-align:center;font-weight:500;cursor:pointer;overflow:hidden;box-shadow:none;border-radius:12px}
#composer-attachments .messenger-attachment input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
#composer-attachments .messenger-attachment:focus-within{outline:2px solid var(--chat-accent);outline-offset:-2px}
#message-form.messenger-recording .mx-compose-line,#message-form.messenger-recording #reply-video-preview{display:none}
#voice-recorder .voice-recording{display:flex;align-items:center;flex-wrap:nowrap;gap:10px;padding:8px 12px;margin:0;border:0;border-radius:28px;min-height:56px}
#voice-recorder .voice-recording strong{flex:1;min-width:0;font-size:13px;color:var(--chat-text);font-variant-numeric:tabular-nums}
#voice-recorder .voice-dot{color:var(--chat-accent);margin-right:6px}
#voice-recorder button{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;min-height:40px;padding:0;border:0;border-radius:50%;background:var(--chat-sheet);color:var(--chat-text);font-size:22px;cursor:pointer}
#voice-recorder #voice-send{background:var(--chat-own);color:white}#voice-recorder #voice-cancel{order:-1}
#message-form #message-status:empty{display:none}
.messages-view .messenger-thread .message-bubble{min-height:0}
.messages-view .messenger-thread .chat-audio{padding:0;gap:9px}
.messages-view .messenger-thread .chat-audio-track input[type=range]{appearance:none;-webkit-appearance:none;box-sizing:border-box;min-height:28px;height:28px;width:100%;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.chat-audio-track input[type=range]::-webkit-slider-runnable-track{height:4px;border:0;border-radius:4px;background:var(--chat-muted)}
.chat-audio-track input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:12px;margin-top:-4px;border:0;border-radius:50%;background:var(--chat-accent)}
.chat-audio-track input[type=range]::-moz-range-track{height:4px;border:0;border-radius:4px;background:var(--chat-muted)}
.chat-audio-track input[type=range]::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:var(--chat-accent)}
.messages-view .messenger-thread .message-bubble.chat-media-message{background:transparent;padding:0;color:var(--chat-text);max-width:78%}
.messages-view .messenger-thread .chat-media-message video{display:block;width:260px;height:260px;max-width:100%;object-fit:contain;background:var(--chat-surface);border-radius:16px}
.messages-view .messenger-thread .chat-media-message>small{display:none}
.messages-view .messenger-thread .chat-media-message time,.messages-view .messenger-thread .chat-media-message .chat-message-menu{color:var(--chat-muted)}
.messages-view .messenger-thread .chat-remove-message{border:0;background:transparent;color:inherit;font-size:11px;padding:8px;min-height:40px;cursor:pointer}
.messages-view .messenger-thread .message-bubble:not(.chat-tools-open) .chat-remove-message{display:none}
.messages-view .messenger-thread .message-bubble footer{flex-wrap:wrap}
.messages-view .messenger-thread .chat-tools-open .chat-message-menu{order:5}

.messages-view .messenger-thread .message-bubble footer .chat-message-menu{min-height:30px;height:30px}
#voice-recorder #voice-cancel:only-of-type{width:auto;padding:0 12px;font-size:12px}

/* Hold gestures and system attachment selection. No controls expand a bubble. */
#composer-attachments[hidden]{display:none!important}
#record-voice{touch-action:none;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}
#message-form.messenger-recording.messenger-holding .mx-compose-line{display:flex}
#message-form.messenger-holding .mx-compose-line>:not(#record-voice){opacity:.35;pointer-events:none}
#message-form.messenger-holding #record-voice{background:var(--chat-own);color:#fff}
#voice-recorder .voice-hold-hint{font-size:11px;line-height:1.5;text-align:right;color:var(--chat-muted)}
#voice-recorder.voice-will-cancel .voice-recording{outline:2px solid var(--chat-accent)}
.messages-view .messenger-thread .message-bubble{flex:0 0 auto;min-width:0}
.messages-view .messenger-thread .message-bubble.chat-design-ready footer{position:relative;min-height:16px;height:16px;margin:2px 0 0;flex-wrap:nowrap}
.messages-view .messenger-thread .chat-design-ready .message-react-picker,.messages-view .messenger-thread .chat-design-ready .message-reply-button,.messages-view .messenger-thread .chat-design-ready .chat-remove-message{display:none!important}
.messages-view .messenger-thread .chat-design-ready .chat-message-menu{position:absolute;right:-10px;bottom:-6px;opacity:0;min-height:30px;pointer-events:none}
.messages-view .messenger-thread .chat-design-ready:focus-within .chat-message-menu{opacity:1;pointer-events:auto;background:var(--chat-sheet);color:var(--chat-text)}
@media(hover:hover){.messages-view .messenger-thread .chat-design-ready:hover .chat-message-menu{opacity:1;pointer-events:auto;background:var(--chat-sheet);color:var(--chat-text)}}
.messages-view .messenger-thread .chat-design-ready,.messages-view .messenger-thread .chat-image{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.messages-view .messenger-thread .chat-media-message{width:fit-content;align-self:flex-start}
.messages-view .messenger-thread .chat-media-message.mine{align-self:flex-end}
.messages-view .messenger-thread .chat-image{width:fit-content;max-width:100%;background:none;overflow:hidden;border-radius:16px}
.messages-view .messenger-thread .chat-image img{width:auto;height:auto;max-width:min(270px,65vw);max-height:340px;object-fit:contain;border-radius:16px}
.messages-view .messenger-thread .chat-media-message.mine .message-reactions{justify-content:flex-end}
.messages-view .messenger-thread .message-reactions:empty{display:none}
.messages-view .messenger-thread .chat-typing{min-height:28px;padding-top:5px;padding-bottom:5px;font-size:12px}
.chat-actions-dialog{position:fixed;inset:auto;margin:0;padding:8px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;border:1px solid var(--chat-line,#ddd);border-radius:22px;background:var(--chat-sheet,#f6f6f8);color:var(--chat-text,#202127);box-shadow:0 12px 50px #0004;box-sizing:border-box}
.chat-actions-dialog::backdrop{background:#0002;backdrop-filter:none;-webkit-backdrop-filter:none}
.chat-action-heading{display:flex;align-items:center;justify-content:space-between;padding:0 8px;color:var(--chat-muted,#747780);font-size:12px}
.chat-action-heading button{width:36px;min-height:36px;padding:0;border:0;border-radius:50%;background:none;color:inherit;font-size:24px}
.chat-action-reactions{display:flex;justify-content:space-between;gap:0;padding:3px 0 8px}
.chat-action-reactions button{flex:1;min-width:0;min-height:44px;padding:2px;border:0;border-radius:50%;background:none;font-size:26px;cursor:pointer}
.chat-actions-dialog .chat-action-row{display:block;width:100%;min-height:44px;padding:10px 12px;border:0;border-top:1px solid var(--chat-line,#ddd);background:none;text-align:left;font-size:15px;color:var(--chat-text,#202127);cursor:pointer}
.chat-actions-dialog .chat-action-row.destructive{color:var(--chat-accent,#a92f4a)}
.chat-actions-dialog button:hover,.chat-actions-dialog button:focus-visible{background:var(--chat-surface,#e7e7ec)}
.messages-view .messenger-thread .mx-compose-line textarea{padding-block:10px;line-height:24px;scrollbar-width:none}
.messages-view .messenger-thread .mx-compose-line textarea::-webkit-scrollbar{display:none}

/* Touch menus own their gesture; editable text retains normal selection. */
.chat-actions-dialog,.chat-actions-dialog *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.messages-view .messenger-thread .chat-design-ready *:not(input):not(textarea){-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
#message-form #message-body:focus,#message-form #message-body:focus-visible{outline:none;box-shadow:none}
#message-form .mx-compose-line:focus-within{box-shadow:inset 0 0 0 1px var(--chat-accent)}
#message-form #dismiss-voice-error{display:block;font-size:12px;color:var(--chat-accent);padding:8px 0;min-height:36px;background:none;border:0}
@media(max-width:700px){
 .messages-keyboard #main.messages-view:has(.messenger-thread) .message-composer{padding-bottom:4px!important;margin-bottom:0}
 .messages-view .workspace-detail:has(.messenger-thread){min-height:0;overflow:hidden}
 .messages-view .messenger-thread .message-scroll{scroll-padding-bottom:12px}
}

#message-form.messenger-holding{position:relative}
#message-form.messenger-holding #voice-recorder{position:absolute;left:10px;right:90px;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:2;pointer-events:none}
#message-form.messenger-holding #voice-recorder .voice-recording{min-height:46px;padding:4px 12px;border-radius:28px 0 0 28px}
#message-form.messenger-holding .mx-compose-line>:not(#record-voice){visibility:hidden}
.messages-keyboard #message-form.messenger-holding #voice-recorder{bottom:4px}

.messages-view .messenger-thread #messenger-camera{width:40px;height:40px;min-width:40px;min-height:40px;max-height:40px;flex:0 0 40px;padding:9px;border-radius:50%;aspect-ratio:1}
#message-form.messenger-holding #voice-recorder:has(#voice-cancel){pointer-events:auto}

.call-audio-stage{min-height:90px;height:auto}.call-audio-stage video[data-remote]{height:54px;min-height:54px;max-height:54px;background:transparent}.call-audio-stage video[data-local]{display:none}

/* Conversation options remain usable on narrow screens and with the keyboard open. */
.messages-view .messenger-thread .thread-options>div{width:260px;max-width:calc(100vw - 32px);max-height:min(480px,60dvh);overflow-y:auto;overscroll-behavior:contain;padding:8px;border-radius:16px}
.messages-view .messenger-thread .thread-options>div>button{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;margin:0;padding:10px 12px;text-align:left;border:0;box-shadow:none;font-size:14px;border-radius:8px}
.messages-view .messenger-thread .thread-options>div>button svg{width:18px;height:18px;flex:none}
.messages-view .messenger-thread .messenger-theme{padding:12px;border-top:1px solid var(--chat-line);margin-top:6px}
.messages-view .messenger-thread .composer-guidance{padding:10px 12px;margin:0}
