.login-page[data-v-7a700c43]{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460)}.login-bg[data-v-7a700c43]{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(64,158,255,.15) 0,transparent 50%),radial-gradient(ellipse at 80% 20%,hsla(0,0%,100%,.05) 0,transparent 50%)}.login-container[data-v-7a700c43]{position:relative;z-index:1;width:100%;max-width:420px;padding:20px}.login-card[data-v-7a700c43]{background:hsla(0,0%,100%,.95);border-radius:16px;padding:40px 36px 30px;box-shadow:0 20px 60px rgba(0,0,0,.3);backdrop-filter:blur(10px)}.login-header[data-v-7a700c43]{text-align:center;margin-bottom:30px}.login-logo[data-v-7a700c43]{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#409eff,#1a73e8);display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px}.login-title[data-v-7a700c43]{font-size:22px;font-weight:700;color:#1a1a2e;margin:0}.login-subtitle[data-v-7a700c43]{font-size:13px;color:#909399;margin-top:4px}.captcha-box[data-v-7a700c43]{overflow:hidden}.captcha-box[data-v-7a700c43] svg{width:100%;height:100%}.login-footer[data-v-7a700c43]{text-align:center;margin-top:16px;font-size:11px;color:#c0c4cc}.app-sidebar[data-v-f18dc73e]{background:#1a1a2e;transition:width .25s;display:flex;flex-direction:column;overflow:hidden}.sidebar-header[data-v-f18dc73e]{flex-shrink:0;height:52px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid hsla(0,0%,100%,.06)}.logo-area[data-v-f18dc73e]{display:flex;align-items:center;gap:8px}.logo-text[data-v-f18dc73e]{color:#fff;font-size:16px;font-weight:600}.sidebar-menu[data-v-f18dc73e]{flex:1;border-right:none;overflow-y:auto}.sidebar-menu .el-menu-item[data-v-f18dc73e]{height:44px;line-height:44px;margin:2px 8px;border-radius:6px}.sidebar-menu .el-menu-item.is-active[data-v-f18dc73e]{background:linear-gradient(135deg,#409eff,#1a73e8)!important}.sidebar-menu .el-menu-item[data-v-f18dc73e]:hover{background:hsla(0,0%,100%,.08)!important}.sidebar-menu .el-submenu[data-v-f18dc73e] .el-menu{background-color:#1a1a2e!important}.sidebar-menu .el-submenu[data-v-f18dc73e] .el-menu-item{padding-left:48px!important}.sidebar-footer[data-v-f18dc73e]{flex-shrink:0;padding:12px 16px;border-top:1px solid hsla(0,0%,100%,.06);display:flex;align-items:center;justify-content:space-between}.user-info-side[data-v-f18dc73e]{display:flex;align-items:center;gap:8px;flex:1}.user-avatar-side[data-v-f18dc73e]{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#409eff,#1a73e8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.user-meta[data-v-f18dc73e]{min-width:0}.user-name[data-v-f18dc73e]{color:hsla(0,0%,100%,.85);font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role[data-v-f18dc73e]{color:hsla(0,0%,100%,.4);font-size:11px}.logout-btn[data-v-f18dc73e]{color:hsla(0,0%,100%,.4);font-size:16px;padding:0}.logout-btn[data-v-f18dc73e]:hover{color:#409eff}.app-header[data-v-f18dc73e]{background:#fff;border-bottom:1px solid #ebeef5;display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:52px}.header-left[data-v-f18dc73e]{display:flex;align-items:center;gap:12px}.toggle-btn[data-v-f18dc73e]{font-size:18px;color:#606266;cursor:pointer;padding:4px}.toggle-btn[data-v-f18dc73e]:hover{color:#409eff}.header-breadcrumb[data-v-f18dc73e]{font-size:13px}.header-right[data-v-f18dc73e]{display:flex;align-items:center;gap:8px}.header-user[data-v-f18dc73e]{display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px 8px;border-radius:6px}.header-user[data-v-f18dc73e]:hover{background:#f5f7fa}.header-user-name[data-v-f18dc73e]{font-size:13px;color:#303133;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-main[data-v-f18dc73e]{background:#f0f2f5;padding:0;min-height:calc(100vh - 52px)}.dispatch-page[data-v-c3a0b6d6]{position:relative;width:100%;height:calc(100vh - 52px);overflow:hidden}.map-full[data-v-c3a0b6d6]{position:absolute;inset:0}.stats-overlay[data-v-c3a0b6d6]{position:absolute;top:16px;left:16px;z-index:10;display:flex;gap:10px;flex-wrap:wrap}.stat-card[data-v-c3a0b6d6]{background:hsla(0,0%,100%,.94);border-radius:10px;padding:12px 18px;min-width:110px;box-shadow:0 4px 16px rgba(0,0,0,.1);border-left:4px solid var(--accent);backdrop-filter:blur(6px)}.stat-value[data-v-c3a0b6d6]{font-size:24px;font-weight:800;color:#1f2329;line-height:1.2}.stat-label[data-v-c3a0b6d6]{font-size:12px;color:#909399;margin-top:2px}.workers-panel[data-v-c3a0b6d6]{position:absolute;top:16px;right:16px;bottom:16px;width:320px;z-index:10;background:hsla(0,0%,100%,.96);border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.14);display:flex;flex-direction:column;overflow:hidden}.panel-header[data-v-c3a0b6d6]{padding:14px 16px 10px;border-bottom:1px solid #f0f1f3;display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-title[data-v-c3a0b6d6]{font-size:15px;font-weight:700;color:#1f2329;display:flex;align-items:center;gap:6px}.panel-body[data-v-c3a0b6d6]{flex:1;overflow-y:auto;padding:10px 12px}.worker-item[data-v-c3a0b6d6]{display:flex;gap:10px;padding:12px;border-radius:10px;border:1px solid #eceef0;background:#fafbfc;margin-bottom:8px;cursor:pointer;transition:all .2s}.worker-item[data-v-c3a0b6d6]:hover{border-color:#409eff;box-shadow:0 4px 12px rgba(64,158,255,.12)}.worker-item.is-active[data-v-c3a0b6d6]{border-color:#409eff;background:#ecf5ff}.worker-avatar[data-v-c3a0b6d6]{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;background:#fdf6ec;color:#e6a23c}.worker-avatar.is-free[data-v-c3a0b6d6]{background:#f0f9eb;color:#67c23a}.worker-info[data-v-c3a0b6d6]{flex:1;min-width:0}.worker-top[data-v-c3a0b6d6]{display:flex;align-items:center;gap:6px;margin-bottom:4px}.worker-name[data-v-c3a0b6d6]{font-size:14px;font-weight:600;color:#1f2329}.worker-line[data-v-c3a0b6d6]{font-size:12px;color:#606266;display:flex;align-items:center;gap:4px;margin-top:2px}.worker-line i[data-v-c3a0b6d6]{color:#909399}.worker-line.addr[data-v-c3a0b6d6]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worker-time[data-v-c3a0b6d6]{font-size:11px;color:#c0c4cc;display:flex;align-items:center;gap:4px;margin-top:3px}.panel-footer[data-v-c3a0b6d6]{padding:8px 12px;border-top:1px solid #f0f1f3;display:flex;justify-content:center}.search-results-panel[data-v-6c8776a8]{max-height:200px;overflow-y:auto;border:1px solid #e4e7ed;border-radius:6px;margin-bottom:10px;background:#fff}.search-result-item[data-v-6c8776a8]{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;border-bottom:1px solid #f5f5f5;transition:background .15s}.search-result-item[data-v-6c8776a8]:last-child{border-bottom:none}.search-result-item[data-v-6c8776a8]:hover{background:#f0f7ff}.nearby-panel[data-v-6c8776a8]{margin-top:10px;border:1px solid #e4e7ed;border-radius:8px;overflow:hidden}.nearby-header[data-v-6c8776a8]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 8px;font-size:13px;font-weight:600;color:#303133;background:#fafafa;border-bottom:1px solid #eee}.nearby-list[data-v-6c8776a8]{max-height:280px;overflow-y:auto;padding:6px 10px}.nearby-card[data-v-6c8776a8]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;margin-bottom:6px;background:#fafafa;cursor:pointer;transition:all .15s}.nearby-card.is-optimal[data-v-6c8776a8]{background:linear-gradient(135deg,#e8f4fd,#f0f8ff);border:1px solid #409eff}.nearby-card[data-v-6c8776a8]:hover{background:#f0f7ff}.personnel-avatar[data-v-6c8776a8]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px}.personnel-avatar.free[data-v-6c8776a8]{background:#e8fae8}.personnel-avatar.busy[data-v-6c8776a8]{background:#fdf6ec}.personnel-info[data-v-6c8776a8]{flex:1;min-width:0}.personnel-name-row[data-v-6c8776a8]{display:flex;align-items:center;gap:4px;margin-bottom:2px}.personnel-name[data-v-6c8776a8]{font-size:13px;font-weight:600;color:#1a1a2e}.optimal-badge[data-v-6c8776a8]{background:linear-gradient(135deg,#409eff,#1a73e8);color:#fff}.optimal-badge[data-v-6c8776a8],.status-badge[data-v-6c8776a8]{font-size:10px;padding:0 6px;border-radius:8px;line-height:16px}.status-badge.free[data-v-6c8776a8]{background:#e8fae8;color:#67c23a}.status-badge.busy[data-v-6c8776a8]{background:#fdf6ec;color:#e6a23c}.personnel-meta[data-v-6c8776a8]{font-size:11px;color:#909399;display:flex;gap:12px}.personnel-meta i[data-v-6c8776a8]{margin-right:2px}.personnel-loc-time[data-v-6c8776a8]{font-size:11px;color:#c0c4cc;margin-top:2px;display:flex;align-items:center;gap:2px}.personnel-score[data-v-6c8776a8]{text-align:center;flex-shrink:0}.score-value[data-v-6c8776a8]{font-size:18px;font-weight:700;color:#409eff;line-height:1}.score-label[data-v-6c8776a8]{font-size:9px;color:#909399}.page-container[data-v-8859797c]{max-width:1100px;margin:0 auto;padding:24px;min-height:100vh;box-sizing:border-box;background:#f0f2f5}.page-header[data-v-8859797c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px;background:#fff;padding:16px 20px;border-radius:10px;box-shadow:0 1px 4px rgba(0,0,0,.06)}.header-left[data-v-8859797c]{display:flex;align-items:center;gap:14px}.back-btn[data-v-8859797c]{border-radius:8px}.title-block[data-v-8859797c]{display:flex;align-items:center;gap:10px}.page-title[data-v-8859797c]{font-size:20px;font-weight:700;margin:0;color:#1f2329}.el-card[data-v-8859797c]{border-radius:10px;border:1px solid #e8eaed;box-shadow:0 2px 8px rgba(0,0,0,.05);margin-bottom:16px;transition:box-shadow .2s}.el-card[data-v-8859797c]:hover{box-shadow:0 6px 20px rgba(0,0,0,.08)}.el-card[data-v-8859797c] .el-card__header{background:linear-gradient(180deg,#fafbfc,#f5f6f8);border-bottom:1px solid #f0f1f3;font-weight:600;font-size:15px;padding:14px 20px}.el-card[data-v-8859797c] .el-card__body{padding:20px}.detail-label[data-v-8859797c]{font-size:12px;color:#909399;margin-bottom:4px}.detail-value[data-v-8859797c]{font-size:13px;color:#303133;line-height:1.6}.clue-img-item[data-v-8859797c]{position:relative;width:96px;height:96px;border-radius:8px;overflow:hidden;cursor:pointer;border:1px solid #e8eaed;background:#fafbfc;transition:transform .2s,box-shadow .2s}.clue-img-item[data-v-8859797c]:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(0,0,0,.12)}.clue-img[data-v-8859797c]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.clue-img-zoom[data-v-8859797c]{position:absolute;right:4px;bottom:4px;color:#fff;background:rgba(0,0,0,.45);border-radius:50%;padding:3px;font-size:12px}.latest-feedback-box[data-v-8859797c]{border-radius:8px;padding:12px;height:100%;box-sizing:border-box;&.field[data-v-8859797c]{background:#f0f9eb;border:1px solid #e1f3d8}&.dispatch[data-v-8859797c]{background:#ecf5ff;border:1px solid #d9ecff}.latest-feedback-title[data-v-8859797c]{font-size:13px;font-weight:600;color:#303133;margin-bottom:8px}.latest-feedback-row[data-v-8859797c]{display:flex;font-size:12px;line-height:22px;.lbl[data-v-8859797c]{width:72px;color:#909399;flex-shrink:0}.val[data-v-8859797c]{color:#303133;word-break:break-all}}.latest-photos[data-v-8859797c]{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;img[data-v-8859797c]{width:56px;height:56px;border-radius:6px;-o-object-fit:cover;object-fit:cover;border:1px solid #e4e7ed;cursor:pointer}}.latest-meta[data-v-8859797c]{margin-top:8px;font-size:12px;color:#909399}}.fu-filter[data-v-8859797c]{display:flex;align-items:center;gap:10px;margin-bottom:12px;.fu-filter-count[data-v-8859797c]{font-size:12px;color:#909399}}.fu-list[data-v-8859797c]{max-height:480px;overflow-y:auto;padding-right:4px}.fu-card[data-v-8859797c]{border:1px solid #ebeef5;border-radius:10px;margin-bottom:12px;background:#fff;overflow:hidden;transition:box-shadow .2s;&[data-v-8859797c]:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}&.fu-closure[data-v-8859797c]{border-left:3px solid #e6a23c}&.fu-dispatch_contact[data-v-8859797c]{border-left:3px solid #409eff}&.fu-field_followup[data-v-8859797c]{border-left:3px solid #67c23a}.fu-card-head[data-v-8859797c]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f8f9fc;border-bottom:1px solid #ebeef5;.fu-head-left[data-v-8859797c]{display:flex;align-items:center;gap:10px;min-width:0}.fu-result[data-v-8859797c]{font-size:14px;font-weight:700;padding:3px 12px;border-radius:14px;&.c-back[data-v-8859797c]{background:#e1f3d8;color:#07c160}&.c-appointment[data-v-8859797c]{background:#d9ecff;color:#1a73e8}&.c-lost[data-v-8859797c]{background:#fde2e2;color:#ee0a24}&.c-following[data-v-8859797c]{background:#fff3e0;color:#ff8f00}&.c-default[data-v-8859797c]{background:#f0f2f5;color:#606266}}.fu-head-right[data-v-8859797c]{display:flex;align-items:center;gap:10px;font-size:12px;color:#909399;flex-shrink:0;.fu-who[data-v-8859797c]{font-weight:600;color:#606266}}}.fu-body[data-v-8859797c]{padding:6px 14px 12px;.fu-row[data-v-8859797c]{display:flex;align-items:flex-start;padding:7px 0;border-bottom:1px dashed #f0f2f5;font-size:13px;&[data-v-8859797c]:last-of-type{border-bottom:none}&.full .fu-value[data-v-8859797c]{white-space:pre-wrap;line-height:1.6}.fu-label[data-v-8859797c]{width:120px;color:#909399;flex-shrink:0}.fu-value[data-v-8859797c]{flex:1;color:#303133;word-break:break-all}}.fu-photos[data-v-8859797c]{display:flex;align-items:flex-start;padding-top:10px;.fu-label[data-v-8859797c]{width:120px;color:#909399;flex-shrink:0;font-size:13px;line-height:1.5}.fu-photo-list[data-v-8859797c]{display:flex;gap:8px;flex-wrap:wrap;flex:1}.fu-photo-item[data-v-8859797c]{position:relative;width:72px;height:72px;border-radius:8px;overflow:hidden;border:1px solid #e4e7ed;cursor:pointer;img[data-v-8859797c]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .2s}&:hover img[data-v-8859797c]{transform:scale(1.08)}.fu-photo-idx[data-v-8859797c]{position:absolute;left:4px;top:4px;min-width:18px;height:18px;line-height:18px;text-align:center;font-size:11px;color:#fff;background:rgba(0,0,0,.5);border-radius:9px}}}}}.mini-stat[data-v-f3ad6d6c]{border-radius:6px;margin-bottom:8px}.mini-stat[data-v-f3ad6d6c] .el-card__body{padding:14px 16px}.mini-stat-value[data-v-f3ad6d6c]{font-size:22px;font-weight:700;color:#1a1a2e}.mini-stat-label[data-v-f3ad6d6c]{font-size:12px;color:#909399;margin-top:2px}.person-card[data-v-f3ad6d6c]{border-radius:8px;transition:box-shadow .2s}.person-card[data-v-f3ad6d6c]:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}.person-header[data-v-f3ad6d6c]{display:flex;align-items:center;gap:10px}.person-info[data-v-f3ad6d6c]{flex:1;min-width:0}.person-name[data-v-f3ad6d6c]{font-size:14px;font-weight:600;color:#303133}.person-phone[data-v-f3ad6d6c]{font-size:12px;color:#909399;margin-top:2px}.person-meta[data-v-f3ad6d6c]{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid #f0f0f0}.person-meta-item[data-v-f3ad6d6c]{font-size:12px;color:#606266;display:flex;align-items:center;gap:4px}.person-meta-item i[data-v-f3ad6d6c]{color:#909399}.log-entry[data-v-5fda19ca]{font-size:13px;line-height:1.6}.log-action-tag[data-v-5fda19ca]{display:inline-block;font-size:11px;padding:1px 8px;border-radius:4px;margin-right:6px;font-weight:500}.log-desc[data-v-5fda19ca]{color:#303133}.log-user[data-v-5fda19ca]{color:#909399;font-size:12px}.detail-block[data-v-09189a12]{margin-top:12px}.detail-label[data-v-09189a12]{font-size:12px;color:#909399;margin-bottom:4px}.detail-pre[data-v-09189a12]{background:#f5f7fa;border:1px solid #e4e7ed;border-radius:6px;padding:10px 12px;font-size:12px;white-space:pre-wrap;word-break:break-all;margin:0;max-height:260px;overflow-y:auto}