/* Telas de acesso (login, senha) no tema Associados Online, como a landing.
   Painel roxo com o círculo amarelo da .ao-hero; o círculo fica dentro do painel
   (overflow: hidden), para a página nunca rolar na horizontal. */
.ao-auth { min-height: 100vh; overflow-x: hidden; }
.ao-auth-main { min-height: 100vh; display: flex; align-items: center; padding: 1.5rem 0; }
.ao-auth-box { max-width: 980px; border-radius: 1.25rem; overflow: hidden; background: #fff; box-shadow: 0 24px 60px rgba(36, 28, 21, .14); }
.ao-auth-hero { position: relative; overflow: hidden; background: #2A1748; color: #fff; min-height: 440px; }
.ao-auth-hero::after { content: ""; position: absolute; width: 220px; height: 220px; border-radius: 50%; background: #FFE01B; right: -90px; bottom: -90px; z-index: 0; }
.ao-auth-hero > * { position: relative; z-index: 1; }
.ao-auth-hero .ao-eyebrow { color: #FFE01B; }
.ao-auth-hero .lead { color: rgba(255, 255, 255, .82); }
.ao-auth-brand { font-weight: 800; color: #5B2A86; text-decoration: none; }
.ao-auth .form-control-lg { font-size: 1rem; }
.ao-auth .input-group-text { background: #FBF7EE; color: #6A6159; }
.ao-auth-sep { display: flex; align-items: center; gap: .75rem; color: #6A6159; font-size: .85rem; }
.ao-auth-sep::before, .ao-auth-sep::after { content: ""; flex: 1; border-top: 1px solid rgba(36, 28, 21, .15); }
