/* Explorer-only namespace: legacy task and location-picker maps are untouched. */
.sg-territory { --sg-line:#34303a; --sg-muted:#b2aaba; color:#f7f4fb; font:inherit; margin:30px 0; min-width:0; }
.sg-territory *, .sg-territory *::before, .sg-territory *::after { box-sizing:border-box; }
.sg-territory [hidden] { display:none !important; }
.sg-territory :is(h2,h3,p,ul) { margin:0; padding:0; }
.sg-territory a { color:inherit; text-decoration:none; }
.sg-territory a:hover { color:#67e6df; }
.sg-territory :is(a,button,input,select):focus-visible { outline:2px solid #67e6df; outline-offset:4px; }
.sg-territory__head { display:flex; gap:24px; align-items:flex-end; justify-content:space-between; padding:12px 0 26px; border-bottom:1px solid var(--sg-line); }
.sg-territory .sg-territory__eyebrow { color:#a979ff; font-size:11px; letter-spacing:.09em; text-transform:uppercase; font-weight:750; margin-bottom:12px; }
.sg-territory .sg-territory__head h2 { font-size:clamp(28px,3.1vw,42px); line-height:1.12; letter-spacing:-.04em; font-weight:750; margin-bottom:12px; }
.sg-territory__head p { color:var(--sg-muted); font-size:14px; line-height:1.55; }
.sg-territory .sg-territory__total { flex-shrink:0; font-size:12px; }
.sg-territory__total strong { color:#ff8d36; font-size:26px; margin-right:3px; }
.sg-territory__filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; align-items:end; gap:16px; padding:22px 0; margin:0; }
.sg-territory__filters label { display:grid; gap:8px; min-width:0; color:var(--sg-muted); font-size:12px; font-weight:600; }
.sg-territory :is(input,select) { display:block; width:100%; max-width:100%; min-width:0; height:46px; color:#f7f4fb; background:#0c0b11; border:1px solid #48414f; border-radius:8px; padding:0 12px; font:inherit; font-size:16px; }
.sg-territory button { min-height:44px; width:auto; border:1px solid #48414f; border-radius:8px; padding:10px 16px; background:transparent; color:#f7f4fb; font:inherit; font-size:12px; font-weight:700; cursor:pointer; line-height:1.4; }
.sg-territory button:hover { border-color:#67e6df; color:#67e6df; }
.sg-territory__filters button[type=submit] { height:46px; background:#a979ff; color:#10081c; border-color:#a979ff; }
.sg-territory__filters > a { grid-column:1/-1; color:#a979ff; font-size:12px; justify-self:start; min-height:32px; display:flex; align-items:center; }
.sg-territory__layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:32px; align-items:start; border-top:1px solid var(--sg-line); padding-top:22px; }
.sg-territory__geography { position:sticky; top:88px; min-width:0; }
.sg-territory__map { height:430px; width:100%; z-index:0; background:#141a20; border-radius:8px; overflow:hidden; }
.sg-territory:not(.is-enhanced) .sg-territory__map { display:none; }
.sg-territory.is-map-expanded .sg-territory__map { height:560px; }
.sg-territory__map-tools { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:10px; }
.sg-territory__map-tools {flex-wrap:wrap;}
body .sg-territory .sg-territory__city-popup .leaflet-popup-content-wrapper,body .sg-territory .sg-territory__city-popup .leaflet-popup-tip{background:#0c0b11;color:#f7f4fb;}
.sg-territory__city-popup .leaflet-popup-content-wrapper{border:1px solid #53465f;border-radius:10px;}
.sg-territory__city-popup .leaflet-popup-content{margin:16px;}
.sg-territory .sg-territory__popup h3{font-size:17px;}
.sg-territory .sg-territory__popup p{font-size:11px;color:#b2aaba;margin:6px 0 10px;}
.sg-territory__popup ul{list-style:none;}
.sg-territory__popup li{display:flex;gap:8px;justify-content:space-between;align-items:center;border-top:1px solid #34303a;}
.sg-territory__popup li a{display:block;min-height:44px;padding:12px 0;color:#f7f4fb;font-size:13px;line-height:1.4;overflow-wrap:anywhere;}
.sg-territory__popup small{color:#68df99;font-size:9px;}
.sg-territory__popup button{width:100%;margin-top:8px;color:#a979ff;}
.sg-territory__map-tools span, .sg-territory .sg-territory__privacy { color:var(--sg-muted); font-size:11px; line-height:1.5; }
.sg-territory .sg-territory__privacy { margin:12px 0; }
.sg-territory__map-tools button { color:#67e6df; flex-shrink:0; }
.sg-territory.is-enhanced .sg-territory__results { min-width:0; max-height:510px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#655476 #121018; padding-right:12px; }
.sg-territory__results { min-width:0; }
.sg-territory.is-enhanced .sg-territory__result-head { position:sticky; top:0; background:#050509; z-index:1; padding-top:8px; }
.sg-territory__result-head { border-bottom:1px solid var(--sg-line); padding:0 0 16px; }
.sg-territory h3 { font-size:20px; line-height:1.3; font-weight:700; overflow-wrap:anywhere; }
.sg-territory__result-head p { color:var(--sg-muted); font-size:12px; line-height:1.6; padding-top:6px; }
.sg-territory .sg-territory__list { list-style:none; }
.sg-territory .sg-territory__artist { display:grid; grid-template-columns:64px minmax(0,1fr); gap:14px; padding:18px 0; margin:0; border-bottom:1px solid var(--sg-line); width:100%; }
.sg-territory__portrait { display:flex; width:64px; height:64px; align-items:center; justify-content:center; background:#211a2e; color:#a979ff; border-radius:6px; overflow:hidden; }
.sg-territory__portrait img { display:block; width:64px; height:64px; object-fit:cover; }
.sg-territory__artist-copy { min-width:0; }
.sg-territory__artist-heading { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 10px; line-height:1.35; }
.sg-territory__artist-heading > a { font-size:16px; font-weight:700; overflow-wrap:anywhere; }
.sg-territory__active { color:#68df99; font-size:10px; white-space:nowrap; }
.sg-territory__active::before { content:'● '; font-size:7px; }
.sg-territory__artist-copy p { font-size:12px; color:var(--sg-muted); line-height:1.5; margin-top:4px; overflow-wrap:anywhere; }
.sg-territory__links { display:flex; flex-wrap:wrap; gap:0 15px; margin-top:4px; }
.sg-territory__links a { display:inline-flex; align-items:center; min-height:38px; font-size:11px; font-weight:650; }
.sg-territory .sg-territory__more { width:100%; margin-top:16px; color:#a979ff; }
.sg-territory [data-sg-empty] { font-size:14px; color:var(--sg-muted); line-height:1.6; padding:24px 0; }
.sg-territory__city-options { border-top:1px solid var(--sg-line); padding-top:16px; margin-top:16px; }
.sg-territory__city-options h3 { font-size:15px; margin-bottom:12px; }
.sg-territory__city-options > div { display:flex; flex-wrap:wrap; gap:8px; }
.sg-territory__map .sg-territory__pin { background:transparent; border:0; }
.sg-territory__pin span { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:#ff8d36; border:2px solid #fff0de; color:#180d05; font:700 12px/1 sans-serif; box-shadow:0 2px 14px #0008; }
.sg-territory__map .leaflet-control-attribution { font-size:10px; color:#333; }
.sg-territory__map .leaflet-control-attribution a { color:#075783; }
.sg-territory__map .leaflet-bar a { color:#14121a; }
@media(max-width:800px) {
 .sg-territory { margin:18px 0; }
 .sg-territory__head { align-items:flex-start; flex-direction:column; gap:12px; padding-bottom:18px; }
 .sg-territory__filters { grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:18px 0; }
 .sg-territory__filters label { grid-column:1/-1; }
 .sg-territory__filters > a { grid-column:auto; justify-self:end; min-height:44px; }
 .sg-territory__layout { display:block; padding-top:16px; }
 .sg-territory__geography { position:static; margin-bottom:22px; }
 .sg-territory__map { height:300px; height:clamp(260px,42svh,400px); }
 .sg-territory.is-enhanced .sg-territory__results { max-height:260px; padding-right:8px; }
 .sg-territory.is-map-expanded .sg-territory__map { height:480px; height:min(65svh,520px); min-height:280px; }
 .sg-territory__map-tools { align-items:center; }
 .sg-territory__map-tools span { max-width:42%; }
 .sg-territory__links a { min-height:44px; }
 .sg-territory .sg-territory__artist { grid-template-columns:56px minmax(0,1fr); gap:0 12px; padding:16px 0; }
 .sg-territory__artist-copy { display:contents; }
 .sg-territory__portrait { grid-row:1/3; }
 .sg-territory__artist-heading, .sg-territory__artist-copy p { grid-column:2; }
 .sg-territory__links { grid-column:1/-1; margin-top:8px; justify-content:space-between; gap:0 6px; }
 .sg-territory__portrait, .sg-territory__portrait img { width:56px; height:56px; }
}
