.shm-map{height:520px;min-height:320px;border:1px solid var(--border);border-radius:14px;background:#e5e7eb;overflow:hidden}
.shm-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:16px}
.shm-upload{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.shm-upload label{flex:1;min-width:240px}
.shm-layer-list{display:grid;gap:10px}.shm-layer{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--card)}
.shm-layer.active{border-color:#16a34a;box-shadow:0 0 0 1px #16a34a}.shm-layer-head,.shm-layer-actions{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.shm-layer-actions{justify-content:flex-start;margin-top:10px}.shm-status{font-size:12px;font-weight:700;padding:4px 8px;border-radius:999px;background:#e5e7eb}.shm-status.active{background:#dcfce7;color:#166534}.shm-status.archived{background:#f3f4f6;color:#4b5563}.shm-status.ready{background:#dbeafe;color:#1d4ed8}
.shm-empty{padding:24px;text-align:center;color:var(--muted)}
.shm-marker{background:#166534;color:#fff;border:2px solid #fff;border-radius:50%;display:grid!important;place-items:center;font-weight:800;box-shadow:0 2px 8px #0006}
.shm-status-list{display:grid;gap:8px;max-height:520px;overflow:auto}.shm-status-row{padding:10px;border:1px solid var(--border);border-radius:10px;cursor:pointer}.shm-status-row:hover{background:var(--hover)}
@media(max-width:900px){.shm-grid{grid-template-columns:1fr}.shm-map{height:400px}}
