.chat-message-list .message-with-reply{position:relative;overflow:visible;padding-right:38px;white-space:pre-wrap}
.message-reply-actions{position:absolute;right:3px;top:4px;white-space:normal}
.message-menu-trigger{border:0!important;background:transparent!important;color:inherit!important;font-size:24px;line-height:24px;padding:0 5px!important;min-width:28px;cursor:pointer}
.message-reply-menu{position:absolute;right:0;top:29px;z-index:30;width:145px;padding:7px;background:#fff;color:#222;border:1px solid #d5d8dc;border-radius:9px;box-shadow:0 5px 20px #0002}
.message-reply-menu button{background:transparent!important;color:#222!important;border:0!important;text-align:left;width:100%;padding:12px!important;cursor:pointer;border-radius:5px}
.message-reply-menu button:hover{background:#f0f2f5!important}
.chat-thread > form{flex-wrap:nowrap}
.message-reply-preview{flex:0 0 100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-left:3px solid #00a884;background:#eef3f4;color:#253039;border-radius:6px;min-width:0}
.message-reply-preview div{min-width:0;flex:1}.message-reply-preview strong,.message-reply-preview span{display:block}
.message-reply-preview span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px;font-size:13px}
.message-reply-preview button{background:transparent!important;border:0!important;color:#253039!important;font-size:22px;padding:4px 9px!important;cursor:pointer}
.inbox-container .chat-message-list{padding-left:44px;padding-right:44px;gap:14px}
.inbox-container .chat-message-list>div.message-with-reply{align-self:flex-start;width:fit-content;max-width:min(78%,560px);min-width:0;flex:0 0 auto;padding:10px 14px;border-radius:18px;background:#f0f2f5;color:#35434b;line-height:1.5;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.inbox-container .chat-message-list>div.message-with-reply.mine{align-self:flex-end;background:#b9efd0;color:#2c493a}
.inbox-container .chat-message-list>div.message-with-reply.photo-message,.inbox-container .chat-message-list>div.message-with-reply:has(.message-sticker){background:transparent;padding:0;border-radius:10px}
.message-with-reply>small:first-child{display:none}
.message-with-reply .message-reply-actions{right:-36px;top:calc(50% - 16px);transform:none}
.message-with-reply.mine .message-reply-actions{right:auto;left:-36px}
.message-with-reply .message-menu-trigger{color:#858c91!important;padding:4px!important}
.message-with-reply .message-reply-menu{position:fixed;right:auto;top:auto;z-index:5000;width:218px;padding:10px 6px;border-radius:11px;box-shadow:0 5px 25px #0002;transform:none}
.message-with-reply .message-reply-menu button{padding:15px 17px!important;font-size:17px;line-height:1.4;font-weight:400}
.message-pin-badge{font-size:12px;margin-right:5px}.message-reply-reference{display:inline-block;color:inherit;text-decoration:none;font-size:16px;margin-right:6px}.pinned-message{box-shadow:0 0 0 2px #dfbc55}
.message-action-notice{position:absolute;top:calc(100% + 4px);left:0;z-index:25;padding:5px 9px;border-radius:5px;background:#263238;color:white;font-size:12px;white-space:nowrap}
@media(max-width:600px){.inbox-container .chat-message-list{padding:16px 38px}.inbox-container .chat-message-list>div.message-with-reply{max-width:88%;font-size:14px;padding:9px 12px}}

/* Original dark grey incoming and blue outgoing message colours. */
.inbox-container .chat-message-list>div.message-with-reply{background:#2b303a;color:#e5e7eb;margin-bottom:18px}
.inbox-container .chat-message-list>div.message-with-reply.mine{background:#155dc7;color:#fff}
.inbox-container .chat-message-list>div.message-with-reply.photo-message,.inbox-container .chat-message-list>div.message-with-reply:has(.message-sticker){background:transparent}
.message-with-reply .message-reply-actions{opacity:0;pointer-events:none;transition:opacity .12s ease}
.message-with-reply:hover .message-reply-actions,.message-with-reply:focus-within .message-reply-actions,.message-with-reply.message-menu-open .message-reply-actions{opacity:1;pointer-events:auto}
/* Include the gap next to the bubble in its hover target. */
.message-with-reply::after{content:"";position:absolute;top:-6px;bottom:-6px;right:-38px;width:40px}
.message-with-reply.mine::after{right:auto;left:-38px}
.message-reply-actions{z-index:2}
.message-time{position:absolute;right:0;bottom:-19px;color:#929ba7;font-size:11px;line-height:15px;white-space:nowrap;font-weight:400;pointer-events:none}
@media(hover:none),(pointer:coarse){.message-with-reply .message-reply-actions{opacity:1;pointer-events:auto}}
@media(prefers-reduced-motion:reduce){.message-with-reply .message-reply-actions{transition:none}}

/* Keep attachment, sticker, emoji, text field and Send on their original row. */
.inbox-container .chat-thread>form{display:flex;flex-wrap:nowrap;align-items:center;min-width:0}
.inbox-container .chat-thread>form:has(>.message-reply-preview),.inbox-container .chat-thread>form:has(>.photo-preview){flex-wrap:wrap}
.inbox-container .chat-thread>form>.message-reply-preview,.inbox-container .chat-thread>form>.photo-preview{flex:0 0 100%;width:100%;min-width:0}
.inbox-container .chat-thread>form>input:not([type=file]),.inbox-container .chat-thread>form>textarea{flex:1 1 0%;width:0;min-width:0;max-width:100%;box-sizing:border-box}
.inbox-container .chat-thread>form>.photo-picker,.inbox-container .chat-thread>form>.emoji-menu{flex:0 0 auto;align-self:center}
.inbox-container .chat-thread>form>button:last-child{flex:0 0 auto;margin-left:0;align-self:center;white-space:nowrap}

/* Reference placement: dots at the lower outside corner of each bubble. */
.message-with-reply .message-reply-actions{top:auto;bottom:5px;transform:none}

/* Photos must not clip their outside message controls. */
.inbox-container .chat-message-list>div.message-with-reply.photo-message{overflow:visible!important;position:relative}
.inbox-container .chat-message-list>div.message-with-reply.photo-message>.chat-photo-open{overflow:hidden;border-radius:10px}
.pinned-message-bar{position:sticky;top:0;z-index:20;width:100%;max-width:none!important;align-self:stretch;background:#fff!important;color:#27343e!important;white-space:normal!important;padding:12px!important;border:1px solid #d9dfe4;border-radius:9px!important;box-shadow:0 4px 15px #0002;flex:none;margin-bottom:7px}
.pinned-message-heading{display:flex;gap:12px;align-items:center}.pinned-message-bar button{border:0;background:transparent;color:inherit;cursor:pointer;text-align:left;padding:2px}.pinned-message-jump{flex:1;min-width:0}.pinned-message-jump strong{display:block;font-size:14px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pinned-message-jump small{display:block!important;font-size:11px;color:#86939d;margin-top:3px}.pinned-message-expand{font-size:22px}.pinned-message-options{border-top:1px solid #e3e7ec;margin-top:9px;padding-top:7px;max-height:180px;overflow:auto}.pinned-message-options button{display:block;width:100%;padding:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}

.pinned-message-bar .pinned-message-cancel{flex:none;width:28px;height:28px;font-size:22px;text-align:center;padding:0;line-height:28px;color:#6a7781}.pinned-message-option{display:flex;align-items:center;gap:8px}.pinned-message-option>button:first-child{flex:1;min-width:0}.pinned-message-option>.pinned-message-cancel{width:28px;flex:none}

/* Incoming menu overlays the grid instead of sitting under its divider. */
.message-reply-menu.incoming-menu-portal{position:fixed;z-index:2147483647;width:218px;box-sizing:border-box;padding:10px 6px;background:#fff;color:#222;border:1px solid #d5d8dc;border-radius:11px;box-shadow:0 5px 25px #0002;font-family:system-ui,sans-serif;white-space:normal}.incoming-menu-portal button{display:block;box-sizing:border-box;background:transparent;color:#222;border:0;text-align:left;width:100%;padding:15px 17px;font-size:17px;line-height:1.4;font-weight:400;border-radius:5px;cursor:pointer}.incoming-menu-portal button:hover{background:#f0f2f5}.incoming-menu-portal button:focus-visible{outline:2px solid #155dc7;outline-offset:-2px}
/* Framed pin-bar controls. */
.pinned-message-bar .pinned-message-expand,.pinned-message-bar .pinned-message-cancel{display:grid;place-items:center;flex:none;width:32px;height:32px;padding:0;border-radius:8px;border:1px solid #cbd5e1;background:#f3f6fa;line-height:1;font-size:19px;color:#4a596b;transition:background .12s,border-color .12s}
.pinned-message-bar .pinned-message-expand:hover{background:#e5edf7;border-color:#9cb2cd}
.pinned-message-bar .pinned-message-cancel{color:#dc2626;background:#fff1f2;border-color:#f3b6bc;font-size:22px}
.pinned-message-bar .pinned-message-cancel:hover{color:#b91c1c;background:#ffe0e4;border-color:#e88b97}
.pinned-message-bar .pinned-message-expand:focus-visible,.pinned-message-bar .pinned-message-cancel:focus-visible{outline:2px solid #155dc7;outline-offset:2px}
.pinned-message-bar .pinned-message-cancel:disabled{opacity:.5;cursor:wait}

.pinned-message-bar .pinned-message-expand,.pinned-message-bar .pinned-message-cancel{display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.pinned-message-control-icon{display:block;width:18px;height:18px;flex:none;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.pinned-message-expand .pinned-message-control-icon{width:21px;height:21px;stroke-width:2.3}
