[data-v-05a0f81e]{box-sizing:border-box}.route-map-box[data-v-05a0f81e]{width:100%;height:calc(100vh - 60px);position:relative;overflow:hidden;background:#dde4ee}.containerMap[data-v-05a0f81e]{position:absolute;inset:0;overflow:hidden}.map-hint[data-v-05a0f81e]{display:none}.bottom-hint[data-v-05a0f81e]{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:300;display:flex;align-items:center;gap:10px;padding:12px 28px;background:hsla(0,0%,100%,.92);backdrop-filter:blur(12px);border-radius:40px;box-shadow:0 8px 32px rgba(0,0,0,.14);border:1px solid rgba(36,99,235,.15);font-size:13px;color:#64748b;font-weight:500;white-space:nowrap;pointer-events:none}.bottom-hint i[data-v-05a0f81e]{font-size:17px;color:#2463eb;animation:bounce-05a0f81e 1.5s infinite}@keyframes bounce-05a0f81e{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.city-panel[data-v-05a0f81e]{position:absolute;top:24px;left:24px;bottom:24px;width:340px;background:hsla(0,0%,100%,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid hsla(0,0%,100%,.5);border-radius:28px;box-shadow:0 10px 40px -10px rgba(0,0,0,.18);display:flex;flex-direction:column;z-index:200;overflow:hidden}.panel-header[data-v-05a0f81e]{padding:22px 20px 16px;flex-shrink:0}.panel-header-title[data-v-05a0f81e]{display:flex;align-items:center;gap:8px;color:#1e293b;font-size:17px;font-weight:800;margin-bottom:4px}.panel-header-title i[data-v-05a0f81e]{font-size:18px;color:#2463eb;background:rgba(36,99,235,.1);width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center}.panel-header-sub[data-v-05a0f81e]{color:#94a3b8;font-size:11px;margin:0 0 14px}.panel-search[data-v-05a0f81e]{margin-bottom:14px}.panel-search[data-v-05a0f81e] .el-input__inner{border-radius:20px;border:1.5px solid #e2e8f0;background:hsla(0,0%,100%,.7);color:#1e293b;font-size:13px;height:38px}.panel-search[data-v-05a0f81e] .el-input__inner:focus{border-color:#2463eb;background:#fff}.panel-search[data-v-05a0f81e] .el-input__inner::-moz-placeholder{color:#94a3b8}.panel-search[data-v-05a0f81e] .el-input__inner::placeholder{color:#94a3b8}.panel-search[data-v-05a0f81e] .el-input__prefix{color:#94a3b8;line-height:38px}.search-input[data-v-05a0f81e]{width:100%}.continent-tabs[data-v-05a0f81e]{display:flex;gap:6px;flex-wrap:wrap}.continent-tab[data-v-05a0f81e]{padding:5px 14px;border-radius:20px;font-size:12px;font-weight:600;color:#64748b;background:#f1f5f9;text-decoration:none;transition:all .2s;white-space:nowrap}.continent-tab[data-v-05a0f81e]:hover{background:#e8edf3;color:#1e293b}.continent-tab.active[data-v-05a0f81e]{background:#2463eb;color:#fff;box-shadow:0 4px 12px rgba(36,99,235,.3)}.city-list[data-v-05a0f81e]{flex:1;overflow:hidden;padding:0 12px}.city-list[data-v-05a0f81e] .el-scrollbar__wrap{overflow-x:hidden}.city-list[data-v-05a0f81e] .el-scrollbar__bar.is-horizontal{display:none}.city-list[data-v-05a0f81e] .el-scrollbar__thumb{background:#e2e8f0;border-radius:10px}.city-item[data-v-05a0f81e]{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:16px;margin-bottom:4px;border:1px solid transparent;cursor:pointer;transition:all .2s}.city-item[data-v-05a0f81e]:hover{background:hsla(0,0%,100%,.9);border-color:rgba(0,0,0,.06);box-shadow:0 2px 12px rgba(0,0,0,.06)}.city-item:hover .city-add-btn[data-v-05a0f81e]{opacity:1;transform:scale(1)}.city-thumb[data-v-05a0f81e]{width:60px;height:60px;border-radius:14px;-o-object-fit:cover;object-fit:cover;flex-shrink:0;background:#f0f2f5}.city-info[data-v-05a0f81e]{flex:1;overflow:hidden}.city-name[data-v-05a0f81e]{font-size:14px;font-weight:700;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.city-sub[data-v-05a0f81e]{font-size:11px;color:#94a3b8;margin-top:3px;text-transform:uppercase;letter-spacing:.5px}.city-add-btn[data-v-05a0f81e]{width:28px;height:28px;border-radius:50%;background:none;border:1.5px solid #e2e8f0;color:#94a3b8;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transform:scale(.8);transition:all .2s}.city-add-btn[data-v-05a0f81e]:hover{background:#2463eb;border-color:#2463eb;color:#fff;box-shadow:0 3px 10px rgba(36,99,235,.35)}.city-empty[data-v-05a0f81e]{text-align:center;padding:40px 20px;color:#94a3b8;font-size:13px}.city-empty i[data-v-05a0f81e]{font-size:32px;display:block;margin-bottom:8px;color:#e2e8f0}.panel-paging[data-v-05a0f81e]{padding:10px 0;display:flex;justify-content:center;flex-shrink:0;border-top:1px solid rgba(0,0,0,.06)}.panel-paging[data-v-05a0f81e] .el-pagination .el-pager li{background:hsla(0,0%,100%,.7);border-radius:8px;min-width:28px;height:28px;line-height:28px;font-size:12px;margin:0 2px}.panel-paging[data-v-05a0f81e] .el-pagination .el-pager li.active,.panel-paging[data-v-05a0f81e] .el-pagination .el-pager li.is-active{background:#2463eb!important;color:#fff;box-shadow:0 2px 8px rgba(36,99,235,.4)}.panel-paging[data-v-05a0f81e] .el-pagination .el-pager li:hover{color:#2463eb}.panel-paging[data-v-05a0f81e] .el-pagination button{background:hsla(0,0%,100%,.7);border-radius:8px}.panel-paging[data-v-05a0f81e] .el-pagination button:hover{color:#2463eb}.route-panel[data-v-05a0f81e]{position:absolute;top:24px;right:24px;bottom:24px;width:320px;background:hsla(0,0%,100%,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid hsla(0,0%,100%,.5);border-radius:28px;box-shadow:0 10px 40px -10px rgba(0,0,0,.18);display:flex;flex-direction:column;z-index:200;overflow:hidden}.slide-right-enter-active[data-v-05a0f81e],.slide-right-leave-active[data-v-05a0f81e]{transition:all .35s cubic-bezier(.4,0,.2,1)}.slide-right-enter[data-v-05a0f81e],.slide-right-leave-to[data-v-05a0f81e]{opacity:0;transform:translateX(40px)}.route-panel-header[data-v-05a0f81e]{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 14px;border-bottom:1px solid rgba(0,0,0,.06);flex-shrink:0}.route-panel-title[data-v-05a0f81e]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:800;color:#1e293b}.route-panel-title i[data-v-05a0f81e]{color:#2463eb;font-size:17px}.route-stat[data-v-05a0f81e]{font-size:12px;background:rgba(36,99,235,.1);padding:4px 12px;border-radius:20px;color:#2463eb;font-weight:700}.route-form[data-v-05a0f81e]{padding:14px 16px;border-bottom:1px solid rgba(0,0,0,.06);flex-shrink:0;display:flex;flex-direction:column;gap:10px}.form-row[data-v-05a0f81e]{display:flex;align-items:center;gap:8px}.form-icon[data-v-05a0f81e]{color:#2463eb;font-size:16px;flex-shrink:0}.route-date-picker[data-v-05a0f81e],.route-name-input[data-v-05a0f81e]{flex:1}[data-v-05a0f81e] .route-date-picker .el-input__inner,[data-v-05a0f81e] .route-name-input .el-input__inner{border-radius:10px;height:36px;font-size:13px;border-color:#e2e8f0;background:hsla(0,0%,100%,.7)}[data-v-05a0f81e] .route-date-picker .el-input__inner:focus,[data-v-05a0f81e] .route-name-input .el-input__inner:focus{border-color:#2463eb;background:#fff}.route-timeline[data-v-05a0f81e]{flex:1;overflow-y:auto;padding:14px 16px}.route-timeline[data-v-05a0f81e]::-webkit-scrollbar{width:3px}.route-timeline[data-v-05a0f81e]::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:2px}.timeline-node[data-v-05a0f81e]{display:flex;align-items:flex-start;gap:10px}.node-dot[data-v-05a0f81e]{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;margin-top:2px}.node-dot.start-dot[data-v-05a0f81e]{background:#2463eb;color:#fff;box-shadow:0 3px 10px rgba(36,99,235,.4)}.node-dot.end-dot[data-v-05a0f81e]{background:#1e293b;color:#fff;box-shadow:0 3px 10px rgba(30,41,59,.3)}.node-body[data-v-05a0f81e]{flex:1;background:hsla(0,0%,100%,.6);border-radius:12px;padding:8px 12px;display:flex;align-items:center;gap:8px;min-height:38px;border:1px solid transparent;transition:border-color .2s}.node-body.editing[data-v-05a0f81e]{border-color:#2463eb;background:#fff}.node-body[data-v-05a0f81e]:hover{border-color:#e2e8f0}.node-label[data-v-05a0f81e]{font-size:11px;color:#94a3b8;white-space:nowrap}.node-city[data-v-05a0f81e]{flex:1;font-size:13px;font-weight:700;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-edit-btn[data-v-05a0f81e]{background:none;border:none;cursor:pointer;color:#94a3b8;padding:2px;font-size:13px;flex-shrink:0}.node-edit-btn[data-v-05a0f81e]:hover{color:#2463eb}.node-autocomplete[data-v-05a0f81e]{width:100%}.timeline-connector[data-v-05a0f81e]{width:2px;height:18px;background:#e2e8f0;margin-left:15px;flex-shrink:0}.timeline-city-item[data-v-05a0f81e]{display:flex;flex-direction:column}.city-node[data-v-05a0f81e]{display:flex;align-items:center;gap:10px}.city-dot[data-v-05a0f81e]{width:32px;height:32px;border-radius:50%;background:hsla(0,0%,100%,.8);border:2px solid #2463eb;color:#2463eb;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.city-node-body[data-v-05a0f81e]{flex:1;display:flex;align-items:center;gap:6px;background:hsla(0,0%,100%,.6);border-radius:12px;padding:6px 10px;border:1px solid transparent;transition:all .2s}.city-node-body[data-v-05a0f81e]:hover{border-color:rgba(36,99,235,.1);background:hsla(0,0%,100%,.9)}.drag-handle[data-v-05a0f81e]{cursor:grab;color:#94a3b8;font-size:14px;flex-shrink:0}.drag-handle[data-v-05a0f81e]:active{cursor:grabbing}.city-node-name[data-v-05a0f81e]{flex:1;font-size:13px;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-control[data-v-05a0f81e]{display:flex;align-items:center;gap:4px;flex-shrink:0}.day-btn[data-v-05a0f81e]{width:20px;height:20px;border-radius:50%;border:1px solid #e2e8f0;background:hsla(0,0%,100%,.8);cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .15s;color:#64748b}.day-btn.minus[data-v-05a0f81e]:hover{border-color:#f56c6c;color:#f56c6c}.day-btn.plus[data-v-05a0f81e]:hover{border-color:#2463eb;color:#2463eb}.day-count[data-v-05a0f81e]{font-size:11px;color:#2463eb;font-weight:700;min-width:24px;text-align:center}.city-delete-btn[data-v-05a0f81e]{background:none;border:none;cursor:pointer;color:#94a3b8;font-size:13px;padding:2px;flex-shrink:0;border-radius:4px;transition:all .15s}.city-delete-btn[data-v-05a0f81e]:hover{color:#f56c6c;background:#fff0f0}.drag-ghost[data-v-05a0f81e]{opacity:.4}.drag-chosen .city-node-body[data-v-05a0f81e]{border-color:#2463eb;box-shadow:0 0 0 2px rgba(36,99,235,.1)}.route-actions[data-v-05a0f81e]{padding:14px 16px;flex-shrink:0;border-top:1px solid rgba(0,0,0,.06)}.next-btn[data-v-05a0f81e]{width:100%;height:46px;background:linear-gradient(135deg,#2463eb,#60a5fa);color:#fff;border:none;border-radius:14px;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 16px rgba(36,99,235,.4);transition:all .2s;letter-spacing:.5px}.next-btn i[data-v-05a0f81e]{font-size:16px;transition:transform .2s}.next-btn[data-v-05a0f81e]:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(36,99,235,.5)}.next-btn:hover i[data-v-05a0f81e]{transform:translateX(4px)}.next-btn[data-v-05a0f81e]:active{transform:translateY(0)}[data-v-05a0f81e] .route-attr-dialog{border-radius:20px;overflow:hidden}[data-v-05a0f81e] .route-attr-dialog .el-dialog__header{background:linear-gradient(135deg,#1e293b,#334155);padding:20px 24px}[data-v-05a0f81e] .route-attr-dialog .el-dialog__header .el-dialog__title{color:#fff;font-size:16px;font-weight:700}[data-v-05a0f81e] .route-attr-dialog .el-dialog__header .el-dialog__headerbtn .el-dialog__close{color:hsla(0,0%,100%,.7)}.attr-dialog-body[data-v-05a0f81e]{padding:8px 4px;max-height:420px;overflow-y:auto}.attr-group[data-v-05a0f81e]{margin-bottom:24px}.attr-group[data-v-05a0f81e]:last-child{margin-bottom:0}.attr-group-title[data-v-05a0f81e]{font-size:14px;font-weight:700;color:#1e293b;margin-bottom:12px;padding-left:10px;border-left:3px solid #2463eb}.attr-radios[data-v-05a0f81e]{display:flex;flex-wrap:wrap;gap:8px}[data-v-05a0f81e] .attr-radio-item{margin-right:0}[data-v-05a0f81e] .attr-radio-item .el-radio__input{display:none}[data-v-05a0f81e] .attr-radio-item .el-radio__label{padding:6px 14px;border-radius:20px;border:1px solid #e2e8f0;font-size:13px;color:#64748b;background:#f8f9fb;transition:all .2s;cursor:pointer}[data-v-05a0f81e] .attr-radio-item.is-checked .el-radio__label{background:#2463eb;border-color:#2463eb;color:#fff!important}.attr-loading[data-v-05a0f81e]{text-align:center;padding:30px;color:#94a3b8;font-size:14px}.attr-loading i[data-v-05a0f81e]{margin-right:6px}