/* Карта «Комплексов». Только токены CRM; бирюза = var(--color-primary). */
.cx-mapbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.cx-mapbar .cx-seg button.on{background:var(--color-primary);color:var(--accent-ink)}
.cxm-onlypaid{min-height:34px}
.cxm-legend{margin-left:auto;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11.5px;color:var(--muted)}
.cxm-legend span{display:inline-flex;align-items:center;gap:6px}
.cxm-legend i{display:inline-block;flex-shrink:0}
.cxm-legend .l-pay{width:18px;height:10px;border-radius:99px;background:var(--color-primary)}
.cxm-legend .l-grey{width:7px;height:7px;border-radius:50%;background:#5b6468}
.cxm-legend .l-pick{width:12px;height:12px;border-radius:50%;border:2px solid var(--color-primary);background:#fff}
.cxm-legend .l-warn{width:14px;height:14px;border-radius:50%;background:var(--color-warning);color:#1a1000;font-size:10px;font-weight:800;font-style:normal;display:grid;place-items:center}

.cx-mapwrap{display:flex;gap:12px;align-items:stretch}
.cx-mapmain{position:relative;flex:1;min-width:0}
.cxa{width:360px;flex-shrink:0;height:calc(100vh - 215px);min-height:520px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.cxa-h{padding:12px 14px;font-size:var(--text-sm);font-weight:700;border-bottom:1px solid var(--border);flex-shrink:0}
.cxa-list{flex:1;overflow-y:auto}
.cxa-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}
.cxa-row:hover,.cxa-row.hl{background:var(--color-primary-bg)}
.cxa-row.low{opacity:.5}
.cxa-row.low:hover,.cxa-row.low.hl{opacity:1}
.cxa-row.picked{box-shadow:inset 3px 0 0 var(--color-primary)}
.cxa-ph{width:54px;height:44px;border-radius:8px;background:var(--surface3) center/cover no-repeat;flex-shrink:0}
.cxa-b{flex:1;min-width:0}
.cxa-b b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cxa-b span{display:block;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cxa-r{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}
.cxa-r b{font-size:13px;color:var(--green)}
.cxa-r .ok{font-size:11px;color:var(--color-primary)}
.cxa-r .warn{font-size:11px;color:var(--color-warning)}

/* зум в стиле CRM */
#complex-map .leaflet-bar{border:0;box-shadow:var(--shadow);border-radius:10px;overflow:hidden}
#complex-map .leaflet-bar a{background:var(--surface);color:var(--text);border-bottom:1px solid var(--border)}
#complex-map .leaflet-bar a:hover{background:var(--surface2)}
.cxm-baseseg{display:flex;background:var(--surface);border-radius:10px;padding:3px;gap:2px;box-shadow:var(--shadow)}
.cxm-baseseg button{border:0;background:transparent;color:var(--text-dim);font-size:12px;font-weight:700;padding:6px 11px;border-radius:7px;cursor:pointer}
.cxm-baseseg button.on{background:var(--color-primary);color:var(--accent-ink)}

/* подписи районов: над кругом, под метками, не кликаются */
.cxm-dlbl-wrap{pointer-events:none}
.cxm-dlbl{position:absolute;transform:translate(-50%,-100%);padding-bottom:4px;text-align:center;white-space:nowrap;text-shadow:0 1px 8px #000}
.cxm-dlbl b{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(232,236,236,.8)}
.cxm-dlbl span{display:block;font-size:11px;font-weight:700;color:var(--color-primary)}

/* метки */
.cxm-wrap{background:none;border:0}
.cxm{position:absolute;transform:translate(-50%,-50%);transition:transform .12s;cursor:pointer}
.cxm:hover,.cxm.hl{transform:translate(-50%,-50%) scale(1.12)}
.cxm-pill{display:block;white-space:nowrap;padding:5px 9px;border-radius:100px;font-size:12px;font-weight:700;line-height:1.1;background:var(--color-primary);color:var(--accent-ink);box-shadow:0 4px 12px rgba(0,0,0,.45)}
.cxm-dot{display:none;width:14px;height:14px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 2px rgba(0,0,0,.45);font-size:10px;font-weight:800;line-height:14px;text-align:center;color:var(--accent-ink)}
.cxm.dot .cxm-pill{display:none}
.cxm.dot .cxm-dot{display:block}
.cxm.dot:hover .cxm-pill,.cxm.dot.hl .cxm-pill{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.cxm.dot:hover .cxm-dot,.cxm.dot.hl .cxm-dot{visibility:hidden}
.cxm.pay.picked .cxm-pill{background:#fff;color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary),0 4px 12px rgba(0,0,0,.45)}
.cxm.pay.picked .cxm-dot{width:18px;height:18px;line-height:18px;background:#fff;color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary)}
.cxm-g{display:block;width:9px;height:9px;border-radius:50%;background:#5b6468;opacity:.55}
.cxm.grey.picked .cxm-g{width:14px;height:14px;opacity:1;background:#fff;box-shadow:0 0 0 2px var(--color-primary)}
.cxm-warn{position:absolute;right:-7px;top:-8px;width:14px;height:14px;border-radius:50%;background:var(--color-warning);color:#1a1000;font-size:10px;font-weight:800;line-height:14px;text-align:center;box-shadow:0 0 0 1.5px rgba(0,0,0,.5)}
.cxm.dot .cxm-warn{right:-8px;top:-8px}
.cxm.edit .cxm-pill{background:var(--surface);color:var(--text);box-shadow:0 0 0 1.5px var(--color-primary),0 4px 12px rgba(0,0,0,.5);cursor:grab}
.cxm.edit.unver .cxm-pill{box-shadow:0 0 0 1.5px var(--color-warning),0 4px 12px rgba(0,0,0,.5)}
.cxm-edit-banner{display:none;position:absolute;left:50%;top:12px;transform:translateX(-50%);z-index:900;background:var(--surface);border:1px solid var(--color-primary);color:var(--text);font-size:13px;padding:8px 14px;border-radius:10px;box-shadow:var(--shadow);max-width:calc(100% - 140px);text-align:center}

/* карточка при наведении */
.cxh{display:none;position:absolute;z-index:1000;width:280px;background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;box-shadow:var(--shadow-lg);overflow:hidden;pointer-events:none}
.cxh-ph{position:relative;height:96px;background:var(--surface2) center/cover no-repeat}
.cxh-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 20%,rgba(0,0,0,.85) 100%)}
.cxh-ph.none{height:auto;min-height:52px}
.cxh-t{position:absolute;left:12px;right:12px;bottom:8px;z-index:1}
.cxh-ph.none .cxh-t{position:static;padding:10px 12px 0}
.cxh-t b{display:block;font-size:14px;color:#fff}
.cxh-t span{display:block;font-size:11.5px;color:rgba(255,255,255,.75)}
.cxh-b{padding:8px 12px 10px}
.cxh-fee{display:flex;align-items:baseline;gap:8px}
.cxh-fee span{color:var(--green);font-weight:600;font-size:13.5px}
.cxh-fee span.unk{color:var(--muted)}
.cxh-fee small{margin-left:auto;font-size:11px;color:var(--muted)}
.cxh .cx-card-promo{margin-top:6px}
.cxh .cx-prices{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}
.cxh .cx-prices .p span{display:block;font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:.3px;margin-bottom:1px}
.cxh .cx-prices .p strong{font-size:var(--fs-sm);font-weight:700}
.cxh .cx-prices .p{padding:3px 5px;border:1px solid transparent;border-radius:8px}
.cxh .cx-prices .p.want{background:color-mix(in oklab,var(--primary) 14%,transparent);border-color:color-mix(in oklab,var(--primary) 45%,transparent)}
.cxh .cx-prices .p.want span{color:var(--primary)}
.cxh .cx-prices .p.want strong{color:#fff}
.cxh-hint{margin-top:8px;font-size:11.5px;color:var(--muted)}

/* мини-карта в карточке редактирования */
.cx-minimap{height:280px;border-radius:12px;overflow:hidden;border:1px solid var(--border);margin:6px 0 4px}

@media(max-width:920px){
  .cx-mapwrap{flex-direction:column}
  .cxa{width:auto;height:auto;min-height:0;max-height:55vh}
  .cxm-legend{margin-left:0;width:100%}
}
.cxm-dist-tbl input{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:6px 8px;color:var(--text);font-size:13px}
.cxm-dist-tbl td{padding:6px 8px}
