/* ASNET auth — login, signup, password reset. One focused, uncluttered
 * card; no marketing, no split-screen hero. */

.asnet-auth {
  width: 100%;
  max-width: 420px;
}
.asnet-auth--wide { max-width: 640px; }

.asnet-auth__head { text-align: center; margin-bottom: var(--asnet-space-lg); }
.asnet-auth__head h1 { font-size: var(--asnet-fs-xl); margin-bottom: 6px; }
.asnet-auth__head p { color: var(--asnet-text-muted); margin: 0; }

.asnet-auth__card {
  background: var(--asnet-surface-elevated);
  border: 1px solid var(--asnet-border);
  border-radius: var(--asnet-radius-lg);
  box-shadow: var(--asnet-shadow-soft);
  padding: var(--asnet-space-lg);
}
@media (max-width: 429.98px) {
  .asnet-auth__card { padding: var(--asnet-space-md); border-radius: var(--asnet-radius-md); }
}

.asnet-auth__card--center { text-align: center; }
.asnet-auth__card--center .asnet-alert { text-align: left; }

.asnet-auth__foot {
  text-align: center;
  margin-top: var(--asnet-space-md);
  font-size: var(--asnet-fs-sm);
  color: var(--asnet-text-muted);
}
.asnet-auth__foot a { font-weight: 600; }

.asnet-auth__row { display: flex; align-items: center; justify-content: space-between; gap: var(--asnet-space-sm); margin-top: -4px; margin-bottom: var(--asnet-space-sm); }
.asnet-auth__row .asnet-btn--link { font-size: var(--asnet-fs-xs); }

.asnet-auth__divider {
  display: flex;
  align-items: center;
  gap: var(--asnet-space-sm);
  color: var(--asnet-text-muted);
  font-size: var(--asnet-fs-xs);
  margin: var(--asnet-space-md) 0;
}
.asnet-auth__divider::before, .asnet-auth__divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--asnet-border);
}

.asnet-auth__status-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--asnet-space-md);
}
.asnet-auth__status-icon .asnet-icon { width: 26px; height: 26px; }
.asnet-auth__status-icon--success { background: var(--asnet-success-bg); color: var(--asnet-success); }
.asnet-auth__status-icon--info { background: var(--asnet-info-bg); color: var(--asnet-info); }
.asnet-auth__status-icon--warning { background: var(--asnet-warning-bg); color: var(--asnet-warning); }

/* SIGNUP-01 — required-field legend above the signup card. */
.asnet-required-legend {
  max-width: 640px;
  margin: 0 auto var(--asnet-space-sm);
  text-align: right;
}

/* SIGNUP-01 — company account-type toggle and company-details section.
 * Hidden by default; signup.js (initAccountTypeToggle) adds/removes
 * .is-visible to match the checkbox state and keeps the `required`
 * attributes and the submitted `type` value in sync with it. */
.asnet-account-type-field { margin: var(--asnet-space-md) 0; }
.asnet-company-section { display: none; }
.asnet-company-section.is-visible { display: block; }

/* SIGNUP-01 — password strength meter (signup password field only). */
.asnet-password-meter { margin-top: 8px; }
.asnet-password-meter__label {
  display: block;
  font-size: var(--asnet-fs-xs);
  color: var(--asnet-text-muted);
  margin-bottom: 4px;
}
.asnet-password-meter__track {
  height: 6px;
  border-radius: var(--asnet-radius-full);
  background: var(--asnet-border);
  overflow: hidden;
}
.asnet-password-meter__bar {
  height: 100%;
  width: 0;
  border-radius: var(--asnet-radius-full);
  transition: width 0.15s ease, background-color 0.15s ease;
}
.asnet-password-meter__bar--weak { background: var(--asnet-danger); }
.asnet-password-meter__bar--medium { background: var(--asnet-warning); }
.asnet-password-meter__bar--strong { background: var(--asnet-success); }
.asnet-password-meter__status {
  font-size: var(--asnet-fs-xs);
  color: var(--asnet-text-muted);
  margin: 4px 0 0;
  min-height: 1em;
}

/* SIGNUP-01 — billing-address preference radios inside the company section. */
[data-billing-preference] .asnet-radio { margin-top: 8px; }
