/* Bloque 15 — Cartera fusionada con Inmovilla (foto de referencia en todas
   las fichas, «¿Es el mismo…?») y Clientes (importar de Brevo e Inmovilla,
   buscar duplicados). Se llama bloque16.css porque bloque14.css es de
   Beneficio y bloque15.css queda libre para otros bloques.
   Solo tokens (--b4-*, --surface, --ink…): cambian solos en Noche y Día. */

/* ---------- Foto de la tarjeta (todas) ---------- */
.card.b15-card{overflow:hidden;}
.card .b15-foto{
  position:relative; margin:-13px -14px 12px; aspect-ratio:16 / 9; overflow:hidden; background:var(--surface-2);
  border-radius:inherit; border-bottom-left-radius:0; border-bottom-right-radius:0;
}
.card .b15-foto img{position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; z-index:1;}
.card .b15-foto.sin-foto img{display:none;}
/* La foto rota de Inmovilla ya no deja hueco: se ve el marcador */
.inm-card .inm-foto.b15-foto.sin-foto{display:block;}
.b15-marcador{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  --b15-c:var(--b4-az); --b15-bg:var(--b4-az-bg); --b15-ink:var(--b4-az-ink);
  background:
    radial-gradient(120% 90% at 85% 10%, color-mix(in srgb, var(--b15-c) 30%, transparent) 0%, transparent 60%),
    radial-gradient(90% 80% at 10% 100%, color-mix(in srgb, var(--b15-c) 18%, transparent) 0%, transparent 65%),
    var(--b15-bg);
  color:var(--b15-ink);
}
.b15-m-ok{--b15-c:var(--b4-ok); --b15-bg:var(--b4-ok-bg); --b15-ink:var(--b4-ok-ink);}
.b15-m-am{--b15-c:var(--b4-am); --b15-bg:var(--b4-am-bg); --b15-ink:var(--b4-am-ink);}
.b15-m-mo{--b15-c:var(--b4-mo); --b15-bg:var(--b4-mo-bg); --b15-ink:var(--b4-mo-ink);}
.b15-marcador-ico{
  width:64px; height:64px; border-radius:50%; display:grid; place-items:center;
  background:var(--surface); color:var(--b15-ink); box-shadow:0 10px 30px -14px color-mix(in srgb, var(--b15-c) 80%, transparent);
  border:2px solid color-mix(in srgb, var(--b15-c) 45%, transparent);
}
.b15-marcador-ico .ico-set{width:32px; height:32px; stroke-width:1.5;}
.b15-marcador-t{font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase;}
.b15-foto-acc{position:absolute; right:10px; bottom:10px; display:flex; gap:8px; z-index:2;}
.b15-foto-btn{
  width:44px; height:44px; border-radius:50%; display:grid; place-items:center; padding:0; cursor:pointer;
  border:1px solid var(--line-strong); background:var(--surface); color:var(--ink); box-shadow:var(--shadow);
}
.b15-foto-btn .ico-set{width:20px; height:20px;}
.b15-foto-btn:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.b15-foto-btn.b15-quitar{color:var(--b4-ro-ink);}
@media (prefers-reduced-motion:no-preference){
  .card .b15-foto img{transition:transform .35s cubic-bezier(.2,.7,.2,1);}
  .card.b15-card:hover .b15-foto img{transform:scale(1.03);}
  .b15-foto-btn{transition:transform .15s cubic-bezier(.2,.7,.2,1);}
  .b15-foto-btn:hover{transform:translateY(-2px) scale(1.06);}
  .b15-foto-btn:active{transform:scale(.92);}
}

/* ---------- «¿Es el mismo que …?» (confianza media) ---------- */
.b15-sug{
  margin-top:10px; padding:10px 12px 12px; border-radius:16px;
  background:var(--b4-az-bg); border:1px solid var(--b4-az); color:var(--ink);
}
.b15-sug-t{display:flex; align-items:center; gap:10px; font-size:.84rem; line-height:1.35; min-width:0;}
.b15-sug-tx{min-width:0; overflow-wrap:anywhere; color:var(--b4-az-ink);}
.b15-sug-tx b{color:var(--ink);}
.b15-sug-mini{
  position:relative; flex:none; width:40px; height:40px; border-radius:50%; overflow:hidden; display:grid; place-items:center;
  background:var(--surface); color:var(--b4-az-ink); border:1px solid var(--b4-az);
}
.b15-sug-mini img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.b15-sug-mini.sin-foto img{display:none;}
.b15-sug-mini .ico-set{width:20px; height:20px;}
.b15-sug-b{display:flex; justify-content:center; gap:22px; margin-top:10px;}
.b15-sug-b .inm-redondo{flex:0 1 auto;}
.b15-sug-si .inm-redondo-c{background:var(--b4-ok-bg); border-color:var(--b4-ok); color:var(--b4-ok-ink);}
.b15-sug-no .inm-redondo-c{background:var(--surface); border-color:var(--line-strong); color:var(--ink);}

