/* v136 — Neon Pulsar auth screens: login/register in the new cosmic pink-blue style. */
html, body{
  min-height:100%;
  background:#02050d !important;
}
body{
  overflow:hidden;
}
.app-root{
  min-height:100vh;
}
.np-auth-page{
  min-height:100vh;
  width:100%;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  padding:42px 18px;
  color:#f7fbff;
  isolation:isolate;
  font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.np-auth-bg,
.np-auth-page::before,
.np-auth-page::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:-3;
}
.np-auth-bg{
  background:
    radial-gradient(circle at 22% 50%, rgba(255,0,166,.32), transparent 30%),
    radial-gradient(circle at 78% 48%, rgba(0,142,255,.36), transparent 34%),
    radial-gradient(circle at 50% 50%, rgba(96,43,255,.14), transparent 42%),
    linear-gradient(135deg,#060713 0%,#02050d 52%,#06111f 100%);
}
.np-auth-page::before{
  z-index:-2;
  background:
    radial-gradient(ellipse at 22% 49%, transparent 0 28%, rgba(255,60,203,.28) 29%, transparent 30%),
    radial-gradient(ellipse at 78% 49%, transparent 0 27%, rgba(0,164,255,.28) 28%, transparent 29%),
    linear-gradient(90deg, rgba(255,0,166,.10), transparent 26%, transparent 74%, rgba(0,142,255,.13));
  filter:blur(.2px);
  opacity:.8;
}
.np-auth-page::after{
  z-index:-1;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 38%, rgba(0,0,0,.20) 60%, rgba(0,0,0,.78) 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.018) 0 1px, transparent 1px 80px);
  mix-blend-mode:screen;
  opacity:.56;
}
.np-auth-card{
  width:min(520px, calc(100vw - 36px));
  min-height:0;
  position:relative;
  padding:34px 42px 32px;
  border-radius:31px;
  background:
    linear-gradient(180deg, rgba(5,9,23,.72), rgba(2,5,13,.88)) padding-box,
    linear-gradient(135deg, #ff27ca 0%, #7c3bff 47%, #0c8cff 100%) border-box;
  border:2px solid transparent;
  box-shadow:
    0 34px 120px rgba(0,0,0,.66),
    0 0 40px rgba(255,39,202,.24),
    0 0 50px rgba(12,140,255,.22),
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -70px 110px rgba(0,0,0,.22);
  backdrop-filter:blur(24px) saturate(1.18);
  -webkit-backdrop-filter:blur(24px) saturate(1.18);
}
.np-auth-card::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:29px;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 0%, rgba(255,39,202,.20), transparent 28%),
    radial-gradient(circle at 82% 8%, rgba(12,140,255,.19), transparent 30%);
  opacity:.9;
}
.np-auth-logo-wrap{
  width:190px;
  height:190px;
  margin:0 auto 18px;
  display:grid;
  place-items:center;
  position:relative;
  border-radius:32px;
  background:linear-gradient(135deg, rgba(255,39,202,.12), rgba(12,140,255,.10));
  filter:drop-shadow(0 0 24px rgba(255,39,202,.28)) drop-shadow(0 0 26px rgba(12,140,255,.24));
}
.np-auth-logo{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:31px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.np-auth-head{
  text-align:center;
  margin:0 0 24px;
  position:relative;
}
.np-auth-head h1,
.auth-title{
  margin:0 !important;
  font-size:44px !important;
  line-height:1.02 !important;
  letter-spacing:-.05em;
  color:#fff !important;
  font-weight:1000 !important;
  text-shadow:0 0 20px rgba(255,255,255,.18), 0 0 28px rgba(12,140,255,.18);
}
.np-auth-head p{
  margin:12px 0 0;
  color:rgba(234,241,255,.72);
  font-size:18px;
  line-height:1.35;
  font-weight:650;
}
.np-auth-form{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:14px;
  margin:0;
}
.np-field{
  min-height:66px;
  display:grid !important;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:0 20px;
  border-radius:15px;
  background:rgba(3,7,18,.54);
  border:1px solid rgba(122,146,210,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 0 0 1px rgba(255,255,255,.01);
  color:#eaf2ff;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.np-field:focus-within{
  border-color:rgba(255,39,202,.80);
  box-shadow:0 0 0 1px rgba(12,140,255,.38), 0 0 22px rgba(255,39,202,.22), 0 0 22px rgba(12,140,255,.16), inset 0 1px 0 rgba(255,255,255,.08);
  background:rgba(4,8,22,.70);
}
.np-field-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  color:rgba(238,246,255,.78);
  font-size:22px;
  line-height:1;
  text-shadow:0 0 14px rgba(255,39,202,.32);
}
.np-field input,
.auth-form input{
  width:100%;
  height:64px;
  min-width:0;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  color:#fff !important;
  background:transparent !important;
  box-shadow:none !important;
  font-size:18px;
  font-weight:650;
}
.np-field input::placeholder{color:rgba(226,235,255,.58);}
.np-auth-submit,
.btn-primary.np-auth-submit{
  width:100%;
  min-height:66px;
  margin-top:8px;
  border:0 !important;
  border-radius:15px !important;
  color:#fff !important;
  font-size:20px !important;
  font-weight:950 !important;
  letter-spacing:.01em;
  cursor:pointer;
  background:
    linear-gradient(90deg, #ff1fc9 0%, #7e3bff 48%, #00c8ff 100%) !important;
  box-shadow:
    0 0 24px rgba(255,31,201,.40),
    0 0 28px rgba(0,200,255,.38),
    inset 0 1px 0 rgba(255,255,255,.30),
    inset 0 -14px 24px rgba(0,0,0,.20);
  transition:transform .14s ease, box-shadow .14s ease, filter .14s ease;
}
.np-auth-submit:hover{
  transform:translateY(-1px);
  filter:saturate(1.08) brightness(1.05);
  box-shadow:0 0 30px rgba(255,31,201,.48),0 0 34px rgba(0,200,255,.44),inset 0 1px 0 rgba(255,255,255,.32);
}
.np-auth-submit:active{transform:translateY(0) scale(.99);}
.np-auth-center,
.np-auth-alt{
  text-align:center;
}
.np-auth-note,
.auth-help{
  color:rgba(226,235,255,.66) !important;
  font-size:13px !important;
  line-height:1.45;
  font-weight:650;
}
.np-auth-note{margin-top:0 !important;}
.np-auth-alt{
  margin-top:20px;
  color:rgba(238,246,255,.75);
  font-size:17px;
  font-weight:650;
}
.np-auth-alt a,
.np-auth-center a,
.auth-help a,
.auth-alt a{
  color:#2fb6ff !important;
  font-weight:850;
  text-decoration:none;
  text-shadow:0 0 18px rgba(47,182,255,.32);
}
.np-auth-alt a:hover,
.np-auth-center a:hover,
.auth-help a:hover{text-decoration:underline;}
.np-reg-tools{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:-2px 0 0;
  color:rgba(226,235,255,.56);
  font-size:12px;
  font-weight:800;
}
.np-reg-tools .btn-secondary,
.btn-secondary.pw-gen{
  border-radius:13px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:linear-gradient(135deg, rgba(255,39,202,.14), rgba(12,140,255,.12)) !important;
  color:#fff !important;
  min-height:38px;
  padding:0 13px !important;
  font-weight:850;
  cursor:pointer;
}
.np-pw-meter{
  margin:0;
  padding:12px 14px;
  border-radius:15px;
  background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.08);
}
.pw-meter-track{
  height:7px;
  background:rgba(255,255,255,.08);
  border-radius:999px;
  overflow:hidden;
}
.pw-meter-bar{
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#ff274d,#ff27ca,#0c8cff);
  box-shadow:0 0 16px rgba(255,39,202,.35);
}
.pw-meter-text{margin-top:8px;color:rgba(226,235,255,.70);font-size:12px;font-weight:800;}
.pw-meter-list{margin:8px 0 0;padding-left:18px;color:rgba(226,235,255,.62);font-size:12px;line-height:1.45;}
.flash-list{
  position:relative;
  z-index:3;
  margin:0 0 16px;
}
.flash{
  border-radius:14px;
  padding:12px 14px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-weight:750;
}
.flash-error{
  background:rgba(255,39,77,.13);
  border-color:rgba(255,39,77,.36);
}
/* keep other auth-system pages readable with the same skin */
.auth-wrapper{
  min-height:100vh !important;
  height:auto !important;
  display:grid !important;
  place-items:center !important;
  padding:42px 18px !important;
  background:
    radial-gradient(circle at 22% 50%, rgba(255,0,166,.22), transparent 30%),
    radial-gradient(circle at 78% 48%, rgba(0,142,255,.24), transparent 34%),
    linear-gradient(135deg,#060713 0%,#02050d 52%,#06111f 100%) !important;
}
.auth-wrapper > .auth-card:not(.np-auth-card){
  width:min(520px, calc(100vw - 36px)) !important;
  padding:34px 38px !important;
  border-radius:28px !important;
  background:linear-gradient(180deg, rgba(5,9,23,.78), rgba(2,5,13,.90)) padding-box, linear-gradient(135deg, #ff27ca, #0c8cff) border-box !important;
  border:1px solid transparent !important;
  box-shadow:0 34px 100px rgba(0,0,0,.58),0 0 36px rgba(255,39,202,.18),0 0 42px rgba(12,140,255,.16) !important;
}
.auth-wrapper > .auth-card:not(.np-auth-card) .np-logo-img{
  width:150px !important;
  height:150px !important;
  object-fit:cover !important;
  border-radius:28px !important;
  display:block !important;
  margin:0 auto 18px !important;
}
@media (max-width:680px){
  .np-auth-page{padding:22px 14px;align-items:center;}
  .np-auth-card{width:min(460px, calc(100vw - 28px));padding:24px 20px 22px;border-radius:25px;}
  .np-auth-logo-wrap{width:136px;height:136px;border-radius:25px;margin-bottom:14px;}
  .np-auth-logo{border-radius:24px;}
  .np-auth-head h1,.auth-title{font-size:34px!important;}
  .np-auth-head p{font-size:15px;}
  .np-field{min-height:58px;border-radius:14px;padding:0 16px;grid-template-columns:26px minmax(0,1fr);}
  .np-field input,.auth-form input{height:56px;font-size:16px;}
  .np-auth-submit{min-height:58px;font-size:18px!important;}
  .np-reg-tools{flex-direction:column;align-items:stretch;}
}

/* v137 — closer to the selected mockup: dark glass card, clean neon border, real dark inputs. */
html, body{
  width:100%;
  min-height:100%;
  background:#020713 !important;
}
body{
  overflow:hidden !important;
  margin:0 !important;
}
.np-auth-page{
  min-height:100vh !important;
  width:100% !important;
  padding:38px 18px !important;
  display:grid !important;
  place-items:center !important;
  background:#020713 !important;
}
.np-auth-bg{
  background:
    radial-gradient(circle at 26% 52%, rgba(255, 0, 178, .40) 0%, rgba(255, 0, 178, .15) 18%, transparent 38%),
    radial-gradient(circle at 76% 52%, rgba(0, 149, 255, .42) 0%, rgba(0, 149, 255, .18) 20%, transparent 42%),
    radial-gradient(circle at 50% 52%, rgba(98, 50, 255, .20), transparent 42%),
    linear-gradient(135deg, #080616 0%, #020611 45%, #05152a 100%) !important;
}
.np-auth-page::before{
  background:
    radial-gradient(ellipse at 26% 51%, transparent 0 28%, rgba(255, 45, 200, .36) 29%, rgba(255, 45, 200, .16) 30%, transparent 31%),
    radial-gradient(ellipse at 76% 51%, transparent 0 28%, rgba(0, 178, 255, .36) 29%, rgba(0, 178, 255, .16) 30%, transparent 31%) !important;
  filter:blur(.6px) !important;
  opacity:.82 !important;
}
.np-auth-page::after{
  background:
    radial-gradient(circle at 50% 48%, transparent 0 36%, rgba(0,0,0,.23) 60%, rgba(0,0,0,.84) 100%),
    radial-gradient(circle at 28% 52%, rgba(255,0,174,.10), transparent 36%),
    radial-gradient(circle at 73% 52%, rgba(0,167,255,.12), transparent 36%) !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
}
.np-auth-card{
  width:min(610px, calc(100vw - 44px)) !important;
  padding:46px 54px 38px !important;
  border-radius:32px !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 39, 202, .18), transparent 34%),
    radial-gradient(circle at 84% 0%, rgba(12, 140, 255, .19), transparent 36%),
    linear-gradient(180deg, rgba(4, 7, 19, .82), rgba(1, 5, 14, .94)) padding-box,
    linear-gradient(135deg, #ff28d4 0%, #8d40ff 42%, #0db4ff 100%) border-box !important;
  border:2px solid transparent !important;
  box-shadow:
    0 34px 120px rgba(0,0,0,.74),
    0 0 44px rgba(255,39,202,.33),
    0 0 54px rgba(12,140,255,.30),
    inset 0 1px 0 rgba(255,255,255,.13),
    inset 0 -80px 130px rgba(0,0,0,.38) !important;
  backdrop-filter:blur(24px) saturate(1.16) !important;
  -webkit-backdrop-filter:blur(24px) saturate(1.16) !important;
}
.np-auth-card::before{
  inset:0 !important;
  border-radius:30px !important;
  background:
    linear-gradient(135deg, rgba(255,39,202,.13), transparent 32%, transparent 65%, rgba(12,140,255,.14)),
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.07), transparent 34%) !important;
  opacity:1 !important;
}
.np-auth-logo-wrap{
  width:170px !important;
  height:170px !important;
  margin:0 auto 26px !important;
  border-radius:30px !important;
  background:transparent !important;
  filter:drop-shadow(0 0 24px rgba(255, 39, 202, .40)) drop-shadow(0 0 26px rgba(12, 140, 255, .38)) !important;
}
.np-auth-logo{
  border-radius:30px !important;
  box-shadow:none !important;
}
.np-auth-head{
  margin:0 0 28px !important;
}
.np-auth-head h1,
.auth-title{
  font-size:46px !important;
  line-height:1 !important;
  letter-spacing:-.055em !important;
  text-shadow:0 0 18px rgba(255,255,255,.28), 0 0 34px rgba(12,140,255,.20) !important;
}
.np-auth-head p{
  margin-top:12px !important;
  color:rgba(235,241,255,.72) !important;
  font-size:18px !important;
  font-weight:650 !important;
}
.np-auth-form{
  gap:16px !important;
}
.np-field{
  min-height:68px !important;
  grid-template-columns:34px minmax(0,1fr) !important;
  padding:0 20px !important;
  border-radius:17px !important;
  background:rgba(2, 6, 18, .72) !important;
  border:1px solid rgba(116, 139, 205, .38) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055), inset 0 0 0 1px rgba(255,255,255,.018) !important;
}
.np-field:focus-within{
  border-color:rgba(13, 180, 255, .88) !important;
  box-shadow:
    0 0 0 1px rgba(255, 40, 212, .54),
    0 0 22px rgba(255, 40, 212, .26),
    0 0 26px rgba(13, 180, 255, .22),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
  background:rgba(3, 8, 22, .82) !important;
}
.np-field-icon{
  width:34px !important;
  height:34px !important;
  font-size:0 !important;
  color:rgba(236,242,255,.78) !important;
  opacity:.95 !important;
}
.np-icon-user::before,
.np-icon-lock::before,
.np-icon-help::before{
  content:"";
  display:block;
  width:23px;
  height:23px;
  margin:auto;
  background:currentColor;
  opacity:.95;
  filter:drop-shadow(0 0 9px rgba(255,39,202,.35));
}
.np-icon-user::before{
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0 2c-4.42 0-8 2.24-8 5v1h2v-1c0-1.45 2.67-3 6-3s6 1.55 6 3v1h2v-1c0-2.76-3.58-5-8-5Z'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0 2c-4.42 0-8 2.24-8 5v1h2v-1c0-1.45 2.67-3 6-3s6 1.55 6 3v1h2v-1c0-2.76-3.58-5-8-5Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.np-icon-lock::before{
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M17 9h-1V7a4 4 0 0 0-8 0v2H7a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2Zm-7-2a2 2 0 1 1 4 0v2h-4V7Zm7 12H7v-8h10v8Z'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M17 9h-1V7a4 4 0 0 0-8 0v2H7a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2Zm-7-2a2 2 0 1 1 4 0v2h-4V7Zm7 12H7v-8h10v8Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.np-field input,
.auth-form input,
.np-field .pw-wrap input{
  height:66px !important;
  color:#f9fbff !important;
  -webkit-text-fill-color:#f9fbff !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  font-size:19px !important;
  font-weight:600 !important;
  caret-color:#14c7ff !important;
}
.np-field input::placeholder{color:rgba(226,235,255,.60) !important;opacity:1 !important;}
.np-field input:-webkit-autofill,
.np-field input:-webkit-autofill:hover,
.np-field input:-webkit-autofill:focus,
.np-field input:-webkit-autofill:active{
  -webkit-text-fill-color:#f9fbff !important;
  caret-color:#14c7ff !important;
  transition:background-color 999999s ease-in-out 0s !important;
  box-shadow:0 0 0 1000px rgba(2,6,18,.98) inset !important;
  border-radius:14px !important;
}
.np-field .pw-wrap{
  width:100% !important;
  position:relative !important;
  display:block !important;
  min-width:0 !important;
}
.np-field .pw-wrap input{
  padding-right:46px !important;
}
.np-field .pw-eye{
  position:absolute !important;
  right:0 !important;
  top:50% !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  transform:translateY(-50%) !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.055) !important;
  color:rgba(235,242,255,.78) !important;
  font-size:16px !important;
  line-height:1 !important;
  box-shadow:none !important;
  filter:none !important;
  cursor:pointer !important;
  z-index:2 !important;
}
.np-field .pw-eye:hover{background:rgba(255,255,255,.10) !important;transform:translateY(-50%) !important;}
.np-auth-submit,
.btn-primary.np-auth-submit{
  min-height:70px !important;
  margin-top:12px !important;
  border-radius:17px !important;
  background:linear-gradient(90deg, #ff18c9 0%, #683eff 47%, #00d4ff 100%) !important;
  font-size:22px !important;
  box-shadow:
    0 0 28px rgba(255,24,201,.54),
    0 0 32px rgba(0,212,255,.46),
    inset 0 1px 0 rgba(255,255,255,.32),
    inset 0 -16px 24px rgba(0,0,0,.20) !important;
}
.np-auth-center{margin-top:12px !important;}
.np-auth-center a{color:#ff31df !important;text-shadow:0 0 18px rgba(255,49,223,.35) !important;}
.np-auth-alt{margin-top:18px !important;font-size:18px !important;color:rgba(238,246,255,.76) !important;}
.np-auth-alt a{color:#16bfff !important;}
.np-reg-tools{
  margin:-2px 0 2px !important;
}
.np-reg-tools .btn-secondary,
.btn-secondary.pw-gen{
  min-height:42px !important;
  border-radius:14px !important;
}
.np-pw-meter{
  border-radius:17px !important;
  background:rgba(2,6,18,.48) !important;
}
@media (max-width:640px){
  .np-auth-card{width:min(480px, calc(100vw - 28px)) !important;padding:28px 22px 24px !important;border-radius:28px !important;}
  .np-auth-logo-wrap{width:140px!important;height:140px!important;margin-bottom:18px!important;}
  .np-auth-head h1{font-size:36px!important;}
  .np-auth-head p{font-size:15px!important;}
  .np-field{min-height:58px!important;}
  .np-field input,.auth-form input,.np-field .pw-wrap input{height:58px!important;font-size:16px!important;}
  .np-auth-submit{min-height:60px!important;font-size:18px!important;}
}

/* v138 — force the auth pages to match the selected mockup much closer. */
body:has(.np-auth-page){
  background:#030711 !important;
}
.np-auth-page.np-auth-login,
.np-auth-page.np-auth-register{
  min-height:100vh !important;
  width:100% !important;
  padding:34px 18px !important;
  overflow:hidden !important;
  position:relative !important;
  isolation:isolate !important;
}
.np-auth-page.np-auth-login .np-auth-bg,
.np-auth-page.np-auth-register .np-auth-bg{
  position:absolute !important;
  inset:-2% !important;
  z-index:-3 !important;
  background:
    radial-gradient(circle at 22% 52%, rgba(255,0,157,.44) 0%, rgba(255,0,157,.30) 10%, rgba(255,0,157,.16) 18%, rgba(255,0,157,.07) 27%, transparent 40%),
    radial-gradient(circle at 79% 52%, rgba(0,163,255,.46) 0%, rgba(0,163,255,.30) 10%, rgba(0,163,255,.17) 20%, rgba(0,163,255,.08) 30%, transparent 43%),
    radial-gradient(circle at 50% 50%, rgba(98,53,255,.18), transparent 45%),
    linear-gradient(90deg, rgba(255,255,255,.018) 0 1px, transparent 1px 72px),
    linear-gradient(180deg, #02050d 0%, #020812 54%, #031225 100%) !important;
  filter:none !important;
}
.np-auth-page.np-auth-login::before,
.np-auth-page.np-auth-register::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-2 !important;
  background:
    radial-gradient(ellipse 33% 18% at 22% 52%, transparent 0 76%, rgba(255,62,204,.85) 77%, rgba(255,62,204,.48) 78%, transparent 79%),
    radial-gradient(ellipse 33% 18% at 78% 52%, transparent 0 76%, rgba(0,188,255,.85) 77%, rgba(0,188,255,.48) 78%, transparent 79%);
  opacity:.95 !important;
  filter:blur(.35px) !important;
}
.np-auth-page.np-auth-login::after,
.np-auth-page.np-auth-register::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 33%, rgba(2,6,16,.12) 55%, rgba(1,4,11,.55) 100%),
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.28));
}
.np-auth-page.np-auth-login .np-auth-card,
.np-auth-page.np-auth-register .np-auth-card{
  width:min(560px, calc(100vw - 40px)) !important;
  padding:44px 42px 36px !important;
  border-radius:30px !important;
  position:relative !important;
  background:
    linear-gradient(180deg, rgba(6,11,24,.74), rgba(3,7,18,.92)) padding-box,
    linear-gradient(135deg, rgba(255,55,210,.94) 0%, rgba(123,72,255,.94) 45%, rgba(0,206,255,.96) 100%) border-box !important;
  border:2px solid transparent !important;
  box-shadow:
    0 28px 80px rgba(0,0,0,.70),
    0 0 32px rgba(255,40,205,.30),
    0 0 36px rgba(0,196,255,.26),
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -60px 80px rgba(0,0,0,.18) !important;
  backdrop-filter:blur(8px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(8px) saturate(1.12) !important;
}
.np-auth-page.np-auth-login .np-auth-card::before,
.np-auth-page.np-auth-register .np-auth-card::before{
  content:"" !important;
  position:absolute !important;
  inset:1px !important;
  border-radius:28px !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,76,214,.16), transparent 30%),
    radial-gradient(circle at 84% 0%, rgba(0,198,255,.14), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,0) 24%) !important;
  pointer-events:none !important;
}
.np-auth-page .np-auth-logo-wrap{
  width:164px !important;
  height:164px !important;
  margin:0 auto 18px !important;
  border-radius:26px !important;
  background:transparent !important;
  filter:drop-shadow(0 0 18px rgba(255,35,200,.30)) drop-shadow(0 0 20px rgba(0,188,255,.26)) !important;
}
.np-auth-page .np-auth-logo{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:24px !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.03), 0 12px 28px rgba(0,0,0,.42) !important;
}
.np-auth-page .np-auth-head{
  margin:0 0 22px !important;
  text-align:center !important;
}
.np-auth-page .np-auth-head h1,
.np-auth-page .auth-title{
  font-size:62px !important;
  line-height:.92 !important;
  letter-spacing:-.065em !important;
  font-weight:1000 !important;
  color:#fff !important;
  text-shadow:0 0 18px rgba(255,255,255,.13) !important;
}
.np-auth-page .np-auth-head p{
  margin:10px 0 0 !important;
  font-size:16px !important;
  line-height:1.35 !important;
  color:rgba(230,238,255,.78) !important;
  font-weight:500 !important;
}
.np-auth-page .np-auth-form{
  gap:14px !important;
}
.np-auth-page .np-field{
  min-height:72px !important;
  padding:0 18px !important;
  display:grid !important;
  grid-template-columns:26px minmax(0,1fr) !important;
  gap:14px !important;
  align-items:center !important;
  border-radius:16px !important;
  background:rgba(3,8,21,.82) !important;
  border:1px solid rgba(92,119,196,.60) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    inset 0 0 0 1px rgba(255,255,255,.015),
    0 8px 24px rgba(0,0,0,.18) !important;
}
.np-auth-page .np-field:focus-within{
  background:rgba(4,9,24,.92) !important;
  border-color:rgba(63,210,255,.92) !important;
  box-shadow:
    0 0 0 1px rgba(255,43,202,.40),
    0 0 22px rgba(255,43,202,.20),
    0 0 24px rgba(0,190,255,.18),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.np-auth-page .np-field-icon{
  width:26px !important;
  height:26px !important;
  display:grid !important;
  place-items:center !important;
  color:rgba(245,247,255,.88) !important;
  opacity:.92 !important;
}
.np-auth-page .np-icon-user::before,
.np-auth-page .np-icon-lock::before,
.np-auth-page .np-icon-help::before{
  width:22px !important;
  height:22px !important;
  filter:drop-shadow(0 0 8px rgba(255,40,205,.18)) !important;
}
.np-auth-page .np-field input,
.np-auth-page .auth-form input,
.np-auth-page .np-field .pw-wrap input{
  width:100% !important;
  height:70px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:none !important;
  color:#f4f9ff !important;
  -webkit-text-fill-color:#f4f9ff !important;
  font-size:18px !important;
  font-weight:500 !important;
  caret-color:#20cfff !important;
}
.np-auth-page .np-field input::placeholder{
  color:rgba(224,233,255,.72) !important;
  opacity:1 !important;
}
.np-auth-page .np-field .pw-wrap{
  width:100% !important;
  min-width:0 !important;
  display:block !important;
  position:relative !important;
}
.np-auth-page .np-field .pw-wrap input{
  padding-right:52px !important;
}
.np-auth-page .np-field .pw-eye{
  position:absolute !important;
  right:-2px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.055) !important;
  color:rgba(240,244,255,.80) !important;
  font-size:15px !important;
  line-height:1 !important;
  box-shadow:none !important;
}
.np-auth-page .np-field .pw-eye:hover{
  background:rgba(255,255,255,.10) !important;
}
.np-auth-page .np-auth-submit,
.np-auth-page .btn-primary.np-auth-submit{
  width:100% !important;
  min-height:76px !important;
  margin-top:10px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:16px !important;
  background:linear-gradient(90deg, #ff16c8 0%, #8640ff 48%, #10d7ff 100%) !important;
  color:#ffffff !important;
  font-size:22px !important;
  font-weight:900 !important;
  box-shadow:
    0 0 24px rgba(255,22,200,.34),
    0 0 28px rgba(16,215,255,.26),
    inset 0 1px 0 rgba(255,255,255,.30),
    inset 0 -14px 18px rgba(0,0,0,.16) !important;
}
.np-auth-page .np-auth-submit:hover{
  transform:translateY(-1px) !important;
  filter:brightness(1.04) saturate(1.05) !important;
}
.np-auth-page .np-auth-center{
  margin-top:12px !important;
  text-align:center !important;
}
.np-auth-page .np-auth-center a{
  color:#ff3adf !important;
  text-shadow:0 0 12px rgba(255,58,223,.28) !important;
}
.np-auth-page .np-auth-alt{
  margin-top:18px !important;
  text-align:center !important;
  font-size:17px !important;
  color:rgba(228,235,250,.78) !important;
}
.np-auth-page .np-auth-alt a{
  color:#14c9ff !important;
  text-shadow:0 0 12px rgba(20,201,255,.24) !important;
}
.np-auth-page .flash-list{
  margin:0 0 14px !important;
}
.np-auth-page .flash{
  background:rgba(12,17,36,.78) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:14px !important;
  color:#fff !important;
}
.np-auth-page .flash-error{
  background:rgba(70,12,42,.72) !important;
  border-color:rgba(255,77,160,.34) !important;
}
.np-auth-page .np-reg-tools{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:12px !important;
  margin:-2px 0 2px !important;
  color:rgba(227,235,255,.58) !important;
}
.np-auth-page .np-reg-tools .btn-secondary,
.np-auth-page .btn-secondary.pw-gen{
  min-height:42px !important;
  padding:0 14px !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:linear-gradient(135deg, rgba(255,31,201,.14), rgba(12,140,255,.12)) !important;
  color:#fff !important;
}
.np-auth-page .np-pw-meter{
  border-radius:16px !important;
  background:rgba(2,8,21,.56) !important;
  border:1px solid rgba(255,255,255,.07) !important;
}
@media (max-width: 640px){
  .np-auth-page.np-auth-login::before,
  .np-auth-page.np-auth-register::before{
    background:
      radial-gradient(ellipse 42% 18% at 18% 52%, transparent 0 76%, rgba(255,62,204,.75) 77%, rgba(255,62,204,.40) 78%, transparent 79%),
      radial-gradient(ellipse 42% 18% at 82% 52%, transparent 0 76%, rgba(0,188,255,.76) 77%, rgba(0,188,255,.42) 78%, transparent 79%) !important;
  }
  .np-auth-page.np-auth-login .np-auth-card,
  .np-auth-page.np-auth-register .np-auth-card{
    width:min(480px, calc(100vw - 26px)) !important;
    padding:28px 20px 24px !important;
    border-radius:26px !important;
  }
  .np-auth-page .np-auth-logo-wrap{
    width:132px !important;
    height:132px !important;
    margin-bottom:16px !important;
  }
  .np-auth-page .np-auth-head h1{
    font-size:44px !important;
  }
  .np-auth-page .np-auth-head p{
    font-size:14px !important;
  }
  .np-auth-page .np-field{
    min-height:60px !important;
    gap:12px !important;
    padding:0 14px !important;
  }
  .np-auth-page .np-field input,
  .np-auth-page .auth-form input,
  .np-auth-page .np-field .pw-wrap input{
    height:58px !important;
    font-size:16px !important;
  }
  .np-auth-page .np-auth-submit{min-height:62px !important;font-size:18px !important;}
  .np-auth-page .np-reg-tools{flex-direction:column !important;align-items:stretch !important;}
}

/* v139 — login/register exact alignment: full viewport background + same clean fields as register. */
html:has(.np-auth-page),
html:has(.np-auth-page) body,
html:has(.np-auth-page) .app-root{
  width:100% !important;
  min-width:100% !important;
  height:100% !important;
  min-height:100svh !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#02050d !important;
}
html:has(.np-auth-page) body{
  position:relative !important;
}
html:has(.np-auth-page) .app-root{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100svh !important;
  overflow:hidden !important;
}
.np-auth-page.np-auth-login,
.np-auth-page.np-auth-register{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100svh !important;
  min-height:100svh !important;
  max-height:100svh !important;
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
  background:#02050d !important;
}
.np-auth-page.np-auth-login .np-auth-bg,
.np-auth-page.np-auth-register .np-auth-bg{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100svh !important;
  min-height:100svh !important;
  background:
    radial-gradient(circle at 23% 51%, rgba(255,0,166,.46) 0%, rgba(255,0,166,.25) 13%, rgba(255,0,166,.11) 26%, transparent 43%),
    radial-gradient(circle at 78% 51%, rgba(0,166,255,.46) 0%, rgba(0,166,255,.25) 14%, rgba(0,166,255,.11) 27%, transparent 44%),
    radial-gradient(circle at 50% 52%, rgba(110,45,255,.15), transparent 45%),
    linear-gradient(90deg, rgba(255,255,255,.018) 0 1px, transparent 1px 74px),
    linear-gradient(180deg, #02050d 0%, #030717 52%, #04162a 100%) !important;
  background-size:cover !important;
  background-position:center !important;
  filter:none !important;
}
.np-auth-page.np-auth-login::before,
.np-auth-page.np-auth-register::before{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100svh !important;
  background:
    radial-gradient(ellipse 34% 17% at 23% 51%, transparent 0 76%, rgba(255,58,205,.88) 77%, rgba(255,58,205,.38) 78.2%, transparent 80%),
    radial-gradient(ellipse 34% 17% at 78% 51%, transparent 0 76%, rgba(0,196,255,.88) 77%, rgba(0,196,255,.38) 78.2%, transparent 80%) !important;
  opacity:.94 !important;
  filter:blur(.28px) !important;
}
.np-auth-page.np-auth-login::after,
.np-auth-page.np-auth-register::after{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100svh !important;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 34%, rgba(0,0,0,.18) 58%, rgba(0,0,0,.74) 100%),
    linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.24)) !important;
  pointer-events:none !important;
}
.np-auth-page.np-auth-login .np-auth-card,
.np-auth-page.np-auth-register .np-auth-card{
  width:min(620px, calc(100vw - 34px)) !important;
  box-sizing:border-box !important;
  max-height:calc(100svh - 28px) !important;
  overflow:visible !important;
  padding:44px 54px 38px !important;
  border-radius:31px !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,52,208,.15), transparent 31%),
    radial-gradient(circle at 86% 0%, rgba(0,196,255,.15), transparent 34%),
    linear-gradient(180deg, rgba(5,9,22,.78), rgba(2,6,17,.94)) padding-box,
    linear-gradient(135deg, #ff28d4 0%, #7d48ff 46%, #00d3ff 100%) border-box !important;
  border:2px solid transparent !important;
  box-shadow:
    0 32px 92px rgba(0,0,0,.72),
    0 0 34px rgba(255,40,212,.34),
    0 0 38px rgba(0,211,255,.28),
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -60px 90px rgba(0,0,0,.22) !important;
}
.np-auth-page .np-auth-logo-wrap{
  width:164px !important;
  height:164px !important;
  margin:0 auto 18px !important;
}
.np-auth-page .np-auth-head{
  margin:0 0 24px !important;
}
.np-auth-page .np-auth-head h1{
  font-size:56px !important;
  line-height:.94 !important;
  letter-spacing:-.06em !important;
}
.np-auth-page .np-auth-head p{
  font-size:17px !important;
  color:rgba(235,241,255,.76) !important;
  margin-top:10px !important;
}
.np-auth-page .np-auth-form{
  width:100% !important;
  max-width:100% !important;
  gap:16px !important;
}
.np-auth-page .np-field{
  width:100% !important;
  box-sizing:border-box !important;
  min-height:72px !important;
  height:72px !important;
  padding:0 20px !important;
  display:grid !important;
  grid-template-columns:28px minmax(0,1fr) !important;
  gap:16px !important;
  align-items:center !important;
  overflow:hidden !important;
  border-radius:17px !important;
  background:rgba(3,8,22,.84) !important;
  border:1px solid rgba(75,115,202,.72) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055), 0 9px 24px rgba(0,0,0,.18) !important;
}
.np-auth-page .np-field:focus-within{
  border-color:#16d7ff !important;
  box-shadow:
    0 0 0 1px rgba(255,40,212,.64),
    0 0 22px rgba(255,40,212,.25),
    0 0 24px rgba(0,211,255,.22),
    inset 0 1px 0 rgba(255,255,255,.07) !important;
}
.np-auth-page .np-field-icon{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  flex:0 0 28px !important;
}
.np-auth-page .np-field input,
.np-auth-page .np-field .pw-wrap,
.np-auth-page .np-field .pw-wrap input,
.np-auth-page .auth-form input{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:70px !important;
  min-height:70px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
  color:#f7fbff !important;
  -webkit-text-fill-color:#f7fbff !important;
  font-size:18px !important;
  font-weight:560 !important;
  line-height:70px !important;
  caret-color:#20d4ff !important;
}
.np-auth-page .np-field .pw-wrap{
  position:relative !important;
  display:block !important;
}
.np-auth-page .np-field .pw-wrap input{
  padding-right:54px !important;
}
.np-auth-page .np-field input::placeholder{
  color:rgba(226,235,255,.70) !important;
  -webkit-text-fill-color:rgba(226,235,255,.70) !important;
  opacity:1 !important;
}
.np-auth-page .np-field input:-webkit-autofill,
.np-auth-page .np-field input:-webkit-autofill:hover,
.np-auth-page .np-field input:-webkit-autofill:focus,
.np-auth-page .np-field input:-webkit-autofill:active{
  -webkit-text-fill-color:#f7fbff !important;
  caret-color:#20d4ff !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  background-clip:content-box !important;
  -webkit-background-clip:text !important;
  box-shadow:0 0 0 1000px rgba(3,8,22,.00) inset !important;
  -webkit-box-shadow:0 0 0 1000px rgba(3,8,22,.00) inset !important;
  transition:background-color 999999s ease-in-out 0s !important;
}
.np-auth-page .np-field .pw-eye{
  right:0 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  border-radius:13px !important;
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.06) !important;
  color:rgba(240,246,255,.82) !important;
  box-shadow:none !important;
}
.np-auth-page .np-auth-submit,
.np-auth-page .btn-primary.np-auth-submit{
  width:100% !important;
  min-height:76px !important;
  height:76px !important;
  margin-top:10px !important;
  border-radius:17px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:linear-gradient(90deg, #ff16c8 0%, #7d3dff 47%, #00d4ff 100%) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:24px !important;
  font-weight:950 !important;
  box-shadow:0 0 26px rgba(255,22,200,.42), 0 0 30px rgba(0,212,255,.34), inset 0 1px 0 rgba(255,255,255,.30) !important;
}
.np-auth-page .np-auth-center{margin-top:10px !important;}
.np-auth-page .np-auth-alt{margin-top:18px !important;}
@media (max-width:680px){
  .np-auth-page.np-auth-login .np-auth-card,
  .np-auth-page.np-auth-register .np-auth-card{
    width:min(480px, calc(100vw - 26px)) !important;
    padding:28px 20px 24px !important;
    max-height:calc(100svh - 18px) !important;
  }
  .np-auth-page .np-auth-logo-wrap{width:132px !important;height:132px !important;}
  .np-auth-page .np-auth-head h1{font-size:42px !important;}
  .np-auth-page .np-auth-head p{font-size:14px !important;}
  .np-auth-page .np-field{height:60px !important;min-height:60px !important;}
  .np-auth-page .np-field input,
  .np-auth-page .np-field .pw-wrap,
  .np-auth-page .np-field .pw-wrap input,
  .np-auth-page .auth-form input{height:58px !important;min-height:58px !important;line-height:58px !important;font-size:16px !important;}
  .np-auth-page .np-auth-submit{height:62px !important;min-height:62px !important;font-size:19px !important;}
}


/* v140 — password strength meter visible + neon styled. */
.np-auth-page .np-pw-meter,
.np-auth-page .pw-meter[data-pw-meter]{
  display:block !important;
  width:100% !important;
  min-height:58px !important;
  padding:12px 14px 14px !important;
  border-radius:16px !important;
  background:rgba(2,8,21,.62) !important;
  border:1px solid rgba(78,112,190,.34) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 12px 32px rgba(0,0,0,.16) !important;
}
.np-auth-page .pw-meter-track{
  width:100% !important;
  height:8px !important;
  padding:0 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.075) !important;
  overflow:hidden !important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.38) !important;
}
.np-auth-page .pw-meter-bar{
  display:block !important;
  width:8%;
  min-width:22px;
  height:100% !important;
  border-radius:999px !important;
  transition:width .22s ease, background .22s ease, box-shadow .22s ease !important;
  background:linear-gradient(90deg,#ff395c,#ff2ad3) !important;
  box-shadow:0 0 14px rgba(255,42,211,.32) !important;
}
.np-auth-page .pw-meter-bar.lvl-0{width:8%;background:linear-gradient(90deg,#34394b,#4b526b)!important;box-shadow:none!important;}
.np-auth-page .pw-meter-bar.lvl-1{background:linear-gradient(90deg,#ff315f,#ff4a95)!important;box-shadow:0 0 14px rgba(255,49,95,.35)!important;}
.np-auth-page .pw-meter-bar.lvl-2{background:linear-gradient(90deg,#ff8b2d,#ffcc4a)!important;box-shadow:0 0 14px rgba(255,178,45,.32)!important;}
.np-auth-page .pw-meter-bar.lvl-3{background:linear-gradient(90deg,#8e4dff,#00a7ff)!important;box-shadow:0 0 16px rgba(0,167,255,.34)!important;}
.np-auth-page .pw-meter-bar.lvl-4{background:linear-gradient(90deg,#ff20cc,#7f42ff,#00d7ff)!important;box-shadow:0 0 18px rgba(255,32,204,.40),0 0 20px rgba(0,215,255,.35)!important;}
.np-auth-page .pw-meter-text{
  margin-top:9px !important;
  color:rgba(239,245,255,.82) !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
}
.np-auth-page .pw-meter-list{
  margin:8px 0 0 !important;
  padding:0 !important;
  list-style:none !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:7px 10px !important;
  color:rgba(222,232,255,.68) !important;
}
.np-auth-page .pw-meter-list li{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  margin:0 !important;
  padding:5px 9px !important;
  min-height:24px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.045) !important;
  border:1px solid rgba(255,255,255,.075) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:850 !important;
}
.np-auth-page .pw-meter-list li span{
  display:inline-grid !important;
  place-items:center !important;
  width:14px !important;
  height:14px !important;
  border-radius:999px !important;
  font-size:10px !important;
}
.np-auth-page .pw-meter-list li.is-ok{
  color:#82ffe2 !important;
  border-color:rgba(45,255,211,.22) !important;
  background:rgba(45,255,211,.055) !important;
}
.np-auth-page .pw-meter-list li.is-ok span{background:rgba(45,255,211,.14)!important;}
.np-auth-page .pw-meter-list li.is-bad{
  color:#ff9ab1 !important;
  border-color:rgba(255,70,115,.22) !important;
  background:rgba(255,70,115,.055) !important;
}
.np-auth-page .pw-meter-list li.is-bad span{background:rgba(255,70,115,.14)!important;}
.np-auth-page .pw-meter-list li.is-muted{
  color:rgba(224,233,255,.58) !important;
}

/* v141 — recovery codes page matches the auth fullscreen background and card language. */
.np-auth-page.np-auth-recovery{
  overflow:auto !important;
  padding:18px !important;
}
.np-auth-page.np-auth-recovery .np-auth-bg,
.np-auth-page.np-auth-recovery::before,
.np-auth-page.np-auth-recovery::after{
  position:fixed !important;
}
.np-auth-page.np-auth-recovery .np-recovery-card{
  width:min(620px, calc(100vw - 34px)) !important;
  max-height:calc(100svh - 28px) !important;
  overflow:auto !important;
  scrollbar-width:thin;
  scrollbar-color:rgba(0,212,255,.50) rgba(255,255,255,.05);
}
.np-auth-page.np-auth-recovery .np-recovery-card::-webkit-scrollbar{width:10px;}
.np-auth-page.np-auth-recovery .np-recovery-card::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px;}
.np-auth-page.np-auth-recovery .np-recovery-card::-webkit-scrollbar-thumb{background:linear-gradient(180deg, rgba(255,33,201,.70), rgba(0,212,255,.72));border-radius:999px;}
.np-auth-page.np-auth-recovery .np-recovery-head{margin-bottom:20px !important;}
.np-auth-page.np-auth-recovery .np-recovery-head h1{font-size:48px !important;}
.np-auth-page.np-auth-recovery .np-recovery-head p{font-size:16px !important;}
.np-auth-page.np-auth-recovery .np-recovery-note{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:0 0 16px;
  padding:16px 18px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(18,31,61,.70), rgba(10,20,44,.84)) !important;
  border:1px solid rgba(126,156,230,.28) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 12px 28px rgba(0,0,0,.18) !important;
  color:#f2f7ff;
}
.np-auth-page.np-auth-recovery .np-recovery-note strong{
  font-size:16px;
  font-weight:900;
  color:#ffffff;
}
.np-auth-page.np-auth-recovery .np-recovery-note span{
  font-size:15px;
  line-height:1.5;
  color:rgba(240,246,255,.92);
}
.np-auth-page.np-auth-recovery .np-recovery-note small{
  font-size:13px;
  line-height:1.45;
  color:rgba(219,232,255,.74);
}
.np-auth-page.np-auth-recovery .np-recovery-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:0 0 16px;
}
.np-auth-page.np-auth-recovery .np-recovery-code{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border-radius:16px;
  background:rgba(3,8,22,.84) !important;
  border:1px solid rgba(75,115,202,.62) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 8px 22px rgba(0,0,0,.16) !important;
  color:#f7fbff;
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size:17px;
  font-weight:800;
  letter-spacing:.08em;
  text-align:center;
}
.np-auth-page.np-auth-recovery .np-recovery-actions{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.np-auth-page.np-auth-recovery .np-recovery-actions-row{
  flex-direction:row;
  margin:0 0 10px;
}
.np-auth-page.np-auth-recovery .np-recovery-btn{
  flex:1 1 0;
  min-height:50px !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:linear-gradient(135deg, rgba(255,31,201,.10), rgba(12,140,255,.10)) !important;
  color:#eef5ff !important;
  font-weight:850 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 8px 22px rgba(0,0,0,.14) !important;
}
.np-auth-page.np-auth-recovery .np-recovery-continue{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  margin-top:0 !important;
}
.np-auth-page.np-auth-recovery .np-recovery-form{
  margin-top:0 !important;
}
.np-auth-page.np-auth-recovery .np-recovery-back{
  margin-top:16px !important;
}
@media (max-width:680px){
  .np-auth-page.np-auth-recovery{
    padding:14px !important;
  }
  .np-auth-page.np-auth-recovery .np-recovery-card{
    width:min(480px, calc(100vw - 22px)) !important;
    max-height:calc(100svh - 14px) !important;
    padding:28px 20px 24px !important;
  }
  .np-auth-page.np-auth-recovery .np-recovery-head h1{font-size:36px !important;}
  .np-auth-page.np-auth-recovery .np-recovery-head p{font-size:14px !important;}
  .np-auth-page.np-auth-recovery .np-recovery-code{font-size:15px;min-height:54px;}
  .np-auth-page.np-auth-recovery .np-recovery-actions-row{flex-direction:column;}
}

/* v142 — all secondary auth pages (forgot/recover/reset/2FA/verify/message) use the same Neon Pulsar auth background. */
html:has(.auth-wrapper),
html:has(.auth-wrapper) body,
html:has(.auth-wrapper) .app-root{
  width:100% !important;
  min-width:100% !important;
  min-height:100svh !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#02050d !important;
}
html:has(.auth-wrapper) .app-root{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100svh !important;
  overflow:hidden !important;
}
.auth-wrapper{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100svh !important;
  min-height:100svh !important;
  margin:0 !important;
  padding:22px !important;
  display:grid !important;
  place-items:center !important;
  overflow:auto !important;
  isolation:isolate !important;
  background:#02050d !important;
}
.auth-wrapper::before,
.auth-wrapper::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
}
.auth-wrapper::before{
  z-index:-2;
  background:
    radial-gradient(circle at 23% 51%, rgba(255,0,166,.46) 0%, rgba(255,0,166,.25) 13%, rgba(255,0,166,.11) 26%, transparent 43%),
    radial-gradient(circle at 78% 51%, rgba(0,166,255,.46) 0%, rgba(0,166,255,.25) 14%, rgba(0,166,255,.11) 27%, transparent 44%),
    radial-gradient(circle at 50% 52%, rgba(110,45,255,.15), transparent 45%),
    linear-gradient(90deg, rgba(255,255,255,.018) 0 1px, transparent 1px 74px),
    linear-gradient(180deg, #02050d 0%, #030717 52%, #04162a 100%) !important;
}
.auth-wrapper::after{
  z-index:-1;
  background:
    radial-gradient(ellipse 34% 17% at 23% 51%, transparent 0 76%, rgba(255,58,205,.88) 77%, rgba(255,58,205,.38) 78.2%, transparent 80%),
    radial-gradient(ellipse 34% 17% at 78% 51%, transparent 0 76%, rgba(0,196,255,.88) 77%, rgba(0,196,255,.38) 78.2%, transparent 80%),
    radial-gradient(circle at 50% 50%, transparent 0 34%, rgba(0,0,0,.18) 58%, rgba(0,0,0,.74) 100%) !important;
}
.auth-wrapper > .auth-card:not(.np-auth-card),
.auth-wrapper .auth-card.glass-card{
  width:min(600px, calc(100vw - 34px)) !important;
  max-height:calc(100svh - 34px) !important;
  overflow:auto !important;
  box-sizing:border-box !important;
  padding:38px 42px 34px !important;
  border-radius:31px !important;
  text-align:left;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,52,208,.15), transparent 31%),
    radial-gradient(circle at 86% 0%, rgba(0,196,255,.15), transparent 34%),
    linear-gradient(180deg, rgba(5,9,22,.78), rgba(2,6,17,.94)) padding-box,
    linear-gradient(135deg, #ff28d4 0%, #7d48ff 46%, #00d3ff 100%) border-box !important;
  border:2px solid transparent !important;
  box-shadow:
    0 32px 92px rgba(0,0,0,.72),
    0 0 34px rgba(255,40,212,.34),
    0 0 38px rgba(0,211,255,.28),
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -60px 90px rgba(0,0,0,.22) !important;
  backdrop-filter:blur(8px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(8px) saturate(1.12) !important;
  scrollbar-width:thin;
  scrollbar-color:rgba(0,212,255,.50) rgba(255,255,255,.05);
}
.auth-wrapper .auth-card.glass-card::-webkit-scrollbar{width:10px;}
.auth-wrapper .auth-card.glass-card::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px;}
.auth-wrapper .auth-card.glass-card::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(255,33,201,.70),rgba(0,212,255,.72));border-radius:999px;}
.auth-wrapper .np-wrap.np-img,
.auth-wrapper > .auth-card:not(.np-auth-card) .np-wrap.np-img{
  width:134px !important;
  height:134px !important;
  margin:0 auto 20px !important;
  display:grid !important;
  place-items:center !important;
  filter:drop-shadow(0 0 18px rgba(255,35,200,.30)) drop-shadow(0 0 20px rgba(0,188,255,.26)) !important;
}
.auth-wrapper .np-logo-img,
.auth-wrapper > .auth-card:not(.np-auth-card) .np-logo-img{
  width:134px !important;
  height:134px !important;
  object-fit:cover !important;
  display:block !important;
  margin:0 auto !important;
  border-radius:24px !important;
  box-shadow:0 12px 28px rgba(0,0,0,.42) !important;
}
.auth-wrapper .auth-title{
  margin:0 0 12px !important;
  text-align:center !important;
  font-size:44px !important;
  line-height:.98 !important;
  letter-spacing:-.055em !important;
  font-weight:1000 !important;
  color:#fff !important;
  text-shadow:0 0 18px rgba(255,255,255,.13) !important;
}
.auth-wrapper .auth-subtitle,
.auth-wrapper .auth-help{
  color:rgba(230,238,255,.76) !important;
  font-size:15px !important;
  line-height:1.5 !important;
  font-weight:650 !important;
}
.auth-wrapper .auth-form{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  margin-top:20px !important;
}
.auth-wrapper .auth-form label{
  margin:0 0 -6px !important;
  color:rgba(235,241,255,.82) !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
}
.auth-wrapper .auth-form input,
.auth-wrapper .auth-form textarea,
.auth-wrapper .auth-form select,
.auth-wrapper .auth-input,
.auth-wrapper .pw-wrap input{
  box-sizing:border-box !important;
  width:100% !important;
  min-height:62px !important;
  height:62px !important;
  padding:0 18px !important;
  border-radius:17px !important;
  border:1px solid rgba(75,115,202,.72) !important;
  outline:0 !important;
  background:rgba(3,8,22,.84) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055), 0 9px 24px rgba(0,0,0,.18) !important;
  color:#f7fbff !important;
  -webkit-text-fill-color:#f7fbff !important;
  font-size:16px !important;
  font-weight:650 !important;
  caret-color:#20d4ff !important;
}
.auth-wrapper .auth-form textarea{
  height:auto !important;
  min-height:120px !important;
  padding:16px 18px !important;
}
.auth-wrapper .pw-wrap{
  position:relative !important;
  display:block !important;
  width:100% !important;
}
.auth-wrapper .pw-wrap input{padding-right:58px !important;}
.auth-wrapper .pw-eye{
  position:absolute !important;
  right:12px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid rgba(255,255,255,.06) !important;
  border-radius:13px !important;
  background:rgba(255,255,255,.055) !important;
  color:rgba(240,246,255,.82) !important;
  font-size:15px !important;
  padding:0 !important;
}
.auth-wrapper .auth-form input:focus,
.auth-wrapper .auth-form textarea:focus,
.auth-wrapper .auth-form select:focus,
.auth-wrapper .pw-wrap:focus-within input{
  border-color:#16d7ff !important;
  box-shadow:0 0 0 1px rgba(255,40,212,.64),0 0 22px rgba(255,40,212,.25),0 0 24px rgba(0,211,255,.22),inset 0 1px 0 rgba(255,255,255,.07) !important;
}
.auth-wrapper .auth-form input::placeholder,
.auth-wrapper .auth-form textarea::placeholder{
  color:rgba(226,235,255,.70) !important;
  -webkit-text-fill-color:rgba(226,235,255,.70) !important;
}
.auth-wrapper .btn-primary,
.auth-wrapper .btn-secondary,
.auth-wrapper button[type="submit"]{
  width:100% !important;
  min-height:62px !important;
  border-radius:17px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:17px !important;
  font-weight:950 !important;
  cursor:pointer !important;
  text-decoration:none !important;
}
.auth-wrapper .btn-primary,
.auth-wrapper button[type="submit"]{
  background:linear-gradient(90deg,#ff16c8 0%,#7d3dff 47%,#00d4ff 100%) !important;
  box-shadow:0 0 26px rgba(255,22,200,.42),0 0 30px rgba(0,212,255,.34),inset 0 1px 0 rgba(255,255,255,.30) !important;
}
.auth-wrapper .btn-secondary{
  background:linear-gradient(135deg, rgba(255,31,201,.14), rgba(12,140,255,.12)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 22px rgba(0,0,0,.14) !important;
}
.auth-wrapper .auth-alt{
  margin-top:18px !important;
  text-align:center !important;
  color:rgba(228,235,250,.78) !important;
  font-weight:750 !important;
}
.auth-wrapper a{
  color:#14c9ff !important;
  text-decoration:none !important;
  font-weight:900 !important;
  text-shadow:0 0 12px rgba(20,201,255,.24) !important;
}
.auth-wrapper a:hover{text-decoration:underline !important;}
.auth-wrapper .pw-rules{
  margin:-4px 0 0 !important;
  padding:12px 14px !important;
  border-radius:14px !important;
  background:rgba(2,8,21,.48) !important;
  border:1px solid rgba(255,255,255,.07) !important;
  color:rgba(226,235,255,.68) !important;
  font-size:12px !important;
  font-weight:750 !important;
}
.auth-wrapper .pw-meter,
.auth-wrapper .pw-meter[data-pw-meter]{
  display:block !important;
  width:100% !important;
  min-height:58px !important;
  padding:12px 14px 14px !important;
  border-radius:16px !important;
  background:rgba(2,8,21,.62) !important;
  border:1px solid rgba(78,112,190,.34) !important;
}
@media (max-width:680px){
  .auth-wrapper{padding:14px !important;}
  .auth-wrapper > .auth-card:not(.np-auth-card),
  .auth-wrapper .auth-card.glass-card{
    width:min(480px, calc(100vw - 22px)) !important;
    max-height:calc(100svh - 14px) !important;
    padding:28px 20px 24px !important;
  }
  .auth-wrapper .np-wrap.np-img,
  .auth-wrapper .np-logo-img{width:118px !important;height:118px !important;}
  .auth-wrapper .auth-title{font-size:34px !important;}
}
