html,
body {
  margin: 0;
  padding: 0;
  min-height: 100%;
  height: 100%;
}

.splash-screen {
  position: fixed;
  inset: 0;
  z-index: 1000;
  box-sizing: border-box;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-family: Helvetica, 'sans-serif';
  background-color: #f5f6f6;
  color: #5e6278;
  line-height: 1;
  font-size: 14px;
  font-weight: 400;
}

.splash-screen span {
  color: #5e6278;
  transition: none !important;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}

.splash-screen img {
  margin-left: calc(100vw - 100%);
  margin-bottom: 30px;
  height: 30px !important;
}

/* Loader de arranque: logo completo de Pupila que se auto-revela (barrido izq→der). */
/* El componente iris-brand-loader (dots) vive en assets/sass/layout/base/_main-loader.scss; */
/* el splash ya NO lo espeja. */
.splash-logo {
  width: min(80vw, 360px);
  height: auto;
  animation: splashReveal 2s ease-in-out infinite;
}

/* Formas "tinta" del logo: oscuras en light, blancas en dark. */
.splash-logo__ink {
  fill: #181c32;
}

[data-bs-theme='dark'] .splash-logo__ink {
  fill: #ffffff;
}

/* Ficha + punto de la "i": color de marca de la última sucursal activa. El <script> de arranque de
   index.html lo lee de localStorage y lo publica en `--splash-brand`; sin valor cae al fallback salvia,
   así el splash ya muestra el color correcto antes de que Angular levante. */
.splash-logo__brand {
  fill: var(--splash-brand, #0b8a6f);
}

/* Arco de acento de la órbita: color de sucursal. Va en su propia clase (stroke) porque el arco
   lleva fill:none — una clase con `fill` lo pisaría (CSS gana a la presentation attribute). */
.splash-logo__brand-stroke {
  stroke: var(--splash-brand, #0b8a6f);
}

/* Órbita neutra (arco + punto) y ojo: tinta en claro, gris humo/papel en oscuro. */
.splash-logo__orbit {
  stroke: #181c32;
}

.splash-logo__orbit-dot {
  fill: #181c32;
}

[data-bs-theme='dark'] .splash-logo__orbit {
  stroke: #5c6866;
}

[data-bs-theme='dark'] .splash-logo__orbit-dot {
  fill: #5c6866;
}

@keyframes splashReveal {
  0% {
    clip-path: inset(0 100% 0 0);
    opacity: 1;
  }

  50%,
  86% {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }

  97%,
  100% {
    clip-path: inset(0 0 0 0);
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .splash-logo {
    animation: none;
    clip-path: none;
    opacity: 1;
  }
}

/* Fondo dark = el del content (`$app-bg-color-dark` / `theme_color` #101315), para que el arranque
   empalme sin salto de color con la app cuando Angular levanta. */
[data-bs-theme='dark'] .splash-screen {
  background-color: #101315;
  color: #9aa6a2;
}

[data-bs-theme='dark'] .splash-screen span {
  color: #92929f;
}

#root {
  opacity: 1;
  transition: opacity 1s ease-in-out;
}
