/* GFUK v4.6.6 - Messenger is an AJAX overlay, never a standalone page. */
.messenger-dock{position:fixed;right:92px;bottom:18px;z-index:2075;display:flex;align-items:flex-end;gap:10px;pointer-events:none;max-width:calc(100vw - 120px)}
.messenger-popout{order:1;width:340px;height:455px;display:grid;grid-template-rows:58px 1fr auto;background:#fff;border:1px solid rgba(14,36,39,.12);border-radius:16px 16px 10px 10px;box-shadow:0 22px 65px rgba(6,25,28,.25);overflow:hidden;pointer-events:auto;animation:messengerRise .18s ease}
.messenger-popout.incoming{animation:messengerIncoming .55s ease}.messenger-popout header{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#fff;border-bottom:1px solid #e7eceb}.messenger-popout-title{min-width:0;flex:1}.messenger-popout-title strong,.messenger-popout-title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messenger-popout-title small{color:#6d7b79;font-size:11px;margin-top:2px}.messenger-popout-controls{display:flex}.messenger-popout-controls button{width:34px;height:34px;border:0;border-radius:50%;background:transparent;font-size:21px;color:#52615f;cursor:pointer}.messenger-popout-controls button:hover{background:#eef3f2}
.messenger-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;background:linear-gradient(145deg,#5c58dc,#7c70ec);color:#fff;font-weight:900;font-size:12px}.messenger-avatar img{width:100%;height:100%;object-fit:cover}.messenger-avatar.message{width:28px;height:28px;font-size:9px}.messenger-avatar.tray{width:42px;height:42px}.messenger-avatar.header{width:38px;height:38px}
.messenger-popout-messages{overflow-y:auto;padding:12px;background:#f7f8fa}.messenger-chat-row{display:flex;align-items:flex-end;gap:6px;margin:8px 0}.messenger-chat-row.mine{flex-direction:row-reverse}.messenger-chat-bubble{max-width:78%;padding:9px 11px;border-radius:18px 18px 18px 5px;background:#e9ecf1;color:#172124;font-size:13px;line-height:1.35}.messenger-chat-row.mine .messenger-chat-bubble{background:#665ae8;color:#fff;border-radius:18px 18px 5px 18px}.messenger-chat-bubble small{display:block;font-size:9px;opacity:.62;margin-top:5px}.messenger-chat-bubble .chat-attachment{color:inherit}
.messenger-popout-compose{padding:8px 9px;background:#fff;border-top:1px solid #e7eceb}.messenger-popout-compose>div:last-child{display:flex;align-items:flex-end;gap:6px}.messenger-popout-compose textarea{flex:1;min-height:38px;max-height:90px;resize:none;border:0;border-radius:18px;background:#f0f2f5;padding:10px 12px;outline:none}.messenger-attach,.messenger-send{width:38px;height:38px;border:0;border-radius:50%;cursor:pointer;font-size:20px}.messenger-attach{background:transparent;color:#6258e6}.messenger-send{background:#6258e6;color:#fff;font-size:16px}.messenger-send:disabled{opacity:.45}
.messenger-person-bubble{position:relative;order:2;width:52px;height:52px;flex:0 0 auto;border:3px solid #fff;border-radius:50%;padding:0;background:none;box-shadow:0 10px 28px rgba(23,28,96,.28);cursor:pointer;pointer-events:auto}.messenger-person-bubble .messenger-avatar{width:100%;height:100%;font-size:14px}.messenger-person-badge{position:absolute;right:-5px;top:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;border:2px solid #fff;background:#e5394f;color:#fff;font:900 10px/16px system-ui}.messenger-person-bubble.pulse{animation:messengerPulse .55s ease}
.messenger-tray{position:fixed;right:18px;bottom:88px;z-index:2080;width:min(380px,calc(100vw - 28px));height:min(620px,calc(100dvh - 120px));background:#fff;border:1px solid rgba(14,36,39,.12);border-radius:18px;box-shadow:0 24px 75px rgba(6,25,28,.28);overflow:hidden}.messenger-tray[hidden]{display:none}.messenger-tray header{height:62px;padding:10px 13px;display:flex;align-items:center;justify-content:space-between}.messenger-tray header strong,.messenger-tray header small{display:block}.messenger-tray header small{color:#74817f;font-size:11px;margin-top:2px}.messenger-tray header button{border:0;background:#eef2f1;border-radius:50%;width:34px;height:34px;font-size:20px;cursor:pointer}.messenger-tray-search{padding:0 12px 10px}.messenger-tray-search input{width:100%;border:0;background:#f0f2f5;border-radius:18px;padding:10px 13px;outline:none}.messenger-tray-body{height:calc(100% - 112px);overflow:auto;padding:0 8px 12px}.messenger-tray-section h4{font-size:12px;color:#66736f;padding:8px 8px 5px;margin:0}.messenger-tray-row{width:100%;border:0;background:transparent;border-radius:12px;padding:8px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}.messenger-tray-row:hover{background:#f1f3f5}.messenger-tray-row>span:nth-child(2){min-width:0;flex:1}.messenger-tray-row strong,.messenger-tray-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messenger-tray-row small{font-size:11px;color:#7a8583;margin-top:2px}.messenger-tray-row>b{display:grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#6258e6;color:#fff;font-size:10px}.messenger-tray-loading{padding:24px;color:#6f7c79;text-align:center}
@keyframes messengerRise{from{transform:translateY(10px);opacity:.3}to{transform:none;opacity:1}}@keyframes messengerIncoming{0%,100%{transform:none}35%{transform:translateY(-5px)}65%{transform:translateY(2px)}}@keyframes messengerPulse{0%{transform:scale(.92)}55%{transform:scale(1.13)}100%{transform:scale(1)}}
@media(max-width:760px){.messenger-dock{left:8px;right:8px;bottom:78px;max-width:none}.messenger-popout{position:fixed;left:8px;right:8px;bottom:78px;width:auto;height:min(560px,calc(100dvh - 100px))}.messenger-person-bubble{width:48px;height:48px}.messenger-tray{left:8px;right:8px;bottom:78px;width:auto;height:min(620px,calc(100dvh - 96px))}}

.rail-nav .rail-messenger-button{width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left;display:flex;align-items:center;gap:12px;cursor:pointer;min-height:44px}.rail-nav .rail-messenger-button:hover{background:rgba(255,255,255,.07)}.messenger-tray-warning{margin:8px;padding:9px 10px;border-radius:10px;background:#fff7df;color:#6b571d;font-size:11px}

/* FIX19: person bubbles live in their own rail so minimising a pop-out never removes
   or hides the conversation shortcut on desktop or iPhone. */
.messenger-bubble-rail{position:fixed;right:92px;bottom:18px;z-index:2085;display:flex;align-items:center;gap:8px;max-width:min(520px,calc(100vw - 120px));pointer-events:none}
.messenger-bubble-rail .messenger-person-bubble{pointer-events:auto;display:block!important;visibility:visible!important;opacity:1!important}
@media(min-width:761px){.messenger-dock{right:158px}.messenger-bubble-rail{right:92px}}
@media(max-width:760px){.messenger-bubble-rail{right:10px;left:auto;bottom:78px;max-width:calc(100vw - 20px);display:flex!important;flex-direction:row-reverse}.messenger-bubble-rail .messenger-person-bubble.is-open{display:none!important}.messenger-bubble-rail .messenger-person-bubble:not(.is-open){display:block!important}}

/* FIX21: up to ten Messenger people bubbles, never clipped behind launcher controls. */
.messenger-bubble-rail{right:160px!important;bottom:18px;display:flex!important;flex-direction:row-reverse;flex-wrap:wrap-reverse;justify-content:flex-start;align-content:flex-end;gap:8px;max-width:min(620px,calc(100vw - 190px));max-height:124px;overflow:visible;pointer-events:none}
.messenger-bubble-rail .messenger-person-bubble{flex:0 0 52px;display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto}
@media(max-width:760px){.messenger-bubble-rail{left:10px!important;right:10px!important;bottom:78px;max-width:none;max-height:58px;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;padding:3px 1px 5px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.messenger-bubble-rail::-webkit-scrollbar{display:none}.messenger-bubble-rail .messenger-person-bubble{flex-basis:48px}}


/* FIX22: Notification Centre clear actions remove notification rows permanently for the signed-in user. */
.notification-popover>header{align-items:center}.notification-popover-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.notification-popover-actions button{padding:5px 7px;border-radius:8px}.notification-popover-actions [data-notification-clear-all]{color:#9b2836}.notification-popover-row{grid-template-columns:minmax(0,1fr) 32px;align-items:center;padding:0;background:#fff}.notification-popover-open{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;width:100%;border:0;background:transparent;text-align:left;color:inherit;padding:12px 8px 12px 14px;cursor:pointer}.notification-popover-open>span:last-child{min-width:0}.notification-popover-clear{width:28px;height:28px;border:0;border-radius:50%;margin-right:8px;background:transparent;color:#73817f;font-size:22px;line-height:1;cursor:pointer}.notification-popover-clear:hover{background:#fdebec;color:#a52232}.notification-page-actions{display:flex;gap:8px;flex-wrap:wrap}.notification-page-actions form{margin:0}.notification-clear-all{color:#9b2836!important}.notification-page-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;border-bottom:1px solid rgba(13,38,39,.08);background:#fff}.notification-page-row.is-unread{background:#f1faf7}.notification-page-link{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;padding:14px;color:inherit;text-decoration:none}.notification-page-link strong,.notification-page-link small,.notification-page-link time{display:block}.notification-page-link small{color:#5f706c;margin-top:3px}.notification-page-link time{color:#8a9794;font-size:11px;margin-top:5px}.notification-clear-form{margin:0;padding-right:10px}.notification-clear-button{width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#73817f;font-size:24px;line-height:1;cursor:pointer}.notification-clear-button:hover{background:#fdebec;color:#a52232}@media(max-width:600px){.notification-popover>header{align-items:flex-start}.notification-popover-actions{gap:3px}.notification-popover-actions button{font-size:11px}.notification-page-row{grid-template-columns:minmax(0,1fr) 40px}.notification-page-link{grid-template-columns:34px minmax(0,1fr);padding:12px 8px}.notification-clear-form{padding-right:5px}}
