.animated-number[data-v-4e061989]{display:inline-block;font-variant-numeric:tabular-nums}.patrol-page[data-v-23bb7554]{height:100%;display:flex;flex-direction:column;overflow:hidden}.toolbar[data-v-23bb7554]{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;flex-shrink:0}.toolbar-left[data-v-23bb7554]{display:flex;align-items:center;gap:10px}.toolbar-label[data-v-23bb7554]{font-size:16px;color:#7e8fa6}.unit-readonly[data-v-23bb7554]{font-size:16px;color:#e4eaf2;padding:0 6px}.days-select[data-v-23bb7554]{width:110px}.toolbar-right[data-v-23bb7554]{display:flex;align-items:center;gap:8px;font-size:15px;color:#7e8fa6}.unit-summary[data-v-23bb7554]{margin:0 24px 20px;background:rgba(14,30,53,.88);border:1px solid rgba(64,158,255,.15);border-radius:10px;padding:20px 28px 18px;flex-shrink:0}.us-head[data-v-23bb7554]{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid rgba(64,158,255,.12);font-size:19px;font-weight:700;color:#e4eaf2;letter-spacing:2px}.us-head i[data-v-23bb7554]{font-size:20px;color:#e6a23c}.us-meta[data-v-23bb7554]{font-size:15px;font-weight:400;color:#7e8fa6;letter-spacing:0;margin-left:8px}.us-meta .animated-number[data-v-23bb7554]{display:inline-block;min-width:1ch}.us-body[data-v-23bb7554]{display:grid;grid-template-columns:1fr 1fr;gap:24px}.us-block[data-v-23bb7554]{background:#0f2137;border-radius:6px;padding:18px 22px}.us-block-top[data-v-23bb7554]{display:flex;align-items:center;gap:24px;margin-bottom:14px}.us-stat[data-v-23bb7554]{text-align:center}.us-num[data-v-23bb7554]{display:block;font-size:40px;font-weight:800;color:#e4eaf2;line-height:1}.us-num .animated-number[data-v-23bb7554]{display:inline-block;min-width:1ch}.manual .us-num[data-v-23bb7554]{color:#5cb3ff}.ai .us-num[data-v-23bb7554]{color:#67c23a}.us-label[data-v-23bb7554]{display:block;font-size:16px;color:#7e8fa6;margin-top:6px;letter-spacing:1px}.us-sub[data-v-23bb7554]{display:block;font-size:14px;color:#4a5568;margin-top:3px}.us-roads[data-v-23bb7554]{padding-top:12px;border-top:1px solid hsla(0,0%,100%,.06)}.usr-line[data-v-23bb7554]{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}.usr-line[data-v-23bb7554]:last-child{margin-bottom:0}.usr-tag[data-v-23bb7554]{flex-shrink:0;padding:2px 10px;border-radius:4px;font-size:14px;font-weight:600}.usr-tag.covered[data-v-23bb7554]{background:rgba(103,194,58,.15);color:#67c23a}.usr-tag.uncovered[data-v-23bb7554]{background:rgba(245,108,108,.12);color:#f56c6c}.usr-names[data-v-23bb7554]{font-size:15px;color:#7e8fa6}.usr-names.none[data-v-23bb7554]{color:#4a5568}.usr-names.uncovered[data-v-23bb7554]{color:#f56c6c}.road-groups[data-v-23bb7554]{flex:1;overflow-y:auto;padding:0 24px 24px}.road-group[data-v-23bb7554]{margin-bottom:24px}.group-header[data-v-23bb7554]{display:flex;align-items:baseline;gap:14px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(64,158,255,.12)}.group-name[data-v-23bb7554]{font-size:20px;font-weight:700;color:#e4eaf2;letter-spacing:2px}.group-count[data-v-23bb7554]{font-size:15px;color:#4a5568}.group-vehicles[data-v-23bb7554]{padding:4px 0 14px;display:flex;flex-wrap:wrap;gap:10px}.vehicle-item[data-v-23bb7554]{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:rgba(14,30,53,.88);border:1px solid rgba(64,158,255,.12);border-radius:6px;font-size:14px;color:#7e8fa6;transition:all .2s}.vehicle-item[data-v-23bb7554]:hover{border-color:rgba(64,158,255,.35)}.vehicle-dot[data-v-23bb7554]{width:9px;height:9px;border-radius:50%;flex-shrink:0}.vehicle-dot.dot-patrolling[data-v-23bb7554]{background:#67c23a;box-shadow:0 0 6px rgba(103,194,58,.5)}.vehicle-dot.dot-online-other[data-v-23bb7554]{background:#e6a23c}.vehicle-dot.dot-online-idle[data-v-23bb7554]{background:#67c23a}.vehicle-dot.dot-offline-pos[data-v-23bb7554],.vehicle-dot.dot-offline[data-v-23bb7554]{background:#4a5568}.vehicle-plate[data-v-23bb7554]{color:#e4eaf2;font-weight:500;font-family:Consolas,Monaco,monospace;font-size:14px}.vehicle-desc[data-v-23bb7554]{color:#7e8fa6;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.vehicle-action[data-v-23bb7554]{color:#409eff!important;font-size:14px!important;padding:0!important}.vehicle-empty[data-v-23bb7554]{color:#4a5568;font-size:14px}.road-cards[data-v-23bb7554]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.road-card[data-v-23bb7554]{background:rgba(14,30,53,.88);border:1px solid rgba(64,158,255,.12);border-radius:10px;padding:16px 18px;cursor:pointer;transition:all .25s;display:flex;flex-direction:column}.road-card[data-v-23bb7554]:hover{border-color:rgba(64,158,255,.35);box-shadow:0 0 20px rgba(64,158,255,.15);transform:translateY(-2px)}.road-card.card-active[data-v-23bb7554]{border-color:rgba(103,194,58,.25)}.card-head[data-v-23bb7554]{display:flex;align-items:center;gap:10px;margin-bottom:4px;overflow:hidden}.card-dot[data-v-23bb7554]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.card-dot.dot-active[data-v-23bb7554]{background:#67c23a;box-shadow:0 0 8px rgba(103,194,58,.5)}.card-dot.dot-idle[data-v-23bb7554]{background:#4a5568}.card-road-name[data-v-23bb7554]{font-size:17px;font-weight:700;color:#e4eaf2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-status[data-v-23bb7554]{font-size:14px;font-weight:600;padding:2px 10px;border-radius:10px;flex-shrink:0}.card-status.s-active[data-v-23bb7554]{background:rgba(103,194,58,.12);color:#67c23a}.card-status.s-idle[data-v-23bb7554]{background:rgba(144,147,153,.1);color:#4a5568}.card-km[data-v-23bb7554]{font-size:18px;font-weight:700;color:#409eff;margin-left:auto;flex-shrink:0}.card-body[data-v-23bb7554]{display:flex;gap:12px;padding:10px 0 14px;border-bottom:1px solid hsla(0,0%,100%,.05)}.card-body-idle[data-v-23bb7554]{padding:8px 0 10px;text-align:center;font-size:15px;color:#4a5568;border-bottom:1px solid hsla(0,0%,100%,.05)}.card-stat[data-v-23bb7554]{flex:1;text-align:center}.cs-val[data-v-23bb7554]{display:block;font-size:20px;font-weight:700;color:#e4eaf2;font-family:Consolas,Monaco,monospace}.cs-val .animated-number[data-v-23bb7554]{display:inline-block;min-width:1ch}.cs-val.cs-plate[data-v-23bb7554]{color:#409eff;font-size:16px}.cs-val.cs-time[data-v-23bb7554]{font-size:14px;color:#7e8fa6}.cs-val.cs-muted[data-v-23bb7554]{color:#4a5568}.cs-label[data-v-23bb7554]{display:block;font-size:14px;color:#4a5568;margin-top:2px}.card-footer[data-v-23bb7554]{padding-top:12px}.cf-weekly[data-v-23bb7554]{display:flex;gap:16px;margin-bottom:12px}.weekly-item[data-v-23bb7554]{display:flex;align-items:center;gap:8px;flex:1}.wi-label[data-v-23bb7554]{font-size:14px;color:#7e8fa6;font-weight:500;white-space:nowrap}.wi-count[data-v-23bb7554]{font-size:18px;font-weight:700;color:#e4eaf2;font-family:Consolas,Monaco,monospace}.wi-count .animated-number[data-v-23bb7554]{display:inline-block;min-width:1ch}.cf-actions[data-v-23bb7554]{display:flex;align-items:center;justify-content:space-between;gap:8px}.cf-trail-btn[data-v-23bb7554]{font-size:14px!important;letter-spacing:1px}.rr-monitor[data-v-23bb7554]{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:rgba(230,162,60,.08);border:1px solid rgba(230,162,60,.2);border-radius:4px;font-size:14px;color:#e6a23c;cursor:default}.rr-monitor i[data-v-23bb7554]{font-size:15px}.monitor-btn[data-v-23bb7554]{font-size:14px!important;color:#e6a23c!important;padding:0!important}.monitor-btn[data-v-23bb7554]:hover{color:#f7ba2a!important}.monitor-dialog-body[data-v-23bb7554]{display:flex;flex-direction:column;align-items:center;padding:20px 0}.monitor-dialog-body i[data-v-23bb7554]{font-size:48px;color:#e6a23c;margin-bottom:16px}.monitor-dialog-body p[data-v-23bb7554]{font-size:16px;color:#606266;margin:0}.group-empty[data-v-23bb7554]{padding:28px;text-align:center;font-size:15px;color:#4a5568;background:rgba(14,30,53,.88);border:1px dashed rgba(64,158,255,.12);border-radius:10px}.no-data[data-v-23bb7554]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 0;color:#4a5568}.no-data i[data-v-23bb7554]{font-size:48px;margin-bottom:14px;opacity:.3}.no-data p[data-v-23bb7554]{font-size:16px}.trail-dialog-body[data-v-23bb7554]{height:70vh;display:flex;flex-direction:column}.trail-map[data-v-23bb7554]{flex:1;width:100%;height:100%;position:relative;border-radius:6px;overflow:hidden;background:#0f2137}.trail-info[data-v-23bb7554]{padding:8px 4px 0;font-size:14px;color:#4a5568;flex-shrink:0}