/* Anexos, gravacao e ampliacao. Mantidos isolados da conversa. */
.compose-tool{width:27px;height:27px;display:grid;place-items:center;flex:none;background:transparent;color:var(--muted);border-radius:6px}
.compose-tool .ic{width:16px;height:16px}
.compose-tool:hover{background:var(--accent-soft);color:var(--accent)}
.compose-tool.recording{background:#fff0ee;color:#d44b51;animation:record-pulse 1.2s ease-in-out infinite}
@keyframes record-pulse{50%{opacity:.55}}
.media-preview{display:flex;gap:8px;max-height:110px;overflow-x:auto;flex:none;padding:8px clamp(15px,3.6vw,44px);border-top:1px solid var(--line);background:var(--panel2)}
.pending-attachment{min-width:145px;max-width:280px;display:flex;align-items:center;gap:7px;flex:none;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:6px}
.pending-attachment img{height:37px;width:37px;object-fit:cover;border-radius:5px}
.pending-attachment .pending-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10px;color:var(--muted)}
.pending-attachment button{background:var(--panel2);color:var(--text);padding:3px 6px;border-radius:4px}
.pending-attachment audio{height:30px;max-width:140px}
.media-image{display:block;max-width:min(350px,100%);max-height:290px;width:auto;height:auto;object-fit:contain;border-radius:7px;cursor:zoom-in;margin:4px 0}
.media-audio{max-width:min(320px,100%);width:280px;height:39px;margin:6px 0}
.media-filename{display:block;font-size:10px;color:var(--muted);margin:5px 0;overflow-wrap:anywhere}
.recording-status{display:flex;align-items:center;gap:9px;flex:none;background:#fff3f3;color:#b13e4e;font-size:11px;padding:8px clamp(15px,3.6vw,44px);border-top:1px solid #f0cfd1}
.recording-led{width:8px;height:8px;border-radius:100%;background:#e74f5e;animation:record-pulse 1.2s infinite}
.media-drop .chat-compose{outline:2px dashed #6878ed;outline-offset:2px}
.media-lightbox{position:fixed;inset:0;max-width:min(96vw,1300px);max-height:96dvh;background:#171d2d;border:1px solid #4c5268;border-radius:12px;padding:38px 12px 12px;color:white}
.media-lightbox::backdrop{background:#0e1122df}
.media-lightbox img{display:block;margin:auto;max-height:calc(90dvh - 48px);max-width:100%;object-fit:contain}
.lightbox-close{position:absolute;top:9px;right:12px;background:#30394e;color:#fff;border-radius:6px;padding:6px 12px;font-size:11px}
@media(max-width:540px){.media-preview{padding:6px 8px;background:var(--panel2);border-top:1px solid var(--line);}.pending-attachment{min-width:125px;background:var(--panel);border:1px solid var(--line);}.media-image{max-height:200px}}

/* Documentos: arquivos nao executaveis, disponiveis somente por download autenticado. */
.pending-file-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:6px;background:var(--soft);color:var(--accent)}
.pending-file-icon .ic{width:17px;height:17px}
.media-download{display:flex;align-items:center;gap:10px;max-width:min(340px,100%);min-height:51px;padding:8px 11px;margin:7px 0;border:1px solid var(--line);border-radius:7px;background:var(--panel2);color:var(--text);text-decoration:none}
.media-download:hover{border-color:var(--accent)}
.media-download-icon{display:grid;place-items:center;flex:none;width:29px;height:29px;border-radius:6px;background:var(--soft);color:var(--accent)}
.media-download-icon .ic{width:16px;height:16px}
.media-download-name{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px;font-size:11px;overflow-wrap:anywhere;font-weight:640}
.media-download-name small{font-size:9.5px;color:var(--muted);font-weight:400}
.media-download-action{color:var(--accent);font-size:10px;font-weight:700}
.recording-status button{margin-left:auto;background:transparent;color:inherit;font-size:11px;font-weight:700;text-decoration:underline}

/* Dark — fila de anexos e gravacao */
:root[data-theme="dark"] .compose-tool{color:var(--muted)}
:root[data-theme="dark"] .compose-tool:hover{background:var(--accent-soft);color:var(--accent)}
:root[data-theme="dark"] .compose-tool.recording{background:#512a31;color:#ff9d9d}
:root[data-theme="dark"] .media-preview{background:var(--panel2);border-color:var(--line)}
:root[data-theme="dark"] .pending-attachment{background:var(--panel);border-color:var(--line)}
:root[data-theme="dark"] .pending-attachment .pending-name{color:var(--text)}
:root[data-theme="dark"] .pending-attachment button{background:var(--panel2);color:var(--text)}
:root[data-theme="dark"] .media-filename{color:var(--muted)}
:root[data-theme="dark"] .recording-status{background:#422832;color:#ffc1bd;border-color:#724250}
