/* Shared dimensions keep Friends and Agent Chat aligned as one workspace. */
:root { --chat-shell-list:280px; --chat-shell-rail:230px; --chat-shell-gap:12px; --chat-shell-gutter:20px; --chat-shell-top:84px; --chat-shell-bottom:18px; }
@media(min-width:1500px) { :root { --chat-shell-list:340px; } }
.agent-workspace { grid-template-columns:var(--chat-shell-list) minmax(0,1fr) var(--chat-shell-rail); gap:var(--chat-shell-gap); padding-inline:var(--chat-shell-gutter); padding-bottom:var(--chat-shell-bottom); grid-template-rows:calc(var(--chat-shell-top) - var(--chat-shell-gap)) minmax(0,1fr); }
@media(max-width:1499px) { .agent-workspace { grid-template-columns:var(--chat-shell-list) minmax(0,1fr); } }
@media(max-width:799px) { .agent-workspace { grid-template-columns:minmax(0,1fr); grid-template-rows:82px minmax(0,1fr); gap:6px; padding:0 10px 10px; } }
.chat-workspace-banner, .friends-new-conversation { display:none; }
#dmOverlay .dm-input-bar { position:relative; margin:10px 16px 16px; padding:6px !important; gap:6px; align-items:center; border:1px solid var(--scene-line) !important; border-radius:30px; background:var(--scene-control) !important; }
#dmOverlay .dm-textarea { background:transparent !important; border:0 !important; box-shadow:none; min-width:0; border-radius:20px; font-size:13px; color:var(--scene-text); }
#dmOverlay .dm-send-btn { width:44px; height:44px; min-width:44px; border-radius:50% !important; background:var(--scene-accent) !important; color:var(--scene-on-accent) !important; }
#dmOverlay :is(.dm-attach-btn,.dm-composer-tool) { background:transparent !important; border:0 !important; color:var(--scene-muted); border-radius:50%; }
#dmOverlay .dm-attach-btn { color:var(--scene-accent); }
@media(min-width:1280px) {
 body.desktop-chat-open { --chat-list-width:var(--chat-shell-list); --chat-workspace-width:calc(100vw - 280px - var(--chat-right) - 40px); --chat-workspace-left:300px; }
 body.desktop-chat-open.agc-open:has(#agentChatPanel.agc-desktop-expanded) { --chat-list-width:180px; }
 body.desktop-chat-open #friendsDmListOverlay { padding:var(--chat-shell-top) var(--chat-shell-gutter) var(--chat-shell-bottom); box-sizing:border-box; gap:var(--chat-shell-gap); }
 body.desktop-chat-open .chat-workspace-banner { position:absolute; inset:0 0 auto; height:72px; display:flex; align-items:center; justify-content:center; text-align:center; }
 .chat-workspace-banner h1 { margin:0; font:700 42px/1.2 system-ui,sans-serif; letter-spacing:-1.5px; color:#a6dfd2; }
 .chat-workspace-banner p { margin:5px 0 0; color:var(--scene-text); font:13px system-ui,sans-serif; }
 .chat-workspace-banner button { position:absolute; top:16px; right:20px; padding:8px; font-size:25px; background:var(--scene-control); border:1px solid var(--scene-line); border-radius:8px; color:var(--scene-text); cursor:pointer; }
 body.desktop-chat-open #desktopChatSceneArt, body.desktop-chat-open #friendsDmListOverlay > .category-tagline { display:none !important; }
 body.desktop-chat-open .fdml-sheet { margin:0; height:100%; border:1px solid var(--scene-line); border-radius:14px; box-sizing:border-box; }
 body.desktop-chat-open .fdml-header { display:none; }
 body.desktop-chat-open .friends-new-conversation { display:block; margin:2px 12px 12px; padding:12px; border:0; border-radius:10px; background:var(--scene-accent); color:var(--scene-on-accent); text-align:left; font-weight:700; cursor:pointer; }
 body.desktop-chat-open #desktopChatSearch { border-radius:9px; font-size:12px; }
 body.desktop-chat-open .fdml-list { padding:0 8px 12px; }
 body.desktop-chat-open .fdml-item { border:1px solid transparent; border-radius:10px; margin-block:3px; }
 body.desktop-chat-open .fdml-item[aria-current=true] { border-color:var(--scene-line); box-shadow:inset 3px 0 var(--scene-accent); }
 body.desktop-chat-open #friendsDmListOverlay::after { flex:1; height:100%; display:grid; place-items:center; padding:24px; border:1px solid var(--scene-line); border-radius:14px; background:var(--scene-panel); }
 body.desktop-chat-open #dmOverlay { inset:var(--chat-shell-top) auto var(--chat-shell-bottom) calc(var(--chat-workspace-left) + var(--chat-list-width) + var(--chat-shell-gap)); width:calc(var(--chat-workspace-width) - var(--chat-list-width) - var(--chat-shell-gap)); background:transparent !important; }
 body.desktop-chat-open #dmOverlay .dm-container { height:100%; grid-template-columns:minmax(0,1fr); column-gap:var(--chat-shell-gap); border:0; border-radius:14px; background:transparent !important; isolation:isolate; overflow:visible; }
 body.desktop-chat-open #dmOverlay .dm-container::before { content:''; position:absolute; inset:0; z-index:-1; border:1px solid var(--scene-line); border-radius:14px; background:var(--scene-panel); }
 body.desktop-chat-open #dmOverlay .dm-header { border:1px solid var(--scene-line); border-radius:14px 14px 0 0; min-height:76px; padding:14px 18px !important; }
 body.desktop-chat-open #dmMessages { padding:22px; }
 body.desktop-chat-open #dmOverlay .dm-input-bar { padding:6px !important; background:var(--scene-control); }
 body.desktop-chat-open #dmDetails { border:1px solid var(--scene-line); border-radius:14px; }
 body.desktop-chat-open #dmOverlay .dm-header-name { font-size:16px !important; }
 body.desktop-chat-open #dmOverlay .dm-textarea { background:transparent; }
 body.desktop-chat-open #desktopAgentLauncher { right:calc(var(--chat-right) + 76px); }
 body.desktop-chat-open #dmSharedMedia > .dm-details-empty { grid-column:1/-1; }
}
@media(min-width:1500px) {
 body.desktop-chat-open:not(.dm-details-hidden) #dmOverlay .dm-container { grid-template-columns:minmax(0,1fr) var(--chat-shell-rail); }
 body.desktop-chat-open:not(.dm-details-hidden) #dmOverlay .dm-container::before { right:calc(var(--chat-shell-rail) + var(--chat-shell-gap)); }
 body.desktop-chat-open:not(.dm-details-hidden) #dmDetails { display:block; grid-column:2; grid-row:1/6; overflow-y:auto; background:var(--scene-panel); }
 body.desktop-chat-open.agc-open:has(#agentChatPanel.agc-desktop-expanded) #dmOverlay .dm-container { grid-template-columns:minmax(0,1fr); }
 body.desktop-chat-open.agc-open:has(#agentChatPanel.agc-desktop-expanded) #dmOverlay .dm-container::before { right:0; }
 body.desktop-chat-open.agc-open:has(#agentChatPanel.agc-desktop-expanded) #dmDetails { display:none; }
}
@media(min-width:1280px) {
 body.desktop-chat-open:has(#dmOverlay[style*="flex"]) #friendsDmListOverlay::after { visibility:hidden; }
 body.desktop-chat-open #dmOverlay .dm-input-bar { width:calc(100% - 32px); max-width:900px; justify-self:center; margin-inline:16px; box-sizing:border-box; }
 body.desktop-chat-open #dmSharedMedia:not(:has(button)) { display:block; }
 html[data-theme="light"] body.desktop-chat-open #dmOverlay .dm-container { background:transparent !important; }
 html[data-theme="light"] body.desktop-chat-open #dmOverlay .dm-input-bar { background:var(--scene-control) !important; }
}
/* Balanced shared Chat proportions and no floating decorative text over panels. */
:root { --chat-shell-rail:300px; }
body.desktop-chat-open > .category-tagline,
body.agent-workspace-open > .category-tagline,
body.desktop-chat-open #desktopAgentBanner,
body.desktop-chat-open #desktopAgentLauncher { display:none !important; }
@media(min-width:1500px) { .agent-workspace { grid-template-columns:var(--chat-shell-list) minmax(0,1fr) var(--chat-shell-rail); } }

/* A single-line Agent banner gives the conversation more vertical space. */
.agent-workspace { --chat-shell-top:84px; }
@media(max-width:1499px) { .agent-workspace.at-show-details .at-details { top:132px; } }
@media(max-width:799px) {
 .agent-workspace { grid-template-rows:62px minmax(0,1fr); }
 .agent-workspace.at-show-details .at-details { top:116px; }
}

/* Separate destinations use Vibe's Poppins typography and fixed workspace headers. */
.chat-destination-label { margin:16px 12px 12px; font:600 14px/1.4 'Poppins',sans-serif; color:var(--scene-text); }
#agentWorkspace,#friendsDmListOverlay,#dmOverlay { font-family:'Poppins',sans-serif; }
#agentWorkspace :is(button,input,textarea,select,strong,h1,h2,h3),
#friendsDmListOverlay :is(button,input,strong,h1,h2),#dmOverlay :is(button,input,textarea,strong) { font-family:inherit; }
#agentWorkspace { overflow:hidden; grid-template-rows:72px minmax(0,1fr); }
#agentWorkspace .at-banner { position:relative; }
#agentWorkspace .at-banner h1,.chat-workspace-banner h1 { font-family:'Poppins',sans-serif; font-weight:700; }
#agentWorkspace :is(.at-sidebar,.at-main,.at-details) { align-self:stretch; }
@media(max-width:799px) { #agentWorkspace { grid-template-rows:62px minmax(0,1fr); } }
@media(min-width:1280px) {
 body.desktop-chat-open #friendsDmListOverlay { overflow:hidden; align-items:stretch; }
 body.desktop-chat-open .fdml-sheet { height:100%; flex-shrink:0; }
 body.desktop-chat-open #friendsDmListOverlay::after { height:100%; box-sizing:border-box; }
 body.desktop-chat-open #dmOverlay { top:var(--chat-shell-top); }
 body.desktop-chat-open .chat-workspace-banner { font-family:'Poppins',sans-serif; }
}
#agentWorkspace :is(#agentChatPanel,.agc-bubble,.agc-workout,.agc-rich) { font-family:'Poppins',sans-serif; }
