.auth-card{max-width:560px;margin:4rem auto;padding:2rem;box-sizing:border-box;color:#302442}
.auth-card>.join-logo{display:block;width:150px;height:auto;margin:0 0 2rem}
.auth-card h1{font-size:clamp(1.75rem,4vw,2.3rem);line-height:1.15;margin:.4rem 0 .7rem}
.auth-card p{line-height:1.55}
.auth-card form{display:grid;gap:1rem;margin:1.3rem 0}
.auth-card label{display:grid;gap:.45rem;font-weight:600}
.auth-card input,.auth-card select{width:100%;box-sizing:border-box;min-height:48px;padding:.7rem .8rem;border:1px solid #d9d0e3;border-radius:10px;background:#fff;color:#302442;color-scheme:light;font:inherit}
.auth-card input::placeholder{color:#746b7f;opacity:1}
.auth-card input:focus,.auth-card select:focus{outline:3px solid #7961d433;border-color:#7961d4}
.auth-card select option{background:#fff;color:#302442}
.auth-card small,.auth-card .small-note{font-size:.9rem;opacity:.82}
.auth-card .button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.65rem 1rem;border:1px solid #6550b5;border-radius:10px;background:#6550b5;color:#fff;text-decoration:none;font:inherit;font-weight:650;cursor:pointer}
.auth-card .button.primary{background:#216b4d;color:#fff;border-color:#216b4d}
.auth-card .button.primary:hover{background:#18563d;border-color:#18563d}
.auth-card .button.secondary{background:#f3eff8;color:#49386d;border-color:#ded5eb}
.auth-card .button.secondary:hover{background:#e9e1f2}
.auth-card .button:focus-visible{outline:3px solid #7961d4;outline-offset:3px}
.auth-card .button:disabled{opacity:.6;cursor:wait}
.auth-card .form-error,.auth-status.error{color:#a61b2b}
.auth-card .form-error{font-weight:600}
.auth-card .auth-notice{padding:.8rem 1rem;border:1px solid #e6d4ae;border-radius:10px;background:#fff8e8;color:#593f10}
.auth-card .auth-status{min-height:1.5em;margin:.6rem 0 0}
.auth-card [hidden]{display:none!important}
.auth-oauth{margin:1.25rem 0 1.5rem}.auth-oauth>div{display:flex;justify-content:center;gap:.75rem}.auth-oauth .button.oauth-icon-button{width:3.5rem;min-width:3.5rem;min-height:3.5rem;padding:.7rem;background:#fff;color:#302442;border-color:#d9d0e3}.auth-oauth .button.oauth-icon-button:hover{background:#f7f5fa;border-color:#bdb1cf}.oauth-icon-button svg{display:block;width:1.5rem;height:1.5rem}.auth-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.oauth-divider{display:flex;align-items:center;gap:.75rem;margin:1rem 0;color:#746b7f;font-size:.88rem}.oauth-divider::before,.oauth-divider::after{content:"";height:1px;flex:1;background:#e6e0eb}
@media(max-width:600px){.auth-card{margin:1rem auto;padding:1.2rem}.auth-card>.join-logo{width:125px;margin-bottom:1.5rem}}

.provider-email-help{display:block;margin:-.35rem 0 1rem;color:#6a6174;font-size:.85rem;line-height:1.5}

.auth-oauth>div{flex-direction:column}
.auth-oauth .button.oauth-icon-button{width:100%;box-sizing:border-box;gap:12px;min-height:48px}
.oauth-icon-button svg{flex-shrink:0}
.auth-help{margin:1.4rem 0;border-top:1px solid #e6e0eb;border-bottom:1px solid #e6e0eb;padding:1rem 0}
.auth-help summary{cursor:pointer;font-weight:650;font-size:.95rem}
.auth-help summary:focus-visible{outline:3px solid #7961d4;outline-offset:4px}
.auth-method-help{color:#655770}
.auth-card .form-error:empty,.auth-card .auth-status:empty,.resend-status:empty{display:none}
