/* IMC Operaciones · nube.css · pantalla de ingreso de la versión publicada (nube.js) */
.nube {
  position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; padding: 24px 16px;
  background: #0F0D3A; color: #fff; font-family: "Instrument Sans", system-ui, sans-serif; overflow-y: auto;
}
.nube[hidden] { display: none; }
.nube__tarjeta {
  width: 100%; max-width: 400px; display: grid; gap: 18px; padding: 32px 28px 24px;
  background: #16134a; border: 1px solid rgba(255,255,255,.12); border-top: 3px solid #E8620A; border-radius: 4px;
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
}
.nube__logo { height: 40px; width: auto; justify-self: start; }
.nube__titulo { margin: 0; font: 400 1.9rem/1.15 "Instrument Serif", Georgia, serif; color: #fff; }
.nube__intro { margin: 0; color: #d9d6ee; line-height: 1.5; }
.nube__form { display: grid; gap: 14px; }
.nube__campo { display: grid; gap: 6px; font-size: .95rem; color: #e9e6f5; }
.nube__campo input {
  font: inherit; font-size: 1rem; padding: 12px 14px; border-radius: 3px; border: 1px solid rgba(255,255,255,.28);
  background: #0F0D3A; color: #fff; min-height: 44px;
}
.nube__campo input:focus-visible { outline: 2px solid #ffb27a; outline-offset: 1px; border-color: #ffb27a; }
.nube__boton {
  font: 600 1rem/1 "Instrument Sans", system-ui, sans-serif; min-height: 46px; padding: 0 18px; border: 0; border-radius: 3px;
  background: #E8620A; color: #1a0c00; cursor: pointer; display: inline-grid; place-items: center;
}
.nube__boton:hover { background: #ff7a22; }
.nube__boton:disabled { opacity: .7; cursor: progress; }
.nube__boton:focus-visible, .nube__link:focus-visible { outline: 2px solid #ffb27a; outline-offset: 2px; }
.nube__link { background: none; border: 0; padding: 6px 0; color: #ffb27a; font: inherit; text-decoration: underline; cursor: pointer; justify-self: start; }
.nube__error { margin: 0; padding: 10px 12px; border-radius: 3px; background: #4a1414; color: #ffd6d6; border: 1px solid #a33; }
.nube__ok { margin: 0; padding: 10px 12px; border-radius: 3px; background: #123b26; color: #d4f5e2; border: 1px solid #2e8b57; }
.nube__acciones { display: grid; gap: 10px; }
.nube__archivo { position: relative; }
.nube__log { margin: 0; padding-left: 18px; color: #d9d6ee; display: grid; gap: 4px; font-size: .92rem; max-height: 240px; overflow-y: auto; }
.nube__pie { margin: 6px 0 0; font-size: .82rem; color: #a9a5c9; }
.nube__cargando { margin: 0; display: flex; align-items: center; gap: 12px; font-size: 1.05rem; color: #e9e6f5; }
.nube__punto { width: 12px; height: 12px; border-radius: 50%; background: #E8620A; animation: nube-pulso 1s ease-in-out infinite alternate; }
@keyframes nube-pulso { from { opacity: .35; transform: scale(.8); } to { opacity: 1; transform: scale(1.1); } }
@media (prefers-reduced-motion: reduce) { .nube__punto { animation: none; } }
