*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:#eef3ec;color:#17232d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.planner-shell{min-height:100vh;padding:0}.planner-grid{position:relative;display:grid;grid-template-columns:var(--planner-left-width,328px) minmax(460px,1fr) var(--planner-right-width,360px);grid-gap:14px;gap:14px;max-width:none;min-height:100vh;overflow:hidden;margin:0;padding:16px}.candidate-card,.planner-panel,.route-detail-card,.suggestions-panel{border:1px solid #d9dfd8;border-radius:8px;background:rgb(255 255 255/.92);box-shadow:0 14px 34px rgb(35 48 43/.1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.planner-panel{z-index:2;position:-webkit-sticky;position:sticky;top:16px;align-self:start;max-height:calc(100vh - 32px);overflow:auto;padding:16px 14px;scrollbar-gutter:stable}.panel-resize-handle{position:absolute;z-index:6;border:0;border-radius:999px;background:transparent;padding:0}.panel-resize-handle:before{position:absolute;display:block;border-radius:999px;background:rgb(7 88 78/.22);content:"";opacity:0;transition:background .12s ease,opacity .12s ease}.panel-resize-handle:focus-visible:before,.panel-resize-handle:hover:before{background:rgb(7 88 78/.58);opacity:1}.panel-resize-handle.is-left,.panel-resize-handle.is-right{top:10px;bottom:10px;width:12px;cursor:ew-resize}.panel-resize-handle.is-right{right:0}.panel-resize-handle.is-left{left:0}.panel-resize-handle.is-left:before,.panel-resize-handle.is-right:before{top:50%;width:4px;height:52px;transform:translateY(-50%)}.panel-resize-handle.is-right:before{right:4px}.panel-resize-handle.is-left:before{left:4px}.panel-resize-handle.is-top{top:0;right:18px;left:18px;height:12px;cursor:ns-resize}.panel-resize-handle.is-top:before{top:4px;left:50%;width:72px;height:4px;transform:translateX(-50%)}.brand-lockup{display:flex;align-items:center;gap:12px;margin-bottom:12px}.brand-mark{display:grid;width:34px;height:34px;place-items:center;border:1px solid #c5d2cc;border-radius:8px;color:#07584e;font-size:.72rem;font-weight:900}.planner-heading{margin:0;font-size:1.5rem;line-height:1.15}.routing-status{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;border:1px solid #d7ddd7;border-radius:8px;background:#f7f9f7;padding:9px 10px;color:#42515d;font-size:.82rem}.routing-status strong{color:#6a7680;font-size:.74rem;text-transform:uppercase}.routing-status.is-live{border-color:#9ed3bd;background:#eaf7ef;color:#064e45}.routing-status.is-live strong{color:#0b6b54}.mobile-brand-chip,.mobile-map-actions,.mobile-map-bottom,.mobile-plan-sheet,.mobile-route-sheet,.mobile-sheet-handle,.mobile-side-rail{display:none}.field-stack{display:grid;grid-gap:14px;gap:14px}.mobile-options-toggle{display:none}.route-options-panel{display:contents}.field-group{display:grid;grid-gap:9px;gap:9px;min-width:0;margin:0;border:0;border-top:1px solid #eef1ec;padding:12px 0 0}.field-group:first-child{border-top:0;padding-top:0}.field-group legend{margin-bottom:2px;color:#30404c;font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.coordinate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.start-summary{border:1px solid #d8dfd9;border-radius:6px;background:#f8faf8;padding:7px 9px;color:#4a5964;font-size:.78rem;font-weight:800}.map-click-mode{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px}.map-click-mode button{min-height:34px;border:1px solid #d6ded3;border-radius:6px;background:#ffffff;color:#25413d;font-weight:900}.map-click-mode button.is-active{border-color:#006b55;background:#006b55;color:#ffffff;box-shadow:0 8px 16px rgb(0 76 61/.18)}.waypoint-panel{display:grid;grid-gap:8px;gap:8px}.waypoint-summary{border:1px solid #d8dfd9;border-radius:6px;background:#f8faf8;padding:7px 9px;color:#4a5964;font-size:.78rem;font-weight:800}.waypoint-summary.is-required{border-color:#b7d8c3;background:#edf8f0;color:#064e45}.waypoint-list{display:grid;grid-gap:6px;gap:6px;margin:0;padding:0;list-style:none}.waypoint-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;border:1px solid #d8dfd9;border-radius:6px;background:#ffffff;padding:6px 7px}.waypoint-list span{min-width:0;color:#2f3f49;font-size:.78rem;font-weight:800}.waypoint-list span small,.waypoint-list span strong{display:block}.waypoint-list span small{margin-top:2px;color:#68736f;font-size:.68rem;font-weight:750}.waypoint-row-actions{display:flex;align-items:center;gap:4px}.waypoint-actions button,.waypoint-list button{min-height:30px;border:1px solid #d6ded3;border-radius:6px;background:#ffffff;color:#25413d;padding:5px 8px;font-size:.76rem;font-weight:800}.waypoint-actions .destination-action-primary{border-color:#0b6b54;background:#0b6b54;color:#ffffff}.waypoint-actions button:disabled{cursor:not-allowed;opacity:.45}.waypoint-list button:disabled{cursor:not-allowed;opacity:.38}.preset-grid,.segmented-grid{display:grid;grid-gap:8px;gap:8px}.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px}.route-mode-grid .segment-button{display:grid;align-content:center;grid-gap:3px;gap:3px;text-align:left}.route-mode-grid .segment-button small,.route-mode-grid .segment-button strong{display:block;min-width:0}.route-mode-grid .segment-button strong{font-size:.78rem;line-height:1.1}.route-mode-grid .segment-button small{color:#60706b;font-size:.68rem;font-weight:800;line-height:1.1}.route-mode-grid .segment-button.is-selected small{color:rgb(255 255 255/.78)}.segmented-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.direction-button,.preset-button,.segment-button{min-width:0;min-height:38px;border:1px solid #d6ded3;border-radius:7px;background:#ffffff;color:#24343f;padding:8px 9px;font-size:.82rem;font-weight:800}.direction-button.is-selected,.preset-button.is-selected,.segment-button.is-selected{border-color:#07584e;background:#07584e;color:#ffffff;box-shadow:0 8px 14px rgb(7 88 78/.16)}.compact-field{gap:5px}.field-hint{margin:0;color:#5a6863;font-size:.76rem;font-weight:800;line-height:1.35}.input-with-unit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid #cbd5c8;border-radius:7px;background:#ffffff}.input-with-unit input{border:0;background:transparent}.input-with-unit span{padding:0 10px;color:#5e6b75;font-size:.78rem;font-weight:800}.direction-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px}.speed-field-group{gap:8px}.speed-control{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center}.speed-control label{color:#415160;font-size:.84rem;font-weight:700}.speed-control strong{color:#07584e;font-size:.88rem}.speed-control input[type=range]{grid-column:1/-1;width:100%;accent-color:#07584e}.speed-control .input-with-unit{grid-column:1/-1}.recent-jobs{margin-top:18px;border-top:1px solid #eef1ec;padding-top:14px}.recent-jobs h2{margin:0 0 8px;color:#415160;font-size:.92rem}.recent-job-list{display:grid;grid-gap:7px;gap:7px}.recent-job-list button{display:grid;width:100%;border:1px solid #cbd5c8;border-radius:6px;background:#ffffff;padding:8px 10px;text-align:left}.recent-job-list span{overflow:hidden;color:#23333f;font-size:.78rem;text-overflow:ellipsis}.recent-job-list strong{margin-top:2px;color:#136f63;font-size:.78rem}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;margin-bottom:10px}.search-row input{min-width:0;border:1px solid #cbd5c8;border-radius:7px;padding:9px 10px}.search-results button,.search-row button{border:1px solid #aebdad;border-radius:7px;background:#ffffff;color:#25413d;font-weight:700}.search-row button{padding:0 12px}.search-results{display:grid;grid-gap:6px;gap:6px;margin:0 0 14px}.search-results button{width:100%;padding:8px 10px;text-align:left;line-height:1.35}.current-location-button{display:flex;width:100%;min-height:40px;align-items:center;gap:9px;margin:0 0 10px;border:1px solid #cbd5c8;border-radius:7px;background:#f8faf7;color:#21443a;padding:8px 10px;font-size:.78rem;font-weight:700;text-align:left}.current-location-button span{color:#0b6b54;font-size:1rem;line-height:1}.optional-points-details{border-top:1px solid #e7ece7;border-bottom:1px solid #e7ece7}.optional-points-details>summary{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none}.optional-points-details>summary::-webkit-details-marker{display:none}.optional-points-details>summary strong{color:#263c34;font-size:.76rem;font-weight:750}.optional-points-details>summary span{color:#68756f;font-size:.7rem;font-weight:650}.optional-points-details>summary:after{color:#0b6b54;content:"+";font-weight:800}.optional-points-details[open]>summary:after{content:"−"}.optional-points-details>.field-group:first-of-type{padding-top:5px}.field{display:grid;grid-gap:6px;gap:6px}.field label{font-size:.84rem;font-weight:700;color:#415160}.field input,.field select{width:100%;border:1px solid #cbd5c8;border-radius:7px;padding:9px 10px;background:#ffffff;color:#1f2933}.generate-button{width:100%;min-height:48px;border:0;border-radius:8px;background:linear-gradient(180deg,#076255,#064f45);color:#ffffff;font-weight:800;box-shadow:0 12px 24px rgb(6 79 69/.22)}.generate-button:disabled{cursor:wait;opacity:.65}.planner-alert{border:1px solid #d8894f;border-radius:7px;background:#fff4e8;color:#75320d;padding:10px 11px;font-size:.84rem;font-weight:850;line-height:1.35}.route-stage{z-index:2;position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:calc(100vh - 32px);grid-gap:12px;gap:12px;pointer-events:none}.map-toolbar{position:static;z-index:4;display:flex;align-self:flex-start;flex-wrap:wrap;gap:8px;padding:0;pointer-events:auto}.map-chip{display:flex;align-items:center;gap:8px;min-height:42px;border:1px solid #d8dfd9;border-radius:8px;background:rgb(255 255 255/.95);padding:8px 12px;box-shadow:0 8px 22px rgb(19 34 31/.1)}.map-chip strong{color:#13222c;font-size:.9rem}.map-chip span{color:#51606c;font-size:.82rem}.map-speed-inline{display:inline-grid;grid-template-columns:auto 4.2rem auto;align-items:center;gap:4px;color:#51606c;font-size:.78rem;font-weight:800}.map-speed-inline input{width:100%;min-width:0;border:1px solid #c9d4cc;border-radius:999px;background:#ffffff;padding:3px 7px;color:#13222c;font:inherit;text-align:right}.map-service-filters{display:flex;min-height:42px;align-items:center;flex-wrap:wrap;gap:6px;border:1px solid #d8dfd9;border-radius:8px;background:rgb(255 255 255/.95);padding:6px;box-shadow:0 8px 22px rgb(19 34 31/.1);pointer-events:auto}.map-service-filters button{min-height:30px;border:1px solid #cbd5c8;border-radius:6px;background:#ffffff;color:#25413d;padding:5px 8px;font-size:.76rem;font-weight:850}.map-service-filters button[aria-pressed=true]{border-color:#07584e;background:#07584e;color:#ffffff}.map-service-filter-status{flex-basis:100%;color:#51606c;font-size:.72rem;font-weight:850;line-height:1.2}.ultra-cockpit{position:absolute;z-index:4;top:58px;left:0;display:grid;grid-template-columns:1.25fr repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;width:min(900px,calc(100% - 12px));border:1px solid #d8dfd9;border-radius:8px;background:rgb(255 255 255/.93);box-shadow:0 12px 30px rgb(19 34 31/.12);padding:8px;pointer-events:auto}.ultra-cockpit div{border-left:3px solid #cdd8ce;padding-left:8px}.ultra-cockpit span{display:block;color:#64717d;font-size:.68rem;font-weight:850;text-transform:uppercase}.ultra-cockpit strong{display:block;margin-top:2px;color:#13222c;font-size:.82rem}.ultra-cockpit small{display:block;margin-top:2px;overflow:hidden;color:#5c6a72;font-size:.67rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.ultra-readiness-tile.is-ready{border-left-color:#0b8f6f}.ultra-readiness-tile.is-warning{border-left-color:#c68714}.ultra-readiness-tile.is-open{border-left-color:#6b7480}.results-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.results-header h2{margin:0;font-size:1.1rem}.results-actions{display:flex;align-items:center;gap:8px}.route-direction-toggle{min-height:34px;border:1px solid #aebdad;border-radius:6px;background:#ffffff;color:#25413d;padding:7px 10px;font-weight:800;white-space:nowrap}.route-direction-toggle[aria-pressed=true]{border-color:#9ed3bd;background:#eaf7ef;color:#07584e}.status-line{min-height:1.5rem;color:#5b6873;font-size:.9rem}.route-direction-state{margin-top:4px;color:#415160;font-size:.82rem;font-weight:800}.route-display-controls{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:0;border:0;border-radius:0;background:transparent;padding:0}.route-display-controls span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.route-display-buttons{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:6px}.route-display-button{min-height:30px;border:1px solid #cbd5c8;border-radius:6px;background:#ffffff;color:#25413d;padding:5px 8px;font-size:.78rem;font-weight:850}.route-display-button.is-selected{border-color:#07584e;background:#07584e;color:#ffffff}.candidate-card,.candidate-list{display:grid;grid-gap:12px;gap:12px}.candidate-card{padding:14px;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.candidate-card.is-selected{border-color:#0b6b54;box-shadow:0 12px 30px rgb(6 79 69/.16)}.candidate-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.candidate-title h3{display:flex;align-items:center;gap:9px;margin:0;font-size:1rem}.candidate-rank{display:grid;width:26px;height:26px;place-items:center;border-radius:999px;background:#edf1ed;color:#33424d;font-size:.82rem}.score-pill{display:grid;min-width:72px;border-radius:999px;background:#e8f4ed;color:#105f54;padding:4px 10px;text-align:center;line-height:1.05}.score-pill strong{display:block;font-size:1rem;font-weight:900}.score-pill span{display:block;margin-top:2px;font-size:.68rem;font-weight:800}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.route-metrics-grid{border-top:1px solid #eef1ec;padding-top:8px}.candidate-mobile-summary{display:none;margin:-2px 0 0;color:#52615d;font-size:.78rem;font-weight:800;line-height:1.35}.mobile-route-traffic-summary{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:12px;margin:0;border:1px solid #e1e9e2;border-radius:10px;background:#f7faf6;padding:7px 10px;color:#263c34;font-size:.76rem;font-weight:800}.mobile-route-traffic-summary span{color:#65736d;text-align:right}.surface-enrichment-note{margin:0;border:1px solid #eadf9b;border-radius:8px;background:#fffbe8;color:#68590d;padding:8px 10px;font-size:.82rem;font-weight:850;line-height:1.35}.surface-enrichment-note.is-compact{padding:7px 9px;font-size:.78rem}.planning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.manual-start-details{display:grid;grid-gap:8px;gap:8px}.manual-start-details summary{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:3px 10px;gap:3px 10px;align-items:center;min-height:38px;cursor:pointer;border:1px solid #d8dfd9;border-radius:7px;background:#f8faf8;padding:7px 9px;list-style:none}.manual-start-details summary::-webkit-details-marker{display:none}.manual-start-details summary:after{content:"+";color:#0b6b54;font-weight:950}.manual-start-details[open] summary:after{content:"-"}.manual-start-details summary strong{color:#23333f;font-size:.8rem}.manual-start-details summary span{grid-column:1;color:#64706c;font-size:.72rem;font-weight:800}.manual-start-content{display:grid;grid-gap:8px;gap:8px}.manual-start-details:not([open]) .manual-start-content{display:none}.ultra-options-group{gap:9px}.ultra-option-panel{display:grid;grid-gap:8px;gap:8px;border:1px solid #dce6df;border-radius:8px;background:#fbfdfb;padding:0}.ultra-option-panel+.ultra-option-panel{margin-top:8px}.ultra-option-panel summary{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:3px 10px;gap:3px 10px;align-items:center;min-height:42px;cursor:pointer;padding:8px 10px;list-style:none}.ultra-option-panel summary::-webkit-details-marker{display:none}.ultra-option-panel summary:after{content:"+";color:#0b6b54;font-size:1rem;font-weight:900}.ultra-option-panel[open] summary:after{content:"-"}.ultra-option-panel summary strong{color:#12362f;font-size:.86rem}.ultra-option-panel summary span{grid-column:1;color:#61706a;font-size:.72rem;font-weight:750}.ultra-option-panel>:not(summary){margin:0 8px 8px}.gpx-import-panel{display:grid;grid-gap:8px;gap:8px;border:1px solid #dce6df;border-radius:8px;background:#f8fbf8;padding:9px}.gpx-import-panel strong{display:block;color:#12362f;font-size:.86rem}.gpx-import-panel small,.gpx-import-panel span{color:#59676f;font-size:.74rem;font-weight:750}.gpx-upload-control{position:relative;display:grid;min-height:38px;cursor:pointer;place-items:center;border:1px solid #0b6b54;border-radius:6px;background:#0b6b54;color:#ffffff;font-weight:900}.gpx-upload-control span{color:#ffffff;font-size:.8rem}.gpx-upload-control input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.gpx-import-summary{display:grid;grid-gap:3px;gap:3px;border-left:3px solid #0b6b54;background:#ffffff;padding:7px 8px}.gpx-import-summary button{justify-self:start;min-height:28px;border:1px solid #cad8d0;border-radius:6px;background:#ffffff;color:#25413d;padding:4px 8px;font-size:.72rem;font-weight:900}.resupply-summary{display:grid;grid-gap:8px;gap:8px;border-top:1px solid #eef1ec;border-bottom:1px solid #eef1ec;background:#f7faf7;padding:9px 0}.resupply-summary strong{display:block;color:#12362f;font-size:.86rem}.resupply-summary span{color:#586672;font-size:.78rem;font-weight:800}.ultra-readiness-badge{display:grid;grid-gap:2px;gap:2px;border:1px solid #dbe5dd;border-radius:8px;background:#f9fcfa;padding:8px}.ultra-readiness-badge.is-ready{border-color:#b8d9ce;background:#f1fbf7}.ultra-readiness-badge.is-warning{border-color:#e2c985;background:#fffaf0}.ultra-readiness-badge.is-open{border-color:#d1d9df;background:#f7f9fb}.ultra-readiness-badge span,.ultra-readiness-checklist span{color:#63717a;font-size:.68rem;font-weight:850;text-transform:uppercase}.ultra-readiness-badge strong,.ultra-readiness-checklist strong{color:#12362f;font-size:.86rem}.ultra-readiness-badge small,.ultra-readiness-checklist small{color:#53626a;font-size:.72rem;font-weight:750}.resupply-tags{display:flex;flex-wrap:wrap;gap:6px}.resupply-tags span{border:1px solid #d5e1d6;border-radius:999px;background:#ffffff;padding:3px 7px;color:#25413d;font-size:.7rem}.resupply-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:4px 10px;gap:4px 10px;border-radius:6px;background:#ffffff;padding:7px 8px}.resupply-detail-grid span{color:#74807d;font-size:.68rem;font-weight:800;text-transform:uppercase}.resupply-detail-grid strong{color:#12362f;font-size:.8rem}.resupply-stop-list{display:grid;grid-gap:6px;gap:6px;margin:0;padding:0;list-style:none}.resupply-stop-list li{display:grid;grid-template-columns:minmax(70px,auto) minmax(0,1fr);grid-gap:2px 8px;gap:2px 8px;align-items:baseline;border-left:2px solid #0b6b54;padding-left:8px}.resupply-stop-list li span{color:#0b6b54;font-size:.68rem;font-weight:900;text-transform:uppercase}.resupply-stop-list li strong{overflow:hidden;color:#22312d;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.resupply-stop-list li small{grid-column:2;color:#68736f;font-size:.72rem;font-weight:750}.resupply-stop-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;padding-top:4px}.resupply-stop-actions button{min-height:28px;border:1px solid #c9ddd6;border-radius:6px;background:#ffffff;color:#07584e;padding:4px 7px;font-size:.7rem;font-weight:900}.resupply-stop-actions button:focus-visible,.resupply-stop-actions button:hover{border-color:#07584e;background:#f1fbf7;outline:none}.manual-stop-form{display:grid;grid-gap:7px;gap:7px;border:1px solid #d5e1d6;border-radius:8px;background:#ffffff;padding:8px}.manual-stop-form strong{color:#12362f;font-size:.78rem}.manual-stop-form label{display:grid;grid-gap:3px;gap:3px}.manual-stop-form label span{color:#6a7671;font-size:.66rem;font-weight:900;text-transform:uppercase}.manual-stop-form input,.manual-stop-form select{min-width:0;min-height:32px;border:1px solid #cad8d0;border-radius:6px;background:#ffffff;color:#18231f;padding:5px 7px;font-size:.78rem;font-weight:800}.manual-stop-grid{display:grid;grid-template-columns:minmax(64px,.65fr) minmax(110px,1fr);grid-gap:7px;gap:7px}.manual-stop-form button{min-height:32px;border:1px solid #0b6b54;border-radius:6px;background:#0b6b54;color:#ffffff;padding:5px 8px;font-size:.74rem;font-weight:900}.manual-stop-form button:disabled{cursor:not-allowed;border-color:#cbd6d1;background:#edf2ef;color:#7a8782}.stage-plan-summary{display:grid;grid-gap:8px;gap:8px;border-left:3px solid #0b6b54;background:#f2f7f5;padding:8px 10px}.stage-plan-summary strong{display:block;color:#12362f;font-size:.86rem}.stage-plan-summary span{color:#586672;font-size:.78rem;font-weight:800}.stage-plan-list{display:flex;flex-wrap:wrap;gap:6px}.stage-plan-list span{border:1px solid #c9ddd6;border-radius:999px;background:#ffffff;padding:3px 7px;color:#25413d;font-size:.7rem}.metric{border-left:3px solid #cdd8ce;padding-left:8px}.metric span{display:block;color:#64717d;font-size:.76rem}.metric strong{display:block;margin-top:2px}.explanation{margin:0;color:#415160;line-height:1.45}.candidate-actions{display:flex;flex-wrap:wrap;gap:8px}.candidate-actions a,.candidate-actions button{min-height:34px;border:1px solid #aebdad;border-radius:6px;background:#ffffff;color:#25413d;padding:7px 10px;font-weight:800;text-decoration:none}.candidate-actions .secondary-action.is-active{border-color:#9ed3bd;background:#eaf7ef;color:#07584e}.empty-state{display:grid;grid-gap:7px;gap:7px;min-height:140px;align-content:center;border:1px dashed #b9c4b7;border-radius:8px;background:linear-gradient(180deg,rgb(255 255 255/.72),rgb(246 250 246/.9));padding:20px;color:#5b6873}.empty-state strong{color:#20312c;font-size:1rem;line-height:1.1}.empty-state span{color:#5b6873;font-size:.88rem;font-weight:750;line-height:1.35}.debug-panel{margin-top:14px;margin-bottom:0;border:1px solid #d8ddd2;border-radius:8px;background:#ffffff;padding:12px}.debug-panel summary{cursor:pointer;font-weight:800}.debug-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:10px}.debug-list{margin:10px 0 0;padding-left:18px;color:#415160}.debug-more{margin:8px 0 0;color:#66737d;font-size:.82rem}.map-preview{position:absolute;inset:0;z-index:0;height:auto;min-height:0;margin:0;overflow:hidden;border:0;border-radius:0;background:#dbe5d8}.leaflet-map{position:absolute;inset:0;z-index:1}.leaflet-container{width:100%;height:100%;color:#17232d;font:inherit}.leaflet-overlay-pane svg{pointer-events:auto}.leaflet-overlay-pane path.leaflet-interactive{pointer-events:visibleStroke}.alternative-route-hitbox,.alternative-route-line{cursor:pointer}.route-segment-line.is-selected{filter:drop-shadow(0 2px 4px rgb(17 24 39/.28))}.primary-route-line.is-progress{filter:drop-shadow(0 0 2px rgb(255 255 255/.95)) drop-shadow(0 2px 6px rgb(146 64 14/.36))}.map-empty{top:84px;background:rgb(255 255 255/.92);color:#415160}.map-empty,.map-route-hint{position:absolute;left:calc(var(--planner-left-width, 300px) + 36px);z-index:3;max-width:calc(100% - 24px);border-radius:6px;padding:8px 10px;font-size:.86rem}.map-route-hint{bottom:34vh;top:auto;background:rgb(255 255 255/.94);color:#23333f;font-weight:800}.map-route-hint.is-progress{border:1px solid #d2b56a;background:rgb(255 251 235/.96);color:#5d4212}.map-route-hint.is-rejected{border:1px solid #e2a17f;background:rgb(255 243 235/.96);color:#873511}.map-fit-button{position:absolute;right:calc(var(--planner-right-width, 304px) + 24px);top:20px;z-index:3;min-height:34px;border:1px solid #c8d5ce;border-radius:6px;background:rgb(255 255 255/.95);color:#25413d;padding:7px 10px;font-weight:800;box-shadow:0 8px 18px rgb(19 34 31/.12)}.map-attribution{position:absolute;right:8px;bottom:8px;z-index:3;border-radius:4px;background:rgb(255 255 255/.9);padding:3px 6px;color:#33414d;font-size:.75rem}.map-attribution a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.route-direction-marker{display:grid;width:24px;height:24px;place-items:center;background:transparent;filter:drop-shadow(0 2px 4px rgb(8 31 28/.32))}.route-direction-marker span{display:block;width:21px;height:17px;background:#ffffff;-webkit-clip-path:polygon(6% 12%,100% 50%,6% 88%,25% 50%);clip-path:polygon(6% 12%,100% 50%,6% 88%,25% 50%);filter:drop-shadow(0 0 1px #064f45) drop-shadow(0 0 2px rgb(6 79 69/.72));opacity:.96;transform:rotate(var(--route-arrow-rotation));transform-origin:center}.route-progress-head{display:grid;width:22px;height:22px;place-items:center;border-radius:999px;background:rgb(255 247 237/.88);filter:drop-shadow(0 0 2px #ffffff) drop-shadow(0 3px 7px rgb(120 53 15/.34))}.route-progress-head span{display:block;width:13px;height:13px;border:2px solid #ffffff;border-radius:999px;background:#d97706;box-shadow:0 0 0 3px rgb(217 119 6/.22)}.waypoint-marker{display:grid;width:24px;height:24px;place-items:center;border:2px solid #ffffff;border-radius:999px;background:#0b6b54;box-shadow:0 3px 10px rgb(8 31 28/.24);color:#ffffff;font-size:.72rem;font-weight:900}.waypoint-marker span{display:grid;width:100%;height:100%;place-items:center}.destination-marker{display:grid;width:26px;height:26px;place-items:center;border:2px solid #ffffff;border-radius:999px;background:#a54d1f;box-shadow:0 3px 10px rgb(61 26 8/.24);color:#ffffff;font-size:.72rem;font-weight:900}.destination-marker span{display:grid;width:100%;height:100%;place-items:center}.service-marker{display:grid;width:24px;height:24px;place-items:center;border:2px solid #ffffff;border-radius:999px;background:#164e63;box-shadow:0 3px 10px rgb(8 31 28/.24);color:#ffffff;font-size:.62rem;font-weight:900}.service-marker span{display:grid;width:100%;height:100%;place-items:center}.service-marker-drinking_water{background:#0f766e}.service-marker-fuel{background:#9a3412}.service-marker-search{border-color:#fff7ed;background:#7c580f}.service-marker-bakery,.service-marker-cafe,.service-marker-restaurant,.service-marker-supermarket{background:#6b5f12}.map-service-marker{width:22px;height:22px;border-width:2px;box-shadow:0 2px 8px rgb(8 31 28/.2);font-size:.58rem}.map-service-cluster{width:30px;height:30px;border-width:2px;background:#334155;box-shadow:0 4px 12px rgb(15 23 42/.26);font-size:.7rem}.map-service-cluster,.map-service-marker{cursor:pointer}.map-poi-status{position:absolute;z-index:11;left:50%;bottom:18px;transform:translateX(-50%);border:1px solid #c9d4cc;border-radius:999px;background:rgb(255 255 255/.94);padding:8px 12px;color:#334155;font-size:.78rem;font-weight:900;box-shadow:0 10px 26px rgb(19 34 31/.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.service-marker-bike_shop{background:#07584e}.service-marker-accommodation,.service-marker-shelter{background:#345a7a}.map-service-inspector{position:absolute;z-index:12;right:16px;bottom:54px;display:grid;width:min(320px,calc(100% - 32px));grid-gap:12px;gap:12px;border:1px solid #c9d4cc;border-radius:8px;background:rgb(255 255 255/.96);padding:12px;box-shadow:0 16px 38px rgb(19 34 31/.16)}.map-service-inspector div{display:grid;grid-gap:3px;gap:3px}.map-service-inspector strong{color:#07584e;font-size:.78rem;text-transform:uppercase}.map-service-inspector span{color:#13222c;font-size:.96rem;font-weight:900}.map-service-inspector small{color:#51606c;font-size:.78rem;font-weight:700}.map-service-inspector p{margin:2px 0 0;color:#51606c;font-size:.78rem;font-weight:750;line-height:1.35}.map-service-inspector div:last-child{grid-template-columns:1fr auto}.map-service-inspector button{border:1px solid #c9d4cc;border-radius:999px;background:#ffffff;padding:8px 10px;color:#13222c;font-size:.8rem;font-weight:900}.map-service-inspector .map-service-add-action{border-color:#07584e;background:#07584e;color:#ffffff}.stage-marker{display:grid;grid-template-columns:22px minmax(0,1fr);width:116px;height:34px;align-items:center;grid-gap:2px 6px;gap:2px 6px;border:2px solid #ffffff;border-radius:8px;background:#102f2a;box-shadow:0 4px 12px rgb(8 31 28/.28);color:#ffffff;padding:3px 7px 3px 4px;white-space:nowrap}.stage-marker.is-ready{background:#07584e}.stage-marker.is-warning{background:#77530d}.stage-marker.is-open{background:#43515c}.stage-marker span{grid-row:1/3;display:grid;width:22px;height:22px;flex:0 0 auto;place-items:center;border-radius:999px;background:#dcefc9;color:#102f2a;font-size:.66rem;font-weight:950}.stage-marker strong{color:#ffffff;font-size:.66rem;font-weight:900}.stage-marker small,.stage-marker strong{overflow:hidden;line-height:1;text-overflow:ellipsis}.stage-marker small{color:rgb(255 255 255/.86);font-size:.58rem;font-weight:850}.route-status-card{border:1px solid #d9dfd8;border-radius:8px;background:rgb(255 255 255/.94);padding:16px;box-shadow:0 18px 42px rgb(16 33 30/.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto}.route-progress-panel{display:grid;grid-gap:12px;gap:12px}.route-progress-panel.is-active{border-radius:8px;background:linear-gradient(180deg,rgb(234 247 239/.94),rgb(255 255 255/.92))}.route-progress-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.route-progress-heading h2{margin:0 0 4px;color:#10251f;font-size:1.2rem}.route-progress-heading .secondary-action{min-height:34px;border:1px solid #aebdad;border-radius:6px;background:#ffffff;color:#25413d;padding:7px 10px;font-weight:800;white-space:nowrap}.route-progress-heading .secondary-action:focus-visible,.route-progress-heading .secondary-action:hover{border-color:#07584e;color:#07584e}.route-progress-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.route-progress-grid .metric{min-width:0;border-left-color:#9ed3bd;background:rgb(255 255 255/.7);padding-top:6px;padding-bottom:6px}.route-progress-meter{overflow:hidden;height:8px;border-radius:999px;background:#dce7dd}.route-progress-meter span{display:block;height:100%;border-radius:inherit;background:#07584e;transition:width .18s ease}.rejected-preview-list div,.route-progress-current{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #d8e3d9;border-radius:6px;background:rgb(255 255 255/.82);padding:8px 10px}.rejected-preview-list strong,.route-progress-current strong{color:#07584e;font-size:.82rem}.rejected-preview-list span,.route-progress-current span{color:#43525e;font-size:.82rem;font-weight:800}.rejected-preview-list{display:grid;grid-gap:6px;gap:6px}.route-bottom-stack{display:grid;align-self:end;grid-gap:10px;gap:10px;min-width:0;min-height:0;max-height:calc(100vh - 88px);overflow:auto;pointer-events:none}.route-inline-status{width:-moz-fit-content;width:fit-content;max-width:min(100%,680px);border:1px solid #cbd8cf;border-radius:8px;background:rgb(255 255 255/.95);padding:9px 12px;color:#25413d;font-size:.84rem;font-weight:800;line-height:1.35;box-shadow:0 10px 24px rgb(16 33 30/.12);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.route-insight-dock{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);grid-gap:10px;gap:10px;height:var(--planner-bottom-height,318px);min-height:0;max-height:min(42vh,420px);overflow:hidden;border:1px solid #e0e7dd;border-radius:8px;background:rgb(255 255 255/.93);padding:12px;box-shadow:0 14px 34px rgb(35 48 43/.12);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto}.route-insight-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.route-insight-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0;flex-wrap:nowrap}.route-insight-tabs{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;max-width:100%;gap:4px;border:1px solid #dce4da;border-radius:7px;background:#f7faf6;padding:3px}.route-insight-tabs button{min-height:30px;border:0;border-radius:5px;background:transparent;color:#46545e;padding:5px 10px;font-size:.78rem;font-weight:900}.route-insight-tabs button.is-active{background:#07584e;color:#ffffff;box-shadow:0 6px 14px rgb(7 88 78/.18)}.route-insight-content{min-width:0;min-height:0;overflow:auto}.route-profile-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);grid-gap:12px;gap:12px;min-width:0;align-items:stretch}.stage-detail-panel{display:grid;grid-gap:10px;gap:10px;border:1px solid #e1e7df;border-radius:8px;background:#fbfdfb;padding:10px}.stage-detail-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.manual-stage-form{display:grid;grid-gap:8px;gap:8px;border:1px solid #d9e4db;border-radius:8px;background:#ffffff;padding:9px}.manual-stage-form form{display:grid;grid-template-columns:minmax(130px,1fr) auto;grid-gap:8px;gap:8px;align-items:end}.manual-stage-form .stage-manual-stop-form,.stage-split-form{border-bottom:1px solid #e4ebe6;padding-bottom:8px}.manual-stage-form .stage-manual-stop-form{display:grid;grid-template-columns:none;grid-gap:7px;gap:7px;align-items:stretch}.stage-manual-stop-form strong{color:#12362f;font-size:.78rem}.manual-stage-form label{display:grid;grid-gap:3px;gap:3px}.manual-stage-form label span{color:#60706b;font-size:.68rem;font-weight:900;text-transform:uppercase}.manual-stage-form input,.manual-stage-form select{min-height:32px;border:1px solid #cad8d0;border-radius:6px;background:#ffffff;color:#18231f;padding:5px 7px;font-size:.78rem;font-weight:800}.manual-stage-form button{min-height:32px;border:1px solid #0b6b54;border-radius:6px;background:#0b6b54;color:#ffffff;padding:5px 8px;font-size:.74rem;font-weight:900}.manual-stage-form button:disabled{cursor:not-allowed;border-color:#cbd6d1;background:#edf2ef;color:#7a8782}.manual-stage-break-list{display:flex;flex-wrap:wrap;gap:6px}.manual-stage-break-list button{min-height:28px;border-color:#c9ddd6;background:#f8fbf8;color:#07584e}.ultra-readiness-checklist{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.6fr);grid-gap:10px;gap:10px;align-items:center;border:1px solid #dbe5dd;border-radius:8px;background:#ffffff;padding:9px 10px}.ultra-readiness-checklist.is-ready{border-color:#b8d9ce;background:#f1fbf7}.ultra-readiness-checklist.is-warning{border-color:#e2c985;background:#fffaf0}.ultra-readiness-checklist.is-open{border-color:#d1d9df;background:#f7f9fb}.ultra-readiness-checklist div{display:grid;grid-gap:2px;gap:2px}.ultra-readiness-checklist ul{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;margin:0;padding:0;list-style:none}.ultra-readiness-checklist li{border:1px solid rgb(18 54 47/.14);border-radius:999px;background:rgb(255 255 255/.72);padding:4px 8px;color:#2f4742;font-size:.72rem;font-weight:800}.stage-detail-list{display:grid;grid-gap:6px;gap:6px;margin:0;padding:0;list-style:none}.stage-detail-list li{display:grid;grid-gap:6px;gap:6px;border:0}.stage-detail-button{display:grid;grid-template-columns:minmax(72px,.75fr) minmax(84px,.85fr) minmax(94px,1fr) minmax(94px,1fr) minmax(86px,.85fr);grid-gap:8px;gap:8px;align-items:center;border:1px solid #d9e4db;border-radius:7px;background:#ffffff;padding:8px 9px;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.stage-detail-button:focus-visible,.stage-detail-button:hover{border-color:#8fc4b6;box-shadow:0 8px 18px rgb(7 88 78/.12);outline:none;transform:translateY(-1px)}.stage-detail-list li.has-warning .stage-detail-button{border-color:#e5cf9c;background:#fffdf5}.stage-detail-list li.is-selected .stage-detail-button{border-color:#07584e;background:#f1fbf7;box-shadow:0 0 0 2px rgb(7 88 78/.12)}.stage-detail-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.stage-detail-actions button,.stage-gpx-download{justify-self:start;border:1px solid #c9ddd6;border-radius:6px;background:#ffffff;padding:5px 8px;color:#07584e;font-size:.72rem;font-weight:900;text-decoration:none}.stage-detail-actions span{border:1px solid #d9e4db;border-radius:6px;background:#f8fbf8;padding:5px 8px;color:#2f4742;font-size:.72rem;font-weight:850}.stage-detail-actions button:focus-visible,.stage-detail-actions button:hover,.stage-gpx-download:focus-visible,.stage-gpx-download:hover{border-color:#07584e;background:#f1fbf7;outline:none}.stage-detail-list strong,.stage-service-timeline strong{display:block;color:#12362f;font-size:.82rem}.stage-detail-list span{display:block;margin-top:2px;color:#5b6872;font-size:.72rem;font-weight:800}.stage-end-service{grid-column:1/-1;display:grid;grid-template-columns:minmax(120px,auto) minmax(0,1fr);grid-gap:6px 10px;gap:6px 10px;align-items:baseline;border:1px solid #d9e4db;border-radius:7px;background:#f8fbf8;padding:7px 9px}.stage-end-service.is-ready{border-color:#b8d9ce;background:#f1fbf7}.stage-end-service.is-warning{border-color:#e2c985;background:#fffaf0}.stage-end-service.is-open{border-color:#d1d9df;background:#f7f9fb}.stage-end-service strong{color:#12362f}.stage-end-service span{margin-top:0}.stage-stop-preview{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid #edf2ed;padding-top:7px}.stage-stop-preview span{border:1px solid #d9e4db;border-radius:999px;background:#f8fbf8;padding:4px 8px;color:#324641;font-size:.72rem;font-weight:800}.stage-stop-preview strong{display:inline;color:#0b6b54;font-size:.72rem}.stage-roadbook-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,minmax(82px,1fr));grid-gap:6px;gap:6px;border-top:1px solid #edf2ed;padding-top:7px}.stage-roadbook-row span{display:grid;grid-gap:2px;gap:2px;margin:0;border:1px solid #d9e4db;border-radius:7px;background:#f8fbf8;padding:5px 7px;color:#334943}.stage-roadbook-row span.is-ready{border-color:#b8d9ce;background:#f1fbf7}.stage-roadbook-row span.is-open,.stage-roadbook-row span.is-warning{border-color:#e2c985;background:#fffaf0}.stage-roadbook-row small{color:#6a7671;font-size:.62rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.stage-roadbook-row strong{color:#12362f;font-size:.76rem}.stage-service-timeline,.stage-warning-row{display:flex;flex-wrap:wrap;gap:6px}.stage-service-chip,.stage-service-more,.stage-warning-row span{border:1px solid #c9ddd6;border-radius:8px;background:#ffffff;padding:4px 8px;color:#25413d;font-size:.72rem;font-weight:800}.stage-service-chip{display:inline-grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;max-width:min(100%,320px)}.stage-service-chip.is-dismissed{border-color:#d4dbe0;background:#f6f8f9;color:#66727a}.stage-service-chip.is-manual{border-color:#b8d9ce;background:#f1fbf7}.stage-service-chip span{min-width:0}.stage-service-chip small{display:block;margin-top:2px;color:#6f7b75;font-size:.66rem;font-weight:900;text-transform:uppercase}.stage-service-chip button{min-height:26px;border:1px solid #c9ddd6;border-radius:6px;background:#ffffff;color:#07584e;padding:3px 6px;font-size:.68rem;font-weight:900}.stage-service-chip button:focus-visible,.stage-service-chip button:hover{border-color:#07584e;background:#f1fbf7;outline:none}.stage-warning-row span{border-radius:999px;border-color:#e5cf9c;background:#fff9e8;color:#72550d}.route-display-legend{position:absolute;right:calc(var(--planner-right-width, 304px) + 36px);bottom:20px;z-index:3;display:flex;max-width:min(520px,calc(100% - 24px));flex-wrap:wrap;justify-content:flex-end;gap:7px;border:1px solid #d9e0d6;border-radius:6px;background:rgb(255 255 255/.94);padding:7px;box-shadow:0 8px 18px rgb(19 34 31/.1)}.route-display-legend span{display:inline-flex;align-items:center;gap:5px;color:#33414d;font-size:.74rem;font-weight:800}.route-display-legend i{display:block;width:18px;height:4px;border-radius:999px}.selected-detail-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:14px}.route-analysis{display:grid;grid-gap:14px;gap:14px;min-width:0}.elevation-panel{display:grid;grid-gap:10px;gap:10px;min-height:0;border:1px solid #e4eadf;border-radius:8px;background:linear-gradient(180deg,#fefffd,#f7fbf5);padding:11px 12px}.elevation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.elevation-chart{display:block;width:100%;height:clamp(96px,13vh,138px);overflow:visible;cursor:crosshair;touch-action:none}.elevation-chart text{fill:#6b7680;font-size:.68rem;font-weight:800}.elevation-grid-line{stroke:#d9e4d5;stroke-dasharray:4 6;stroke-width:1}.elevation-area{fill:#9fcf83;opacity:.34}.elevation-line{fill:none;stroke:#2f7d3a;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.5;filter:drop-shadow(0 2px 2px rgb(47 125 58/.16))}.elevation-hover-line{stroke:#0b5f4f;stroke-dasharray:3 4;stroke-width:1.4}.elevation-hover-dot{fill:#f59e0b;stroke:#ffffff;stroke-width:2}.elevation-hover-label rect{fill:rgb(255 255 255/.96);stroke:#d5dfd2;stroke-width:1}.elevation-hover-label text{fill:#1f302f;font-size:.62rem;font-weight:900}.surface-strip-panel{display:grid;grid-gap:8px;gap:8px;min-width:0;min-height:0;overflow:auto;border:1px solid #e4eadf;border-radius:8px;background:linear-gradient(180deg,#fefffd,#f7fbf5);padding:10px 12px}.surface-strip-panel .analysis-heading{margin-bottom:0}.material-strip-section{display:grid;grid-gap:6px;gap:6px;min-width:0}.material-strip-title{color:#263742;font-size:.76rem;font-weight:900}.material-strip-section+.material-strip-section{border-top:1px solid #e8eee5;padding-top:8px}.surface-strip{display:flex;width:100%;min-width:0;height:14px;overflow:hidden;border-radius:999px;background:#e7ece4;box-shadow:inset 0 0 0 1px rgb(7 88 78/.08)}.surface-strip span{min-width:2px}.surface-strip-legend{display:grid;grid-gap:5px;gap:5px;min-width:0;margin:0}.surface-strip-legend div{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center}.surface-strip-legend dt{display:inline-flex;align-items:center;gap:6px;min-width:0;color:#35434d;font-size:.74rem;font-weight:850}.surface-strip-legend dd{margin:0;color:#6a747c;font-size:.74rem;font-weight:850;white-space:nowrap}.surface-strip-legend dt span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.surface-strip-legend i{display:block;width:18px;height:5px;border-radius:999px;flex:0 0 auto}.analysis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.analysis-panel,.segment-table-panel{min-width:0;border:1px solid #e1e7df;border-radius:8px;background:#fbfcfb;padding:12px}.analysis-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.analysis-heading>div{display:grid;grid-gap:2px;gap:2px}.analysis-heading h3{margin:0;color:#22313c;font-size:.88rem}.analysis-heading span{color:#66737d;font-size:.78rem}.stage-plan-download{min-height:30px;border:1px solid #aebdad;border-radius:6px;background:#ffffff;color:#25413d;padding:6px 9px;font-size:.76rem;font-weight:850;text-decoration:none;white-space:nowrap}.stage-plan-download:focus-visible,.stage-plan-download:hover{border-color:#07584e;color:#07584e}.breakdown-list{display:grid;grid-gap:10px;gap:10px}.breakdown-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:4px}.breakdown-label span,.breakdown-label strong{font-size:.78rem}.breakdown-label span{color:#273640}.breakdown-label strong{color:#53606b;font-weight:800;white-space:nowrap}.breakdown-bar{height:7px;overflow:hidden;border-radius:999px;background:#e4e9e2}.breakdown-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#07584e,#5fa581)}.segment-table-panel{overflow-x:auto}.segment-table{width:100%;min-width:640px;border-collapse:collapse;font-size:.82rem}.segment-table td,.segment-table th{border-top:1px solid #e5ebe3;padding:8px 7px;text-align:left;vertical-align:top}.planning-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:4px;gap:4px;margin-bottom:14px;border:1px solid #dce4da;border-radius:7px;background:#f7faf6;padding:3px}.planning-mode-switch button{min-height:34px;border:0;border-radius:5px;background:transparent;color:#46545e;padding:6px 10px;font-size:.82rem;font-weight:900}.planning-mode-switch button[aria-pressed=true]{background:#07584e;color:#ffffff;box-shadow:0 6px 14px rgb(7 88 78/.18)}.segment-table th{color:#5d6973;font-size:.74rem;text-transform:uppercase}.segment-table td{color:#263640}.segment-table tr.is-selected td{background:#fff7d6}.segment-select-button{border:1px solid transparent;border-radius:5px;background:transparent;color:#07584e;padding:3px 5px;font:inherit;font-weight:800;text-align:left}.segment-select-button:hover,.segment-select-button[aria-pressed=true]{border-color:#b9c986;background:#eff6d7}.segment-empty{margin:0;color:#66737d;font-size:.84rem}.suggestions-panel{z-index:2;position:-webkit-sticky;position:sticky;top:16px;align-self:start;max-height:calc(100vh - 32px);overflow:auto;padding:16px 14px;scrollbar-gutter:stable}.suggestions-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.suggestions-title-group{display:grid;grid-gap:3px;gap:3px}.suggestions-header h2{margin:0;color:#22313c;font-size:.95rem;text-transform:uppercase}.suggestions-header span{color:#53606b;font-size:.86rem}.candidate-sort-control{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.candidate-sort-button{min-height:28px;border:1px solid #cbd5c8;border-radius:999px;background:#ffffff;color:#25413d;padding:5px 7px;font-size:.74rem;font-weight:850;line-height:1}.candidate-sort-button[aria-pressed=true]{border-color:#07584e;background:#07584e;color:#ffffff}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}@media (min-width:761px) and (max-width:1180px){.planner-grid{grid-template-columns:1fr;gap:0;min-height:100vh;padding:0}.planner-panel,.route-bottom-stack,.suggestions-panel{display:none}.route-stage{grid-column:1;grid-row:1;min-height:100vh;padding:18px}.map-toolbar{position:fixed;z-index:18;top:18px;left:50%;display:grid;max-width:min(760px,calc(100vw - 360px));grid-template-columns:repeat(2,max-content);align-items:start;transform:translateX(-50%)}.map-service-filters,.map-toolbar{width:-moz-fit-content;width:fit-content}.map-service-filters{grid-column:1/-1;max-width:100%}.map-service-filter-status{flex-basis:auto;white-space:nowrap}.map-empty{top:142px;left:50%;max-width:min(430px,calc(100vw - 360px));box-shadow:0 10px 24px rgb(19 34 31/.1);text-align:center;transform:translateX(-50%)}.map-chip{min-height:40px;border-color:rgb(217 226 218/.92);border-radius:999px;background:rgb(255 255 255/.9);padding:8px 13px;box-shadow:0 12px 28px rgb(35 56 48/.13);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.route-display-legend,.ultra-cockpit{display:none}.map-fit-button{top:18px;right:24px;z-index:18;border-radius:999px;background:rgb(255 255 255/.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-side-rail{position:fixed;z-index:1100;top:94px;display:grid;grid-gap:9px;gap:9px;pointer-events:none}.mobile-side-rail.is-left{display:none}.mobile-side-rail.is-right{right:24px}.mobile-rail-action{display:inline-grid;min-width:56px;min-height:44px;align-items:center;justify-content:center;border:1px solid rgb(205 216 208/.9);border-radius:999px;background:rgb(255 255 255/.9);color:#20322b;padding:0 13px;font-size:.76rem;font-weight:900;line-height:1;box-shadow:0 12px 28px rgb(35 56 48/.16);pointer-events:auto;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-rail-action.is-primary{border-color:#cbd871;background:#e5ef73;color:#1f2d1f}.mobile-rail-action[aria-pressed=true]{border-color:#aeba58;background:#f1f7a7;color:#233115}.mobile-rail-action:disabled{cursor:not-allowed;opacity:.48}.mobile-rail-action.is-location,.mobile-rail-action.is-profile,.mobile-rail-action.is-route:disabled{display:none}.mobile-map-bottom{position:fixed;z-index:24;right:auto;bottom:24px;left:50%;display:grid;width:min(560px,calc(100vw - 48px));min-height:78px;grid-gap:7px;gap:7px;border:1px solid rgb(218 227 218/.96);border-radius:18px;background:rgb(255 255 255/.93);color:#172720;padding:13px 16px;text-align:left;box-shadow:0 22px 58px rgb(32 55 46/.18);transform:translateX(-50%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.planner-grid.is-planner-sheet-open .mobile-map-bottom,.planner-grid.is-route-sheet-open .mobile-map-bottom{display:none}.mobile-map-bottom strong{color:#14251f;font-size:1rem;font-weight:900;line-height:1.1}.mobile-map-bottom>span{color:#52615b;font-size:.84rem;font-weight:750;line-height:1.35}.mobile-map-route-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-route-metrics,.mobile-route-sheet-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.mobile-route-metrics span,.mobile-route-sheet-metrics span{display:grid;grid-gap:2px;gap:2px;min-width:0}.mobile-route-metrics small,.mobile-route-metrics strong,.mobile-route-sheet-metrics small,.mobile-route-sheet-metrics strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-route-metrics small,.mobile-route-sheet-metrics small{color:#69766f;font-size:.68rem;font-weight:800}.mobile-sheet-handle{position:relative;display:block;width:72px;height:28px;margin:-10px auto -4px;border-radius:14px;background:transparent;cursor:ns-resize;touch-action:none}.mobile-sheet-handle:before{position:absolute;top:12px;left:50%;width:48px;height:4px;border-radius:999px;background:#9fb0a4;content:"";transform:translateX(-50%);transition:width .14s ease,background-color .14s ease}.mobile-sheet-handle:focus-visible:before,.mobile-sheet-handle:hover:before{width:56px;background:#668174}.mobile-sheet-handle:is(button){border:0;padding:0}.mobile-plan-sheet{position:fixed;z-index:32;top:84px;bottom:auto;left:24px;display:none;width:min(390px,calc(100vw - 48px));height:min(720px,calc(100vh - 108px));grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;overscroll-behavior:contain;border:1px solid rgb(216 226 218/.96);border-radius:18px;background:rgb(255 255 255/.96);padding:12px;box-shadow:0 24px 62px rgb(26 51 42/.22);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-plan-sheet.is-open{display:grid;grid-gap:10px;gap:10px}.mobile-route-sheet-header,.mobile-sheet-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px}.mobile-route-sheet-header>div:first-child,.mobile-sheet-header div{display:grid;grid-gap:2px;gap:2px;min-width:0}.mobile-route-sheet-header strong,.mobile-sheet-header strong{overflow:hidden;color:#172720;font-size:1.02rem;font-weight:900;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.mobile-route-sheet-header span,.mobile-sheet-header span{overflow:hidden;color:#65736d;font-size:.76rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.mobile-destination-manager button,.mobile-detail-heading button,.mobile-route-sheet-actions a,.mobile-route-sheet-actions button,.mobile-sheet-close,.mobile-waypoint-list button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;border:1px solid #d4dfd7;border-radius:999px;background:#f6f8f3;color:#33443c;padding:0 11px;font-size:.7rem;font-weight:900;text-decoration:none}.mobile-plan-form{display:grid;min-height:0;align-content:start;grid-gap:10px;gap:10px;overflow-y:auto;overscroll-behavior:contain;padding:2px 2px 4px;scrollbar-width:thin}.mobile-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px}.mobile-compact-input input,.mobile-distance-field input,.mobile-search-row input{min-width:0;border:1px solid #d6e0d9;background:#fbfcf8;color:#172720;font-weight:850}.mobile-distance-field input,.mobile-search-row input{min-height:42px;border-radius:12px;padding:0 12px;font-size:.9rem}.mobile-map-mode-row button,.mobile-pill-row button,.mobile-preset-row button,.mobile-search-results button,.mobile-search-row button,.mobile-segment-row button{min-height:38px;border:1px solid #d6e0d9;border-radius:999px;background:#ffffff;color:#32463f;padding:0 11px;font-size:.76rem;font-weight:900}.mobile-search-row button{border-color:#cbd871;background:#eef493;color:#202b17}.mobile-search-results{display:grid;grid-gap:6px;gap:6px;max-height:132px;overflow:auto}.mobile-search-results button{justify-content:flex-start;border-radius:10px;text-align:left}.mobile-map-mode-row,.mobile-pill-row,.mobile-preset-row,.mobile-segment-row{display:flex;min-height:40px;gap:6px;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;scrollbar-width:none}.mobile-map-mode-row::-webkit-scrollbar,.mobile-pill-row::-webkit-scrollbar,.mobile-preset-row::-webkit-scrollbar,.mobile-segment-row::-webkit-scrollbar{display:none}.mobile-map-mode-row button,.mobile-pill-row button,.mobile-preset-row button,.mobile-segment-row button{flex:0 0 auto}.mobile-map-mode-row button[aria-pressed=true],.mobile-pill-row button[aria-pressed=true],.mobile-preset-row button[aria-pressed=true],.mobile-segment-row button[aria-pressed=true]{border-color:#0b6b54;background:#e6f2e8;color:#0a4f43}.mobile-distance-field{display:grid;grid-template-columns:minmax(90px,auto) minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px}.mobile-distance-field>span,.mobile-two-column-control>div>span{color:#596861;font-size:.74rem;font-weight:900}.mobile-compact-input div,.mobile-distance-field div{position:relative;display:grid}.mobile-distance-field input{padding-right:44px}.mobile-compact-input div span,.mobile-distance-field div span{position:absolute;top:50%;right:10px;color:#6a766f;font-size:.7rem;font-weight:900;transform:translateY(-50%)}.mobile-ultra-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;border:1px solid #e2ebe3;border-radius:14px;background:#fbfcf8;padding:9px}.mobile-compact-input{display:grid;grid-gap:5px;gap:5px;min-width:0}.mobile-compact-input label{overflow:hidden;color:#596861;font-size:.7rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.mobile-compact-input input{min-height:38px;border-radius:11px;padding:0 38px 0 10px;font-size:.86rem}.mobile-two-column-control{display:grid;grid-template-columns:1fr;grid-gap:9px;gap:9px}.mobile-two-column-control>div{display:grid;grid-gap:6px;gap:6px}.mobile-map-mode-row{border-top:1px solid #eef3ef;padding-top:8px}.mobile-generate-button{position:-webkit-sticky;position:sticky;z-index:3;bottom:0;min-height:48px;border:0;border-radius:14px;background:#0b6b54;color:#ffffff;font-size:.94rem;font-weight:900;box-shadow:0 -10px 18px rgb(255 255 255/.92),0 12px 26px rgb(11 107 84/.22)}.mobile-generate-button:disabled{cursor:not-allowed;opacity:.56}.mobile-route-sheet{position:fixed;z-index:31;right:auto;bottom:24px;left:50%;display:none;width:min(880px,calc(100vw - 420px));height:min(48vh,520px);max-height:calc(100vh - 88px);grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border:1px solid rgb(216 226 218/.96);border-radius:22px 22px 14px 14px;background:rgb(255 255 255/.96);padding:12px;box-shadow:0 26px 68px rgb(26 51 42/.24);transform:translateX(-50%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-route-sheet-scroll,.mobile-route-sheet.is-open{display:grid;grid-gap:10px;gap:10px}.mobile-route-sheet-scroll{min-height:0;align-content:start;grid-auto-rows:max-content;overflow-y:auto;overscroll-behavior:contain;padding-right:2px}.mobile-route-sheet-actions{display:flex;gap:6px}.mobile-route-sheet-actions .mobile-route-download{border-color:#0a7a67;background:#0a7a67;color:#ffffff}.mobile-route-sheet-metrics{border:1px solid #e5ece5;border-radius:14px;background:#fbfcf8;padding:9px}.mobile-route-sheet-metrics strong{color:#172720;font-size:.9rem;font-weight:900}.mobile-candidate-strip{display:flex;min-height:74px;gap:8px;margin-right:-12px;margin-left:-12px;overflow-x:auto;padding:0 12px 2px;scroll-snap-type:x proximity;scrollbar-width:none}.mobile-candidate-strip::-webkit-scrollbar{display:none}.mobile-candidate-card{display:grid;flex:0 0 min(300px,38vw);grid-gap:6px;gap:6px;scroll-snap-align:start;border:1px solid #dbe6dd;border-radius:14px;background:#ffffff;padding:10px;color:#243932;text-align:left}.mobile-candidate-card.is-selected{border-color:#0b6b54;background:#f0f8f2}.mobile-candidate-card span{display:grid;grid-gap:2px;gap:2px;min-width:0}.mobile-candidate-card small,.mobile-candidate-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-candidate-card strong{color:#172720;font-size:.86rem;font-weight:900}.mobile-candidate-card small,.mobile-candidate-card>span:last-child{color:#63716c;font-size:.72rem;font-weight:800}.mobile-route-details{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);grid-gap:10px;gap:10px;border-top:1px solid #edf2ee;padding-top:8px}.mobile-route-details .elevation-panel{gap:8px;border-radius:14px;background:#fbfcf8;padding:9px}.mobile-route-details .elevation-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.mobile-route-details .elevation-chart{height:118px;cursor:default}.mobile-breakdown-panel{display:grid;grid-gap:8px;gap:8px;border:1px solid #e3ebe5;border-radius:14px;background:#fbfcf8;padding:9px}.mobile-breakdown-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.mobile-breakdown-heading h3{margin:0;color:#172720;font-size:.86rem;font-weight:900}.mobile-breakdown-heading span{color:#65736d;font-size:.72rem;font-weight:850;white-space:nowrap}.mobile-breakdown-strip{display:flex;height:18px;overflow:hidden;border-radius:5px;background:#e8eee8;box-shadow:inset 0 0 0 1px rgb(37 58 48/.08)}.mobile-breakdown-strip span{min-width:2px}.mobile-breakdown-list{display:grid;grid-gap:7px;gap:7px;margin:0}.mobile-breakdown-list div{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:24px;align-items:center;grid-gap:10px;gap:10px}.mobile-breakdown-list dt{display:inline-flex;min-width:0;align-items:center;gap:9px;color:#24362f;font-size:.8rem;font-weight:900}.mobile-breakdown-list dt span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-breakdown-list i{display:block;flex:0 0 auto;width:18px;height:5px;border-radius:999px}.mobile-breakdown-list dd{margin:0;color:#65736d;font-size:.78rem;font-weight:850;white-space:nowrap}.mobile-destination-manager,.mobile-route-details section,.mobile-waypoint-manager{display:grid;grid-gap:7px;gap:7px}.mobile-detail-heading h3,.mobile-route-details h3{margin:0;color:#172720;font-size:.84rem;font-weight:900}.mobile-destination-manager p,.mobile-route-details p,.mobile-waypoint-manager p{margin:0;color:#5f6e67;font-size:.78rem;font-weight:750}}@media (max-width:1180px){.planner-grid{grid-template-columns:320px minmax(0,1fr)}.suggestions-panel{grid-column:1/-1;position:static;max-height:none}.route-stage{min-height:620px}.map-empty,.map-route-hint{left:360px}.map-fit-button,.route-display-legend{right:20px}.candidate-list{grid-template-columns:repeat(2,minmax(0,1fr))}.selected-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.route-profile-grid{grid-template-columns:1fr}.route-insight-actions,.route-insight-toolbar{align-items:flex-start;flex-wrap:wrap}.route-insight-dock{max-height:none}.ultra-cockpit{grid-template-columns:repeat(2,minmax(0,1fr));width:min(520px,calc(100% - 12px))}.analysis-grid{grid-template-columns:1fr}}@media (max-width:760px){body,html{min-height:100%;overflow-x:hidden}body{background:#edf3eb}.planner-shell{padding:0}.planner-grid{grid-template-columns:1fr;gap:0;min-height:100dvh;padding:0;overflow:visible}.planner-panel{order:2;display:none}.map-preview{order:1}.suggestions-panel{order:3}.route-stage{order:4}.suggestions-panel{padding:10px;display:none;position:static;z-index:8;max-height:none;overflow:visible;border-radius:8px;box-shadow:0 10px 28px rgb(16 33 30/.07)}.brand-lockup{margin-bottom:6px}.brand-mark{width:30px;height:30px}.planner-heading{font-size:1.28rem}.routing-status{margin-bottom:7px;padding:6px 8px;font-size:.76rem}.mobile-side-rail{position:fixed;z-index:24;top:max(82px,calc(env(safe-area-inset-top, 0px) + 72px));display:grid;grid-gap:7px;gap:7px;pointer-events:none}.mobile-side-rail.is-left{display:none}.mobile-side-rail.is-right{right:10px}.mobile-rail-action{display:inline-grid;width:50px;min-width:50px;min-height:42px;align-items:center;justify-content:center;border:1px solid rgb(201 214 204/.8);border-radius:999px;background:rgb(255 255 255/.88);color:#22332d;padding:0 10px;font-size:.72rem;font-weight:900;line-height:1;box-shadow:0 8px 20px rgb(48 74 62/.18);pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-rail-action.is-primary{border-color:#aab763;background:#e4ec72;color:#1f2d1f}.mobile-rail-action[aria-pressed=true]{border-color:#aab763;background:#f1f6a7;color:#253217}.mobile-rail-action:disabled{cursor:not-allowed;opacity:.48}.mobile-rail-action.is-location,.mobile-rail-action.is-profile,.mobile-rail-action.is-route:disabled{display:none}.mobile-brand-chip{position:fixed;z-index:1100;top:max(10px,env(safe-area-inset-top,0px));left:50%;display:inline-flex;min-height:38px;align-items:center;gap:8px;border:1px solid rgb(212 223 215/.92);border-radius:999px;background:rgb(255 255 255/.92);color:#183029;padding:5px 12px 5px 6px;box-shadow:0 10px 26px rgb(35 56 48/.14);transform:translateX(-50%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-brand-chip span{display:inline-grid;width:27px;height:27px;place-items:center;border-radius:50%;background:#07584e;color:#ffffff;font-size:.64rem;font-weight:900}.mobile-brand-chip strong{font-size:.8rem;font-weight:900}.mobile-map-bottom{position:fixed;z-index:1100;right:16px;bottom:calc(env(safe-area-inset-bottom, 0px) + 18px);left:16px;display:grid;grid-gap:6px;gap:6px;min-height:66px;border:1px solid rgb(218 227 218/.96);border-radius:18px;background:rgb(255 255 255/.92);color:#172720;padding:12px 14px;text-align:left;box-shadow:0 18px 42px rgb(32 55 46/.18);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-map-bottom strong{color:#14251f;font-size:.98rem;font-weight:900;line-height:1.1}.mobile-map-bottom.is-idle{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px}.mobile-map-bottom.is-idle:after{grid-column:2;grid-row:1/span 2;color:#0b6b54;content:">";font-size:1.35rem;font-weight:900}.mobile-map-bottom>span{color:#52615b;font-size:.82rem;font-weight:700;line-height:1.35}.mobile-map-route-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-route-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.mobile-route-metrics span{display:grid;grid-gap:2px;gap:2px;min-width:0}.mobile-route-metrics small,.mobile-route-metrics strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-route-metrics strong{font-size:.94rem}.mobile-route-metrics small{color:#69766f;font-size:.68rem;font-weight:800}.mobile-sheet-handle{position:relative;display:block;justify-self:center;width:72px;height:28px;margin:-10px 0 -4px;border-radius:14px;background:transparent;cursor:ns-resize;touch-action:none}.mobile-sheet-handle:is(button){border:0;padding:0}.mobile-plan-sheet{position:fixed;z-index:1200;right:10px;bottom:calc(env(safe-area-inset-bottom, 0px) + 10px);left:10px;display:none;height:min(76dvh,620px);max-height:min(76dvh,620px);grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;overscroll-behavior:contain;border:1px solid rgb(216 226 218/.96);border-radius:20px 20px 12px 12px;background:rgb(255 255 255/.96);padding:10px;box-shadow:0 22px 56px rgb(26 51 42/.24);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-plan-sheet.is-open{display:grid;grid-gap:10px;gap:10px}.mobile-sheet-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px}.mobile-sheet-header div{display:grid;grid-gap:2px;gap:2px;min-width:0}.mobile-sheet-header strong{color:#172720;font-size:1.04rem;font-weight:900;line-height:1.1}.mobile-sheet-header span{overflow:hidden;color:#65736d;font-size:.78rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.mobile-sheet-close{min-height:34px;border:1px solid #d4dfd7;border-radius:999px;background:#f6f8f3;color:#33443c;padding:0 12px;font-size:.72rem;font-weight:900}.mobile-plan-form{display:grid;min-height:0;align-content:start;grid-gap:10px;gap:10px;overflow-y:auto;overscroll-behavior:contain;padding:2px 2px 4px;scrollbar-width:thin}.mobile-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px}.mobile-distance-field input,.mobile-search-row input{min-height:42px;min-width:0;border:1px solid #d6e0d9;border-radius:12px;background:#fbfcf8;color:#172720;padding:0 12px;font-size:.92rem;font-weight:800}.mobile-map-mode-row button,.mobile-pill-row button,.mobile-preset-row button,.mobile-search-results button,.mobile-search-row button,.mobile-segment-row button{min-height:38px;border:1px solid #d6e0d9;border-radius:999px;background:#ffffff;color:#32463f;padding:0 11px;font-size:.76rem;font-weight:900}.mobile-search-row button{border-color:#b9c673;background:#eef493;color:#202b17}.mobile-search-results{display:grid;grid-gap:6px;gap:6px;max-height:132px;overflow:auto}.mobile-search-results button{justify-content:flex-start;border-radius:10px;text-align:left}.mobile-map-mode-row,.mobile-pill-row,.mobile-preset-row,.mobile-segment-row{display:flex;min-height:40px;gap:6px;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;scrollbar-width:none}.mobile-map-mode-row::-webkit-scrollbar,.mobile-pill-row::-webkit-scrollbar,.mobile-preset-row::-webkit-scrollbar,.mobile-segment-row::-webkit-scrollbar{display:none}.mobile-map-mode-row button,.mobile-pill-row button,.mobile-preset-row button,.mobile-segment-row button{flex:0 0 auto}.mobile-map-mode-row button[aria-pressed=true],.mobile-pill-row button[aria-pressed=true],.mobile-preset-row button[aria-pressed=true],.mobile-segment-row button[aria-pressed=true]{border-color:#0b6b54;background:#e6f2e8;color:#0a4f43}.mobile-distance-field{display:grid;grid-template-columns:minmax(90px,auto) minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px}.mobile-distance-field>span,.mobile-two-column-control>div>span{color:#596861;font-size:.74rem;font-weight:900}.mobile-distance-field div{position:relative;display:grid}.mobile-distance-field input{padding-right:44px}.mobile-distance-field div span{position:absolute;top:50%;right:12px;color:#6a766f;font-size:.78rem;font-weight:900;transform:translateY(-50%)}.mobile-ultra-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;border:1px solid #e2ebe3;border-radius:14px;background:#fbfcf8;padding:9px}.mobile-compact-input{display:grid;grid-gap:5px;gap:5px;min-width:0}.mobile-compact-input label{overflow:hidden;color:#596861;font-size:.7rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.mobile-compact-input div{position:relative;display:grid}.mobile-compact-input input{min-height:38px;min-width:0;border:1px solid #d6e0d9;border-radius:11px;background:#ffffff;color:#172720;padding:0 38px 0 10px;font-size:.86rem;font-weight:900}.mobile-compact-input div span{position:absolute;top:50%;right:10px;color:#6a766f;font-size:.68rem;font-weight:900;transform:translateY(-50%)}.mobile-two-column-control{display:grid;grid-template-columns:1fr;grid-gap:9px;gap:9px}.mobile-two-column-control>div{display:grid;grid-gap:6px;gap:6px}.mobile-map-mode-row{border-top:1px solid #eef3ef;padding-top:8px}.mobile-generate-button{position:-webkit-sticky;position:sticky;z-index:3;bottom:0;min-height:48px;border:0;border-radius:14px;background:#0b6b54;color:#ffffff;font-size:.94rem;font-weight:900;box-shadow:0 -10px 18px rgb(255 255 255/.92),0 12px 26px rgb(11 107 84/.22)}.mobile-generate-button:disabled{cursor:not-allowed;opacity:.56}.mobile-route-sheet{position:fixed;z-index:1200;right:10px;bottom:calc(env(safe-area-inset-bottom, 0px) + 10px);left:10px;display:none;height:min(44dvh,400px);max-height:calc(100dvh - env(safe-area-inset-bottom, 0px) - 72px);grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border:1px solid rgb(216 226 218/.96);border-radius:20px 20px 12px 12px;background:rgb(255 255 255/.96);padding:10px;box-shadow:0 22px 56px rgb(26 51 42/.22);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-route-sheet-scroll,.mobile-route-sheet.is-open{display:grid;grid-gap:10px;gap:10px}.mobile-route-sheet-scroll{min-height:0;align-content:start;grid-auto-rows:max-content;overflow-y:auto;overscroll-behavior:contain;padding-right:2px}.mobile-route-sheet-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px}.mobile-route-sheet-header>div:first-child{display:grid;grid-gap:2px;gap:2px;min-width:0}.mobile-route-sheet-header strong{overflow:hidden;color:#172720;font-size:1rem;font-weight:900;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.mobile-route-sheet-header span{overflow:hidden;color:#65736d;font-size:.76rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.mobile-route-sheet-actions{display:flex;gap:6px}.mobile-destination-manager button,.mobile-detail-heading button,.mobile-route-sheet-actions a,.mobile-route-sheet-actions button,.mobile-waypoint-list button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border:1px solid #d4dfd7;border-radius:999px;background:#f6f8f3;color:#33443c;padding:0 10px;font-size:.7rem;font-weight:900;text-decoration:none}.mobile-route-sheet-actions .mobile-route-download{border-color:#0a7a67;background:#0a7a67;color:#ffffff}.mobile-route-sheet-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px;border:1px solid #e5ece5;border-radius:14px;background:#fbfcf8;padding:8px}.mobile-route-sheet-metrics span{display:grid;grid-gap:2px;gap:2px;min-width:0}.mobile-route-sheet-metrics small,.mobile-route-sheet-metrics strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-route-sheet-metrics strong{color:#172720;font-size:.84rem;font-weight:900}.mobile-route-sheet-metrics small{color:#69766f;font-size:.64rem;font-weight:800}.mobile-candidate-strip{display:flex;min-height:74px;gap:8px;margin-right:-10px;margin-left:-10px;overflow-x:auto;padding:0 10px 2px;scroll-snap-type:x proximity;scrollbar-width:none}.mobile-candidate-strip::-webkit-scrollbar{display:none}.mobile-candidate-card{display:grid;flex:0 0 min(290px,78vw);grid-gap:6px;gap:6px;scroll-snap-align:start;border:1px solid #dbe6dd;border-radius:14px;background:#ffffff;padding:10px;color:#243932;text-align:left}.mobile-candidate-card.is-selected{border-color:#0b6b54;background:#f0f8f2}.mobile-candidate-card span{display:grid;grid-gap:2px;gap:2px;min-width:0}.mobile-candidate-card small,.mobile-candidate-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-candidate-card strong{color:#172720;font-size:.86rem;font-weight:900}.mobile-candidate-card small,.mobile-candidate-card>span:last-child{color:#63716c;font-size:.72rem;font-weight:800}.mobile-route-details{display:grid;grid-gap:10px;gap:10px;border-top:1px solid #edf2ee;padding-top:8px}.mobile-route-details .elevation-panel{gap:8px;border-radius:14px;background:#fbfcf8;padding:9px}.mobile-route-details .elevation-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.mobile-route-details .elevation-chart{height:118px;cursor:default}.mobile-breakdown-panel{display:grid;grid-gap:8px;gap:8px;border:1px solid #e3ebe5;border-radius:14px;background:#fbfcf8;padding:9px}.mobile-breakdown-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.mobile-breakdown-heading h3{margin:0;color:#172720;font-size:.86rem;font-weight:900}.mobile-breakdown-heading span{color:#65736d;font-size:.72rem;font-weight:850;white-space:nowrap}.mobile-breakdown-strip{display:flex;height:18px;overflow:hidden;border-radius:5px;background:#e8eee8;box-shadow:inset 0 0 0 1px rgb(37 58 48/.08)}.mobile-breakdown-strip span{min-width:2px}.mobile-breakdown-list{display:grid;grid-gap:7px;gap:7px;margin:0}.mobile-breakdown-list div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;min-height:24px}.mobile-breakdown-list dt{display:inline-flex;min-width:0;align-items:center;gap:9px;color:#24362f;font-size:.8rem;font-weight:900}.mobile-breakdown-list dt span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-breakdown-list i{display:block;flex:0 0 auto;width:18px;height:5px;border-radius:999px}.mobile-breakdown-list dd{margin:0;color:#65736d;font-size:.78rem;font-weight:850;white-space:nowrap}.mobile-destination-manager,.mobile-route-details section,.mobile-waypoint-manager{display:grid;grid-gap:7px;gap:7px}.mobile-destination-manager.is-empty,.mobile-waypoint-manager.is-empty{display:none}.mobile-detail-heading h3,.mobile-route-details h3{margin:0;color:#172720;font-size:.84rem;font-weight:900}.mobile-destination-manager p,.mobile-route-details p,.mobile-waypoint-manager p{margin:0;color:#5f6e67;font-size:.78rem;font-weight:750;line-height:1.35}.mobile-detail-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px}.mobile-detail-heading button:disabled{cursor:not-allowed;opacity:.5}.mobile-destination-manager{border:1px solid #e3ebe5;border-radius:12px;background:#fbfcf8;padding:8px}.mobile-waypoint-list{display:grid;grid-gap:6px;gap:6px;margin:0;padding:0;list-style:none}.mobile-waypoint-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;border:1px solid #e3ebe5;border-radius:12px;background:#fbfcf8;padding:8px}.mobile-waypoint-list span{display:grid;grid-gap:2px;gap:2px;min-width:0}.mobile-waypoint-list small,.mobile-waypoint-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-waypoint-list strong{color:#172720;font-size:.8rem;font-weight:900}.mobile-waypoint-list small{color:#65736d;font-size:.7rem;font-weight:800}.search-row{margin-bottom:8px}.field-stack{gap:8px;padding-bottom:2px}.field-group{gap:7px;padding-top:8px}.field-group legend{font-size:.72rem}.preset-grid,.route-mode-grid{display:flex;gap:6px;margin-right:-10px;margin-left:-10px;overflow-x:auto;padding:0 10px 4px;scroll-snap-type:x proximity;scrollbar-width:none}.preset-grid::-webkit-scrollbar,.route-mode-grid::-webkit-scrollbar{display:none}.preset-button,.route-mode-grid .segment-button{flex:0 0 auto;scroll-snap-align:start}.route-mode-grid .segment-button{width:118px;min-height:42px;padding:7px 8px}.preset-button{min-width:88px}.field.compact-field{display:grid;grid-template-columns:minmax(84px,auto) minmax(0,1fr);align-items:center;grid-column-gap:8px;column-gap:8px}.field.compact-field label{margin:0}.planner-grid.is-route-mode .coordinate-grid,.planner-grid.is-route-mode .recent-jobs,.planner-grid.is-route-mode .waypoint-field-group,.planner-grid.is-route-mode.is-roundtrip-route .destination-field-group,.planner-grid.is-route-mode.is-roundtrip-route .map-click-mode{display:none}.planner-grid.is-ultra-mode .ultra-source-group{order:-1}.planner-grid.is-ultra-mode .manual-start-details{border:1px solid #d9e4db;border-radius:7px;background:#f9fbf8;padding:0}.planner-grid.is-ultra-mode .manual-start-details summary{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:2px 8px;gap:2px 8px;align-items:center;min-height:38px;cursor:pointer;padding:7px 9px;list-style:none}.planner-grid.is-ultra-mode .manual-start-details summary::-webkit-details-marker{display:none}.planner-grid.is-ultra-mode .manual-start-details summary:after{content:"v";grid-column:2;grid-row:1/span 2;color:#0b6b54;font-size:.85rem;font-weight:900}.planner-grid.is-ultra-mode .manual-start-details[open] summary:after{content:"^"}.planner-grid.is-ultra-mode .manual-start-details summary strong{color:#12362f;font-size:.82rem;font-weight:900}.planner-grid.is-ultra-mode .manual-start-details summary span{grid-column:1;color:#63716c;font-size:.7rem;font-weight:800}.planner-grid.is-ultra-mode .manual-start-details:not([open]) .manual-start-content{display:none}.planner-grid.is-ultra-mode .manual-start-content{padding:0 8px 8px}.mobile-options-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;min-height:42px;border:1px solid #cbd8cf;border-radius:6px;background:#f9fbf8;padding:7px 9px;color:#1f2f38;text-align:left}.mobile-options-toggle:after{content:"v";grid-column:2;grid-row:1/span 2;align-self:center;color:#0b6b54;font-size:.9rem;font-weight:900}.mobile-options-toggle[aria-expanded=true]:after{content:"^"}.mobile-options-toggle span{font-size:.82rem;font-weight:900}.mobile-options-toggle strong{grid-column:1;color:#5b6770;font-size:.72rem;font-weight:800}.route-options-panel{display:none}.route-options-panel.is-open{display:grid;grid-gap:10px;gap:10px}.suggestions-header{position:-webkit-sticky;position:sticky;z-index:1;top:0;background:rgb(255 255 255/.96);padding-bottom:8px}.panel-resize-handle{display:none}.route-stage{display:none;grid-template-rows:auto auto auto;min-height:0;gap:8px;pointer-events:auto}.route-bottom-stack,.route-insight-dock{height:auto;pointer-events:auto}.route-bottom-stack{position:-webkit-sticky;position:sticky;bottom:8px;z-index:12;max-height:min(74vh,620px);overflow:visible}.route-insight-dock{gap:8px;max-height:min(74vh,620px);overflow:hidden;padding:8px;border-radius:12px 12px 8px 8px;box-shadow:0 16px 36px rgb(16 33 30/.18)}.route-insight-content{max-height:calc(74vh - 86px);overflow:auto;overscroll-behavior:contain}.route-insight-actions,.route-insight-toolbar,.suggestions-header{align-items:stretch}.candidate-sort-control,.route-insight-actions,.route-insight-tabs{width:100%;justify-content:flex-start}.map-preview{position:relative;height:100dvh;min-height:100dvh;overflow:hidden;border:0;border-radius:0}.map-empty,.map-fit-button,.map-route-hint{display:none}.generate-button{position:-webkit-sticky;position:sticky;bottom:0;z-index:2;min-height:46px;margin-top:2px;box-shadow:0 -10px 20px rgb(255 255 255/.86),0 10px 22px rgb(6 79 69/.22)}.manual-stage-form form,.metric-grid,.stage-detail-button,.stage-detail-metrics,.ultra-readiness-checklist{grid-template-columns:1fr}.stage-detail-panel{gap:8px;padding:8px;border:0;background:transparent}.stage-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.stage-detail-metrics .metric:nth-child(n+5){display:none}.route-insight-tabs{display:flex;gap:5px;margin-right:-8px;margin-left:-8px;overflow-x:auto;padding:3px 8px;width:auto;border-right:0;border-left:0;border-radius:0;scrollbar-width:none}.route-insight-tabs::-webkit-scrollbar{display:none}.route-insight-tabs button{flex:0 0 auto;min-height:34px;padding:6px 10px}.manual-stage-form{padding:8px}.stage-detail-list{gap:8px}.stage-detail-button{gap:7px;padding:8px}.stage-detail-button>div:nth-child(n+4):not(.stage-stop-preview):not(.stage-roadbook-row){display:none}.stage-stop-preview{border-top:1px solid #eef3ef;padding-top:6px}.stage-stop-preview span:nth-child(n+2){display:none}.stage-roadbook-row{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(96px,36%);margin-right:-8px;margin-left:-8px;overflow-x:auto;padding:7px 8px 2px;scroll-snap-type:x proximity;scrollbar-width:none}.stage-roadbook-row::-webkit-scrollbar{display:none}.stage-roadbook-row span{scroll-snap-align:start}.stage-detail-actions{display:grid;grid-template-columns:1fr 1fr}.stage-detail-actions button,.stage-detail-actions span,.stage-gpx-download{display:grid;min-height:34px;align-items:center;justify-content:center;padding:6px 8px;text-align:center}.stage-service-timeline{flex-wrap:nowrap;margin-right:-8px;margin-left:-8px;overflow-x:auto;padding:0 8px 4px;scroll-snap-type:x proximity;scrollbar-width:none}.stage-service-timeline::-webkit-scrollbar{display:none}.stage-service-chip{flex:0 0 min(300px,84vw);scroll-snap-align:start}.stage-service-more{display:inline-grid;flex:0 0 auto;align-items:center;min-height:42px;scroll-snap-align:start}.ultra-readiness-checklist ul{justify-content:flex-start}.results-actions,.results-header,.route-display-controls{align-items:flex-start;flex-wrap:wrap}.candidate-list,.debug-grid,.elevation-summary,.selected-detail-grid{grid-template-columns:1fr}.candidate-card{gap:9px;padding:12px}.candidate-title{align-items:flex-start;gap:8px}.candidate-title h3{align-items:flex-start;font-size:.94rem;line-height:1.15}.candidate-rank{width:24px;height:24px;flex:0 0 24px;font-size:.76rem}.score-pill{min-width:62px;padding:4px 8px}.candidate-card>.metric-grid:not(.route-metrics-grid){grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.candidate-card .metric{border-left-width:2px;padding-left:6px}.candidate-card .metric span{font-size:.65rem}.candidate-card .metric strong{font-size:.84rem;line-height:1.15}.route-metrics-grid{display:none}.candidate-mobile-summary{display:block}.candidate-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:7px;gap:7px}.candidate-actions a{grid-column:1/-1;text-align:center}.map-toolbar{position:static;display:grid;grid-template-columns:1fr;padding:0}.map-chip{display:grid;align-items:start;min-height:0;grid-gap:2px;gap:2px}.map-service-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.map-service-filter-status{grid-column:1/-1}.map-service-filters button{min-width:0}.map-click-mode{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.map-click-mode button{min-height:36px;padding:5px;font-size:.72rem;line-height:1.05}.ultra-cockpit{position:static;grid-template-columns:1fr;width:auto;margin-bottom:8px}.map-empty{left:12px;right:12px;top:auto;bottom:calc(min(56dvh, 500px) + 18px);max-width:none;padding:7px 9px;font-size:.8rem}.map-route-hint{left:12px;top:78px;bottom:auto}.map-attribution{right:16px;bottom:calc(env(safe-area-inset-bottom, 0px) + 104px);top:auto;font-size:.64rem}.route-status-card{max-height:none}.surface-strip,.surface-strip-legend{min-width:0}.route-display-legend{right:10px;bottom:10px}.coordinate-grid,.segmented-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-mode-grid .segment-button{min-height:40px;text-align:left}.route-mode-grid .segment-button strong{font-size:.7rem}.route-mode-grid .segment-button small{font-size:.6rem}.preset-button,.segment-button{min-height:36px;padding:7px}.profile-field-group .segmented-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.profile-field-group .segment-button{font-size:.76rem}.mobile-plan-sheet{right:8px;bottom:calc(env(safe-area-inset-bottom, 0px) + 8px);left:8px;height:min(74dvh,620px);max-height:min(74dvh,620px);border-color:#dce4de;border-radius:16px 16px 10px 10px;background:#ffffff;padding:8px 12px 10px;box-shadow:0 16px 40px rgb(20 43 35/.18);-webkit-backdrop-filter:none;backdrop-filter:none}.mobile-plan-sheet.is-open{gap:8px}.mobile-sheet-handle{height:20px;margin:-6px auto -2px}.mobile-sheet-handle:before{top:8px;width:40px;height:3px;background:#b8c4bc}.mobile-sheet-header{padding:0 2px 8px;border-bottom:1px solid #edf1ee}.mobile-sheet-header strong{font-size:1rem;font-weight:760;letter-spacing:0}.mobile-sheet-header span{font-size:.74rem;font-weight:650}.mobile-sheet-close{width:34px;min-height:34px;border:0;border-radius:8px;background:#f2f5f2;padding:0;font-size:1.35rem;font-weight:500;line-height:1}.mobile-plan-form{grid-template-rows:minmax(0,1fr) auto;gap:8px;overflow:hidden;padding:0}.mobile-plan-fields{display:grid;min-height:0;align-content:start;grid-gap:12px;gap:12px;overflow-y:auto;overscroll-behavior:contain;padding:2px 1px 5px;scrollbar-width:thin}.mobile-plan-submit{display:grid;grid-gap:6px;gap:6px;border-top:1px solid #edf1ee;background:#ffffff;padding-top:8px}.mobile-search-row{gap:6px}.mobile-compact-input input,.mobile-distance-field input,.mobile-search-row input{border-color:#d8dfda;border-radius:8px;background:#ffffff;font-weight:650}.mobile-search-row button{border-color:#0b6b54;border-radius:8px;background:#0b6b54;color:#ffffff;font-weight:700}.mobile-position-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:6px;gap:6px;min-height:48px;border-top:1px solid #edf1ee;border-bottom:1px solid #edf1ee;padding:6px 0}.mobile-position-row>span{display:grid;min-width:0;grid-gap:1px;gap:1px}.mobile-position-row small{color:#6c7871;font-size:.65rem;font-weight:650}.mobile-position-row strong{overflow:hidden;color:#21332b;font-size:.78rem;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.mobile-add-via-button,.mobile-position-row button{min-height:34px;border:1px solid #d3dcd5;border-radius:8px;background:#f7f9f6;color:#244139;padding:0 9px;font-size:.7rem;font-weight:700}.mobile-position-row button:first-of-type{border-color:#a8c8ba;background:#eaf3ed;color:#0a5847}.mobile-place-card{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;align-items:center;grid-gap:7px;gap:7px;min-height:54px;border-top:1px solid #e8eeea;border-bottom:1px solid #e8eeea;padding:7px 0}.mobile-place-marker{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#0b6b54;color:#ffffff;font-size:.72rem;font-weight:800}.mobile-place-marker.is-destination{background:#2d3d36}.mobile-place-copy{display:grid;min-width:0;grid-gap:2px;gap:2px}.mobile-place-copy small{color:#6c7871;font-size:.65rem;font-weight:650}.mobile-place-copy strong{overflow:hidden;color:#172720;font-size:.8rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.mobile-place-card>button,.mobile-route-actions button{min-height:34px;border:1px solid #d3dcd5;border-radius:8px;background:#ffffff;color:#244139;padding:0 9px;font-size:.69rem;font-weight:700}.mobile-place-card>button:first-of-type{border-color:#a8c8ba;background:#eaf3ed;color:#0a5847}.mobile-place-card .mobile-place-clear{grid-column:2/-1;justify-self:start;min-height:28px;border:0;background:transparent;color:#7a4235;padding:0}.mobile-inline-status{margin:-5px 0 0;color:#35574b;font-size:.72rem;font-weight:650;line-height:1.35}.mobile-pill-row,.mobile-preset-row,.mobile-segment-row{min-height:40px;gap:4px;overflow:visible;border-radius:9px;background:#f2f5f2;padding:3px}.mobile-segment-row[aria-label="Mobiler Planungsmodus"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-segment-row[aria-label="Mobiler Routentyp"]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:46px}.mobile-pill-row[aria-label="Mobiler Radtyp"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-pill-row[aria-label="Mobiles Profil"]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-preset-row{display:grid;grid-template-columns:repeat(5,minmax(62px,1fr));overflow-x:auto}.mobile-pill-row button,.mobile-preset-row button,.mobile-search-results button,.mobile-segment-row button{min-height:34px;min-width:0;border:0;border-radius:7px;background:transparent;padding:0 7px;font-size:.72rem;font-weight:680}.mobile-segment-row[aria-label="Mobiler Routentyp"] button{min-height:40px;line-height:1.15}.mobile-pill-row button[aria-pressed=true],.mobile-preset-row button[aria-pressed=true],.mobile-segment-row button[aria-pressed=true]{border:0;background:#ffffff;color:#095b49;box-shadow:0 1px 4px rgb(31 58 48/.12)}.mobile-distance-field{grid-template-columns:84px minmax(0,1fr);gap:8px}.mobile-distance-field>span,.mobile-two-column-control>div>span{color:#53635c;font-size:.72rem;font-weight:700}.mobile-two-column-control{gap:10px}.mobile-route-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.mobile-route-actions button:only-child{grid-column:1/-1}.mobile-add-via-button{width:100%;min-height:38px;background:#ffffff}.mobile-generate-button{position:static;min-height:46px;border-radius:8px;font-size:.9rem;font-weight:740;box-shadow:0 -8px 14px rgb(255 255 255/.94)}}html[data-theme=dark],html[data-theme=dark] body{background:#07120f}html[data-theme=light],html[data-theme=light] body{background:#eef1e9}.planner-shell{--exp-bg:#07120f;--exp-surface:#0b1916;--exp-surface-raised:#10231e;--exp-surface-soft:#142a24;--exp-surface-muted:#192f29;--exp-border:#2b413a;--exp-border-strong:#3c574e;--exp-text:#f2f6f1;--exp-text-soft:#cad4cf;--exp-muted:#91a29b;--exp-accent:#c2ec28;--exp-accent-strong:#a9d40d;--exp-accent-ink:#152006;--exp-green:#69d569;--exp-blue:#49a8f1;--exp-warning:#e8a34b;--exp-danger:#f0785f;--exp-shadow:0 18px 42px rgb(0 0 0/0.28);min-height:100dvh;background:var(--exp-bg);color:var(--exp-text)}.planner-shell[data-theme=light]{--exp-bg:#eef1e9;--exp-surface:#fffef9;--exp-surface-raised:#ffffff;--exp-surface-soft:#f2f4ed;--exp-surface-muted:#e9eee5;--exp-border:#d7ddd4;--exp-border-strong:#bdc8be;--exp-text:#16231f;--exp-text-soft:#35443f;--exp-muted:#68766f;--exp-accent:#b8dc24;--exp-accent-strong:#94b600;--exp-accent-ink:#182200;--exp-green:#287f4c;--exp-blue:#2574b8;--exp-warning:#a96815;--exp-danger:#b84635;--exp-shadow:0 18px 42px rgb(37 52 45/0.14)}.planner-shell a,.planner-shell button,.planner-shell input,.planner-shell select,.planner-shell summary{transition:border-color .14s ease,background-color .14s ease,color .14s ease,opacity .14s ease,transform .14s ease}.planner-shell a:focus-visible,.planner-shell button:focus-visible,.planner-shell input:focus-visible,.planner-shell select:focus-visible,.planner-shell summary:focus-visible{outline:2px solid var(--exp-accent);outline-offset:2px}.planner-shell .planner-grid{height:100dvh;min-height:100dvh;grid-template-columns:var(--planner-left-width,300px) minmax(390px,1fr) var(--planner-right-width,330px);gap:12px;overflow:hidden;padding:80px 12px 12px 76px}.expedition-topbar{position:absolute;z-index:1200;top:0;right:0;left:0;display:grid;height:68px;grid-template-columns:236px minmax(360px,1fr) auto;border-bottom:1px solid var(--exp-border);background:var(--exp-surface);box-shadow:0 8px 24px rgb(0 0 0/.12)}.expedition-brand,.expedition-topbar{align-items:center;color:var(--exp-text)}.expedition-brand{display:inline-flex;height:100%;gap:12px;border:0;border-right:1px solid var(--exp-border);background:transparent;padding:0 18px;text-align:left}.expedition-brand:hover{background:var(--exp-surface-soft)}.expedition-brand-mark{display:inline-grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border:1px solid color-mix(in srgb,var(--exp-accent) 42%,transparent);border-radius:9px;color:var(--exp-accent)}.expedition-brand strong{font-size:1.02rem;font-weight:780;letter-spacing:-.02em}.expedition-journey-summary{display:flex;min-width:0;height:100%;align-items:stretch}.expedition-journey-summary>span{display:grid;min-width:150px;grid-template-columns:auto auto auto;grid-template-rows:18px 22px;align-content:center;align-items:center;grid-column-gap:7px;column-gap:7px;border-right:1px solid var(--exp-border);padding:0 18px}.expedition-journey-summary svg{grid-row:1/span 2;color:var(--exp-text-soft)}.expedition-journey-summary small{grid-column:2/-1;align-self:end;color:var(--exp-muted);font-size:.66rem;font-style:normal;font-weight:700;letter-spacing:.02em}.expedition-journey-summary em,.expedition-journey-summary strong{overflow:hidden;color:var(--exp-text);font-size:.82rem;font-style:normal;font-weight:780;text-overflow:ellipsis;white-space:nowrap}.expedition-journey-summary em{color:var(--exp-muted);font-size:.72rem;font-weight:650}.expedition-topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 12px}.expedition-icon-button,.expedition-primary-action,.expedition-secondary-action{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--exp-border);border-radius:8px;font-size:.78rem;font-weight:780}.expedition-icon-button{width:40px;padding:0;background:var(--exp-surface-soft);color:var(--exp-text-soft)}.expedition-secondary-action{background:transparent;color:var(--exp-text-soft);padding:0 13px}.expedition-primary-action{border-color:var(--exp-accent);background:var(--exp-accent);color:var(--exp-accent-ink);padding:0 16px;box-shadow:0 8px 22px color-mix(in srgb,var(--exp-accent) 20%,transparent)}.expedition-icon-button:hover,.expedition-secondary-action:hover{border-color:var(--exp-border-strong);background:var(--exp-surface-muted);color:var(--exp-text)}.expedition-primary-action:hover:not(:disabled){border-color:var(--exp-accent-strong);background:var(--exp-accent-strong);transform:translateY(-1px)}.expedition-icon-button:disabled,.expedition-primary-action:disabled,.expedition-secondary-action:disabled{cursor:not-allowed;opacity:.44}.expedition-rail{position:absolute;z-index:1100;top:68px;bottom:0;left:0;display:flex;width:64px;flex-direction:column;justify-content:space-between;border-right:1px solid var(--exp-border);background:var(--exp-surface);padding:10px 6px 8px}.expedition-rail-main,.expedition-rail-meta{display:grid;grid-gap:6px;gap:6px}.expedition-rail button{display:grid;min-height:52px;place-items:center;grid-gap:3px;gap:3px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--exp-muted);padding:6px 2px}.expedition-rail button span{font-size:.58rem;font-weight:720;letter-spacing:.01em}.expedition-rail button:hover,.expedition-rail button[aria-pressed=true]{border-color:var(--exp-border);background:var(--exp-surface-soft);color:var(--exp-text)}.expedition-rail button.is-active{background:color-mix(in srgb,var(--exp-accent) 14%,var(--exp-surface));color:var(--exp-accent)}.planner-shell .candidate-card,.planner-shell .planner-panel,.planner-shell .route-detail-card,.planner-shell .route-insight-dock,.planner-shell .route-status-card,.planner-shell .suggestions-panel,.planner-shell .ultra-cockpit{border-color:var(--exp-border);background:var(--exp-surface);color:var(--exp-text);box-shadow:var(--exp-shadow);-webkit-backdrop-filter:none;backdrop-filter:none}.planner-shell .planner-panel,.planner-shell .suggestions-panel{top:80px;max-height:calc(100dvh - 92px);border-radius:10px;scrollbar-color:var(--exp-border-strong) transparent}.planner-shell .planner-panel{padding:13px 12px 14px}.planner-shell .suggestions-panel{padding:12px}.planner-shell .brand-lockup{display:none}.planner-shell .routing-status{min-height:34px;margin-bottom:10px;border-color:var(--exp-border);border-radius:7px;background:var(--exp-surface-soft);color:var(--exp-muted);padding:7px 9px}.planner-shell .routing-status strong{color:var(--exp-text-soft)}.planner-shell .routing-status.is-live{border-color:color-mix(in srgb,var(--exp-green) 40%,var(--exp-border));background:color-mix(in srgb,var(--exp-green) 10%,var(--exp-surface));color:var(--exp-green)}.planner-shell .planning-mode-switch{border-color:var(--exp-border);border-radius:7px;background:var(--exp-surface-soft);padding:3px}.planner-shell .planning-mode-switch button{min-height:32px;border:0;border-radius:5px;background:transparent;color:var(--exp-muted)}.planner-shell .planning-mode-switch button[aria-pressed=true]{background:var(--exp-surface-raised);color:var(--exp-text);box-shadow:0 2px 8px rgb(0 0 0/.14)}.planner-shell .search-row{gap:6px}.planner-shell .field input,.planner-shell .field select,.planner-shell .input-with-unit,.planner-shell .input-with-unit input,.planner-shell .manual-stage-form input,.planner-shell .manual-stage-form select,.planner-shell .manual-stop-form input,.planner-shell .manual-stop-form select,.planner-shell .map-speed-inline input,.planner-shell .search-row input{border-color:var(--exp-border);background:var(--exp-surface-raised);color:var(--exp-text)}.planner-shell input::placeholder{color:var(--exp-muted)}.planner-shell .candidate-actions a,.planner-shell .candidate-actions button,.planner-shell .candidate-sort-button,.planner-shell .current-location-button,.planner-shell .direction-button,.planner-shell .map-click-mode button,.planner-shell .preset-button,.planner-shell .route-direction-toggle,.planner-shell .route-display-button,.planner-shell .search-row button,.planner-shell .secondary-action,.planner-shell .segment-button,.planner-shell .waypoint-actions button,.planner-shell .waypoint-list button{border-color:var(--exp-border);background:var(--exp-surface-raised);color:var(--exp-text-soft);box-shadow:none}.planner-shell .candidate-actions a:hover,.planner-shell .candidate-actions button:hover,.planner-shell .candidate-sort-button:hover,.planner-shell .current-location-button:hover,.planner-shell .direction-button:hover,.planner-shell .preset-button:hover,.planner-shell .route-display-button:hover,.planner-shell .search-row button:hover,.planner-shell .segment-button:hover{border-color:var(--exp-border-strong);background:var(--exp-surface-muted);color:var(--exp-text)}.planner-shell .candidate-sort-button[aria-pressed=true],.planner-shell .direction-button.is-selected,.planner-shell .map-click-mode button.is-active,.planner-shell .preset-button.is-selected,.planner-shell .route-direction-toggle[aria-pressed=true],.planner-shell .route-display-button.is-selected,.planner-shell .segment-button.is-selected{border-color:var(--exp-accent);background:color-mix(in srgb,var(--exp-accent) 15%,var(--exp-surface));color:var(--exp-accent)}.planner-shell .generate-button,.planner-shell .mobile-generate-button{min-height:46px;border:1px solid var(--exp-accent);border-radius:8px;background:var(--exp-accent);color:var(--exp-accent-ink);font-weight:800;box-shadow:0 10px 22px color-mix(in srgb,var(--exp-accent) 18%,transparent)}.planner-shell .generate-button:hover:not(:disabled),.planner-shell .mobile-generate-button:hover:not(:disabled){background:var(--exp-accent-strong)}.planner-shell .field-group,.planner-shell .mobile-route-details,.planner-shell .optional-points-details,.planner-shell .route-insight-toolbar{border-color:var(--exp-border)}.planner-shell .candidate-card p,.planner-shell .candidate-card small,.planner-shell .empty-state span,.planner-shell .field label,.planner-shell .field-group legend,.planner-shell .map-chip span,.planner-shell .metric span,.planner-shell .route-inline-status,.planner-shell .speed-control label,.planner-shell .suggestions-title-group span{color:var(--exp-muted)}.planner-shell .candidate-title h3,.planner-shell .field-group legend,.planner-shell .suggestions-title-group h2,.planner-shell h1,.planner-shell h2,.planner-shell h3,.planner-shell strong{color:var(--exp-text)}.planner-shell .elevation-panel,.planner-shell .empty-state,.planner-shell .gpx-import-panel,.planner-shell .manual-stage-form,.planner-shell .manual-start-details,.planner-shell .optional-points-details,.planner-shell .resupply-summary,.planner-shell .route-insight-tabs,.planner-shell .stage-detail-panel,.planner-shell .start-summary,.planner-shell .surface-enrichment-note,.planner-shell .ultra-option-panel,.planner-shell .waypoint-summary{border-color:var(--exp-border);background:var(--exp-surface-soft);color:var(--exp-text-soft)}.planner-shell .search-results{border:1px solid var(--exp-border);border-radius:8px;background:var(--exp-surface-raised);box-shadow:var(--exp-shadow)}.planner-shell .search-results button{border-color:var(--exp-border);background:transparent;color:var(--exp-text-soft)}.planner-shell .search-results button:hover{background:var(--exp-surface-muted);color:var(--exp-text)}.planner-shell .route-stage{min-height:calc(100dvh - 92px);gap:10px}.planner-shell .map-toolbar{gap:6px}.planner-shell .map-chip,.planner-shell .map-empty,.planner-shell .map-fit-button,.planner-shell .map-route-hint,.planner-shell .map-service-filters,.planner-shell .route-inline-status{border-color:var(--exp-border);background:var(--exp-surface);color:var(--exp-text-soft);box-shadow:var(--exp-shadow);-webkit-backdrop-filter:none;backdrop-filter:none}.planner-shell .map-chip{min-height:38px;border-radius:8px;padding:6px 10px}.planner-shell .map-chip strong{color:var(--exp-text)}.planner-shell .map-service-filters{min-height:38px}.planner-shell .map-service-filters button{border-color:var(--exp-border);background:var(--exp-surface-raised);color:var(--exp-text-soft)}.planner-shell .map-service-filters button[aria-pressed=true]{border-color:var(--exp-accent);background:var(--exp-accent);color:var(--exp-accent-ink)}.planner-shell .map-attribution{background:color-mix(in srgb,var(--exp-surface) 90%,transparent);color:var(--exp-text-soft)}.planner-shell[data-theme=dark] .leaflet-tile-pane{filter:brightness(.66) saturate(.82) sepia(.1) hue-rotate(72deg) contrast(1.08)}.planner-shell[data-theme=dark] .leaflet-container,.planner-shell[data-theme=dark] .map-preview{background:#10231d}.planner-shell[data-theme=light] .leaflet-tile-pane{filter:saturate(.74) contrast(.96) brightness(1.03)}.planner-shell[data-theme=light] .leaflet-container,.planner-shell[data-theme=light] .map-preview{background:#dfe7db}.planner-shell .candidate-list{gap:9px}.planner-shell .candidate-card{border-radius:9px;padding:11px}.planner-shell .suggestions-panel .candidate-card{gap:9px}.planner-shell .suggestions-panel .metric-grid:not(.route-metrics-grid){grid-template-columns:repeat(3,minmax(0,1fr))}.planner-shell .suggestions-panel .explanation,.planner-shell .suggestions-panel .route-metrics-grid{display:none}.planner-shell .suggestions-panel .candidate-mobile-summary{display:block;margin:0;color:var(--exp-muted);font-size:.72rem;font-weight:650;line-height:1.35}.planner-shell .suggestions-panel .candidate-actions{display:block}.planner-shell .suggestions-panel .candidate-actions>:not(:first-child){display:none}.planner-shell .suggestions-panel .candidate-actions>:first-child{width:100%;min-height:34px;border-color:var(--exp-border-strong)}.planner-shell .candidate-card.is-selected{border-color:var(--exp-accent);background:color-mix(in srgb,var(--exp-accent) 8%,var(--exp-surface));box-shadow:inset 3px 0 0 var(--exp-accent),var(--exp-shadow)}.planner-shell .candidate-rank{background:var(--exp-accent);color:var(--exp-accent-ink)}.planner-shell .score-pill{border-color:var(--exp-border);background:var(--exp-surface-soft)}.planner-shell .score-pill strong{color:var(--exp-accent)}.planner-shell .metric strong{color:var(--exp-text)}.planner-shell .route-insight-dock{height:min(var(--planner-bottom-height,178px),190px);max-height:31vh;border-radius:10px;padding:10px 12px}.planner-shell .route-insight-tabs{padding:3px}.planner-shell .route-insight-tabs button{color:var(--exp-muted)}.planner-shell .route-insight-tabs button.is-active{background:var(--exp-accent);color:var(--exp-accent-ink);box-shadow:none}.planner-shell .route-progress-panel.is-active{background:color-mix(in srgb,var(--exp-accent) 5%,var(--exp-surface))}.planner-shell .route-progress-heading h2{color:var(--exp-text)}.planner-shell .route-progress-heading .status-line{color:var(--exp-muted)}.planner-shell .rejected-preview-list div,.planner-shell .route-progress-current,.planner-shell .route-progress-grid .metric{border-color:var(--exp-border);background:var(--exp-surface-raised)}.planner-shell .route-progress-grid .metric{border-left-color:color-mix(in srgb,var(--exp-accent) 45%,var(--exp-border))}.planner-shell .route-progress-meter{background:var(--exp-surface-muted)}.planner-shell .route-progress-meter span{background:var(--exp-green)}.planner-shell .rejected-preview-list strong,.planner-shell .route-progress-current strong{color:var(--exp-accent)}.planner-shell .rejected-preview-list span,.planner-shell .route-progress-current span{color:var(--exp-text-soft)}.planner-shell .elevation-chart{border-color:var(--exp-border);background:var(--exp-surface-soft)}.planner-shell .route-insight-dock .analysis-card,.planner-shell .route-insight-dock .elevation-panel,.planner-shell .route-insight-dock .manual-stage-form,.planner-shell .route-insight-dock .stage-detail-panel,.planner-shell .route-insight-dock .surface-breakdown-panel,.planner-shell .route-insight-dock .surface-strip-panel{border-color:var(--exp-border);background:var(--exp-surface-soft);background-image:none;color:var(--exp-text-soft)}.planner-shell .route-insight-dock svg text{fill:var(--exp-muted)}.planner-shell .route-insight-dock .surface-strip{background:var(--exp-surface-muted)}.planner-shell .route-insight-dock .material-strip-title,.planner-shell .route-insight-dock .surface-strip-legend dd,.planner-shell .route-insight-dock .surface-strip-legend dt{color:var(--exp-text-soft)}.planner-shell .route-insight-dock .elevation-hover-label rect{fill:var(--exp-surface-raised);stroke:var(--exp-border)}.planner-shell .route-insight-dock .elevation-hover-label text{fill:var(--exp-text)}.planner-shell .panel-resize-handle:before{background:var(--exp-accent)}.planner-shell .planner-alert{border-color:color-mix(in srgb,var(--exp-warning) 60%,var(--exp-border));background:color-mix(in srgb,var(--exp-warning) 12%,var(--exp-surface));color:var(--exp-warning)}.planner-shell .map-poi-status,.planner-shell .map-service-inspector{border-color:var(--exp-border);background:var(--exp-surface);color:var(--exp-text-soft);box-shadow:var(--exp-shadow)}@media (min-width:761px){.planner-shell .route-stage>.map-toolbar{display:none}.planner-shell .route-bottom-stack{grid-row:2}}@media (max-width:1120px) and (min-width:761px){.planner-shell .planner-grid{grid-template-columns:minmax(270px,310px) minmax(360px,1fr)}.planner-shell .suggestions-panel{display:none}.expedition-topbar{grid-template-columns:210px minmax(320px,1fr) auto}.expedition-journey-summary>span{min-width:132px;padding-inline:12px}.expedition-export-action{display:none}}@media (max-width:980px) and (min-width:761px){.planner-shell .planner-grid{padding-left:12px}.expedition-rail{display:none}.expedition-topbar{grid-template-columns:190px minmax(260px,1fr) auto}.expedition-edit-action,.expedition-journey-summary>span:nth-child(3){display:none}}@media (max-width:760px){html[data-theme=dark],html[data-theme=dark] body,html[data-theme=light],html[data-theme=light] body{min-height:100%;background:var(--exp-bg,#07120f)}.planner-shell .planner-grid{height:100dvh;min-height:100dvh;overflow:hidden;padding:58px 0 0}.expedition-topbar{position:fixed;height:58px;grid-template-columns:minmax(0,1fr) auto;border-bottom-color:var(--exp-border)}.expedition-brand{height:58px;border-right:0;padding:0 12px}.expedition-brand-mark{width:32px;height:32px;border-radius:8px}.expedition-brand strong{font-size:.92rem}.expedition-journey-summary,.expedition-primary-action,.expedition-secondary-action{display:none}.expedition-topbar-actions{padding-right:10px}.expedition-icon-button{min-height:38px;width:38px}.expedition-rail,.planner-shell .mobile-brand-chip{display:none}.planner-shell .map-preview{position:fixed;inset:58px 0 0}.planner-shell .mobile-side-rail.is-right{top:max(74px,calc(env(safe-area-inset-top, 0px) + 68px));right:10px}.planner-shell .mobile-rail-action{border-color:var(--exp-border);background:var(--exp-surface);color:var(--exp-text-soft);box-shadow:var(--exp-shadow);-webkit-backdrop-filter:none;backdrop-filter:none}.planner-shell .mobile-rail-action[aria-pressed=true]{border-color:var(--exp-accent);background:var(--exp-accent);color:var(--exp-accent-ink)}.planner-shell .mobile-map-bottom{right:12px;bottom:calc(env(safe-area-inset-bottom, 0px) + 12px);left:12px;min-height:62px;border-color:var(--exp-border);border-radius:12px;background:var(--exp-surface);color:var(--exp-text);box-shadow:var(--exp-shadow);-webkit-backdrop-filter:none;backdrop-filter:none}.planner-shell .mobile-map-bottom strong,.planner-shell .mobile-map-route-title,.planner-shell .mobile-route-metrics strong{color:var(--exp-text)}.planner-shell .mobile-map-bottom>span,.planner-shell .mobile-route-metrics small{color:var(--exp-muted)}.planner-shell .mobile-map-bottom.is-idle:after{color:var(--exp-accent)}.planner-shell .mobile-plan-sheet,.planner-shell .mobile-route-sheet{position:fixed;top:auto;right:0;bottom:0;left:0;width:100%;max-height:min(78dvh,720px);border-color:var(--exp-border);border-radius:18px 18px 0 0;background:var(--exp-surface);color:var(--exp-text);box-shadow:0 -22px 54px rgb(0 0 0/.34);transform:none;-webkit-backdrop-filter:none;backdrop-filter:none}.planner-shell .mobile-plan-sheet{height:min(76dvh,680px)}.planner-shell .mobile-route-sheet{height:min(62dvh,560px)}.planner-shell .mobile-breakdown-heading h3,.planner-shell .mobile-candidate-card strong,.planner-shell .mobile-route-details h3,.planner-shell .mobile-route-sheet-header strong,.planner-shell .mobile-route-sheet-metrics strong,.planner-shell .mobile-sheet-header strong{color:var(--exp-text)}.planner-shell .mobile-breakdown-heading span,.planner-shell .mobile-candidate-card small,.planner-shell .mobile-route-details p,.planner-shell .mobile-route-sheet-header span,.planner-shell .mobile-route-sheet-metrics small,.planner-shell .mobile-sheet-header span{color:var(--exp-muted)}.planner-shell .mobile-compact-input input,.planner-shell .mobile-distance-field input,.planner-shell .mobile-map-mode-row button,.planner-shell .mobile-pill-row button,.planner-shell .mobile-preset-row button,.planner-shell .mobile-route-sheet-actions a,.planner-shell .mobile-route-sheet-actions button,.planner-shell .mobile-search-results button,.planner-shell .mobile-search-row button,.planner-shell .mobile-search-row input,.planner-shell .mobile-segment-row button,.planner-shell .mobile-sheet-close{border-color:var(--exp-border);background:var(--exp-surface-raised);color:var(--exp-text-soft)}.planner-shell .mobile-direction-grid button[aria-pressed=true],.planner-shell .mobile-map-mode-row button[aria-pressed=true],.planner-shell .mobile-pill-row button[aria-pressed=true],.planner-shell .mobile-preset-row button[aria-pressed=true],.planner-shell .mobile-segment-row button[aria-pressed=true]{border-color:var(--exp-accent);background:color-mix(in srgb,var(--exp-accent) 16%,var(--exp-surface));color:var(--exp-accent)}.planner-shell .mobile-direction-control{display:grid;grid-gap:7px;gap:7px}.planner-shell .mobile-map-mode-row,.planner-shell .mobile-pill-row,.planner-shell .mobile-preset-row,.planner-shell .mobile-segment-row{border-color:var(--exp-border);background:var(--exp-surface-soft)}.planner-shell .mobile-direction-control>span{color:var(--exp-muted);font-size:.72rem;font-weight:700}.planner-shell .mobile-direction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid var(--exp-border);border-radius:10px;background:var(--exp-surface-soft)}.planner-shell .mobile-direction-grid button{min-height:34px;border:0;border-right:1px solid var(--exp-border);border-bottom:1px solid var(--exp-border);background:transparent;color:var(--exp-text-soft);font-size:.72rem;font-weight:740}.planner-shell .mobile-direction-grid button:nth-child(3n){border-right:0}.planner-shell .mobile-direction-grid button:nth-child(n+7){border-bottom:0}.planner-shell .mobile-breakdown-panel,.planner-shell .mobile-candidate-card,.planner-shell .mobile-place-card,.planner-shell .mobile-route-details .elevation-panel,.planner-shell .mobile-route-sheet-metrics,.planner-shell .mobile-route-traffic-summary,.planner-shell .mobile-ultra-options{border-color:var(--exp-border);background:var(--exp-surface-soft);color:var(--exp-text-soft)}.planner-shell .mobile-route-traffic-summary span{color:var(--exp-muted)}.planner-shell .mobile-route-sheet .surface-enrichment-note{border-color:color-mix(in srgb,var(--exp-warning) 45%,var(--exp-border));background:color-mix(in srgb,var(--exp-warning) 10%,var(--exp-surface));color:var(--exp-warning)}.planner-shell .mobile-candidate-card.is-selected{border-color:var(--exp-accent);background:color-mix(in srgb,var(--exp-accent) 10%,var(--exp-surface))}.planner-shell[data-theme=dark] .mobile-plan-form button:not(.mobile-generate-button){border-color:var(--exp-border);background:var(--exp-surface-raised);color:var(--exp-text-soft);box-shadow:none}.planner-shell[data-theme=dark] .mobile-plan-form button[aria-pressed=true]:not(.mobile-generate-button){border-color:var(--exp-accent);background:color-mix(in srgb,var(--exp-accent) 16%,var(--exp-surface));color:var(--exp-accent)}.planner-shell .mobile-plan-submit{border-color:var(--exp-border);background:var(--exp-surface);box-shadow:0 -10px 18px color-mix(in srgb,var(--exp-surface) 96%,transparent)}.planner-shell .mobile-sheet-handle:before{background:var(--exp-border-strong)}}@media (prefers-reduced-motion:reduce){.planner-shell *,.planner-shell :after,.planner-shell :before{scroll-behavior:auto!important;transition-duration:.01ms!important}}