.map-background[data-v-3b2be10e] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background: #0a1a3a;
  overflow: hidden;
}
.map-placeholder[data-v-3b2be10e] {
  width: 100%;
  height: 100%;
  position: relative;
}
.map-grid[data-v-3b2be10e] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.grid-line[data-v-3b2be10e] {
  position: absolute;
  top: 0;
  width: 0.1rem;
  height: 100%;
  background: rgba(0, 216, 255, 0.04);
}
.grid-line-h[data-v-3b2be10e] {
  position: absolute;
  left: 0;
  height: 0.1rem;
  width: 100%;
  background: rgba(0, 216, 255, 0.04);
}
.map-center-dot[data-v-3b2be10e] {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: rgba(0, 216, 255, 0.3);
  transform: translate(-50%, -50%);
  box-shadow: 0 0 1.3rem rgba(0, 216, 255, 0.15);
}
.screen-header[data-v-2eba22e5] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2.5rem;
  z-index: 100;
  background: linear-gradient(180deg, rgba(10, 26, 58, 0.9) 0%, rgba(10, 26, 58, 0) 100%);
}
.header-left[data-v-2eba22e5] {
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
  min-width: 20rem;
}
.header-left .time[data-v-2eba22e5] {
  font-size: 1.8rem;
  color: #ffffff;
  font-weight: 600;
  letter-spacing: 0.1rem;
  font-family: "DIN", "Helvetica Neue", sans-serif;
}
.header-left .date[data-v-2eba22e5] {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
}
.header-center[data-v-2eba22e5] {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.header-center .title[data-v-2eba22e5] {
  font-size: 2rem;
  color: #ffffff;
  font-weight: 700;
  letter-spacing: 0.3rem;
  text-shadow: 0 0 1.3rem rgba(0, 216, 255, 0.5), 0 0 2.5rem rgba(0, 216, 255, 0.2);
}
.header-right[data-v-2eba22e5] {
  display: flex;
  align-items: center;
  gap: 1.3rem;
  min-width: 20rem;
  justify-content: flex-end;
}
.header-right .btn[data-v-2eba22e5] {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.9rem;
  cursor: pointer;
  padding: 0.4rem 0.9rem;
  border-radius: 0.3rem;
  border: 0.1rem solid rgba(0, 216, 255, 0.3);
  background: rgba(0, 216, 255, 0.08);
  transition: all 0.3s;
}
.header-right .btn[data-v-2eba22e5]:hover {
  color: #00d8ff;
  border-color: rgba(0, 216, 255, 0.6);
  background: rgba(0, 216, 255, 0.15);
}
.header-right .btn .btn-icon[data-v-2eba22e5] {
  font-size: 1rem;
}
.panel-card[data-v-303616a9] {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: rgba(13, 30, 60, 0.85);
  border: 0.1rem solid rgba(0, 216, 255, 0.25);
  box-shadow: 0 0 0.8rem rgba(0, 216, 255, 0.08), inset 0 0 0.8rem rgba(0, 216, 255, 0.05);
  padding: 1rem 1.3rem;
  box-sizing: border-box;
}
.corner[data-v-303616a9] {
  position: absolute;
  width: 0.8rem;
  height: 0.8rem;
  border-color: #00d8ff;
  border-style: solid;
  border-width: 0;
  z-index: 1;
}
.corner-tl[data-v-303616a9] {
  top: -0.1rem;
  left: -0.1rem;
  border-top-width: 0.1rem;
  border-left-width: 0.1rem;
}
.corner-tr[data-v-303616a9] {
  top: -0.1rem;
  right: -0.1rem;
  border-top-width: 0.1rem;
  border-right-width: 0.1rem;
}
.corner-bl[data-v-303616a9] {
  bottom: -0.1rem;
  left: -0.1rem;
  border-bottom-width: 0.1rem;
  border-left-width: 0.1rem;
}
.corner-br[data-v-303616a9] {
  bottom: -0.1rem;
  right: -0.1rem;
  border-bottom-width: 0.1rem;
  border-right-width: 0.1rem;
}
.panel-header[data-v-303616a9] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.8rem;
}
.panel-title[data-v-303616a9] {
  font-size: 1.1rem;
  color: #ffffff;
  font-weight: 600;
  letter-spacing: 0.1rem;
  position: relative;
  padding-left: 0.6rem;
}
.panel-title[data-v-303616a9]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.2rem;
  height: 1rem;
  background: #00d8ff;
  border-radius: 0.1rem;
  box-shadow: 0 0 0.5rem rgba(0, 216, 255, 0.6);
}
.panel-config[data-v-303616a9] {
  font-size: 0.9rem;
  color: #00d8ff;
  cursor: pointer;
  transition: opacity 0.2s;
}
.panel-config[data-v-303616a9]:hover {
  opacity: 0.7;
}
.panel-body[data-v-303616a9] {
  flex: 1;
  width: 100%;
  min-height: 0;
}
.base-chart[data-v-52fa6682] {
  width: 100%;
  height: 100%;
}
.capability-panel[data-v-fa572026] {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 0.5rem;
}
.gauge-row[data-v-fa572026] {
  display: flex;
  align-items: center;
  flex: 1;
  background: rgba(0, 216, 255, 0.04);
  border: 0.1rem solid rgba(0, 216, 255, 0.12);
  border-radius: 0.3rem;
  padding: 0.5rem 0.8rem;
}
.row-text[data-v-fa572026] {
  flex: 1;
}
.row-text .row-label[data-v-fa572026] {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 0.1rem;
}
.row-text .row-value[data-v-fa572026] {
  font-size: 1.4rem;
  font-weight: 700;
  color: #ffffff;
  font-family: "DIN", "Helvetica Neue", sans-serif;
}
.row-text .row-value .row-unit[data-v-fa572026] {
  font-size: 0.8rem;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.5);
  margin-left: 0.1rem;
}
.row-chart[data-v-fa572026] {
  width: 6.3rem;
  height: 5rem;
  flex-shrink: 0;
}
.row-chart .base-chart[data-v-fa572026], .row-chart > div[data-v-fa572026]:first-child {
  width: 100%;
  height: 100%;
}
.schedule-panel[data-v-5a261a6e] {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.top-label[data-v-5a261a6e] {
  text-align: center;
  flex-shrink: 0;
}
.top-label .top-text[data-v-5a261a6e] {
  font-size: 0.9rem;
  font-weight: 700;
  color: #ffffff;
}
.top-label .top-value[data-v-5a261a6e] {
  font-size: 1.8rem;
  font-weight: 700;
  color: #ffffff;
  font-family: "DIN", "Helvetica Neue", sans-serif;
}
.chart-area[data-v-5a261a6e] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.chart-area .base-chart[data-v-5a261a6e], .chart-area > div[data-v-5a261a6e]:first-child {
  width: 100%;
  height: 100%;
}
.center-info[data-v-5a261a6e] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
.center-info .center-value[data-v-5a261a6e] {
  font-size: 1.4rem;
  font-weight: 700;
  color: #ffffff;
  font-family: "DIN", "Helvetica Neue", sans-serif;
}
.center-info .center-label[data-v-5a261a6e] {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.7);
}
.bottom-labels[data-v-5a261a6e] {
  display: flex;
  justify-content: space-around;
  flex-shrink: 0;
  padding-bottom: 0.3rem;
}
.bottom-labels .bottom-stat[data-v-5a261a6e] {
  text-align: center;
}
.bottom-labels .bottom-stat .bottom-value[data-v-5a261a6e] {
  font-size: 1.3rem;
  font-weight: 700;
  color: #ffffff;
  font-family: "DIN", "Helvetica Neue", sans-serif;
}
.bottom-labels .bottom-stat .bottom-label[data-v-5a261a6e] {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.6);
}
.bottom-labels .bottom-stat.delay .bottom-value[data-v-5a261a6e] {
  color: #faad14;
}
.bottom-labels .bottom-stat.over .bottom-value[data-v-5a261a6e] {
  color: #ff4d4f;
}
.assessment-panel[data-v-51dbc318] {
  display: flex;
  height: 100%;
  gap: 1rem;
}
.left-score[data-v-51dbc318] {
  width: 8.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.score-ring[data-v-51dbc318] {
  position: relative;
  width: 7.5rem;
  height: 7.5rem;
}
.score-ring .base-chart[data-v-51dbc318], .score-ring > div[data-v-51dbc318]:first-child {
  width: 100%;
  height: 100%;
}
.score-center[data-v-51dbc318] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
.score-center .score-value[data-v-51dbc318] {
  font-size: 2rem;
  font-weight: 700;
  color: #00d8ff;
  font-family: "DIN", "Helvetica Neue", sans-serif;
}
.score-center .score-label[data-v-51dbc318] {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.6);
  margin-top: 0.1rem;
}
.right-content[data-v-51dbc318] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.image-carousel[data-v-51dbc318] {
  flex: 1;
  overflow: hidden;
  border-radius: 0.3rem;
}
.carousel-track[data-v-51dbc318] {
  display: flex;
  height: 100%;
  transition: transform 0.5s ease;
}
.carousel-item[data-v-51dbc318] {
  min-width: 100%;
  height: 100%;
}
.carousel-item .project-img[data-v-51dbc318] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.carousel-item .img-placeholder[data-v-51dbc318] {
  width: 100%;
  height: 100%;
  background: rgba(0, 216, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.9rem;
}
.sub-scores[data-v-51dbc318] {
  display: flex;
  justify-content: space-between;
}
.sub-item[data-v-51dbc318] {
  text-align: center;
}
.sub-item .sub-value[data-v-51dbc318] {
  font-size: 1.3rem;
  font-weight: 700;
  color: #ffffff;
  font-family: "DIN", "Helvetica Neue", sans-serif;
}
.sub-item .sub-label[data-v-51dbc318] {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.6);
  margin-top: 0.1rem;
}
.warning-panel[data-v-53b04a63] {
  height: 100%;
  overflow: hidden;
}
.warning-columns[data-v-53b04a63] {
  display: flex;
  gap: 0.8rem;
  height: 100%;
}
.warning-column[data-v-53b04a63] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.column-inner[data-v-53b04a63] {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.warning-card[data-v-53b04a63] {
  display: flex;
  gap: 0.6rem;
  background: rgba(0, 216, 255, 0.05);
  border: 0.1rem solid rgba(0, 216, 255, 0.15);
  border-radius: 0.3rem;
  padding: 0.5rem;
  align-items: center;
}
.card-img[data-v-53b04a63] {
  width: 3.5rem;
  height: 3.5rem;
  object-fit: cover;
  border-radius: 0.3rem;
  flex-shrink: 0;
}
.img-placeholder[data-v-53b04a63] {
  width: 3.5rem;
  height: 3.5rem;
  background: rgba(255, 77, 79, 0.1);
  border-radius: 0.3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.img-placeholder .placeholder-icon[data-v-53b04a63] {
  font-size: 1.5rem;
  color: #ff4d4f;
}
.card-info[data-v-53b04a63] {
  flex: 1;
  overflow: hidden;
}
.card-issue[data-v-53b04a63] {
  font-size: 0.8rem;
  color: #ffffff;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.card-project[data-v-53b04a63] {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 0.3rem;
}
.card-status[data-v-53b04a63] {
  font-size: 0.7rem;
  padding: 0.1rem 0.5rem;
  border-radius: 0.1rem;
  white-space: nowrap;
  flex-shrink: 0;
}
.card-status.resolved[data-v-53b04a63] {
  background: rgba(82, 196, 26, 0.15);
  color: #52c41a;
}
.card-status.pending[data-v-53b04a63] {
  background: rgba(250, 173, 20, 0.15);
  color: #faad14;
}
.list-enter-active[data-v-53b04a63],
.list-leave-active[data-v-53b04a63] {
  transition: all 0.5s ease;
}
.list-enter[data-v-53b04a63] {
  opacity: 0;
  transform: translateY(1.3rem);
}
.list-leave-to[data-v-53b04a63] {
  opacity: 0;
  transform: translateY(-1.3rem);
}
.attendance-panel[data-v-265fd9cb] {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.top-bar[data-v-265fd9cb] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
  flex-shrink: 0;
}
.panel-title[data-v-265fd9cb] {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.7);
}
.top-summary[data-v-265fd9cb] {
  display: flex;
  align-items: baseline;
  gap: 0.3rem;
}
.top-summary .summary-label[data-v-265fd9cb] {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
}
.top-summary .summary-value[data-v-265fd9cb] {
  font-size: 1.4rem;
  font-weight: 700;
  color: #00d8ff;
  font-family: "DIN", "Helvetica Neue", sans-serif;
}
.top-summary .summary-unit[data-v-265fd9cb] {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
}
.chart-wrapper[data-v-265fd9cb] {
  flex: 1;
}
.chart-wrapper > div[data-v-265fd9cb] {
  width: 100%;
  height: 100%;
}
.recent-sites-strip[data-v-4a0a9ac2] {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.info-marquee[data-v-4a0a9ac2] {
  width: 100%;
  height: 1.9rem;
  overflow: hidden;
  background: rgba(0, 216, 255, 0.05);
  border: 0.1rem solid rgba(0, 216, 255, 0.15);
  border-radius: 0.3rem;
  display: flex;
  align-items: center;
}
.marquee-track[data-v-4a0a9ac2] {
  display: flex;
  white-space: nowrap;
  will-change: transform;
}
.marquee-item[data-v-4a0a9ac2] {
  padding: 0 1.3rem;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.8);
  border-right: 0.1rem solid rgba(0, 216, 255, 0.1);
}
.card-area[data-v-4a0a9ac2] {
  flex: 1;
  overflow: hidden;
}
.card-track[data-v-4a0a9ac2] {
  display: flex;
  gap: 1rem;
  will-change: transform;
}
.page-group[data-v-4a0a9ac2] {
  display: flex;
  gap: 1rem;
}
.site-card[data-v-4a0a9ac2] {
  width: 17.5rem;
  flex-shrink: 0;
}
.card-img[data-v-4a0a9ac2] {
  width: 100%;
  height: 8.8rem;
  object-fit: cover;
  border-radius: 0.3rem;
  border: 0.1rem solid rgba(0, 216, 255, 0.2);
}
.img-placeholder[data-v-4a0a9ac2] {
  width: 100%;
  height: 8.8rem;
  background: rgba(0, 216, 255, 0.08);
  border-radius: 0.3rem;
  border: 0.1rem solid rgba(0, 216, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.3);
  font-size: 0.8rem;
}
.card-name[data-v-4a0a9ac2] {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.8);
  margin-top: 0.4rem;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.config-modal-wrap .ant-modal {
  top: 0;
  padding: 0;
}
.config-modal-wrap .ant-modal-content {
  height: 100vh;
  display: flex;
  flex-direction: column;
  background: #0d1e3c !important;
  border: 0.1rem solid rgba(0, 216, 255, 0.3);
  border-radius: 0;
  box-shadow: 0 0 1.3rem rgba(0, 216, 255, 0.1);
}
.config-modal-wrap .ant-modal-body {
  flex: 1;
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.config-modal[data-v-042f2c6c] {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #0d1e3c;
  color: #ffffff;
}
.modal-header[data-v-042f2c6c] {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1.3rem 1.5rem;
  border-bottom: 0.1rem solid rgba(0, 216, 255, 0.15);
}
.modal-header .modal-icon[data-v-042f2c6c] {
  font-size: 1.4rem;
  color: #00d8ff;
}
.modal-header .modal-title[data-v-042f2c6c] {
  font-size: 1.1rem;
  font-weight: 600;
  color: #ffffff;
}
.modal-body[data-v-042f2c6c] {
  flex: 1;
  padding: 1.3rem 1.5rem;
  overflow-y: auto;
}
.modal-footer[data-v-042f2c6c] {
  display: flex;
  justify-content: flex-end;
  gap: 0.8rem;
  padding: 1rem 1.5rem;
  border-top: 0.1rem solid rgba(0, 216, 255, 0.15);
}
.settings-form[data-v-63d41418] {
  display: flex;
  flex-direction: column;
  gap: 1.3rem;
}
.form-item[data-v-63d41418] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.form-item .form-label[data-v-63d41418] {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.8);
}
.form-item .form-tip[data-v-63d41418] {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.4);
  align-self: flex-end;
}
.link-row[data-v-63d41418] {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.link-row .ant-input[data-v-63d41418] {
  flex: 1;
}
.config-form[data-v-7edcd820] {
  display: flex;
  flex-direction: column;
  gap: 1.3rem;
}
.form-item[data-v-7edcd820] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.form-item .form-label[data-v-7edcd820] {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.8);
}
.form-item .form-label .required[data-v-7edcd820] {
  color: #ff4d4f;
}
.config-form[data-v-ff0da7da] {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.row-header[data-v-ff0da7da] {
  display: grid;
  grid-template-columns: 6.3rem 1fr 5rem 3.8rem;
  gap: 0.8rem;
  padding: 0.5rem 0;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
  border-bottom: 0.1rem solid rgba(0, 216, 255, 0.15);
}
.row-item[data-v-ff0da7da] {
  display: grid;
  grid-template-columns: 6.3rem 1fr 5rem 3.8rem;
  gap: 0.8rem;
  align-items: center;
}
.upload-cell .preview-wrap[data-v-ff0da7da] {
  position: relative;
  width: 5rem;
  height: 3.8rem;
}
.upload-cell .preview-img[data-v-ff0da7da] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.3rem;
}
.upload-cell .remove-img[data-v-ff0da7da] {
  position: absolute;
  top: -0.4rem;
  right: -0.4rem;
  width: 1rem;
  height: 1rem;
  background: #ff4d4f;
  border-radius: 50%;
  color: #fff;
  font-size: 0.8rem;
  line-height: 1rem;
  text-align: center;
  cursor: pointer;
}
.upload-cell .upload-btn[data-v-ff0da7da] {
  width: 5rem;
  height: 3.8rem;
  border: 0.1rem dashed rgba(0, 216, 255, 0.4);
  border-radius: 0.3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  gap: 0.3rem;
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.5);
}
.upload-cell .upload-btn[data-v-ff0da7da]:hover {
  border-color: #00d8ff;
  color: #00d8ff;
}
.upload-cell .upload-btn .upload-icon[data-v-ff0da7da] {
  font-size: 1.1rem;
}
.action-btn[data-v-ff0da7da] {
  font-size: 0.8rem;
  cursor: pointer;
}
.action-btn.delete[data-v-ff0da7da] {
  color: #ff4d4f;
}
.action-btn.delete[data-v-ff0da7da]:hover {
  opacity: 0.7;
}
.add-row[data-v-ff0da7da] {
  padding: 0.6rem;
  text-align: center;
  color: #00d8ff;
  font-size: 0.8rem;
  cursor: pointer;
  border: 0.1rem dashed rgba(0, 216, 255, 0.3);
  border-radius: 0.3rem;
}
.add-row[data-v-ff0da7da]:hover {
  background: rgba(0, 216, 255, 0.05);
}
.config-form[data-v-46e8661f] {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.row-header[data-v-46e8661f] {
  display: grid;
  grid-template-columns: 5rem 1fr 1.2fr 3.8rem;
  gap: 0.8rem;
  padding: 0.5rem 0;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
  border-bottom: 0.1rem solid rgba(0, 216, 255, 0.15);
}
.row-item[data-v-46e8661f] {
  display: grid;
  grid-template-columns: 5rem 1fr 1.2fr 3.8rem;
  gap: 0.8rem;
  align-items: center;
}
.upload-cell .preview-wrap[data-v-46e8661f] {
  position: relative;
  width: 4rem;
  height: 3rem;
}
.upload-cell .preview-img[data-v-46e8661f] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.3rem;
}
.upload-cell .remove-img[data-v-46e8661f] {
  position: absolute;
  top: -0.4rem;
  right: -0.4rem;
  width: 1rem;
  height: 1rem;
  background: #ff4d4f;
  border-radius: 50%;
  color: #fff;
  font-size: 0.8rem;
  line-height: 1rem;
  text-align: center;
  cursor: pointer;
}
.upload-cell .upload-btn[data-v-46e8661f] {
  width: 4rem;
  height: 3rem;
  border: 0.1rem dashed rgba(0, 216, 255, 0.4);
  border-radius: 0.3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  gap: 0.1rem;
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.5);
}
.upload-cell .upload-btn[data-v-46e8661f]:hover {
  border-color: #00d8ff;
  color: #00d8ff;
}
.upload-cell .upload-btn .upload-icon[data-v-46e8661f] {
  font-size: 1rem;
}
.action-btn[data-v-46e8661f] {
  font-size: 0.8rem;
  cursor: pointer;
}
.action-btn.delete[data-v-46e8661f] {
  color: #ff4d4f;
}
.action-btn.delete[data-v-46e8661f]:hover {
  opacity: 0.7;
}
.add-row[data-v-46e8661f] {
  padding: 0.6rem;
  text-align: center;
  color: #00d8ff;
  font-size: 0.8rem;
  cursor: pointer;
  border: 0.1rem dashed rgba(0, 216, 255, 0.3);
  border-radius: 0.3rem;
}
.add-row[data-v-46e8661f]:hover {
  background: rgba(0, 216, 255, 0.05);
}
.config-form[data-v-3c92cf98] {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.row-header[data-v-3c92cf98] {
  display: grid;
  grid-template-columns: 4.4rem 1fr 8.8rem 6.3rem 3.8rem;
  gap: 0.6rem;
  padding: 0.5rem 0;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
  border-bottom: 0.1rem solid rgba(0, 216, 255, 0.15);
}
.row-item[data-v-3c92cf98] {
  display: grid;
  grid-template-columns: 4.4rem 1fr 8.8rem 6.3rem 3.8rem;
  gap: 0.6rem;
  align-items: center;
}
.upload-cell .preview-wrap[data-v-3c92cf98] {
  position: relative;
  width: 3.5rem;
  height: 2.6rem;
}
.upload-cell .preview-img[data-v-3c92cf98] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.3rem;
}
.upload-cell .remove-img[data-v-3c92cf98] {
  position: absolute;
  top: -0.4rem;
  right: -0.4rem;
  width: 1rem;
  height: 1rem;
  background: #ff4d4f;
  border-radius: 50%;
  color: #fff;
  font-size: 0.8rem;
  line-height: 1rem;
  text-align: center;
  cursor: pointer;
}
.upload-cell .upload-btn[data-v-3c92cf98] {
  width: 3.5rem;
  height: 2.6rem;
  border: 0.1rem dashed rgba(0, 216, 255, 0.4);
  border-radius: 0.3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  gap: 0.1rem;
  font-size: 0.6rem;
  color: rgba(255, 255, 255, 0.5);
}
.upload-cell .upload-btn[data-v-3c92cf98]:hover {
  border-color: #00d8ff;
  color: #00d8ff;
}
.upload-cell .upload-btn .upload-icon[data-v-3c92cf98] {
  font-size: 0.9rem;
}
.action-btn[data-v-3c92cf98] {
  font-size: 0.8rem;
  cursor: pointer;
}
.action-btn.delete[data-v-3c92cf98] {
  color: #ff4d4f;
}
.action-btn.delete[data-v-3c92cf98]:hover {
  opacity: 0.7;
}
.add-row[data-v-3c92cf98] {
  padding: 0.6rem;
  text-align: center;
  color: #00d8ff;
  font-size: 0.8rem;
  cursor: pointer;
  border: 0.1rem dashed rgba(0, 216, 255, 0.3);
  border-radius: 0.3rem;
}
.add-row[data-v-3c92cf98]:hover {
  background: rgba(0, 216, 255, 0.05);
}
@charset "UTF-8";
.delivery-screen[data-v-34c73eee] {
  position: absolute;
  top: 5rem;
  left: 0;
  width: 100%;
  height: calc(100% - 5rem);
  z-index: 10;
}
.left-column[data-v-34c73eee],
.right-column[data-v-34c73eee] {
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 30rem;
  padding: 1.3rem;
  box-sizing: border-box;
  z-index: 10;
}
.left-column[data-v-34c73eee] {
  left: 1.3rem;
}
.right-column[data-v-34c73eee] {
  right: 1.3rem;
}
.center-space[data-v-34c73eee] {
  flex: 1;
}
.bottom-strip[data-v-34c73eee] {
  position: absolute;
  /* 居中放在左右列之间：左列 20+480=500，再加 20px 间距 = 520 */
  left: 32.5rem;
  right: 32.5rem;
  bottom: 1.3rem;
  height: 9.4rem;
  z-index: 10;
}

