*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;color:#262262}header{height:60px;background:#262262;padding:8px 12px}header img{width:58px;height:44px;object-fit:contain}#map_canvas{height:calc(100vh - 60px);height:calc(100dvh - 60px)}.search-panel{position:absolute;z-index:1000;top:72px;left:12px;width:min(540px,calc(100% - 74px));box-shadow:0 2px 8px #0002}form{display:flex;background:white}input{min-width:0;flex:1;padding:14px;border:1px solid #ccc;font-size:16px}button{cursor:pointer;font:inherit}form button,.tools button{border:0;padding:12px;background:#262262;color:white}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #02effd;outline-offset:2px}#results{background:white;max-height:40vh;overflow:auto}#results button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #ddd;background:white;padding:12px;color:#262262}#results button:hover{background:#efedf8}#results p{padding:12px;margin:0}.tools{position:absolute;top:132px;left:12px;z-index:900;display:flex;gap:6px}.tools button{background:white;color:#262262;border:1px solid #ccc;border-radius:3px;padding:9px}.map-legend{position:absolute;bottom:30px;right:10px;z-index:900;display:flex;gap:18px;background:white;padding:12px;box-shadow:0 1px 5px #0003;font-size:14px}.map-legend span{display:flex;align-items:center;gap:7px}.map-legend i{display:inline-block;width:23px;height:20px}.ready{background:#9933ff}.inprogress{background:#00ffff}.planned{background:#77cc4b}#message{position:absolute;z-index:1000;top:180px;left:12px;max-width:calc(100% - 70px);padding:12px;background:white;box-shadow:0 1px 5px #0003}.coverage-popup{text-align:center}.coverage-popup h2{font-size:17px}.signup{display:block;background:#262262;color:white!important;border-radius:24px;padding:12px;text-decoration:none}.leaflet-popup-content{max-width:calc(100vw - 90px)}@media(max-width:480px){.map-legend{left:10px;right:10px;justify-content:space-between;gap:6px;padding:10px;font-size:12px}.tools button{font-size:12px}.search-panel form button{padding:10px}}
