*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:Arial,sans-serif}
body{display:grid;grid-template-rows:auto auto auto 1fr;background:#f3f6f5}
header{display:flex;justify-content:space-between;align-items:center;background:#0b5d46;color:#fff;padding:10px 14px}
header h1{margin:0}header p{margin:3px 0 0;opacity:.8}header a{color:#fff;text-decoration:none}
.controls{display:flex;gap:9px;align-items:end;flex-wrap:wrap;padding:9px 12px;background:#fff}
.controls label{font-size:.8rem}
.controls select,.controls button{display:block;padding:8px;border:1px solid #ccc;border-radius:7px}
.controls button{background:#0b5d46;color:#fff}
.notice{padding:7px 12px;background:#fff4cc;font-size:.78rem}
#map{height:100%;min-height:520px}
.pin{width:17px;height:17px;border-radius:50%;background:#1f8f5f;border:3px solid #fff;box-shadow:0 2px 6px #0005}
.photo{width:48px;height:48px;border:3px solid #fff;border-radius:7px;overflow:hidden;box-shadow:0 2px 8px #0006}
.photo img{width:100%;height:100%;object-fit:cover}
#loading{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:#073f31;color:#fff;padding:12px;border-radius:8px;z-index:4000}
.hidden{display:none!important}