.map-controls{display:flex;gap:16px;align-items:end;flex-wrap:wrap;padding:17px 20px}.map-controls label:first-child{flex:1;min-width:200px}.map-controls label:nth-child(2){width:160px}.map-controls .badge{align-self:center}.map-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:22px}.map-column{min-width:0;position:sticky;top:18px;align-self:start}.map-agenda{min-width:0}.map-actions{margin-bottom:12px}.map-follow{display:flex;gap:7px;align-items:center;font-size:12px}.map-follow input{margin:0}#trip-map{height:570px;min-height:330px;border:1px solid var(--line);border-radius:9px;background:#e3e7df;z-index:0}.map-legend{display:flex;gap:15px;flex-wrap:wrap;margin:15px 0;font-size:11px;color:var(--muted)}.map-key:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;background:#607b57;margin-right:6px}.map-key.now:before{background:#c3654e}.map-key.next:before{background:#ce9d42}.map-key.done:before{background:#9ba29a}.map-key.gps:before{background:#297bc1}.trip-pin{background:none;border:0}.trip-pin span{display:grid;place-items:center;width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#466346;border:2px solid white;box-shadow:0 2px 7px #0004;color:transparent}.trip-pin:after{content:attr(data-number)}.trip-pin span{border-radius:50%;transform:none;color:white;font-weight:700;font-size:12px}.trip-pin.now span{background:#bd614c;box-shadow:0 0 0 5px #bd614c30}.trip-pin.next span{background:#bd892e}.trip-pin.done span,.trip-pin.past span{background:#929b92}.trip-pin.hotel span{background:#796483;border-radius:6px}.map-list-heading{margin:23px 0 10px}.map-stop{border:1px solid var(--line);border-left:3px solid #c8d1c0;border-radius:7px;padding:15px;background:var(--paper);margin-bottom:10px}.map-stop.now{border-left-color:var(--red);background:#fff8f2}.map-stop.next{border-left-color:#bd892e}.map-stop.done{opacity:.7}.map-stop h3{font-size:13px;margin:8px 0}.map-stop p{font-size:11px;color:var(--muted);margin:6px 0 10px}.map-stop-top{display:flex;align-items:center;gap:8px;font-size:11px}.map-stop-top .badge{margin-left:auto}.stop-number{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--light);font-size:10px}.map-focus h3{font-family:inherit;font-size:17px;margin-bottom:8px}.map-focus .btn{margin-top:10px}.map-hotel{background:#ece9f0;border-radius:7px;padding:16px;margin-bottom:13px}.map-hotel h3{font-size:13px;margin:0 0 6px}.map-hotel p{font-size:11px;color:var(--muted)}.leaflet-container{font-family:inherit}.leaflet-popup-content{line-height:1.6;max-width:250px;overflow-wrap:anywhere}.leaflet-popup-content p{margin:9px 0}.leaflet-control-attribution{font-size:10px!important}.search-place{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:5px;padding:10px;background:var(--paper);font-size:12px;line-height:1.5;margin:6px 0;color:var(--ink)}.search-place:hover{background:var(--light)}.search-place small{display:block;color:var(--muted);margin-top:5px}#map-message:empty{display:none}#gps-status{min-height:20px;line-height:1.6}#map-pin-error{white-space:normal}
@media(max-width:1100px){.map-layout{grid-template-columns:1fr}.map-column{position:static}#trip-map{height:450px}.map-agenda{display:block}}
@media(max-width:720px){.map-controls{gap:12px;padding:15px}.map-controls label:nth-child(2){width:125px}.map-controls .btn{padding:10px;font-size:11px}.map-actions{gap:7px}.map-actions .btn{font-size:11px;padding:9px 10px}#trip-map{height:390px}.map-legend{gap:10px;font-size:10px}.map-layout{gap:15px}.map-column{position:static}}

@media(min-width:1101px){#map-stops{max-height:660px;overflow-y:auto;padding-right:5px}}
