html, body {
  height: 100%;
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid #ddd;
}

/* NEW: groups the route + POI toggles neatly */
.toggles {
  display: flex;
  gap: 12px;
  align-items: center;
}

.layout {
  height: calc(100% - 58px);
  display: grid;
  grid-template-columns: 1fr 320px;
}

#map {
  height: 100%;
}

.sidebar {
  padding: 12px 16px;
  border-left: 1px solid #ddd;
  overflow: auto;
}

.sidebar-toggle {
  padding: 8px 10px;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 8px;
  cursor: pointer;
}

body.sidebar-collapsed .layout {
  grid-template-columns: 1fr;
}

body.sidebar-collapsed .sidebar {
  display: none;
}

.toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  user-select: none;
}
