.mapelse-header-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}
.app-header.has-mapelse-nav~.map-stage{height:calc(100dvh - var(--mapelse-header-height,72px));min-height:0}
button.mapelse-map-open{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;min-width:42px;padding:0 11px;border:1px solid #b7c8cb;border-radius:8px;background:#fff;color:#176b70;font:700 13px/1.2 Arial,Helvetica,sans-serif;cursor:pointer}
.mapelse-map-open svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;flex:none}
.mapelse-map-open:hover{background:#edf5f3}.mapelse-map-open:focus-visible,.mapelse-map-dialog a:focus-visible,.mapelse-map-dialog button:focus-visible{outline:3px solid #278995;outline-offset:3px}
dialog.mapelse-map-dialog{box-sizing:border-box;width:min(540px,calc(100% - 28px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #d6e2df;border-radius:18px;background:white;color:#20343a;box-shadow:0 16px 80px #132e3a40;font:15px/1.5 Arial,Helvetica,sans-serif;overflow:auto}
.mapelse-map-dialog::backdrop{background:#19313c70;backdrop-filter:blur(3px)}
.mapelse-map-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 22px;border-bottom:1px solid #dbe4e1}
.mapelse-map-dialog h2{margin:0;font-size:22px;letter-spacing:-.4px;line-height:1.3;text-transform:none}
.mapelse-map-dialog .mapelse-map-close{width:42px;height:42px;flex:none;min-height:42px;padding:0;border:0;border-radius:50%;background:#eff4f2;color:#20343a;font:26px/1 Arial,sans-serif;cursor:pointer}
.mapelse-map-dialog nav{display:grid;gap:9px;padding:18px 22px}
.mapelse-map-dialog nav a{display:flex;flex-direction:column;gap:4px;border:1px solid #d6e2df;border-radius:10px;padding:13px 15px;color:#20343a;text-decoration:none;min-width:0;overflow-wrap:anywhere}
.mapelse-map-dialog nav a:hover{background:#f3f8f6;border-color:#92b6b0}
.mapelse-map-dialog nav a[aria-current=page]{border:2px solid #176b70;background:#eff7f4;padding:12px 14px}
.mapelse-map-dialog nav strong{font-size:15px}.mapelse-map-dialog nav span{font-size:12px;color:#526c72}
.mapelse-map-dialog .mapelse-map-home{display:block;margin:0 22px 20px;color:#176b70;font-size:13px;font-weight:700}
.map-data-state{position:absolute;top:12px;left:64px;right:16px;max-width:480px;z-index:1000;padding:11px 14px;background:white;border:1px solid #c4d9d3;border-radius:10px;box-shadow:0 3px 15px #20343a20;font:13px/1.5 Arial,Helvetica,sans-serif;color:#20343a}
.map-data-state p{margin:0}.map-data-state button{margin-top:9px;padding:8px 13px;min-height:40px;border:1px solid #9abbba;border-radius:7px;background:#eff6f3;color:#176b70;font:700 13px Arial,sans-serif;cursor:pointer}.map-data-state button:disabled{opacity:.6;cursor:wait}.has-data-notice .map-message{top:145px}
@media(max-width:1100px){.mapelse-map-open span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}button.mapelse-map-open{padding:0;width:42px}}
@media(min-width:701px) and (max-width:1100px){.app-header.has-mapelse-nav{gap:12px;padding-left:16px;padding-right:16px}.has-mapelse-nav .brand{flex-shrink:1;min-width:0}.has-mapelse-nav .brand h1{font-size:16px}.has-mapelse-nav .search{min-width:130px}}
@media(max-width:760px){.app-header.has-mapelse-nav .mapelse-header-actions{order:1;grid-column:2;grid-row:1;gap:5px}.has-mapelse-nav .brand{white-space:normal;min-width:0}.has-mapelse-nav .brand>div{min-width:0}.has-mapelse-nav .brand h1{white-space:normal}.toolbar.has-mapelse-nav{grid-template-columns:minmax(0,1fr) auto auto}.toolbar.has-mapelse-nav .mapelse-header-actions{grid-column:2;grid-row:1}.toolbar.has-mapelse-nav #account-open{padding:0 9px}.map-data-state{top:74px;right:12px}.has-data-notice .map-message{top:205px}}
@media(max-width:360px){.app-header.has-mapelse-nav{gap:8px;padding-left:10px;padding-right:10px}.has-mapelse-nav .brand{gap:6px}.has-mapelse-nav .brand h1,.has-mapelse-nav .brand strong{font-size:13px;line-height:1.2}.has-mapelse-nav .brand img{width:24px;height:24px}.app-header.has-mapelse-nav #account-open{padding:0 9px;font-size:12px}.toolbar.has-mapelse-nav{gap:5px}.toolbar.has-mapelse-nav h1{font-size:12px}.mapelse-map-dialog>header{padding:13px 16px}.mapelse-map-dialog nav{padding:12px 16px}.mapelse-map-dialog .mapelse-map-home{margin-left:16px;margin-right:16px}.mapelse-map-dialog h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.mapelse-map-dialog::backdrop{backdrop-filter:none}}