/* 工地概况内联样式 */
.overview-grid[data-v-34c73eee] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  height: 100%;
  gap: 1rem;
}
.stat-item[data-v-34c73eee] {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.stat-icon[data-v-34c73eee] {
  width: 3.5rem;
  height: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(0, 216, 255, 0.15) 0%, rgba(0, 216, 255, 0.05) 100%);
  border: 0.1rem solid rgba(0, 216, 255, 0.3);
}
.stat-icon .icon-svg[data-v-34c73eee] {
  font-size: 1.8rem;
  color: #00d8ff;
}
.stat-content[data-v-34c73eee] {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.stat-value[data-v-34c73eee] {
  display: flex;
  align-items: baseline;
  gap: 0.3rem;
}
.stat-value .value-number[data-v-34c73eee] {
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
  font-family: "DIN", "Helvetica Neue", sans-serif;
}
.stat-value .value-unit[data-v-34c73eee] {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
}
.stat-label[data-v-34c73eee] {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.7);
}
.stat-change[data-v-34c73eee] {
  font-size: 0.8rem;
}
.stat-change.up[data-v-34c73eee] {
  color: #52c41a;
}
.stat-change.down[data-v-34c73eee] {
  color: #ff4d4f;
}
.stage-distribution[data-v-0a6f784e] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.panel-header[data-v-0a6f784e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.8rem;
}
.panel-title[data-v-0a6f784e] {
  font-size: 1.1rem;
  color: #ffffff;
  font-weight: 600;
  padding-left: 0.6rem;
  position: relative;
}
.panel-title[data-v-0a6f784e]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.2rem;
  height: 1rem;
  background: #00d8ff;
  border-radius: 0.1rem;
}
.template-select[data-v-0a6f784e] {
  width: 8.8rem;
}
.table-header[data-v-0a6f784e] {
  display: flex;
  padding: 0.5rem 0.8rem;
  background: rgba(0, 216, 255, 0.08);
  border-radius: 0.3rem;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.7);
}
.table-body[data-v-0a6f784e] {
  flex: 1;
  overflow: hidden;
  margin-top: 0.5rem;
}
.scroll-track[data-v-0a6f784e] {
  will-change: transform;
}
.table-row[data-v-0a6f784e] {
  display: flex;
  padding: 0.5rem 0.8rem;
  border-bottom: 0.1rem solid rgba(0, 216, 255, 0.08);
  font-size: 0.9rem;
  color: #ffffff;
  height: 2.3rem;
  box-sizing: border-box;
}
.col-name[data-v-0a6f784e] {
  flex: 1;
}
.col-count[data-v-0a6f784e] {
  width: 5rem;
  text-align: right;
  color: #00d8ff;
  font-weight: 600;
  font-family: "DIN", "Helvetica Neue", sans-serif;
}
.event-list[data-v-47ab698f] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.panel-title[data-v-47ab698f] {
  font-size: 1.1rem;
  color: #ffffff;
  font-weight: 600;
  margin-bottom: 0.8rem;
  padding-left: 0.6rem;
  position: relative;
}
.panel-title[data-v-47ab698f]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.2rem;
  height: 1rem;
  background: #00d8ff;
  border-radius: 0.1rem;
}
.list-wrapper[data-v-47ab698f] {
  flex: 1;
  overflow: hidden;
}
.scroll-track[data-v-47ab698f] {
  will-change: transform;
}
.event-item[data-v-47ab698f] {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.5rem 0;
  border-bottom: 0.1rem solid rgba(0, 216, 255, 0.08);
  height: 3.8rem;
  box-sizing: border-box;
}
.user-avatar[data-v-47ab698f] {
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
}
.user-avatar .avatar-img[data-v-47ab698f] {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}
.avatar-placeholder[data-v-47ab698f] {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: rgba(0, 216, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
}
.avatar-placeholder .placeholder-icon[data-v-47ab698f] {
  font-size: 1.3rem;
  color: rgba(0, 216, 255, 0.5);
}
.event-content[data-v-47ab698f] {
  flex: 1;
  overflow: hidden;
}
.event-user[data-v-47ab698f] {
  font-size: 0.8rem;
  color: #00d8ff;
  margin-bottom: 0.3rem;
}
.event-text[data-v-47ab698f] {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.7);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.daily-report[data-v-58dc39a4] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.panel-header[data-v-58dc39a4] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.8rem;
}
.panel-title[data-v-58dc39a4] {
  font-size: 1.1rem;
  color: #ffffff;
  font-weight: 600;
  padding-left: 0.6rem;
  position: relative;
}
.panel-title[data-v-58dc39a4]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.2rem;
  height: 1rem;
  background: #00d8ff;
  border-radius: 0.1rem;
}
.view-btn[data-v-58dc39a4] {
  font-size: 0.8rem;
  color: #00d8ff;
  cursor: pointer;
}
.view-btn[data-v-58dc39a4]:hover {
  opacity: 0.7;
}
.stats-row[data-v-58dc39a4] {
  display: flex;
  justify-content: space-around;
  margin-bottom: 0.8rem;
}
.mini-stat[data-v-58dc39a4] {
  text-align: center;
}
.mini-stat .mini-value[data-v-58dc39a4] {
  font-size: 1.4rem;
  font-weight: 700;
  color: #ffffff;
  font-family: "DIN", "Helvetica Neue", sans-serif;
}
.mini-stat .mini-label[data-v-58dc39a4] {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.6);
  margin-top: 0.1rem;
}
.image-carousel[data-v-58dc39a4] {
  flex: 1;
  overflow: hidden;
}
.carousel-track[data-v-58dc39a4] {
  display: flex;
  gap: 0.8rem;
  will-change: transform;
}
.carousel-item[data-v-58dc39a4] {
  min-width: 12.5rem;
}
.report-img[data-v-58dc39a4] {
  width: 12.5rem;
  height: 7.5rem;
  object-fit: cover;
  border-radius: 0.3rem;
  cursor: pointer;
  border: 0.1rem solid rgba(0, 216, 255, 0.2);
}
.img-placeholder[data-v-58dc39a4] {
  width: 12.5rem;
  height: 7.5rem;
  background: rgba(0, 216, 255, 0.08);
  border-radius: 0.3rem;
  border: 0.1rem solid rgba(0, 216, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.8rem;
  cursor: pointer;
}
.report-name[data-v-58dc39a4] {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.8);
  margin-top: 0.3rem;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.issue-rectify[data-v-b17314d0] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.panel-header[data-v-b17314d0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.8rem;
}
.panel-title[data-v-b17314d0] {
  font-size: 1.1rem;
  color: #ffffff;
  font-weight: 600;
  padding-left: 0.6rem;
  position: relative;
}
.panel-title[data-v-b17314d0]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.2rem;
  height: 1rem;
  background: #00d8ff;
  border-radius: 0.1rem;
}
.view-btn[data-v-b17314d0] {
  font-size: 0.8rem;
  color: #00d8ff;
  cursor: pointer;
}
.view-btn[data-v-b17314d0]:hover {
  opacity: 0.7;
}
.list-wrapper[data-v-b17314d0] {
  flex: 1;
  overflow: hidden;
}
.scroll-track[data-v-b17314d0] {
  will-change: transform;
}
.issue-item[data-v-b17314d0] {
  display: flex;
  gap: 0.6rem;
  padding: 0.5rem 0;
  border-bottom: 0.1rem solid rgba(0, 216, 255, 0.08);
  cursor: pointer;
  height: 4.5rem;
  box-sizing: border-box;
}
.issue-item[data-v-b17314d0]:hover {
  background: rgba(0, 216, 255, 0.04);
}
.issue-img[data-v-b17314d0] {
  width: 4rem;
  height: 3.5rem;
  object-fit: cover;
  border-radius: 0.3rem;
  flex-shrink: 0;
}
.img-placeholder[data-v-b17314d0] {
  width: 4rem;
  height: 3.5rem;
  background: rgba(255, 77, 79, 0.1);
  border-radius: 0.3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.img-placeholder .placeholder-icon[data-v-b17314d0] {
  font-size: 1.5rem;
  color: #ff4d4f;
}
.issue-info[data-v-b17314d0] {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}
.issue-title[data-v-b17314d0] {
  font-size: 0.9rem;
  color: #ffffff;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-bottom: 0.3rem;
}
.issue-meta[data-v-b17314d0] {
  display: flex;
  justify-content: space-between;
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.5);
}
.accept-archive[data-v-2e183d5e] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.panel-header[data-v-2e183d5e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.8rem;
}
.panel-title[data-v-2e183d5e] {
  font-size: 1.1rem;
  color: #ffffff;
  font-weight: 600;
  padding-left: 0.6rem;
  position: relative;
}
.panel-title[data-v-2e183d5e]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.2rem;
  height: 1rem;
  background: #00d8ff;
  border-radius: 0.1rem;
}
.view-btn[data-v-2e183d5e] {
  font-size: 0.8rem;
  color: #00d8ff;
  cursor: pointer;
}
.view-btn[data-v-2e183d5e]:hover {
  opacity: 0.7;
}
.cards-wrapper[data-v-2e183d5e] {
  flex: 1;
  overflow: hidden;
}
.cards-track[data-v-2e183d5e] {
  display: flex;
  gap: 0.6rem;
  will-change: transform;
}
.archive-card[data-v-2e183d5e] {
  min-width: 11.3rem;
  cursor: pointer;
}
.archive-card[data-v-2e183d5e]:hover {
  opacity: 0.85;
}
.card-img[data-v-2e183d5e] {
  width: 11.3rem;
  height: 6.9rem;
  object-fit: cover;
  border-radius: 0.3rem;
  border: 0.1rem solid rgba(0, 216, 255, 0.2);
}
.img-placeholder[data-v-2e183d5e] {
  width: 11.3rem;
  height: 6.9rem;
  background: rgba(0, 216, 255, 0.08);
  border-radius: 0.3rem;
  border: 0.1rem solid rgba(0, 216, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.8rem;
}
.card-info[data-v-2e183d5e] {
  margin-top: 0.4rem;
}
.card-title[data-v-2e183d5e] {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.9);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.card-type[data-v-2e183d5e] {
  margin-top: 0.3rem;
}
.type-tag[data-v-2e183d5e] {
  font-size: 0.7rem;
  padding: 0.1rem 0.4rem;
  border-radius: 0.1rem;
}
.type-tag.type-1[data-v-2e183d5e] {
  background: rgba(0, 216, 255, 0.15);
  color: #00d8ff;
}
.type-tag.type-2[data-v-2e183d5e] {
  background: rgba(82, 196, 26, 0.15);
  color: #52c41a;
}
.type-tag.type-3[data-v-2e183d5e] {
  background: rgba(250, 173, 20, 0.15);
  color: #faad14;
}
.fullscreen-modal-wrap .ant-modal {
  top: 0;
  left: 0;
  padding: 0;
  max-width: 100vw;
}
.fullscreen-modal-wrap .ant-modal-content {
  height: 100vh;
  background: #0a1a3a !important;
  border-radius: 0;
}
.fullscreen-modal-wrap .ant-modal-body {
  height: calc(100vh - 3.1rem);
  padding: 0;
  overflow: hidden;
}
.fullscreen-modal[data-v-1da2266e] {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #0a1a3a;
}
.modal-header[data-v-1da2266e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 1.3rem;
  height: 3.1rem;
  background: rgba(13, 30, 60, 0.95);
  border-bottom: 0.1rem solid rgba(0, 216, 255, 0.2);
}
.modal-title[data-v-1da2266e] {
  font-size: 1.1rem;
  color: #ffffff;
  font-weight: 600;
}
.close-btn[data-v-1da2266e] {
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.6);
  cursor: pointer;
}
.close-btn[data-v-1da2266e]:hover {
  color: #ffffff;
}
.modal-body[data-v-1da2266e] {
  flex: 1;
  overflow: hidden;
}
.modal-body .wujie-vue2[data-v-1da2266e], .modal-body > div[data-v-1da2266e] {
  width: 100%;
  height: 100%;
}
.empty-state[data-v-1da2266e] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: rgba(255, 255, 255, 0.4);
  font-size: 1rem;
}
.fullscreen-modal-wrap .ant-modal {
  top: 0;
  left: 0;
  padding: 0;
  max-width: 100vw;
}
.fullscreen-modal-wrap .ant-modal-content {
  height: 100vh;
  background: #0a1a3a !important;
  border-radius: 0;
}
.fullscreen-modal-wrap .ant-modal-body {
  height: calc(100vh - 3.1rem);
  padding: 0;
  overflow: hidden;
}
.fullscreen-modal[data-v-798743f5] {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #0a1a3a;
}
.modal-header[data-v-798743f5] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 1.3rem;
  height: 3.1rem;
  background: rgba(13, 30, 60, 0.95);
  border-bottom: 0.1rem solid rgba(0, 216, 255, 0.2);
}
.modal-title[data-v-798743f5] {
  font-size: 1.1rem;
  color: #ffffff;
  font-weight: 600;
}
.close-btn[data-v-798743f5] {
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.6);
  cursor: pointer;
}
.close-btn[data-v-798743f5]:hover {
  color: #ffffff;
}
.modal-body[data-v-798743f5] {
  flex: 1;
  padding: 1.3rem;
  overflow: hidden;
}
.issue-layout[data-v-798743f5] {
  display: flex;
  gap: 1.3rem;
  height: 100%;
}
.issue-list[data-v-798743f5] {
  width: 23.8rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.list-item[data-v-798743f5] {
  display: flex;
  gap: 0.6rem;
  padding: 0.6rem;
  background: rgba(0, 216, 255, 0.04);
  border: 0.1rem solid rgba(0, 216, 255, 0.12);
  border-radius: 0.3rem;
  cursor: pointer;
  transition: all 0.2s;
}
.list-item[data-v-798743f5]:hover, .list-item.active[data-v-798743f5] {
  border-color: #00d8ff;
  background: rgba(0, 216, 255, 0.08);
}
.item-thumb[data-v-798743f5] {
  width: 4.5rem;
  height: 3.5rem;
  object-fit: cover;
  border-radius: 0.3rem;
  flex-shrink: 0;
}
.thumb-placeholder[data-v-798743f5] {
  width: 4.5rem;
  height: 3.5rem;
  background: rgba(255, 77, 79, 0.1);
  border-radius: 0.3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ff4d4f;
  font-size: 1.5rem;
  flex-shrink: 0;
}
.item-info[data-v-798743f5] {
  flex: 1;
  overflow: hidden;
}
.item-name[data-v-798743f5] {
  font-size: 0.9rem;
  color: #ffffff;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.item-project[data-v-798743f5] {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
  margin-top: 0.3rem;
}
.item-date[data-v-798743f5] {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.4);
  margin-top: 0.1rem;
}
.preview-area[data-v-798743f5] {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.preview-img-wrap[data-v-798743f5] {
  flex: 1;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.preview-img[data-v-798743f5] {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 0.3rem;
}
.preview-placeholder[data-v-798743f5] {
  width: 100%;
  height: 18.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 216, 255, 0.05);
  border-radius: 0.3rem;
  color: rgba(255, 255, 255, 0.3);
  font-size: 1rem;
}
.preview-nav[data-v-798743f5] {
  display: flex;
  align-items: center;
  gap: 1.3rem;
  margin-top: 1rem;
}
.nav-btn[data-v-798743f5] {
  width: 2.3rem;
  height: 2.3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(0, 216, 255, 0.1);
  border: 0.1rem solid rgba(0, 216, 255, 0.3);
  color: #00d8ff;
  cursor: pointer;
  font-size: 1rem;
}
.nav-btn[data-v-798743f5]:hover {
  background: rgba(0, 216, 255, 0.2);
}
.nav-info[data-v-798743f5] {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.7);
  font-family: "DIN", "Helvetica Neue", sans-serif;
}
.preview-info[data-v-798743f5] {
  text-align: center;
  margin-top: 0.8rem;
}
.info-name[data-v-798743f5] {
  font-size: 1rem;
  color: #ffffff;
  font-weight: 500;
}
.info-project[data-v-798743f5] {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
  margin-top: 0.3rem;
}
.fullscreen-modal-wrap .ant-modal {
  top: 0;
  left: 0;
  padding: 0;
  max-width: 100vw;
}
.fullscreen-modal-wrap .ant-modal-content {
  height: 100vh;
  background: #0a1a3a !important;
  border-radius: 0;
}
.fullscreen-modal-wrap .ant-modal-body {
  height: calc(100vh - 3.1rem);
  padding: 0;
  overflow: hidden;
}
.fullscreen-modal[data-v-82354588] {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #0a1a3a;
}
.modal-header[data-v-82354588] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 1.3rem;
  height: 3.1rem;
  background: rgba(13, 30, 60, 0.95);
  border-bottom: 0.1rem solid rgba(0, 216, 255, 0.2);
}
.modal-title[data-v-82354588] {
  font-size: 1.1rem;
  color: #ffffff;
  font-weight: 600;
}
.close-btn[data-v-82354588] {
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.6);
  cursor: pointer;
}
.close-btn[data-v-82354588]:hover {
  color: #ffffff;
}
.modal-body[data-v-82354588] {
  flex: 1;
  padding: 1.3rem;
  overflow: hidden;
}
.archive-layout[data-v-82354588] {
  display: flex;
  gap: 1.3rem;
  height: 100%;
}
.left-panel[data-v-82354588] {
  flex: 6;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  overflow: hidden;
}
.left-panel .wujie-vue2[data-v-82354588], .left-panel > div[data-v-82354588] {
  width: 100%;
  height: 100%;
}
.right-panel[data-v-82354588] {
  flex: 4;
  overflow-y: auto;
}
.archive-grid[data-v-82354588] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.8rem;
}
.archive-item[data-v-82354588] {
  cursor: pointer;
  border: 0.1rem solid transparent;
  border-radius: 0.3rem;
  overflow: hidden;
  transition: all 0.2s;
}
.archive-item[data-v-82354588]:hover, .archive-item.active[data-v-82354588] {
  border-color: #00d8ff;
  box-shadow: 0 0 0.6rem rgba(0, 216, 255, 0.3);
}
.archive-img[data-v-82354588] {
  width: 100%;
  height: 6.3rem;
  object-fit: cover;
}
.img-placeholder[data-v-82354588] {
  width: 100%;
  height: 6.3rem;
  background: rgba(0, 216, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.8rem;
}
.archive-info[data-v-82354588] {
  padding: 0.4rem 0.5rem;
  background: rgba(13, 30, 60, 0.9);
}
.archive-title[data-v-82354588] {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.9);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.archive-type[data-v-82354588] {
  margin-top: 0.3rem;
}
.type-tag[data-v-82354588] {
  font-size: 0.6rem;
  padding: 0.1rem 0.3rem;
  border-radius: 0.1rem;
}
.type-tag.type-1[data-v-82354588] {
  background: rgba(0, 216, 255, 0.15);
  color: #00d8ff;
}
.type-tag.type-2[data-v-82354588] {
  background: rgba(82, 196, 26, 0.15);
  color: #52c41a;
}
.type-tag.type-3[data-v-82354588] {
  background: rgba(250, 173, 20, 0.15);
  color: #faad14;
}
.empty-state[data-v-82354588] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: rgba(255, 255, 255, 0.4);
  font-size: 1rem;
}
@charset "UTF-8";
.map-screen[data-v-bd5df330] {
  position: absolute;
  top: 5rem;
  left: 0;
  width: 100%;
  height: calc(100% - 5rem);
  z-index: 10;
  padding: 1.3rem;
  box-sizing: border-box;
}
.left-column[data-v-bd5df330],
.right-column[data-v-bd5df330] {
  position: absolute;
  top: 1.3rem;
  bottom: 1.3rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 26.3rem;
  z-index: 10;
}
.left-column[data-v-bd5df330] {
  left: 1.3rem;
}
.right-column[data-v-bd5df330] {
  right: 1.3rem;
}
.center-space[data-v-bd5df330] {
  flex: 1;
}
.panel[data-v-bd5df330] {
  background: rgba(13, 30, 60, 0.85);
  border: 0.1rem solid rgba(0, 216, 255, 0.25);
  box-shadow: 0 0 0.8rem rgba(0, 216, 255, 0.08), inset 0 0 0.8rem rgba(0, 216, 255, 0.05);
  border-radius: 0.3rem;
  padding: 1rem;
  box-sizing: border-box;
  flex: 1;
  overflow: hidden;
}
.stats-panel[data-v-bd5df330],
.stage-panel[data-v-bd5df330] {
  flex: 1;
}
.event-panel[data-v-bd5df330] {
  flex: 1.5;
}

