/* Bloque 23 — Recorrido del negocio (docs/BLOQUE23_SEGUIMIENTO.md).
   Seguimiento único por persona, tarjetas que se tocan, expediente único,
   tarjetas con WhatsApp + una acción + ⋯, Mentor que se mueve.
   Solo tokens (--b4-*, --surface, --ink…): Noche y Día solos. 390 / 768 / 1280. */

/* ---------- Tarjetas que se tocan ---------- */
.b23-tocable{cursor:pointer;}
.b23-tocable:focus-visible{outline:2px solid var(--accent); outline-offset:3px;}

/* ---------- Chip «Próximo: lun 6 oct · …» ---------- */
.b23-prox{display:inline-flex; align-items:center; gap:6px; max-width:100%; padding:3px 10px; border-radius:999px;
  background:var(--b4-az-bg); color:var(--b4-az-ink); font-size:.78rem; font-weight:700; line-height:1.3;}
.b23-prox .ico-set{width:14px; height:14px; flex:none;}
.b23-prox-t{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.b23-prox.hoy{background:var(--b4-am-bg); color:var(--b4-am-ink);}
.b23-prox.vencido{background:var(--b4-ro-bg); color:var(--b4-ro-ink);}
.b23-prox.vacio{background:var(--surface-2); color:var(--ink-soft); font-weight:600;}
.b4-cc .b23-prox{margin-top:6px;}

/* ---------- Hoja «Anotar seguimiento» ---------- */
.b9-dlg.b23-hoja{width:min(560px, 100%);}
.b23-hoja .b9-dlg-cuerpo{display:flex; flex-direction:column; gap:14px;}
.b23-quien{display:flex; align-items:center; gap:12px;}
.b23-av{flex:none; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; font-weight:800; font-size:.95rem;
  background:var(--b4-az-bg); color:var(--b4-az-ink);}
.b23-quien-tx{min-width:0; flex:1; display:flex; flex-direction:column; gap:4px; align-items:flex-start;}
.b23-quien-n{font-size:1.05rem; line-height:1.2;}
.b23-paso{display:flex; flex-direction:column; gap:10px; padding:12px; border:1px solid var(--line); border-radius:var(--b4-r, 16px); background:var(--surface);}
.b23-paso-cab{display:flex; align-items:center; gap:8px;}
.b23-paso-n{width:24px; height:24px; border-radius:50%; display:grid; place-items:center; font-size:.8rem; font-weight:800; background:var(--accent); color:var(--accent-ink, #fff);}
.b23-chips{display:flex; flex-wrap:wrap; gap:6px;}
.b23-chip{display:inline-flex; align-items:center; gap:6px; min-height:40px; border-radius:999px;}
.b23-chip .ico-set{width:16px; height:16px;}
.b23-res .b23-chip{min-height:34px; font-size:.82rem;}
.b23-input{width:100%; min-height:44px; padding:8px 12px; border:1px solid var(--line-strong); border-radius:12px; background:var(--bg); color:var(--ink); font:inherit;}
.b23-fila{display:grid; grid-template-columns:minmax(0, 160px) minmax(0, 1fr); gap:8px;}
.b23-sug{align-self:flex-start; display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:999px; border:1px dashed var(--line-strong);
  background:transparent; color:var(--ink-soft); font:inherit; font-size:.8rem; cursor:pointer; max-width:100%;}
.b23-sug span{overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.b23-sug .ico-set{width:14px; height:14px; flex:none;}
@media (max-width:480px){ .b23-fila{grid-template-columns:1fr;} }

/* ---------- Ficha de cliente: bloque Seguimiento ---------- */
.b23-seg{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:4px 0 10px; padding:12px;
  border-radius:var(--b4-r, 16px); border:1px solid var(--line); background:var(--surface-2);}
.b23-seg:empty{display:none;}
.b23-seg-cab{display:flex; align-items:center; gap:10px; min-width:0; flex:1;}
.b23-seg-ico{flex:none; width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:var(--b4-az-bg); color:var(--b4-az-ink);}
.b23-seg-ico .ico-set{width:20px; height:20px;}
.b23-seg-tx{display:flex; flex-direction:column; min-width:0;}
.b23-seg-k{font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-soft);}
.b23-seg-f{font-size:1.02rem;}
.b23-seg-f.vencido{color:var(--b4-ro-ink);}
.b23-seg-a{font-size:.85rem; color:var(--ink-soft); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.b23-anotar-btn{display:inline-flex; align-items:center; gap:8px;}
.b23-anotar-btn .ico-set{width:18px; height:18px;}
@media (max-width:480px){ .b23-anotar-btn{width:100%; justify-content:center;} }

/* Historial: cambios automáticos plegados */
.b23-sis{margin-top:6px;}
.b23-sis-tg{display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border-radius:999px; border:1px solid var(--line); background:transparent;
  color:var(--ink-soft); font:inherit; font-size:.8rem; cursor:pointer;}
.b23-sis-tg .ico-set{width:14px; height:14px;}
.b23-sis-l{margin-top:6px;}

/* Formularios de tablero: «Historial (N)» */
.b23-historial{display:flex; align-items:center; gap:8px; width:100%; margin:6px 0 2px; padding:10px 14px; border-radius:12px; border:1px solid var(--line);
  background:var(--surface-2); color:var(--ink); font:inherit; font-weight:600; cursor:pointer; text-align:left;}
.b23-historial span{flex:1;}
.b23-historial .ico-set{width:18px; height:18px;}

/* ---------- Panel de la propiedad: propietario y cierre ---------- */
.b23-pcab{display:flex; flex-direction:column; gap:8px;}
.b23-prop{display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:var(--b4-r, 16px); border:1px solid var(--line); background:var(--surface); box-shadow:var(--shadow);}
.b23-prop-tx{flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; align-items:flex-start;}
.b23-prop-acc{display:flex; gap:6px; flex:none;}
.b23-cierre{display:flex; align-items:center; gap:10px; width:100%; padding:10px 14px; border-radius:12px; border:0; font:inherit; font-weight:700; text-align:left;}
.b23-cierre .ico-set{width:18px; height:18px; flex:none;}
.b23-cierre.t-az{background:var(--b4-az-bg); color:var(--b4-az-ink); cursor:pointer;}
.b23-cierre.t-ok{background:var(--b4-ok-bg); color:var(--b4-ok-ink);}
@media (max-width:480px){ .b23-prop{flex-wrap:wrap;} .b23-prop-acc{width:100%; justify-content:center;} }

/* ---------- Fase 2 · Tarjetas: WhatsApp + una acción + ⋯ ---------- */
.b23-acc{justify-content:center;}
.b23-mas .ico-set{width:20px; height:20px;}
.b23-menu{min-width:220px; max-width:min(320px, calc(100vw - 16px));}
.b23-menu-i{display:flex; align-items:center; gap:10px; width:100%; text-decoration:none; color:var(--ink);}
.b23-menu-ico{flex:none; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:var(--surface-2); color:var(--ink-soft);}
.b23-menu-ico .ico-set{width:16px; height:16px;}
.b23-menu-i.peligro{color:var(--b4-ro-ink);}
.b23-menu-i.peligro .b23-menu-ico{background:var(--b4-ro-bg); color:var(--b4-ro-ink);}
.b23-menu-i.confirmando{background:var(--b4-ro-bg); font-weight:700;}

/* Expediente x/14 en la tarjeta */
.b23-exp-barra{font-weight:600;}

/* Captaciones: «N ya en Cartera · ver» al pie de Captado */
.b23-en-cartera{display:flex; align-items:center; justify-content:center; gap:8px; width:100%; margin-top:8px; padding:10px 12px; border-radius:12px;
  border:1px dashed var(--line-strong); background:transparent; color:var(--ink-soft); font:inherit; font-weight:600; cursor:pointer;}
.b23-en-cartera .ico-set{width:18px; height:18px;}

/* En notaría: pasos que vienen del expediente */
.b23-del-exp, .b23-actualizar{margin-left:auto; flex:none; padding:2px 8px; border-radius:999px; font-size:.72rem; font-weight:700; white-space:nowrap;}
.b23-del-exp{background:var(--b4-ok-bg); color:var(--b4-ok-ink);}
.b23-actualizar{background:var(--b4-am-bg); color:var(--b4-am-ink);}

/* ---------- Fase 2 · Panel: pestañas, foto con acciones, estado editable ---------- */
.b23-tabs{display:flex; justify-content:center; gap:6px; flex-wrap:wrap; position:sticky; top:-16px; z-index:3; padding:8px 0; background:var(--bg);}
.b23-tab{display:inline-flex; align-items:center; gap:6px; min-height:40px; padding:6px 14px; border-radius:999px; border:1px solid var(--line);
  background:var(--surface); color:var(--ink-soft); font:inherit; font-weight:700; cursor:pointer;}
.b23-tab .ico-set{width:16px; height:16px;}
.b23-tab.on{background:var(--accent); border-color:var(--accent); color:var(--accent-ink, #fff);}
.b23-tab:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.b23-pan[hidden]{display:none !important;}
.b23-foto{position:relative;}
.b23-foto-acc{position:absolute; right:6px; bottom:6px; z-index:2; display:flex; gap:6px;}
.b23-estado{margin:0;}
@media (max-width:480px){
  .b23-tab span{display:none;}
  .b23-tab{padding:6px 12px;}
  .b23-tab.on span{display:inline;}
}
.b23-foto-acc .b15-foto-btn{width:44px; height:44px; min-width:44px; min-height:44px;}

/* ---------- Fase 3 · En notaría: comprador o inquilino ---------- */
.b23-comprador{display:flex; align-items:center; gap:10px; margin:0 0 10px; padding:10px 12px; border-radius:12px; border:1px dashed var(--line-strong); background:var(--surface-2);}
.b23-comprador .b23-av{width:36px; height:36px; font-size:.85rem;}
.b23-comprador-tx{flex:1; min-width:0; display:flex; flex-direction:column;}
.b23-comprador-tx strong{overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.b23-comprador-b{flex:none;}
.b23-hoja .b23-input + .b23-input{margin-top:8px;}

/* Alquiler: rentas revisadas */
.b23-rentas{display:flex; flex-wrap:wrap; gap:6px; margin:6px 0;}
.b23-rentas:empty{display:none;}
.b23-fg-info{display:flex; align-items:center; gap:6px;}

/* ---------- Fase 3 · Mentor: fase como chip y «Siguiente fase» ---------- */
.mt-fase-fila{margin-top:6px;}
.mt-ficha .mt-sig{position:absolute; right:8px; bottom:8px;}
.mt-ficha{position:relative;}
.mt-ficha.dragging{opacity:.5;}
.mt-fase.drag-over{outline:2px dashed var(--accent); outline-offset:3px; border-radius:16px;}

/* ---------- Fase 3 · Cumpleaños ---------- */
.ctc-cumple-lote{flex:none;}
.cumple-btn.pedido{background:var(--b4-am-bg); color:var(--b4-am-ink);}
.b23-cc-cumple{display:flex; align-items:center; gap:8px; margin-top:6px; flex-wrap:wrap;}
.b23-lote-l{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; max-height:240px; overflow:auto;}
.b23-lote-l label{display:flex; align-items:center; gap:10px; min-height:40px; padding:4px 8px; border-radius:10px; cursor:pointer;}
.b23-lote-l label.hecho{opacity:.55; text-decoration:line-through;}
.b23-lote-l input{width:20px; height:20px;}
.b23-pedido{margin-left:auto; color:var(--b4-am-ink); font-weight:700;}
.b23-lote .b9-dlg-pie{flex-wrap:wrap; justify-content:center;}
