.auth-gate{min-height:100vh;background:var(--ct-base);display:grid;place-items:center;padding:28px;font-family:var(--ct-font-ui);color:var(--ct-ink)}
.auth-panel{width:min(480px,100%);background:var(--ct-paper);border:1px solid var(--ct-line);border-radius:22px;padding:34px;box-shadow:0 18px 52px color-mix(in srgb,var(--ct-ink) 9%,transparent)}
.auth-kicker{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ct-sub);margin-bottom:12px}
.auth-panel h1{font-family:var(--ct-font-display);font-size:clamp(2.4rem,7vw,4rem);font-weight:500;letter-spacing:-.04em;line-height:.95;margin:0;color:var(--ct-ink)}
.auth-copy{margin:14px 0 26px;color:var(--ct-sub);font-size:1rem}
.auth-form{display:grid;gap:15px}.auth-form label{display:grid;gap:7px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ct-sub)}
.auth-form input{width:100%;min-height:50px;border:1px solid var(--ct-line);border-radius:12px;background:var(--ct-base);color:var(--ct-ink);font:600 .96rem/1 var(--ct-font-ui);padding:0 14px;outline:none}
.auth-form input:focus{border-color:var(--ct-ink);box-shadow:0 0 0 2px color-mix(in srgb,var(--ct-ink) 12%,transparent)}
.auth-status{min-height:20px;font-size:.8rem;color:var(--ct-sub)}.auth-status[data-tone="error"]{color:#8a2b18}.auth-status[data-tone="success"]{color:var(--ct-trust-trusted-ink)}
.auth-submit{min-height:50px;border:0;border-radius:12px;background:var(--ct-accent);color:var(--ct-accent-contrast);font:800 .95rem/1 var(--ct-font-ui);cursor:pointer}.auth-submit:disabled{opacity:.55;cursor:wait}
.auth-reset{justify-self:start;border:0;border-bottom:2px solid var(--ct-accent);background:none;color:var(--ct-ink);font:800 .78rem/1.5 var(--ct-font-ui);padding:0 0 2px;cursor:pointer}.auth-reset:disabled{opacity:.5}
.auth-foot{margin:24px 0 0;padding-top:18px;border-top:1px solid var(--ct-line);font-size:.76rem;line-height:1.5;color:var(--ct-sub)}
@media(max-width:600px){.auth-gate{padding:18px}.auth-panel{padding:26px 22px;border-radius:18px}}
.auth-mode{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:22px 0 18px;padding:5px;border:1px solid var(--ct-line);border-radius:14px;background:var(--ct-base)}
.auth-mode-btn{min-height:42px;border:0;border-radius:10px;background:transparent;color:var(--ct-sub);font:800 .83rem/1 var(--ct-font-ui);cursor:pointer}.auth-mode-btn.active{background:var(--ct-ink);color:var(--ct-paper)}
.auth-join{display:grid;gap:16px}.auth-referral-step{display:grid;gap:12px}.auth-referral-kicker{font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--ct-sub)}
.auth-referral-step h2{font-family:var(--ct-font-display);font-weight:500;font-size:1.8rem;margin:0}.auth-referral-step p,.auth-referral-note{margin:0;color:var(--ct-sub);line-height:1.5}
.auth-referral-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.auth-referral-row input{min-height:50px;border:1px solid var(--ct-line);border-radius:12px;background:var(--ct-base);color:var(--ct-ink);font:800 1rem/1 var(--ct-font-ui);padding:0 14px;text-transform:uppercase;outline:none}
.auth-referral-check,.auth-change-referral{border:1px solid var(--ct-line);border-radius:12px;background:var(--ct-paper);color:var(--ct-ink);font:800 .8rem/1 var(--ct-font-ui);padding:0 16px;cursor:pointer}.auth-change-referral{min-height:38px;padding:0 12px}
.auth-referral-verified{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid color-mix(in srgb,#2f8f68 30%,var(--ct-line));background:color-mix(in srgb,#2f8f68 8%,var(--ct-paper));border-radius:14px;padding:14px}.auth-referral-ok{display:flex;align-items:center;gap:10px}.auth-referral-ok>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#2f8f68;color:white;font-weight:900}.auth-referral-ok div{display:grid;gap:3px}.auth-referral-ok small{color:var(--ct-sub)}
.auth-signup-form{margin-top:2px}.auth-campaign-extra{display:grid;gap:12px;padding:13px;border:1px solid var(--ct-line);border-radius:12px;background:var(--ct-base)}.auth-consent{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start!important;text-transform:none!important;letter-spacing:0!important;font-size:.84rem!important}.auth-consent input{width:auto!important;min-height:auto!important;margin-top:2px}
@media(max-width:600px){.auth-mode{margin-top:18px}.auth-referral-row{grid-template-columns:1fr}.auth-referral-check{min-height:46px}.auth-referral-verified{align-items:flex-start;flex-direction:column}}

/* v1.20P0.1 — Personal Circle invite vs referral clarity. */
.auth-circle-invite-note{display:grid;gap:7px;margin:14px 0 4px;padding:13px 15px;border:1px solid #eadccf;border-left:3px solid #e8613c;border-radius:12px;background:#fff8f3;color:#655b52;font-size:13px;line-height:1.45}
.auth-circle-invite-note[hidden]{display:none}
.auth-circle-invite-note strong{color:#1b1512;font-size:14px}
.auth-circle-invite-note span{display:block}


/* FINAL BRAND — auth lockup */
.auth-final-brand{display:flex;justify-content:center;margin:-4px 0 18px}
.auth-final-brand img{display:block;width:min(390px,100%);height:auto;object-fit:contain;border-radius:10px}


/* Membership activation self-heal V1 */
.auth-context-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.auth-context-actions .auth-submit{min-width:190px}
.auth-context-actions .auth-reset{min-height:42px;padding:0 2px}
.auth-context-checking{display:grid;justify-items:start}
.auth-context-pulse{
  width:44px;height:44px;margin:2px 0 18px;border-radius:50%;
  border:4px solid color-mix(in srgb,var(--ct-accent) 20%,var(--ct-line));
  border-top-color:var(--ct-accent);
  animation:ct-context-pulse .8s linear infinite
}
@keyframes ct-context-pulse{to{transform:rotate(360deg)}}
@media(max-width:600px){
  .auth-context-actions{display:grid;grid-template-columns:1fr}
  .auth-context-actions .auth-submit{width:100%;min-width:0}
  .auth-context-actions .auth-reset{justify-self:start}
}
