/* ARGEMS Access. Scoped presentation only; shared tokens match Header R23 / Footer R4. */
.ag-auth {
  --aga-blue: var(--argems-primary, #064787);
  --aga-ink: var(--argems-text, #172b46);
  --aga-muted: #5e7085;
  --aga-line: var(--argems-line, #e2e7ee);
  --aga-error: #b32336;
  width: min(1184px, calc(100% - 96px));
  margin: 56px auto 64px;
  color: var(--aga-ink);
  font: 400 14px/1.5 var(--argems-font, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  color-scheme: light;
}
.ag-auth *, .ag-auth *::before, .ag-auth *::after { box-sizing: border-box; }
.ag-auth [hidden] { display: none !important; }
.ag-auth :where(h1, h2, h3, p, form) { margin: 0; }
.ag-auth :where(input, select, textarea, button) { font: inherit; }
.ag-auth :where(a, button, input, select, textarea) { -webkit-tap-highlight-color: transparent; }
.ag-auth a { color: var(--aga-blue); text-decoration: none; font-weight: 600; }
.ag-auth a:hover { text-decoration: underline; text-underline-offset: 4px; }
.ag-auth :where(a, button):focus-visible { outline: 2px solid #5181ad; outline-offset: 3px; }
.ag-auth :where(h1, h2)[tabindex="-1"]:focus { outline: none; }
.ag-auth__card { overflow: clip; border: 1px solid #dce4ee; border-radius: 12px; background: #fff; box-shadow: 0 12px 36px #172b4609; }
.ag-auth__icon { width: 20px; height: 20px; flex: 0 0 20px; }
.ag-auth__eyebrow { margin-bottom: 12px; color: var(--aga-blue); font-size: 11px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; }
.ag-auth h1 { font-size: 34px; font-weight: 650; line-height: 1.2; letter-spacing: -1px; }
.ag-auth__intro { margin-top: 12px; color: var(--aga-muted); font-size: 16px; }
.ag-auth__login { display: grid; grid-template-columns: 1.08fr 1fr; }
.ag-auth__login-body { padding: 48px 56px; }
.ag-auth__login-form { display: grid; gap: 22px; margin-top: 32px; }
.ag-auth__mobile-signup { display: none; }
.ag-auth__field { min-width: 0; }
.ag-auth__field > label { display: flex; align-items: baseline; gap: 4px; margin-bottom: 8px; font-size: 13px; font-weight: 600; }
.ag-auth__required { color: var(--aga-error); }
.ag-auth__optional { margin-left: auto; color: var(--aga-muted); font-size: 11px; font-weight: 400; }
.ag-auth__control { position: relative; display: flex; min-width: 0; }
.ag-auth__control :is(input, select, textarea) {
  display: block; width: 100%; min-width: 0; min-height: 48px; margin: 0; padding: 11px 13px;
  border: 1px solid #cbd5e0; border-radius: 6px; background: #fff; color: var(--aga-ink);
  font-size: 16px; line-height: 1.5; box-shadow: none;
}
.ag-auth__control input::placeholder, .ag-auth__control textarea::placeholder { color: #6c7d90; opacity: 1; }
.ag-auth__control select { padding-right: 30px; cursor: pointer; }
.ag-auth__control textarea { min-height: 144px; resize: vertical; }
.ag-auth__control :is(input, select, textarea):hover { border-color: #879eb5; }
.ag-auth__control :is(input, select, textarea):focus { outline: none; border-color: var(--aga-blue); box-shadow: 0 0 0 2px #06478714; }
.ag-auth__control :is(input, select, textarea)[aria-invalid="true"] { border-color: var(--aga-error); }
.ag-auth__control :is(input, select, textarea)[aria-invalid="true"]:focus { box-shadow: 0 0 0 2px #b3233612; }
.ag-auth__input-icon { position: absolute; z-index: 1; top: 50%; left: 14px; display: flex; transform: translateY(-50%); color: var(--aga-blue); pointer-events: none; }
.ag-auth__control:has(.ag-auth__input-icon) input { padding-left: 44px; }
.ag-auth__control:has(.ag-auth__reveal:not([hidden])) input { padding-right: 52px; }
.ag-auth__reveal { position: absolute; inset: 2px 2px 2px auto; display: grid; place-items: center; width: 44px; padding: 0; border: 0; border-radius: 4px; color: #597089; background: transparent; cursor: pointer; }
.ag-auth__reveal:hover { color: var(--aga-blue); background: #f1f5f9; }
.ag-auth__reveal:focus-visible { outline-offset: -3px; }
.ag-auth__eye-slash { display: none; }
.ag-auth__reveal[aria-pressed="true"] .ag-auth__eye-slash { display: initial; }
.ag-auth__control--phone select { flex: 0 0 124px; width: 124px; padding: 11px 8px 11px 12px; border-radius: 6px 0 0 6px; }
.ag-auth__control--phone input { margin-left: -1px; border-radius: 0 6px 6px 0; }
.ag-auth__control--phone :focus { position: relative; z-index: 1; }
.ag-auth__hint { margin-top: 6px; color: var(--aga-muted); font-size: 12px; }
.ag-auth__error { margin-top: 6px; color: var(--aga-error); font-size: 12px; }
.ag-auth__alert ul { margin: 0; padding: 0; list-style: none; }
.ag-auth__login-options { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; font-size: 13px; }
.ag-auth__remember { display: inline-flex; align-items: center; gap: 9px; min-height: 36px; cursor: pointer; }
.ag-auth__remember input { width: 17px; height: 17px; margin: 0; accent-color: var(--aga-blue); }
.ag-auth__button {
  display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 24px;
  padding: 11px 20px; border: 1px solid transparent; border-radius: 6px; font-size: 14px; font-weight: 600;
  line-height: 1.5; text-align: center; cursor: pointer;
}
.ag-auth a.ag-auth__button:hover { text-decoration: none; }
.ag-auth .ag-auth__button--primary { color: #fff; background: var(--aga-blue); }
.ag-auth__button--primary:hover { background: #05396d; }
.ag-auth__login-form > .ag-auth__button { justify-content: space-between; margin-top: 0; }
.ag-auth__join { display: flex; flex-direction: column; padding: 48px 44px; color: #fff; background: var(--aga-blue); }
.ag-auth__join .ag-auth__eyebrow, .ag-auth__rail .ag-auth__eyebrow { color: #bdd5ee; }
.ag-auth__join h2 { font-size: 28px; line-height: 1.25; font-weight: 600; letter-spacing: -.6px; }
.ag-auth__join-intro { margin-top: 12px; color: #d0e0f0; font-size: 15px; }
.ag-auth__benefits { display: grid; gap: 24px; margin: 32px 0; padding: 0; list-style: none; }
.ag-auth__benefits li { display: flex; align-items: flex-start; gap: 16px; }
.ag-auth__feature-icon { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border: 1px solid #ffffff29; border-radius: 8px; color: #d3e7fb; background: #ffffff07; }
.ag-auth__benefits h3 { margin: 0 0 4px; font-size: 14px; font-weight: 600; }
.ag-auth__benefits p { color: #d0e0f0; font-size: 13px; line-height: 1.65; }
.ag-auth a.ag-auth__button--inverse { justify-content: space-between; margin-top: auto; border-color: #ffffff5c; color: #fff; background: #ffffff06; }
.ag-auth a.ag-auth__button--inverse:hover { background: #ffffff12; border-color: #a9c6e2; }
.ag-auth__join a:focus-visible, .ag-auth__rail a:focus-visible { outline-color: #c6def6; }
.ag-auth__register { display: grid; grid-template-columns: 280px minmax(0, 1fr); margin-top: 32px; }
.ag-auth[data-enhanced] .ag-auth__register { margin-top: 0; }
.ag-auth__rail { display: flex; flex-direction: column; padding: 36px 28px; background: var(--aga-blue); color: #fff; }
.ag-auth__rail h1 { font-size: 28px; line-height: 1.3; letter-spacing: -.6px; }
.ag-auth__rail-intro { margin-top: 12px; font-size: 13px; color: #d0e0f0; }
.ag-auth__steps { display: grid; gap: 0; margin: 32px 0 36px; padding: 0; list-style: none; }
.ag-auth__steps li { position: relative; display: flex; align-items: flex-start; gap: 12px; padding: 0 0 28px; color: #c8dbef; }
.ag-auth__steps li:last-child { padding-bottom: 0; }
.ag-auth__steps li:not(:last-child)::after { content: ""; position: absolute; top: 39px; bottom: 7px; left: 16px; width: 1px; background: #ffffff29; }
.ag-auth__step-number { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; border: 1px solid #ffffff4f; border-radius: 50%; font-size: 13px; font-weight: 600; }
.ag-auth__step-number .ag-auth__icon { display: none; width: 16px; height: 16px; }
.ag-auth__step-copy { padding-top: 2px; }
.ag-auth__step-copy strong { display: block; font-size: 13px; line-height: 1.45; font-weight: 500; }
.ag-auth__step-short { display: none; }
.ag-auth__step-copy small { display: block; margin-top: 4px; font-size: 12px; color: #bbd2e9; }
.ag-auth__steps [aria-current="step"] { color: #fff; }
.ag-auth__steps [aria-current="step"] strong { font-weight: 700; }
.ag-auth__steps [aria-current="step"] .ag-auth__step-number { background: #fff; color: var(--aga-blue); border-color: #fff; }
.ag-auth__steps [data-complete] .ag-auth__step-number { border-color: #7fadcf; background: #ffffff12; color: #fff; }
.ag-auth__steps [data-complete] .ag-auth__step-number > span { display: none; }
.ag-auth__steps [data-complete] .ag-auth__step-number .ag-auth__icon { display: block; }
.ag-auth__rail-login { display: grid; gap: 8px; margin-top: auto; padding-top: 24px; border-top: 1px solid #ffffff29; font-size: 12px; color: #c8dbef; }
.ag-auth__rail-login a { display: inline-flex; align-items: center; justify-content: space-between; width: fit-content; min-height: 30px; gap: 16px; color: #fff; font-size: 14px; }
.ag-auth__register-form { display: flex; flex-direction: column; min-width: 0; }
.ag-auth__step { padding: 36px 40px 40px; }
.ag-auth__step-heading { margin-bottom: 28px; }
.ag-auth__step-heading .ag-auth__eyebrow { margin-bottom: 8px; }
.ag-auth__step-heading h2 { font-size: 25px; font-weight: 650; line-height: 1.3; letter-spacing: -.5px; }
.ag-auth__step-heading > p:last-child { margin-top: 8px; color: var(--aga-muted); font-size: 14px; }
.ag-auth__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 20px; }
.ag-auth__fields--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ag-auth__field--full { grid-column: 1 / -1; }
.ag-auth__field--end { grid-column: -2 / -1; }
.ag-auth__policy { display: flex; gap: 12px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--aga-line); color: var(--aga-muted); }
.ag-auth__policy-icon { margin-top: 2px; color: var(--aga-blue); }
.ag-auth__policy h3 { margin-bottom: 8px; font-size: 13px; font-weight: 600; color: var(--aga-ink); }
.ag-auth__policy ul { display: grid; gap: 6px; margin: 0; padding-left: 16px; font-size: 12px; line-height: 1.6; }
.ag-auth__confirmation { display: flex; gap: 14px; margin-top: 24px; padding: 18px; border: 1px solid var(--aga-line); border-radius: 8px; background: #f7f9fc; }
.ag-auth__confirmation .ag-auth__feature-icon { border-color: #dbe5ef; color: var(--aga-blue); background: #edf3f9; }
.ag-auth__confirmation h3 { margin-bottom: 4px; font-size: 13px; font-weight: 600; }
.ag-auth__confirmation p { color: var(--aga-muted); font-size: 12px; line-height: 1.65; }
.ag-auth__wizard-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: auto; padding: 22px 40px; border-top: 1px solid var(--aga-line); }
.ag-auth__wizard-footer .ag-auth__button--primary { margin-left: auto; min-width: 156px; justify-content: space-between; }
.ag-auth__required-note { color: var(--aga-muted); font-size: 12px; }
.ag-auth__button--back { justify-content: flex-start; gap: 8px; padding-inline: 0 12px; background: transparent; color: var(--aga-blue); }
.ag-auth__button--back:hover { text-decoration: underline; text-underline-offset: 4px; }
.ag-auth__alert { padding: 12px 14px; border: 1px solid #e7c2c9; border-radius: 6px; background: #fff6f7; color: var(--aga-error); font-size: 13px; }
.ag-auth__register-alert { margin: 24px 40px 0; }
.ag-auth__recovery { width: min(100%, 600px); margin: 32px auto 0; padding: 40px; }
.ag-auth[data-enhanced] .ag-auth__recovery { margin-top: 0; }
.ag-auth__recovery-icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 24px; border: 1px solid #dbe5ef; border-radius: 8px; background: #edf3f9; color: var(--aga-blue); }
.ag-auth__recovery h1 { font-size: 29px; letter-spacing: -.7px; }
.ag-auth__recovery .ag-auth__intro { margin-top: 16px; font-size: 14px; line-height: 1.7; }
.ag-auth__recovery-form { display: grid; gap: 24px; margin-top: 28px; }
.ag-auth__recovery-form > .ag-auth__button { justify-content: space-between; gap: 12px; }
.ag-auth__recovery-back { display: flex; justify-content: center; align-items: center; gap: 8px; min-height: 44px; margin-top: 12px; font-size: 13px; }
.ag-auth__recovery-back .ag-auth__icon { width: 16px; height: 16px; flex-basis: 16px; }
.ag-auth__recovery-note { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--aga-line); color: var(--aga-muted); font-size: 12px; line-height: 1.65; }
.ag-auth__recovery-result { margin-top: 24px; padding: 20px; border: 1px solid #dbe5ef; border-radius: 8px; background: #f5f8fc; }
.ag-auth__recovery-result h2 { font-size: 18px; font-weight: 600; }
.ag-auth__recovery-result > p { margin-top: 10px; color: var(--aga-muted); font-size: 14px; line-height: 1.65; }
.ag-auth__recovery-result > .ag-auth__hint { font-size: 12px; }
.ag-auth__sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 1050px) {
  .ag-auth { width: calc(100% - 48px); margin-block: 36px 48px; }
  .ag-auth__login-body, .ag-auth__join { padding: 36px 32px; }
  .ag-auth__register { grid-template-columns: 240px minmax(0, 1fr); }
  .ag-auth__rail { padding: 30px 24px; }
  .ag-auth__step { padding: 30px 28px; }
  .ag-auth__wizard-footer { padding: 20px 28px; }
  .ag-auth__fields--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .ag-auth__register { grid-template-columns: minmax(0, 1fr); }
  .ag-auth__rail { padding: 26px 28px 24px; }
  .ag-auth__rail h1 { font-size: 25px; }
  .ag-auth__desktop-break { display: none; }
  .ag-auth__rail .ag-auth__eyebrow, .ag-auth__rail-intro, .ag-auth__step-copy small { display: none; }
  .ag-auth__steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 24px 0 20px; }
  .ag-auth__steps li { display: flex; flex-direction: column; padding: 0; gap: 8px; }
  .ag-auth__steps li:not(:last-child)::after { top: 16px; left: 44px; right: 0; bottom: auto; width: auto; height: 1px; }
  .ag-auth__step-copy strong { font-size: 11px; }
  .ag-auth__step-long { display: none; }
  .ag-auth__step-short { display: inline; }
  .ag-auth__rail-login { display: flex; align-items: center; gap: 10px; margin: 0; padding-top: 14px; }
  .ag-auth__rail-login a { font-size: 12px; }
  .ag-auth__rail-login .ag-auth__icon { width: 16px; height: 16px; }
}
@media (max-width: 660px) {
  .ag-auth { width: calc(100% - 32px); margin-block: 24px 32px; }
  .ag-auth__card { border-radius: 10px; }
  .ag-auth__login { grid-template-columns: minmax(0, 1fr); }
  .ag-auth__login-body { padding: 30px 24px; }
  .ag-auth h1 { font-size: 29px; }
  .ag-auth__intro { font-size: 14px; }
  .ag-auth__login-form { margin-top: 28px; gap: 20px; }
  .ag-auth__join { display: none; }
  .ag-auth__mobile-signup { display: block; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--aga-line); color: var(--aga-muted); text-align: center; font-size: 13px; line-height: 1.8; }
  .ag-auth__mobile-signup a { display: inline-block; white-space: nowrap; }
  .ag-auth__recovery { padding: 28px 24px; }
  .ag-auth__recovery h1 { font-size: 27px; }
  .ag-auth__rail { padding: 24px 22px 20px; }
  .ag-auth__rail h1 { font-size: 24px; }
  .ag-auth__steps { gap: 8px; }
  .ag-auth__step { padding: 26px 22px; }
  .ag-auth__step-heading h2 { font-size: 22px; }
  .ag-auth__fields, .ag-auth__fields--three { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .ag-auth__wizard-footer { padding: 18px 22px; gap: 12px; }
  .ag-auth__wizard-footer:has([data-step-back]:not([hidden])) .ag-auth__required-note { display: none; }
  .ag-auth__wizard-footer .ag-auth__button--primary { min-width: 148px; gap: 16px; }
  .ag-auth__register-alert { margin: 22px 22px 0; }
}
@media (forced-colors: active) {
  .ag-auth__steps [aria-current="step"] .ag-auth__step-number { outline: 2px solid Highlight; outline-offset: 2px; }
}
