/* Keep the map controls in one toolbar when the screen has room. */
.masthead { --header-gutter:clamp(16px,2.5vw,36px); position:relative; z-index:1100; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:minmax(72px,auto) auto; gap:0 20px; min-height:72px; padding:env(safe-area-inset-top) 0 0; }
.masthead .brand { grid-column:1; grid-row:1; justify-self:start; min-width:0; margin-left:max(var(--header-gutter),env(safe-area-inset-left)); }
.site-menu { grid-column:2; grid-row:1; position:relative; margin-right:max(var(--header-gutter),env(safe-area-inset-right)); }
.masthead .filter-bar { grid-column:1/-1; grid-row:2; min-width:0; padding-inline:max(var(--header-gutter),env(safe-area-inset-left)) max(var(--header-gutter),env(safe-area-inset-right)); border-bottom:0; }
.project-page-active .masthead .filter-bar { display:none; }
@media(min-width:1440px) {
  .masthead { grid-template-columns:auto minmax(0,1fr) auto; grid-template-rows:minmax(72px,auto); gap:16px; padding-inline:max(var(--header-gutter),env(safe-area-inset-left)) max(var(--header-gutter),env(safe-area-inset-right)); }
  .masthead .brand { margin-left:0; }
  .masthead .site-menu { grid-column:3; margin-right:0; }
  .masthead .filter-bar { grid-column:2; grid-row:1; padding:0; border:0; }
  .masthead .filter-label { display:none; }
  .masthead .status-filters { flex:1; }
  .masthead .status-chip { padding-inline:9px; font-size:.875rem; }
}
.menu-toggle { display:grid; place-items:center; width:44px; height:44px; padding:10px; border:1px solid var(--border); border-radius:10px; color:var(--accent); background:var(--paper); }
.menu-toggle .icon { width:22px; height:22px; }
.menu-toggle:hover, .menu-toggle[aria-expanded="true"] { background:var(--accent-soft); border-color:var(--accent-border); }
.site-menu-panel { position:absolute; top:calc(100% + 10px); right:0; width:280px; max-width:calc(100vw - 32px - env(safe-area-inset-left) - env(safe-area-inset-right)); max-height:calc(100svh - 110px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow-y:auto; overscroll-behavior:contain; padding:8px; border:1px solid var(--border); border-radius:14px; background:var(--paper); box-shadow:0 12px 36px #11182724; }
.site-menu-panel[hidden] { display:none; }
.masthead .site-menu-links { display:flex; flex-direction:column; gap:2px; margin:0; }
.masthead .site-menu-item { display:flex; align-items:center; gap:12px; width:100%; min-height:46px; padding:10px 12px; border:0; border-radius:8px; color:var(--ink); font-size:.9375rem; line-height:1.4; text-align:left; }
.site-menu-item .icon { color:var(--accent); }
.site-menu-item:hover { background:var(--surface); }
.site-menu-links a.site-menu-item { text-decoration:none; }
.menu-appearance { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:6px; padding:8px 4px 0 12px; border-top:1px solid var(--border); color:var(--muted); font-size:.8125rem; }
.menu-appearance select { min-width:108px; min-height:44px; padding:8px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--ink); font-size:1rem; }
.site-menu-panel :focus-visible { outline-offset:-3px; }
:root[data-theme="dark"] .site-menu-panel { box-shadow:0 12px 36px #00000066; }
