.project-list-view-toggle {
  display:flex;
  align-items:center;
  gap:0;
  border:1px solid #b9cbd9;
  border-radius:3px;
  overflow:hidden;
  background:#fff;
}
.project-list-view-toggle button {
  min-height:29px;
  padding:5px 10px;
  border:0;
  border-right:1px solid #c7d6e2;
  background:linear-gradient(#fff,#eef4f8);
  color:#284a66;
  font-weight:700;
}
.project-list-view-toggle button:last-child { border-right:0; }
.project-list-view-toggle button.active {
  background:#0d72c6;
  color:#fff;
}
.project-map-panel {
  min-height:560px;
  border:1px solid #c8d7e3;
  border-radius:3px;
  overflow:hidden;
  background:#fff;
}
.project-map-toolbar {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:8px 10px;
  border-bottom:1px solid #d5e1ea;
  background:#f7fafc;
  color:#526c82;
  font-size:11px;
}
#projectMapCanvas {
  width:100%;
  height:500px;
  background:#e7eef4;
}
.project-map-popup {
  display:grid;
  gap:6px;
  min-width:220px;
  font-family:Arial,Helvetica,sans-serif;
}
.project-map-popup strong { color:#173c5c; }
.project-map-popup span { display:block; color:#5f7184; }
.project-map-popup button { justify-self:start; margin-top:3px; }
.project-map-missing {
  max-height:190px;
  overflow:auto;
  border-top:1px solid #d5e1ea;
  background:#fff;
}
.project-map-missing-title {
  padding:8px 10px 5px;
  color:#526c82;
  font-weight:700;
}
.project-map-missing-list {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1px;
  background:#e4ebf1;
  border-top:1px solid #e4ebf1;
}
.project-map-missing-list button {
  display:block;
  padding:7px 10px;
  border:0;
  background:#fff;
  color:#263d52;
  text-align:left;
}
.project-map-missing-list button:hover { background:#edf6fd; }
.project-map-missing-list button span { display:block; margin-top:2px; color:#728397; font-size:10px; }
.project-map-missing-more { padding:7px 10px; color:#728397; font-size:10px; }
.project-map-missing > strong { display:block; padding:10px; color:#526c82; }
@media (max-width:800px) {
  #projectMapCanvas { height:420px; }
  .project-map-panel { min-height:480px; }
}

body.project-map-fullscreen {
  overflow:hidden;
}
body.project-map-fullscreen .project-map-panel {
  position:fixed;
  inset:0;
  z-index:3000;
  display:flex;
  flex-direction:column;
  min-height:0;
  width:100vw;
  height:100vh;
  border:0;
  border-radius:0;
}
body.project-map-fullscreen #projectMapCanvas {
  flex:1 1 auto;
  min-height:0;
  height:auto;
}
body.project-map-fullscreen .project-map-missing {
  flex:0 0 auto;
  max-height:120px;
}
.project-map-toolbar {
  align-items:center;
  min-height:46px;
}
.project-map-toolbar-title {
  display:flex;
  align-items:center;
  gap:12px;
  min-width:260px;
}
.project-map-toolbar-title strong {
  white-space:nowrap;
  color:#173c5c;
}
.project-map-radius-controls {
  display:flex;
  align-items:end;
  gap:7px;
  margin-left:auto;
}
.project-map-radius-controls label {
  display:grid;
  gap:2px;
  color:#526c82;
  font-size:10px;
  font-weight:700;
}
.project-map-radius-controls input,
.project-map-radius-controls select {
  height:28px;
  min-width:86px;
  border:1px solid #b9cbd9;
  border-radius:3px;
  background:#fff;
  color:#263d52;
  padding:4px 7px;
  font:inherit;
  font-size:11px;
}
.project-map-radius-controls input {
  width:88px;
}
.project-map-radius-controls select {
  width:88px;
}
.project-map-popup .project-map-view-button {
  margin-top:4px;
}
@media (max-width:900px) {
  .project-map-toolbar {
    flex-wrap:wrap;
  }
  .project-map-radius-controls {
    width:100%;
    margin-left:0;
    align-items:end;
    flex-wrap:wrap;
  }
}