/* ---------- «Fusionada con Inmovilla · Separar» ---------- */
.b15-fusionada{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:8px;}
.b15-fusionada-chip{display:inline-flex; align-items:center; gap:6px; padding:5px 10px; border-radius:999px; font-size:.74rem; font-weight:700;
  background:var(--b4-ok-bg); color:var(--b4-ok-ink);}
.b15-fusionada-chip .ico-set{width:15px; height:15px;}
.b15-separar{border:0; background:none; color:var(--ink-soft); font:inherit; font-size:.76rem; font-weight:700; text-decoration:underline; cursor:pointer; padding:10px 4px; min-height:44px;}
.b15-separar:focus-visible{outline:2px solid var(--accent); outline-offset:2px; border-radius:8px;}

/* ---------- Clientes: botón «Buscar duplicados» con contador ---------- */
.b15-btn-dup{position:relative; width:44px; height:44px; min-width:44px; border-radius:50%;}
.b15-btn-dup .ico-set{width:20px; height:20px;}
.b15-btn-dup-n{
  position:absolute; top:-4px; right:-4px; min-width:20px; height:20px; padding:0 5px; box-sizing:border-box; border-radius:999px;
  display:grid; place-items:center; font-size:.68rem; font-weight:800; background:var(--b4-am-bg); color:var(--b4-am-ink); box-shadow:0 0 0 1px var(--b4-am);
  font-variant-numeric:tabular-nums; border:2px solid var(--surface);
}
.b15-btn-dup-n[hidden]{display:none;}
.b15-menu-sep{height:1px; background:var(--line); margin:4px 0;}
.dropdown-item.b15-item[hidden]{display:none;}

/* ---------- Ventanas de importar, duplicados y ficha ---------- */
.b15-dlg .b9-dlg-cuerpo{gap:16px;}
.b15-paso{display:flex; flex-direction:column; align-items:center; gap:16px; padding:6px 0;}
.b15-paso-cab{display:flex; align-items:center; gap:8px;}
.b15-paso-t{margin:0; font-weight:700; color:var(--ink-soft); font-size:.9rem;}
.b15-lista{display:flex; flex-direction:column; gap:6px; width:min(320px, 100%); font-size:.8rem; font-weight:700; color:var(--ink-soft);}
.b15-lista input{min-height:44px; border-radius:14px; border:1px solid var(--line-strong); background:var(--bg); color:var(--ink); padding:0 14px; font:inherit; font-size:1rem;}
.b15-elegir{appearance:none; border:0; background:none; color:var(--ink); cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:10px; font:inherit; padding:4px;}
.b15-elegir-c{width:96px; height:96px; border-radius:50%; display:grid; place-items:center; background:var(--accent); color:var(--accent-ink);
  box-shadow:0 18px 40px -18px var(--accent);}
.b15-elegir-c .ico-set{width:40px; height:40px; stroke-width:1.6;}
.b15-elegir-t{font-weight:800;}
.b15-elegir:focus-visible .b15-elegir-c{outline:3px solid var(--accent); outline-offset:3px;}
@media (prefers-reduced-motion:no-preference){
  .b15-elegir-c{transition:transform .15s cubic-bezier(.2,.7,.2,1);}
  .b15-elegir:hover .b15-elegir-c{transform:translateY(-2px) scale(1.04);}
  .b15-elegir:active .b15-elegir-c{transform:scale(.94);}
}
.b15-error{margin:0; padding:10px 14px; border-radius:14px; background:var(--b4-ro-bg); color:var(--b4-ro-ink); font-weight:700; font-size:.86rem; text-align:center;}
.b15-error[hidden]{display:none;}
.b15-nota{margin:0; color:var(--ink-soft); font-size:.82rem; text-align:center;}
.b15-sub{margin:0; font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft);}
.b15-deshacer-ultima .ico-set, .b15-deshacer .ico-set{width:18px; height:18px;}

