.trip-flow{display:grid;grid-template-columns:1fr 1.45fr 1fr;gap:4px;padding:5px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.trip-flow button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:0;border-radius:11px;background:transparent;color:var(--muted);font:inherit;font-size:12px;cursor:pointer;overflow-wrap:anywhere}
.trip-flow button[aria-current]{background:var(--green);color:white;font-weight:700}.trip-flow button:disabled{opacity:.5;cursor:default}.trip-flow button>span{display:grid;place-items:center;width:20px;height:20px;flex-shrink:0;border:1px solid currentColor;border-radius:50%;font-size:11px}
.trip-flow-summary{padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:16px}.trip-flow-summary>div:first-child{display:grid;gap:6px;font-size:14px;overflow-wrap:anywhere}.trip-flow-summary>div:first-child>span{display:flex;gap:8px;align-items:center;color:var(--muted)}.trip-flow-summary .icon{width:16px;height:16px;flex-shrink:0}.trip-flow-facts{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:12px 0 6px;font-size:13px}.trip-flow-facts>span{display:flex;align-items:center;gap:5px}.trip-flow-facts button{display:flex;gap:5px;align-items:center;min-height:44px;border:0;background:var(--green-soft);color:var(--green);border-radius:12px;padding:8px 10px;font:inherit;font-size:12px}.trip-flow-summary small{color:var(--muted);line-height:1.5;display:block}
#trip-flow-actions .primary-button{width:100%;min-height:48px}#trip-flow-actions{margin:14px 0}.trip-flow button:focus-visible,.trip-flow-facts button:focus-visible{outline:2px solid var(--green);outline-offset:2px}
body:not([data-view=planner]) #trip-flow-navigation,body[data-planning-mode=sample] #trip-flow-navigation{display:none}
body[data-trip-interface=easy][data-planning-mode=precise][data-view=planner] .journey-sidebar{gap:12px}
body[data-trip-interface=easy][data-planning-mode=precise][data-view=planner][data-trip-stage=trip] #trip-sheet{display:none!important}
body[data-trip-interface=easy][data-planning-mode=precise][data-view=planner][data-trip-stage=trip] .journey-panel{display:block!important}
body[data-trip-interface=easy][data-planning-mode=precise][data-view=planner]:is([data-trip-stage=choose],[data-trip-stage=ready]) .journey-panel{display:none!important}
body[data-trip-interface=easy][data-planning-mode=precise][data-view=planner]:is([data-trip-stage=choose],[data-trip-stage=ready]) #precise-results>.results-header>div,body[data-trip-interface=easy][data-view=planner] #road-details{display:none}
body[data-trip-interface=easy][data-trip-stage=choose][data-view=planner] :is(#trip-readiness,#navigation-actions,#trip-timeline){display:none!important}
body[data-trip-interface=easy][data-trip-stage=ready][data-view=planner] :is(#road-options,#motorway-discovery,#restaurant-search,#meal-road-search,#trip-stops,#meal-agenda,#trip-schedule,#trip-source-preparation,#trip-flow-actions){display:none!important}
body[data-trip-interface=customize] :is(#trip-flow-summary,#trip-flow-actions){display:none!important}
body[data-trip-interface=easy][data-view=planner] .road-option .road-unknown{display:none}
.trip-mode-bar{margin-bottom:8px}.trip-mode-bar .trip-interface-switch{padding:3px}.trip-mode-bar .trip-interface-switch button{font-size:11px;min-height:44px}
@media(max-width:800px){
 body[data-trip-interface=easy][data-view=planner][data-planning-mode=precise] #trip-flow-navigation{position:absolute;left:12px;right:12px;top:10px;z-index:12;background:var(--paper);border-radius:16px;padding:6px;box-shadow:0 4px 20px #25483c15}
 body[data-trip-interface=easy][data-view=planner][data-planning-mode=precise] .journey-panel{top:132px!important;max-height:calc(100% - 144px - var(--app-nav-height,65px))!important}
 body[data-trip-interface=easy][data-view=planner][data-planning-mode=precise]:is([data-trip-stage=choose],[data-trip-stage=ready]) #trip-sheet:not(.sheet-collapsed){top:132px;bottom:calc(var(--app-nav-height,65px) + 12px);max-height:none!important;border-radius:20px;}
 html:not([data-large-text=true]) body[data-trip-interface=easy][data-view=planner][data-planning-mode=precise]:is([data-trip-stage=choose],[data-trip-stage=ready]):has(#trip-sheet:not(.sheet-collapsed)) :is(.route-map__controls,.map-locate,.map-milo){display:none!important}
 body[data-trip-interface=easy][data-trip-stage=trip][data-view=planner] .map-milo{display:none}
 body[data-trip-interface=easy][data-view=planner] .journey-content{padding:12px 16px 20px}
 html[data-large-text=true] #trip-flow-navigation{position:static!important;inset:auto!important;box-shadow:none;z-index:auto!important}
 html[data-large-text=true] body[data-view=planner] #workspace .journey-panel,html[data-large-text=true] body[data-view=planner] #workspace #trip-sheet{position:relative;top:auto!important;bottom:auto!important;max-height:none!important}
}
@media(prefers-reduced-motion:no-preference){.trip-flow button,.motorway-card{transition:background .16s,border-color .16s,box-shadow .16s}.motorway-card:focus-within{box-shadow:0 0 0 2px var(--green)}}

.motorway-facts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.motorway-facts>span{display:flex;align-items:center;gap:5px;font-size:12px;padding:6px 8px;border-radius:10px;background:var(--green-soft);color:var(--green)}.motorway-facts .icon{width:16px;height:16px}.motorway-reason{font-size:13px;line-height:1.5;margin:8px 0;color:var(--green)}.motorway-evidence>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:12px;color:var(--muted)}.motorway-food{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.motorway-evidence small{display:block}.motorway-card .restaurant-choose{min-height:44px}.motorway-card .restaurant-actions{flex-wrap:wrap}.motorway-card .restaurant-actions small{flex-basis:100%}.motorway-cards{gap:12px}

dialog[data-surface-suspended]{display:none!important}dialog[data-surface-suspended]::backdrop{display:none}

body[data-trip-interface=customize] .trip-flow{display:none}
@media(max-width:800px){
 body[data-trip-interface=customize][data-view=planner][data-planning-mode=precise] #trip-flow-navigation{position:absolute;top:10px;left:12px;right:12px;z-index:12;background:var(--paper);border-radius:16px;padding:6px}
 body[data-trip-interface=customize][data-view=planner][data-planning-mode=precise] .journey-panel{top:68px;max-height:calc(52% - 56px)}
 body[data-trip-interface=customize] .trip-mode-bar{margin-bottom:0}
}

body[data-trip-interface=easy][data-trip-stage=choose][data-view=planner] #precise-results>.results-header{display:none}
body[data-trip-interface=easy][data-trip-stage=ready][data-view=planner] #precise-results>.results-header{justify-content:flex-end;margin:0 0 12px}

.simple-choice-back{display:none}
body[data-trip-interface=easy][data-choice-review=area][data-view=breaks] #breaks-view>:not(#area-comparison):not(.simple-choice-back){display:none!important}
body[data-trip-interface=easy][data-choice-review=area][data-view=breaks] .simple-choice-back{display:flex;align-items:center;gap:8px;margin-bottom:12px;min-height:44px}

@media(max-width:800px){
 html:not([data-large-text=true]) body[data-trip-interface=easy][data-trip-stage=trip][data-view=planner] .plan-submit{position:sticky;bottom:0;margin-bottom:0;z-index:3;box-shadow:0 -6px 12px var(--paper)}
 body[data-trip-interface=easy][data-view=planner] .toast{bottom:calc(var(--app-nav-height,65px) + 18px);pointer-events:none}
}

@media(max-width:800px){body[data-trip-interface=easy][data-trip-stage=trip][data-view=planner] .journey-panel{scroll-padding-bottom:64px}}

@media(max-width:800px){
 html:not([data-large-text=true]) body[data-trip-interface=easy][data-route-ready=true][data-view=planner]:not([data-driving=true]):has(#trip-sheet.sheet-collapsed) .route-map__controls{top:144px;bottom:auto}
 html:not([data-large-text=true]) body[data-trip-interface=easy][data-route-ready=true][data-view=planner]:not([data-driving=true]):has(#trip-sheet.sheet-collapsed) .map-locate{top:256px;bottom:auto}
}

/* The first decision is the road. Optional questions keep their own small surface. */
body[data-trip-interface=easy][data-planning-mode=precise] .journey-panel :is(#trip-preferences,#guided-trip-controls,.pin-actions,#departure-energy-prompt){display:none}
body[data-trip-interface=easy][data-planning-mode=precise] .journey-panel #trip-preferences[open]{display:block}
body[data-trip-interface=easy][data-planning-mode=precise][data-route-ready=false] #trip-flow-navigation{display:none}
body[data-trip-interface=easy][data-planning-mode=precise] .journey-panel>.panel-heading{display:none!important}
body[data-trip-interface=easy][data-planning-mode=precise] #profile-onboarding{width:100%;font-size:12px;min-height:44px;justify-content:center}
body:not([data-trip-interface=easy]) :is(#profile-onboarding,#trip-questions,#revisit-trip-questions){display:none!important}
body[data-trip-interface=easy]:not([data-question-step=""]):has(#trip-questions:not([hidden])) .journey-panel :is(#precise-fields,.plan-submit,#profile-onboarding,#trip-preferences){display:none!important}
body[data-trip-interface=easy][data-question-step=vehicle] .journey-panel #departure-energy-prompt{display:block}
.trip-questions[hidden],.trip-profile-invitation[hidden]{display:none}
.trip-questions h2{font-size:22px;line-height:1.25;margin:8px 0}.trip-questions>p{font-size:13px;color:var(--muted);line-height:1.5;margin:8px 0 14px}.trip-questions .question-eyebrow{color:var(--green);font-size:11px;margin-bottom:4px}
.question-road{display:grid;gap:6px;background:var(--green-soft);border-radius:12px;padding:12px;margin-bottom:18px;font-size:13px}.question-road small{font-size:11px;color:var(--muted);line-height:1.4}
.question-fields{display:grid;gap:12px}.question-fields label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.question-fields :is(input,select){width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--paper);color:var(--ink);font:inherit;font-size:16px}
.question-actions{display:flex;gap:8px;justify-content:space-between;margin-top:12px}.question-actions button{min-height:44px;white-space:normal;line-height:1.35}.question-actions .primary-button{flex:1;justify-content:center}.question-actions .text-button{font-size:12px}
#revisit-trip-questions{margin-bottom:8px;min-height:44px;justify-content:flex-start;font-size:13px}.trip-profile-invitation{padding:14px;background:var(--green-soft);border-radius:14px;margin-bottom:12px}.trip-profile-invitation h3{margin:0 0 8px}.trip-profile-invitation p{font-size:13px;line-height:1.5}.trip-profile-invitation button{min-height:44px}
.trip-profile-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
@media(max-width:800px){
 body[data-trip-interface=easy][data-planning-mode=precise][data-route-ready=false] .journey-panel{top:12px!important;max-height:calc(100% - 24px - var(--app-nav-height,65px))!important}
 body[data-trip-interface=easy][data-planning-mode=precise] .journey-panel{scroll-padding-bottom:20px}
 body[data-trip-interface=easy][data-planning-mode=precise][data-route-ready=false] .map-category-bar{display:none}
}
body[data-trip-interface=easy][data-planning-mode=precise]:not([data-route-ready=true]) #trip-flow-navigation{display:none}
body[data-trip-interface=easy]:not([data-vehicle-confirmed=true]) .journey-panel #departure-energy-prompt{display:none!important}
.question-zone summary{font-size:12px;color:var(--muted);min-height:44px;display:flex;align-items:center;cursor:pointer}
body[data-trip-interface=easy][data-trip-stage=choose]:not([data-explore-stops=true]) :is(#motorway-discovery,#restaurant-search,#meal-road-search,#trip-stops,#meal-agenda,#trip-schedule,#trip-source-preparation,#trip-cost-summary){display:none!important}
#simple-stop-actions{display:grid;gap:8px;margin:12px 0}#simple-stop-actions button{min-height:44px;justify-content:center;width:100%}
body:not([data-trip-stage=choose]) #simple-stop-actions,body[data-trip-interface=customize] #simple-stop-actions{display:none}
@media(max-width:800px){body[data-trip-interface=easy][data-planning-mode=precise]:not([data-route-ready=true]) .journey-panel{top:12px!important;max-height:calc(100% - 24px - var(--app-nav-height,65px))!important}body[data-trip-interface=easy][data-planning-mode=precise]:not([data-route-ready=true]) :is(.map-category-bar,.map-milo){display:none}}
body[data-trip-interface=easy][data-trip-stage=trip] .map-milo{display:none!important}
#trip-flow-actions .secondary-button{width:100%;min-height:48px;justify-content:center}
body[data-trip-interface=easy]:not([data-has-trip-draft=true]) #reset-form{display:none}
body[data-trip-interface=easy] #reset-form{width:100%;min-height:44px;justify-content:center;font-size:12px}
body[data-trip-interface=easy]:has(#trip-questions:not([hidden])) #reset-form{display:none}

/* Entry errors belong beside the active form; later stages retain their sheet feedback. */
#trip-entry-feedback{display:none;margin:12px 0}
body[data-trip-interface=easy][data-planning-mode=precise][data-trip-stage=trip] #trip-entry-feedback:not([hidden]){display:block}
