/* V12: diseño visual unificado (conserva la lógica funcional de V11 y Supabase) */
:root{--v12-blue:#1764ac;--v12-ink:#213a53;--v12-border:#e3eaf2;--v12-soft:#f5f8fc}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
/* Marcadores: la forma indica sector; el relleno, estado; el número, grupo. */
.capi-pin-v12{width:44px!important;height:44px!important;display:grid;place-items:center;background:transparent!important;border:0!important;overflow:visible!important}
.capi-pin-v12 .map-pin-v4{width:44px!important;height:44px!important;display:grid;place-items:center;background:transparent;filter:drop-shadow(0 1px 2px #102b385c);overflow:visible}
.capi-pin-v12 .map-pin-v4 svg{width:28px!important;height:28px!important;flex:none}
.capi-pin-v12 .map-pin-v4 .pin-number{font-size:20px!important;letter-spacing:-.4px!important;stroke:none!important;font-weight:800!important}
.capi-pin-v12 .map-pin-v4.selected{outline:2px solid #266fe0!important;outline-offset:-3px!important;border-radius:50%!important}
.capi-pin-v12 .map-pin-v4 .appt-dot{top:1px!important;right:0!important;width:13px!important;height:13px!important;font-size:10px!important;box-shadow:0 0 0 1px white}
.capi-pin-v12 .map-pin-v4 .absent-number{top:1px!important;left:0!important;width:13px!important;min-width:13px!important;height:13px!important;font-size:9px!important;font-weight:900!important;box-shadow:0 0 0 1px white}
.capi-pin-v12 .map-pin-v4 .corner{bottom:0!important;right:-4px!important;font-size:8px!important;border-radius:6px!important;padding:1px 3px!important}
.capi-pin-v12 .map-pin-v4 .second-absent-dot{left:-1px!important;bottom:0!important}
body.field-only .capi-pin-v12{width:44px!important;height:44px!important}
body.field-only .capi-pin-v12 .map-pin-v4{width:44px!important;height:44px!important}
body.field-only .capi-pin-v12 .map-pin-v4 svg{width:28px!important;height:28px!important}
body.field-only .capi-pin-v12 .map-pin-v4 .pin-number{font-size:20px!important}
/* Panel móvil: 50% mapa, 50% contenido. Desplazamiento solo dentro del contenido. */
body.field-only .panel{border-top:2px solid #dae6f1!important;background:#ffffff!important}
body.field-only .panel-tabs{background:#f7f9fc!important;border-bottom:1px solid #e5edf5!important;box-shadow:0 1px 4px #102c4608!important}
body.field-only .panel-tabs .panel-tab{font-size:12px!important;font-weight:700!important;border:1px solid #e1e9f2;border-radius:11px!important;color:#516b84!important;background:#fff!important;letter-spacing:-.2px}
body.field-only .panel-tabs .panel-tab.active{background:#185eac!important;border-color:#185eac!important;color:white!important;box-shadow:0 2px 7px #185eac38}
body.field-only .panel-tabs .panel-tab span{font-weight:800!important;padding:2px 5px!important;min-width:20px!important;font-size:10px!important;background:#ecf3fb!important;color:#205a8d!important}
body.field-only .panel-tabs .panel-tab.active span{background:#fff!important;color:#15588d!important}
body.field-only #groupsPendingTab{background:#e7f4eb!important;color:#196743!important}
body.field-only .v11-track>section{background:#fff;padding:12px 14px calc(14px + env(safe-area-inset-bottom))!important}
body.field-only .field-search input{background:#f7fafd!important;border:1px solid #d5e2ee!important;border-radius:12px!important;min-height:43px!important}
body.field-only .selection .panel-heading strong{color:#63788e;font-size:11px!important}
body.field-only .selection .contact-head{align-items:flex-start;padding:2px 0 0}
body.field-only .contact-head strong{font-size:17px!important;letter-spacing:-.3px;color:#1c3854}
body.field-only .contact-detail{gap:7px!important}
body.field-only .appt-current{background:#eaf5ed!important;color:#196243!important;border:1px solid #cce8d6!important}
body.field-only .v11-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
body.field-only .v11-actions>*{min-height:45px!important;font-size:11px!important;border-radius:11px!important}
body.field-only .v11-actions .status-control{font-size:10px!important;padding:4px!important}
body.field-only .v11-actions .survey-open{background:#1d68b7!important;border-color:#1d68b7!important;color:#fff!important}
body.field-only .v11-actions .call-button{background:#ebf6f1!important;border-color:#bfe3d1!important;color:#15704b!important}
body.field-only .v11-address{font-size:11px!important;color:#687b8e!important}
body.field-only .history-title{border-top:1px solid #e8eef5;padding-top:9px;font-size:12px}
body.field-only .history .event{background:#f8fafc!important;border:1px solid #e8eff5!important;border-radius:11px!important}
body.field-only .v11-session button{width:37px;height:37px;border-radius:10px;color:#264861}
body.field-only .v11-session svg{width:21px;height:21px}
body.field-only .field-center-location{border-radius:50%!important;box-shadow:0 2px 14px #17374f3b!important}
body.field-only .filters .layer-options{box-shadow:0 8px 28px #193b5440!important}
/* Nueva tabla compacta de asignaciones del administrador. */
.v12-assign-card{min-width:0}
.v12-admin-pill{font-size:11px;color:#1d597b;background:#eaf3f8;padding:5px 9px;border-radius:18px;font-weight:800;white-space:nowrap}
.v12-assign-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:15px 0 7px;flex-wrap:wrap}
.v12-assign-toolbar label{flex:1;min-width:180px;display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;color:#52677c}
.v12-assign-toolbar input{min-width:0;width:100%;padding:10px;border:1px solid #cfdde9;border-radius:9px;background:#f8fafc;color:#243d54}
.v12-assign-toolbar button{white-space:nowrap;min-height:39px}
.v12-assign-feedback{margin:5px 0 8px!important;font-size:11px!important;color:#325870;min-height:16px}
.v12-assign-board{max-height:450px;overflow:auto;overscroll-behavior:contain;border:1px solid #e1eaf2;border-radius:11px}
.v12-assign-table{width:100%;min-width:720px;border-collapse:collapse;font-size:12px}
.v12-assign-table th{position:sticky;top:0;z-index:2;text-align:left;padding:11px 9px;background:#eef5fa;color:#51697c;font-size:11px;border-bottom:1px solid #dce7ef;white-space:nowrap}
.v12-assign-table td{padding:10px 9px;border-bottom:1px solid #eaf0f4;vertical-align:middle}
.v12-assign-table tbody tr:hover{background:#f7fafc}
.v12-assign-table tr.is-dirty{background:#fff8e9}
.v12-assign-table td b{display:block;color:#193f5d;font-size:12px;font-weight:800;white-space:nowrap}
.v12-assign-table td small{display:block;color:#72879a;font-size:10px;white-space:nowrap;margin-top:2px}
.v12-assign-table select{width:100%;min-width:175px;max-width:265px;border:1px solid #ccdae8;border-radius:8px;font-size:11px;min-height:39px;padding:6px;background:white}
.v12-assign-table .v12-row-save{min-height:36px;padding:7px 11px;white-space:nowrap;background:#eaf3ff;color:#205d9a;border-color:#cbdfef}
.v12-assign-table .v12-row-save:disabled{background:#f2f4f7;color:#8b9bab}
.v12-phase{display:inline-block;border-radius:20px;padding:4px 8px;font-weight:800;font-size:10px;white-space:nowrap;background:#eaf0f6;color:#5f748a}
.v12-phase-primera{background:#e1f4e9;color:#1d784d}.v12-phase-completado{background:#d7efe2;color:#127045}.v12-phase-revision{background:#fff0d5;color:#9b5a13}
.v12-users-list{margin-top:15px;padding-top:12px;border-top:1px solid #e7eef4;font-size:12px}
.v12-users-list summary{font-weight:750;color:#315d7a;cursor:pointer}
@media(max-width:580px){.v12-assign-toolbar label{min-width:100%}.v12-assign-toolbar button{width:100%}}
