:root{--navy:#101d2f;--navy2:#17263a;--teal:#087c78;--line:#e6eaf0;--text:#172435;--muted:#7d8998;--bg:#f5f7fa;--white:#fff;--radius:10px}
*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:'DM Sans',sans-serif;color:var(--text)}body{background:var(--bg)}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.04em}h1{font-size:26px;font-weight:800}h2{font-size:18px;font-weight:800}h3{font-size:13px;font-weight:800}p{line-height:1.6}a{text-decoration:none;color:inherit}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}svg{flex-shrink:0}.app-shell{display:flex;min-height:100vh}.sidebar{width:246px;background:var(--navy);color:#fff;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:1100;padding:30px 17px 24px}.brand{display:flex;gap:12px;align-items:center;padding:0 10px;margin-bottom:62px}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid #3b5965;color:#53d4c0;border-radius:10px;background:#1b3341}.brand-mark svg{width:22px}.brand strong{font-family:Manrope,sans-serif;letter-spacing:-.06em;font-size:22px;font-weight:800}.brand-accent{color:#5cddc6}.brand small{display:block;color:#8fa0b0;letter-spacing:.12em;font-size:8px;font-weight:700;margin-top:1px}.nav-caption{color:#65798b;letter-spacing:.14em;font-size:10px;font-weight:700;margin:0 12px 15px}.nav-links{display:grid;gap:6px}.nav-link{padding:13px 13px;border-radius:8px;display:flex;align-items:center;gap:12px;color:#98aaba;font-size:13px;font-weight:600;transition:background .2s}.nav-link svg{width:17px;height:17px}.nav-link.active{background:#21433f;color:#b8fcdf;border-left:2px solid #5fe3bf}.nav-link:hover:not(.active){background:#1b2b3e;color:white}.sidebar-bottom{margin-top:auto;padding:16px 10px 0;border-top:1px solid #29394b}.source-status{font-size:11px;font-weight:700;color:#bdcfd3;display:flex;align-items:center;gap:9px}.status-light{display:inline-block;width:7px;height:7px;border-radius:100%;background:#3fc6a0;box-shadow:0 0 0 3px #3fc6a016}.sidebar-footnote{color:#738598;font-size:10px;line-height:1.8;margin-top:13px}.main-layout{flex:1;margin-left:246px;min-width:0}.topbar{height:70px;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 34px;border-bottom:1px solid var(--line)}.top-left,.top-actions{display:flex;align-items:center;gap:14px}.breadcrumb{color:#8491a1;font-size:12px}.breadcrumb-current{font-size:12px;font-weight:700}.breadcrumb-chevron{color:#b8c2cc;width:14px;height:14px}.top-radius{font-size:11px;background:#eaf5f2;color:#087f70;border-radius:7px;padding:9px 12px;display:flex;align-items:center;gap:7px;font-weight:800}.top-radius svg{width:14px;height:14px}.top-date{font-size:10px;letter-spacing:.1em;color:#9ba5b2;font-weight:800}.content{padding:30px 34px 50px;max-width:1900px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.page-heading.compact{margin-bottom:22px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;color:#0e9685;margin-bottom:7px}.page-heading p{font-size:12px;color:var(--muted);margin-top:7px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:8px;padding:12px 16px;border:1px solid transparent;font-weight:700;font-size:12px;white-space:nowrap;transition:background .2s}.btn svg{width:16px;height:16px}.btn-primary{color:white;background:var(--teal)}.btn-primary:hover:not(:disabled){background:#096d68}.btn-secondary{background:white;color:#314458;border-color:#dfe5eb}.btn-secondary:hover{background:#f0f4f8}.btn.full{width:100%}.filter-bar{display:flex;align-items:end;gap:14px;background:white;padding:14px 18px;border:1px solid var(--line);border-radius:10px;margin-bottom:17px;flex-wrap:wrap}.select-wrap,.search-wrap{display:flex;flex-direction:column;gap:7px;min-width:220px;flex:1}.select-wrap span,.search-wrap>span,.pres-ws span{color:#82909d;letter-spacing:.07em;font-size:9px;font-weight:800}.select-wrap select,.pres-ws select{height:39px;border:1px solid #dfe4eb;border-radius:7px;background:#fff;padding:0 12px;font-size:12px;font-weight:600;color:#26374a;width:100%;outline:none}.select-wrap select:focus,.pres-ws select:focus,.search-input:focus-within{border-color:#0e9b89}.search-input{border:1px solid #dfe4eb;border-radius:7px;display:flex;align-items:center;padding:0 11px;gap:7px;height:39px}.search-input svg{width:15px;color:#9ba7b5}.search-input input{outline:none;border:0;flex:1;width:100%;font-size:12px;background:none}.filter-metric{display:flex;flex-direction:column;align-items:center;min-width:100px;padding:0 9px 1px;border-left:1px solid var(--line)}.filter-metric strong{font-size:22px;font-family:Manrope,sans-serif;line-height:1.1}.filter-metric small{color:#8894a4;font-size:9px;letter-spacing:.07em;margin-top:5px;font-weight:700}
.map-workspace{height:calc(100vh - 270px);min-height:560px;display:grid;grid-template-columns:minmax(0,1fr) 342px;gap:17px}.map-card{min-width:0;position:relative;border:1px solid #dce3eb;border-radius:11px;overflow:hidden;background:#e9edf1}.map-card #map{width:100%;height:100%}.map-overlay{position:absolute;top:17px;left:17px;z-index:450;background:white;border:1px solid #e7ebef;border-radius:9px;padding:14px 17px;box-shadow:0 3px 13px #182f4817;max-width:330px;pointer-events:none}.map-overlay-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800}.map-overlay>span{font-size:11px;color:#7a8694;display:block;margin-top:6px}.map-layer-controls{position:absolute;right:16px;bottom:30px;z-index:450;display:grid;gap:7px}.map-layer-controls button{display:grid;place-items:center;width:38px;height:38px;background:#fff;border:1px solid #dce5ea;border-radius:8px}.map-layer-controls svg{width:18px;color:#33465a}.leaflet-container{font-family:'DM Sans',sans-serif}.leaflet-control-attribution{font-size:9px!important}.map-inspector{border:1px solid var(--line);border-radius:11px;background:#fff;display:flex;flex-direction:column;min-height:0}.inspector-head{padding:23px 22px 17px;border-bottom:1px solid var(--line)}.inspector-head h2{font-size:19px;line-height:1.3}.inspector-head p{font-size:11px;color:var(--muted);margin-top:9px}.inspector-body{overflow:auto;padding:17px 20px 22px;scrollbar-width:thin}.mini-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:13px}.mini-metrics>div{padding:12px;background:#f4f7f9;border:1px solid #ecf0f2;border-radius:8px}.mini-metrics small{font-size:10px;color:#8592a0;display:block}.mini-metrics strong{display:block;font-size:19px;margin-top:3px;font-family:Manrope,sans-serif}.inspector-note{font-size:10px;color:#8b96a3;line-height:1.55;margin:10px 0 18px}.section-title-row{display:flex;justify-content:space-between;align-items:center;margin:18px 0 12px}.section-title-row h3{font-size:12px}.text-btn{border:0;color:#0c897c;background:transparent;padding:4px;font-size:10px;font-weight:800}.category-list{display:grid;gap:10px}.cat-row{display:flex;align-items:center;gap:9px;font-size:11px;cursor:pointer}.cat-row input{accent-color:var(--teal);margin-left:auto;width:15px;height:15px;cursor:pointer}.cat-row .cat-text{flex:1}.cat-count{color:#8995a3;font-variant-numeric:tabular-nums}.shape{--cat:#666;display:inline-block;width:12px;height:12px;flex-shrink:0;background:var(--cat);border:1px solid #ffffff77}.shape-circle{border-radius:50%}.shape-square{border-radius:2px}.shape-diamond{transform:rotate(45deg);border-radius:1px}.shape-hex{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.shape-triangle{clip-path:polygon(50% 0,100% 100%,0 100%)}.shape-cross{clip-path:polygon(35% 0,65% 0,65% 35%,100% 35%,100% 65%,65% 65%,65% 100%,35% 100%,35% 65%,0 65%,0 35%,35% 35%)}.shape-star{clip-path:polygon(50% 0,62% 35%,100% 35%,70% 57%,82% 100%,50% 75%,18% 100%,30% 57%,0 35%,38% 35%)}.poi-list{display:grid;gap:0;max-height:265px;overflow:auto;scrollbar-width:thin}.poi-item{display:flex;gap:9px;padding:11px 2px;border-bottom:1px solid #edf0f3;cursor:pointer}.poi-item:hover{background:#f7fafb}.poi-info{flex:1;min-width:0}.poi-name{font-weight:700;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poi-address{font-size:10px;color:#8d98a4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}.poi-distance{font-size:10px;color:#526477;white-space:nowrap}.empty-small{font-size:11px;color:#8b97a6;text-align:center;border:1px dashed #dce4ec;padding:20px 12px;border-radius:8px}.map-poi-icon{background:transparent!important;border:0!important;display:grid!important;place-items:center}.map-poi-icon .shape{width:19px;height:19px;border:2px solid white;filter:drop-shadow(0 1px 3px #0005)}.store-icon{background:transparent;border:0}.store-marker{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 2px 3px #10203266)}.store-marker-body{fill:#172b42}.store-marker.selected .store-marker-body{fill:#0f9982}.store-marker.selected{filter:drop-shadow(0 2px 5px #0f998288)}.store-icon:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:8px}.leaflet-popup-content{min-width:170px;font-size:12px;line-height:1.6}.leaflet-popup-content strong{font-size:13px}.leaflet-popup-content small{color:#8794a2}.count-pill{background:#f0f5f6;color:#36556b;font-size:10px;border:1px solid #dce8ec;padding:5px 9px;border-radius:6px;font-weight:800}
.analysis-filter{margin-bottom:20px}.method-pill{background:#f3f7fa;color:#667b8b;font-size:10px;display:flex;gap:7px;align-items:center;padding:11px 12px;border-radius:7px;margin-bottom:1px}.method-pill svg{width:15px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:17px}.kpi-card{border:1px solid var(--line);background:#fff;padding:21px;border-radius:10px;display:flex;align-items:start;justify-content:space-between;min-width:0}.kpi-value{font-family:Manrope,sans-serif;font-size:30px;letter-spacing:-.05em;font-weight:800;margin:12px 0 4px}.kpi-label{font-size:10px;color:#778694;font-weight:800;letter-spacing:.02em}.kpi-foot{font-size:10px;color:#92a0ac}.kpi-icon{padding:10px;background:#edf7f4;border-radius:8px;color:#178676;display:grid;place-items:center}.kpi-icon svg{width:18px;height:18px}.analytics-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:17px;margin-bottom:17px}.panel{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.panel-head{padding:23px 24px 8px}.panel-head h2{font-size:17px}.panel-head p{font-size:11px;color:#93a0ac;margin-top:7px}.panel-head.split{display:flex;justify-content:space-between;align-items:center;padding-bottom:23px}.chart-zone{height:290px;padding:12px 24px 24px;position:relative}.table-scroll{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:820px}.data-table th{font-size:9px;text-align:left;letter-spacing:.08em;padding:14px 22px;color:#97a2af;background:#f8fafc;border-bottom:1px solid #e9edf0}.data-table td{font-size:11px;padding:16px 22px;border-bottom:1px solid #eef1f4;white-space:nowrap}.data-table tbody tr:hover{background:#f9fbfd}.data-table .name-cell{font-weight:800;color:#27394b}.data-table .ws-cell{color:#7b8896}.data-table .score{font-weight:800;color:#097e72}.table-action{border:1px solid #dae5e8;padding:6px 10px;background:white;border-radius:6px;font-size:10px;font-weight:800;color:#0d8477}.label{display:inline-block;padding:5px 8px;border-radius:5px;font-size:10px;font-weight:800}.label-green{background:#e8f7f1;color:#0c8969}.label-amber{background:#fff5e7;color:#a0661b}.label-gray{background:#edf2f6;color:#73849a}.label-red{background:#fcecea;color:#bb5145}.report-note{display:flex;gap:12px;color:#667b89;border:1px solid #dce7eb;padding:19px 22px;border-radius:9px;background:#f0f5f7;margin-top:17px}.report-note svg{width:19px;color:#3b7484}.report-note strong{font-size:12px}.report-note p{font-size:11px;margin-top:5px}
.presentation-content{max-width:1700px;padding-top:25px}.presentation-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:19px}.presentation-toolbar h1{font-size:21px}.pres-actions{display:flex;align-items:end;gap:10px}.pres-ws{display:flex;flex-direction:column;gap:6px;width:215px}.pres-ws select{height:42px}.presentation-stage{position:relative;background:#fff;box-shadow:0 4px 24px #1324360b;border:1px solid #e4e9ed;border-radius:10px;overflow:hidden;aspect-ratio:16/9;min-height:500px;max-height:75vh}.slide{display:none;height:100%;width:100%;position:absolute;inset:0;overflow:auto}.slide.active{display:block}.slide-inner{padding:4.4% 5.2%;height:100%;display:flex;flex-direction:column;min-height:100%}.slide-top{display:flex;justify-content:space-between;color:#8a9baa;font-size:10px;font-weight:800;letter-spacing:.15em;margin-bottom:4%}.slide-kicker{font-size:11px;color:#0b9c85;letter-spacing:.17em;font-weight:800;margin-bottom:2%}.slide h2{font-family:Manrope,sans-serif;font-size:clamp(28px,3vw,55px);line-height:1.18;letter-spacing:-.055em;font-weight:800}.slide h2 em{font-style:normal;color:#087f72}.slide-bottom-note{font-size:11px;color:#8b9aa5;margin-top:auto;padding-top:2%}.cover-slide{background:#102032;color:white}.cover-slide .slide-top{color:#a4b6c5}.cover-copy{margin:auto 0}.cover-copy h2{font-size:clamp(40px,5.1vw,88px);max-width:960px;line-height:1.11}.cover-copy h2 em{color:#69d4b7}.cover-copy p{font-size:clamp(12px,1.2vw,18px);color:#a6b9c5;max-width:600px;margin-top:28px}.cover-footer{display:flex;gap:6%;border-top:1px solid #3a5064;padding-top:26px}.cover-footer>div{display:flex;flex-direction:column;gap:8px;min-width:140px}.cover-footer small{font-size:10px;letter-spacing:.1em;color:#819aaf}.cover-footer strong{font-size:15px}.slide-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:6%}.slide-kpi{border-top:3px solid #0c8879;background:#f2f6f8;padding:24px 19px;min-height:145px}.slide-kpi span{font-size:11px;color:#6d8291;font-weight:700}.slide-kpi strong{font-family:Manrope,sans-serif;font-size:clamp(26px,3vw,48px);display:block;margin-top:22px;letter-spacing:-.05em}.presentation-driver-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 22px;margin-top:3%}.driver-row{display:flex;align-items:center;gap:16px;border:1px solid #e4e9ed;border-radius:7px;padding:14px 16px}.driver-row .shape{width:18px;height:18px}.driver-row .driver-label{flex:1;font-size:13px;font-weight:700}.driver-row strong{font-size:20px}.slide-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:6%;margin-top:5%;align-items:start}.priority-stats{display:grid;gap:15px}.priority-stat{padding:18px 22px;background:#f2f6f8;display:flex;align-items:center;justify-content:space-between}.priority-stat span{font-size:13px;color:#6b7a8b}.priority-stat strong{font-size:27px}.slide-ranking{display:grid;gap:8px}.slide-rank{border-bottom:1px solid #e9ecee;padding:15px 0;display:flex;align-items:center;gap:16px}.slide-rank>span{color:#9aa7b3;font-weight:800;font-size:12px}.slide-rank>div{flex:1;font-weight:700;font-size:13px}.slide-rank small{font-size:10px;font-weight:400;color:#8b99a5;display:block;margin-top:4px}.slide-rank strong{font-size:18px;color:#0b8b7a}.action-grid,.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:4%}.action-grid article{padding:22px;background:#f2f6f8}.action-grid article span{font-size:11px;color:#108f80;font-weight:900}.action-grid h3{font-size:16px;margin:10px 0}.action-grid p,.method-grid p{font-size:12px;color:#6d7c8a}.method-grid>div{padding:22px;border-left:3px solid #0c907d;background:#f5f8fa}.method-grid strong{font-size:11px;letter-spacing:.1em}.method-grid p{margin-top:10px}.slide-end{color:#9cabba;font-size:11px;font-weight:800;letter-spacing:.16em;text-align:right;margin-top:auto}.slide-controls{display:flex;align-items:center;gap:17px;margin-top:15px;justify-content:center}.icon-btn{border:1px solid #dbe3eb;background:#fff;display:grid;place-items:center;border-radius:7px;width:37px;height:37px;color:#31465b}.icon-btn svg{width:18px;height:18px}.slide-controls>span{font-size:11px;color:#657789;font-weight:800}.slide-dots{display:flex;gap:7px;align-items:center}.slide-dots button{width:7px;height:7px;border-radius:50%;border:0;padding:0;background:#c6d1da}.slide-dots button.active{background:#0c897b;width:17px;border-radius:4px}.slide-tip{font-size:10px!important;color:#a0abb6!important;margin-left:15px}.error-view{text-align:center;padding:100px 10px}.error-view svg{color:#a3b3be;width:60px;height:60px}.error-view h1{margin:22px 0}.toast{position:fixed;right:22px;bottom:22px;background:#132737;color:#fff;padding:13px 18px;border-radius:8px;font-size:12px;box-shadow:0 10px 25px #0003;max-width:380px;z-index:2000;display:none}.toast.show{display:block}.mobile-menu{display:none!important}
@media(max-width:1250px){.sidebar{width:212px}.main-layout{margin-left:212px}.content{padding:25px 22px 40px}.topbar{padding:0 22px}.map-workspace{grid-template-columns:minmax(0,1fr) 310px}.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:960px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.main-layout{margin-left:0}.mobile-menu{display:grid!important}.map-workspace{grid-template-columns:1fr;height:auto}.map-card{height:65vh;min-height:400px}.map-inspector{max-height:none}.inspector-body{overflow:visible}.analytics-grid{grid-template-columns:1fr}.presentation-stage{min-height:470px}.slide-inner{padding:30px}.slide h2{font-size:34px}.cover-copy h2{font-size:44px}}
@media(max-width:600px){.topbar{height:57px}.top-date,.breadcrumb-chevron,.breadcrumb{display:none}.content{padding:18px 12px 35px}.page-heading{align-items:start}.page-heading h1{font-size:23px}.page-heading .btn{display:none}.map-card{height:56vh;min-height:360px}.map-overlay{max-width:230px;padding:9px}.filter-bar{padding:12px}.select-wrap,.search-wrap{min-width:100%}.filter-metric{border:0}.kpi-grid{gap:9px}.kpi-card{padding:14px}.kpi-value{font-size:25px}.pres-actions{flex-wrap:wrap}.presentation-toolbar{align-items:start;flex-direction:column}.pres-ws{width:100%}.presentation-stage{aspect-ratio:auto;min-height:500px;height:65vh}.slide-inner{padding:20px}.slide-top{margin-bottom:25px}.slide h2{font-size:29px}.cover-copy h2{font-size:40px}.cover-footer{gap:8px;flex-wrap:wrap;padding-top:16px}.cover-footer>div{min-width:90px}.cover-footer strong{font-size:10px}.slide-kpi-grid{grid-template-columns:repeat(2,1fr)}.slide-kpi{padding:11px;min-height:84px}.slide-kpi strong{font-size:26px;margin-top:9px}.presentation-driver-list,.slide-split,.action-grid,.method-grid{grid-template-columns:1fr}.presentation-driver-list{gap:7px}.driver-row{padding:8px}.action-grid{gap:8px}.action-grid article{padding:11px}.action-grid h3{font-size:12px;margin:4px 0}.action-grid p,.method-grid p{font-size:10px}.method-grid>div{padding:10px}.slide-tip{display:none}.pres-actions .btn{padding:10px}.slide-bottom-note{font-size:9px}}
@media print{.sidebar,.topbar,.presentation-toolbar,.slide-controls,.toast{display:none!important}.main-layout{margin:0}.content{padding:0!important}.presentation-stage{width:100%;border:0;box-shadow:none;max-height:none;height:auto;aspect-ratio:auto;overflow:visible}.slide{position:relative;display:block!important;page-break-after:always;break-after:page;height:100vh;min-height:700px;overflow:hidden}.slide-inner{padding:6%}.slide h2{font-size:52px}.cover-copy h2{font-size:82px}@page{size:landscape;margin:0}}

.scan-token-field{display:flex;flex-direction:column;gap:6px;margin:8px 0 12px}.scan-token-field span{font-size:9px;letter-spacing:.07em;color:#82909d;font-weight:800}.scan-token-field input{border:1px solid #dfe4eb;border-radius:7px;background:#fff;padding:10px 12px;font-size:12px;width:100%;outline:none}.scan-token-field input:focus{border-color:#0e9b89}

.analysis-exports{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:600px){.page-heading .analysis-exports .btn{display:inline-flex}.analysis-exports{width:100%}}

/* Category pictograms shared by map markers, filters, and nearby places. */
.category-icon{display:block;width:28px;height:28px;flex-shrink:0;object-fit:contain}
.map-poi-icon .category-icon{width:32px;height:32px;filter:drop-shadow(0 2px 3px #10203255);transition:transform .15s ease}
.retail-poi-icon .category-icon{width:36px;height:44px;transform-origin:50% 98%}
.map-poi-icon:hover .category-icon,.map-poi-icon:focus .category-icon{transform:scale(1.15)}
.map-poi-icon:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:50%}
.poi-item>.category-icon{margin-top:1px}
@media(prefers-reduced-motion:reduce){.map-poi-icon .category-icon{transition:none}}

/* Full viewport map with compact independent filters. */
body[data-page="map"] .sidebar,body[data-page="map"] .topbar,body[data-page="map"] .map-inspector,body[data-page="map"] #toggleInspector{display:none!important}
body[data-page="map"]{overflow:hidden}
body[data-page="map"] .app-shell{height:100dvh;min-height:0}
body[data-page="map"] .main-layout{margin:0;width:100%;height:100%;position:relative}
body[data-page="map"] .map-content{padding:0;margin:0;max-width:none;width:100%;height:100%}
body[data-page="map"] .map-workspace{position:absolute;inset:0;display:block;height:100%;min-height:0}
body[data-page="map"] .map-card{position:absolute;inset:0;border:0;border-radius:0;height:100%;min-height:0}
.map-dropdown{position:absolute;top:16px;z-index:600;display:flex;flex-direction:column;gap:4px;width:210px;max-width:calc(50% - 24px);padding:9px 11px;background:#fff;border:1px solid #e0e6eb;border-radius:9px;box-shadow:0 2px 12px #1020321a}
.map-dropdown-left{left:16px}
.map-dropdown-right{right:16px}
.map-dropdown>span{font-size:8px;font-weight:800;letter-spacing:.1em;color:#82909d}
.map-dropdown select{width:100%;min-width:0;height:30px;padding:0 5px;border:0;border-radius:4px;background:#fff;color:#26374a;font:600 12px 'DM Sans',sans-serif;cursor:pointer;text-overflow:ellipsis}
.map-dropdown select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
body[data-page="map"] .map-overlay{top:auto;bottom:25px;left:66px;max-width:calc(100% - 140px);padding:10px 14px}
body[data-page="map"] .map-layer-controls{right:16px;bottom:30px}
body[data-page="map"] .leaflet-bottom.leaflet-left{bottom:20px;left:10px}
@media(max-width:600px){
  .map-dropdown{top:12px;width:calc(50% - 18px);max-width:none;padding:7px 8px;gap:3px}
  .map-dropdown-left{left:12px}
  .map-dropdown-right{right:12px}
  .map-dropdown select{font-size:11px;height:30px}
  body[data-page="map"] .map-overlay{left:60px;bottom:25px;padding:8px 10px}
  body[data-page="map"] .map-overlay-title{font-size:10px}
  body[data-page="map"] .map-overlay>span{font-size:10px}
  body[data-page="map"] .map-layer-controls{right:12px}
}

/* Keep dropdowns in Leaflet's control layer, above map tiles and markers. */
.map-select-control{display:flex;flex-direction:column;gap:4px;width:210px;max-width:calc(50vw - 24px);padding:9px 11px;background:#fff;border:1px solid #e0e6eb;border-radius:9px;box-shadow:0 2px 12px #1020321a;color:#26374a}
.map-select-control>span{font:800 8px 'DM Sans',sans-serif;letter-spacing:.1em;color:#82909d}
.map-select-control select{display:block;width:100%;min-width:0;height:30px;padding:0 5px;border:0;border-radius:4px;background:#fff;color:#26374a;font:600 12px 'DM Sans',sans-serif;cursor:pointer}
.map-select-control select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
body[data-page="map"] .leaflet-top .leaflet-control{margin-top:16px}
body[data-page="map"] .leaflet-left .map-select-control{margin-left:16px}
body[data-page="map"] .leaflet-right .map-select-control{margin-right:16px}
@media(max-width:600px){.map-select-control{width:calc(50vw - 24px);padding:7px 8px}.map-select-control select{font-size:11px}}

.map-select-controls{display:flex;align-items:flex-start;gap:8px;max-width:calc(100vw - 32px)}
body[data-page="map"] .leaflet-left .map-select-controls{margin-left:16px}
body[data-page="map"] .map-select-controls .map-select-control{margin:0;width:190px;max-width:calc(50vw - 20px)}
@media(max-width:600px){body[data-page="map"] .leaflet-left .map-select-controls{margin-left:12px}.map-select-controls{max-width:calc(100vw - 24px)}body[data-page="map"] .map-select-controls .map-select-control{width:calc(50vw - 16px);max-width:none}}

body[data-page="map"] .map-overlay{display:none!important}

.map-select-controls{flex-wrap:wrap;align-items:stretch}
.map-search-control input{height:30px;width:100%;min-width:0;border:0;border-radius:4px;padding:0 5px;font:12px 'DM Sans',sans-serif;color:#26374a;background:#fff}
.map-search-control input:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
/* Always visible, compact category legend at the bottom right. */
body[data-page="map"] .map-select-controls{gap:6px}
body[data-page="map"] .map-select-controls .map-select-control{width:150px;max-width:calc(50vw - 20px);padding:6px 8px;gap:2px;border-radius:7px}
.map-select-control select,.map-search-control input{height:25px;font-size:11px;padding:0 3px}
.map-select-control>span{font-size:7px}
.map-category-panel{position:relative;width:200px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 160px);overflow:auto;padding:10px 12px;background:#fff;border:1px solid #e0e6eb;border-radius:9px;box-shadow:0 3px 16px #10203220}
.map-category-panel h2{font-size:11px;letter-spacing:0;margin:0 0 7px}
.map-category-actions{display:flex;justify-content:space-between;gap:6px;margin-bottom:7px}
.map-category-actions button{border:0;background:#edf7f4;color:#087c78;padding:4px 7px;border-radius:4px;font-size:9px}
.map-category-panel .category-list{gap:3px}
.map-category-panel .cat-row{min-height:24px;font-size:10px;gap:6px}
.map-category-panel .category-icon{width:21px;height:21px}
.map-category-panel .cat-row input{width:13px;height:13px;margin-top:0;margin-bottom:0}
.map-category-panel .cat-count{font-size:9px}
body[data-page="map"] .leaflet-right .map-category-panel{margin-right:12px;margin-bottom:8px}
body[data-page="map"] .map-layer-controls{left:60px;right:auto;bottom:30px;display:flex;gap:6px}
body[data-page="map"] .map-layer-controls button{width:32px;height:32px}
@media(max-width:600px){
  body[data-page="map"] .map-select-controls{width:calc(100vw - 24px);gap:5px}
  body[data-page="map"] .map-select-controls .map-select-control{width:calc((100vw - 34px)/3);max-width:none;padding:5px 6px}
  .map-select-control select,.map-search-control input{height:25px;font-size:10px}
  .map-category-panel{width:185px;padding:8px 10px}
}

body[data-page="map"] .leaflet-container a.map-dashboard-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;min-width:116px;padding:0 14px;box-sizing:border-box;background:#fff;color:#26374a;border:1px solid #e0e6eb;border-radius:7px;box-shadow:0 2px 12px #1020321a;text-decoration:none;font:700 12px 'DM Sans',sans-serif;white-space:nowrap;transition:background .15s,border-color .15s}
body[data-page="map"] .leaflet-container a.map-dashboard-button svg{width:18px;height:18px;flex-shrink:0;color:#ea580c}
body[data-page="map"] .leaflet-container a.map-dashboard-button:hover{background:#fff7ed;border-color:#fb923c;color:#9a3412;text-decoration:none}
body[data-page="map"] .leaflet-container a.map-dashboard-button:focus-visible{outline:2px solid #ea580c;outline-offset:3px}
body[data-page="map"] .leaflet-right .map-dashboard-button{margin-right:16px}
@media(max-width:700px){
  body[data-page="map"] .map-select-controls{width:calc(100vw - 144px);max-width:calc(100vw - 144px)}
  body[data-page="map"] .map-select-controls .map-select-control{width:calc((100vw - 150px)/2);max-width:none;padding:5px 6px}
  body[data-page="map"] .map-select-controls .map-search-control{width:100%}
  body[data-page="map"] .leaflet-container a.map-dashboard-button{height:48px;min-width:104px;padding:0 10px;font-size:11px}
  body[data-page="map"] .leaflet-right .map-dashboard-button{margin-right:12px}
}

.wincore-map-brand{display:flex;align-items:center;gap:10px;padding:5px 10px 5px 6px;background:#fff;color:#172435;border:1px solid #e0e6eb;border-radius:8px;box-shadow:0 2px 12px #1020321a;pointer-events:auto}
.wincore-map-brand img{display:block;width:96px;height:38px;object-fit:contain;filter:invert(1) hue-rotate(180deg);border-radius:4px}
.wincore-map-brand strong{display:block;font:800 15px Manrope,sans-serif;letter-spacing:.04em}
.wincore-map-brand span{display:block;font:600 6px 'DM Sans',sans-serif;color:#7d8998;letter-spacing:.12em;margin-top:3px;white-space:nowrap}
.wincore-sidebar-brand{flex-direction:column;align-items:flex-start;gap:12px}
.wincore-sidebar-brand img{object-fit:contain;background:#000;border-radius:5px}
body[data-page="map"] .map-select-controls{max-width:calc(100vw - 170px)}
@media(max-width:700px){
  body[data-page="map"] .map-select-controls{max-width:calc(100vw - 144px)}
  .wincore-map-brand{width:100%;gap:7px;padding:5px 8px}
  .wincore-map-brand img{width:70px;height:29px}
  .wincore-map-brand strong{font-size:12px}
  .wincore-map-brand span{font-size:5px;letter-spacing:.04em}
}

/* Independent brand at left; compact filters and dashboard link grouped at right. */
.map-top-toolbar{display:flex;align-items:flex-start;gap:8px;max-width:calc(100vw - 260px)}
body[data-page="map"] .leaflet-right .map-top-toolbar{margin-right:16px}
body[data-page="map"] .map-top-toolbar .map-select-controls{width:auto;max-width:none;flex-wrap:wrap;justify-content:flex-end;margin:0}
body[data-page="map"] .map-top-toolbar .map-select-control{width:140px;max-width:none}
body[data-page="map"] .map-top-toolbar .map-dashboard-button{margin:0;flex-shrink:0}
body[data-page="map"] .leaflet-left .wincore-map-brand{margin-left:16px;width:auto}
@media(max-width:900px){
  body[data-page="map"] .leaflet-right .map-top-toolbar{margin-top:78px;max-width:calc(100vw - 32px)}
}
@media(max-width:600px){
  body[data-page="map"] .leaflet-right .map-top-toolbar{margin-top:70px;margin-right:12px;max-width:calc(100vw - 24px);gap:6px}
  body[data-page="map"] .map-top-toolbar .map-select-controls{width:calc(100vw - 145px);flex-wrap:wrap;gap:5px}
  body[data-page="map"] .map-top-toolbar .map-select-control{width:calc((100vw - 150px)/2)}
  body[data-page="map"] .map-top-toolbar .map-search-control{width:100%}
  body[data-page="map"] .leaflet-left .wincore-map-brand{margin-left:12px}
}

/* Store information stays in map popups rather than a permanent inspector. */
.store-profile-popup .leaflet-popup-content{margin:16px;font-size:11px;line-height:1.5}
.store-profile-heading{border-bottom:1px solid #e6eaf0;padding-bottom:10px;margin-bottom:10px}
.store-profile-heading>span{font-size:8px;letter-spacing:.12em;color:#087c78;font-weight:800}
.store-profile-heading h2{font-size:17px;letter-spacing:-.03em;margin:3px 0;overflow-wrap:anywhere}
.store-profile-heading small{font-size:10px;color:#7d8998}
.store-profile-fields{margin:0;display:grid;gap:7px}
.store-profile-fields>div{display:grid;grid-template-columns:86px minmax(0,1fr);gap:8px}
.store-profile-fields dt{color:#7d8998}
.store-profile-fields dd{margin:0;color:#172435;overflow-wrap:anywhere}
.store-profile-phone{color:#087c78!important;font-weight:700}
.store-profile-popup .store-profile-message{color:#7d8998;font-size:11px;margin:8px 0}
.store-profile-auction{border-top:1px solid #e6eaf0;margin-top:12px;padding-top:10px}
.store-profile-auction h3{font-size:12px;letter-spacing:0}
.store-profile-popup .store-profile-status{font-size:10px;color:#087c78;margin:5px 0 8px}
.store-profile-totals{display:grid;grid-template-columns:1fr 1.5fr;gap:8px;background:#f0f6f5;border-radius:7px;padding:10px}
.store-profile-totals span{display:block;font-size:9px;color:#7d8998}
.store-profile-totals strong{display:block;font-size:14px!important;color:#172435}
.store-profile-products{margin-top:10px}
.store-profile-products summary{cursor:pointer;font-size:10px;color:#087c78;font-weight:700;padding:4px 0}
.store-profile-products table{width:100%;border-collapse:collapse;margin-top:6px;font-size:10px}
.store-profile-products th,.store-profile-products td{padding:5px 3px;border-bottom:1px solid #edf0f3;text-align:left}
.store-profile-products th:last-child,.store-profile-products td:last-child{text-align:right}
.store-profile-popup .store-profile-products p{font-size:10px;color:#7d8998;margin:6px 0}

.store-poi-summary{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #e6eaf0}
.store-poi-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.store-poi-summary-heading h3{font-size:11px;letter-spacing:0}
.store-poi-summary-heading>span{font-size:9px;color:#7d8998}
.store-poi-summary-heading strong{font-size:10px!important;color:#087c78}
.store-poi-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.store-poi-stat{display:flex;align-items:center;gap:6px;padding:8px;background:#f5f8fa;border-radius:6px;min-width:0}
.store-poi-stat .category-icon{width:20px;height:20px}
.store-poi-stat>span{flex:1;font-size:10px;line-height:1.3;overflow-wrap:anywhere}
.store-poi-stat>strong{font-size:12px!important;color:#172435;white-space:nowrap;font-variant-numeric:tabular-nums}
.store-profile-popup .store-poi-summary-note{font-size:9px;color:#7d8998;margin:7px 0 0}
.store-poi-stat-danger{background:#fef2f2;box-shadow:inset 0 0 0 1px #fecaca;color:#b91c1c}
.store-poi-stat-danger>strong{color:#b91c1c}
.store-poi-danger{display:grid;place-items:center;flex-shrink:0;width:14px;height:14px;border-radius:50%;background:#dc2626;color:#fff;font-style:normal;font-size:10px;font-weight:800;line-height:1}
@media(max-width:480px){.store-poi-stat{gap:3px;padding:6px 4px}.store-poi-stat .category-icon{width:16px;height:16px}.store-poi-stat>span{font-size:8px}.store-poi-stat>strong{font-size:11px!important}}

.store-profile-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.store-profile-title-row>h2{flex:1;min-width:0}
.store-category-rating{flex-shrink:0;text-align:right;padding:0 8px 0 0}
.store-category-rating-label{display:block;font-size:10px;font-weight:700;color:#92400e}
.store-category-rating-value{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin:2px 0}
.store-category-rating-value>strong{font-size:12px!important;color:#172435}
.store-category-stars{position:relative;display:inline-block;color:#d1d5db;font:16px/1.2 Arial,sans-serif;letter-spacing:2px;white-space:nowrap}
.store-category-stars-fill{position:absolute;left:0;top:0;width:var(--rating-fill);overflow:hidden;color:#f59e0b}
.store-category-rating>small{display:block;font-size:8px;color:#7d6543}

@media(max-width:480px){.store-profile-title-row{gap:6px}.store-category-rating{max-width:125px}.store-category-stars{font-size:13px;letter-spacing:1px}.store-category-rating-value>strong{font-size:10px!important}}

.area-prompt{position:absolute;inset:0;z-index:500;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px;background:#eef2f5d9;color:#26374a;pointer-events:none}
.area-prompt[hidden]{display:none}
.area-prompt strong{font:800 18px Manrope,sans-serif;letter-spacing:-.03em}
.area-prompt span{font-size:12px;color:#6b7a8b;max-width:320px}
select:disabled{opacity:.55;cursor:not-allowed}
.pres-actions{flex-wrap:wrap}
.table-empty-note{text-align:center;color:#8c98a6;padding:30px}

.store-location-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;font-size:12px;color:#5d6570;flex-wrap:wrap}
.store-edit-location{background:#fff;border:1px solid #FB6C00;border-radius:6px;color:#b84a00;padding:7px 10px;font:inherit;cursor:pointer}
.location-editor{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:24px;border:1px solid #e4e4e4;border-radius:12px;background:#fff;color:#252525;box-sizing:border-box}
.location-editor::backdrop{background:rgb(0 0 0 / .4)}
.location-editor h2{font-size:20px;margin:0 0 8px}
.location-editor p{font-size:13px;line-height:1.6;color:#626262;margin:12px 0}
.location-editor #locationStoreName{font-weight:700;color:#252525}
.location-editor label{display:grid;gap:7px;font-size:13px;font-weight:600;margin:12px 0}
.location-editor input{width:100%;box-sizing:border-box;padding:10px;border:1px solid #bbb;border-radius:6px;background:#fff;color:#252525;font:inherit;min-width:0}
.location-editor input:focus-visible,.store-edit-location:focus-visible{outline:2px solid #FB6C00;outline-offset:2px}
.location-editor small{font-size:11px;font-weight:400;color:#666}
.location-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.location-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}
.location-actions button{border:1px solid #ccc;background:#fff;border-radius:6px;padding:10px 12px;font:inherit;font-size:13px;cursor:pointer}
.location-actions button[type=submit]{background:#FB6C00;color:#fff;border-color:#FB6C00;font-weight:700}
.location-actions button:disabled{opacity:.6;cursor:wait}
.location-editor progress{width:100%;accent-color:#FB6C00}
.location-editor #locationProgress{color:#9c3b00;font-weight:600}
@media(max-width:420px){.location-fields{grid-template-columns:1fr;gap:0}.location-editor{padding:18px}}
