.catalog-view-switch{display:flex;gap:4px;padding:3px;border:1px solid var(--line);border-radius:7px;background:#e5ece4}
.catalog-view-switch button{border:0;background:transparent;padding:8px 14px;white-space:nowrap}
.catalog-view-switch button[aria-pressed=true]{background:var(--green);color:white}
.camera-map-panel{margin-bottom:30px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.camera-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;flex-wrap:wrap}
.camera-map-toolbar p{margin:0;font-size:13px;color:var(--muted)}
.camera-map-toolbar button{padding:7px 12px;font-size:13px}
#camera-map{height:clamp(400px,65vh,780px);background:#e0e7df;isolation:isolate;font-family:inherit}
.camera-map-legend{display:flex;gap:20px;flex-wrap:wrap;padding:12px 18px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}
.camera-map-legend span{display:inline-flex;align-items:center;gap:7px}
.camera-map-legend i{font-style:normal;color:var(--green);font-size:18px;line-height:1}
.camera-map-legend .map-group-symbol{display:inline-flex;justify-content:center;align-items:center;width:24px;height:24px;border-radius:50%;background:#175d49;color:white;font-size:11px}
.camera-map-note{margin:0;padding:0 18px 12px;font-size:12px;color:var(--muted)}
.camera-map-notice{margin:0;padding:10px 18px;background:#fff4ca;font-size:13px}
.camera-map-marker,.camera-map-cluster{background:none;border:0}
.camera-map-point{position:absolute;inset:0;display:block}
.camera-map-point::after{content:"";position:absolute;left:11px;top:11px;width:10px;height:10px;border-radius:50%;background:var(--green);border:2px solid white;box-shadow:0 1px 4px #14282280}
.camera-map-arrow{position:absolute;inset:0;display:block;transform-origin:50% 50%}
.camera-map-arrow::before{content:"";position:absolute;left:14px;top:6px;width:4px;height:10px;background:var(--green)}
.camera-map-arrow::after{content:"";position:absolute;left:9px;top:-1px;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:11px solid var(--green);filter:drop-shadow(0 0 1px white)}
.camera-map-cluster-count{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--green);color:white;border:3px solid #fff;font-size:12px;font-weight:700;box-shadow:0 1px 6px #14282250}
.camera-map-marker:focus-visible,.camera-map-cluster:focus-visible{outline:3px solid #b18412;border-radius:50%}
.camera-map-popup{font:13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}
.camera-map-popup h3{font-size:17px;margin:0 0 8px;overflow-wrap:anywhere}
.camera-map-popup p{margin:7px 0!important}
.camera-map-popup button{font-size:12px;padding:8px 10px;margin-top:6px}
.camera-map-direction{font-weight:650;color:var(--green)}
.camera-map-preview{width:100%;aspect-ratio:16/9;background:#e0e7df;border-radius:4px;overflow:hidden;margin:10px 0}
.camera-map-preview img{display:block;width:100%;height:100%;object-fit:contain;background:#142822}
.camera-map-group-preview{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#142822;margin:8px 0}
.camera-map-group-list{max-height:260px;overflow:auto;overscroll-behavior:contain;margin-top:10px}
.camera-map-group-row{padding:10px 0;border-top:1px solid var(--line)}
.camera-map-group-pages{display:flex;align-items:center;justify-content:space-between;gap:12px}
@media(max-width:620px){.catalog-view-switch{order:-1}.camera-map-toolbar{padding:12px}#camera-map{height:60vh;min-height:360px}.camera-map-legend{gap:10px;padding:12px}.camera-map-note{padding:0 12px 12px}}
