/* V11 · Mapa / ficha a partes iguales. Solo el perfil encuestador; el admin conserva la V10. */
.v11-session{display:none}
.v11-viewport{display:contents}
.v11-track{display:contents}
.v11-archive{border:1px solid #d1dfec;background:#f2f6fb;color:#366080;border-radius:8px;padding:7px 10px;font-weight:750;font-size:11px;min-height:32px}
.v11-note-row{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}
.v11-note-row>.note-list-card{margin-bottom:0}
.v11-note-row>.v11-archive{align-self:flex-end}
.v11-note-row.archived{opacity:.6}
.v11-appointment-row{margin-bottom:13px;padding-bottom:8px;border-bottom:1px solid #edf1f6}
.v11-appointment-row .appointment-card{width:100%;margin-bottom:5px}
.v11-archived-appointments{background:#f5f8fb;padding:10px;border-radius:10px;margin-top:9px}
.v11-archived-appointments summary{font-weight:800;color:#60768b}
.v11-more-info{font-size:12px;color:#496279}
.v11-more-info summary{padding:10px 0;cursor:pointer;font-weight:750}
.v11-address{display:none}
.v11-actions{display:none}
/* REJILLA ESTRICTA: el mapa NO puede crecer sobre el panel ni viceversa. */
body.field-only{overscroll-behavior:none;overflow:hidden!important}
body.field-only main.layout{
  position:fixed!important;inset:0!important;height:100dvh!important;min-height:0!important;
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) minmax(0,1fr)!important;
  grid-template-areas:none!important;width:100%!important;overflow:hidden!important;background:#f2f6fb
}
body.field-only .mapbox{
  position:relative!important;grid-row:1!important;grid-column:1!important;inset:auto!important;
  height:100%!important;min-height:0!important;width:100%!important;z-index:1!important;overflow:hidden!important
}
body.field-only #map{width:100%!important;height:100%!important}
body.field-only .panel{
  grid-row:2!important;grid-column:1!important;position:relative!important;
  top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;
  width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;max-height:100%!important;
  padding:0!important;display:flex!important;flex-direction:column!important;
  overflow:hidden!important;border:0!important;border-top:2px solid #cddae7!important;border-radius:0!important;
  background:white;box-shadow:none!important;z-index:10!important;transition:none!important
}
body.field-only.field-sheet-expanded .panel{height:100%!important}
body.field-only .sheet-handle,body.field-only .field-session-bar,body.field-only .municipality-view,body.field-only .leaflet-control-zoom{display:none!important}
body.field-only .map-tip,body.field-only .position-badge{display:none!important}
body.field-only .v11-session{
  display:flex;position:absolute;right:12px;top:calc(10px + env(safe-area-inset-top));z-index:800;
  align-items:center;gap:8px;background:#fff;padding:5px 6px 5px 11px;border:1px solid #cbd9e7;border-radius:13px;
  box-shadow:0 2px 12px #1c314644
}
body.field-only .v11-session button{display:grid;place-items:center;background:#f3f7fa;color:#274b66;border:0;border-radius:8px;width:35px;height:35px;font-size:23px;font-weight:800;line-height:1}
body.field-only .v11-connection{width:9px;height:9px;background:#23a565;border-radius:50%;box-shadow:0 0 0 3px #e3f6eb}
body.field-only .v11-connection.offline{background:#ed9b36;box-shadow:0 0 0 3px #fff0d5}
body.field-only .field-center-location{
  display:grid!important;position:absolute!important;top:auto!important;left:auto!important;
  right:13px!important;bottom:14px!important;z-index:730!important;width:43px!important;height:43px!important;
  border:1px solid #bdd0e2!important;border-radius:11px;background:white;box-shadow:0 2px 12px #183c5d4d
}
/* Controles discretos, sin apilar ni solapar listas por encima del panel inferior */
body.field-only .filters{
  position:absolute!important;top:calc(9px + env(safe-area-inset-top))!important;left:9px!important;right:auto!important;
  width:auto!important;max-width:calc(100vw - 104px)!important;padding:0!important;
  display:flex!important;align-items:center!important;gap:5px!important;z-index:1200!important;
  background:transparent!important;box-shadow:none!important;border:none!important
}
body.field-only .filters>.layer-and-staff,body.field-only .filters>.filter-bottom{
  display:flex!important;align-items:center!important;gap:5px!important;width:auto!important;max-width:100%!important;margin:0!important;padding:0!important
}
body.field-only .filters>.searchrow,body.field-only .filters>.location-strip,
body.field-only .filters>.location-controls,body.field-only .filters>.stats{display:none!important}
body.field-only #hideDone,body.field-only .staff-filter{display:none!important}
body.field-only .layers summary{min-height:40px!important;font-size:0!important;padding:9px 11px!important;background:#fff;color:#254560!important;border-radius:11px!important}
body.field-only #layersPanel summary::before{content:'☷ Estados';font-size:12px}
body.field-only .type-layers summary::before{content:'◈ Tipos';font-size:12px}
body.field-only .type-layers summary #typeCount{font-size:10px}
body.field-only .filters .layer-options{
  position:fixed!important;top:calc(55px + env(safe-area-inset-top))!important;left:9px!important;right:9px!important;
  width:auto!important;min-width:0!important;max-width:none!important;
  max-height:calc(50dvh - env(safe-area-inset-top) - 65px)!important;
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:3px 6px!important;
  overflow-y:auto!important;overscroll-behavior:contain;padding:9px!important;background:#fff!important;
  border:1px solid #cbdae9!important;border-radius:12px!important;box-shadow:0 6px 22px #203b5547!important;z-index:2400!important
}
body.field-only .layer-options strong{grid-column:1/-1;white-space:normal;font-size:10px}
body.field-only .layer-options label{min-width:0;white-space:normal;gap:4px;font-size:10px;line-height:1.2;min-height:27px;padding:4px 2px}
body.field-only .layer-options input{flex:0 0 15px;width:15px;height:15px}
body.field-only .layer-options .swatch,body.field-only .layer-options .type-symbol{flex:0 0 auto}
/* Marcadores algo menores, pero con número legible y badges de cita / ausencias */
body.field-only .capi-pin{width:34px!important;height:34px!important}
body.field-only .map-pin-v4{width:34px!important;height:34px!important}
body.field-only .map-pin-v4 svg{width:30px!important;height:30px!important}
body.field-only .map-pin-v4 .pin-number{font-size:19px}
body.field-only .map-pin-v4 .corner{font-size:7px}
body.field-only .map-pin-v4 .appt-dot{width:14px;height:14px;font-size:11px}
body.field-only .map-pin-v4 .absent-number{width:14px;height:14px;min-width:14px;font-size:9px}
/* Carrusel real: Notas <- Contacto -> Citas; el panel no cambia de altura */
body.field-only .panel-tabs{
  position:relative!important;flex:none!important;top:auto!important;z-index:10!important;display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;
  margin:0!important;padding:9px 9px 8px!important;min-height:55px!important;
  border-bottom:1px solid #e1e9f2!important;background:#fff;box-shadow:none!important
}
body.field-only .panel-tabs .panel-tab{min-height:38px!important;font-size:12px!important;padding:6px 7px!important;border-radius:10px!important}
body.field-only .panel-tab span{display:inline-flex;align-items:center;justify-content:center;min-width:18px;border-radius:14px;padding:1px 5px;margin-left:3px;background:#ebf3fb;color:#315c80;font-size:10px;font-variant-numeric:tabular-nums}
body.field-only .panel-tab.active span{background:#fff;color:#26578b}
body.field-only .v11-viewport{display:block!important;position:relative;flex:1;min-height:0;overflow:hidden;background:#fff;touch-action:pan-y}
body.field-only .v11-track{display:flex!important;width:300%;height:100%;transform:translateX(-33.333333%);transition:transform .22s ease-out;will-change:transform}
body.field-only .v11-track>section{display:block!important;flex:0 0 33.333333%;width:33.333333%;min-width:0;height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:10px 13px calc(15px + env(safe-area-inset-bottom));touch-action:pan-y}
body.field-only #notesView[hidden],body.field-only #appointmentsView[hidden]{display:block!important}
body.field-only .tools,body.field-only footer{display:none!important}
body.field-only .field-search{display:flex!important;flex-direction:column;margin-bottom:9px}
body.field-only .field-search label{font-size:11px}
body.field-only .field-search input{min-height:40px;font-size:14px;margin-top:5px}
body.field-only .notes-top{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:5px 12px;margin-bottom:4px}
body.field-only .notes-top h2{width:100%;font-size:13px}
body.field-only .notes-only{font-size:11px}
body.field-only .notes-hint{margin:5px 0 9px;font-size:11px}
body.field-only #notesList{display:block}
body.field-only .field-search-results:not([hidden]){display:block}
body.field-only .group-section{margin-top:9px;padding-top:9px}
body.field-only.field-contact-open .field-search,body.field-only.field-contact-open .field-search-results,body.field-only.field-contact-open .group-section{display:none!important}
body.field-only .selection .panel-heading{margin-bottom:6px}
body.field-only .selection .panel-heading strong{font-size:12px;color:#698099}
body.field-only .selection #closeGroup{display:none!important}
body.field-only .selection .empty{margin:4px 0 7px;padding:9px 11px;font-size:11px}
body.field-only .contact-detail{display:flex;flex-direction:column;gap:8px;padding-bottom:17px!important}
body.field-only .contact-head{order:1;margin-top:0;gap:8px}
body.field-only .contact-head .shape-chip{transform:scale(.8);transform-origin:left center;margin-right:-8px}
body.field-only .contact-head strong{font-size:16px}
body.field-only .contact-head small{font-size:11px;line-height:1.35}
body.field-only .v11-address{order:2;display:block;font-size:12px;color:#5e7287;margin-top:-4px}
body.field-only .appt-current{order:3;margin:0!important;padding:8px!important;border-radius:10px;font-size:12px}
body.field-only .warning{order:4;margin:2px 0!important}
body.field-only .v11-actions{order:5;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:2px 0 4px}
body.field-only .v11-actions>*{margin:0!important;min-height:43px!important;width:100%!important;max-width:100%;border-radius:10px!important;font-size:12px!important}
body.field-only .v11-actions .status-area{display:block;padding:0!important}
body.field-only .v11-actions .status-control{height:43px!important;min-height:43px!important;padding:6px 7px;font-size:11px!important;font-weight:780;background:#f4f8ff;border-color:#bbd3ea}
body.field-only .v11-actions .button,body.field-only .v11-actions .small-action,body.field-only .v11-action-button,body.field-only .v11-actions a{
 display:flex!important;align-items:center;justify-content:center;padding:8px 7px!important;text-align:center;text-decoration:none;font-size:12px!important;font-weight:750;border:1px solid #bed1e4;border-radius:10px;background:#f3f7fc;color:#235984;line-height:1.2
}
body.field-only .v11-actions .call-button{background:#eaf6f1!important;color:#126d4e!important;border-color:#b6ddcb!important}
body.field-only .v11-actions .survey-open{background:#ecf4ff!important;color:#265fa7!important}
body.field-only .v11-actions .appointment-button{background:#edf3ff!important;color:#27578f!important}
body.field-only .appointment-actions{order:6;margin:0}
body.field-only .appointment-editor{order:7}
body.field-only .notes-section{order:8;margin:0;padding:10px}
body.field-only .notes-section[hidden]{display:none!important}
body.field-only .history-title{order:9;margin:7px 0 0}
body.field-only .history{order:10;gap:7px}
body.field-only .v11-more-info{order:11;margin-top:7px;border-top:1px solid #e5edf3}
body.field-only .v11-more-info .info-grid{margin:10px 0}
body.field-only .location-row{order:12}
body.field-only .note-meta{order:13}
body.field-only .pool-actions{order:11}
body.field-only .note-event{margin-left:0}
body.field-only .event{padding:9px}
body.field-only #contactsView .selection{scroll-margin:0}
body.field-only .note-list-card{padding:9px 11px}
body.field-only .v11-archived-appointments .appointment-card{opacity:.68}
body.field-only .move-bar{bottom:9px;left:10px;right:10px;max-height:calc(50dvh - 75px);overflow-y:auto}
body.field-only .sync-box{z-index:6500;bottom:calc(50dvh + 5px);max-width:min(440px,calc(100vw - 22px))}
/* El mapa y el panel han de seguir compartiendo la pantalla al girar el móvil. */
@media(min-width:790px){body.field-only .filters{left:13px!important}body.field-only .panel{width:100%!important;right:auto!important;left:auto!important;border-radius:0!important}}
@media(max-height:550px){body.field-only .panel-tabs{min-height:43px!important;padding:4px 9px!important}body.field-only .panel-tabs .panel-tab{min-height:33px!important}}
body.field-only .filters details:not([open])>.layer-options{display:none!important}

body.field-only .v11-connection.disconnected{background:#9aaaba;box-shadow:0 0 0 3px #edf1f5}
body.field-only .v11-connection.pending,body.field-only .v11-connection.offline{background:#f0ab39;box-shadow:0 0 0 3px #fff4dc}
body.field-only .v11-connection.error{background:#dc4c57;box-shadow:0 0 0 3px #fce7e8}
