#planRouteDialog,#planPlanningDialog{width:min(1000px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);box-sizing:border-box;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px}
#planRouteDialog[open]{height:calc(100dvh - 24px);display:flex;flex-direction:column;overflow:hidden}#planRouteDialog h2{font-size:1.1rem}#planRouteCanvas{height:clamp(100px,40dvh,420px);flex:none}.plan-route-content{overflow:auto;min-height:0}.plan-route-content p{font-size:.85rem}#planRouteLegend{display:flex;flex-wrap:wrap;gap:.3rem}.route-day{border-left:5px solid;padding-left:.3rem;font-size:.8rem}#planRouteAppLinks{display:grid;gap:.3rem;margin-top:.5rem}.route-app{display:flex;align-items:center;gap:.5rem;padding:.4rem;border:1px solid var(--line);border-radius:6px}.route-app svg{width:24px;height:24px;flex:none}.route-app.map svg{color:#1c8652}.route-app.pin svg{color:#3478d3}.route-app.compass svg{color:#008ca9}.proposal-edit{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.proposal-edit label:first-child{grid-column:1/-1}.proposal-edit input{min-width:0;width:100%;box-sizing:border-box}#planPlanningDialog .plan-tools{border:0}#planPlanningDialog::backdrop,#planRouteDialog::backdrop{background:rgb(0 0 0 / .55)}

.plan-dates{display:flex;align-items:end;flex-wrap:wrap;gap:.4rem;margin:.5rem 0}.plan-dates label{flex:1;min-width:130px}.plan-dates input{min-width:0;width:100%}#planStops .plan-record{padding:.45rem .6rem;margin:.35rem 0}#planStops .plan-record h3{font-size:1rem;margin:0}#planStops .plan-record-header{gap:.3rem}#planStops .plan-meta{font-size:.85rem;margin:.2rem 0}#planStops .plan-actions{gap:.3rem;margin:.2rem 0}#planStops .plan-record button{min-height:36px;padding:.25rem .5rem}#planStops .plan-record details{font-size:.85rem}#planProposalList .plan-suggestion{padding:.4rem;margin:.3rem 0}#planProposalList .plan-suggestion h3{display:inline;font-size:.9rem;margin-right:.4rem}#planProposalList .plan-suggestion>strong{font-size:.95rem}#planProposalList details{font-size:.85rem}#planProposalList .proposal-edit{margin:.3rem 0}.plan-footer{margin-top:.6rem}#planPlanningDialog{overflow:auto}#planPlanningDialog>h2{font-size:1.1rem}
#travelPlanPanel #planStops .plan-record{padding:.35rem .5rem;margin:.25rem 0}#travelPlanPanel #planStops .plan-record p{margin:.15rem 0}#travelPlanPanel #planStops .plan-record>details{display:inline-block;vertical-align:middle;margin:0 .35rem;padding:0;border:0}#travelPlanPanel #planStops .plan-record>details[open]{display:block}#travelPlanPanel #planStops .plan-record>details>summary{padding:.2rem;font-size:.8rem}#travelPlanPanel #planStops .plan-record .plan-actions{margin:.15rem 0}#travelPlanPanel #planStops .plan-pill{font-size:.7rem;padding:.05rem .35rem}
#travelPlanPanel .plan-head>label{display:flex;align-items:center;width:auto;white-space:nowrap;gap:.35rem;margin:0}#travelPlanPanel .plan-head>label input{width:auto;margin:0}

#planRouteModeLabel{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}#planRouteMode{max-width:100%;min-width:0}#planRouteAppLinks .route-app{overflow-wrap:anywhere;min-width:0}.route-app.globe svg{color:#268345}

#planRouteStops{padding-left:1.7rem;margin:.3rem 0}#planRouteStops li{margin:.15rem 0}#planRouteStops button{padding:.3rem .45rem;min-height:36px;width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere}#planRouteStops button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--surface))}#planRouteStopsTitle{font-size:.95rem;margin:.45rem 0}

/* V0.10.25: compact wrapping rows. No fixed card height: long names and source notices stay readable. */
#travelPlanPanel #planStops .plan-record{display:flex;align-items:center;flex-wrap:wrap;gap:.2rem .65rem;padding:.35rem .5rem}
#planStops .plan-record-header{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .65rem;min-width:0;flex:1 1 auto}
#planStops .plan-record-header time{font-weight:600;white-space:nowrap}
#planStops .plan-record-header h3{min-width:0;overflow-wrap:anywhere}
#planStops .plan-record .plan-actions{display:flex;flex-wrap:wrap;gap:.3rem;margin:0}
#planStops .plan-record .plan-weather{flex:1 1 100%;min-width:0;padding:0;gap:.15rem .75rem}
#planStops .plan-record .plan-weather-stamp{overflow-wrap:anywhere}
#planStops .plan-record>details{flex:1 1 100%}
@media(max-width:700px){#travelPlanPanel #planStops .plan-record button{min-height:44px;height:auto}#planStops .plan-record .plan-actions{flex:1 1 100%}#planStops .plan-record .plan-move{min-width:44px}}
/* Environmental summaries share a row too; expanded hourly tables retain full width. */
#planStops .plan-weather .weather-environment{display:flex;align-items:baseline;flex-wrap:wrap;gap:.15rem .75rem;margin:0}
#planStops .weather-environment>small{margin:0}
#planStops .weather-environment>details{margin:0;padding:0;border:0}
#planStops .weather-environment>details>summary{margin:0;padding:.2rem 0;font-size:.82rem}
#planStops .weather-environment>details[open]{flex-basis:100%}
@media(max-width:700px){#planStops .plan-record .plan-actions button{flex:0 1 auto}}