/* 工地数据统计内联样式 */
.panel-title[data-v-bd5df330] {
  font-size: 1.1rem;
  color: #ffffff;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-left: 0.6rem;
  position: relative;
}
.panel-title[data-v-bd5df330]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.2rem;
  height: 1rem;
  background: #00d8ff;
  border-radius: 0.1rem;
  box-shadow: 0 0 0.5rem rgba(0, 216, 255, 0.6);
}
.stats-grid[data-v-bd5df330] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 0.8rem;
  height: calc(100% - 2.5rem);
}
.stat-item[data-v-bd5df330] {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  background: rgba(0, 216, 255, 0.04);
  border: 0.1rem solid rgba(0, 216, 255, 0.12);
  border-radius: 0.3rem;
  padding: 0.8rem;
}
.stat-icon[data-v-bd5df330] {
  width: 2.8rem;
  height: 2.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(0, 216, 255, 0.15) 0%, rgba(0, 216, 255, 0.05) 100%);
  border: 0.1rem solid rgba(0, 216, 255, 0.3);
  flex-shrink: 0;
}
.stat-icon .icon-svg[data-v-bd5df330] {
  font-size: 1.4rem;
  color: #00d8ff;
}
.stat-info[data-v-bd5df330] {
  flex: 1;
}
.stat-value[data-v-bd5df330] {
  font-size: 1.5rem;
  font-weight: 700;
  color: #ffffff;
  font-family: "DIN", "Helvetica Neue", sans-serif;
}
.stat-label[data-v-bd5df330] {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
  margin-top: 0.1rem;
}
.big-screen-outer[data-v-7723afe5] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background: #0a1a3a;
  display: flex;
  align-items: center;
  justify-content: center;
}
.big-screen-wrapper[data-v-7723afe5] {
  background: #0a1a3a;
  overflow: hidden;
}
.big-screen-root[data-v-7723afe5] {
  transform-origin: top left;
  background: #0a1a3a;
  overflow: hidden;
  font-family: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", sans-serif;
  color: #ffffff;
}
.loading[data-v-7723afe5] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.5rem;
  color: rgba(255, 255, 255, 0.5);
}
