@charset "UTF-8";
/* ── Design tokens ─────────────────────────────────────────────────────── */
/* ── Page host (overrides for Avue/basic-container scope only) ────────── */
.enterprise-qual-page[data-v-90baa4fe] {
  height: calc(100% - 30px) !important;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
}
.enterprise-qual-page[data-v-90baa4fe] .basic-container {
  height: 100%;
  min-height: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
  padding: 0;
}
.enterprise-qual-page[data-v-90baa4fe] .basic-container__card {
  height: 100%;
  min-height: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
  border-radius: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  background: #f5f7fa;
}
.enterprise-qual-page[data-v-90baa4fe] .basic-container__card .el-card__body {
  height: 100%;
  min-height: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
  padding: 24px 28px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* ── Shell ────────────────────────────────────────────────────────────── */
.eq-shell[data-v-90baa4fe] {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 0;
  gap: 24px;
  color: #262626;
  font-size: 14px;
  line-height: 1.6;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* ── Header ───────────────────────────────────────────────────────────── */
.eq-header[data-v-90baa4fe] {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.eq-header__title-block[data-v-90baa4fe] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
}
.eq-header__title[data-v-90baa4fe] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: #1f1f1f;
  line-height: 1.4;
  letter-spacing: -0.2px;
}
.eq-header__sub[data-v-90baa4fe] {
  margin: 0;
  font-size: 13px;
  color: #8c8c8c;
  line-height: 1.6;
}

/* ── Stats grid ───────────────────────────────────────────────────────── */
.eq-stats[data-v-90baa4fe] {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}
.eq-stat-card[data-v-90baa4fe] {
  background: #ffffff;
  border-radius: 12px;
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 0 1px 4px rgba(0, 0, 0, 0.04);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 0 1px 4px rgba(0, 0, 0, 0.04);
  -webkit-transition: -webkit-box-shadow 0.2s ease;
  transition: -webkit-box-shadow 0.2s ease;
  transition: box-shadow 0.2s ease;
  transition: box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;
}
.eq-stat-card[data-v-90baa4fe]:hover {
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04), 0 4px 12px rgba(0, 0, 0, 0.06);
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04), 0 4px 12px rgba(0, 0, 0, 0.06);
}
.eq-stat-card__icon[data-v-90baa4fe] {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 18px;
  line-height: 1;
}
.eq-stat-card__icon--neutral[data-v-90baa4fe] {
  background: #f5f5f5;
  color: #8c8c8c;
}
.eq-stat-card__icon--brand[data-v-90baa4fe] {
  background: #e6f4ff;
  color: #1677ff;
}
.eq-stat-card__icon--warn[data-v-90baa4fe] {
  background: #fff7e6;
  color: #fa8c16;
}
.eq-stat-card__icon--danger[data-v-90baa4fe] {
  background: #fff1f0;
  color: #f5222d;
}
.eq-stat-card__body[data-v-90baa4fe] {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
}
.eq-stat-card__label[data-v-90baa4fe] {
  font-size: 13px;
  color: #8c8c8c;
  line-height: 1.6;
  margin-bottom: 2px;
}
.eq-stat-card__value[data-v-90baa4fe] {
  font-size: 26px;
  font-weight: 600;
  color: #1f1f1f;
  line-height: 1.2;
  letter-spacing: -0.5px;
}
.eq-stat-card__value.is-complete[data-v-90baa4fe] {
  color: #389e0d;
}
.eq-stat-card__value.is-warn[data-v-90baa4fe] {
  color: #fa8c16;
}
.eq-stat-card__value.is-danger[data-v-90baa4fe] {
  color: #f5222d;
}
.eq-stat-card__unit[data-v-90baa4fe] {
  font-size: 14px;
  font-weight: 500;
  margin-left: 4px;
  color: #595959;
}
@media (max-width: 1280px) {
.eq-stats[data-v-90baa4fe] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
@media (max-width: 768px) {
.eq-stats[data-v-90baa4fe] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
/* ── Body (sidebar + main) ────────────────────────────────────────────── */
.eq-body[data-v-90baa4fe] {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  min-height: 0;
}

/* Entity sidebar */
.eq-entities[data-v-90baa4fe] {
  width: 268px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: #ffffff;
  border-radius: 12px;
  padding: 16px 8px;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 0 1px 4px rgba(0, 0, 0, 0.04);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 0 1px 4px rgba(0, 0, 0, 0.04);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
}
.eq-entities__title[data-v-90baa4fe] {
  padding: 0 16px 12px;
  font-size: 12px;
  font-weight: 600;
  color: #8c8c8c;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  line-height: 1.6;
}
.eq-entities__title i[data-v-90baa4fe] {
  color: #bfbfbf;
  cursor: help;
  font-size: 13px;
}
.eq-entities__title i[data-v-90baa4fe]:hover {
  color: #1677ff;
}
.eq-entities__list[data-v-90baa4fe] {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  overflow-y: auto;
  padding: 0 8px;
}
.eq-entity[data-v-90baa4fe] {
  padding: 14px 16px;
  border-radius: 8px;
  cursor: pointer;
  -webkit-transition: background 0.15s ease;
  transition: background 0.15s ease;
  margin-bottom: 4px;
}
.eq-entity[data-v-90baa4fe]:hover {
  background: #fafafa;
}
.eq-entity.is-active[data-v-90baa4fe] {
  background: #e6f4ff;
}
.eq-entity.is-active .eq-entity__name[data-v-90baa4fe] {
  color: #1677ff;
}
.eq-entity__name[data-v-90baa4fe] {
  font-size: 14px;
  color: #1f1f1f;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 8px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.eq-entity__tags[data-v-90baa4fe] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px;
}

/* Quals (main) */
.eq-quals[data-v-90baa4fe] {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  background: #ffffff;
  border-radius: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 0;
  overflow: hidden;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 0 1px 4px rgba(0, 0, 0, 0.04);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 0 1px 4px rgba(0, 0, 0, 0.04);
}
.eq-quals__header[data-v-90baa4fe] {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 20px 24px;
  border-bottom: 1px solid #f0f0f0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16px;
}
.eq-quals__heading[data-v-90baa4fe] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  min-width: 0;
}
.eq-quals__title[data-v-90baa4fe] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #1f1f1f;
  line-height: 1.6;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.eq-quals__list[data-v-90baa4fe] {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  overflow-y: auto;
  padding: 4px 0;
}

/* Row */
.eq-row[data-v-90baa4fe] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 16px;
  padding: 18px 24px;
  border-bottom: 1px solid #f5f5f5;
  -webkit-transition: background 0.15s ease;
  transition: background 0.15s ease;
}
.eq-row[data-v-90baa4fe]:last-child {
  border-bottom: none;
}
.eq-row[data-v-90baa4fe]:hover {
  background: #fafafa;
}
.eq-row__main[data-v-90baa4fe] {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
}
.eq-row__title-line[data-v-90baa4fe] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 6px;
}
.eq-row__name[data-v-90baa4fe] {
  font-size: 14px;
  font-weight: 600;
  color: #1f1f1f;
  line-height: 1.6;
}
.eq-row__meta-line[data-v-90baa4fe] {
  font-size: 13px;
  color: #8c8c8c;
  line-height: 1.6;
  word-break: break-all;
}
.eq-row__alert[data-v-90baa4fe] {
  margin-top: 10px;
  padding: 10px 14px;
  background: #fff1f0;
  border-radius: 6px;
  font-size: 13px;
  color: #f5222d;
  line-height: 1.6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px;
}
.eq-row__alert i[data-v-90baa4fe] {
  font-size: 14px;
  line-height: 1.5;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 3px;
}
.eq-row__actions[data-v-90baa4fe] {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding-top: 1px;
}
.eq-row__link[data-v-90baa4fe] {
  color: #1677ff;
}

