.leftPanel,.rightPanel{background:var(--panel);border:1px solid var(--line);scrollbar-gutter:stable;scrollbar-gutter:stable;border-radius:8px;flex-direction:column;gap:12px;max-height:calc(100vh - 106px);display:flex;overflow-y:auto}.planningStoryPanel{border-color:#b4231847}.planningStoryPanel.activePlanningStoryPanel{background:#fff7f4;box-shadow:inset 3px 0 #b42318b8}.planningMapSelector,.planningFocusSelector{flex-direction:column;align-items:stretch;gap:5px;margin-top:10px;display:flex}.planningMapSelector span,.planningFocusSelector span{color:var(--navy);font-weight:800}.planningMapSelector select,.planningFocusSelector select{color:var(--navy);background:#fff;border:1px solid #b4231842;border-radius:6px;width:100%;min-height:38px;padding:8px 10px;font-weight:750}.planningPresetButtons{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:12px;display:grid}.planningPresetButtons button{border:1px solid var(--line);color:var(--navy);text-align:left;background:#fff;border-radius:6px;justify-content:flex-start;align-items:center;min-height:38px;padding:8px 9px;font-size:12px;font-weight:800;line-height:1.2;display:flex}.planningPresetButtons .activePlanningPresetButton{color:#8d1d14;background:#ffe9e1;border-color:#b4231873}.officialOverlayControls{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.planningLegendPreview{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}.planningLegendPreview summary{color:var(--navy);cursor:pointer;font-size:12px;font-weight:800}.planningLegendPreview img{border:1px solid var(--line);object-fit:contain;background:#fff;border-radius:6px;width:100%;max-height:280px;margin-top:8px;display:block}.planningLegendPreview .legendLoadError{color:var(--muted);text-align:center;background:#fff7f4;border:1px solid #b4231833;border-radius:4px;margin-top:8px;padding:8px;font-size:12px;font-style:italic}.rangeControl{grid-template-columns:1fr auto;gap:6px;display:grid!important}.rangeControl input{grid-column:1/-1;width:100%}.rangeControl em{color:var(--muted);justify-self:end;font-size:12px;font-style:normal}.qaToggleList label span{max-width:180px}.planningTileOverlay{mix-blend-mode:normal;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:2;width:100%;height:100%;position:absolute;inset:0}.planningTileOverlay img{-webkit-user-select:none;user-select:none;position:absolute}.planningSvgOverlayImage{transform-origin:0 0;top:0;left:0}.planningGraphLayer{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;inset:0}.planningGraphLayer.planningFocusActive{z-index:16}.planningGraphLayer path,.planningGraphLayer polyline,.planningGraphLayer g{pointer-events:auto}.planningRegionPatch{cursor:pointer;fill:color-mix(in srgb, var(--planning-region-color,#9ec5a3) 14%, transparent);fill-rule:evenodd;stroke:color-mix(in srgb, var(--planning-region-color,#9ec5a3) 52%, #14283a);stroke-linejoin:round;stroke-width:1.4px}.planningRegionPatch.relatedPlanningFeature{fill:color-mix(in srgb, var(--planning-region-color,#9ec5a3) 18%, transparent);stroke-width:1.6px}.planningRegionPatch.selectedPlanningFeature{fill:#d9484157;stroke:#b42318;stroke-width:4px}.planningRegionPatch:hover,.planningGrowthRegion:hover{filter:brightness(1.03)}.planningGrowthRegion{cursor:pointer;fill:#d9484114;stroke:#b42318ad;stroke-dasharray:12 6;stroke-linejoin:round;stroke-width:2px}.planningGrowthRegion.selectedPlanningFeature{fill:#d9484157;stroke:#b42318;stroke-width:4px}.planningCorridorHalo,.planningCorridorLine,.planningCorridorHit,.planningProjectHalo,.planningProjectStroke{fill:none;stroke-linecap:round;stroke-linejoin:round}.planningCorridorHalo{opacity:.55;pointer-events:none;stroke:#fff;stroke-width:13px}.planningCorridorLine{pointer-events:none;stroke:#b42318;stroke-width:2.4px}.planningCorridor-east_west_longterm .planningCorridorLine,.planningCorridor-east_west_priority .planningCorridorLine{stroke:#7c3aed;stroke-dasharray:16 8}.planningCorridor-north_south .planningCorridorLine{stroke:#d33121;stroke-width:3.2px}.planningCorridor-north_south_west .planningCorridorLine{stroke:#188f56;stroke-width:3px}.planningCorridor-ct_expressway .planningCorridorLine{stroke:#0e8fa3;stroke-width:2.2px}.relatedPlanningCorridor .planningCorridorLine{stroke-width:2.5px}.selectedPlanningCorridor .planningCorridorHalo{opacity:.95;stroke-width:18px}.selectedPlanningCorridor .planningCorridorLine{stroke:#b42318;stroke-width:7px}.planningCorridorHit{cursor:pointer;opacity:0;pointer-events:stroke;stroke:#000;stroke-width:18px}.planningArrowMarker{fill:#b42318}.planningProjectHalo{opacity:.62;pointer-events:none;stroke:#fff;stroke-width:12px}.planningProjectStroke{pointer-events:none;stroke:#d33121;stroke-dasharray:12 5;stroke-width:5px}.planningNode,.planningProjectMarker{cursor:pointer}.planningNode circle,.planningProjectMarker circle{fill:#fff;stroke:#14283a;stroke-width:2px}.planningNode text,.planningProjectMarker text{fill:#14283a;pointer-events:none;text-anchor:middle;font-size:5px;font-weight:900}.planningNode-growth_pole circle,.planningProjectMarker circle{stroke:#d33121}.planningNode-seaport circle,.planningNode-port_city circle{stroke:#0e8fa3}.planningNode-airport circle{stroke:#265dff}.planningNode-border_gate circle,.planningNode-gateway circle{stroke:#c2410c}.selectedPlanningFeature{filter:drop-shadow(0 0 12px #d94841c7)}.planningFocusActive .mutedPlanningFeature{filter:none;opacity:.12}.planningFocusActive .relatedPlanningFeature,.planningFocusActive .relatedPlanningCorridor,.planningFocusActive .relatedPlanningNode{filter:none;opacity:.18}.planningFocusActive .selectedPlanningFeature,.planningSelectedOverlay .selectedPlanningOverlayFeature{opacity:1}.planningSelectedOverlayHalo{fill:none;opacity:.96;pointer-events:none;stroke:#fff;stroke-linejoin:round;stroke-width:8px}.planningSelectedOverlay .planningRegionPatch.selectedPlanningOverlayFeature,.planningSelectedOverlay .planningGrowthRegion.selectedPlanningOverlayFeature{fill:#d948415c;stroke:#b42318;stroke-width:4.5px}.planningFocusActive .selectedPlanningFeature circle{fill:#fff7ed;stroke:#b42318;stroke-width:3px}.planningFocusActive .selectedPlanningFeature text{fill:#9d1c13;font-weight:950}.planningSelectedOverlay .planningProjectMarker circle,.planningSelectedOverlay .planningNode circle{fill:#fff7ed;stroke:#b42318;stroke-width:3.4px}.planningSelectedCalloutObject{pointer-events:none;overflow:visible}.planningSelectedCallout{color:var(--navy);background:#fffffff5;border:2px solid #b42318;border-radius:8px;flex-direction:column;gap:2px;max-width:248px;padding:7px 10px;display:flex;box-shadow:0 10px 28px #14283a3d}.planningSelectedCallout span{color:#b42318;letter-spacing:0;text-transform:uppercase;font-size:9px;font-weight:900}.planningSelectedCallout strong{color:var(--navy);font-size:12px;font-weight:900;line-height:1.2}.waterwayRoute{stroke:#0e8fa3e0}.existingBaselineMarker{opacity:.88;z-index:9;border-color:#fffffffa;box-shadow:0 0 0 2px #ffffff9e,0 4px 10px #14283a3d}.existingBaselineMarker.asset-airport{background:#2563eb}.existingBaselineMarker.asset-seaport{background:#0e8fa3}.existingBaselineMarker.asset-dry_port{background:#5b5fc7}.communePoint-current_store{background:#fff;border-style:solid;border-color:#0e8fa3}.communePoint-future_store{background:#fff;border-style:solid;border-color:#d9911f}.approximateCommunePoint{opacity:.82;border-style:solid;border-color:#ffffffdb}.communeStoreIcon{background-color:#fff}.mapToolbar button{color:var(--navy);cursor:pointer;background:#fff;border:1px solid #0003;border-radius:6px;width:32px;height:32px;padding:0;font-size:16px;font-weight:600;line-height:1;transition:background-color .15s,border-color .15s,box-shadow .15s}.mapToolbar button:hover{background:#f5f5f5;border-color:#00000059;box-shadow:0 1px 3px #00000026}.mapLegend .planningSwatch{background:#fff;border-bottom:4px solid #d33121;width:24px;height:10px}.mapLegend .officialOverlaySwatch{background:linear-gradient(135deg,#d9484166,#0e8fa366);border:1px solid #14283a33;border-radius:2px;width:14px}.planningAnalysisCard{border-color:#b423183d}.planningFindingList{gap:7px;margin-top:10px;display:grid}.planningFindingList p{color:var(--navy);background:#fff7f4;border:1px solid #b423181f;border-radius:6px;margin:0;padding:8px;font-size:12px;line-height:1.4}.planningRelatedText,.planningProjectList{background:#fff;border:1px solid #14283a1a;border-radius:6px;gap:6px;margin-top:10px;padding:8px;display:grid}.planningRelatedText strong,.planningProjectList strong{color:var(--navy);font-size:11px}.planningRelatedText span,.planningProjectList span{color:var(--muted);font-size:12px;line-height:1.35}.confidencePills{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.confidencePills span{color:var(--muted);background:#eef5f7;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:800}.mapLegend .currentStoreDot{background-color:#fff;background-position:50% 36%;background-repeat:no-repeat;background-size:260%;border-color:#00843d;width:18px;height:18px}.mapLegend .futureStoreDot{background-color:#fff;background-position:50% 36%;background-repeat:no-repeat;background-size:260%;border-style:solid;border-color:#00843d9e;width:18px;height:18px}.overviewMiniMap{z-index:13;background:#fffffff0;border:1px solid #14283a2e;border-radius:8px;width:158px;padding:8px;position:absolute;bottom:18px;right:18px;box-shadow:0 12px 30px #14283a24}.overviewMiniMap.collapsed{justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:flex}.overviewMiniMapToggle{border:1px solid var(--line);color:var(--navy);z-index:2;background:#fffffff5;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;font-size:16px;font-weight:900;display:flex;position:absolute;top:7px;right:7px}.overviewMiniMap.collapsed .overviewMiniMapToggle{position:static}.overviewMiniMapHeader{justify-content:space-between;align-items:center;gap:28px;margin-bottom:6px;padding-right:30px;display:flex}.overviewMiniMapHeader strong{color:var(--navy);font-size:11px;line-height:1.1}.overviewMiniMapHeader span{color:var(--muted);font-size:10px;font-weight:800}.overviewMiniMapSvg{width:132px;height:204px;display:block}.overviewMiniMapSea{fill:#e6f1f5}.overviewMiniMapBoundaries path{fill:#ffffffdb;stroke:#14283a38;stroke-width:.65px}.overviewMiniMapViewport{fill:#d9911f24;stroke:#b42318;stroke-linejoin:round;stroke-width:2.2px}.dataPage,.analysisPage,.summaryPage{gap:12px;display:grid}@media (width<=1180px){.shell,.communeShell{grid-template-columns:220px 1fr}.multiSelectionControl .quickActions{grid-template-columns:repeat(2,1fr)}.multiSelectionControl .regionName{font-size:13px}.multiSelectionControl .selectionCount{min-width:40px;padding:3px 10px;font-size:16px}.multiSelectionControl .quickActionButton{padding:6px 10px;font-size:12px}.aiWorkspace{grid-template-columns:1fr}.rightPanel{grid-column:1/-1;max-height:none}.dataFilters,.dataExplorerLayout,.columnPicker div,.rawAttributeGrid,.planningFigureGrid,.geographyGrid,.nextStepGrid{grid-template-columns:repeat(2,minmax(160px,1fr))}.summaryHero,.summaryTwoColumn{grid-template-columns:1fr}.recordDetailColumn{position:static}}@media (width<=820px){.workspace{padding:10px}.topbar,.navTabs,.bottomHeader{align-items:flex-start}.topbar{grid-template-columns:1fr}.mapSearch{min-width:0;max-width:none}.navTabs,.bottomHeader{flex-direction:column}.shell,.communeShell,.routeProfile{grid-template-columns:1fr;height:auto}.leftPanel,.rightPanel{max-height:none}.mapPanel,.mapCanvas{height:70vh;min-height:520px}.overviewMiniMap{transform-origin:100% 100%;width:126px;bottom:12px;right:12px}.overviewMiniMapSvg{width:104px;height:160px}.overviewMiniMapHeader{gap:10px}.mapLegend{max-width:calc(100% - 152px);bottom:12px;left:12px}.dataFilters,.dataExplorerLayout,.columnPicker div,.rawAttributeGrid,.focusedChecks,.qaGroupGrid,.planningFigureGrid,.geographyGrid,.nextStepGrid,.summaryHero,.summaryTwoColumn,.wide{grid-template-columns:1fr}.aiWorkspace{height:auto;min-height:0}.aiChatPanel,.aiResultPanel{max-height:none}}.regionSelectionDetails{border-top:1px solid #b4231826;margin-top:12px;padding-top:12px;transition:all .3s}.regionSelectionDetails[open]{background:#f8f9ff80;border:1px solid #3b82f633;border-radius:8px;padding:12px}.regionSelectionSummary{cursor:pointer;color:var(--navy);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:6px 0;font-size:14px;font-weight:700;list-style:none;transition:color .2s;display:flex}.regionSelectionSummary:hover{color:var(--cyan)}.regionSelectionSummary::-webkit-details-marker{display:none}.regionSelectionSummary:before{content:"▶";color:var(--cyan);margin-right:8px;font-size:10px;transition:transform .25s;display:inline-block}.regionSelectionDetails[open]>.regionSelectionSummary:before{transform:rotate(90deg)}.regionSelectionSummary .selectionCountBadge{color:#fff;text-align:center;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-radius:12px;min-width:45px;padding:4px 12px;font-size:12px;font-weight:700;box-shadow:0 2px 4px #3b82f633}.regionSelectionDetails>.quickActions{grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0;display:grid}.regionSelectionDetails .quickActionButton{color:#3b82f6;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;min-height:38px;padding:8px 12px;font-size:12px;font-weight:700;transition:all .2s}.regionSelectionDetails .quickActionButton:hover:not(:disabled){background:#eff6ff;border-color:#3b82f6}.regionSelectionDetails .quickActionButton:disabled{opacity:.5;cursor:not-allowed}.regionSelectionDetails .quickActionClear{color:#ef4444;border-color:#fecaca}.regionSelectionDetails .quickActionClear:hover:not(:disabled){background:#fef2f2;border-color:#ef4444}.regionSelectionDetails .selectedRegionsDisplay{background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;margin-bottom:12px;padding:10px}.regionSelectionDetails .selectedRegionsLabel{color:#0c4a6e;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}.regionSelectionDetails .selectedRegionsList{flex-wrap:wrap;gap:6px;max-height:150px;display:flex;overflow-y:auto}.regionSelectionDetails .selectedRegionBadge{color:#fff;white-space:nowrap;background:#3b82f6;border-radius:12px;padding:3px 8px;font-size:11px;font-weight:600}.regionSelectionDetails .selectedRegionBadge.growthRegionBadge{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.regionSelectionDetails .regionSelectionList{flex-direction:column;gap:6px;max-height:400px;padding:8px;display:flex;overflow-y:auto}.regionSelectionDetails .regionOption{cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:10px;width:100%;min-height:48px;padding:12px 14px;transition:all .2s;display:flex}.regionSelectionDetails .regionOption:hover{background:#f8fafc;border-color:#3b82f6;transform:translate(2px);box-shadow:0 2px 4px #3b82f61a}.regionSelectionDetails .regionOption.growthRegionOption{background:linear-gradient(90deg,#fffbeb 0%,#fff 100%);border-left:3px solid #f59e0b}.regionSelectionDetails .regionOption.growthRegionOption:hover{border-left-color:#d97706;box-shadow:0 2px 4px #f59e0b26}.regionSelectionDetails .regionOption input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;flex-shrink:0;width:20px;height:20px}.regionSelectionDetails .regionOption input[type=checkbox]:checked+.regionName{color:#3b82f6;font-weight:700}.regionSelectionDetails .regionName{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.3;overflow:hidden}.regionSelectionDetails .regionTypeBadge{color:#64748b;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;background:#e2e8f0;border-radius:10px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700}.regionSelectionDetails .regionTypeBadge.growthRegionType{color:#78350f;background:linear-gradient(135deg,#fcd34d 0%,#f59e0b 100%)}.regionSelectionDetails .emptyState{color:#94a3b8;text-align:center;padding:16px;font-size:13px}.regionSelectionDetails .regionSelectionList::-webkit-scrollbar{width:6px}.regionSelectionDetails .regionSelectionList::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.regionSelectionDetails .regionSelectionList::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.regionSelectionDetails .regionSelectionList::-webkit-scrollbar-thumb:hover{background:#94a3b8}.multiSelectionControl{background:linear-gradient(135deg,#f8f9ff 0%,#fff 100%);border:2px solid #3b82f6;border-radius:8px;margin-bottom:16px;padding:0}.multiSelectionControl .panelHeader{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.multiSelectionControl .panelHeader h2{color:#1e3a8a;letter-spacing:.5px;text-transform:uppercase;margin:0;font-size:18px;font-weight:800}.multiSelectionControl .selectionSummary{align-items:center;gap:8px;display:flex}.multiSelectionControl .selectionCount{color:#fff;text-align:center;background:#3b82f6;border-radius:20px;min-width:50px;padding:4px 12px;font-size:18px;font-weight:800}.multiSelectionControl .selectionLabel{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.multiSelectionControl .quickActions{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;display:grid}.multiSelectionControl .quickActionButton{color:#3b82f6;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:700;transition:all .2s}.multiSelectionControl .quickActionButton:hover:not(:disabled){background:#eff6ff;border-color:#3b82f6;transform:translateY(-1px)}.multiSelectionControl .quickActionButton:disabled{opacity:.5;cursor:not-allowed}.multiSelectionControl .quickActionClear{color:#ef4444;border-color:#fecaca}.multiSelectionControl .quickActionClear:hover:not(:disabled){background:#fef2f2;border-color:#ef4444}.multiSelectionControl .selectedRegionsDisplay{background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;margin-bottom:16px;padding:12px}.multiSelectionControl .selectedRegionsLabel{color:#0c4a6e;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700}.multiSelectionControl .selectedRegionsList{flex-wrap:wrap;gap:6px;max-height:120px;display:flex;overflow-y:auto}.multiSelectionControl .selectedRegionBadge{color:#fff;white-space:nowrap;background:#3b82f6;border-radius:12px;padding:4px 10px;font-size:12px;font-weight:600}.multiSelectionControl .selectedRegionBadge.growthRegionBadge{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);box-shadow:0 2px 4px #f59e0b4d}.multiSelectionControl .regionSelectionList{flex-direction:column;gap:8px;max-height:320px;padding:4px;display:flex;overflow-y:auto}.multiSelectionControl .regionOption{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:10px;min-height:48px;padding:10px 12px;transition:all .2s;display:flex}.multiSelectionControl .regionOption:hover{background:#f8fafc;border-color:#cbd5e1;transform:translate(2px)}.multiSelectionControl .regionOption.growthRegionOption{background:linear-gradient(90deg,#fffbeb 0%,#fff 100%);border-left:3px solid #f59e0b}.multiSelectionControl .regionOption input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;width:18px;height:18px}.multiSelectionControl .regionName{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:600;line-height:1.3;overflow:hidden}.multiSelectionControl .regionTypeBadge{color:#64748b;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;background:#e2e8f0;border-radius:10px;padding:3px 8px;font-size:11px;font-weight:700}.multiSelectionControl .regionTypeBadge.growthRegionType{color:#78350f;background:linear-gradient(135deg,#fcd34d 0%,#f59e0b 100%);box-shadow:0 1px 2px #f59e0b33}.multiSelectionControl .emptyState{color:#94a3b8;text-align:center;padding:24px;font-size:13px}.multiSelectionControl .regionSelectionList::-webkit-scrollbar{width:6px}.multiSelectionControl .regionSelectionList::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.multiSelectionControl .regionSelectionList::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.multiSelectionControl .regionSelectionList::-webkit-scrollbar-thumb:hover{background:#94a3b8}.keyStatisticsContainer{flex-direction:column;gap:20px;display:flex}.statisticsSection{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000000d}.statisticsHeader{margin-bottom:12px}.statisticsTitle{color:#1e3a8a;align-items:center;gap:6px;margin:0;font-size:15px;font-weight:700;display:flex}.infrastructureBreakdown{border-top:1px solid #f1f5f9;margin-top:12px;padding-top:12px}.breakdownTitle{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;font-size:12px;font-weight:700}.breakdownList{flex-direction:column;gap:6px;display:flex}.breakdownItem{background:#f8fafc;border-radius:4px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:13px;display:flex}.breakdownLabel{color:#475569;flex:1;font-weight:600}.breakdownValues{align-items:center;gap:12px;display:flex}.breakdownCount{color:#1e3a8a;font-weight:700}.breakdownKm{color:#64748b;font-size:12px;font-weight:500}.infrastructureTotals{border-top:1px solid #f1f5f9;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px;padding-top:12px;display:grid}.totalItem{background:linear-gradient(135deg,#eff6ff 0%,#fff 100%);border:1px solid #bfdbfe;border-radius:6px;flex-direction:column;align-items:center;padding:8px;display:flex}.totalLabel{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.totalValue{color:#1e40af;margin-top:2px;font-size:14px;font-weight:800}.topProvincesList{border-top:1px solid #f1f5f9;margin-top:12px;padding-top:12px}.topProvinceItem{border-radius:4px;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:grid}.topProvinceItem:nth-child(odd){background:#f8fafc}.topProvinceRank{color:#3b82f6;text-align:center;font-size:14px;font-weight:800}.topProvinceName{color:#475569;font-weight:600}.topProvinceValue{color:#1e3a8a;text-align:right;font-weight:700}.connectivityDetails{border-top:1px solid #f1f5f9;margin-top:12px;padding-top:12px}.connectivityList{flex-wrap:wrap;gap:6px;display:flex}.connectivityPill{color:#1e40af;white-space:nowrap;background:#dbeafe;border-radius:12px;padding:4px 10px;font-size:12px;font-weight:600}.connectivityPillMore{color:#64748b;background:#f1f5f9;font-style:italic}.officialPlanningContext{background:#fff7f4;border:1px solid #fed7aa;border-radius:8px;margin-top:8px;padding:16px}.officialPlanningContext .contextHeader h3{color:#9a3412;margin:0 0 12px;font-size:14px;font-weight:700}.mapDisplayNote.compact{margin-top:8px;font-size:12px;line-height:1.4}.relatedItemsSection{border-top:1px solid #e2e8f0;margin-top:16px;padding-top:16px}.provinceListContainer{margin-top:12px}.provinceListHeader{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.provinceListTitle{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:12px;font-weight:700}.provinceListCount{color:#3b82f6;font-size:13px;font-weight:700}.provinceListBadge{color:#92400e;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-radius:16px;align-items:center;gap:4px;margin-bottom:12px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.growthBadgeIcon{font-size:14px}.growthBadgeText{font-weight:700}.provinceListGrid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.provinceCard{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:10px;transition:all .2s}.provinceCard:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.provinceCard.growthProvinceCard{background:linear-gradient(135deg,#fffbeb 0%,#fff 100%);border:1px solid #fcd34d}.provinceCardHeader{justify-content:space-between;align-items:flex-start;gap:6px;margin-bottom:4px;display:flex}.provinceName{color:#1e293b;flex:1;font-size:13px;font-weight:700;line-height:1.2}.provinceGrowthBadge{font-size:12px;line-height:1}.provinceType{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:500}.remainingCard{background:#f8fafc;border:1px dashed #cbd5e1;justify-content:center;align-items:center;min-height:60px;display:flex}.remainingCount{color:#64748b;font-size:13px;font-style:italic;font-weight:600}.loadingState{color:#94a3b8;text-align:center;padding:24px;font-size:13px;font-style:italic}.highlight-primary{stroke:var(--highlight-primary)!important;stroke-width:3px!important;stroke-opacity:1!important;fill:var(--highlight-primary)!important;fill-opacity:.15!important;filter:drop-shadow(0 0 4px #3b82f666)!important}.highlight-secondary{stroke:var(--highlight-secondary)!important;stroke-width:2px!important;stroke-opacity:.8!important;fill:var(--highlight-secondary)!important;fill-opacity:.08!important}.highlight-tertiary{stroke:var(--highlight-hover)!important;stroke-width:1px!important;stroke-opacity:.6!important;fill:#0000!important;stroke-dasharray:4 2!important}.planningRegionHighlight,.planningCorridorHighlight,.planningNodeHighlight,.planningProjectHighlight{stroke:var(--highlight-primary);stroke-width:3px;stroke-opacity:1;fill:var(--highlight-primary);fill-opacity:.15;filter:drop-shadow(0 0 4px #3b82f666);transition:all .2s ease-in-out}.mapAssetHighlight,.mapBoundaryHighlight,.mapClusterHighlight,.mapRouteHighlight{stroke:var(--highlight-secondary);stroke-width:2px;stroke-opacity:.8;fill:var(--highlight-secondary);fill-opacity:.08;transition:all .2s ease-in-out}.mapAssetHover,.mapBoundaryHover,.mapClusterHover{stroke:var(--highlight-hover);stroke-width:1px;stroke-opacity:.6;fill:#0000;stroke-dasharray:4 2;transition:all .15s ease-out}.highlight-suppressed{opacity:.3!important;pointer-events:none!important}svg .planningSelectionHighlights path,svg .planningSelectionHighlights circle,svg .planningSelectionHighlights polygon,svg .mapSelectionHighlights path,svg .mapSelectionHighlights circle,svg .mapSelectionHighlights polygon{vector-effect:non-scaling-stroke}.multiSelectionControl>:not(.panelHeader){padding:0 20px 20px}.multiSelectionControl .panelHeader{margin-bottom:12px;padding:16px 20px 0}.sectionTitleRow{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.insightCard{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;padding:14px}.planningAnalysisCard{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.planningAnalysisCard .sectionTitleRow{border-bottom:1px solid #f1f5f9;margin-bottom:16px;padding-bottom:8px}.planningAnalysisCard .eyebrow{color:#f97316;letter-spacing:.5px;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:700}.planningAnalysisCard h2{color:#1e3a8a;margin:0;font-size:18px;font-weight:700}.assetMarker,.adminBoundary,.routeFromData,.assetCluster,.routeHitArea{transition:stroke .2s,fill .2s,filter .2s,opacity .2s}.highlight-primary.assetMarker,.highlight-primary.adminBoundary,.highlight-primary.routeFromData,.highlight-primary.assetCluster{stroke:var(--highlight-primary)!important;stroke-width:3px!important;stroke-opacity:1!important;fill:var(--highlight-fill-primary)!important;fill-opacity:.15!important;filter:drop-shadow(0 0 6px #3b82f680)!important}.highlight-secondary.assetMarker,.highlight-secondary.adminBoundary,.highlight-secondary.routeFromData,.highlight-secondary.assetCluster{stroke:var(--highlight-secondary)!important;stroke-width:2px!important;stroke-opacity:.8!important;fill:var(--highlight-fill-secondary)!important;fill-opacity:.08!important}.highlight-tertiary.assetMarker,.highlight-tertiary.adminBoundary,.highlight-tertiary.routeFromData,.highlight-tertiary.assetCluster{stroke:var(--highlight-hover)!important;stroke-width:1px!important;stroke-opacity:.6!important;fill:#0000!important;stroke-dasharray:4 2!important}.assetMarker.dimmedFeature,.routeFromData.dimmedRoute,.adminBoundary.dimmedBoundary{opacity:.3;pointer-events:none}.planningGraphLayer~.assetMarker,.planningGraphLayer~.routeFromData,.planningGraphLayer~.adminBoundary{opacity:.4!important;pointer-events:none!important}.assetMarker,.routeFromData,.adminBoundary,.assetCluster{z-index:1;position:relative}.highlight-primary{z-index:10}.highlight-secondary{z-index:8}.highlight-tertiary{z-index:5}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--mm-primary:#e91e63;--mm-secondary:#9c27b0;--mm-accent:#ff4081;--mm-dark:#880e4f;--mm-light:#fce4ec;--ink:#17202a;--muted:#617081;--line:#d8e0e8;--panel:#fff;--panel-soft:#f7f9fb;--map:#edf3f6;--navy:#14283a;--cyan:#0ea5b7;--green:#2d9b67;--amber:#d9911f;--highlight-primary:var(--mm-primary);--highlight-fill-primary:#e91e631a;--highlight-secondary:var(--mm-secondary);--highlight-fill-secondary:#9c27b014;--highlight-hover:#c2185b}.panelBlock h2,.panelBlock h3,.panelBlock h4,.detailLayerList label span,.facetSection summary span,.panelHeader h2,.planningMapSelector span,.planningFocusSelector span,.displaySelect span,.datasetListItem strong,.columnPicker label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.panelCopy,.mapDisplayNote,.smallNotice,.facetSection p,.detailList span{white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.detailLayerList label{align-items:center;gap:6px;min-height:24px;display:flex}.detailLayerList label span{flex:1;min-width:0}.detailLayerList label em{flex-shrink:0}.panelHeader{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:12px;display:flex}.panelHeader h2{flex:1;min-width:0}.panelActions{flex-shrink:0;gap:6px;display:flex}.leftPanel,.rightPanel{scrollbar-gutter:stable;overflow:hidden auto}.leftPanel::-webkit-scrollbar{width:8px}.rightPanel::-webkit-scrollbar{width:8px}.leftPanel::-webkit-scrollbar-track{background:0 0}.rightPanel::-webkit-scrollbar-track{background:0 0}.leftPanel::-webkit-scrollbar-thumb{background:#14283a33;border-radius:4px}.rightPanel::-webkit-scrollbar-thumb{background:#14283a33;border-radius:4px}.leftPanel::-webkit-scrollbar-thumb:hover{background:#14283a4d}.rightPanel::-webkit-scrollbar-thumb:hover{background:#14283a4d}.facetSection summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:8px;display:flex}.facetSection summary span:first-child{flex:1;min-width:0}.facetSummaryCount{color:var(--muted);flex-shrink:0;font-size:11px;font-weight:700}.shell{position:relative}.panelCollapseToggle{background:var(--panel);border:1px solid var(--line);cursor:pointer;z-index:10;width:24px;height:24px;color:var(--navy);border-radius:4px;justify-content:center;align-items:center;font-size:14px;font-weight:700;transition:all .2s;display:flex;position:absolute;top:8px;left:8px}.panelCollapseToggle:hover{background:var(--panel-soft);border-color:var(--cyan);color:var(--cyan)}.shell.leftPanel-compact .leftPanel{flex-shrink:0;width:48px;padding:8px 6px;overflow:hidden}.shell.leftPanel-compact .leftPanel .panelBlock{justify-content:center;align-items:center;min-height:40px;padding:6px;display:flex}.shell.leftPanel-compact .leftPanel .panelBlock h2,.shell.leftPanel-compact .leftPanel .panelBlock h3,.shell.leftPanel-compact .leftPanel .panelBlock>p,.shell.leftPanel-compact .leftPanel .detailLayerList,.shell.leftPanel-compact .leftPanel .panelHeader,.shell.leftPanel-compact .leftPanel .facetSection:not([open]),.shell.leftPanel-compact .leftPanel .facetSection summary,.shell.leftPanel-compact .leftPanel .displaySelect,.shell.leftPanel-compact .leftPanel .rangeControl,.shell.leftPanel-compact .leftPanel .planningMapSelector,.shell.leftPanel-compact .leftPanel .planningFocusSelector{display:none}.shell.leftPanel-compact .panelCollapseToggle{left:8px}.shell:not(.leftPanel-compact) .panelCollapseToggle{left:296px}.navTabs{justify-content:center;align-items:center;gap:8px;display:flex}.navTabs button,.bottomHeader button{border:1px solid var(--line);color:var(--navy);text-align:center;background:#fff;border-radius:6px;min-width:100px;padding:10px 16px;font-weight:700;transition:all .2s}.navTabs button:hover{border-color:var(--mm-primary);color:var(--mm-primary)}.navTabs .activeTab{background:var(--mm-primary);border-color:var(--mm-primary);color:#fff}.leftPanel,.rightPanel{background:var(--panel);border:1px solid var(--line);scrollbar-gutter:stable;border-radius:8px;flex-direction:column;gap:10px;max-height:calc(100vh - 60px);padding:12px;display:flex;overflow-y:auto}.panelBlock{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;margin-bottom:8px;padding:12px 14px;transition:border-color .2s}.panelBlock:last-child{margin-bottom:0}.leftPanel>.panelBlock,.leftPanel>.planningIntelligence{background:var(--bg-elevated);border:none;border-radius:0;flex-direction:column;height:100%;margin-bottom:0;padding:0;display:flex}.leftPanel>.panelBlock:first-child,.leftPanel>.planningIntelligence:first-child{border-radius:12px 12px 0 0}.leftPanel>.panelBlock:last-child,.leftPanel>.planningIntelligence:last-child{border-radius:0 0 12px 12px}.leftPanel>.panelBlock:only-child,.leftPanel>.planningIntelligence:only-child{border-radius:12px}.detailLayerList label,.facetSection summary,.panelActions button,.displaySelect,.planningMapSelector,.planningFocusSelector{transition:all .15s ease-out}.detailLayerList label:hover{background:#0ea5b70d;border-radius:4px;padding-left:6px;padding-right:6px}.facetSection summary:hover{color:var(--cyan)}.panelActions button:hover,.dataFilters button:hover,.paginationControls button:hover{background:var(--cyan);color:#fff;border-color:var(--cyan);transform:translateY(-1px);box-shadow:0 2px 6px #0ea5b733}.panelActions button:active{transform:translateY(0)}input:focus,select:focus,button:focus{outline:2px solid var(--cyan);outline-offset:2px}.dataPage,.analysisPage,.summaryPage{gap:12px;display:grid}@media (width<=1180px){.shell,.communeShell{grid-template-columns:220px 1fr}.aiWorkspace{grid-template-columns:1fr}.rightPanel{grid-column:1/-1;max-height:none}.dataFilters,.dataExplorerLayout,.columnPicker div,.rawAttributeGrid,.planningFigureGrid,.geographyGrid,.nextStepGrid{grid-template-columns:repeat(2,minmax(160px,1fr))}.summaryHero,.summaryTwoColumn{grid-template-columns:1fr}.recordDetailColumn{position:static}}@media (width<=820px){.workspace{padding:10px}.topbar,.navTabs,.bottomHeader{align-items:flex-start}.topbar{grid-template-columns:1fr}.mapSearch{min-width:0;max-width:none}.navTabs,.bottomHeader{flex-direction:column}.shell,.communeShell,.routeProfile{grid-template-columns:1fr;height:auto}.leftPanel,.rightPanel{max-height:none}.mapPanel,.mapCanvas{height:70vh;min-height:520px}.dataFilters,.dataExplorerLayout,.columnPicker div,.rawAttributeGrid,.focusedChecks,.qaGroupGrid,.planningFigureGrid,.geographyGrid,.nextStepGrid,.summaryHero,.summaryTwoColumn,.wide{grid-template-columns:1fr}.aiWorkspace{height:auto;min-height:0}.aiChatPanel,.aiResultPanel{max-height:none}}.appLayout{flex-direction:column;gap:8px;height:calc(100vh - 84px);display:flex}.appMainArea{flex:1;grid-template-columns:minmax(320px,450px) 1fr;gap:0;min-height:0;display:grid}.leftPanel{background:var(--bg-elevated);scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent;border-right:1px solid var(--border-subtle);border-radius:12px 0 0 12px;min-width:320px;max-width:450px;overflow-y:auto;box-shadow:0 2px 8px #0000000f}.leftPanel::-webkit-scrollbar{width:6px}.leftPanel::-webkit-scrollbar-track{background:0 0}.leftPanel::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:3px}.leftPanel::-webkit-scrollbar-thumb:hover{background:var(--border-default)}.rightPanel{min-width:400px;max-width:600px}.mapTopToolbar{border:1px solid var(--line);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;display:flex;box-shadow:0 2px 8px #e91e6314}.mapTopToolbar .toolbarSection{align-items:center;gap:8px;display:flex}.mapTopToolbar .toolbarSection label{color:var(--muted);text-transform:uppercase;margin-right:4px;font-size:11px;font-weight:700}.mapTopToolbar .toolbarSection.toolbarRight{margin-left:auto}.mapTopToolbar select{border:1px solid var(--line);color:var(--navy);cursor:pointer;background:#fff;border-radius:6px;min-width:140px;padding:6px 10px;font-size:13px;font-weight:600}.mapTopToolbar .toolbarToggles{align-items:center;gap:6px;display:flex}.mapTopToolbar .toolbarToggles button{border:1px solid var(--line);color:var(--navy);cursor:pointer;background:#fff;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:700;transition:all .2s}.mapTopToolbar .toolbarToggles button:hover{background:var(--panel-soft);border-color:var(--mm-primary)}.mapTopToolbar .toolbarToggles button.active{background:var(--mm-primary);border-color:var(--mm-primary);color:#fff}.mapTopToolbar .toolbarToggles button:disabled{opacity:.5;cursor:not-allowed}.mapTopToolbar .toolbarToggles button.toolbarActionClear{color:var(--mm-primary);border-color:var(--mm-light)}.mapTopToolbar .toolbarToggles button.toolbarActionClear:hover:not(:disabled){background:var(--mm-light);border-color:var(--mm-primary)}.mapTopToolbar .selectionCount{background:var(--mm-primary);color:#fff;border-radius:12px;margin-left:4px;padding:4px 10px;font-size:11px;font-weight:700}.rightPanel{border-left:3px solid var(--mm-primary);box-shadow:0 4px 12px #e91e631f}.intelligenceFacts{border-left:2px solid var(--mm-primary);gap:8px;padding-left:12px;display:grid}.intelligenceMetric{flex-direction:column;gap:2px;display:flex}.intelligenceMetric .metricLabel{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.intelligenceMetric strong{color:var(--navy);font-size:16px;font-weight:700}.intelligenceMetric small{color:var(--muted);font-size:11px}@media (width<=1200px){.mapTopToolbar{gap:12px}.mapTopToolbar .toolbarSection label{display:none}}@media (width<=900px){.appMainArea{grid-template-columns:1fr}.rightPanel{max-height:400px}}.appShellHeader{background:var(--panel);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:8px 20px;display:flex}.mapTopBar{background:var(--panel);border-bottom:1px solid var(--line);box-sizing:border-box;align-items:center;gap:16px;height:60px;padding:12px 20px;display:flex}.topBarSection{align-items:center;gap:8px;display:flex}.topBarBrand{flex-shrink:0}.topBarTitle{color:var(--navy);margin:0;font-size:18px;font-weight:700;line-height:1.2}.topBarSubtitle{color:var(--muted);font-size:12px;display:none}@media (width>=768px){.topBarSubtitle{display:inline}}.topBarSearch{flex:1;max-width:400px}.topBarActions{flex-shrink:0;gap:8px;display:flex}.topBarZoom{flex-shrink:0;gap:4px;display:flex}.topBarButton{background:var(--panel-soft);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:500;transition:background-color .15s,border-color .15s,box-shadow .15s;display:flex}.topBarButton:hover{background:#e8e8e8;border-color:#0000004d;box-shadow:0 1px 3px #0000001f}.buttonText{font-size:13px}.zoomButton{cursor:pointer;background:#fff;border:1px solid #0003;border-radius:6px;justify-content:center;width:32px;height:32px;padding:0;font-size:16px;font-weight:600;transition:background-color .15s,border-color .15s,box-shadow .15s}.zoomButton:hover{background:#f5f5f5;border-color:#00000059;box-shadow:0 1px 3px #00000026}.modalOverlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.2s modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modalContainer{background:var(--panel);border-radius:12px;flex-direction:column;width:100%;max-width:900px;max-height:calc(100vh - 40px);animation:.3s modalSlideIn;display:flex;box-shadow:0 8px 32px #0003}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modalHeader{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modalHeaderContent{flex-direction:column;gap:4px;display:flex}.modalCloseButton{background:var(--panel-soft);border:1px solid var(--line);width:36px;height:36px;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:18px;transition:all .2s;display:flex}.modalCloseButton:hover{background:var(--line);color:var(--ink)}.modalContent{flex:1;padding:24px;overflow-y:auto}.modalContent::-webkit-scrollbar{width:8px}.modalContent::-webkit-scrollbar-track{background:var(--panel-soft);border-radius:4px}.modalContent::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}.modalContent::-webkit-scrollbar-thumb:hover{background:var(--muted)}@media (width<=768px){.modalOverlay{padding:10px}.modalContainer{max-height:calc(100vh - 20px)}.modalHeader{padding:16px 20px}.modalContent{padding:20px}.modalTitle{font-size:18px}.topBarButton{padding:8px 12px}.buttonText{display:none}}.floatingControls{z-index:15;flex-direction:column;gap:8px;transition:all .3s;display:flex;position:absolute;bottom:18px;right:18px}.floatingControlsExpanded{bottom:18px;right:18px}.floatingControlsGroup{opacity:0;gap:4px;animation:.3s forwards fadeIn;display:flex}.floatingControlsExpanded .floatingControlsGroup{opacity:1}.floatingControlsGroup:first-child{animation-delay:50ms}.floatingControlsGroup:nth-child(2){animation-delay:.1s}.floatingControlsGroup:nth-child(3){animation-delay:.15s}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.floatingButton{background:var(--panel);border:2px solid var(--line);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;font-size:16px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 12px #00000026}.floatingButton:hover{background:var(--panel-soft);border-color:var(--mm-primary);transform:translateY(-2px);box-shadow:0 6px 16px #e91e6340}.floatingButton:active{transform:translateY(0)}.floatingMainButton{background:var(--mm-primary);border-color:var(--mm-primary);color:#fff;width:56px;height:56px}.floatingMainButton:hover{background:var(--mm-dark);border-color:var(--mm-dark)}.floatingButtonActive{background:var(--mm-primary);border-color:var(--mm-primary);color:#fff}.floatingCloseButton{background:var(--line);border-color:var(--line);color:var(--muted)}.floatingCloseButton:hover{background:var(--muted);border-color:var(--muted);color:#fff}.floatingIcon{font-size:20px;line-height:1}.expandableSection{border-bottom:1px solid var(--border-subtle);transition:background-color .2s}.expandableSection:last-child{border-bottom:none}.expandableHeader{cursor:pointer;width:100%;color:var(--text-default);background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.expandableHeader:hover{background:var(--bg-subtle)}.expandableHeader:active{transform:scale(.98)}.expandableTitle{text-align:left;letter-spacing:-.01em;flex:1;font-weight:600}.expandableChevron{color:var(--text-muted);flex-shrink:0;transition:transform .25s cubic-bezier(.4,0,.2,1)}.expandableChevron.expanded{color:var(--mm-primary);transform:rotate(180deg)}.expandableContent{padding:0 12px 12px;animation:.25s cubic-bezier(.4,0,.2,1) slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.planningIntelligence{background:var(--bg-elevated);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.intelligenceHeader{border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated);z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:sticky;top:0}.intelligenceHeader h2{color:var(--text-default);letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:600}.intelligenceSearchCompact{align-items:center;gap:6px;display:flex;position:relative}.searchInputCompact{border:1px solid var(--border-default);background:var(--bg-subtle);color:var(--text-default);border-radius:16px;width:140px;padding:6px 28px 6px 10px;font-size:.8rem;transition:all .2s}.searchInputCompact:focus{border-color:var(--mm-primary);background:var(--bg-elevated);outline:none;width:180px;box-shadow:0 0 0 3px #e91e631a}.searchInputCompact::placeholder{color:var(--text-muted);font-size:.75rem}.searchClearButton{background:var(--border-subtle);width:20px;height:20px;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;line-height:1;transition:all .15s;display:flex;position:absolute;right:6px}.searchClearButton:hover{background:var(--mm-primary);color:#fff}.viewportSummaryCard{grid-template-columns:repeat(2,1fr);gap:10px;padding:12px;display:grid}.metricCard{background:var(--bg-subtle);text-align:center;border:1px solid #0000;border-radius:8px;padding:12px;transition:all .2s}.metricCard:hover{border-color:var(--border-subtle);background:var(--bg-elevated)}.metricCard.primary{background:linear-gradient(135deg,#e91e6314 0%,#e91e6308 100%);border-color:#e91e6333}.metricCard.secondary{background:var(--bg-elevated);border-color:var(--border-subtle)}.metricValue{color:var(--mm-primary);letter-spacing:-.02em;font-size:1.5rem;font-weight:700;line-height:1.1}.metricCard.secondary .metricValue{color:var(--text-default);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:1.1rem;font-weight:600;overflow:hidden}.metricLabel{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:6px;font-size:.7rem;font-weight:500}.searchResultCount{color:var(--text-subtle);text-align:center;background:var(--bg-subtle);border-radius:4px;margin-top:8px;padding:6px 12px;font-size:.75rem}.intelligenceEmptyState{text-align:center;color:var(--text-subtle);flex-direction:column;justify-content:center;align-items:center;min-height:200px;padding:48px 24px;display:flex}.emptyStateIcon{opacity:.6;margin-bottom:16px;font-size:2.5rem}.intelligenceEmptyState p{color:var(--text-default);margin:0 0 8px;font-size:.95rem;font-weight:500}.intelligenceEmptyState small{color:var(--text-muted);max-width:200px;font-size:.8rem;line-height:1.4}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#17202a;--muted:#617081;--line:#d8e0e8;--panel:#fff;--panel-soft:#f7f9fb;--map:#edf3f6;--cyan:#0ea5b7;--green:#2d9b67;--amber:#d9911f;--navy:#14283a}*{box-sizing:border-box}body{color:var(--ink);background:#eef3f7;margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.workspace{min-height:100vh;padding:16px}.topbar{border:1px solid var(--line);background:#fffffff0;border-radius:8px;grid-template-columns:minmax(320px,430px) minmax(360px,1fr) auto;align-items:center;gap:20px;margin-bottom:12px;padding:14px 18px;display:grid}.topbar h1,.panelBlock h2{letter-spacing:0;margin:0}.topbar h1{font-size:20px}.eyebrow{color:var(--cyan);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:700}.navTabs{align-items:center;gap:8px;display:flex}.navTabs button,.bottomHeader button{border:1px solid var(--line);color:var(--navy);background:#fff;border-radius:6px;padding:8px 10px;font-weight:700}.navTabs .activeTab{color:#086674;background:#e8f7f8;border:1px solid #9ddbe3}.settingsPage{gap:16px;width:100%;max-width:980px;margin:0 auto;padding:0 18px 24px;display:grid}.settingsPanel{margin:0}.settingsGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.basemapOption{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;align-items:flex-start;gap:10px;padding:14px;display:flex}.basemapOption.selected{background:#e8f7f8;border-color:#62c6d1}.basemapOption input{margin-top:3px}.basemapOption strong,.basemapOption small{display:block}.basemapOption small{color:var(--muted);margin-top:4px;line-height:1.4}.settingsStatusGrid{margin-top:16px}.settingsHint{color:var(--muted);margin:16px 0 0;font-size:13px;line-height:1.45}.mapSearch{justify-self:stretch;width:100%;min-width:280px;max-width:560px;position:relative}.mapSearch label{display:block}.mapSearch label span{color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.mapSearch input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;outline:none;width:100%;padding:9px 11px}.mapSearch input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #0ea5b71f}.mapSearchPlaceholder{min-height:1px}.searchResults{border:1px solid var(--line);z-index:40;background:#fffffffa;border-radius:8px;max-height:430px;padding:8px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 40px #14283a2e}.searchResults p{color:var(--muted);margin:8px;font-size:13px}.searchResults section{gap:3px;margin-bottom:8px;display:grid}.searchResults section>strong{color:var(--muted);text-transform:uppercase;padding:5px 6px 2px;font-size:11px}.searchResults button{color:var(--ink);text-align:left;background:0 0;border:0;border-radius:6px;gap:3px;padding:8px;display:grid}.searchResults button:hover,.searchResults .activeSearchResult{background:#e8f7f8}.searchResults button span{font-size:13px;font-weight:800}.searchResults button small{color:var(--muted);font-size:12px}.shell{grid-template-columns:300px minmax(420px,1fr) 380px;gap:12px;height:calc(100vh - 106px);min-height:640px;display:grid}.communeShell{grid-template-columns:320px minmax(460px,1fr) 390px;gap:12px;height:calc(100vh - 106px);min-height:640px;display:grid}.leftPanel,.rightPanel{background:var(--panel);border:1px solid var(--line);scrollbar-gutter:stable;border-radius:8px;flex-direction:column;gap:12px;max-height:calc(100vh - 106px);padding:14px;display:flex;overflow-y:auto}.panelBlock{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;padding:14px}.panelBlock h2{margin-bottom:10px;font-size:15px}.panelCopy{color:var(--muted);margin:0 0 12px;font-size:13px;line-height:1.45}.panelHeader{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.panelHeader h2,.panelHeader p{margin:0}.panelActions{gap:6px;display:flex}.panelActions button,.panelHeader button,.dataFilters button,.paginationControls button,.rowDrawer button,td button,th button{border:1px solid var(--line);color:var(--navy);background:#fff;border-radius:6px;padding:7px 9px;font-size:12px;font-weight:700}td button:disabled,.paginationControls button:disabled,.rowDrawer button:disabled{color:#9aa7b4;cursor:not-allowed;opacity:.65}.subsectionTitle{margin-top:14px}.panelBlock p,.panelBlock label,.metric span{color:var(--muted);font-size:13px;line-height:1.4}.panelBlock label{gap:8px;margin:8px 0;display:flex}.detailLayerList{gap:4px;display:grid}.debugToggle{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.mapDisplayNote{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.4}.disabledLayer{color:var(--muted);opacity:.62}.mapPanel{background:var(--map);border:1px solid var(--line);border-radius:8px;height:100%;min-height:640px;position:relative;overflow:hidden}.mapCanvas{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#dfe8ec;height:100%;min-height:100%;position:relative;overflow:hidden}.mapCanvas.dragging{cursor:grabbing}.tileLayer,.boundaryLayer,.corridorLayer{position:absolute;inset:0}.tileLayer{z-index:1}.tileFallbackLayer,.goongBasemapLayer{position:absolute;inset:0}.tileFallbackLayer{z-index:1}.goongBasemapLayer{opacity:0;pointer-events:none;z-index:2;transition:opacity .12s}.tileLayer img{-webkit-user-select:none;user-select:none;width:256px;height:256px;position:absolute}.boundaryLayer{pointer-events:auto;z-index:2;width:100%;height:100%}.adminBoundary{cursor:pointer;fill:#0ea5b712;fill-rule:evenodd;pointer-events:all;stroke:#14283a52;stroke-linejoin:round;stroke-width:1.2px}.adminBoundary:hover{fill:#0ea5b721;stroke:#0e8fa3c7;stroke-width:2px}.selectedBoundary{fill:#d9911f2b;stroke:var(--amber);stroke-width:2.4px}.dimmedBoundary{opacity:.28}.corridorLayer{pointer-events:none;z-index:3;width:100%;height:100%}.routeFromData{fill:none;opacity:.45;pointer-events:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px}.routeHitArea{cursor:pointer;fill:none;opacity:0;pointer-events:stroke;stroke:#000;stroke-linecap:round;stroke-width:18px}.routeFromData{stroke-width:var(--route-width,3px)}.routeCorridor{fill:none;opacity:.2;pointer-events:none;stroke:#0e8fa3;stroke-linecap:round;stroke-width:14px}.routeFeature:hover .routeFromData{filter:drop-shadow(0 0 6px #14283a4d);opacity:.95;stroke-width:calc(var(--route-width,3px) + 2px)}.routeFromData.keyRoute{filter:drop-shadow(0 0 7px #0ea5b757);opacity:.94;stroke-width:calc(var(--route-width,3px) + 3px)}.routeCorridor.supportingRoute{opacity:.14;stroke-width:12px}.routeCorridor.keyRoute{filter:drop-shadow(0 0 8px #0ea5b733);opacity:.36;stroke-width:24px}.selectedRoute{filter:drop-shadow(0 0 7px #d9911f73);opacity:1;stroke:var(--amber);stroke-width:calc(var(--route-width,3px) + 5px)}.dimmedRoute{opacity:.1}.supportingMarker:hover{opacity:.92;z-index:12}.keyProjectMarker{opacity:1;z-index:14;border:3px solid #fff;box-shadow:0 0 0 5px #0ea5b738,0 0 0 9px #ffffff52,0 10px 24px #14283a57}.keyProjectMarker:hover{box-shadow:0 0 0 8px #d9911f47,0 0 0 14px #ffffff6b,0 12px 28px #14283a61}.communeMapCanvas .boundaryLayer{z-index:2}.communeAdminBoundary.boundary-province{fill:#0ea5b70a;stroke:#14283a57;stroke-width:1.1px}.communeAdminBoundary.boundary-commune{fill:#ffffff05;stroke:#0ea5b747;stroke-width:.7px}.communeAdminBoundary.keyAdminZone{fill:#d9911f2e;filter:drop-shadow(0 0 5px #d9911f38);stroke:#d9911fe6;stroke-width:2.2px}.communeAdminRankBadge{border:2px solid var(--amber);color:#7a4c05;z-index:13;background:#fff;border-radius:999px;height:28px;padding:0 8px;font-size:11px;font-weight:900;position:absolute;transform:translate(-50%,-50%);box-shadow:0 5px 14px #14283a40}.communePointMarker{color:#fff;z-index:9;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:10px;font-weight:900;line-height:1;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 12px #14283a47}.communePointMarker span{pointer-events:none}.communePoint-current_store{background:#0e8fa3}.communePoint-future_store{background:#d9911f}.communePoint-commodity_hub{background:#2d9b67}.communePointMarker.keyMaterialHub{z-index:14;width:27px;height:27px;box-shadow:0 0 0 5px #2d9b6733,0 0 0 9px #ffffff57,0 7px 18px #14283a4d}.communePointRank{background:var(--amber);color:#fff;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:20px;font-size:9px;line-height:1;display:inline-flex;position:absolute;top:-13px;right:-13px}.communeMaterialLabel{max-width:132px}.approximateCommunePoint{opacity:.82;border-style:dashed}.selectedCommunePoint{z-index:14;width:24px;height:24px;box-shadow:0 0 0 5px #ffffff94,0 0 0 9px #d9911f3d,0 8px 20px #14283a57}.communeSearch{position:relative}.communeSearch label span{color:var(--muted);text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.communeSearch input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;outline:none;width:100%;padding:9px 11px}.communeSearch input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #0ea5b71f}.communeSearchResults{z-index:50;max-height:360px}.toggleRow{color:var(--ink);align-items:center;gap:9px;margin:8px 0;font-size:13px;font-weight:700;display:flex}.toggleRow input{accent-color:var(--cyan);width:16px;height:16px}.rankBadge{background:var(--amber);color:#fff;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:25px;height:21px;padding:0 5px;font-size:10px;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:-13px;right:-13px}.markerLabel{color:var(--navy);pointer-events:none;text-align:center;white-space:normal;background:#fffffff2;border:1px solid #14283a24;border-radius:5px;width:max-content;max-width:150px;padding:4px 6px;font-size:11px;font-style:normal;font-weight:800;line-height:1.2;display:block;position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%)}.routeKeyMarker{background:var(--amber);color:#fff;z-index:15;border:3px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:38px;height:34px;padding:0 8px;font-size:11px;font-weight:800;line-height:1;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 6px #d9911f38,0 8px 20px #14283a47}.routeKeyMarker:hover,.selectedRouteKeyMarker{box-shadow:0 0 0 8px #0ea5b740,0 10px 24px #14283a52}.routeKeyMarker .markerLabel{top:calc(100% + 6px)}.asset-airport,.asset-airport_potential_site{background:#265dff}.asset-seaport,.asset-seaport_facility_or_anchor_area{background:#0e8fa3}.asset-dry_port,.asset-multimodal_connection_node{background:#2d9b67}.asset-border_gate{background:#c2410c}.asset-inland_waterway_port_or_cluster{background:#7c6fda}.dimmedFeature{opacity:.16}.selectedAsset{border-color:var(--amber);opacity:1;z-index:10;width:22px;height:22px;box-shadow:0 0 0 7px #d9911f2e,0 4px 10px #14283a40}.mapLegend .assetDot{background:#265dff;border-radius:999px;width:10px}.mapLegend .keyDot{background:var(--amber);border:2px solid #fff;border-radius:999px;width:12px;box-shadow:0 0 0 4px #d9911f38}.mapLegend .missingDot{border:2px dashed var(--navy);background:#fff;border-radius:999px;width:10px}.mapLegend .currentStoreDot,.mapLegend .futureStoreDot,.mapLegend .commodityDot{border:2px solid #fff;border-radius:999px;width:10px;height:10px;box-shadow:0 1px 4px #14283a38}.mapLegend .currentStoreDot{background:#0e8fa3}.mapLegend .futureStoreDot{background:#d9911f}.mapLegend .commodityDot{background:#2d9b67}.aiWorkspace{grid-template-columns:minmax(420px,1fr) minmax(420px,1fr);gap:12px;height:calc(100vh - 106px);min-height:640px;display:grid}.aiChatPanel,.aiResultPanel{background:var(--panel);border:1px solid var(--line);scrollbar-gutter:stable;border-radius:8px;flex-direction:column;gap:10px;max-height:calc(100vh - 106px);padding:12px;display:flex;overflow-y:auto}.aiThread{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;gap:8px;min-height:260px;max-height:360px;padding:8px;display:grid;overflow:auto}.aiMessage{border:1px solid var(--line);border-radius:6px;gap:6px;padding:8px;display:grid}.aiMessage strong{color:var(--navy);letter-spacing:0;font-size:12px}.aiMessage p{margin:0}.aiMessage.user{background:#f5f8fb}.aiMessage.assistant{background:#f2fbfc}.aiComposer{gap:8px;display:grid}.aiComposer label{margin:0}.aiComposer textarea{border:1px solid var(--line);font:inherit;resize:vertical;border-radius:8px;width:100%;min-height:94px;padding:8px}.aiComposerActions{gap:8px;display:flex}.smallNotice{color:var(--muted);margin:0;font-size:12px}.inlineMeta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.inlineMeta span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:5px 8px;font-size:11px}.commandList{gap:8px;margin:0;padding:0;list-style:none;display:grid}.commandList li{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px;display:flex}.commandList li span{color:var(--ink);overflow-wrap:anywhere;font-size:12px;line-height:1.35}.subtleNote{color:var(--muted);margin-top:8px;display:block}.heroInsight{background:#f1fbfc;border-color:#bfe8ed}.scoreLine{align-items:baseline;gap:8px;margin-top:10px;display:flex}.scoreLine strong{font-size:30px}.scaleHero{background:#fff;border:1px solid #0ea5b73d;border-radius:8px;margin:12px 0;padding:11px}.scaleHero span{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.scaleHero strong{color:var(--navy);margin-top:4px;font-size:24px;line-height:1.12;display:block}.compactScaleHero{margin-bottom:8px}.compactScaleHero strong{font-size:22px}.whyLine{color:var(--ink);margin:8px 0 0;font-size:13px;line-height:1.35}.moreDetails{border-top:1px solid #0ea5b72e;margin-top:12px;padding-top:8px}.moreDetails summary{color:var(--navy);cursor:pointer;font-size:12px;font-weight:800}.compactMoreDetails{margin-top:9px}.keyProjectList{gap:10px;margin-top:12px;display:grid}.keyProjectCard{background:#fff;border:1px solid #0ea5b738;border-radius:8px;padding:11px;box-shadow:0 8px 18px #14283a12}.keyProjectHeader{align-items:flex-start;gap:9px;display:flex}.keyProjectHeader strong,.keyProjectHeader span{display:block}.keyProjectHeader strong{color:var(--navy);font-size:13px;line-height:1.25}.keyProjectHeader span{color:var(--muted);margin-top:3px;font-size:11px;line-height:1.3}.rankPill{background:var(--amber);color:#fff;border-radius:999px;flex:none;padding:6px 7px;font-size:11px;font-weight:800;line-height:1}.secondaryAction{color:#086674;background:#fff;border:1px solid #9ddbe3;border-radius:6px;margin-top:10px;padding:7px 9px;font-size:12px;font-weight:800}.secondaryAction:hover{background:#e8f7f8}.supportingSummary{background:#ffffff9e;border:1px solid #0ea5b729;border-radius:8px;margin-top:12px;padding:10px}.supportingSummary summary{color:var(--navy);cursor:pointer;font-size:12px;font-weight:800}.selectedRankingRow{background:#f1fbfc;font-weight:700}.emptyState,.debugPanel p{color:var(--muted);font-size:13px;line-height:1.4}.metricGrid,.routeProfile{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px}.metricButton{color:inherit;cursor:pointer;text-align:left}.metricButton:hover{border-color:var(--cyan);box-shadow:0 8px 18px #14283a14}.metricHeader{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;font-weight:700;line-height:1.25;display:flex}.metricHeader em{border:1px solid var(--line);color:var(--cyan);border-radius:999px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-style:normal;display:inline-flex}.metric strong{margin-bottom:4px;font-size:21px;display:block}.metric small{color:var(--muted);font-size:11px;line-height:1.35;display:block}.dataPage,.analysisPage,.summaryPage{gap:12px;display:grid}.summaryHero{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) 260px;align-items:end;gap:18px;padding:22px;display:grid}.summaryHero h2{letter-spacing:0;margin:0;font-size:28px}.summarySubtitle,.summaryStance,.summaryBody{color:var(--muted);max-width:980px;margin:8px 0 0;font-size:14px;line-height:1.55}.summaryStance{color:#345;font-weight:700}.summaryHeroMeta{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;gap:6px;padding:12px;display:grid}.summaryHeroMeta span,.summaryHeroMeta small{color:var(--muted);font-size:12px;line-height:1.35}.summaryHeroMeta strong{color:var(--navy);font-size:14px}.summaryTwoColumn{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.summaryTextBlock h2{font-size:18px;line-height:1.25}.summaryTextBlock p{color:var(--muted);font-size:14px;line-height:1.55}.summaryFigureGrid .metric em{color:var(--muted);margin-top:8px;font-size:11px;font-style:normal;line-height:1.35;display:block}.planningFigureGrid,.geographyGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.planningFigureCard,.geographyCard,.nextStepGrid article{border:1px solid var(--line);background:#fff;border-radius:8px;gap:7px;padding:12px;display:grid}.planningFigureCard span,.planningFigureCard small,.geographyCard dt,.geographyCard dd,.nextStepGrid p{color:var(--muted);font-size:12px;line-height:1.4}.planningFigureCard span,.geographyCard dt{text-transform:uppercase;font-weight:800}.planningFigureCard h3,.geographyCard h3{color:var(--navy);margin:0;font-size:14px;line-height:1.25}.planningFigureCard strong{color:var(--ink);font-size:18px}.planningFigureCard p,.geographyCard p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.geographyGrid{grid-template-columns:repeat(5,minmax(0,1fr))}.geographyCard strong{color:#345;font-size:12px;line-height:1.4}.geographyCard dl{gap:8px;margin:0;display:grid}.geographyCard dd{margin:2px 0 0}.summaryList{color:var(--muted);gap:8px;margin:0;padding-left:18px;font-size:13px;line-height:1.45;display:grid}.limitationList li::marker{color:var(--amber)}.compactWarning{max-width:460px;margin:0}.nextStepGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.nextStepGrid article{grid-template-columns:auto minmax(0,1fr)}.nextStepGrid span{color:#086674;background:#e8f7f8;border:1px solid #9ddbe3;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:800;display:inline-flex}.nextStepGrid p{margin:0}.sourceDisclosure{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:12px;padding:10px 12px}.sourceDisclosure summary{color:var(--navy);cursor:pointer;font-size:13px;font-weight:800}.sourceDisclosure ul{color:var(--muted);margin:10px 0 0;padding-left:18px;font-size:12px;line-height:1.45}.analysisPage{grid-template-columns:minmax(320px,430px) 1fr}.wide{grid-template-columns:repeat(4,minmax(0,1fr))}.bottomHeader{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.tableWrap{grid-column:1/-1;overflow-x:auto}.detailList{gap:8px;margin-top:12px;display:grid}.detailList article{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px}.detailList strong,.detailList span{display:block}.detailList strong{margin-bottom:4px;font-size:13px}.detailList span{color:var(--muted);font-size:12px;line-height:1.35}.datasetDetail{gap:12px;display:grid}.dataHealth,.lastUpdated{color:var(--muted);max-width:520px;margin:0;font-size:12px;line-height:1.4}.dataExplorerLayout{grid-template-columns:280px minmax(0,1fr) minmax(300px,360px);align-items:start;gap:12px;display:grid}.datasetListPanel,.recordsPanel,.recordDetailColumn{min-width:0}.datasetListPanel{gap:8px;max-height:760px;display:grid;overflow:auto}.datasetListItem{border:1px solid var(--line);color:inherit;text-align:left;background:#fff;border-radius:8px;gap:4px;padding:10px;display:grid}.datasetListItem:hover,.selectedDataset{border-color:var(--cyan);box-shadow:0 7px 16px #14283a14}.datasetListItem strong{color:var(--navy);font-size:13px;line-height:1.3}.datasetListItem span{color:var(--muted);font-size:11px;line-height:1.3}.recordsPanel{gap:12px;display:grid}.recordDetailColumn{position:sticky;top:12px}.emptyRecordDetail p{color:var(--muted);font-size:13px;line-height:1.4}.datasetMeta{flex-wrap:wrap;gap:8px;display:flex}.datasetMeta span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:6px 9px;font-size:12px}.dataFilters{grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end;gap:10px;display:grid}.dataFilters input[type=search],.dataFilters select{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;min-height:34px;padding:7px 9px}.dataFilters label{color:var(--muted);align-items:start;gap:4px;margin:0;display:grid}.dataFilters label span{text-transform:uppercase;font-size:11px;font-weight:700}.columnPicker{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px}.columnPicker summary{cursor:pointer;font-size:13px;font-weight:700}.columnPicker div{grid-template-columns:repeat(4,minmax(140px,1fr));gap:4px;margin-top:10px;display:grid}.columnPicker label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.paginationControls{justify-content:flex-end;align-items:center;gap:10px;display:flex}.paginationControls span,.drawerActions span{color:var(--muted);font-size:12px}.selectedTableRow{background:#e8f7f8}tbody tr{cursor:pointer}tbody tr:hover{background:#f2f8fa}th button{color:inherit;text-align:left;text-transform:uppercase;background:0 0;border:0;padding:0}.rowDrawer{border:1px solid var(--line);background:#fff;border-radius:8px;gap:12px;padding:14px;display:grid}.rowDrawer h3{color:var(--navy);margin:6px 0 0;font-size:13px}.detailDisclosure{border-top:1px solid var(--line);padding-top:10px}.detailDisclosure summary{color:var(--navy);cursor:pointer;font-size:13px;font-weight:700}.drawerActions{align-items:center;gap:10px;display:flex}.rawAttributeGrid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:8px;display:grid}.rawAttributeGrid div{border-top:1px solid var(--line);padding-top:8px}.rawAttributeGrid dt{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.rawAttributeGrid dd{color:var(--ink);overflow-wrap:anywhere;margin:3px 0 0;font-size:12px;line-height:1.35}.compactTable{margin-top:12px}.auditWarning{color:#6b4a12;background:#fff7e6;border:1px solid #d9911f59;border-radius:8px;margin:10px 0 0;padding:10px;font-size:13px;line-height:1.4}.focusedChecks,.qaGroupGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.focusedChecks article,.qaGroupCard{border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;gap:4px;padding:10px;display:grid}.qaGroupCard{color:inherit;cursor:pointer}.qaGroupCard:hover{border-color:var(--cyan)}.focusedChecks strong,.qaGroupCard strong{color:var(--navy);font-size:16px}.focusedChecks span,.focusedChecks em,.qaGroupCard span,.qaGroupCard small{color:var(--muted);font-size:12px;font-style:normal;line-height:1.35}table{border-collapse:collapse;width:100%;min-width:900px}.facetSection{border-top:1px solid var(--line);padding:10px 0}.facetSection:first-of-type{border-top:0}.facetSection summary{color:var(--navy);cursor:pointer;font-size:13px;font-weight:700;list-style-position:outside}.facetSection label{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.facetSection label span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.facetSection em{color:var(--muted);font-size:11px;font-style:normal}th,td{border-bottom:1px solid var(--line);text-align:left;padding:10px 8px;font-size:13px}th{color:var(--muted);text-transform:uppercase;font-size:11px}@media (width<=1180px){.shell,.communeShell{grid-template-columns:220px 1fr}.aiWorkspace{grid-template-columns:1fr}.rightPanel{grid-column:1/-1;max-height:none}.dataFilters,.dataExplorerLayout,.columnPicker div,.rawAttributeGrid,.planningFigureGrid,.geographyGrid,.nextStepGrid{grid-template-columns:repeat(2,minmax(160px,1fr))}.summaryHero,.summaryTwoColumn{grid-template-columns:1fr}.recordDetailColumn{position:static}}.routeHitArea{fill:none;pointer-events:stroke;stroke:#0000;stroke-linecap:round;stroke-linejoin:round;stroke-width:24px}.route-solid{stroke:#167f92}.route-construction{stroke:#2d9b67}.route-planned{stroke:#d9911f}.route-proposed,.route-unknown{stroke:#14283a7a}.routeCorridor.route-proposed,.routeCorridor.route-unknown{stroke:#0e8fa347}.routeFromData.supportingRoute{opacity:.22}.routeFromData.keyRoute{filter:drop-shadow(0 0 8px #0e8fa347);opacity:.96}.routeCorridor.supportingRoute{opacity:.1}.routeCorridor.keyRoute{opacity:.28}.supportingMarker{opacity:.42;box-shadow:0 0 0 2px #ffffff80,0 3px 8px #14283a24}.keyProjectMarker{box-shadow:0 0 0 5px #0e8fa33d,0 0 0 11px #ffffff6b,0 10px 24px #14283a3d}.mapFeatureCount{background:#fffffff5;border:1px solid #14283a1a;padding:8px 12px;font-size:13px;box-shadow:0 8px 20px #14283a1a}.quickActionGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.quickActionGrid button{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:7px;padding:9px 10px;font-weight:700}.quickActionGrid button:hover{border-color:#0e8fa370;box-shadow:0 6px 16px #14283a14}@media (width<=820px){.workspace{padding:10px}.topbar,.navTabs,.bottomHeader{align-items:flex-start}.topbar{grid-template-columns:1fr}.mapSearch{min-width:0;max-width:none}.navTabs,.bottomHeader{flex-direction:column}.shell,.communeShell,.routeProfile{grid-template-columns:1fr;height:auto}.leftPanel,.rightPanel{max-height:none}.mapPanel,.mapCanvas{height:70vh;min-height:520px}.dataFilters,.dataExplorerLayout,.columnPicker div,.rawAttributeGrid,.focusedChecks,.qaGroupGrid,.planningFigureGrid,.geographyGrid,.nextStepGrid,.summaryHero,.summaryTwoColumn,.wide{grid-template-columns:1fr}.aiWorkspace{height:auto;min-height:0}.aiChatPanel,.aiResultPanel{max-height:none}}.aiWorkspace{width:100%;max-width:1120px;height:calc(100vh - 106px);min-height:640px;margin:0 auto;display:grid}.aiChatPanel{background:var(--panel);border:1px solid var(--line);border-radius:8px;grid-template-rows:auto 1fr auto;min-height:0;max-height:calc(100vh - 106px);padding:0;display:grid;overflow:hidden;box-shadow:0 18px 42px #14283a14}.aiChatHeader{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#e8f7f8f0,#f7f9fbfa);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 18px;display:grid}.aiAvatar{letter-spacing:0;border-radius:999px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:11px;font-weight:800;display:inline-flex}.aiAvatar.assistant{background:linear-gradient(135deg, var(--cyan), #086674);color:#fff}.aiAvatar.user{color:var(--navy);background:#e7edf3}.aiChatTitle{min-width:0}.aiChatTitle h2{color:var(--navy);margin:0;font-size:18px;line-height:1.2}.aiChatTitle p{color:var(--muted);margin:3px 0 0;font-size:13px;line-height:1.35}.aiChatMeta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.aiChatMeta span{color:var(--navy);background:#ffffffd6;border:1px solid #0ea5b738;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:700}.aiThread{background:var(--panel-soft);border:0;border-radius:0;align-content:start;gap:16px;min-height:0;max-height:none;padding:18px;display:grid;overflow-y:auto}.aiEmptyState{border:1px solid var(--line);text-align:center;background:#fff;border-radius:8px;place-self:center;max-width:520px;padding:18px}.aiEmptyState strong{color:var(--navy);margin-bottom:6px;font-size:16px;display:block}.aiEmptyState p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.aiMessageRow{gap:10px;display:flex}.aiMessageRow.user{flex-direction:row-reverse}.aiMessageStack{gap:7px;min-width:0;max-width:min(760px,82%);display:grid}.aiMessageRow.user .aiMessageStack{justify-items:end}.aiMessageBubble{border-radius:16px;min-width:0;padding:11px 13px;line-height:1.48;box-shadow:0 1px 2px #14283a14}.aiMessageBubble.assistant{border:1px solid var(--line);color:var(--ink);background:#fff}.aiMessageBubble.user{background:var(--cyan);border:1px solid var(--cyan);color:#fff}.aiMessageBubble p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.aiMessageBubble.loading{min-width:72px;display:inline-flex}.aiTypingDots{align-items:center;gap:5px;height:18px;display:inline-flex}.aiTypingDots i{background:var(--cyan);opacity:.42;border-radius:999px;width:6px;height:6px;animation:1s ease-in-out infinite aiTypingPulse;display:block}.aiTypingDots i:nth-child(2){animation-delay:.14s}.aiTypingDots i:nth-child(3){animation-delay:.28s}@keyframes aiTypingPulse{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.aiToolDetails{color:var(--muted);font-size:12px}.aiToolDetails summary{cursor:pointer;font-weight:700}.aiToolTable{border:1px solid var(--line);background:#ffffffb8;border-radius:8px;gap:0;margin-top:7px;display:grid;overflow:hidden}.aiToolRow{grid-template-columns:minmax(130px,.7fr) minmax(160px,1.3fr) auto;gap:8px;padding:8px 10px;display:grid}.aiToolRow+.aiToolRow{border-top:1px solid var(--line)}.aiToolRow span{color:var(--navy);font-weight:700}.aiToolRow code{color:var(--muted);overflow-wrap:anywhere;font-family:inherit}.aiToolRow small{color:var(--green);font-weight:700}.aiCommandTray{background:#e8f7f89e;border:1px solid #0ea5b733;border-radius:8px;gap:8px;padding:10px;display:grid}.aiCommandTray strong{color:var(--navy);font-size:12px}.aiCommandButtons{flex-wrap:wrap;gap:8px;display:flex}.aiCommandButtons button{color:#086674;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #9ddbe3;border-radius:6px;max-width:260px;padding:7px 9px;font-size:12px;font-weight:700;overflow:hidden}.aiCommandButtons button:disabled{cursor:default;opacity:.65}.aiComposer{border-top:1px solid var(--line);background:#fff;gap:8px;padding:14px;display:grid}.aiInputBar{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr auto;align-items:end;gap:10px;padding:8px;display:grid}.aiInputBar:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px #0ea5b71f}.aiInputBar label{width:1px;height:1px;position:absolute;top:auto;left:-10000px;overflow:hidden}.aiInputBar textarea{color:var(--ink);font:inherit;resize:none;background:0 0;border:0;border-radius:0;outline:none;width:100%;min-height:44px;max-height:150px;padding:10px 8px;line-height:1.45}.aiInputBar textarea:disabled{color:var(--muted)}.aiInputBar button{background:var(--cyan);border:1px solid var(--cyan);color:#fff;border-radius:6px;justify-content:center;align-items:center;min-width:86px;min-height:42px;padding:10px 16px;font-weight:800;display:inline-flex}.aiInputBar button:disabled{cursor:default;opacity:.48}.aiComposerHint{color:var(--muted);text-align:center;margin:0;font-size:12px}.errorBanner{color:#7a390f;background:#ffece8;border:1px solid #f5b39f;border-radius:6px;margin:0;padding:7px 8px;font-size:12px}@media (width<=820px){.aiWorkspace{height:calc(100vh - 20px);min-height:0}.aiChatPanel{max-height:none}.aiChatHeader{grid-template-columns:auto minmax(0,1fr)}.aiChatMeta{grid-column:1/-1;justify-content:flex-start}.aiThread{padding:12px}.aiMessageStack{max-width:calc(100% - 44px)}.aiToolRow,.aiInputBar{grid-template-columns:1fr}.aiInputBar button{width:100%}}.loginPage{background:linear-gradient(135deg,#f6f9fb 0%,#edf3f7 56%,#f8fafb 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.loginCard{background:#fffffffa;border:1px solid #d8e0e8e6;border-radius:8px;gap:22px;width:min(100%,460px);max-width:460px;padding:34px;display:grid;box-shadow:0 24px 60px #14283a24}.loginBrandMark{color:#086674;letter-spacing:0;background:#e8f7f8;border:1px solid #9ddbe3;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;font-size:14px;font-weight:900;display:flex}.loginHeader{gap:8px;display:grid}.loginHeader h1{color:var(--navy);margin:0;font-size:30px;line-height:1.12}.loginHeader p{color:var(--muted);margin:0;font-size:15px;line-height:1.5}.loginEyebrow{letter-spacing:0;text-transform:uppercase;font-weight:800;color:var(--cyan)!important;font-size:11px!important}.loginForm{gap:12px;display:grid}.loginField{color:var(--navy);gap:7px;font-size:13px;font-weight:800;display:grid}.loginField input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;outline:none;width:100%;min-height:44px;padding:10px 12px}.loginField input:focus,.passwordToggle:focus-visible,.loginSubmit:focus-visible,.logoutButton:focus-visible{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px #0ea5b724}.passwordInputWrap{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;position:relative}.passwordInputWrap input{padding-right:76px}.passwordToggle{color:#086674;background:0 0;border:1px solid #0000;border-radius:6px;padding:7px 9px;font-size:12px;font-weight:800;position:absolute;right:6px}.loginSubmit{background:var(--navy);border:1px solid var(--navy);color:#fff;border-radius:8px;min-height:44px;padding:10px 14px;font-weight:800}.loginSubmit:disabled{cursor:not-allowed;opacity:.68}.loginError{color:#9b341d;margin:-4px 0 0;font-size:12px;line-height:1.35}.loginCredentialError{background:#ffece8;border:1px solid #f5b39f;border-radius:6px;margin:0;padding:8px 10px}.topbarControls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.logoutButton{border:1px solid var(--line);color:var(--navy);background:#fff;border-radius:6px;padding:8px 10px;font-size:12px;font-weight:800}.logoutButton:hover{background:#fff7e6;border-color:#d9911f6b}@media (width<=820px){.loginPage{align-items:flex-start;padding:18px}.loginCard{padding:24px}.loginHeader h1{font-size:25px}.topbarControls{justify-content:flex-start}}.communePoint-current_store{background:#fff;border:2.5px solid #00843d}.communePoint-future_store{opacity:.88;background:#fff;border:2.5px solid #00843d9e}.communeStoreIcon{background-color:#fff;background-position:50% 36%;background-repeat:no-repeat;background-size:270%;border-radius:999px;width:76%;height:76%;display:block}.assetCluster{width:32px;height:32px;font-size:10px;box-shadow:0 0 0 3px #0ea5b714,0 3px 8px #14283a24}.assetCluster strong{font-size:11px}.selectedCluster{box-shadow:0 0 0 6px #d9911f29,0 6px 18px #14283a38}.communePointCluster{color:#334155;z-index:15;background:#fff;border:1.5px solid #334155;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;width:32px;height:32px;line-height:1;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 9px #14283a21}.communePointCluster strong{font-size:10px}.communePointCluster span{margin-top:1px;font-size:7px}.communeStoreCluster{color:#005baa;background:#fff;border:2px solid #005baa;width:30px;height:30px}.communeStoreCluster strong{font-size:12px}.communeStoreCluster span{display:none}.communeStoreLeaderLayer{pointer-events:none;z-index:14;position:absolute;inset:0;overflow:visible}.communeStoreLeaderLine{stroke:#14283a8a;stroke-linecap:round;stroke-width:1.2px}.communeStoreLeaderAnchor{fill:#fff;stroke:#14283a9e;stroke-width:1.2px}.communePointCluster:hover{box-shadow:0 5px 14px #14283a38}.tileLayer,.tileFallbackLayer,.goongBasemapLayer{z-index:1}.goongBasemapLayer{opacity:0;pointer-events:none;transition:opacity .12s;position:absolute;inset:0}.goongBasemapLayer.ready{opacity:1}.goongBasemapLayer *{pointer-events:none!important}.tileFallbackLayer{z-index:1;position:absolute;inset:0}.goongBasemapLayer{z-index:2}.boundaryLayer{pointer-events:auto;z-index:10;position:absolute;inset:0}.adminBoundary{cursor:pointer;fill:#0ea5b712;fill-rule:evenodd;pointer-events:all;stroke:#14283a52;stroke-linejoin:round;stroke-width:1.2px;vector-effect:non-scaling-stroke}.adminBoundary:hover{fill:#0ea5b721;opacity:1;stroke:#0e8fa3c7;stroke-width:2px}.selectedBoundary{fill:#d9911f2b;stroke:var(--amber);stroke-width:2.4px;z-index:15}.communeAdminBoundary.materialRegionBoundary{fill:#363a921f;stroke:#363a92;stroke-width:1.8px}.communeAdminBoundary.linkedCommuneBoundary{fill:#d9911f2e;stroke:var(--amber);stroke-width:2.4px}.dimmedBoundary{opacity:.28;z-index:11}.corridorLayer{pointer-events:none;z-index:20;width:100%;height:100%;position:absolute;inset:0}.routeCorridor{fill:none;opacity:.2;pointer-events:none;stroke:#0e8fa3;stroke-linecap:round;stroke-width:14px;z-index:21}.routeCorridor.supportingRoute{opacity:.08;stroke-width:12px;z-index:22}.routeCorridor.keyRoute{filter:drop-shadow(0 0 8px #0ea5b733);opacity:.36;stroke-width:24px;z-index:23}.routeFeature{pointer-events:auto}.routeFromData{fill:none;opacity:.45;pointer-events:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px;z-index:31}.routeHitArea{cursor:pointer;fill:none;opacity:0;pointer-events:stroke;stroke:#000;stroke-linecap:round;stroke-width:18px;z-index:32}.routeFromData.supportingRoute{opacity:.24;z-index:33}.routeFromData.keyRoute{filter:drop-shadow(0 0 7px #0ea5b757);opacity:.94;stroke-width:calc(var(--route-width,3px) + 3px);z-index:34}.routeFeature:hover .routeFromData{filter:drop-shadow(0 0 6px #14283a4d);opacity:.95;stroke-width:calc(var(--route-width,3px) + 2px);z-index:35}.selectedRoute{filter:drop-shadow(0 0 7px #d9911f73);opacity:1;stroke:var(--amber);stroke-width:calc(var(--route-width,3px) + 5px);z-index:36}.dimmedRoute{opacity:.1;z-index:30}.assetMarker{color:#fff;z-index:41;background:#34495e;border:2px solid #fffffff2;border-radius:999px;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:9px;font-weight:800;line-height:1;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #ffffff5c,0 5px 14px #14283a47}.assetMarker span{pointer-events:none}.supportingMarker{opacity:.52;z-index:42;box-shadow:0 0 0 2px #ffffff6b,0 3px 8px #14283a33}.supportingMarker:hover{opacity:.95;z-index:52;background:#fff;box-shadow:0 0 0 4px #ffffff7a,0 4px 12px #14283a33}.existingBaselineMarker{border-color:var(--asset-outline);opacity:.82;z-index:43;background:#ffffffdb;box-shadow:0 2px 8px #14283a29}.existingBaselineMarker.asset-airport{--asset-outline:#2563eb;background:#ffffffdb}.existingBaselineMarker.asset-seaport{--asset-outline:#0e8fa3;background:#ffffffdb}.existingBaselineMarker.asset-dry_port{--asset-outline:#5b5fc7;background:#ffffffdb}.existingBaselineMarker.missingScale{opacity:.8}.keyProjectMarker{border:2.5px solid var(--asset-outline);opacity:1;z-index:44;background:#ffffffeb;box-shadow:0 0 0 4px #ffffff94,0 5px 14px #14283a38}.keyProjectMarker.status-planned,.keyProjectMarker.status-proposed,.keyProjectMarker.status-construction,.keyProjectMarker.status-unknown{opacity:1}.keyProjectMarker:hover{z-index:54;background:#fff;box-shadow:0 0 0 5px #d9911f33,0 0 0 9px #ffffff85,0 8px 20px #14283a40}.assetCluster{border:2px solid var(--cyan);color:var(--navy);z-index:45;background:#fffffff5;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:11px;font-weight:700;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #0ea5b71a,0 4px 10px #14283a29}.assetCluster strong{line-height:1;display:block}.selectedCluster{border-color:var(--amber);z-index:55;box-shadow:0 0 0 9px #d9911f2e,0 8px 22px #14283a40}.selectedAsset{border-color:var(--amber);opacity:1;z-index:50;background:#fff;width:22px;height:22px;box-shadow:0 0 0 7px #d9911f2e,0 4px 12px #14283a38}.dimmedFeature{opacity:.16;z-index:40}.rankBadge{z-index:61;min-width:22px;height:18px;padding:0 4px;font-size:9px;top:-11px;right:-11px}.routeKeyMarker{border:2px solid var(--amber);color:#7a4c05;z-index:62;background:#fffffff2;min-width:30px;height:26px;padding:0 6px;font-size:10px;box-shadow:0 0 0 4px #ffffff85,0 5px 14px #14283a33}.routeKeyMarker:hover,.selectedRouteKeyMarker{z-index:63;box-shadow:0 0 0 5px #d9911f33,0 7px 18px #14283a3d}.markerLabel{color:var(--navy);pointer-events:none;text-align:center;white-space:normal;z-index:64;background:#fffffff2;border:1px solid #14283a24;border-radius:5px;width:max-content;max-width:150px;padding:4px 6px;font-size:11px;font-style:normal;font-weight:800;line-height:1.2;display:block;position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%)}.supportingLabel{color:var(--muted);opacity:.88;max-width:120px;font-size:10px;font-weight:700}.provinceHoverLabel{color:#fff;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;z-index:65;background:#14283ae0;border:1px solid #fff9;border-radius:999px;max-width:180px;padding:7px 10px;font-size:12px;font-weight:800;position:absolute;overflow:hidden;transform:translate(12px,-120%);box-shadow:0 10px 24px #14283a2e}.mapTooltip{color:var(--ink);pointer-events:none;z-index:100;background:#fffffff5;border:1px solid #14283a29;border-radius:8px;max-width:280px;padding:9px 10px;position:absolute;transform:translate(12px,12px);box-shadow:0 12px 30px #14283a29}.mapTooltip strong{margin-bottom:5px;font-size:12px;display:block}.mapTooltip span{color:var(--muted);font-size:11px;line-height:1.35;display:block}.selectedFeatureCallout{color:var(--navy);pointer-events:none;z-index:101;background:#fffffff0;border:1px solid #14283a2e;border-radius:6px;max-width:180px;padding:7px 9px;font-size:12px;font-weight:700;position:absolute;transform:translate(16px,-50%);box-shadow:0 10px 26px #14283a1f}.mapStateMessage,.debugOverlay{border:1px solid var(--line);color:var(--navy);z-index:110;background:#fffffff0;border-radius:6px;padding:8px 10px;font-size:12px;position:absolute;top:18px;left:18px}.debugOverlay{color:#5d4420;top:58px}.debugModeOn .assetMarker:after{border:1px solid var(--line);color:var(--navy);content:attr(data-layer);white-space:nowrap;background:#ffffffeb;border-radius:4px;padding:2px 4px;font-size:10px;display:none;position:absolute;top:-8px;left:12px}.debugModeOn .assetMarker:hover:after{display:block}.mapFeatureCount{border:1px solid var(--line);color:var(--navy);z-index:111;background:#ffffffeb;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700;position:absolute;top:102px;right:18px}.mapToolbar{z-index:112;gap:6px;display:grid;position:absolute;top:18px;right:18px}.mapToolbar button{border:1px solid var(--line);color:var(--navy);background:#fffffff0;border-radius:6px;width:36px;height:36px;padding:0;font-size:20px;font-weight:700;line-height:1}.mapZoomReadout{border:1px solid var(--line);color:var(--navy);background:#fffffff0;border-radius:6px;justify-content:center;align-items:center;min-width:44px;height:30px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.mapToolbar .mapFitButton{width:auto;padding:0 10px;font-size:12px}.mapLegend{border:1px solid var(--line);z-index:113;background:#ffffffe6;border-radius:8px;flex-wrap:wrap;gap:12px;padding:10px;display:flex;position:absolute;bottom:18px;left:18px}.mapLegend span{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.mapLegend i{width:24px;height:8px;display:inline-block}.mapLegend .solid{background:var(--cyan)}.mapLegend .dash{border-top:2px dashed var(--amber)}.mapLegend .construction{background:var(--green)}.mapLegend .corridor{background:#0e8fa33d;border-top:5px solid #0e8fa36b}.mapLegend .assetDot,.mapLegend .keyDot{box-shadow:none;background:0 0;border:2px solid #0e8fa3;border-radius:999px;width:10px;height:10px}.mapLegend .missingDot{background:0 0}.mapLegend .clusterDot{border:2px solid var(--cyan);background:#fff;border-radius:999px;width:12px;box-shadow:0 0 0 4px #0ea5b724}.mapLegend .boundarySwatch{background:#0ea5b71f;border:1px solid #14283a61;border-radius:2px;width:14px}.assetMarker,.routeFromData,.adminBoundary{transition:all .2s ease-out}.assetMarker:hover,.routeFeature:hover .routeFromData,.adminBoundary:hover{transition:all .1s ease-in}.assetMarker{--asset-outline:#14283a94}.asset-airport,.asset-airport_potential_site{--asset-outline:#2563eb}.asset-seaport,.asset-seaport_facility_or_anchor_area{--asset-outline:#0e8fa3}.asset-dry_port,.asset-multimodal_connection_node{--asset-outline:#2d9b67}.asset-border_gate{--asset-outline:#c2410c}.asset-inland_waterway_port_or_cluster{--asset-outline:#7c6fda}.roadRoute{stroke:#d9911fdb}.railRoute{stroke:#535ccad1}.route-status-existing{stroke-dasharray:none}.route-status-under_construction{stroke-dasharray:12 5 2 5}.route-status-planned{stroke-dasharray:8 8}.route-status-proposed,.route-status-unknown{stroke-dasharray:2 8;opacity:.55}.status-planned{opacity:.72}.status-proposed{opacity:.6}.status-construction{background:var(--green);opacity:.88}.status-existing{opacity:1}.status-unknown{opacity:.58;background:#6b7280}.missingScale{outline-offset:2px;outline:2px dashed #14283a52}.approximateLocation{outline-color:#d9911fa6}html,body,#root{width:100%;min-height:100%}body{overflow-x:hidden}#root{min-height:100dvh}.workspace{grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:100dvh;padding:clamp(8px,1.1vw,16px);display:grid;overflow-x:hidden}.topbar,.shell,.communeShell,.aiWorkspace,.analysisPage,.dataExplorerPage,.communeAnalysisPage,.aiAssistPage,.settingsPageWrap,.settingsPage,.dataExplorerLayout,.mapPanel,.mapCanvas,.leftPanel,.rightPanel,.panelBlock,.recordsPanel,.datasetListPanel,.recordDetailColumn{min-width:0}.topbar{grid-template-columns:1fr;align-items:stretch;gap:clamp(10px,1.3vw,20px);margin-bottom:0;padding:clamp(10px,1vw,14px) clamp(12px,1.25vw,18px);display:grid}.topbarMain{grid-template-columns:minmax(240px,340px) minmax(320px,620px) minmax(max-content,1fr);align-items:center;gap:clamp(12px,1.2vw,18px);min-width:0;display:grid}.topbarBrand{min-width:0}.topbarSearchSlot{justify-self:stretch;min-width:0}.topbarUtility{justify-content:flex-end;justify-self:end}.topbarNavRow{justify-content:flex-end;min-width:0;display:flex}.topbar h1{overflow-wrap:anywhere;font-size:clamp(18px,1.28vw,20px);line-height:1.12}.eyebrow{overflow-wrap:anywhere}.topbarControls{gap:8px;min-width:0;display:flex}.navTabs{flex-wrap:wrap;justify-content:flex-end;min-width:0}.navTabs button,.logoutButton,.panelActions button,.paginationControls button,.drawerActions button,.aiComposerActions button,.quickActionGrid button,.commandList button{text-align:center;justify-content:center;align-items:center;min-height:36px;line-height:1.15;display:inline-flex}.navTabs button,.logoutButton{white-space:nowrap}.panelActions,.paginationControls,.drawerActions,.aiComposerActions{align-items:center;gap:8px}.mapSearch{min-width:0;max-width:none}.mapSearchLabel{color:var(--muted);text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:700;line-height:1;display:block}.mapSearchInputWrap{min-width:0;position:relative}.mapSearch input{text-overflow:ellipsis;white-space:nowrap;min-height:38px;padding-right:112px;overflow:hidden}.mapSearch input::-webkit-search-cancel-button{display:none}.mapSearchStatus,.mapSearchClear{position:absolute;top:50%;transform:translateY(-50%)}.mapSearchStatus{color:var(--muted);white-space:nowrap;font-size:11px;font-style:normal;line-height:1;right:58px}.mapSearchClear{color:var(--cyan);background:0 0;border:0;min-height:28px;padding:4px 8px;font-size:12px;font-weight:700;right:6px}.mapSearchClear:hover{color:#086674}.mapSearchPlaceholder{visibility:hidden;min-height:58px}.basemapDetailControls{border-top:1px solid var(--line);gap:8px;margin-top:12px;padding-top:12px;display:grid}.basemapDetailControls h3{text-transform:uppercase;margin:0;font-size:12px;line-height:1.2}.basemapDetailControls .mapDisplayNote{margin-top:0}.shell,.communeShell{align-items:stretch;height:auto;min-height:0}.mapPanel,.mapCanvas{min-height:0}.leftPanel,.rightPanel,.aiChatPanel,.aiResultPanel{min-height:0;max-height:none}.dataExplorerPage,.communeAnalysisPage,.aiAssistPage,.settingsPageWrap{min-height:0}.settingsPage{padding:0}.dataExplorerLayout{min-height:0}.tableWrap{max-width:100%}.datasetListPanel{max-height:none}.recordDetailColumn{top:clamp(8px,1vw,12px)}.loginPage{min-height:100dvh;padding:clamp(14px,4vw,24px)}.loginCard{max-width:min(460px,100vw - 28px);padding:clamp(22px,4vw,34px)}@media (width>=1181px){.workspace{height:100dvh;overflow:hidden}.shell{grid-template-columns:minmax(260px,18rem) minmax(560px,1fr) minmax(320px,24rem)}.communeShell{grid-template-columns:minmax(270px,19rem) minmax(560px,1fr) minmax(330px,24rem)}.shell,.communeShell,.aiWorkspace{height:100%;overflow:hidden}.leftPanel,.rightPanel,.aiChatPanel,.aiResultPanel{height:100%;overflow-y:auto}.mapPanel,.mapCanvas{height:100%}.dataExplorerPage,.communeAnalysisPage,.aiAssistPage,.settingsPageWrap{overflow:auto}.dataExplorerPanel{max-height:100%;overflow:hidden}.dataExplorerLayout{grid-template-columns:minmax(240px,18rem) minmax(0,1fr) minmax(300px,22rem)}.datasetListPanel,.recordsPanel,.recordDetailColumn{max-height:min(760px,100dvh - 250px);overflow:auto}.analysisPage{align-items:start;max-height:100%;overflow:auto}}@media (width>=821px) and (width<=1180px){.workspace{min-height:100dvh}.topbar{grid-template-columns:1fr}.topbarMain{grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr)}.topbarSearchSlot{min-width:0}.topbarControls{grid-column:1/-1;justify-content:flex-end}.topbarUtility{grid-column:1/-1}.topbarNavRow{justify-content:flex-end}.shell,.communeShell{grid-template-columns:minmax(240px,30vw) minmax(0,1fr);height:auto;min-height:0}.mapPanel{height:clamp(560px,100dvh - 190px,760px);min-height:0}.mapCanvas{height:100%;min-height:0}.leftPanel{max-height:clamp(560px,100dvh - 190px,760px);overflow-y:auto}.rightPanel{grid-column:1/-1;max-height:clamp(280px,42dvh,520px);overflow-y:auto}.aiWorkspace{grid-template-columns:1fr;height:auto;min-height:0}.aiChatPanel,.aiResultPanel{max-height:none}.dataExplorerLayout{grid-template-columns:minmax(230px,32vw) minmax(0,1fr)}.recordDetailColumn{grid-column:1/-1;position:static}}@media (width<=820px){.workspace{min-height:100dvh;padding:10px;display:block;overflow:visible}.topbar{grid-template-columns:1fr;margin-bottom:10px;display:grid}.topbarMain{grid-template-columns:1fr}.topbarSearchSlot,.topbarUtility,.topbarNavRow{justify-self:stretch}.topbarControls,.topbarUtility{justify-content:flex-start}.mapSearchPlaceholder{display:none}.navTabs{scrollbar-gutter:stable;flex-flow:row;justify-content:flex-start;margin:0 -2px;padding-bottom:2px;display:flex;overflow-x:auto}.navTabs button{flex:none}.shell,.communeShell,.aiWorkspace,.analysisPage,.dataExplorerLayout,.settingsGrid,.dataFilters,.columnPicker div,.rawAttributeGrid,.focusedChecks,.qaGroupGrid,.planningFigureGrid,.geographyGrid,.nextStepGrid,.summaryHero,.summaryTwoColumn,.wide{grid-template-columns:1fr}.shell,.communeShell{height:auto;min-height:0;display:grid}.shell .mapPanel,.communeShell .mapPanel{grid-row:1}.shell .leftPanel,.communeShell .leftPanel{grid-row:2}.shell .rightPanel,.communeShell .rightPanel{grid-row:3}.mapPanel{height:clamp(420px,68dvh,620px);min-height:0}.mapCanvas{height:100%;min-height:0}.leftPanel,.rightPanel,.aiChatPanel,.aiResultPanel,.datasetListPanel,.recordsPanel,.recordDetailColumn{max-height:none;overflow:visible}.dataExplorerPage,.communeAnalysisPage,.aiAssistPage,.settingsPageWrap,.settingsPage{overflow:visible}.dataExplorerLayout{display:grid}.recordDetailColumn{position:static}.tableWrap{overflow-x:auto}.paginationControls,.drawerActions,.aiComposerActions,.panelHeader{flex-wrap:wrap;justify-content:flex-start;align-items:stretch}.panelHeader{gap:8px}.mapSearch input{padding-right:100px}.mapSearchStatus{display:none}}@media (width<=520px){.workspace{padding:8px}.topbar,.panelBlock,.leftPanel,.rightPanel{border-radius:7px}.topbar h1{font-size:18px}.eyebrow{font-size:10px}.mapPanel{height:clamp(390px,64dvh,560px)}.mapCanvas{height:100%}.mapLegend{max-width:calc(100% - 20px);left:10px;right:10px}.mapToolbar{top:12px;right:10px}.searchResults{max-height:min(430px,62dvh)}.loginCard{width:100%}}.assetMarker{--asset-stroke:#334155;border:1.5px solid var(--asset-stroke);color:var(--asset-stroke);background:#fff;box-shadow:0 2px 6px #14283a3d}.assetMarker.asset-airport,.assetMarker.asset-airport_potential_site{--asset-stroke:#123c99}.assetMarker.asset-seaport,.assetMarker.asset-seaport_facility_or_anchor_area{--asset-stroke:#075e6f}.assetMarker.asset-dry_port,.assetMarker.asset-multimodal_connection_node{--asset-stroke:#176a43}.assetMarker.asset-border_gate{--asset-stroke:#842508}.assetMarker.asset-inland_waterway_port_or_cluster{--asset-stroke:#363a92}.assetMarker.status-construction,.assetMarker.status-unknown,.assetMarker.asset-airport,.assetMarker.asset-airport_potential_site,.assetMarker.asset-seaport,.assetMarker.asset-seaport_facility_or_anchor_area,.assetMarker.asset-dry_port,.assetMarker.asset-multimodal_connection_node,.assetMarker.asset-border_gate,.assetMarker.asset-inland_waterway_port_or_cluster{background:#fff}.supportingMarker,.existingBaselineMarker{border-color:var(--asset-stroke);background:#fff;box-shadow:0 2px 6px #14283a38}.supportingMarker{opacity:.72}.existingBaselineMarker{opacity:.86}.supportingMarker:hover,.keyProjectMarker:hover,.selectedAsset{opacity:1;background:#fff;box-shadow:0 0 0 3px #14283a24,0 5px 14px #14283a47}.keyProjectMarker{border:2px solid var(--asset-stroke);color:var(--asset-stroke);background:#fff;box-shadow:0 0 0 3px #d9911f3d,0 5px 14px #14283a47}.selectedAsset{border-color:#8f5e00}.routeKeyMarker{color:#7a4c05;background:#fff;border:2px solid #8f5e00;box-shadow:0 0 0 3px #d9911f3d,0 5px 14px #14283a42}.routeKeyMarker:hover,.selectedRouteKeyMarker{background:#fff;box-shadow:0 0 0 4px #d9911f4d,0 7px 18px #14283a4d}.mapLegend .assetDot,.mapLegend .keyDot{box-shadow:none;background:#fff;border:1px solid #075e6f}.mapLegend .keyDot{border-color:#8f5e00}.communePointMarker{--commune-stroke:#334155;border:1.5px solid var(--commune-stroke);color:var(--commune-stroke);background:#fff;box-shadow:0 2px 7px #14283a42}.communePoint-current_store{--commune-stroke:#005a2a}.communePoint-future_store{--commune-stroke:#00843d;opacity:.92}.communePoint-distribution_center{--commune-stroke:#0f766e}.communePoint-commodity_hub{--commune-stroke:#176a43}.communePoint-demand_anchor{--commune-stroke:#8f5e00}.communePoint-material_region{--commune-stroke:#363a92}.quietCommunePoint{opacity:.78}.communePointInnerDot{display:none}.communeStoreIcon{background-color:#0000;width:74%;height:74%}.communeStorePinMarker{--commune-number-fill:#005baa;--commune-stroke:var(--commune-number-fill);box-sizing:border-box;opacity:1;z-index:16;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 0 0 1px #14283a2e,0 5px 13px #14283a42}.communeStoreLogoMarker{border:2px solid var(--commune-number-fill);background:#fff;border-radius:999px;padding:1px;overflow:hidden;transform:translate(-50%,-50%)}.communeStoreLogoMarker:after{display:none}.communeStoreNamePinMarker{background:var(--commune-number-fill);color:#fff;letter-spacing:0;white-space:nowrap;border:2px solid #fffffff5;border-radius:7px;padding:0 9px;font-size:10px;font-weight:900;line-height:1;transform:translate(-50%,calc(-100% - 8px))}.communeStoreNamePinMarker:after{border-left:7px solid #0000;border-right:7px solid #0000;border-top:9px solid var(--commune-number-fill);content:"";position:absolute;top:calc(100% - 1px);left:50%;transform:translate(-50%)}.communeStoreLogo{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.numberedStore-mm{--commune-number-fill:#005baa}.numberedStore-depot{--commune-number-fill:#00843d}.numberedStore-foodservice{--commune-number-fill:#8b3fa8}.numberedStore-distribution{--commune-number-fill:#0f766e}.numberedStore-supercenter{--commune-number-fill:#d62828}.numberedStore-ho{--commune-number-fill:#203040}.numberedStore-future{--commune-number-fill:#d9911f}.communeStorePinText{color:#fff;pointer-events:none;text-overflow:ellipsis;text-shadow:0 1px 1px #14283a5c;white-space:nowrap;justify-content:center;align-items:center;width:100%;max-width:100%;height:100%;font-size:10px;font-weight:900;line-height:1;display:inline-flex;overflow:hidden}.mapLegend .currentStoreNumberLegend{background:var(--commune-number-fill,#005baa);color:#fff;border:1px solid #ffffffe6;border-radius:5px;justify-content:center;align-items:center;min-width:28px;height:17px;padding:0 5px;font-size:8px;font-style:normal;font-weight:900;line-height:1;display:inline-flex;box-shadow:0 0 0 1px #14283a2e}.mapLegend .communeStoreLogoLegend{border-color:var(--commune-number-fill,#005baa);background:#fff;border-width:2px;border-radius:999px;width:18px;min-width:18px;height:18px;padding:1px}.mapLegend .communeStoreLogoLegend img{object-fit:contain;width:100%;height:100%;display:block}.communePointMarker.keyMaterialHub,.communePointMarker.keyMaterialRegion,.selectedCommunePoint{border-color:var(--commune-stroke);background:#fff;box-shadow:0 0 0 3px #14283a1f,0 6px 16px #14283a4d}.communeStoreLogoMarker.selectedCommunePoint{border-color:var(--commune-number-fill);box-shadow:0 0 0 4px color-mix(in srgb, var(--commune-number-fill) 24%, transparent), 0 7px 18px #14283a57;background:#fff}.communeStoreNamePinMarker.selectedCommunePoint{background:var(--commune-number-fill);border-color:#fff;box-shadow:0 0 0 4px #14283a38,0 7px 18px #14283a57}.approximateCommunePoint{border-color:var(--commune-stroke);opacity:.78;outline-offset:2px;outline:1.5px dashed #14283a57}.missingScaleCommunePoint{outline-offset:2px;outline:1.5px dashed #14283a66}.communePointRank{border-color:#8f5e00}.communeStoreNumberBadge{color:#fff;pointer-events:none;z-index:2;background:#005a2a;border:1.5px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:9px;font-weight:900;line-height:1;display:inline-flex;position:absolute;top:-10px;right:-10px;box-shadow:0 2px 7px #14283a3d}.selectedCommunePoint .communeStoreNumberBadge{background:var(--navy)}.mapLegend .currentStoreDot,.mapLegend .futureStoreDot,.mapLegend .commodityDot,.mapLegend .demandDot,.mapLegend .materialRegionDot{box-shadow:none;background-color:#fff;border:1px solid #14283a52}.mapLegend .currentStoreDot{border-color:#005a2a}.mapLegend .futureStoreDot{border-color:#00843d}.mapLegend .commodityDot{border-color:#176a43}.mapLegend .demandDot{border-color:#8f5e00;border-radius:999px;width:10px;height:10px}.mapLegend .materialRegionDot{border-color:#363a92;border-radius:999px;width:10px;height:10px}.communeFilterTabs{border:1px solid var(--line);background:#ffffffb8;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin:8px 0 10px;padding:3px;display:grid}.communeFilterTabs button,.communeLabelModeControl button{color:var(--muted);text-align:center;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:100%;min-height:32px;padding:6px 8px;font-size:11px;font-weight:800;line-height:1.15;display:inline-flex}.communeFilterTabs button:hover,.communeLabelModeControl button:hover{color:var(--navy);background:#0e8fa314;border-color:#0e8fa333}.communeFilterTabs .activeCommuneFilterTab,.communeLabelModeControl .activeCommuneLabelMode{color:var(--navy);background:#fff;border-color:#0e8fa36b;box-shadow:0 2px 8px #14283a14}.communeFilterTabPanel{gap:8px;display:grid}.communeStoreNumberAction{color:var(--navy);cursor:pointer;text-align:left;background:#fff;border:1px solid #0e8fa35c;border-radius:6px;width:100%;min-height:34px;padding:7px 9px;font-size:12px;font-weight:800}.communeStoreNumberAction:hover{background:#0e8fa314;border-color:#0e8fa394}.communeDistributionCenterAction{color:var(--navy);text-align:left;background:#fff;border:1px solid #0f766e57;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;width:100%;min-height:48px;padding:8px 10px;display:grid}.communeDistributionCenterAction:hover{background:#0f766e12;border-color:#0f766e8f}.communeDistributionCenterAction span{align-items:center;gap:7px;font-size:12px;font-weight:900;display:inline-flex}.communeDistributionCenterAction span i{background:#0f766e;border:2px solid #fff;border-radius:5px;width:22px;height:16px;box-shadow:0 0 0 1px #0f766e57}.communeDistributionCenterAction strong{color:#0f766e;background:#e7f5f3;border-radius:999px;grid-area:1/2/span 2;justify-content:center;align-items:center;min-width:28px;padding:5px 8px;font-size:12px;font-weight:900;display:inline-flex}.communeDistributionCenterAction small{color:var(--muted);font-size:11px;font-weight:700;line-height:1.2}.activeCommuneDistributionCenterAction{background:#0f766e1a;border-color:#0f766e;box-shadow:inset 3px 0 #0f766e}.activeCommuneDistributionCenterAction strong{color:#fff;background:#0f766e}.communeStoreMarkerModeAction{color:var(--navy);text-align:left;background:#fff;border:1px solid #14283a2e;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;width:100%;min-height:42px;padding:8px 10px;display:grid}.communeStoreMarkerModeAction:hover{background:#0e8fa314;border-color:#0e8fa36b}.communeStoreMarkerModeAction span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.communeStoreMarkerModeAction strong{color:var(--navy);background:#eef7f8;border:1px solid #0e8fa338;border-radius:999px;grid-area:1/2/span 2;padding:5px 8px;font-size:11px;font-weight:900}.communeStoreMarkerModeAction small{color:var(--muted);font-size:11px;font-weight:700;line-height:1.15}.activeCommuneStoreMarkerModeAction{border-color:#d9911f70}.activeCommuneStoreMarkerModeAction strong{background:#fff7e8;border-color:#d9911f57}.communeLabelModeControl{gap:6px;display:grid}.communeLabelModeControl>span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.communeLabelModeControl>div{border:1px solid var(--line);background:#ffffffb3;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;display:grid}.communeFacetSection{border-top:1px solid var(--line);padding-top:8px}.communeFacetSection summary{color:var(--navy);cursor:pointer;margin-bottom:6px;font-size:12px;font-weight:800}.communeBoundaryOnlyAction{color:var(--navy);text-align:left;background:#fff;border:1px solid #14283a2e;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 9px;width:100%;min-height:42px;padding:8px 10px;display:grid}.communeBoundaryOnlyAction:hover{background:#f5faf7;border-color:#2d9b6770}.communeBoundaryOnlyAction span:not(.communeBoundaryOnlySwatch){font-size:12px;font-weight:900;line-height:1.1}.communeBoundaryOnlyAction small{color:var(--muted);grid-column:2;font-size:11px;font-weight:700;line-height:1.15}.communeBoundaryOnlySwatch{background:#fff;border:1px solid #aeb7c1;border-radius:3px;grid-row:1/span 2;width:22px;height:22px;display:inline-block;box-shadow:inset 0 0 0 2px #ffffff57}.activeCommuneBoundaryOnlyAction{background:#edf6ef;border-color:#2d9b67ad;box-shadow:0 0 0 3px #2d9b671a}.communeMapCanvas.minimalBoundaryMap{background:#fff}.communeMapCanvas.minimalBoundaryMap .communeBoundaryLayer{z-index:1}.communeStrategicRegionFill{pointer-events:none;stroke:none}.communeRegionNorth{fill:#3b82f633}.communeRegionCentral{fill:#f59e0b33}.communeRegionSouth{fill:#22c55e33}.communeMapCanvas.minimalBoundaryMap .communeRegionNorth{fill:#3b82f647}.communeMapCanvas.minimalBoundaryMap .communeRegionCentral{fill:#f59e0b47}.communeMapCanvas.minimalBoundaryMap .communeRegionSouth{fill:#22c55e47}.communeMapCanvas.minimalBoundaryMap .communeAdminBoundary.boundary-province{fill:#ffffff14;opacity:1;stroke:#6b728080;stroke-width:.9px}.communeMapCanvas.minimalBoundaryMap .communeAdminBoundary.boundary-province:hover{fill:#e5e7eb47;stroke:#4b5563c7;stroke-width:1.3px}.communeMapCanvas.minimalBoundaryMap .selectedBoundary{fill:#e5e7eb;stroke:#6b7280;stroke-width:1.8px}.communeMapCanvas.minimalBoundaryMap .mapLegend{background:#ffffffe0}.mapLegend .strategicRegionSwatch{border:1px solid #14283a29;border-radius:3px;width:18px;height:10px}.mapLegend .regionNorthSwatch{background:#3b82f66b}.mapLegend .regionCentralSwatch{background:#f59e0b6b}.mapLegend .regionSouthSwatch{background:#22c55e6b}.communeLegend{align-items:center;max-width:min(640px,100% - 230px)}.communeLegend .communeLegendMore{flex-wrap:wrap;align-items:center;gap:10px;margin:0;display:inline-flex}.communeLegend .communeLegendMore summary{color:var(--muted);cursor:pointer;border:1px solid #14283a29;border-radius:6px;padding:5px 8px;font-size:12px;font-weight:800;line-height:1;list-style:none;display:inline-flex}.communeLegend .communeLegendMore summary::-webkit-details-marker{display:none}.communeLegend .communeLegendMore[open]{flex-basis:100%;padding-top:2px}.communeLegend .communeLegendMore[open] summary{background:#14283a0f}@media (width<=820px){.communeLegend{max-width:calc(100% - 20px)}}.investmentFacts{gap:8px;margin:12px 0 0;display:grid}.investmentFacts div{border-top:1px solid #0ea5b72e;padding-top:8px}.investmentFacts dt{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.investmentFacts dd{color:var(--ink);margin:3px 0 0;font-size:13px;line-height:1.35}:root{--bjc-blue:#005bac;--bjc-blue-light:#e8f2fc;--bjc-blue-dark:#004a8c;--page-bg:#f5f7fa;--border-color:#d9e1ec}.topBar{border-bottom:1px solid var(--border-color);z-index:1000;background:#fff;justify-content:space-between;align-items:center;gap:0;width:100%;height:72px;padding:0 24px;transition:transform .3s ease-in-out;display:flex;position:fixed;top:0}.topBarHidden{transform:translateY(-100%)}.topBarZone{flex:0 auto;align-items:center;height:100%;display:flex}.topBarNav{flex:none;justify-content:flex-start}.topBarNavTabs{align-items:center;gap:4px;display:flex}.topBarNavLink{color:#4a4a68;text-align:center;white-space:nowrap;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;height:40px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .2s;display:flex;position:relative}.topBarNavLink:hover{color:var(--bjc-blue);background:var(--bjc-blue-light)}.topBarNavLinkActive{background:var(--bjc-blue-light);border-bottom:2px solid var(--bjc-blue);color:var(--bjc-blue);border-bottom-width:2px}.topBarBrand{flex:auto;justify-content:center}.topBarTitle{color:#1a1a2e;letter-spacing:-.3px;text-align:center;margin:0;font-size:20px;font-weight:700;line-height:1.2}.topBarControls{flex:none;justify-content:flex-end;align-items:center;gap:20px}.topBarSearch{flex-direction:column;align-items:center;gap:2px;width:100%;max-width:260px;display:flex}.topBarActions{align-items:center;gap:8px;display:flex}.topBarButton{border:1px solid var(--border-color);color:#4a4a68;text-align:center;white-space:nowrap;background:#fff;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:60px;height:40px;padding:6px 10px;font-size:11px;font-weight:600;transition:all .2s;display:flex}.topBarButton:hover{background:var(--bjc-blue-light);border-color:var(--bjc-blue);color:var(--bjc-blue)}.topBarButton:active{transform:translateY(1px)}.buttonIcon{font-size:16px;line-height:1}.buttonText{text-transform:uppercase;font-size:9px;font-weight:600;line-height:1}.topBarLogout:hover{color:#e31837;background:#fff5f5;border-color:#e31837}@media (width<=1199px){.topBar{padding:0 16px}.topBarTitle{font-size:20px}.topBarNavTabs{gap:2px}.topBarNavLink{padding:12px;font-size:13px}.topBarSearch{max-width:220px}.topBarButton{min-width:48px;height:40px;padding:4px 6px}.buttonText{display:none}.buttonIcon{font-size:18px}}@media (width<=767px){.topBar{flex-wrap:wrap;height:auto;min-height:60px;padding:12px 16px}.topBarZone{width:100%}.topBarNav{order:1;width:100%;overflow-x:auto}.topBarNavTabs{gap:0;width:100%}.topBarNavLink{flex:none;padding:10px 12px;font-size:12px}.topBarBrand{order:2;padding:8px 0}.topBarTitle{font-size:18px}.topBarControls{order:3;justify-content:space-between;gap:8px}.topBarSearch{flex:1;max-width:none}.topBarActions{flex:none}.topBarButton{min-width:40px;height:36px}.buttonText{display:none}}.topBarNavLink[href=\#overview],.topBarNavLink[data-tab=overview]{color:var(--bjc-blue)}.topBarNavLinkActive[href=\#overview],.topBarNavLinkActive[data-tab=overview]{border-bottom-color:var(--bjc-blue);color:var(--bjc-blue)}.topBarNavLink[href=\#overview]:hover,.topBarNavLink[data-tab=overview]:hover{color:var(--bjc-blue-dark);background:var(--bjc-blue-light)}@media (width<=767px){.hideOnMobile{display:none}}.modalOverlay{z-index:2000;background:#1a1a2e99;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modalContent{background:#fff;border-radius:12px;width:90%;max-width:540px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #00000029}.mapProviderModal{padding:0}.modalHeader{border-bottom:1px solid #e0e0e8;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modalTitle{color:#1a1a2e;margin:0;font-size:18px;font-weight:700}.modalClose{color:#6a6a88;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;transition:all .2s;display:flex}.modalClose:hover{color:#1a1a2e;background:#f8f9fc}.modalBody{padding:24px}.mapProviderSection{flex-direction:column;gap:16px;display:flex}.mapProviderLabel{color:#1a1a2e;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.mapProviderOptions{flex-direction:column;gap:8px;display:flex}.mapProviderOption{cursor:pointer;border:2px solid #e0e0e8;border-radius:8px;align-items:center;gap:12px;padding:14px 16px;transition:all .2s;display:flex}.mapProviderOption:hover{background:#0066cc05;border-color:#06c}.mapProviderOptionDisabled,.mapProviderOptionDisabled:hover{cursor:not-allowed;opacity:.62;background:#f6f7f9;border-color:#e0e0e8}.mapProviderOptionSelected{background:#0066cc0d;border-color:#06c}.mapProviderRadio{cursor:pointer;width:18px;height:18px;margin:0}.mapProviderRadioLabel{color:#1a1a2e;cursor:pointer;font-size:15px;font-weight:600}.mapProviderOptionDisabled .mapProviderRadio,.mapProviderOptionDisabled .mapProviderRadioLabel{cursor:not-allowed}.mapProviderOptionSelected .mapProviderRadioLabel{color:#06c}.mapProviderInfo{flex-direction:column;gap:12px;margin-top:8px;display:flex}.mapProviderInfoText{color:#4a4a68;background:#f8f9fc;border-left:3px solid #06c;border-radius:0 6px 6px 0;margin:0;padding:12px 14px;font-size:13px;line-height:1.6}.modalFooter{border-top:1px solid #e0e0e8;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;display:flex}.modalButton{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:100px;height:40px;padding:0 20px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.modalButtonSecondary{color:#4a4a68;background:#f8f9fc;border:1px solid #e0e0e8}.modalButtonSecondary:hover{color:#06c;background:#e6effc;border-color:#06c}.modalButtonPrimary{color:#fff;background:#06c}.modalButtonPrimary:hover{background:#0052a3}.modalButton:disabled,.modalButton:disabled:hover{cursor:not-allowed;opacity:.55}@media (width<=600px){.modalContent{width:95%}.modalHeader,.modalBody,.modalFooter{padding:16px}.modalTitle{font-size:16px}.mapProviderOption{padding:12px 14px}.mapProviderInfoText{padding:10px 12px;font-size:12px}.modalButton{min-width:80px;padding:0 16px}}.overviewContainer{background:var(--page-bg,#f5f7fa);flex:1;width:100%;height:calc(100vh - 72px);margin:0;overflow:hidden}.overviewFrame{border:none;width:100%;height:100%;display:block}body[data-tab=overview] .workspace,body[data-tab=overview] .appLayout{background:var(--page-bg,#f5f7fa);gap:0;padding:0}body[data-tab=overview] .workspace{min-height:100vh;padding:0}body[data-tab=overview] .appLayout{height:100vh}
