.route-box-count{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;padding:14px 16px;border:1px solid #47375f;border-radius:10px;background:linear-gradient(135deg,#2a2139,#211c2d)}
.route-box-count span{color:#aaa0bc;font-size:9px;font-weight:800;letter-spacing:1px}
.route-box-count strong{color:#d0b8ff;font-size:20px;letter-spacing:-.4px}
.route-map-surface{position:relative;width:100%;height:100%;min-height:320px;overflow:hidden;border-radius:14px;background:#211c2d}
.route-map-fallback{display:flex;min-height:320px;height:100%;padding:24px;box-sizing:border-box;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#c6bfd3;text-align:center}
.route-map-preview{width:100%;max-width:900px;min-height:190px}
.route-map-preview svg{display:block;width:100%;height:260px}
.route-map-preview .overview-route{cursor:pointer;transition:opacity .15s}
.route-map-preview .overview-route:hover{opacity:.72}
.route-map-preview .overview-route:focus-visible{outline:3px solid #f5d8ff}
.route-map-fallback p{margin:0;overflow-wrap:anywhere}
.route-map-point{display:grid;place-items:center;width:30px;height:30px;transform:translate(-50%,-50%);border:2px solid white;border-radius:50%;background:var(--route-color,#22c55e);color:#16121e;font:800 12px inherit;cursor:pointer;box-shadow:0 2px 8px #0005}
.route-map-point.selected{width:36px;height:36px;border-width:3px}
.route-map-point:focus-visible{outline:3px solid #151024;outline-offset:3px}
@media(max-width:600px){.route-map-surface,.route-map-fallback{min-height:260px}.route-map-fallback{padding:16px}.route-map-preview svg{height:210px}}
