/* Host-scoped presentation for the pinned Widget; real-asset browser QA covers
   these selectors. Widget still owns messages, sends, voice and file handling. */
.cw-member-chat { --cw-card:var(--surface); --cw-bg:var(--surface-soft); --cw-text:var(--ink); --cw-subtle:var(--muted); --cw-border:var(--line); --cw-primary:var(--accent); --cw-primary-strong:var(--accent-text,var(--accent)); font-family:inherit; }
.cw-member-chat .cw-chat-transcript { background:var(--surface); min-height:0; }
.cw-member-chat .cw-chat-composer { padding:8px 10px 2px; gap:3px; background:var(--surface); }
.cw-member-chat .cw-chat-input-shell { display:grid; grid-template-columns:44px minmax(0,1fr) 44px 44px; align-items:end; gap:0; border-radius:24px; }
.cw-member-chat .cw-composer-content { grid-column:2; grid-row:1; padding:0; max-height:min(280px,40dvh); }
.cw-member-chat .cw-chat-input { min-height:44px; font-size:1rem; padding:10px 4px; }
.cw-member-chat .cw-composer-toolbar,.cw-member-chat .cw-composer-tools { display:contents; }
.cw-member-chat .member-composer-more { grid-column:1; grid-row:1; width:44px; height:44px; border:0; border-radius:50%; background:transparent; color:var(--muted); font:inherit; font-size:24px; cursor:pointer; }
.cw-member-chat .cw-voice-btn { grid-column:3; grid-row:1; align-self:end; }
.cw-member-chat .cw-send-btn { grid-column:4; grid-row:1; align-self:end; }
.cw-member-chat .cw-send-status { grid-column:1 / -1; padding-inline:12px; }
.cw-member-chat .cw-send-status:empty { display:none; }
.cw-member-chat .cw-chat-composer-footer { margin:0; padding:3px 0; min-height:24px; }
.cw-member-chat .cw-bubble-action::before { background:transparent; }
.cw-member-chat .cw-bubble-action:hover::before,.cw-member-chat .cw-bubble-action:focus-visible::before { background:var(--surface-soft); }
.cw-member-chat .member-composer-menu { position:absolute; bottom:100%; left:10px; z-index:20; padding:6px; display:grid; gap:4px; border:1px solid var(--line); border-radius:12px; background:var(--surface); box-shadow:0 6px 24px color-mix(in srgb,var(--ink) 12%,transparent); }
.cw-member-chat .member-composer-menu .cw-icon-btn { grid-area:auto; display:flex; justify-content:flex-start; gap:8px; width:auto; min-width:44px; min-height:44px; padding:8px 12px; border-radius:8px; color:var(--ink); font:inherit; }
.cw-member-chat .member-composer-menu .cw-icon-btn > span:last-child { white-space:nowrap; }
.cw-member-chat .cw-command-menu { bottom:100%; }
.cw-member-chat .cw-chat-input-shell:has(.cw-voice-draft:not(.cw-hidden),.cw-composer-reply:not(.cw-hidden),.cw-pending-uploads:not(.cw-hidden)) { grid-template-columns:44px minmax(0,1fr) 44px 44px; }
.cw-member-chat .cw-chat-input-shell:has(.cw-voice-draft:not(.cw-hidden),.cw-composer-reply:not(.cw-hidden),.cw-pending-uploads:not(.cw-hidden)) .cw-composer-content { grid-column:1 / -1; grid-row:1; padding:8px 10px 0; }
.cw-member-chat .cw-chat-input-shell:has(.cw-voice-draft:not(.cw-hidden),.cw-composer-reply:not(.cw-hidden),.cw-pending-uploads:not(.cw-hidden)) :is(.member-composer-more,.cw-voice-btn,.cw-send-btn) { grid-row:2; }
/* A completed send is announced without reserving another permanent UI row. */
.cw-member-chat .cw-send-status[data-phase="sent"] { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.cw-member-chat .cw-chat-input-shell:has(.cw-voice-btn:not(.cw-hidden)):has(.cw-send-btn:disabled:not(.is-sending)) { grid-template-columns:44px minmax(0,1fr) 44px; }
.cw-member-chat .cw-chat-input-shell:has(.cw-voice-btn:not(.cw-hidden)) .cw-send-btn:disabled:not(.is-sending) { display:none; }
.cw-member-chat .cw-chat-input-shell:has(.cw-voice-btn.cw-hidden) .cw-composer-content { grid-column:2 / 4; }
.cw-member-chat .cw-chat-input-shell:has(.cw-voice-draft:not(.cw-hidden),.cw-composer-reply:not(.cw-hidden),.cw-pending-uploads:not(.cw-hidden)) .cw-composer-content { grid-column:1 / -1; }
