﻿/* ── Map/GIS Viewer ───────────────────────────────────────────────────────────── */

.map-page{height:100%;display:flex;flex-direction:column}.map-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 24px;color:var(--color-muted,#999);font-size:.9rem}.map-state__icon{font-size:48px;opacity:.4}.map-loading .map-state__icon{animation:map-spin 1.6s linear infinite}.map-error{color:var(--color-danger,#e53935)}@keyframes map-spin{to{transform:rotate(360deg)}}.map-container{display:flex;flex-direction:column;flex:1;overflow:hidden}.map-header{display:flex;align-items:center;gap:8px;padding:14px 20px 10px;border-bottom:1px solid var(--color-border,#e0e0e0);background:var(--color-surface-alt,#f9f9f9);flex-shrink:0}.map-header .material-symbols-outlined{font-size:22px;color:var(--color-accent,#1565c0)}.map-title{margin:0;font-size:1.1rem;font-weight:600}.map-body{display:flex;flex:1;overflow:hidden}.map-svg-wrapper{flex:1;overflow:auto;background:var(--color-surface,#fff);display:flex;align-items:stretch;justify-content:stretch}.map-svg-wrapper .map-svg{display:block;width:100%;height:100%}.map-shape{cursor:pointer;transition:filter .12s,opacity .12s}.map-shape:hover {filter:brightness(0.85)}.map-point:hover {filter:brightness(0.7) saturate(1.4)}.map-legend{width:180px;flex-shrink:0;padding:16px;border-left:1px solid var(--color-border,#e0e0e0);overflow-y:auto;background:var(--color-surface-alt,#f9f9f9)}.map-legend-title{margin:0 0 10px;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted,#888)}.map-legend-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.map-legend-item{display:flex;align-items:center;gap:8px;font-size:.82rem}.map-legend-swatch{display:inline-block;width:16px;height:16px;border-radius:3px;border:2px solid;flex-shrink:0}.map-legend-name{color:var(--color-text,#1a1a1a)}@media (max-width: 600px){.map-legend{display:none}}