/* Gerador de rota 2 — estilos escopados em .rota2-app (gerados do protótipo public/certifico/rota2/rota2.css). */
.rota2-app{--navy:#14213d;--ink:#1e293b;--text2:#334155;--muted:#64748b;--soft:#64748b;--faint:#cbd5e1;--line:#cbd5e1;--line2:#94a3b8;--bg-soft:#f4f6f9;--blue:#1a73e8;--blue-line:#c9dcfb;--blue-pale:#f5f9ff;--green:#17803d;--red:#c0262d;--amber:#b45309;--press:#eef1f5;font-family:Montserrat,system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
.rota2-app *{box-sizing:border-box}
.rota2-app{position:relative;width:100%;height:100%;flex:1;max-width:430px;margin:auto;overflow:hidden;overflow:clip;background:#e9e6e3;isolation:isolate}
.rota2-app .map,.rota2-app .map-fallback{position:absolute;inset:0}
.rota2-app .map-fallback{display:grid;place-content:center;gap:6px;padding:24px;text-align:center;background:#eceae7;color:var(--navy);font-size:14px}
.rota2-app .map-fallback strong{font-size:16px;font-weight:600}
.rota2-app .mapboxgl-ctrl-bottom-left,.rota2-app .mapboxgl-ctrl-bottom-right{z-index:1!important}
.rota2-app [hidden]{display:none!important}
.rota2-app button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.rota2-app button:active:not(:disabled){transform:scale(.98)}
.rota2-app button:not(.primary):active:not(:disabled){background-color:var(--press)}
.rota2-app .primary:active:not(:disabled){filter:brightness(.92)}
.rota2-app button:disabled{cursor:default;opacity:.4}
.rota2-app button:focus-visible{outline:2px solid #f4b942;outline-offset:2px}
.rota2-app .topbar{position:absolute;z-index:4;top:max(14px,env(safe-area-inset-top));left:16px;right:16px}
.rota2-app .segmented{position:relative;display:flex;height:40px;overflow:hidden;border:1px solid rgba(20,33,61,.14);border-radius:6px;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);box-shadow:0 1px 3px rgba(15,23,42,.08)}
.rota2-app .segment-indicator{position:absolute;z-index:0;inset:0 0 0 50%;background:var(--navy);transition:transform 240ms cubic-bezier(.2,.8,.2,1)}
.rota2-app .segmented button{position:relative;z-index:1;flex:1;min-width:0;border:0;background:transparent;color:var(--navy);font-size:14px;font-weight:600}
.rota2-app .segmented button:active:not(:disabled){background-color:transparent}
.rota2-app .segmented button.active{color:#fff}
.rota2-app .map-actions{position:absolute;z-index:3;right:16px;top:calc(max(14px,env(safe-area-inset-top)) + 52px);display:grid;gap:8px}
.rota2-app .map-actions button{width:40px;height:40px;padding:0;border:0;border-radius:6px;background:#fff;color:var(--navy);display:grid;place-items:center;box-shadow:0 1px 4px rgba(15,23,42,.14)}
.rota2-app .map-actions svg{width:18px;height:18px;stroke-width:2}
.rota2-app .map-actions .locating svg{animation:r2Spin 1s linear infinite}
.rota2-app .route-sheet,.rota2-app .detail-sheet{position:absolute;z-index:5;left:0;right:0;bottom:0;display:flex;flex-direction:column;background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -2px 18px rgba(15,23,42,.10)}
.rota2-app .route-sheet{top:0;height:100%;transform:translateY(50%);will-change:transform}
.rota2-app .sheet-drag{height:20px;flex:none;display:grid;place-items:center;touch-action:none;cursor:grab}
.rota2-app .sheet-drag span{width:36px;height:4px;border-radius:2px;background:var(--line2)}
.rota2-app .route-progress{position:absolute;z-index:2;top:0;left:16px;right:16px;height:2px;background:transparent}
.rota2-app .route-progress span{display:block;height:100%;width:0;background:var(--blue);transition:width 260ms ease-out}
.rota2-app .sheet-head{position:relative;flex:none;padding:0 20px 4px;background:#fff;touch-action:none}
.rota2-app .search-row{position:relative;display:flex;align-items:center;gap:4px}
.rota2-app .searchline{height:44px;min-width:0;flex:1;display:flex;align-items:center;gap:4px;padding:0 4px 0 12px;border:0;border-radius:8px;background:var(--bg-soft);color:var(--muted)}
.rota2-app .search-icon{display:grid;flex:none}
.rota2-app .search-icon svg{width:18px;height:18px}
.rota2-app .search-placeholder{min-width:0;min-height:44px;flex:1;padding:0 0 0 4px;border:0;background:transparent;color:var(--soft);text-align:left;font-size:14px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rota2-app .search-placeholder:active:not(:disabled){background-color:transparent}
.rota2-app .icon-btn,.rota2-app .menu-btn{width:36px;height:40px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);display:grid;place-items:center;flex:none}
.rota2-app .icon-btn svg,.rota2-app .menu-btn svg{width:18px;height:18px}
.rota2-app .menu-btn{width:32px}
.rota2-app .route-menu{position:absolute;z-index:10;right:0;top:50px;width:216px;padding:4px;border:1px solid var(--line2);border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.12)}
.rota2-app .route-menu button{width:100%;min-height:44px;padding:0 10px;border:0;border-radius:6px;background:#fff;color:var(--ink);display:flex;align-items:center;gap:10px;text-align:left;font-size:14px;font-weight:500}
.rota2-app .route-menu button svg{width:18px;height:18px;color:var(--muted)}
.rota2-app .route-title{height:52px;display:flex;align-items:flex-end;padding-bottom:6px}
.rota2-app .route-title h1{margin:0;color:var(--navy);font-size:24px;line-height:1;font-weight:700;letter-spacing:-.02em}
.rota2-app .route-actions{display:flex;gap:8px;margin:4px 0 8px}
.rota2-app .route-actions button{height:36px;min-width:0;padding:0 12px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2);border-radius:6px;background:#fff;color:var(--ink);font-size:13px;font-weight:500;white-space:nowrap}
.rota2-app .route-actions svg{width:16px;height:16px;color:var(--blue)}
.rota2-app .summary{margin:0 0 6px;min-height:18px;color:var(--muted);font-size:12px;font-weight:400;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rota2-app .route-error{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;padding:6px 10px;border:1px solid #f1c4c6;border-radius:6px;background:#fff8f8;color:#a61418;font-size:12px;font-weight:500}
.rota2-app .route-error button{min-height:44px;border:0;background:transparent;color:#a61418;font-size:12px;font-weight:600;text-decoration:underline}
.rota2-app .stop-list{position:relative;min-height:0;overflow-y:auto;overscroll-behavior:contain;background:#fff;scroll-behavior:smooth;border-top:1px solid var(--line)}
.rota2-app .stop-wrap{position:relative;overflow:hidden;background:#fff}
.rota2-app .stop-wrap.reordering{overflow:visible;z-index:5}
.rota2-app .stop-action{position:absolute;inset:0;display:flex;align-items:center;gap:8px;padding:0 20px;color:#fff;font-size:14px;font-weight:600}
.rota2-app .stop-action svg{width:20px;height:20px;stroke-width:2.6}
.rota2-app .stop-action.done{right:50%;background:var(--green)}
.rota2-app .stop-action.fail{left:50%;justify-content:flex-end;background:var(--red)}
.rota2-app .stop-row,.rota2-app .stop-row.is-reordering{position:relative;z-index:1;min-height:64px;display:grid;grid-template-columns:28px minmax(0,1fr) auto 20px;align-items:center;column-gap:12px;padding:8px 12px 8px 20px;background:#fff;touch-action:pan-y;transition:transform 220ms ease-out,box-shadow 220ms ease-out,background-color 160ms ease}
.rota2-app .stop-row::before{content:"";position:absolute;left:33px;top:0;bottom:0;width:1.5px;background:var(--blue-line)}
.rota2-app .stop-row::after{content:"";position:absolute;left:60px;right:0;bottom:0;height:1px;background:var(--line)}
.rota2-app .departure-row::before{top:50%}
.rota2-app .timeline-number{position:relative;z-index:1;justify-self:center;min-width:22px;padding:4px 0;background:#fff;text-align:center;color:var(--blue);font-size:15px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}
.rota2-app .timeline-home{position:relative;z-index:1;display:grid;place-items:center;width:28px;height:28px;background:#fff;color:var(--blue)}
.rota2-app .timeline-home svg{width:20px;height:20px;stroke-width:2}
.rota2-app .stop-main{min-width:0;min-height:44px;padding:0;border:0;background:transparent;color:inherit;text-align:left;display:flex;flex-direction:column;justify-content:center}
.rota2-app .stop-main:active:not(:disabled){background-color:transparent;transform:none}
.rota2-app .stop-address,.rota2-app .stop-meta{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rota2-app .stop-address{color:var(--navy);font-size:15px;font-weight:600;line-height:20px}
.rota2-app .stop-meta{display:flex;gap:4px;align-items:baseline;margin-top:2px;color:var(--muted);font-size:13px;font-weight:400;line-height:18px}
.rota2-app .stop-meta-text{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rota2-app .stop-meta .window{flex:none}
.rota2-app .departure-row .stop-address{white-space:normal}
.rota2-app .stop-time{color:var(--text2);font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.rota2-app .window{color:var(--amber);font-weight:500}
.rota2-app .grip{width:20px;height:40px;padding:0;border:0;border-radius:4px;display:grid;place-items:center;background:transparent;color:var(--faint);touch-action:none}
.rota2-app .grip svg{width:16px;height:16px}
.rota2-app .grip[data-grip]{color:var(--soft);cursor:grab}
.rota2-app .grip:not([data-grip]){cursor:default;touch-action:auto}
.rota2-app .departure-row .grip{visibility:hidden}
.rota2-app .stop-row.current-row{background:var(--blue-pale)}
.rota2-app .stop-row.current-row .timeline-number{background:var(--blue-pale)}
.rota2-app .stop-row.status-done .stop-address,.rota2-app .stop-row.status-failed .stop-address{text-decoration:line-through;color:var(--soft);font-weight:500}
.rota2-app .stop-row.status-done .timeline-number{color:var(--green)}
.rota2-app .stop-row.status-failed .timeline-number{color:var(--red)}
.rota2-app .stop-row.swiping{transition:none}
.rota2-app .stop-row.dragging{z-index:4;box-shadow:0 6px 18px rgba(15,23,42,.14);background:#fff}
.rota2-app .next-stop{margin:10px 20px;padding:12px;border:1px solid var(--blue-line);border-radius:8px;background:var(--blue-pale)}
.rota2-app .next-stop>p{margin:0 0 6px;color:var(--blue);font-size:11px;font-weight:600;letter-spacing:.06em}
.rota2-app .next-title{display:flex;align-items:center;gap:8px;min-width:0}
.rota2-app .next-title>span{width:24px;height:24px;flex:none;display:grid;place-items:center;border-radius:4px;background:var(--navy);color:#fff;font-size:13px;font-weight:600}
.rota2-app .next-title strong{overflow:hidden;color:var(--navy);font-size:15px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.rota2-app .next-title b{margin-left:auto;color:var(--red);display:flex;align-items:center;gap:3px;font-size:12px;font-weight:600}
.rota2-app .next-title b svg{width:14px;height:14px}
.rota2-app .next-address{width:100%;min-height:40px;padding:2px 0;border:0;background:transparent;color:var(--muted);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:400}
.rota2-app .next-actions{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:6px;margin-top:4px}
.rota2-app .next-actions button{height:44px;border:0;border-radius:6px;color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:5px}
.rota2-app .next-actions button svg{width:16px;height:16px}
.rota2-app .next-actions button:nth-child(1){background:var(--blue)}
.rota2-app .next-actions button:nth-child(2){background:var(--green)}
.rota2-app .next-actions button:nth-child(3){background:var(--red)}
.rota2-app .completed{border-top:8px solid var(--bg-soft)}
.rota2-app .completed-toggle{width:100%;min-height:48px;padding:0 20px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:500}
.rota2-app .empty-route{padding:24px 20px;color:var(--muted);font-size:14px;font-weight:500;text-align:center}
.rota2-app .sheet-footer{flex:none;height:calc(88px + env(safe-area-inset-bottom));padding:10px 20px env(safe-area-inset-bottom);border-top:1px solid var(--line);background:#fff}
.rota2-app .primary{height:52px;border:0;border-radius:8px;background:var(--blue);color:#fff;font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}
.rota2-app .wide{width:100%}
.rota2-app .sheet-footer .primary:disabled{opacity:1;background:#e8f0fd;color:#3b5f92}
.rota2-app .footer-hint{margin:6px 0 0;color:var(--soft);font-size:12px;font-weight:400;text-align:center}
.rota2-app .location-dot{width:16px;height:16px;border:3px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 0 0 7px rgba(26,115,232,.18),0 1px 3px rgba(15,23,42,.2)}
.rota2-app .balloon{width:40px;height:40px;padding:0 0 6px;border:0;background:transparent;display:grid;place-items:end center}
.rota2-app .balloon:active:not(:disabled){background-color:transparent}
.rota2-app .balloon>span{width:26px;height:26px;display:grid;place-items:center;position:relative;border:1.5px solid var(--navy);border-radius:5px;background:#fff;color:var(--navy);font-size:13px;font-weight:600;line-height:1;box-shadow:0 1px 4px rgba(15,23,42,.18)}
.rota2-app .balloon>span::after{content:"";position:absolute;bottom:-5px;width:8px;height:8px;background:inherit;border-right:1.5px solid var(--navy);border-bottom:1.5px solid var(--navy);transform:rotate(45deg)}
.rota2-app .balloon.current>span,.rota2-app .balloon.selected>span{width:30px;height:30px;border-color:#ECB22E;background:var(--navy);color:#ECB22E;font-size:14px}
.rota2-app .balloon.current>span::after,.rota2-app .balloon.selected>span::after{border-color:#ECB22E}
.rota2-app .balloon.current>span{animation:r2MarkerPulse 1.8s ease-out infinite}
.rota2-app .balloon.done>span{border-color:var(--green);background:var(--green);color:#fff}
.rota2-app .balloon.done>span::after{border-color:var(--green)}
.rota2-app .balloon.failed>span{border-color:var(--red);background:var(--red);color:#fff}
.rota2-app .balloon.failed>span::after{border-color:var(--red)}
.rota2-app .dim{position:absolute;z-index:6;inset:0;background:rgba(15,23,42,.16);transition:opacity 200ms ease}
.rota2-app .detail-sheet{z-index:7;top:auto;bottom:0;height:auto;min-height:0;max-height:62%;padding-bottom:env(safe-area-inset-bottom);transform:translateY(105%);transition:transform 260ms cubic-bezier(.2,.8,.2,1)}
.rota2-app .detail-sheet.open{transform:translateY(0)}
.rota2-app .detail-body{flex:0 1 auto;min-height:0;overflow:auto;padding:0 20px}
.rota2-app .detail-nav{height:36px;display:grid;grid-template-columns:minmax(0,1fr) 36px 36px 36px;align-items:center;gap:2px;margin:0 -8px 6px 0}
.rota2-app .detail-nav>span{overflow:hidden;color:var(--muted);font-size:12px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.rota2-app .detail-nav>span b{color:var(--navy);font-weight:600}
.rota2-app .detail-nav button{width:36px;height:36px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--soft);display:grid;place-items:center}
.rota2-app .detail-nav button svg{width:18px;height:18px}
.rota2-app .detail-nav [data-detail-close]{color:var(--muted)}
.rota2-app .detail-address{margin:0;color:var(--navy);font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.rota2-app .detail-place{margin:4px 0 14px;color:var(--muted);font-size:14px;font-weight:400}
.rota2-app .detail-card{display:grid;gap:10px;margin:0 0 16px}
.rota2-app .detail-card p{display:flex;align-items:center;gap:10px;margin:0;color:var(--text2);font-size:14px;font-weight:400;line-height:1.3}
.rota2-app .detail-card p>svg{width:16px;height:16px;flex:none;color:var(--soft)}
.rota2-app .detail-card strong{color:var(--ink);font-weight:600}
.rota2-app .detail-card .detail-alert{color:var(--red);font-weight:500}
.rota2-app .detail-card .detail-alert svg{color:var(--red)}
.rota2-app .detail-primary{width:100%}
.rota2-app .primary svg,.rota2-app .secondary svg{width:20px;height:20px;flex:none}
.rota2-app .detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
.rota2-app .detail-grid .primary{height:48px;font-size:15px}
.rota2-app .success{background:var(--green)!important}
.rota2-app .danger{background:var(--red)!important}
.rota2-app .secondary{width:100%;height:44px;border:1px solid var(--line2);border-radius:8px;background:#fff;color:var(--navy);font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}
.rota2-app .secondary svg{width:18px;height:18px;color:var(--muted)}
.rota2-app .shortcut-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:14px -20px 0;padding:8px 8px 10px;border-top:1px solid var(--line)}
.rota2-app .shortcut-grid button{min-height:56px;padding:4px 2px;border:0;border-radius:6px;background:#fff;color:var(--text2);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px}
.rota2-app .shortcut-grid button svg{width:20px;height:20px;flex:none;color:var(--muted);stroke-width:2}
.rota2-app .shortcut-grid span{font-size:11px;font-weight:500;line-height:1.2;text-align:center}
.rota2-app .window-editor{display:flex;gap:8px;align-items:center;margin:12px 0}
.rota2-app .window-editor label{flex:1;font-size:13px;font-weight:500;color:var(--text2)}
.rota2-app .window-editor input{min-height:44px;margin-left:6px;padding:0 8px;border:1px solid var(--line2);border-radius:6px;font:inherit}
.rota2-app .window-editor button{min-height:44px;padding:0 12px;border:0;border-radius:6px;background:var(--blue);color:#fff;font-size:13px;font-weight:600}
.rota2-app .window-editor [data-remove]{background:var(--bg-soft);color:var(--navy)}
.rota2-app .toast{position:absolute;z-index:10;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));max-width:calc(100% - 32px);display:flex;align-items:center;padding:4px 6px 4px 14px;min-height:44px;transform:translate(-50%,120px);border-radius:8px;background:var(--navy);color:#fff;box-shadow:0 6px 20px rgba(15,23,42,.2);font-size:13px;font-weight:500;transition:transform 200ms ease-out;white-space:nowrap}
.rota2-app .toast.show{transform:translate(-50%,0)}
.rota2-app .toast:not(.show){visibility:hidden;pointer-events:none}
.rota2-app .toast button{min-width:44px;min-height:40px;margin-left:8px;padding:0 8px;border:0;background:transparent;color:#9cc3ff;font-size:13px;font-weight:600}
@keyframes r2MarkerPulse{0%,100%{box-shadow:0 0 0 0 rgba(20,33,61,.22)}55%{box-shadow:0 0 0 8px rgba(20,33,61,0)}}
@keyframes r2Spin{to{transform:rotate(360deg)}}
@media(min-width:431px){.rota2-app{box-shadow:0 0 40px rgba(15,23,42,.2)}
}
@media(max-height:700px){.rota2-app .route-title{height:44px}
.rota2-app .detail-address{font-size:20px}
.rota2-app .detail-place{margin-bottom:10px}
.rota2-app .detail-card{gap:8px;margin-bottom:12px}
}
@media(prefers-reduced-motion:reduce){.rota2-app *,.rota2-app *::before,.rota2-app *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
.rota2-app .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.rota2-app .route-sheet{overflow:hidden}
.rota2-app .route-progress{top:0;left:0;right:0;height:3px;background:var(--line)}
.rota2-app .sheet-head{padding:0 20px 2px}
.rota2-app .route-actions{margin:8px 0 6px}
.rota2-app .summary{margin:0 0 6px;font-size:12px;color:var(--muted)}
.rota2-app .summary strong{color:var(--navy);font-weight:600}
.rota2-app .summary-done{color:var(--green);font-weight:500}
.rota2-app .stop-row,.rota2-app .stop-row.is-reordering{min-height:52px;column-gap:10px;padding:5px 12px 5px 20px}
.rota2-app .stop-row::after{left:58px}
.rota2-app .timeline-number{font-size:14px;padding:3px 0}
.rota2-app .timeline-home svg{width:18px;height:18px}
.rota2-app .stop-main{min-height:42px}
.rota2-app .stop-address{font-size:14px;line-height:18px}
.rota2-app .stop-bairro{color:var(--soft);font-size:12px;font-weight:400}
.rota2-app .stop-meta{margin-top:1px;font-size:12px;line-height:16px;gap:6px}
.rota2-app .mark{flex:none;font-size:11px;font-weight:600;letter-spacing:.01em}
.rota2-app .mark-urgent{color:var(--red);letter-spacing:.04em}
.rota2-app .mark-prazo{color:var(--muted);font-weight:500}
.rota2-app .stop-time{font-size:13px;line-height:16px}
.rota2-app .stop-time small{display:block;margin-top:2px;color:var(--soft);font-size:11px;font-weight:400}
.rota2-app .sheet-footer{height:calc(82px + env(safe-area-inset-bottom));padding-top:8px}
.rota2-app .footer-hint{margin-top:4px}
.rota2-app .detail-sheet{max-height:72%}
.rota2-app .detail-address{font-size:20px}
.rota2-app .detail-place{margin:2px 0 10px;font-size:13px}
.rota2-app .detail-who,.rota2-app .detail-body>.detail-alert{display:flex;align-items:center;gap:8px;margin:0 0 6px;color:var(--text2);font-size:14px;line-height:1.3}
.rota2-app .detail-who strong{color:var(--ink);font-weight:600}
.rota2-app .detail-who svg,.rota2-app .detail-body>.detail-alert svg{width:16px;height:16px;flex:none;color:var(--soft)}
.rota2-app .detail-body>.detail-alert{color:var(--red);font-weight:500}
.rota2-app .detail-body>.detail-alert svg{color:var(--red)}
.rota2-app .detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin:10px 0 12px;padding:10px 0 0;border-top:1px solid var(--line)}
.rota2-app .detail-facts div{min-width:0}
.rota2-app .detail-facts div:first-child,.rota2-app .detail-facts div:last-child{grid-column:1/-1}
.rota2-app .detail-facts dt{color:var(--soft);font-size:11px;font-weight:500;line-height:14px}
.rota2-app .detail-facts dd{margin:1px 0 0;overflow:hidden;color:var(--text2);font-size:13px;font-weight:500;line-height:18px;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}
.rota2-app .detail-facts dd strong{color:var(--ink);font-weight:600}
.rota2-app .detail-facts dd.detail-obs{white-space:normal;font-weight:400}
.rota2-app .detail-facts a{display:inline-flex;align-items:center;gap:5px;color:var(--blue);text-decoration:none}
.rota2-app .detail-facts a svg{width:14px;height:14px}
.rota2-app .detail-primary{height:48px}
.rota2-app .detail-grid{margin:8px 0}
.rota2-app .detail-grid .primary{height:44px}
.rota2-app .secondary{height:40px}
.rota2-app .shortcut-grid{margin-top:10px;padding:6px 8px 8px}
.rota2-app .shortcut-grid button{min-height:50px;gap:4px}
.rota2-app .balloon.aud>span{background:#ECB22E;border-color:#B8860B;color:#14213d}
.rota2-app .balloon.aud>span::after{border-color:#B8860B}
.rota2-app .balloon.urg>span{background:#D62828;border-color:#9B1C1C;color:#fff}
.rota2-app .balloon.urg>span::after{border-color:#9B1C1C}
.rota2-app .map-legend{position:absolute;left:12px;top:0;z-index:3;display:flex;gap:10px;padding:5px 8px;background:rgba(255,255,255,.92);box-shadow:0 1px 4px rgba(15,23,42,.15);font-size:11px;font-weight:500;color:#14213d;pointer-events:none;will-change:transform}
.rota2-app .map-legend span{display:flex;align-items:center;gap:5px}
.rota2-app .map-legend i{width:10px;height:10px;display:inline-block}
.rota2-app .lg-aud{background:#ECB22E;border:1px solid #B8860B}
.rota2-app .lg-urg{background:#D62828;border:1px solid #9B1C1C}
.rota2-app .segmented{width:max-content;margin:0 auto;height:auto;gap:8px;overflow:visible;border:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
.rota2-app .segment-indicator{display:none}
.rota2-app .segmented button{flex:none;height:32px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--navy);font-size:12px;font-weight:600;box-shadow:0 1px 4px rgba(15,23,42,.16);transition:background 200ms,color 200ms}
.rota2-app .segmented button.active{background:var(--navy);color:#fff}
.rota2-app .map-legend{flex-direction:column;gap:4px;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.9);box-shadow:0 1px 4px rgba(15,23,42,.12)}
.rota2-app .map-legend span{gap:6px}
.rota2-app .segmented button{box-shadow:0 2px 6px rgba(15,23,42,.18),0 1px 2px rgba(15,23,42,.12);border:1.5px solid transparent}
.rota2-app .segmented button.active{border-color:#ECB22E;box-shadow:0 4px 12px rgba(15,23,42,.30),0 2px 4px rgba(15,23,42,.18);transform:translateY(-1px)}
.rota2-app .map-legend{padding:5px 8px;gap:3px;font-size:10px;border-radius:8px}
.rota2-app .map-legend svg{width:11px;height:13px}
.rota2-app .next-dock{flex:none;padding:8px 20px 6px;border-top:1px solid var(--line);background:#fff}
.rota2-app .next-dock .next-stop{margin:0;padding:8px 10px}
.rota2-app .next-dock .next-address{min-height:44px}
.rota2-app .next-dock .next-actions{margin-top:2px}
.rota2-app .next-stop>p{font-size:12px}
/* Leva A: concluída (Feita/Falhou) = pino cinza com ✓, igual à linha feita. */
.rota2-app .balloon.done>span,.rota2-app .balloon.urg.done>span,.rota2-app .balloon.aud.done>span,.rota2-app .balloon.failed>span,.rota2-app .balloon.urg.failed>span,.rota2-app .balloon.aud.failed>span{border-color:#6b7280;background:#9aa3af;color:#fff}
.rota2-app .balloon.done>span::after,.rota2-app .balloon.failed>span::after{border-color:#6b7280}
.rota2-app .stop-row.status-failed .timeline-number{color:#334155}
.rota2-app .toast{pointer-events:none;transform:translate(-50%,8px);opacity:0;transition:transform 200ms ease-out,opacity 200ms ease-out}
.rota2-app .toast.show{transform:translate(-50%,0);opacity:1}
.rota2-app .toast button{pointer-events:auto}
.rota2-app .stop-time small,.rota2-app .detail-facts dt,.rota2-app .shortcut-grid span,.rota2-app .mark,.rota2-app .map-legend{font-size:12px}
.rota2-app .grip,.rota2-app .grip[data-grip]{width:44px;height:44px;margin:0 -12px}
.rota2-app .stop-row.press-hold{background:var(--blue-pale)}
.rota2-app .segmented button{position:relative}
.rota2-app .segmented button::after{content:"";position:absolute;inset:-8px -2px}
.rota2-app .map-actions button{width:44px;height:44px}
.rota2-app .icon-btn,.rota2-app .menu-btn{width:44px;height:44px}
.rota2-app .detail-nav{height:44px;grid-template-columns:minmax(0,1fr) 44px 44px 44px}
.rota2-app .detail-nav button{width:44px;height:44px}
.rota2-app .route-actions button{height:44px}
.rota2-app .balloon{width:44px;height:44px;padding:0 0 8px}
.rota2-app .route-menu{width:232px;max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain}
/* Tela baixa (testador, 26/10): "Navegar com" sumia no fim do menu → itens mais baixos + rolagem. */
@media (max-height:760px){.rota2-app .route-menu button{min-height:38px}}
.rota2-app .menu-nav{padding:6px 6px 4px;border-top:1px solid var(--line)}
.rota2-app .menu-nav>span{display:block;margin:0 4px 4px;color:var(--muted);font-size:12px;font-weight:500}
.rota2-app .menu-nav>div{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.rota2-app .route-menu .menu-nav button{justify-content:center;padding:0 4px;border:1px solid var(--line2);font-size:13px}
.rota2-app .route-menu .menu-nav button[aria-pressed="true"]{border-color:var(--navy);background:var(--navy);color:#fff}
/* Fase 1a — dentro do app real */
.rota2-app .sem-local{border-top:8px solid var(--bg-soft)}
.rota2-app .sem-local-toggle{width:100%;min-height:48px;padding:0 20px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:500}
.rota2-app .sem-local-row{display:block;width:100%;min-height:52px;padding:8px 20px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;color:inherit}
.rota2-app .sem-local-row .stop-address{white-space:normal}
.rota2-app .partida-aprox{color:var(--amber);font-weight:500}
.rota2-app .r2-vazio{padding:28px 20px;color:var(--muted);font-size:14px;line-height:1.45;text-align:center}
/* Fluxo Spoke (23/10): montando → otimizada → andamento → concluída */
.rota2-app .route-title{height:38px;padding-bottom:4px}
.rota2-app .route-title h1{font-size:22px}
.rota2-app .stop-list{scroll-behavior:auto}
.rota2-app .r2-foot{display:flex;gap:8px}
.rota2-app .r2-foot .secondary{flex:0 0 38%;height:52px}
.rota2-app .r2-foot .primary{flex:1;min-width:0}
.rota2-app .r2-mont-row{grid-template-columns:28px minmax(0,1fr) 44px}
.rota2-app .r2-remover{width:44px;height:44px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);display:grid;place-items:center}
.rota2-app .r2-remover svg{width:16px;height:16px}
.rota2-app .r2-montar-vazio{padding:18px 20px 24px;display:grid;gap:10px;text-align:center}
.rota2-app .r2-montar-txt{margin:0;color:var(--navy);font-size:16px;font-weight:600}
.rota2-app .r2-montar-sub{margin:-4px 0 6px;color:var(--muted);font-size:13px}
.rota2-app .r2-fim{padding:16px 20px;border-bottom:8px solid var(--bg-soft);display:grid;gap:12px}
.rota2-app .r2-fim-titulo{margin:0;color:var(--green);font-size:16px;font-weight:700}
.rota2-app .r2-fim-num{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}
.rota2-app .r2-fim-num div{padding:8px 10px;border:1px solid var(--line2);border-radius:6px}
.rota2-app .r2-fim-num dt{color:var(--muted);font-size:12px}
.rota2-app .r2-fim-num dd{margin:2px 0 0;color:var(--navy);font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}
.rota2-app .r2-fim-num dd.ok{color:var(--green)}
.rota2-app .r2-fim-num dd.falha{color:var(--red)}
.rota2-app .detail-grid .secondary{grid-column:1/-1}
/* Puxar mandados */
.rota2-app .r2-puxar{position:absolute;z-index:8;inset:0;display:flex;flex-direction:column;background:#fff;padding-top:env(safe-area-inset-top)}
.rota2-app .r2-px-head{flex:none;display:flex;align-items:center;gap:6px;padding:8px 12px 4px}
.rota2-app .r2-px-head h2{margin:0;color:var(--navy);font-size:20px;font-weight:700}
.rota2-app .r2-px-fechar{width:44px;height:44px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--navy);display:grid;place-items:center}
.rota2-app .r2-px-fechar svg{width:20px;height:20px}
.rota2-app .r2-px-busca{flex:none;margin:4px 16px 8px;height:48px;display:flex;align-items:center;gap:10px;padding:0 14px;border-radius:10px;background:#eaf0f8;border:1.5px solid var(--navy);color:var(--navy);box-shadow:0 2px 6px rgba(20,33,61,.12)}
.rota2-app .r2-px-busca input::placeholder{color:#4a5a78}
.rota2-app .r2-px-busca svg{width:20px;height:20px;stroke-width:2.4}
.rota2-app .r2-px-busca input{flex:1;min-width:0;height:44px;border:0;background:transparent;font:inherit;font-size:15px;color:var(--ink);outline:0}
.rota2-app .r2-px-filtros{flex:none;display:flex;gap:18px;padding:0 16px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.rota2-app .r2-px-filtros button{flex:none;height:40px;padding:0;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-size:13px;font-weight:600;white-space:nowrap}
.rota2-app .r2-px-filtros button.on{color:var(--navy);border-bottom-color:var(--navy)}
.rota2-app .r2-px-linha{flex:none;position:relative;padding:8px 16px 0}
.rota2-app .r2-px-pino{position:absolute;left:28px;top:20px;width:20px;height:20px;color:#b8860b;pointer-events:none}
.rota2-app .r2-px-pino svg{width:20px;height:20px}
.rota2-app .r2-px-linha select{width:100%;height:44px;padding:0 10px 0 40px;border:1.5px solid #d4a017;border-radius:10px;background:#fffaf0;font:inherit;font-size:15px;font-weight:700;color:var(--navy)}
.rota2-app .r2-px-conta{flex:none;display:flex;align-items:center;gap:12px;padding:6px 16px;color:var(--navy);font-size:13px;font-weight:600}
.rota2-app .r2-px-conta span{flex:1}
.rota2-app .r2-px-conta button{min-height:40px;padding:0;border:0;background:transparent;color:var(--blue);font-size:13px;font-weight:600}
.rota2-app .r2-px-lista{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--line)}
.rota2-app .r2-pick{position:relative;display:flex;gap:12px;align-items:flex-start;padding:10px 16px;border-bottom:1px solid var(--line);cursor:pointer}
.rota2-app .r2-pick.on{background:var(--blue-pale)}
.rota2-app .r2-pick input{position:absolute;opacity:0;width:1px;height:1px}
.rota2-app .r2-pick-box{flex:none;width:22px;height:22px;margin-top:1px;border:1.5px solid var(--faint);border-radius:4px;background:#fff;display:grid;place-items:center;color:transparent}
.rota2-app .r2-pick-box svg{width:14px;height:14px}
.rota2-app .r2-pick.on .r2-pick-box{border-color:var(--blue);background:var(--blue);color:#fff}
.rota2-app .r2-pick input:focus-visible+.r2-pick-box{outline:2px solid #f4b942;outline-offset:2px}
.rota2-app .r2-pick-txt{min-width:0;flex:1;display:grid;gap:2px}
.rota2-app .r2-pick-txt strong{color:var(--navy);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rota2-app .r2-pick-txt>span{color:var(--text2);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rota2-app .r2-pick-marcas{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted)!important;font-size:12px!important}
.rota2-app .r2-px-vazio{padding:24px 16px;color:var(--muted);font-size:14px;text-align:center}
.rota2-app .r2-px-sec{border-top:8px solid var(--bg-soft)}
.rota2-app .r2-px-sec h3{margin:0;padding:12px 16px 2px;color:var(--navy);font-size:14px;font-weight:700}
.rota2-app .r2-px-sec>p{margin:0;padding:0 16px 8px;color:var(--muted);font-size:12px}
.rota2-app .r2-ajuste{width:100%;display:grid;gap:2px;padding:10px 16px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;color:inherit}
.rota2-app .r2-ajuste strong{color:var(--text2);font-size:14px;font-weight:600}
.rota2-app .r2-ajuste span{color:var(--muted);font-size:13px}
.rota2-app .r2-ajuste em{display:flex;align-items:center;gap:5px;color:var(--amber);font-size:12px;font-style:normal;font-weight:600}
.rota2-app .r2-ajuste em svg{width:14px;height:14px}
.rota2-app .r2-px-pe{flex:none;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}
.rota2-app .r2-px-pe .primary:disabled{opacity:1;background:#e8f0fd;color:#3b5f92}
/* Início e fim */
.rota2-app .r2-painel{position:absolute;z-index:7;left:0;right:0;bottom:0;max-height:80%;overflow:auto;background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -2px 18px rgba(15,23,42,.14);padding:16px 20px calc(16px + env(safe-area-inset-bottom))}
.rota2-app .r2-pn-corpo h2{margin:0 0 6px;color:var(--navy);font-size:20px;font-weight:700}
.rota2-app .r2-pn-rot{margin:12px 0 6px;color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.rota2-app .r2-pn-opc{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rota2-app .r2-pn-opc button{min-height:44px;padding:0 10px;border:1px solid var(--line2);border-radius:6px;background:#fff;color:var(--navy);font-size:13px;font-weight:600;text-align:center}
.rota2-app .r2-pn-opc button.on{border-color:var(--navy);background:var(--navy);color:#fff}
.rota2-app .r2-pn-hora{display:flex;gap:8px;margin-bottom:16px}
/* Início e fim livres (24/10): endereço digitado, Meus locais, últimos usados. */
.rota2-app .r2-pn-opc button:last-child:nth-child(odd){grid-column:1/-1}
.rota2-app .r2-pn-escolha{margin:8px 0 0;color:var(--navy);font-size:13px;font-weight:600;line-height:18px;overflow-wrap:anywhere}
.rota2-app .r2-pn-sub{margin-top:8px}
.rota2-app .r2-pn-sub[hidden]{display:none}
.rota2-app .r2-pn-busca{display:flex;gap:8px}
.rota2-app .r2-pn-busca input{flex:1;min-width:0;min-height:44px;padding:0 10px;border:1px solid var(--line2);border-radius:6px;font:inherit;font-size:15px;color:var(--ink)}
.rota2-app .r2-pn-busca input:focus{outline:2px solid #ECB22E;outline-offset:0;border-color:var(--navy)}
.rota2-app .r2-pn-busca button{min-height:44px;padding:0 12px;border:0;border-radius:6px;background:var(--navy);color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px}
.rota2-app .r2-pn-busca button svg{width:16px;height:16px}
.rota2-app .r2-pn-busca button:disabled{opacity:.6}
.rota2-app .r2-pn-mini{margin:10px 0 4px;color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.rota2-app .r2-pn-aviso{margin:4px 0;color:var(--muted);font-size:13px}
.rota2-app .r2-pn-lista{display:grid;gap:6px}
.rota2-app .r2-pn-locais{max-height:220px;overflow:auto}
.rota2-app .r2-pn-item{min-height:44px;width:100%;padding:8px 10px;border:1px solid var(--line2);border-radius:6px;background:#fff;color:var(--navy);display:flex;align-items:center;gap:10px;text-align:left;font:inherit}
.rota2-app .r2-pn-item.on{border-color:var(--navy);background:#fdf6e3;box-shadow:inset 0 0 0 1px var(--navy)}
.rota2-app .r2-pn-item-ic{flex:none;width:18px;height:18px;color:var(--navy)}
.rota2-app .r2-pn-item.on .r2-pn-item-ic{color:#b8860b}
.rota2-app .r2-pn-item-ic svg{width:18px;height:18px}
.rota2-app .r2-pn-item-tx{min-width:0;display:grid}
.rota2-app .r2-pn-item-tx strong{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rota2-app .r2-pn-item-tx small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rota2-app .r2-fim-dot{width:28px;height:28px;display:grid;place-items:center;border:1.5px solid #ECB22E;border-radius:5px;background:var(--navy);color:#ECB22E;box-shadow:0 1px 4px rgba(15,23,42,.25)}
.rota2-app .r2-fim-dot svg{width:16px;height:16px}
.rota2-app .r2-pn-hora input{flex:1;min-height:44px;padding:0 10px;border:1px solid var(--line2);border-radius:6px;font:inherit;font-size:15px}
.rota2-app .r2-pn-hora button{min-height:44px;padding:0 14px;border:1px solid var(--line2);border-radius:6px;background:#fff;color:var(--navy);font-size:13px;font-weight:600}
/* Guia da primeira vez */
.rota2-app .r2-guia{position:absolute;z-index:9;inset:0;display:grid;place-items:center;padding:20px;background:rgba(15,23,42,.45)}
.rota2-app .r2-guia-caixa{width:100%;max-width:360px;padding:20px;border-radius:10px;background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.25)}
.rota2-app .r2-guia-caixa h2{margin:0 0 14px;color:var(--navy);font-size:20px;font-weight:700}
.rota2-app .r2-guia-passo{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}
.rota2-app .r2-guia-passo>span{flex:none;width:28px;height:28px;display:grid;place-items:center;border-radius:4px;background:var(--navy);color:#fff;font-weight:700}
.rota2-app .r2-guia-passo strong{color:var(--navy);font-size:15px}
.rota2-app .r2-guia-passo p{margin:2px 0 0;color:var(--text2);font-size:13px;line-height:1.4}
.rota2-app .r2-guia-caixa .primary{margin-top:14px}
/* Voltar para o Início (ajuste 23/10): redondo discreto ao lado da chave, alvo 44px. */
.rota2-app .r2-voltar{position:absolute;left:0;top:50%;width:44px;height:44px;margin-top:-22px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--navy);display:grid;place-items:center;box-shadow:0 1px 4px rgba(15,23,42,.16)}
.rota2-app .r2-voltar svg{width:20px;height:20px}
.rota2-app .route-menu button[aria-pressed="true"] svg{color:var(--navy)}
/* Como navegar (ajuste 23/10): rota inteira no Google × só a próxima. */
.rota2-app .r2-nav-op{position:relative;width:100%;display:grid;gap:2px;margin:8px 0 0;padding:12px 14px;border:1px solid var(--line2);border-radius:6px;background:#fff;text-align:left;color:inherit}
.rota2-app .r2-nav-op strong{color:var(--navy);font-size:15px;font-weight:700}
.rota2-app .r2-nav-op span{color:var(--text2);font-size:13px}
.rota2-app .r2-nav-op em{position:absolute;top:12px;right:14px;color:var(--muted);font-size:11px;font-style:normal;font-weight:600}
.rota2-app .r2-nav-op.on{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
.rota2-app .r2-nav-aviso{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.4}
.rota2-app .r2-nav-sempre{display:flex;align-items:center;gap:8px;min-height:44px;margin-top:4px;color:var(--text2);font-size:14px}
.rota2-app .r2-nav-sempre input{width:20px;height:20px;margin:0}
.rota2-app .r2-nav-cancelar{width:100%;min-height:44px;border:0;background:none;color:var(--navy);font-size:14px;font-weight:600}
/* Foto e voz na busca (23/10) */
.rota2-app .icon-btn.on{background:#e8f0fd;color:var(--blue)}
.rota2-app .icon-btn:disabled{opacity:.5}
.rota2-app .r2-escuta{position:absolute;z-index:11;left:12px;right:12px;top:calc(12px + env(safe-area-inset-top));display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 6px 6px 14px;border-radius:8px;background:var(--navy);color:#fff;font-size:14px;font-weight:600;box-shadow:0 6px 20px rgba(15,23,42,.2)}
.rota2-app .r2-escuta[hidden]{display:none}
.rota2-app .r2-escuta span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rota2-app .r2-escuta button{flex:none;height:36px;padding:0 12px;border:1px solid rgba(255,255,255,.4);border-radius:6px;background:transparent;color:#fff;font:inherit;font-size:13px}
.rota2-app .r2-escuta button[hidden]{display:none}
.rota2-app .mark-palpite{color:var(--green);letter-spacing:.02em}
.rota2-app .r2-px-avulsa{padding:4px 16px 16px}
.rota2-app .r2-px-avulsa p{margin:8px 0 0;color:var(--muted);font-size:13px;text-align:center}
.rota2-app .r2-px-avulsa svg{width:18px;height:18px}
/* Tema azul suave (24/10, modelo aprovado rota2-azul-suave) */
.rota2-app .route-sheet .sheet-drag{background:#3a6fc4}
.rota2-app .route-sheet .sheet-drag span{background:rgba(255,255,255,.4)}
.rota2-app .route-progress{background:rgba(255,255,255,.22)}
.rota2-app .sheet-head{padding:0 20px 10px;background:linear-gradient(170deg,#3a6fc4,#2a5bab)}
.rota2-app .sheet-head .searchline{background:#fff}
.rota2-app .sheet-head .menu-btn{color:#fff}
.rota2-app .route-title h1{color:#fff}
.rota2-app .route-actions button{background:rgba(255,255,255,.16);border:1.5px solid #d4a017;color:#fff}
.rota2-app .route-actions button:active:not(:disabled){background-color:rgba(255,255,255,.26)}
.rota2-app .route-actions svg{color:#f2c94c}
.rota2-app .sheet-head .summary{color:#eef3fa}
.rota2-app .sheet-head .summary strong{color:#fff}
.rota2-app .sheet-head .summary-done{color:#c9f2d6}
.rota2-app .stop-list{border-top:0}
.rota2-app .stop-row::after{left:0;background:#cbd5e1}
.rota2-app .stop-row .timeline-number,.rota2-app .stop-row .timeline-home{background:inherit}
.rota2-app .stop-wrap:nth-child(even) .stop-row{background:#f8fafd}
.rota2-app .stop-wrap .stop-row.r2-urg{background:#fff1f1}
.rota2-app .stop-wrap .stop-row.r2-aud{background:#fff8e8}
.rota2-app .stop-wrap .stop-row.current-row,.rota2-app .stop-wrap .stop-row.press-hold{background:var(--blue-pale)}
.rota2-app .mark-urgent,.rota2-app .mark.window{padding:1px 6px;border-radius:4px;color:#fff;letter-spacing:.02em}
.rota2-app .mark-urgent{background:#c0262d}
.rota2-app .mark.window{background:#d4a017}
.rota2-app .next-dock{border-top:0;border-bottom:1px solid #cbd5e1}
/* Adicionar mandados */
.rota2-app .r2-puxar{padding-top:0}
.rota2-app .r2-px-topo{flex:none;padding:env(safe-area-inset-top) 0 12px;background:linear-gradient(170deg,#3a6fc4,#2a5bab)}
.rota2-app .r2-px-head h2,.rota2-app .r2-px-fechar{color:#fff}
.rota2-app .r2-px-busca{background:#fff;border-color:#fff}
.rota2-app .r2-px-filtros{justify-content:space-between;align-items:center;gap:0;padding:0 10px;border-bottom:0;overflow:visible}
.rota2-app .r2-px-filtros button{position:relative;isolation:isolate;height:auto;min-height:40px;padding:0 7px;border:0;background:transparent;font-family:Montserrat,sans-serif;font-size:12.5px;font-weight:700;color:#e3ecff}
.rota2-app .r2-px-filtros button::after{content:"";position:absolute;left:0;right:0;top:50%;height:30px;margin-top:-15px;border-radius:6px;background:transparent;z-index:-1}
.rota2-app .r2-px-filtros .r2-px-sep{flex:none;width:1.5px;height:14px;background:rgba(255,255,255,.45)}
.rota2-app .r2-px-filtros button.r2-px-ur{color:#ffb4ab}
.rota2-app .r2-px-filtros button.on{color:#0f1f3d}
.rota2-app .r2-px-filtros button.on::after{background:#f2c14e}
.rota2-app .r2-px-filtros button.r2-px-ur.on{color:#fff}
.rota2-app .r2-px-filtros button.r2-px-ur.on::after{background:#d32f2f}
.rota2-app .r2-px-linha select{background:#fff}
.rota2-app .r2-px-conta{background:#f3f6fb;border-bottom:1px solid #cbd5e1}
.rota2-app .r2-px-lista{border-top:0}
.rota2-app .r2-pick{border-bottom:1px solid #cbd5e1}
.rota2-app .r2-pick:nth-child(even){background:#f8fafd}
.rota2-app .r2-pick.r2-urg{background:#fff1f1}
.rota2-app .r2-pick.r2-aud{background:#fff8e8}
.rota2-app .r2-pick.on{background:#e6f0ff}
.rota2-app .r2-pick-txt strong{font-weight:700}
/* Botões principais com brilho */
.rota2-app .sheet-footer .primary:not(:disabled),.rota2-app .r2-px-pe .primary:not(:disabled){position:relative;overflow:hidden;background:linear-gradient(160deg,#3a6fc4,#2a5bab);border:1.5px solid #d4a017;box-shadow:0 6px 14px rgba(42,91,171,.30)}
.rota2-app .sheet-footer .primary:not(:disabled) svg,.rota2-app .r2-px-pe .primary:not(:disabled) svg{color:#f2c94c}
.rota2-app .sheet-footer .primary:not(:disabled)::after,.rota2-app .r2-px-pe .primary:not(:disabled)::after{content:"";position:absolute;top:0;left:0;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transform:translateX(-100%) skewX(-18deg);animation:r2Shimmer 2.8s ease-in-out infinite;pointer-events:none}
@keyframes r2Shimmer{0%{transform:translateX(-100%) skewX(-18deg)}60%{transform:translateX(260%) skewX(-18deg)}100%{transform:translateX(260%) skewX(-18deg)}}
@media(prefers-reduced-motion:reduce){.rota2-app .sheet-footer .primary::after,.rota2-app .r2-px-pe .primary::after{animation:none!important;display:none}
}
/* Ficha da parada (24/10, proposta 2 aprovada: faixa royal + grade). */
.rota2-app .detail-sheet{max-height:min(72%,calc(100% - max(14px,env(safe-area-inset-top)) - 150px))}
.rota2-app .r2f-band{margin:0 -20px;padding:2px 20px 14px;background:linear-gradient(170deg,#3a6fc4,#2a5bab);color:#fff}
.rota2-app .r2f-band .detail-nav{margin-bottom:2px}
.rota2-app .r2f-band .detail-nav>span,.rota2-app .r2f-band .detail-nav>span b,.rota2-app .r2f-band .detail-nav button,.rota2-app .r2f-band .detail-nav [data-detail-close]{color:#eef3fa}
.rota2-app .r2f-band .detail-nav>span{font-size:13px}
.rota2-app .r2f-band .detail-nav button:active:not(:disabled){background-color:rgba(255,255,255,.14)}
.rota2-app .r2f-band .detail-address{color:#fff;font-size:21px;font-weight:800}
.rota2-app .r2f-band .detail-place{margin:3px 0 8px;color:#e6eefa;font-size:13px}
.rota2-app .r2f-band .detail-who{margin:0;color:#fff;font-size:14px}
.rota2-app .r2f-band .detail-who strong{color:#fff;font-weight:700}
.rota2-app .r2f-selos{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}
.rota2-app .r2f-selo{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:5px;font-size:11px;font-weight:700;letter-spacing:.02em}
.rota2-app .r2f-selo svg{width:12px;height:12px;flex:none}
.rota2-app .r2f-urg{background:#c0262d;color:#fff}
.rota2-app .r2f-aud{background:#ECB22E;color:#14213d}
.rota2-app .r2f-info{display:grid;gap:8px;margin:12px 0 10px}
.rota2-app .r2f-inf{min-width:0;min-height:44px;padding:7px 10px;border-radius:10px;background:#f3f6fb;display:flex;flex-direction:column;justify-content:center;text-decoration:none}
.rota2-app .r2f-inf span{color:#64748b;font-size:11px;font-weight:500;line-height:14px}
.rota2-app .r2f-inf b{display:flex;align-items:center;gap:5px;margin-top:2px;color:#14213d;font-size:13px;font-weight:700;line-height:17px;white-space:nowrap;font-variant-numeric:tabular-nums}
.rota2-app .r2f-tel b{color:#2a5bab}
.rota2-app .r2f-tel b svg{width:14px;height:14px;flex:none}
.rota2-app .r2f-tel:active{background:#e4ecf8}
.rota2-app .r2f-navegar{position:relative;overflow:hidden;height:54px;border:1.5px solid #d4a017;border-radius:12px;background:linear-gradient(160deg,#3a6fc4,#2a5bab);color:#fff;font-size:16px;font-weight:700;box-shadow:0 6px 14px rgba(42,91,171,.3)}
.rota2-app .r2f-navegar svg{width:22px;height:22px}
.rota2-app .r2f-navegar::after{content:"";position:absolute;top:0;left:0;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:translateX(-100%) skewX(-18deg);animation:r2Shimmer 2.8s ease-in-out infinite;pointer-events:none}
.rota2-app .r2f-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 4px}
.rota2-app .r2f-grid4{grid-template-columns:repeat(2,1fr)}
.rota2-app .r2f-grid .r2f-tile{position:relative;overflow:hidden;min-width:0;height:84px;padding:6px 4px;border:0;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#fff;font-size:13px;font-weight:700;line-height:1.15;text-align:center}
.rota2-app .r2f-grid .r2f-tile svg{width:26px;height:26px;flex:none}
.rota2-app .r2f-grid .r2f-tile span{white-space:nowrap}
.rota2-app .r2f-grid .r2f-tile .r2f-sub{display:block;margin-top:1px;font-size:10px;font-weight:600;line-height:1.1;opacity:.9}
.rota2-app .r2f-grid .r2f-tile:active:not(:disabled){filter:brightness(.92)}
.rota2-app .r2f-grid .r2f-green,.rota2-app .r2f-grid .r2f-green:active:not(:disabled){background:linear-gradient(160deg,#1b8a4a,#136b34);box-shadow:0 5px 12px rgba(23,128,61,.28)}
.rota2-app .r2f-grid .r2f-red,.rota2-app .r2f-grid .r2f-red:active:not(:disabled){background:linear-gradient(160deg,#d33a40,#b3222a);box-shadow:0 5px 12px rgba(192,38,45,.28)}
.rota2-app .r2f-grid .r2f-gold,.rota2-app .r2f-grid .r2f-gold:active:not(:disabled){background:linear-gradient(160deg,#f2c94c,#d4a017);color:#14213d;box-shadow:0 5px 12px rgba(180,130,0,.3)}
.rota2-app .r2f-grid .r2f-wa,.rota2-app .r2f-grid .r2f-wa:active:not(:disabled){background:linear-gradient(160deg,#1e9a55,#137a40);box-shadow:0 5px 12px rgba(31,170,85,.3)}
.rota2-app .r2f-grid .r2f-blue,.rota2-app .r2f-grid .r2f-blue:active:not(:disabled){background:#e7efff;color:#2a5bab}
.rota2-app .r2f-grid .r2f-lilas,.rota2-app .r2f-grid .r2f-lilas:active:not(:disabled){background:#f1ecff;color:#6d4bc4}
.rota2-app .r2f-atalhos{display:flex;justify-content:center;gap:4px;margin:10px -20px 0;padding:6px 8px 4px}
.rota2-app .r2f-atalhos button{flex:1 1 0;max-width:120px;min-height:48px}
.rota2-app .r2f-facts{margin-top:4px}
@media(prefers-reduced-motion:reduce){.rota2-app .r2f-navegar::after{animation:none!important;display:none}}
.rota2-app .r2f-band .detail-address{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.rota2-app .detail-body{touch-action:pan-y}
.rota2-app .r2f-facts .r2f-full{grid-column:1/-1}
.rota2-app .detail-body.r2f-in-next{animation:r2fInNext 200ms cubic-bezier(.2,.8,.2,1)}
.rota2-app .detail-body.r2f-in-prev{animation:r2fInPrev 200ms cubic-bezier(.2,.8,.2,1)}
@keyframes r2fInNext{from{transform:translateX(28px);opacity:.4}to{transform:none;opacity:1}}
@keyframes r2fInPrev{from{transform:translateX(-28px);opacity:.4}to{transform:none;opacity:1}}
/* ── Leva 1 (24/10): tempo na parada, "Terminar até" + puladas, número fixo ── */
.rota2-app .stop-time small.r2-sai{color:var(--text2);font-weight:500}
.rota2-app .r2-puladas{margin:6px 0 10px;padding:8px 10px 4px;border:1px solid #f3d19e;border-radius:6px;background:#fffbeb}
.rota2-app .r2-pul-tit{display:flex;align-items:center;gap:6px;margin:0 0 4px;color:var(--amber);font-size:13px;font-weight:700}
.rota2-app .r2-pul-tit svg{width:16px;height:16px;flex:none}
.rota2-app .r2-pul-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 0;border-top:1px solid #f6e3c0}
.rota2-app .r2-pul-row .timeline-number{background:transparent;color:var(--amber)}
.rota2-app .r2-pul-txt{min-width:0;display:flex;flex-direction:column}
.rota2-app .r2-pul-txt strong{overflow:hidden;color:var(--ink);font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.rota2-app .r2-pul-txt span{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.rota2-app .r2-pul-row button{min-height:44px;max-width:118px;padding:0 10px;border:1px solid var(--amber);border-radius:6px;background:#fff;color:var(--amber);font:inherit;font-size:12px;font-weight:700;line-height:1.2}
.rota2-app .r2-alerta-fim{display:flex;align-items:flex-start;gap:8px;margin:6px 0 8px;padding:8px 10px;border:1px solid #f1c4c6;border-radius:6px;background:#fff8f8;color:#a61418;font-size:13px;font-weight:600;line-height:1.35}
.rota2-app .r2-alerta-fim svg{width:18px;height:18px;flex:none;margin-top:1px}
.rota2-app .r2-pn-tempo{grid-template-columns:repeat(5,1fr);gap:6px}
.rota2-app .r2-pn-tempo button{padding:0 2px}
.rota2-app .r2-pn-tempo button:last-child:nth-child(odd){grid-column:auto}
.rota2-app .r2-pn-opcional{margin-left:6px;color:var(--soft);font-size:11px;font-weight:500;text-transform:none;letter-spacing:0}
.rota2-app .r2-tempo-editor{flex-wrap:wrap;gap:6px}
.rota2-app .r2-tempo-editor .r2-te-rot{flex:1 0 100%;color:var(--text2);font-size:13px;font-weight:600}
.rota2-app .r2-tempo-editor button{min-width:44px;padding:0 10px;border:1px solid var(--line2);background:#fff;color:var(--navy)}
.rota2-app .r2-tempo-editor button.on{border-color:var(--navy);background:var(--navy);color:#fff}
/* Ajustes da rota (Início e fim): faixa royal + lista de 5 itens + subtela */
.rota2-app .r2-painel.r2-aj-on{padding:0 0 env(safe-area-inset-bottom)}
.rota2-app .r2-aj-top{position:sticky;top:0;z-index:1;display:flex;flex-direction:column;justify-content:center;min-height:72px;padding:14px 20px;background:linear-gradient(170deg,#3a6fc4,#2a5bab);color:#fff}
.rota2-app .r2-aj-top h2{margin:0;font-size:20px;font-weight:800;color:#fff}
.rota2-app .r2-aj-top p{margin:3px 0 0;font-size:12.5px;color:#dbe6f7}
.rota2-app .r2-aj-voltar{align-self:flex-start;min-height:44px;margin:-8px 0 0 -10px;padding:0 10px;border:0;background:transparent!important;color:#fff;font:inherit;font-size:14px;font-weight:600;display:flex;align-items:center;gap:4px}
.rota2-app .r2-aj-voltar svg{width:18px;height:18px}
.rota2-app .r2-aj-row{display:flex;align-items:center;gap:12px;width:100%;height:64px;padding:0 18px;border:0;border-bottom:1px solid #edf1f6;background:#fff;text-align:left;font:inherit;color:var(--navy)}
.rota2-app .r2-aj-ic{flex:none;width:38px;height:38px;border-radius:10px;display:grid;place-items:center}
.rota2-app .r2-aj-ic svg{width:20px;height:20px}
.rota2-app .r2-aj-g{background:#e3f4ea;color:#17803d}.rota2-app .r2-aj-r{background:#fde8e8;color:#c0262d}.rota2-app .r2-aj-b{background:#e7efff;color:#2a5bab}.rota2-app .r2-aj-y{background:#fff4d6;color:#b8860b}.rota2-app .r2-aj-l{background:#f1ecff;color:#6d4bc4}
.rota2-app .r2-aj-lb{flex:1;min-width:0;display:grid}
.rota2-app .r2-aj-lb small{font-size:11.5px;font-weight:600;color:var(--muted)}
.rota2-app .r2-aj-lb strong{font-size:15px;font-weight:700;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rota2-app .r2-aj-chev{flex:none;color:#94a3b8}.rota2-app .r2-aj-chev svg{width:20px;height:20px}
.rota2-app .r2-aj-pe{padding:0 18px 18px}
.rota2-app .r2-aj-pe[hidden]{display:none}
.rota2-app .r2-aj-res{margin:14px 0;padding:12px 14px;border-radius:12px;background:#f3f6fb;color:var(--text2);font-size:13px;line-height:1.5}
.rota2-app .r2-aj-res b{color:var(--navy)}
.rota2-app .r2-aj-nao{color:var(--amber);font-weight:700}
.rota2-app .r2-aj-ok,.rota2-app .r2-aj-ok:not(:disabled){height:54px;border-radius:12px;background:linear-gradient(160deg,#3a6fc4,#2a5bab);border:1.5px solid #d4a017;box-shadow:0 6px 14px rgba(42,91,171,.30);font-weight:700}
.rota2-app .r2-aj-corpo{padding-bottom:4px}
.rota2-app .r2-aj-op{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 18px;border:0;border-bottom:1px solid #edf1f6;background:#fff;text-align:left;font:inherit;color:var(--navy)}
.rota2-app .r2-aj-opic{flex:none;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#f3f6fb;color:#2a5bab}
.rota2-app .r2-aj-opic svg{width:18px;height:18px}
.rota2-app .r2-aj-op.on .r2-aj-opic{background:#e7efff}
.rota2-app .r2-aj-optx{flex:1;min-width:0;display:grid}
.rota2-app .r2-aj-optx strong{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rota2-app .r2-aj-op.on .r2-aj-optx strong{font-weight:700}
.rota2-app .r2-aj-optx small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rota2-app .r2-aj-ck{flex:none;width:22px;height:22px;color:#2a5bab}.rota2-app .r2-aj-ck svg{width:22px;height:22px}
.rota2-app .r2-aj-busca{padding:10px 18px;border-bottom:1px solid #edf1f6;background:#f8fafd}
.rota2-app .r2-aj-busca button{background:#2a5bab}
.rota2-app .r2-aj-aviso{padding:8px 18px}
.rota2-app .r2-aj-locais{max-height:240px;overflow:auto;background:#f8fafd}
.rota2-app .r2-aj-mini{margin:0;padding:14px 18px 6px;color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.rota2-app .r2-aj-hora{display:grid;gap:6px;padding:14px 18px;border-bottom:1px solid #edf1f6}
.rota2-app .r2-aj-hora span{color:var(--muted);font-size:12px;font-weight:600}
.rota2-app .r2-aj-hora input{min-height:48px;padding:0 12px;border:1px solid var(--line2);border-radius:8px;font:inherit;font-size:17px;font-weight:600;color:var(--navy)}
.rota2-app .r2-aj-hora input:focus,.rota2-app .r2-aj-busca input:focus{outline:2px solid #ECB22E;outline-offset:0}
/* Alça da gaveta mais visível + aceno curto ao abrir (pedido do dono 24/10) */
.rota2-app .route-sheet .sheet-drag{height:28px}
.rota2-app .route-sheet .sheet-drag span{width:60px;height:6px;border-radius:3px;background:rgba(255,255,255,.9);box-shadow:0 1px 3px rgba(0,0,0,.25);animation:r2-alca 1.2s ease-in-out .8s 3}
@keyframes r2-alca{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media (prefers-reduced-motion:reduce){.rota2-app .route-sheet .sheet-drag span{animation:none}}
/* Arrastar pelo grip (25/10): sem seleção de texto/balão do iOS e sem tremor (transform direto, sem transição) */
.rota2-app .stop-row,.rota2-app .grip{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.rota2-app .stop-list.r2-arrastando,.rota2-app .stop-list.r2-arrastando *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.rota2-app .stop-row.dragging{transition:box-shadow 160ms ease-out;will-change:transform}
/* Leva A: pino cresce com o zoom (--r2-esc no contêiner do mapa, ancorado na ponta). */
.rota2-app .balloon>span{transform:scale(var(--r2-esc,1));transform-origin:50% calc(100% + 5px)}
/* Leva A: apagar rota inteira (⋮) e Remover todas (Editar paradas). */
.rota2-app .route-menu button.r2-menu-perigo,.rota2-app .route-menu button.r2-menu-perigo svg{color:var(--red)}
.rota2-app .r2-remover-todas-wrap{padding:12px 16px 16px}
.rota2-app .r2-remover-todas{width:100%;height:44px;border:1px solid var(--red);border-radius:8px;background:#fff;color:var(--red);font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}
.rota2-app .r2-remover-todas svg{width:18px;height:18px;color:var(--red)}
/* Mais vivo (25/10, pedido do dono): ícones da busca em azul forte, botões dourados mais cheios, Editar paradas navy */
.rota2-app .sheet-head .searchline .search-icon,.rota2-app .sheet-head .searchline .icon-btn{color:#1a4fa8}
.rota2-app .sheet-head .searchline .icon-btn.on{color:var(--blue)}
.rota2-app .sheet-head .search-placeholder{color:#334155}
.rota2-app .sheet-head .route-actions button{background:rgba(212,160,23,.30);border-color:#e3b230;color:#fff;font-weight:600}
.rota2-app .sheet-head .route-actions button:active:not(:disabled){background-color:rgba(212,160,23,.42)}
.rota2-app .sheet-head .route-actions svg{color:#ffd75e}
.rota2-app .sheet-head .summary{color:#fff}
.rota2-app .r2-foot .secondary{border:1.5px solid var(--navy);color:var(--navy)}
.rota2-app .r2-foot .secondary svg{color:var(--navy)}
/* ── Seguir no app (25/10): mapa em tela cheia + cartão de manobra + cartão da parada ── */
.rota2-app .route-menu .menu-nav .r2-nav-seguir{grid-column:1/-1}
.rota2-app.r2-seguindo .route-sheet,.rota2-app.r2-seguindo .topbar,.rota2-app.r2-seguindo .map-actions,.rota2-app.r2-seguindo .map-legend{display:none}
.rota2-app.r2-seguindo .toast{bottom:calc(150px + env(safe-area-inset-bottom))!important}
.rota2-app .r2-seg{position:absolute;inset:0;z-index:5;pointer-events:none}
.rota2-app .r2-seg[hidden]{display:none}
.rota2-app .r2-seg>*{pointer-events:auto}
.rota2-app .r2-seg-man{position:absolute;top:max(12px,env(safe-area-inset-top));right:12px;max-width:calc(100% - 84px);min-width:220px;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 12px;border-radius:8px;background:var(--navy);color:#fff;box-shadow:0 6px 20px rgba(15,23,42,.28)}
.rota2-app .r2-seg-seta{width:52px;height:52px;flex:none;display:grid;place-items:center;color:#fff}
.rota2-app .r2-seg-seta svg{width:48px;height:48px}
.rota2-app .r2-seg-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rota2-app .r2-seg-txt b{font-size:24px;font-weight:700;line-height:1.05;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.rota2-app .r2-seg-txt span{font-size:14px;font-weight:500;color:#dbe4f3}
.rota2-app .r2-seg-mudo{width:40px;height:40px;flex:none;align-self:flex-start;padding:0;border:0;border-radius:6px;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center}
.rota2-app .r2-seg-mudo svg{width:20px;height:20px}
.rota2-app .r2-seg-mudo .r2-seg-x,.rota2-app .r2-seg-mudo.mudo .r2-seg-onda{display:none}
.rota2-app .r2-seg-mudo.mudo .r2-seg-x{display:inline}
.rota2-app .r2-seg-fora{position:absolute;top:calc(max(12px,env(safe-area-inset-top)) + 92px);right:12px;padding:6px 10px;border-radius:6px;background:#fff;color:var(--amber);border:1px solid #f0c27a;font-size:13px;font-weight:600;box-shadow:0 1px 4px rgba(15,23,42,.14)}
.rota2-app .r2-seg-fora[hidden],.rota2-app .r2-seg-centro[hidden]{display:none}
.rota2-app .r2-seg-ferr{position:absolute;left:12px;top:max(12px,env(safe-area-inset-top));display:grid;gap:8px}
.rota2-app .r2-seg-ferr button{width:44px;height:44px;padding:0;border:0;border-radius:6px;background:#fff;color:var(--navy);display:grid;place-items:center;box-shadow:0 1px 4px rgba(15,23,42,.18)}
.rota2-app .r2-seg-ferr button svg{width:26px;height:26px;transform-origin:50% 50%}
/* 27/10 (dono): inclinação = 3 botões fixos empilhados sob a bússola; o escolhido em navy cheio. */
.rota2-app .r2-seg-pitch{display:grid;gap:4px}
.rota2-app .r2-seg-ferr button[data-seg-pv]{font-family:Montserrat,sans-serif;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}
/* Pressionado = Norte para cima travado: borda navy; a agulha segue vermelha. */
.rota2-app .r2-seg-ferr button[aria-pressed="true"]{box-shadow:inset 0 0 0 3px var(--navy),0 1px 4px rgba(15,23,42,.18)}
/* Norte travado (27/10, dono): botão navy cheio com "N" em cima da agulha; solto = sem o N. */
.rota2-app .r2-seg-ferr button[data-seg-norte]{position:relative}
.rota2-app .r2-seg-n{display:none;position:absolute;left:0;right:0;top:3px;font:800 11px/1 Montserrat,sans-serif;color:#fff;text-align:center}
.rota2-app .r2-seg-ferr button[data-seg-norte][aria-pressed="true"]{background:var(--navy)}
.rota2-app .r2-seg-ferr button[data-seg-norte][aria-pressed="true"] .r2-seg-n{display:block}
.rota2-app .r2-seg-ferr button[data-seg-norte][aria-pressed="true"] svg{width:22px;height:22px;margin-top:9px}
.rota2-app .r2-seg-ferr button[data-seg-pv][aria-pressed="true"]{background:var(--navy);color:#fff}
.rota2-app .r2-seg-centro{position:absolute;left:50%;bottom:calc(140px + env(safe-area-inset-bottom));transform:translateX(-50%);height:40px;padding:0 16px;border:0;border-radius:6px;background:#fff;color:var(--navy);font-size:14px;font-weight:600;box-shadow:0 2px 10px rgba(15,23,42,.22)}
.rota2-app .r2-seg-card{position:absolute;left:0;right:0;bottom:0;padding:12px 12px calc(12px + env(safe-area-inset-bottom));background:#fff;border-radius:12px 12px 0 0;box-shadow:0 -2px 18px rgba(15,23,42,.14)}
.rota2-app .r2-seg-alvo{display:flex;align-items:center;gap:10px;min-width:0}
.rota2-app .r2-seg-alvo>span:first-child{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:4px;background:var(--navy);color:#fff;font-size:14px;font-weight:600}
.rota2-app .r2-seg-quem{flex:1;min-width:0;display:flex;flex-direction:column}
.rota2-app .r2-seg-quem strong,.rota2-app .r2-seg-quem small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rota2-app .r2-seg-quem strong{color:var(--navy);font-size:15px;font-weight:600}
.rota2-app .r2-seg-quem small{color:var(--muted);font-size:13px}
.rota2-app .r2-seg-alvo>b{flex:none;color:var(--blue);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.rota2-app .r2-seg-acoes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:10px}
.rota2-app .r2-seg-acoes button{height:44px;border:1px solid var(--line2);border-radius:8px;background:#fff;color:var(--navy);font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:6px}
.rota2-app .r2-seg-acoes svg{width:16px;height:16px}
.rota2-app .r2-seg-acoes .r2-seg-feita{border-color:var(--green);background:var(--green);color:#fff}
.rota2-app .r2-seg-acoes .r2-seg-falhou{border-color:var(--red);color:var(--red)}
/* Carro cresce com o zoom na mesma escala dos pinos (--r2-esc, 27/10): 68 px x escala (~78 px no zoom 16,5), entre 44 e 104 px (dono 27/10: +50%).
   A raiz do Marker fica 34 px (o Mapbox a posiciona e gira); só o desenho e o halo, centrados, mudam de tamanho. */
.rota2-app .r2-carro{--r2-carro:clamp(44px,calc(68px * var(--r2-esc,1)),104px);width:34px;height:34px;pointer-events:none}
.rota2-app .r2-carro svg{width:var(--r2-carro);height:var(--r2-carro);display:block;filter:drop-shadow(0 2px 3px rgba(15,23,42,.28))}
/* Halo azul pulsando em volta do carro (25/10); movimento reduzido = halo parado. */
.rota2-app .r2-carro-halo{position:absolute;left:50%;top:50%;--r2-halo:calc(var(--r2-carro) * .8);width:var(--r2-halo);height:var(--r2-halo);margin:calc(var(--r2-halo) / -2) 0 0 calc(var(--r2-halo) / -2);border-radius:50%;background:#1a73e8;opacity:.28;transform:scale(1.3);pointer-events:none;animation:r2CarroHalo 1.6s ease-out infinite}
.rota2-app .r2-carro svg{position:absolute;left:50%;top:50%;margin:calc(var(--r2-carro) / -2) 0 0 calc(var(--r2-carro) / -2)}
@keyframes r2CarroHalo{0%{transform:scale(1);opacity:.45}100%{transform:scale(1.8);opacity:0}}
@media (prefers-reduced-motion:reduce){.rota2-app .r2-carro-halo{animation:none;transform:scale(1.3);opacity:.28}}
/* Seguir: sem o pontinho azul de localização (o carro já mostra onde está). */
.rota2-app.r2-seguindo .location-dot{visibility:hidden}
/* Cabeçalho compacto (25/10, modelo aprovado cabecalho-1-linha): título e resumo numa linha, 3 botões numa linha. */
.rota2-app .sheet-head .menu-btn{width:44px;height:44px}
.rota2-app .sheet-head .menu-btn svg{width:28px;height:28px}
.rota2-app .route-title.r2-tit-linha{height:auto;margin:10px 0 8px;padding:0;display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.rota2-app .r2-tit-linha h1{flex:none;font-size:17px;line-height:22px;font-weight:800;letter-spacing:-.01em}
.rota2-app .r2-tit-linha .summary{flex:0 1 auto;min-width:0;margin:0;text-align:right;font-size:12.5px;font-weight:600;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rota2-app .sheet-head .r2-tit-linha .summary,.rota2-app .sheet-head .r2-tit-linha .summary strong{color:#dfe9ff;font-weight:600}
.rota2-app .sheet-head .r2-tit-linha .summary-done{color:#c9f2d6}
.rota2-app .sheet-head .route-actions{margin:0 0 2px;gap:8px}
.rota2-app .sheet-head .route-actions button{flex:1 1 auto;height:38px;padding:0 8px;justify-content:center;gap:5px;font-size:13px}
.rota2-app .sheet-head .route-actions button[hidden]{display:none}
.rota2-app .sheet-head .route-actions svg{width:16px;height:16px;flex:none}
.rota2-app .sheet-head .route-actions .r2-cancelar-rota{border-color:#ff8a80;background:rgba(198,40,40,.35);color:#fff}
.rota2-app .sheet-head .route-actions .r2-cancelar-rota svg{color:#fff}
.rota2-app .sheet-head .route-actions .r2-cancelar-rota:active:not(:disabled){background-color:rgba(198,40,40,.55)}
/* Alça com setinhas + dica de arrastar (só nas 3 primeiras aberturas). */
.rota2-app .route-sheet .sheet-drag{display:flex;align-items:center;justify-content:center;gap:6px}
.rota2-app .route-sheet .sheet-drag .r2-alca-seta{width:16px;height:16px;color:rgba(255,255,255,.7);flex:none}
.rota2-app .r2-dica-arrastar{position:absolute;right:12px;top:0;z-index:3;padding:6px 10px;border-radius:6px;background:rgba(20,33,61,.88);color:#fff;font-size:12px;font-weight:600;pointer-events:none;will-change:transform}
.rota2-app .r2-dica-arrastar[hidden]{display:none}
.rota2-app.r2-seguindo .r2-dica-arrastar{display:none}
/* Desenhar no mapa (25/10, estilo Spoke): laço por cima do mapa + barra no topo + painel de ações em lote. */
.rota2-app .r2-laco{position:absolute;z-index:4;inset:0;touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none}
.rota2-app .r2-laco svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.rota2-app .r2-laco-traco{fill:rgba(26,115,232,.12);stroke:rgba(26,115,232,.75);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.rota2-app .r2-laco-barra{position:absolute;z-index:9;top:max(14px,env(safe-area-inset-top));left:16px;right:16px;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 4px 4px 14px;border-radius:8px;background:var(--navy);color:#fff;font-size:14px;font-weight:600;box-shadow:0 4px 14px rgba(15,23,42,.2)}
.rota2-app .r2-laco-barra[hidden],.rota2-app .r2-laco-painel[hidden]{display:none}
.rota2-app .r2-laco-barra button{flex:none;height:40px;padding:0 14px;border:1px solid rgba(255,255,255,.5);border-radius:6px;background:transparent;color:#fff;font-size:14px;font-weight:600}
.rota2-app.r2-desenhando .topbar,.rota2-app.r2-desenhando .map-actions{visibility:hidden}
.rota2-app .balloon.laco-sel>span{box-shadow:0 0 0 3px #fff,0 0 0 6px #1a73e8,0 1px 4px rgba(15,23,42,.18)}
.rota2-app .r2-laco-painel{position:absolute;z-index:9;left:0;right:0;bottom:0;padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -4px 20px rgba(15,23,42,.16)}
.rota2-app .r2-laco-painel h2{margin:0 0 10px;color:var(--navy);font-size:16px;font-weight:700}
.rota2-app .r2-laco-acoes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.rota2-app .r2-laco-painel button{min-height:44px;border:1px solid var(--line2);border-radius:8px;background:#fff;color:var(--navy);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 6px}
.rota2-app .r2-laco-acoes svg{width:16px;height:16px;flex:none}
.rota2-app .r2-laco-painel .r2-laco-tirar{border-color:var(--red);color:var(--red)}
.rota2-app .r2-laco-tempo{display:flex;align-items:center;gap:6px;margin-top:10px}
.rota2-app .r2-laco-tempo span{flex:none;margin-right:2px;color:var(--muted);font-size:13px;font-weight:600}
.rota2-app .r2-laco-tempo button{flex:1;min-width:0}
.rota2-app .r2-laco-rodape{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
/* ── Pacote topo + rodapé (25/10, aprovado pelo dono: legenda-linha opção 1, etiqueta arrastável, Negativa) ── */
.rota2-app .topbar{right:auto;height:44px;display:flex;align-items:center}
.rota2-app .r2-g1{height:44px;padding:0 16px 0 10px;border:0;border-radius:999px;background:#fff;color:var(--navy);font-size:15px;font-weight:700;display:flex;align-items:center;gap:6px;box-shadow:0 2px 6px rgba(15,23,42,.18),0 1px 2px rgba(15,23,42,.12)}
.rota2-app .r2-g1 svg{width:20px;height:20px}
.rota2-app .map-legend.r2-leg-linha{top:max(14px,env(safe-area-inset-top));right:16px;left:auto;height:44px;flex-direction:row;align-items:center;gap:9px;padding:0;border-radius:0;background:none;box-shadow:none;transform:none!important;font-size:11px;font-weight:700;color:#14213d;text-shadow:0 0 2px #fff,0 0 2px #fff,0 0 3px #fff,0 0 4px #fff}
.rota2-app .map-legend.r2-leg-linha span{gap:4px}
.rota2-app .map-legend.r2-leg-linha i{width:10px;height:10px;border-radius:2px;box-shadow:0 0 0 1.5px #fff}
.rota2-app .r2-leg-urg{background:#D62828}
.rota2-app .r2-leg-aud{background:#ECB22E}
.rota2-app .r2-leg-out{background:#fff;outline:1.5px solid #14213d;outline-offset:-1.5px}
.rota2-app .map-actions{top:calc(max(14px,env(safe-area-inset-top)) + 58px)}
/* Etiqueta "Próxima parada": canto direito, logo acima da folha (o JS a move com a folha). */
.rota2-app .r2-prox{position:absolute;z-index:3;top:0;right:10px;max-width:calc(100% - 96px);padding:5px 6px 6px;border:1px solid rgba(20,33,61,.10);border-radius:10px;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 10px rgba(15,23,42,.16);touch-action:none;will-change:transform;-webkit-user-select:none;user-select:none}
.rota2-app .r2-prox>small{display:block;text-align:center;color:#1a4fa8;font-size:8.5px;font-weight:700;letter-spacing:.08em;line-height:1.2}
.rota2-app .r2-prox-linha{display:flex;align-items:center;gap:6px;min-width:0;transition:transform 160ms ease-out}
.rota2-app .r2-prox-linha button{flex:none;width:28px;height:32px;padding:0;border:0;background:none;color:#64748b;display:grid;place-items:center}
.rota2-app .r2-prox-linha button:disabled{opacity:.3}
.rota2-app .r2-prox-linha button svg{width:16px;height:16px}
.rota2-app .r2-prox-num{flex:none;min-width:24px;height:24px;padding:0 4px;border:1.5px solid #14213d;border-radius:5px;background:#fff;color:#14213d;font-size:13px;font-weight:700;display:inline-grid;place-items:center}
.rota2-app .r2-prox-num.urg{background:#D62828;border-color:#9B1C1C;color:#fff}
.rota2-app .r2-prox-num.aud{background:#ECB22E;border-color:#B8860B;color:#14213d}
.rota2-app .r2-prox-linha strong{min-width:0;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#14213d;font-size:14px;font-weight:700}
.rota2-app .r2-prox-linha b{flex:none;color:#1a4fa8;font-size:14px;font-weight:700}
.rota2-app .r2-prox.r2-prox-outra{border-color:#1a4fa8}
.rota2-app.r2-seguindo .r2-prox,.rota2-app.r2-desenhando .r2-prox{display:none}
/* Pino da próxima: cor da categoria, ~1.15× com brilho pulsando suave (reduced-motion = parado). */
.rota2-app .balloon.current:not(.selected)>span{width:26px;height:26px;border-color:var(--navy);background:#fff;color:var(--navy);font-size:13px;transform:scale(calc(var(--r2-esc,1) * 1.15));box-shadow:0 0 0 3px rgba(26,115,232,.35),0 1px 4px rgba(15,23,42,.18);animation:r2ProxBrilho 2s ease-in-out infinite}
.rota2-app .balloon.current:not(.selected)>span::after{border-color:var(--navy)}
.rota2-app .balloon.current.urg:not(.selected)>span{background:#D62828;border-color:#9B1C1C;color:#fff}
.rota2-app .balloon.current.urg:not(.selected)>span::after{border-color:#9B1C1C}
.rota2-app .balloon.current.aud:not(.selected)>span{background:#ECB22E;border-color:#B8860B;color:#14213d}
.rota2-app .balloon.current.aud:not(.selected)>span::after{border-color:#B8860B}
.rota2-app .balloon.r2-ver>span{transform:scale(calc(var(--r2-esc,1) * 1.25));box-shadow:0 0 0 3px #fff,0 0 0 6px #1a73e8,0 1px 4px rgba(15,23,42,.18);animation:none}
.rota2-app .balloon.current,.rota2-app .balloon.r2-ver{z-index:2}
@keyframes r2ProxBrilho{0%,100%{box-shadow:0 0 0 3px rgba(26,115,232,.35),0 1px 4px rgba(15,23,42,.18)}50%{box-shadow:0 0 0 8px rgba(26,115,232,.12),0 1px 4px rgba(15,23,42,.18)}}
.rota2-app .stop-wrap .stop-row.r2-ver-row{background:#e8f0fd;box-shadow:inset 3px 0 0 #1a73e8}
/* Rodapé: PRÓXIMA · N com Feita / Negativa + Iniciar/Continuar rota. */
.rota2-app .r2-foot{align-items:stretch}
.rota2-app .r2-pa{flex:none;display:grid;gap:3px;padding:3px 5px 5px;border:1px solid var(--line);border-radius:8px;background:#fff}
.rota2-app .r2-pa small{text-align:center;color:#475569;font-size:10px;font-weight:700;letter-spacing:.06em}
.rota2-app .r2-pa>div{display:flex;gap:5px}
.rota2-app .r2-pa button{height:36px;padding:0 10px;border:0;border-radius:6px;color:#fff;font-size:14px;font-weight:700}
.rota2-app .r2-pa .r2-pa-feita{background:var(--green)}
.rota2-app .r2-pa .r2-pa-naodeu{background:var(--red)}
.rota2-app .r2-pa:not([hidden])~.primary{height:auto}
/* Gaveta "Negativa · o que aconteceu". */
.rota2-app .r2-nd h2{display:flex;align-items:center;gap:8px}
.rota2-app .r2-nd .r2-prox-num{min-width:28px;height:28px;font-size:15px}
.rota2-app .r2-nd-quem{margin:0 0 6px;color:var(--text2);font-size:13px}
.rota2-app .r2-nd-op{width:100%;min-height:52px;margin:8px 0 0;padding:10px 14px;border:1px solid var(--line2);border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;color:inherit}
.rota2-app .r2-nd-op strong{display:grid;color:var(--navy);font-size:15px;font-weight:700}
.rota2-app .r2-nd-op small{color:var(--muted);font-size:12px;font-weight:500}
.rota2-app .r2-nd-op em{flex:none;padding:2px 6px;border:1px solid #d4a017;border-radius:4px;background:#fff7e0;color:#8a5a00;font-size:11px;font-style:normal;font-weight:700}
.rota2-app .r2-nd-op.r2-nd-hc{border-color:#c0262d}
.rota2-app .r2-nd-livre{display:grid;gap:8px;margin-top:8px}
.rota2-app .r2-nd-livre textarea{width:100%;padding:10px;border:1px solid var(--line2);border-radius:8px;font:inherit;font-size:16px;resize:vertical}
.rota2-app .r2-nd-livre .primary{height:46px}
.rota2-app .r2-nd-pular{width:100%;min-height:52px;margin-top:6px;padding:0 16px;border:0;border-radius:8px;background:var(--navy);color:#fff;font-family:inherit;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px}
.rota2-app .r2-nd-pular svg{width:20px;height:20px}
.rota2-app .r2-prox:not([hidden])~.r2-dica-arrastar{right:auto;left:12px}
/* Feita → Certificar (25/10): painel, selo e botão de quem falta certificar. */
.rota2-app .r2-fc .r2-fc-agora{width:100%;height:48px;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px}
.rota2-app .r2-fc .r2-fc-agora svg{width:18px;height:18px}
.rota2-app .r2-fc .r2-nav-cancelar{margin-top:4px}
.rota2-app .mark.r2-falta-cert{margin-left:6px;padding:1px 6px;border-radius:4px;background:#fff7e0;border:1px solid #d4a017;color:#8a5a00}
.rota2-app .stop-row.r2-certrow{grid-template-columns:28px minmax(0,1fr) auto auto}
.rota2-app .r2-cert-btn{min-height:36px;padding:0 10px;border:1px solid var(--navy);border-radius:6px;background:#fff;color:var(--navy);font-size:13px;font-weight:700}
.rota2-app .r2f-falta-cert{background:#fff7e0;color:#8a5a00;border:1px solid #d4a017}
.rota2-app .r2-a-cert{color:#ECB22E;font-weight:600}
/* Reordenar fluido (25/10): a linha inteira segue o dedo sem os fundos do deslizar; as outras deslizam. */
.rota2-app .stop-list.r2-arrastando .stop-wrap{transition:transform 160ms ease-out;will-change:transform}
.rota2-app .stop-list.r2-arrastando .stop-wrap.reordering{transition:none;z-index:5}
.rota2-app .stop-list.r2-arrastando .stop-wrap.reordering.r2-encaixando{transition:transform 160ms ease-out}
.rota2-app .stop-wrap.reordering .stop-action{display:none}
.rota2-app .stop-wrap.reordering .stop-row.dragging{transform:none}
@media (prefers-reduced-motion:reduce){.rota2-app .stop-list.r2-arrastando .stop-wrap{transition:none}}
/* "Cancelar rota" inteiro na linha dos 3 botões (25/10): gap/padding/fonte/ícone levemente menores. */
.rota2-app .sheet-head .route-actions{gap:6px}
.rota2-app .sheet-head .route-actions button{padding:0 6px;gap:4px;font-size:12.5px}
.rota2-app .sheet-head .route-actions svg{width:15px;height:15px}
.rota2-app .sheet-head .route-actions .r2-cancelar-rota{flex:0 0 auto}
/* Estado vazio (25/10): "Puxar mandados" com brilho e "Início e fim" verde-claro. */
.rota2-app .r2-montar-vazio .primary{position:relative;overflow:hidden;background:linear-gradient(180deg,#4a7fd3 0%,var(--blue) 55%);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 4px 12px rgba(42,91,171,.28)}
.rota2-app .r2-montar-vazio .primary::after{content:"";position:absolute;top:0;left:0;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);transform:translateX(-100%) skewX(-18deg);opacity:.9;animation:r2Shimmer 3s ease-in-out infinite;pointer-events:none}
.rota2-app .r2-montar-vazio [data-acao="inicio-fim"]{background:#e7f6ec;border:1.5px solid #2e9e5b;border-radius:8px;color:#1e7d43;font-weight:700}
.rota2-app .r2-montar-vazio [data-acao="inicio-fim"] svg{color:#1e7d43}
.rota2-app .r2-montar-vazio [data-acao="inicio-fim"]:active:not(:disabled){background-color:#d3efdc}
@media(prefers-reduced-motion:reduce){.rota2-app .r2-montar-vazio .primary::after{animation:none!important;display:none}}
/* 26/10 testador/dono: Seguir no app em destaque na folha; Voltar para a rota ocupa 2 colunas */
.rota2-app .r2-nav-op.r2-nav-dest{background:var(--navy);border-color:var(--navy)}
.rota2-app .r2-nav-op.r2-nav-dest strong,.rota2-app .r2-nav-op.r2-nav-dest span,.rota2-app .r2-nav-op.r2-nav-dest em{color:#fff}
.rota2-app .r2f-grid .r2f-voltar{grid-column:span 2}
/* Audiências N dias (dono 27/10): gaveta pequena sobre a tela Adicionar mandados; cantos retos. */
.rota2-app .dim.r2-aud-dim{z-index:9}
.rota2-app .r2-painel.r2-aud-on{z-index:10;border-radius:0;font-family:Montserrat,sans-serif}
.rota2-app .r2-aud-on .r2-nav-op{border-radius:0}
.rota2-app .r2-aud-pers{display:grid;gap:10px;margin:10px 0 0}
.rota2-app .r2-aud-pers label{display:grid;gap:6px;color:var(--navy);font-size:13px;font-weight:600}
.rota2-app .r2-aud-pers input{height:44px;padding:0 12px;border:1px solid var(--line2);border-radius:0;font:600 16px Montserrat,sans-serif;color:var(--navy)}
.rota2-app .r2-aud-pers .primary{border-radius:0}
.rota2-app .r2-aud-pers[hidden]{display:none}
/* Como navegar redesenhado (dono 27/10): só o nome, ícone 36 px, › à direita; Seguir em azul claro com brilho; Cancelar grande. */
.rota2-app .r2-nav-folha .r2-nav-op{display:flex;align-items:center;gap:12px;min-height:58px;padding:10px 12px;border:1px solid var(--line2);border-radius:6px;background:#fff;overflow:hidden}
.rota2-app .r2-nav-folha .r2-nav-ico{flex:0 0 36px;width:36px;height:36px;display:block}
.rota2-app .r2-nav-folha .r2-nav-ico svg{display:block}
.rota2-app .r2-nav-folha .r2-nav-op strong{flex:1 1 auto;color:#13213f;font-size:15px;font-weight:700}
.rota2-app .r2-nav-folha .r2-nav-op em{position:static;flex:0 0 auto;padding:2px 6px;border:1px solid #c5cfdf;border-radius:3px;background:#f4f6fa;color:#4a5874;font-size:10.5px;font-style:normal;font-weight:700;letter-spacing:.02em}
.rota2-app .r2-nav-folha .r2-nav-chev{flex:0 0 20px;color:#8a94a6}
.rota2-app .r2-nav-folha .r2-nav-op.on{border-color:#13213f;box-shadow:inset 0 0 0 1px #13213f}
.rota2-app .r2-nav-folha .r2-nav-op.r2-nav-dest{position:relative;background:#e8f0fe;border-color:#c6d6f5}
.rota2-app .r2-nav-folha .r2-nav-op.r2-nav-dest.on{border-color:#1a56c4;box-shadow:inset 0 0 0 1px #1a56c4}
.rota2-app .r2-nav-folha .r2-nav-op.r2-nav-dest strong{color:#13213f}
.rota2-app .r2-nav-folha .r2-nav-op.r2-nav-dest em{color:#1a56c4;border-color:#a9c1ee;background:#fff}
.rota2-app .r2-nav-folha .r2-nav-op.r2-nav-dest::after{content:"";position:absolute;top:0;left:0;width:38%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);transform:translateX(-120%) skewX(-20deg);animation:r2NavBrilho 4.5s ease-in-out 1s infinite;pointer-events:none}
@keyframes r2NavBrilho{0%{transform:translateX(-120%) skewX(-20deg)}35%{transform:translateX(320%) skewX(-20deg)}100%{transform:translateX(320%) skewX(-20deg)}}
@media(prefers-reduced-motion:reduce){.rota2-app .r2-nav-folha .r2-nav-op.r2-nav-dest::after{animation:none!important;display:none}}
.rota2-app .r2-nav-folha .r2-nav-cancelar{min-height:48px;margin-top:6px;border:1.5px solid #13213f;border-radius:6px;background:#fff;color:#13213f;font-size:15px;font-weight:700}
