.field-shell{ position:relative; display:flex; align-items:center; }
.field-icon{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  color:var(--text-muted);
  pointer-events:none;
}
.field-shell input[type="text"],
.field-shell input[type="password"]{ padding-left:38px; }
#password{ padding-right:64px; }
.toggle-pw{
  position:absolute;
  right:6px;
  background:none;
  border:none;
  color:var(--text-secondary);
  font-size:12.5px;
  cursor:pointer;
  padding:8px 10px;
  min-height:32px;
  border-radius:6px;
  font-family:'Poppins',sans-serif;
}
.toggle-pw:hover{ color:var(--text-primary); }
.toggle-pw:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(138,63,232,0.25);
}
.row-between{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:2px 0 24px;
}
.remember{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--text-secondary); cursor:pointer; }
.remember input{ width:17px;height:17px; accent-color:var(--purple); cursor:pointer; }
.row-between a{ font-size:13px; color:var(--purple); text-decoration:none; font-weight:500; border-radius:4px; }
.row-between a:hover{ text-decoration:underline; }
.row-between a:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(138,63,232,0.25);
}
.status-banner{
  display:none;
  background:rgba(138,63,232,0.08);
  color:#5A2FA0;
  font-size:13px;
  padding:10px 14px;
  border-radius:8px;
  margin-bottom:18px;
  border:1px solid rgba(138,63,232,0.18);
  text-align:center;
}
.auth-error{
  display:none;
  background:rgba(208,70,63,0.08);
  color:var(--danger);
  font-size:13px;
  padding:10px 14px;
  border-radius:8px;
  margin-bottom:18px;
  border:1px solid rgba(208,70,63,0.2);
}

@media (prefers-reduced-motion: reduce){
  .toggle-pw, .row-between a{ transition:none; }
}
