#map-route-tool{z-index:var(--layer-floating-panel);box-sizing:border-box;border:1px solid var(--border-color);background:var(--bg-active);width:360px;max-height:calc(100dvh - 110px);color:var(--text-primary);border-radius:20px;flex-direction:column;font:14px system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;display:flex;position:fixed;top:80px;left:68px;box-shadow:0 12px 40px #0f172a2e}#map-route-tool header{justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 12px;display:flex}#map-route-tool h2{letter-spacing:-.5px;margin:0;font-size:21px;font-weight:750}#map-route-tool header p{color:var(--text-secondary);margin:6px 0 0;font-size:12px}#map-route-tool button{border:1px solid var(--border-color);background:var(--bg-active);min-width:36px;min-height:36px;color:inherit;font:inherit;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:6px 10px;display:inline-flex}#map-route-tool button:hover:not(:disabled){background:var(--bg-hover)}#map-route-tool button:disabled{opacity:.4;cursor:default}#map-route-tool button:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}#map-route-tool input:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}#map-route-tool svg{flex-shrink:0;width:18px;height:18px}#map-route-tool .route-dismiss{background:0 0;border:none;padding:0;font-size:22px}.route-editor-body{min-height:0;padding:0 20px 12px;overflow:auto}.map-route-modes{background:var(--bg-input,#f1f5f9);border-radius:12px;gap:4px;margin:4px 0 20px;padding:4px;display:flex}#map-route-tool .map-route-modes button{background:0 0;border:none;flex:1;font-size:13px;font-weight:650}#map-route-tool .map-route-modes button[aria-pressed=true]{color:#1d4ed8;background:#fff;box-shadow:0 1px 5px #0f172a1f}.route-stop-list{margin:0;padding:0;list-style:none}.route-stop{align-items:flex-start;gap:10px;padding-bottom:12px;display:flex;position:relative}.route-stop:not(:last-child):before{content:"";border-left:2px dotted #cbd5e1;position:absolute;top:30px;bottom:0;left:11px}.route-stop-number{color:#2563eb;background:#eff6ff;border-radius:50%;flex:0 0 24px;place-items:center;height:24px;margin-top:24px;font-size:11px;font-weight:750;display:grid}.route-stop:first-child .route-stop-number{color:#147d64;background:#e5f6ef}.route-stop-main{flex:1;min-width:0;position:relative}.route-stop label{color:var(--text-secondary);margin-bottom:5px;font-size:11px;font-weight:650;display:block}.route-stop-entry{border:1px solid var(--border-color);background:var(--bg-input,#f8fafc);border-radius:10px;display:flex}#map-route-tool input{width:100%;min-width:0;height:42px;color:var(--text-primary);font:inherit;text-overflow:ellipsis;background:0 0;border:none;border-radius:10px;padding:0 10px}#map-route-tool .route-pick{color:var(--text-secondary);background:0 0;border:none;min-width:40px}.route-stop-actions{justify-content:flex-end;align-items:center;gap:2px;margin-top:3px;display:flex}#map-route-tool .route-stop-actions button{min-width:28px;min-height:28px;color:var(--text-secondary);background:0 0;border:none;padding:0 6px;font-size:11px}#map-route-tool .route-stop-actions button:last-child{margin-left:4px}#map-route-tool .route-add-stop{color:#1d4ed8;border-style:dashed;width:calc(100% - 34px);margin-left:34px;font-weight:650}.route-map-hint{color:var(--text-secondary);margin:12px 0 0 34px;font-size:11px;line-height:1.45}#map-route-tool footer{border-top:1px solid var(--border-color);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;padding:14px 20px 16px;display:flex}.route-summary{color:var(--text-secondary);flex-direction:column;flex:1;gap:3px;font-size:12px;display:flex}.route-summary strong{color:var(--text-primary);font-size:19px}#map-route-tool .map-route-done{color:#fff;background:#2563eb;border-color:#2563eb;min-width:96px;min-height:42px;font-weight:650}#map-route-tool .map-route-done:hover:not(:disabled){background:#1d4ed8}#map-route-tool footer small{width:100%;color:var(--text-secondary);font-size:10px}.route-pick-message{display:none}#map-route-tool.is-picking .route-pick-message{color:#1d4ed8;background:#eff6ff;align-items:center;gap:12px;padding:12px 20px;display:flex}.route-pick-message span{flex:1;align-items:center;gap:10px;font-size:13px;display:flex}.map-route-suggestions{border:1px solid var(--border-color);background:var(--bg-active);border-radius:10px;max-height:200px;margin-top:5px;display:none;overflow:auto}.map-route-suggestions.visible{display:block}.map-route-suggestion,.map-route-search-status{cursor:pointer;padding:12px;font-size:13px}.map-route-suggestion.active,.map-route-suggestion:hover{background:var(--bg-hover)}@media(max-width:768px){#map-route-tool{top:auto;left:0;right:0;bottom:var(--route-keyboard-offset,0px);width:100%;max-height:min(65dvh,calc(var(--route-visible-height,100dvh) - 90px));border-bottom:none;border-radius:22px 22px 0 0}#map-route-tool header{padding:15px 16px 8px}#map-route-tool h2{font-size:19px}#map-route-tool header p{display:none}.route-editor-body{padding:0 16px 12px}.map-route-modes{margin:4px 0 14px}#map-route-tool button{min-height:44px}#map-route-tool input{height:44px;font-size:16px}#map-route-tool .route-stop-actions button{min-width:36px;min-height:36px;font-size:12px}#map-route-tool footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}#map-route-tool footer small,#map-route-tool.is-picking header,#map-route-tool.is-picking .route-editor-body,#map-route-tool.is-picking footer{display:none}#map-route-tool.is-picking .route-pick-message{padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}html.map-route-open .ai-map-fab,html.map-route-open #bottom-right-cluster,html.map-route-open .tool-guide-open{visibility:hidden}}.data-layer-file-update{border:1px solid var(--border-color,#cbd5e1);background:var(--bg-toolbar,#fff);width:min(460px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--text-primary,#172033);border-radius:12px;margin:auto;padding:24px;overflow:auto}.data-layer-file-update::backdrop{background:#0006}.data-layer-file-update h2{margin:0 0 12px;font-size:22px}.data-layer-file-update p{margin:12px 0;font-size:13px;line-height:1.5}.data-layer-file-update label{gap:6px;margin:12px 0;display:grid}.data-layer-file-update input,.data-layer-file-update select,.data-layer-file-update button{border:1px solid var(--border-color,#cbd5e1);min-height:44px;color:inherit;background:var(--bg-input,#fff);font:inherit;border-radius:6px;max-width:100%;padding:8px}.data-layer-file-update button{cursor:pointer;margin-top:8px}.data-layer-file-update [hidden]{display:none}.data-field-legend{margin:8px 0;padding:0;font-size:12px;list-style:none}.data-field-legend li{overflow-wrap:anywhere;align-items:center;gap:8px;display:flex}.data-field-legend input{border:0;flex-shrink:0;width:22px;height:22px;padding:0}.route-edit-group{box-sizing:border-box;background:#1d2a35;border:1px solid #435361;border-radius:10px;flex-shrink:0;align-items:center;display:flex;overflow:hidden}.route-edit-group>[data-route-editable]{color:#c5d9e7;white-space:nowrap;background:0 0;border:0;border-radius:0;align-items:center;gap:8px;min-height:40px;padding:6px 12px;display:flex}.route-edit-group>[data-route-editable][aria-pressed=true]{color:#e0f2fe;box-shadow:none;background:#183b51}.route-edit-switch{box-sizing:border-box;background:#64748b;border-radius:12px;width:28px;height:16px;padding:2px;transition:background .24s}.route-edit-switch:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .24s;display:block}[aria-pressed=true]>.route-edit-switch{background:#0284c7}[aria-pressed=true]>.route-edit-switch:after{transform:translate(12px)}.route-drag-controls{align-items:center;gap:3px;padding:4px;font-size:12px;display:flex}.route-drag-controls button{color:#c5d9e7;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-height:34px;padding:5px 9px;display:flex}.route-drag-controls svg{flex-shrink:0;width:16px;height:16px}.route-drag-controls button:hover{color:#fff;background:#304352}.route-drag-controls button[aria-pressed=true]{color:#0c4a6e;background:#e0f2fe;border-color:#7dd3fc}.route-edit-group button:focus-visible{outline-offset:-3px;outline:2px solid #38bdf8}.route-drag-feedback{color:#c5d9e7;background:#101820;border-bottom:1px solid #263541;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:8px 16px;font-size:12px;display:flex}.route-drag-feedback output{text-align:end;flex:1;min-width:160px}.route-pass-choices{color:#f1f5f9;flex-wrap:wrap;flex:auto;align-items:center;gap:8px;min-width:0;font:13px system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;display:flex}.route-pass-choices[hidden]{display:none}.route-pass-heading{gap:4px;min-width:180px;padding-inline-end:12px;display:grid}.route-pass-heading strong{font-size:13px;font-weight:600}.route-pass-heading small{color:#a8bac8;font-size:11px}.route-pass-choices button{color:#f1f5f9;cursor:pointer;min-height:40px;font:inherit;white-space:nowrap;background:#1d2a35;border:1px solid #435361;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;display:flex}.route-pass-choices button:hover{background:#304352}.route-pass-choices button[aria-pressed=true]{background:var(--editor-accent);border-color:var(--editor-accent);color:#fff}.route-pass-choices button:focus-visible{outline-offset:2px;outline:2px solid #7dd3fc}.route-pass-arrow,.route-pass-clear svg{width:18px;height:18px}.route-pass-choices .route-pass-clear{background:0 0;min-width:40px;margin-inline-start:auto;padding:8px}.route-pass-markers{pointer-events:none;position:absolute;inset:40px 34px 31px 54px}.route-pass-marker{border-inline-start:2px dotted #a8bac8;width:0;position:absolute;top:0;bottom:0}.route-pass-marker:before{content:"";background:#a8bac8;border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:-5px}.route-pass-marker>span{color:#a8bac8;white-space:nowrap;font-size:11px;position:absolute;bottom:calc(100% + 8px);left:0;transform:translate(-50%)}.route-pass-marker.is-selected{border-color:#f59e0b}.route-pass-marker.is-selected:before{background:#f59e0b}.route-pass-marker.is-selected>span{color:#fbbf24}@media(max-width:768px){.route-profile .route-profile-header{box-sizing:border-box;gap:4px;height:auto;min-height:88px;padding:0 12px}.route-profile .route-profile-header>strong{flex:1;min-width:0}.route-profile .route-header-actions{flex-wrap:wrap;flex-basis:100%;order:1;gap:6px;padding-bottom:4px}.route-profile .route-header-actions>.route-button,.route-edit-group>[data-route-editable]{padding:6px 8px}.route-edit-group:has(.route-drag-controls){order:2;width:100%}.route-drag-feedback{gap:6px;padding:8px 12px}.route-drag-feedback output{text-align:start}.route-pass-choices{gap:6px}.route-pass-heading{flex-basis:calc(100% - 60px);order:0}.route-pass-choices button{flex:1;order:2;min-height:44px;padding:6px 8px}.route-pass-choices .route-pass-clear{flex:0 0 40px;order:1}.route-pass-markers{bottom:31px}.route-pass-marker>span{font-size:10px}.route-drag-controls{flex:1;justify-content:space-around;gap:0;padding:3px}.route-drag-controls button{flex-direction:column;gap:2px;min-height:44px;padding:4px 5px;font-size:11px}}@media(prefers-reduced-motion:reduce){.route-edit-switch,.route-edit-switch:after{transition:none}}
