.route-head { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.route-head nav { display:flex; gap:8px; flex-wrap:wrap; }
.route-panel,.summary-strip { background:var(--surface); border:1px solid var(--border); border-radius:8px; padding:20px; margin:20px 0; }
.route-list,.stop-list,.choice-list { display:grid; gap:12px; padding-left:1.4rem; }
.route-list { list-style:none; padding-left:0; }
.route-list li { background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:12px; }
.route-list a { display:flex; justify-content:space-between; gap:12px; text-decoration:none; min-height:44px; align-items:center; }
.choice-list li { padding:12px; border:1px solid var(--border); border-radius:6px; background:var(--surface); }
.route-panel form,.route-panel label { margin-block:10px; }
.route-panel textarea { width:100%; min-height:72px; }
.amount { font-size:1.8rem; font-weight:700; }
.notification-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }
.field-errors { color:var(--error); }
#main-content:has(form[data-route-editor]) > header { margin-bottom:16px; }
form[data-route-editor] { min-width:0; }
form[data-route-editor] .editor-intro,
form[data-route-editor] .stop-top-fields,
form[data-route-editor] .stop-common-fields,
form[data-route-editor] .customer-schedule-fields,
form[data-route-editor] .customer-address-fields,
form[data-route-editor] .stop-leg-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px; align-items:start; }
form[data-route-editor] .editor-intro > p,
form[data-route-editor] .stop-top-fields > .terminal-readonly,
form[data-route-editor] .customer-stop-fields > h3,
form[data-route-editor] .customer-stop-fields > label,
form[data-route-editor] .stop-leg-fields > legend,
form[data-route-editor] .stop-leg-fields > p { grid-column:1 / -1; }
form[data-route-editor] .editor-intro label,
form[data-route-editor] .stop-card label { min-width:0; margin:4px 0; }
form[data-route-editor] .stop-card input,
form[data-route-editor] .stop-card select,
form[data-route-editor] .stop-card textarea { max-width:none; min-width:0; }
form[data-route-editor] .stop-card select[multiple] { min-height:112px; height:auto; background-image:none; padding:6px; }
form[data-route-editor] .stop-card textarea { min-height:72px; }
form[data-route-editor] .stop-card { display:grid; grid-template-columns:minmax(0,1fr); gap:8px 16px; min-width:0; margin:4px 0; }
form[data-route-editor] .stop-card > legend { font-weight:700; }
form[data-route-editor] .customer-stop-fields { border:1px solid var(--border); border-radius:5px; padding:12px; min-width:0; }
form[data-route-editor] .customer-stop-fields[hidden] { display:none !important; }
form[data-route-editor] .stop-common-fields label,
form[data-route-editor] .stop-top-fields label { margin:0; }
form[data-route-editor] .stop-move-controls { display:flex; flex-wrap:wrap; gap:8px; }
form[data-route-editor] .activity-reference summary { min-height:44px; display:flex; align-items:center; cursor:pointer; font-weight:650; }
form[data-route-editor] button[data-remove-stop] { justify-self:start; }
form[data-route-editor] .stop-top-fields > .terminal-readonly { min-height:44px; }
@media(min-width:761px) {
  form[data-route-editor] .stop-leg-fields { grid-template-columns:repeat(3,minmax(0,1fr)); }
  form[data-route-editor] .stop-leg-fields > legend,
  form[data-route-editor] .stop-leg-fields > p { grid-column:1 / -1; }
}
@media(max-width:760px) {
  form[data-route-editor] .editor-intro,
  form[data-route-editor] .stop-top-fields,
  form[data-route-editor] .stop-common-fields,
  form[data-route-editor] .customer-schedule-fields,
  form[data-route-editor] .customer-address-fields,
  form[data-route-editor] .stop-leg-fields { grid-template-columns:minmax(0,1fr); }
  form[data-route-editor] .editor-intro > p,
  form[data-route-editor] .stop-top-fields > .terminal-readonly,
  form[data-route-editor] .customer-stop-fields > h3,
  form[data-route-editor] .customer-stop-fields > label,
  form[data-route-editor] .stop-leg-fields > legend,
  form[data-route-editor] .stop-leg-fields > p { grid-column:auto; }
}
@media(max-width:760px) { .route-head { display:block; } .route-head nav { margin-top:14px; } .route-list a { align-items:flex-start; flex-direction:column; } }
