/* NexGen Login Visual Calibration rc270
   Screenshot-driven fixes only. No authentication workflow changes. */

/* 1) Restore strong headline contrast on photographic panel.
   Older global heading rules were overriding the rc269 white title. */
.ps-auth-scene .nxloginStory h1,
.ps-auth-scene .nxloginStory h1:first-line{
  position:static!important;
  display:block!important;
  margin:0 0 14px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:0 3px 18px rgba(0,0,0,.38)!important;
  opacity:1!important;
}
.ps-auth-scene .nxloginStory h1::before,
.ps-auth-scene .nxloginStory h1::after{
  content:none!important;
  display:none!important;
}
.ps-auth-scene .nxloginStory h1 span{
  display:block!important;
  background:linear-gradient(90deg,#24b8ff 0%,#6e80ff 55%,#a267ff 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  color:transparent!important;
  text-shadow:none!important;
}

/* 2) Header containment.
   Prevent legacy/provider/trust labels from escaping the login card. */
.ps-auth-scene .ps-auth-card{
  position:relative!important;
  overflow:hidden!important;
}
.ps-auth-scene .ps-auth-head{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-width:0!important;
  overflow:hidden!important;
}
.ps-auth-scene .ps-auth-head>*{
  min-width:0!important;
}
.ps-auth-scene .ps-auth-provider{
  position:static!important;
  inset:auto!important;
  float:none!important;
  flex:0 1 auto!important;
  max-width:145px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  text-align:right!important;
  color:#655bd6!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:850!important;
}
/* Defensive cleanup for any old absolutely-positioned auth helper copy. */
.ps-auth-scene .ps-auth-head [class*="trust"],
.ps-auth-scene .ps-auth-head [class*="experience"],
.ps-auth-scene .ps-auth-head [class*="authenticated"]{
  position:static!important;
  inset:auto!important;
  max-width:150px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}

/* 3) Correct Remember Me control.
   Override broad global input sizing that turned checkbox into a large square. */
.ps-auth-scene .ps-auth-form input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  display:inline-block!important;
  width:17px!important;
  min-width:17px!important;
  max-width:17px!important;
  height:17px!important;
  min-height:17px!important;
  max-height:17px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #aeb9c9!important;
  border-radius:4px!important;
  box-shadow:none!important;
  background:#fff!important;
  vertical-align:middle!important;
  accent-color:#5d43e6!important;
  flex:0 0 17px!important;
}
.ps-auth-scene .ps-auth-form :is(.ps-auth-row,[class*="remember"],[class*="assist"]){
  min-height:32px!important;
}
.ps-auth-scene .ps-auth-form [class*="remember"]{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  width:auto!important;
  margin:0!important;
  color:#657188!important;
  font-size:12px!important;
  line-height:1.3!important;
  cursor:pointer!important;
}
.ps-auth-scene .ps-auth-form [class*="remember"] span,
.ps-auth-scene .ps-auth-form [class*="remember"] small{
  margin:0!important;
  padding:0!important;
}

/* Common legacy markup: label containing checkbox + text. */
.ps-auth-scene .ps-auth-form label:has(>input[type="checkbox"]){
  display:inline-flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:auto!important;
  min-height:32px!important;
  margin:0!important;
  padding:0!important;
  color:#657188!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:600!important;
}

/* 4) Tighten form rhythm without changing the approved composition. */
.ps-auth-scene .ps-auth-formside{
  padding-top:32px!important;
  padding-bottom:32px!important;
}
.ps-auth-scene .ps-auth-card{
  padding:26px 28px!important;
}
.ps-auth-scene .ps-auth-welcome{
  margin-bottom:15px!important;
}
.ps-auth-scene .ps-auth-portals{
  margin-bottom:12px!important;
}
.ps-auth-scene .ps-auth-context{
  margin-bottom:14px!important;
}
.ps-auth-scene .ps-auth-form{
  gap:12px!important;
}
.ps-auth-scene .ps-auth-card::after{
  margin-top:14px!important;
}

/* Maintain comfortable readable controls. */
.ps-auth-scene .ps-auth-control input:not([type="checkbox"]){
  min-height:50px!important;
  font-size:15px!important;
}
.ps-auth-scene .ps-auth-form button[type="submit"]{
  min-height:50px!important;
}

/* Tablet/mobile containment. */
@media(max-width:700px){
  .ps-auth-scene .nxloginStory h1{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
  .ps-auth-scene .ps-auth-provider{
    max-width:110px!important;
  }
  .ps-auth-scene .ps-auth-card{
    padding:20px!important;
  }
  .ps-auth-scene .ps-auth-control input:not([type="checkbox"]){
    font-size:16px!important;
  }
}
