/* Chat Habib v5 — faster chat + rich upload preview */
.chat-loading{padding:18px;text-align:center;color:var(--muted);font-size:12px}
.upload-preview-card{margin:8px 0 0;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 6px 18px rgba(12,30,24,.06)}
.upload-visual{background:#0f1715;display:grid;place-items:center;max-height:280px;overflow:hidden}.upload-visual img,.upload-visual video{display:block;width:100%;max-height:280px;object-fit:contain}.upload-audio{padding:12px}.upload-audio audio{width:100%}
.upload-doc{display:flex;gap:12px;align-items:center;padding:14px}.upload-doc>span{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:#eef4f2;color:var(--brand2);font-size:10px;font-weight:900}.upload-doc>div{min-width:0}.upload-doc b{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-doc small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.upload-preview-info{display:flex;align-items:center;gap:10px;padding:10px 12px}.upload-preview-info>div{flex:1;min-width:0}.upload-preview-info b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-preview-info small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.document-toggle{display:flex;gap:10px;align-items:center;margin:0 12px 10px;padding:9px 10px;background:#f7faf9;border:1px solid var(--line);border-radius:12px;cursor:pointer}.document-toggle input{width:18px;height:18px;accent-color:var(--brand)}.document-toggle span{display:flex;flex-direction:column}.document-toggle b{font-size:11px}.document-toggle small{font-size:9px;color:var(--muted);margin-top:2px}
.compression-status{min-height:0;padding:0 12px 10px;color:var(--brand2);font-size:10px;font-weight:700}.compression-status:empty{display:none}
.sending-message .bubble{opacity:.82}.failed-message .bubble{border-color:#efb6b1;background:#fff6f5}.failed-message .meta{color:#b42318;font-weight:700}
.upload-line{height:3px;background:#dfe8e5;border-radius:99px;overflow:hidden;margin-top:6px}.upload-line i{display:block;height:100%;width:0;background:var(--brand);transition:width .15s linear}
.pending-media{opacity:.9}.msgrow.sending-message .media-card,.msgrow.sending-message .doc-card{pointer-events:none}
@media(max-width:520px){.upload-preview-card{border-radius:14px}.upload-visual,.upload-visual img,.upload-visual video{max-height:220px}.document-toggle{margin-left:10px;margin-right:10px}}
