.event-map-dialog { box-sizing:border-box; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; width:min(560px,calc(100vw - 28px)); max-height:calc(100dvh - 32px); margin:auto; padding:20px; border:1px solid #ddd8d0; border-radius:20px; background:#fff; color:#1a1a1a; box-shadow:0 24px 70px #0003; overflow:auto; }
.event-map-dialog::backdrop { background:#0007; }
.event-map-dialog header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.event-map-dialog h2 { margin:0; font-size:20px; line-height:1.3; color:#1a1a1a; }
.event-map-dialog p { margin:10px 0; color:#50575e; font-size:14px; }
.event-map-dialog button, .event-map-links a, .event-map-picker-button { min-height:44px; border:1px solid #d5dad7; border-radius:10px; background:#f5f7f5; color:#155730; padding:10px 14px; font:inherit; cursor:pointer; }
.event-map-dialog .event-map-close { flex-shrink:0; width:44px; padding:0; font-size:24px; color:#374151; }
.event-map-canvas { height:min(380px,48dvh); min-height:220px; border-radius:12px; background:#eef0eb; touch-action:none; }
.event-map-actions { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; margin-top:14px; }
.event-map-dialog .event-map-save { background:#1b6b3a; color:white; }
.event-map-dialog button:disabled { opacity:.45; cursor:default; }
.event-map-links { display:grid; gap:10px; }
.event-map-links a { display:block; text-decoration:none; font-weight:600; }
.event-map-picker-button { margin-top:10px; }
.event-map-status { display:block; font-size:12px; color:#50575e; margin-top:6px; }
.event-map-marker span { display:block; width:24px; height:24px; border:3px solid white; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:#1b6b3a; box-shadow:0 2px 8px #0007; }
button.location-maps-link { border:0; padding:0; color:inherit; background:none; font:inherit; text-align:inherit; text-decoration:underline; cursor:pointer; overflow-wrap:anywhere; }
.event-map-input-label { display:block; margin:12px 0 6px; font-size:13px; font-weight:600; color:#374151; }
.event-map-link-input { width:100%; min-width:0; box-sizing:border-box; }

.event-map-preview { margin:12px 0; overflow:hidden; border:1px solid #d5dad7; border-radius:12px; background:#f5f7f5; }
.event-map-preview[hidden] { display:none; }
.event-map-preview-canvas { height:180px; width:100%; background:#eef0eb; z-index:0; }
.event-map-preview-footer { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; padding:8px 12px; color:#374151; font-size:12px; }
.event-map-preview-footer button { min-height:44px; border:0; background:transparent; color:#155730; font:inherit; font-weight:600; cursor:pointer; }

.event-map-search { display:flex; gap:8px; margin:12px 0; }
.event-map-search input { flex:1; min-width:0; width:100%; padding:10px 12px; border:1px solid #d5dad7; border-radius:10px; background:#fff; color:#1a1a1a; font:inherit; font-size:16px; }
.event-map-search-results { display:grid; gap:6px; max-height:180px; overflow:auto; margin-bottom:8px; }
.event-map-search-results button { text-align:left; overflow-wrap:anywhere; font-size:14px; }
