.mission{gap:15px;width:100%;height:100%;display:flex}.mission .leftPanel{background-color:#fff;border-radius:12px;flex-direction:column;flex:1;display:flex;overflow:hidden}.mission .leftPanel .headerWrap{border-bottom:1px solid #f0f0f0;align-items:center;gap:12px;padding:16px 20px;display:flex}.mission .leftPanel .headerWrap .searchBox{background-color:#f5f5f5;border-radius:8px;flex:1;align-items:center;gap:8px;max-width:280px;padding:8px 12px;display:flex}.mission .leftPanel .headerWrap .searchBox .searchIcon{color:#999;font-size:14px}.mission .leftPanel .headerWrap .searchBox .searchInput{color:#333;background:0 0;border:none;outline:none;width:100%;font-size:13px}.mission .leftPanel .headerWrap .searchBox .searchInput::placeholder{color:#999}.mission .leftPanel .headerWrap .filterBox{align-items:center;gap:8px;display:flex}.mission .leftPanel .headerWrap .filterBox .statusSelect{color:#333;cursor:pointer;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;outline:none;padding:8px 12px;font-size:13px}.mission .leftPanel .headerWrap .filterBox .statusSelect:focus{border-color:#9c27b080}.mission .leftPanel .headerWrap .filterBox .runningBtn{color:#333;cursor:pointer;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;display:flex}.mission .leftPanel .headerWrap .filterBox .runningBtn .dot{background-color:#4caf50;border-radius:50%;width:8px;height:8px}.mission .leftPanel .headerWrap .filterBox .runningBtn:hover{background-color:#f5f5f5}.mission .leftPanel .headerWrap .createBtn{color:#fff;cursor:pointer;background-color:#9c27b0;border:none;border-radius:8px;margin-left:auto;padding:8px 16px;font-size:13px;font-weight:500}.mission .leftPanel .headerWrap .createBtn:hover{background-color:#9c27b0e6}.mission .leftPanel .tableWrap{flex-direction:column;flex:1;display:flex;overflow:hidden}.mission .leftPanel .tableWrap .missionTable{border-collapse:collapse;flex-direction:column;width:100%;height:100%;display:flex}.mission .leftPanel .tableWrap .missionTable thead{table-layout:fixed;flex-shrink:0;width:100%;display:table}.mission .leftPanel .tableWrap .missionTable thead tr{background-color:#fafafa}.mission .leftPanel .tableWrap .missionTable thead tr th{text-align:center;color:#666;white-space:nowrap;border-bottom:1px solid #f0f0f0;padding:12px 16px;font-size:12px;font-weight:700}.mission .leftPanel .tableWrap .missionTable tbody{flex:1;display:block;overflow-y:auto}.mission .leftPanel .tableWrap .missionTable tbody tr{table-layout:fixed;cursor:pointer;border-bottom:1px solid #f5f5f5;width:100%;display:table}.mission .leftPanel .tableWrap .missionTable tbody tr:hover{background-color:#fafafa}.mission .leftPanel .tableWrap .missionTable tbody tr.selected{background-color:#9c27b00d}.mission .leftPanel .tableWrap .missionTable tbody tr.selected td.missionId{color:#9c27b0}.mission .leftPanel .tableWrap .missionTable tbody tr td{color:#333;vertical-align:middle;text-align:center;padding:5px 16px;font-size:13px}.mission .leftPanel .tableWrap .missionTable tbody tr td.missionId{color:#333;font-weight:500}.mission .leftPanel .tableWrap .missionTable tbody tr td.missionName{color:#666}.mission .leftPanel .tableWrap .missionTable tbody tr td .statusBadge{border-radius:12px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-block}.mission .leftPanel .tableWrap .missionTable tbody tr td .statusBadge.progress{color:#2196f3;background-color:#2196f31a}.mission .leftPanel .tableWrap .missionTable tbody tr td .statusBadge.wait{color:#9e9e9e;background-color:#9e9e9e1a}.mission .leftPanel .tableWrap .missionTable tbody tr td .statusBadge.complete{color:#4caf50;background-color:#4caf501a}.mission .leftPanel .tableWrap .missionTable tbody tr td .statusBadge.stop{color:#ffc107;background-color:#ffc1071a}.mission .leftPanel .tableWrap .missionTable tbody tr td .statusBadge.cancel{color:#f44336;background-color:#f443361a}.mission .leftPanel .tableWrap .missionTable tbody tr td .statusBadge.reserve{color:#9c27b0;background-color:#9c27b01a}.mission .leftPanel .tableWrap .missionTable tbody tr td.progressCell{flex-direction:column;gap:2px;display:flex}.mission .leftPanel .tableWrap .missionTable tbody tr td.progressCell .progressValue{color:#333;font-weight:500}.mission .leftPanel .tableWrap .missionTable tbody tr td.progressCell .progressValue.zero{color:#999}.mission .leftPanel .tableWrap .missionTable tbody tr td.progressCell .progressValue.half{color:#ffc107}.mission .leftPanel .tableWrap .missionTable tbody tr td.progressCell .progressValue.full{color:#4caf50}.mission .leftPanel .tableWrap .missionTable tbody tr td.progressCell .progressDetail{color:#999;font-size:11px}.mission .leftPanel .tableWrap .missionTable tbody tr td.deviceCell{color:#666;font-size:12px}.mission .leftPanel .tableWrap .missionTable tbody tr td.scheduleCell,.mission .leftPanel .tableWrap .missionTable tbody tr td.updateCell{color:#999;font-size:12px}.mission .leftPanel .tableWrap .tableFooter{border-top:1px solid #f0f0f0;margin-top:auto;padding:16px 20px}.mission .leftPanel .tableWrap .tableFooter .totalCount{color:#666;font-size:13px}.mission .rightPanel{background-color:#fff;border-radius:12px;flex-direction:column;width:700px;display:flex;overflow:hidden}.mission .rightPanel .emptyState{color:#999;justify-content:center;align-items:center;height:100%;font-size:14px;display:flex}.mission .rightPanel .detailHeader{justify-content:space-between;align-items:flex-start;padding:20px;display:flex}.mission .rightPanel .detailHeader .titleSection .missionTitle{color:#333;margin:0 0 4px;font-size:14px;font-weight:600}.mission .rightPanel .detailHeader .titleSection .missionMeta{color:#999;font-size:12px}.mission .rightPanel .detailHeader .actionBtns{gap:8px;display:flex}.mission .rightPanel .detailHeader .actionBtns .actionBtn{color:#333;cursor:pointer;background-color:#fff;border:1px solid #e0e0e0;border-radius:15px;padding:6px 14px;font-size:12px}.mission .rightPanel .detailHeader .actionBtns .actionBtn:hover{background-color:#f5f5f5}.mission .rightPanel .detailHeader .actionBtns .actionBtn.delete{color:#fff;background-color:#e53935;border-color:#e53935}.mission .rightPanel .detailHeader .actionBtns .actionBtn.delete:hover{background-color:#c62828}.mission .rightPanel .detailContent{flex:1;display:flex;overflow:hidden}.mission .rightPanel .detailContent .timelineSection{flex:1;padding:16px 20px;overflow-y:auto}.mission .rightPanel .detailContent .timelineSection .sectionTitle{color:#333;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:13px;font-weight:700;display:flex}.mission .rightPanel .detailContent .timelineSection .sectionTitle .taskInfo{color:#999;font-size:11px;font-weight:400}.mission .rightPanel .detailContent .timelineSection .timeline{flex-direction:column;display:flex}.mission .rightPanel .detailContent .timelineSection .timeline .taskItem{flex-direction:column;align-items:center;display:flex}.mission .rightPanel .detailContent .timelineSection .timeline .taskItem .taskCard{border:2px solid #e0e0e0;border-radius:8px;width:100%;padding:28px 14px}.mission .rightPanel .detailContent .timelineSection .timeline .taskItem .taskCard.complete{color:#fff;background-color:#4caf50;border-color:#4caf50}.mission .rightPanel .detailContent .timelineSection .timeline .taskItem .taskCard.complete .taskHeader .taskName,.mission .rightPanel .detailContent .timelineSection .timeline .taskItem .taskCard.complete .taskDesc,.mission .rightPanel .detailContent .timelineSection .timeline .taskItem .taskCard.complete .taskStatus{color:#fff}.mission .rightPanel .detailContent .timelineSection .timeline .taskItem .taskCard.progress{color:#4caf50;background-color:#4caf500d;border-color:#4caf50}.mission .rightPanel .detailContent .timelineSection .timeline .taskItem .taskCard.wait{background-color:#fafafa;border-color:#e0e0e0}.mission .rightPanel .detailContent .timelineSection .timeline .taskItem .taskCard .taskHeader{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.mission .rightPanel .detailContent .timelineSection .timeline .taskItem .taskCard .taskHeader .taskName{color:#333;font-size:13px;font-weight:600}.mission .rightPanel .detailContent .timelineSection .timeline .taskItem .taskCard .taskHeader .taskStatus{color:#666;font-size:12px;font-weight:700}.mission .rightPanel .detailContent .timelineSection .timeline .taskItem .taskCard .taskHeader .taskStatus.progress{color:#4caf50}.mission .rightPanel .detailContent .timelineSection .timeline .taskItem .taskCard .taskHeader .taskStatus.complete{color:#fff}.mission .rightPanel .detailContent .timelineSection .timeline .taskItem .taskCard .taskHeader .taskStatus.wait{color:#999}.mission .rightPanel .detailContent .timelineSection .timeline .taskItem .taskCard .taskDesc{color:#666;margin-bottom:10px;font-size:11px}.mission .rightPanel .detailContent .timelineSection .timeline .taskItem .taskCard .taskDevices{flex-wrap:wrap;gap:6px;display:flex}.mission .rightPanel .detailContent .timelineSection .timeline .taskItem .taskCard .taskDevices .deviceTag{color:#666;background-color:#fff;border:1px solid #e0e0e0;border-radius:14px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;display:flex}.mission .rightPanel .detailContent .timelineSection .timeline .taskItem .taskCard .taskDevices .deviceTag .deviceIcon{font-size:12px}.mission .rightPanel .detailContent .timelineSection .timeline .taskItem .connector{padding:8px 0}.mission .rightPanel .detailContent .timelineSection .timeline .taskItem .connector .arrow{color:#000;font-size:20px;font-weight:700}.mission .rightPanel .detailContent .logSection{width:280px;padding:16px 20px;overflow-y:auto}.mission .rightPanel .detailContent .logSection .sectionTitle{color:#333;margin-bottom:12px;font-size:13px;font-weight:700}.mission .rightPanel .detailContent .logSection .logTable .logHeader{border-bottom:1px solid #f0f0f0;padding:8px 0;display:flex}.mission .rightPanel .detailContent .logSection .logTable .logHeader .col{color:#999;font-size:11px;font-weight:700}.mission .rightPanel .detailContent .logSection .logTable .logHeader .col.time{width:110px}.mission .rightPanel .detailContent .logSection .logTable .logHeader .col.desc{flex:1}.mission .rightPanel .detailContent .logSection .logTable .logBody .logRow{border-bottom:1px solid #f5f5f5;padding:10px 0;display:flex}.mission .rightPanel .detailContent .logSection .logTable .logBody .logRow .col{font-size:12px}.mission .rightPanel .detailContent .logSection .logTable .logBody .logRow .col.time{color:#999;width:110px}.mission .rightPanel .detailContent .logSection .logTable .logBody .logRow .col.desc{color:#333;flex:1}
