/* Loading indicator styles for initial app load */
body {
  margin: 0;
  padding: 0;
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Cantarell, sans-serif;
}

#loading-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  /* Clean white background */
  background: #FFFFFF;
  z-index: 9999;
  transition: opacity 0.3s ease-out;
}

#loading-container.fade-out {
  opacity: 0;
  pointer-events: none;
}

.loading-content {
  text-align: center;
}

.loading-logo {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 40px;
  letter-spacing: 2px;
  /* Using primary indigo for branding: #1E3A8A (blue-900) */
  color: #1E3A8A;
}

.loading-spinner {
  width: 60px;
  height: 60px;
  margin: 0 auto 24px;
  /* Light gray background for spinner track */
  border: 4px solid #E5E7EB;
  /* Using secondary orange as accent: #FF6E40 */
  border-top-color: #FF6E40;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.loading-text {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 8px;
  /* slate-800 for main text */
  color: #1F2937;
}

.loading-progress-bar {
  width: 300px;
  height: 4px;
  /* Light gray background for progress track */
  background: #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
  margin: 24px auto 0;
}

.loading-progress-fill {
  height: 100%;
  /* Using secondary orange for progress: #FF6E40 */
  background: linear-gradient(90deg, #FF6E40 0%, #FFAB91 100%);
  border-radius: 8px;
  animation: progress 2s ease-in-out infinite;
  transform-origin: left;
}

@keyframes progress {
  0% {
    transform: scaleX(0);
  }
  50% {
    transform: scaleX(0.6);
  }
  100% {
    transform: scaleX(1);
  }
}

.loading-subtext {
  font-size: 14px;
  margin-top: 16px;
  /* slate-500 for secondary text */
  color: #64748B;
  font-weight: 400;
}
