/* SQUARE menu recovery: shared flow prevents independently positioned tools overlapping. */
.square-map-tools { position:absolute; z-index:800; top:12px; right:12px; width:min(390px,calc(100% - 24px)); display:flex; flex-direction:column; align-items:stretch; gap:8px; max-height:calc(100% - 160px); overflow-y:auto; scrollbar-width:thin; }
.square-map-tools .map-visualization-control, .square-map-tools .map-type-legend, .map-stage.detail-open .square-map-tools .map-type-legend, .square-map-tools .task034-data-scope { position:static; inset:auto; transform:none; width:100%; max-width:none; margin:0; box-sizing:border-box; flex-shrink:0; }
.square-map-tools .map-type-legend { display:flex; flex-wrap:wrap; gap:8px; }
.square-map-tools .task034-data-scope { font-size:11px; }
.square-map-tools .task034-data-scope[open] { max-height:240px; overflow-y:auto; }
.map-stage.detail-open .square-map-tools { visibility:hidden; pointer-events:none; }
.square-analysis-section, .square-sales-section { padding:14px; margin-bottom:14px; border:1px solid var(--o3-line); border-radius:14px; background:#f4f8f7; }
.square-analysis-section h2, .square-sales-section h2 { font-size:17px; margin:0 0 8px; color:var(--o3-green); }
.square-analysis-section p, .square-sales-section p { font-size:12px; line-height:1.6; color:var(--o3-muted); }
.square-work-link { display:flex; justify-content:center; align-items:center; min-height:44px; width:100%; box-sizing:border-box; padding:10px 12px; margin:8px 0; border:1px solid #cbded7; border-radius:10px; background:white; color:var(--o3-green); font:700 13px var(--font,sans-serif); text-decoration:none; cursor:pointer; }
.square-work-link.is-primary { background:var(--o3-green); color:white; }
.square-work-link[aria-busy="true"] { opacity:.7; cursor:progress; }
.square-work-status:empty { display:none; }
.square-sales-section { display:none; }
.control-panel[data-square-panel="sales"] > :not(.control-panel-mobile-header):not(.square-sales-section) { display:none; }
.control-panel[data-square-panel="sales"] .square-sales-section { display:block; }
.control-panel:not([data-square-panel="analysis"]) .square-analysis-section { display:none; }
.candidate-pin-marker svg { width:14px; height:20px; }
.candidate-pin-marker.is-selected svg { width:17px; height:24px; }
.candidate-pin-status { margin-bottom:140px; }
@media (min-width:1101px) { .option3-search-dock { width:min(430px,calc(100% - 450px)); } }
@media (min-width:901px) and (max-width:1100px) { .square-map-tools { width:342px; } .option3-search-dock { width:min(430px,calc(100% - 392px)); } }
@media (max-width:900px) { .square-map-tools { top:77px; right:10px; width:150px; max-height:calc(100% - 210px); } .square-map-tools .map-visualization-control { padding:7px; } .square-map-tools .map-type-legend { display:flex; font-size:10px; padding:8px; } .square-map-tools .task034-data-scope { padding:6px 8px; } .square-map-tools .task034-data-scope summary { font-size:10px; line-height:1.5; min-height:36px; } .candidate-pin-status { margin-bottom:130px; max-width:calc(100vw - 90px); } }
@media (prefers-reduced-motion:reduce) { .square-work-link { transition:none; } }

@media (max-width:900px) { .map-stage:not(.detail-open) .square-map-tools .map-type-legend { display:flex; } }

.option3-navigation button[hidden] { display:none !important; }
