/* Chats de Manfredi Pro (assets/comunidad/chat.js).
   Marca: navy + champagne, líneas finas, sin texto gris (jerarquía por tamaño y peso). */
.ch-app {
  --ch-bg:#081223; --ch-side:#0a162b; --ch-feed:#0a1528; --ch-panel:#0d1a31; --ch-bub:#13223d; --ch-bub2:#172a4a;
  --ch-ink:#f3f6fb; --ch-ch:#e9d3a0; --ch-ch2:#f3e3bd; --ch-line:rgba(233,211,160,.12); --ch-line2:rgba(233,211,160,.24);
  --ch-up:#56c793; --ch-dn:#ef7a6b;
  --ch-sans:'IBM Plex Sans',system-ui,sans-serif; --ch-mono:'IBM Plex Mono',ui-monospace,monospace; --ch-serif:'DM Serif Display',Georgia,serif;
  --ch-ease:cubic-bezier(.23,1,.32,1);
  position:relative; display:grid; grid-template-columns:300px minmax(0,1fr);
  /* --ch-h lo calcula chat.js: el chat ocupa la pantalla entera debajo del menú y las pestañas de Pro */
  height:clamp(560px, calc(100vh - 230px), 860px); height:var(--ch-h, clamp(560px, calc(100dvh - 230px), 860px));
  border:1px solid var(--ch-line); border-radius:16px; overflow:hidden; background:var(--ch-bg);
  font-family:var(--ch-sans); color:var(--ch-ink);
  box-shadow:0 1px 0 rgba(233,211,160,.06) inset, 0 30px 80px -40px rgba(0,0,0,.7);
}
:where(.ch-app) button { font:inherit; color:inherit; }

