.aff40-box{border:1px solid #e6dff1;background:linear-gradient(145deg,#fff,#f7f3ff);border-radius:24px;padding:clamp(18px,3vw,30px);margin:20px 0;box-shadow:0 10px 30px rgba(60,30,90,.05)}
.aff40-box h2{margin:0 0 12px;font-size:clamp(21px,2vw,27px);color:#3a2855}.aff40-box p{line-height:1.6;color:#6b5b7c}
.aff40-box .aff40-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 0}.aff40-box .aff40-form label{font-size:13px;font-weight:650;color:#533d70;display:flex;flex-direction:column;gap:7px}
.aff40-box input,.aff40-box select{width:100%;min-width:0;padding:12px 13px;border:1px solid #d8cae8;background:#fff;border-radius:12px;font:inherit;color:#3b2a52;box-sizing:border-box}
.aff40-box .aff40-wide{grid-column:1/-1}.aff40-box .aff40-checkbox{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5}.aff40-box .aff40-checkbox input{width:auto;margin:3px 0}
.aff40-box button{background:#6f4898;color:white;padding:12px 19px;border:0;border-radius:12px;font-weight:650;cursor:pointer}.aff40-box button:disabled{opacity:.48;cursor:not-allowed}.aff40-box small{color:#837091}.aff40-box #aff40-bank-state{font-weight:650;color:#4a3571}
.aff40-box .aff40-caution{padding:12px 15px;border:1px solid #e9d7a5;border-radius:12px;background:#fff9e7;color:#74582b;font-size:13px;line-height:1.6}
@media(max-width:640px){.aff40-box .aff40-form{grid-template-columns:1fr}.aff40-box{padding:16px}.aff40-box .aff40-wide{grid-column:1}}
/* Explicitly keep beneficiary forms inaccessible/hidden before server-side unlock. */
.aff40-box [hidden]{display:none!important}
