.app-loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.loading-container {
  text-align: center;
  padding: 2rem;
}

.loading-logo {
  margin-bottom: 1.5rem;
}

.loading-svg {
  width: 80px;
  height: 80px;
  animation: rotate 2s linear infinite;
}

.loading-circle {
  fill: none;
  stroke: #e6e6e6;
  stroke-width: 4;
}

.loading-path {
  fill: none;
  stroke: #1890ff;
  stroke-width: 4;
  stroke-linecap: round;
  animation: dash 1.5s ease-in-out infinite;
}

.loading-content {
  margin-top: 1rem;
}

.loading-title {
  font-size: 1.5rem;
  color: #1890ff;
  margin: 0 0 0.5rem;
  font-weight: 600;
}

.loading-text {
  color: #666;
  font-size: 1rem;
}

.loading-dots {
  display: inline-block;
  animation: dots 1.5s infinite;
}

@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}

@keyframes dash {
  0% {
    stroke-dasharray: 1, 150;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -35;
  }
  100% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -124;
  }
}

@keyframes dots {
  0%, 20% {
    content: ".";
  }
  40% {
    content: "..";
  }
  60%, 100% {
    content: "...";
  }
} 