/* Contadores redondos: nuevos / fusionados / dudosos */
.b15-conts{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px;}
.b15-cont{display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center; min-width:0;
  --b15-c:var(--b4-az); --b15-bg:var(--b4-az-bg); --b15-ink:var(--b4-az-ink);}
.b15-c-ok{--b15-c:var(--b4-ok); --b15-bg:var(--b4-ok-bg); --b15-ink:var(--b4-ok-ink);}
.b15-c-am{--b15-c:var(--b4-am); --b15-bg:var(--b4-am-bg); --b15-ink:var(--b4-am-ink);}
.b15-cont-c{width:48px; height:48px; border-radius:50%; display:grid; place-items:center; background:var(--b15-bg); color:var(--b15-ink); border:1.5px solid var(--b15-c);}
.b15-cont-c .ico-set{width:22px; height:22px;}
.b15-cont-n{font-size:1.9rem; line-height:1.1; font-weight:800; font-variant-numeric:tabular-nums; color:var(--b15-ink);}
.b15-cont-t{font-size:.76rem; font-weight:700; color:var(--ink-soft);}

/* Dudosos y pares de duplicados */
.b15-dudosos, .b15-pares{display:flex; flex-direction:column; gap:10px; min-width:0;}
.b15-dudoso, .b15-par{border:1px solid var(--line); border-radius:18px; padding:10px 12px; background:var(--bg); min-width:0;}
.b15-dudoso{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.b15-dudoso-tx{display:flex; flex-direction:column; gap:2px; flex:1 1 200px; min-width:0;}
.b15-dudoso-tx strong, .b15-dudoso-tx span{overflow-wrap:anywhere;}
.b15-dudoso-tx span{font-size:.8rem; color:var(--ink-soft);}
.b15-dudoso-con{color:var(--b4-am-ink) !important; font-weight:700;}
.b15-seg{display:flex; gap:8px; margin-left:auto;}
.b15-seg-b{appearance:none; border:0; background:none; padding:0; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:3px; font:inherit; color:var(--ink);}
.b15-seg-c{width:44px; height:44px; border-radius:50%; display:grid; place-items:center; border:1.5px solid var(--line-strong); background:var(--surface);}
.b15-seg-c .ico-set{width:20px; height:20px;}
.b15-seg-t{font-size:.7rem; font-weight:700;}
.b15-seg-b[aria-pressed="true"] .b15-seg-c{background:var(--b4-ok-bg); border-color:var(--b4-ok); color:var(--b4-ok-ink);}
.b15-seg-b.b15-aparte[aria-pressed="true"] .b15-seg-c{background:var(--b4-az-bg); border-color:var(--b4-az); color:var(--b4-az-ink);}
.b15-seg-b:focus-visible .b15-seg-c{outline:2px solid var(--accent); outline-offset:2px;}

.b15-par{display:flex; flex-direction:column; gap:10px;}
.b15-motivo{align-self:flex-start; padding:4px 10px; border-radius:999px; font-size:.72rem; font-weight:800; background:var(--b4-am-bg); color:var(--b4-am-ink);}
.b15-mot-email, .b15-mot-telefono{background:var(--b4-ok-bg); color:var(--b4-ok-ink);}
.b15-par-dos{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px;}
@media (max-width:560px){ .b15-par-dos{grid-template-columns:minmax(0, 1fr);} }
.b15-pers{display:flex; align-items:center; gap:10px; min-width:0;}
.b15-pers-av{flex:none; width:40px; height:40px; border-radius:50%; display:grid; place-items:center; font-weight:800; font-size:.86rem; background:var(--b4-az-bg); color:var(--b4-az-ink);}
.b15-pers-tx{display:flex; flex-direction:column; gap:2px; min-width:0;}
.b15-pers-tx strong, .b15-pers-tx > span{overflow-wrap:anywhere;}
.b15-pers-tx > span{font-size:.78rem; color:var(--ink-soft);}
.b15-pers-chips{display:flex; flex-wrap:wrap; gap:4px;}
.b15-par-b{display:flex; justify-content:center; gap:24px;}
.b15-par-b .inm-redondo{flex:0 1 auto;}
.b15-par-fusionar .inm-redondo-c{background:var(--b4-ok-bg); border-color:var(--b4-ok); color:var(--b4-ok-ink);}
.b15-campos{display:flex; flex-direction:column; gap:10px; padding:10px; border-radius:14px; background:var(--surface);}
.b15-campo{display:flex; flex-wrap:wrap; align-items:center; gap:8px;}
.b15-campo-l{font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); flex:0 0 100%;}
.b15-opc{min-height:44px; padding:0 14px; border-radius:999px; border:1.5px solid var(--line-strong); background:var(--bg); color:var(--ink); font:inherit; font-size:.86rem; cursor:pointer; max-width:100%; overflow-wrap:anywhere;}
.b15-opc[aria-checked="true"]{background:var(--b4-ok-bg); border-color:var(--b4-ok); color:var(--b4-ok-ink); font-weight:700;}
.b15-opc:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.b15-fusionar-ok{align-self:center; min-height:48px; padding:0 30px; border-radius:999px;}

