/* FishMarket chat: compact composer, original marine pattern, three explicit input states. */
.fm-wa-chat.fm-wa-chat.fm-wa-chat{color-scheme:light;color:#20332e!important;background:#f0e9e1!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat::backdrop{background:#f0e9e1!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat[data-general-help]{position:fixed!important;inset:0!important;margin:0!important;width:100vw!important;max-width:none!important;max-height:none!important;border:0!important;border-radius:0!important;padding:0!important;overflow:hidden!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-conversation,.fm-wa-chat.fm-wa-chat.fm-wa-chat[data-general-help]>section{background:#f0e9e1!important;color:#20332e!important;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-heading,.fm-wa-chat.fm-wa-chat.fm-wa-chat[data-general-help] header{background:#f4f2ee!important;color:#f1f5f4!important;padding:8px 12px!important;min-height:58px!important;box-sizing:border-box;flex-shrink:0}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-heading .fm-assistant-avatar{width:38px!important;height:38px!important;flex-basis:38px!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-identity>b{font-size:16px!important}.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-identity small{color:#aebebd!important;font-size:11px!important}.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-heading button{color:#e4eeec!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-trust,.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-disclaimer{display:none!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-quick,.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-suggestions{background:#f4f2ee!important;border-color:#d5dfd8!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-quick button,.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-suggestions button{background:#ffffff!important;color:#246252!important;border-color:#d5dfd8!important;box-shadow:none!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-messages,.fm-wa-chat.fm-wa-chat.fm-wa-chat [data-log]{background-color:#f0e9e1!important;background-image:url('marine-ab9f9852b59e.svg')!important;background-size:260px 260px!important;overflow-anchor:none!important;padding:14px 12px!important;scroll-behavior:auto!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-message-support .fm-bubble,.fm-wa-chat.fm-wa-chat.fm-wa-chat [data-log]>div{background:#ffffff!important;color:#20332e!important;border:0!important;border-radius:13px!important;box-shadow:0 1px 2px #0003!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-message-customer .fm-bubble,.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-message-user .fm-bubble,.fm-wa-chat.fm-wa-chat.fm-wa-chat [data-log]>div[style*="align-self: flex-end"],.fm-wa-chat.fm-wa-chat.fm-wa-chat [data-log]>div[style*="align-self:flex-end"]{background:#dcf8c6!important;color:#20332e!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-bubble p,.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-message p{color:inherit!important;font-size:15px!important;line-height:1.5!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-message time,.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-bubble small{color:#61756b!important}.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-feedback,.fm-wa-chat.fm-wa-chat.fm-wa-chat [data-note]{background:#f4f2ee!important;color:#526b60!important;min-height:0!important;height:auto!important;flex:none!important;padding:3px 12px!important;font-size:11px!important}.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-feedback:empty,.fm-wa-chat.fm-wa-chat.fm-wa-chat [data-note]:empty{display:none!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-wa-compose{display:flex!important;flex:0 0 auto!important;align-items:center!important;gap:8px!important;height:auto!important;min-height:56px!important;padding:6px 10px!important;border:0!important;background:#f4f2ee!important;box-sizing:border-box!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-wa-compose textarea{height:42px!important;min-height:42px!important;max-height:100px!important;flex:1!important;min-width:0!important;padding:10px 14px!important;border:1px solid #d7dfda!important;border-radius:24px!important;background:#ffffff!important;color:#20332e!important;font-size:16px!important;line-height:20px!important;outline:none!important;box-shadow:none!important;caret-color:#26c36d!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-wa-compose textarea::placeholder{color:#73827b!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-wa-compose>button.fm-wa-mic,.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-wa-compose>button.fm-wa-send,.fm-wa-chat.fm-wa-chat.fm-wa-chat [data-record-send]{width:44px!important;height:44px!important;min-width:44px!important;flex:0 0 44px!important;border:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#00a884!important;color:#ffffff!important;padding:10px!important;box-shadow:none!important;touch-action:manipulation}
.fm-wa-chat.fm-wa-chat.fm-wa-chat button svg{width:24px;height:24px}.fm-wa-chat.fm-wa-chat.fm-wa-chat button:active{transform:scale(.94);transition:transform .1s}.fm-wa-chat.fm-wa-chat.fm-wa-chat button:focus-visible{outline:2px solid #83e4b2!important;outline-offset:3px}.fm-wa-chat.fm-wa-chat.fm-wa-chat button:disabled{opacity:.45;cursor:default}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-attach{color:#63796e!important;background:transparent!important;border:0!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-wa-compose [hidden],.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-wa-compose[hidden],.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-wa-record[hidden]{display:none!important}
.fm-wa-record{flex:0 0 auto;padding:16px 18px 12px;background:#f4f2ee;border-top:1px solid #d5dfd8;color:#20332e;box-sizing:border-box}
.fm-wa-record-top{display:flex;align-items:center;gap:14px}.fm-wa-record time{font-size:19px;font-variant-numeric:tabular-nums;min-width:48px}.fm-wa-rec-label{font-size:10px;color:#526b60;max-width:95px}.fm-wa-wave{display:flex;align-items:center;justify-content:center;gap:3px;flex:1;height:30px}.fm-wa-wave i{width:3px;height:4px;border-radius:4px;background:#a6b9b2}.is-listening .fm-wa-wave i{animation:fmMarineListen .8s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.09s)}
@keyframes fmMarineListen{to{height:20px;background:#36ca80}}
.fm-wa-transcript{margin:9px 0 12px;font-size:13px;line-height:1.4;color:#526b60;max-height:56px;overflow:auto;white-space:pre-wrap}
.fm-wa-record-controls{display:flex;justify-content:space-between;align-items:center}.fm-wa-record-controls button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#20332e;padding:9px}.fm-wa-record-controls [data-record-pause]{color:#ff6675}.fm-wa-chat.fm-wa-chat.fm-wa-chat.fm-wa-recording .fm-chat-quick,.fm-wa-chat.fm-wa-chat.fm-wa-chat.fm-wa-recording .fm-chat-suggestions{display:none!important}
@media(prefers-reduced-motion:reduce){.fm-wa-chat.fm-wa-chat.fm-wa-chat *{animation:none!important;transition:none!important}}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-wa-compose>button[hidden]{display:none!important}

.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-wa-compose textarea{box-sizing:border-box!important}
.fm-wa-brand{position:relative;padding-left:46px;min-height:38px;display:flex;flex-direction:column;justify-content:center;gap:3px}.fm-wa-brand img{position:absolute;left:0;top:0;width:38px;height:38px;object-fit:contain;background:white;border-radius:50%}.fm-wa-brand small{font-size:11px;color:#afc1bb}

.fm-wa-chat.fm-wa-chat.fm-wa-chat[data-supplier-ai]{position:fixed!important;inset:0!important;margin:0!important;z-index:10020;width:100vw!important;max-width:none!important;height:100dvh;max-height:none!important;border:0!important;border-radius:0!important;display:flex;flex-direction:column;overflow:hidden;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat[data-supplier-ai] .panel-head{display:flex;gap:10px;align-items:center;justify-content:space-between}.fm-wa-chat[data-supplier-ai] h2{margin:0;font-size:16px;color:#f1f5f4}.fm-wa-chat[data-supplier-ai] .panel-head>div{flex:1}.fm-wa-chat[data-supplier-ai] .panel-head button{padding:8px;min-height:44px;background:transparent;border:0;color:#dcebe7;font-size:12px}
.fm-wa-chat.fm-wa-chat.fm-wa-chat [data-ai-log]{height:auto!important;flex:1!important;min-height:0!important;overflow:auto!important;display:flex;flex-direction:column;gap:12px}.fm-wa-chat.fm-wa-chat.fm-wa-chat .supplier-ai-bubble{background:#ffffff;color:#20332e;border:0;border-radius:13px;max-width:88%;padding:12px 14px;align-self:flex-start}.fm-wa-chat.fm-wa-chat.fm-wa-chat .supplier-ai-bubble.user{background:#dcf8c6;align-self:flex-end}.fm-wa-chat .supplier-ai-bubble p{font-size:15px;line-height:1.5;white-space:pre-wrap;margin:0}.fm-wa-chat .supplier-ai-bubble small{color:#61756b}.fm-wa-chat .supplier-ai-contact{flex:none;background:#f4f2ee;color:#526b60;padding:8px 14px;font-size:11px}.fm-wa-chat .supplier-ai-contact a{color:#087f68}.fm-wa-chat .supplier-ai-status{font-size:11px;padding:2px 12px;color:#8b4938}.fm-wa-chat .supplier-ai-status:empty{display:none}

.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-wa-compose textarea{font-family:inherit!important}

/* Isolate chat scrolling and include safe-area padding in the visible viewport. */
html.fm-chat-page-locked{overflow:hidden!important;overscroll-behavior:none!important}
html.fm-chat-page-locked body{position:fixed!important;top:var(--fm-page-y,0px)!important;left:0!important;width:100%!important;overflow:hidden!important;overscroll-behavior:none!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat{box-sizing:border-box!important;bottom:auto!important;overscroll-behavior:none!important;isolation:isolate}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-conversation,.fm-wa-chat.fm-wa-chat.fm-wa-chat[data-general-help]>section{box-sizing:border-box!important;height:100%!important;min-height:0!important;overflow:hidden!important;padding-bottom:max(12px,env(safe-area-inset-bottom))!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat[data-supplier-ai]{box-sizing:border-box!important;padding-bottom:max(12px,env(safe-area-inset-bottom))!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-messages,.fm-wa-chat.fm-wa-chat.fm-wa-chat [data-log],.fm-wa-chat.fm-wa-chat.fm-wa-chat [data-ai-log]{min-height:0!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-wa-compose{margin:0!important;flex-shrink:0!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .supplier-ai-contact{max-height:22vh;overflow:auto;overscroll-behavior:contain;box-sizing:border-box}

/* Message timestamps remain readable on the light wallpaper and dark bubbles. */
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-message>time{display:block!important;color:#526963!important;font-size:11px!important;opacity:1!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat [data-log]>div>time,.fm-wa-chat.fm-wa-chat.fm-wa-chat .supplier-ai-bubble>small{display:block!important;margin-top:5px!important;text-align:right;color:#61756b!important;font-size:11px!important;line-height:1.4!important;opacity:1!important}

/* Reference palette: green header, white replies, pale-green customer messages. */
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-heading,.fm-wa-chat.fm-wa-chat.fm-wa-chat[data-general-help] header{background:#00856f!important;color:#fff!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-heading h2,.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-identity>b,.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-heading button{color:#fff!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-identity small,.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-wa-brand small{color:#dcf4ed!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-message-you .fm-bubble{background:#dcf8c6!important;color:#20332e!important;border:0!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-feedback,.fm-wa-chat.fm-wa-chat.fm-wa-chat [data-note]{color:#526b60!important}

/* Sender receipts: grey while awaiting confirmation, blue after an AI response. */
.fm-wa-chat .fm-receipt{display:inline-flex;vertical-align:middle;margin-left:5px;color:#82958c;line-height:1}
.fm-wa-chat .fm-receipt[data-state=read]{color:#53bdeb}
.fm-wa-chat .fm-receipt svg{width:20px;height:15px;display:block}

/* A single quiet typing bubble, without visible checking text. */
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-working{display:none!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-dots-bubble,.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-inline-typing .fm-bubble{padding:14px 17px!important;border-radius:20px 20px 20px 4px!important;min-width:36px;max-width:fit-content;box-sizing:content-box}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-typing-dots{display:inline-flex;align-items:center;gap:5px;height:10px;vertical-align:middle}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-typing-dots i{display:block;width:7px;height:7px;border-radius:50%;background:#85918a;animation:fmQuietTyping 1.2s ease-in-out infinite;transform:none}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-typing-dots i:nth-child(2){animation-delay:.16s}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-typing-dots i:nth-child(3){animation-delay:.32s}
@keyframes fmQuietTyping{0%,60%,100%{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-typing-dots i{animation:none!important;opacity:.75}}

.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-wa-compose>.fm-attachment-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:44px;min-width:32px;padding:3px;border:0;background:transparent;color:#63796e;box-shadow:none}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-wa-compose>.fm-chat-camera[hidden]{display:none!important}
.fm-attach-picker{flex:none;max-height:32vh;overflow:auto;overscroll-behavior:contain;display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:#f4f2ee;color:#20332e;border-top:1px solid #d5dfd8}
.fm-attach-picker[hidden]{display:none!important}.fm-attach-picker strong,.fm-attach-picker small{width:100%;overflow-wrap:anywhere}.fm-attach-picker img{width:64px;height:64px;object-fit:contain;border-radius:8px}.fm-attach-picker button{min-height:44px;padding:8px 12px;border:1px solid #d5dfd8;border-radius:12px;background:white;color:#246252}

.fm-wa-chat .fm-attach-picker .fm-file-caption{width:100%;min-height:44px;box-sizing:border-box;border:1px solid #d5dfd8;border-radius:18px;padding:10px 12px;background:white;color:#20332e;font:inherit;font-size:16px;resize:none}
.fm-wa-chat .fm-file-chat-turn{display:flex;flex-direction:column;gap:12px;width:100%;flex:none}
.fm-wa-chat .fm-file-question{align-self:flex-end;max-width:85%;padding:12px 14px;border-radius:15px 15px 3px 15px;background:#dcf8c6;color:#20332e;overflow-wrap:anywhere}
.fm-wa-chat .fm-file-question b:before{content:'▧ ';color:#cd4545}.fm-wa-chat .fm-file-question p{margin:6px 0;white-space:pre-wrap}.fm-wa-chat .fm-file-question small{display:block;text-align:right;color:#61756b;font-size:11px}
.fm-wa-chat .fm-file-answer{align-self:flex-start;max-width:88%;padding:12px 14px;border-radius:3px 15px 15px 15px;background:white;color:#20332e;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.5;flex:none}

/* One composer for both text and attachment questions. */
.fm-wa-chat .fm-wa-compose.fm-has-attachment .fm-wa-send{display:grid!important}
.fm-wa-chat .fm-wa-compose.fm-has-attachment .fm-wa-mic,.fm-wa-chat .fm-wa-compose.fm-has-attachment .fm-chat-camera{display:none!important}

/* Attachment groups are transparent layout containers, never page sections. */
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-file-chat-turn{display:flex!important;flex-direction:column!important;gap:12px!important;flex:0 0 auto!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;box-sizing:border-box!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-file-question{box-sizing:border-box!important;align-self:flex-end!important;max-width:85%!important;min-height:0!important;margin:0!important;padding:8px 10px!important;background:#dcf8c6!important;box-shadow:none!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-file-answer{box-sizing:border-box!important;min-height:0!important;margin:0!important}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-photo-frame{position:relative;width:240px;max-width:100%;height:180px;margin:0 0 6px;padding:0;background:transparent;border:0;box-shadow:none}
.fm-wa-chat.fm-wa-chat.fm-wa-chat .fm-chat-sent-photo{display:block!important;width:240px!important;max-width:100%!important;height:180px!important;object-fit:contain!important;border-radius:8px!important;margin:0 0 6px!important;padding:0!important;background:transparent!important}
.fm-chat-photo-frame>small{position:absolute;inset:auto 4px 6px;text-align:center!important;background:#dcf8c6;font-size:11px;padding:4px;border-radius:6px}
