:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#183239;background:#f2f6f4;font-size:16px}*{box-sizing:border-box}body{margin:0}header{background:#123f45;color:#fff;padding:2.5rem 0}h1{font-size:clamp(2rem,5vw,3rem);margin:.3rem 0}h2{margin:.2rem 0 1rem;font-size:1.35rem}p{line-height:1.5}header p{margin:0;color:#d1e5df}.wrap{width:min(1120px,92%);margin:auto}main{padding:1.5rem 0}.panel{background:#fff;border:1px solid #dbe6e1;border-radius:12px;padding:1.4rem;margin-bottom:1rem;box-shadow:0 3px 12px #163c3510}.eyebrow{font-size:.72rem;font-weight:750;letter-spacing:.12em;color:#35786e}header .eyebrow{color:#a4ddd0}form{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}label{display:grid;gap:.4rem;font-weight:650}input,select,button{font:inherit;padding:.65rem;border:1px solid #a9beb8;border-radius:6px}button{background:#12685e;color:white;border:0;cursor:pointer;font-weight:700}button:hover{background:#0d5049}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #e5a13b;outline-offset:2px}.small{font-size:.85rem;color:#4b655f}.section-head{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.cards,.daily{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}.card,.day-card{background:#f3f8f6;border-radius:8px;padding:1rem}.card span,.day-card span{display:block;font-size:.85rem;color:#4b655f}.card strong{display:block;font-size:1.35rem;margin-top:.35rem}.day-card strong{display:block;margin:.4rem 0}.note{background:#fff8e8;border-left:3px solid #dfa532;padding:.8rem}.table-scroll{overflow:auto;margin-top:1rem}table{border-collapse:collapse;width:100%;font-size:.85rem;white-space:nowrap}th,td{text-align:left;padding:.65rem;border-bottom:1px solid #e0eae5}th{background:#f2f7f5}a{color:#12685e}#status:not(:empty){padding:1rem;background:#fff3d9;margin-bottom:1rem;border-radius:8px}footer{padding:0 0 2rem;color:#58706a;font-size:.85rem}
#map{height:360px;width:100%;border-radius:8px;background:#e7eeeb;border:1px solid #cadbd4;margin:1rem 0 .5rem}.leaflet-container{font:inherit;font-size:.85rem}@media(max-width:600px){#map{height:290px}}
.place{display:grid;gap:.3rem;background:#edf6f2;border-left:3px solid #35786e;border-radius:5px;padding:.9rem 1rem;margin:1rem 0}.place span{font-size:.78rem;font-weight:700;color:#4b655f;text-transform:uppercase;letter-spacing:.05em}.place strong{font-size:1.1rem}.place small{color:#4b655f;line-height:1.45}
