/* Chat de equipe: somente apresentação; dados e autorizações permanecem no servidor. */
.content.chat-page { padding:16px 20px 20px; }
.chat-page .team-workspace-tabs { margin-bottom:12px; }
#content .chat-workspace { grid-template-columns:300px minmax(0,1fr); height:calc(100dvh - 158px); min-height:420px; border-radius:18px; }
#content .chat-workspace.show-members { grid-template-columns:300px minmax(0,1fr) 228px; }
#content .chat-workspace:not(.show-members) .chat-members { display:none; }
#content .chat-sidebar { background:var(--surface); }
#content .chat-sidebar > header { min-height:72px; background:var(--surface); color:var(--ink); padding:14px 18px; border-bottom:0; }
#content .chat-sidebar > header h1 { color:var(--ink); font-size:1.15rem; }
#content .chat-sidebar > header span { color:var(--muted); font-size:.62rem; }
#content .chat-sidebar > header button { width:38px; height:38px; border:0; border-radius:12px; background:#f3682f; box-shadow:none; }
#content .chat-status { margin:0 18px 6px; padding:4px 0; border:0; background:transparent !important; }
#content .chat-status > i { width:8px; height:8px; box-shadow:none; }
#content .chat-status strong,#content .chat-status small { display:inline; font-size:.7rem; color:var(--muted); }
#content .chat-status small:before { content:' · '; }
.chat-channel-search { display:block; margin:8px 14px 4px; }
.chat-channel-search input { width:100%; min-height:40px; border:1px solid var(--line); border-radius:12px; color:var(--ink); background:var(--surface-soft); padding:0 12px; font-size:.8rem; }
.chat-channel-search input:focus-visible { outline:2px solid #3b7cb7; outline-offset:1px; }
.chat-channel-list { padding:4px 10px 16px; }
.chat-channel-section summary { list-style:none; cursor:pointer; padding:13px 9px 7px; color:var(--muted); font-size:.65rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.chat-channel-section summary::after { content:'⌄'; float:right; }
.chat-channel-section:not([open]) summary::after { content:'›'; }
.chat-channel-section summary::-webkit-details-marker { display:none; }
.chat-channel { grid-template-columns:42px minmax(0,1fr) auto; gap:10px; padding:10px 9px; border-radius:12px; }
.chat-channel-icon { width:42px; height:42px; border-radius:14px; font-size:.88rem; }
.chat-channel strong { font-size:.82rem; }
.chat-channel small { font-size:.72rem; }
.chat-channel-meta { display:grid; justify-items:end; align-self:center; gap:5px; }
.chat-channel-meta time { color:var(--muted); font-size:.62rem; }
.chat-channel-meta b { min-width:20px; height:20px; display:grid; place-items:center; padding:0 5px; border-radius:99px; background:#ef672d; color:#fff; font-size:.65rem; }
#content .chat-conversation { background:var(--surface-soft); }
#content .chat-conversation-header { min-height:72px; background:var(--surface); padding:12px 20px; gap:10px; }
.chat-conversation-header > div { flex:1; }
.chat-conversation-header strong { font-size:1rem; }
.chat-conversation-header small { font-size:.72rem; }
#chat-search-form { min-width:175px; }
#chat-search-form input { width:145px; padding-left:10px; font-size:.75rem; }
.chat-members-toggle { flex:none; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--ink); padding:9px 11px; font-size:.72rem; font-weight:700; cursor:pointer; }
#content .chat-message-list { padding:24px clamp(18px,3vw,48px); background-image:none; }
.chat-date-divider { display:flex; justify-content:center; margin:8px 0 20px; }
.chat-date-divider span { padding:6px 12px; border:1px solid var(--line); border-radius:99px; background:var(--surface); color:var(--muted); font-size:.68rem; font-weight:650; }
.chat-message { max-width:min(680px,85%); margin-bottom:14px; }
.chat-message-content > header strong { font-size:.75rem; }
.chat-message-content > header time, .chat-message-content > header em { font-size:.65rem; }
.chat-bubble { background:var(--surface); border-radius:5px 16px 16px 16px; box-shadow:0 2px 8px #18304b0a; }
.chat-message.own .chat-bubble { background:var(--orange-soft); border-radius:16px 5px 16px 16px; }
.chat-bubble > p { font-size:.88rem; line-height:1.55; padding:11px 15px; }
.chat-message-content > footer { font-size:.62rem; }
.chat-file strong { font-size:.8rem; }
.chat-file small { font-size:.68rem; }
.chat-typing { font-size:.7rem; }
#content .chat-composer { margin:0 16px 14px; padding:8px; border-radius:16px; background:var(--surface); }
#content .chat-composer textarea { min-height:42px; padding:10px 12px; font-size:.86rem; }
.chat-attach,.chat-audio-button,.chat-send-button { width:42px; height:42px; border-radius:12px; }
.chat-send-button:disabled { opacity:.5; cursor:wait; }
#content .chat-members { background:var(--surface); }
.chat-members-list strong { font-size:.77rem; }
.chat-members-list small { font-size:.68rem; }
.chat-shortcuts { font-size:.68rem; }
.chat-welcome p { font-size:.85rem; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#app-view:has(.chat-page) #team-chat-launcher { display:none; }
@media(max-width:1000px) { #content .chat-workspace.show-members { grid-template-columns:260px minmax(0,1fr); } #content .chat-workspace.show-members .chat-members { position:absolute; z-index:20; right:24px; top:210px; width:225px; max-height:60vh; box-shadow:0 12px 40px #0f172a33; border-radius:14px; } #content .chat-workspace { grid-template-columns:260px minmax(0,1fr); } }
@media(max-width:700px) { #content .chat-workspace,#content .chat-workspace.show-members { grid-template-columns:minmax(0,1fr); height:auto; min-height:0; overflow:visible; } #content .chat-sidebar { max-height:250px; border-right:0; border-bottom:1px solid var(--line); } #content .chat-conversation { min-height:450px; height:calc(100dvh - 240px); } #content .chat-conversation-header { flex-wrap:wrap; } #chat-search-form { min-width:120px; } #chat-search-form input { width:100px; } .chat-message { max-width:94%; } .chat-audio { min-width:0; } .chat-audio audio { max-width:190px; } }

/* Uma única área flexível para mensagens impede que elementos ocultos
   desloquem o campo de envio para fora da janela. */
#content .chat-conversation { display:flex; flex-direction:column; min-height:0; overflow:hidden; }
#content .chat-conversation-header { flex:0 0 auto; }
#content .chat-pinned:not(.hidden), #content .chat-composer-context:not(.hidden) { flex:0 0 auto; }
#content .chat-message-list { flex:1 1 0; min-height:0; overflow-y:auto; padding:22px clamp(18px,3vw,44px); background:var(--surface-soft); }
#content .chat-typing { flex:0 0 auto; min-height:0; padding:0 22px; }
#content .chat-typing:not(:empty) { min-height:22px; padding:3px 22px; }
#content .chat-composer { flex:0 0 auto; margin:10px 18px 18px; padding:8px; border:1px solid var(--line); border-radius:16px; box-shadow:0 4px 16px #0f172a10; }
#content .chat-composer textarea { border:0; background:transparent; }
#content .chat-workspace { border-radius:18px; box-shadow:0 12px 35px #16345112; }
#content .chat-sidebar { background:var(--surface); }
#content .chat-sidebar > header { background:#173a59; border-radius:0; }
#content .chat-sidebar > header h1, #content .chat-sidebar > header span { color:#fff; }
#content .chat-sidebar > header span { opacity:.75; }
#content .chat-status { margin-top:10px; }
#content .chat-conversation-header { border-bottom:1px solid var(--line); }
#content .chat-message { margin-bottom:8px; }
#content .chat-message-content > header { margin-bottom:4px; }
#content .chat-message-content > footer { height:auto; min-height:11px; }
#content .chat-bubble { border-radius:5px 15px 15px 15px; }
#content .chat-message.own .chat-bubble { border-radius:15px 5px 15px 15px; }
#content .chat-date-divider { margin:12px 0 16px; }
@media(max-width:700px) { #content .chat-conversation { height:calc(100dvh - 270px); min-height:360px; } #content .chat-composer { margin:8px 10px 12px; } }

/* Identidade nova para o chat: navegação azul-marinho, conversa em azul
   suave, ações laranja e texto com contraste alto. */
#content.chat-page { background:linear-gradient(145deg,#edf3f9,#e8eff8); }
#content.chat-page .team-workspace-tabs { background:#dbe8f5; border-color:#c5d9ed; padding:5px; }
#content.chat-page .team-workspace-tabs button { color:#284867; }
#content.chat-page .team-workspace-tabs button.active { background:#145586; color:#fff; box-shadow:0 3px 12px #14558638; }
#content .chat-workspace { border:1px solid #c8d9e8; border-radius:20px; box-shadow:0 18px 45px #153c6022; }
#content .chat-sidebar { background:#132e48; border-color:#294762; }
#content .chat-sidebar > header { background:linear-gradient(120deg,#173e62,#1d5c7d); border-bottom:1px solid #ffffff1f; padding:17px 18px; }
#content .chat-sidebar > header h1 { font-size:1.2rem; color:#fff; }
#content .chat-sidebar > header span { color:#b9dce9; opacity:1; }
#content .chat-sidebar > header button { background:#ff773c; color:#fff; box-shadow:0 5px 14px #f66c3252; }
#content .chat-status { margin:12px 15px 6px; padding:8px 10px; background:#1a4661 !important; border:1px solid #356983; border-radius:10px; }
#content .chat-status strong,#content .chat-status small { color:#c7e9ef; }
#content .chat-status > i { background:#48e1a1; box-shadow:0 0 0 3px #48e1a12e; }
#content .chat-status.is-disconnected { background:#634d28 !important; border-color:#a48136; }
#content .chat-channel-search { margin:10px 14px 5px; }
#content .chat-channel-search input { color:#eff9ff; background:#1e405d; border:1px solid #365f7a; }
#content .chat-channel-search input::placeholder { color:#abc1d0; }
#content .chat-channel-section summary { color:#96b7cd; padding:16px 10px 7px; }
#content .chat-channel { color:#edf6fc; border-radius:13px; margin:4px 0; }
#content .chat-channel strong { color:#f4faff; font-size:.85rem; }
#content .chat-channel small,#content .chat-channel-meta time { color:#b8cbd9; }
#content .chat-channel:hover { background:#244d69; border-color:#48718a; }
#content .chat-channel.active { background:#285f7d; border:1px solid #5fa4c2; box-shadow:inset 4px 0 #ff8a4c; }
#content .chat-channel-icon { background:#d5eaf5; border-color:#a8d1e3; color:#164462; }
#content .chat-channel-icon > i { border-color:#173a55; }
#content .chat-conversation { background:#eef5fb; }
#content .chat-conversation-header { background:linear-gradient(105deg,#dceef7,#eff8fb); border-bottom:1px solid #c8dfe8; padding:14px 22px; }
#content .chat-conversation-header strong { color:#173952; font-size:1.02rem; }
#content .chat-conversation-header small { color:#496d80; }
#content .chat-conversation-header .chat-channel-icon { background:#1f6c8b; border-color:#1f6c8b; color:white; }
#content #chat-search-form { background:#fff; border-color:#c8dce9; }
#content #chat-search-form input { color:#1a3954; }
#content .chat-members-toggle { background:#fff; border-color:#c8dce9; color:#225773; }
#content .chat-message-list { background:linear-gradient(155deg,#e8f3f9 0%,#f5f9fc 60%,#edf5f4 100%); }
#content .chat-date-divider span { background:#d3e8f1; color:#31596b; border-color:#bfdce6; }
#content .chat-message-content > header strong { color:#21445c; font-size:.78rem; }
#content .chat-message-content > header time { color:#5d7a8b; }
#content .chat-bubble { background:white; color:#18384f; border-color:#d0e1eb; box-shadow:0 4px 12px #214b6811; }
#content .chat-message.own .chat-bubble { background:#d8eee9; border-color:#a6d8cc; color:#163d39; }
#content .chat-message-content > footer { color:#638078; }
#content .chat-composer { background:#fff; border:1px solid #c1dce8; box-shadow:0 8px 22px #1745641a; }
#content .chat-composer textarea { color:#173952; }
#content .chat-attach,#content .chat-audio-button { background:#e8f3f8; border-color:#c9dfea; color:#1b6580; }
#content .chat-send-button { background:#f46c32; color:white; }
#content .chat-members { background:#f3f9fc; border-color:#c8dfe8; }
html[data-theme="black"] #content.chat-page { background:#0d1b2a; }
html[data-theme="black"] #content .chat-conversation { background:#142939; }
html[data-theme="black"] #content .chat-conversation-header { background:linear-gradient(105deg,#173f57,#1a3449); border-color:#315468; }
html[data-theme="black"] #content .chat-conversation-header strong { color:#f2f9fc; }
html[data-theme="black"] #content .chat-conversation-header small { color:#b0cedb; }
html[data-theme="black"] #content .chat-message-list { background:linear-gradient(155deg,#102c3b,#172b3a); }
html[data-theme="black"] #content .chat-message-content > header strong { color:#e3f4fb; }
html[data-theme="black"] #content .chat-message-content > header time { color:#a8c1cd; }
html[data-theme="black"] #content .chat-bubble { background:#294455; color:#f1f8fb; border-color:#426171; }
html[data-theme="black"] #content .chat-message.own .chat-bubble { background:#175d58; color:#effff9; border-color:#318d7f; }
html[data-theme="black"] #content .chat-composer { background:#203d4e; border-color:#456879; }
html[data-theme="black"] #content .chat-composer textarea { color:#f5fbfd; }
html[data-theme="black"] #content .chat-members { background:#1b3546; }