/* ── Tag pills (light bg + dark text) ─────────────────────────────────── */
.eq-tag[data-v-90baa4fe] {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 22px;
  padding: 0 10px;
  border-radius: 11px;
  font-size: 12px;
  line-height: 22px;
  font-weight: 500;
  white-space: nowrap;
  /* Status variants */
  /* Required / optional marks */
}
.eq-tag--ok[data-v-90baa4fe] {
  background: #f6ffed;
  color: #389e0d;
}
.eq-tag--info[data-v-90baa4fe] {
  background: #e6f4ff;
  color: #1677ff;
}
.eq-tag--pending[data-v-90baa4fe] {
  background: #e6f4ff;
  color: #1677ff;
}
.eq-tag--danger[data-v-90baa4fe] {
  background: #fff1f0;
  color: #f5222d;
}
.eq-tag--warn[data-v-90baa4fe] {
  background: #fff7e6;
  color: #fa8c16;
}
.eq-tag--neutral[data-v-90baa4fe] {
  background: #f5f5f5;
  color: #595959;
}
.eq-tag--missing[data-v-90baa4fe] {
  background: #f5f5f5;
  color: #595959;
}
.eq-tag--required[data-v-90baa4fe] {
  background: #fff1f0;
  color: #f5222d;
}
.eq-tag--optional[data-v-90baa4fe] {
  background: #f5f5f5;
  color: #8c8c8c;
}

/* ── Empty state ──────────────────────────────────────────────────────── */
.eq-empty[data-v-90baa4fe] {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #8c8c8c;
}
.eq-empty i[data-v-90baa4fe] {
  font-size: 56px;
  margin-bottom: 12px;
  color: #bfbfbf;
}
.eq-empty p[data-v-90baa4fe] {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
}

