/* Base styles, reset, typography, and core layout */
body { 
  margin: 0; 
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; 
  background-color: #0f0f0f; 
  color: white; 
  display: flex; 
  height: 100vh; 
  overflow: hidden; 
}

/* Core layout containers */
#sidebar { 
  width: 380px; 
  background-color: #0f0f0f; 
  overflow-y: auto; 
  padding: 10px; 
  box-sizing: border-box; 
  border-right: 1px solid #222; 
  scrollbar-width: thin; 
  scrollbar-color: #555 #0f0f0f;
  transition: transform 0.3s ease;
}

#map { 
  flex: 1; 
  height: 100%; 
  background-color: #1d2c4d; 
}

/* Form elements */
label { 
  display: block; 
  margin-bottom: 5px; 
  color: #aaa; 
  font-size: 0.9rem; 
  font-weight: 500; 
}

select { 
  width: 100%; 
  padding: 10px; 
  margin-bottom: 10px; 
  background-color: #2a2a2a; 
  color: white; 
  border: 1px solid #444; 
  border-radius: 4px; 
  box-sizing: border-box; 
}

/* Loading indicator */
#loading-indicator { 
  text-align: center; 
  color: #aaa; 
  padding: 10px; 
}