:root {
  --portal-navy: #00224f;
  --portal-navy-deep: #001633;
  --portal-gold: #c7941b;
  --portal-gold-light: #f0c454;
  --portal-green: #0d6836;
  --portal-green-deep: #064923;
  --portal-ink: #122039;
  --portal-muted: #68768a;
  --portal-surface: #fff;
  --portal-soft: #f4f7f5;
  --portal-border: rgba(0, 34, 79, .12);
  --portal-shadow: 0 22px 65px rgba(0, 34, 79, .12);
  --portal-font: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --portal-display-font: "Manrope", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Admin-controlled brand identity */
.agn-portal-brand span { min-width: 0; }
.agn-portal-brand small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agn-branding-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: 20px; align-items: start; }
.agn-branding-section-title { margin: 25px 0 14px; color: var(--portal-ink); font-size: 15px; }
.agn-branding-colors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.agn-branding-colors > .agn-branding-color-field { display: grid; gap: 8px; color: var(--portal-ink); font-size: 12px; font-weight: 600; }
.agn-branding-contrast-help { display: flex; align-items: center; gap: 8px; margin: 11px 0 0; }
.agn-branding-contrast-help .f7-icons { color: var(--portal-green); font-size: 17px; }
.agn-color-input { display: grid; grid-template-columns: 52px minmax(0, 1fr); overflow: hidden; border: 1px solid var(--portal-border); border-radius: 12px; background: var(--portal-surface); }
.agn-color-input input[type="color"] { width: 52px; height: 46px; padding: 4px; border: 0; background: transparent; cursor: pointer; }
.agn-color-input input[type="text"], .agn-color-input input:not([type]) { min-width: 0; border: 0; border-left: 1px solid var(--portal-border); border-radius: 0; text-transform: uppercase; }
.agn-branding-uploads input[type="file"] { height: auto; min-height: 48px; padding: 9px; }
.agn-brand-preview { position: sticky; top: 92px; overflow: hidden; }
.agn-brand-preview-body { display: flex; flex-direction: column; align-items: center; padding: 28px 23px; text-align: center; }
.agn-brand-preview-body > img { width: 86px; height: 86px; margin-bottom: 16px; object-fit: contain; }
.agn-brand-preview-body h2 { margin: 7px 0 8px; color: var(--portal-navy); font-size: 22px; line-height: 1.2; }
.agn-brand-preview-body p { margin: 0 0 20px; color: var(--portal-muted); font-size: 13px; line-height: 1.55; }
.agn-brand-preview-logo { width: 100%; padding: 16px; margin-bottom: 18px; border: 1px solid var(--portal-border); border-radius: 14px; background: #fff; }
.agn-brand-preview-logo img { width: 100%; max-height: 130px; object-fit: contain; }
.agn-brand-preview-body a { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; margin-top: 3px; padding: 7px 10px; border-radius: 10px; color: var(--portal-green); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.agn-brand-preview-body a:hover,
.agn-brand-preview-body a:focus-visible { background: color-mix(in srgb, var(--portal-green) 8%, transparent); }
.agn-brand-preview-body small { margin-top: 11px; color: var(--portal-muted); line-height: 1.5; }
.agn-brand-preview-swatches { display: flex; gap: 8px; margin-top: 20px; }
.agn-brand-preview-swatches i { width: 42px; height: 12px; border-radius: 999px; box-shadow: 0 0 0 1px var(--portal-border); }
@media (max-width: 980px) { .agn-branding-layout { grid-template-columns: 1fr; } .agn-brand-preview { position: static; } }
@media (max-width: 640px) { .agn-branding-colors { grid-template-columns: 1fr; } .agn-brand-preview-body { padding: 23px 17px; } }

html.dark {
  --portal-ink: #f7f4eb;
  --portal-muted: #aeb9c8;
  --portal-surface: #071a27;
  --portal-soft: #0d2632;
  --portal-border: rgba(255, 255, 255, .1);
  --portal-shadow: 0 22px 65px rgba(0, 0, 0, .35);
}

@font-face {
  font-family: "Inter";
  src: url("../fonts/Google/Inter/Inter-Latin-Variable.woff2") format("woff2");
  font-weight: 400 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Manrope";
  src: url("../fonts/Google/Manrope/Manrope-Latin-Variable.woff2") format("woff2");
  font-weight: 500 800;
  font-style: normal;
  font-display: swap;
}

* { box-sizing: border-box; }
html { color-scheme: light; scroll-behavior: smooth; }
html.dark { color-scheme: dark; }
body { margin: 0; color: var(--portal-ink); background: var(--portal-soft); font-family: var(--portal-font); font-optical-sizing: auto; font-synthesis: none; line-height: 1.5; text-rendering: optimizeLegibility; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
.agn-admin-body :is(h1, h2, h3, h4, h5, h6),
.agn-auth-body :is(h1, h2, h3, h4, h5, h6),
.agn-registration-body :is(h1, h2, h3, h4, h5, h6),
.agn-portal-brand strong,
.agn-admin-breadcrumb strong,
.agn-admin-nav :is(a, button),
.agn-mobile-bottom-nav strong {
  font-family: var(--portal-display-font);
  font-optical-sizing: auto;
  letter-spacing: -.025em;
}
.agn-admin-body :is(h1, h2, h3, h4, h5, h6),
.agn-auth-body :is(h1, h2, h3, h4, h5, h6),
.agn-registration-body :is(h1, h2, h3, h4, h5, h6) { line-height: 1.2; }
.agn-admin-stat strong,
.agn-admin-table,
.agn-wallet-reference,
.agn-stat-code,
input[inputmode="decimal"],
input[inputmode="numeric"] { font-variant-numeric: tabular-nums; }
.f7-icons { font-size: 20px; }
.agn-portal-skip {
  position: fixed;
  z-index: 5000;
  top: 10px;
  left: 10px;
  padding: 11px 15px;
  border-radius: 10px;
  color: #fff;
  background: var(--portal-navy);
  transform: translateY(-150%);
}
.agn-portal-skip:focus { transform: translateY(0); }
.agn-portal-theme,
.agn-portal-icon-button {
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 44px;
  padding: 0;
  border: 1px solid var(--portal-border);
  border-radius: 13px;
  color: var(--portal-ink);
  background: var(--portal-surface);
}
.agn-portal-theme:hover,
.agn-portal-icon-button:hover { border-color: rgba(199, 148, 27, .5); color: var(--portal-gold); }
:is(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--portal-gold-light); outline-offset: 3px; }
.agn-portal-eyebrow { color: var(--portal-gold); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.agn-portal-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 11px;
  border: 1px solid var(--portal-border);
  border-radius: 999px;
  color: var(--portal-muted);
  background: var(--portal-surface);
  font-size: 11px;
  font-weight: 600;
}
.agn-portal-chip .f7-icons { color: var(--portal-green); font-size: 15px; }
.agn-portal-button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: 14px;
  font-weight: 700;
}
.agn-portal-button-primary { color: #fff; background: var(--portal-green); box-shadow: 0 12px 28px rgba(13, 104, 54, .2); }
.agn-portal-button-primary:hover { background: var(--portal-green-deep); transform: translateY(-1px); }
.agn-portal-button-secondary { color: var(--portal-ink); border-color: var(--portal-border); background: var(--portal-surface); }
.agn-portal-button-secondary:hover { border-color: rgba(199, 148, 27, .5); }
.agn-portal-button[disabled] { cursor: not-allowed; opacity: .52; transform: none; }
.agn-portal-note {
  display: flex;
  gap: 10px;
  padding: 13px 15px;
  border: 1px solid rgba(199, 148, 27, .24);
  border-radius: 13px;
  color: var(--portal-muted);
  background: rgba(240, 196, 84, .1);
  font-size: 12px;
  line-height: 1.55;
}
.agn-portal-note .f7-icons { flex: 0 0 auto; color: var(--portal-gold); font-size: 18px; }

/* Registration */
.agn-registration-body { min-height: 100vh; background: radial-gradient(circle at 90% 0%, rgba(13, 104, 54, .1), transparent 34%), var(--portal-soft); }
.agn-portal-header {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 12px max(24px, calc((100vw - 1240px) / 2));
  border-bottom: 1px solid var(--portal-border);
  background: color-mix(in srgb, var(--portal-surface) 92%, transparent);
  backdrop-filter: blur(16px);
}
.agn-portal-brand { display: flex; align-items: center; gap: 11px; min-width: 0; }
.agn-portal-brand img { width: 49px; height: 49px; object-fit: contain; }
.agn-portal-brand span { min-width: 0; }
.agn-portal-brand strong { display: block; color: var(--portal-navy); font-size: 18px; letter-spacing: .035em; }
html.dark .agn-portal-brand strong { color: #fff; }
.agn-portal-brand small { display: block; color: var(--portal-muted); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.agn-portal-header-actions { display: flex; align-items: center; gap: 10px; }
.agn-portal-back { display: inline-flex; align-items: center; gap: 7px; color: var(--portal-muted); font-size: 12px; font-weight: 600; }
.agn-portal-back:hover { color: var(--portal-green); }
.agn-registration-main { width: min(1240px, calc(100% - 48px)); margin: 34px auto 52px; }
.agn-registration-grid { display: grid; grid-template-columns: minmax(310px, .78fr) minmax(0, 1.22fr); gap: 26px; align-items: start; }
.agn-registration-aside {
  position: sticky;
  top: 24px;
  overflow: hidden;
  min-height: 720px;
  padding: clamp(30px, 4vw, 48px);
  border-radius: 28px;
  color: #fff;
  background: linear-gradient(150deg, rgba(0, 34, 79, .96), rgba(0, 22, 51, .99)), url("../img/ai/agn-ai-dealer-growth.jpg") center/cover;
  box-shadow: 0 25px 70px rgba(0, 34, 79, .24);
}
.agn-registration-aside::before,
.agn-registration-aside::after { content: ""; position: absolute; border: 1px solid rgba(240, 196, 84, .15); border-radius: 50%; }
.agn-registration-aside::before { width: 340px; height: 340px; top: -170px; right: -140px; }
.agn-registration-aside::after { width: 210px; height: 210px; top: -100px; right: -80px; }
.agn-registration-aside > * { position: relative; z-index: 1; }
.agn-registration-aside .agn-portal-eyebrow { color: var(--portal-gold-light); }
.agn-registration-aside h1 { max-width: 470px; margin: 14px 0 16px; font-size: clamp(38px, 4vw, 56px); line-height: 1.03; letter-spacing: -.045em; }
.agn-registration-aside > p { max-width: 480px; margin: 0; color: rgba(255, 255, 255, .72); font-size: 15px; line-height: 1.7; }
.agn-registration-benefits { display: grid; gap: 14px; margin: 34px 0; }
.agn-registration-benefits div { display: grid; grid-template-columns: 38px 1fr; gap: 12px; align-items: center; }
.agn-registration-benefits i { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .14); border-radius: 12px; color: var(--portal-gold-light); background: rgba(255, 255, 255, .07); }
.agn-registration-benefits strong { display: block; font-size: 13px; }
.agn-registration-benefits span { display: block; margin-top: 3px; color: rgba(255, 255, 255, .58); font-size: 11px; line-height: 1.45; }
.agn-referral-context { margin-top: 28px; padding: 19px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 18px; background: rgba(255, 255, 255, .07); backdrop-filter: blur(10px); }
.agn-referral-context small { display: block; color: rgba(255, 255, 255, .55); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.agn-referral-context strong { display: flex; align-items: center; gap: 8px; margin-top: 7px; color: var(--portal-gold-light); font-size: 19px; letter-spacing: .035em; }
.agn-referral-context p { margin: 7px 0 0; color: rgba(255, 255, 255, .64); font-size: 11px; line-height: 1.5; }
.agn-registration-support { margin-top: 25px; color: rgba(255, 255, 255, .56); font-size: 11px; }
.agn-registration-support a { display: block; margin-top: 5px; color: #fff; font-weight: 600; }
.agn-registration-card { padding: clamp(26px, 4vw, 46px); border: 1px solid var(--portal-border); border-radius: 28px; background: var(--portal-surface); box-shadow: var(--portal-shadow); }
.agn-registration-heading { display: flex; justify-content: space-between; gap: 18px; align-items: start; }
.agn-registration-heading h2 { margin: 6px 0 7px; font-size: clamp(27px, 3vw, 38px); line-height: 1.1; letter-spacing: -.035em; }
.agn-registration-heading p { margin: 0; color: var(--portal-muted); font-size: 13px; line-height: 1.55; }
.agn-role-badge { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; padding: 9px 12px; border-radius: 999px; color: var(--portal-green); background: rgba(13, 104, 54, .09); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
html.dark .agn-role-badge { color: #74d69b; background: rgba(86, 200, 134, .11); }
.agn-register-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 0; margin: 30px 0; list-style: none; }
.agn-register-steps li { position: relative; min-width: 0; padding-top: 11px; border-top: 3px solid var(--portal-border); color: var(--portal-muted); font-size: 10px; font-weight: 600; }
.agn-register-steps li::before { content: attr(data-step); width: 22px; height: 22px; display: inline-grid; place-items: center; margin-right: 7px; border-radius: 50%; color: var(--portal-muted); background: var(--portal-soft); font-size: 10px; }
.agn-register-steps li.is-active { border-color: var(--portal-gold); color: var(--portal-ink); }
.agn-register-steps li.is-active::before { color: var(--portal-navy-deep); background: var(--portal-gold-light); }
.agn-register-steps li.is-complete { border-color: var(--portal-green); color: var(--portal-green); }
.agn-register-steps li.is-complete::before { content: "\2713"; color: #fff; background: var(--portal-green); }
.agn-registration-panel[hidden] { display: none; }
.agn-registration-panel h3 { margin: 0 0 6px; font-size: 20px; }
.agn-registration-panel > p { margin: 0 0 22px; color: var(--portal-muted); font-size: 12px; line-height: 1.6; }
.agn-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.agn-form-field { min-width: 0; }
.agn-form-field-full { grid-column: 1 / -1; }
.agn-form-field label,
.agn-form-legend { display: block; margin: 0 0 7px; color: var(--portal-ink); font-size: 11px; font-weight: 700; }
.agn-required { color: #b73939; }
.agn-input-wrap { position: relative; }
.agn-input-wrap > .f7-icons { position: absolute; z-index: 1; top: 50%; left: 14px; color: var(--portal-muted); font-size: 17px; transform: translateY(-50%); pointer-events: none; }
.agn-input-wrap input,
.agn-form-field select {
  width: 100%;
  min-height: 50px;
  padding: 0 14px;
  border: 1px solid var(--portal-border);
  border-radius: 13px;
  color: var(--portal-ink);
  background: var(--portal-soft);
  appearance: none;
}
.agn-input-wrap > .f7-icons + input { padding-left: 43px; }
.agn-input-wrap input:focus,
.agn-form-field select:focus { border-color: var(--portal-gold); background: var(--portal-surface); box-shadow: 0 0 0 3px rgba(240, 196, 84, .14); outline: 0; }
.agn-input-wrap input[readonly] { color: var(--portal-muted); cursor: default; }
.agn-input-action { position: absolute; top: 50%; right: 7px; width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 10px; color: var(--portal-muted); background: transparent; transform: translateY(-50%); }
.agn-input-action:hover { color: var(--portal-green); background: var(--portal-surface); }
.agn-input-action .f7-icons { font-size: 17px; }
.agn-password-input { padding-right: 48px !important; }
.agn-field-help { display: block; margin-top: 6px; color: var(--portal-muted); font-size: 10px; line-height: 1.45; }
.agn-referral-status { display: flex; align-items: center; gap: 6px; margin-top: 7px; color: var(--portal-muted); font-size: 10px; }
.agn-referral-status.is-valid { color: var(--portal-green); }
.agn-referral-status.is-invalid { color: #b73939; }
.agn-password-meter { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin-top: 8px; }
.agn-password-meter span { height: 4px; border-radius: 99px; background: var(--portal-border); }
.agn-password-meter[data-strength="1"] span:first-child { background: #c55745; }
.agn-password-meter[data-strength="2"] span:nth-child(-n+2) { background: var(--portal-gold); }
.agn-password-meter[data-strength="3"] span { background: var(--portal-green); }
.agn-error-summary { display: none; margin-bottom: 18px; padding: 13px 15px; border: 1px solid rgba(183, 57, 57, .25); border-radius: 12px; color: #a42b2b; background: rgba(183, 57, 57, .07); font-size: 11px; line-height: 1.5; }
.agn-error-summary.is-visible { display: block; }
.agn-review-card { overflow: hidden; margin-bottom: 18px; border: 1px solid var(--portal-border); border-radius: 16px; }
.agn-review-card header { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; background: var(--portal-soft); }
.agn-review-card header strong { font-size: 12px; }
.agn-review-card header button { padding: 5px 8px; border: 0; color: var(--portal-green); background: transparent; font-size: 10px; font-weight: 700; }
.agn-review-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 20px; padding: 17px 16px; }
.agn-review-list div { min-width: 0; }
.agn-review-list span { display: block; color: var(--portal-muted); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.agn-review-list strong { display: block; overflow-wrap: anywhere; margin-top: 4px; font-size: 12px; }
.agn-consent { display: grid; grid-template-columns: 20px 1fr; gap: 11px; align-items: start; padding: 15px; border: 1px solid var(--portal-border); border-radius: 14px; background: var(--portal-soft); }
.agn-consent input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--portal-green); }
.agn-consent span { color: var(--portal-muted); font-size: 11px; line-height: 1.55; }
.agn-registration-controls { display: flex; justify-content: space-between; gap: 12px; margin-top: 28px; padding-top: 21px; border-top: 1px solid var(--portal-border); }
.agn-registration-controls > div { display: flex; gap: 10px; margin-left: auto; }
.agn-registration-footer { margin-top: 17px; text-align: center; color: var(--portal-muted); font-size: 10px; line-height: 1.55; }
.agn-registration-success { width: min(500px, calc(100% - 28px)); padding: 0; border: 1px solid var(--portal-border); border-radius: 24px; color: var(--portal-ink); background: var(--portal-surface); box-shadow: 0 32px 90px rgba(0, 22, 51, .3); }
.agn-registration-success::backdrop { background: rgba(0, 22, 51, .68); backdrop-filter: blur(6px); }
.agn-registration-success-inner { padding: 34px; text-align: center; }
.agn-registration-success-icon { width: 70px; height: 70px; display: grid; place-items: center; margin: 0 auto 18px; border-radius: 22px; color: #fff; background: var(--portal-green); box-shadow: 0 16px 36px rgba(13, 104, 54, .24); }
.agn-registration-success-icon .f7-icons { font-size: 32px; }
.agn-registration-success h2 { margin: 0 0 10px; font-size: 28px; }
.agn-registration-success p { margin: 0 0 22px; color: var(--portal-muted); font-size: 13px; line-height: 1.65; }

/* Admin dashboard */
.agn-admin-body { min-height: 100vh; background: var(--portal-soft); }
.agn-admin-layout { min-height: 100vh; display: grid; grid-template-columns: 264px minmax(0, 1fr); }
.agn-admin-sidebar { position: sticky; z-index: 100; top: 0; height: 100vh; display: flex; flex-direction: column; overflow-y: auto; padding: 22px 16px; color: #fff; background: linear-gradient(180deg, var(--portal-navy-deep), #002956); }
.agn-admin-sidebar .agn-portal-brand { padding: 0 8px 20px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.agn-admin-sidebar .agn-portal-brand img { width: 48px; height: 48px; padding: 3px; border-radius: 14px; background: #fff; }
.agn-admin-sidebar .agn-portal-brand strong { color: #fff; }
.agn-admin-sidebar .agn-portal-brand small { color: rgba(255, 255, 255, .48); }
.agn-admin-console-label { margin: 20px 10px 9px; color: var(--portal-gold-light); font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.agn-admin-nav { display: grid; gap: 5px; }
.agn-admin-nav a,
.agn-admin-nav button { width: 100%; min-height: 46px; display: flex; align-items: center; gap: 12px; padding: 0 13px; border: 0; border-radius: 12px; color: rgba(255, 255, 255, .64); background: transparent; text-align: left; font-size: 12px; font-weight: 500; }
.agn-admin-nav :is(a, button):hover { color: #fff; background: rgba(255, 255, 255, .07); }
.agn-admin-nav .is-active { color: #fff; background: linear-gradient(100deg, rgba(13, 104, 54, .95), rgba(13, 104, 54, .56)); box-shadow: inset 3px 0 var(--portal-gold-light); }
.agn-admin-nav .f7-icons { width: 22px; color: var(--portal-gold-light); font-size: 18px; }
.agn-admin-nav-tag { margin-left: auto; padding: 4px 6px; border-radius: 6px; color: rgba(255, 255, 255, .55); background: rgba(255, 255, 255, .08); font-size: 7px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.agn-admin-profile { display: grid; grid-template-columns: 38px 1fr auto; gap: 10px; align-items: center; margin-top: auto; padding: 15px 9px 0; border-top: 1px solid rgba(255, 255, 255, .1); }
.agn-admin-avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: var(--portal-navy-deep); background: var(--portal-gold-light); font-size: 12px; font-weight: 800; }
.agn-admin-profile strong { display: block; font-size: 11px; }
.agn-admin-profile small { display: block; margin-top: 2px; color: rgba(255, 255, 255, .46); font-size: 9px; }
.agn-admin-profile .f7-icons { color: rgba(255, 255, 255, .46); font-size: 15px; }
.agn-admin-content { min-width: 0; }
.agn-admin-topbar { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 28px; border-bottom: 1px solid var(--portal-border); background: color-mix(in srgb, var(--portal-surface) 92%, transparent); backdrop-filter: blur(15px); }
.agn-admin-menu { display: none; }
.agn-admin-breadcrumb span { display: block; color: var(--portal-muted); font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.agn-admin-breadcrumb strong { display: block; margin-top: 3px; font-size: 15px; }
.agn-admin-top-actions { display: flex; align-items: center; gap: 9px; }
.agn-admin-status { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 0 12px; border: 1px solid var(--portal-border); border-radius: 11px; color: var(--portal-muted); background: var(--portal-surface); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.agn-admin-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--portal-gold); box-shadow: 0 0 0 4px rgba(240, 196, 84, .14); }
.agn-admin-main { width: min(1500px, 100%); padding: 28px; }
.agn-admin-preview-banner { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; padding: 13px 15px; border: 1px solid rgba(199, 148, 27, .25); border-radius: 14px; color: var(--portal-muted); background: rgba(240, 196, 84, .1); font-size: 11px; line-height: 1.5; }
.agn-admin-preview-banner .f7-icons { color: var(--portal-gold); font-size: 19px; }
.agn-admin-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 23px; }
.agn-admin-heading > div { min-width: 0; }
.agn-admin-heading-actions { display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.agn-admin-heading h1 { margin: 6px 0 7px; font-size: clamp(28px, 3vw, 40px); line-height: 1.06; letter-spacing: -.04em; }
.agn-admin-heading p { margin: 0; color: var(--portal-muted); font-size: 12px; }
.agn-admin-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.agn-admin-stat { min-width: 0; display: flex; flex-direction: column; padding: 19px; border: 1px solid var(--portal-border); border-radius: 17px; background: var(--portal-surface); box-shadow: 0 10px 30px rgba(0, 34, 79, .045); }
.agn-admin-stat-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.agn-admin-stat-icon { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 12px; color: var(--portal-green); background: rgba(13, 104, 54, .09); }
.agn-admin-stat:nth-child(2) .agn-admin-stat-icon { color: var(--portal-gold); background: rgba(240, 196, 84, .13); }
.agn-admin-stat:nth-child(3) .agn-admin-stat-icon { color: #2c6ca6; background: rgba(44, 108, 166, .09); }
.agn-admin-stat:nth-child(4) .agn-admin-stat-icon { color: #8555a1; background: rgba(133, 85, 161, .09); }
.agn-stat-trend { color: var(--portal-green); font-size: 9px; font-weight: 700; }
.agn-admin-stat > strong { display: block; margin: 17px 0 4px; font-size: 28px; line-height: 1; }
.agn-admin-stat > span { display: block; color: var(--portal-muted); font-size: 10px; }
.agn-admin-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr); gap: 18px; align-items: start; }
.agn-admin-card { min-width: 0; overflow: hidden; border: 1px solid var(--portal-border); border-radius: 18px; background: var(--portal-surface); box-shadow: 0 10px 30px rgba(0, 34, 79, .04); }
.agn-admin-card-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 19px; border-bottom: 1px solid var(--portal-border); }
.agn-admin-card-header h2 { margin: 0; font-size: 15px; }
.agn-admin-card-header p { margin: 4px 0 0; color: var(--portal-muted); font-size: 9px; }
.agn-admin-card-header button { padding: 7px 9px; border: 0; border-radius: 9px; color: var(--portal-green); background: rgba(13, 104, 54, .08); font-size: 9px; font-weight: 700; }
.agn-admin-table-wrap { overflow-x: auto; }
.agn-admin-table { width: 100%; border-collapse: collapse; white-space: nowrap; }
.agn-admin-table th { padding: 11px 17px; color: var(--portal-muted); background: var(--portal-soft); font-size: 8px; font-weight: 700; letter-spacing: .07em; text-align: left; text-transform: uppercase; }
.agn-admin-table td { padding: 14px 17px; border-top: 1px solid var(--portal-border); font-size: 10px; }
.agn-admin-table td strong { display: block; font-size: 10px; }
.agn-admin-table td small { display: block; margin-top: 3px; color: var(--portal-muted); font-size: 8px; }
.agn-status-pill { display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px; border-radius: 999px; color: #8c650b; background: rgba(240, 196, 84, .15); font-size: 8px; font-weight: 700; }
.agn-status-pill::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--portal-gold); }
html.dark .agn-status-pill { color: var(--portal-gold-light); }
.agn-table-action { padding: 6px 8px; border: 1px solid var(--portal-border); border-radius: 8px; color: var(--portal-muted); background: var(--portal-surface); font-size: 8px; font-weight: 700; }
.agn-table-action:hover { color: var(--portal-green); border-color: rgba(13, 104, 54, .3); }
.agn-role-list { display: grid; padding: 8px 18px 17px; }
.agn-role-row { display: grid; grid-template-columns: 38px 1fr auto; gap: 11px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--portal-border); }
.agn-role-row:last-child { border-bottom: 0; }
.agn-role-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: var(--portal-green); background: rgba(13, 104, 54, .09); }
.agn-role-row strong { display: block; font-size: 10px; }
.agn-role-row small { display: block; margin-top: 3px; color: var(--portal-muted); font-size: 8px; }
.agn-role-state { padding: 5px 7px; border-radius: 7px; color: var(--portal-muted); background: var(--portal-soft); font-size: 7px; font-weight: 700; text-transform: uppercase; }
.agn-referral-chart { padding: 20px; }
.agn-referral-chart-summary { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; margin-bottom: 20px; }
.agn-referral-chart-summary strong { font-size: 26px; }
.agn-referral-chart-summary span { color: var(--portal-muted); font-size: 9px; }
.agn-bar-list { display: grid; gap: 13px; }
.agn-bar-row { display: grid; grid-template-columns: 70px 1fr 28px; gap: 10px; align-items: center; color: var(--portal-muted); font-size: 8px; }
.agn-bar-track { height: 7px; overflow: hidden; border-radius: 999px; background: var(--portal-soft); }
.agn-bar-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--portal-green), #54b47d); }
.agn-activity-list { display: grid; padding: 7px 19px 16px; }
.agn-activity-item { display: grid; grid-template-columns: 9px 1fr auto; gap: 11px; align-items: start; padding: 12px 0; border-bottom: 1px solid var(--portal-border); }
.agn-activity-item:last-child { border-bottom: 0; }
.agn-activity-dot { width: 8px; height: 8px; margin-top: 4px; border: 2px solid var(--portal-surface); border-radius: 50%; background: var(--portal-green); box-shadow: 0 0 0 2px rgba(13, 104, 54, .18); }
.agn-activity-item strong { display: block; font-size: 9px; line-height: 1.45; }
.agn-activity-item span,
.agn-activity-item time { color: var(--portal-muted); font-size: 8px; }
.agn-admin-overlay { display: none; }
.agn-admin-toast { position: fixed; z-index: 1000; right: 24px; bottom: 24px; max-width: min(390px, calc(100% - 32px)); display: flex; align-items: center; gap: 10px; padding: 14px 16px; border: 1px solid rgba(240, 196, 84, .24); border-radius: 14px; color: #fff; background: var(--portal-navy-deep); box-shadow: 0 18px 50px rgba(0, 22, 51, .28); font-size: 10px; line-height: 1.45; transform: translateY(130%); opacity: 0; transition: transform .22s ease, opacity .22s ease; }
.agn-admin-toast.is-visible { transform: translateY(0); opacity: 1; }
.agn-admin-toast .f7-icons { color: var(--portal-gold-light); font-size: 18px; }

@media (max-width: 1100px) {
  .agn-registration-grid { grid-template-columns: .85fr 1.15fr; }
  .agn-registration-aside { padding: 34px; }
  .agn-admin-stat-grid { grid-template-columns: repeat(2, 1fr); }
  .agn-admin-grid { grid-template-columns: 1fr; }
}

@media (max-width: 880px) {
  .agn-registration-main { width: min(720px, calc(100% - 28px)); margin-top: 20px; }
  .agn-registration-grid { grid-template-columns: 1fr; }
  .agn-registration-card { order: -1; }
  .agn-registration-aside { position: relative; top: auto; min-height: 0; }
  .agn-registration-benefits { grid-template-columns: repeat(3, 1fr); }
  .agn-registration-benefits div { grid-template-columns: 1fr; }
  .agn-registration-benefits span { display: none; }
  .agn-admin-layout { display: block; }
  .agn-admin-sidebar { position: fixed; left: 0; width: 264px; transform: translateX(-105%); transition: transform .22s ease; box-shadow: 20px 0 60px rgba(0, 22, 51, .28); }
  .agn-admin-body.sidebar-open .agn-admin-sidebar { transform: translateX(0); }
  .agn-admin-body.sidebar-open { overflow: hidden; }
  .agn-admin-overlay { position: fixed; z-index: 90; inset: 0; background: rgba(0, 22, 51, .56); backdrop-filter: blur(3px); }
  .agn-admin-body.sidebar-open .agn-admin-overlay { display: block; }
  .agn-admin-menu { display: inline-grid; }
}

@media (max-width: 640px) {
  .agn-portal-header { min-height: 68px; padding: 9px 14px; }
  .agn-portal-brand img { width: 43px; height: 43px; }
  .agn-portal-brand strong { font-size: 15px; }
  .agn-portal-brand small { display: none; }
  .agn-portal-back span,
  .agn-portal-chip { display: none; }
  .agn-registration-aside { padding: 29px 24px; border-radius: 22px; }
  .agn-registration-aside h1 { font-size: 36px; }
  .agn-registration-benefits { grid-template-columns: 1fr; gap: 10px; }
  .agn-registration-benefits div { grid-template-columns: 35px 1fr; }
  .agn-registration-benefits span { display: block; }
  .agn-registration-card { padding: 25px 19px; border-radius: 22px; }
  .agn-registration-heading { display: block; }
  .agn-role-badge { margin-top: 12px; }
  .agn-register-steps li { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .agn-register-steps li::before { display: grid; margin: 0 0 5px; }
  .agn-form-grid { grid-template-columns: 1fr; }
  .agn-form-field-full { grid-column: auto; }
  .agn-review-list { grid-template-columns: 1fr; }
  .agn-registration-controls { display: grid; }
  .agn-registration-controls > div { display: grid; grid-template-columns: 1fr 1fr; margin: 0; }
  .agn-registration-controls .agn-portal-button { padding: 0 12px; }
  .agn-admin-topbar { padding: 10px 14px; }
  .agn-admin-status { display: none; }
  .agn-admin-main { padding: 18px 13px 30px; }
  .agn-admin-heading { align-items: start; flex-direction: column; }
  .agn-admin-heading-actions { width: 100%; }
  .agn-admin-heading .agn-portal-button { width: 100%; }
  .agn-admin-stat-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .agn-admin-stat { padding: 15px; }
  .agn-admin-stat > strong { font-size: 23px; }
  .agn-admin-grid { gap: 12px; }
}

@media (max-width: 390px) {
  .agn-admin-stat-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Guided Admin → Management → Office → Member loading */
.agn-loading-route { margin-bottom: 20px; padding: 20px 22px; border: 1px solid var(--portal-border); border-radius: 18px; background: var(--portal-surface); box-shadow: 0 10px 30px rgba(0,22,51,.045); }
.agn-loading-route > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 17px; }
.agn-loading-route h2 { margin: 5px 0 0; color: var(--portal-ink); font-size: 16px; }
.agn-loading-route > header > span { display: inline-flex; align-items: center; gap: 6px; padding: 8px 10px; border-radius: 10px; color: var(--portal-green); background: rgba(13,104,54,.08); font-size: 10px; font-weight: 800; white-space: nowrap; }
.agn-loading-route > header .f7-icons { font-size: 15px; }
.agn-loading-route ol { list-style: none; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin: 0; padding: 0; }
.agn-loading-route li { position: relative; min-width: 0; display: grid; grid-template-columns: 40px minmax(0,1fr) 20px; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 14px; color: var(--portal-muted); }
.agn-loading-route li > span { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--portal-border); border-radius: 12px; background: var(--portal-soft); font-size: 11px; font-weight: 850; }
.agn-loading-route li strong,
.agn-loading-route li small { display: block; overflow-wrap: anywhere; }
.agn-loading-route li strong { color: var(--portal-ink); font-size: 11px; }
.agn-loading-route li small { margin-top: 3px; font-size: 9px; line-height: 1.3; }
.agn-loading-route li > .f7-icons { color: var(--portal-border); font-size: 14px; }
.agn-loading-route li.is-complete > span { color: var(--portal-green); border-color: rgba(13,104,54,.22); background: rgba(13,104,54,.08); }
.agn-loading-route li.is-current { color: #fff; background: linear-gradient(135deg,var(--portal-green),#168e55); box-shadow: 0 8px 22px rgba(13,104,54,.18); }
.agn-loading-route li.is-current :is(strong,small) { color: #fff; }
.agn-loading-route li.is-current > span { color: var(--portal-green); border-color: rgba(255,255,255,.4); background: #fff; }
.agn-loading-route li.is-current > .f7-icons { color: rgba(255,255,255,.7); }

.agn-loading-card .agn-wallet-transfer-context { margin-bottom: 0; }
.agn-guided-loading-form { gap: 19px; }
.agn-loading-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.agn-loading-form-grid .agn-form-field-full { grid-column: 1 / -1; }
.agn-input-wrap:has(.agn-input-leading-icon) input { padding-left: 43px; }
.agn-input-leading-icon { position: absolute; z-index: 2; top: 50%; left: 15px; color: var(--portal-muted); font-size: 17px; transform: translateY(-50%); pointer-events: none; }
.agn-loading-quick-amounts { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.agn-loading-quick-amounts button { min-height: 36px; padding: 7px 11px; border: 1px solid var(--portal-border); border-radius: 9px; color: var(--portal-green); background: var(--portal-surface); font: inherit; font-size: 9px; font-weight: 800; cursor: pointer; touch-action: manipulation; }
.agn-loading-quick-amounts button:hover,
.agn-loading-quick-amounts button:focus-visible { border-color: var(--portal-green); background: rgba(13,104,54,.07); }
.agn-loading-quick-amounts button:focus-visible { outline: 3px solid var(--portal-gold-light); outline-offset: 2px; }
.agn-loading-review { display: grid; grid-template-columns: 46px minmax(0,1fr) auto; gap: 13px; align-items: center; padding: 16px; border: 1px solid rgba(13,104,54,.2); border-radius: 15px; background: linear-gradient(135deg,rgba(13,104,54,.085),rgba(13,104,54,.025)); }
.agn-loading-review > .f7-icons { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 13px; color: #fff; background: var(--portal-green); font-size: 21px; }
.agn-loading-review strong,
.agn-loading-review small { display: block; overflow-wrap: anywhere; }
.agn-loading-review strong { margin-top: 4px; color: var(--portal-ink); font-size: 12px; }
.agn-loading-review small { margin-top: 4px; color: var(--portal-muted); font-size: 9px; line-height: 1.45; }
.agn-loading-review > span:last-child { color: var(--portal-green); font-size: 17px; font-weight: 850; white-space: nowrap; }
.agn-loading-security { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 11px; align-items: center; padding: 13px 14px; border: 1px solid var(--portal-border); border-radius: 13px; background: var(--portal-soft); }
.agn-loading-security > .f7-icons { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: var(--portal-green); background: rgba(13,104,54,.09); font-size: 20px; }
.agn-loading-security strong,
.agn-loading-security small { display: block; }
.agn-loading-security strong { color: var(--portal-ink); font-size: 11px; }
.agn-loading-security small { margin-top: 4px; color: var(--portal-muted); font-size: 9px; line-height: 1.45; }
.agn-loading-submit { width: 100%; min-height: 50px; }
.agn-loading-submit:disabled { opacity: .5; cursor: not-allowed; box-shadow: none; }

@media (max-width: 760px) {
  .agn-loading-route { padding: 17px; }
  .agn-loading-route ol { grid-template-columns: 1fr 1fr; gap: 7px; }
  .agn-loading-route li { grid-template-columns: 38px minmax(0,1fr); padding: 9px; }
  .agn-loading-route li > .f7-icons { display: none; }
  .agn-loading-form-grid { grid-template-columns: 1fr; gap: 13px; }
  .agn-loading-form-grid .agn-form-field-full { grid-column: auto; }
}
@media (max-width: 460px) {
  .agn-loading-route > header { align-items: flex-start; }
  .agn-loading-route > header > span { padding: 7px 8px; font-size: 9px; }
  .agn-loading-route ol { grid-template-columns: 1fr; }
  .agn-loading-route li { min-height: 58px; }
  .agn-loading-review { grid-template-columns: 42px minmax(0,1fr); }
  .agn-loading-review > .f7-icons { width: 42px; height: 42px; }
  .agn-loading-review > span:last-child { grid-column: 2; font-size: 15px; }
  .agn-loading-quick-amounts { display: grid; grid-template-columns: 1fr 1fr; }
  .agn-loading-quick-amounts button { min-height: 42px; }
}

/* Secure staff authentication and role dashboards — v2 */
.agn-auth-body {
  min-height: 100vh;
  background: radial-gradient(circle at 8% 12%, rgba(13, 104, 54, .13), transparent 29%), radial-gradient(circle at 92% 4%, rgba(240, 196, 84, .1), transparent 27%), var(--portal-soft);
}
.agn-auth-shell {
  width: min(1080px, calc(100% - 36px));
  min-height: calc(100vh - 100px);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr);
  gap: 30px;
  align-items: center;
  margin: 0 auto;
  padding: 42px 0;
}
.agn-auth-visual {
  overflow: hidden;
  position: relative;
  min-height: 600px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(34px, 6vw, 68px);
  border-radius: 30px;
  color: #fff;
  background: linear-gradient(145deg, rgba(0, 22, 51, .97), rgba(0, 52, 78, .92)), url("../img/ai/agn-ai-dealer-growth.jpg") center/cover;
  box-shadow: 0 28px 75px rgba(0, 34, 79, .25);
}
.agn-auth-visual::before,
.agn-auth-visual::after { content: ""; position: absolute; border: 1px solid rgba(240, 196, 84, .16); border-radius: 50%; }
.agn-auth-visual::before { width: 420px; height: 420px; top: -220px; right: -180px; }
.agn-auth-visual::after { width: 270px; height: 270px; top: -140px; right: -100px; }
.agn-auth-visual > * { position: relative; z-index: 1; }
.agn-auth-visual .agn-portal-eyebrow { color: var(--portal-gold-light); }
.agn-auth-visual h1 { max-width: 600px; margin: 14px 0 18px; font-size: clamp(40px, 5.3vw, 62px); line-height: 1.02; letter-spacing: -.05em; }
.agn-auth-visual > p { max-width: 590px; margin: 0; color: rgba(255,255,255,.68); font-size: 15px; line-height: 1.75; }
.agn-auth-role-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 35px; }
.agn-auth-role-list > span { min-width: 0; padding: 15px 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: rgba(255,255,255,.06); }
.agn-auth-role-list .f7-icons { display: block; margin-bottom: 14px; color: var(--portal-gold-light); }
.agn-auth-role-list strong { display: block; font-size: 11px; }
.agn-auth-role-list small { display: block; margin-top: 4px; color: rgba(255,255,255,.48); font-size: 8px; line-height: 1.45; }
.agn-auth-card { padding: clamp(29px, 4.5vw, 48px); border: 1px solid var(--portal-border); border-radius: 28px; background: var(--portal-surface); box-shadow: var(--portal-shadow); }
.agn-auth-heading { margin-bottom: 26px; }
.agn-auth-heading h1,
.agn-auth-heading h2 { margin: 7px 0 8px; color: var(--portal-ink); font-size: clamp(27px, 3.5vw, 38px); line-height: 1.08; letter-spacing: -.04em; }
.agn-auth-heading p { margin: 0; color: var(--portal-muted); font-size: 12px; line-height: 1.65; }
.agn-auth-card form { display: grid; gap: 17px; }
.agn-form-field > input,
.agn-form-field > select,
.agn-reset-form input {
  width: 100%;
  min-height: 50px;
  padding: 0 14px;
  border: 1px solid var(--portal-border);
  border-radius: 13px;
  color: var(--portal-ink);
  background: var(--portal-soft);
}
.agn-form-field > input:focus,
.agn-form-field > select:focus,
.agn-reset-form input:focus { border-color: var(--portal-gold); background: var(--portal-surface); box-shadow: 0 0 0 3px rgba(240,196,84,.14); outline: 0; }
.agn-auth-submit { width: 100%; margin-top: 4px; }
.agn-auth-errors { margin-bottom: 20px; padding: 14px 16px; border: 1px solid rgba(183,57,57,.25); border-radius: 13px; color: #a42b2b; background: rgba(183,57,57,.07); font-size: 11px; line-height: 1.55; }
html.dark .agn-auth-errors { color: #ffb9b9; }
.agn-auth-errors strong { display: block; margin-bottom: 5px; }
.agn-auth-errors p { margin: 0; }
.agn-auth-errors ul { margin: 6px 0 0; padding-left: 18px; }
.agn-auth-help { display: flex; gap: 10px; margin-top: 23px; padding-top: 20px; border-top: 1px solid var(--portal-border); color: var(--portal-muted); font-size: 10px; line-height: 1.55; }
.agn-auth-help .f7-icons { flex: 0 0 auto; color: var(--portal-gold); font-size: 18px; }
.agn-member-login-body { background: radial-gradient(circle at 8% 12%, rgba(13, 104, 54, .17), transparent 31%), radial-gradient(circle at 92% 4%, rgba(240, 196, 84, .12), transparent 28%), var(--portal-soft); }
.agn-member-auth-visual { background: linear-gradient(145deg, rgba(0, 22, 51, .97), rgba(0, 63, 67, .91)), url("../img/ai/agn-ai-dealer-growth.jpg") center/cover; }
.agn-member-auth-benefits { display: grid; gap: 10px; margin-top: 34px; }
.agn-member-auth-benefits > span { min-width: 0; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; align-items: center; padding: 14px; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: rgba(255,255,255,.06); }
.agn-member-auth-benefits .f7-icons { grid-row: 1 / 3; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; color: var(--portal-gold-light); background: rgba(240,196,84,.1); }
.agn-member-auth-benefits strong { align-self: end; font-size: 13px; }
.agn-member-auth-benefits small { align-self: start; color: rgba(255,255,255,.54); font-size: 11px; line-height: 1.45; }
.agn-auth-route-switch { display: grid; gap: 8px; margin-top: 20px; padding: 16px; border: 1px solid var(--portal-border); border-radius: 14px; color: var(--portal-muted); background: var(--portal-soft); font-size: 12px; line-height: 1.5; }
.agn-auth-route-switch a { display: inline-flex; align-items: center; min-height: 44px; margin: -10px -8px -10px 2px; padding: 10px 8px; border-radius: 9px; color: var(--portal-green); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.agn-auth-route-switch a:hover { color: var(--portal-green-deep); background: color-mix(in srgb, var(--portal-green) 8%, transparent); }
.agn-auth-route-switch a:focus-visible { outline: 2px solid var(--portal-gold); outline-offset: 2px; }
.agn-access-card { max-width: 590px; margin: auto; text-align: center; }
.agn-access-card > img { width: 88px; height: 88px; object-fit: contain; margin-bottom: 18px; }
.agn-access-card h1 { margin: 10px 0; font-size: clamp(29px, 5vw, 44px); letter-spacing: -.04em; }
.agn-access-card p { margin: 0 0 24px; color: var(--portal-muted); line-height: 1.65; }
.agn-portal-flash { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; padding: 13px 15px; border: 1px solid var(--portal-border); border-radius: 13px; color: var(--portal-muted); background: var(--portal-surface); font-size: 11px; line-height: 1.5; }
.agn-portal-flash .f7-icons { flex: 0 0 auto; color: var(--portal-gold); }
.agn-portal-flash-success { border-color: rgba(13,104,54,.25); color: var(--portal-green); background: rgba(13,104,54,.07); }
.agn-portal-flash-success .f7-icons { color: var(--portal-green); }

.agn-setup-shell { width: min(1220px, calc(100% - 38px)); min-height: 100vh; display: grid; grid-template-columns: minmax(310px, .75fr) minmax(0, 1.25fr); gap: 28px; align-items: start; margin: 0 auto; padding: 38px 0 55px; }
.agn-setup-intro { position: sticky; top: 28px; min-height: 690px; display: flex; flex-direction: column; padding: 39px; border-radius: 28px; color: #fff; background: linear-gradient(150deg, var(--portal-navy-deep), #003358); box-shadow: 0 25px 70px rgba(0,34,79,.22); }
.agn-setup-intro .agn-portal-brand { padding-bottom: 25px; border-bottom: 1px solid rgba(255,255,255,.1); }
.agn-setup-intro .agn-portal-brand img { padding: 3px; border-radius: 14px; background: #fff; }
.agn-setup-intro .agn-portal-brand strong { color: #fff; }
.agn-setup-intro .agn-portal-brand small { color: rgba(255,255,255,.48); }
.agn-setup-intro > div { margin: auto 0; }
.agn-setup-intro .agn-portal-eyebrow { color: var(--portal-gold-light); }
.agn-setup-intro h1 { margin: 12px 0 14px; font-size: clamp(38px, 5vw, 54px); line-height: 1.02; letter-spacing: -.05em; }
.agn-setup-intro > div > p { margin: 0; color: rgba(255,255,255,.67); font-size: 13px; line-height: 1.7; }
.agn-setup-intro ul { display: grid; gap: 13px; margin: 29px 0 0; padding: 0; list-style: none; }
.agn-setup-intro li { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.78); font-size: 11px; }
.agn-setup-intro li .f7-icons { color: var(--portal-gold-light); font-size: 18px; }
.agn-setup-scope { margin: 0; padding: 15px; border: 1px solid rgba(240,196,84,.19); border-radius: 14px; color: rgba(255,255,255,.6); background: rgba(255,255,255,.05); font-size: 10px; line-height: 1.6; }
.agn-setup-scope strong { color: var(--portal-gold-light); }
.agn-setup-card { border-radius: 28px; }
.agn-auth-fieldset { min-width: 0; margin: 0; padding: 22px 0 6px; border: 0; border-top: 1px solid var(--portal-border); }
.agn-auth-fieldset legend { padding: 0 11px 0 0; color: var(--portal-green); font-size: 11px; font-weight: 700; }
.agn-setup-card form { gap: 22px; }

.agn-admin-topbar-title { display: flex; align-items: center; gap: 11px; }
.agn-admin-card-header > a { padding: 7px 9px; border-radius: 9px; color: var(--portal-green); background: rgba(13,104,54,.08); font-size: 9px; font-weight: 700; }
.agn-admin-profile > a { display: grid; place-items: center; }
.agn-foundation-banner { border-color: rgba(13,104,54,.24); background: rgba(13,104,54,.07); }
.agn-foundation-banner .f7-icons { color: var(--portal-green); }
.agn-status-active { color: var(--portal-green); background: rgba(13,104,54,.1); }
.agn-status-active::before { background: var(--portal-green); }
.agn-status-inactive { color: #9b3a3a; background: rgba(183,57,57,.1); }
.agn-status-inactive::before { background: #b73939; }
.agn-dashboard-action-list { display: grid; padding: 8px 18px 17px; }
.agn-dashboard-action-list :is(a,button) { width: 100%; min-height: 86px; display: grid; grid-template-columns: 40px 1fr 18px; gap: 11px; align-items: center; padding: 14px 0; border: 0; border-bottom: 1px solid var(--portal-border); color: var(--portal-ink); background: transparent; text-align: left; }
.agn-dashboard-action-list :is(a,button):last-child { border-bottom: 0; }
.agn-dashboard-action-list > :is(a,button) > .f7-icons:first-child { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; color: var(--portal-green); background: rgba(13,104,54,.09); }
.agn-dashboard-action-list strong { display: block; font-size: 10px; }
.agn-dashboard-action-list small { display: block; margin-top: 4px; color: var(--portal-muted); font-size: 8px; }
.agn-dashboard-action-list > :is(a,button) > .f7-icons:last-child { color: var(--portal-muted); font-size: 14px; }
.agn-readiness-list { display: grid; padding: 8px 19px 18px; }
.agn-readiness-list > div { display: grid; grid-template-columns: 42px 1fr auto; gap: 12px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--portal-border); }
.agn-readiness-list > div:last-child { border-bottom: 0; }
.agn-readiness-list > div > .f7-icons { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: var(--portal-gold); background: rgba(240,196,84,.12); }
.agn-readiness-list strong { display: block; font-size: 11px; }
.agn-readiness-list small { display: block; margin-top: 4px; color: var(--portal-muted); font-size: 9px; line-height: 1.5; }
.agn-readiness-list > div > span:last-child { padding: 6px 8px; border-radius: 8px; color: var(--portal-muted); background: var(--portal-soft); font-size: 7px; font-weight: 700; text-transform: uppercase; }
.agn-permission-summary { padding: 27px; text-align: center; }
.agn-permission-summary > .f7-icons { width: 60px; height: 60px; display: grid; place-items: center; margin: 0 auto 16px; border-radius: 18px; color: var(--portal-green); background: rgba(13,104,54,.09); font-size: 27px; }
.agn-permission-summary h3 { margin: 0 0 8px; font-size: 15px; }
.agn-permission-summary p { margin: 0; color: var(--portal-muted); font-size: 10px; line-height: 1.6; }
.agn-wallet-foundation { display: grid; grid-template-columns: 1fr .85fr; gap: 27px; align-items: center; margin-top: 20px; padding: 26px; border: 1px solid var(--portal-border); border-radius: 19px; color: #fff; background: linear-gradient(135deg, var(--portal-navy-deep), #003257); box-shadow: 0 18px 45px rgba(0,34,79,.15); }
.agn-wallet-foundation .agn-portal-eyebrow { color: var(--portal-gold-light); }
.agn-wallet-foundation h2 { margin: 8px 0 9px; color: #fff; font-size: clamp(22px,3vw,31px); line-height: 1.1; letter-spacing: -.035em; }
.agn-wallet-foundation p { margin: 0; color: rgba(255,255,255,.62); font-size: 10px; line-height: 1.65; }
.agn-wallet-types { display: grid; gap: 9px; }
.agn-wallet-types article { display: grid; grid-template-columns: 40px 1fr auto; gap: 11px; align-items: center; padding: 13px; border: 1px solid rgba(255,255,255,.11); border-radius: 14px; background: rgba(255,255,255,.06); }
.agn-wallet-types article > .f7-icons { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; color: var(--portal-gold-light); background: rgba(240,196,84,.1); }
.agn-wallet-types strong { display: block; font-size: 10px; }
.agn-wallet-types small { display: block; margin-top: 3px; color: rgba(255,255,255,.45); font-size: 8px; }
.agn-wallet-types em { padding: 5px 7px; border-radius: 7px; color: rgba(255,255,255,.55); background: rgba(255,255,255,.08); font-size: 7px; font-style: normal; font-weight: 700; text-transform: uppercase; }

.agn-account-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(250px,.65fr); gap: 18px; align-items: start; margin-bottom: 18px; }
.agn-create-account { scroll-margin-top: 22px; }
.agn-security-mark { display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; border-radius: 9px; color: var(--portal-green); background: rgba(13,104,54,.08); font-size: 8px; font-weight: 700; text-transform: uppercase; }
.agn-security-mark .f7-icons { font-size: 14px; }
.agn-account-form { padding: 21px; }
.agn-account-form-footer { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-top: 19px; }
.agn-account-form-footer .agn-portal-note { max-width: 520px; }
.agn-role-boundaries { display: grid; gap: 9px; }
.agn-role-boundaries article { display: grid; grid-template-columns: 42px 1fr; gap: 11px; align-items: center; padding: 17px; border: 1px solid var(--portal-border); border-radius: 15px; background: var(--portal-surface); }
.agn-role-boundaries article > .f7-icons { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: var(--portal-green); background: rgba(13,104,54,.09); }
.agn-role-boundaries strong { display: block; font-size: 11px; }
.agn-role-boundaries small { display: block; margin-top: 4px; color: var(--portal-muted); font-size: 8px; line-height: 1.45; }
.agn-account-directory { overflow: visible; }
.agn-role-table-badge { display: inline-flex; padding: 6px 8px; border-radius: 8px; color: var(--portal-green); background: rgba(13,104,54,.09); font-size: 8px; font-weight: 700; }
.agn-role-admin { color: #8c650b; background: rgba(240,196,84,.14); }
.agn-role-office { color: #2c6ca6; background: rgba(44,108,166,.1); }
.agn-security-pending { color: #8c650b; font-size: 8px; }
.agn-security-ready { color: var(--portal-green); font-size: 8px; }
.agn-account-actions { position: relative; display: flex; align-items: center; gap: 7px; }
.agn-account-actions form { margin: 0; }
.agn-account-actions details { position: relative; }
.agn-account-actions summary { padding: 6px 8px; border: 1px solid var(--portal-border); border-radius: 8px; color: var(--portal-muted); background: var(--portal-surface); font-size: 8px; font-weight: 700; cursor: pointer; list-style: none; }
.agn-account-actions summary::-webkit-details-marker { display: none; }
.agn-reset-form { position: absolute; z-index: 30; top: calc(100% + 8px); right: 0; width: 300px; display: grid; gap: 10px; padding: 15px; border: 1px solid var(--portal-border); border-radius: 14px; background: var(--portal-surface); box-shadow: var(--portal-shadow); }
.agn-reset-form label { display: grid; gap: 5px; color: var(--portal-ink); font-size: 8px; font-weight: 700; }
.agn-reset-form input { min-height: 42px; }
.agn-reset-form .agn-portal-button { min-height: 42px; font-size: 9px; }
.agn-current-account { color: var(--portal-muted); font-size: 8px; }
.agn-password-page { max-width: 1000px; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(260px,.75fr); gap: 18px; align-items: start; margin: 10px auto; }
.agn-password-card .agn-admin-card-header h1 { margin: 0; font-size: 20px; }
.agn-password-guidance { padding: 25px; border: 1px solid var(--portal-border); border-radius: 18px; background: var(--portal-surface); }
.agn-password-guidance > .f7-icons { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; color: var(--portal-gold); background: rgba(240,196,84,.13); }
.agn-password-guidance h2 { margin: 18px 0 10px; font-size: 17px; }
.agn-password-guidance ul { display: grid; gap: 10px; margin: 0; padding-left: 18px; color: var(--portal-muted); font-size: 10px; line-height: 1.55; }

@media (max-width: 1000px) {
  .agn-auth-shell { grid-template-columns: 1fr; max-width: 700px; }
  .agn-auth-visual { min-height: 420px; }
  .agn-setup-shell { grid-template-columns: 1fr; max-width: 760px; }
  .agn-setup-intro { position: relative; top: auto; min-height: 500px; }
  .agn-account-layout { grid-template-columns: 1fr; }
  .agn-role-boundaries { grid-template-columns: repeat(3,1fr); }
  .agn-role-boundaries article { grid-template-columns: 1fr; }
}
@media (max-width: 880px) {
  .agn-wallet-foundation,
  .agn-password-page { grid-template-columns: 1fr; }
  .agn-account-form-footer { align-items: stretch; flex-direction: column; }
  .agn-account-form-footer .agn-portal-button { width: 100%; }
  .agn-role-boundaries { grid-template-columns: 1fr; }
  .agn-role-boundaries article { grid-template-columns: 42px 1fr; }
}
@media (max-width: 640px) {
  .agn-auth-shell { width: calc(100% - 24px); min-height: 0; padding: 18px 0 32px; }
  .agn-auth-visual { min-height: 430px; padding: 29px 23px; border-radius: 22px; }
  .agn-auth-visual h1 { font-size: 39px; }
  .agn-auth-role-list { grid-template-columns: 1fr; }
  .agn-auth-role-list > span { display: grid; grid-template-columns: 28px 1fr; align-items: center; }
  .agn-auth-role-list .f7-icons { grid-row: 1 / 3; margin: 0; }
  .agn-auth-card { padding: 27px 20px; border-radius: 22px; }
  .agn-setup-shell { width: calc(100% - 24px); padding: 14px 0 35px; }
  .agn-setup-intro { min-height: 520px; padding: 28px 22px; border-radius: 22px; }
  .agn-setup-intro h1 { font-size: 40px; }
  .agn-readiness-list > div { grid-template-columns: 40px 1fr; }
  .agn-readiness-list > div > span:last-child { grid-column: 2; width: fit-content; }
  .agn-wallet-foundation { padding: 22px 18px; }
  .agn-reset-form { position: fixed; inset: auto 12px 12px; width: auto; }
  .agn-password-page { margin-top: 0; }
}

/* Four-role authentication and member dashboard — v3 */
@media (min-width: 1101px) {
  .agn-admin-stat-grid.agn-five-stat-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (min-width: 641px) {
  .agn-auth-role-list-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.agn-admin-stat:nth-child(5) .agn-admin-stat-icon { color: #8555a1; background: rgba(133, 85, 161, .1); }
.agn-stat-code { overflow-wrap: anywhere; font-size: clamp(17px, 1.6vw, 23px) !important; letter-spacing: -.03em; }
.agn-role-member { color: #744395; background: rgba(116, 67, 149, .1); }
.agn-label-optional { color: var(--portal-muted); font-size: 8px; font-weight: 500; }
.agn-member-code { color: var(--portal-green); letter-spacing: .025em; }
.agn-table-muted { color: var(--portal-muted); font-size: 8px; }
.agn-member-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr); gap: 18px; align-items: start; }
.agn-referral-card { scroll-margin-top: 24px; }
.agn-referral-link-control { display: grid; gap: 8px; padding: 22px; }
.agn-referral-link-control > label { color: var(--portal-ink); font-size: 10px; font-weight: 700; }
.agn-referral-link-control > div { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 9px; }
.agn-referral-link-control input { min-width: 0; min-height: 50px; padding: 0 14px; border: 1px solid var(--portal-border); border-radius: 13px; color: var(--portal-ink); background: var(--portal-soft); font-size: 11px; }
.agn-referral-link-control input:focus { border-color: var(--portal-gold); box-shadow: 0 0 0 3px rgba(240,196,84,.14); outline: 0; }
.agn-referral-link-control .agn-portal-button { min-height: 50px; padding-inline: 15px; white-space: nowrap; }
.agn-referral-link-control > small { color: var(--portal-muted); font-size: 9px; line-height: 1.55; }
.agn-referral-code-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0 22px 22px; }
.agn-referral-code-row > span { min-width: 0; padding: 14px; border: 1px solid var(--portal-border); border-radius: 13px; background: var(--portal-soft); }
.agn-referral-code-row small { display: block; color: var(--portal-muted); font-size: 8px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.agn-referral-code-row strong { display: block; overflow-wrap: anywhere; margin-top: 5px; font-size: 11px; }
.agn-referral-code-row em { display: block; margin-top: 3px; color: var(--portal-muted); font-size: 8px; font-style: normal; }
.agn-activation-content { padding: 22px; }
.agn-activation-wallet-summary { padding: 0 22px 22px; }
.agn-activation-card-reset { margin-top: 0; }
.agn-referral-share-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 0 22px 22px; }
.agn-referral-share-grid a { min-width: 0; min-height: 64px; display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 10px; align-items: center; padding: 11px 12px; border: 1px solid var(--portal-border); border-radius: 13px; background: var(--portal-soft); transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.agn-referral-share-grid a:hover,
.agn-referral-share-grid a:focus-visible { border-color: rgba(13,104,54,.35); background: rgba(13,104,54,.08); transform: translateY(-1px); }
.agn-referral-share-grid .f7-icons { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; color: var(--portal-green); background: rgba(13,104,54,.09); font-size: 18px; }
.agn-referral-share-grid span { min-width: 0; }
.agn-referral-share-grid strong { display: block; font-size: 12px; }
.agn-referral-share-grid small { display: block; margin-top: 2px; color: var(--portal-muted); font-size: 10px; line-height: 1.35; }
.agn-security-mark.is-attention { color: #b77700; background: rgba(240,196,84,.13); }
.agn-placement-required { display: flex; align-items: center; gap: 12px; margin: 0 22px 22px; padding: 15px; border: 1px solid rgba(240,196,84,.3); border-radius: 14px; background: rgba(240,196,84,.09); }
.agn-placement-required > .f7-icons { width: 40px; height: 40px; flex: 0 0 40px; display: grid; place-items: center; border-radius: 12px; color: #b77700; background: rgba(240,196,84,.15); }
.agn-placement-required strong,
.agn-placement-required small { display: block; }
.agn-placement-required strong { font-size: 12px; }
.agn-placement-required small { margin-top: 3px; color: var(--portal-muted); font-size: 10px; }
.agn-genealogy-card { width: 100%; margin: 24px 0; scroll-margin-top: 92px; overflow: clip; }
.agn-network-header .agn-portal-eyebrow { display: block; margin-bottom: 5px; }
.agn-genealogy-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 22px; border-bottom: 1px solid var(--portal-border); }
.agn-genealogy-summary article { min-width: 0; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; align-items: center; padding: 15px; border: 1px solid var(--portal-border); border-radius: 15px; background: var(--portal-soft); }
.agn-genealogy-icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; color: var(--portal-green); background: rgba(13,104,54,.1); }
.agn-genealogy-summary article:nth-child(2) .agn-genealogy-icon { color: var(--portal-gold); background: rgba(240,196,84,.13); }
.agn-genealogy-summary small { display: block; color: var(--portal-muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.agn-genealogy-summary strong { display: block; overflow-wrap: anywhere; margin-top: 4px; font-size: 14px; }
.agn-genealogy-summary article div > span { display: block; overflow-wrap: anywhere; margin-top: 3px; color: var(--portal-muted); font-size: 11px; }
.agn-genealogy-controls { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: end; padding: 18px 22px; border-bottom: 1px solid var(--portal-border); }
.agn-genealogy-tabs { display: inline-flex; gap: 10px; flex-wrap: wrap; }
.agn-genealogy-tab { min-width: 150px; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 14px; border-radius: 11px; border: 1px solid var(--portal-border); background: var(--portal-surface); color: var(--portal-ink); font-size: 12px; font-weight: 700; cursor: pointer; }
.agn-genealogy-tab .f7-icons { font-size: 16px; }
.agn-genealogy-tab.is-active { border-color: var(--portal-green); background: rgba(13,104,54,.1); color: var(--portal-green); }
.agn-genealogy-search-wrap { position: relative; display: flex; align-items: center; gap: 8px; min-width: 0; background: var(--portal-surface); border: 1px solid var(--portal-border); border-radius: 11px; padding: 0 9px; height: 44px; }
.agn-genealogy-search-wrap .f7-icons { color: var(--portal-muted); font-size: 16px; }
.agn-genealogy-search-wrap input { height: 100%; border: 0; background: transparent; outline: 0; min-width: 0; width: 100%; color: var(--portal-ink); font-size: 13px; }
.agn-genealogy-search-wrap button { flex: 0 0 44px; width: 44px; height: 44px; border: 0; border-radius: 9px; color: var(--portal-muted); background: var(--portal-border-soft); }
.agn-genealogy-search-wrap button:focus-visible { outline: 2px solid var(--portal-gold-light); outline-offset: 2px; }
.agn-genealogy-depth-wrap { display: inline-flex; align-items: center; gap: 9px; padding: 0 2px; min-width: 0; }
.agn-genealogy-depth-wrap span { font-size: 11px; font-weight: 700; color: var(--portal-muted); white-space: nowrap; letter-spacing: .04em; }
.agn-genealogy-depth-wrap select { -webkit-appearance: none; appearance: none; min-height: 42px; border: 1px solid var(--portal-border); border-radius: 10px; background: var(--portal-surface) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23686868"><path d="m6 9 6 6 6-6"/></svg>') calc(100% - 10px) center/10px 6px no-repeat; padding: 0 28px 0 12px; color: var(--portal-ink); font-size: 12px; }
.agn-network-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 22px; border-bottom: 1px solid var(--portal-border); background: var(--portal-soft); }
.agn-network-toolbar > div:first-child strong,
.agn-network-toolbar > div:first-child small { display: block; }
.agn-network-toolbar > div:first-child strong { font-size: 13px; }
.agn-network-toolbar > div:first-child small { margin-top: 3px; color: var(--portal-muted); font-size: 10px; }
.agn-network-toolbar-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.agn-network-toolbar-actions button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 9px 12px; border: 1px solid var(--portal-border); border-radius: 11px; background: var(--portal-surface); color: var(--portal-ink); font-size: 11px; font-weight: 750; cursor: pointer; touch-action: manipulation; }
.agn-network-toolbar-actions .agn-network-expand-action { border-color: rgba(13,104,54,.32); color: var(--portal-green); background: rgba(13,104,54,.09); }
.agn-network-toolbar-actions button:hover,
.agn-network-toolbar-actions button:focus-visible,
.agn-network-toolbar-actions button.is-active { border-color: var(--portal-green); color: var(--portal-green); background: rgba(13,104,54,.08); }
.agn-network-toolbar-actions button:focus-visible { outline: 2px solid var(--portal-gold-light); outline-offset: 2px; }
.agn-network-toolbar-actions .f7-icons { font-size: 15px; }
.agn-genealogy-feedback { margin: 0; padding: 16px 22px 0; color: var(--portal-muted); font-size: 11px; }
.agn-genealogy-search-results { margin: 10px 22px 0; padding: 12px; border: 1px solid var(--portal-border); border-radius: 12px; background: var(--portal-soft); }
.agn-genealogy-search-results h3 { margin: 0 0 8px; font-size: 12px; }
.agn-genealogy-search-result { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 10px; border: 1px solid var(--portal-border); border-radius: 11px; background: var(--portal-surface); margin-top: 8px; align-items: center; }
.agn-genealogy-search-result strong { font-size: 12px; }
.agn-genealogy-search-result small { display: block; margin-top: 3px; color: var(--portal-muted); font-size: 10px; }
.agn-genealogy-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 340px); min-height: 720px; }
.agn-genealogy-tree-shell { position: relative; min-width: 0; min-height: 720px; border-right: 1px solid var(--portal-border); background: radial-gradient(circle at 50% 0, rgba(13,104,54,.085), transparent 34%), linear-gradient(rgba(13,104,54,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(13,104,54,.025) 1px, transparent 1px); background-size: auto, 28px 28px, 28px 28px; }
.agn-genealogy-canvas { width: 100%; height: clamp(660px, 72vh, 880px); min-height: 660px; max-height: none; overflow: auto; padding: 34px 28px 54px; overscroll-behavior: contain; scrollbar-gutter: stable both-edges; -webkit-overflow-scrolling: touch; scroll-behavior: smooth; scroll-padding: 32px; }
.agn-genealogy-canvas:focus-visible { outline: 3px solid var(--portal-gold-light); outline-offset: -3px; }
.agn-genealogy-canvas[data-scope="binary"] > .agn-tree { width: var(--agn-tree-width, 1200px); min-width: var(--agn-tree-width, 1200px); margin-inline: auto; }
.agn-genealogy-canvas[data-scope="sponsor"] > .agn-tree { min-width: 720px; }
.agn-genealogy-canvas.is-compact .agn-tree-node { width: min(188px, calc(100% - 6px)); min-height: 72px; gap: 5px; padding: 9px; }
.agn-genealogy-canvas.is-compact .agn-tree-node-header { grid-template-columns: 32px minmax(0,1fr) auto; gap: 8px; }
.agn-genealogy-canvas.is-compact .agn-tree-node .f7-icons { width: 32px; height: 32px; border-radius: 9px; font-size: 16px; }
.agn-genealogy-canvas.is-compact .agn-tree-node-header strong { font-size: 11px; }
.agn-genealogy-canvas.is-compact .agn-tree-node-header small { font-size: 9px; }
.agn-genealogy-canvas.is-compact .agn-tree-node-state { min-height: 19px; padding: 3px 6px; font-size: 8px; }
.agn-genealogy-canvas.is-compact .agn-tree-node-footer { display: none; }
.agn-network-scroll-hint { position: sticky; top: 0; z-index: 4; display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 36px; padding: 8px 12px; border-bottom: 1px solid var(--portal-border); color: var(--portal-muted); background: color-mix(in srgb, var(--portal-surface) 92%, transparent); backdrop-filter: blur(10px); font-size: 10px; font-weight: 700; }
.agn-network-scroll-hint .f7-icons { font-size: 15px; }
.agn-genealogy-card:fullscreen,
.agn-genealogy-card.is-expanded { overflow: auto; background: var(--portal-bg); }
.agn-genealogy-card:fullscreen .agn-genealogy-summary,
.agn-genealogy-card.is-expanded .agn-genealogy-summary { display: none; }
.agn-genealogy-card:fullscreen .agn-genealogy-workspace,
.agn-genealogy-card.is-expanded .agn-genealogy-workspace { min-height: 0; grid-template-columns: minmax(0,1fr) minmax(300px,360px); }
.agn-genealogy-card:fullscreen .agn-genealogy-tree-shell,
.agn-genealogy-card.is-expanded .agn-genealogy-tree-shell { min-height: 0; }
.agn-genealogy-card:fullscreen .agn-genealogy-canvas,
.agn-genealogy-card.is-expanded .agn-genealogy-canvas { min-height: 460px; max-height: none; height: calc(100vh - 238px); }
.agn-genealogy-card.is-expanded { position: fixed; z-index: 1000; inset: 12px; margin: 0; border: 1px solid var(--portal-border); border-radius: 16px; box-shadow: 0 22px 70px rgba(0,0,0,.28); }
.agn-genealogy-loading { position: absolute; inset: 22px; display: grid; place-items: center; border: 1px dashed var(--portal-border); border-radius: 14px; color: var(--portal-muted); font-size: 12px; pointer-events: none; opacity: 1; transition: opacity .35s ease; background: linear-gradient(180deg, rgba(13,104,54,.04), rgba(13,104,54,0)); }
.agn-genealogy-canvas.is-ready + .agn-genealogy-loading { opacity: 0; }
.agn-tree,
.agn-tree ul { list-style: none; margin: 0; padding: 0; }
.agn-tree { display: grid; gap: 22px; }
.agn-tree-node { width: min(238px, calc(100% - 10px)); border: 1px solid var(--portal-border); border-radius: 16px; background: var(--portal-surface); color: var(--portal-ink); text-align: left; display: grid; gap: 9px; align-content: center; padding: 14px; position: relative; min-height: 96px; cursor: pointer; touch-action: manipulation; box-shadow: 0 8px 24px rgba(0,0,0,.065); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.agn-tree-node.is-match { border-color: var(--portal-green); box-shadow: 0 0 0 2px rgba(13,104,54,.12); }
.agn-tree-node:hover,
.agn-tree-node:focus-visible { border-color: var(--portal-green); box-shadow: 0 12px 28px rgba(13,104,54,.12); transform: translateY(-2px); }
.agn-tree-node:focus-visible { outline: 0; }
.agn-tree-node .f7-icons { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: rgba(13,104,54,.11); color: var(--portal-green); font-size: 20px; }
.agn-tree-node-header { display: grid; grid-template-columns: 40px minmax(0,1fr) auto; gap: 11px; align-items: center; }
.agn-tree-node-header strong { display: block; overflow-wrap: anywhere; font-size: 13px; line-height: 1.3; }
.agn-tree-node-header small { display: block; margin-top: 3px; color: var(--portal-muted); font-size: 11px; line-height: 1.35; letter-spacing: .01em; }
.agn-tree-node-state { display: inline-flex; align-items: center; gap: 7px; min-height: 23px; border-radius: 8px; padding: 4px 8px; background: rgba(13,104,54,.08); color: var(--portal-green); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.agn-tree-node-state.is-inactive { background: rgba(165,165,165,.14); color: #666; }
.agn-tree-node-footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-top: 2px; border-top: 1px solid var(--portal-border-soft); font-size: 10px; color: var(--portal-muted); }
.agn-tree-node-footer span { overflow-wrap: anywhere; max-width: 48%; }
.agn-tree-item { position: relative; min-width: 0; display: flex; flex-direction: column; align-items: center; }
.agn-tree-branch-toggle { min-height: 30px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; margin: 6px auto 0; padding: 5px 9px; border: 1px solid var(--portal-border); border-radius: 999px; background: var(--portal-surface); color: var(--portal-muted); font-size: 9px; font-weight: 700; cursor: pointer; }
.agn-tree-branch-toggle:hover,
.agn-tree-branch-toggle:focus-visible { border-color: var(--portal-green); color: var(--portal-green); outline: 0; }
.agn-tree-branch-toggle .f7-icons { font-size: 12px; }
.agn-tree-children { position: relative; width: 100%; margin-top: 18px; padding-top: 34px !important; display: grid; gap: 22px; grid-template-columns: repeat(auto-fit,minmax(218px,1fr)); }
.agn-tree-children[hidden] { display: none !important; }
.agn-tree-children.is-binary { grid-template-columns: repeat(2,minmax(0,1fr)); }
.agn-tree-children.is-binary::before { content: ""; position: absolute; top: 0; right: 25%; left: 25%; border-top: 2px solid color-mix(in srgb, var(--portal-green) 38%, var(--portal-border)); }
.agn-tree-children.is-binary::after { content: ""; position: absolute; top: -22px; left: 50%; height: 22px; border-left: 2px solid color-mix(in srgb, var(--portal-green) 48%, var(--portal-border)); transform: translateX(-1px); }
.agn-tree-children.is-binary > li { position: relative; min-width: 0; display: flex; justify-content: center; }
.agn-tree-children.is-binary > .agn-tree-item { width: 100%; }
.agn-tree-children.is-binary > li::before { content: ""; position: absolute; top: -34px; left: 50%; height: 34px; border-left: 2px solid color-mix(in srgb, var(--portal-green) 48%, var(--portal-border)); transform: translateX(-1px); }
.agn-genealogy-canvas.is-compact .agn-tree-children { gap: 10px; }
.agn-tree-empty { min-height: 72px; border: 1px dashed var(--portal-border); border-radius: 12px; background: var(--portal-soft); padding: 12px; color: var(--portal-muted); display: grid; place-content: center; text-align: center; gap: 6px; font-size: 10px; }
.agn-tree-empty .f7-icons { font-size: 18px; }
.agn-tree-empty strong { font-size: 12px; color: var(--portal-ink); }
.agn-tree-vacant-link { width: min(206px, calc(100% - 8px)); min-height: 122px; color: var(--portal-muted); text-decoration: none; cursor: pointer; touch-action: manipulation; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease; }
.agn-tree-vacant-link > span { display: inline-flex; align-items: center; justify-content: center; gap: 3px; margin-top: 2px; color: var(--portal-green); font-size: 9px; font-weight: 800; }
.agn-tree-vacant-link > span .f7-icons { font-size: 12px; }
.agn-tree-vacant-link:hover { border-color: var(--portal-green); background: rgba(13,104,54,.07); box-shadow: 0 8px 20px rgba(13,104,54,.1); transform: translateY(-2px); }
.agn-tree-vacant-link:focus-visible { outline: 3px solid var(--portal-gold-light); outline-offset: 3px; border-color: var(--portal-green); }
.agn-tree-empty.is-unavailable { opacity: .58; }
.agn-genealogy-side { min-width: 0; max-height: 880px; overflow: auto; background: var(--portal-surface); }
.agn-genealogy-node-details { position: sticky; top: 12px; z-index: 2; margin: 22px; border: 1px solid var(--portal-border); border-radius: 15px; background: var(--portal-surface); padding: 16px; min-height: 120px; box-shadow: 0 8px 24px rgba(0,0,0,.035); }
.agn-genealogy-node-details h3 { margin: 0 0 7px; }
.agn-genealogy-node-details p { margin: 0; color: var(--portal-muted); font-size: 10px; line-height: 1.5; }
.agn-node-details-heading { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 11px; align-items: center; }
.agn-node-details-heading .agn-admin-avatar { margin: 0; }
.agn-tree-node-avatar { display: grid; width: 38px; height: 38px; flex: 0 0 38px; overflow: hidden; place-items: center; border: 1px solid color-mix(in srgb, var(--portal-gold) 55%, transparent); border-radius: 50%; color: var(--portal-green); background: color-mix(in srgb, var(--portal-gold) 13%, #fff); }
.agn-tree-node-avatar > i { font-size: 25px; }
.agn-tree-node-avatar img { display: block; width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.agn-tree-node-avatar > .f7-icons { width: 100%; height: 100%; border-radius: inherit; }
.agn-node-details-heading .agn-admin-avatar img { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.agn-binary-child-avatar { display: grid; width: 44px; height: 44px; margin: 8px auto; overflow: hidden; place-items: center; border: 1px solid color-mix(in srgb, var(--portal-gold) 55%, transparent); border-radius: 50%; color: var(--portal-green); background: color-mix(in srgb, var(--portal-gold) 13%, var(--portal-surface)); font-size: 13px; font-weight: 800; }
.agn-binary-child-avatar img { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.agn-node-details-heading .f7-icons { font-size: 18px; }
.agn-node-details-heading small { display: block; color: var(--portal-muted); font-size: 9px; font-weight: 800; letter-spacing: .06em; }
.agn-node-details-heading h3 { margin: 3px 0; overflow-wrap: anywhere; font-size: 15px; }
.agn-node-details-heading strong { display: block; overflow-wrap: anywhere; color: var(--portal-green); font-size: 10px; }
.agn-node-details-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.agn-node-details-grid > span { min-width: 0; padding: 9px; border: 1px solid var(--portal-border); border-radius: 10px; background: var(--portal-soft); }
.agn-node-details-grid small,
.agn-node-details-grid strong { display: block; overflow-wrap: anywhere; }
.agn-node-details-grid small { color: var(--portal-muted); font-size: 8px; font-weight: 700; text-transform: uppercase; }
.agn-node-details-grid strong { margin-top: 3px; font-size: 10px; }
.agn-focus-branch { width: 100%; margin-top: 12px; }

.agn-placement-setting { display: grid; gap: 18px; padding: 24px; border-right: 1px solid var(--portal-border); }
.agn-placement-setting h3,
.agn-direct-referrals-heading h3 { margin: 6px 0 7px; font-size: 18px; }
.agn-placement-setting p { max-width: 700px; margin: 0; color: var(--portal-muted); font-size: 12px; line-height: 1.65; }
.agn-placement-options { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.agn-placement-options label { position: relative; cursor: pointer; }
.agn-placement-options input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.agn-placement-options label > span { min-height: 110px; display: grid; grid-template-columns: 42px 1fr; gap: 10px; align-content: center; padding: 15px; border: 1px solid var(--portal-border); border-radius: 15px; background: var(--portal-soft); transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.agn-placement-options input:checked + span { border-color: var(--portal-green); background: rgba(13,104,54,.08); box-shadow: 0 0 0 3px rgba(13,104,54,.1); }
.agn-placement-options input:focus-visible + span { outline: 3px solid var(--portal-gold-light); outline-offset: 3px; }
.agn-placement-options .f7-icons { grid-row: 1 / 3; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: var(--portal-green); background: rgba(13,104,54,.1); }
.agn-placement-options strong { align-self: end; font-size: 13px; }
.agn-placement-options small { align-self: start; color: var(--portal-muted); font-size: 10px; line-height: 1.4; }
.agn-placement-setting > .agn-portal-button { justify-self: start; }
.agn-binary-children { padding: 24px; background: var(--portal-soft); }
.agn-binary-children > div { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; margin-top: 14px; }
.agn-binary-children article { min-width: 0; display: grid; justify-items: center; padding: 20px 12px; border: 1px dashed var(--portal-border); border-radius: 15px; color: var(--portal-muted); background: var(--portal-surface); text-align: center; }
.agn-binary-children article.is-filled { border-style: solid; border-color: rgba(13,104,54,.25); }
.agn-binary-children article > span { font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.agn-binary-children .f7-icons { margin: 14px 0; color: var(--portal-green); font-size: 28px; }
.agn-binary-children strong { max-width: 100%; overflow-wrap: anywhere; color: var(--portal-ink); font-size: 12px; }
.agn-binary-children small { margin-top: 4px; font-size: 9px; line-height: 1.4; }
.agn-binary-register-link { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; margin-top: 12px; padding: 8px 12px; border: 1px solid rgba(13,104,54,.2); border-radius: 10px; color: var(--portal-green); background: rgba(13,104,54,.075); font-size: 10px; font-weight: 800; text-decoration: none; touch-action: manipulation; }
.agn-binary-register-link .f7-icons { margin: 0; font-size: 15px; }
.agn-binary-register-link:hover { border-color: var(--portal-green); background: rgba(13,104,54,.13); }
.agn-binary-register-link:focus-visible { outline: 3px solid var(--portal-gold-light); outline-offset: 2px; }
.agn-direct-referrals { border-top: 1px solid var(--portal-border); }
.agn-direct-referrals-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 21px 24px; }
.agn-direct-referrals-heading > span { padding: 7px 9px; border-radius: 9px; color: var(--portal-green); background: rgba(13,104,54,.08); font-size: 10px; font-weight: 800; }
.agn-direct-referral-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 0 24px 24px; }
.agn-referral-list-body { padding: 0 24px 24px; border-top: 1px solid var(--portal-border); }
.agn-direct-referral-list article { min-width: 0; padding: 16px; border: 1px solid var(--portal-border); border-radius: 16px; background: var(--portal-soft); }
.agn-referral-member-card { display: flex; flex-direction: column; align-items: stretch; gap: 14px; }
.agn-referral-member-heading { min-width: 0; display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 12px; align-items: center; }
.agn-referral-member-heading .agn-admin-avatar { width: 46px; height: 46px; margin: 0; font-size: 12px; }
.agn-referral-member-heading strong,
.agn-referral-member-heading small { display: block; overflow-wrap: anywhere; }
.agn-referral-member-heading strong { color: var(--portal-ink); font-size: 14px; line-height: 1.35; }
.agn-referral-member-heading small { margin-top: 4px; color: var(--portal-muted); font-size: 10px; }
.agn-referral-member-details { display: grid; gap: 8px; width: 100%; }
.agn-referral-member-details > span { min-width: 0; display: grid; gap: 3px; padding: 10px 11px; border: 1px solid var(--portal-border); border-radius: 11px; background: var(--portal-surface); }
.agn-referral-member-details small,
.agn-referral-member-details strong { display: block; overflow-wrap: anywhere; }
.agn-referral-member-details small { color: var(--portal-muted); font-size: 9px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.agn-referral-member-details strong { color: var(--portal-ink); font-size: 11px; line-height: 1.4; }
.agn-direct-referral-list article > .agn-referral-member-status { width: fit-content; max-width: 100%; min-height: 30px; display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 9px; color: var(--portal-green); background: rgba(13,104,54,.09); font-size: 9px; font-weight: 750; line-height: 1.35; text-align: left; }
.agn-referral-member-status .f7-icons { flex: 0 0 auto; font-size: 13px; }
.agn-member-readiness > div > span.is-ready { color: var(--portal-green); background: rgba(13,104,54,.1); }
.agn-member-readiness > .agn-readiness-ready > .f7-icons { color: var(--portal-green); background: rgba(13,104,54,.09); }
.agn-activation-cta {
  padding: 22px;
  display: grid;
  gap: 14px;
}
.agn-activation-cta > div > strong { display: block; margin-bottom: 6px; font-size: 16px; }
.agn-activation-cta > div > small { display: block; margin: 0; color: var(--portal-muted); font-size: 11px; line-height: 1.55; }
.agn-activation-cta .agn-portal-button { justify-self: start; width: fit-content; min-height: 46px; }
.agn-member-upgrade-note {
  list-style: none;
  margin: 0;
  padding: 0 22px 22px;
  display: grid;
  gap: 10px;
}
.agn-member-upgrade-note li {
  display: grid;
  gap: 5px;
  border: 1px solid var(--portal-border);
  border-radius: 13px;
  padding: 12px 14px;
  background: var(--portal-soft);
}
.agn-member-upgrade-note li > span {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--portal-muted);
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.agn-member-upgrade-note li > span .f7-icons { color: var(--portal-green); font-size: 14px; }
.agn-member-upgrade-note li > strong { font-size: 12px; }
.agn-member-upgrade-note li > small { color: var(--portal-muted); font-size: 10px; }

@media (max-width: 980px) {
  .agn-member-dashboard-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .agn-referral-link-control > div { grid-template-columns: 1fr 1fr; }
  .agn-referral-link-control input { grid-column: 1 / -1; }
  .agn-genealogy-controls { grid-template-columns: 1fr; }
  .agn-network-toolbar { align-items: flex-start; flex-direction: column; }
  .agn-network-toolbar-actions { width: 100%; display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); }
  .agn-network-toolbar-actions button { min-height: 46px; padding-inline: 5px; }
  .agn-network-toolbar-actions button span { display: none; }
}
@media (max-width: 520px) {
  .agn-referral-link-control { padding: 18px; }
  .agn-referral-link-control > div { grid-template-columns: 1fr; }
  .agn-referral-link-control input { grid-column: auto; font-size: 9px; }
  .agn-referral-link-control .agn-portal-button { width: 100%; }
  .agn-referral-code-row { grid-template-columns: 1fr; padding: 0 18px 18px; }
  .agn-activation-content { padding: 18px; }
  .agn-activation-wallet-summary { padding: 0 18px 18px; }
  .agn-referral-share-grid { padding: 0 18px 18px; }
  .agn-placement-required { margin: 0 18px 18px; }
  .agn-member-heading { margin-bottom: 18px; }
  .agn-activation-cta { padding: 18px; }
  .agn-member-upgrade-note { padding: 0 18px 18px; }
  .agn-activation-cta .agn-portal-button { width: 100%; }
}

/* v57 — Admin developer-fee payable */
.agn-developer-fee-forms { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.agn-developer-fee-due {
  border-color: color-mix(in srgb, var(--portal-gold) 42%, var(--portal-border));
  background: linear-gradient(145deg, color-mix(in srgb, var(--portal-gold) 8%, var(--portal-surface)), var(--portal-surface));
}
.agn-input-suffix {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
}
.agn-input-suffix > input {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 12px 48px 12px 14px;
  border: 1px solid var(--portal-border);
  border-radius: 12px;
  color: var(--portal-text);
  background: var(--portal-surface);
  font: inherit;
}
.agn-input-suffix > input:focus {
  border-color: var(--portal-gold);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(240, 196, 84, .14);
}
.agn-input-suffix > span {
  position: absolute;
  right: 14px;
  color: var(--portal-muted);
  font-size: 13px;
  font-weight: 800;
  pointer-events: none;
}
.agn-account-form :is(input, select, textarea):disabled,
.agn-account-form button:disabled {
  cursor: not-allowed;
  opacity: .58;
}
@media (max-width: 760px) {
  .agn-developer-fee-forms { grid-template-columns: 1fr; }
  .agn-developer-fee-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 430px) {
  .agn-developer-fee-stats { grid-template-columns: 1fr; }
}

/* Admin account administration layout repair - v42 */
.agn-form-field > label:not(.agn-consent) > input {
  width: 100%;
  min-height: 50px;
  display: block;
  margin-top: 8px;
  padding: 11px 14px;
  border: 1px solid var(--portal-border);
  border-radius: 13px;
  color: var(--portal-ink);
  background: var(--portal-soft);
  font: inherit;
  font-weight: 400;
  line-height: 1.35;
  box-sizing: border-box;
}
.agn-form-field > label:not(.agn-consent) > input:focus {
  border-color: var(--portal-gold);
  background: var(--portal-surface);
  box-shadow: 0 0 0 3px rgba(240,196,84,.14);
  outline: 0;
}
.agn-member-create-panel { border-top: 1px solid var(--portal-border); background: linear-gradient(180deg, rgba(13,104,54,.035), transparent 120px); }
.agn-member-create-panel > summary,
.agn-remediation-item > summary {
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 15px 21px;
  color: var(--portal-ink);
  cursor: pointer;
  list-style: none;
  touch-action: manipulation;
}
.agn-member-create-panel > summary::-webkit-details-marker,
.agn-remediation-item > summary::-webkit-details-marker { display: none; }
.agn-member-create-panel > summary > span { min-width: 0; display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 12px; align-items: center; }
.agn-member-create-panel > summary > span > .f7-icons { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: var(--portal-green); background: rgba(13,104,54,.1); }
.agn-member-create-panel summary strong,
.agn-remediation-item summary strong { display: block; font-size: 13px; line-height: 1.35; }
.agn-member-create-panel summary small,
.agn-remediation-item summary small { display: block; margin-top: 3px; color: var(--portal-muted); font-size: 11px; line-height: 1.45; }
.agn-details-chevron { flex: 0 0 auto; color: var(--portal-muted); font-size: 16px; transition: transform .18s ease; }
details[open] > summary .agn-details-chevron { transform: rotate(180deg); }
.agn-member-account-form { padding-top: 20px; border-top: 1px solid var(--portal-border); }
.agn-member-account-form > .agn-portal-button { width: 100%; margin-top: 20px; }
.agn-account-table td { vertical-align: top; }
.agn-account-table td[data-label="Account"] { min-width: 190px; }
.agn-account-table td[data-label="Member identity"] { min-width: 205px; }
.agn-account-table td[data-label="Security"] { min-width: 180px; }
.agn-account-table td[data-label="Controls"] { min-width: 240px; }
.agn-account-actions { align-items: stretch; flex-wrap: wrap; }
.agn-account-actions > form,
.agn-account-actions > details { flex: 1 1 104px; }
.agn-account-actions .agn-table-action,
.agn-account-actions summary { width: 100%; min-height: 44px; justify-content: center; text-align: center; }
.agn-current-account { min-height: 38px; display: inline-flex; align-items: center; }
.agn-remediation-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; padding: 18px; }
.agn-remediation-item { min-width: 0; overflow: hidden; border: 1px solid var(--portal-border); border-radius: 15px; background: var(--portal-surface); }
.agn-remediation-item > summary { padding-inline: 16px; border-bottom: 1px solid transparent; }
.agn-remediation-item[open] > summary { border-bottom-color: var(--portal-border); }
.agn-remediation-item > p { margin: 16px 18px 0; padding: 12px 14px; border-radius: 11px; color: #963434; background: rgba(185,57,57,.08); font-size: 12px; line-height: 1.55; }
.agn-remediation-item .agn-account-form { padding: 18px; }
.agn-remediation-item .agn-account-form > .agn-portal-button { width: 100%; margin-top: 18px; }

@media (max-width: 1480px) {
  .agn-account-table-wrap { overflow: visible; padding: 14px; }
  .agn-account-table,
  .agn-account-table thead,
  .agn-account-table tbody,
  .agn-account-table tr,
  .agn-account-table th,
  .agn-account-table td { display: block; width: 100%; }
  .agn-account-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  .agn-account-table tbody { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
  .agn-account-table tr { min-width: 0; overflow: hidden; border: 1px solid var(--portal-border); border-radius: 16px; background: var(--portal-surface); box-shadow: 0 8px 22px rgba(15,23,42,.035); }
  .agn-account-table td,
  .agn-account-table td[data-label] { min-width: 0; display: grid; grid-template-columns: minmax(112px,.35fr) minmax(0,.65fr); gap: 14px; align-items: start; padding: 12px 14px; border-top: 1px solid var(--portal-border); white-space: normal; overflow-wrap: anywhere; }
  .agn-account-table td:first-child { border-top: 0; }
  .agn-account-table td::before { content: attr(data-label); color: var(--portal-muted); font-size: 10px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
  .agn-account-table td[colspan] { grid-column: 1 / -1; }
}

@media (max-width: 1100px) {
  .agn-account-table tbody { grid-template-columns: 1fr; }
  .agn-remediation-grid { grid-template-columns: 1fr; }
  .agn-role-boundaries { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .agn-role-boundaries article { grid-template-columns: 42px minmax(0,1fr); }
}

@media (max-width: 700px) {
  .agn-role-boundaries { grid-template-columns: 1fr; }
  .agn-account-filters { flex-wrap: nowrap; overflow-x: auto; padding: 12px 14px; scrollbar-width: thin; }
  .agn-account-filters a { flex: 0 0 auto; min-height: 44px; }
  .agn-remediation-grid { padding: 14px; }
}

@media (max-width: 520px) {
  .agn-member-create-panel > summary { padding: 14px 16px; }
  .agn-member-create-panel > summary > span { grid-template-columns: 38px minmax(0,1fr); gap: 10px; }
  .agn-member-create-panel > summary > span > .f7-icons { width: 38px; height: 38px; }
  .agn-account-table-wrap { padding: 10px; }
  .agn-account-table td,
  .agn-account-table td[data-label] { grid-template-columns: 1fr; gap: 6px; padding: 11px 12px; }
  .agn-account-actions { display: grid; grid-template-columns: 1fr; }
  .agn-account-actions > form,
  .agn-account-actions > details { width: 100%; }
  .agn-remediation-item .agn-account-form { padding: 16px; }
}

@media (max-width: 880px) {
  .agn-genealogy-summary { display: flex; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; }
  .agn-genealogy-summary article { flex: 0 0 min(82vw, 310px); scroll-snap-align: start; }
  .agn-genealogy-workspace { grid-template-columns: 1fr; }
  .agn-placement-setting { border-right: 0; border-bottom: 1px solid var(--portal-border); }
  .agn-genealogy-tree-shell { min-height: 560px; border-right: 0; border-bottom: 1px solid var(--portal-border); }
  .agn-genealogy-canvas { height: 72svh; min-height: 560px; max-height: 760px; }
  .agn-genealogy-side { max-height: none; overflow: visible; }
  .agn-genealogy-node-details { position: static; }
}

@media (max-width: 640px) {
  .agn-genealogy-summary,
  .agn-genealogy-controls,
  .agn-placement-setting,
  .agn-tree-children,
  .agn-genealogy-node-details,
  .agn-binary-children { padding: 18px; }
  .agn-genealogy-search-wrap,
  .agn-genealogy-search-wrap input { font-size: 13px; }
  .agn-genealogy-search-result { grid-template-columns: 1fr; }
  .agn-genealogy-search-results { margin-inline: 18px; }
  .agn-tree-node-footer { display: grid; grid-template-columns: 1fr; gap: 5px; }
  .agn-genealogy-tab { flex: 1 1 calc(50% - 5px); min-width: 0; justify-content: center; }
  .agn-genealogy-tab span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .agn-genealogy-canvas { height: 68svh; min-height: 520px; max-height: 680px; padding: 24px 14px 44px; scrollbar-gutter: auto; }
  .agn-genealogy-canvas[data-scope="binary"] > .agn-tree { min-width: var(--agn-tree-width, 920px); }
  .agn-genealogy-canvas[data-scope="sponsor"] > .agn-tree { min-width: 620px; }
  .agn-placement-options,
  .agn-direct-referral-list { grid-template-columns: 1fr; }
  .agn-placement-setting > .agn-portal-button { width: 100%; }
  .agn-direct-referrals-heading { align-items: flex-start; padding: 18px; }
  .agn-referral-list-body,
  .agn-direct-referral-list { padding: 0 18px 18px; }
  .agn-direct-referral-list article { padding: 15px; }
}

@media (max-width: 420px) {
  .agn-genealogy-summary { padding: 14px; gap: 10px; }
  .agn-genealogy-summary article { flex-basis: min(86vw, 292px); padding: 13px; }
  .agn-genealogy-controls { padding: 14px; }
  .agn-genealogy-tab { min-height: 50px; padding-inline: 9px; }
  .agn-network-toolbar { padding: 11px 14px; }
  .agn-network-toolbar-actions { gap: 5px; }
  .agn-network-toolbar-actions button { min-height: 50px; border-radius: 12px; }
  .agn-network-toolbar-actions .f7-icons { font-size: 18px; }
  .agn-genealogy-feedback { padding: 12px 14px 0; }
  .agn-tree-node { min-height: 92px; }
}

/* Centered sign-out experience — v1 */
.agn-logout-body {
  min-height: 100vh;
  min-height: 100dvh;
  overflow-x: hidden;
}
.agn-auth-shell.agn-logout-shell {
  width: 100%;
  max-width: none;
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  margin: 0;
  padding: max(24px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));
}
.agn-logout-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: min(100%, 560px);
  max-width: 560px;
  margin: 0;
  padding: clamp(30px, 6vw, 52px);
}
.agn-logout-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, var(--portal-green), var(--portal-gold));
}
.agn-logout-brand {
  width: 92px;
  height: 92px;
  display: grid;
  place-items: center;
  margin: 0 auto 20px;
  padding: 10px;
  border: 1px solid var(--portal-border);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(0, 34, 79, .12);
}
.agn-logout-brand img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.agn-logout-card h1 {
  margin: 12px 0 12px;
  color: var(--portal-ink);
  font-size: clamp(30px, 5vw, 44px);
  line-height: 1.08;
  letter-spacing: -.045em;
}
.agn-logout-card > p {
  max-width: 440px;
  margin: 0 auto 22px;
  color: var(--portal-muted);
  font-size: 15px;
  line-height: 1.65;
}
.agn-logout-card > p strong { color: var(--portal-ink); }
.agn-logout-assurance {
  max-width: 440px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: 0 auto 24px;
  padding: 13px 15px;
  border: 1px solid rgba(13, 104, 54, .18);
  border-radius: 15px;
  text-align: left;
  background: rgba(13, 104, 54, .07);
}
.agn-logout-assurance > .f7-icons {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--portal-green);
  background: rgba(13, 104, 54, .1);
}
.agn-logout-assurance strong,
.agn-logout-assurance small { display: block; }
.agn-logout-assurance strong { color: var(--portal-ink); font-size: 13px; }
.agn-logout-assurance small { margin-top: 3px; color: var(--portal-muted); font-size: 11px; line-height: 1.45; }
.agn-auth-card .agn-logout-actions {
  max-width: 440px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 0 auto;
}
.agn-logout-actions .agn-portal-button {
  width: 100%;
  min-width: 0;
  min-height: 52px;
}
html.dark .agn-logout-brand { border-color: rgba(255,255,255,.16); }
html.dark .agn-logout-assurance { border-color: rgba(105,214,154,.25); background: rgba(105,214,154,.08); }
html.dark .agn-logout-assurance > .f7-icons { color: #8ae7b2; background: rgba(105,214,154,.12); }

@media (max-width: 560px) {
  .agn-auth-shell.agn-logout-shell {
    align-items: center;
    padding-right: max(12px, env(safe-area-inset-right));
    padding-left: max(12px, env(safe-area-inset-left));
  }
  .agn-logout-card {
    padding: 30px 20px 22px;
    border-radius: 22px;
  }
  .agn-logout-brand {
    width: 78px;
    height: 78px;
    margin-bottom: 17px;
    border-radius: 22px;
  }
  .agn-logout-card h1 { font-size: clamp(28px, 9vw, 36px); }
  .agn-logout-card > p { font-size: 14px; }
  .agn-auth-card .agn-logout-actions { grid-template-columns: 1fr; }
  .agn-logout-actions .agn-portal-button { min-height: 54px; }
}

@media (max-height: 560px) and (orientation: landscape) {
  .agn-auth-shell.agn-logout-shell { align-items: start; padding-block: 14px; }
  .agn-logout-card { padding-block: 24px 20px; }
  .agn-logout-brand { width: 64px; height: 64px; margin-bottom: 12px; border-radius: 18px; }
  .agn-logout-card h1 { margin-block: 8px; font-size: 28px; }
  .agn-logout-card > p { margin-bottom: 14px; }
  .agn-logout-assurance { margin-bottom: 16px; padding-block: 10px; }
}

/* Compensation plan — grouped business controls and stable summary cards. */
.agn-compensation-layout {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  gap: 20px;
  align-items: start;
}
.agn-compensation-form-card,
.agn-compensation-form,
.agn-compensation-sections,
.agn-compensation-section { min-width: 0; }
.agn-compensation-form { padding: 20px; }
.agn-compensation-sections {
  display: grid;
  gap: 18px;
}
.agn-compensation-section {
  overflow: hidden;
  border: 1px solid var(--portal-border);
  border-radius: 18px;
  background: var(--portal-surface);
  box-shadow: 0 8px 24px rgba(17, 24, 39, .04);
}
.agn-compensation-section-heading {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 13px;
  align-items: start;
  padding: 17px 18px;
  border-bottom: 1px solid var(--portal-border);
  background: var(--portal-surface-soft);
}
.agn-compensation-section-heading > div { min-width: 0; }
.agn-compensation-section-heading h3 {
  margin: 3px 0 4px;
  color: var(--portal-text);
  font-size: clamp(17px, 1.6vw, 20px);
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.agn-compensation-section-heading p {
  margin: 0;
  color: var(--portal-muted);
  font-size: 13px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.agn-compensation-section-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  color: var(--portal-accent);
  background: color-mix(in srgb, var(--portal-accent) 12%, var(--portal-surface));
}
.agn-compensation-section-icon .f7-icons { font-size: 21px; }
.agn-compensation-section > .agn-form-grid {
  margin: 0;
  padding: 18px;
}
.agn-compensation-form .agn-form-field,
.agn-compensation-form .agn-form-field > * { min-width: 0; }
.agn-compensation-form .agn-money-input {
  grid-template-columns: 58px minmax(0, 1fr);
}
.agn-compensation-form .agn-money-input > span {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  white-space: nowrap;
}
.agn-compensation-confirmation {
  border-color: color-mix(in srgb, var(--portal-accent) 32%, var(--portal-border));
}
.agn-compensation-confirmation .agn-compensation-section-heading {
  background: color-mix(in srgb, var(--portal-accent) 7%, var(--portal-surface));
}
.agn-compensation-form > .agn-account-form-footer {
  margin: 20px -20px -20px;
  padding: 18px 20px;
}
.agn-compensation-form > .agn-account-form-footer > .agn-portal-button {
  align-self: center;
  min-height: 50px;
}
.agn-compensation-summary {
  position: sticky;
  top: 92px;
  display: grid;
  gap: 11px;
}
.agn-compensation-summary article {
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: start;
  gap: 11px 12px;
}
.agn-compensation-summary article > i {
  grid-row: 1 / span 2;
  width: 44px;
  height: 44px;
}
.agn-compensation-summary article > span:not(.agn-status-pill) { min-width: 0; }
.agn-compensation-summary article > .agn-status-pill {
  grid-column: 2;
  justify-self: start;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}

@media (max-width: 1180px) {
  .agn-compensation-layout { grid-template-columns: 1fr; }
  .agn-compensation-summary {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .agn-compensation-form { padding: 14px; }
  .agn-compensation-sections { gap: 14px; }
  .agn-compensation-section-heading {
    grid-template-columns: 44px minmax(0, 1fr);
    padding: 15px;
  }
  .agn-compensation-section-icon { width: 44px; height: 44px; }
  .agn-compensation-section > .agn-form-grid {
    grid-template-columns: minmax(0, 1fr);
    padding: 15px;
  }
  .agn-compensation-form > .agn-account-form-footer {
    margin: 16px -14px -14px;
    padding: 15px 14px max(15px, env(safe-area-inset-bottom));
  }
  .agn-compensation-form > .agn-account-form-footer .agn-portal-button {
    width: 100%;
    justify-content: center;
  }
  .agn-compensation-summary { grid-template-columns: 1fr; }
}

@media (max-width: 380px) {
  .agn-compensation-form { padding: 10px; }
  .agn-compensation-section-heading {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 10px;
    padding: 13px;
  }
  .agn-compensation-section-icon { width: 40px; height: 40px; border-radius: 12px; }
  .agn-compensation-section > .agn-form-grid { padding: 13px; }
  .agn-compensation-form > .agn-account-form-footer { margin-inline: -10px; }
}

/* Branding-aware Web Push controls - v41 */
.agn-notification-page-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 20px; align-items: start; }
.agn-push-optin-card { min-width: 0; }
.agn-push-device-state { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 15px; align-items: center; margin: 18px; padding: 20px; border: 1px solid var(--portal-border); border-radius: 15px; background: var(--portal-soft); }
.agn-push-device-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 17px; color: #fff; background: linear-gradient(145deg, var(--portal-green), #15935a); box-shadow: 0 10px 22px rgba(13,104,54,.2); }
.agn-push-device-icon .f7-icons { font-size: 27px; }
.agn-push-device-state strong { display: block; color: var(--portal-ink); font-size: 16px; line-height: 1.3; }
.agn-push-device-state small { display: block; margin-top: 5px; color: var(--portal-muted); font-size: 12px; line-height: 1.55; }
[data-push-mode="blocked"] .agn-push-device-icon,
[data-push-mode="unsupported"] .agn-push-device-icon { background: linear-gradient(145deg, #a63232, #d45252); box-shadow: 0 10px 22px rgba(166,50,50,.18); }
[data-push-mode="disabled"] .agn-push-device-icon { color: var(--portal-muted); background: var(--portal-border); box-shadow: none; }
.agn-push-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 18px 12px; }
.agn-push-actions .agn-portal-button { flex: 1 1 220px; }
.agn-push-optin-card > .agn-field-help { display: block; margin: 0 18px 20px; }
.agn-notification-event-list > div { width: 100%; min-height: 76px; display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 11px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--portal-border); }
.agn-notification-event-list > div:last-child { border-bottom: 0; }
.agn-notification-event-list > div > .f7-icons { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; color: var(--portal-green); background: rgba(13,104,54,.09); }
.agn-foundation-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 18px; }
.agn-foundation-list article { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 12px; padding: 16px; border: 1px solid var(--portal-border); border-radius: 13px; background: var(--portal-soft); }
.agn-foundation-list article > .f7-icons { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: var(--portal-green); background: rgba(13,104,54,.1); }
.agn-foundation-list strong { color: var(--portal-ink); font-size: 13px; }
.agn-foundation-list p { margin: 5px 0 0; color: var(--portal-muted); font-size: 11px; line-height: 1.55; }
.agn-push-manage-link { width: calc(100% - 36px); margin: 18px; }
.agn-push-tool-form { margin-top: 4px; border-top: 1px solid var(--portal-border); }
.agn-push-danger-form { margin-top: 0; border-top: 1px solid var(--portal-border); }
.agn-portal-button-danger { color: #fff; border-color: #a63232; background: #a63232; }
.agn-portal-button-danger:hover { border-color: #872626; background: #872626; transform: translateY(-1px); }
.agn-status-expired { color: #6d5d37; background: rgba(171,132,50,.14); }
.agn-status-expired::before { background: #ab8432; }
html.dark .agn-status-expired { color: #e9ce8a; }

@media (max-width: 900px) {
  .agn-notification-page-grid { grid-template-columns: 1fr; }
  .agn-foundation-list { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .agn-push-device-state { grid-template-columns: 48px minmax(0, 1fr); margin: 14px; padding: 16px; }
  .agn-push-device-icon { width: 48px; height: 48px; border-radius: 14px; }
  .agn-push-device-icon .f7-icons { font-size: 23px; }
  .agn-push-actions { margin-inline: 14px; }
  .agn-push-actions .agn-portal-button { width: 100%; flex-basis: 100%; }
  .agn-push-optin-card > .agn-field-help { margin-inline: 14px; }
  .agn-foundation-list { padding: 14px; }
}

/* Email service */
.agn-email-service-grid { align-items: start; }
.agn-toggle-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 20px; padding: 16px; border: 1px solid var(--portal-border); border-radius: 12px; background: var(--portal-soft); cursor: pointer; }
.agn-toggle-row > span:first-child { display: grid; gap: 4px; min-width: 0; }
.agn-toggle-row strong { color: var(--portal-ink); font-size: 14px; }
.agn-toggle-row small { color: var(--portal-muted); font-size: 12px; line-height: 1.5; }
.agn-toggle { position: relative; flex: 0 0 50px; width: 50px; height: 28px; }
.agn-toggle input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.agn-toggle i { position: absolute; inset: 0; border-radius: 999px; background: #a8b2bd; transition: background .2s ease; }
.agn-toggle i::after { content: ""; position: absolute; top: 4px; left: 4px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(15,23,42,.25); transition: transform .2s ease; }
.agn-toggle input:checked + i { background: var(--portal-green); }
.agn-toggle input:checked + i::after { transform: translateX(22px); }
.agn-toggle input:focus-visible + i { outline: 3px solid color-mix(in srgb, var(--portal-green) 28%, transparent); outline-offset: 3px; }
.agn-inline-action { display: flex; align-items: center; gap: 8px; margin-top: 9px; }
.agn-inline-action input { min-width: 140px; min-height: 42px; padding: 9px 11px; border: 1px solid var(--portal-border); border-radius: 9px; background: var(--portal-surface); color: var(--portal-ink); }
.agn-inline-action .agn-portal-button { min-height: 42px; padding: 9px 13px; }
.agn-status-sent { color: #176b45; background: rgba(32, 151, 98, .13); }
.agn-status-sent::before { background: #209762; }
.agn-status-failed { color: #a73333; background: rgba(201, 61, 61, .12); }
.agn-status-failed::before { background: #c93d3d; }
.agn-status-processing { color: #315d9b; background: rgba(52, 105, 176, .12); }
.agn-status-processing::before { background: #3469b0; }
html.dark .agn-status-sent { color: #79d9ad; }
html.dark .agn-status-failed { color: #ff9b9b; }
html.dark .agn-status-processing { color: #9ec5ff; }

@media (max-width: 640px) {
  .agn-inline-action { align-items: stretch; flex-direction: column; }
  .agn-inline-action input,
  .agn-inline-action .agn-portal-button { width: 100%; }
}

/* Landing content administration */
.agn-content-editor { overflow: visible; }
.agn-content-editor > .agn-account-form { display: grid; gap: 14px; }
.agn-content-section { border: 1px solid var(--portal-border); border-radius: 16px; background: var(--portal-surface); overflow: hidden; }
.agn-content-section > summary { min-height: 64px; padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; list-style: none; color: var(--portal-navy); }
.agn-content-section > summary::-webkit-details-marker { display: none; }
.agn-content-section > summary > span { min-width: 0; display: grid; grid-template-columns: 36px minmax(0,1fr); align-items: center; column-gap: 12px; }
.agn-content-section > summary > span > .f7-icons { grid-row: 1 / 3; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; color: var(--portal-green); background: color-mix(in srgb, var(--portal-green) 10%, transparent); font-size: 18px; }
.agn-content-section > summary strong { font-size: 15px; line-height: 1.25; }
.agn-content-section > summary small { color: var(--portal-muted); font-size: 12px; line-height: 1.35; }
.agn-content-chevron { flex: 0 0 auto; font-size: 16px; transition: transform .2s ease; }
.agn-content-section[open] .agn-content-chevron { transform: rotate(180deg); }
.agn-content-section-body { padding: 18px; border-top: 1px solid var(--portal-border); }
.agn-content-section .agn-form-field textarea { min-height: 96px; resize: vertical; }
.agn-content-product { min-width: 0; margin: 0 0 18px; padding: 18px; border: 1px solid var(--portal-border); border-radius: 14px; }
.agn-content-product:last-child { margin-bottom: 0; }
.agn-content-product legend { padding: 0 8px; color: var(--portal-navy); font-weight: 700; }
.agn-content-publish { position: sticky; bottom: 12px; z-index: 4; display: grid; grid-template-columns: minmax(220px,1fr) minmax(240px,320px) auto; align-items: end; gap: 14px; padding: 16px; border: 1px solid var(--portal-border); border-radius: 16px; background: color-mix(in srgb, var(--portal-surface) 94%, transparent); box-shadow: 0 12px 36px rgba(3,22,42,.13); backdrop-filter: blur(14px); }
.agn-content-publish .agn-portal-note { margin: 0; }
.agn-content-password { margin: 0; }
.agn-content-publish > .agn-portal-button { min-height: 48px; white-space: nowrap; }
html.dark .agn-content-section > summary { color: var(--portal-ink); }
html.dark .agn-content-product legend { color: var(--portal-ink); }

@media (max-width: 900px) {
  .agn-content-publish { position: static; grid-template-columns: 1fr; }
  .agn-content-publish > .agn-portal-button { width: 100%; justify-content: center; }
}

@media (max-width: 640px) {
  .agn-content-section > summary { padding: 12px 14px; min-height: 62px; }
  .agn-content-section-body { padding: 14px; }
  .agn-content-product { padding: 14px; }
}

@media (max-width: 360px) {
  .agn-referral-share-grid { grid-template-columns: 1fr; }
}

/* Form controls and action spacing consistency - v34 */
.agn-portal-button {
  min-height: 50px;
  height: auto;
  padding: 11px 20px;
  line-height: 1.35;
  text-align: center;
  white-space: normal;
}
.agn-portal-button > .f7-icons,
.agn-portal-button > i {
  flex: 0 0 auto;
}
.agn-account-form,
.agn-wallet-transfer-form,
.agn-auth-card form {
  row-gap: 20px;
}
.agn-form-grid {
  column-gap: 18px;
  row-gap: 20px;
}
.agn-form-field label,
.agn-form-legend {
  margin-bottom: 8px;
  line-height: 1.4;
}
.agn-form-field > input,
.agn-form-field > select,
.agn-input-wrap input,
.agn-reset-form input,
.agn-wallet-request-note input {
  min-height: 50px;
  padding-top: 11px;
  padding-bottom: 11px;
  line-height: 1.35;
}
.agn-form-field textarea {
  min-height: 104px;
  padding: 13px 14px;
}
.agn-money-input > span {
  min-height: 50px;
  padding: 8px;
  line-height: 1;
}
.agn-money-input input {
  min-height: 50px;
  padding: 11px 14px;
  line-height: 1.35;
}
.agn-field-help {
  margin-top: 7px;
}
.agn-account-form-footer,
.agn-registration-controls {
  margin-top: 22px;
  gap: 12px;
}
.agn-admin-card-header > a:not(.agn-portal-icon-button),
.agn-admin-card-header .agn-portal-button {
  justify-content: center;
  padding: 10px 14px;
  border-radius: 10px;
  line-height: 1.3;
  text-align: center;
}
.agn-table-action,
.agn-account-actions summary {
  justify-content: center;
  padding: 10px 13px;
  line-height: 1.3;
  text-align: center;
}
.agn-loading-quick-amounts button,
.agn-withdrawal-quick-amounts button {
  min-height: 42px;
  padding: 9px 11px;
  line-height: 1.25;
}
.agn-mfa-steps button,
.agn-mfa-steps a {
  min-height: 42px;
  justify-content: center;
  padding: 10px 13px;
  line-height: 1.3;
  text-align: center;
}
.agn-referral-link-control > div {
  align-items: stretch;
}
.agn-referral-link-control .agn-portal-button {
  padding-inline: 17px;
}

@media (max-width: 640px) {
  .agn-portal-button {
    min-height: 50px;
    padding: 12px 16px;
  }
  .agn-account-form {
    padding: 18px 16px;
  }
  .agn-form-grid {
    gap: 18px;
  }
  .agn-account-form-footer,
  .agn-registration-controls,
  .agn-registration-controls > div {
    gap: 10px;
  }
  .agn-admin-card-header > a:not(.agn-portal-icon-button),
  .agn-admin-card-header .agn-portal-button,
  .agn-table-action {
    min-height: 46px;
    padding: 11px 14px;
  }
  .agn-loading-quick-amounts button,
  .agn-withdrawal-quick-amounts button {
    min-height: 46px;
  }
}

/* Theme-independent genealogy canvas and larger full-screen explorer — v2 */
.agn-genealogy-tree-shell {
  --portal-surface: #fff;
  --portal-soft: #f7faf8;
  --portal-ink: #14251c;
  --portal-muted: #617068;
  --portal-border: #d9e3dd;
  --portal-border-soft: #edf2ef;
  color: #14251c;
  background-color: #fff;
  background-image:
    radial-gradient(circle at 50% 0, rgba(13,104,54,.075), transparent 34%),
    linear-gradient(rgba(13,104,54,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(13,104,54,.035) 1px, transparent 1px);
}
.agn-genealogy-tree-shell .agn-network-scroll-hint {
  color: #52645a;
  background: rgba(255,255,255,.94);
}
.agn-genealogy-tree-shell .agn-genealogy-canvas { background-color: transparent; }
.agn-genealogy-tree-shell .agn-tree-node,
.agn-genealogy-tree-shell .agn-tree-branch-toggle { color: #14251c; background: #fff; }
.agn-genealogy-tree-shell .agn-tree-node-header small,
.agn-genealogy-tree-shell .agn-tree-node-footer,
.agn-genealogy-tree-shell .agn-tree-branch-toggle { color: #617068; }
.agn-genealogy-tree-shell .agn-tree-empty { color: #617068; background: #f7faf8; }
.agn-genealogy-tree-shell .agn-tree-empty strong { color: #14251c; }

html.genealogy-expanded,
html.genealogy-expanded body { overflow: hidden; }

:is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) {
  --portal-bg: #fff;
  --portal-surface: #fff;
  --portal-soft: #f7faf8;
  --portal-ink: #14251c;
  --portal-muted: #617068;
  --portal-border: #d9e3dd;
  --portal-border-soft: #edf2ef;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  max-width: none;
  max-height: none;
  display: flex;
  flex-direction: column;
  margin: 0;
  border: 0;
  border-radius: 0;
  color: #14251c;
  background: #fff;
  box-shadow: none;
  overflow: hidden;
}
.agn-genealogy-card.is-expanded { inset: 0; z-index: 1100; }
:is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) > .agn-admin-card-header,
:is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) > .agn-genealogy-summary,
:is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) > .agn-genealogy-feedback,
:is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) > .agn-genealogy-search-results[hidden] { display: none; }
:is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-controls {
  flex: 0 0 auto;
  padding: 12px 16px;
  border-color: #d9e3dd;
  background: #fff;
}
:is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-network-toolbar {
  flex: 0 0 auto;
  padding: 9px 16px;
  border-color: #d9e3dd;
  background: #f7faf8;
}
:is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-workspace {
  flex: 1 1 auto;
  width: 100%;
  height: auto;
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) minmax(290px, 330px);
  overflow: hidden;
}
:is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-tree-shell {
  height: 100%;
  min-height: 0;
  overflow: hidden;
  border-color: #d9e3dd;
}
:is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-canvas {
  width: 100%;
  height: calc(100% - 36px);
  min-height: 0;
  max-height: none;
  padding: 28px 30px 56px;
}
:is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-side {
  height: 100%;
  max-height: none;
  overflow: auto;
  border-left: 1px solid #d9e3dd;
  background: #fff;
}
:is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-node-details {
  background: #fff;
}

@media (min-width: 1200px) {
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-workspace {
    grid-template-columns: minmax(0, 1fr) 320px;
  }
}

@media (max-width: 880px) {
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-controls {
    grid-template-columns: 1fr minmax(180px, 1.2fr) auto;
    gap: 8px;
    padding: 8px 10px;
  }
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-tabs {
    flex-wrap: nowrap;
    gap: 6px;
  }
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-tab {
    min-width: 0;
    min-height: 44px;
    padding: 8px 10px;
  }
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-network-toolbar {
    display: block;
    padding: 7px 10px;
  }
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-network-toolbar > div:first-child { display: none; }
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-network-toolbar-actions {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 5px;
  }
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-network-toolbar-actions button {
    min-height: 46px;
    padding: 7px 5px;
  }
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-workspace {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr) auto;
  }
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-tree-shell {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid #d9e3dd;
  }
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-canvas {
    height: calc(100% - 36px);
    min-height: 0;
    max-height: none;
    padding: 22px 14px 46px;
  }
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-side {
    height: auto;
    max-height: 170px;
    overflow: auto;
    border-top: 1px solid #d9e3dd;
    border-left: 0;
  }
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-side > :not(.agn-genealogy-node-details) { display: none; }
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-node-details {
    position: static;
    min-height: 0;
    margin: 10px;
    padding: 12px;
  }
}

@media (max-width: 640px) {
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-controls {
    grid-template-columns: 1fr auto;
  }
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-tabs {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-search-wrap { height: 42px; }
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-depth-wrap span { display: none; }
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-side { max-height: 150px; }
}

@media (max-height: 600px) and (orientation: landscape) {
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-controls { padding-block: 6px; }
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-tab,
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-network-toolbar-actions button { min-height: 40px; }
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-workspace {
    grid-template-columns: minmax(0, 1fr) 250px;
    grid-template-rows: minmax(0, 1fr);
  }
  :is(.agn-genealogy-card:fullscreen, .agn-genealogy-card.is-expanded) .agn-genealogy-side {
    height: 100%;
    max-height: none;
    border-top: 0;
    border-left: 1px solid #d9e3dd;
  }
}

/* Guided registration-to-activation onboarding */
.agn-onboarding-overview,
.agn-registration-handoff { margin-bottom: 20px; overflow: hidden; }
.agn-onboarding-progress { height: 7px; margin: 0 24px; overflow: hidden; border-radius: 999px; background: var(--portal-border); }
.agn-onboarding-progress > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--portal-green), var(--portal-gold)); transition: width .35s ease; }
.agn-onboarding-steps { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 20px 24px; }
.agn-onboarding-steps li { min-width: 0; display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 10px; align-items: center; padding: 13px; border: 1px solid var(--portal-border); border-radius: 14px; background: var(--portal-soft); }
.agn-onboarding-steps li > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: var(--portal-muted); background: var(--portal-surface); }
.agn-onboarding-steps li > span .f7-icons { font-size: 18px; }
.agn-onboarding-steps strong,
.agn-onboarding-steps small { display: block; }
.agn-onboarding-steps strong { color: var(--portal-ink); font-size: 10px; }
.agn-onboarding-steps small { margin-top: 3px; color: var(--portal-muted); font-size: 8px; line-height: 1.4; }
.agn-onboarding-steps li.is-complete { border-color: rgba(13,104,54,.2); background: rgba(13,104,54,.055); }
.agn-onboarding-steps li.is-complete > span { color: #fff; background: var(--portal-green); }
.agn-onboarding-steps li.is-current { border-color: var(--portal-gold); box-shadow: 0 0 0 3px rgba(210,160,27,.1); }
.agn-onboarding-steps li.is-current > span { color: #5b4300; background: var(--portal-gold-light); }
.agn-onboarding-next { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 0 24px 24px; padding: 14px 16px; border-radius: 14px; color: #fff; background: linear-gradient(135deg, #063f27, var(--portal-green)); }
.agn-onboarding-next small,
.agn-onboarding-next strong { display: block; }
.agn-onboarding-next small { font-size: 8px; font-weight: 850; letter-spacing: .1em; opacity: .75; }
.agn-onboarding-next strong { margin-top: 4px; font-size: 11px; }
.agn-onboarding-next em { flex: 0 0 auto; padding: 7px 10px; border-radius: 999px; color: #fff; background: rgba(255,255,255,.14); font-size: 9px; font-style: normal; font-weight: 800; }
.agn-onboarding-identity { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0 20px 20px; }
.agn-onboarding-identity > span { min-width: 0; padding: 13px; border: 1px solid var(--portal-border); border-radius: 13px; }
.agn-onboarding-identity small,
.agn-onboarding-identity strong,
.agn-onboarding-identity em { display: block; overflow-wrap: anywhere; }
.agn-onboarding-identity small { color: var(--portal-muted); font-size: 8px; font-weight: 800; letter-spacing: .07em; }
.agn-onboarding-identity strong { margin-top: 5px; color: var(--portal-ink); font-size: 11px; }
.agn-onboarding-identity em { margin-top: 3px; color: var(--portal-muted); font-size: 9px; font-style: normal; }
.agn-activation-password { margin: 16px 0 14px; text-align: left; }
.agn-onboarding-waiting { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 12px; align-items: center; margin: 14px 0; padding: 14px; border: 1px solid rgba(210,160,27,.28); border-radius: 14px; background: rgba(210,160,27,.08); text-align: left; }
.agn-onboarding-waiting > .f7-icons { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: #5b4300; background: var(--portal-gold-light); font-size: 20px; }
.agn-onboarding-waiting strong,
.agn-onboarding-waiting small { display: block; }
.agn-onboarding-waiting strong { color: var(--portal-ink); font-size: 10px; }
.agn-onboarding-waiting small { margin-top: 4px; color: var(--portal-muted); font-size: 9px; line-height: 1.5; }
.agn-registration-handoff { border-color: rgba(13,104,54,.25); box-shadow: 0 12px 35px rgba(13,104,54,.08); }
.agn-registration-handoff-summary { display: grid; grid-template-columns: 46px minmax(0,1fr) minmax(145px,auto) auto; gap: 13px; align-items: center; margin: 0 22px; padding: 16px; border-radius: 15px; background: var(--portal-soft); }
.agn-registration-handoff-summary strong,
.agn-registration-handoff-summary small { display: block; overflow-wrap: anywhere; }
.agn-registration-handoff-summary strong { color: var(--portal-ink); font-size: 12px; }
.agn-registration-handoff-summary small { margin-top: 3px; color: var(--portal-muted); font-size: 9px; }
.agn-handoff-route { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; padding: 18px 22px; }
.agn-handoff-route article { min-width: 0; display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 9px; padding: 13px; border: 1px solid var(--portal-border); border-radius: 13px; }
.agn-handoff-route article > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 10px; color: var(--portal-green); background: rgba(13,104,54,.1); font-size: 9px; font-weight: 850; }
.agn-handoff-route article.is-complete > span { color: #fff; background: var(--portal-green); }
.agn-handoff-route strong,
.agn-handoff-route small { display: block; }
.agn-handoff-route strong { color: var(--portal-ink); font-size: 10px; }
.agn-handoff-route small { margin-top: 4px; color: var(--portal-muted); font-size: 8px; line-height: 1.45; }
.agn-registration-handoff-actions { display: flex; flex-wrap: wrap; gap: 9px; padding: 0 22px 18px; }
.agn-handoff-security { display: flex; gap: 9px; align-items: flex-start; margin: 0 22px 22px; padding: 12px 14px; border-radius: 12px; color: var(--portal-muted); background: var(--portal-soft); font-size: 9px; line-height: 1.5; }
.agn-handoff-security .f7-icons { flex: 0 0 auto; color: var(--portal-green); font-size: 17px; }

@media (max-width: 900px) {
  .agn-onboarding-steps,
  .agn-handoff-route { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .agn-onboarding-progress { margin-inline: 16px; }
  .agn-onboarding-steps { grid-template-columns: 1fr; padding: 16px; }
  .agn-onboarding-next { align-items: flex-start; margin: 0 16px 16px; }
  .agn-onboarding-identity { grid-template-columns: 1fr; padding-inline: 16px; }
  .agn-onboarding-waiting { grid-template-columns: 40px minmax(0,1fr); }
  .agn-onboarding-waiting .agn-portal-button { grid-column: 1 / -1; width: 100%; }
  .agn-registration-handoff-summary { grid-template-columns: 42px minmax(0,1fr); margin-inline: 16px; }
  .agn-registration-handoff-summary > div:nth-of-type(2) { grid-column: 1 / -1; }
  .agn-registration-handoff-summary .agn-portal-button { grid-column: 1 / -1; width: 100%; }
  .agn-handoff-route { grid-template-columns: 1fr; padding-inline: 16px; }
  .agn-registration-handoff-actions { display: grid; padding-inline: 16px; }
  .agn-registration-handoff-actions .agn-portal-button { width: 100%; }
  .agn-handoff-security { margin-inline: 16px; }
}

/* Self-service account profile - v47 */
.agn-profile-page { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 20px; align-items: start; }
.agn-profile-card { overflow: visible; }
.agn-profile-form .agn-account-form-footer { padding-top: 2px; }
.agn-profile-summary { display: grid; justify-items: center; gap: 8px; padding: 24px; text-align: center; }
.agn-profile-summary-avatar { display: grid; width: 72px; height: 72px; overflow: hidden; place-items: center; border: 2px solid color-mix(in srgb, var(--portal-gold) 60%, transparent); border-radius: 50%; color: var(--portal-green); background: color-mix(in srgb, var(--portal-gold) 16%, var(--portal-surface)); font-size: 24px; font-weight: 800; }
.agn-profile-summary h2 { margin: 8px 0 0; color: var(--portal-ink); font-size: 21px; line-height: 1.25; }
.agn-profile-summary > p { margin: 0; color: var(--portal-muted); font-size: 13px; }
.agn-profile-summary dl { width: 100%; margin: 14px 0; text-align: left; }
.agn-profile-summary dl > div { display: grid; gap: 4px; padding: 12px 0; border-top: 1px solid var(--portal-border); }
.agn-profile-summary dt { color: var(--portal-muted); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.agn-profile-summary dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: var(--portal-ink); font-size: 13px; font-weight: 700; }
.agn-profile-summary .agn-portal-button { width: 100%; }
.agn-profile-form .agn-locked-input input[readonly] { padding-right: 44px; cursor: not-allowed; color: var(--portal-muted); background: var(--portal-surface-soft); }
.agn-profile-form .agn-locked-input input { padding-right: 48px; color: var(--portal-text); background: color-mix(in srgb, var(--portal-muted) 7%, var(--portal-surface)); cursor: not-allowed; }
.agn-profile-form .agn-input-lock { position: absolute; left: auto !important; right: 14px; top: 50%; width: 22px; color: var(--portal-gold-dark); font-size: 18px; line-height: 1; text-align: center; transform: translateY(-50%); pointer-events: none; }
.agn-admin-avatar, .agn-profile-summary-avatar, .agn-profile-photo-preview { overflow: hidden; flex: 0 0 auto; }
.agn-admin-avatar img, .agn-profile-summary-avatar img, .agn-profile-photo-preview img { display: block; width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.agn-profile-photo-field { padding-bottom: 4px; }
.agn-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; border: 0 !important; white-space: nowrap !important; }
.agn-form-label { display: block; margin-bottom: 8px; color: var(--portal-text); font-size: 12px; font-weight: 750; }
.agn-profile-photo-control { display: flex; align-items: center; gap: 16px; padding: 16px; border: 1px solid var(--portal-border); border-radius: 14px; background: color-mix(in srgb, var(--portal-green) 3%, var(--portal-surface)); }
.agn-profile-photo-control > div { min-width: 0; }
.agn-profile-photo-control strong { display: block; margin-bottom: 3px; font-size: 13px; }
.agn-profile-photo-control p { margin: 0 0 10px; color: var(--portal-muted); font-size: 11px; line-height: 1.5; }
.agn-profile-photo-preview { display: grid; width: 84px; height: 84px; place-items: center; border: 2px solid color-mix(in srgb, var(--portal-gold) 55%, transparent); border-radius: 50%; color: var(--portal-green); background: color-mix(in srgb, var(--portal-gold) 13%, var(--portal-surface)); font-size: 26px; font-weight: 800; }
.agn-profile-photo-preview.is-removing { color: var(--portal-muted); border-style: dashed; }
.agn-profile-photo-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.agn-profile-photo-actions .agn-portal-button { min-height: 40px; cursor: pointer; }
.agn-field-help.is-error { color: #b42318; font-weight: 700; }
.agn-profile-crop-dialog { width: min(94vw, 620px); max-height: 94vh; overflow: auto; padding: 0; border: 1px solid var(--portal-border); border-radius: 20px; color: var(--portal-text); background: var(--portal-surface); box-shadow: 0 26px 80px rgba(0,0,0,.32); }
.agn-profile-crop-dialog::backdrop { background: rgba(3,18,10,.72); backdrop-filter: blur(4px); }
.agn-profile-crop-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 20px 22px 16px; }
.agn-profile-crop-heading h2 { margin: 3px 0; font-size: clamp(20px,3vw,26px); }
.agn-profile-crop-heading p { margin: 0; color: var(--portal-muted); font-size: 11px; }
.agn-profile-crop-stage { position: relative; width: min(82vw, 460px); aspect-ratio: 1; margin: 0 auto; overflow: hidden; border-radius: 16px; background: #07170e; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.agn-profile-crop-stage canvas { display: block; width: 100%; height: 100%; touch-action: none; cursor: grab; }
.agn-profile-crop-stage canvas.is-dragging { cursor: grabbing; }
.agn-profile-crop-stage > span { position: absolute; inset: 0; border: min(9vw,54px) solid rgba(0,0,0,.38); box-shadow: inset 0 0 0 2px rgba(255,255,255,.92); pointer-events: none; }
.agn-profile-zoom { display: grid; grid-template-columns: auto auto 1fr auto; align-items: center; gap: 10px; padding: 18px 22px 8px; color: var(--portal-muted); font-size: 11px; font-weight: 750; }
.agn-profile-zoom input { min-height: 32px; accent-color: var(--portal-green); }
.agn-profile-crop-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 12px 22px 22px; }
@media (max-width: 920px) { .agn-profile-page { grid-template-columns: 1fr; } .agn-profile-summary { order: -1; } }
@media (max-width: 620px) { .agn-profile-summary { padding: 18px; } .agn-profile-summary-avatar { width: 62px; height: 62px; font-size: 21px; } }
@media (max-width: 620px) {
  .agn-profile-photo-control { align-items: flex-start; padding: 14px; }
  .agn-profile-photo-preview { width: 68px; height: 68px; font-size: 21px; }
  .agn-profile-photo-actions { display: grid; grid-template-columns: 1fr; }
  .agn-profile-photo-actions .agn-portal-button { width: 100%; }
  .agn-profile-crop-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 16px; }
  .agn-profile-crop-heading { padding: 16px 16px 12px; }
  .agn-profile-crop-stage { width: calc(100vw - 48px); }
  .agn-profile-crop-actions { padding: 10px 16px 18px; }
  .agn-profile-crop-actions .agn-portal-button { flex: 1; }
}

/* Member onboarding readability and responsive layout */
.agn-onboarding-steps { gap: 12px; }
.agn-onboarding-steps li { grid-template-columns: 44px minmax(0, 1fr); gap: 12px; min-height: 82px; padding: 16px; }
.agn-onboarding-steps li > span { width: 44px; height: 44px; }
.agn-onboarding-steps li > span .f7-icons { font-size: 21px; }
.agn-onboarding-steps strong { font-size: 14px; line-height: 1.35; }
.agn-onboarding-steps small { margin-top: 5px; font-size: 12px; line-height: 1.45; }
.agn-onboarding-next { min-height: 66px; padding: 16px 18px; }
.agn-onboarding-next small { font-size: 10px; }
.agn-onboarding-next strong { margin-top: 5px; font-size: 14px; line-height: 1.4; }
.agn-onboarding-next em { padding: 8px 12px; font-size: 11px; }
.agn-onboarding-identity { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 0 22px 22px; }
.agn-onboarding-identity > span { min-height: 108px; padding: 16px; background: var(--portal-soft); }
.agn-onboarding-identity small { font-size: 10px; }
.agn-onboarding-identity strong { margin-top: 7px; font-size: 14px; line-height: 1.4; }
.agn-onboarding-identity em { margin-top: 5px; font-size: 12px; line-height: 1.5; }
.agn-onboarding-waiting { padding: 16px; }
.agn-onboarding-waiting strong { font-size: 14px; line-height: 1.4; }
.agn-onboarding-waiting small { margin-top: 5px; font-size: 12px; line-height: 1.55; }
.agn-activation-password label { font-size: 13px; }
.agn-activation-password .agn-field-help { font-size: 11px; }

@media (max-width: 900px) {
  .agn-onboarding-identity { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
  .agn-onboarding-steps li { min-height: 0; }
  .agn-onboarding-next { flex-direction: column; }
  .agn-onboarding-next em { align-self: flex-start; }
  .agn-onboarding-identity { grid-template-columns: 1fr; }
  .agn-onboarding-identity > span { min-height: 0; }
}

/* AJAX portal navigation and system-wide interaction polish */
html::before {
  content: "";
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  width: 0;
  height: 3px;
  opacity: 0;
  background: linear-gradient(90deg, var(--portal-green), var(--portal-gold), #22b86b);
  box-shadow: 0 1px 10px rgba(13,104,54,.35);
  pointer-events: none;
  transition: width .28s ease, opacity .18s ease;
}
html.agn-ajax-loading::before { width: 82%; opacity: 1; animation: agn-ajax-progress 1.1s ease-in-out infinite alternate; }
html.agn-ajax-loading body::after {
  content: "";
  position: fixed;
  z-index: 9999;
  top: 3px;
  right: 0;
  left: 0;
  height: 1px;
  background: rgba(13,104,54,.08);
  pointer-events: none;
}
html.agn-ajax-loading .agn-admin-main { opacity: .72; transition: opacity .16s ease; }
html.agn-ajax-loading :is(a, button, input, select, textarea) { cursor: progress; }
@keyframes agn-ajax-progress { from { width: 42%; } to { width: 88%; } }

.agn-admin-main { view-transition-name: agn-main-workspace; }
.agn-admin-sidebar { view-transition-name: agn-sidebar; }
::view-transition-old(agn-main-workspace) { animation: agn-page-out .13s ease both; }
::view-transition-new(agn-main-workspace) { animation: agn-page-in .2s ease both; }
@keyframes agn-page-out { to { opacity: 0; transform: translateY(-3px); } }
@keyframes agn-page-in { from { opacity: 0; transform: translateY(7px); } }

.agn-admin-card,
.agn-admin-stat,
.agn-wallet-switch-card,
.agn-referral-share-grid > *,
.agn-wallet-types > * { transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background-color .18s ease; }
@media (hover: hover) and (pointer: fine) {
  .agn-admin-stat:hover,
  .agn-wallet-switch-card:hover,
  .agn-referral-share-grid > *:hover,
  .agn-wallet-types > *:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0,22,51,.08); }
}

:is(.agn-portal-button, .agn-table-action, .agn-portal-icon-button).is-submitting {
  position: relative;
  color: transparent !important;
  pointer-events: none;
}
:is(.agn-portal-button, .agn-table-action, .agn-portal-icon-button).is-submitting::after {
  content: "";
  position: absolute;
  width: 17px;
  height: 17px;
  top: 50%;
  left: 50%;
  margin: -9px 0 0 -9px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  color: var(--portal-green);
  animation: agn-button-spin .65s linear infinite;
}
@keyframes agn-button-spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  html::before,
  .agn-admin-main,
  .agn-admin-card,
  .agn-admin-stat,
  .agn-wallet-switch-card { transition: none !important; animation: none !important; }
  ::view-transition-old(agn-main-workspace),
  ::view-transition-new(agn-main-workspace) { animation: none; }
}

/* Hardened login, two-factor authentication, and session controls — v4 */
.agn-logout-form { display: inline-flex; margin: 0; }
.agn-logout-form button { cursor: pointer; }
.agn-admin-profile .agn-logout-form button { display: grid; place-items: center; padding: 4px; border: 0; color: rgba(255,255,255,.46); background: transparent; }
.agn-admin-profile .agn-logout-form .f7-icons { font-size: 15px; }
.agn-admin-card-header > form { margin: 0; }
.agn-verification-shell { max-width: 1030px; }
.agn-auth-visual-security { min-height: 540px; }
.agn-security-assurance { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 34px; }
.agn-security-assurance > span { min-width: 0; padding: 16px; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: rgba(255,255,255,.06); }
.agn-security-assurance .f7-icons { display: block; margin-bottom: 13px; color: var(--portal-gold-light); }
.agn-security-assurance strong { display: block; font-size: 11px; }
.agn-security-assurance small { display: block; margin-top: 4px; color: rgba(255,255,255,.48); font-size: 8px; line-height: 1.5; }
.agn-verification-code { letter-spacing: .2em; font-size: 17px !important; font-weight: 700; }
.agn-security-setup-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(330px,.75fr); gap: 18px; align-items: start; }
.agn-mfa-steps { display: grid; gap: 0; padding: 10px 22px 22px; }
.agn-mfa-steps > div { display: grid; grid-template-columns: 36px 1fr; gap: 13px; padding: 17px 0; border-bottom: 1px solid var(--portal-border); }
.agn-mfa-steps > div:last-child { border-bottom: 0; }
.agn-mfa-steps > div > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: var(--portal-green); background: rgba(13,104,54,.09); font-size: 11px; font-weight: 800; }
.agn-mfa-steps p { min-width: 0; margin: 1px 0 0; }
.agn-mfa-steps strong { display: block; font-size: 11px; }
.agn-mfa-steps small { display: block; margin-top: 5px; color: var(--portal-muted); font-size: 9px; line-height: 1.55; }
.agn-mfa-steps code { display: block; overflow-wrap: anywhere; margin-top: 10px; padding: 12px; border: 1px dashed rgba(199,148,27,.42); border-radius: 11px; color: var(--portal-ink); background: var(--portal-soft); font-size: 13px; letter-spacing: .09em; }
.agn-mfa-steps button,
.agn-mfa-steps a { display: inline-flex; margin: 9px 9px 0 0; padding: 7px 9px; border: 1px solid var(--portal-border); border-radius: 8px; color: var(--portal-green); background: var(--portal-surface); font-size: 8px; font-weight: 700; }
.agn-recovery-codes-card { margin-bottom: 18px; border-color: rgba(199,148,27,.36); }
.agn-recovery-codes { padding: 22px; }
.agn-recovery-code-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; margin-bottom: 16px; }
.agn-recovery-code-grid code { padding: 12px 8px; border: 1px solid var(--portal-border); border-radius: 10px; color: var(--portal-ink); background: var(--portal-soft); text-align: center; font-size: 11px; font-weight: 700; letter-spacing: .045em; }
.agn-recovery-codes p { margin: 14px 0 0; color: var(--portal-muted); font-size: 9px; line-height: 1.55; }
.agn-security-stat-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.agn-security-actions-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; align-items: start; }
.agn-security-actions-grid .agn-admin-card + .agn-admin-card { margin-top: 0; }
.agn-security-danger { border-color: rgba(183,57,57,.25); }
.agn-danger-action { color: #a42b2b; border-color: rgba(183,57,57,.25); background: rgba(183,57,57,.07); }
html.dark .agn-danger-action { color: #ffb9b9; }
.agn-reset-warning { max-width: 260px; margin: 0; color: var(--portal-muted); font-size: 8px; line-height: 1.5; white-space: normal; }
.agn-sessions-card { overflow: hidden; }
.agn-session-list { display: grid; }
.agn-session-item { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; gap: 14px; align-items: start; padding: 19px; border-bottom: 1px solid var(--portal-border); }
.agn-session-item:last-child { border-bottom: 0; }
.agn-session-item.is-current { background: rgba(13,104,54,.035); }
.agn-session-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; color: var(--portal-green); background: rgba(13,104,54,.09); }
.agn-session-icon .f7-icons { font-size: 21px; }
.agn-session-title { display: flex; align-items: center; gap: 9px; }
.agn-session-title strong { font-size: 12px; }
.agn-session-title span { padding: 5px 7px; border-radius: 7px; color: var(--portal-green); background: rgba(13,104,54,.1); font-size: 7px; font-weight: 700; text-transform: uppercase; }
.agn-session-item p { max-width: 850px; overflow-wrap: anywhere; margin: 5px 0 11px; color: var(--portal-muted); font-size: 8px; line-height: 1.5; }
.agn-session-item dl { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 0; }
.agn-session-item dl div { display: grid; gap: 2px; }
.agn-session-item dt { color: var(--portal-muted); font-size: 7px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.agn-session-item dd { margin: 0; font-size: 8px; }
.agn-session-action form { margin: 0; }
.agn-session-guidance { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; gap: 15px; align-items: center; margin-top: 18px; padding: 21px; border: 1px solid rgba(199,148,27,.25); border-radius: 17px; background: rgba(240,196,84,.08); }
.agn-session-guidance > .f7-icons { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; color: var(--portal-gold); background: rgba(240,196,84,.14); }
.agn-session-guidance h2 { margin: 0 0 4px; font-size: 14px; }
.agn-session-guidance p { margin: 0; color: var(--portal-muted); font-size: 9px; line-height: 1.55; }

@media (max-width: 1000px) {
  .agn-security-setup-grid { grid-template-columns: 1fr; }
  .agn-recovery-code-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .agn-security-actions-grid { grid-template-columns: 1fr; }
  .agn-session-guidance { grid-template-columns: 48px 1fr; }
  .agn-session-guidance .agn-portal-button { grid-column: 1 / -1; width: 100%; }
}
@media (max-width: 640px) {
  .agn-security-assurance { grid-template-columns: 1fr; }
  .agn-security-stat-grid { grid-template-columns: 1fr 1fr; }
  .agn-session-item { grid-template-columns: 42px 1fr; padding: 16px 14px; }
  .agn-session-icon { width: 42px; height: 42px; }
  .agn-session-action { grid-column: 2; }
  .agn-session-action .agn-table-action { width: 100%; min-height: 38px; }
  .agn-session-item dl { display: grid; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 420px) {
  .agn-recovery-code-grid,
  .agn-security-stat-grid { grid-template-columns: 1fr; }
  .agn-mfa-steps { padding-inline: 17px; }
  .agn-session-item dl { grid-template-columns: 1fr; }
}

/* Responsive typography, spacing, and mobile data layouts — v6 */
html.dark {
  --portal-green: #69d69a;
  --portal-green-deep: #43b978;
  --portal-gold: #f0c454;
}

body { font-size: 15px; line-height: 1.55; }
.agn-portal-eyebrow { font-size: 12px; line-height: 1.35; }
.agn-portal-chip { font-size: 12px; }
.agn-portal-button { min-height: 50px; font-size: 14px; line-height: 1.25; }
html.dark .agn-portal-button-primary { background: #0d6836; }
html.dark .agn-portal-button-primary:hover { background: #0a562e; }
.agn-portal-note { font-size: 13px; }
.agn-portal-back { min-height: 44px; padding-inline: 4px; font-size: 13px; }
.agn-portal-brand small { font-size: 10px; }

.agn-registration-benefits strong { font-size: 14px; }
.agn-registration-benefits span,
.agn-referral-context p,
.agn-registration-support { font-size: 12px; }
.agn-referral-context small { font-size: 10px; }
.agn-registration-heading p { font-size: 14px; }
.agn-role-badge,
.agn-register-steps li { font-size: 11px; }
.agn-registration-panel h3 { font-size: 22px; }
.agn-registration-panel > p { font-size: 13px; }
.agn-form-field label,
.agn-form-legend { font-size: 13px; }
.agn-input-wrap input,
.agn-form-field select,
.agn-form-field > input,
.agn-form-field > select,
.agn-reset-form input { font-size: 15px; }
.agn-field-help,
.agn-referral-status { font-size: 12px; }
.agn-error-summary,
.agn-consent span { font-size: 13px; }
.agn-review-card header strong,
.agn-review-list strong { font-size: 13px; }
.agn-review-card header button,
.agn-review-list span,
.agn-registration-footer { font-size: 11px; }

.agn-auth-shell { gap: clamp(24px, 3vw, 36px); }
.agn-auth-visual h1 { font-size: clamp(40px, 4.6vw, 56px); }
.agn-auth-role-list strong,
.agn-security-assurance strong { font-size: 13px; }
.agn-auth-role-list small,
.agn-security-assurance small { font-size: 11px; line-height: 1.5; }
.agn-auth-heading p { font-size: 14px; }
.agn-auth-errors,
.agn-portal-flash { font-size: 13px; }
.agn-auth-help { font-size: 12px; line-height: 1.65; }

.agn-admin-topbar { position: sticky; z-index: 80; top: 0; }
.agn-admin-console-label { font-size: 10px; }
.agn-admin-nav a,
.agn-admin-nav button { min-height: 48px; font-size: 13px; }
.agn-admin-nav-tag { font-size: 9px; }
.agn-admin-profile strong { font-size: 12px; }
.agn-admin-profile small { font-size: 10px; }
.agn-admin-profile .agn-logout-form button { width: 40px; height: 40px; }
.agn-admin-breadcrumb span { font-size: 10px; }
.agn-admin-breadcrumb strong { font-size: 16px; }
.agn-admin-status { font-size: 10px; }
.agn-admin-main { padding: clamp(24px, 2.5vw, 36px); }
.agn-admin-heading { margin-bottom: 26px; }
.agn-admin-heading p { max-width: 760px; font-size: 14px; line-height: 1.55; }
.agn-admin-preview-banner { padding: 15px 17px; font-size: 13px; }
.agn-admin-stat-grid { gap: 16px; margin-bottom: 20px; }
.agn-admin-stat { padding: 22px; }
.agn-stat-trend { font-size: 11px; }
.agn-admin-stat > span { font-size: 12px; line-height: 1.45; }
.agn-admin-grid,
.agn-account-layout,
.agn-member-dashboard-grid,
.agn-security-setup-grid,
.agn-security-actions-grid { gap: 20px; }
.agn-admin-card-header { padding: 21px 22px; }
.agn-admin-card-header h2 { font-size: 17px; line-height: 1.3; }
.agn-admin-card-header p { font-size: 12px; line-height: 1.5; }
.agn-admin-card-header > a,
.agn-admin-card-header button { min-height: 44px; display: inline-flex; align-items: center; font-size: 11px; }
.agn-admin-table { white-space: normal; }
.agn-admin-table th { padding: 13px 17px; font-size: 11px; }
.agn-admin-table td { font-size: 13px; line-height: 1.45; }
.agn-admin-table td strong { font-size: 13px; }
.agn-admin-table td small { font-size: 11px; line-height: 1.45; }
.agn-status-pill,
.agn-role-table-badge { font-size: 10px; }
.agn-table-action,
.agn-account-actions summary { min-height: 44px; display: inline-flex; align-items: center; font-size: 11px; }
.agn-role-row strong,
.agn-dashboard-action-list strong,
.agn-readiness-list strong,
.agn-role-boundaries strong,
.agn-wallet-types strong { font-size: 13px; }
.agn-role-row small,
.agn-dashboard-action-list small,
.agn-readiness-list small,
.agn-role-boundaries small,
.agn-wallet-types small { font-size: 11px; line-height: 1.5; }
.agn-role-state,
.agn-readiness-list > div > span:last-child,
.agn-wallet-types em { font-size: 9px; }
.agn-referral-chart-summary span,
.agn-bar-row { font-size: 11px; }
.agn-activity-item strong { font-size: 12px; }
.agn-activity-item span,
.agn-activity-item time { font-size: 11px; }
.agn-permission-summary h3 { font-size: 18px; }
.agn-permission-summary p,
.agn-wallet-foundation p { font-size: 13px; }
.agn-security-mark { font-size: 10px; }
.agn-label-optional,
.agn-table-muted,
.agn-security-pending,
.agn-security-ready,
.agn-current-account { font-size: 11px; }
.agn-reset-form { width: min(340px, calc(100vw - 32px)); padding: 18px; }
.agn-reset-form label,
.agn-reset-warning { font-size: 12px; }
.agn-reset-form .agn-portal-button { min-height: 44px; font-size: 12px; }
.agn-password-guidance ul { font-size: 13px; }

.agn-referral-link-control > label { font-size: 13px; }
.agn-referral-link-control input { font-size: 14px; }
.agn-referral-link-control > small { font-size: 12px; }
.agn-referral-code-row small { font-size: 10px; }
.agn-referral-code-row strong { font-size: 13px; }
.agn-referral-code-row em { font-size: 11px; }
.agn-mfa-steps strong { font-size: 13px; }
.agn-mfa-steps small { font-size: 11px; }
.agn-mfa-steps button,
.agn-mfa-steps a { min-height: 38px; align-items: center; font-size: 11px; }
.agn-recovery-code-grid code { font-size: 12px; }
.agn-recovery-codes p { font-size: 12px; }
.agn-session-title strong { font-size: 14px; }
.agn-session-title span { font-size: 10px; }
.agn-session-item p { font-size: 11px; line-height: 1.55; }
.agn-session-item dt { font-size: 10px; }
.agn-session-item dd { font-size: 11px; }
.agn-session-guidance p { font-size: 12px; }

@media (max-width: 880px) {
  .agn-admin-sidebar { width: min(300px, calc(100vw - 44px)); }
}

@media (max-width: 880px) {
  .agn-auth-shell { display: flex; flex-direction: column; align-items: stretch; max-width: 650px; padding-block: 20px 36px; }
  .agn-auth-card { order: 1; }
  .agn-auth-visual { order: 2; min-height: 0; justify-content: flex-start; padding: 30px 24px; }
  .agn-auth-visual h1 { margin-block: 10px 13px; font-size: clamp(31px, 9vw, 40px); }
  .agn-auth-visual > p { font-size: 14px; line-height: 1.65; }
  .agn-auth-role-list,
  .agn-auth-role-list-four { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 24px; }
  .agn-auth-visual-security { min-height: 0; }
  .agn-security-assurance { margin-top: 24px; }
  .agn-admin-main { padding: 22px 16px 34px; }
  .agn-admin-card-header { padding: 18px; }
  .agn-admin-stat { padding: 19px; }
  .agn-wallet-foundation { gap: 20px; }
}

@media (max-width: 760px) {
  .agn-admin-table-wrap { overflow: visible; padding: 12px; }
  .agn-admin-table,
  .agn-admin-table thead,
  .agn-admin-table tbody,
  .agn-admin-table tr,
  .agn-admin-table th,
  .agn-admin-table td { display: block; width: 100%; }
  .agn-admin-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  .agn-admin-table tbody { display: grid; gap: 12px; }
  .agn-admin-table tr { overflow: hidden; border: 1px solid var(--portal-border); border-radius: 14px; background: var(--portal-surface); }
  .agn-admin-table td { display: grid; grid-template-columns: minmax(105px, .38fr) minmax(0, .62fr); gap: 14px; align-items: start; padding: 12px 14px; border-top: 1px solid var(--portal-border); white-space: normal; overflow-wrap: anywhere; }
  .agn-admin-table td:first-child { border-top: 0; }
  .agn-admin-table td::before { content: attr(data-label); color: var(--portal-muted); font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
  .agn-account-actions { flex-wrap: wrap; }
  .agn-account-actions details { position: static; }
  .agn-reset-form { position: fixed; inset: auto 12px 12px; max-height: calc(100vh - 24px); overflow-y: auto; }
}

@media (max-width: 520px) {
  .agn-admin-topbar { gap: 8px; padding-inline: 12px; }
  .agn-admin-topbar-title { gap: 8px; min-width: 0; }
  .agn-admin-breadcrumb { min-width: 0; }
  .agn-admin-breadcrumb span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .agn-admin-breadcrumb strong { font-size: 14px; }
  .agn-admin-top-actions { gap: 6px; }
  .agn-admin-top-actions .agn-topbar-sessions { display: none; }
  .agn-admin-heading { gap: 14px; margin-bottom: 21px; }
  .agn-admin-heading h1 { font-size: clamp(27px, 9vw, 34px); }
  .agn-admin-stat-grid { gap: 12px; }
  .agn-admin-card-header { align-items: flex-start; flex-wrap: wrap; }
  .agn-session-title { align-items: flex-start; flex-direction: column; gap: 5px; }
  .agn-admin-table td { grid-template-columns: 1fr; gap: 6px; }
}

@media (max-width: 360px) {
  .agn-auth-role-list,
  .agn-auth-role-list-four { grid-template-columns: 1fr; }
  .agn-admin-breadcrumb { display: none; }
  .agn-portal-theme,
  .agn-portal-icon-button { width: 42px; height: 42px; flex-basis: 42px; }
}

/* Connected Admin controls and accessible action dialogs — v7 */
.agn-account-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 15px 20px;
  border-bottom: 1px solid var(--portal-border);
}
.agn-account-filters a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 13px;
  border: 1px solid var(--portal-border);
  border-radius: 999px;
  color: var(--portal-muted);
  background: var(--portal-surface);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}
.agn-account-filters a:hover,
.agn-account-filters a:focus-visible,
.agn-account-filters a.is-active {
  border-color: var(--portal-green);
  color: var(--portal-green-deep);
  background: rgba(41, 159, 98, .1);
}
.agn-account-filters a span {
  min-width: 22px;
  padding: 2px 6px;
  border-radius: 99px;
  color: var(--portal-surface);
  background: var(--portal-green-deep);
  font-size: 10px;
  text-align: center;
}

.agn-account-actions details[open] { z-index: 600; }
.agn-account-actions details[open]::before {
  content: "";
  position: fixed;
  z-index: 598;
  inset: 0;
  background: rgba(0, 15, 39, .64);
  backdrop-filter: blur(3px);
}
.agn-reset-form {
  position: fixed;
  z-index: 599;
  inset: 50% auto auto 50%;
  width: min(430px, calc(100vw - 32px));
  max-height: calc(100dvh - 40px);
  overflow-y: auto;
  transform: translate(-50%, -50%);
  gap: 14px;
  padding: 22px;
  border-radius: 20px;
  box-shadow: 0 24px 80px rgba(0, 15, 39, .36);
}
.agn-reset-form-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 2px;
}
.agn-reset-form-header h3 { margin: 3px 0 1px; color: var(--portal-ink); font-size: 19px; line-height: 1.25; }
.agn-reset-form-header p { margin: 0; color: var(--portal-muted); font-size: 12px; }
.agn-reset-form-header .agn-portal-icon-button { flex: 0 0 42px; }
.account-modal-open { overflow: hidden; }

.agn-module-dialog {
  width: min(520px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  padding: 24px;
  border: 1px solid var(--portal-border);
  border-radius: 22px;
  color: var(--portal-ink);
  background: var(--portal-surface);
  box-shadow: 0 26px 90px rgba(0, 15, 39, .38);
}
.agn-module-dialog::backdrop { background: rgba(0, 15, 39, .68); backdrop-filter: blur(4px); }
.agn-module-dialog-heading { display: grid; grid-template-columns: 50px 1fr 42px; gap: 14px; align-items: start; }
.agn-module-dialog-heading h2 { margin: 3px 0 0; color: var(--portal-ink); font-size: clamp(22px, 4vw, 28px); line-height: 1.2; }
.agn-module-dialog-icon { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 15px; color: var(--portal-gold); background: rgba(240, 196, 84, .2); }
.agn-module-dialog-icon i { font-size: 25px; }
.agn-module-dialog > p { margin: 20px 0; color: var(--portal-muted); font-size: 14px; line-height: 1.7; }
.agn-module-dialog-status { display: grid; grid-template-columns: 38px 1fr; gap: 12px; padding: 15px; border: 1px solid rgba(240, 196, 84, .35); border-radius: 15px; background: rgba(240, 196, 84, .09); }
.agn-module-dialog-status > i { color: var(--portal-gold); font-size: 24px; }
.agn-module-dialog-status span { display: grid; gap: 3px; }
.agn-module-dialog-status strong { color: var(--portal-ink); font-size: 13px; }
.agn-module-dialog-status small { color: var(--portal-muted); font-size: 11px; line-height: 1.5; }
.agn-module-dialog-actions { display: flex; justify-content: flex-end; margin-top: 22px; }
.agn-module-dialog-actions .agn-portal-button { min-width: 190px; }

.agn-action-dialog {
  width: min(520px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--portal-border);
  border-radius: 24px;
  color: var(--portal-ink);
  background: var(--portal-surface);
  box-shadow: 0 30px 100px rgba(0, 15, 39, .42);
}
.agn-action-dialog[open] { animation: agn-dialog-enter .2s ease-out both; }
.agn-action-dialog::backdrop { background: rgba(0, 15, 39, .72); backdrop-filter: blur(7px) saturate(115%); animation: agn-dialog-backdrop .2s ease-out both; }
.agn-action-dialog-heading { display: grid; grid-template-columns: 54px minmax(0,1fr) 42px; gap: 14px; align-items: start; padding: 24px 24px 0; }
.agn-action-dialog-heading h2 { margin: 4px 0 0; color: var(--portal-ink); font-size: clamp(21px, 4vw, 28px); line-height: 1.18; letter-spacing: -.025em; }
.agn-action-dialog-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 17px; color: var(--portal-green); background: rgba(13,104,54,.1); box-shadow: inset 0 0 0 1px rgba(13,104,54,.12); }
.agn-action-dialog-icon .f7-icons { display: grid; width: 100%; height: 100%; place-items: center; overflow: hidden; font-family: "Framework7 Icons" !important; font-size: 25px; font-style: normal; line-height: 1; }
.agn-action-dialog > p { margin: 20px 24px 0; color: var(--portal-muted); font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
.agn-action-dialog-assurance { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 12px; align-items: center; margin: 18px 24px 0; padding: 14px; border: 1px solid rgba(13,104,54,.18); border-radius: 15px; background: rgba(13,104,54,.06); }
.agn-action-dialog-assurance[hidden] { display: none !important; }
.agn-action-dialog-assurance > .f7-icons { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: var(--portal-green); font-size: 19px; }
.agn-action-dialog-assurance strong,
.agn-action-dialog-assurance small { display: block; }
.agn-action-dialog-assurance strong { color: var(--portal-ink); font-size: 11px; }
.agn-action-dialog-assurance small { margin-top: 3px; color: var(--portal-muted); font-size: 9px; line-height: 1.45; }
.agn-action-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 22px 24px 24px; }
.agn-action-dialog-actions .agn-portal-button { min-width: 130px; }
.agn-action-dialog-actions .agn-portal-button > .f7-icons { width: 20px; height: 20px; flex: 0 0 20px; font-size: 18px; line-height: 20px; }
.agn-action-dialog-actions .agn-portal-button > span { min-width: 0; overflow-wrap: anywhere; }
.agn-action-dialog-actions [hidden] { display: none !important; }
.agn-action-dialog.is-danger .agn-action-dialog-icon { color: #b22f36; background: rgba(178,47,54,.1); box-shadow: inset 0 0 0 1px rgba(178,47,54,.14); }
.agn-action-dialog.is-danger .agn-action-dialog-assurance { border-color: rgba(178,47,54,.2); background: rgba(178,47,54,.06); }
.agn-action-dialog.is-danger .agn-action-dialog-assurance > .f7-icons { background: #a82b32; }
.agn-action-dialog.is-danger [data-action-dialog-confirm] { border-color: #9f252d; background: #a82b32; box-shadow: 0 9px 22px rgba(168,43,50,.18); }
.agn-action-dialog.is-info .agn-action-dialog-icon { color: #0d5ca8; background: rgba(13,92,168,.1); box-shadow: inset 0 0 0 1px rgba(13,92,168,.14); }
.agn-dialog-open { overflow: hidden; }
@keyframes agn-dialog-enter { from { opacity: 0; transform: translateY(12px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes agn-dialog-backdrop { from { opacity: 0; } to { opacity: 1; } }

.agn-audit-filters {
  display: grid;
  grid-template-columns: minmax(170px, .7fr) minmax(230px, 1.3fr) auto auto;
  gap: 12px;
  align-items: end;
  padding: 18px 20px;
  border-bottom: 1px solid var(--portal-border);
}
.agn-audit-filters label { display: grid; gap: 7px; color: var(--portal-ink); font-size: 12px; font-weight: 700; }
.agn-audit-filters input,
.agn-audit-filters select {
  min-height: 46px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--portal-border);
  border-radius: 11px;
  color: var(--portal-ink);
  background: var(--portal-surface);
  font: inherit;
  font-size: 14px;
}
.agn-audit-detail { display: block; min-width: 180px; max-width: 360px; color: var(--portal-muted); font-size: 11px; line-height: 1.55; overflow-wrap: anywhere; }
.agn-report-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.agn-report-grid { margin-bottom: 20px; }
.agn-report-callout { min-height: 270px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 28px; text-align: center; }
.agn-report-callout > strong { margin: 16px 0 4px; color: var(--portal-ink); font-size: clamp(42px, 7vw, 68px); line-height: 1; }
.agn-report-callout > p { max-width: 440px; margin: 10px 0 0; color: var(--portal-muted); font-size: 12px; line-height: 1.7; }

@media (max-width: 880px) {
  .agn-audit-filters { grid-template-columns: 1fr 1fr; }
  .agn-audit-filters .agn-portal-button { width: 100%; }
}
@media (max-width: 760px) {
  .agn-reset-form {
    inset: auto 12px 12px;
    width: auto;
    max-height: calc(100dvh - 24px);
    transform: none;
    border-radius: 20px;
  }
  .agn-account-filters { padding: 13px; }
}
@media (max-width: 560px) {
  .agn-audit-filters { grid-template-columns: 1fr; padding: 15px; }
  .agn-report-stat-grid { grid-template-columns: 1fr; }
  .agn-module-dialog { padding: 20px; }
  .agn-module-dialog-heading { grid-template-columns: 44px 1fr 42px; gap: 11px; }
  .agn-module-dialog-icon { width: 44px; height: 44px; }
  .agn-module-dialog-actions .agn-portal-button { width: 100%; }
  .agn-action-dialog {
    width: auto;
    max-height: calc(100dvh - 16px);
    margin: auto 8px 8px;
    border-radius: 24px 24px 18px 18px;
  }
  .agn-action-dialog-heading { grid-template-columns: 48px minmax(0,1fr) 42px; gap: 11px; padding: 20px 18px 0; }
  .agn-action-dialog-icon { width: 48px; height: 48px; border-radius: 15px; }
  .agn-action-dialog > p { margin: 17px 18px 0; font-size: 13px; }
  .agn-action-dialog-assurance { margin: 16px 18px 0; }
  .agn-action-dialog-actions { display: grid; grid-template-columns: 1fr 1fr; padding: 18px; }
  .agn-action-dialog-actions .agn-portal-button { width: 100%; min-width: 0; }
  .agn-action-dialog.is-alert .agn-action-dialog-actions { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .agn-action-dialog[open],
  .agn-action-dialog::backdrop { animation: none; }
}

/* Guided cash and Rebates Points withdrawal center */
.agn-withdrawal-command { margin-bottom: 20px; overflow: hidden; border: 1px solid var(--portal-border); border-radius: 19px; background: var(--portal-surface); box-shadow: 0 12px 34px rgba(0,34,79,.07); }
.agn-withdrawal-command > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 22px; border-bottom: 1px solid var(--portal-border); }
.agn-withdrawal-command > header h2 { margin: 5px 0 4px; color: var(--portal-ink); font-size: clamp(18px,2.4vw,24px); }
.agn-withdrawal-command > header p { margin: 0; color: var(--portal-muted); font-size: 11px; line-height: 1.5; }
.agn-withdrawal-command > header > span { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border-radius: 999px; color: var(--portal-green); background: rgba(13,104,54,.08); font-size: 9px; font-weight: 800; }
.agn-withdrawal-command > header > span .f7-icons { font-size: 15px; }
.agn-withdrawal-mode-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 18px 22px 22px; }
.agn-withdrawal-mode-grid > a { min-width: 0; display: grid; grid-template-columns: 48px minmax(0,1fr) auto; gap: 13px; align-items: center; padding: 16px; border: 1px solid var(--portal-border); border-radius: 16px; color: var(--portal-ink); background: var(--portal-soft); text-decoration: none; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.agn-withdrawal-mode-grid > a:hover, .agn-withdrawal-mode-grid > a:focus-visible { transform: translateY(-2px); border-color: rgba(13,104,54,.4); box-shadow: 0 10px 25px rgba(0,34,79,.08); }
.agn-withdrawal-mode-grid > a.is-active { border-color: var(--portal-green); background: rgba(13,104,54,.06); box-shadow: 0 0 0 3px rgba(13,104,54,.08); }
.agn-withdrawal-mode-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; color: var(--portal-green); background: rgba(13,104,54,.1); }
.agn-withdrawal-mode-icon .f7-icons { font-size: 22px; }
.agn-withdrawal-mode-grid > a > span:nth-child(2) { min-width: 0; }
.agn-withdrawal-mode-grid small, .agn-withdrawal-mode-grid strong, .agn-withdrawal-mode-grid em { display: block; overflow-wrap: anywhere; }
.agn-withdrawal-mode-grid small { color: var(--portal-muted); font-size: 8px; font-weight: 850; letter-spacing: .08em; }
.agn-withdrawal-mode-grid strong { margin-top: 4px; color: var(--portal-ink); font-size: 12px; }
.agn-withdrawal-mode-grid em { margin-top: 4px; color: var(--portal-muted); font-size: 9px; font-style: normal; }
.agn-withdrawal-mode-grid b { display: flex; align-items: center; gap: 5px; color: var(--portal-green); font-size: 9px; white-space: nowrap; }
.agn-withdrawal-mode-grid b .f7-icons { font-size: 14px; }
.agn-withdrawal-summary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 16px; }
.agn-withdrawal-summary-grid article { min-width: 0; display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 11px; align-items: center; padding: 15px; border: 1px solid var(--portal-border); border-radius: 15px; background: var(--portal-surface); }
.agn-withdrawal-summary-grid article > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: var(--portal-green); background: rgba(13,104,54,.08); }
.agn-withdrawal-summary-grid article > span .f7-icons { font-size: 19px; }
.agn-withdrawal-summary-grid small, .agn-withdrawal-summary-grid strong { display: block; overflow-wrap: anywhere; }
.agn-withdrawal-summary-grid small { color: var(--portal-muted); font-size: 8px; font-weight: 850; letter-spacing: .07em; }
.agn-withdrawal-summary-grid strong { margin-top: 5px; color: var(--portal-ink); font-size: clamp(14px,2vw,20px); }
.agn-withdrawal-summary-grid article.is-primary { border-color: rgba(13,104,54,.3); background: linear-gradient(135deg,rgba(13,104,54,.09),rgba(13,104,54,.035)); }
.agn-wallet-switch-chip > span { min-width: 20px; height: 20px; display: grid; place-items: center; padding-inline: 5px; border-radius: 999px; color: var(--portal-muted); background: var(--portal-soft); font-size: 8px; }
.agn-wallet-switch-chip.is-active > span { color: #fff; background: var(--portal-green); }
.agn-withdrawal-request-card { overflow: hidden; }
.agn-withdrawal-route { display: grid; grid-template-columns: 1fr 18px 1fr 18px 1fr; align-items: center; gap: 7px; padding: 14px 20px; border-bottom: 1px solid var(--portal-border); background: var(--portal-soft); }
.agn-withdrawal-route > span { display: flex; align-items: center; gap: 8px; color: var(--portal-muted); }
.agn-withdrawal-route b { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--portal-border); border-radius: 9px; color: var(--portal-muted); background: var(--portal-surface); font-size: 9px; }
.agn-withdrawal-route small { font-size: 8px; font-weight: 800; line-height: 1.3; }
.agn-withdrawal-route > span.is-current { color: var(--portal-green); }
.agn-withdrawal-route > span.is-current b { border-color: var(--portal-green); color: #fff; background: var(--portal-green); }
.agn-withdrawal-route > .f7-icons { color: var(--portal-border); font-size: 14px; }
.agn-withdrawal-quick-amounts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; margin-top: 8px; }
.agn-withdrawal-quick-amounts button { min-height: 38px; border: 1px solid var(--portal-border); border-radius: 10px; color: var(--portal-green); background: var(--portal-soft); font: inherit; font-size: 9px; font-weight: 800; cursor: pointer; touch-action: manipulation; }
.agn-withdrawal-quick-amounts button:hover, .agn-withdrawal-quick-amounts button:focus-visible { border-color: var(--portal-green); background: rgba(13,104,54,.08); outline: 0; }
.agn-withdrawal-live-review { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; padding: 12px; border: 1px solid var(--portal-border); border-radius: 15px; background: var(--portal-soft); }
.agn-withdrawal-live-review > div { min-width: 0; padding: 11px; border-radius: 11px; background: var(--portal-surface); }
.agn-withdrawal-live-review small, .agn-withdrawal-live-review strong { display: block; overflow-wrap: anywhere; }
.agn-withdrawal-live-review small { color: var(--portal-muted); font-size: 7px; font-weight: 850; letter-spacing: .06em; }
.agn-withdrawal-live-review strong { margin-top: 5px; color: var(--portal-ink); font-size: 12px; font-variant-numeric: tabular-nums; }
.agn-withdrawal-live-review > div.is-net { color: #fff; background: var(--portal-green); }
.agn-withdrawal-live-review > div.is-net small, .agn-withdrawal-live-review > div.is-net strong { color: #fff; }
.agn-withdrawal-review-note { margin: -6px 0 0; padding: 11px 13px; border-radius: 11px; color: var(--portal-muted); background: var(--portal-soft); font-size: 9px; line-height: 1.5; }
.agn-withdrawal-review-note.is-error { color: #a82b32; background: rgba(168,43,50,.08); }
.agn-withdrawal-queue { margin-top: 20px; }
.agn-cancel-withdrawal-form { min-width: 190px; display: grid; gap: 9px; }
.agn-cancel-withdrawal-form .agn-portal-button { width: 100%; }

@media (max-width: 640px) {
  .agn-withdrawal-command > header { align-items: flex-start; padding: 17px 16px; }
  .agn-withdrawal-command > header > span { display: none; }
  .agn-withdrawal-mode-grid { grid-template-columns: 1fr; padding: 14px 16px 16px; }
  .agn-withdrawal-mode-grid > a { grid-template-columns: 44px minmax(0,1fr); padding: 14px; }
  .agn-withdrawal-mode-icon { width: 44px; height: 44px; }
  .agn-withdrawal-mode-grid b { grid-column: 2; white-space: normal; }
  .agn-withdrawal-summary-grid { grid-template-columns: 1fr; gap: 8px; }
  .agn-withdrawal-summary-grid article { padding: 12px; }
  .agn-withdrawal-route { grid-template-columns: 1fr 14px 1fr 14px 1fr; padding: 12px; }
  .agn-withdrawal-route > span { display: grid; justify-items: center; text-align: center; }
  .agn-withdrawal-live-review { grid-template-columns: 1fr; }
  .agn-withdrawal-live-review > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
  .agn-withdrawal-live-review strong { margin-top: 0; }
}

/* Immediate peso wallet ledger — v8 */
.agn-wallet-types a { display: grid; grid-template-columns: 40px 1fr auto; gap: 11px; align-items: center; padding: 13px; border: 1px solid rgba(255,255,255,.11); border-radius: 14px; background: rgba(255,255,255,.06); transition: border-color .2s ease, background .2s ease; }
.agn-wallet-types a:hover,
.agn-wallet-types a:focus-visible { border-color: rgba(240,196,84,.5); background: rgba(255,255,255,.1); }
.agn-wallet-types a > .f7-icons { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; color: var(--portal-gold-light); background: rgba(240,196,84,.1); }
/* Dashboard card rhythm and action targets — v11 */
.agn-stat-link {
  align-self: flex-start;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  margin-top: 10px;
  padding: 0 12px;
  border: 1px solid rgba(13, 104, 54, .18);
  border-radius: 10px;
  color: var(--portal-green);
  background: rgba(13, 104, 54, .07);
  font-size: 11px;
  font-weight: 800;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.agn-stat-link:hover,
.agn-stat-link:focus-visible { border-color: rgba(13, 104, 54, .42); background: rgba(13, 104, 54, .12); transform: translateY(-1px); }
.agn-wallet-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}
.agn-wallet-switch-banner {
  margin-bottom: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.agn-wallet-switch-chip {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 13px;
  border: 1px solid var(--portal-border);
  border-radius: 999px;
  color: var(--portal-muted);
  background: var(--portal-surface);
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}
.agn-wallet-switch-chip:hover,
.agn-wallet-switch-chip:focus-visible {
  border-color: rgba(13, 104, 54, .42);
  color: var(--portal-green);
  background: rgba(13, 104, 54, .07);
}
.agn-wallet-switch-chip.is-active {
  border-color: var(--portal-green);
  color: var(--portal-green-deep);
  background: rgba(13, 104, 54, .14);
}
.agn-wallet-switch-card {
  min-width: 0;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 22px;
  gap: 14px;
  align-items: center;
  padding: 19px;
  border: 1px solid var(--portal-border);
  border-radius: 17px;
  color: var(--portal-ink);
  background: var(--portal-surface);
  box-shadow: 0 10px 30px rgba(0, 34, 79, .06);
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.agn-wallet-switch-card:hover,
.agn-wallet-switch-card:focus-visible { transform: translateY(-2px); border-color: rgba(13, 104, 54, .42); box-shadow: 0 14px 34px rgba(0, 34, 79, .1); }
.agn-wallet-switch-card.is-active { border-color: var(--portal-green); box-shadow: 0 0 0 3px rgba(13, 104, 54, .1); }
.agn-wallet-switch-card > span:nth-child(2) { min-width: 0; display: grid; gap: 4px; }
.agn-wallet-switch-card small { color: var(--portal-muted); font-size: 11px; font-weight: 700; }
.agn-wallet-switch-card strong { overflow: hidden; color: var(--portal-ink); font-size: clamp(18px, 2.4vw, 27px); line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.agn-wallet-switch-card > .f7-icons:last-child { color: var(--portal-muted); font-size: 18px; }
.agn-wallet-flow-banner { margin-bottom: 20px; border-color: rgba(13, 104, 54, .25); background: rgba(13, 104, 54, .08); }
.agn-wallet-flow-banner > i { color: var(--portal-green); }
.agn-wallet-workspace { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 20px; margin-bottom: 20px; align-items: start; }
.agn-wallet-workspace.has-dual-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
.agn-wallet-workspace.has-dual-actions .agn-wallet-policy-card { grid-column: 1 / -1; }
.agn-wallet-workspace-readonly { grid-template-columns: minmax(0, 720px); }
.agn-wallet-transfer-form { display: grid; gap: 17px; }
.agn-form-field textarea {
  width: 100%;
  resize: vertical;
  padding: 13px 14px;
  border: 1px solid var(--portal-border);
  border-radius: 11px;
  color: var(--portal-ink);
  background: var(--portal-surface);
  font: inherit;
  font-size: 14px;
  line-height: 1.5;
}
.agn-form-field textarea:focus { border-color: var(--portal-gold); outline: 0; box-shadow: 0 0 0 3px rgba(240, 196, 84, .14); }
.agn-money-input { display: grid; grid-template-columns: 48px minmax(0, 1fr); }
.agn-money-input > span { display: grid; place-items: center; border: 1px solid var(--portal-border); border-right: 0; border-radius: 11px 0 0 11px; color: var(--portal-gold); background: var(--portal-soft); font-size: 19px; font-weight: 800; }
.agn-money-input input { width: 100%; min-height: 50px; padding: 0 14px; border: 1px solid var(--portal-border); border-radius: 0 11px 11px 0; color: var(--portal-ink); background: var(--portal-soft); font-variant-numeric: tabular-nums; }
.agn-money-input input:focus { position: relative; border-color: var(--portal-gold); outline: 0; box-shadow: 0 0 0 3px rgba(240, 196, 84, .14); }
.agn-checkbox-control { display: flex !important; align-items: flex-start; gap: 12px; min-height: 58px; padding: 13px 15px; border: 1px solid var(--portal-border); border-radius: 12px; color: var(--portal-ink); background: var(--portal-soft); cursor: pointer; }
.agn-checkbox-control input { flex: 0 0 auto; width: 21px; height: 21px; margin: 2px 0 0; accent-color: var(--portal-green); }
.agn-checkbox-control span { display: grid; gap: 3px; min-width: 0; }
.agn-checkbox-control strong { font-size: 14px; line-height: 1.35; }
.agn-checkbox-control small { color: var(--portal-muted); font-size: 12px; font-weight: 600; line-height: 1.45; }
.agn-checkbox-control:has(input:checked) { border-color: rgba(13, 104, 54, .38); background: rgba(13, 104, 54, .08); box-shadow: 0 0 0 3px rgba(13, 104, 54, .07); }
.agn-wallet-empty { display: grid; justify-items: start; gap: 8px; padding: 28px 22px; }
.agn-wallet-empty > i { color: var(--portal-muted); font-size: 33px; }
.agn-wallet-empty h3 { margin: 0; font-size: 18px; }
.agn-wallet-empty p { margin: 0 0 8px; color: var(--portal-muted); font-size: 12px; }
.agn-wallet-policy-card { overflow: hidden; }
.agn-wallet-withdrawal-actions {
  display: grid;
  gap: 14px;
}
.agn-wallet-withdrawal-actions form { margin: 0; width: 100%; }
.agn-wallet-withdrawal-actions .agn-wallet-request-note input { margin-bottom: 0; }
.agn-wallet-request-actions { display: flex; }
.agn-wallet-request-actions .agn-table-action,
.agn-wallet-request-actions .agn-portal-button { width: 100%; }
.agn-wallet-request-note { display: grid; gap: 7px; margin: 0; }
.agn-wallet-request-note input {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--portal-border);
  border-radius: 11px;
  background: var(--portal-surface);
  color: var(--portal-ink);
  font-size: 12px;
}
.agn-wallet-request-note input:focus {
  outline: 0;
  border-color: var(--portal-gold);
  box-shadow: 0 0 0 3px rgba(240, 196, 84, .14);
}
.agn-wallet-chain { display: grid; gap: 0; margin: 0; padding: 10px 20px 20px; list-style: none; }
.agn-wallet-chain li { position: relative; display: grid; grid-template-columns: 38px 1fr; gap: 12px; align-items: center; padding: 11px 0; }
.agn-wallet-chain li:not(:last-child)::after { content: ""; position: absolute; top: 49px; bottom: -5px; left: 18px; width: 2px; background: var(--portal-border); }
.agn-wallet-chain li > span { width: 38px; height: 38px; display: grid; z-index: 1; place-items: center; border: 1px solid var(--portal-border); border-radius: 12px; color: var(--portal-muted); background: var(--portal-surface); font-size: 11px; font-weight: 800; }
.agn-wallet-chain li.is-current > span { border-color: var(--portal-green); color: #fff; background: var(--portal-green); }
.agn-wallet-chain li > div { min-width: 0; display: grid; gap: 2px; }
.agn-wallet-chain strong { font-size: 13px; }
.agn-wallet-chain small { color: var(--portal-muted); font-size: 10px; line-height: 1.45; }
.agn-wallet-policy-card > .agn-portal-note { margin: 0 20px 20px; }
.agn-wallet-ledger { margin-bottom: 20px; }
.agn-wallet-reference { color: var(--portal-navy); font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: 11px !important; letter-spacing: .02em; }
html.dark .agn-wallet-reference { color: var(--portal-gold-light); }
.agn-wallet-ledger-amount { color: var(--portal-green-deep); font-size: 14px !important; font-variant-numeric: tabular-nums; white-space: nowrap; }
.agn-wallet-direction { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.agn-wallet-direction-sent { color: #9a5b18; background: rgba(199, 148, 27, .12); }
.agn-wallet-direction-received { color: var(--portal-green-deep); background: rgba(13, 104, 54, .1); }
.agn-wallet-direction-network { color: var(--portal-navy); background: rgba(0, 34, 79, .08); }
html.dark .agn-wallet-direction-network { color: #a9c8ef; background: rgba(125, 177, 239, .1); }

@media (max-width: 980px) {
  .agn-wallet-workspace { grid-template-columns: 1fr; }
  .agn-wallet-policy-card { max-width: none; }
}
@media (max-width: 640px) {
  .agn-role-dashboard-grid { grid-template-columns: 1fr; }
  .agn-wallet-switch { grid-template-columns: 1fr; gap: 11px; }
  .agn-wallet-switch-card { padding: 15px; }
  .agn-wallet-switch-card strong { font-size: 20px; }
  .agn-wallet-workspace { gap: 14px; }
  .agn-wallet-chain { padding-inline: 16px; }
  .agn-wallet-policy-card > .agn-portal-note { margin-inline: 16px; }
}

/* Responsive dashboard tuning for all role dashboards — v15 */
.agn-admin-card-header { gap: 14px; align-items: flex-start; }
.agn-admin-card-header > div { min-width: 0; }
.agn-admin-card-header > div > * { min-width: 0; }
.agn-admin-card-header h2 { font-size: clamp(20px, 2.6vw, 22px); }
.agn-admin-card-header p { margin: 6px 0 0; max-width: 78ch; }

.agn-wallet-transfer-context {
  padding: 0 18px 8px;
  display: flex;
  align-items: center;
  gap: 11px;
  flex-wrap: wrap;
  color: var(--portal-ink);
  font-size: 12px;
}
.agn-wallet-transfer-context > div { display: flex; gap: 8px; align-items: center; font-weight: 700; }
.agn-wallet-transfer-context .f7-icons {
  color: var(--portal-muted);
  font-size: 16px;
}
.agn-wallet-transfer-context small { color: var(--portal-muted); }

.agn-admin-stat { border-radius: 18px; }

@media (max-width: 1180px) {
  .agn-admin-main {
    width: min(1300px, 100%);
    padding-inline: clamp(16px, 3vw, 24px);
  }
  .agn-admin-card-header h2 { font-size: 18px; }
}

@media (max-width: 900px) {
  .agn-admin-main {
    padding-inline: 16px;
  }
  .agn-admin-heading {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 16px;
  }
  .agn-admin-heading > span { width: 100%; }
  .agn-admin-topbar {
    padding-right: 16px;
    padding-left: 16px;
  }
  .agn-admin-topbar-title {
    min-width: 0;
  }
  .agn-admin-topbar-title strong {
    font-size: clamp(18px, 5.6vw, 22px);
  }
  .agn-admin-top-actions {
    min-width: 0;
  }
  .agn-admin-nav a,
  .agn-admin-nav button {
    min-height: 46px;
  }
  .agn-admin-top-actions .agn-portal-icon-button {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
  }
  .agn-admin-table .agn-table-action,
  .agn-account-form .agn-portal-button,
  .agn-reset-form .agn-portal-button,
  .agn-account-form-footer .agn-portal-button {
    min-height: 44px;
    width: 100%;
  }
  .agn-account-actions,
  .agn-password-guide-actions {
    width: 100%;
  }
  .agn-reset-form {
    width: min(430px, calc(100vw - 28px));
  }
  .agn-admin-sidebar .agn-admin-nav {
    padding-bottom: 12px;
  }
}

@media (max-width: 640px) {
  .agn-admin-sidebar {
    width: min(320px, calc(100vw - 36px));
  }
  .agn-admin-main {
    padding-top: 20px;
  }
  .agn-admin-main .agn-admin-card-header {
    gap: 12px;
  }
  .agn-wallet-transfer-context,
  .agn-password-page,
  .agn-member-dashboard-grid,
  .agn-security-setup-grid,
  .agn-security-actions-grid,
  .agn-admin-grid,
  .agn-account-layout {
    gap: 14px;
  }
  .agn-wallet-chain {
    padding: 10px 14px 16px;
  }
  .agn-wallet-withdrawal-actions {
    gap: 10px;
  }
  .agn-wallet-request-note input {
    min-height: 40px;
  }
}

@media (max-width: 440px) {
  .agn-admin-main {
    padding-inline: 12px;
  }
  .agn-admin-sidebar {
    width: min(300px, calc(100vw - 28px));
  }
  .agn-admin-topbar { gap: 8px; }
  .agn-admin-status { display: none; }
  .agn-wallet-transfer-context { font-size: 11px; }
  .agn-wallet-request-actions {
    flex-direction: column;
    gap: 8px;
  }
}

/* Mobile role-aware bottom navigation */
.agn-mobile-bottom-nav { display: none; }

/* Binary pairing and payout engine */
.agn-binary-payplan-card { margin-bottom: 20px; overflow: hidden; }
.agn-report-full-width { grid-column: 1 / -1; }
.agn-binary-payplan-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; padding: 22px 24px; }
.agn-binary-payplan-grid article { min-width: 0; padding: 18px; border: 1px solid var(--portal-border); border-radius: 15px; background: var(--portal-soft); }
.agn-binary-payplan-grid span,
.agn-binary-payplan-grid strong,
.agn-binary-payplan-grid small { display: block; }
.agn-binary-payplan-grid span { color: var(--portal-muted); font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.agn-binary-payplan-grid strong { margin-top: 9px; color: var(--portal-ink); font-size: clamp(17px, 2vw, 24px); overflow-wrap: anywhere; }
.agn-binary-payplan-grid small { margin-top: 5px; color: var(--portal-muted); font-size: 9px; line-height: 1.45; }
.agn-binary-plan-rule { display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 13px; align-items: center; margin: 0 24px 24px; padding: 16px; border: 1px solid rgba(13,104,54,.18); border-radius: 15px; background: rgba(13,104,54,.065); }
.agn-binary-plan-rule > .f7-icons { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 13px; color: #fff; background: var(--portal-green); font-size: 21px; }
.agn-binary-plan-rule strong,
.agn-binary-plan-rule small { display: block; }
.agn-binary-plan-rule strong { color: var(--portal-ink); font-size: 12px; }
.agn-binary-plan-rule small { margin-top: 5px; color: var(--portal-muted); font-size: 10px; line-height: 1.55; }

@media (max-width: 900px) { .agn-binary-payplan-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 520px) {
  .agn-binary-payplan-grid { grid-template-columns: 1fr 1fr; gap: 8px; padding: 16px; }
  .agn-binary-payplan-grid article { padding: 14px 12px; }
  .agn-binary-plan-rule { grid-template-columns: 40px minmax(0,1fr); margin: 0 16px 16px; padding: 14px; }
  .agn-binary-plan-rule > .f7-icons { width: 40px; height: 40px; }
}

/* Authenticated upline Member registration */
.agn-upline-register-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); gap: 20px; align-items: start; }
.agn-upline-register-side { display: grid; gap: 16px; }
.agn-upline-form-section { margin: 5px 0 14px; }
.agn-upline-form-section:not(:first-child) { margin-top: 28px; padding-top: 23px; border-top: 1px solid var(--portal-border); }
.agn-upline-form-section h3 { margin: 6px 0 5px; font-size: 17px; }
.agn-upline-form-section p { margin: 0; color: var(--portal-muted); font-size: 11px; line-height: 1.6; }
.agn-upline-slot-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 24px; }
.agn-upline-slot { position: relative; min-width: 0; cursor: pointer; }
.agn-upline-slot > input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.agn-upline-slot > span { min-height: 114px; display: grid; grid-template-columns: 46px minmax(0,1fr) 24px; gap: 12px; align-items: center; padding: 16px; border: 1px solid var(--portal-border); border-radius: 16px; background: var(--portal-soft); transition: border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.agn-upline-slot > span > .f7-icons:first-child { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 13px; color: var(--portal-green); background: rgba(13,104,54,.1); font-size: 21px; }
.agn-upline-slot strong,
.agn-upline-slot small,
.agn-upline-slot em { display: block; overflow-wrap: anywhere; }
.agn-upline-slot strong { font-size: 13px; }
.agn-upline-slot small { margin-top: 4px; color: var(--portal-muted); font-size: 10px; line-height: 1.45; }
.agn-upline-slot em { margin-top: 5px; color: var(--portal-green); font-size: 9px; font-style: normal; font-weight: 700; }
.agn-upline-slot .agn-slot-check { color: transparent; font-size: 21px; }
.agn-upline-slot input:checked + span { border-color: var(--portal-green); background: rgba(13,104,54,.075); box-shadow: 0 0 0 3px rgba(13,104,54,.1); }
.agn-upline-slot input:checked + span .agn-slot-check { color: var(--portal-green); }
.agn-upline-slot input:focus-visible + span { outline: 3px solid var(--portal-gold-light); outline-offset: 3px; }
.agn-upline-slot.is-unavailable { cursor: not-allowed; opacity: .58; }
.agn-selected-slot-card { min-height: 116px; display: grid; grid-template-columns: 50px minmax(0,1fr) 28px; gap: 14px; align-items: center; padding: 18px; border: 1px solid var(--portal-green); border-radius: 17px; background: linear-gradient(135deg, rgba(13,104,54,.1), rgba(13,104,54,.035)); box-shadow: 0 0 0 3px rgba(13,104,54,.08); }
.agn-selected-slot-card > .f7-icons:first-child { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 14px; color: #fff; background: var(--portal-green); font-size: 22px; box-shadow: 0 7px 18px rgba(13,104,54,.2); }
.agn-selected-slot-card strong,
.agn-selected-slot-card small { display: block; overflow-wrap: anywhere; }
.agn-selected-slot-card strong { margin-top: 5px; color: var(--portal-ink); font-size: 14px; }
.agn-selected-slot-card small { margin-top: 5px; color: var(--portal-muted); font-size: 10px; }
.agn-selected-slot-check { color: var(--portal-green); font-size: 24px; }
.agn-selected-slot-actions { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 12px 0 24px; }
.agn-selected-slot-actions a { min-height: 36px; display: inline-flex; align-items: center; gap: 5px; color: var(--portal-green); font-size: 10px; font-weight: 800; text-decoration: none; }
.agn-selected-slot-actions .f7-icons { font-size: 15px; }
.agn-selected-slot-actions a:hover { text-decoration: underline; }
.agn-slot-notice a { color: inherit; font-weight: 800; text-decoration: underline; }
.agn-upline-consent { margin: 0 !important; }
.agn-upline-flow { list-style: none; display: grid; gap: 0; margin: 0; padding: 8px 20px 20px; }
.agn-upline-flow li { position: relative; display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 11px; padding: 12px 0; }
.agn-upline-flow li:not(:last-child)::after { content: ""; position: absolute; top: 46px; bottom: -2px; left: 16px; width: 2px; background: var(--portal-border); }
.agn-upline-flow li > span { position: relative; z-index: 1; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: #fff; background: var(--portal-green); font-size: 10px; font-weight: 800; }
.agn-upline-flow strong,
.agn-upline-flow small { display: block; }
.agn-upline-flow strong { font-size: 11px; }
.agn-upline-flow small { margin-top: 4px; color: var(--portal-muted); font-size: 9px; line-height: 1.5; }
.agn-upline-responsibility { padding: 22px; text-align: center; }
.agn-upline-responsibility > .f7-icons { width: 52px; height: 52px; display: grid; place-items: center; margin: 0 auto 13px; border-radius: 16px; color: var(--portal-green); background: rgba(13,104,54,.1); font-size: 24px; }
.agn-upline-responsibility p { margin: 0; color: var(--portal-muted); font-size: 11px; line-height: 1.65; }

@media (max-width: 1050px) {
  .agn-upline-register-layout { grid-template-columns: 1fr; }
  .agn-upline-register-side { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .agn-upline-slot-grid,
  .agn-upline-register-side { grid-template-columns: 1fr; }
  .agn-upline-slot > span { min-height: 100px; padding: 14px; }
  .agn-upline-form-section:not(:first-child) { margin-top: 22px; padding-top: 19px; }
  .agn-selected-slot-card { grid-template-columns: 44px minmax(0,1fr) 24px; gap: 11px; padding: 15px; }
  .agn-selected-slot-card > .f7-icons:first-child { width: 44px; height: 44px; }
  .agn-selected-slot-actions { display: grid; grid-template-columns: 1fr; gap: 2px; }
  .agn-selected-slot-actions a { min-height: 44px; }
}

@media (max-width: 880px) {
  .agn-mobile-bottom-nav {
    position: fixed;
    z-index: 85;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    padding: 7px 7px max(8px, env(safe-area-inset-bottom));
    border-top: 1px solid var(--portal-border);
    background: color-mix(in srgb, var(--portal-surface) 94%, transparent);
    box-shadow: 0 -12px 35px rgba(0, 22, 51, .1);
    backdrop-filter: blur(20px) saturate(150%);
    -webkit-backdrop-filter: blur(20px) saturate(150%);
  }
  .agn-mobile-bottom-nav-inner {
    width: min(620px, 100%);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 4px;
    margin: 0 auto;
  }
  .agn-mobile-bottom-nav :is(a, button) {
    position: relative;
    min-width: 0;
    width: 100%;
    min-height: 64px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 6px 3px;
    border: 0;
    border-radius: 13px;
    color: var(--portal-muted);
    background: transparent;
    font-family: inherit;
    font-size: 10px;
    font-weight: 750;
    line-height: 1.1;
    text-align: center;
    cursor: pointer;
    touch-action: manipulation;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
  }
  .agn-mobile-bottom-nav :is(a, button)::before {
    content: "";
    position: absolute;
    top: -7px;
    width: 30px;
    height: 4px;
    border-radius: 0 0 999px 999px;
    background: transparent;
  }
  .agn-mobile-nav-icon {
    min-width: 40px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    transition: color .18s ease, background .18s ease, transform .18s ease;
  }
  .agn-mobile-nav-icon .f7-icons { font-size: 22px; }
  .agn-mobile-bottom-nav :is(a, button) > span:last-child { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; pointer-events: none; }
  .agn-mobile-bottom-nav :is(a, button):active .agn-mobile-nav-icon { transform: scale(.92); }
  .agn-mobile-bottom-nav :is(a, button):hover,
  .agn-mobile-bottom-nav :is(a, button):focus-visible,
  .agn-mobile-bottom-nav :is(a, button).is-active { color: var(--portal-green); }
  .agn-mobile-bottom-nav :is(a, button):focus-visible { outline: 2px solid var(--portal-gold-light); outline-offset: -2px; }
  .agn-mobile-bottom-nav :is(a, button).is-active::before { background: var(--portal-gold); }
  .agn-mobile-bottom-nav :is(a, button).is-active .agn-mobile-nav-icon {
    color: #fff;
    background: linear-gradient(135deg, var(--portal-green), #169357);
    box-shadow: 0 5px 13px rgba(13, 104, 54, .22);
    transform: translateY(-1px);
  }
  .agn-mobile-bottom-nav :is(a, button).is-active:active .agn-mobile-nav-icon { transform: translateY(-1px) scale(.92); }
  .agn-admin-main { padding-bottom: calc(116px + env(safe-area-inset-bottom)); }
  .agn-admin-toast {
    right: 12px;
    bottom: calc(94px + env(safe-area-inset-bottom));
    left: 12px;
    max-width: none;
  }
  .agn-admin-body.sidebar-open .agn-mobile-bottom-nav { pointer-events: none; }
}

@media (max-width: 360px) {
  .agn-mobile-bottom-nav { padding-inline: 3px; }
  .agn-mobile-bottom-nav-inner { gap: 1px; }
  .agn-mobile-bottom-nav :is(a, button) { min-height: 61px; padding-inline: 1px; font-size: 9px; }
  .agn-mobile-nav-icon { min-width: 36px; }
  .agn-mobile-nav-icon .f7-icons { font-size: 21px; }
}

/* Final form-control spacing overrides - v34 */
.agn-portal-button { min-height: 50px; height: auto; padding: 11px 20px; line-height: 1.35; text-align: center; white-space: normal; }
.agn-portal-button > .f7-icons,
.agn-portal-button > i { flex: 0 0 auto; }
.agn-account-form,
.agn-wallet-transfer-form,
.agn-auth-card form { row-gap: 20px; }
.agn-form-grid { column-gap: 18px; row-gap: 20px; }
.agn-form-field label,
.agn-form-legend { margin-bottom: 8px; line-height: 1.4; }
.agn-form-field > input,
.agn-form-field > select,
.agn-input-wrap input,
.agn-reset-form input,
.agn-wallet-request-note input { min-height: 50px; padding-top: 11px; padding-bottom: 11px; line-height: 1.35; }
.agn-form-field textarea { min-height: 104px; padding: 13px 14px; }
.agn-money-input > span { min-height: 50px; padding: 8px; line-height: 1; }
.agn-money-input input { min-height: 50px; padding: 11px 14px; line-height: 1.35; }
.agn-field-help { margin-top: 7px; }
.agn-account-form-footer,
.agn-registration-controls { margin-top: 22px; gap: 12px; }
.agn-admin-card-header > a:not(.agn-portal-icon-button),
.agn-admin-card-header .agn-portal-button { justify-content: center; padding: 10px 14px; border-radius: 10px; line-height: 1.3; text-align: center; }
.agn-table-action,
.agn-account-actions summary { justify-content: center; padding: 10px 13px; line-height: 1.3; text-align: center; }
.agn-loading-quick-amounts button,
.agn-withdrawal-quick-amounts button { min-height: 42px; padding: 9px 11px; line-height: 1.25; }
.agn-mfa-steps button,
.agn-mfa-steps a { min-height: 42px; justify-content: center; padding: 10px 13px; line-height: 1.3; text-align: center; }
.agn-referral-link-control > div { align-items: stretch; }
.agn-referral-link-control .agn-portal-button { padding-inline: 17px; }

@media (max-width: 640px) {
  .agn-portal-button { min-height: 50px; padding: 12px 16px; }
  .agn-account-form { padding: 18px 16px; }
  .agn-form-grid { gap: 18px; }
  .agn-account-form-footer,
  .agn-registration-controls,
  .agn-registration-controls > div { gap: 10px; }
  .agn-admin-card-header > a:not(.agn-portal-icon-button),
  .agn-admin-card-header .agn-portal-button,
  .agn-table-action { min-height: 46px; padding: 11px 14px; }
  .agn-loading-quick-amounts button,
  .agn-withdrawal-quick-amounts button { min-height: 46px; }
}

/* Cross-device interaction and dialog hardening - v36 */
.agn-admin-card,
.agn-admin-card-header,
.agn-admin-card-header > div,
.agn-account-form,
.agn-form-grid,
.agn-form-grid > *,
.agn-wallet-transfer-form,
.agn-wallet-request-card,
.agn-withdrawal-command,
.agn-genealogy-card,
.agn-genealogy-controls,
.agn-network-toolbar,
.agn-network-toolbar > * { min-width: 0; }

.agn-form-field > input,
.agn-form-field > select,
.agn-form-field textarea,
.agn-money-input,
.agn-money-input input,
.agn-input-wrap,
.agn-input-wrap input { max-width: 100%; box-sizing: border-box; }

.agn-action-dialog {
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.agn-action-dialog-heading > div,
.agn-action-dialog-assurance > span,
.agn-module-dialog-heading > div { min-width: 0; }
.agn-action-dialog-heading h2,
.agn-action-dialog-assurance :is(strong, small),
.agn-module-dialog-heading h2,
.agn-module-dialog-status :is(strong, small) { overflow-wrap: anywhere; }
.agn-module-dialog {
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.agn-genealogy-search-wrap button {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
}
.agn-genealogy-depth-wrap select,
.agn-network-toolbar-actions button { min-height: 46px; }
.agn-tree-branch-toggle {
  min-height: 44px;
  padding: 9px 12px;
  touch-action: manipulation;
}
.agn-tree-branch-toggle .f7-icons { font-size: 14px; }

.agn-admin-table td > *,
.agn-admin-table td :is(strong, small, a, span) { max-width: 100%; overflow-wrap: anywhere; }
.agn-admin-toast { overflow-wrap: anywhere; }

@media (max-width: 640px) {
  .agn-admin-card-header > form { width: 100%; }
  .agn-admin-card-header > form > :is(button, .agn-portal-button, .agn-table-action) {
    width: 100%;
    justify-content: center;
  }
  .agn-action-dialog {
    padding-bottom: env(safe-area-inset-bottom);
    scrollbar-gutter: auto;
  }
  .agn-module-dialog { width: calc(100vw - 16px); padding: 20px 18px max(20px, env(safe-area-inset-bottom)); }
  .agn-reset-form { padding-bottom: max(18px, env(safe-area-inset-bottom)); }
  .agn-genealogy-depth-wrap select { min-height: 46px; }
}

@media (max-width: 340px) {
  .agn-action-dialog-actions { grid-template-columns: 1fr; }
  .agn-action-dialog-heading { grid-template-columns: 44px minmax(0,1fr) 42px; padding-inline: 15px; }
  .agn-action-dialog-icon { width: 44px; height: 44px; }
  .agn-action-dialog > p,
  .agn-action-dialog-assurance { margin-inline: 15px; }
  .agn-action-dialog-actions { padding-inline: 15px; }
}

@media (max-height: 560px) and (orientation: landscape) {
  .agn-action-dialog,
  .agn-module-dialog { max-height: calc(100dvh - 12px); }
  .agn-action-dialog-heading { padding-top: 16px; }
  .agn-action-dialog > p { margin-top: 12px; }
  .agn-action-dialog-assurance { margin-top: 12px; padding-block: 10px; }
  .agn-action-dialog-actions { padding-block: 14px; }
}

/* Compensation checkbox correction — must follow generic labelled-input rules. */
.agn-compensation-form .agn-form-field > label.agn-checkbox-control > input {
  flex: 0 0 21px;
  width: 21px;
  min-width: 21px;
  min-height: 21px;
  height: 21px;
  margin: 2px 0 0;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  box-shadow: none;
}
.agn-compensation-form .agn-checkbox-control > span {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
}

/* Admin testing reset — intentionally isolated from account password-reset controls. */
.agn-reset-danger-card {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin-bottom: 20px;
  padding: 22px;
  border: 1px solid color-mix(in srgb, #b53333 36%, var(--portal-border));
  border-radius: 18px;
  background: color-mix(in srgb, #b53333 7%, var(--portal-surface));
}
.agn-reset-danger-icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 16px;
  color: #fff;
  background: #a63232;
  box-shadow: 0 10px 26px rgba(166, 50, 50, .2);
}
.agn-reset-danger-icon i { font-size: 28px; }
.agn-reset-danger-card h2 { margin: 5px 0 6px; color: var(--portal-ink); font-size: clamp(20px, 2vw, 26px); line-height: 1.2; }
.agn-reset-danger-card p { margin: 0; color: var(--portal-muted); font-size: 14px; line-height: 1.65; }
.agn-reset-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr); gap: 20px; align-items: start; }
.agn-reset-preview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 20px; }
.agn-reset-preview-grid article { min-width: 0; padding: 17px; border: 1px solid var(--portal-border); border-radius: 14px; background: var(--portal-surface-soft); }
.agn-reset-preview-grid strong { display: block; color: var(--portal-ink); font-size: 25px; line-height: 1.1; }
.agn-reset-preview-grid span { display: block; margin-top: 6px; color: var(--portal-muted); font-size: 12px; line-height: 1.35; }
.agn-reset-scope-list { display: grid; gap: 10px; padding: 0 20px 20px; }
.agn-reset-scope-list > div { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 12px; align-items: start; padding: 15px; border: 1px solid color-mix(in srgb, #b53333 30%, var(--portal-border)); border-radius: 14px; background: color-mix(in srgb, #b53333 5%, var(--portal-surface)); }
.agn-reset-scope-list > div > i { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; color: #a63232; background: color-mix(in srgb, #b53333 12%, var(--portal-surface)); }
.agn-reset-scope-list span { min-width: 0; }
.agn-reset-scope-list strong, .agn-reset-scope-list small { display: block; }
.agn-reset-scope-list strong { color: var(--portal-ink); font-size: 14px; }
.agn-reset-scope-list small { margin-top: 4px; color: var(--portal-muted); font-size: 12px; line-height: 1.55; }
.agn-reset-scope-list > .is-preserved { border-color: color-mix(in srgb, #23865d 30%, var(--portal-border)); background: color-mix(in srgb, #23865d 5%, var(--portal-surface)); }
.agn-reset-scope-list > .is-preserved > i { color: #23865d; background: color-mix(in srgb, #23865d 12%, var(--portal-surface)); }
.agn-reset-form-card { overflow: visible; }
.agn-form-alert {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  margin: 0 0 18px;
  padding: 14px;
  border: 1px solid var(--portal-border);
  border-radius: 13px;
  color: var(--portal-muted);
  background: var(--portal-surface);
  font-size: 12px;
  line-height: 1.55;
}
.agn-form-alert > i { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; font-size: 20px; }
.agn-form-alert strong { display: block; color: var(--portal-ink); font-size: 13px; }
.agn-form-alert p { margin: 3px 0 0; }
.agn-form-alert ul { margin: 5px 0 0; padding-left: 18px; }
.agn-form-alert-info { border-color: color-mix(in srgb, #2877a8 30%, var(--portal-border)); background: color-mix(in srgb, #2877a8 6%, var(--portal-surface)); }
.agn-form-alert-info > i { color: #2877a8; background: color-mix(in srgb, #2877a8 13%, var(--portal-surface)); }
.agn-form-alert-error { border-color: color-mix(in srgb, #b53333 34%, var(--portal-border)); background: color-mix(in srgb, #b53333 6%, var(--portal-surface)); }
.agn-form-alert-error > i { color: #a63232; background: color-mix(in srgb, #b53333 13%, var(--portal-surface)); }
.agn-reset-form-card > .agn-form-alert { margin: 18px 20px 0; }
.agn-testing-reset-form { display: grid; gap: 17px; padding: 20px; }
.agn-testing-reset-form > label:not(.agn-testing-reset-check) { display: grid; gap: 8px; color: var(--portal-ink); font-size: 13px; font-weight: 700; }
.agn-testing-reset-form input[type="password"], .agn-testing-reset-form input[type="text"] { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid var(--portal-border); border-radius: 11px; color: var(--portal-ink); background: var(--portal-surface); font: inherit; }
.agn-testing-reset-form input:focus { border-color: var(--portal-gold); outline: 0; box-shadow: 0 0 0 3px rgba(240, 196, 84, .15); }
.agn-testing-reset-form code { width: fit-content; padding: 5px 8px; border-radius: 7px; color: var(--portal-ink); background: var(--portal-surface-soft); font-size: 12px; letter-spacing: .04em; }
.agn-testing-reset-check { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: start; color: var(--portal-muted); font-size: 12px; font-weight: 600; line-height: 1.5; cursor: pointer; }
.agn-testing-reset-check input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: #a63232; }
.agn-testing-reset-submit { width: 100%; min-height: 48px; }
.agn-testing-reset-submit:disabled { cursor: not-allowed; opacity: .5; transform: none; }
.agn-testing-reset-note { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 8px; margin: 0; color: var(--portal-muted); font-size: 11px; line-height: 1.5; }
.agn-testing-reset-note i { color: var(--portal-gold-dark); font-size: 18px; }

@media (max-width: 980px) {
  .agn-reset-layout { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .agn-reset-danger-card { grid-template-columns: 46px minmax(0, 1fr); gap: 13px; padding: 17px; }
  .agn-reset-danger-icon { width: 46px; height: 46px; border-radius: 13px; }
  .agn-reset-danger-icon i { font-size: 23px; }
  .agn-reset-preview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 15px; }
  .agn-reset-scope-list { padding: 0 15px 15px; }
  .agn-reset-form-card > .agn-form-alert { margin: 15px 15px 0; }
  .agn-testing-reset-form { padding: 16px; }
}

/* Admin account manager */
.agn-account-manager { margin-top: 20px; overflow: visible; }
.agn-account-manager-search { display: grid; gap: 8px; padding: 0 20px 18px; }
.agn-account-manager-search > label { color: var(--portal-ink); font-size: 12px; font-weight: 750; }
.agn-account-manager-search > div { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto auto; align-items: center; }
.agn-account-manager-search > div > span { display: grid; height: 48px; place-items: center; border: 1px solid var(--portal-border); border-right: 0; border-radius: 12px 0 0 12px; color: var(--portal-muted); background: var(--portal-surface-soft); }
.agn-account-manager-search input { width: 100%; min-width: 0; min-height: 48px; padding: 10px 13px; border: 1px solid var(--portal-border); border-radius: 0; color: var(--portal-ink); background: var(--portal-surface); font: inherit; }
.agn-account-manager-search input:focus { position: relative; z-index: 1; border-color: var(--portal-gold); outline: 0; box-shadow: 0 0 0 3px rgba(240, 196, 84, .15); }
.agn-account-manager-search .agn-portal-button { min-height: 48px; margin-left: 8px; }
.agn-account-manager-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 0 20px 20px; }
.agn-account-manager-card { min-width: 0; padding: 18px; border: 1px solid var(--portal-border); border-radius: 17px; background: var(--portal-surface); box-shadow: 0 10px 28px rgba(17, 30, 42, .05); }
.agn-account-manager-card.is-disabled { border-color: color-mix(in srgb, #b53333 30%, var(--portal-border)); background: color-mix(in srgb, #b53333 3%, var(--portal-surface)); }
.agn-account-manager-card > header { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 11px; align-items: center; }
.agn-account-manager-card > header > span:nth-child(2) { min-width: 0; }
.agn-account-manager-card > header strong, .agn-account-manager-card > header small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agn-account-manager-card > header strong { color: var(--portal-ink); font-size: 15px; }
.agn-account-manager-card > header small { margin-top: 3px; color: var(--portal-muted); font-size: 11px; }
.agn-account-manager-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 15px; }
.agn-account-manager-facts > span { min-width: 0; padding: 11px; border-radius: 11px; background: var(--portal-surface-soft); }
.agn-account-manager-facts small, .agn-account-manager-facts strong { display: block; }
.agn-account-manager-facts small { color: var(--portal-muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.agn-account-manager-facts strong { margin-top: 4px; overflow: hidden; color: var(--portal-ink); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.agn-account-manager-member { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 9px; align-items: center; margin: 10px 0 0; padding: 10px; border: 1px solid color-mix(in srgb, var(--portal-gold) 40%, var(--portal-border)); border-radius: 11px; color: var(--portal-ink); background: color-mix(in srgb, var(--portal-gold) 7%, var(--portal-surface)); }
.agn-account-manager-member > i { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; color: var(--portal-gold-dark); background: color-mix(in srgb, var(--portal-gold) 14%, var(--portal-surface)); }
.agn-account-manager-member strong, .agn-account-manager-member small { display: block; }
.agn-account-manager-member strong { font-size: 12px; }
.agn-account-manager-member small { margin-top: 2px; overflow: hidden; color: var(--portal-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.agn-account-manager-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.agn-account-manager-actions > form, .agn-account-manager-actions > details { margin: 0; }
.agn-account-manager-actions details > summary, .agn-account-manager-action { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: 7px; padding: 9px 11px; border: 1px solid var(--portal-border); border-radius: 10px; color: var(--portal-ink); background: var(--portal-surface-soft); font: inherit; font-size: 11px; font-weight: 750; line-height: 1.2; text-decoration: none; cursor: pointer; }
.agn-account-manager-actions details > summary::-webkit-details-marker { display: none; }
.agn-account-manager-actions details > summary::marker { content: ""; }
.agn-account-manager-actions i, .agn-account-manager-action i { flex: 0 0 auto; font-size: 17px; }
.agn-account-manager-action.is-danger { border-color: color-mix(in srgb, #b53333 34%, var(--portal-border)); color: #a63232; background: color-mix(in srgb, #b53333 6%, var(--portal-surface)); }
.agn-account-manager-action.is-enable { border-color: color-mix(in srgb, #23865d 34%, var(--portal-border)); color: #237252; background: color-mix(in srgb, #23865d 6%, var(--portal-surface)); }
.agn-account-manager-actions details > summary:hover, .agn-account-manager-action:hover { border-color: var(--portal-gold); transform: translateY(-1px); }
.agn-account-manager-actions details[open] > summary { border-color: var(--portal-gold); color: var(--portal-gold-dark); background: color-mix(in srgb, var(--portal-gold) 9%, var(--portal-surface)); }
.agn-account-manager-actions details[open] { position: relative; z-index: 10020; }
.agn-account-manager-actions details[open]::before { content: ""; position: fixed; z-index: 10010; inset: 0; background: rgba(7, 15, 23, .58); backdrop-filter: blur(3px); }
.agn-account-manager-actions .agn-reset-form { z-index: 10020; }
.agn-account-manage-form { position: fixed; z-index: 10020; top: 50%; left: 50%; display: grid; width: min(720px, calc(100vw - 28px)); max-height: calc(100dvh - 28px); gap: 15px; padding: 20px; overflow-y: auto; border: 1px solid var(--portal-border); border-radius: 18px; background: var(--portal-surface); box-shadow: 0 24px 80px rgba(9, 20, 30, .3); transform: translate(-50%, -50%); }
.agn-account-manage-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.agn-account-manage-grid > label { display: grid; min-width: 0; gap: 7px; color: var(--portal-ink); font-size: 12px; font-weight: 750; }
.agn-account-manage-grid > label.is-wide { grid-column: 1 / -1; }
.agn-account-manage-grid input { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid var(--portal-border); border-radius: 10px; color: var(--portal-ink); background: var(--portal-surface-soft); font: inherit; }
.agn-account-manage-grid input:focus { border-color: var(--portal-gold); outline: 0; box-shadow: 0 0 0 3px rgba(240, 196, 84, .15); }
.agn-account-manage-grid label small { color: var(--portal-muted); font-size: 10px; font-weight: 500; line-height: 1.45; }
.agn-account-manage-form > .agn-portal-note { margin: 0; }
.agn-account-manage-form > .agn-portal-button { justify-self: end; }

@media (max-width: 860px) {
  .agn-account-manager-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .agn-account-manager-search { padding: 0 15px 15px; }
  .agn-account-manager-search > div { grid-template-columns: 42px minmax(0, 1fr); gap: 0; }
  .agn-account-manager-search .agn-portal-button { margin: 8px 0 0; }
  .agn-account-manager-search .agn-portal-button:first-of-type { margin-right: 4px; }
  .agn-account-manager-search .agn-portal-button:last-of-type { margin-left: 4px; }
  .agn-account-manager-grid { gap: 12px; padding: 0 15px 15px; }
  .agn-account-manager-card { padding: 15px; }
  .agn-account-manager-card > header { grid-template-columns: 42px minmax(0, 1fr); }
  .agn-account-manager-card > header .agn-status-pill { grid-column: 1 / -1; justify-self: start; }
  .agn-account-manager-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .agn-account-manager-actions > form, .agn-account-manager-actions > details, .agn-account-manager-actions > a { width: 100%; }
  .agn-account-manager-actions details > summary, .agn-account-manager-action { width: 100%; min-height: 44px; padding: 10px 8px; }
  .agn-account-manage-form { width: calc(100vw - 18px); max-height: calc(100dvh - 18px); padding: 16px; border-radius: 15px; }
  .agn-account-manage-grid { grid-template-columns: 1fr; }
  .agn-account-manage-grid > label.is-wide { grid-column: auto; }
  .agn-account-manage-form > .agn-portal-button { width: 100%; justify-self: stretch; }
}

/* Professional genealogy explorer and exact node connectors - v3 */
.agn-genealogy-tree-shell {
  --agn-tree-line: #78a88f;
  --agn-tree-line-strong: #337a56;
}
.agn-genealogy-canvas { scroll-snap-type: both proximity; }
.agn-tree-item { scroll-snap-align: start center; }
.agn-tree-node {
  isolation: isolate;
  border-color: #cbdad2;
  box-shadow: 0 10px 26px rgba(13, 65, 41, .08), 0 1px 2px rgba(13, 65, 41, .05);
}
.agn-tree-node::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(13,104,54,.055), transparent 48%);
  pointer-events: none;
}
.agn-tree-node.is-match { border-color: var(--agn-tree-line-strong); box-shadow: 0 0 0 3px rgba(13,104,54,.13), 0 14px 32px rgba(13,65,41,.12); }
.agn-tree-node-position { display: grid; min-width: 50px; gap: 5px; justify-items: end; align-self: start; }
.agn-tree-node-position > span { color: #6b7b72; font-size: 9px; font-weight: 750; white-space: nowrap; }
.agn-tree-node-position > em { min-width: 38px; padding: 4px 6px; border-radius: 999px; color: #fff; background: #397457; font-size: 8px; font-style: normal; font-weight: 850; letter-spacing: .075em; text-align: center; text-transform: uppercase; }
.agn-tree-node-position > em.is-left { background: #2774a7; }
.agn-tree-node-position > em.is-right { background: #9b6422; }
.agn-tree-parent-stem {
  display: block;
  flex: 0 0 10px;
  width: 2px;
  height: 10px;
  min-height: 10px;
  background: var(--agn-tree-line-strong);
  pointer-events: none;
}
.agn-tree-branch-toggle { position: relative; z-index: 2; margin: 0 auto; border-color: #b9d0c3; color: #426653; box-shadow: 0 3px 10px rgba(13,65,41,.07); }
.agn-tree .agn-tree-children {
  margin-top: 10px;
  padding-top: 38px !important;
  column-gap: 18px;
  row-gap: 28px;
}
.agn-tree-children::after {
  content: "";
  position: absolute;
  top: -10px;
  left: 50%;
  width: 2px;
  height: 10px;
  background: var(--agn-tree-line-strong);
  transform: translateX(-1px);
}
.agn-tree-children::before {
  content: "";
  position: absolute;
  top: 0;
  height: 2px;
  background: var(--agn-tree-line);
}
.agn-tree-children.is-binary::before { right: 25%; left: 25%; border: 0; }
.agn-tree-children.is-binary::after { top: -10px; left: 50%; width: 2px; height: 10px; border: 0; background: var(--agn-tree-line-strong); }
.agn-tree-children.is-sponsor { grid-template-columns: repeat(var(--agn-sponsor-columns, 1), minmax(218px, 1fr)); }
.agn-tree-children.is-sponsor::before { right: var(--agn-connector-inset, 50%); left: var(--agn-connector-inset, 50%); }
.agn-tree-children > li { position: relative; min-width: 0; display: flex; justify-content: center; }
.agn-tree-children > li::before,
.agn-tree-children.is-binary > li::before {
  content: "";
  position: absolute;
  top: -38px;
  left: 50%;
  width: 2px;
  height: 38px;
  border: 0;
  background: var(--agn-tree-line);
  transform: translateX(-1px);
}
.agn-tree-children > .agn-tree-item { width: 100%; }
.agn-tree-vacancy-item { align-items: flex-start; }
.agn-tree-empty { border-color: #b9d0c3; }
.agn-tree-vacant-link { min-height: 112px; background: linear-gradient(180deg, #fbfdfc, #f4f9f6); }
.agn-tree-vacant-link:hover { border-color: var(--agn-tree-line-strong); }
.agn-genealogy-canvas.is-compact .agn-tree-children { column-gap: 10px; row-gap: 20px; }

@media (max-width: 980px) {
  .agn-genealogy-workspace { grid-template-columns: 1fr; min-height: 0; }
  .agn-genealogy-tree-shell { min-height: 600px; border-right: 0; border-bottom: 1px solid var(--portal-border); }
  .agn-genealogy-canvas { height: 620px; min-height: 560px; }
  .agn-genealogy-side { max-height: none; overflow: visible; }
  .agn-genealogy-node-details { position: static; }
}
@media (max-width: 760px) {
  .agn-genealogy-summary { grid-template-columns: 1fr; padding: 15px; }
  .agn-genealogy-summary article { padding: 13px; }
  .agn-genealogy-controls { gap: 10px; padding: 14px 15px; }
  .agn-genealogy-tabs { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .agn-genealogy-tab { min-width: 0; min-height: 48px; padding-inline: 9px; }
  .agn-genealogy-search-wrap { min-height: 48px; }
  .agn-genealogy-depth-wrap { justify-content: space-between; }
  .agn-genealogy-depth-wrap select { min-height: 48px; }
  .agn-network-toolbar { padding: 12px 15px; }
  .agn-network-toolbar-actions button { min-height: 48px; }
  .agn-genealogy-feedback { padding: 13px 15px 0; line-height: 1.5; }
  .agn-genealogy-search-results { margin-inline: 15px; }
  .agn-genealogy-tree-shell { min-height: 540px; }
  .agn-genealogy-canvas { height: 560px; min-height: 520px; padding: 28px 14px 46px; scrollbar-gutter: auto; }
  .agn-genealogy-side > * { margin-inline: 15px; }
  .agn-genealogy-node-details { margin-block: 15px; }
  .agn-placement-setting, .agn-binary-children { padding: 18px; }
}
@media (max-width: 520px) {
  .agn-network-header { padding: 18px 16px; }
  .agn-network-header .agn-security-mark { display: none; }
  .agn-genealogy-tabs { gap: 7px; }
  .agn-genealogy-tab { font-size: 10px; }
  .agn-network-toolbar-actions { gap: 6px; }
  .agn-network-toolbar-actions button { border-radius: 11px; }
  .agn-genealogy-canvas { height: 530px; min-height: 490px; padding-inline: 10px; }
  .agn-tree-node { width: min(220px, calc(100% - 8px)); min-height: 90px; padding: 12px; }
  .agn-tree-node-header { grid-template-columns: 38px minmax(0, 1fr) auto; gap: 9px; }
  .agn-tree-node .f7-icons { width: 38px; height: 38px; }
  .agn-tree-node-position { min-width: 44px; }
  .agn-tree-node-position > span { font-size: 8px; }
  .agn-tree-children { column-gap: 10px; }
  .agn-tree-vacant-link { width: min(190px, calc(100% - 6px)); }
  .agn-binary-children > div { grid-template-columns: 1fr; }
}

/* Dashboard scroll reliability - v4 */
html { min-height: 100%; overflow-x: hidden; overflow-y: auto; }
body.agn-admin-body {
  min-height: 100vh;
  min-height: 100dvh;
  overflow-x: clip;
  overflow-y: visible;
  overscroll-behavior-y: auto;
  touch-action: pan-y;
}
.agn-admin-layout,
.agn-admin-content,
.agn-admin-main {
  height: auto;
  max-height: none;
}
.agn-admin-content,
.agn-admin-main { min-height: 0; overflow-y: visible; }
body.agn-admin-body.account-modal-open,
body.agn-admin-body.agn-dialog-open { overflow: hidden; touch-action: none; }

@media (max-width: 880px) {
  body.agn-admin-body.sidebar-open {
    overflow-x: clip;
    overflow-y: visible;
    touch-action: pan-y;
  }
  .agn-admin-overlay { touch-action: pan-y; }
  .agn-admin-sidebar {
    max-height: 100vh;
    max-height: 100dvh;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
  }
}

/* Unified professional card rhythm — v56 */
.agn-admin-body {
  --agn-card-edge: 22px;
  --agn-card-block: 20px;
  --agn-section-gap: 20px;
}
.agn-admin-card {
  border-radius: 20px;
}
.agn-admin-card-header {
  padding: var(--agn-card-block) var(--agn-card-edge);
}
.agn-admin-card-header > div,
.agn-admin-card-header > div > :is(h1, h2, h3, p),
.agn-admin-card > :is(form, div, ol, ul) {
  min-width: 0;
}

/* Top-level page cards must never touch one another or a preceding workspace. */
.agn-admin-main > .agn-admin-card {
  margin-block-start: var(--agn-section-gap);
}
.agn-admin-main > .agn-admin-card + .agn-admin-card {
  margin-block-start: var(--agn-section-gap);
}

/* Preserve module-specific vertical rhythm while aligning every card edge. */
.agn-admin-card > .agn-account-form,
.agn-admin-card > .agn-testing-reset-form,
.agn-admin-card > .agn-activation-content,
.agn-admin-card > .agn-recovery-codes,
.agn-admin-card > .agn-permission-summary,
.agn-admin-card > .agn-upline-responsibility,
.agn-admin-card > .agn-report-callout,
.agn-admin-card > .agn-brand-preview-body {
  padding-inline: var(--agn-card-edge);
}
.agn-admin-card > .agn-dashboard-action-list,
.agn-admin-card > .agn-readiness-list,
.agn-admin-card > .agn-role-list,
.agn-admin-card > .agn-activity-list,
.agn-admin-card > .agn-mfa-steps,
.agn-admin-card > .agn-foundation-list,
.agn-admin-card > .agn-onboarding-steps,
.agn-admin-card > .agn-upline-flow,
.agn-admin-card > .agn-wallet-chain,
.agn-admin-card > .agn-binary-payplan-grid,
.agn-admin-card > .agn-genealogy-summary,
.agn-admin-card > .agn-referral-link-control,
.agn-admin-card > .agn-referral-share-grid,
.agn-admin-card > .agn-referral-code-row,
.agn-admin-card > .agn-reset-preview-grid,
.agn-admin-card > .agn-reset-scope-list,
.agn-admin-card > .agn-account-manager-search,
.agn-admin-card > .agn-account-manager-grid,
.agn-admin-card > .agn-remediation-grid {
  padding-inline: var(--agn-card-edge);
}
.agn-admin-card > .agn-push-device-state {
  margin-inline: var(--agn-card-edge);
}
.agn-admin-card > .agn-push-actions,
.agn-push-optin-card > .agn-field-help {
  margin-inline: var(--agn-card-edge);
}
.agn-admin-card > .agn-push-manage-link {
  width: calc(100% - (var(--agn-card-edge) * 2));
  margin-inline: var(--agn-card-edge);
}
.agn-admin-card > .agn-registration-handoff-summary {
  margin-inline: var(--agn-card-edge);
}
.agn-admin-card > .agn-wallet-transfer-context {
  padding-inline: var(--agn-card-edge);
}

/* Card headers, actions, and content stay legible when labels wrap. */
.agn-admin-card-header > :is(.agn-security-mark, .agn-portal-chip, a, form) {
  flex: 0 0 auto;
  max-width: 100%;
}
.agn-admin-card-header :is(h1, h2, h3, p, a, span),
.agn-admin-card :is(.agn-field-help, .agn-portal-note) {
  overflow-wrap: anywhere;
}
.agn-account-form > :first-child:not(input[type="hidden"]),
.agn-admin-card > .agn-account-form > input[type="hidden"] + * {
  margin-top: 0;
}
.agn-account-form > :last-child {
  margin-bottom: 0;
}

@media (max-width: 760px) {
  .agn-admin-body {
    --agn-card-edge: 16px;
    --agn-card-block: 17px;
    --agn-section-gap: 16px;
  }
  .agn-admin-card { border-radius: 17px; }
  .agn-admin-card-header { gap: 11px; }
  .agn-admin-card-header > :is(.agn-security-mark, .agn-portal-chip) {
    max-width: 100%;
    white-space: normal;
  }
  .agn-admin-table-wrap { padding: 12px var(--agn-card-edge); }
}

@media (max-width: 520px) {
  .agn-admin-body {
    --agn-card-edge: 15px;
    --agn-card-block: 16px;
    --agn-section-gap: 14px;
  }
  .agn-admin-card { border-radius: 16px; }
  .agn-admin-card-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding: var(--agn-card-block) var(--agn-card-edge);
  }
  .agn-admin-card-header > :is(.agn-security-mark, .agn-portal-chip, a:not(.agn-portal-icon-button), form) {
    width: 100%;
    justify-content: center;
  }
  .agn-admin-card-header > .agn-portal-icon-button {
    width: 44px;
    justify-self: end;
  }
  .agn-admin-card > .agn-push-device-state {
    margin-inline: var(--agn-card-edge);
    padding: 15px;
  }
}

/* Mobile header and protected-action clarity — v58 */
@media (max-width: 520px) {
  .agn-admin-topbar-title {
    flex: 1 1 auto;
    max-width: calc(100% - 96px);
  }
  .agn-admin-breadcrumb {
    flex: 1 1 auto;
    overflow: hidden;
  }
  .agn-admin-breadcrumb span,
  .agn-admin-breadcrumb strong {
    display: block;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .agn-admin-topbar-title .agn-admin-breadcrumb strong {
    font-size: 15px;
    line-height: 1.35;
  }
  .agn-admin-top-actions {
    flex: 0 0 auto;
  }
}

.agn-testing-reset-check {
  min-height: 48px;
  padding: 11px 12px;
  align-items: center;
  border: 1px solid var(--portal-border);
  border-radius: 11px;
  background: var(--portal-soft);
}
.agn-testing-reset-check input {
  margin-top: 0;
}
.agn-testing-reset-check:has(input:checked) {
  border-color: rgba(166, 50, 50, .38);
  background: rgba(166, 50, 50, .07);
  box-shadow: 0 0 0 3px rgba(166, 50, 50, .06);
}
.agn-testing-reset-check:focus-within {
  border-color: #a63232;
  box-shadow: 0 0 0 3px rgba(166, 50, 50, .12);
}

/* HA-Plus unified application interface — v60 */
.agn-admin-body {
  --portal-role-accent: var(--portal-green);
  --portal-role-soft: rgba(13,104,54,.10);
  --portal-elevated-shadow: 0 16px 44px rgba(0,34,79,.075);
  background:
    radial-gradient(circle at 100% 0%, var(--portal-role-soft), transparent 28rem),
    linear-gradient(180deg, #f7f9f5 0%, var(--portal-soft) 42%, #f2f6f2 100%);
}
.agn-role-admin { --portal-role-accent: var(--portal-gold); --portal-role-soft: rgba(199,148,27,.10); }
.agn-role-management { --portal-role-accent: #2f72ae; --portal-role-soft: rgba(47,114,174,.10); }
.agn-role-office { --portal-role-accent: #7551a6; --portal-role-soft: rgba(117,81,166,.09); }

.agn-admin-layout { grid-template-columns: 284px minmax(0,1fr); }
.agn-admin-sidebar {
  isolation: isolate;
  width: auto;
  padding: 22px 17px 18px;
  border-right: 1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 18% 0%, rgba(240,196,84,.18), transparent 250px),
    radial-gradient(circle at 110% 75%, rgba(51,137,70,.22), transparent 330px),
    linear-gradient(180deg, #031f13 0%, #072b1a 46%, #061f16 100%);
  box-shadow: 18px 0 50px rgba(3,31,19,.10);
}
.agn-admin-sidebar::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 24px 24px;
  mask-image: linear-gradient(to bottom, #000, transparent 75%);
}
.agn-admin-sidebar .agn-portal-brand {
  min-height: 66px;
  margin-bottom: 6px;
  padding: 8px 9px 18px;
}
.agn-admin-sidebar .agn-portal-brand img { width: 54px; height: 54px; border-radius: 17px; box-shadow: 0 9px 25px rgba(0,0,0,.22); }
.agn-admin-sidebar .agn-portal-brand strong { font-size: 19px; letter-spacing: .055em; }
.agn-admin-sidebar .agn-portal-brand small { margin-top: 3px; color: rgba(255,255,255,.60); }
.agn-admin-console-label { margin: 10px 9px 7px; color: var(--portal-gold-light); background: rgba(240,196,84,.10); border: 1px solid rgba(240,196,84,.13); }
.agn-admin-nav { gap: 3px; }
.agn-admin-nav-section {
  display: block;
  margin: 18px 11px 6px;
  color: rgba(255,255,255,.38);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1.4;
  text-transform: uppercase;
}
.agn-admin-nav :is(a,button) {
  position: relative;
  min-height: 46px;
  gap: 12px;
  padding: 10px 11px;
  border: 1px solid transparent;
  border-radius: 13px;
  color: rgba(255,255,255,.72);
  font-size: 12px;
  transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}
.agn-admin-nav :is(a,button) > .f7-icons:first-child {
  width: 29px;
  height: 29px;
  display: grid;
  flex: 0 0 29px;
  place-items: center;
  border-radius: 9px;
  color: rgba(255,255,255,.58);
  background: rgba(255,255,255,.055);
  font-size: 16px;
}
.agn-admin-nav :is(a,button):hover { color: #fff; border-color: rgba(255,255,255,.08); background: rgba(255,255,255,.065); transform: translateX(2px); }
.agn-admin-nav :is(a,button).is-active {
  color: #fff;
  border-color: rgba(240,196,84,.22);
  background: linear-gradient(90deg, rgba(240,196,84,.19), rgba(255,255,255,.07));
  box-shadow: inset 3px 0 0 var(--portal-gold-light), 0 7px 20px rgba(0,0,0,.09);
}
.agn-admin-nav :is(a,button).is-active > .f7-icons:first-child { color: #082b18; background: var(--portal-gold-light); }
.agn-admin-nav-tag { margin-left: auto; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.07); }
.agn-admin-profile { margin-top: 19px; padding: 13px 10px 4px; border-top-color: rgba(255,255,255,.12); }

.agn-admin-topbar {
  min-height: 78px;
  padding-inline: clamp(18px,2.6vw,38px);
  border-bottom-color: color-mix(in srgb, var(--portal-role-accent) 15%, var(--portal-border));
  background: color-mix(in srgb, var(--portal-surface) 88%, transparent);
  box-shadow: 0 7px 25px rgba(0,34,79,.035);
}
.agn-admin-breadcrumb span { color: var(--portal-muted); font-size: 10px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.agn-admin-breadcrumb strong { margin-top: 3px; color: var(--portal-ink); font-size: 18px; letter-spacing: -.025em; }
.agn-admin-status { border-color: color-mix(in srgb, var(--portal-role-accent) 22%, var(--portal-border)); background: var(--portal-role-soft); }
.agn-admin-status::before { background: var(--portal-role-accent); box-shadow: 0 0 0 4px var(--portal-role-soft); }
.agn-portal-icon-button, .agn-portal-theme { border-radius: 13px; box-shadow: 0 5px 16px rgba(0,34,79,.04); }

.agn-admin-main { width: min(1580px,100%); margin-inline: auto; padding: clamp(25px,2.8vw,42px); }
.agn-admin-heading {
  position: relative;
  overflow: hidden;
  align-items: center;
  min-height: 132px;
  margin-bottom: 22px;
  padding: clamp(24px,3vw,34px);
  border: 1px solid color-mix(in srgb, var(--portal-role-accent) 18%, var(--portal-border));
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 22%, var(--portal-role-soft), transparent 240px),
    linear-gradient(135deg, var(--portal-surface), color-mix(in srgb, var(--portal-surface) 92%, var(--portal-role-accent)));
  box-shadow: var(--portal-elevated-shadow);
}
.agn-admin-heading::after { content: ""; position: absolute; right: -42px; bottom: -72px; width: 190px; height: 190px; border: 1px solid color-mix(in srgb, var(--portal-role-accent) 20%, transparent); border-radius: 50%; pointer-events: none; }
.agn-admin-heading > * { position: relative; z-index: 1; }
.agn-admin-heading h1 { font-size: clamp(32px,3.2vw,46px); }
.agn-admin-heading p { max-width: 800px; }
.agn-admin-heading-actions { max-width: 720px; }
.agn-admin-heading-actions .agn-portal-button:not(.agn-portal-button-primary) { background: color-mix(in srgb, var(--portal-surface) 90%, transparent); }

.agn-admin-preview-banner { border-radius: 17px; box-shadow: 0 9px 25px rgba(0,34,79,.045); }
.agn-admin-stat-grid { gap: 17px; margin-bottom: 22px; }
.agn-admin-stat {
  position: relative;
  overflow: hidden;
  min-height: 158px;
  padding: 22px;
  border-radius: 21px;
  background: linear-gradient(145deg,var(--portal-surface),color-mix(in srgb,var(--portal-surface) 96%,var(--portal-role-accent)));
  box-shadow: var(--portal-elevated-shadow);
}
.agn-admin-stat::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg,var(--portal-role-accent),transparent 72%); }
.agn-admin-stat-icon { width: 45px; height: 45px; border-radius: 14px; }
.agn-admin-stat > strong { margin-top: 20px; font-size: clamp(28px,2.5vw,36px); letter-spacing: -.035em; }
.agn-admin-stat > span { font-size: 12px; }
.agn-stat-trend { border: 1px solid var(--portal-border); background: color-mix(in srgb,var(--portal-soft) 82%,transparent); }

.agn-admin-card {
  border-color: color-mix(in srgb, var(--portal-role-accent) 9%, var(--portal-border));
  border-radius: 22px;
  box-shadow: var(--portal-elevated-shadow);
}
.agn-admin-card-header { min-height: 79px; padding: 22px 24px; background: linear-gradient(180deg,color-mix(in srgb,var(--portal-surface) 98%,var(--portal-role-accent)),var(--portal-surface)); }
.agn-admin-card-header h2 { font-size: clamp(18px,2vw,22px); letter-spacing: -.025em; }
.agn-admin-card-header p { font-size: 12px; }
.agn-admin-card-header > a:not(.agn-portal-icon-button), .agn-admin-card-header > button { color: var(--portal-role-accent); background: var(--portal-role-soft); }
.agn-admin-table thead { position: sticky; top: 0; z-index: 1; }
.agn-admin-table th { padding: 14px 18px; background: color-mix(in srgb,var(--portal-soft) 90%,var(--portal-role-accent)); }
.agn-admin-table td { padding: 16px 18px; }
.agn-admin-table tbody tr:nth-child(even) { background: color-mix(in srgb,var(--portal-soft) 42%,transparent); }
.agn-admin-table tbody tr:hover { background: var(--portal-role-soft); }
.agn-dashboard-action-list :is(a,button), .agn-readiness-list > div { transition: background .18s ease, transform .18s ease; }
.agn-dashboard-action-list :is(a,button):hover { margin-inline: -8px; padding-inline: 8px; border-radius: 13px; background: var(--portal-role-soft); transform: translateX(2px); }
.agn-dashboard-action-list > :is(a,button) > .f7-icons:first-child { color: var(--portal-role-accent); background: var(--portal-role-soft); }

.agn-form-field > input,
.agn-form-field > select,
.agn-input-wrap input,
.agn-form-field textarea,
.agn-account-form input,
.agn-account-form select,
.agn-account-form textarea {
  border-radius: 13px;
  border-color: color-mix(in srgb,var(--portal-role-accent) 11%,var(--portal-border));
  background: color-mix(in srgb,var(--portal-surface) 97%,var(--portal-role-accent));
}
.agn-form-field > input:hover,
.agn-form-field > select:hover,
.agn-input-wrap input:hover,
.agn-form-field textarea:hover { border-color: color-mix(in srgb,var(--portal-role-accent) 35%,var(--portal-border)); }
.agn-form-field > input:focus,
.agn-form-field > select:focus,
.agn-input-wrap input:focus,
.agn-form-field textarea:focus { border-color: var(--portal-role-accent); box-shadow: 0 0 0 4px var(--portal-role-soft); }
.agn-portal-button { border-radius: 13px; }
.agn-portal-button-primary { background: linear-gradient(135deg,var(--portal-green),var(--portal-green-deep)); box-shadow: 0 12px 26px rgba(13,104,54,.19); }

.agn-wallet-foundation { overflow: hidden; padding: clamp(28px,3.2vw,40px); border-radius: 24px; background: radial-gradient(circle at 100% 0%,rgba(240,196,84,.18),transparent 260px),linear-gradient(135deg,#041f14,#0b3b23 62%,#14532d); }
.agn-wallet-types a { border-color: rgba(255,255,255,.10); border-radius: 14px; background: rgba(255,255,255,.065); }

.agn-auth-body,
.agn-registration-body {
  background:
    radial-gradient(circle at 8% 8%, rgba(240,196,84,.13), transparent 26rem),
    radial-gradient(circle at 92% 4%, rgba(13,104,54,.15), transparent 30rem),
    linear-gradient(145deg,#eef4e8,#f9fbf5 55%,#edf4e5);
}
.agn-auth-shell { width: min(1240px,calc(100% - 40px)); gap: clamp(30px,4vw,56px); }
.agn-auth-visual { overflow: hidden; border-radius: 32px; box-shadow: 0 30px 75px rgba(3,31,19,.20); }
.agn-auth-visual::after { box-shadow: 0 0 0 46px rgba(240,196,84,.035); }
.agn-auth-card,
.agn-registration-card { border-radius: 30px; box-shadow: 0 28px 75px rgba(3,31,19,.13); }
.agn-auth-heading h1, .agn-auth-heading h2 { font-size: clamp(30px,3.6vw,42px); }
.agn-auth-submit { min-height: 54px; }

html.dark .agn-admin-body { background: radial-gradient(circle at 100% 0%,var(--portal-role-soft),transparent 30rem),#071810; }
html.dark .agn-admin-heading { background: radial-gradient(circle at 92% 22%,var(--portal-role-soft),transparent 240px),linear-gradient(135deg,#10251a,#0c2016); }
html.dark .agn-admin-card-header { background: linear-gradient(180deg,#12291d,#10251a); }
html.dark .agn-admin-stat { background: linear-gradient(145deg,#12291d,#0e2318); }
html.dark .agn-auth-body,
html.dark .agn-registration-body { background: radial-gradient(circle at 12% 0%,rgba(240,196,84,.10),transparent 25rem),linear-gradient(145deg,#06160f,#0b2117); }

@media (hover:hover) and (pointer:fine) {
  .agn-admin-stat, .agn-admin-card { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
  .agn-admin-stat:hover, .agn-admin-card:hover { border-color: color-mix(in srgb,var(--portal-role-accent) 22%,var(--portal-border)); box-shadow: 0 22px 55px rgba(0,34,79,.10); }
  .agn-admin-stat:hover { transform: translateY(-3px); }
}

@media (max-width: 1180px) {
  .agn-admin-layout { grid-template-columns: 264px minmax(0,1fr); }
  .agn-admin-heading { align-items: flex-start; flex-direction: column; }
  .agn-admin-heading-actions { justify-content: flex-start; }
}

@media (max-width: 880px) {
  .agn-admin-layout { display: block; }
  .agn-admin-sidebar { width: min(328px,88vw); }
  .agn-admin-main { padding: 22px 18px calc(104px + env(safe-area-inset-bottom)); }
  .agn-admin-heading { min-height: 0; padding: 24px; border-radius: 21px; }
  .agn-admin-heading-actions { width: 100%; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; scroll-snap-type: x proximity; }
  .agn-admin-heading-actions .agn-portal-button { flex: 0 0 auto; scroll-snap-align: start; }
  .agn-mobile-bottom-nav-inner { border-color: color-mix(in srgb,var(--portal-role-accent) 15%,var(--portal-border)); box-shadow: 0 -10px 34px rgba(0,34,79,.10); }
  .agn-mobile-bottom-nav :is(a,button).is-active { color: var(--portal-role-accent); }
}

@media (max-width: 640px) {
  .agn-admin-topbar { min-height: 68px; padding-inline: 12px; }
  .agn-admin-breadcrumb span { font-size: 8px; }
  .agn-admin-breadcrumb strong { font-size: 16px; }
  .agn-admin-status, .agn-topbar-sessions { display: none; }
  .agn-admin-main { padding-inline: 13px; }
  .agn-admin-heading { padding: 21px 18px; }
  .agn-admin-heading h1 { font-size: 31px; }
  .agn-admin-heading-actions .agn-portal-button { min-height: 46px; }
  .agn-admin-stat-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding: 2px 2px 12px; }
  .agn-admin-stat-grid .agn-admin-stat { flex: 0 0 min(76vw,280px); scroll-snap-align: start; }
  .agn-admin-card { border-radius: 18px; }
  .agn-admin-card-header { min-height: 0; padding: 18px 16px; }
  .agn-admin-table tbody tr { border: 1px solid var(--portal-border); border-radius: 14px; box-shadow: 0 7px 20px rgba(0,34,79,.04); }
  .agn-admin-table tbody tr + tr { margin-top: 12px; }
  .agn-auth-shell { width: calc(100% - 24px); }
  .agn-auth-visual, .agn-auth-card, .agn-registration-card { border-radius: 23px; }
}

/* v61 professional responsive typography */
:root {
  --portal-type-xs: clamp(.73rem, .7rem + .1vw, .79rem);
  --portal-type-sm: clamp(.84rem, .81rem + .12vw, .91rem);
  --portal-type-base: clamp(.95rem, .92rem + .12vw, 1.02rem);
  --portal-type-lead: clamp(1.02rem, .97rem + .2vw, 1.14rem);
  --portal-copy-width: 70ch;
}

body {
  font-size: var(--portal-type-base);
  line-height: 1.6;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--portal-display-font);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.026em;
  text-wrap: balance;
}

body p { text-wrap: pretty; }
.agn-admin-heading h1 { font-size: clamp(2.2rem, 3.4vw, 3rem); line-height: 1.08; letter-spacing: -.04em; }
.agn-admin-heading p { max-width: var(--portal-copy-width); font-size: var(--portal-type-lead); line-height: 1.65; }
.agn-admin-card-header h2 { font-size: clamp(1.18rem, 1.05rem + .45vw, 1.42rem); line-height: 1.2; }
.agn-admin-card-header p { font-size: var(--portal-type-sm); line-height: 1.55; }
.agn-admin-card :is(h3, h4) { line-height: 1.25; }
.agn-admin-card :is(p, li, dd),
.agn-dashboard-action-list small,
.agn-readiness-list small,
.agn-wallet-types small,
.agn-session-item p,
.agn-upline-flow small,
.agn-binary-payplan-grid small { font-size: var(--portal-type-sm); line-height: 1.55; }
.agn-admin-nav-link,
.agn-account-link { font-size: .82rem; font-weight: 650; line-height: 1.3; }
.agn-admin-nav-section { font-size: .7rem; font-weight: 800; line-height: 1.3; letter-spacing: .11em; }
.agn-admin-breadcrumb span,
.agn-portal-eyebrow { font-size: .72rem; font-weight: 750; line-height: 1.35; letter-spacing: .1em; }
.agn-admin-breadcrumb strong { font-family: var(--portal-display-font); font-size: 1rem; font-weight: 700; line-height: 1.25; }
.agn-admin-stat > strong { font-family: var(--portal-display-font); font-size: clamp(1.9rem, 2.6vw, 2.45rem); font-variant-numeric: tabular-nums; line-height: 1.05; }
.agn-admin-stat > span { font-size: .79rem; font-weight: 650; line-height: 1.4; }
.agn-stat-trend { font-size: .72rem; line-height: 1.35; }
.agn-admin-table th { font-size: .72rem; font-weight: 750; line-height: 1.35; letter-spacing: .055em; }
.agn-admin-table td { font-size: .875rem; line-height: 1.5; }
.agn-admin-table td :is(strong, b) { font-size: .9rem; }
.agn-admin-table td small { font-size: .76rem; line-height: 1.45; }
.agn-form-field > span,
.agn-form-field > label,
.agn-account-form label { font-size: .8rem; font-weight: 700; line-height: 1.4; }
.agn-field-help,
.agn-form-help,
.agn-account-form small { font-size: .76rem; line-height: 1.5; }
.agn-form-field > input,
.agn-form-field > select,
.agn-input-wrap input,
.agn-form-field textarea,
.agn-account-form input,
.agn-account-form select,
.agn-account-form textarea { font-size: .94rem; line-height: 1.45; }
.agn-portal-button,
.agn-auth-submit { font-size: .875rem; font-weight: 700; line-height: 1.25; letter-spacing: .005em; }
.agn-badge,
.agn-status-badge,
.agn-pill { font-size: .69rem; font-weight: 750; line-height: 1.3; }
.agn-auth-heading h1,
.agn-auth-heading h2 { font-size: clamp(2.1rem, 4vw, 3rem); line-height: 1.08; letter-spacing: -.04em; }
.agn-auth-heading p,
.agn-registration-card > p,
.agn-access-card > p { max-width: 58ch; font-size: .94rem; line-height: 1.65; }
.agn-wallet-balance,
.agn-wallet-foundation strong,
.agn-admin-table [data-value] { font-variant-numeric: tabular-nums; }

@media (max-width: 640px) {
  body { font-size: 1rem; line-height: 1.58; }
  .agn-admin-breadcrumb span { font-size: .7rem; }
  .agn-admin-breadcrumb strong { font-size: 1rem; }
  .agn-admin-heading h1 { font-size: clamp(1.95rem, 9vw, 2.3rem); }
  .agn-admin-heading p { font-size: .96rem; line-height: 1.6; }
  .agn-admin-card-header h2 { font-size: 1.18rem; }
  .agn-admin-nav-link,
  .agn-account-link { font-size: .88rem; }
  .agn-mobile-bottom-nav :is(a, button) { font-size: .66rem; font-weight: 700; line-height: 1.2; }
  .agn-admin-table td { font-size: .9rem; }
  .agn-form-field > input,
  .agn-form-field > select,
  .agn-input-wrap input,
  .agn-form-field textarea,
  .agn-account-form input,
  .agn-account-form select,
  .agn-account-form textarea { font-size: 16px; }
  .agn-auth-heading h1,
  .agn-auth-heading h2 { font-size: clamp(1.9rem, 9vw, 2.35rem); }
  .agn-tree-node :is(small, span) { font-size: max(.63rem, 10px); line-height: 1.25; }
}
