/* Map page: prevent body scroll, all space goes to map */ body.page-map { overflow: hidden; height: 100vh; } #map-wrap { position: relative; min-width: 0; overflow: hidden; } #map { height: 100%; width: 100%; } .layer-section { margin-bottom: 16px; } .layer-section-title { display: flex; align-items: center; justify-content: space-between; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted-2); margin: 0 0 8px; } .layer-item { display: flex; align-items: center; gap: 10px; padding: 9px 11px; margin-bottom: 6px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel-strong); cursor: pointer; transition: all .16s ease; } .layer-item:hover, .layer-item.checked { background: linear-gradient(180deg, #f8fbff, #eef5ff); border-color: #cfe0ff; } .layer-item.checked .layer-check { color: #fff; background: var(--accent); border-color: var(--accent); } .layer-check { width: 18px; height: 18px; border-radius: 5px; border: 1.5px solid #b8c5d4; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; font-size: 11px; color: transparent; background: #fff; } .layer-dot { width: 12px; height: 12px; border-radius: 999px; flex: 0 0 auto; } .layer-label { font-size: 12px; font-weight: 600; color: var(--text); flex: 1; min-width: 0; } .layer-count { font-size: 10px; font-weight: 700; color: var(--muted); background: #f4f7fb; border: 1px solid var(--line); border-radius: 999px; padding: 3px 8px; }