/* Market -> clinic map (multi-market view) */
.geo-panel{grid-area:geo;display:flex;flex-direction:column}
.geo-panel .panel-title-row{align-items:flex-start;gap:20px;margin-bottom:16px}
.geo-crumbs{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}
.geo-crumb{background:none;border:1px solid var(--border-strong);border-radius:999px;padding:5px 12px;font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--text-secondary);cursor:pointer;transition:border-color .18s ease,color .18s ease,background .18s ease}
.geo-crumb:hover{border-color:var(--accent);color:var(--accent-dark)}
span.geo-crumb{cursor:default}
.geo-crumb.on{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent-text)}
.geo-crumb-sep{font-size:11px;color:var(--text-tertiary)}
.geo-hint{width:100%;text-align:right;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}
.geo-body{display:grid;grid-template-columns:minmax(0,1fr) 312px;gap:20px;align-items:stretch}
.geo-stage{position:relative;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);overflow:hidden;min-height:300px;cursor:grab;touch-action:none}
.geo-stage.grabbing{cursor:grabbing}
.geo-ctrls{position:absolute;top:12px;right:12px;z-index:4;display:flex;flex-direction:column;align-items:center;gap:6px}
.geo-zbtn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-card);transition:border-color .16s ease,color .16s ease,background .16s ease}
.geo-zbtn svg{width:16px;height:16px}
.geo-zbtn:hover{border-color:var(--accent);color:var(--accent-dark);background:var(--accent-bg)}
.geo-scale{padding:3px 7px;border-radius:99px;background:var(--bg-card);border:1px solid var(--border);font-size:10px;font-weight:800;letter-spacing:.02em;color:var(--text-tertiary);font-variant-numeric:tabular-nums}
.geo-panhint{position:absolute;left:12px;bottom:10px;z-index:4;font-size:10px;font-weight:600;letter-spacing:.05em;color:var(--text-tertiary);background:color-mix(in srgb,var(--bg-card) 82%,transparent);border-radius:99px;padding:3px 9px;pointer-events:none}
.geo-map{display:block;width:100%;height:auto}
.geo-landlayer{transition:transform .74s cubic-bezier(.33,1,.68,1)}
.geo-landlayer.quick{transition-duration:.24s}
.geo-landlayer.nofx{transition:none}
.geo-mklayer{transition:opacity .2s ease}
.geo-mk{animation:geoIn .42s ease both}
.geo-mk:focus{outline:none}
.geo-mk-clinic:focus-visible .geo-bub{stroke:var(--text-primary);stroke-width:3}
.geo-mk-country:focus-visible .geo-bub{stroke:var(--text-primary)}
@keyframes geoIn{from{opacity:0}to{opacity:1}}
.geo-stage.deep .geo-landlayer{opacity:.2}
.geo-land{fill:var(--bg-card);stroke:var(--border-strong);stroke-width:.7px;vector-effect:non-scaling-stroke}
.geo-land.on{fill:color-mix(in srgb,var(--accent) 15%,var(--bg-card));stroke:var(--accent);stroke-width:1.1px}
.geo-mk{cursor:default}
.geo-mk-country{cursor:pointer}
.geo-mk-country:focus-visible{outline:none}
.geo-mk-country:focus-visible .geo-bub{stroke:var(--text-primary);stroke-width:3}
.geo-halo{fill:var(--accent);opacity:.11;pointer-events:none}
.geo-leader{stroke:var(--text-tertiary);opacity:.5;pointer-events:none}
.geo-bub{fill:var(--accent);stroke:#fff;transition:fill .18s ease}
.geo-mk.watch .geo-bub{fill:var(--warn-text)}.geo-mk.watch .geo-halo{fill:var(--warn-text)}
.geo-mk.risk .geo-bub{fill:#b83227}.geo-mk.risk .geo-halo{fill:#b83227}
.geo-mk-country:hover .geo-bub{fill:var(--accent-dark)}
.geo-mk-clinic .geo-halo{opacity:0;transition:opacity .18s ease}
.geo-mk-clinic.on .geo-halo{opacity:.22}
.geo-mk-clinic.on .geo-bub{stroke-width:3}
.geo-cname{font-family:var(--font-display,inherit);font-weight:800;letter-spacing:-.02em;fill:var(--text-primary);paint-order:stroke;stroke:var(--bg-subtle);stroke-linejoin:round;pointer-events:none}
.geo-cnum{font-weight:700;fill:var(--text-secondary);paint-order:stroke;stroke:var(--bg-subtle);stroke-linejoin:round;pointer-events:none;font-variant-numeric:tabular-nums}
.geo-lname{font-weight:800;fill:var(--text-primary);paint-order:stroke;stroke:var(--bg-subtle);stroke-linejoin:round;pointer-events:none}
.geo-lnum{font-weight:700;fill:var(--text-secondary);paint-order:stroke;stroke:var(--bg-subtle);stroke-linejoin:round;pointer-events:none;font-variant-numeric:tabular-nums}
.geo-tip{position:absolute;z-index:5;min-width:172px;background:var(--bg-card);border:1px solid var(--accent-border);border-left:3px solid var(--accent);border-radius:10px;box-shadow:var(--shadow-card);padding:10px 12px;display:flex;flex-direction:column;gap:3px;pointer-events:none}
.geo-tip.watch{border-color:var(--warn-border);border-left-color:var(--warn-text)}
.geo-tip.risk{border-left-color:#b83227}
.gt-name{display:flex;flex-direction:column;gap:2px;font-size:12.5px;font-weight:700;color:var(--text-primary)}
.gt-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:600;color:var(--text-tertiary)}
.gt-amt{font-size:16px;font-weight:800;letter-spacing:-.02em;color:var(--text-primary);font-variant-numeric:tabular-nums}
.gt-meta{font-size:10.5px;color:var(--text-tertiary)}
.geo-rail{display:flex;flex-direction:column;gap:14px;min-width:0}
.geo-rail-head{display:flex;flex-direction:column;gap:2px}
.geo-rail-head .panel-eyebrow{margin-bottom:4px}
.geo-rail-num{font-size:24px;font-weight:800;letter-spacing:-.03em;color:var(--text-primary);font-variant-numeric:tabular-nums}
.geo-rail-note{font-size:11.5px;line-height:1.5;color:var(--text-tertiary)}
.geo-back{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;background:none;border:none;padding:0 0 8px;font-size:11.5px;font-weight:700;color:var(--accent-text);cursor:pointer}
.geo-back svg{width:14px;height:14px}
.geo-back:hover{color:var(--accent-dark)}
.geo-list{display:flex;flex-direction:column;gap:6px}
.geo-list.scroll{max-height:352px;overflow-y:auto;padding-right:4px}
.geo-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;text-align:left;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:9px 11px;cursor:pointer;transition:border-color .16s ease,background .16s ease}
.geo-row.geo-row-mkt{grid-template-columns:auto minmax(0,1fr) auto auto}
.geo-row:hover,.geo-row.on{border-color:var(--accent);background:var(--accent-bg)}
.geo-rname{display:flex;flex-direction:column;gap:2px;font-size:12.5px;font-weight:700;color:var(--text-primary);min-width:0}
.geo-rsub{font-size:10px;font-weight:600;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.geo-rnum{display:flex;flex-direction:column;gap:4px;align-items:flex-end;font-size:12px;font-weight:800;color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}
.geo-rbar{display:block;width:64px;height:4px;border-radius:99px;background:var(--bg-subtle);overflow:hidden}
.geo-rbar i{display:block;height:100%;background:var(--accent)}
.geo-rbar i.watch{background:var(--warn-text)}
.geo-rbar i.risk{background:#b83227}
.geo-rrec{font-size:11px;font-weight:800;color:var(--accent-text);font-variant-numeric:tabular-nums}
.geo-rrec.watch{color:var(--warn-text)}
.geo-rrec.risk{color:#b83227}
.geo-rail-foot{font-size:10.5px;line-height:1.5;color:var(--text-tertiary)}
@media (max-width:1080px){.geo-body{grid-template-columns:1fr}.geo-list.scroll{max-height:260px}.geo-hint{display:none}}
