.route-navigation-card{overflow:hidden;border:1px solid #dce7e2;border-radius:22px;background:#fff;box-shadow:0 6px 24px #193e3010}
.route-navigation-heading{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;color:#52685f;font-size:10px;letter-spacing:.09em;font-weight:800}
.route-navigation-heading button,.route-navigation-footer button{border:0;background:transparent;color:#087f69;font-size:12px;font-weight:750;min-height:36px;cursor:pointer}
.route-navigation-card .route-map-surface{height:400px;border-block:1px solid #dce7e2}
.route-navigation-info{padding:18px;color:#193e32}.route-navigation-kicker{color:var(--route-accent,#087f69);font-size:12px;font-weight:800}.route-navigation-kicker span{color:#6b7b75;font-weight:500}
.route-navigation-destination{display:flex;gap:10px;align-items:center;margin-top:14px}.route-navigation-destination>div{min-width:0}.route-navigation-destination strong{font-size:18px;line-height:1.3;overflow-wrap:anywhere}.route-navigation-destination p{margin:4px 0 0;color:#61716b;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.route-number{flex-shrink:0;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--route-accent,#087f69);color:white;font-size:15px;font-weight:800}
.route-navigation-metrics{display:flex;gap:18px;margin:18px 0}.route-navigation-metrics strong{font-size:19px;line-height:1.4}.route-navigation-metrics span{display:block;font-size:10px;color:#677b72;font-weight:500}
.route-start-navigation{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:10px 14px;border-radius:12px;background:var(--route-accent,#087f69);color:#fff;text-decoration:none;font-size:13px;font-weight:750;line-height:1.4}
.route-navigation-notice{margin:10px 0 14px;padding:10px 12px;border-radius:10px;background:#fff7e6;color:#73541d;font-size:12px;line-height:1.5}
.route-navigation-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e7ede9;padding:5px 16px;font-size:11px;color:#6b7b75}
.route-directions{margin-top:12px;border-top:1px solid #e4ece7;font-size:12px}.route-directions summary{padding:14px 0 0;cursor:pointer;color:#365e4c;font-weight:700;min-height:38px}.route-directions ol{list-style:none;margin:8px 0 0;padding:0;max-height:210px;overflow:auto;touch-action:pan-y}.route-directions li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #edf1ef}.route-directions li>span{font-size:22px;color:#087f69}.route-directions li div>*{display:block;line-height:1.5}.route-directions small{color:#6b7b75}
.route-map-tools{position:absolute;bottom:31px;left:12px;right:12px;z-index:20;display:flex;gap:8px;justify-content:center}.route-map-tools button{min-height:44px;padding:0 13px;border:1px solid #d8e2df;border-radius:12px;background:#fff;color:#284438;font-size:12px;font-weight:700;box-shadow:0 3px 10px #163c3318;cursor:pointer}.route-map-tools button[aria-pressed=true]{color:#087f69;border-color:#087f69;background:#f1faf6}
.route-map-legend{position:absolute;top:12px;left:12px;z-index:15;display:grid;gap:5px;background:#fffffff2;border:1px solid #e0e7e3;border-radius:9px;padding:8px 10px;font:10px/1.3 Arial,sans-serif;color:#435d50;pointer-events:none}.route-map-legend span:before{content:'';display:inline-block;width:15px;height:3px;margin-right:6px;vertical-align:middle;background:var(--route-accent,#7b8e9d);border-radius:2px}
.route-courier-marker{width:38px;height:38px;filter:drop-shadow(0 2px 4px #132d3840)}.route-courier-car,.route-courier-car svg{width:38px;height:38px}.route-map-speed-hud{display:none}
.route-navigation-card .maplibregl-ctrl-group button{width:40px;height:40px}.route-navigation-card .maplibregl-ctrl-attrib{font-size:8px!important;max-width:100%;background:#ffffffdf}
.route-full-sheet{padding:0 0 env(safe-area-inset-bottom);max-height:55dvh;overflow:auto;touch-action:pan-y;border-radius:24px 24px 0 0}.route-full-sheet .route-navigation-info{padding-top:0}.route-full-sheet-handle{margin-bottom:0}.route-full-sheet .route-navigation-metrics{margin:12px 0}.route-full-sheet .route-navigation-notice{margin:8px 0;font-size:11px;padding:8px 10px}
.route-fullscreen-overlay .route-map-tools{top:78px;bottom:auto;left:12px;right:60px;justify-content:flex-start}.route-fullscreen-overlay .route-map-legend{top:134px}.route-fullscreen-overlay .route-recenter-button,.route-fullscreen-overlay .route-all-routes-full{display:none}.route-fullscreen-overlay .route-full-top-title small{font-size:0}.route-fullscreen-overlay .route-full-top-title small:after{content:'Mapa e paradas';font-size:10px}.route-fullscreen-overlay .maplibregl-ctrl-bottom-right{bottom:56%;}.route-fullscreen-overlay.route-sheet-collapsed .maplibregl-ctrl-bottom-right{bottom:42px}
button:focus-visible,a:focus-visible{outline:3px solid #2074c8;outline-offset:3px}
@media(max-width:360px){.route-navigation-card .route-map-surface{height:360px}.route-navigation-info{padding:14px}.route-navigation-metrics{gap:12px}.route-navigation-destination strong{font-size:16px}.route-map-tools button{padding:0 10px;font-size:11px}}
@media(max-height:620px){.route-full-sheet{max-height:48dvh}.route-full-sheet .route-navigation-metrics{display:none}.route-full-sheet .route-navigation-info{padding:0 12px 10px}.route-full-sheet .route-navigation-destination{margin-top:6px}}
