.route-studio{min-width:0}.route-studio-heading h2{margin-bottom:8px}.route-studio-heading p{font-size:13px;line-height:1.75;color:var(--muted);margin:0 0 20px;max-width:730px}.route-concept{border-left:3px solid var(--lime);padding:12px 16px;background:var(--sage);border-radius:0 10px 10px 0;margin-bottom:20px}.route-concept span{font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:var(--muted)}.route-concept p{font-size:13px;line-height:1.7;margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.route-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:17px;background:var(--paper);border:1px solid var(--line);border-radius:14px;margin-bottom:15px}.route-summary>div{min-width:0}.route-summary>div span{display:block;font-size:10px;line-height:1.6;color:var(--muted)}.route-summary strong{display:block;font-size:23px;letter-spacing:-.8px;line-height:1.4;margin-top:4px}.route-summary-detail{grid-column:1/-1;font-size:10px;color:var(--muted);line-height:1.7;margin:0}.route-summary-detail+.route-summary-detail{margin-top:-5px}.route-warning-text{color:var(--orange)}.route-limit-warning{grid-column:1/-1;font-size:12px;line-height:1.65;background:var(--orange-bg);border-radius:8px;color:var(--orange);padding:10px 12px;margin:0}.route-scheme{background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-bottom:20px;overflow:auto}.route-scheme svg{width:100%;min-width:430px;display:block;max-height:180px}.route-scheme-line{stroke:var(--line);stroke-width:3;stroke-dasharray:5 5}.route-scheme-stop{cursor:pointer;outline:none}.route-scheme-stop circle{fill:var(--sage);stroke:var(--line);stroke-width:2}.route-scheme-stop.selected circle,.route-scheme-stop:hover circle{fill:var(--lime);stroke:var(--lime)}.route-scheme-stop:focus-visible circle{stroke:var(--lime);stroke-width:5}.route-scheme-number{fill:var(--ink);font-size:14px;font-weight:750;pointer-events:none}.route-scheme-stop.selected .route-scheme-number,.route-scheme-stop:hover .route-scheme-number{fill:#172018}.route-scheme-title{fill:var(--muted);font-size:9px;pointer-events:none}.route-scheme-note{fill:var(--muted);font-size:8px;letter-spacing:1px}.route-workspace{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start}.route-stop-list{display:flex;flex-direction:column;gap:8px;min-width:0}.route-stop-row{display:flex;align-items:center;min-width:0;border:1px solid var(--line);border-radius:11px;background:var(--paper);padding:4px}.route-stop-row.selected{border-color:var(--lime);background:var(--sage)}.route-stop-select{display:flex;align-items:center;gap:10px;text-align:left;background:none;color:var(--ink);border:0;padding:10px 5px;min-width:0;flex:1;min-height:64px}.route-stop-select>span:last-child{min-width:0}.route-stop-select strong{display:block;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.route-stop-select small{display:block;font-size:10px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.route-stop-number{width:25px;height:25px;display:grid;place-items:center;flex-shrink:0;font-size:11px;border-radius:8px;background:var(--surface);border:1px solid var(--line)}.route-stop-row.selected .route-stop-number{background:var(--lime);border-color:var(--lime);color:#172018}.route-order-controls{display:flex;flex-direction:column;gap:3px;flex-shrink:0}.route-order-controls .btn.small{min-width:28px;min-height:28px;padding:2px;font-size:14px}.route-add-stop{width:100%;margin-top:7px;min-height:44px}.route-stop-editor{border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:21px;min-width:0}.route-stop-editor>header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:20px}.route-stop-editor>header h3{font-size:19px;line-height:1.4;margin:4px 0 0;overflow-wrap:anywhere}.route-kicker{font-size:10px;line-height:1.6;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0}.route-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.route-field{display:flex;flex-direction:column;gap:7px;min-width:0}.route-field label{font-size:12px;line-height:1.6;font-weight:650}.route-field input,.route-field textarea{display:block;width:100%;max-width:100%;min-width:0;color:var(--ink);background:var(--input,var(--surface));border:1px solid var(--control-line,var(--line));border-radius:9px;padding:10px 12px;font-size:13px;line-height:1.65}.route-field textarea{resize:vertical;min-height:88px}.route-field small{font-size:10px;line-height:1.7;color:var(--muted)}.route-input-error{font-size:10px;line-height:1.6;color:var(--orange)}.route-input-error:empty{display:none}.route-field [aria-invalid=true]{border-color:var(--orange);outline-color:var(--orange)}.route-leg{border-top:1px solid var(--line);padding-top:20px;margin-top:21px}.route-leg h4{font-size:12px;line-height:1.7;margin:0 0 15px;overflow-wrap:anywhere}.route-leg .route-field:first-child{grid-column:1/-1}.route-checkbox{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.7}.route-checkbox input{width:17px;height:17px;flex-shrink:0;accent-color:var(--lime);margin-top:3px}.route-checkbox span{display:block}.route-checkbox small{font-size:10px;color:var(--muted);line-height:1.7;display:block;margin-top:6px}.route-extra{border-top:1px solid var(--line);margin-top:22px;padding-top:17px}.route-extra summary,.route-global-notes summary{font-size:12px;line-height:1.8;font-weight:650;cursor:pointer;min-height:28px}.route-extra summary>span{font-weight:400;font-size:10px;color:var(--muted);margin-left:8px}.route-extra[open]>summary{margin-bottom:18px}.route-coordinate-status{grid-column:1/-1;min-width:0}.route-coordinate-status p{font-size:10px;color:var(--muted);line-height:1.8;margin:9px 0 0}.route-delete-confirm{padding:15px;border:1px solid var(--orange);background:var(--orange-bg);border-radius:11px;margin-bottom:20px;font-size:12px;line-height:1.75}.route-delete-confirm p{color:var(--muted);margin:6px 0 15px}.route-delete-confirm .btn{font-size:11px}.route-empty{text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:30px 20px}.route-empty-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--sage);color:var(--lime);margin:0 auto 17px}.route-empty h3{font-size:17px;margin:0 0 10px}.route-empty p{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 20px}.route-global-notes{margin-top:22px;border-top:1px solid var(--line);padding-top:17px}.route-global-notes[open]>summary{margin-bottom:18px}.route-global-notes>.route-field{margin-top:17px}.route-save-status{font-size:10px;color:var(--muted);line-height:1.8;margin:20px 0 0}.route-save-status.failed{color:var(--orange)}
@media(max-width:1100px){.route-workspace{grid-template-columns:190px minmax(0,1fr);gap:13px}.route-stop-editor{padding:17px}.route-editor-grid{grid-template-columns:1fr}.route-summary strong{font-size:21px}.route-coordinate-status{grid-column:auto}}
@media(max-width:700px){.route-workspace{grid-template-columns:1fr}.route-stop-list{display:grid;grid-template-columns:1fr 1fr}.route-stop-select{min-height:62px}.route-add-stop{grid-column:1/-1;margin:0}.route-summary{grid-template-columns:1fr 1fr}.route-stop-editor{padding:18px}.route-field input,.route-field textarea{font-size:16px}.route-studio-heading p{font-size:12px}.route-scheme svg{min-width:520px}.route-editor-grid{gap:16px}.route-checkbox small,.route-field small,.route-summary-detail{font-size:11px}}
@media(max-width:440px){.route-stop-list{display:flex}.route-order-controls{flex-direction:row}.route-order-controls .btn.small{min-width:36px;min-height:36px}.route-stop-select{min-height:54px}.route-summary strong{font-size:23px}}
@media print{.route-order-controls,.route-add-stop,.route-delete-confirm,.route-stop-editor>header>.btn,.route-save-status{display:none}.route-workspace{display:block}.route-stop-list{margin-bottom:20px}.route-stop-editor{page-break-inside:avoid}.route-field input,.route-field textarea{border-color:#ccc;background:white;color:black}.route-scheme svg{max-height:150px}.route-scheme-number,.route-scheme-title,.route-scheme-note{fill:#222}}
