/* ============================================================================
   Conversaciones — componente COMPARTIDO (admin /admin + cliente /cuenta).
   Fuente ÚNICA de estilos del inbox: lo que se edita aquí aplica a ambos.
   Usa los tokens de admin (--border/--card/--surface/--t1/--t2/--t3/--violet-*);
   en /cuenta esos nombres se aliasan a los tokens locales en cuenta.html.
   No editar copias inline en admin.html / cuenta.html: ya no existen.
   ========================================================================== */

/* Conversaciones — 2 paneles */
.convwrap{display:grid;grid-template-columns:340px 1fr;gap:0;height:calc(100vh - 200px);background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-top:14px;}
/* Módulo Conversaciones a pantalla completa: sin scroll de página.
   OJO: NO usar overflow:hidden en body — rompe el header sticky y, en iOS,
   anula overflow-x:clip (reaparece el scroll lateral). fitConvHeight ajusta
   la altura exacta del recuadro para que no sobre nada que scrollear. */
body.conv-full main{padding-bottom:0;}
.conv-list{border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0;}
.conv-items{overflow-y:auto;flex:1;scrollbar-width:none;-ms-overflow-style:none;}
.conv-items::-webkit-scrollbar,.cv-msgs::-webkit-scrollbar{width:0;height:0;display:none;}
.conv-item{display:flex;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);cursor:pointer;align-items:flex-start;}
.conv-item:hover{background:rgba(255,255,255,.03);}
.conv-item.sel{background:rgba(124,92,255,.12);}
/* Deslizamiento tipo WhatsApp: los botones se revelan detrás de la fila */
.conv-row{position:relative;overflow:hidden;}
.conv-row .conv-item{position:relative;z-index:1;}
.conv-actions{position:absolute;top:0;bottom:0;display:none;z-index:0;}
.conv-actions.left{left:0;}
.conv-actions.right{right:0;}
.conv-row.swipe-left .conv-actions.right,.conv-row.open-left .conv-actions.right{display:flex;}
.conv-row.swipe-right .conv-actions.left,.conv-row.open-right .conv-actions.left{display:flex;}
.conv-row.swipe-left .conv-item,.conv-row.swipe-right .conv-item,.conv-row.open-left .conv-item,.conv-row.open-right .conv-item{background:var(--surface);}
.conv-act{border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:76px;font-size:11px;font-weight:700;color:#fff;cursor:pointer;}
.conv-act .zk-ic{width:19px;height:19px;color:#fff;}
.act-read{background:#3b82f6;}
.act-bot{background:#f59e0b;}
.act-del{background:#ef4444;}
.conv-item .ci-main{flex:1;min-width:0;}
.conv-item .ci-top{display:flex;justify-content:space-between;gap:8px;}
.conv-item .ci-name{font-weight:700;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.conv-item .ci-time{font-size:11px;color:var(--t3);white-space:nowrap;}
.conv-item .ci-prev{font-size:12px;color:var(--t3);margin-top:3px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;word-break:break-word;}
.ch-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.ch-whatsapp{background:rgba(37,211,102,.15);color:#25d366;}
.ch-web{background:rgba(96,165,250,.15);color:#60a5fa;}
.ch-messenger{background:rgba(0,132,255,.15);color:#0084ff;}
.ch-instagram,.ch-ig_comment{background:rgba(228,64,95,.15);color:#e4405f;}
.ch-facebook,.ch-fb_comment{background:rgba(24,119,242,.15);color:#5b9bff;}
.ch-sim,.ch-sim_seller{background:rgba(168,85,247,.15);color:#c084fc;}
.ch-test{background:rgba(148,163,184,.15);color:#94a3b8;}
.conv-seg{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--t2);padding:6px 8px;font-size:12px;font-weight:600;cursor:pointer;transition:.15s;}
.conv-seg:hover{border-color:rgba(255,255,255,.22);}
.conv-seg.active{background:rgba(124,92,255,.18);border-color:rgba(124,92,255,.5);color:#c4b5fd;}
.conv-thread{display:flex;flex-direction:column;min-height:0;}
.cv-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:12px 16px;border-bottom:1px solid var(--border);}
/* Zona 1: identidad (crece y empuja las acciones a la derecha en escritorio). */
.cv-head-main{display:flex;align-items:center;gap:12px;flex:1 1 240px;min-width:0;}
.cv-head-main .cv-id{flex:1;min-width:0;}
.cv-head .nm{font-weight:700;display:flex;align-items:center;gap:3px;min-width:0;}
.cv-head .ph{font-size:12px;color:var(--t3);margin-top:2px;line-height:1.75;}
/* Teléfono del contacto en el encabezado: siempre visible y copiable al clic. */
.cv-phone{display:inline-flex;align-items:center;gap:4px;cursor:pointer;color:var(--t2);
  font-variant-numeric:tabular-nums;}
.cv-phone:hover{color:var(--acc);text-decoration:underline;}
.cv-phone .zk-ic{width:12px;height:12px;}
/* Zona 2: acciones en orden fijo; envuelven como bloque propio, no sueltas. */
.cv-head-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:auto;justify-content:flex-end;}
.cv-head-actions .cv-tags{display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.cv-msgs{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:8px;scrollbar-width:none;-ms-overflow-style:none;}
.bub{max-width:72%;padding:9px 13px;border-radius:14px;font-size:13px;line-height:1.45;white-space:pre-wrap;word-break:break-word;}
.bub.in{align-self:flex-start;background:rgba(255,255,255,.07);border-bottom-left-radius:4px;}
.bub.out{align-self:flex-end;background:var(--violet-dk);color:#fff;border-bottom-right-radius:4px;}
.bub .bmeta{display:block;font-size:10px;color:rgba(255,255,255,.55);margin-top:4px;text-align:right;}
.bub.in .bmeta{color:var(--t3);text-align:left;}
.load-older{align-self:center;margin:2px auto 8px;font-size:12px;color:var(--t2);background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:6px 14px;cursor:pointer;}
.load-older:hover{color:var(--t1);}
.load-older:disabled{opacity:.6;cursor:default;}
.lead-ctx{margin-top:5px;font-size:11.5px;color:var(--t2);display:flex;align-items:center;gap:5px;flex-wrap:wrap;background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.28);border-radius:8px;padding:4px 9px;width:fit-content;max-width:100%;}
.lead-ctx .zk-ic{width:13px;height:13px;color:#818cf8;}
.lead-st{text-transform:capitalize;color:#a5b4fc;font-weight:600;}
.assign-sel{font-size:11.5px;color:var(--t2);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:5px 8px;cursor:pointer;max-width:140px;}
.assign-sel:hover{color:var(--t1);}
/* Etiqueta de asignación (a quién del equipo está asignado el lead) */
.assign-badge{display:inline-flex;align-items:center;gap:4px;margin-top:5px;font-size:11.5px;font-weight:600;color:var(--t3);background:var(--surface);border:1px dashed var(--border);border-radius:8px;padding:3px 9px;width:fit-content;max-width:100%;}
.assign-badge.on{color:var(--violet-lt,#a78bfa);border-style:solid;border-color:rgba(124,92,255,.4);background:rgba(124,92,255,.1);}
.assign-badge .zk-ic{width:13px;height:13px;flex:0 0 auto;}
/* Estado de la conversación (Abierta/Pendiente/Resuelta) + Archivar/Restaurar */
.conv-st-sel{font-size:11.5px;font-weight:600;color:var(--t2);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:5px 8px;cursor:pointer;}
.conv-st-sel.cst-abierta{color:#60a5fa;border-color:rgba(96,165,250,.4);}
.conv-st-sel.cst-pendiente{color:var(--amber);border-color:rgba(251,191,36,.4);}
.conv-st-sel.cst-resuelta{color:#25d366;border-color:rgba(37,211,102,.4);}
.conv-archive{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--t2);background:none;border:1px solid var(--border);border-radius:8px;padding:5px 9px;cursor:pointer;white-space:nowrap;}
.conv-archive:hover{color:var(--t1);border-color:var(--t3);}
.conv-archive.on{color:var(--violet-lt,#a78bfa);border-color:var(--violet-lt,#a78bfa);}
.conv-archive .zk-ic{width:14px;height:14px;}
/* "Ver ficha" del contacto (abre su registro en el módulo de Leads) */
.conv-verficha{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--violet-lt,#a78bfa);background:none;border:1px solid var(--border);border-radius:8px;padding:5px 9px;cursor:pointer;white-space:nowrap;}
.conv-verficha:hover{border-color:var(--violet-lt,#a78bfa);background:rgba(124,92,255,.1);}
.conv-verficha .zk-ic{width:14px;height:14px;}
.cst-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle;flex:0 0 auto;}
.wa-tick{font-weight:700;letter-spacing:-1px;}
.wa-tick.read{color:#38bdf8;}
.wa-tick.err{color:#fb7185;font-weight:800;letter-spacing:0;}
.msg-retry{display:block;margin:4px 0 0 auto;font-size:11px;color:#fb7185;background:rgba(251,113,133,.12);border:1px solid rgba(251,113,133,.35);border-radius:8px;padding:3px 8px;cursor:pointer;}
.msg-retry:hover{background:rgba(251,113,133,.2);}
.msg-retry .zk-ic{width:12px;height:12px;vertical-align:-2px;}
.msg-stk{display:inline-block;margin:4px 0 0;font-size:11px;color:var(--t2);background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:8px;padding:3px 8px;cursor:pointer;}
.msg-stk:hover{color:var(--t1);}
.msg-stk .zk-ic{width:12px;height:12px;vertical-align:-2px;}
.bub-note{align-self:center;max-width:80%;margin:6px auto;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.35);color:var(--t1);border-radius:10px;padding:8px 12px;font-size:12.5px;text-align:center;}
.bub-note .zk-ic{width:13px;height:13px;vertical-align:-2px;opacity:.8;}
.bub-note .bmeta{display:block;font-size:10px;color:var(--t3);margin-top:4px;}
.conv-bell{flex:0 0 auto;width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--t3);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.conv-bell:hover{color:var(--t1);}
.conv-bell.on{color:var(--violet-lt,#a78bfa);border-color:var(--violet-lt,#a78bfa);background:rgba(124,58,237,.12);}
.conv-bell .zk-ic{width:16px;height:16px;}
.ci-unread{display:inline-block;min-width:18px;height:18px;line-height:18px;padding:0 5px;margin-right:6px;border-radius:9px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;text-align:center;vertical-align:middle;}
.conv-item.unread .ci-name{font-weight:700;}
.conv-item.unread .ci-prev{color:var(--t1);}
.cv-tool.note-on{background:rgba(245,158,11,.18);color:#f59e0b;}
.cv-replybar.note-mode{background:rgba(245,158,11,.06);}
.cv-replybar.note-mode textarea{border-color:rgba(245,158,11,.4);}
.cv-replybar{display:flex;gap:6px;padding:12px;border-top:1px solid var(--border);align-items:flex-end;position:relative;}
.cv-replybar textarea{flex:1;resize:none;height:44px;min-height:44px;max-height:180px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--t1);padding:10px 12px;font-size:13px;font-family:inherit;min-width:0;}
.cv-tool{flex:none;width:38px;height:38px;border-radius:10px;border:none;background:none;color:var(--t3);font-size:18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.cv-tool:hover{background:rgba(255,255,255,.07);color:var(--t1);}
.cv-tool.rec{background:rgba(248,113,113,.18);color:#f87171;animation:recPulse 1.1s ease-in-out infinite;}
.cv-tool .zk-ic{color:inherit;width:19px;height:19px;}
.convwrap .zk-ic{color:inherit;}
/* Herramientas del composer: en escritorio van en línea; en móvil se agrupan bajo "+" */
.cv-tools{display:flex;gap:6px;align-items:flex-end;}
.cv-more{display:none;flex:none;width:38px;height:38px;border-radius:10px;border:none;background:none;color:var(--t3);font-size:24px;line-height:1;cursor:pointer;align-items:center;justify-content:center;}
.cv-more:hover{background:rgba(255,255,255,.07);color:var(--t1);}
@keyframes recPulse{50%{opacity:.45}}
/* Adjuntos en cola antes de enviar */
.cv-staged{display:flex;gap:8px;flex-wrap:wrap;padding:8px 12px 0;border-top:1px solid var(--border);}
.cv-staged .stg{position:relative;width:58px;height:58px;border-radius:10px;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--t3);overflow:hidden;text-align:center;padding:2px;}
.cv-staged .stg img{width:100%;height:100%;object-fit:cover;}
.cv-staged .stg .rm{position:absolute;top:1px;right:1px;width:16px;height:16px;border-radius:50%;background:rgba(0,0,0,.7);color:#fff;border:none;font-size:10px;line-height:1;cursor:pointer;}
/* Popovers de emojis y stickers */
.emo-pop,.stk-pop{position:absolute;bottom:62px;left:10px;z-index:40;width:292px;max-width:calc(100vw - 40px);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px;box-shadow:0 12px 32px rgba(0,0,0,.5);}
.emo-pop{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;max-height:208px;overflow-y:auto;}
.emo-pop button{background:none;border:none;font-size:19px;cursor:pointer;border-radius:7px;padding:3px;}
.emo-pop button:hover{background:rgba(255,255,255,.09);}
.stk-pop{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-height:230px;overflow-y:auto;}
.stk-pop button{background:none;border:none;cursor:pointer;border-radius:8px;padding:4px;}
.stk-pop button:hover{background:rgba(255,255,255,.09);}
.stk-pop img{width:54px;height:54px;object-fit:contain;}
.stk-pop .stk-empty{grid-column:1/-1;font-size:11px;color:var(--t3);text-align:center;padding:10px;}
/* Media dentro de las burbujas */
.bub img.bmedia{max-width:230px;max-height:230px;border-radius:10px;display:block;margin-bottom:4px;cursor:pointer;}
.bub img.bsticker{width:110px;height:110px;object-fit:contain;display:block;background:none;}
.bub audio.bmedia{width:230px;max-width:100%;display:block;margin-bottom:4px;height:38px;}
.bub video.bmedia{max-width:230px;border-radius:10px;display:block;margin-bottom:4px;}
.bub a.bdoc{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:underline;margin-bottom:4px;}
.tpl-pop{position:absolute;bottom:62px;left:10px;z-index:40;width:340px;max-width:calc(100vw - 40px);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px;box-shadow:0 12px 32px rgba(0,0,0,.5);max-height:280px;overflow-y:auto;}
.tpl-item{padding:8px 10px;border-radius:9px;cursor:pointer;}
.tpl-item:hover{background:rgba(255,255,255,.07);}
.tpl-item.off{opacity:.55;cursor:not-allowed;}
.tpl-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;}
.tpl-body{font-size:11px;color:var(--t3);margin-top:3px;white-space:pre-wrap;}
.tpl-st{font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;background:rgba(251,191,36,.15);color:var(--amber);text-transform:uppercase;}
.tpl-st.approved{background:rgba(37,211,102,.15);color:#25d366;}
.tpl-st.rejected{background:rgba(248,113,113,.15);color:#f87171;}
.tpl-quota{font-size:11px;color:var(--t3);padding:4px 10px 8px;border-bottom:1px solid var(--border);margin-bottom:4px;}
.tpl-quota.over{color:#f87171;font-weight:600;}
/* Respuestas rápidas (guion de ventas / config del agente del cliente) */
.qr-pop{position:absolute;bottom:62px;left:10px;z-index:40;width:360px;max-width:calc(100vw - 40px);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px;box-shadow:0 12px 32px rgba(0,0,0,.5);max-height:320px;overflow-y:auto;}
.qr-cat{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--violet,#a78bfa);padding:8px 8px 4px;}
.qr-item{padding:8px 10px;border-radius:9px;cursor:pointer;font-size:12.5px;color:var(--t2);}
.qr-item:hover{background:rgba(255,255,255,.07);color:var(--t1);}
.qr-item b{color:var(--t1);font-weight:600;}
.qr-mng-bar{display:flex;justify-content:flex-end;padding:2px 4px 6px;border-bottom:1px solid var(--border);margin-bottom:4px;}
.qr-mng-btn{font-size:11px;font-weight:600;color:var(--violet,#a78bfa);background:none;border:1px solid var(--border);border-radius:8px;padding:4px 10px;cursor:pointer;}
.qr-mng-btn.on{background:rgba(124,58,237,.14);border-color:var(--violet,#a78bfa);}
.qr-edit{display:flex;flex-direction:column;gap:6px;padding:6px 4px 10px;}
.qr-edit input,.qr-edit textarea{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--t1);padding:7px 9px;font-size:12.5px;font-family:inherit;}
.qr-edit textarea{resize:vertical;min-height:54px;}
.qr-add{align-self:flex-end;background:var(--violet-dk);color:#fff;border:none;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer;}
.qr-row{display:flex;align-items:flex-start;gap:8px;padding:7px 9px;border-radius:9px;font-size:12.5px;color:var(--t2);}
.qr-row:hover{background:rgba(255,255,255,.05);}
.qr-row span{flex:1;min-width:0;word-break:break-word;}
.qr-del{flex:0 0 auto;background:none;border:none;color:#fb7185;cursor:pointer;font-size:13px;line-height:1;padding:2px 4px;}
.cv-tool.danger:hover{background:rgba(248,113,113,.15);color:#f87171;}
.bot-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:none;color:var(--t2);}
.bot-pill.on{background:rgba(37,211,102,.15);color:#25d366;border-color:transparent;}
.bot-pill.off{background:rgba(251,191,36,.15);color:var(--amber);border-color:transparent;}
/* Ventana de 24 h de WhatsApp */
.wa-win{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;}
.wa-win.ok{background:rgba(37,211,102,.13);color:#25d366;}
.wa-win.warn{background:rgba(251,191,36,.15);color:var(--amber);}
.wa-win.urgent{background:rgba(248,113,113,.15);color:#f87171;}
.wa-win.closed{background:rgba(255,255,255,.07);color:var(--t3);}
.wa-closed-note{padding:8px 14px;font-size:12px;color:var(--amber);background:rgba(251,191,36,.08);border-top:1px solid var(--border);}
/* Etiquetas de conversación */
.tagchip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap;}
/* Hit-area cómoda para quitar etiqueta en móvil (el glifo se ve chico pero el
   objetivo táctil es ~24px). */
.tagchip .tx{cursor:pointer;opacity:.65;font-weight:800;padding:3px 5px;margin:-3px -5px -3px 0;border-radius:999px;line-height:1;}
.tagchip .tx:hover{opacity:1;}
.tag-add{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;cursor:pointer;border:1px dashed var(--border);background:none;color:var(--t3);}
.tag-add:hover{color:var(--t1);border-color:var(--t3);}
.tag-pop{position:absolute;right:14px;top:54px;z-index:30;width:280px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px;box-shadow:0 12px 32px rgba(0,0,0,.5);}
.tag-pop .tp-title{font-size:11px;font-weight:700;color:var(--t3);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em;}
.tag-pop .tp-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.tag-pop input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--t1);padding:7px 10px;font-size:12px;}

/* Clases auxiliares que el inbox reutiliza (avatar, editar contacto, búsqueda) */
.muted{color:var(--t3);font-size:13px;padding:24px;text-align:center;}
.avatar{width:36px;height:36px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff;overflow:hidden;}
.avatar img{width:100%;height:100%;object-fit:cover;}
.avatar.sm{width:30px;height:30px;font-size:11px;}
.avatar.lg{width:44px;height:44px;font-size:16px;}
.nm-edit{background:none;border:none;color:var(--t3);cursor:pointer;font-size:13px;padding:0 2px;line-height:1;}
.nm-edit:hover{color:var(--violet,#7c5cff);}
.ce-overlay{position:fixed;inset:0;z-index:80;background:rgba(2,6,23,.65);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:16px;}
.ce-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;width:340px;max-width:100%;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.ce-title{font-weight:700;font-size:16px;margin-bottom:14px;}
.ce-photo-row{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.ce-preview{width:64px!important;height:64px!important;font-size:22px;}
.ce-lbl{display:block;font-size:12px;color:var(--t3);margin-bottom:5px;}
.ce-input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--t1);padding:9px 11px;font-size:14px;}
.ce-hint{font-size:11px;color:var(--t3);margin-top:8px;line-height:1.4;}
.ce-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;}
.mail-search{padding:10px;border-bottom:1px solid var(--border);display:flex;gap:8px;align-items:center;}
.mail-search input{padding:8px 12px;font-size:13px;flex:1;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--t1);}
.mail-search>button{flex:none;}
.chip{font-size:11px;font-weight:700;padding:6px 10px;border-radius:999px;border:1px solid var(--border);color:var(--t2);cursor:pointer;white-space:nowrap;background:transparent;}
.chip.on{background:rgba(139,92,246,.2);color:var(--violet-lt);border-color:rgba(139,92,246,.4);}
.mail-empty-pane{flex:1;display:flex;align-items:center;justify-content:center;color:var(--t3);font-size:13px;flex-direction:column;gap:8px;}
.cv-tool .zk-ic,.bot-pill .zk-ic{width:18px;height:18px;}

/* Skeleton de carga de la lista (primera carga) */
.conv-skel{display:flex;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border);}
.conv-skel .cs-av{width:38px;height:38px;border-radius:50%;flex:0 0 auto;background:var(--surface-2,rgba(255,255,255,.06));}
.conv-skel .cs-tx{flex:1;min-width:0;}
.conv-skel .cs-l1{height:10px;width:55%;border-radius:5px;background:var(--surface-2,rgba(255,255,255,.06));margin-bottom:8px;}
.conv-skel .cs-l2{height:9px;width:80%;border-radius:5px;background:var(--surface-2,rgba(255,255,255,.05));}
.conv-skel .cs-av,.conv-skel .cs-l1,.conv-skel .cs-l2{animation:csPulse 1.3s ease-in-out infinite;}
@keyframes csPulse{0%,100%{opacity:.45}50%{opacity:.9}}

/* Estado vacío guiado de la lista */
.conv-empty{text-align:center;padding:38px 22px;color:var(--t3);}
.conv-empty .ce-ic{font-size:30px;opacity:.55;margin-bottom:6px;}
.conv-empty h4{margin:8px 0 6px;font-size:15px;color:var(--t1,inherit);font-weight:600;}
.conv-empty p{font-size:12.5px;line-height:1.55;max-width:260px;margin:0 auto;}

/* Diálogo propio del módulo (reemplazo de confirm()/prompt()) */
.cv-dlg-bg{position:fixed;inset:0;z-index:205;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:20px;}
.cv-dlg{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px;width:100%;max-width:380px;box-shadow:0 24px 60px rgba(0,0,0,.5);}
.cv-dlg h4{margin:0 0 8px;font-size:15px;color:var(--t1,inherit);}
.cv-dlg h4.danger{color:#f87171;}
.cv-dlg p{margin:0 0 14px;font-size:13px;color:var(--t2);line-height:1.5;}
.cv-dlg input{width:100%;background:var(--bg,transparent);border:1px solid var(--border);border-radius:9px;color:inherit;padding:10px 12px;font-size:13px;margin-bottom:14px;box-sizing:border-box;}
.cv-dlg-a{display:flex;gap:9px;}
.cv-dlg-btn{flex:1;padding:10px 12px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--t2);font-size:13px;font-weight:600;cursor:pointer;}
.cv-dlg-btn.ok{background:#7c5cff;border-color:#7c5cff;color:#fff;}
.cv-dlg-btn.ok.danger{background:#dc2626;border-color:#dc2626;}

/* Responsivo: hilo a pantalla completa en móvil (igual que admin) */
.conv-back{display:none;}
@media(max-width:760px){
  .convwrap{grid-template-columns:1fr;position:relative;}
  /* El hilo abre como overlay ABSOLUTO dentro del propio convwrap (no fixed sobre
     el viewport): así queda por debajo del topbar del host SIN taparse con él y el
     botón "volver" + el encabezado del contacto siempre son visibles/alcanzables.
     Mismo enfoque que usa FG Connect con el componente compartido. */
  .conv-thread{display:none;position:absolute;inset:0;z-index:20;background:var(--surface);}
  .conv-thread.open{display:flex;animation:slideInRight .22s ease;}
  .conv-back{display:inline-flex;flex:none;padding:6px 10px;font-size:16px;line-height:1;}
  /* En móvil: identidad en su fila y acciones en otra (alineadas a la izquierda),
     para que ningún control quede "perdido" ni amontonado. */
  .cv-head-main{flex-basis:100%;}
  .cv-head-actions{width:100%;margin-left:0;justify-content:flex-start;gap:6px 8px;}
  /* Composer móvil: el "+" abre el menú de herramientas (agrupadas) y así el área de
     escritura gana ancho. Respeta el área segura inferior (home indicator / barra). */
  .cv-more{display:inline-flex;}
  .cv-tools{position:absolute;bottom:58px;left:10px;z-index:61;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px;display:none;grid-template-columns:repeat(4,1fr);gap:4px;box-shadow:0 12px 32px rgba(0,0,0,.4);}
  .cv-tools.open{display:grid;}
  .cv-replybar{padding-bottom:calc(12px + env(safe-area-inset-bottom));}
  .cv-replybar textarea{height:40px;min-height:40px;max-height:140px;}
}
@keyframes slideInRight{from{transform:translateX(40px);opacity:.4}to{transform:none;opacity:1}}

/* ── Menú "⋯" y modo selección múltiple (estilo WhatsApp) ── */
.conv-more{font-size:18px;font-weight:700;line-height:1;}
.conv-menu{
  position:fixed;z-index:1200;min-width:210px;padding:6px;
  background:var(--card,#111827);border:1px solid var(--border,#2a3240);
  border-radius:14px;box-shadow:0 12px 34px rgba(0,0,0,.45);
  animation:convMenuIn .14s ease;
}
@keyframes convMenuIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.conv-menu button{
  display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;
  background:none;border:0;border-radius:9px;color:var(--t1,#e5e7eb);
  font-size:.86rem;cursor:pointer;text-align:left;
}
.conv-menu button:hover{background:rgba(255,255,255,.06);}
.conv-menu .zk-ic{width:16px;height:16px;opacity:.75;}
.conv-ck{
  flex:0 0 22px;width:22px;height:22px;margin-right:2px;border-radius:50%;
  border:2px solid var(--border,#4b5563);display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:800;color:#fff;align-self:center;transition:all .12s ease;
}
.conv-ck.on{background:var(--accent,#7c3aed);border-color:var(--accent,#7c3aed);}
.conv-item.selmode{cursor:pointer;}
.conv-selbar{
  position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:8px;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:var(--card,#0d1220);border-top:1px solid var(--border,#2a3240);
}
.conv-selbar .csb-count{flex:1;text-align:center;font-size:.8rem;color:var(--t2,#9ca3af);}
.csb-btn{
  padding:8px 14px;border:1px solid var(--border,#2a3240);border-radius:10px;
  background:rgba(255,255,255,.04);color:var(--t1,#e5e7eb);font-size:.82rem;cursor:pointer;
}
.csb-btn.ok{border-color:var(--accent,#7c3aed);color:#c4b5fd;font-weight:700;}
.csb-btn.danger{color:#f87171;border-color:rgba(248,113,113,.4);}
.csb-btn[disabled]{opacity:.4;cursor:default;}

/* ══ US-401 (PRD panel UX): supervisión IA ↔ humano en el hilo ══ */
.bub.out-ai{background:rgba(124,58,237,.26);border:1px solid rgba(167,139,250,.42);color:#efeaff;}
.bub.out-ai .bmeta{color:rgba(216,204,255,.78);}
.cv-handoff{align-self:center;margin:10px auto 2px;font-size:10.5px;font-weight:600;color:var(--t3);letter-spacing:.03em;}
.ai-paused{display:flex;align-items:center;gap:8px;margin:8px 12px 0;padding:8px 12px;border-radius:10px;
  background:rgba(245,158,11,.10);border:1px solid rgba(245,158,11,.32);color:var(--t1);font-size:12.5px;}
.ai-paused .zk-ic{width:15px;height:15px;color:#f59e0b;flex:0 0 auto;}
.ai-paused .apz{margin-left:auto;flex:0 0 auto;background:none;border:1px solid rgba(245,158,11,.5);
  color:#fbbf24;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer;}
.ai-paused .apz:hover{background:rgba(245,158,11,.12);}
