/* ===== Conversas estilo WhatsApp (22/09) ===== */
.msg{position:relative}
.msg .msg-menu{position:absolute;top:2px;right:4px;border:0;background:rgba(255,255,255,.85);border-radius:6px;font-size:13px;line-height:1;padding:2px 5px;cursor:pointer;opacity:0;transition:opacity .15s;color:#555}
.msg:hover .msg-menu{opacity:1}
.msg.midia{padding:5px;max-width:340px}
.md-img{display:block;max-width:320px;max-height:320px;width:100%;object-fit:cover;border-radius:10px;cursor:zoom-in;background:#eee}
.md-img.sticker{max-width:150px;background:transparent;object-fit:contain}
.md-audio{width:280px;max-width:100%;display:block;margin:4px 2px}
.md-video{max-width:320px;width:100%;border-radius:10px;display:block;background:#000}
.md-doc{display:flex;gap:10px;align-items:center;padding:10px;border-radius:10px;background:rgba(0,0,0,.05);text-decoration:none;color:inherit;min-width:220px}
.md-doc b{display:block;font-size:13px;word-break:break-all}.md-doc small{color:var(--muted);font-size:11px}
.md-ico{font-size:28px}
.md-abrir{display:inline-block;font-size:12px;margin:6px 4px 0}
.md-leg{padding:6px 6px 0;white-space:pre-wrap}
.md-off{color:var(--muted);font-size:13px}.md-off small{display:block;font-size:11px;margin-top:2px}
.album{display:grid;gap:3px;width:300px;max-width:100%;border-radius:10px;overflow:hidden}
.album.n2{grid-template-columns:1fr 1fr}.album.n3{grid-template-columns:1fr 1fr}.album.n3 .alb-t:first-child{grid-column:span 2}.album.n4{grid-template-columns:1fr 1fr}
.alb-t{position:relative;aspect-ratio:1;background:#eee}.album.n3 .alb-t:first-child{aspect-ratio:2/1}
.alb-t img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;display:block}
.alb-mais{position:absolute;inset:0;background:rgba(0,0,0,.5);color:#fff;font-size:26px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:zoom-in}
.alb-info{font-size:11px;color:var(--muted);padding:4px 4px 0}
.msgs.drop{outline:3px dashed #2563eb;outline-offset:-8px;background:#eef4ff}
.icon-btn{font-size:18px;padding:6px 10px;min-width:42px}
.rec-on,.rec-ok{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;border-radius:10px;background:#fff4f4;border:1px solid #f5c2c2}
.rec-ok{background:#f1f7ff;border-color:#d5e1fb}.rec-ok audio{height:36px}
.rec-dot{width:10px;height:10px;border-radius:50%;background:#e02424;animation:recp 1s infinite}
@keyframes recp{50%{opacity:.25}}
.msg-pop{position:fixed;z-index:9999;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.15);padding:4px;min-width:170px}
.msg-pop button{display:block;width:100%;text-align:left;border:0;background:none;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:14px}
.msg-pop button:hover{background:#f2f4f7}
.visor{position:fixed;inset:0;z-index:9998;background:rgba(10,12,16,.92);display:flex;align-items:center;justify-content:center}
.visor img{max-width:90vw;max-height:80vh;border-radius:6px}
.visor-top{position:absolute;top:0;left:0;right:0;display:flex;gap:8px;align-items:center;padding:12px 16px;color:#fff;font-size:14px}
.visor-top button{background:rgba(255,255,255,.15);color:#fff;border:0;border-radius:8px;padding:8px 12px;cursor:pointer;font-size:14px}
.visor-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);color:#fff;border:0;font-size:40px;width:56px;height:80px;border-radius:10px;cursor:pointer}
.visor-nav.esq{left:16px}.visor-nav.dir{right:16px}
.visor-leg{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#fff;background:rgba(0,0,0,.5);padding:8px 14px;border-radius:8px;max-width:80vw}
.pv-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.pv-grid img{width:110px;height:110px;object-fit:cover;border-radius:8px}
.pv-doc{width:110px;height:110px;border-radius:8px;background:#f2f4f7;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:30px;text-align:center;padding:6px}
.pv-doc small{font-size:11px;word-break:break-all;margin-top:4px}
.enc-lista{max-height:240px;overflow:auto;margin:8px 0;border:1px solid var(--line);border-radius:8px}
.enc-it{padding:8px 10px;cursor:pointer;border-bottom:1px solid var(--line)}.enc-it:hover{background:#f6f8fb}.enc-it.on{background:#e8f0fe}
.cursos-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:16px}
.curso-lbl{font-size:12px;color:var(--muted);font-weight:600}
.curso-chip{background:#eaf6ee;color:#17693a;border:1px solid #bfe3cb;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}
.curso-chip.auto{background:#eef4ff;color:#1d4ed8;border-color:#cddcfb}
.cursos-ops{display:grid;gap:6px;margin:10px 0;max-height:280px;overflow:auto}
.curso-op{gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;cursor:pointer}
/* ===== Contatos: seleção para exportar (22/09) ===== */
.t th.ck,.t td.ck{width:38px;text-align:center;cursor:default}
.t td.ck input,.t th.ck input{width:17px;height:17px;cursor:pointer;accent-color:#3b4fd8}
.t tr.sel td{background:#eef4ff}
.sel-banner{background:#eef4ff;border-bottom:1px solid #cddcfb;padding:9px 14px;font-size:13px;text-align:center}
.sel-info{font-size:13px;color:var(--muted);margin-right:8px}