/* ── Dialogs ──────────────────────────────────────────────────────────── */
[data-v-90baa4fe] .qual-dialog {
  border-radius: 12px;
  overflow: hidden;
}
[data-v-90baa4fe] .qual-dialog .el-dialog__header {
  padding: 18px 24px 16px;
  border-bottom: 1px solid #f0f0f0;
}
[data-v-90baa4fe] .qual-dialog .el-dialog__header .el-dialog__title {
  font-size: 15px;
  font-weight: 600;
  color: #1f1f1f;
  line-height: 1.6;
}
[data-v-90baa4fe] .qual-dialog .el-dialog__body {
  padding: 22px 24px;
}
[data-v-90baa4fe] .qual-dialog .el-dialog__footer {
  padding: 14px 24px 20px;
  border-top: 1px solid #f0f0f0;
}
.dialog-tip[data-v-90baa4fe] {
  background: #e6f4ff;
  border-radius: 6px;
  padding: 10px 14px;
  font-size: 12px;
  color: #1677ff;
  margin-bottom: 18px;
  line-height: 1.6;
}
.dialog-doc-name[data-v-90baa4fe] {
  font-size: 14px;
  font-weight: 500;
  color: #1f1f1f;
}
.dialog-optional[data-v-90baa4fe] {
  font-size: 12px;
  color: #8c8c8c;
  padding: 0 8px;
  background: #f5f5f5;
  border-radius: 11px;
  margin-left: 8px;
  line-height: 22px;
  display: inline-block;
}
.drop-zone[data-v-90baa4fe] {
  border: 1px dashed #bfbfbf;
  border-radius: 8px;
  padding: 14px 16px;
  cursor: pointer;
  background: #fafafa;
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  min-height: 50px;
  position: relative;
  color: #8c8c8c;
  font-size: 13px;
  line-height: 1.6;
}
.drop-zone[data-v-90baa4fe]:hover {
  border-color: #1677ff;
  color: #1677ff;
  background: #e6f4ff;
}
.drop-zone.has-file[data-v-90baa4fe] {
  color: #262626;
  background: #e6f4ff;
  border-color: #1677ff;
  border-style: solid;
}
.drop-zone i.el-icon-upload[data-v-90baa4fe] {
  font-size: 20px;
}
.drop-zone .drop-name[data-v-90baa4fe] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
}
.drop-zone .drop-clear[data-v-90baa4fe] {
  cursor: pointer;
  color: #bfbfbf;
}
.drop-zone .drop-clear[data-v-90baa4fe]:hover {
  color: #f5222d;
}
.drop-zone-large[data-v-90baa4fe] {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 40px 20px;
  min-height: 160px;
}
.drop-zone-large i[data-v-90baa4fe] {
  font-size: 36px;
  margin-bottom: 6px;
}
.drop-zone-large p[data-v-90baa4fe] {
  margin: 0;
  font-size: 14px;
}
.drop-zone-large .drop-hint[data-v-90baa4fe] {
  font-size: 12px;
  color: #bfbfbf;
  margin-top: 4px;
}
.batch-warning[data-v-90baa4fe] {
  margin-top: 12px;
  color: #f5222d;
  font-size: 12px;
  line-height: 1.6;
}
.batch-warning i[data-v-90baa4fe] {
  margin-right: 4px;
}
.batch-remove[data-v-90baa4fe] {
  cursor: pointer;
  color: #bfbfbf;
  font-size: 14px;
}
.batch-remove[data-v-90baa4fe]:hover {
  color: #f5222d;
}
.dim[data-v-90baa4fe] {
  color: #bfbfbf;
}

/* ── Element UI button overrides (scoped) ─────────────────────────────── */
.enterprise-qual-page[data-v-90baa4fe] .el-button {
  font-size: 13px;
  font-weight: 400;
  border-radius: 6px;
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
  line-height: 1.6;
}
.enterprise-qual-page[data-v-90baa4fe] .el-button--small {
  padding: 7px 14px;
}
.enterprise-qual-page[data-v-90baa4fe] .el-button--primary {
  background: #1677ff;
  border-color: #1677ff;
}
.enterprise-qual-page[data-v-90baa4fe] .el-button--primary:hover, .enterprise-qual-page[data-v-90baa4fe] .el-button--primary:focus {
  background: #4096ff;
  border-color: #4096ff;
}
.enterprise-qual-page[data-v-90baa4fe] .el-button--text {
  color: #1677ff;
}
.enterprise-qual-page[data-v-90baa4fe] .el-button--text:hover, .enterprise-qual-page[data-v-90baa4fe] .el-button--text:focus {
  color: #4096ff;
}
.enterprise-qual-page[data-v-90baa4fe] .el-button--default.is-plain {
  border-color: #bfbfbf;
  color: #595959;
}
.enterprise-qual-page[data-v-90baa4fe] .el-button--default.is-plain:hover, .enterprise-qual-page[data-v-90baa4fe] .el-button--default.is-plain:focus {
  border-color: #1677ff;
  color: #1677ff;
  background: #e6f4ff;
}
[data-v-90baa4fe] .el-tooltip__popper {
  font-size: 12px;
  line-height: 1.6;
}
