/* Shared navigation for the customer archive and both map pages. */
.nav-wrap {
  width:100%;
  max-width:none;
  margin:0 auto;
  padding:clamp(10px,1.25vw,18px) clamp(12px,2vw,40px) 0;
}
.site-topbar {
  display:grid;
  grid-template-columns:minmax(0,280px) minmax(0,1fr);
  align-items:center;
  gap:clamp(10px,1.5vw,24px);
  min-width:0;
  padding:7px 10px 7px 18px;
  border:1px solid #e8e8ed;
  border-radius:22px;
  background:rgba(250,250,252,.96);
  box-shadow:0 1px 2px rgba(29,29,31,.04);
}
.site-brand {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  color:#1d1d1f;
}
.site-brand img {
  display:block;
  flex:none;
  width:42px;
  height:42px;
  object-fit:contain;
  border-radius:8px;
  background:#fff;
}
.site-brand strong,.site-brand small { display:block; white-space:nowrap; }
.site-brand strong { font-size:15px; line-height:1.2; font-weight:720; }
.site-brand small { margin-top:2px; color:#6e6e73; font-size:9px; letter-spacing:.08em; line-height:1.2; }
.workspace-nav {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:3px;
  width:100%;
  min-width:0;
  overflow:visible;
}
.nav-tab {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(4px,.6vw,8px);
  min-width:0;
  min-height:54px;
  padding:0 6px;
  border-radius:15px;
  color:#1d1d1f;
  font-size:clamp(12px,.92vw,14px);
  font-weight:620;
  white-space:nowrap;
}
.site-topbar a.nav-tab:hover { background:#fff7d6; }
.site-topbar .nav-tab.current,.site-topbar a.nav-tab.current:hover { background:#fce47c; color:#1d1d1f; font-weight:720; }
.site-topbar .nav-tab .ico {
  width:21px;
  height:21px;
  flex:none;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.site-topbar a:focus-visible { outline:2px solid #957000; outline-offset:2px; }
.embed .nav-wrap { display:none!important; }
@media (max-width:1180px) {
  .site-topbar { grid-template-columns:minmax(0,1fr); gap:8px; padding:10px; }
  .site-brand { padding:0 5px; }
}
@media (max-width:700px) {
  .nav-wrap { padding:12px 12px 0; }
  .site-topbar { border-radius:18px; }
  .workspace-nav { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:4px; overflow:visible; }
  .nav-tab { grid-column:span 2; min-height:44px; padding:0 4px; font-size:13px; }
  .nav-tab:nth-child(n+4) { grid-column:span 3; }
  .site-topbar .nav-tab .ico { width:18px; height:18px; }
}
@media (max-width:400px) {
  .nav-wrap { padding-inline:8px; }
  .site-topbar { padding:8px; }
  .nav-tab { gap:4px; font-size:12px; }
  .site-brand strong { font-size:14px; }
}