/* ---------- lista de chats ---------- */
.ch-side { display:flex; flex-direction:column; min-height:0; background:var(--ch-side); border-right:1px solid var(--ch-line); }
.ch-side-h { padding:22px 20px 14px; }
.ch-side-h h3 { margin:0; font:400 22px/1 var(--ch-serif); letter-spacing:.005em; color:var(--ch-ink); }
.ch-list { list-style:none; margin:0; padding:0 8px; flex:1; overflow-y:auto; }
.ch-item { display:grid; grid-template-columns:46px minmax(0,1fr); gap:12px; align-items:center; width:100%; padding:11px 12px; border:0; border-radius:12px; background:none; text-align:left; cursor:pointer; transition:background .2s; }
.ch-item[aria-current="true"] { background:rgba(233,211,160,.08); box-shadow:inset 0 0 0 1px var(--ch-line); }
@media (hover:hover) { .ch-item:not([aria-current="true"]):hover { background:rgba(233,211,160,.04); } }
.ch-item-b { display:grid; gap:4px; min-width:0; }
.ch-item-t { display:flex; align-items:center; gap:7px; min-width:0; }
.ch-item-t b { font-weight:600; font-size:14.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ch-item-t time { margin-left:auto; font:500 10.5px var(--ch-mono); color:var(--ch-ch); white-space:nowrap; }
.ch-item-p { display:flex; align-items:center; gap:8px; min-width:0; font-size:13px; }
.ch-item-p > span { flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ch-lock { display:inline-flex; align-items:center; gap:5px; color:var(--ch-ch); }
.ch-unread { flex:none; min-width:20px; height:20px; padding:0 6px; border-radius:10px; background:var(--ch-ch); color:#0b1629; font:600 11px/20px var(--ch-mono); font-style:normal; text-align:center; }
.ch-tag { padding:1px 6px 2px; border-radius:5px; border:1px solid var(--ch-line2); font:600 9.5px/1.3 var(--ch-mono); font-style:normal; letter-spacing:.08em; text-transform:uppercase; color:var(--ch-ch); }
.ch-tag--pro { background:var(--ch-ch); border-color:var(--ch-ch); color:#0b1629; }

.ch-next { display:grid; gap:6px; margin:auto 12px 0; padding:16px 16px 14px; border-top:1px solid var(--ch-line); }
.ch-next b { font:400 19px/1.2 var(--ch-serif); color:var(--ch-ink); }
.ch-next-t { display:flex; align-items:baseline; justify-content:space-between; gap:10px; font-size:12.5px; }
.ch-next-t em { font:500 12px var(--ch-mono); font-style:normal; color:var(--ch-ch); }
.ch-list { flex:0 1 auto; }

.ch-wa { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; margin:10px 12px 14px; padding:14px; border:1px solid var(--ch-line); border-radius:12px; background:linear-gradient(180deg, rgba(233,211,160,.05), rgba(233,211,160,0)); }
.ch-wa-ic { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; border:1px solid var(--ch-line2); color:var(--ch-ch); }
.ch-wa-ic svg { width:16px; height:16px; }
.ch-wa div { display:grid; gap:2px; min-width:0; }
.ch-wa b { font-size:13px; font-weight:600; }
.ch-wa span { font-size:12px; }
.ch-wa-btn { padding:6px 12px; border-radius:16px; border:1px solid var(--ch-ch); color:var(--ch-ch); font-size:12.5px; font-weight:500; text-decoration:none; transition:background .2s; }
@media (hover:hover) { .ch-wa-btn:hover { background:rgba(233,211,160,.1); } }

/* ---------- avatares ---------- */
.ch-av { --av:var(--ch-ch); flex:none; display:grid; place-items:center; width:46px; height:46px; border-radius:50%; overflow:hidden;
  background:color-mix(in srgb, var(--av) 24%, #0b1629); box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--av) 45%, transparent); color:var(--av); font:600 15px var(--ch-sans); }
.ch-av img { width:100%; height:100%; object-fit:cover; }
.ch-av.sm { width:30px; height:30px; font-size:11.5px; align-self:flex-start; margin-top:2px; }
.ch-av--of { background:#0b1629; box-shadow:0 0 0 1px var(--ch-line2); }
.ch-av--sala { box-shadow:0 0 0 1px var(--ch-line2); background:#0b1629; }
.ch-av--pro { background:radial-gradient(circle at 30% 25%, #f3e3bd, #c9ab6c 70%); box-shadow:none; color:#0b1629; }
.ch-av--pro span { font:400 15px var(--ch-serif); color:#0b1629; letter-spacing:.02em; }

/* Manfredi Pro como Comunidad: encabezado del grupo y sus chats colgando de una línea */
.ch-grupo { margin-top:14px; padding-top:14px; border-top:1px solid var(--ch-line); }
.ch-grupo-h { display:flex; align-items:center; gap:10px; padding:2px 12px 8px; }
.ch-grupo-h b { font:400 17px var(--ch-serif); color:var(--ch-ink); }
.ch-av--grupo { width:30px; height:30px; border-radius:9px; }
.ch-av--grupo span { font-size:11px; }
.ch-grupo > ul { list-style:none; margin:0 0 0 26px; padding:0 0 0 10px; border-left:1px solid var(--ch-line2); }
.ch-item--sub { grid-template-columns:38px minmax(0,1fr); padding:9px 10px; }
.ch-item--sub .ch-av { width:38px; height:38px; }
.ch-item--sub .ch-item-t b { font-size:14px; }
.ch-av-sp { flex:none; width:30px; }

/* ---------- conversación ---------- */
.ch-main { position:relative; display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--ch-feed); }
.ch-head { display:flex; align-items:center; gap:12px; padding:12px 20px; border-bottom:1px solid var(--ch-line); background:var(--ch-panel); }
.ch-head .ch-av { width:40px; height:40px; }
.ch-head-t { display:grid; gap:2px; min-width:0; }
.ch-head-t b { font-size:15.5px; font-weight:600; }
.ch-head-t small { display:block; margin-bottom:1px; font:500 9.5px var(--ch-mono); letter-spacing:.16em; text-transform:uppercase; color:var(--ch-ch); }
.ch-head-t span { font-size:12.5px; color:var(--ch-ch); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ch-back { display:none; border:0; background:none; padding:4px; margin-left:-6px; cursor:pointer; color:var(--ch-ch); }

.ch-pin { display:flex; align-items:flex-start; gap:10px; width:100%; padding:9px 20px; border:0; border-bottom:1px solid var(--ch-line); background:rgba(13,26,49,.92); text-align:left; cursor:pointer; font-size:12.5px; line-height:1.45; }
.ch-pin svg { flex:none; margin-top:2px; color:var(--ch-ch); }
.ch-pin span { overflow:hidden; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; }
.ch-pin[aria-expanded="true"] span { -webkit-line-clamp:unset; }

/* guía a los resúmenes de hoy */
.ch-hoy { display:flex; align-items:center; gap:8px; padding:8px 20px; border-bottom:1px solid var(--ch-line); background:rgba(13,26,49,.92); overflow-x:auto; scrollbar-width:none; }
.ch-hoy[hidden] { display:none; }
.ch-hoy::-webkit-scrollbar { display:none; }
.ch-hoy-k { flex:none; margin-right:4px; font:500 10px var(--ch-mono); letter-spacing:.16em; text-transform:uppercase; color:var(--ch-ch); }
.ch-hoy-b { position:relative; flex:none; display:inline-flex; align-items:center; gap:7px; padding:6px 12px; border-radius:18px; border:1px solid var(--ch-ch); background:rgba(233,211,160,.1); font-size:12.8px; font-weight:500; color:var(--ch-ink); cursor:pointer; transition:background .2s, transform .15s var(--ch-ease); }
.ch-hoy-b time { font:500 11px var(--ch-mono); color:var(--ch-ch); }
.ch-hoy-b svg { color:var(--ch-ch); }
@media (hover:hover) { button.ch-hoy-b:hover { background:rgba(233,211,160,.18); } }
button.ch-hoy-b:active { transform:scale(.97); }
.ch-hoy-b.pend { border-style:dashed; border-color:var(--ch-line2); background:none; cursor:default; }
.ch-hoy-b.pend svg { color:var(--ch-ch); }
.ch-hoy-dot { position:absolute; top:-2px; right:-2px; width:9px; height:9px; border-radius:50%; background:var(--ch-ch); box-shadow:0 0 0 2px #0d1a31; animation:chDot 2s var(--ch-ease) infinite; }
@keyframes chDot { 0%,100% { box-shadow:0 0 0 2px #0d1a31, 0 0 0 2px rgba(233,211,160,.5); } 50% { box-shadow:0 0 0 2px #0d1a31, 0 0 0 7px rgba(233,211,160,0); } }
@media (prefers-reduced-motion:reduce) { .ch-hoy-dot { animation:none; } }

.ch-feedwrap { position:relative; flex:1; min-height:0; }
.ch-feed { position:absolute; inset:0; overflow-y:auto; overscroll-behavior:contain; scroll-behavior:auto;
  background:
    radial-gradient(900px 500px at 100% 0%, rgba(233,211,160,.05), transparent 60%),
    radial-gradient(rgba(233,211,160,.045) 1px, transparent 1.2px) 0 0/22px 22px,
    var(--ch-feed); }
.ch-feed-in { display:flex; flex-direction:column; gap:2px; max-width:820px; margin:0 auto; padding:18px 22px 22px; }
.ch-dia { align-self:center; margin:14px 0 10px; }
.ch-dia span { display:inline-block; padding:4px 11px; border-radius:8px; background:rgba(13,26,49,.95); border:1px solid var(--ch-line); font:500 10.5px var(--ch-mono); letter-spacing:.08em; text-transform:uppercase; color:var(--ch-ch); }
.ch-mas-arriba { align-self:center; font:500 10.5px var(--ch-mono); color:var(--ch-ch); padding:6px; }
.ch-cargando { display:flex; gap:6px; align-self:center; margin:40px 0; }
.ch-cargando i { width:7px; height:7px; border-radius:50%; background:var(--ch-ch); animation:chP 1.2s infinite; }
.ch-cargando i:nth-child(2) { animation-delay:.15s; } .ch-cargando i:nth-child(3) { animation-delay:.3s; }
@keyframes chP { 0%,60%,100% { opacity:.25; transform:translateY(0); } 30% { opacity:1; transform:translateY(-3px); } }

/* filas y burbujas */
.ch-row { position:relative; display:flex; align-items:flex-end; gap:8px; margin-top:10px; }
.ch-row.cont { margin-top:2px; }
.ch-row.mio { justify-content:flex-end; }
.ch-row.entra { animation:chIn .32s var(--ch-ease) both; }
@keyframes chIn { from { opacity:0; transform:translateY(8px) scale(.985); } to { opacity:1; transform:none; } }
.ch-row.flash .ch-bub { animation:chFlash 1.4s var(--ch-ease); }
@keyframes chFlash { 0%,40% { box-shadow:0 0 0 2px var(--ch-ch); } 100% { box-shadow:0 0 0 0 transparent; } }

.ch-bub { position:relative; max-width:min(560px, 76%); padding:7px 11px 8px; border-radius:14px 14px 14px 4px; background:var(--ch-bub); box-shadow:0 1px 0 rgba(0,0,0,.25); font-size:14.4px; line-height:1.5; overflow-wrap:anywhere; }
.ch-row.cont .ch-bub { border-radius:4px 14px 14px 4px; }
.mio .ch-bub { border-radius:14px 14px 4px 14px; background:linear-gradient(180deg, rgba(233,211,160,.2), rgba(233,211,160,.15)), var(--ch-feed); box-shadow:inset 0 0 0 1px rgba(233,211,160,.2); }
.mio.cont .ch-bub { border-radius:14px 4px 4px 14px; }
.ch-bub.of { background:var(--ch-bub2); box-shadow:inset 0 0 0 1px var(--ch-line), 0 1px 0 rgba(0,0,0,.25); }
.ch-row.res .ch-bub { width:min(400px, 86%); padding:5px 5px 8px; }
.ch-row.res .ch-who, .ch-row.res .ch-txt, .ch-row.res .ch-res-k, .ch-row.res .ch-res-clave, .ch-row.res .ch-det, .ch-row.res .ch-res-pie, .ch-row.res .ch-reacts { margin-left:7px; margin-right:7px; }
.ch-who { display:flex; align-items:center; gap:6px; margin-bottom:2px; font-size:12.8px; }
.ch-who b { font-weight:600; }
.ch-ver { display:inline-flex; color:var(--ch-ch); }
.ch-chip { padding:0 5px 1px; border-radius:4px; border:1px solid var(--ch-line2); font:600 9px/1.5 var(--ch-mono); font-style:normal; letter-spacing:.08em; text-transform:uppercase; color:var(--ch-ch); }
.ch-chip--cr { background:var(--ch-ch); border-color:var(--ch-ch); color:#0b1629; }
.ch-txt b { font-weight:600; }
.ch-txt a { color:var(--ch-ch); text-underline-offset:2px; }
.ch-time { float:right; margin:7px 0 -5px 12px; font:500 10px/1 var(--ch-mono); color:var(--ch-ch); white-space:nowrap; }
.ch-bub.borrado .ch-txt i { font-style:italic; }
.ch-quote { display:grid; gap:1px; margin:2px 0 6px; padding:6px 10px; border-left:3px solid var(--ch-ch); border-radius:6px; background:rgba(8,18,35,.45); font-size:12.8px; cursor:pointer; }
.ch-quote b { color:var(--ch-ch); font-weight:600; font-size:12.3px; }
.ch-quote span { overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }

/* resumen oficial */
.ch-card { display:block; width:100%; padding:0; border:0; border-radius:10px; overflow:hidden; cursor:zoom-in; aspect-ratio:1080/1350;
  background:linear-gradient(110deg, #0b1629 30%, #13223d 50%, #0b1629 70%) 0 0/250% 100%; animation:chSh 1.4s linear infinite; }
.ch-card.on { animation:none; background:#0b1629; }
.ch-card img { display:block; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .4s var(--ch-ease); }
.ch-card.on img { opacity:1; }
@keyframes chSh { to { background-position:-250% 0; } }
.ch-res-clave { margin:4px 0 2px; font:400 19px/1.3 var(--ch-serif); color:var(--ch-ink); text-wrap:balance; }
.ch-txt .wa-mono { margin:6px 0 4px; padding:9px 11px; border-radius:8px; background:rgba(8,18,35,.55); box-shadow:inset 0 0 0 1px var(--ch-line); font:500 12.2px/1.6 var(--ch-mono); color:var(--ch-ink); white-space:pre; overflow-x:auto; }
.ch-txt .wa-cita { margin:4px 0; padding:2px 0 2px 10px; border-left:3px solid var(--ch-ch); }
.ch-txt .wa-lista { margin:2px 0 4px; padding-left:18px; }
.ch-txt .wa-lista li { margin:2px 0; }
.ch-txt .wa-lista li::marker { color:var(--ch-ch); }
.ch-txt .wa-sep { display:block; height:8px; }
.ch-res-k { margin-top:10px; font:500 10px var(--ch-mono); letter-spacing:.16em; text-transform:uppercase; color:var(--ch-ch); }
.ch-row.res .ch-txt { margin-top:4px; }
.ch-det { margin-top:6px; border-top:1px solid var(--ch-line); }
.ch-det summary { display:flex; align-items:center; gap:6px; padding:8px 0 2px; list-style:none; cursor:pointer; font-size:12.8px; font-weight:500; color:var(--ch-ch); }
.ch-det summary::-webkit-details-marker { display:none; }
.ch-det summary svg { transition:transform .25s var(--ch-ease); }
.ch-det[open] summary svg { transform:rotate(180deg); }
.ch-det .ch-txt { padding-top:6px; font-size:13.6px; }
.ch-res-pie { display:flex; align-items:center; justify-content:space-between; margin-top:8px; }
.ch-res-pie .ch-time { float:none; margin:0; }
.ch-share { display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border-radius:16px; border:1px solid var(--ch-line2); background:none; font-size:12.5px; font-weight:500; color:var(--ch-ch) !important; cursor:pointer; transition:background .2s, border-color .2s; }
@media (hover:hover) { .ch-share:hover { background:rgba(233,211,160,.08); border-color:var(--ch-ch); } }

/* reacciones */
.ch-reacts { display:flex; flex-wrap:wrap; gap:4px; margin:6px 0 0; }
.ch-react { display:inline-flex; align-items:center; gap:4px; padding:2px 8px; border-radius:12px; border:1px solid var(--ch-line); background:rgba(8,18,35,.5); font-size:13px; cursor:pointer; transition:transform .15s var(--ch-ease), border-color .2s; }
.ch-react b { font:500 11px var(--ch-mono); }
.ch-react.mia { border-color:var(--ch-ch); background:rgba(233,211,160,.12); }
.ch-react:active { transform:scale(.94); }

/* acciones del mensaje */
.ch-tools { position:absolute; top:-14px; right:8px; display:flex; align-items:center; gap:2px; padding:3px; border-radius:18px; background:#0d1a31; box-shadow:0 0 0 1px var(--ch-line2), 0 8px 24px -8px rgba(0,0,0,.6);
  opacity:0; transform:translateY(4px) scale(.96); pointer-events:none; transition:opacity .16s, transform .2s var(--ch-ease); z-index:2; }
.ch-tools > button { display:grid; place-items:center; min-width:28px; height:28px; padding:0 6px; border:0; border-radius:14px; background:none; cursor:pointer; color:var(--ch-ink); font-size:12px; transition:background .15s; }
.ch-tools > button:hover { background:rgba(233,211,160,.1); }
.ch-tools > button.confirmar { color:var(--ch-dn); font-weight:600; }
.ch-emojis { display:none; gap:2px; }
.ch-emojis button { border:0; background:none; padding:2px 4px; font-size:17px; cursor:pointer; border-radius:10px; transition:transform .15s var(--ch-ease); }
.ch-emojis button:hover { transform:scale(1.2); }
.ch-row.emo .ch-emojis { display:flex; }
.ch-row.emo .ch-tools > button { display:none; }
.ch-row.sel .ch-tools, .ch-row.emo .ch-tools { opacity:1; transform:none; pointer-events:auto; }
@media (hover:hover) and (pointer:fine) { .ch-row:hover .ch-tools { opacity:1; transform:none; pointer-events:auto; } }

.ch-nuevos { position:absolute; left:50%; bottom:14px; display:inline-flex; align-items:center; gap:6px; padding:7px 14px; transform:translateX(-50%); border:1px solid var(--ch-ch); border-radius:18px; background:#0d1a31; color:var(--ch-ch) !important; font-size:12.5px; font-weight:500; cursor:pointer; box-shadow:0 10px 30px -10px rgba(0,0,0,.7); animation:chIn .3s var(--ch-ease); }
.ch-nuevos[hidden] { display:none; }

/* escribir */
.ch-comp { display:flex; align-items:flex-end; gap:10px; padding:12px 18px 14px; border-top:1px solid var(--ch-line); background:var(--ch-panel); }
.ch-ta { flex:1; min-height:44px; max-height:140px; resize:none; padding:11px 18px; border:1px solid var(--ch-line2); border-radius:22px; background:#0a1528; color:var(--ch-ink); font:400 14.5px/1.45 var(--ch-sans); outline:none; transition:border-color .2s, box-shadow .2s; }
.ch-ta::placeholder { color:var(--ch-ch); opacity:1; }
.ch-ta:focus { border-color:var(--ch-ch); box-shadow:0 0 0 3px rgba(233,211,160,.12); }
.ch-send { flex:none; display:grid; place-items:center; width:44px; height:44px; border:0; border-radius:50%; background:var(--ch-ch); color:#0b1629 !important; cursor:pointer; transition:transform .15s var(--ch-ease), background .2s; }
.ch-send:hover { background:var(--ch-ch2); }
.ch-send:active { transform:scale(.92); }
.ch-reply { display:flex; align-items:center; gap:10px; padding:10px 18px 0; background:var(--ch-panel); border-top:1px solid var(--ch-line); }
.ch-reply + .ch-comp { border-top:0; }
.ch-reply div { flex:1; display:grid; gap:1px; min-width:0; padding:6px 12px; border-left:3px solid var(--ch-ch); border-radius:6px; background:rgba(8,18,35,.5); font-size:12.8px; }
.ch-reply b { color:var(--ch-ch); font-size:12.3px; }
.ch-reply span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ch-reply button { border:0; background:none; cursor:pointer; color:var(--ch-ch); padding:4px; }
.ch-login { display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap; padding:14px 18px; border-top:1px solid var(--ch-line); background:var(--ch-panel); font-size:13.5px; }
.ch-toast { position:absolute; left:50%; bottom:84px; max-width:90%; padding:8px 14px; transform:translate(-50%, 8px); border-radius:10px; background:#0d1a31; box-shadow:0 0 0 1px var(--ch-line2); font-size:12.8px; opacity:0; pointer-events:none; transition:opacity .2s, transform .25s var(--ch-ease); }
.ch-toast.on { opacity:1; transform:translate(-50%, 0); }

.ch-btn { padding:9px 18px; border-radius:22px; border:1px solid var(--ch-line2); background:none; font-size:13.5px; font-weight:500; cursor:pointer; transition:background .2s, transform .15s var(--ch-ease); }
.ch-btn--gold { border-color:var(--ch-ch); background:var(--ch-ch); color:#0b1629 !important; }
.ch-btn--gold:hover { background:var(--ch-ch2); }
.ch-btn:active { transform:scale(.97); }

/* Pro bloqueado */
.ch-locked { position:relative; flex:1; min-height:0; overflow:hidden; display:grid; place-items:center; }
.ch-locked-bg { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; gap:14px; padding:28px; filter:blur(5px); opacity:.55; }
.ch-fake { display:grid; gap:6px; width:min(420px, 70%); padding:12px 14px; border-radius:14px 14px 14px 4px; background:var(--ch-bub); }
.ch-fake.mio { align-self:flex-end; border-radius:14px 14px 4px 14px; background:rgba(233,211,160,.18); }
.ch-fake i { display:block; height:8px; border-radius:4px; background:rgba(233,211,160,.25); }
.ch-locked-card { position:relative; width:min(400px, calc(100% - 32px)); padding:30px 28px 26px; border-radius:16px; border:1px solid var(--ch-line2);
  background:linear-gradient(180deg, rgba(233,211,160,.08), rgba(233,211,160,0) 140px), #0b1629; box-shadow:0 30px 80px -30px rgba(0,0,0,.8); text-align:left; }
.ch-kick { font:500 10.5px var(--ch-mono); letter-spacing:.18em; text-transform:uppercase; color:var(--ch-ch); }
.ch-locked-card h3 { margin:8px 0 16px; font:400 26px/1.15 var(--ch-serif); color:var(--ch-ink); }
.ch-locked-card ul { list-style:none; margin:0 0 22px; padding:0; display:grid; gap:12px; }
.ch-locked-card li { display:grid; gap:2px; padding-left:16px; border-left:1px solid var(--ch-line2); font-size:13.3px; line-height:1.45; }
.ch-locked-card li b { font-weight:600; font-size:13.8px; }
.ch-locked-card .ch-btn { width:100%; }
.ch-locked-card .ch-btn + .ch-btn { margin-top:8px; }

/* tarjeta en grande */
.ch-lb { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; padding:24px; background:rgba(5,10,20,.88); backdrop-filter:blur(6px); cursor:zoom-out; animation:chFade .2s; }
.ch-lb[hidden] { display:none; }
.ch-lb img { max-width:min(92vw, 560px); max-height:88vh; border-radius:12px; box-shadow:0 30px 80px rgba(0,0,0,.6); }
.ch-lb-x { position:absolute; top:18px; right:18px; display:grid; place-items:center; width:40px; height:40px; border:1px solid rgba(233,211,160,.3); border-radius:50%; background:#0b1629; color:#e9d3a0; cursor:pointer; }
@keyframes chFade { from { opacity:0; } }

@media (prefers-reduced-motion:reduce) {
  .ch-row.entra, .ch-nuevos, .ch-lb { animation:none; }
  .ch-card { animation:none; }
  .ch-cargando i { animation:none; opacity:.8; }
}

/* celular: lista o conversación, como WhatsApp */
/* en la pestaña Chat, menos aire arriba: la pantalla es para la conversación */
.section-inversiones.pro-v-mesa { padding-top:20px; }
.section-inversiones.pro-v-mesa .pro-top { margin-bottom:14px; }

@media (max-width:820px) {
  .ch-app { grid-template-columns:1fr; min-height:520px; border-radius:14px; }
  .ch-app[data-vista="chat"] .ch-side { display:none; }
  .ch-app[data-vista="lista"] .ch-main { display:none; }
  .ch-back { display:grid; }
  .ch-feed-in { padding:12px 10px 16px; }
  .ch-bub { max-width:86%; }
  .ch-head { padding:10px 12px; }
  .ch-pin { padding:8px 14px; }
  .ch-hoy { padding:8px 14px; }
  .ch-hoy-k { display:none; }
  .ch-comp { padding:10px 10px 12px; }
}

/* ─── Tipografía con cuerpo ───────────────────────────────────────────────────
   Nada fino ni chico en lo que se lee: lo secundario sube de tamaño y pasa a peso medio, las
   etiquetas en mono a semibold, y ningún texto con opacidad (se ve gris). Va al final: gana. */
.ch-app { -webkit-font-smoothing:auto; -moz-osx-font-smoothing:auto; text-rendering:optimizeLegibility; }

/* lista de chats */
.ch-side-h h3 { font-size:24px; }
.ch-item-t b { font-size:15px; font-weight:600; }
.ch-item--sub .ch-item-t b { font-size:14.5px; }
.ch-item-t time { font:600 11px var(--ch-mono); }
.ch-item-p { font-size:13.5px; font-weight:500; }
.ch-tag { font-size:10px; font-weight:600; }
.ch-lock { font-weight:500; }
.ch-grupo-h b { font-size:19px; }
.ch-next b { font-size:21px; }
.ch-next-t { font-size:13.5px; font-weight:500; }
.ch-next-t em { font:600 12.5px var(--ch-mono); }
.ch-kick { font-weight:600; font-size:11px; }
.ch-wa b { font-size:14px; }
.ch-wa span { font-size:13px; font-weight:500; }
.ch-wa-btn { font-size:13px; font-weight:600; }

/* encabezado, fijado y guía */
.ch-head-t b { font-size:16.5px; }
.ch-head-t span { font-size:13px; font-weight:500; }
.ch-head-t small { font-size:10px; font-weight:600; }
.ch-pin { font-size:13px; font-weight:500; }
.ch-hoy-k { font-size:10.5px; font-weight:600; }
.ch-hoy-b { font-size:13.5px; font-weight:600; }
.ch-hoy-b time { font:600 11.5px var(--ch-mono); }
.ch-dia span { font:600 11px var(--ch-mono); }
.ch-mas-arriba { font-weight:600; font-size:11px; }

/* mensajes */
.ch-bub { font-size:15px; line-height:1.55; }
.ch-who { font-size:13.5px; }
.ch-chip { font-size:9.5px; }
.ch-time { font:600 10.5px/1 var(--ch-mono); }
.ch-quote { font-size:13.5px; }
.ch-quote b { font-size:13px; }
.ch-res-clave { font-size:21px; }
.ch-res-k { font:600 10.5px var(--ch-mono); }
.ch-txt .wa-mono { font:500 13px/1.6 var(--ch-mono); }
.ch-det summary { font-size:13.5px; font-weight:600; }
.ch-det .ch-txt { font-size:14.5px; }
.ch-share { font-size:13px; font-weight:600; }
.ch-react { font-size:14px; }
.ch-react b { font:600 12px var(--ch-mono); }
.ch-tools > button { font-size:13px; font-weight:600; }
.ch-nuevos { font-size:13.5px; font-weight:600; }

/* escribir y avisos */
.ch-ta { font-size:15.5px; }
.ch-reply div { font-size:13.5px; }
.ch-reply b { font-size:13px; }
.ch-login { font-size:14.5px; font-weight:500; }
.ch-toast { font-size:13.5px; font-weight:500; }
.ch-btn { font-size:14.5px; font-weight:600; }

/* invitación a Pro */
.ch-locked-card h3 { font-size:30px; }
.ch-locked-card li { font-size:14.5px; }
.ch-locked-card li b { font-size:15px; }