/* Barra de progreso y final */
.b15-prog{height:14px; border-radius:999px; background:var(--b4-track, var(--surface-2)); overflow:hidden;}
.b15-prog-i{display:block; height:100%; width:0; border-radius:inherit; background:linear-gradient(90deg, var(--b4-az), var(--b4-ok));}
@media (prefers-reduced-motion:no-preference){ .b15-prog-i{transition:width .2s ease;} }
.b15-prog-t{margin:0; text-align:center; font-weight:800; font-variant-numeric:tabular-nums;}
.b15-hecho{display:flex; flex-direction:column; align-items:center; gap:10px; padding:10px 0; text-align:center;}
.b15-hecho-c{width:72px; height:72px; border-radius:50%; display:grid; place-items:center; background:var(--b4-ok-bg); color:var(--b4-ok-ink); border:2px solid var(--b4-ok);}
.b15-hecho-c .ico-set{width:34px; height:34px;}

/* Ficha de contacto suelto */
.b15-f{display:flex; flex-direction:column; gap:6px; font-size:.8rem; font-weight:700; color:var(--ink-soft);}
.b15-f input, .b15-f textarea{border-radius:14px; border:1px solid var(--line-strong); background:var(--bg); color:var(--ink); padding:10px 14px; font:inherit; font-size:1rem; min-height:44px; box-sizing:border-box; width:100%; resize:vertical;}
.b15-grupos{display:flex; justify-content:center; gap:18px; flex-wrap:wrap;}
.b15-grupo{appearance:none; border:0; background:none; padding:0; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:4px; font:inherit; color:var(--ink);
  --b15-c:var(--b4-az); --b15-bg:var(--b4-az-bg); --b15-ink:var(--b4-az-ink);}
.b15-g-am{--b15-c:var(--b4-am); --b15-bg:var(--b4-am-bg); --b15-ink:var(--b4-am-ink);}
.b15-g-ok{--b15-c:var(--b4-ok); --b15-bg:var(--b4-ok-bg); --b15-ink:var(--b4-ok-ink);}
.b15-grupo-c{width:52px; height:52px; border-radius:50%; display:grid; place-items:center; border:1.5px solid var(--line-strong); background:var(--surface); color:var(--ink-soft);}
.b15-grupo-c .ico-set{width:24px; height:24px;}
.b15-grupo-t{font-size:.74rem; font-weight:700;}
.b15-grupo[aria-checked="true"] .b15-grupo-c{background:var(--b15-bg); border-color:var(--b15-c); color:var(--b15-ink); box-shadow:0 0 0 3px color-mix(in srgb, var(--b15-c) 25%, transparent);}
.b15-grupo:focus-visible .b15-grupo-c{outline:2px solid var(--accent); outline-offset:2px;}

/* ===== Importar clientes (una pantalla: frase, chips, «Importar») ===== */
.b15-plantilla{margin:0; font-size:.8rem; color:var(--ink-soft); text-align:center;}
.b15-link{appearance:none; border:0; background:none; padding:12px 2px; min-height:44px; font:inherit; font-weight:700; color:var(--ink); text-decoration:underline; text-underline-offset:3px; cursor:pointer;}
.b15-link:focus-visible{outline:2px solid var(--accent); outline-offset:2px; border-radius:8px;}
.b15-link-mini{min-width:44px;}
.b15-dlg.b15-soltar{outline:3px dashed var(--accent); outline-offset:-10px;}
.b15-listos{margin:4px 0 0; text-align:center; font-size:1.15rem; font-weight:700; color:var(--ink); line-height:1.25; overflow-wrap:anywhere;}
.b15-listos-n{display:block; font-size:3rem; line-height:1.05; font-weight:800; font-variant-numeric:tabular-nums; color:var(--b4-ok-ink);}
.b15-chips{display:flex; flex-wrap:wrap; justify-content:center; gap:8px;}
.b15-chip{appearance:none; display:inline-flex; align-items:center; gap:8px; min-height:44px; max-width:100%; padding:6px 16px 6px 6px; border-radius:999px;
  border:1.5px solid var(--b15-c); background:var(--b15-bg); color:var(--b15-ink); font:inherit; font-size:.86rem; font-weight:700; cursor:pointer; text-align:left;
  --b15-c:var(--b4-az); --b15-bg:var(--b4-az-bg); --b15-ink:var(--b4-az-ink);}
