.filters-layout,.map-aside,.map-layout,.reason-list{display:grid;grid-gap:16px;gap:16px}.map-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;grid-gap:12px;gap:12px;padding:12px;border-radius:24px}.filter-search,.map-search{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border:1px solid var(--hair);border-radius:999px;background:var(--soft)}.filter-search input,.map-search input{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);outline:none}.active-scenario-list,.filter-chip-grid,.map-preset-row,.map-reason-chips,.map-stack-mini{display:flex;flex-wrap:wrap;gap:8px}.map-preset{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border:1px solid var(--hair);border-radius:999px;background:var(--paper);color:var(--ink-soft);font-size:13px;font-weight:650}.map-preset span{width:10px;height:10px;border-radius:999px}.map-preset.is-active{border-color:var(--ink);background:var(--ink);color:var(--bg)}.map-canvas-card{position:relative;min-height:680px;overflow:hidden;border-radius:28px;border:1px solid var(--hair-strong);background:#e8e2d4;box-shadow:var(--shadow-card)}.map-canvas{z-index:0;background:linear-gradient(26deg,transparent 0 47%,rgba(255,255,255,.9) 47.2% 48.2%,transparent 48.4%),linear-gradient(153deg,transparent 0 37%,rgba(255,255,255,.88) 37.2% 38.2%,transparent 38.4%),linear-gradient(93deg,transparent 0 61%,rgba(255,255,255,.9) 61.2% 62.1%,transparent 62.3%),repeating-linear-gradient(0deg,transparent 0 58px,rgba(255,255,255,.72) 58px 62px,transparent 62px 120px),repeating-linear-gradient(90deg,transparent 0 74px,rgba(255,255,255,.7) 74px 78px,transparent 78px 148px),#e6dfcf}.map-canvas,.yandex-map-layer{position:absolute;inset:0;overflow:hidden}.yandex-map-layer{z-index:1;opacity:0;transition:opacity .18s ease}.yandex-map-layer.is-ready{opacity:1}.map-river{position:absolute;left:-8%;top:38%;width:118%;height:132px;rotate:-8deg;background:linear-gradient(90deg,#bcd9df,#d9edf0);opacity:.92}.map-park{position:absolute;border-radius:32px;background:#cadfb2;opacity:.84}.map-park-a{right:11%;top:18%;width:180px;height:138px}.map-park-b{left:14%;bottom:16%;width:220px;height:126px}.map-district-label{position:absolute;color:rgba(20,17,15,.38);font-size:12px;font-weight:700;text-transform:uppercase}.label-a{left:49%;top:22%}.label-b{left:18%;top:68%}.label-c{left:27%;top:53%}.map-marker{position:absolute;display:grid;min-width:88px;min-height:86px;translate:-50% -50%;place-items:center;grid-gap:2px;gap:2px;padding:8px 10px;border:2px solid rgba(255,255,255,.96);border-radius:22px 22px 22px 8px;background:var(--ink);color:var(--bg);box-shadow:0 16px 32px -18px rgba(20,17,15,.7);transform:rotate(-45deg);transform-origin:center;transition:transform .18s ease,box-shadow .18s ease}.map-marker--yandex{position:relative;left:auto;top:auto;translate:-50% -100%}.map-marker>*{transform:rotate(45deg)}.map-marker.is-cluster{min-width:112px;min-height:90px;background:#fff;color:var(--ink);border-color:var(--dark-border)}.map-marker.is-active,.map-marker:hover{z-index:4;transform:rotate(-45deg) scale(1.06);box-shadow:0 20px 38px -16px rgba(20,17,15,.76)}.marker-count{font-size:18px;font-weight:800;line-height:18px}.marker-label{max-width:112px;overflow:hidden;font-size:9px;font-weight:650;line-height:11px;text-overflow:ellipsis;white-space:nowrap}.marker-breakdown{display:inline-flex;align-items:center;justify-content:center;min-height:14px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.12);color:inherit;font-size:8px;font-weight:750;letter-spacing:.2px}.map-marker.is-cluster .marker-breakdown{background:var(--chip-warm)}.marker-breakdown b:first-child{color:var(--green)}.marker-breakdown b:nth-child(2){color:var(--coral)}.marker-breakdown b:nth-child(3){color:var(--blue)}.marker-composition{display:flex;width:64px;height:5px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.18);outline:1px solid rgba(255,255,255,.16)}.map-marker.is-cluster .marker-composition{background:rgba(20,17,15,.1);outline-color:rgba(20,17,15,.08)}.legend-dot,.marker-composition i{display:block;min-width:6px}.is-place,.legend-dot.is-place{background:var(--green)}.is-event,.legend-dot.is-event{background:var(--coral)}.is-poster,.legend-dot.is-poster{background:var(--blue)}.map-float{z-index:5;border:1px solid rgba(20,17,15,.1);border-radius:20px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.map-float,.map-state-card{position:absolute;box-shadow:var(--shadow-card)}.map-state-card{left:50%;top:50%;z-index:6;display:grid;min-width:min(320px,calc(100% - 32px));grid-gap:6px;gap:6px;padding:16px 18px;border:1px solid rgba(20,17,15,.12);border-radius:20px;background:rgba(255,255,255,.94);color:var(--ink);text-align:center;translate:-50% -50%}.low-results-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:8px}.low-results-actions button{min-height:34px;border:1px solid var(--hair);border-radius:12px;background:var(--paper);color:var(--ink);font-size:12px;font-weight:650}.map-muted-text,.map-state-card span{color:var(--ink-muted);font-size:13px;line-height:18px}.map-state-card.is-error{border-color:rgba(255,107,74,.34);background:rgba(255,246,241,.96)}.map-scale-card{left:18px;bottom:18px;display:grid;grid-gap:4px;gap:4px;max-width:260px;padding:14px}.ai-filter-card p,.filters-hero p,.map-panel p,.map-scale-card span,.scenario-card small{margin:0;color:var(--ink-muted);font-size:13px;line-height:18px}.map-legend{right:18px;bottom:18px;display:flex;gap:10px;padding:10px 12px}.map-legend span{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:650}.legend-dot{width:10px;height:10px;border-radius:999px}.map-bottom-sheet{display:none;gap:12px;padding:18px}.filters-hero h2,.map-bottom-sheet h2,.map-panel h2{margin:0;font-size:24px;line-height:30px}.map-bottom-sheet p{margin:4px 0 0;color:var(--ink-muted)}.map-panel{display:grid;grid-gap:12px;gap:12px;padding:18px}.stack-metric{display:grid;grid-gap:2px;gap:2px;min-width:86px;padding:12px;border-radius:16px;color:var(--ink)}.stack-metric span{font-size:11px;font-weight:650;opacity:.72}.stack-metric strong{font-size:24px;line-height:26px}.stack-metric.is-place{background:var(--green)}.stack-metric.is-event{background:var(--coral-soft)}.stack-metric.is-poster{background:#eef1ff}.map-reason-chips span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid var(--hair);border-radius:999px;background:var(--soft);color:var(--ink-soft);font-size:12px;font-weight:650}.reason-row{display:flex;gap:10px;padding:12px;border:1px solid var(--hair);border-radius:16px;background:var(--soft)}.cluster-drilldown-card{display:grid;grid-gap:10px;gap:10px;padding:14px;border:1px solid var(--hair);border-radius:18px;background:var(--bg)}.reason-row div{display:grid;grid-gap:3px;gap:3px}.reason-row span{color:var(--ink-muted);font-size:13px}.map-muted-text{margin:0}.filters-layout{gap:24px}.ai-filter-card,.filters-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:18px;gap:18px;padding:24px}.filter-flow-actions,.filter-hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.filter-stepper{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:8px;gap:8px}.filter-step{display:grid;grid-gap:4px;gap:4px;min-height:78px;padding:12px;border:1px solid var(--hair);border-radius:18px;background:var(--paper);color:var(--ink-soft);text-align:left}.filter-step span{display:grid;width:24px;height:24px;place-items:center;border-radius:999px;background:var(--chip-warm);color:var(--ink);font-size:11px;font-weight:800}.filter-step strong{color:var(--ink);font-size:13px}.filter-step small{color:var(--ink-muted);font-size:11px;line-height:14px}.filter-step.is-active{border-color:var(--ink);background:var(--ink);color:var(--bg)}.filter-step.is-active span{background:var(--coral);color:#fff}.filter-step.is-active small,.filter-step.is-active strong{color:var(--bg)}.filter-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.filter-overview-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;grid-template-areas:"num title arrow" "num sub arrow";align-items:center;grid-gap:4px 12px;gap:4px 12px;min-height:96px;padding:16px;border:1px solid var(--hair-strong);border-radius:18px;background:var(--paper);color:var(--ink);text-align:left;box-shadow:var(--shadow-card)}.filter-overview-card>span{grid-area:num;display:grid;width:34px;height:34px;place-items:center;border-radius:12px;background:var(--chip-warm);font-weight:800}.filter-overview-card strong{grid-area:title}.filter-overview-card small{grid-area:sub;color:var(--ink-muted);line-height:18px}.filter-overview-card svg{grid-area:arrow}.filter-section{display:grid;grid-gap:12px;gap:12px}.filter-section-title{display:flex;align-items:flex-end;gap:10px}.ai-filter-card h3,.filter-section-title h3{margin:0;font-size:20px;line-height:26px}.scenario-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.scenario-card{position:relative;display:grid;grid-gap:8px;gap:8px;min-height:142px;padding:16px;border:1px solid var(--hair-strong);border-radius:20px;background:var(--paper);color:var(--ink);text-align:left;box-shadow:var(--shadow-card)}.scenario-card.is-active{border-color:var(--ink);background:#fffdf8}.scenario-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:16px;background:var(--soft)}.scenario-check{position:absolute;top:14px;right:14px;color:var(--coral-deep)}.filter-chip{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border:1px solid var(--hair);border-radius:999px;background:var(--paper);color:var(--ink-soft);font-weight:650}.filter-chip.is-active{border-color:var(--ink);background:var(--ink);color:var(--bg)}.ai-filter-card{grid-template-columns:auto minmax(0,1fr) auto}.ai-filter-card .ui-field{margin-top:14px}.filters-applied-card,.save-preset-card{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start;padding:24px}.filters-applied-card h3,.save-preset-card h3{margin:0;font-size:24px;line-height:30px}.filters-applied-card p,.save-preset-card p{margin:8px 0 16px;color:var(--ink-muted);line-height:1.5}.filters-applied-card .filter-flow-actions,.save-preset-card .filter-flow-actions{grid-column:1/-1}@media (max-width:1180px){.ai-filter-card,.filters-hero,.map-toolbar{grid-template-columns:1fr}.filter-stepper{grid-template-columns:repeat(3,minmax(0,1fr))}.scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-canvas-card{min-height:560px}}@media (max-width:760px){.filter-overview-grid,.filter-stepper{grid-template-columns:1fr}.filter-step{min-height:64px}.filters-hero{padding:18px}.filter-flow-actions,.filter-hero-actions{justify-content:stretch}.filter-flow-actions .ui-button,.filter-flow-actions a,.filter-hero-actions .ui-button{width:100%}.map-preset-row{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.map-canvas-card{min-height:520px;border-radius:22px}.map-scale-card{display:none}.map-legend{left:12px;right:12px;bottom:12px;justify-content:center}.map-bottom-sheet{display:grid}.scenario-grid{grid-template-columns:1fr}}