.dialog-sheet:has(.address-map-content) { height: min(92dvh, calc(100dvh - var(--safe-area-top) - 16px)); max-height: min(92dvh, calc(100dvh - var(--safe-area-top) - 16px)); }
.dialog-sheet:has(.address-map-content) #dialog-content { display: flex; flex: 1; padding: 0; overflow: hidden; }
.address-map-content { display: flex; flex-direction: column; flex: 1; min-width: 0; min-height: 0; padding-bottom: var(--safe-area-bottom); }
.address-map-status { flex: 0 1 auto; max-height: 40%; overflow-y: auto; padding: 8px var(--page-gutter); font-size: var(--font-supporting); color: var(--text-secondary); line-height: 1.5; overflow-wrap: anywhere; }
.address-map-stage { position: relative; flex: 1; min-height: 0; border: 0; border-radius: 0; overflow: hidden; }
.address-map-stage iframe { display: block; border: 0; width: 100%; height: 100%; }
.address-map-recenter { position: absolute; z-index: 1; bottom: calc(100% - var(--map-bottom, 100%) + 24px); right: 12px; display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; padding: 12px; border: 1px solid var(--control); border-radius: 50%; background: var(--surface); color: var(--primary-text); }
.address-map-stage:not([data-layout-ready]) .address-map-recenter { visibility: hidden; }
.address-map-recenter .icon { flex: 0 0 24px; width: 24px; height: 24px; }
.address-map-recenter.is-locating .icon { visibility: hidden; }
.address-map-recenter.is-locating::after { position: absolute; width: 24px; height: 24px; border: 3px solid currentColor; border-right-color: transparent; border-radius: 50%; content: ''; animation: address-map-locating 800ms linear infinite; }
@keyframes address-map-locating { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .address-map-recenter.is-locating::after { animation: none; } }
.address-map-status.is-error { color: var(--rose); }
.address-map-entry { margin-bottom: 12px; }
