:root{
  --zhjd-primary:#1677ff;
  --zhjd-primary-hover:#409eff;
  --zhjd-primary-active:#0958d9;
  --zhjd-danger:#ef4444;
  --zhjd-warning:#f0ad2c;
  --zhjd-success:#2fb875;
  --zhjd-text:#171a22;
  --zhjd-text-secondary:#667085;
  --zhjd-text-tertiary:#98a2b3;
  --zhjd-border:#e4e9f1;
  --zhjd-border-soft:#edf1f6;
  --zhjd-surface:#fff;
  --zhjd-surface-muted:#f7f9fc;
  --zhjd-radius:8px;
  --zhjd-space-1:4px;
  --zhjd-space-2:8px;
  --zhjd-space-3:12px;
  --zhjd-space-4:16px;
  --zhjd-space-5:20px;
  --el-color-primary:var(--zhjd-primary);
  --el-color-success:var(--zhjd-success);
  --el-color-warning:var(--zhjd-warning);
  --el-color-danger:var(--zhjd-danger);
  --el-border-radius-base:var(--zhjd-radius);
  --el-font-size-base:14px;
  --el-text-color-primary:var(--zhjd-text);
  --el-text-color-regular:var(--zhjd-text-secondary);
  --el-border-color:var(--zhjd-border);
  --el-border-color-lighter:var(--zhjd-border-soft);
}

[v-cloak]{display:none!important}

:where(button,a,input,select,textarea,[role="button"],[tabindex]):focus-visible{
  outline:2px solid color-mix(in srgb,var(--zhjd-primary) 72%,white);
  outline-offset:2px;
}

:where(button,input,select,textarea){font:inherit}
:where(button,[role="button"]):not(:disabled){cursor:pointer}
:where(button,[role="button"]):disabled{cursor:not-allowed}

.el-button{letter-spacing:0}
.el-button i+span,.el-button span+i{margin-left:4px}
.el-button.is-link{padding-inline:4px}
.el-tag{letter-spacing:0}
.el-table{font-size:14px}
.el-table th.el-table__cell{height:44px;font-weight:600}
.el-table td.el-table__cell{height:44px}
.el-table .cell{line-height:1.45}
.el-pagination{--el-pagination-button-bg-color:#fff;--el-pagination-hover-color:var(--zhjd-primary)}
.el-empty__description p{font-size:14px;color:var(--zhjd-text-secondary)}

/* Business pages use 12px as the absolute floor; operational tables stay at 14px. */
.panel-sub,.bg-group-label,.more,.type-tag,.level-tag,.risk-total small,
.risk-line label,.notice-text b,.notice-text span,.notice-item time,
.home-menu-label,.pending-tab,.period-switch button,.warning-dot,
.status-pill,.risk-level,.overview-card span,.overview-card small,
.monitor-kpi span,.monitor-kpi small,.recurrence-note,.recurrence-card small,
.dept-rank label,.dept-rank em,.event-stat span,.event-stat small,
.loss-values span,.alert-head,.alert-row,.quick-item span{
  font-size:12px!important;
}
.pending-panel .data-table th{font-size:12px!important}
.pending-panel .data-table td{font-size:14px!important;height:44px}

.production-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}
.production-status::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
