/* NanoSys Chat Phase A — login/profile visual polish only. Authentication logic is unchanged. */
body.ns-r4-final .auth-screen{
  min-height:100dvh;
  display:grid;
  place-items:center;
  padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 78% 14%,rgba(254,90,3,.24),transparent 22%),
    radial-gradient(circle at 18% 2%,rgba(255,255,255,.12),transparent 20%),
    linear-gradient(152deg,#01152D 0%,#052D51 42%,#eef2f6 42.2%,#f8fafc 100%);
}
body.ns-r4-final .auth-card{
  position:relative;
  width:min(386px,calc(100vw - 28px));
  margin:0;
  padding:28px 24px 24px;
  overflow:hidden;
  border:0!important;
  border-radius:28px;
  background:rgba(255,255,255,.985);
  box-shadow:0 28px 80px rgba(1,21,45,.28),0 2px 8px rgba(1,21,45,.08)!important;
  text-align:center;
}
body.ns-r4-final .auth-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,#FE5A03,#ff8a4c 45%,#FE5A03);
}
body.ns-r4-final .auth-logo{
  width:72px;
  height:72px;
  margin:2px auto 16px;
  padding:6px;
  border:1px solid #e8edf2;
  border-radius:22px;
  background:#fff;
  box-shadow:0 10px 28px rgba(1,21,45,.08);
}
body.ns-r4-final .auth-logo img{width:100%;height:100%;object-fit:contain}
body.ns-r4-final .auth-card h1{
  margin:0 0 8px;
  color:#01152D;
  font-size:27px;
  font-weight:900;
  letter-spacing:-.7px;
}
body.ns-r4-final .auth-card>p{
  max-width:310px;
  margin:0 auto 22px;
  color:#6c7888;
  font-size:13px;
  line-height:1.85;
}
body.ns-r4-final .auth-card .field{gap:8px;margin:12px 0;text-align:right}
body.ns-r4-final .auth-card .field span{color:#445365;font-size:12px;font-weight:750}
body.ns-r4-final .auth-card .field input{
  height:54px;
  border:1px solid #d9e0e7;
  border-radius:14px;
  background:#fbfcfd;
  color:#10263b;
  font-size:16px;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
body.ns-r4-final .auth-card .field input:focus{
  border-color:#FE5A03;
  background:#fff;
  box-shadow:0 0 0 4px rgba(254,90,3,.10);
}
body.ns-r4-final .auth-card .primary{
  height:52px;
  margin-top:10px;
  border:0;
  border-radius:14px;
  background:linear-gradient(135deg,#FE5A03,#f36b21);
  box-shadow:0 12px 25px rgba(254,90,3,.22);
  color:#fff;
  font-weight:850;
}
body.ns-r4-final .auth-card .primary:hover{filter:brightness(.98)}
body.ns-r4-final .auth-card .ghost{
  height:46px;
  border:1px solid #e2e7ec;
  border-radius:13px;
  background:#fff;
  color:#516071;
}
body.ns-r4-final .auth-foot{
  margin-top:17px;
  padding-top:15px;
  border-top:1px solid #edf1f4;
  color:#8a96a3;
  font-size:11px;
}
body.ns-r4-final .otp-input{direction:ltr;text-align:center;letter-spacing:.32em;font-size:23px!important;font-weight:850}
body.ns-r4-final .profile-avatar-wrap{margin-top:2px}
body.ns-r4-final .profile-avatar{box-shadow:0 10px 24px rgba(1,21,45,.10)}
@media(max-width:520px){
  body.ns-r4-final .auth-screen{
    padding:14px 14px max(14px,env(safe-area-inset-bottom));
    background:linear-gradient(180deg,#01152D 0%,#052D51 28%,#f3f6f9 28.2%,#f7f9fb 100%);
  }
  body.ns-r4-final .auth-card{width:100%;max-width:370px;padding:25px 20px 21px;border-radius:25px}
  body.ns-r4-final .auth-logo{width:66px;height:66px;margin-bottom:14px;border-radius:20px}
  body.ns-r4-final .auth-card h1{font-size:25px}
  body.ns-r4-final .auth-card>p{margin-bottom:19px;font-size:12px}
}
@media(max-height:650px){
  body.ns-r4-final .auth-screen{align-items:start;padding-top:12px}
  body.ns-r4-final .auth-card{padding-top:20px;padding-bottom:18px}
  body.ns-r4-final .auth-logo{width:58px;height:58px;margin-bottom:10px}
  body.ns-r4-final .auth-card>p{margin-bottom:14px;line-height:1.65}
}
