.profile-map-shell { position: relative; }
.profile-map.leaflet-container { z-index: 0; font-family: var(--font-body); }
.profile-map[hidden], .profile-map-status[hidden], .profile-map-retry[hidden] { display: none; }
.profile-map-status { position: absolute; z-index: 1; top: 12px; left: 12px; max-width: calc(100% - 76px); margin: 0; padding: .7rem .85rem; border: 1px solid #c7dae9; border-radius: 12px; background: #fff; color: #183b5c; box-shadow: 0 3px 12px #17384d24; font-size: .86rem; line-height: 1.5; }
.profile-map-retry { min-height: 44px; margin-top: .65rem; padding: .6rem 1rem; border: 1px solid #086dba; border-radius: 12px; color: #086dba; background: #fff; font-weight: 700; cursor: pointer; }
.profile-map .leaflet-bar a { width: 40px; height: 40px; line-height: 40px; color: #0b1530; }
.profile-map .leaflet-popup-content { color: #173750; line-height: 1.5; }
.profile-map .leaflet-popup-content strong { display: block; font-size: 1rem; }
.profile-map .leaflet-control-attribution { font-size: 10px; background: #ffffffe8; }
.profile-map .leaflet-control-attribution a { color: #075994; }
.profile-map-retry:focus-visible { outline: 3px solid #147dd3; outline-offset: 3px; }
