/* 加载态：把转圈遮罩换成骨架屏观感（纯样式，不动页面结构与逻辑） */
.el-loading-mask { background: #ffffff; }
.el-loading-spinner .circular,
.el-loading-spinner .el-loading-text,
.el-loading-spinner .path { display: none !important; }
.el-loading-spinner {
  position: absolute; left: 0; top: 0; right: 0; bottom: 0;
  width: auto; height: auto; margin: 0; transform: none;
}
.el-loading-spinner::before {
  content: ""; position: absolute; top: 16px; left: 18px; right: 18px; bottom: 16px;
  border-radius: 6px;
  background-image: linear-gradient(100deg, #f2f4f7 30%, #e7ebf0 45%, #f2f4f7 60%);
  background-size: 300% 100%;
  animation: jsf-skeleton-flow 1.5s ease-in-out infinite;
  -webkit-mask-image: repeating-linear-gradient(#000 0 18px, transparent 18px 34px);
  mask-image: repeating-linear-gradient(#000 0 18px, transparent 18px 34px);
}
@keyframes jsf-skeleton-flow { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }
