/* --- Map Modal Styles --- */
.modal-overlay {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.6); backdrop-filter: blur(4px);
    display: flex; align-items: center; justify-content: center;
    z-index: 1000; opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s;
}
.modal-overlay.active { opacity: 1; visibility: visible; }
.modal-content {
    background: #ffffff; padding: 20px; border-radius: 12px;
    width: 90%; max-width: 800px; border: 1px solid #e5e7eb;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}
.modal-header { display: flex; justify-content: space-between; align-items: center; padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px solid #e5e7eb; }
.modal-title { font-size: 1.2rem; font-weight: 500; }
.modal-body #mapFrame { width: 100%; height: 60vh; border: none; border-radius: 8px; }

/* Ghost button from style.css for the close button */
button.ghost, .btn.ghost {
    cursor: pointer;
    border: 1px solid transparent;
    border-radius: 8px;
    padding: 10px 16px;
    font-size: 0.9rem;
    font-weight: 500;
    font-family: inherit;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.2s;
    background-color: transparent; border-color: #e5e7eb; color: #4b5563;
}
button.ghost:hover, .btn.ghost:hover { background-color: #f9fafb; border-color: #d1d5db; }
button.small { padding: 4px 8px; font-size: 0.8rem; }