@media (max-width: 768px) {
  .header-top {display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:6px;}
  .header-top h1 {font-size:18px;text-align:left;}
  .header-actions button {min-width:44px;min-height:44px;font-size:17px;}
  .map-wrap {top:var(--mobile-map-top,160px);bottom:calc(64px + env(safe-area-inset-bottom));}
  #addrSearchBar {display:flex!important;position:fixed;top:var(--mobile-header-height,110px);padding:6px 8px;z-index:1300;}
  #addressInput {font-size:16px;min-height:42px;}
  .filter-collapse-wrap {top:var(--mobile-map-top,160px);}
  #addPoiOverlay,.circuit-fullpage {z-index:100001;}
  .ap-modal {width:100%;max-height:90dvh;overflow:auto;padding:22px 18px;}
  .bottom-nav {height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);}
  .bottom-nav-btn {font-size:11px;min-height:44px;}
  .bottom-nav-btn .bn-icon {font-size:21px;}
  .locate-btn,.search-btn,.addpoi-btn,.photo-btn {width:44px;height:44px;right:8px;font-size:19px;}
  .locate-btn {top:10px;}
  .search-btn {top:62px;}
  .addpoi-btn {top:114px;}
  .photo-btn {top:166px;}
  .leaflet-touch .leaflet-control-zoom a {width:44px;height:44px;line-height:44px;}
  .zone-info-tab {bottom:calc(64px + env(safe-area-inset-bottom));}
}
#addrSearchBar {display:flex!important;z-index:1300;}
body > header {height:auto;min-height:0;margin:0;padding:2px 8px;}
body > header .header-top {width:100%;flex-wrap:nowrap;min-height:0;margin:0;padding:0;}
body > header h1 {margin:0;padding:0;}
#filterStatus:empty,#breadcrumb:empty {display:none;margin:0;padding:0;min-height:0;}
#addressSuggestions {padding:8px;max-height:45vh;overflow:auto;}
#addressSuggestions button {display:flex;flex-direction:column;width:100%;text-align:left;padding:12px;border:0;background:white;cursor:pointer;}
#addressSuggestions button:hover {background:#edf5f3;}
#addressSuggestions small {color:#586b68;margin-top:4px;}
.review-hint {line-height:1.5;color:#536965;font-size:14px;}
#routePlaceChoices {display:grid;gap:6px;max-height:190px;overflow:auto;margin:12px 0;}
#routePlaceChoices button {padding:12px;text-align:left;border:1px solid #ccdcd5;border-radius:10px;background:#f2f8f5;cursor:pointer;}
#circuitEdit {max-width:680px;padding:20px;margin:auto;}
#circuitEdit label {display:block;font-weight:600;margin:12px 0 6px;}
#circuitEditSteps button {min-width:36px;min-height:36px;}
.ap-modal {box-sizing:border-box;background:#fff;color:#203c30;width:min(560px,calc(100vw - 24px));padding:24px;border-radius:18px;max-height:90dvh;overflow:auto;}
.ap-field,.ap-select {box-sizing:border-box;width:100%;margin-bottom:10px;font:inherit;font-size:16px;}
.ap-modal h2 {margin:0 32px 10px 0;}
.ap-overlay {background:rgba(10,30,24,.6);}
#circuitMapChoice {position:fixed;left:12px;right:64px;bottom:calc(85px + env(safe-area-inset-bottom));z-index:1400;background:#fff;color:#173f39;border:2px solid #287356;border-radius:14px;padding:12px;box-shadow:0 4px 20px #0003;max-width:440px;font-size:14px;}
#circuitMapChoice[hidden] {display:none;}
#circuitMapChoice button {display:block;margin-top:8px;min-height:44px;padding:8px 14px;border:0;border-radius:8px;background:#173f39;color:white;cursor:pointer;}
