/* Anything Conversations — self-contained structural layout, loaded after legacy styles.
   Exactly one scrollable region for message history; reply and recording UI stay in flow. */
:root{--chat-top:72px;--chat-nav:0px;--chat-visible-height:100dvh;--chat-bg:#f3f8f4;--chat-ink:#1c3025;--chat-soft:#64766b;--chat-line:#dce8df;--chat-surface:#fff;--chat-own:#dff4e6;--chat-accent:#087850}
body:has(.inbox-page) .footer{display:none!important}
.inbox-page{padding:12px 0!important;max-width:1240px!important;min-height:0!important}
.inbox-layout{display:grid!important;grid-template-columns:minmax(280px,340px) minmax(0,1fr)!important;align-items:stretch;height:calc(100dvh - 96px)!important;max-height:980px!important;min-height:420px!important;overflow:hidden!important;border:1px solid var(--chat-line)!important;border-radius:20px!important;background:var(--chat-surface)!important;box-shadow:0 16px 55px rgba(30,75,40,.055)}
.inbox-layout .chat-list{display:flex!important;flex-direction:column;overflow:hidden!important;min-width:0;height:100%;background:var(--chat-surface)!important;border-right:1px solid var(--chat-line)!important}
.inbox-layout .chat-list-head{padding:22px 18px 14px;border-bottom:1px solid var(--chat-line);flex:none;background:var(--chat-surface)}
.chat-list-title h1{font-size:1.6rem!important;line-height:1.18;margin:4px 0 16px;letter-spacing:-.05em;color:var(--chat-ink)}
.chat-search{display:flex;gap:8px;align-items:center;padding:0 13px;border-radius:14px;background:#f2f7f3;border:1px solid #e2ede5;color:var(--chat-soft)}
.chat-search>span{font-size:23px;flex:none}.chat-search input{width:100%!important;background:transparent!important;box-shadow:none!important;border:0!important;padding:13px 0!important;min-height:42px;font-size:.83rem!important;color:var(--chat-ink)!important}
.inbox-layout .chat-rooms{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;background:var(--chat-surface)!important;overscroll-behavior:contain}
.inbox-layout .chat-room{width:100%;display:flex;align-items:center;gap:11px;min-height:77px;padding:14px 17px!important;background:var(--chat-surface)!important;border:0!important;border-bottom:1px solid #eef3ef!important;color:var(--chat-ink)!important;text-decoration:none;box-shadow:none!important}
.inbox-layout .chat-room:hover,.inbox-layout .chat-room.active{background:#edf7ef!important}
.chat-room .room-avatar,.chat-header .room-avatar{width:43px;height:43px;min-width:43px;flex:0 0 43px;border-radius:16px!important;display:grid;place-items:center;background:#e2f1e7!important;color:#087149!important;font-size:1.25rem;font-weight:800}
.chat-room .room-avatar.support-avatar,.chat-header .room-avatar.support-avatar{background:#087850!important;color:#fff!important}
.chat-room-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px;overflow:hidden}
.chat-room-copy strong{font-size:.83rem!important;font-weight:800;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--chat-ink)!important}
.chat-room-copy small{font-size:.72rem!important;color:var(--chat-soft)!important;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.chat-room-topic{font-weight:650;color:#387457!important}
.chat-list-chevron,.support-indicator{font-size:1.55rem;color:#92a99a;flex:none;line-height:1}
.inbox-layout .chat-main{display:grid!important;grid-template-rows:64px minmax(0,1fr) auto;min-width:0;min-height:0;overflow:hidden!important;height:100%;background:var(--chat-bg)!important;position:relative}
.inbox-layout:not(.has-conversation) .chat-main{display:grid!important}
.inbox-layout .chat-header{position:relative!important;inset:auto!important;z-index:3;min-height:0!important;height:64px;padding:9px 18px!important;display:flex;gap:11px;align-items:center;border-bottom:1px solid var(--chat-line)!important;background:var(--chat-surface)!important;box-shadow:none!important}
.chat-header .room-avatar{width:38px;height:38px;min-width:38px;flex-basis:38px;border-radius:13px!important}
.chat-header-title{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}
.chat-header-title strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--chat-ink)!important;font-size:.87rem!important;line-height:1.22}
.chat-header-title small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.69rem!important;color:var(--chat-soft)!important;line-height:1.25}
.chat-back{display:none;align-items:center;justify-content:center;min-width:38px;width:38px;height:38px;border-radius:12px;text-decoration:none;font-size:1.5rem;color:var(--chat-ink)!important}
.chat-header-action{display:grid;place-items:center;flex:none;border:1px solid var(--chat-line)!important;background:#f5f9f5!important;color:#315c43!important;width:38px;height:38px;border-radius:12px;cursor:pointer}
.chat-header-action svg{width:19px;height:19px}
.chat-header-action:hover,.chat-back:hover{background:#eaf5ed!important}
.inbox-layout .message-scroller{position:relative!important;inset:auto!important;grid-row:2;overflow-x:hidden!important;overflow-y:auto!important;min-height:0;min-width:0;overscroll-behavior:contain;padding:21px 26px!important;scrollbar-width:thin;scrollbar-gutter:stable;background:var(--chat-bg)!important;background-image:radial-gradient(rgba(14,85,55,.035) .65px,transparent .65px)!important;background-size:19px 19px!important;contain:layout style}
.chat-top-loading{padding:12px;text-align:center;color:var(--chat-soft);font-size:.75rem}
.message-stack{display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:9px;padding:5px 0 14px;min-height:100%}
.inbox-layout .bubble{position:relative;align-self:flex-start;width:fit-content;min-width:70px;max-width:min(75%,540px)!important;border:1px solid #e2eae2!important;border-radius:15px 15px 15px 5px!important;padding:10px 12px 7px!important;background:var(--chat-surface)!important;color:var(--chat-ink)!important;box-shadow:0 3px 14px rgba(35,64,43,.035)!important;overflow:visible!important;overflow-wrap:anywhere}
.inbox-layout .bubble.mine{align-self:flex-end;background:var(--chat-own)!important;border-color:#cce5d3!important;border-radius:15px 15px 5px 15px!important}
.bubble-content{max-width:100%}.bubble-content p{margin:0!important;padding:0!important;font-size:.83rem!important;line-height:1.55;white-space:pre-wrap;word-break:break-word;color:var(--chat-ink)!important}
.bubble .quoted{display:flex;flex-direction:column;gap:3px;max-width:100%;margin:0 0 7px;padding:7px 10px!important;background:#edf6f0!important;border:0!important;border-left:3px solid #389d72!important;border-radius:7px!important;color:#2a523d!important;font-size:.7rem!important;line-height:1.35!important;max-height:66px;overflow:hidden}
.bubble .quoted strong{font-size:.67rem!important;font-weight:850;color:#0b7954!important}
.bubble .quoted span{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#4b6f59!important}
.bubble-foot{display:flex;justify-content:flex-end;gap:5px;align-items:center;margin-top:4px;color:#728a7b!important;font-size:.59rem!important;line-height:1.5;white-space:nowrap}
.bubble-foot time{font-size:inherit}.read-check{color:#6e8e78;font-size:.74rem;font-weight:800;letter-spacing:-.1em}.read-check.is-read{color:#1683ad}
.bubble-reply{position:absolute;display:grid;place-items:center;opacity:0;pointer-events:none;top:50%;transform:translateY(-50%);right:-35px!important;width:30px;height:30px;border-radius:10px!important;background:var(--chat-surface)!important;border:1px solid var(--chat-line)!important;color:#237950!important;font-size:21px!important;box-shadow:0 3px 10px #15281b12;z-index:2}
.bubble.mine .bubble-reply{right:auto!important;left:-35px}
.bubble:hover .bubble-reply,.bubble:focus-within .bubble-reply,.bubble-reply:focus-visible{opacity:1;pointer-events:auto}
.message-actions{display:none!important}
.bubble .media-link{display:block;max-width:100%}.bubble img,.bubble video{max-width:100%;max-height:340px;display:block;border-radius:9px;margin:2px 0 4px;background:#14281c}
.bubble audio{display:block;max-width:100%;width:min(290px,65vw);height:42px;margin:2px 0}.chat-document{display:inline-flex;align-items:center;padding:10px;border-radius:9px;background:#e5f0e9;color:#176341;font-size:.8rem;max-width:100%;overflow-wrap:anywhere}
.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;min-width:0;text-align:center;gap:8px;padding:24px 30px;background:var(--chat-bg)!important;color:var(--chat-soft)!important}
.chat-empty h2{font-size:1.7rem!important;line-height:1.18;color:var(--chat-ink)!important;margin:4px 0!important}.chat-empty p{font-size:.84rem;margin:0!important;max-width:370px}.chat-empty-symbol{width:67px;height:67px;border-radius:23px;background:#e0f3e6;color:var(--chat-accent);display:grid;place-items:center;font-size:35px;margin-bottom:9px}
/* Composer: compact, ALWAYS in the grid after the scroller. No absolute overlay. */
.inbox-layout .chat-compose{position:relative!important;inset:auto!important;z-index:4;grid-row:3;display:block!important;min-height:0!important;flex:none!important;overflow:visible!important;padding:9px 14px calc(9px + env(safe-area-inset-bottom,0px))!important;margin:0!important;background:var(--chat-surface)!important;border:0!important;border-top:1px solid var(--chat-line)!important;box-shadow:none!important}
.chat-input-row{display:flex;align-items:flex-end;gap:8px;width:100%;min-width:0;position:relative}
.inbox-layout .chat-compose textarea{display:block;flex:1 1 auto;min-width:0;width:100%;height:43px;min-height:43px!important;max-height:116px!important;overflow-y:auto;line-height:1.4!important;padding:11px 14px!important;margin:0!important;border:1px solid #d6e5da!important;border-radius:15px!important;background:#f5f9f5!important;color:var(--chat-ink)!important;resize:none;outline:none;box-shadow:none;font-size:.84rem!important}
.chat-compose textarea:focus{border-color:#72ae8a!important;box-shadow:0 0 0 2px rgba(33,133,80,.09)!important}
.inbox-layout .chat-compose .attach-control,.inbox-layout .chat-compose .mic-button,.inbox-layout .chat-compose .send-control{display:grid;place-items:center;flex:0 0 41px!important;min-width:41px!important;min-height:41px!important;width:41px!important;height:41px!important;border:0!important;border-radius:13px!important;font-size:22px!important;margin:0!important;line-height:1;background:transparent!important;color:#336f50!important;padding:0!important;cursor:pointer}
.inbox-layout .chat-compose .attach-control:hover,.inbox-layout .chat-compose .mic-button:hover{background:#eaf4ec!important}
.inbox-layout .chat-compose .send-control{background:#087850!important;color:#fff!important;border-radius:14px!important}
.chat-compose .mic-button svg,.chat-compose .send-control svg{width:21px;height:21px}
.chat-compose button:disabled{opacity:.54;cursor:not-allowed}
/* Only a SINGLE-LINE reply or attachment summary; never floats over existing bubbles. */
.inbox-layout .reply-preview,.inbox-layout .attachment-preview{position:static!important;inset:auto!important;transform:none!important;width:100%!important;min-width:0;max-width:100%;min-height:0!important;max-height:64px!important;display:flex;align-items:center;gap:10px;margin:0 0 8px!important;padding:7px 9px!important;background:#eff7f0!important;border:1px solid #d5eadb!important;border-radius:10px!important;box-shadow:none!important;overflow:hidden!important;color:var(--chat-ink)!important}
.inbox-layout .reply-preview.hidden,.inbox-layout .attachment-preview.hidden{display:none!important}
.chat-preview-edge{width:3px;height:33px;flex:none;border-radius:5px;background:#098258}
.chat-preview-copy{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;font-size:.7rem;line-height:1.35}
.chat-preview-copy strong{color:#0e7650!important;font-size:.71rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-preview-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#55735d}
.chat-preview-dismiss,.attachment-preview button{min-width:30px;min-height:30px;width:30px;height:30px;display:grid;place-items:center;background:transparent;border:0;border-radius:8px;font-size:21px;color:#355c46;cursor:pointer}
.chat-preview-dismiss:hover,.attachment-preview button:hover{background:#d9e9dd}.attachment-preview>span{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.7rem}
/* Voice strip occupies one slim row; no enlarged cancel or obstruction. */
.inbox-layout .voice-panel{position:static!important;display:flex;align-items:center;gap:9px;min-height:42px;max-height:55px;overflow:hidden;padding:4px 4px 8px;margin:0 0 7px;border-bottom:1px solid var(--chat-line);font-size:.75rem;color:var(--chat-ink)}
.inbox-layout .voice-panel.hidden{display:none!important}
.voice-icon-btn{display:grid;place-items:center;width:30px;height:30px;flex:none;border:1px solid var(--chat-line);background:#f3f8f4;border-radius:10px;color:#a03c42;font-size:17px;cursor:pointer}
.voice-finish{color:#fff;background:#087850;border-color:#087850}.voice-icon-btn.hidden{display:none!important}
.voice-light{width:7px;height:7px;flex:none;border-radius:50%;background:#c63b4b}
.voice-panel.ready .voice-light{background:#1e9966}
.voice-duration{flex:none;font-variant-numeric:tabular-nums;font-weight:800;color:var(--chat-ink);min-width:30px}.voice-panel-detail{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--chat-soft)}
.voice-panel.ready .voice-panel-detail{display:none}.voice-preview-audio{display:block;height:32px;min-width:0;width:100%;max-width:310px;flex:1}.voice-preview-audio.hidden{display:none!important}
.chat-compose.has-voice #chat-input-row .mic-button{display:none!important}
.chat-compose.is-recording #chat-input-row .mic-button{opacity:.4!important;pointer-events:none}
/* Theme-specific chat colours, declared last to override generic dark theme forcing background. */
html[data-theme='dark']{--chat-bg:#101e16;--chat-ink:#f0f8f1;--chat-soft:#c1d5c6;--chat-line:#3b5947;--chat-surface:#192b20;--chat-own:#214e35;--chat-accent:#abf0c3}
html[data-theme='dark'] .inbox-layout,html[data-theme='dark'] .inbox-layout .chat-list,html[data-theme='dark'] .inbox-layout .chat-list-head,html[data-theme='dark'] .inbox-layout .chat-rooms,html[data-theme='dark'] .inbox-layout .chat-room,html[data-theme='dark'] .inbox-layout .chat-header,html[data-theme='dark'] .inbox-layout .chat-compose{background:#192b20!important;color:var(--chat-ink)!important;border-color:var(--chat-line)!important}
html[data-theme='dark'] .inbox-layout .chat-room:hover,html[data-theme='dark'] .inbox-layout .chat-room.active{background:#254a34!important}
html[data-theme='dark'] .inbox-layout .chat-main,html[data-theme='dark'] .inbox-layout .message-scroller,html[data-theme='dark'] .inbox-layout .chat-empty{background-color:#101e16!important;background-image:none!important}
html[data-theme='dark'] .inbox-layout .bubble{background:#25392c!important;border-color:#405a46!important;color:var(--chat-ink)!important}
html[data-theme='dark'] .inbox-layout .bubble.mine{background:#205c3d!important;border-color:#448363!important;color:#fff!important}
html[data-theme='dark'] .inbox-layout .bubble-content p{color:#f0f8f1!important}
html[data-theme='dark'] .inbox-layout .bubble .quoted{background:#2d4f3a!important;border-left-color:#80e4ae!important}
html[data-theme='dark'] .inbox-layout .bubble .quoted strong{color:#a6f1bf!important}
html[data-theme='dark'] .inbox-layout .bubble .quoted span{color:#e4f1e6!important}
html[data-theme='dark'] .inbox-layout .bubble-foot,html[data-theme='dark'] .inbox-layout .bubble-foot time{color:#d0e3d3!important}
html[data-theme='dark'] .inbox-layout .chat-compose textarea,html[data-theme='dark'] .inbox-layout .chat-search{background:#243b2c!important;color:#f2faf3!important;border-color:#4a6b54!important}
html[data-theme='dark'] .inbox-layout .chat-search input{background:transparent!important;color:#f2faf3!important}
html[data-theme='dark'] .inbox-layout .reply-preview,html[data-theme='dark'] .inbox-layout .attachment-preview{background:#294532!important;color:#eefaf1!important;border-color:#54785b!important}
html[data-theme='dark'] .chat-preview-copy strong{color:#b1edc4!important}html[data-theme='dark'] .chat-preview-copy span{color:#d6e5d7!important}
html[data-theme='dark'] .chat-preview-dismiss,html[data-theme='dark'] .attachment-preview button{color:#e1f4e6!important}
html[data-theme='dark'] .inbox-layout .chat-compose .attach-control,html[data-theme='dark'] .inbox-layout .chat-compose .mic-button{color:#d7f2dc!important;background:transparent!important}
html[data-theme='dark'] .inbox-layout .chat-compose .send-control{background:#9cebb6!important;color:#092d18!important}
html[data-theme='dark'] .chat-header-action{background:#264532!important;border-color:#51765c!important;color:#e8f8ed!important}
html[data-theme='dark'] .voice-icon-btn{background:#263e2e;color:#ffc1c7;border-color:#57745f}
html[data-theme='dark'] .voice-finish{background:#8ce8aa;color:#112f1a;border-color:#8ce8aa}
html[data-theme='dark'] .chat-list-title h1,html[data-theme='dark'] .chat-room-copy strong,html[data-theme='dark'] .chat-header-title strong,html[data-theme='dark'] .chat-empty h2{color:#f0f8f1!important}
html[data-theme='dark'] .chat-room-copy small,html[data-theme='dark'] .chat-header-title small,html[data-theme='dark'] .chat-empty p{color:#bdd6c4!important}
html[data-theme='dark'] .inbox-layout .bubble-reply{background:#294e37!important;border-color:#608268!important;color:#e5ffeb!important}
@media (max-width:800px){
 :root{--chat-top:64px;--chat-nav:64px}
 body:has(.inbox-page){height:100dvh;overflow:hidden!important;overscroll-behavior:none}
 body:has(.inbox-page) #page-content{height:0!important;min-height:0!important;padding:0!important;margin:0!important}
 body:has(.inbox-page) .topbar{position:fixed!important;top:0;left:0;right:0;height:64px!important;z-index:100}
 body:has(.inbox-page) .mobile-nav{position:fixed!important;bottom:0;left:0;right:0;z-index:101;min-height:64px;box-sizing:border-box}
 .inbox-page{position:fixed!important;top:var(--chat-top);left:0;right:0;width:100%!important;max-width:none!important;height:calc(var(--chat-visible-height) - var(--chat-top) - var(--chat-nav))!important;padding:0!important;margin:0!important;border:0!important}
 .inbox-layout{position:relative!important;display:block!important;width:100%!important;height:100%!important;max-height:none!important;min-height:0!important;border-radius:0!important;border:0!important;box-shadow:none!important}
 .inbox-layout .chat-main,.inbox-layout .chat-list{height:100%!important;min-height:0!important;max-height:100%!important}
 .inbox-layout.has-conversation .chat-list{display:none!important}
 .inbox-layout.is-inbox .chat-main{display:none!important}
 .inbox-layout .chat-header{height:59px!important;padding:7px 10px!important;gap:7px!important}
 .chat-back{display:flex!important}
 .inbox-layout .message-scroller{padding:12px 13px!important;scrollbar-gutter:auto!important}
 .inbox-layout .chat-compose{padding:7px 8px calc(7px + env(safe-area-inset-bottom,0px))!important}
 .chat-input-row{gap:5px}
 .inbox-layout .chat-compose .attach-control,.inbox-layout .chat-compose .mic-button,.inbox-layout .chat-compose .send-control{width:39px!important;height:39px!important;flex-basis:39px!important;min-width:39px!important;min-height:39px!important}
 .inbox-layout .chat-compose textarea{min-height:40px!important;height:40px;padding:9px 11px!important;font-size:16px!important;border-radius:13px!important}
 .inbox-layout .bubble{max-width:85%!important;padding:8px 10px 6px!important}
 .bubble-content p{font-size:.83rem!important}
 .bubble-reply{opacity:0!important;pointer-events:none!important} .bubble:focus-within .bubble-reply{opacity:1!important;pointer-events:auto!important}
 .chat-list-head{padding:20px 16px 13px!important}.chat-list-title h1{font-size:1.65rem!important}
 .inbox-layout .chat-room{padding:13px 15px!important;min-height:74px!important}
 .chat-header-title strong{font-size:.83rem!important}
 body.chat-keyboard-open{--chat-nav:0px}
 body.chat-keyboard-open .mobile-nav{display:none!important}
}
@media (max-width:360px){.inbox-layout .chat-compose .attach-control,.inbox-layout .chat-compose .mic-button,.inbox-layout .chat-compose .send-control{width:34px!important;min-width:34px!important;flex-basis:34px!important}.chat-input-row{gap:3px}.inbox-layout .bubble{max-width:90%!important}}
@media (prefers-reduced-motion:reduce){.inbox-page *{animation:none!important;transition:none!important}}

.inbox-layout .bubble.is-sending{opacity:.67;border-style:dashed!important}.bubble.is-sending .bubble-foot{font-style:italic}.bubble.is-sending>p{font-size:.84rem;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
/* The right side of an empty desktop inbox should center its invitation. */
@media (min-width:801px){.inbox-layout.is-inbox .chat-main{display:flex!important;align-items:stretch;justify-content:center}.inbox-layout.is-inbox .chat-empty{flex:1}}
