.route-page{max-width:1600px}.route-unapproved{border:1px solid #e9caa0;background:#fff6e7;color:#855414;padding:10px 14px;border-radius:20px;font-size:12px;white-space:nowrap}.route-overview{display:grid;grid-template-columns:1fr 1.6fr;gap:20px;margin:24px 0}.route-cargo,.route-purpose{padding:24px}.route-cargo h2{font-size:34px;margin:12px 0 8px}.route-cargo h2 small{font-size:16px;font-weight:400}.route-source-tag{display:inline-block;font-size:11px;padding:7px 10px;background:#edf1f8;border-radius:5px;margin:8px 0}.route-purpose h2{margin:12px 0;font-size:23px}.route-purpose p,.route-cargo p{line-height:1.6}.route-links{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;margin-top:15px}.route-candidates{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.route-candidate{text-align:left;display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);border-radius:12px;padding:22px;background:white;color:var(--text);cursor:pointer;font:inherit}.route-candidate.selected{border:2px solid var(--brand);padding:21px;background:#f3f7ff;box-shadow:0 4px 12px #1e397211}.route-candidate strong{font-size:32px;letter-spacing:-1px;color:var(--brand)}.route-candidate strong small{font-size:15px;font-weight:400;letter-spacing:0}.route-candidate>span:not(.eyebrow){font-size:12px;color:var(--muted)}.route-candidate-stats{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;border-top:1px solid var(--line);padding-top:12px}.route-method-note{line-height:1.6;margin:14px 0 24px}.route-workbench{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:20px;align-items:start}.route-panel-heading{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:22px}.route-panel-heading h2{font-size:19px;margin:6px 0 0}.route-map-controls{display:flex;gap:5px}.route-map-controls .btn{padding:8px 12px}.route-map-svg{display:block;width:100%;height:460px;border-block:1px solid var(--line)}.route-map-halo{stroke:white;stroke-width:10;fill:none;stroke-linejoin:round;vector-effect:non-scaling-stroke}.route-map-path{stroke:#274c8c;stroke-width:4;fill:none;stroke-linejoin:round;vector-effect:non-scaling-stroke}.route-map-point{cursor:pointer;outline:none}.route-map-point circle{fill:#f5c366;stroke:white;stroke-width:2}.route-map-point text{font:700 10px system-ui;fill:#403017;pointer-events:none}.route-map-point.conflict circle{fill:#b94c3c}.route-map-point.conflict text{fill:white}.route-map-point.excluded circle{fill:#cbd0d4}.route-map-point.selected circle,.route-map-point:focus circle{stroke:#1f3c77;stroke-width:4}.route-map-label{font:600 12px system-ui;fill:#183657;paint-order:stroke;stroke:#f0f4f2;stroke-width:4}.route-endpoint{fill:#274c8c;stroke:white;stroke-width:3}.route-north{font:600 13px system-ui;fill:#52646c}.route-pan{display:flex;justify-content:center;gap:8px;padding:9px;background:#f7f9fa}.route-pan button{background:white;border:1px solid var(--line);border-radius:5px;cursor:pointer;padding:4px 14px;color:var(--text)}.route-map-legend{display:flex;gap:18px;flex-wrap:wrap;padding:17px 22px 4px;font-size:11px;color:var(--muted)}.route-map-legend span{display:flex;align-items:center;gap:5px}.route-dot-key{width:10px;height:10px;border-radius:50%;background:#f5c366}.route-dot-key.red{background:#b94c3c}.route-dot-key.gray{background:#cbd0d4}.route-line-key{width:20px;height:3px;background:#274c8c}.route-map-caption{padding:12px 22px;font-size:11px;line-height:1.6;color:var(--muted)}.route-map-caption+.route-map-caption{border-top:1px solid var(--line)}.route-detail{padding:24px;max-height:850px;overflow:auto}.route-detail h2{font-size:22px;margin:9px 0}.route-detail p,.route-detail li{font-size:12px;line-height:1.6}.route-detail ul{padding-left:18px}.route-detail h3{font-size:15px}.route-status{padding:10px;background:#fff5e1;font-size:12px;border-radius:6px;margin:14px 0}.route-status.conflict{background:#ffe8e3;color:#8a3025}.route-measurements{font-size:12px;display:grid;gap:6px}.route-measurements dt{color:var(--muted);margin-top:8px}.route-measurements dd{margin:0;font-weight:600}.route-detail .field{margin-top:14px}.route-detail .btn{margin-top:14px}.route-profile{margin-top:24px}.route-page summary{display:flex;justify-content:space-between;gap:15px;cursor:pointer;padding:22px;font-size:15px;font-weight:600}.route-page summary:before{content:'+';color:var(--brand)}.route-page details[open]>summary:before{content:'−'}.route-profile-body,.route-source-body,.route-import form{padding:0 24px 24px}.route-profile .fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.route-input-unit{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:white}.route-input-unit input{border:0!important;min-width:0;width:100%}.route-input-unit>span{white-space:nowrap;color:var(--muted);font-size:11px;padding-right:10px}.route-savebar{display:flex;gap:18px;justify-content:space-between;align-items:center;margin:20px 0;font-size:12px;line-height:1.5}.route-savebar>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.route-table-scroll{overflow:auto;max-height:520px}.route-table{width:100%;font-size:12px;border-collapse:collapse}.route-table th{position:sticky;top:0;background:#f3f5f8;text-align:left;padding:12px 16px;font-size:10px;z-index:1}.route-table td{padding:14px 16px;vertical-align:top;border-top:1px solid var(--line);line-height:1.5}.route-table td small{display:block;color:var(--muted);margin-top:5px}.route-table td:first-child{white-space:nowrap}.route-conflict-row{background:#fff4ef}.route-notes{padding:24px;margin-top:20px}.route-notes h2{font-size:18px;margin-top:0}.route-sources,.route-import{margin-top:16px}.route-source-body{font-size:12px;line-height:1.65;overflow-wrap:anywhere}.route-source{padding:16px 0;border-bottom:1px solid var(--line)}.route-source small{color:var(--muted)}.route-import form>.btn{margin-top:18px}.route-page button:focus-visible,.route-page summary:focus-visible{outline:3px solid #6093d6;outline-offset:3px}@media(max-width:1100px){.route-workbench{grid-template-columns:1fr}.route-detail{max-height:none}.route-profile .fields{grid-template-columns:repeat(2,minmax(0,1fr))}.route-map-svg{height:500px}.route-savebar{align-items:flex-start;flex-direction:column}}@media(max-width:700px){.route-overview{grid-template-columns:1fr}.route-profile .fields{grid-template-columns:1fr}.route-map-svg{height:370px}.route-panel-heading{flex-wrap:wrap}.route-page .page-title{flex-wrap:wrap;gap:16px}}

/* Street map layers stay below application dialogs and menus. */
.route-street-map{height:540px;width:100%;isolation:isolate;background:#e7ece7;border-block:1px solid var(--line);font-family:inherit}
.route-map-switch{display:flex;align-items:center;gap:6px;padding:0 22px 16px;flex-wrap:wrap}
.route-map-switch button{font-family:inherit;font-size:12px;font-weight:600;padding:9px 13px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--text);cursor:pointer}
.route-map-switch button[aria-pressed=true]{background:#274c8c;color:white;border-color:#274c8c}
.route-map-switch>span{font-size:10px;color:var(--muted);margin-left:auto}
.route-tile-status{padding:10px 22px;font-size:11px;line-height:1.5;background:#f7f9fa;color:var(--muted)}
.route-street-point{display:flex!important;align-items:center;justify-content:center;border-radius:50%;background:#f5c366;border:2px solid white;color:#403017;font:700 11px system-ui;box-shadow:0 1px 5px #0005}
.route-street-point.conflict{background:#b94c3c;color:white}.route-street-point.excluded{background:#cbd0d4}
.route-street-point.selected,.route-street-point:focus-visible{outline:3px solid #274c8c;outline-offset:2px}
.route-street-endpoint{display:flex!important;align-items:center;justify-content:center;background:#274c8c;border:2px solid white;border-radius:6px;color:white;font:700 12px system-ui;box-shadow:0 1px 5px #0005}
.route-street-map .leaflet-control-attribution{font-size:10px;background:#fffffff0;max-width:100%}
.route-street-map .leaflet-tooltip{font:12px/1.5 system-ui}
@media(max-width:700px){.route-street-map{height:430px}.route-map-switch>span{width:100%;margin-top:5px;margin-left:0}}

.route-calculator{margin:0 0 20px}.route-calculator form{padding:0 22px 18px}.route-calculator .fields{grid-template-columns:repeat(3,minmax(0,1fr))}.route-calculate-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.route-draft-pin{display:flex!important;align-items:center;justify-content:center;background:#187c69;color:white;border:2px solid white;border-radius:50%;font:700 13px system-ui;box-shadow:0 1px 5px #0005}@media(max-width:700px){.route-calculator .fields{grid-template-columns:1fr}}

.route-quote-panel{display:flex;align-items:center;gap:2rem;justify-content:space-between;padding:24px;margin:20px 0}.route-quote-panel p{max-width:760px}.route-quote-panel .btn{flex-shrink:0}.route-quote-fields{border:0;padding:0;margin:0;min-width:0}.route-mileage-target{border:1px solid #dce3e8;border-radius:10px;padding:16px;margin:12px 0}.route-cost-preview{border-top:1px solid #dce3e8;margin-top:24px;padding-top:20px}.route-cost-preview td,.route-cost-preview th{padding:12px;text-align:right}.route-cost-preview td:first-child,.route-cost-preview th:first-child{text-align:left}.route-linked-phase details{margin:12px 0}.route-linked-phase .route-unapproved{display:inline-block;margin-top:8px}@media(max-width:760px){.route-quote-panel{display:block}.route-quote-panel .btn{margin-top:12px}.route-cost-preview td,.route-cost-preview th{padding:8px}}

#route-quote-error:empty{display:none}
/* Possible conflict: recorded limit broken if the (unconfirmed) relationship applies */
.possible circle{fill:#d97706}
.possible text{fill:white}
.route-status.possible{background:#fff1d6;color:#8a4b06}
.route-street-point.possible{background:#d97706;color:white}
.route-possible-row td{background:#fff8eb}
.route-possible-count{color:#8a4b06;font-weight:600}
.route-dot-key.orange{background:#d97706}
td small.route-possible-count{display:block;margin-top:3px;font-weight:500;font-size:11px}