.b15-chip.b15-c-ok{--b15-c:var(--b4-ok); --b15-bg:var(--b4-ok-bg); --b15-ink:var(--b4-ok-ink);}
.b15-chip.b15-c-am{--b15-c:var(--b4-am); --b15-bg:var(--b4-am-bg); --b15-ink:var(--b4-am-ink);}
.b15-chip.b15-c-ro{--b15-c:var(--b4-ro); --b15-bg:var(--b4-ro-bg); --b15-ink:var(--b4-ro-ink);}
.b15-chip-n{min-width:32px; height:32px; padding:0 8px; border-radius:999px; display:inline-grid; place-items:center; background:var(--surface); color:var(--b15-ink); font-variant-numeric:tabular-nums; flex:none;}
.b15-chip-t{overflow-wrap:anywhere; min-width:0;}
.b15-chip[aria-expanded="true"]{box-shadow:0 0 0 3px color-mix(in srgb, var(--b15-c) 30%, transparent);}
.b15-chip:disabled{cursor:default; opacity:.55;}
.b15-chip:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
@media (prefers-reduced-motion:no-preference){
  .b15-chip{transition:transform .15s cubic-bezier(.2,.7,.2,1), box-shadow .15s ease;}
  .b15-chip:not(:disabled):hover{transform:translateY(-1px);}
  .b15-chip:not(:disabled):active{transform:scale(.97);}
}
.b15-detalle{border-top:1px solid var(--line); padding-top:12px; max-height:min(46vh, 420px); overflow:auto; overscroll-behavior:contain; min-width:0;}
.b15-detalle[hidden]{display:none;}
.b15-lista-det{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px;}
.b15-li{display:flex; align-items:center; gap:10px; min-width:0; padding:6px 4px;}
.b15-li-av{flex:none; width:36px; height:36px; border-radius:50%; display:grid; place-items:center; font-weight:800; font-size:.8rem; background:var(--b4-az-bg); color:var(--b4-az-ink);}
.b15-li-tx{display:flex; flex-direction:column; gap:1px; min-width:0;}
.b15-li-tx strong, .b15-li-tx span{overflow-wrap:anywhere;}
.b15-li-tx span{font-size:.78rem; color:var(--ink-soft);}
.b15-descartes{display:flex; flex-direction:column; gap:10px;}
.b15-descarte{display:flex; flex-direction:column; gap:8px; border:1px solid var(--line); border-radius:18px; padding:10px 12px; background:var(--bg); min-width:0;}
.b15-descarte-cab{display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap;}
.b15-descarte .b15-motivo{background:var(--b4-ro-bg); color:var(--b4-ro-ink);}
.b15-descarte-n{font-size:.74rem; font-weight:700; color:var(--ink-soft);}
.b15-descarte-campos{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px;}
@media (max-width:560px){ .b15-descarte-campos{grid-template-columns:minmax(0, 1fr);} }
.b15-f.b15-mini{font-size:.72rem;}
.b15-f.b15-mini input{font-size:.95rem; padding:8px 12px;}
.b15-arreglar{align-self:flex-end; min-height:44px;}
.b15-desc-csv{margin-top:10px; display:inline-flex; align-items:center; gap:8px; min-height:44px;}
.b15-desc-csv .ico-set{width:18px; height:18px;}
.b15-dlg .b9-dlg-pie{display:flex; flex-wrap:wrap; gap:10px; justify-content:center;}
.b15-dlg .b9-dlg-pie:empty{display:none;}
.b15-importar{min-height:52px; min-width:min(260px, 100%); font-size:1.05rem; justify-content:center;}
p.b15-hecho{flex-direction:row; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px; margin:0; font-size:1.1rem;}
p.b15-hecho .b15-hecho-c{width:44px; height:44px;}
p.b15-hecho .b15-hecho-c .ico-set{width:22px; height:22px;}
.b15-hecho-sep{color:var(--ink-soft);}
