.map-container {
    width: 100%;
    height: calc(100vh - 140px);
    min-height: 400px;
    border: 1px solid var(--tan);
    border-radius: 4px;
}

.map-container.map-edit {
    height: calc(100vh - 220px);
    min-height: 360px;
}

.back-link {
    font-size: 13px;
    color: var(--bronze);
    text-decoration: none;
    letter-spacing: 0.3px;
}

.back-link:hover { color: var(--espresso); }

.leaflet-popup-content-wrapper { border-radius: 4px; }
.leaflet-popup-content { margin: 12px 16px; font-size: 14px; }
.gm-style .gm-style-iw-c { font-family: 'Inter', sans-serif; }

.search-bar {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.search-bar input {
    flex: 1;
    min-width: 180px;
    padding: 10px 14px;
    border: 1px solid var(--tan);
    border-radius: 4px;
    font-size: 14px;
    font-family: inherit;
}

.search-bar input:focus { outline: none; border-color: var(--bronze); }

.search-bar button {
    padding: 10px 18px;
    background: var(--bronze);
    color: var(--warm-white);
    border: none;
    border-radius: 4px;
    font-size: 14px;
    cursor: pointer;
}

.search-bar button:hover { background: var(--walnut); }
.search-bar button:disabled { opacity: 0.5; cursor: not-allowed; }

.add-form {
    display: none;
    padding: 16px;
    background: var(--warm-white);
    border: 1px solid var(--tan);
    border-radius: 4px;
    margin-bottom: 16px;
}

.add-form.visible { display: block; }

.add-form input, .add-form textarea {
    width: 100%;
    padding: 8px 12px;
    margin-bottom: 10px;
    border: 1px solid var(--tan);
    border-radius: 4px;
    font-size: 14px;
    font-family: inherit;
}

.add-form textarea { min-height: 60px; resize: vertical; }
.add-form .btn-row { display: flex; gap: 8px; margin-top: 12px; }
.add-form button { padding: 8px 16px; border-radius: 4px; font-size: 14px; cursor: pointer; border: none; }
.add-form .btn-save { background: var(--bronze); color: var(--warm-white); }
.add-form .btn-cancel { background: var(--tan); color: var(--walnut); }

.msg { font-size: 13px; margin-top: 8px; }
.msg.err { color: #b35555; }
.msg.ok { color: var(--walnut); }

.popup-btn-edit, .popup-btn-del {
    padding: 4px 10px;
    font-size: 12px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.popup-btn-edit { background: var(--bronze); color: var(--warm-white); }
.popup-btn-del { background: #b35555; color: white; }
