/* Ingresos › Gestión de Cobranzas · v0.1.0 (2026-10-24, Kevin)
   Reutiliza liquidaciones-v3.css y auditoria-previa.css (tabla estilo Cartolas, chips, píldoras, modal «Cómo funciona»).
   Texto grande por defecto (regla de Daniel). Responsive: celular, iPad y escritorio. */

.cb-page { --cb-verde: #1f6d43; --cb-rojo: #a8322a; --cb-ambar: #b06d00; --cb-azul: #0b5d78; --cb-gris: #607487; --cb-borde: #dfe5ec; }

/* Barra superior */
.cb-page .cb-barra { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px 22px; padding: 14px 18px; margin-bottom: 14px; }
.cb-page .cb-periodo { min-width: 210px; margin: 0; }
.cb-page .cb-yo { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; flex: 1 1 auto; font-size: 16px; }
.cb-page .cb-yo-tag { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: #1f2d3d; }
.cb-page .cb-yo-kpi { display: inline-flex; align-items: center; gap: 6px; background: #f4f7fa; border: 1px solid var(--cb-borde); border-radius: 999px; padding: 5px 12px; }
.cb-page .cb-btn-repartir { margin-left: auto; }
.cb-page .lq3-alert.is-warning { background: #fff7e6; border: 1px solid #f0c36d; color: #6b4600; border-radius: 10px; padding: 10px 14px; margin-bottom: 12px; font-size: 15px; }
.cb-page .lq3-alert.is-warning div + div { margin-top: 4px; }

/* Panel en vivo */
.cb-page .cb-vivo { display: grid; grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)); gap: 14px; padding: 4px 16px 16px; }
.cb-page .cb-gcard { text-align: left; width: 100%; background: #fff; border: 1px solid var(--cb-borde); border-radius: 14px; padding: 14px 16px; cursor: pointer;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .05); transition: box-shadow .15s, border-color .15s; font: inherit; color: inherit; }
.cb-page .cb-gcard:hover, .cb-page .cb-gcard:focus-visible { box-shadow: 0 4px 14px rgba(16, 24, 40, .10); border-color: #9cccf5; outline: none; }
.cb-page .cb-gcard.is-sel { border: 2px solid #1b84e7; padding: 13px 15px; }
.cb-page .cb-gcard-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 18px; margin-bottom: 10px; }
.cb-page .cb-gcard-est { font-size: 14px; color: var(--cb-gris); }
.cb-page .cb-gcard-ini { margin-left: auto; font-size: 13px; background: #eef4fb; color: var(--cb-azul); border-radius: 999px; padding: 2px 10px; }
.cb-page .cb-dot { width: 12px; height: 12px; border-radius: 50%; display: inline-block; background: #c9d3dc; flex: 0 0 auto; }
.cb-page .cb-dot.is-on { background: #22a35a; box-shadow: 0 0 0 0 rgba(34, 163, 90, .6); animation: cb-pulso 2s infinite; }
.cb-page .cb-dot.is-pausa { background: #f0b44d; }
@keyframes cb-pulso { 0% { box-shadow: 0 0 0 0 rgba(34, 163, 90, .55); } 70% { box-shadow: 0 0 0 9px rgba(34, 163, 90, 0); } 100% { box-shadow: 0 0 0 0 rgba(34, 163, 90, 0); } }
@media (prefers-reduced-motion: reduce) { .cb-page .cb-dot.is-on { animation: none; } }
.cb-page .cb-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.cb-page .cb-kpi { display: flex; gap: 10px; align-items: flex-start; background: #f8fafc; border-radius: 10px; padding: 8px 10px; }
.cb-page .cb-kpi > i { font-size: 22px; margin-top: 3px; }
.cb-page .cb-kpi strong { display: block; font-size: 22px; line-height: 1.1; color: #1f2d3d; }
.cb-page .cb-kpi span { display: block; font-size: 14px; color: #44546a; }
.cb-page .cb-kpi small { display: block; font-size: 12.5px; color: var(--cb-gris); }
.cb-page .cb-horas { display: flex; align-items: flex-end; gap: 4px; height: 70px; margin: 12px 0 6px; padding: 0 2px; }
.cb-page .cb-hbar { flex: 1 1 0; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; }
.cb-page .cb-hbar span { width: 100%; background: linear-gradient(180deg, #5fc3e4, #0b5d78); border-radius: 4px 4px 0 0; min-height: 0; }
.cb-page .cb-hbar small { font-size: 11px; color: var(--cb-gris); margin-top: 2px; }
.cb-page .cb-hbar.is-ahora small { color: #1b84e7; font-weight: 700; }
.cb-page .cb-mes { border-top: 1px dashed var(--cb-borde); padding-top: 8px; }
.cb-page .cb-mes-row { display: flex; align-items: baseline; gap: 8px; font-size: 15px; }
.cb-page .cb-mes-row b { font-size: 18px; }
.cb-page .cb-mes-row small { margin-left: auto; color: var(--cb-gris); }
.cb-page .cb-prog { height: 8px; background: #edf1f5; border-radius: 99px; overflow: hidden; margin: 5px 0 8px; }
.cb-page .cb-prog span { display: block; height: 100%; background: linear-gradient(90deg, #7fd19b, #1f6d43); }
.cb-page .cb-mes-chips { display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; }
.cb-page .cb-mes-chips span { background: #f1f4f7; border-radius: 99px; padding: 2px 10px; color: #44546a; }
.cb-page .cb-mes-chips .is-mal { background: #fdecea; color: var(--cb-rojo); font-weight: 600; }
.cb-page .cb-mes-chips .is-alto { background: #fff4de; color: var(--cb-ambar); font-weight: 600; }
.cb-page .cb-mes-chips .is-ok { background: #e7f6ed; color: var(--cb-verde); }
.cb-page .cb-vacio { padding: 14px; color: var(--cb-gris); font-size: 15px; }
.cb-page .cb-metrics { grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); }
.cb-page .cb-metrics .ap-metric { padding-right: 18px; }
.cb-page .cb-metrics .ap-metric-main strong { white-space: normal; overflow: visible; }

/* Tabla */
.cb-page .cb-n { display: inline-block; min-width: 22px; padding: 0 6px; border-radius: 99px; background: rgba(0, 0, 0, .08); font-size: 12.5px; margin-left: 3px; }
.cb-page table.cb-tabla td { vertical-align: top; }
.cb-page table.cb-tabla .cb-c-est { width: 150px; }
.cb-page table.cb-tabla .cb-c-deuda { width: 200px; text-align: right; }
.cb-page table.cb-tabla .cb-c-gest { width: 140px; }
.cb-page table.cb-tabla .cb-c-ult { width: 190px; }
.cb-page table.cb-tabla .cb-c-comp { width: 200px; }
.cb-page table.cb-tabla .cb-c-acc { width: 250px; }
.cb-page table.cb-tabla tr.is-sin td:first-child { box-shadow: inset 4px 0 0 #e05a4f; }
.cb-page table.cb-tabla tr.is-regularizada td { background: #f4fbf6; }
.cb-page .cb-estado { margin-top: 6px; font-size: 14px; }
.cb-page .cb-prio { display: inline-block; margin-top: 4px; font-size: 12.5px; border-radius: 6px; padding: 1px 8px; background: #eef2f6; color: #44546a; }
.cb-page .cb-prio.is-1 { background: #fdecea; color: var(--cb-rojo); }
.cb-page .cb-prio.is-2 { background: #fff4de; color: var(--cb-ambar); }
.cb-page .cb-id { display: inline-block; font-weight: 700; background: #eef4fb; color: var(--cb-azul); border-radius: 6px; padding: 0 7px; }
.cb-page .cb-prop-tit { font-size: 16px; }
.cb-page .cb-arr { margin-top: 3px; font-weight: 600; }
.cb-page .cb-monto { font-size: 18px; color: var(--cb-rojo); }
.cb-page .cb-serv { display: flex; flex-wrap: wrap; gap: 4px; justify-content: flex-end; margin-top: 4px; }
.cb-page .cb-serv span { font-size: 12.5px; background: #fff4de; color: #7a4d00; border-radius: 6px; padding: 1px 7px; }
.cb-page .cb-rec { font-size: 13px; color: var(--cb-verde); margin-top: 3px; }
.cb-page .cb-reasignar { font-size: 15px; height: auto; padding: 4px 8px; }
.cb-page .cb-sin { color: var(--cb-rojo); font-weight: 600; }
.cb-page .cb-ok { color: var(--cb-verde); font-weight: 600; }
.cb-page .cb-toca { color: var(--cb-rojo); }
.cb-page .cb-ult i { color: var(--cb-azul); }
.cb-page .cb-accs { display: flex; flex-wrap: wrap; gap: 6px; }
.cb-page .cb-acc { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--cb-borde); background: #fff; border-radius: 9px; padding: 6px 10px; font-size: 14px;
  color: #1f2d3d; cursor: pointer; text-decoration: none; line-height: 1.2; }
.cb-page .cb-acc:hover, .cb-page .cb-acc:focus-visible { background: #f4f7fa; border-color: #9cccf5; text-decoration: none; color: #1f2d3d; }
.cb-page .cb-acc.is-main { background: #0384ad; border-color: #0384ad; color: #fff; font-weight: 600; }
.cb-page .cb-acc.is-main:hover { background: #026b8d; color: #fff; }
.cb-page .cb-acc i { font-size: 16px; }
.cb-page .cb-mini { border: 1px solid var(--cb-borde); background: #fff; border-radius: 7px; padding: 3px 9px; font-size: 13px; cursor: pointer; margin: 4px 4px 0 0; }
.cb-page .cb-mini.is-ok { border-color: #7fd19b; color: var(--cb-verde); }
.cb-page .cb-mini.is-mal { border-color: #f2a4a4; color: var(--cb-rojo); }

/* Modales */
.cb-modal .modal-header h2 { font-size: 21px; font-weight: 800; margin: 0; display: flex; align-items: center; gap: 10px; }
.cb-modal .modal-body { font-size: 16px; }
.cb-modal .cb-ficha { background: #f6f9fc; border: 1px solid #dfe5ec; border-radius: 10px; padding: 10px 14px; margin-bottom: 14px; }
.cb-modal .cb-ficha-tit { font-size: 17px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.cb-modal .cb-ficha-row { display: flex; flex-wrap: wrap; gap: 4px 18px; margin-top: 6px; font-size: 15px; color: #44546a; }
.cb-modal .cb-id { display: inline-block; font-weight: 700; background: #eef4fb; color: #0b5d78; border-radius: 6px; padding: 0 7px; }
.cb-modal .cb-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
.cb-modal .cb-f { display: flex; flex-direction: column; gap: 5px; margin: 0; min-width: 0; border: 0; padding: 0; }
.cb-modal .cb-f > span, .cb-modal .cb-f legend, .cb-modal .cb-label { font-weight: 600; font-size: 15px; color: #1f2d3d; margin: 0; }
.cb-modal .cb-f-full { grid-column: 1 / -1; }
.cb-modal .form-control { font-size: 16px; height: auto; min-height: 42px; }
.cb-modal .cb-seg { display: flex; flex-wrap: wrap; gap: 6px; }
.cb-modal .cb-seg label { margin: 0; cursor: pointer; }
.cb-modal .cb-seg input { position: absolute; opacity: 0; pointer-events: none; }
.cb-modal .cb-seg span { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #cdd6df; border-radius: 9px; padding: 8px 12px; background: #fff; font-size: 15px; }
.cb-modal .cb-seg input:checked + span { background: #0384ad; border-color: #0384ad; color: #fff; }
.cb-modal .cb-seg input:focus-visible + span { outline: 2px solid #1b84e7; outline-offset: 2px; }
.cb-modal .cb-comp { display: none; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; background: #f1faf4; border: 1px solid #b7e4c7; border-radius: 10px; padding: 10px 12px; }
.cb-modal .cb-comp.is-on { display: grid; }
.cb-modal .cb-comp label { display: flex; flex-direction: column; gap: 5px; margin: 0; font-weight: 600; font-size: 15px; }
.cb-modal .cb-check { display: flex; flex-direction: row; gap: 8px; align-items: flex-start; font-weight: 400 !important; }
.cb-modal .cb-check input { margin-top: 5px; width: 18px; height: 18px; }
.cb-modal .cb-check span { font-weight: 400 !important; }
.cb-modal .cb-prueba { flex-direction: column; }
.cb-modal .cb-preview { border: 1px solid #cdd6df; border-radius: 8px; padding: 10px 14px; min-height: 180px; max-height: 360px; overflow: auto; background: #fff; font-size: 15px; }
.cb-modal .cb-preview:focus { outline: 2px solid #9cccf5; }
.cb-modal .cb-warn { color: #a8322a; }
.cb-modal .cb-wasapi-nota { background: #eef7f1; border: 1px solid #b7e4c7; border-radius: 10px; padding: 10px 12px; font-size: 15px; }
.cb-modal .cb-confirma { margin-top: 14px; border: 2px solid #f0b44d; background: #fffaf0; border-radius: 12px; padding: 12px 14px; }
.cb-modal .cb-conf-tit { font-weight: 700; font-size: 17px; margin-bottom: 8px; display: flex; gap: 8px; align-items: center; }
.cb-modal .cb-conf-row { display: flex; gap: 12px; font-size: 15px; margin-bottom: 4px; }
.cb-modal .cb-conf-row span { min-width: 80px; color: #607487; }
.cb-modal .cb-conf-txt { background: #fff; border: 1px solid #ecdcb8; border-radius: 8px; padding: 10px 12px; margin-top: 8px; font-size: 15px; max-height: 280px; overflow: auto; }
.cb-modal .cb-modal-msg { margin-top: 10px; font-size: 15px; }
.cb-modal .cb-modal-msg.is-mal { color: #a8322a; font-weight: 600; }
.cb-modal .cb-modal-msg.is-ok { color: #1f6d43; font-weight: 600; }
.cb-modal .modal-footer .pr-search-btn[disabled] { opacity: .55; cursor: not-allowed; }
.cb-modal .modal-footer .cb-btn-cancelar { background: linear-gradient(135deg, #78838e 0%, #49545f 100%); box-shadow: 0 6px 16px rgba(73, 84, 95, .30); }
.cb-modal .modal-footer .cb-btn-cancelar:hover,
.cb-modal .modal-footer .cb-btn-cancelar:focus { box-shadow: 0 10px 22px rgba(73, 84, 95, .38); }
.cb-modal .modal-footer .cb-btn-cancelar:active { box-shadow: 0 3px 8px rgba(73, 84, 95, .30); }
.cb-modal .modal-footer .cb-btn-cancelar:focus-visible { outline-color: #cdd6df; }
.cb-modal .cb-btn-cancelar .pr-search-btn-icon i,
.cb-modal .cb-btn-cancelar .pr-search-btn-icon svg { --fa-secondary-color: #e2e6ea; }


/* Historial */
.cb-modal .cb-timeline { display: flex; flex-direction: column; gap: 10px; }
.cb-modal .cb-ev { display: flex; gap: 12px; border: 1px solid #e3e8ee; border-radius: 10px; padding: 10px 12px; background: #fff; }
.cb-modal .cb-ev.is-cob { border-left: 4px solid #0384ad; }
.cb-modal .cb-ev.is-robot { opacity: .75; }
.cb-modal .cb-ev.is-anulada { opacity: .55; text-decoration: line-through; }
.cb-modal .cb-ev-ico { font-size: 20px; color: #0b5d78; width: 26px; text-align: center; flex: 0 0 auto; }
.cb-modal .cb-ev-body { flex: 1 1 auto; min-width: 0; font-size: 15px; }
.cb-modal .cb-ev-head { margin-bottom: 2px; }
.cb-modal .cb-ev-txt { margin-top: 4px; color: #44546a; overflow-wrap: anywhere; }
.cb-modal .cb-ok { color: #1f6d43; font-weight: 600; }

/* Aviso flotante */
.cb-toast { position: fixed; right: 20px; bottom: 90px; z-index: 2000; background: #1f6d43; color: #fff; border-radius: 10px; padding: 12px 16px; font-size: 16px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .2); transition: opacity .35s, transform .35s; }
.cb-toast.is-out { opacity: 0; transform: translateY(10px); }

/* Responsive */
@media (max-width: 1023px) {
  .cb-page .cb-vivo { grid-template-columns: 1fr; padding: 4px 10px 12px; }
  .cb-page table.cb-tabla .cb-c-deuda { text-align: left; }
  .cb-page .cb-serv { justify-content: flex-start; }
  .cb-page table.cb-tabla tr.is-sin td:first-child { box-shadow: none; }
  .cb-page table.cb-tabla tr.is-sin { border-left: 4px solid #e05a4f; }
  .cb-page table.cb-tabla td { display: block !important; text-align: left !important; width: 100% !important; }
  .cb-page table.cb-tabla td::before { display: block; margin-bottom: 4px; }
  .cb-page table.cb-tabla td.cb-c-est::before { display: none; }
  .cb-page table.cb-tabla td > .ap-cell { text-align: left; }
  .cb-page table.cb-tabla tfoot th { display: block; text-align: left !important; }
  .cb-page table.cb-tabla tfoot th:empty { display: none; }
}
@media (max-width: 767px) {
  .cb-page .cb-metrics { grid-template-columns: 1fr; }
  .cb-page .cb-kpis { grid-template-columns: 1fr 1fr; }
  .cb-page .cb-kpi strong { font-size: 19px; }
  .cb-page .cb-btn-repartir { margin-left: 0; }
  .cb-modal .cb-grid, .cb-modal .cb-comp.is-on { grid-template-columns: 1fr; }
  .cb-page .cb-acc span { display: none; }
  .cb-page .cb-acc.is-main span { display: inline; }
  .cb-page .cb-acc { padding: 8px 11px; }
}

/* ---- v0.2.0 (2026-10-25): supervisión («Ver como», QA), por limpiar, contactos, llamar, vista previa del correo ---- */
.cb-page .cb-sup { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 12px; margin-left: auto; }
.cb-page .cb-como { min-width: 220px; margin: 0; }
.cb-page .cb-qa-switch { margin: 0; cursor: pointer; }
.cb-page .cb-qa-switch input { position: absolute; opacity: 0; pointer-events: none; }
.cb-page .cb-qa-pill { display: inline-flex; align-items: center; gap: 7px; border: 1px solid #c4b5fd; color: #5b21b6; background: #fff; border-radius: 999px; padding: 8px 14px; font-weight: 700; font-size: 15px; }
.cb-page .cb-qa-switch input:checked + .cb-qa-pill { background: #6d28d9; border-color: #6d28d9; color: #fff; }
.cb-page .cb-qa-switch input:focus-visible + .cb-qa-pill { outline: 2px solid #1b84e7; outline-offset: 2px; }
.cb-page .cb-vista { background: #f5f3ff; border: 1px solid #c4b5fd; color: #3b1d78; border-radius: 12px; padding: 12px 16px; margin-bottom: 12px; font-size: 16px; }
.cb-page .cb-vista div + div { margin-top: 6px; }
.cb-page .cb-pill-qa { background: #ede9fe; color: #5b21b6; border: 1px solid #c4b5fd; }
.cb-page table.cb-tabla tr.is-qa td { background: #faf8ff; }
.cb-page table.cb-tabla tr.is-qa td:first-child { box-shadow: inset 4px 0 0 #6d28d9; }
.cb-page .cb-prop-nom { font-weight: 700; color: #0b5d78; text-decoration: none; }
.cb-page a.cb-prop-nom:hover { text-decoration: underline; }
.cb-page .cb-prop-nom i { font-size: 12px; opacity: .7; }
.cb-page .cb-contacto { margin-top: 6px; }
.cb-page .cb-dato { display: inline-flex; align-items: center; gap: 6px; margin: 3px 14px 0 0; font-size: 15px; color: #1f2d3d; text-decoration: none; }
.cb-page a.cb-dato:hover { color: #1b84e7; }
.cb-page .cb-rol, .cb-modal .cb-rol { font-size: 12px; background: #eef2f6; color: #44546a; border-radius: 6px; padding: 0 6px; font-weight: 600; }
.cb-page .cb-acc[disabled] { opacity: .45; cursor: not-allowed; }
.cb-page .cb-limpiar-card .lq3-card-header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; }
.cb-page .cb-limpiar-res { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 18px 14px; }
.cb-page .cb-limp-chip { background: #fff7e6; border: 1px solid #f0c36d; color: #6b4600; border-radius: 999px; padding: 5px 12px; font-size: 15px; }
.cb-page .cb-ings { margin-top: 6px; font-size: 14px; line-height: 1.7; }
.cb-modal .cb-lla-lista { display: flex; flex-direction: column; gap: 10px; }
.cb-modal .cb-lla-item { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; border: 1px solid #e3e8ee; border-radius: 12px; padding: 12px 14px; }
.cb-modal .cb-lla-fono { font-size: 18px; font-weight: 700; margin-top: 2px; }
.cb-modal .cb-lla-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.cb-modal .cb-acc { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #dfe5ec; background: #fff; border-radius: 9px; padding: 8px 12px; font-size: 15px; color: #1f2d3d; cursor: pointer; text-decoration: none; }
.cb-modal .cb-acc.is-main { background: #1f6d43; border-color: #1f6d43; color: #fff; font-weight: 600; }
.cb-modal .cb-lla-nota { font-size: 14.5px; color: #44546a; margin: 12px 0 0; }
.cb-modal .cb-preview-frame { width: 100%; height: 520px; border: 1px solid #cdd6df; border-radius: 10px; background: #f5f5f7; }
@media (max-width: 767px) {
  .cb-page .cb-sup { margin-left: 0; width: 100%; }
  .cb-page .cb-como { flex: 1 1 100%; }
  .cb-modal .cb-preview-frame { height: 420px; }
}

/* ---- v0.3.0 (2026-10-25): tarjetas en vivo «wow» con foto, medallas de dueño, deuda con íconos, más aire ---- */
.cb-page .cb-vivo-card { margin-bottom: 18px; }
.cb-page .cb-metrics { margin-bottom: 18px; }
.cb-page .cb-vivo { grid-template-columns: repeat(auto-fit, minmax(460px, 1fr)); gap: 18px; padding: 6px 18px 20px; }
.cb-page .cb-gcard { position: relative; overflow: hidden; border: 0; border-radius: 22px; padding: 22px 22px 18px;
  background: linear-gradient(160deg, #ffffff 0%, #f4f9fc 100%); box-shadow: 0 10px 30px rgba(11, 93, 120, .10), 0 1px 3px rgba(16, 24, 40, .06); }
.cb-page .cb-gcard::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 6px; background: linear-gradient(90deg, #0b5d78, #5fc3e4, #7fd19b); }
.cb-page .cb-gcard.is-on::before { background: linear-gradient(90deg, #1f9d55, #7fd19b, #5fc3e4); }
.cb-page .cb-gcard.is-pausa::before { background: linear-gradient(90deg, #f0b44d, #f7d154); }
.cb-page .cb-gcard:hover, .cb-page .cb-gcard:focus-visible { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(11, 93, 120, .16); }
.cb-page .cb-gcard { transition: transform .18s ease, box-shadow .18s ease; }
.cb-page .cb-gcard.is-sel { outline: 3px solid #1b84e7; outline-offset: -3px; padding: 22px 22px 18px; border: 0; }
.cb-page .cb-gcard-head { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; font-size: 16px; flex-wrap: nowrap; }
.cb-page .cb-foto-wrap { position: relative; flex: 0 0 auto; width: 92px; height: 92px; border-radius: 50%; padding: 4px;
  background: conic-gradient(#c9d3dc, #e6ecf1); }
.cb-page .cb-foto-wrap.is-on { background: conic-gradient(#1f9d55, #7fd19b, #5fc3e4, #1f9d55); }
.cb-page .cb-foto-wrap.is-pausa { background: conic-gradient(#f0b44d, #f7d154, #f0b44d); }
.cb-page .cb-foto { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; border: 3px solid #fff; background: #eef2f6; display: block; }
.cb-page .cb-foto-wrap .cb-dot { position: absolute; right: 4px; bottom: 6px; width: 20px; height: 20px; border: 3px solid #fff; }
.cb-page .cb-gcard-id { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1 1 auto; }
.cb-page .cb-gcard-id b { font-size: 26px; line-height: 1.1; color: #10263a; }
.cb-page .cb-gcard-est { display: inline-block; align-self: flex-start; font-size: 14px; font-weight: 700; border-radius: 999px; padding: 3px 12px; background: #eef2f6; color: #607487; }
.cb-page .cb-gcard-est.is-on { background: #e7f6ed; color: #1f6d43; }
.cb-page .cb-gcard-est.is-pausa { background: #fff4de; color: #8a5a00; }
.cb-page .cb-gcard-ini { margin: 0; align-self: flex-start; font-size: 14px; background: transparent; color: #44546a; padding: 0; }
.cb-page .cb-gcard-cob { flex: 0 0 auto; text-align: center; }
.cb-page .cb-gcard-cob small { display: block; font-size: 12.5px; color: #607487; line-height: 1.2; margin-top: 4px; }
.cb-page .cb-ring { --p: 0; width: 84px; height: 84px; border-radius: 50%; display: grid; place-items: center;
  background: radial-gradient(closest-side, #fff 76%, transparent 77% 100%), conic-gradient(#1f9d55 calc(var(--p) * 1%), #e6ecf1 0); }
.cb-page .cb-ring span { font-size: 22px; font-weight: 800; color: #10263a; }
.cb-page .cb-kpis { gap: 12px; }
.cb-page .cb-kpi { border-radius: 16px; padding: 14px; gap: 12px; align-items: center; }
.cb-page .cb-kpi-ico { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: rgba(255, 255, 255, .8); flex: 0 0 auto; }
.cb-page .cb-kpi-ico i { font-size: 26px; }
.cb-page .cb-kpi strong { font-size: 30px; font-weight: 800; }
.cb-page .cb-kpi span { font-size: 15.5px; font-weight: 600; color: #34465a; }
.cb-page .cb-kpi small { font-size: 13.5px; }
.cb-page .cb-kpi.is-violeta { background: linear-gradient(135deg, #f3efff, #ebe4ff); }
.cb-page .cb-kpi.is-azul { background: linear-gradient(135deg, #e9f6fb, #dff0f7); }
.cb-page .cb-kpi.is-cielo { background: linear-gradient(135deg, #eef5ff, #e3eeff); }
.cb-page .cb-kpi.is-verde { background: linear-gradient(135deg, #ecf8f0, #dff3e7); }
.cb-page .cb-horas { height: 80px; margin: 16px 0 8px; }
.cb-page .cb-hbar span { background: linear-gradient(180deg, #7fd19b, #1f9d55); border-radius: 6px 6px 0 0; }
.cb-page .cb-hbar small { font-size: 12px; }
.cb-page .cb-mes-row span { font-size: 15.5px; color: #34465a; font-weight: 600; }
.cb-page .cb-prog { height: 10px; }
.cb-page .cb-mes-chips { font-size: 14px; gap: 8px; }
.cb-page .cb-mes-chips span { padding: 4px 12px; display: inline-flex; align-items: center; gap: 6px; }

/* Chips con foto y medallas */
.cb-page .cb-chip-foto { display: inline-flex; align-items: center; gap: 8px; padding-left: 5px; }
.cb-page .cb-chip-img { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; box-shadow: 0 0 0 1px #cdd6df; }
.cb-page .cb-medal-vip { --fa-primary-color: #fac400; --fa-secondary-color: #fa0000; --fa-secondary-opacity: .8; }
.cb-page .cb-medal-pref { --fa-primary-color: #e0e0e0; --fa-secondary-color: #9e9e9e; --fa-secondary-opacity: .8; }
.cb-page .cb-medal-inv { --fa-primary-color: #cd7f32; --fa-secondary-color: #8d5524; --fa-secondary-opacity: .8; }
.cb-page .cb-medalla { display: inline-flex; align-items: center; gap: 5px; font-size: 13.5px; font-weight: 700; border-radius: 999px; padding: 2px 10px; }
.cb-page .cb-medalla i { font-size: 18px; }
.cb-page .cb-medalla.cb-medal-vip { background: #fff7d6; color: #8a5a00; }
.cb-page .cb-medalla.cb-medal-pref { background: #f1f3f5; color: #4b5563; }
.cb-page .cb-medalla.cb-medal-inv { background: #fbefe3; color: #7a4a1f; }
.cb-page .cb-dueno { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-top: 6px; font-size: 15px; color: #44546a; }

/* Deuda con íconos */
.cb-page table.cb-tabla .cb-c-deuda { width: 250px; text-align: left; }
.cb-page .cb-dl-total { font-size: 22px; font-weight: 800; color: #a8322a; margin-bottom: 4px; }
.cb-page .cb-dl { display: flex; align-items: center; gap: 8px; padding: 3px 0; font-size: 16px; }
.cb-page .cb-dl > i { font-size: 19px; width: 22px; text-align: center; flex: 0 0 auto; }
.cb-page .cb-dl-lab { flex: 1 1 auto; color: #34465a; min-width: 0; }
.cb-page .cb-dl-lab small { display: block; font-size: 13px; color: #607487; }
.cb-page .cb-dl b { font-size: 16.5px; color: #10263a; white-space: nowrap; }
.cb-page .cb-prio + .cb-prio { margin-left: 4px; }
.cb-page .cb-prio.is-3 { background: #e8f1fb; color: #155a9c; }
@media (max-width: 767px) {
  .cb-page .cb-vivo { grid-template-columns: 1fr; padding: 4px 10px 14px; }
  .cb-page .cb-gcard-head { flex-wrap: wrap; }
  .cb-page .cb-foto-wrap { width: 72px; height: 72px; }
  .cb-page .cb-gcard-id b { font-size: 22px; }
  .cb-page .cb-ring { width: 70px; height: 70px; }
  .cb-page .cb-kpi strong { font-size: 24px; }
  .cb-page .cb-kpi-ico { width: 40px; height: 40px; }
}

/* ---- v0.4.0 (2026-10-25): íconos más grandes (también en kit SVG), «?» con tooltip estándar, «Ver como» con fotos, filtros ---- */
/* El kit de Font Awesome puede dibujar SVG: el tamaño se controla con font-size del contenedor. */
.cb-page .cb-kpi-ico { width: 58px; height: 58px; font-size: 32px; border-radius: 16px; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .9), 0 2px 6px rgba(16, 24, 40, .06); }
.cb-page .cb-kpi-ico i, .cb-page .cb-kpi-ico svg { font-size: 32px; width: 1em; height: 1em; }
.cb-page .cb-kpi { position: relative; padding-right: 44px; }
.cb-page .cb-metric { position: relative; padding-right: 48px; }
.cb-page .cb-metrics .ap-metric-icon { width: 68px; height: 68px; min-width: 68px; font-size: 36px; border-radius: 18px; background: #f4f7fa; }
.cb-page .cb-metrics .ap-metric-icon i, .cb-page .cb-metrics .ap-metric-icon svg { font-size: 36px; width: 1em; height: 1em; }
.cb-page .cb-metrics .ap-metric-main strong { font-size: 28px; }
.cb-page .cb-help { position: absolute; top: 10px; right: 10px; width: 30px; height: 30px; line-height: 28px; font-size: 17px; z-index: 2; background: #fff; }
.cb-page .cb-gcard-cob { position: relative; padding-top: 4px; }
.cb-page .cb-gcard-cob .cb-help { top: -6px; right: -12px; width: 26px; height: 26px; line-height: 24px; font-size: 15px; }
.cb-page .cb-gcard { cursor: pointer; }
.cb-page .cb-gcard:focus-visible { outline: 3px solid #1b84e7; outline-offset: -3px; }
.cb-page .cb-dl > i, .cb-page .cb-dl > svg { font-size: 20px; width: 22px; }
.cb-page .cb-compartido { color: #0b5d78; font-weight: 600; }
.pt-standard-popover.cb-popover { max-width: 400px; font-size: 16px; }
.pt-standard-popover.cb-popover .lq3-tip-row > i, .pt-standard-popover.cb-popover .lq3-tip-row > svg { flex: 0 0 24px; width: 24px; font-size: 21px; }
/* «Ver como» con fotos */
.cb-page .cb-como { min-width: 0; }
.cb-page .cb-como-pick { display: flex; flex-wrap: wrap; gap: 8px; }
.cb-page .cb-como-op { display: inline-flex; align-items: center; gap: 10px; border: 2px solid #dfe5ec; background: #fff; border-radius: 999px; padding: 4px 14px 4px 4px; cursor: pointer; text-align: left; }
.cb-page .cb-como-op:hover { border-color: #9cccf5; }
.cb-page .cb-como-op.is-on { border-color: #6d28d9; background: #f5f3ff; box-shadow: 0 0 0 3px rgba(109, 40, 217, .15); }
.cb-page .cb-como-img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; box-shadow: 0 0 0 1px #cdd6df; }
.cb-page .cb-como-op b { display: block; font-size: 16px; color: #10263a; line-height: 1.1; }
.cb-page .cb-como-op small { display: block; font-size: 12.5px; color: #607487; }
.cb-page .cb-limpiar-filtros { border-color: #a8322a !important; color: #a8322a !important; font-weight: 700; }
.cb-page .cb-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cb-page .ap-filtros { align-items: center; }
.cb-page .cb-chip-img { width: 28px; height: 28px; }
@media (min-width: 1800px) { .cb-page .cb-metrics { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (max-width: 1023px) { .cb-page .cb-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .cb-page .cb-metrics { grid-template-columns: 1fr; } .cb-page .cb-como-op small { display: none; } }
.cb-page .ap-filtros .ap-chip { min-height: 42px; display: inline-flex; align-items: center; gap: 6px; vertical-align: middle; }

/* ---- v0.5.0 (2026-10-25): abonos a favor, configuración de gestoras ---- */
.cb-page .cb-dl.is-favor b { color: #1f6d43; }
.cb-page .cb-btn-gestoras { border-color: #0b5d78; color: #0b5d78; font-weight: 700; }
.cb-modal .cb-ges-lista { display: flex; flex-direction: column; gap: 10px; margin: 12px 0 18px; }
.cb-modal .cb-ges-item { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; border: 1px solid #e3e8ee; border-radius: 14px; padding: 12px 14px; background: #fafbfc; opacity: .8; }
.cb-modal .cb-ges-item.is-on { background: #fff; border-color: #b7e4c7; opacity: 1; box-shadow: 0 2px 8px rgba(31, 109, 67, .08); }
.cb-modal .cb-ges-img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; box-shadow: 0 0 0 1px #cdd6df; }
.cb-modal .cb-ges-datos { flex: 1 1 220px; min-width: 0; }
.cb-modal .cb-ges-datos small { display: block; font-size: 13.5px; color: #607487; margin-top: 3px; }
.cb-modal .cb-ges-nom { font-weight: 700; }
.cb-modal .cb-ges-campo { display: flex; flex-direction: column; gap: 3px; margin: 0; width: 110px; font-size: 13px; font-weight: 600; color: #44546a; }
.cb-modal .cb-switch { display: inline-flex; align-items: center; gap: 8px; margin: 0; cursor: pointer; }
.cb-modal .cb-switch input { position: absolute; opacity: 0; pointer-events: none; }
.cb-modal .cb-switch span { width: 50px; height: 28px; border-radius: 999px; background: #cdd6df; position: relative; transition: background .2s; }
.cb-modal .cb-switch span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .25); transition: left .2s; }
.cb-modal .cb-switch input:checked + span { background: #1f9d55; }
.cb-modal .cb-switch input:checked + span::after { left: 25px; }
.cb-modal .cb-switch input:focus-visible + span { outline: 2px solid #1b84e7; outline-offset: 2px; }
.cb-modal .cb-switch b { font-size: 14px; min-width: 62px; }
.cb-modal .cb-ges-nueva { border-top: 1px dashed #dfe5ec; padding-top: 14px; }
.cb-modal .cb-ges-nueva h3 { font-size: 17px; font-weight: 700; margin: 0 0 10px; display: flex; align-items: center; gap: 8px; }
.cb-modal .cb-ges-add { justify-content: flex-end; }

/* Íconos de las tarjetas: centrados y llenando el recuadro (corrige el ícono chico y corrido a la esquina). */
.cb-page .cb-kpi-ico, .cb-page .cb-metrics .ap-metric-icon { display: flex !important; align-items: center; justify-content: center; line-height: 1; overflow: visible; }
.cb-page .cb-kpi-ico { width: 64px; height: 64px; flex: 0 0 64px; font-size: 38px; }
.cb-page .cb-kpi-ico > i, .cb-page .cb-kpi-ico > svg { font-size: 38px !important; width: auto !important; height: auto !important; margin: 0 !important;
  position: relative !important; top: auto !important; left: auto !important; display: inline-block !important; line-height: 1 !important; vertical-align: middle !important; }
.cb-page .cb-kpi-ico > svg { width: 1.25em !important; height: 1em !important; }
.cb-page .cb-metrics .ap-metric-icon { width: 72px; height: 72px; min-width: 72px; font-size: 40px; }
.cb-page .cb-metrics .ap-metric-icon > i, .cb-page .cb-metrics .ap-metric-icon > svg { font-size: 40px !important; width: auto !important; height: auto !important; margin: 0 !important;
  position: relative !important; display: inline-block !important; line-height: 1 !important; }
.cb-page .cb-metrics .ap-metric-icon > svg { width: 1.25em !important; height: 1em !important; }

/* ---- v0.6.0 (2026-10-25): barra compacta con filtros v3, detalle de pagos, celebración, totales al pie ---- */
.cb-page .cb-barra { gap: 10px 14px; padding: 10px 14px; align-items: center; margin-bottom: 12px; }
.cb-page .cb-filtros-top { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.cb-page .cb-pick { position: relative; min-width: 210px; }
.cb-page .cb-pick.is-prop { min-width: 260px; }
.cb-page .cb-pick .lq3-pick-menu { z-index: 1050; }
.cb-page .cb-yo { flex: 0 1 auto; font-size: 15px; gap: 6px 10px; }
.cb-page .cb-yo-kpi { padding: 4px 10px; }
.cb-page .cb-sup { margin-left: auto; gap: 8px; align-items: center; }
.cb-page .cb-como { display: flex; align-items: center; gap: 8px; }
.cb-page .cb-como-lbl { font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #607487; }
.cb-page .cb-como-op { padding: 3px 10px 3px 3px; gap: 7px; }
.cb-page .cb-como-img { width: 34px; height: 34px; }
.cb-page .cb-como-op small { display: none; }
.cb-page .cb-como-op b { font-size: 14.5px; }
.cb-page .cb-sup .ap-chip { padding: 6px 12px; font-size: 14.5px; }
.cb-page .cb-btn-fiesta { border-color: #f5b301; color: #8a5a00; font-weight: 700; }
@media (max-width: 1300px) { .cb-page .cb-sup { margin-left: 0; } }

/* Barra de avance de la gestora */
.cb-page .cb-prog-xl { position: relative; height: 22px; border-radius: 999px; background: #edf1f5; overflow: visible; margin: 8px 34px 10px 0; }
.cb-page .cb-prog-xl > span { position: relative; display: block; height: 100%; border-radius: 999px; min-width: 38px;
  background: linear-gradient(90deg, #5fc3e4, #1f9d55); box-shadow: 0 2px 6px rgba(31, 157, 85, .25); transition: width .6s ease; }
.cb-page .cb-prog-xl > span em { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); font-style: normal; font-size: 13px; font-weight: 800; color: #fff; }
.cb-page .cb-prog-meta { position: absolute; right: -34px; top: 50%; transform: translateY(-50%); font-size: 26px; font-style: normal; opacity: .45; }
.cb-page .cb-prog-xl.is-full .cb-prog-meta { opacity: 1; animation: cb-salto 1.2s ease-in-out infinite; }
@keyframes cb-salto { 0%, 100% { transform: translateY(-50%) scale(1); } 50% { transform: translateY(-70%) scale(1.15); } }

/* Totales al pie: los tres montos del mismo tamaño */
.cb-page .cb-tot { display: flex; flex-direction: column; gap: 4px; align-items: stretch; }
.cb-page .cb-tot-l { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 16px; }
.cb-page .cb-tot-l span { display: inline-flex; align-items: center; gap: 6px; color: #34465a; font-weight: 600; white-space: nowrap; }
.cb-page .cb-tot-l b { font-size: 20px; font-weight: 800; color: #10263a; white-space: nowrap; }
.cb-page .cb-tot-l.is-total b { color: #a8322a; }
.cb-page .cb-tot-n { font-size: 17px; }

/* Deuda: botón detalle y alerta de imputación */
.cb-page .cb-dl-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 4px; }
.cb-page .cb-ver-det { display: inline-flex; align-items: center; gap: 5px; border: 1px solid #9cccf5; background: #eef7ff; color: #0b5d78; border-radius: 999px; padding: 3px 10px; font-size: 13.5px; font-weight: 700; cursor: pointer; }
.cb-page .cb-ver-det:hover { background: #dff0ff; }
.cb-page .cb-dl-alerta { font-size: 13px; background: #fff7e6; border: 1px solid #f0c36d; color: #6b4600; border-radius: 8px; padding: 4px 8px; margin: 4px 0; line-height: 1.35; }

/* Modal detalle de pagos */
.cb-modal .cb-det-res { border-radius: 12px; padding: 12px 16px; font-size: 18px; font-weight: 700; color: #fff; margin-bottom: 12px; display: flex; align-items: center; gap: 10px; }
.cb-modal .cb-det-res.is-deuda { background: linear-gradient(90deg, #a8322a, #e05a4f); }
.cb-modal .cb-det-res.is-favor { background: linear-gradient(90deg, #1f6d43, #1f9d55); }
.cb-modal .cb-det-res.is-ok { background: linear-gradient(90deg, #0b5d78, #1b84e7); }
.cb-modal .cb-det-diag { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 10px; margin-bottom: 16px; }
.cb-modal .cb-det-card { border-radius: 12px; padding: 12px 14px; border: 1px solid #e3e8ee; background: #fff; font-size: 15px; }
.cb-modal .cb-det-card.is-alto { background: #fff8eb; border-color: #f0c36d; }
.cb-modal .cb-det-card.is-medio { background: #fdf0ef; border-color: #f2a4a4; }
.cb-modal .cb-det-card.is-info { background: #eef7fb; border-color: #9cd3e8; }
.cb-modal .cb-det-card.is-ok { background: #ecf8f0; border-color: #b7e4c7; }
.cb-modal .cb-det-card-t { display: flex; align-items: center; gap: 8px; font-size: 16.5px; margin-bottom: 4px; }
.cb-modal .cb-det-card-t i, .cb-modal .cb-det-card-t svg { font-size: 22px; }
.cb-modal .cb-det-card p { margin: 4px 0 0; line-height: 1.45; }
.cb-modal .cb-det-acc { font-weight: 600; color: #0b5d78; }
.cb-modal .cb-det-h { font-size: 17px; font-weight: 800; margin: 14px 0 8px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cb-modal .cb-det-h small { font-size: 13.5px; font-weight: 400; color: #607487; }
.cb-modal .cb-det-tabla td, .cb-modal .cb-det-tabla th { font-size: 15.5px; padding: 8px 12px !important; }
.cb-modal .cb-det-neto td { background: #f4f7fa; }
.cb-modal .cb-rojo { color: #a8322a; }
.cb-modal .cb-verde { color: #1f6d43; }
.cb-modal .cb-det-lista { display: flex; flex-direction: column; gap: 6px; }
.cb-modal .cb-det-pago { border: 1px solid #e3e8ee; border-radius: 10px; background: #fff; }
.cb-modal .cb-det-pago.has-alerta { border-color: #f0c36d; background: #fffcf4; }
.cb-modal .cb-det-pago summary { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; padding: 10px 14px; cursor: pointer; list-style: none; }
.cb-modal .cb-det-pago summary::-webkit-details-marker { display: none; }
.cb-modal .cb-det-pago summary::before { content: "▸"; color: #607487; }
.cb-modal .cb-det-pago[open] summary::before { content: "▾"; }
.cb-modal .cb-det-nom { flex: 1 1 220px; min-width: 0; }
.cb-modal .cb-det-nom b { font-size: 16px; }
.cb-modal .cb-det-nom small, .cb-modal .cb-det-num small { display: block; font-size: 12.5px; color: #607487; }
.cb-modal .cb-det-num { min-width: 100px; text-align: right; font-size: 15.5px; font-weight: 700; }
.cb-modal .cb-det-tags { display: flex; flex-wrap: wrap; gap: 4px; flex-basis: 100%; }
.cb-modal .cb-det-tags:empty { display: none; }
.cb-modal .cb-det-tags em { font-style: normal; font-size: 12.5px; font-weight: 700; border-radius: 999px; padding: 2px 10px; }
.cb-modal .cb-det-tags em.is-alto { background: #fff1d6; color: #8a5a00; }
.cb-modal .cb-det-tags em.is-medio { background: #fdecea; color: #a8322a; }
.cb-modal .cb-det-tags em.is-info { background: #e8f1fb; color: #155a9c; }
.cb-modal .cb-det-body { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 4px 14px 14px; border-top: 1px dashed #e3e8ee; }
.cb-modal .cb-det-col h4 { font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: #0b5d78; margin: 10px 0 6px; }
.cb-modal .cb-det-mini { width: 100%; font-size: 14.5px; }
.cb-modal .cb-det-mini td, .cb-modal .cb-det-mini th { padding: 4px 6px; border-bottom: 1px solid #eef2f6; }
.cb-modal .cb-det-mini td + td, .cb-modal .cb-det-mini th + th { text-align: right; }
@media (max-width: 767px) { .cb-modal .cb-det-body { grid-template-columns: 1fr; } .cb-modal .cb-det-num { min-width: 0; text-align: left; } }

/* Celebración */
.cb-fiesta { position: fixed; inset: 0; z-index: 3000; display: grid; place-items: center; background: rgba(9, 30, 45, .55); backdrop-filter: blur(2px); }
.cb-fiesta[hidden] { display: none; }
.cb-fiesta canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.cb-fiesta-card { position: relative; background: #fff; border-radius: 26px; padding: 34px 40px 28px; text-align: center; max-width: 480px; width: calc(100% - 32px);
  box-shadow: 0 30px 80px rgba(0, 0, 0, .35); animation: cb-pop .5s cubic-bezier(.2, 1.4, .4, 1); }
@keyframes cb-pop { from { transform: scale(.6); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.cb-fiesta-img { width: 110px; height: 110px; border-radius: 50%; object-fit: cover; border: 5px solid #fff; box-shadow: 0 0 0 4px #f5b301; }
.cb-fiesta-trofeo { font-size: 46px; margin: -18px 0 4px; }
.cb-fiesta-card h2 { font-size: 30px; font-weight: 800; color: #10263a; margin: 4px 0 8px; }
.cb-fiesta-card p { font-size: 18px; color: #34465a; line-height: 1.5; margin-bottom: 20px; }
@media (prefers-reduced-motion: reduce) { .cb-fiesta-card { animation: none; } .cb-page .cb-prog-xl.is-full .cb-prog-meta { animation: none; } }

/* ---- v0.6.1 (2026-10-25): detalle de pagos con saldo acumulado, medio de pago legible, descarga Excel y PDF ---- */
.cb-modal .cb-det-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; margin-bottom: 10px; }
.cb-modal .cb-det-bar .ap-sub { margin: 0 auto 0 0; }
.cb-modal .cb-det-bar .btn { font-size: 15px; font-weight: 700; display: inline-flex; align-items: center; gap: 6px; border-radius: 10px; padding: 6px 14px; }
.cb-modal .cb-det-bar .btn i, .cb-modal .cb-det-bar .btn svg { font-size: 18px !important; }
.cb-modal .cb-det-saldo { min-width: 115px; padding-left: 12px; border-left: 2px solid #e3e8ee; }
.cb-modal .cb-det-cero { color: #1f6d43; }
.cb-modal .cb-det-fut { color: #9aa8b5; }
.cb-modal .cb-det-mini td.cb-rojo, .cb-modal .cb-det-mini td.cb-verde, .cb-modal .cb-det-mini td.cb-det-cero { font-weight: 700; }
@media (max-width: 767px) { .cb-modal .cb-det-saldo { border-left: 0; padding-left: 0; } .cb-modal .cb-det-bar .ap-sub { flex-basis: 100%; } }

/* ---- v0.7.0 (2026-10-25): multas (con / sin), condonación con aprobación, estado de cuenta ---- */
.cb-seg-multas { display: inline-flex; align-items: center; gap: 0; vertical-align: middle; flex-wrap: nowrap; }
.cb-seg-multas .cb-seg-lab { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: #34465a; text-transform: uppercase; letter-spacing: .03em; margin-right: 8px; }
.cb-seg-multas .cb-seg-lab i, .cb-seg-multas .cb-seg-lab svg { font-size: 18px; }
.cb-seg-multas button { border: 1px solid #c9d3dc; background: #fff; color: #34465a; font-size: 15px; font-weight: 700; padding: 8px 14px; min-height: 42px; cursor: pointer; }
.cb-seg-multas button:first-of-type { border-radius: 999px 0 0 999px; }
.cb-seg-multas button:last-of-type { border-radius: 0 999px 999px 0; border-left: 0; }
.cb-seg-multas button.is-on { background: linear-gradient(180deg, #0b5d78, #07546e); border-color: #07546e; color: #fff; }
.cb-page .cb-dl.cb-dl-multa.is-off { opacity: .55; }
.cb-page .cb-dl.cb-dl-multa.is-off b { text-decoration: line-through; text-decoration-color: rgba(96, 116, 135, .6); }
.cb-page .cb-dl-cond { margin: 4px 0; }
.cb-page .cb-dl-cond .ap-pill { font-size: 13px; display: inline-flex; align-items: center; gap: 5px; white-space: normal; }
.cb-page .cb-cond-btn { display: inline-flex; align-items: center; gap: 6px; margin: 4px 0; border: 1px dashed #f0b44d; background: #fffaf0; color: #8a5a00; font-size: 13.5px; font-weight: 700; border-radius: 999px; padding: 4px 12px; cursor: pointer; }
.cb-page .cb-cond-btn:hover { background: #fff1d6; }
.cb-page .cb-cond-btn[disabled] { opacity: .5; cursor: not-allowed; }
.cb-page .cb-tot-l.is-off { opacity: .55; }

/* Tarjeta de condonaciones */
.cb-page .cb-cond-card { border-left: 5px solid #f0b44d; }
.cb-page .cb-cond-lista { display: flex; flex-direction: column; gap: 8px; padding: 4px 0 6px; }
.cb-page .cb-cond-row { display: flex; gap: 14px; align-items: flex-start; justify-content: space-between; border: 1px solid #e3e8ee; border-radius: 12px; padding: 12px 14px; background: #fff; flex-wrap: wrap; }
.cb-page .cb-cond-row.is-solicitada { background: #fffaf0; border-color: #f0c36d; }
.cb-page .cb-cond-row.is-pago_validado { background: #f1f8fd; border-color: #9cd3e8; }
.cb-page .cb-cond-row.is-rechazada, .cb-page .cb-cond-row.is-anulada { opacity: .7; }
.cb-page .cb-cond-main { flex: 1 1 420px; min-width: 0; }
.cb-page .cb-cond-tit { font-size: 16.5px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.cb-page .cb-cond-det { font-size: 15.5px; margin-top: 4px; }
.cb-page .cb-cond-traza { font-size: 13px; color: #607487; margin-top: 6px; }
.cb-page .cb-cond-prog { height: 8px; border-radius: 99px; background: #edf1f5; margin: 8px 0 4px; overflow: hidden; max-width: 420px; }
.cb-page .cb-cond-prog div { height: 100%; background: linear-gradient(90deg, #f0b44d, #e59a1a); border-radius: 99px; }
.cb-page .cb-cond-prog.is-ok div { background: linear-gradient(90deg, #1f9d55, #1f6d43); }
.cb-page .cb-cond-prog.is-mal div { background: linear-gradient(90deg, #e05a4f, #a8322a); }
.cb-page .cb-cond-acc { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.cb-page .cb-cond-acc .cb-mini { font-size: 15px; font-weight: 700; padding: 7px 14px; border-radius: 10px; display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.cb-page .cb-cond-acc .cb-mini.is-ok { background: #1f6d43; border-color: #1f6d43; color: #fff; }
.cb-page .cb-cond-acc .cb-mini.is-main { background: linear-gradient(180deg, #0b5d78, #07546e); border-color: #07546e; color: #fff; }

/* Modales de condonación */
.cb-modal .cb-cond-pasos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 4px 0 12px; }
.cb-modal .cb-cond-pasos span { background: #f4f7fa; border-radius: 10px; padding: 8px 10px; font-size: 13.5px; line-height: 1.35; display: flex; gap: 8px; align-items: flex-start; }
.cb-modal .cb-cond-pasos b { background: #0b5d78; color: #fff; border-radius: 6px; min-width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; font-size: 12.5px; }
.cb-modal .cb-cond-tabla td, .cb-modal .cb-cond-tabla th { font-size: 15px; padding: 7px 8px; }
.cb-modal .cb-cond-tabla input { width: 20px; height: 20px; }
.cb-modal .cb-cond-pcts { display: inline-flex; gap: 6px; margin-top: 6px; }
.cb-modal .cb-cond-pcts .ap-chip { padding: 3px 12px; font-size: 13.5px; }
.cb-modal .cb-cond-check { display: flex; gap: 10px; align-items: center; border-radius: 12px; padding: 10px 14px; margin-bottom: 12px; font-size: 15.5px; }
.cb-modal .cb-cond-check.is-ok { background: #ecf8f0; border: 1px solid #b7e4c7; }
.cb-modal .cb-cond-check.is-mal { background: #fdf0ef; border: 1px solid #f2a4a4; }
.cb-modal .cb-cond-check i, .cb-modal .cb-cond-check svg { font-size: 22px; flex: 0 0 auto; }
.cb-modal td.cb-obs { font-size: 13.5px; color: #34465a; max-width: 380px; }
.pr-search-btn.is-peligro { background: linear-gradient(180deg, #e05a4f, #a8322a) !important; border-color: #a8322a !important; }
@media (max-width: 767px) { .cb-modal .cb-cond-pasos { grid-template-columns: 1fr 1fr; } }

/* Estado de cuenta (detalle simplificado) */
.cb-modal .cb-det-bar { justify-content: flex-start; }
.cb-modal .cb-det-bar-sp { flex: 1 1 auto; }
.cb-modal .cb-det-cond { color: #8a5a00; border-color: #f0b44d; }
.cb-modal .cb-det-hero { border-radius: 18px; padding: 20px 22px; color: #fff; display: flex; flex-wrap: wrap; gap: 18px 28px; align-items: center; margin-bottom: 12px;
  background: repeating-linear-gradient(120deg, rgba(255,255,255,.04) 0, rgba(255,255,255,.04) 1px, transparent 1px, transparent 15px), linear-gradient(145deg, #07546e 0%, #03779f 70%, #1ba8d4 100%); }
.cb-modal .cb-det-hero.is-deuda { background: repeating-linear-gradient(120deg, rgba(255,255,255,.04) 0, rgba(255,255,255,.04) 1px, transparent 1px, transparent 15px), linear-gradient(145deg, #7d241e 0%, #a8322a 60%, #e05a4f 100%); }
.cb-modal .cb-det-hero.is-favor { background: repeating-linear-gradient(120deg, rgba(255,255,255,.04) 0, rgba(255,255,255,.04) 1px, transparent 1px, transparent 15px), linear-gradient(145deg, #14512f 0%, #1f6d43 60%, #1f9d55 100%); }
.cb-modal .cb-det-hero-main small { display: block; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; opacity: .9; font-weight: 700; }
.cb-modal .cb-det-hero-main strong { display: block; font-size: 40px; line-height: 1.1; font-weight: 800; }
.cb-modal .cb-det-hero-main span { font-size: 14.5px; opacity: .9; }
.cb-modal .cb-det-chips { flex: 1 1 340px; display: grid; gap: 6px; }
.cb-modal .cb-det-chip { display: flex; align-items: center; gap: 10px; background: rgba(255,255,255,.95); color: #10263a; border-radius: 12px; padding: 8px 12px; font-size: 15.5px; }
.cb-modal .cb-det-chip i, .cb-modal .cb-det-chip svg { font-size: 22px; width: 26px; flex: 0 0 auto; }
.cb-modal .cb-det-chip span { flex: 1 1 auto; font-weight: 600; }
.cb-modal .cb-det-chip small { display: block; font-size: 12.5px; color: #607487; font-weight: 500; }
.cb-modal .cb-det-chip b { font-size: 17px; white-space: nowrap; }
.cb-modal .cb-det-chip.is-off { opacity: .65; }
.cb-modal .cb-det-chip.is-off b { text-decoration: line-through; }
.cb-modal .cb-det-condbox { display: flex; gap: 10px; align-items: center; background: #fffaf0; border: 1px solid #f0c36d; border-radius: 12px; padding: 10px 14px; font-size: 15.5px; margin-bottom: 10px; }
.cb-modal .cb-det-condbox i, .cb-modal .cb-det-condbox svg { font-size: 22px; flex: 0 0 auto; }
.cb-modal .cb-det-cta td, .cb-modal .cb-det-cta th { font-size: 16px; padding: 8px 12px !important; }
.cb-modal .cb-det-cta tr.cb-cta-pago td { background: #f6fbf8; }
.cb-modal .cb-det-cta tr.cb-cta-mul td:nth-child(2) { color: #607487; }
.cb-modal .cb-det-cta tr.cb-cta-ant td { background: #f4f7fa; }
.cb-modal .cb-det-cta tfoot td { font-size: 17px; border-top: 2px solid #07546e; background: #fff; }
.cb-modal .cb-det-todo { margin: 8px 0 4px; }
.cb-modal .cb-det-prox { font-size: 15px; margin: 8px 0 0; }
.cb-modal .cb-det-tec { margin-top: 16px; border: 1px solid #e3e8ee; border-radius: 12px; padding: 0 14px; background: #fbfcfd; }
.cb-modal .cb-det-tec > summary { cursor: pointer; padding: 12px 0; font-size: 16px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.cb-modal .cb-det-tec > summary i, .cb-modal .cb-det-tec > summary svg { font-size: 20px; }
.cb-modal .cb-det-tec[open] { padding-bottom: 14px; }
.cb-modal .cb-det-h4 { font-size: 15.5px; font-weight: 800; color: #0b5d78; margin: 14px 0 8px; }
.cb-modal .cb-det-h4 small { font-weight: 400; color: #607487; }
.cb-modal .cb-det-pago.is-fut { opacity: .6; }
@media (max-width: 767px) { .cb-modal .cb-det-hero-main strong { font-size: 32px; } }
.cb-modal .cb-det-cta td:first-child { white-space: nowrap; width: 130px; }
.cb-modal .cb-det-cta td:nth-child(2) { min-width: 240px; }
.cb-modal .cb-det-cta td:nth-child(n+3) { white-space: nowrap; }
.cb-modal .cb-cond-tabla td:nth-child(2), .cb-modal .cb-cond-tabla th:nth-child(2), .cb-modal .cb-cond-tabla td:nth-child(3), .cb-modal .cb-cond-tabla th:nth-child(3) { text-align: left; }
/* v0.7.2: detalle completo de v0.6.1 + multas con / sin */
.cb-modal tr.cb-det-off td { color: #9aa8b5; }
.cb-modal tr.cb-det-off td small { color: #9aa8b5; }
.cb-modal .cb-det-multag { color: #8a5a00; font-weight: 600; }
/* v0.7.3: condonación solo sobre la multa (porcentaje) y cálculo del pago mínimo */
.cb-modal .cb-cond-pctin { display: flex; align-items: center; gap: 8px; max-width: 160px; }
.cb-modal .cb-cond-pctin input { font-size: 20px; font-weight: 800; text-align: right; }
.cb-modal .cb-cond-pctin b { font-size: 20px; color: #8a5a00; }
.cb-modal .cb-cond-calc { margin: 10px 0 6px; }
.cb-modal .cb-cond-calc-g { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; }
.cb-modal .cb-cond-calc-g > div { border: 1px solid #e3e8ee; border-radius: 12px; padding: 10px 12px; background: #fff; }
.cb-modal .cb-cond-calc-g small { display: block; font-size: 13px; color: #607487; }
.cb-modal .cb-cond-calc-g b { font-size: 19px; color: #10263a; white-space: nowrap; }
.cb-modal .cb-cond-calc-g .is-cond { background: #ecf8f0; border-color: #b7e4c7; }
.cb-modal .cb-cond-calc-g .is-cond b { color: #1f6d43; }
.cb-modal .cb-cond-calc-g .is-min { background: #fff8eb; border-color: #f0c36d; grid-column: 1 / -1; }
.cb-modal .cb-cond-calc-g .is-min b { font-size: 24px; color: #8a5a00; }
/* v0.7.4: multa pagada con el arriendo (criterio Breal) y días de atraso */
.cb-modal .cb-det-tags em.is-ok { background: #e3f5ea; color: #1f6d43; }
.cb-modal .cb-det-multinfo { display: block; margin: 4px 0; }
.cb-modal .cb-det-multinfo.is-ok { color: #1f6d43; }
.cb-modal .cb-det-neto td:first-child { white-space: nowrap; }
/* v0.7.8: cuentas de servicios en el detalle */
.cb-modal .cb-sv-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; }
.cb-modal .cb-sv { border: 1px solid #e3e8ee; border-radius: 12px; padding: 10px 14px; background: #fff; }
.cb-modal .cb-sv.is-deuda { border-color: #f2c0bc; background: #fffafa; }
.cb-modal .cb-sv-t { display: flex; align-items: center; gap: 8px; font-size: 16px; }
.cb-modal .cb-sv-t i, .cb-modal .cb-sv-t svg { font-size: 22px; width: 26px; }
.cb-modal .cb-sv-t span { margin-left: auto; font-weight: 800; font-size: 17px; }
.cb-modal .cb-sv.is-deuda .cb-sv-t span { color: #a8322a; }
.cb-modal .cb-sv.is-ok .cb-sv-t span { color: #1f6d43; font-size: 15px; }
.cb-modal .cb-sv-d { font-size: 13.5px; color: #607487; margin-top: 3px; }
.cb-modal .cb-sv-aviso { display: flex; gap: 8px; align-items: flex-start; background: #fffaf0; border: 1px solid #f0c36d; border-radius: 12px; padding: 10px 14px; font-size: 14px; color: #5c4400; margin: 10px 0 4px; }
.cb-modal .cb-sv-aviso i, .cb-modal .cb-sv-aviso svg { font-size: 18px; flex: 0 0 auto; margin-top: 2px; }
/* v0.8.1: modo «solo detalle» (desde PayTracker y Auditoría previa) */
body.cb-solo #cbEstado, body.cb-solo #cbResultado, body.cb-solo #cbError, body.cb-solo #cbAviso, body.cb-solo #cbVista, body.cb-solo .cb-barra, body.cb-solo .pr-pagehead { display: none !important; }
body.cb-solo .cb-solo-det { padding: 16px 18px 20px; }
body.cb-solo .cb-solo-tit h1 { font-size: 22px; font-weight: 800; display: flex; align-items: center; gap: 10px; margin: 0 0 12px; }
body.cb-embed .slim-header, body.cb-embed .slim-navbar, body.cb-embed .slim-footer, body.cb-embed .pr-busylight, body.cb-embed #busyLight { display: none !important; }
body.cb-embed .slim-mainpanel { margin: 0 !important; padding: 0 !important; }
body.cb-embed .ap-shell { padding: 8px !important; max-width: none !important; }
body.cb-embed .cb-solo-tit { display: none; }
/* v0.8.2: servicio «Sin datos» (PayTracker -1) — no es «sin deuda» */
.cb-modal .cb-sv.is-sd { background: #f7f9fb; border-style: dashed; }
.cb-modal .cb-sv.is-sd .cb-sv-t span { color: #8796a5; font-size: 15px; }

/* ---- v0.8.5 (2026-10-25): responsividad revisada en iPhone (390), iPad vertical (820), iPad horizontal (1180) y MacBook (1470) ---- */
/* Tabla en pantallas medianas (iPad horizontal, notebooks): anchos en %, la propiedad nunca queda en 0 y las acciones pasan a íconos. */
@media (min-width: 1024px) and (max-width: 1599px) {
  .cb-page table.cb-tabla { table-layout: fixed; width: 100% !important; }
  .cb-page table.cb-tabla .cb-c-est { width: 12%; }
  .cb-page table.cb-tabla .cb-c-deuda { width: 20%; }
  .cb-page table.cb-tabla .cb-c-gest { width: 9%; min-width: 96px; }
  .cb-page table.cb-tabla .cb-c-ult { width: 14%; }
  .cb-page table.cb-tabla .cb-c-comp { width: 13%; }
  .cb-page table.cb-tabla .cb-c-acc { width: 12%; }
  .cb-page table.cb-tabla td { overflow-wrap: break-word; }
  .cb-page table.cb-tabla th { white-space: normal; word-break: normal; hyphens: none; }
  .cb-page .cb-monto, .cb-page .cb-ver-det, .cb-page table.cb-tabla td b { white-space: nowrap; }
  .cb-page .cb-ver-det { padding-left: 8px; padding-right: 8px; }
}
@media (min-width: 1280px) and (max-width: 1599px) {
  .cb-page table.cb-tabla .cb-c-acc { width: 16%; }
  .cb-page table.cb-tabla .cb-c-deuda { width: 19%; }
  .cb-page table.cb-tabla .cb-c-comp { width: 12%; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  .cb-page .cb-acc span { display: none; }
  .cb-page .cb-acc.is-main span { display: inline; }
  .cb-page .cb-acc { padding: 7px 10px; }
  .cb-page .cb-acc.is-main { flex: 1 1 100%; justify-content: center; }
}
/* Celular: las tarjetas de «Mi día» en una columna y los filtros más compactos (sin desbordar la pantalla). */
@media (max-width: 560px) {
  .cb-page .cb-kpis { grid-template-columns: minmax(0, 1fr); }
  .cb-page .cb-kpi { min-width: 0; }
  .cb-page .cb-kpi > * { min-width: 0; }
  .cb-page .lq3-card, .cb-page .cb-vivo, .cb-page .ap-tabla-wrap { max-width: 100%; }
  .cb-page .ap-chip, .cb-page .cb-chip, .cb-page .lq3-chip { padding: 6px 11px; font-size: 14.5px; }
  .cb-page .pr-pagehead-main { gap: 10px; }
  .cb-page .pr-pagehead-title { font-size: 24px; }
}
/* Nada debe empujar el ancho de la página en pantallas chicas. */
@media (max-width: 1023px) {
  .cb-page, .cb-page .ap-shell { overflow-x: hidden; }
}

/* ---- v0.9.0 (2026-10-26): «Mora temprana» y «Garantías por cobrar» (criterios comunes con PayTracker v2) ---- */
/* 8 indicadores: 4 por fila en escritorio, 2 en iPad, 1 en celular. Los textos nunca salen de la tarjeta. */
.cb-page .cb-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (min-width: 1800px) { .cb-page .cb-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1279px) { .cb-page .cb-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .cb-page .cb-metrics { grid-template-columns: minmax(0, 1fr); } }
.cb-page .cb-metrics .ap-metric { min-width: 0; padding-right: 46px; }
.cb-page .cb-metrics .ap-metric-main { min-width: 0; flex: 1 1 auto; }
.cb-page .cb-metrics .ap-metric-main strong { font-size: clamp(21px, 1.6vw, 28px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
.cb-page .cb-metrics .ap-metric-main span, .cb-page .cb-metrics .ap-metric-main small { overflow-wrap: anywhere; display: block; }
@media (min-width: 1280px) and (max-width: 1599px) {
  .cb-page .cb-metrics .ap-metric { padding: 14px 40px 14px 14px; gap: 10px; }
  .cb-page .cb-metrics .ap-metric-icon { width: 52px !important; height: 52px !important; min-width: 52px !important; border-radius: 14px; }
  .cb-page .cb-metrics .ap-metric-icon > i, .cb-page .cb-metrics .ap-metric-icon > svg { font-size: 27px !important; }
}
.cb-page .cb-metric-clic { cursor: pointer; transition: transform .12s, box-shadow .12s, border-color .12s; }
.cb-page .cb-metric-clic:hover, .cb-page .cb-metric-clic:focus-visible { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(11, 93, 120, .13); border-color: #9cd3e8; outline: none; }
.cb-page .cb-metric-clic.is-on, .cb-page .cb-metric-clic.is-sel { border-color: #0384ad; box-shadow: 0 0 0 2px #0384ad inset; }
.cb-page .cb-metric-clic[data-cb-ver="temprana"] .ap-metric-main strong { color: #0b5d78; }
.cb-page .cb-metric-clic[data-cb-ver="garantia"] .ap-metric-main strong { color: #8a5a00; }
.cb-page .cb-chip-temprana.is-on { background: #f2c94c !important; border-color: #e0b52e !important; color: #3d2c00 !important; }
.cb-page .cb-chip-gar.is-on { background: #8a5a00 !important; border-color: #8a5a00 !important; color: #fff !important; }
.cb-page .cb-dl-gar b { color: #8a5a00; }

/* ---- v0.10.0 (2026-10-26): día anterior en «En vivo», ritmo, Bitácora de gestiones, «¿contestó?» según el resultado ---- */
.cb-page .cb-vivo-card .lq3-card-header { flex-wrap: wrap; }
.cb-page .cb-dianav { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cb-page .cb-dianav-btn { width: 44px; height: 44px; border-radius: 12px; border: 1px solid #cdd6df; background: #fff; color: #0b5d78; font-size: 18px; cursor: pointer; }
.cb-page .cb-dianav-btn:hover:not(:disabled) { border-color: #5fc3e4; background: #f2fafd; }
.cb-page .cb-dianav-btn:disabled { opacity: .4; cursor: default; }
.cb-page .cb-dianav-fecha { display: inline-flex; align-items: center; gap: 8px; margin: 0; height: 44px; padding: 0 12px; border: 1px solid #cdd6df; border-radius: 12px; background: #fff; font-size: 22px; }
.cb-page .cb-dianav-fecha input { border: 0; font-size: 17px; font-weight: 700; color: #10263a; background: transparent; outline: none; }
.cb-page .cb-dianav-hoy { height: 44px; font-size: 16px; font-weight: 700; }
.cb-page .cb-vivo-card.is-pasado .lq3-card-header { background: linear-gradient(90deg, #fff7e6, #fffdf6); }
.cb-page .cb-vivo-card.is-pasado #cbVivoTit::after { content: "Día cerrado"; margin-left: 10px; font-size: 13px; font-weight: 800; vertical-align: middle; color: #8a5a00; background: #ffe7b0; border-radius: 999px; padding: 3px 10px; }
.cb-page .cb-kpi.is-ambar { background: linear-gradient(135deg, #fff8e8, #ffefcc); }
.cb-page .cb-kpis > .cb-kpi:last-child:nth-child(odd) { grid-column: 1 / -1; }

.cb-page .cb-bit-card { margin-bottom: 18px; }
.cb-page .cb-bit-card .lq3-card-header { flex-wrap: wrap; }
.cb-page .cb-bit-dash { font-size: 16px; font-weight: 700; text-decoration: none; }
.cb-page .cb-bit-rango { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; color: #607487; }
.cb-page .cb-bit-rango input { height: 40px; border: 1px solid #cdd6df; border-radius: 10px; padding: 0 8px; font-size: 16px; color: #10263a; }
.cb-page .cb-bit-res { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; padding: 4px 18px 14px; font-size: 16px; color: #44546a; }
.cb-page .cb-bit-kpi { display: flex; align-items: center; gap: 12px; background: #f8fafc; border: 1px solid #e6ecf1; border-radius: 14px; padding: 12px 14px; font-size: 30px; }
.cb-page .cb-bit-kpi strong { display: block; font-size: 26px; font-weight: 800; color: #10263a; line-height: 1.1; }
.cb-page .cb-bit-kpi span { display: block; font-size: 14.5px; font-weight: 600; color: #44546a; }
.cb-page .cb-bit-err { color: #a8322a; font-weight: 700; }
.cb-page .cb-bit-hora { font-size: 20px; color: #10263a; }
.cb-page .cb-bit-ges { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: #10263a; white-space: nowrap; }
.cb-page .cb-bit-img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; box-shadow: 0 0 0 1px #cdd6df; }
.cb-page .cb-bit-res-txt { font-weight: 700; color: #10263a; margin-top: 4px; }
.cb-page .cb-bit-monto { font-size: 18px; color: #1f6d43; }
.cb-page .cb-bit-obs { white-space: normal; max-height: 9.5em; overflow: auto; font-size: 16.5px; color: #10263a; background: #fffdf3; border-left: 3px solid #f0b44d; border-radius: 6px; padding: 6px 10px; }
.cb-page .cb-bit-warn { margin-top: 4px; font-size: 14px; font-weight: 700; color: #8a5a00; }
.cb-page table.cb-bit-tabla td.cb-c-obs { min-width: 260px; }
.cb-page table.cb-bit-tabla tr.is-noverif td:last-child { background: #fff8e8; }
.cb-page table.cb-bit-tabla .ap-pill i { margin-right: 3px; }
@media (max-width: 1023px) {
  .cb-page table.cb-bit-tabla td.cb-c-obs { min-width: 0; }
  .cb-page .cb-dianav { width: 100%; }
}
@media (max-width: 767px) {
  .cb-page .cb-dianav-fecha { flex: 1 1 auto; }
  .cb-page .cb-dianav-fecha input { width: 100%; }
  .cb-page .cb-bit-res { grid-template-columns: 1fr 1fr; padding: 4px 10px 12px; }
  .cb-page .cb-bit-rango { width: 100%; }
  .cb-page .cb-bit-rango input { flex: 1 1 0; min-width: 0; }
}

/* Registrar: «¿contestó?» según el resultado; llamadas solo por la central */
.cb-modal .cb-cont-auto { font-size: 16px; font-weight: 700; color: #607487; background: #f4f7fa; border-radius: 10px; padding: 10px 12px; }
.cb-modal .cb-cont-auto.is-si { color: #1f6d43; background: #e7f6ed; }
.cb-modal .cb-cont-auto.is-no { color: #8a5a00; background: #fff4de; }
.cb-modal .cb-cont-auto small { font-weight: 600; color: inherit; opacity: .8; }
.cb-modal .cb-lla-nota { margin: 12px 0 0; font-size: 15.5px; color: #34465a; background: #eef7fb; border-radius: 10px; padding: 10px 12px; }
.cb-page table.cb-bit-tabla { table-layout: fixed; }
.cb-page table.cb-bit-tabla th:nth-child(1) { width: 9%; } .cb-page table.cb-bit-tabla th:nth-child(2) { width: 10%; }
.cb-page table.cb-bit-tabla th:nth-child(3) { width: 19%; } .cb-page table.cb-bit-tabla th:nth-child(4) { width: 14%; }
.cb-page table.cb-bit-tabla th:nth-child(5) { width: 13%; } .cb-page table.cb-bit-tabla th:nth-child(6) { width: 10%; }
.cb-page table.cb-bit-tabla th:nth-child(7) { width: 15%; } .cb-page table.cb-bit-tabla th:nth-child(8) { width: 10%; }
.cb-page table.cb-bit-tabla td, .cb-page table.cb-bit-tabla td b { white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 1023px) { .cb-page table.cb-bit-tabla { table-layout: auto; } .cb-page table.cb-bit-tabla th { width: auto !important; } }
.cb-page .ap-filtros-sep:has(+ #cbBitGestoras:empty), .cb-page #cbBitGestoras:empty + .ap-filtros-sep { display: none; }

/* ---- v0.12.0 (2026-10-26): tabs Cartera | Bitácora, «En vivo» plegable, llamadas sin registrar, grabaciones ---- */
.cb-page .cb-tabs { display: flex; gap: 6px; margin: 4px 0 0; padding: 0 4px; border-bottom: 3px solid #cfe8f3; }
.cb-page .cb-tab { display: inline-flex; align-items: center; gap: 10px; border: 1px solid #cdd6df; border-bottom: 0; border-radius: 14px 14px 0 0; background: #fff; color: #44546a;
  font-size: 19px; font-weight: 800; padding: 12px 22px; cursor: pointer; margin-bottom: -3px; }
.cb-page .cb-tab i, .cb-page .cb-tab svg { font-size: 24px; }
.cb-page .cb-tab:hover { background: #f2fafd; }
.cb-page .cb-tab.is-on { color: #0b5d78; background: linear-gradient(180deg, #e9f6fb, #fff); border-color: #8ccbe2; border-bottom: 3px solid #fff; box-shadow: 0 -2px 8px rgba(11, 93, 120, .08); }
.cb-page .cb-tab-n { display: inline-block; min-width: 30px; text-align: center; font-size: 15px; font-weight: 800; border-radius: 999px; padding: 2px 9px; background: #eef2f6; color: #44546a; }
.cb-page .cb-tab-n:empty { display: none; }
.cb-page .cb-tab.is-on .cb-tab-n { background: #0b5d78; color: #fff; }
.cb-page #cbTabCartera, .cb-page #cbTabBitacora { padding-top: 16px; }
.cb-page .cb-plegar { margin-right: 4px; }
.cb-page .cb-vivo-card.is-plegado { margin-bottom: 12px; }
.cb-page .cb-vivo-mini { display: flex; flex-direction: column; gap: 8px; padding: 12px 18px 16px; }
.cb-page .cb-mini-g { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; background: #fff; border: 1px solid #e6ecf1; border-radius: 14px; padding: 8px 14px; cursor: pointer; }
.cb-page .cb-mini-g:hover { border-color: #9cccf5; }
.cb-page .cb-mini-foto { width: 48px; height: 48px; padding: 3px; }
.cb-page .cb-mini-nom { font-size: 19px; color: #10263a; min-width: 80px; }
.cb-page .cb-mini-kpi { display: inline-flex; align-items: center; gap: 6px; font-size: 16px; color: #44546a; }
.cb-page .cb-mini-kpi i, .cb-page .cb-mini-kpi svg { font-size: 20px; }
.cb-page .cb-mini-kpi b { font-size: 19px; color: #10263a; }
.cb-page .cb-mini-kpi.is-alto b { color: #8a5a00; }

.cb-page .cb-sinreg-card { margin-bottom: 18px; border: 2px solid #f0d48a; }
.cb-page .cb-sinreg-card .lq3-card-header { background: linear-gradient(90deg, #fff7e6, #fffdf6); }
.cb-page .cb-sinreg { display: flex; flex-direction: column; gap: 8px; padding: 12px 18px 16px; max-height: 460px; overflow: auto; }
.cb-page .cb-sinreg-item { display: grid; grid-template-columns: 150px auto minmax(0, 1fr) auto; align-items: center; gap: 14px; background: #fff; border: 1px solid #e6ecf1; border-left: 5px solid #f0b44d; border-radius: 12px; padding: 10px 14px; font-size: 17px; }
.cb-page .cb-sinreg-item.is-reciente { border-left-color: #5fc3e4; }
.cb-page .cb-sinreg-hora b { display: block; font-size: 20px; color: #10263a; }
.cb-page .cb-sinreg-hora small { font-size: 14px; color: #607487; }
.cb-page .cb-sinreg-acc { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; }
.cb-page .cb-rec-box { display: inline-flex; margin-top: 6px; }
.cb-page .cb-rec-btn { font-weight: 700; }
.cb-page .cb-rec-audio { width: 260px; max-width: 100%; height: 40px; }
@media (max-width: 1023px) {
  .cb-page .cb-sinreg-item { grid-template-columns: 1fr; gap: 6px; }
  .cb-page .cb-sinreg-acc { justify-content: flex-start; }
}
@media (max-width: 767px) {
  .cb-page .cb-tab { font-size: 16px; padding: 10px 12px; gap: 6px; flex: 1 1 0; justify-content: center; }
  .cb-page .cb-tab i, .cb-page .cb-tab svg { display: none; }
  .cb-page .cb-mini-g { gap: 6px 12px; }
}
@media (max-width: 767px) { .cb-page .cb-tab-largo { display: none; } }

/* ---- v0.13.0 (2026-10-26): pestaña Buscar (estilo «Buscar liquidaciones») e historial de la propiedad renovado ---- */
.cb-page .cb-bus-card { margin-bottom: 14px; }
.cb-page .cb-bus-card .lq3-search-head h2 { font-size: 20px; }
.cb-page .cb-bus-row { grid-template-columns: repeat(4, minmax(170px, 1fr)) minmax(250px, 1.2fr) minmax(220px, 1.2fr) auto; }
.cb-page .cb-bus-card .lq3-flabel { font-size: 13.5px; }
.cb-page .cb-bus-card .lq3-chip { height: 36px; font-size: 15px; padding: 0 14px; }
.cb-page .cb-bus-card .lq3-chip.is-on { background: #0b5d78; border-color: #0b5d78; color: #fff; }
.cb-page .cb-bus-card .lq3-quick-label { font-size: 14px; font-weight: 800; color: #44546a; }
.cb-page .cb-bus-sep { margin-left: 10px; }
.cb-page .cb-bus-card .cb-bit-rango input { height: 44px; }
.cb-page .cb-bus-texto .form-control { height: 44px; font-size: 16px; }
.cb-page .cb-bus-ultimo { margin-left: auto; font-size: 15px; }
.cb-page .cb-bus-card .lq3-tag { height: 34px; font-size: 14.5px; }
.cb-page .cb-bus-conteo { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 14px; }
.cb-page .cb-bus-conteo:empty { display: none; }
.cb-page .cb-bus-conteo-lbl { font-size: 15px; font-weight: 800; color: #44546a; margin-right: 4px; }
.cb-page .cb-bus-res { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #d5dee8; background: #fff; border-radius: 999px; padding: 6px 14px; font-size: 15.5px; color: #34465a; cursor: pointer; }
.cb-page .cb-bus-res b { font-size: 18px; color: #10263a; }
.cb-page .cb-bus-res small { font-size: 13px; color: #607487; }
.cb-page .cb-bus-res.is-ok { border-color: #b9e3c8; background: #f2fbf5; }
.cb-page .cb-bus-res.is-info { border-color: #b9d6f5; background: #f2f7fd; }
.cb-page .cb-bus-res.is-alto { border-color: #f0d48a; background: #fffaf0; }
.cb-page .cb-bus-res.is-critico { border-color: #f5c2bd; background: #fdf3f2; }
.cb-page .cb-bus-res.is-on { box-shadow: 0 0 0 3px #1b84e7; }
.cb-page .cb-bus-deuda { color: #a8322a; font-size: 18px; }
.cb-page table.cb-bus-tabla td.cb-c-obs { min-width: 240px; }
@media (max-width: 1500px) { .cb-page .cb-bus-row { grid-template-columns: repeat(3, minmax(0, 1fr)); } .cb-page .cb-bus-row .lq3-f-actions { grid-column: 1 / -1; } }
@media (max-width: 767px) { .cb-page .cb-bus-row { grid-template-columns: 1fr; } .cb-page .cb-bus-ultimo { margin-left: 0; white-space: normal; } }

/* Historial de la propiedad: modal ancho, resumen, filtros y línea de tiempo por día (íconos y colores de PayTracker v6) */
.cb-his-modal .modal-dialog { max-width: min(1280px, 96vw); }
.cb-his-modal .modal-body { background: #f6f9fb; }
.cb-his-modal .cb-his-res { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 12px 0; }
.cb-his-modal .cb-his-res:empty { display: none; }
.cb-his-modal .cb-bit-kpi { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid #e6ecf1; border-radius: 14px; padding: 12px 14px; font-size: 28px; }
.cb-his-modal .cb-bit-kpi strong { display: block; font-size: 22px; font-weight: 800; color: #10263a; line-height: 1.15; }
.cb-his-modal .cb-bit-kpi span { display: block; font-size: 14px; font-weight: 600; color: #44546a; }
.cb-his-modal .cb-his-filtros { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 4px 0 14px; position: sticky; top: -16px; z-index: 3; background: #f6f9fb; padding: 8px 0; }
.cb-his-modal .cb-his-filtros .ap-chip { font-size: 15px; }
.cb-his-modal .cb-his-buscar { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; min-width: 260px; color: #607487; }
.cb-his-modal .cb-his-buscar input { height: 40px; font-size: 16px; border-radius: 10px; }
.cb-his-modal .cb-his-dia { margin-bottom: 18px; }
.cb-his-modal .cb-his-dia-tit { font-size: 16px; font-weight: 800; color: #0b5d78; text-transform: uppercase; letter-spacing: .3px; margin: 0 0 8px; display: flex; align-items: center; gap: 8px; }
.cb-his-modal .cb-his-item { position: relative; display: flex; gap: 14px; background: #fff; border: 1px solid #e6ecf1; border-radius: 14px; padding: 14px 16px; margin: 0 0 10px 18px; box-shadow: 0 2px 8px rgba(16, 24, 40, .04); }
.cb-his-modal .cb-his-item::before { content: ""; position: absolute; left: -12px; top: 0; bottom: -10px; width: 2px; background: #dbe6ee; }
.cb-his-modal .cb-his-item.is-cobranza { border-left: 5px solid #a8322a; }
.cb-his-modal .cb-his-item.is-central { border-left: 5px solid #f43201; background: #fffaf8; }
.cb-his-modal .cb-his-item.is-paytracker { border-left: 5px solid #556b2f; }
.cb-his-modal .cb-his-item.is-anulada { opacity: .55; }
.cb-his-modal .cb-his-ico { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: #f4f7fa; font-size: 26px; }
.cb-his-modal .cb-his-body { flex: 1 1 auto; min-width: 0; font-size: 16.5px; color: #34465a; }
.cb-his-modal .cb-his-head { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
.cb-his-modal .cb-his-tipo { font-size: 17.5px; color: #10263a; }
.cb-his-modal .cb-his-hora { font-size: 18px; font-weight: 800; color: #0b5d78; white-space: nowrap; }
.cb-his-modal .cb-his-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; margin-top: 4px; font-size: 15px; color: #44546a; }
.cb-his-modal .cb-his-meta i, .cb-his-modal .cb-his-meta svg { font-size: 19px; }
.cb-his-modal .cb-his-foto { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; vertical-align: middle; }
.cb-his-modal .cb-his-quien { font-weight: 700; color: #10263a; }
.cb-his-modal .cb-his-pills { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.cb-his-modal .cb-his-pills .ap-pill { font-size: 14px; }
.cb-his-modal .cb-his-comp { margin-top: 8px; padding: 8px 12px; border-radius: 10px; background: #f2fbf5; border: 1px solid #b9e3c8; font-size: 16px; }
.cb-his-modal .cb-his-txt { margin-top: 8px; padding: 10px 12px; border-radius: 10px; background: #fffdf3; border-left: 3px solid #f0b44d; font-size: 16.5px; color: #10263a; white-space: normal; overflow-wrap: anywhere; }
.cb-his-modal .cb-his-txt.is-corto { max-height: 8.5em; overflow: hidden; }
.cb-his-modal .cb-his-central { margin-top: 8px; }
.cb-his-modal .cb-his-acc { margin-top: 8px; }
@media (max-width: 1023px) { .cb-his-modal .cb-his-res { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) {
  .cb-his-modal .cb-his-res { grid-template-columns: 1fr; }
  .cb-his-modal .cb-his-item { margin-left: 0; padding: 12px; gap: 10px; }
  .cb-his-modal .cb-his-item::before { display: none; }
  .cb-his-modal .cb-his-ico { flex-basis: 40px; width: 40px; height: 40px; font-size: 22px; }
  .cb-his-modal .cb-his-buscar { margin-left: 0; width: 100%; min-width: 0; }
}
.cb-page table.cb-bus-tabla { table-layout: fixed; }
.cb-page table.cb-bus-tabla th:nth-child(1) { width: 18%; } .cb-page table.cb-bus-tabla th:nth-child(2) { width: 14%; } .cb-page table.cb-bus-tabla th:nth-child(3) { width: 13%; }
.cb-page table.cb-bus-tabla th:nth-child(4) { width: 8%; } .cb-page table.cb-bus-tabla th:nth-child(5) { width: 10%; } .cb-page table.cb-bus-tabla th:nth-child(6) { width: 17%; }
.cb-page table.cb-bus-tabla th:nth-child(7) { width: 10%; } .cb-page table.cb-bus-tabla th:nth-child(8) { width: 10%; }
.cb-page table.cb-bus-tabla .ap-pill, .cb-page table.cb-bit-tabla .ap-pill { white-space: normal; text-align: left; }
.cb-page table.cb-bus-tabla td.cb-c-obs { min-width: 0; }
@media (max-width: 1023px) { .cb-page table.cb-bus-tabla { table-layout: auto; } .cb-page table.cb-bus-tabla th { width: auto !important; } }
/* v0.13.1: fila Total por columna en «Resumen por concepto» */
.cb-modal .cb-det-total td { background: #eef8fb; border-top: 2px solid #0b5d78 !important; font-size: 16.5px !important; color: #0a2a3a; }
.cb-modal .cb-det-total td.cb-rojo { color: #a8322a; }
.cb-modal .cb-det-total td.cb-verde { color: #1f6d43; }
.cb-modal .cb-det-total td small { font-weight: 400; }
/* v0.14.0: corrección de imputación en Breal */
.cb-modal .cb-corr-btn { margin-top: 10px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 999px; border: 1px solid #f0c36d;
  background: linear-gradient(180deg, #fffaf0, #fdecc8); color: #8a5a00; font-weight: 700; font-size: 15.5px; cursor: pointer; }
.cb-modal .cb-corr-btn:hover { background: linear-gradient(180deg, #fff3dc, #fbe0a6); }
.cb-modal .cb-det-tags em.is-corr { background: #fdecc8; color: #8a5a00; }
.cb-modal .cb-corr-hist p { margin: 8px 0 0; padding: 8px 12px; background: #fffaf0; border: 1px solid #f3dca8; border-radius: 10px; font-size: 15px; line-height: 1.45; }
.cb-modal .cb-corr-hist em, .cb-modal .cb-corr-est { font-style: normal; font-weight: 700; padding: 1px 8px; border-radius: 999px; font-size: 13.5px; }
.cb-modal .cb-corr-hist em.is-ok, .cb-modal .cb-corr-est.is-ok { background: #e3f5ea; color: #1f6d43; }
.cb-modal .cb-corr-hist em.is-mal, .cb-modal .cb-corr-est.is-mal { background: #fbe4e2; color: #a8322a; }
.cb-modal .cb-corr-aviso { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; margin: 12px 0; background: #fff8eb; border: 1px solid #f0c36d; border-radius: 12px; font-size: 15.5px; line-height: 1.45; }
.cb-modal .cb-corr-aviso i, .cb-modal .cb-corr-aviso svg { font-size: 22px; margin-top: 2px; }
.cb-modal .cb-corr-sug { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 10px; padding: 8px 14px; border-radius: 10px; border: 1px solid #9ad7ea; background: #eef8fb; color: #0b5d78; font-weight: 700; font-size: 15.5px; cursor: pointer; }
.cb-modal .cb-corr-tabla input.cb-corr-in { max-width: 170px; margin-left: auto; text-align: right; font-size: 17px; font-weight: 700; }
.cb-modal .cb-corr-log td { vertical-align: top; }
@media (max-width: 767px) {
  .cb-modal .cb-corr-tabla input.cb-corr-in { max-width: 130px; }
  .cb-modal .cb-corr-log td, .cb-modal .cb-corr-tabla td { font-size: 15px; }
}
/* v0.15.0: contexto del contrato en la cartera, gestor con foto y «Sugerir asignación» */
.cb-page .cb-ctx { margin-top: 8px; padding: 8px 10px; border: 1px solid #d6e6ee; border-radius: 10px; background: #f6fafc; }
.cb-page .cb-ctx-l { display: flex; align-items: center; gap: 8px; font-size: 15px; padding: 2px 0; }
.cb-page .cb-ctx-l span { flex: 1; display: flex; flex-direction: column; line-height: 1.25; color: #10263a; }
.cb-page .cb-ctx-l small { font-size: 13.5px; color: #607487; }
.cb-page .cb-ctx-l b { font-size: 15.5px; color: #0a2a3a; white-space: nowrap; }
.cb-page .cb-ctx-ratio { margin-top: 4px; font-size: 13.5px; color: #607487; }
.cb-page .cb-gest-sel { display: flex; align-items: center; gap: 8px; }
.cb-page .cb-gest-sel select { min-width: 120px; }
.cb-modal .cb-corr-sugbox { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 0 0 10px; }
.cb-modal .cb-corr-sugbox .cb-corr-sug { margin: 0; }
.cb-modal .cb-corr-sug[disabled] { opacity: .5; cursor: not-allowed; }
/* v0.16.0: filtro «Deuda» y auditoría de correcciones */
.cb-page .cb-chip-deuda i, .cb-page .cb-chip-deuda svg { font-size: 16px; }
.cb-aud-dialog { max-width: min(1600px, 96vw); }
.cb-modal .cb-aud-intro { font-size: 15.5px; margin-bottom: 10px; }
.cb-modal .cb-aud-filtros { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.cb-modal .cb-aud-filtros .cb-f { margin: 0; }
.cb-modal .cb-aud-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.cb-modal .cb-aud-tabla td { font-size: 16px; vertical-align: top; }
.cb-modal .cb-aud-tabla .ap-sub { font-size: 14px; }
.cb-modal .cb-aud-mot { max-width: 380px; white-space: normal; line-height: 1.4; }
/* v0.16.3: contacto del dueño y recuadro del contrato en la columna Propiedad (menos espacio en blanco) */
.cb-page .cb-dueno-ct { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 4px 0 0 30px; }
.cb-page .cb-c-prop .cb-ctx { max-width: 460px; }

/* v0.18.0: barras de «En vivo» más altas, con el número y tooltip amarillo por hora */
.cb-page .cb-horas { height: 150px; margin: 18px 0 8px; }
.cb-page .cb-hbar span { position: relative; display: flex; justify-content: center; }
.cb-page .cb-hbar span b { position: absolute; top: -20px; font-size: 13px; font-weight: 800; color: #1f6d43; }
.cb-page .cb-hbar.is-dato { cursor: help; }
.cb-page .cb-hbar.is-dato:hover span { filter: brightness(1.12); box-shadow: 0 0 0 2px #f5d742; }
.cb-page .cb-hbar small { font-size: 13px; }
@media (max-width: 767px) { .cb-page .cb-horas { height: 120px; } .cb-page .cb-hbar span b { font-size: 11px; top: -17px; } }

/* v0.18.0: filtros arriba en su propia tarjeta, luego estadísticas y En vivo */
.cb-page .cb-filtros-card { padding: 6px 0; margin-bottom: 14px; }
.cb-page .cb-filtros-card .ap-filtros { border: 0; }
.cb-page .cb-orden { border-top: 1px dashed #e3eaef !important; }
.cb-page #cbTabCartera > .cb-metrics { margin-bottom: 16px; }
.cb-page #cbTabCartera > .cb-vivo-card { margin-bottom: 18px; }

/* v0.18.0: contrato en PDF */
.cb-page .cb-pdf-btn { font-size: 14px; font-weight: 700; padding: 4px 10px; }
.cb-page .cb-ctx-pdf { margin-bottom: 6px; }
.cb-page .cb-ctx-solo { padding: 6px 0 0; border: 0; background: transparent; }
.cb-pdf-modal .modal-dialog { max-width: min(1200px, 96vw); }
.cb-pdf-modal .modal-header { gap: 12px; align-items: center; }
.cb-pdf-modal .cb-pdf-acc { display: flex; gap: 8px; margin-left: auto; flex-wrap: wrap; }
.cb-pdf-modal .cb-pdf-acc .ap-chip { text-decoration: none; font-weight: 700; }
.cb-pdf-body { padding: 0; }
.cb-pdf-body iframe { display: block; width: 100%; height: 80vh; border: 0; background: #f1f5f9; }
@media (max-width: 767px) { .cb-pdf-body iframe { height: 70vh; } }

/* v0.18.0: staff para pruebas */
.cb-page .cb-prueba { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.cb-page .cb-prueba .cb-staff-sel { flex: 1 1 220px; min-width: 0; }
.cb-page .cb-prueba #cbEnvPruebaDest { flex: 1 1 180px; min-width: 0; }
.cb-page .cb-staff-edit { font-weight: 700; }
.cb-page .cb-staff-ficha { flex: 1 1 100%; display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; background: #f2fbf5; border: 1px solid #c9ead5; border-radius: 12px; padding: 8px 12px; font-size: 15px; color: #1f4d36; }
.cb-page .cb-staff-ficha span { color: #44546a; }
.cb-staff-intro { font-size: 16px; color: #44546a; }
.cb-staff-lista { display: grid; gap: 8px; }
.cb-staff-fila { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: 8px; align-items: center; border-bottom: 1px dashed #e6ecf1; padding-bottom: 8px; }
.cb-staff-nom b { display: block; font-size: 16px; color: #10263a; }
.cb-staff-nom small { font-size: 13.5px; color: #607487; word-break: break-all; }
.cb-staff-fila .form-control { font-size: 15px; }
@media (max-width: 767px) { .cb-staff-fila { grid-template-columns: 1fr; } }

/* v0.18.0: log de gestiones (filtros y reproductor) */
.cb-page .cb-log-filtros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; gap: 10px 14px; align-items: end; padding: 6px 18px 12px; }
.cb-page .cb-log-filtros .lq3-f { min-width: 0; }
.cb-page .cb-log-grab { display: inline-flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 700; color: #44546a; margin: 0 0 10px; cursor: pointer; white-space: nowrap; }
.cb-page .cb-log-grab input { width: 20px; height: 20px; accent-color: #6d28d9; }
.cb-rp { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; background: #f6f3ff; border: 1px solid #ddd3fb; border-radius: 14px; padding: 6px 8px; margin-top: 6px; max-width: 520px; }
.cb-rp-b { display: inline-flex; align-items: center; justify-content: center; gap: 2px; min-width: 38px; height: 38px; border-radius: 10px; border: 1px solid #cfc2f7; background: #fff; color: #4c1d95; font-size: 15px; font-weight: 800; cursor: pointer; text-decoration: none; padding: 0 8px; }
.cb-rp-b small { font-size: 10px; font-weight: 800; }
.cb-rp-b:hover { background: #ede7ff; color: #4c1d95; text-decoration: none; }
.cb-rp-play { background: linear-gradient(180deg, #7c3aed, #5b21b6); color: #fff; border-color: #5b21b6; min-width: 46px; height: 46px; border-radius: 50%; font-size: 17px; }
.cb-rp-play:hover { background: #5b21b6; color: #fff; }
.cb-rp-bar { flex: 1 1 140px; min-width: 120px; accent-color: #6d28d9; }
.cb-rp-t { font-size: 14px; font-weight: 700; color: #44546a; font-variant-numeric: tabular-nums; min-width: 92px; }
.cb-rp-vel { min-width: 50px; }
@media (max-width: 1100px) { .cb-page .cb-log-filtros { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .cb-page .cb-log-filtros { grid-template-columns: 1fr; padding: 6px 10px 10px; } .cb-rp { max-width: 100%; } }
.cb-page .cb-rp-child > td { background: #faf8ff !important; padding: 10px 16px !important; }
.cb-page .cb-rp-fila { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.cb-page .cb-rp-tit { font-size: 16px; color: #3b2a6b; }
.cb-page .cb-rp-fila .cb-rp { margin: 0; flex: 1 1 520px; max-width: 760px; }

/* v0.18.0: «sin próxima gestión» y Planado */
.cb-page .cb-sinprox { border: 1px dashed #f0c36d; background: #fffaf0; border-radius: 12px; padding: 10px 12px; }
.cb-page .cb-sinprox .cb-check span { font-size: 15.5px; }
.cb-page .cb-sinprox-det { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 10px; margin-top: 10px; }
.cb-page .cb-sinprox-det label { display: flex; flex-direction: column; gap: 4px; margin: 0; font-weight: 700; font-size: 14.5px; color: #44546a; }
.cb-page .cb-sinprox-det small { font-weight: 600; color: #8a5a00; }
.cb-page .cb-sinprox-pill { display: inline-flex; flex-direction: column; gap: 2px; background: #fff4dc; border: 1px solid #f0c36d; color: #8a5a00; border-radius: 10px; padding: 4px 10px; font-weight: 800; font-size: 14px; }
.cb-page .cb-sinprox-pill.is-ok { background: #eaf7ef; border-color: #a7dcb9; color: #1f6d43; }
.cb-page .cb-sinprox-pill small { font-weight: 600; font-size: 12.5px; }
.cb-page .cb-sinprox-card { margin-bottom: 18px; }
.cb-page .cb-sinprox-lista { display: grid; gap: 8px; padding: 6px 18px 16px; }
.cb-page .cb-sinprox-item { display: grid; grid-template-columns: 110px minmax(0, 1.2fr) minmax(0, 2fr) auto; gap: 12px; align-items: center; border: 1px solid #f0d9a8; background: #fffdf7; border-radius: 14px; padding: 10px 14px; }
.cb-page .cb-sinprox-item.is-ok { border-color: #c9ead5; background: #f7fcf9; }
.cb-page .cb-sinprox-q b { display: block; font-size: 16px; }
.cb-page .cb-sinprox-q small { color: #607487; }
.cb-page .cb-sinprox-txt { font-size: 15px; color: #34465a; margin-top: 4px; }
.cb-page .cb-sinprox-acc { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 1023px) { .cb-page .cb-sinprox-item { grid-template-columns: 1fr; } .cb-page .cb-sinprox-acc { justify-content: flex-start; } .cb-page .cb-sinprox-det { grid-template-columns: 1fr; } }

/* v0.18.0: puntaje de prioridad */
.cb-page .cb-pje { display: inline-flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 800; border-radius: 999px; padding: 2px 10px; margin: 4px 0; cursor: help; border: 1px solid transparent; }
.cb-page .cb-pje.is-alto { background: #fde8e6; color: #a8322a; border-color: #f2a4a4; }
.cb-page .cb-pje.is-medio { background: #fff4dc; color: #8a5a00; border-color: #f0c36d; }
.cb-page .cb-pje.is-bajo { background: #eef4f8; color: #44546a; border-color: #cdd6df; }

/* v0.20.0: transcripciones */
.cb-page .cb-tx-mini { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.cb-page .cb-sen { font-size: 12.5px; padding: 2px 8px; cursor: help; }
.cb-page .cb-tx { flex: 1 1 100%; background: #fff; border: 1px solid #e4dcfb; border-radius: 12px; padding: 10px 14px; }
.cb-page .cb-tx-tit { font-size: 15px; color: #3b2a6b; margin-bottom: 4px; }
.cb-page .cb-tx-tit small { color: #8a7fb0; font-weight: 600; }
.cb-page .cb-tx p { font-size: 16px; line-height: 1.55; color: #22303f; margin: 0 0 6px; white-space: pre-wrap; }
.cb-page .cb-tx-sen { display: flex; flex-wrap: wrap; gap: 6px; }

/* v0.20.0: recordatorios */
.cb-page .cb-btn-rec.is-on { background: #eaf7ef; border-color: #7fd19b; color: #1f6d43; font-weight: 800; }
.cb-page .cb-manana { cursor: help; }

/* v0.20.1: fotos de las gestoras más grandes, tooltip sin encabezado vacío, barras solo-llamadas y carga del reproductor */
.cb-page .cb-foto-wrap { width: 118px; height: 118px; padding: 5px; }
.cb-page .cb-foto-wrap .cb-dot { width: 24px; height: 24px; right: 6px; bottom: 8px; }
.cb-page .cb-mini-foto.cb-foto-wrap, .cb-page .cb-foto-wrap.is-mini { width: 60px; height: 60px; padding: 3px; }
.cb-page .cb-chip-img { width: 38px; height: 38px; }
.cb-page .cb-bit-img { width: 50px; height: 50px; }
.cb-popover .popover-header:empty { display: none; }
.cb-page .cb-hbar.is-solo-ll span { background: #cbd5e1; }
.cb-page .cb-rp-barw { flex: 1 1 140px; min-width: 120px; display: flex; }
.cb-page .cb-rp-barw .cb-rp-bar { width: 100%; }
.cb-page .cb-rp-spin { width: 14px; height: 14px; border-width: 2px; vertical-align: -2px; }
@media (max-width: 767px) { .cb-page .cb-foto-wrap { width: 92px; height: 92px; } .cb-page .cb-chip-img { width: 32px; height: 32px; } }
/* v0.20.2 */
.cb-pdf-body { position: relative; }
.cb-pdf-body .cb-pdf-cargando { position: absolute; top: 24px; left: 50%; transform: translateX(-50%); z-index: 2; background: #fff; border: 1px solid #e3eaef; border-radius: 12px; padding: 12px 18px; font-size: 16px; font-weight: 600; color: #34465a; box-shadow: 0 8px 24px rgba(16,24,40,.12); display: flex; gap: 10px; align-items: center; max-width: 90%; }
