.legacy-map-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(21rem, 0.9fr);
    gap: 1rem;
    align-items: start;
}

.legacy-map-sidebar {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.legacy-map-surface,
#legacy-areas-map {
    min-height: calc(100vh - 18rem);
}

.legacy-map-surface {
    position: relative;
    z-index: 1;
}

#legacy-areas-map {
    width: 100%;
    border-radius: 0.9rem;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.legacy-map-grid .leaflet-container,
.legacy-map-grid .leaflet-pane,
.legacy-map-grid .leaflet-top,
.legacy-map-grid .leaflet-bottom,
.legacy-map-grid .leaflet-control-container {
    z-index: 1 !important;
}

.legacy-map-filters,
.legacy-map-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.legacy-map-search {
    width: 100%;
    border: 1px solid transparent;
    border-radius: 0.75rem;
    padding: 0.7rem 0.9rem;
    font-size: 0.95rem;
    background: rgb(241 245 249);
}

.legacy-map-filter-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
    gap: 0.5rem;
}

.legacy-map-filter-btn {
    border: 1px solid transparent;
    border-radius: 0.75rem;
    padding: 0.65rem 0.5rem;
    font-weight: 600;
    background: rgb(241 245 249);
    cursor: pointer;
    color: rgb(51 65 85);
}

.legacy-map-filter-btn.active[data-filter="all"] {
    background: rgb(15 23 42);
    border-color: rgb(15 23 42);
    color: white;
}

.legacy-map-filter-btn.active[data-filter="good"] {
    background: rgb(22 163 74);
    border-color: rgb(22 163 74);
    color: white;
}

.legacy-map-filter-btn.active[data-filter="satisfactory"] {
    background: rgb(132 204 22);
    border-color: rgb(132 204 22);
    color: white;
}

.legacy-map-filter-btn.active[data-filter="needs_care"] {
    background: rgb(245 158 11);
    border-color: rgb(245 158 11);
    color: white;
}

.legacy-map-filter-btn.active[data-filter="critical"] {
    background: rgb(220 38 38);
    border-color: rgb(220 38 38);
    color: white;
}

.legacy-map-item {
    border: 1px solid rgb(226 232 240);
    border-left-width: 0.45rem;
    border-radius: 1rem;
    padding: 1rem;
    cursor: pointer;
    transition: 0.15s ease;
    background: transparent;
}

.legacy-map-item.good {
    border-left-color: rgb(21 128 61);
}

.legacy-map-item.satisfactory {
    border-left-color: rgb(101 163 13);
}

.legacy-map-item.needs_care {
    border-left-color: rgb(217 119 6);
}

.legacy-map-item.critical {
    border-left-color: rgb(185 28 28);
}

.legacy-map-item:hover,
.legacy-map-item.active {
    border-color: rgb(34 197 94);
    background: rgb(240 253 244);
}

.legacy-map-item-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.legacy-map-item-title,
.legacy-map-detail-name {
    font-size: 0.95rem;
    font-weight: 700;
    color: rgb(15 23 42);
}

.legacy-map-item-location,
.legacy-map-detail-location,
.legacy-map-detail-meta,
.legacy-map-notes {
    margin-top: 0.35rem;
    font-size: 0.82rem;
    color: rgb(100 116 139);
}

.legacy-map-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.22rem 0.6rem;
    font-size: 0.72rem;
    font-weight: 700;
}

.legacy-map-badge.good {
    background: rgb(220 252 231);
    color: rgb(21 128 61);
}

.legacy-map-badge.satisfactory {
    background: rgb(236 252 203);
    color: rgb(77 124 15);
}

.legacy-map-badge.needs_care {
    background: rgb(254 243 199);
    color: rgb(180 83 9);
}

.legacy-map-badge.critical {
    background: rgb(254 226 226);
    color: rgb(185 28 28);
}

.legacy-map-detail {
    border-top: 1px solid rgb(226 232 240);
    margin-top: 1rem;
    padding-top: 1rem;
}

.legacy-map-detail.hidden,
.legacy-map-photo-wrap.hidden,
.legacy-map-notes.hidden {
    display: none;
}

.legacy-map-photo-wrap {
    margin-top: 1rem;
}

.legacy-map-photo {
    width: 100%;
    border-radius: 0.9rem;
    display: block;
}

.legacy-map-detail-actions {
    margin-top: 1rem;
}

.legacy-map-empty {
    font-size: 0.9rem;
    color: rgb(100 116 139);
}

@media (max-width: 1024px) {
    .legacy-map-grid {
        grid-template-columns: 1fr;
    }

    .legacy-map-surface,
    #legacy-areas-map {
        min-height: 22rem;
    }

    .legacy-map-filter-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
