/* Travel surfaces share the original PartiuPonto palette. */
.panel-icon{display:block;flex-shrink:0;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.reading-modal-open{overflow:hidden}
.reading-dialog{--reading-ink:#102d3f;--reading-muted:#587080;--reading-line:#dce5e9;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid #fff;border-radius:28px;background:#fffef9;color:var(--reading-ink);box-shadow:0 30px 100px #08294040;overflow:hidden}
.reading-dialog[open]{display:flex;flex-direction:column;animation:reading-dialog-in .2s ease-out}
.reading-dialog::backdrop{background:#0c243d70;backdrop-filter:blur(6px)}
.reading-dialog .ui-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.reading-dialog-header{position:relative;display:flex;align-items:flex-start;gap:14px;flex-shrink:0;padding:28px 64px 23px 28px;background:linear-gradient(125deg,#edf5f6,#fffef9 80%);border-bottom:1px solid var(--reading-line)}
.reading-dialog-icon{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:15px;background:var(--navy);color:#fff;box-shadow:0 7px 18px #0847a61f}
.reading-eyebrow{display:block;margin-bottom:7px;color:#08745e;font-size:9px;font-weight:800;letter-spacing:.13em}
.reading-dialog h2{margin:0;font:700 27px/1.1 "Bricolage Grotesque",sans-serif;letter-spacing:-.035em}
.reading-dialog-header p{margin:9px 0 0;font-size:12px;line-height:1.5;color:var(--reading-muted)}
#close-reading-options{position:absolute;top:16px;right:14px;display:grid;place-items:center;width:44px;height:44px;border:1px solid transparent;border-radius:13px;background:transparent;color:var(--reading-muted)}
#close-reading-options:hover{border-color:var(--reading-line);background:#fff}
.reading-dialog-body{min-height:0;padding:23px 28px 8px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.reading-theme-options{min-width:0;margin:0;padding:0;border:0}
.reading-theme-options legend{padding:0;font-size:14px;font-weight:700}
.reading-theme-options legend>span{display:block;margin:5px 0 14px;color:var(--reading-muted);font-size:11px;font-weight:400}
.reading-theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.reading-theme-card{position:relative;min-width:0;cursor:pointer}
.reading-theme-card input{position:absolute;z-index:1;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.reading-theme-card>span{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:103px;height:100%;padding:13px 12px;border:1.5px solid var(--reading-line);border-radius:15px;background:#fff;color:var(--reading-muted)}
.reading-theme-card .ui-icon{margin-bottom:4px}
.reading-theme-card strong{font-size:13px;color:var(--reading-ink)}
.reading-theme-card small{font-size:10px;line-height:1.35}
.reading-theme-card input:checked+span{border-color:var(--navy);background:#edf4ff;color:var(--navy);box-shadow:inset 0 0 0 .5px var(--navy)}
.reading-theme-card input:checked+span:after{content:"";position:absolute;right:12px;top:15px;width:8px;height:8px;border:2px solid #fff;border-radius:50%;background:var(--navy);box-shadow:0 0 0 1px var(--navy)}
.reading-theme-card input:focus-visible+span,.reading-toggle input:focus-visible+i{outline:3px solid #079c8b;outline-offset:3px}
.reading-preview{--preview-paper:#f0f5f5;--preview-ink:#102d3f;--preview-muted:#526d7c;margin:18px 0 6px;padding:14px 16px;border:1px solid #d5e2e7;border-radius:16px;background:var(--preview-paper);color:var(--preview-ink);transition:background .18s,color .18s}
.reading-preview[data-theme=dark]{--preview-paper:#112630;--preview-ink:#edf6f6;--preview-muted:#b4c9d3;border-color:#344b57}
.reading-preview>span{display:block;margin-bottom:11px;font-size:8px;font-weight:700;letter-spacing:.12em;color:var(--preview-muted)}
.reading-preview>div{display:flex;align-items:center;gap:12px}
.reading-preview i{display:grid;place-items:center;flex:0 0 37px;height:37px;border:1px solid currentColor;border-radius:12px;color:#08745e}
.reading-preview[data-theme=dark] i{color:#88d9bd}
.reading-preview p{margin:0;min-width:0}
.reading-preview strong,.reading-preview small{display:block}
.reading-preview strong{font:700 17px/1.3 "Bricolage Grotesque",sans-serif}
.reading-preview small{margin-top:4px;font-size:11px;line-height:1.4;color:var(--preview-muted)}
.reading-preview.preview-large strong{font-size:21px}.reading-preview.preview-large small{font-size:14px}
.reading-preview.preview-contrast{--preview-muted:var(--preview-ink);border:2px solid var(--preview-ink)}
.reading-toggles{margin-top:6px}
.reading-toggle{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:20px;min-height:75px;padding:15px 0;border-bottom:1px solid var(--reading-line);cursor:pointer}
.reading-toggle:last-child{border-bottom:0}
.reading-toggle strong,.reading-toggle small{display:block}
.reading-toggle strong{font-size:14px;line-height:1.3}
.reading-toggle small{margin-top:5px;color:var(--reading-muted);font-size:11px;line-height:1.5}
.reading-toggle input{position:absolute;z-index:1;right:0;top:50%;width:44px;height:28px;margin:0;transform:translateY(-50%);opacity:0;cursor:pointer}
.reading-toggle>i{position:relative;display:block;width:44px;height:27px;border:1px solid #adbdc6;border-radius:999px;background:#dce5e9;transition:background .18s}
.reading-toggle>i:before{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #102d3f25;transition:transform .18s}
.reading-toggle input:checked+i{background:var(--navy);border-color:var(--navy)}
.reading-toggle input:checked+i:before{transform:translateX(17px)}
.reading-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-shrink:0;padding:18px 28px;border-top:1px solid var(--reading-line);background:#fffef9}
.reading-dialog-footer p{max-width:265px;margin:0;color:var(--reading-muted);font-size:11px;line-height:1.5}
.reading-dialog-footer>button{min-width:115px;min-height:46px;padding:10px 20px;border:0;border-radius:13px;background:var(--navy);color:#fff;font-size:13px;font-weight:700}
.reading-dialog button:focus-visible{outline:3px solid #079c8b;outline-offset:3px}
@keyframes reading-dialog-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.reading-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:24px}.reading-dialog-header{padding:22px 53px 20px 20px;gap:10px}.reading-dialog-icon{flex-basis:37px;height:37px;border-radius:12px}.reading-dialog h2{font-size:25px}.reading-dialog-header p{font-size:11px}.reading-dialog-body{padding:20px 20px 7px}.reading-dialog-footer{padding:16px 20px max(16px,env(safe-area-inset-bottom));gap:12px}.reading-dialog-footer p{font-size:10px}.reading-dialog-footer>button{min-width:105px;min-height:48px}.reading-theme-grid{gap:7px}.reading-theme-card>span{padding:12px 8px}.reading-theme-card strong{font-size:12px}.reading-theme-card small{font-size:9px}.reading-theme-card input:checked+span:after{right:9px}.reading-toggle{gap:14px;min-height:74px}.reading-toggle small{font-size:11px}.reading-preview{padding:13px}.reading-preview.preview-large strong{font-size:20px}}
@media(max-height:650px){.reading-dialog-header{padding-top:16px;padding-bottom:16px}.reading-dialog-header p{display:none}.reading-dialog-body{padding-top:16px}.reading-dialog-footer{padding-top:12px;padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){.reading-dialog[open],.reading-preview,.reading-toggle>i,.reading-toggle>i:before{animation:none;transition:none}}
.travel-active .map-pin.home,.travel-active .map-pin.work,.travel-active .map-pin.destination{display:none}.travel-active .map-pin.user:after{display:block;width:auto;height:auto;border:0;bottom:auto;z-index:1}
.night-reading .travel-inline-action,.night-reading .travel-board-prompt button{color:#8dbbff}
.travel-compact-summary{display:none;margin:8px 0 0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.travel-sheet[data-stage=compact] .travel-compact-summary{display:block}
.travel-sheet[data-stage=expanded] #travel-next-stops{display:block}.travel-sheet[data-stage=expanded]:has(.travel-timeline-details[open]) #travel-next-stops{display:none}
:root{--travel-paper:#fffef9;--travel-soft:#edf3f5;--travel-ink:#102d3f;--travel-muted:#5e7483;--travel-line:#dce5e9}
.reading-options{max-width:1370px;margin:0 auto 80px;padding:0 24px}.reading-options>button{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 12px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--muted);font-size:12px}.reading-options>button:hover{border-color:var(--line);background:var(--paper);color:var(--navy)}.reading-options .ui-icon{width:18px;height:18px}
.travel-active{overflow:hidden}.travel-active>.topbar,.travel-active>.mobile-nav,.travel-active>.mobile-nav-trigger,.travel-active>.ambient,.travel-active>.reading-options{display:none!important}.travel-active .app-shell{position:fixed;inset:0;z-index:1500;display:block;width:100%;max-width:none;height:100dvh;min-height:0;margin:0;padding:0}.travel-active .control-panel{display:none}.travel-active .map-panel{position:absolute;inset:0;width:100%;height:100%;min-height:0;border:0;border-radius:0}.travel-active #map{height:100%;min-height:100%}.travel-active .map-heading,.travel-active .traffic-button,.travel-active .recenter-button,.travel-active .map-legend{display:none}.travel-active .maplibregl-ctrl-top-right{top:85px}.travel-active .maplibregl-ctrl-bottom-right{bottom:calc(var(--travel-sheet-height,44dvh) + 4px)}
.travel-toolbar{position:fixed;inset:max(12px,env(safe-area-inset-top)) 20px auto;z-index:1800;display:flex;justify-content:space-between;align-items:center;gap:12px;pointer-events:none}.travel-toolbar>span{padding:10px 16px;border-radius:999px;background:var(--travel-paper);color:var(--travel-ink);font-size:12px;font-weight:700;box-shadow:0 4px 24px #102d3f15}.travel-toolbar button{min-height:46px;padding:0 15px;display:flex;align-items:center;gap:8px;border:1px solid var(--travel-line);border-radius:16px;background:var(--travel-paper);color:var(--travel-ink);pointer-events:auto;box-shadow:0 4px 24px #102d3f15;font-size:13px;font-weight:700}
.travel-sheet{position:fixed;z-index:1750;right:20px;bottom:20px;display:flex;flex-direction:column;width:400px;max-height:calc(100dvh - 100px);padding:0 20px 16px;border:1px solid var(--travel-line);border-radius:28px;background:var(--travel-paper);color:var(--travel-ink);box-shadow:0 20px 70px #08294029;overflow:hidden;transition:height .24s ease}.travel-grip{display:flex;align-items:center;justify-content:center;flex:0 0 26px;touch-action:none;cursor:ns-resize}.travel-grip i{width:40px;height:4px;border-radius:5px;background:#bac8d0}.travel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 auto;padding-bottom:13px;border-bottom:1px solid var(--travel-line)}.travel-heading>div{display:flex;align-items:center;gap:9px;min-width:0}.travel-heading b{padding:7px 9px;border-radius:9px;background:var(--navy);color:#fff;white-space:nowrap;font-size:13px}.travel-heading span{font-size:11px;color:var(--travel-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.travel-heading button{flex:0 0 40px;width:40px;height:40px;border:1px solid var(--travel-line);border-radius:12px;background:transparent;color:var(--travel-ink);font-size:20px}.travel-sheet-body{overflow-y:auto;min-height:0;overscroll-behavior:contain;scrollbar-width:thin}.travel-next{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px 0 8px}.travel-next small{display:block;color:var(--teal);font-size:9px;font-weight:800;letter-spacing:.08em}.travel-next h2{margin:5px 0;font:700 21px/1.15 "Bricolage Grotesque",sans-serif;letter-spacing:-.02em;overflow-wrap:anywhere}.travel-estimate{text-align:right;max-width:115px}.travel-estimate strong{display:block;font:700 26px/1.05 "Bricolage Grotesque",sans-serif;color:var(--navy);letter-spacing:-.04em}.travel-estimate span{display:block;margin-top:5px;font-size:10px;color:var(--travel-muted)}.travel-distance{margin:2px 0 7px;font-size:12px;line-height:1.45}.travel-freshness{margin:0 0 12px;display:flex;align-items:center;gap:6px;color:#08745e;font-size:10px}.travel-freshness:before{content:"";flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:currentColor}.travel-freshness.stale{color:#916209}.travel-advice{margin:8px 0 12px;padding:10px 12px;border-radius:12px;background:var(--travel-soft);color:var(--travel-ink);font-size:12px;line-height:1.45}.travel-progress progress{width:100%;height:6px;accent-color:var(--teal);display:block;margin:10px 0 5px}.travel-progress small{font-size:11px;color:var(--travel-muted)}
.travel-stop{position:relative;width:100%;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:56px;padding:8px 6px;border:0;background:transparent;color:var(--travel-ink);text-align:left}.travel-stop:not(:last-child):after{content:"";position:absolute;top:39px;bottom:-14px;left:20px;width:2px;background:var(--travel-line)}.travel-stop i{position:relative;z-index:1;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--travel-line);border-radius:50%;background:var(--travel-paper);color:var(--travel-muted);font-style:normal;font-size:10px}.travel-stop strong{display:block;font-size:12px;line-height:1.3}.travel-stop small{display:block;margin-top:3px;font-size:10px;color:var(--travel-muted)}.travel-stop>span{min-width:0}.travel-stop>b{font-size:10px;color:var(--orange)}.travel-stop.passed{color:var(--travel-muted)}.travel-stop.passed i{background:var(--travel-soft)}.travel-stop.current i{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 0 0 4px #12aaa422}.travel-stop.upcoming strong{color:var(--navy)}.travel-stop.upcoming i{border-color:var(--navy);color:var(--navy)}.travel-stop.alight{border-radius:12px;background:#ff5a3610}.travel-timeline-details summary,.travel-options summary{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:48px;border-top:1px solid var(--travel-line);font-weight:700;font-size:12px;cursor:pointer}.travel-timeline-details summary span{max-width:155px;text-align:right;color:var(--travel-muted);font-weight:400;font-size:10px}.travel-timeline-details[open]+.travel-options{margin-top:8px}.travel-options>button{display:block;min-height:46px;width:100%;padding:9px 0;border:0;background:transparent;color:var(--navy);text-align:left;font-size:12px}.travel-options .travel-end{color:#b04425}.travel-actions{flex:0 0 auto;display:grid;grid-template-columns:1fr 1fr 72px;gap:7px;padding-top:12px;border-top:1px solid var(--travel-line);background:var(--travel-paper)}.travel-actions button{min-height:48px;padding:8px;border:1px solid var(--travel-line);border-radius:13px;background:transparent;color:var(--navy);font-size:12px;font-weight:700}.travel-actions button.primary{background:var(--navy);border-color:var(--navy);color:#fff}.travel-actions button[aria-pressed=true]{background:#12aaa420;color:#08745e;border-color:#12aaa455}.travel-alert-help{font-size:10px;line-height:1.4;color:var(--travel-muted);margin:10px 0 0}.travel-board-prompt{display:flex;align-items:center;gap:10px;padding:12px;background:#12aaa422;border-radius:12px;font-size:12px}.travel-board-prompt button,.travel-inline-action{min-height:44px;border:1px solid var(--travel-line);border-radius:10px;background:var(--travel-paper);color:var(--navy);padding:8px;font-size:12px;font-weight:700}.travel-sheet[data-stage=compact] .travel-sheet-body,.travel-sheet[data-stage=compact] .travel-actions,.travel-sheet[data-stage=compact] .travel-alert-help{display:none}.travel-sheet[data-stage=compact] .travel-heading{border:0;padding-bottom:0}.travel-sheet[data-stage=peek] .travel-next-stops{display:none}.travel-mini{position:fixed;z-index:1750;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(400px,calc(100% - 28px));min-height:62px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;border:1px solid #ffffff50;border-radius:20px;background:var(--navy);color:#fff;box-shadow:0 12px 35px #0847a63d;text-align:left}.travel-mini span{min-width:0}.travel-mini b,.travel-mini small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.travel-mini b{font-size:14px}.travel-mini small{font-size:11px;margin-top:4px;color:#d7e6fb}.travel-mini>strong{white-space:nowrap;font-size:12px}.travel-map-label{padding:5px 9px;border:2px solid #fff;border-radius:8px;background:#0847a6;color:#fff;font-size:11px;font-weight:700;box-shadow:0 3px 10px #102d3f33}.travel-map-label.alight{background:#ca4024}.travel-map-label.board{background:#08745e}
.trip-complete-dialog{width:min(420px,calc(100% - 32px));padding:32px;border:0;border-radius:28px;background:var(--travel-paper);color:var(--travel-ink);text-align:center;box-shadow:var(--shadow)}.trip-complete-dialog::backdrop{background:#102d3f88;backdrop-filter:blur(5px)}.trip-complete-icon{display:grid;place-items:center;width:62px;height:62px;margin:auto;border-radius:50%;background:#12aaa422;color:#08745e;font-size:30px}.trip-complete-dialog h2{font:700 30px "Bricolage Grotesque",sans-serif}.trip-complete-dialog p{font-size:13px;line-height:1.5;color:var(--travel-muted)}.trip-complete-dialog button{min-height:48px;width:100%;border:0;border-radius:13px;background:var(--navy);color:white;font-weight:700}
.map-recovery{display:flex;justify-content:center;gap:8px;margin-top:12px}.map-recovery button{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:11px;background:var(--travel-paper);color:var(--navy);font-size:12px}.map-list-mode .map-panel{display:none}.map-list-mode .app-shell{grid-template-columns:1fr}.map-list-mode .arrival-drawer{z-index:1800}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.itinerary-travel-start{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;margin:8px 0}.itinerary-travel-start strong,.itinerary-travel-start small{display:block}.itinerary-travel-start strong{font-size:13px}.itinerary-travel-start small{font-size:10px;color:var(--muted);margin-top:3px}.itinerary-travel-start button{min-height:46px;padding:10px 14px;border:0;border-radius:13px;background:var(--navy);color:#fff;font-size:12px;font-weight:700}.itinerary-live-status{font-size:11px;color:var(--muted)}.arrival-card-actions .arrival-track-button{min-height:44px;border:0;border-radius:12px;background:var(--navy);color:#fff;font-size:12px;font-weight:700}.arrival-card.next .arrival-track-button{background:var(--orange)}.arrival-card-actions{grid-template-columns:1fr 1fr}.arrival-live-note{font-size:10px}.arrival-drawer .drawer-foot{font-size:10px}
.night-reading{--travel-paper:#112630;--travel-soft:#1b3540;--travel-ink:#ecf4f4;--travel-muted:#b2c4cd;--travel-line:#344b57;--cream:#0d1e27;--paper:#112630;--ink:#ecf4f4;--muted:#b2c4cd;--line:#344b57;background:var(--cream)}.night-reading .control-panel,.night-reading .arrival-drawer{background:#112630}.night-reading .map-panel canvas{filter:brightness(.72) saturate(.65)}.night-reading .travel-estimate strong,.night-reading .travel-stop.upcoming strong,.night-reading .travel-actions button:not(.primary),.night-reading .travel-options>button{color:#8dbbff}.night-reading .nearby-stop-choice,.night-reading .itinerary-stop,.night-reading .itinerary-favorite,.night-reading .stop-line-option,.night-reading .favorite-stops-panel,.night-reading .favorite-stop-row,.night-reading .arrival-card:not(.next){background:#17313d;color:#ecf4f4;border-color:#344b57}.night-reading .arrival-drawer .drawer-head{background:#112630}.night-reading .map-heading,.night-reading .map-legend{background:#112630;color:#ecf4f4}.night-reading .travel-freshness{color:#88d9bd}.night-reading .travel-freshness.stale{color:#eed087}
.large-reading .travel-stop strong,.large-reading .travel-advice,.large-reading .travel-distance,.large-reading .travel-actions button{font-size:16px}.large-reading .travel-stop small,.large-reading .travel-freshness,.large-reading .travel-vehicle{font-size:13px}.large-reading .nearby-stop-choice strong,.large-reading .arrival-card strong,.large-reading .itinerary-stop strong,.large-reading .favorite-stop-row strong{font-size:15px}.strong-contrast{--travel-muted:var(--travel-ink)}.strong-contrast button{border-width:2px}.strong-contrast .travel-sheet{border:2px solid var(--travel-ink)}button:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.reduce-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:900px){.travel-toolbar{left:12px;right:12px}.travel-toolbar>span{font-size:11px}.travel-toolbar button{padding:0 12px;min-height:44px}.travel-sheet{left:0;right:0;bottom:0;width:100%;height:var(--travel-sheet-height,44dvh);min-height:0;max-height:88dvh;padding:0 18px max(12px,env(safe-area-inset-bottom));border-radius:26px 26px 0 0}.travel-sheet[data-stage=compact]{height:104px}.travel-next h2{font-size:22px}.travel-sheet[data-stage=peek] .travel-options,.travel-sheet[data-stage=peek] .travel-timeline-details{display:none}.travel-heading{padding-bottom:8px}.travel-next{padding-top:12px}.travel-estimate strong{font-size:27px}.travel-actions{padding-top:9px}.travel-sheet[data-stage=expanded] .travel-next-stops{display:none}.travel-sheet[data-stage=expanded] .travel-sheet-body{padding-bottom:14px}.travel-active .maplibregl-ctrl-top-right{display:none}.reading-options{padding:0 20px}.travel-active .map-panel{display:block}.travel-active .map-status{top:30%}.travel-mini{bottom:max(14px,env(safe-area-inset-bottom))}.travel-mini:not([hidden])~.toast{bottom:100px}.travel-active .toast{z-index:1900;bottom:calc(var(--travel-sheet-height,44dvh) + 14px)}.travel-active .maplibregl-ctrl-bottom-right{font-size:8px}.itinerary-travel-start{position:sticky;top:70px;background:var(--travel-paper);z-index:3}.itinerary-note{background:transparent;padding:5px 0;color:var(--muted)}.vehicle-itinerary-summary{padding:0;background:transparent;color:var(--ink)}.vehicle-itinerary-summary div{display:none}.vehicle-itinerary-summary button{width:max-content;color:var(--navy);background:transparent;border:0;padding:8px 0;font-size:11px}.itinerary-stop-row .itinerary-stop{border-radius:8px;border-width:0 0 1px;background:transparent}.itinerary-stop-list{gap:0}.itinerary-stop-row{gap:2px}.itinerary-favorite{border:0;border-radius:8px;background:transparent}.itinerary-stop.current{background:var(--orange-soft)}}
@media(max-height:650px) and (max-width:900px){.travel-sheet[data-stage=peek]{height:53dvh}.travel-next h2{font-size:18px}.travel-freshness{font-size:9px}.travel-grip{flex-basis:20px}}
@media(prefers-reduced-motion:reduce){.travel-sheet,.travel-stop,.map-pin.user:before{animation:none!important;transition:none!important}}
.travel-active .map-pin.user:after{content:"Você";position:absolute;top:100%;left:50%;transform:translate(-50%,6px);padding:4px 7px;border-radius:7px;background:var(--navy);color:#fff;font-size:11px;font-weight:700;white-space:nowrap}.travel-estimate .loading{color:var(--travel-muted);animation:live-pulse 1.5s ease-in-out infinite}.travel-active .product-dialog{z-index:2200}.travel-sheet[data-stage=compact] .travel-heading span{white-space:normal}.travel-active .app-shell:before{display:none!important}.night-reading .map-panel{background:#0d1e27}.night-reading .favorite-stops-panel[open]>summary{background:#17313d}.night-reading .itinerary-stop.current{background:#3a2d27}

/* Compact controls keep folding the card distinct from leaving Travel Mode. */
.travel-heading>div{flex:1;flex-direction:column;align-items:flex-start;gap:4px}
.travel-heading #travel-vehicle{display:block;max-width:100%;font-size:10px;line-height:1.4;white-space:nowrap}
.travel-heading .panel-fold{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;width:auto;min-width:98px;min-height:44px;height:44px;padding:0 11px;border:1px solid var(--travel-line);border-radius:999px;background:var(--travel-soft);color:var(--travel-ink);box-shadow:0 1px 2px #08294006;transition:background .18s,border-color .18s}
.travel-heading .panel-fold>span{color:inherit;font-size:11px;font-weight:700;white-space:nowrap}
.panel-fold .panel-icon{width:17px;height:17px;transition:transform .2s ease}
.panel-fold[aria-expanded=false] .panel-icon{transform:rotate(180deg)}
.travel-grip{border-radius:10px;outline-offset:-3px}
.travel-grip i{width:34px;height:4px;background:var(--travel-line);transition:background .18s,width .18s}
.travel-grip:focus-visible i,.travel-grip:hover i{width:42px;background:var(--travel-muted)}
.travel-actions .panel-details{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px;color:var(--travel-muted)}
.panel-details .panel-icon{width:16px;height:16px;transition:transform .2s ease}
.panel-details[aria-expanded=true] .panel-icon{transform:rotate(180deg)}
.panel-details>span{font-size:11px;line-height:1.2}
.travel-toolbar #travel-minimize{border-radius:999px;padding:0 14px;gap:7px;font-size:12px;min-height:44px;box-shadow:0 3px 16px #08294012}
.travel-toolbar #travel-recenter{width:44px;min-height:44px;justify-content:center;padding:0;border-radius:50%}
.travel-mini>strong{display:flex;align-items:center;gap:7px}
.travel-mini>strong .panel-icon{width:16px;height:16px}
.travel-sheet[data-stage=compact]{height:auto;min-height:120px}
.travel-sheet[data-stage=peek] :is(.travel-options,.travel-timeline-details){display:none}
.travel-sheet[data-stage=compact] .travel-compact-summary{padding-top:6px;border-top:1px solid var(--travel-line);margin-top:8px;color:var(--travel-muted);font-size:11px}
@media(hover:hover){.travel-heading .panel-fold:hover,.travel-actions .panel-details:hover{background:var(--travel-line);border-color:var(--travel-muted)}.travel-toolbar #travel-minimize:hover,.travel-toolbar #travel-recenter:hover{background:var(--travel-soft)}}
.panel-fold:active,.panel-details:active{opacity:.75}
@media(max-width:359px){.travel-heading .panel-fold{min-width:91px;padding:0 9px;gap:4px}.travel-toolbar{gap:8px}.travel-toolbar>span{padding:9px 11px;font-size:10px}.travel-toolbar #travel-minimize{padding:0 11px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.panel-fold,.panel-fold .panel-icon,.panel-details .panel-icon,.travel-grip i{transition:none}}

/* Destination selection stays visible outside the scrolling trip details. */
.travel-destination-action{display:flex;flex:0 0 auto;align-items:center;gap:11px;width:100%;min-height:64px;margin:12px 0 6px;padding:12px 14px;border:1px solid var(--navy);border-radius:16px;background:linear-gradient(120deg,var(--navy),#126580);color:#fff;text-align:left}
.travel-destination-action>span{flex:1;min-width:0}
.travel-destination-action strong,.travel-destination-action small{display:block;overflow:hidden;text-overflow:ellipsis}
.travel-destination-action strong{font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.travel-destination-action small{margin-top:4px;font-size:10px;line-height:1.4;white-space:nowrap;color:#e0eff5}
.travel-destination-action>.panel-icon:first-child{width:22px;height:22px}
.travel-destination-action>.panel-icon:last-child{width:15px;height:15px}
.travel-destination-action.has-destination{background:var(--travel-soft);color:var(--travel-ink);border-color:var(--travel-line)}
.travel-destination-action.has-destination small{color:var(--travel-muted)}
.travel-sheet[data-stage=compact] .travel-destination-action{min-height:44px;margin-bottom:0;padding:10px 12px}
.travel-sheet[data-stage=compact] .travel-destination-action strong{-webkit-line-clamp:1;font-size:12px}
.travel-sheet[data-stage=compact] .travel-destination-action small{display:none}
.travel-stop:disabled{cursor:default}
.travel-destination-dialog{width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid var(--travel-line);border-radius:26px;background:var(--travel-paper);color:var(--travel-ink);box-shadow:0 30px 100px #08294040;overflow:hidden}
.travel-destination-dialog[open]{display:flex;flex-direction:column;animation:reading-dialog-in .18s ease-out}
.travel-destination-dialog::backdrop{background:#0c243d88;backdrop-filter:blur(5px)}
.travel-destination-header{display:flex;flex:0 0 auto;justify-content:space-between;align-items:flex-start;gap:10px;padding:24px 22px 18px;background:linear-gradient(125deg,var(--travel-soft),var(--travel-paper));border-bottom:1px solid var(--travel-line)}
.travel-destination-header>div{min-width:0}
.travel-destination-header>div>span{display:block;margin-bottom:7px;color:var(--travel-muted);font-size:9px;font-weight:800;letter-spacing:.13em}
.travel-destination-header h2{margin:0;font:700 27px/1.08 "Bricolage Grotesque",sans-serif;letter-spacing:-.035em;overflow-wrap:anywhere}
.travel-destination-header p{margin:9px 0 0;color:var(--travel-muted);font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.travel-destination-header>button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;margin:-7px -7px 0 0;border:1px solid var(--travel-line);border-radius:50%;background:var(--travel-paper);color:var(--travel-ink)}
.travel-destination-modes{display:grid;grid-template-columns:1fr 1fr;flex:0 0 auto;gap:4px;margin:18px 22px 0;padding:4px;border-radius:14px;background:var(--travel-soft)}
.travel-destination-modes button{min-height:44px;padding:9px 8px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--travel-muted);font-size:12px;font-weight:700}
.travel-destination-modes button[aria-pressed=true]{background:var(--travel-paper);border-color:var(--travel-line);color:var(--travel-ink);box-shadow:0 2px 6px #08294009}
.travel-destination-body{min-height:0;padding:0 22px 20px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.travel-destination-note,.travel-destination-empty{margin:12px 0;color:var(--travel-muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.travel-destination-empty{padding:16px 0}
.travel-destination-body label{display:block;margin:16px 0 7px;font-size:12px;font-weight:700}
.travel-destination-body input{width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid var(--travel-line);border-radius:12px;background:var(--travel-paper);color:var(--travel-ink);font:inherit;font-size:16px}
.travel-destination-body input::placeholder{color:var(--travel-muted);opacity:1}
.travel-destination-body input:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.travel-destination-search{display:flex;align-items:stretch;gap:8px}
.travel-destination-search button{flex:0 0 auto;min-width:76px;min-height:46px;padding:8px 12px;border:0;border-radius:12px;background:var(--navy);color:#fff;font-size:12px;font-weight:700}
.travel-destination-stop{display:flex;align-items:center;gap:12px;width:100%;min-height:66px;padding:12px 0;border:0;border-bottom:1px solid var(--travel-line);background:transparent;color:var(--travel-ink);text-align:left}
.travel-destination-stop>span:nth-child(2){flex:1;min-width:0}
.travel-destination-number{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid var(--travel-line);border-radius:50%;background:var(--travel-soft);color:var(--travel-muted);font-size:10px}
.travel-destination-stop strong,.travel-destination-place strong{display:block;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.travel-destination-stop small,.travel-destination-place small{display:block;margin-top:4px;color:var(--travel-muted);font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.travel-destination-stop>span:last-child{font-size:10px;font-weight:700;color:var(--travel-muted)}
.travel-destination-place{display:block;width:100%;padding:14px 0;border:0;border-bottom:1px solid var(--travel-line);background:transparent;color:var(--travel-ink);text-align:left}
.travel-destination-place>span{display:block;margin-top:8px;font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.travel-destination-preview{margin-top:18px;padding:16px;border:1px solid var(--travel-line);border-radius:16px;background:var(--travel-soft);overflow-wrap:anywhere}
.travel-destination-preview>small{display:block;color:var(--travel-muted);font-size:9px;letter-spacing:.06em;font-weight:800;line-height:1.5}
.travel-destination-preview>small:not(:first-child){margin-top:20px}
.travel-destination-preview>strong{display:block;margin-top:7px;font:700 20px/1.2 "Bricolage Grotesque",sans-serif}
.travel-destination-preview p{margin:7px 0;font-size:13px;line-height:1.5}
.travel-destination-precision,.travel-destination-preview .travel-destination-caution{color:var(--travel-muted);font-size:11px;line-height:1.5}
.travel-destination-confirm{width:100%;min-height:48px;margin-top:12px;padding:10px;border:1px solid var(--navy);border-radius:13px;background:var(--navy);color:#fff;font-weight:700;font-size:13px}
.travel-destination-confirm:disabled{border-color:var(--travel-line);background:var(--travel-soft);color:var(--travel-muted);cursor:not-allowed}
.travel-destination-footer{display:flex;flex:0 0 auto;justify-content:space-between;align-items:center;gap:12px;padding:12px 22px;border-top:1px solid var(--travel-line);background:var(--travel-paper)}
.travel-destination-footer>span{color:var(--travel-muted);font-size:11px;line-height:1.4}
.travel-destination-footer button{min-height:44px;padding:8px 12px;border:1px solid var(--travel-line);border-radius:12px;background:transparent;color:var(--travel-ink);font-size:12px;font-weight:700}
.large-reading .travel-destination-action strong,.large-reading .travel-destination-dialog :is(button,label,p,strong){font-size:16px}
.large-reading .travel-destination-dialog h2{font-size:30px}
.strong-contrast .travel-destination-dialog{border:2px solid var(--travel-ink)}
@media(hover:hover){.travel-destination-stop:hover,.travel-destination-place:hover{background:var(--travel-soft)}.travel-destination-action:hover{filter:brightness(1.07)}.travel-destination-action.has-destination:hover{border-color:var(--travel-muted)}}
@media(max-width:900px){.travel-sheet[data-stage=peek]{height:var(--travel-sheet-height,52dvh)}.travel-destination-action{margin-top:10px}}
@media(max-width:480px){.travel-destination-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:22px}.travel-destination-header{padding:20px 16px 16px}.travel-destination-header h2{font-size:25px}.travel-destination-modes{margin:14px 16px 0}.travel-destination-body{padding:0 16px 16px}.travel-destination-footer{padding:10px 16px max(10px,env(safe-area-inset-bottom))}.travel-destination-stop{gap:8px}}
@media(max-height:650px){.travel-destination-header{padding-top:14px;padding-bottom:12px}.travel-destination-header>div>span{display:none}.travel-destination-header h2{font-size:22px}.travel-destination-modes{margin-top:10px}.travel-destination-footer{padding-top:8px;padding-bottom:8px}}
@media(prefers-reduced-motion:reduce){.travel-destination-dialog[open]{animation:none}}

/* The compact trip retains separate native buttons, never nested controls. */
.travel-mini-dock{position:fixed;z-index:1750;left:50%;bottom:var(--shell-bottom,max(14px,env(safe-area-inset-bottom)));transform:translateX(-50%);width:min(440px,calc(100vw - 24px));border:1px solid var(--travel-line);border-radius:20px;background:linear-gradient(130deg,var(--travel-soft),var(--travel-paper));color:var(--travel-ink);box-shadow:0 12px 35px #08294030;overflow:hidden;font-family:'DM Sans',sans-serif}
.travel-mini-dock[hidden]{display:none!important}
.travel-mini-dock #travel-mini{position:static;transform:none;width:100%;min-height:64px;margin:0;padding:12px 14px;border:0;border-radius:0;background:var(--navy);box-shadow:none}
.travel-mini-dock #travel-mini>span{flex:1;min-width:0}
.travel-mini-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;padding:8px}
.travel-mini-actions button{min-height:48px;min-width:0;padding:8px 10px;border:1px solid var(--travel-line);border-radius:12px;background:var(--travel-paper);color:var(--travel-ink);font:600 12px/1.4 'DM Sans',sans-serif;cursor:pointer}
#travel-mini-destination{text-align:left}
#travel-mini-destination small{display:block;margin-bottom:3px;font-size:9px;letter-spacing:.08em;color:var(--travel-muted)}
#travel-mini-destination span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
#travel-mini-finish{padding-inline:12px}
.travel-mini-dock button:focus-visible{outline:3px solid var(--teal);outline-offset:-3px}
.travel-destination-stop:disabled{color:var(--travel-muted);cursor:not-allowed;background:var(--travel-soft)}
.travel-destination-stop:disabled>span:last-child{max-width:72px;text-align:right}
.travel-map-mini .maplibregl-ctrl-bottom-right{bottom:calc(var(--shell-bottom,14px) + 160px)}
.travel-map-mini .toast,.travel-mini-dock:not([hidden])~.toast{bottom:calc(var(--shell-bottom,14px) + 170px)}
body.map-shell[data-map-shell-view]:not([data-map-shell-view="transport"]) #travel-mini-dock{display:none!important}
.large-reading .travel-mini-dock :is(b,span,button){font-size:16px}
.strong-contrast .travel-mini-dock{border:2px solid var(--travel-ink)}
@media(hover:hover){.travel-mini-actions button:hover{background:var(--travel-soft);border-color:var(--travel-muted)}}
