/* Mapa CAPI V12.3 — figuras planas, panel de campo más ligero y asignaciones legibles. */
:root{--capi-v123-border:#dce7f2;--capi-v123-blue:#1268dd;--capi-v123-ink:#1b3854}
/* Un solo lenguaje visual para mapa, buscador, listado y ficha. No se crea
   un fondo cuadrado detrás de las figuras SVG. */
.capi-pin-v12 .map-pin-v4 .pin-shape,
.shape-chip .pin-shape,
body.field-only .v121-type-symbol .pin-shape{
  stroke:none!important;stroke-width:0!important;stroke-linejoin:round!important
}
.capi-pin-v12 .map-pin-v4.selected .pin-shape,
.shape-chip.selected .pin-shape{
  stroke:var(--capi-v123-blue)!important;stroke-width:4.1px!important
}
.capi-pin-v12 .map-pin-v4.related .pin-number,
.shape-chip.related .pin-number{fill:var(--capi-v123-blue)!important;stroke:none!important}
.capi-pin-v12 .map-pin-v4 .pin-number,.shape-chip .pin-number{stroke:none!important}
/* En segunda visita ausente se conserva el distintivo naranja «!».
   El contorno de la forma sigue sin borde; solo la selección tiene borde azul. */
/* Los indicadores de cita, ausencia y suplente permanecen por delante. */
.capi-pin-v12 .map-pin-v4>svg{position:relative!important;z-index:1!important}
.capi-pin-v12 .map-pin-v4 .corner,
.capi-pin-v12 .map-pin-v4 .appt-dot,
.capi-pin-v12 .map-pin-v4 .absent-number,
.capi-pin-v12 .map-pin-v4 .second-absent-dot{z-index:5!important}
/* Listado y cabecera de contacto: contenedor neutro, forma exacta del mapa. */
.shape-chip,
body.field-only .contact-head .shape-chip,
body.field-only .group-card .shape-chip,
body.field-only .member-card .shape-chip{
  background:transparent!important;border:none!important;box-shadow:none!important;
  border-radius:0!important;filter:none!important;
  width:38px!important;height:38px!important;min-width:38px!important;
  display:inline-flex!important;justify-content:center!important;align-items:center!important;
  padding:0!important;margin:0!important;transform:none!important
}
.shape-chip svg,
body.field-only .contact-head .shape-chip svg,
body.field-only .group-card .shape-chip svg,
body.field-only .member-card .shape-chip svg{
  width:33px!important;height:33px!important;flex:0 0 33px!important;
  display:block!important;overflow:visible!important;
}
.shape-chip .pin-number{font-size:20px!important;font-weight:800!important;letter-spacing:-.45px!important}
/* Ficha: claro contraste entre el contenido y los controles. */
body.field-only .panel{background:#f8fbff!important;border-top:1px solid #d7e3f1!important}
body.field-only .panel-tabs{padding:9px 10px!important;gap:6px!important;background:#f8fbff!important}
body.field-only .panel-tabs .panel-tab{border-radius:13px!important;box-shadow:none!important}
body.field-only .v11-track>section{background:#f8fbff!important;padding:11px 12px calc(18px + env(safe-area-inset-bottom))!important}
body.field-only .contact-detail{border-radius:16px!important;padding:13px!important;background:white!important;box-shadow:0 4px 18px #1d477510!important;gap:9px!important}
body.field-only .contact-head strong{font-size:16px!important;line-height:1.3!important}
body.field-only .v11-actions{gap:7px!important}
body.field-only .v11-actions>*{height:46px!important;min-height:46px!important;max-height:46px!important;border-radius:11px!important}
body.field-only .v11-actions .v121-icon{height:17px!important;width:17px!important;flex-basis:17px!important}
body.field-only .history-title{font-size:12px!important;margin-top:5px!important}
body.field-only .history .event{box-shadow:none!important}
body.field-only .field-search input{min-height:46px!important;border-radius:13px!important;background:#fff!important}
body.field-only .selection .panel-heading{margin-bottom:7px!important}
/* Mini-filtros sin ocupar más altura que una fila. */
body.field-only .group-section{margin-top:12px!important;padding-top:11px!important;border-top:1px solid #e4ecf5!important}
body.field-only .group-heading{margin-bottom:8px!important}
body.field-only .group-heading strong{font-size:12px!important;color:#375774!important}
.v123-list-controls{width:100%;min-width:0;margin:4px 0 9px}
.v123-list-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%}
.v123-list-filter{border:1px solid #d8e4f1;border-radius:10px;background:white;color:#426282;
  min-width:0;min-height:34px;padding:5px 4px;font-size:11px;font-weight:750;display:flex;align-items:center;
  justify-content:center;gap:4px;white-space:nowrap}
.v123-list-filter span{display:inline-flex;align-items:center;justify-content:center;background:#ecf2f9;
  border-radius:99px;min-width:18px;height:18px;padding:0 4px;color:#335773;font-size:10px}
.v123-list-filter.active{background:#eaf3ff;border-color:#8cb9ea;color:#0758a4}
.v123-list-filter.active span{background:#fff;color:#0758a4}
body.field-only .group-list{max-height:none!important;overflow:visible!important;gap:7px!important;margin-top:0!important;padding:1px 1px 8px}
body.field-only .v123-group-card,body.field-only .v123-member-card{
  width:100%!important;min-height:64px!important;border:1px solid #dfe8f2!important;background:#fff!important;
  border-radius:13px!important;box-shadow:0 2px 8px #153f6110!important;
  padding:9px 10px!important;gap:9px!important;text-align:left;align-items:center!important
}
body.field-only .v123-group-card.open{background:#f1f7ff!important;border-color:#9ec1e9!important}
body.field-only .v123-member-card{width:calc(100% - 16px)!important;margin-left:16px!important;
  border-style:solid!important;background:#f9fbff!important;min-height:56px!important;box-shadow:none!important}
body.field-only .v123-member-card.selected{border-color:#a0c8ed!important;background:#edf6ff!important}
.v123-card-top{display:flex;flex-wrap:wrap;align-items:center;gap:3px 7px;justify-content:space-between}
body.field-only .v123-group-card .card-text,body.field-only .v123-member-card .card-text{min-width:0;flex:1}
body.field-only .v123-group-card .card-text b{font-size:11.5px!important;white-space:normal!important;color:#213e5a!important}
body.field-only .v123-group-card .card-text small,body.field-only .v123-member-card .card-text small{
  font-size:10.5px!important;color:#73879a!important;margin-top:3px!important;
  overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block;max-width:100%
}
.v123-phase{display:inline-block;font-size:9px;font-weight:800;border-radius:7px;padding:3px 6px;white-space:nowrap;letter-spacing:-.1px}
.v123-phase.phase-sin_contacto{background:#eef2f7;color:#5a6d80}
.v123-phase.phase-primera{background:#dff5e9;color:#287b51}
.v123-phase.phase-completado{background:#d4eee1;color:#146b42}
.v123-phase.phase-revision{background:#fff0d9;color:#a56717}
.v123-card-date{display:flex;gap:4px;align-items:center;color:#245d91;font-size:10px;font-weight:750;margin-top:4px}
.v123-card-date .v121-icon{width:12px;height:12px;flex:0 0 12px}
.v123-card-date.appt-soon{color:#a56813}.v123-card-date.appt-overdue{color:#b83748}
.v123-chevron{font-size:20px;color:#8da4b8;flex:none;line-height:1}
/* Administrador: más claridad en la mesa de asignaciones sin cambios de esquema. */
.v12-assign-toolbar .v123-assign-filter-label{flex:0 1 170px;min-width:140px}
.v12-assign-toolbar .v123-assign-filter-label select{height:41px;border-radius:10px;border:1px solid #d0dfed;background:#fff;padding:0 9px;color:#234866;font-size:12px}
.v12-assign-card{border-radius:16px!important}
.v12-assign-board{border-radius:12px!important}
.v12-assign-table th{background:#edf4fb!important;color:#395c78!important}
.v12-assign-table tbody tr.is-dirty{background:#fff9e6!important}
.v12-assign-table tbody tr:has(select:focus-visible){background:#f0f7ff!important}
.v12-row-save{border-radius:9px!important}
@media(max-width:450px){
 body.field-only .v11-track>section{padding-left:10px!important;padding-right:10px!important}
 .v123-list-filter{font-size:10px;gap:3px}
 .v123-phase{font-size:8.5px}
 body.field-only .v123-group-card .card-text b{font-size:11px!important}
}
@media(max-width:700px){
 .v12-assign-toolbar .v123-assign-filter-label{min-width:100%;flex-basis:100%}
}

.v123-assign-summary{font-size:11px!important;font-weight:700;color:#50718c!important;background:#f2f7fc;border-radius:9px;padding:7px 10px;margin:9px 0 2px!important}
.v12-assign-table tbody tr.v123-unassigned:not(.is-dirty) td:first-child{box-shadow:inset 3px 0 #e1ad4e}
