/* Master Plan Page */
.map-page { position: relative; height: calc(100vh - 100px); display: flex; flex-direction: column; }

.map-header {
  position: absolute; top: var(--space-4); left: var(--space-4); z-index: 10;
  background: rgba(255,255,255,0.9); backdrop-filter: blur(12px);
  padding: var(--space-4) var(--space-6); border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg);
}
.map-header h1 { font-size: 1.25rem; font-weight: 900; margin-bottom: var(--space-1); }
.map-header p { font-size: 0.75rem; color: var(--color-text-muted); }
@media (max-width: 640px) { .map-header { left: var(--space-2); right: var(--space-2); } .map-header h1 { font-size: 1rem; } }

.map-controls {
  position: absolute; top: var(--space-4); right: var(--space-4); z-index: 10;
  display: flex; flex-direction: column; gap: 2px;
  background: rgba(255,255,255,0.9); backdrop-filter: blur(12px);
  border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--shadow-lg);
}
.map-ctrl-btn {
  width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
  color: var(--color-text-secondary); transition: all var(--transition-fast);
}
.map-ctrl-btn:hover { background: var(--color-primary); color: white; }

.map-viewer { flex: 1; background: var(--color-surface-alt); }

.map-legend {
  position: absolute; bottom: var(--space-4); left: var(--space-4); z-index: 10;
  padding: var(--space-4) var(--space-5); border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg);
}
.map-legend h4 { font-size: 0.75rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: var(--space-3); }
.legend-item { display: flex; align-items: center; gap: var(--space-2); font-size: 0.75rem; font-weight: 600; color: var(--color-text-secondary); margin-bottom: var(--space-2); }
.legend-item small { font-size: 0.625rem; color: var(--color-text-muted); font-weight: 500; }
.legend-dot { width: 20px; height: 12px; border-radius: 3px; flex-shrink: 0; }
.legend-dash { width: 20px; height: 2px; flex-shrink: 0; border-top: 2px dashed #e91e8c; }
@media (max-width: 640px) {
  .map-legend { left: var(--space-2); right: var(--space-2); bottom: var(--space-2); max-height: 38vh; overflow-y: auto; }
}
