/* Écran de démarrage SaboPay (affiché avant le chargement d'Angular) */
body {
  margin: 0;
  background: #f4f6fc;
}

.app-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  font-family: 'Inter', 'Segoe UI', system-ui, sans-serif;
}

.app-loading + .app-loading {
  min-height: 0;
}

.sbt-boot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.sbt-boot__mark {
  animation: sbt-rise 1.4s ease-in-out infinite;
}

@keyframes sbt-rise {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

.sbt-boot__name {
  color: #121a33;
  font-family: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.sbt-boot__name b {
  color: #f5a524;
}

.sbt-boot__bar {
  width: 120px;
  height: 3px;
  border-radius: 3px;
  background: #e3e8f4;
  overflow: hidden;
}

.sbt-boot__bar i {
  display: block;
  width: 40%;
  height: 100%;
  border-radius: 3px;
  background: linear-gradient(90deg, #2f5bea, #7c5cfa);
  animation: sbt-load 1.2s ease-in-out infinite;
}

@keyframes sbt-load {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(260%); }
}

.sbt-boot__vendor {
  color: #8492a6;
  font-size: 11px;
  letter-spacing: 0.02em;
}

/* Écran de démarrage en thème sombre */
html[data-theme='dark'] body { background: #0a0f22; }
html[data-theme='dark'] .sbt-boot__name { color: #ffffff; }
html[data-theme='dark'] .sbt-boot__bar { background: #232d55; }
html[data-theme='seventh'] body { background: #eff6f7; }
html[data-theme='seventh'] .sbt-boot__bar i { background: #3cc3c9; }

#jhipster-error {
  max-width: 720px;
  padding: 24px;
  color: #0f1e33;
}

@media (prefers-reduced-motion: reduce) {
  .sbt-boot__mark, .sbt-boot__bar i { animation: none; }
}
