:root{
  --jp-bg:#070A12;
  --jp-card:#0F1B2E;
  --jp-border:rgba(255,255,255,.10);
  --jp-text:#EAF2FF;
  --jp-muted:#93A4BC;
  --jp-primary:#22C3FF;
  --jp-primary2:#0EA5E9;
  --jp-shadow:0 22px 60px rgba(0,0,0,.55);
  --jp-radius:18px;
}

html,body{height:100%;}
body{
  background:var(--jp-bg) !important;
  color:var(--jp-text) !important;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif !important;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  position:relative;
  overflow:hidden;
}
body::before{
  content:"";
  position:fixed;inset:0;
  background:
    radial-gradient(900px 420px at 50% 0%, rgba(34,195,255,.22), transparent 60%),
    radial-gradient(700px 320px at 20% 35%, rgba(14,165,233,.10), transparent 55%),
    radial-gradient(700px 320px at 80% 35%, rgba(59,130,246,.10), transparent 55%),
    linear-gradient(180deg, #070A12 0%, #050712 100%);
  z-index:-2;
}

/* Main card */
.login-card, .login-container, .login-box{
  max-width:520px;
  width:100%;
}

.login-card{
  background:linear-gradient(180deg, rgba(15,27,46,.92) 0%, rgba(11,22,40,.92) 100%) !important;
  border:1px solid var(--jp-border) !important;
  border-radius:var(--jp-radius) !important;
  box-shadow:var(--jp-shadow) !important;
  backdrop-filter: blur(10px);
  overflow:hidden;
}

.jp-login-header{
  padding:28px 26px 18px;
  text-align:center;
}

.jp-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-weight:900;
  letter-spacing:.5px;
  font-size:42px;
}
.jp-logo .pix{color:var(--jp-primary);}
.jp-logo .jp{color:var(--jp-text);opacity:.95;}

.jp-login-title{font-size:22px;margin:14px 0 0;font-weight:800;}
.jp-login-sub{margin-top:6px;color:var(--jp-muted);font-size:13px;}

.jp-login-body{padding:18px 26px 26px;}

label{color:rgba(147,164,188,.95) !important;font-size:12px !important;margin-bottom:6px !important;}

.input-group{position:relative;display:flex;align-items:center;}
.input-group-text{
  background:transparent !important;
  border:0 !important;
  color:rgba(147,164,188,.9) !important;
  position:absolute;
  left:14px;
  z-index:3;
}

.form-control{
  width:100%;
  background:rgba(0,0,0,.35) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  color:var(--jp-text) !important;
  border-radius:14px !important;
  padding:14px 14px 14px 44px !important;
  outline:none;
}
.form-control:focus{border-color:rgba(34,195,255,.45) !important;box-shadow:0 0 0 4px rgba(34,195,255,.12) !important;}

.password-toggle{
  position:absolute;
  right:12px;
  background:transparent;
  border:0;
  color:rgba(147,164,188,.9);
}

.btn-login{
  width:100% !important;
  margin-top:16px !important;
  background:linear-gradient(180deg, var(--jp-primary) 0%, var(--jp-primary2) 100%) !important;
  border:0 !important;
  color:#06101D !important;
  font-weight:800 !important;
  border-radius:14px !important;
  padding:12px 14px !important;
}

.forgot-password, .register-link{color:rgba(34,195,255,.9) !important;text-decoration:none;}
.forgot-password:hover, .register-link:hover{text-decoration:underline;}

/* Remove old theme toggle on this login */
.theme-toggle{display:none !important;}

@media (max-width:480px){
  .jp-logo{font-size:36px;}
  .jp-login-body{padding:16px 18px 18px;}
  .jp-login-header{padding:22px 18px 12px;}
}

/* Logo image (site logo) */
.jp-logo-img{
  height:56px;
  max-width:240px;
  width:auto;
  object-fit:contain;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.45));
}

/* Footer text "Não tem uma conta?" must be white */
.jp-footer-text{
  color: var(--jp-text) !important;
  opacity: .95;
}
