/* Shared password control. Loaded after page bundles so every route uses one contract. */
html body main :is(.auth-shell,.registration-page,.member-page,.auth-page) :is(.form-card,.auth-form) .field .secret-field {
  display:flex;
  align-items:stretch;
  box-sizing:border-box;
  height:48px;
  border:1px solid #766583;
  border-radius:12px;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(107,33,168,.24),rgba(25,14,37,.5));
  box-shadow:none;
}
html body main .registration-page .form-card .field .secret-field { height:54px; }
html body main :is(.auth-shell,.registration-page,.member-page,.auth-page) :is(.form-card,.auth-form) .field .secret-field :is(input,button) {
  box-sizing:border-box;
  height:100%;
  min-height:0;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
html body main :is(.auth-shell,.registration-page,.member-page,.auth-page) :is(.form-card,.auth-form) .field .secret-field input {
  flex:1;
  width:0;
  min-width:0;
  padding:.75rem;
  font-size:1rem;
}
html body main :is(.auth-shell,.registration-page,.member-page,.auth-page) :is(.form-card,.auth-form) .field .secret-field button {
  flex:0 0 6rem;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 .65rem;
  color:var(--g3-muted);
  font:700 .72rem/1 var(--g3-sans);
  letter-spacing:.08em;
}
html body main :is(.auth-shell,.registration-page,.member-page,.auth-page) :is(.form-card,.auth-form) .field .secret-field :is(input,button):is(:focus,:focus-visible,:hover,:active) {
  outline:none;
  border:0;
  background:transparent;
  box-shadow:none;
}
html body main :is(.auth-shell,.registration-page,.member-page,.auth-page) :is(.form-card,.auth-form) .field .secret-field:focus-within {
  border-color:var(--g3-brand-light);
  box-shadow:0 0 0 2px rgba(182,139,221,.2);
}
html body main :is(.auth-shell,.registration-page,.member-page,.auth-page) :is(.form-card,.auth-form) .field .secret-field:has(input[aria-invalid="true"]) { border-color:#ef8e8e; }

