:root{font:16px system-ui,sans-serif;color:#173a30;background:#f5f8f6}*{box-sizing:border-box}body{margin:0}header{background:white;border-bottom:1px solid #dfe7e2;padding:22px max(20px,calc((100% - 1140px)/2));display:flex;justify-content:space-between;gap:20px;align-items:center}header b{font-size:24px;color:#09694f}header small{color:#61776a}main{max-width:1140px;margin:auto;padding:30px 20px}h1{font-size:clamp(28px,3vw,42px);margin:12px 0}p{color:#567166;line-height:1.5}.filters{background:white;border:1px solid #dce8df;border-radius:14px;padding:20px;display:flex;gap:12px;align-items:end;flex-wrap:wrap}.filters label{font-size:13px;font-weight:650;flex:1;min-width:170px}select{display:block;width:100%;margin-top:6px;min-height:42px;border:1px solid #cbded2;border-radius:8px;background:white;padding:9px;color:#173a30}button{border:0;border-radius:8px;background:#086b50;color:white;font-weight:700;padding:13px;cursor:pointer}.notice{padding:15px;background:#ecf6ef;border-left:4px solid #438a67;border-radius:6px}.layout{display:grid;grid-template-columns:40% 60%;gap:14px}.results,#map{background:white;border:1px solid #dfe8e2;border-radius:14px;min-height:490px}.results{overflow:auto;max-height:630px}.results h2{padding:15px;margin:0;border-bottom:1px solid #e8eee9;font-size:18px}.results h2 span{float:right;font-size:13px;font-weight:normal}#status{padding:0 15px;font-size:14px}#map{height:600px}.shop{padding:16px;border-top:1px solid #e9efeb;cursor:pointer}.shop h3{margin:0 0 8px}.shop p{margin:5px 0;font-size:14px}.shop a{color:#086b50;margin-right:12px;font-size:14px}.tag{display:inline-block;border-radius:10px;padding:5px 9px;background:#e4f3e9;color:#0d6546;font-size:12px;margin:9px 0}.tag.warn{background:#fff2d7;color:#825e14}footer{max-width:1140px;margin:10px auto 30px;padding:0 20px;font-size:13px;color:#667d70}@media(max-width:750px){header small{display:none}.layout{grid-template-columns:1fr}#map{height:340px;min-height:340px;grid-row:1}.results{min-height:200px}}