:root{
  --pepsi-blue: #2D6BFF;
  --pepsi-blue-dark: #1741A6;
  --pepsi-red: #E61E2A;

  --bg-1: #0B1220;
  --bg-2: #0F1A2E;

  --card-bg: rgba(18, 24, 38, 0.78);
  --border: rgba(255,255,255,0.08);

  --text: #E5E7EB;
  --muted: #9CA3AF;
}

html,body{
  height:100%;
}



body{
  margin:0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial;

  display:flex;
  align-items:center;
  justify-content:center;
  padding:2rem;

  /* 🌑 fondo oscuro premium */
  background: radial-gradient(circle at top, var(--bg-2), var(--bg-1));
  overflow:hidden;
}

/* 🌌 profundidad con luces suaves */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;

  background:
    radial-gradient(circle at 20% 20%, rgba(45,107,255,0.18), transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(230,30,42,0.10), transparent 45%),
    radial-gradient(circle at 50% 100%, rgba(255,255,255,0.04), transparent 60%);
}

/* 🧊 CARD DARK PREMIUM */
.login-card{
  position:relative;
  width:100%;
  max-width:460px;

  padding:2.4rem;

  background: var(--card-bg);
  backdrop-filter: blur(18px);

  border-radius:20px;

  border: 1px solid var(--border);

  box-shadow:
    0 30px 80px rgba(0,0,0,0.55),
    inset 0 1px 0 rgba(255,255,255,0.05);

  text-align:center;

  overflow:hidden;
}

/* 🔵 barra superior elegante */
.login-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;

  background: linear-gradient(90deg,
    transparent,
    var(--pepsi-blue),
    transparent
  );
}

/* glow sutil */
.login-card::after{
  content:"";
  position:absolute;
  width:200px;
  height:200px;
  background: rgba(45,107,255,0.10);
  border-radius:50%;
  top:-70px;
  right:-70px;
  filter: blur(50px);
}

/* 👑 LOGO */
/*.logo-img{
  max-width:170px;
  margin-bottom:1rem;
  filter: drop-shadow(0 10px 25px rgba(0,0,0,0.6));
}*/


.logo-img{
  max-width:170px;
  padding:10px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius:18px;
  margin-bottom:1rem;

  backdrop-filter: blur(10px);

  box-shadow:
    0 10px 30px rgba(0,0,0,0.4),
    0 0 25px rgba(45,107,255,0.15);
}

/* TITULO */
h4{
  color: var(--text);
  font-weight:700;
  letter-spacing:0.5px;
}

/* SUBTEXTO */
small.text-muted{
  color: var(--muted) !important;
}

/* 🧠 INPUTS DARK MODERN */
.form-control{
  border-radius:12px;

  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);

  color: var(--text);

  padding: 11px 12px;

  transition: all 0.25s ease;
}

.form-control::placeholder{
  color: rgba(255,255,255,0.4);
}

.form-control:focus{
  background: rgba(255,255,255,0.08);
  border-color: var(--pepsi-blue);
  box-shadow: 0 0 0 4px rgba(45,107,255,0.15);
  color: var(--text);
}

/* iconos */
.input-icon{
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  color: var(--muted);
}

.has-icon .form-control{
  padding-left:42px;
}

/* 👁 password */
.show-pass{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  background:none;
  border:0;
  color: var(--muted);
}

/* 🚀 BOTÓN PREMIUM DARK */
.btn-primary{
  background: linear-gradient(135deg,
    var(--pepsi-blue),
    var(--pepsi-blue-dark)
  );

  border:none;
  font-weight:600;
  border-radius:12px;

  padding: 12px;

  color: #fff;

  box-shadow:
    0 15px 30px rgba(0,0,0,0.35),
    0 0 0 rgba(45,107,255,0);

  transition: all 0.3s ease;

  position:relative;
  overflow:hidden;
}

/* brillo suave */
.btn-primary::before{
  content:"";
  position:absolute;
  top:0;
  left:-120%;
  width:120%;
  height:100%;

  background: linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.12),
    transparent
  );

  transition: all 0.6s;
}

.btn-primary:hover::before{
  left:120%;
}

.btn-primary:hover{
  transform: translateY(-2px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.45);
}

/* LINKS */
a{
  color: var(--pepsi-blue);
  font-weight:500;
}

/* divider */
.divider{
  height:1px;
  margin:1.4rem 0;
  background: linear-gradient(90deg,
    transparent,
    rgba(255,255,255,0.08),
    transparent
  );
}

/* spinner */
#spinnerOverlay{
  display:none;
  position:absolute;
  inset:0;

  background: rgba(10,15,25,0.85);
  backdrop-filter: blur(6px);

  border-radius:20px;

  justify-content:center;
  align-items:center;
  flex-direction:column;
}

#spinnerOverlay.show{
  display:flex;
}

#spinnerOverlay .spinner-border{
  color: var(--pepsi-blue);
}

/* responsive */
@media (max-width:540px){
  .login-card{
    padding:1.6rem;
    border-radius:16px;
  }

  .logo-img{
    max-width:140px;
  }
}

.form-check-label{
  color: var(--text) !important;
}

footer small{
  color: var(--text) !important;
}

.SmallFont{
  font-size: 10px;
}