html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  font: 14px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  color: #1a1a1a;
}

body { display: flex; flex-direction: column; }

#header {
  padding: 10px 16px;
  background: #fff;
  border-bottom: 1px solid #ddd;
  flex: 0 0 auto;
}

#header h1 { margin: 0; font-size: 16px; font-weight: 600; }
#header p { margin: 2px 0 0; color: #666; font-size: 12px; }

#map { flex: 1 1 auto; }

#error {
  position: fixed;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  background: #fee2e2;
  color: #991b1b;
  padding: 16px 20px;
  border-radius: 6px;
  max-width: 80vw;
  text-align: center;
}
