#elx-cmp-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:999999;display:none;padding:18px;box-sizing:border-box}
#elx-cmp-modal.open{display:block}
.elx-cmp-box{background:#f7f9fc;color:#001235;border-radius:14px;max-width:1200px;margin:0 auto;height:calc(100vh - 36px);overflow:auto;border:1px solid #cfd8e6}
.elx-cmp-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:18px 22px;border-bottom:1px solid #dce4ef;background:#fff}
.elx-cmp-head h2{margin:0;font-size:26px;font-weight:900}.elx-cmp-head p{margin:3px 0 0;color:#52627a}
.elx-cmp-close,.elx-cmp-primary,.elx-cmp-launch,.elx-cmp-tabs button,.elx-cmp-toolbar button,.elx-cmp-map-toolbar button{border:1px solid #c8d5e8;border-radius:10px;padding:12px 16px;font-weight:900;background:#fff;cursor:pointer}
.elx-cmp-primary,.elx-cmp-launch{background:#0b4da2;color:#fff;border-color:#0b4da2}
.elx-cmp-tabs{display:flex;gap:10px;flex-wrap:wrap;padding:14px 0 14px;background:transparent;border-bottom:1px solid #dce4ef;margin-bottom:10px}
.elx-cmp-tabs button:hover,.elx-cmp-tabs button:focus,.elx-cmp-map-toolbar button.is-active{background:#0b4da2;color:#fff}
.elx-cmp-toolbar{display:grid;grid-template-columns:1fr auto auto auto;gap:10px;margin:16px 0}.elx-cmp-toolbar label{font-weight:800}
.elx-cmp-toolbar select,.elx-cmp-form input,.elx-cmp-form select,.elx-cmp-form textarea{width:100%;border:1px solid #cad7ea;border-radius:10px;padding:11px;background:#fff;box-sizing:border-box;font-size:15px}
.elx-cmp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.elx-cmp-card{background:#fff;border:1px solid #dde6f2;border-radius:14px;padding:18px}.elx-cmp-card span{display:block;font-size:16px}.elx-cmp-card b{font-size:30px;display:block;margin:6px 0}.elx-cmp-card small{color:#52627a}
.elx-cmp-callout{background:#fff8df;border:1px solid #d4af37;border-radius:12px;padding:14px;margin-top:14px;font-weight:700}
.elx-cmp-tablewrap{overflow:auto;background:#fff;border:1px solid #dde6f2;border-radius:14px}.elx-cmp-tablewrap table{width:100%;border-collapse:collapse;min-width:760px}.elx-cmp-tablewrap th,.elx-cmp-tablewrap td{padding:12px;border-bottom:1px solid #edf1f7;text-align:left}
.elx-cmp-avatar,.elx-cmp-initial{width:44px;height:44px;border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;background:#ffd8c8;color:#001235;font-weight:900}
.elx-cmp-form{background:#fff;border:1px solid #dde6f2;border-radius:14px;padding:16px;margin-bottom:14px}.elx-cmp-formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.elx-cmp-formgrid .wide{grid-column:1/-1}.elx-cmp-check{display:flex;gap:8px;align-items:center}.elx-cmp-check input{width:auto}
.elx-cmp-form-actions{display:flex;justify-content:flex-start}.elx-cmp-form-actions button{background:#111827;color:#fff;border:0;border-radius:10px;padding:10px 14px;font-weight:800}
.elx-cmp-mapwrap{background:#fff;border:1px solid #dde6f2;border-radius:18px;padding:14px}.elx-cmp-map-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.elx-cmp-switches{display:flex;gap:12px}.elx-cmp-layer-box{display:flex;gap:14px;align-items:center;background:#fff;border-radius:12px;padding:8px 12px;border:1px solid #dce4ef}.elx-cmp-layer-box label{display:flex;gap:8px;align-items:center;font-weight:700}
.elx-cmp-leaflet{height:520px;width:100%;border-radius:16px;overflow:hidden}.elx-cmp-street-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:14px}.elx-cmp-street-box,.elx-cmp-maplist{background:#fff;border:1px solid #dde6f2;border-radius:14px;padding:12px}.elx-cmp-street-box h4{margin:0 0 10px}.elx-cmp-street{width:100%;height:380px;border:0;border-radius:12px;background:#f3f6fa}.elx-cmp-maplist{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-height:420px;overflow:auto}.elx-cmp-maplist button{text-align:left;border:1px solid #dce4ef;border-radius:12px;background:#fff;padding:12px}
.elx-cmp-empty{background:#fff;border:1px solid #dde6f2;border-radius:14px;padding:20px}#elx-cmp-content{padding:0 0 22px}.elx-cmp-shortcode{display:inline-block;margin:8px}.elx-cmp-page{max-width:100%}
@media(max-width:1100px){.elx-cmp-grid{grid-template-columns:repeat(2,1fr)}.elx-cmp-street-grid{grid-template-columns:1fr}.elx-cmp-maplist{grid-template-columns:1fr 1fr}.elx-cmp-toolbar{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.elx-cmp-formgrid{grid-template-columns:1fr 1fr}.elx-cmp-head{align-items:flex-start}.elx-cmp-head h2{font-size:22px}.elx-cmp-leaflet{height:430px}}
@media(max-width:560px){.elx-cmp-grid,.elx-cmp-formgrid,.elx-cmp-maplist,.elx-cmp-toolbar{grid-template-columns:1fr}.elx-cmp-tabs{gap:6px}.elx-cmp-tabs button{padding:10px}.elx-cmp-leaflet{height:320px}.elx-cmp-layer-box{flex-direction:column;align-items:flex-start}.elx-cmp-map-toolbar{flex-direction:column;align-items:flex-start}}

.elx-cmp-tabs button.is-active{background:#0b4da2;color:#fff;border-color:#0b4da2}

.elx-cmp-gps-marker{background:transparent;border:0}.elx-cmp-gps-pin{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:4px solid #fff;box-shadow:0 10px 24px rgba(0,0,0,.35);position:relative;font-size:24px;background:linear-gradient(135deg,#ef4444,#f59e0b)}.elx-cmp-gps-pin:after{content:'';position:absolute;left:50%;bottom:-11px;width:16px;height:16px;background:inherit;transform:translateX(-50%) rotate(45deg);border-right:4px solid #fff;border-bottom:4px solid #fff}.elx-cmp-popup small{display:block;color:#334155;line-height:1.35}.elx-cmp-popup b{font-size:15px;}

/* Leaflet fix against theme hover/zoom distortions */
.elx-cmp-leaflet, .elx-cmp-leaflet *{box-sizing:border-box;}
.elx-cmp-leaflet img, .leaflet-container img{max-width:none !important; max-height:none !important; width:auto !important; transition:none !important;}
.leaflet-pane, .leaflet-tile, .leaflet-marker-icon, .leaflet-marker-shadow{transform-origin:center center !important;}
.leaflet-container{background:#dcebf7; overflow:hidden;}
.leaflet-control-container .leaflet-top, .leaflet-control-container .leaflet-bottom{z-index:800;}

/* Tercer bloque Clientes: información completa cliente + monto + avance + asesor + GPS + UTM */
.elx-cmp-gps-wrap{display:flex;flex-direction:column;align-items:center;gap:5px}
.elx-cmp-gps-price{background:linear-gradient(135deg,#ef4444,#e11d48);color:#fff;font-weight:900;font-size:16px;line-height:1;padding:9px 14px;border-radius:999px;box-shadow:0 10px 24px rgba(0,0,0,.30);white-space:nowrap}
.elx-cmp-gps-pin{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:4px solid #dbeafe;box-shadow:0 10px 24px rgba(0,0,0,.35);position:relative;font-size:26px;background:linear-gradient(135deg,#ffffff,#e0f2fe);color:#dc2626}
.elx-cmp-gps-pin:after{content:'';position:absolute;left:50%;bottom:-11px;width:16px;height:16px;background:linear-gradient(135deg,#ffffff,#e0f2fe);transform:translateX(-50%) rotate(45deg);border-right:4px solid #dbeafe;border-bottom:4px solid #dbeafe}
.elx-cmp-popup-price{display:inline-block;background:linear-gradient(135deg,#ef4444,#e11d48);color:#fff;font-weight:900;padding:7px 12px;border-radius:999px;margin-bottom:8px}
@media(max-width:768px){.elx-cmp-gps-wrap{transform:scale(.86);transform-origin:center bottom}.elx-cmp-maplist{grid-template-columns:1fr!important}.elx-cmp-popup{max-width:260px!important}}

.elx-cmp-gps-pin{font-size:0!important;color:transparent!important;}


/* GPS logo limpio en marcador de clientes */
.elx-cmp-gps-core{width:18px;height:18px;border-radius:50%;border:3px solid #dc2626;background:#fff;display:block;position:relative;box-shadow:0 0 0 4px rgba(255,255,255,.95);}
.elx-cmp-gps-core:before{content:'';position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:#dc2626;transform:translate(-50%,-50%);}
.elx-cmp-gps-core:after{content:'';position:absolute;left:50%;top:-6px;bottom:-6px;width:2px;background:#dc2626;transform:translateX(-50%);}
.elx-cmp-gps-pin:before{content:'';position:absolute;top:50%;left:-6px;right:-6px;height:2px;background:#dc2626;transform:translateY(-50%);opacity:.85;}


/* Clientes GPS con casa y colores claros */
.elx-cmp-gps-wrap{display:flex!important;flex-direction:column!important;align-items:center!important;gap:6px!important}
.elx-cmp-gps-price{background:linear-gradient(135deg,#eff6ff,#dbeafe)!important;color:#0b3a82!important;font-weight:900!important;font-size:15px!important;line-height:1!important;padding:9px 14px!important;border-radius:999px!important;box-shadow:0 10px 24px rgba(30,64,175,.18)!important;white-space:nowrap!important;border:2px solid #93c5fd!important}
.elx-cmp-gps-pin{width:54px!important;height:54px!important;border-radius:50% 50% 50% 0!important;transform:rotate(-45deg)!important;display:flex!important;align-items:center!important;justify-content:center!important;border:4px solid #bfdbfe!important;box-shadow:0 10px 24px rgba(30,64,175,.22)!important;position:relative!important;background:linear-gradient(135deg,#ffffff,#e0f2fe)!important;color:transparent!important;overflow:visible!important}
.elx-cmp-gps-pin:after{content:''!important;position:absolute!important;left:50%!important;bottom:-10px!important;width:16px!important;height:16px!important;background:linear-gradient(135deg,#ffffff,#e0f2fe)!important;transform:translateX(-50%) rotate(45deg)!important;border-right:4px solid #bfdbfe!important;border-bottom:4px solid #bfdbfe!important}
.elx-cmp-gps-pin:before{content:none!important}
.elx-cmp-house{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%) rotate(45deg)!important;font-size:18px!important;line-height:1!important;z-index:2!important;filter:drop-shadow(0 1px 0 rgba(255,255,255,.8));}
.elx-cmp-gps-core{width:14px!important;height:14px!important;border-radius:50%!important;border:3px solid #2563eb!important;background:#fff!important;display:block!important;position:absolute!important;right:6px!important;top:6px!important;box-shadow:0 0 0 3px rgba(255,255,255,.95)!important;z-index:3!important}
.elx-cmp-gps-core:before{content:''!important;position:absolute!important;left:50%!important;top:50%!important;width:5px!important;height:5px!important;border-radius:50%!important;background:#2563eb!important;transform:translate(-50%,-50%)!important}
.elx-cmp-gps-core:after{content:''!important;position:absolute!important;left:50%!important;top:-5px!important;bottom:-5px!important;width:2px!important;background:#2563eb!important;transform:translateX(-50%)!important}
.elx-cmp-popup-price{display:inline-block!important;background:linear-gradient(135deg,#eff6ff,#dbeafe)!important;color:#0b3a82!important;font-weight:900!important;padding:7px 12px!important;border-radius:999px!important;margin-bottom:8px!important;border:2px solid #93c5fd!important}
@media(max-width:768px){.elx-cmp-gps-wrap{transform:scale(.84)!important;transform-origin:center bottom!important}}


/* Mejor visibilidad para marcadores del bloque Clientes */
.elx-cmp-gps-marker{background:transparent!important;border:0!important}
.elx-cmp-gps-wrap{display:flex!important;flex-direction:column!important;align-items:center!important;gap:4px!important;min-width:150px!important}
.elx-cmp-gps-price{display:inline-block!important;background:linear-gradient(135deg,#0f4db8,#1d4ed8)!important;color:#ffffff!important;font-weight:900!important;font-size:16px!important;line-height:1!important;padding:8px 14px!important;border-radius:999px!important;box-shadow:0 10px 24px rgba(29,78,216,.30)!important;white-space:nowrap!important;border:2px solid #bfdbfe!important;text-align:center!important}
.elx-cmp-gps-sub{display:inline-block!important;background:#ffffff!important;color:#0f172a!important;font-weight:800!important;font-size:13px!important;line-height:1.15!important;padding:6px 10px!important;border-radius:12px!important;border:2px solid #dbeafe!important;box-shadow:0 8px 20px rgba(15,23,42,.12)!important;max-width:150px!important;text-align:center!important;word-break:break-word!important}
.elx-cmp-gps-pin{width:56px!important;height:56px!important;border-radius:50% 50% 50% 0!important;transform:rotate(-45deg)!important;display:flex!important;align-items:center!important;justify-content:center!important;border:4px solid #bfdbfe!important;box-shadow:0 12px 26px rgba(29,78,216,.24)!important;position:relative!important;background:linear-gradient(135deg,#ffffff,#e0f2fe)!important;color:transparent!important;overflow:visible!important}
.elx-cmp-gps-pin:after{content:''!important;position:absolute!important;left:50%!important;bottom:-10px!important;width:16px!important;height:16px!important;background:linear-gradient(135deg,#ffffff,#e0f2fe)!important;transform:translateX(-50%) rotate(45deg)!important;border-right:4px solid #bfdbfe!important;border-bottom:4px solid #bfdbfe!important}
.elx-cmp-gps-pin:before{content:none!important}
.elx-cmp-house{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%) rotate(45deg)!important;font-size:19px!important;line-height:1!important;z-index:2!important;filter:drop-shadow(0 1px 0 rgba(255,255,255,.85));}
.elx-cmp-gps-core{width:15px!important;height:15px!important;border-radius:50%!important;border:3px solid #2563eb!important;background:#fff!important;display:block!important;position:absolute!important;right:4px!important;top:4px!important;box-shadow:0 0 0 3px rgba(255,255,255,.95)!important;z-index:3!important}
.elx-cmp-gps-core:before{content:''!important;position:absolute!important;left:50%!important;top:50%!important;width:5px!important;height:5px!important;border-radius:50%!important;background:#2563eb!important;transform:translate(-50%,-50%)!important}
.elx-cmp-gps-core:after{content:''!important;position:absolute!important;left:50%!important;top:-5px!important;bottom:-5px!important;width:2px!important;background:#2563eb!important;transform:translateX(-50%)!important}
.elx-cmp-popup{max-width:340px!important}
.elx-cmp-popup-title{font-size:22px!important;font-weight:900!important;color:#0f172a!important;line-height:1.15!important;margin:4px 0 10px!important}
.elx-cmp-popup-price{display:inline-block!important;background:linear-gradient(135deg,#0f4db8,#1d4ed8)!important;color:#fff!important;font-weight:900!important;padding:8px 13px!important;border-radius:999px!important;margin-bottom:10px!important;border:2px solid #bfdbfe!important}
.elx-cmp-popup small{display:block!important;color:#0f172a!important;line-height:1.45!important;font-size:15px!important;margin-bottom:3px!important}
.elx-cmp-popup small b{font-size:15px!important}
.elx-cmp-popup-link{display:inline-block!important;margin-top:10px!important;background:#0f4db8!important;color:#fff!important;text-decoration:none!important;padding:9px 14px!important;border-radius:10px!important;font-weight:800!important}
.leaflet-tooltip.elx-cmp-tooltip{background:#ffffff!important;color:#0f172a!important;border:2px solid #bfdbfe!important;border-radius:12px!important;box-shadow:0 10px 24px rgba(15,23,42,.12)!important;padding:8px 10px!important}
.leaflet-tooltip.elx-cmp-tooltip b{font-size:13px!important;color:#0f172a!important}
.leaflet-tooltip.elx-cmp-tooltip span{font-size:12px!important;color:#334155!important}
@media(max-width:768px){.elx-cmp-gps-wrap{transform:scale(.90)!important;transform-origin:center bottom!important}.elx-cmp-gps-sub{max-width:120px!important;font-size:12px!important}.elx-cmp-popup{max-width:260px!important}.elx-cmp-popup-title{font-size:18px!important}}


/* Cliente mapa estilo segunda foto: burbuja roja + pin GPS limpio */
.elx-cmp-gps-marker-propstyle{background:transparent!important;border:0!important}
.elx-cmp-gps-wrap-propstyle{display:flex!important;flex-direction:column!important;align-items:center!important;gap:6px!important;min-width:120px!important}
.elx-cmp-gps-price-propstyle{display:inline-block!important;background:linear-gradient(135deg,#ef233c,#e11d48)!important;color:#fff!important;font-weight:900!important;font-size:16px!important;line-height:1.05!important;padding:10px 16px!important;border-radius:999px!important;box-shadow:0 12px 26px rgba(0,0,0,.28)!important;white-space:nowrap!important;text-align:center!important}
.elx-cmp-gps-pin-propstyle{width:58px!important;height:58px!important;border-radius:50% 50% 50% 0!important;transform:rotate(-45deg)!important;background:linear-gradient(135deg,#ffffff,#dbeafe)!important;border:5px solid #f8d7df!important;box-shadow:0 0 0 6px rgba(225,29,72,.18),0 0 0 12px rgba(225,29,72,.09),0 12px 28px rgba(0,0,0,.24)!important;display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;overflow:visible!important}
.elx-cmp-gps-pin-propstyle:after{content:''!important;position:absolute!important;left:50%!important;bottom:-12px!important;width:17px!important;height:17px!important;background:linear-gradient(135deg,#ffffff,#dbeafe)!important;transform:translateX(-50%) rotate(45deg)!important;border-right:5px solid #f8d7df!important;border-bottom:5px solid #f8d7df!important}
.elx-cmp-gps-pin-propstyle:before{content:none!important}
.elx-cmp-gps-core-propstyle{width:18px!important;height:18px!important;border-radius:50%!important;border:4px solid #e11d48!important;background:#fff!important;display:block!important;position:relative!important;transform:rotate(45deg)!important;box-shadow:0 0 0 4px rgba(255,255,255,.95)!important}
.elx-cmp-gps-core-propstyle:before{content:''!important;position:absolute!important;left:50%!important;top:50%!important;width:6px!important;height:6px!important;border-radius:50%!important;background:#e11d48!important;transform:translate(-50%,-50%)!important}
.elx-cmp-gps-core-propstyle:after{content:''!important;position:absolute!important;left:50%!important;top:-6px!important;bottom:-6px!important;width:2px!important;background:#e11d48!important;transform:translateX(-50%)!important}
.elx-cmp-popup-propstyle{max-width:360px!important}
.elx-cmp-popup-propstyle .elx-cmp-popup-title{font-size:20px!important;font-weight:900!important;color:#0f172a!important;line-height:1.15!important;margin:4px 0 10px!important}
.elx-cmp-popup-propstyle .elx-cmp-popup-price{display:inline-block!important;background:linear-gradient(135deg,#ef233c,#e11d48)!important;color:#fff!important;font-weight:900!important;padding:8px 13px!important;border-radius:999px!important;margin-bottom:10px!important;border:none!important;box-shadow:0 8px 20px rgba(0,0,0,.18)!important}
.elx-cmp-popup-propstyle small{display:block!important;color:#0f172a!important;line-height:1.45!important;font-size:15px!important;margin-bottom:4px!important}
.leaflet-tooltip.elx-cmp-tooltip{background:#e11d48!important;color:#fff!important;border:0!important;border-radius:999px!important;box-shadow:0 8px 20px rgba(0,0,0,.18)!important;padding:8px 12px!important}
.leaflet-tooltip.elx-cmp-tooltip:before{border-top-color:#e11d48!important}
.leaflet-tooltip.elx-cmp-tooltip b,.leaflet-tooltip.elx-cmp-tooltip span{color:#fff!important}
@media(max-width:768px){.elx-cmp-gps-wrap-propstyle{transform:scale(.90)!important;transform-origin:center bottom!important}.elx-cmp-popup-propstyle{max-width:260px!important}}


/* Fix final: Clientes igual a segunda imagen, sin letras negras sobre mapa */
.elx-cmp-gps-marker-inline{background:transparent!important;border:0!important;overflow:visible!important;}
.elx-cmp-gps-marker-inline *{box-sizing:border-box!important;}
.leaflet-popup-content-wrapper{border-radius:14px!important;box-shadow:0 18px 42px rgba(15,23,42,.24)!important;}
.leaflet-popup-content{margin:18px 22px!important;}
.leaflet-popup-tip{box-shadow:0 18px 42px rgba(15,23,42,.20)!important;}
@media(max-width:768px){
  .elx-cmp-gps-marker-inline{transform:scale(.90);transform-origin:center bottom;}
  .leaflet-popup-content{margin:14px 16px!important;}
}


/* Rol comprador / vendedor visible en Clientes */
.elx-cmp-role-badge{display:inline-block!important;background:linear-gradient(135deg,#111827,#0f4db8)!important;color:#fff!important;font-weight:900!important;padding:7px 12px!important;border-radius:999px!important;margin:2px 0 10px!important;letter-spacing:.2px!important;box-shadow:0 8px 18px rgba(15,23,42,.18)!important}
.elx-cmp-role-line{display:inline-block!important;background:#e0f2fe!important;color:#0f4db8!important;border:1px solid #93c5fd!important;border-radius:999px!important;padding:4px 9px!important;font-weight:900!important;margin:4px 0!important}
.elx-cmp-tablewrap td:nth-child(6){font-weight:900;color:#0f4db8;}

.elx-gps-direct-note{background:#ecfdf5;border:1px solid #86efac;color:#065f46;border-radius:12px;padding:12px 14px;font-weight:800;margin:10px 0 14px}
.elx-cmp-toolbar .elx-cmp-primary{background:#0b4da2!important;color:#fff!important;border-color:#0b4da2!important}
.elx-cmp-form{box-shadow:0 10px 28px rgba(15,23,42,.08)}


/* Embebido en panel del asesor */
.elx-advisor-gps-quick-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 8px}
.elx-advisor-inline-gps-box{margin-top:18px}
.elx-advisor-inline-gps-box .elx-cmp-page{margin-top:12px}
.elx-inline-gps-buttons{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width: 900px){
  .elx-inline-gps-buttons,.elx-advisor-gps-quick-actions{flex-direction:column}
}

.elx-cmp-mini{background:#0f4aa8;color:#fff;border:none;border-radius:10px;padding:8px 12px;font-weight:700;cursor:pointer}
.elx-cmp-edit-chip{display:inline-block;margin-top:8px;background:#e8f0ff;color:#0f4aa8;padding:6px 10px;border-radius:999px;font-weight:700}
.elx-cmp-form-actions [data-cmp-cancel-edit]{background:#f3f4f6;color:#111827;border:1px solid #d1d5db}
