@keyframes sd-app-loading-ani {
  0% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0 50%;
  }
}
.sd-app-fallback {
  height: 100vh;
  display: flex;
  flex-direction: column;
  .header {
    flex: 0 0 64px;
  }
  .main {
    flex: 1;
    display: flex;
    .nav {
      flex: 0 0 200px;
    }
    .center {
      flex: 1;
      padding: 24px;
      .content {
        height: 100%;
        .row {
          height: 20px;
          margin-bottom: 16px;
        }
      }
    }
  }
}
.sd-app-loading {
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    color-stop(25%, rgba(190, 190, 190, 0.2)),
    color-stop(37%, rgba(129, 129, 129, 0.24)),
    color-stop(63%, rgba(190, 190, 190, 0.2))
  );
  background: linear-gradient(
    90deg,
    rgba(190, 190, 190, 0.2) 25%,
    rgba(129, 129, 129, 0.24) 37%,
    rgba(190, 190, 190, 0.2) 63%
  );
  background-size: 400% 100%;
  animation: sd-app-loading-ani 1.4s ease infinite;
}
