#catalog-editor { border-top: 1px solid var(--border-color, #ddd); padding-top: 20px; }
.catalog-gallery { display: flex; flex-wrap: wrap; gap: 12px; margin: 12px 0; }
.catalog-image { position: relative; width: 112px; border: 1px solid #d7dfdc; border-radius: 8px; padding: 5px; background: #fff; }
.catalog-image img { display: block; width: 100px; height: 100px; object-fit: cover; border-radius: 5px; }
.catalog-image > span { position: absolute; left: 8px; top: 8px; background: #1b7653; color: #fff; border-radius: 3px; padding: 0 5px; font-size: 12px; }
.catalog-image > div { display: flex; justify-content: space-between; margin-top: 6px; }
.catalog-image button, .catalog-unmapped button { border: 0; background: #edf4f0; padding: 4px 8px; border-radius: 4px; cursor: pointer; }
.catalog-image button:disabled { opacity: .35; cursor: default; }
#meet-cities { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.catalog-city { display: flex !important; align-items: center; gap: 8px; border: 1px solid #cbd8d1; border-radius: 6px; padding: 10px 12px; cursor: pointer; }
.catalog-city input { width: auto !important; margin: 0; accent-color: #148550; }
.catalog-city small { color: #697a71; font-weight: normal; }
.catalog-unmapped { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 0; }
#meet-save-status:not(:empty) { padding: 12px 16px; background: #edf7f1; color: #206447; border-radius: 6px; margin-top: 12px; white-space: pre-wrap; }
#meet-save-status.catalog-error, #meet-city-warning { color: #ad4b20; }
#meet-save-status.catalog-error { background: #fff2e9; }
#catalog-editor input[type=file] { margin-top: 8px; }
