.afp-auth-body{background:#fff;min-height:100vh}.afp-auth-page{min-height:100vh;display:grid;place-items:start center;padding:80px 20px 50px;position:relative;overflow:hidden}.afp-auth-page::before{content:"";position:absolute;left:-10%;right:-10%;top:0;height:320px;background:linear-gradient(135deg,#dd0000,#a90000);border-radius:0 0 50% 50%/0 0 26% 26%;z-index:0}.afp-auth-page::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 55%,rgba(215,0,0,.07),transparent 25%),radial-gradient(circle at 80% 75%,rgba(215,0,0,.05),transparent 30%);z-index:0}.afp-auth-brand{position:relative;z-index:2;display:flex;align-items:center;gap:10px;color:#fff;font-size:30px;font-weight:900;margin-bottom:58px}.afp-auth-brand .afp-icon{width:34px;height:34px}.afp-auth-panel{position:relative;z-index:2;width:min(480px,100%);background:#fff;border:1px solid #edf0f5;border-radius:28px;padding:38px;box-shadow:0 30px 90px rgba(17,24,39,.16);animation:authIn .5s ease both}.afp-register-panel{width:min(720px,100%)}.afp-auth-panel>p{margin:0;color:#8a93a1;font-weight:800}.afp-auth-panel h1{font-size:42px;letter-spacing:-.04em;margin:8px 0 22px}.afp-form{display:grid;gap:16px}.afp-form label{font-size:13px;font-weight:900;color:#1f2937}.afp-form input,.afp-form textarea,.afp-form select{width:100%;border:1px solid #dfe4ea;border-radius:14px;padding:14px 15px;margin-top:8px;outline:0;background:#fff;transition:border-color .2s,box-shadow .2s}.afp-form input:focus,.afp-form textarea:focus,.afp-form select:focus{border-color:#d70000;box-shadow:0 0 0 4px rgba(215,0,0,.1)}.afp-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.afp-checkbox{display:flex!important;align-items:center;gap:10px;font-size:13px!important}.afp-checkbox input{width:18px!important;height:18px;margin:0!important;accent-color:#d70000}.afp-auth-actions{display:flex;gap:12px}.afp-auth-actions .afp-btn{flex:1}.afp-small-link{font-size:13px;color:#d70000;font-weight:900}.afp-toggle{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#f7f8fb;padding:6px;border-radius:14px}.afp-toggle label{margin:0!important;text-align:center;border-radius:11px;padding:12px!important;cursor:pointer}.afp-toggle input{display:none}.afp-toggle label:has(input:checked){background:#d70000;color:#fff}.afp-company-fields{display:grid;gap:14px;padding:16px;border:1px dashed #f1b7b7;border-radius:18px;background:#fff7f7}.afp-company-fields.is-open{animation:companyOpen .28s ease both}@keyframes authIn{from{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:none}}@keyframes companyOpen{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media(max-width:620px){.afp-auth-panel{padding:26px}.afp-two{grid-template-columns:1fr}.afp-auth-actions{flex-direction:column}.afp-auth-page{padding-top:60px}.afp-auth-brand{margin-bottom:40px}}


/* V8 auth polish */
.afp-toggle label{position:relative;display:flex!important;align-items:center;justify-content:center;gap:8px;transition:background .2s,color .2s,box-shadow .2s}.afp-toggle label.is-active{background:#d70000;color:#fff;box-shadow:0 12px 24px rgba(215,0,0,.18)}.afp-toggle label span{pointer-events:none}.afp-company-fields[hidden]{display:none!important}.afp-company-fields{overflow:hidden}.afp-field-error{border-color:#d70000!important;animation:afpFieldShake .25s ease both}.afp-auth-panel{overflow:hidden}.afp-auth-panel .afp-btn-red{color:#fff!important}.afp-auth-panel .afp-btn-red *{color:#fff!important}@keyframes afpFieldShake{25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}
@media(max-width:520px){.afp-auth-panel h1{font-size:34px}.afp-toggle{grid-template-columns:1fr}.afp-register-panel{padding:24px}.afp-auth-brand{font-size:26px}}

/* V9 publisher/advertiser register polish */
.afp-user-type-toggle{margin-bottom:12px;background:#fff;border:1px solid #edf0f4;box-shadow:0 10px 28px rgba(17,24,39,.05)}
.afp-user-type-toggle label{font-size:14px}
.afp-user-type-toggle label.is-active{background:#d70000;color:#fff;box-shadow:0 12px 26px rgba(215,0,0,.24)}
.afp-auth-hint{margin:-2px 0 16px!important;background:#fff7f7;border:1px solid rgba(215,0,0,.12);border-radius:14px;padding:12px 14px;color:#7a1d1d!important;font-weight:800;font-size:13px;line-height:1.5}
.afp-auth-hint[hidden]{display:none!important}
.afp-company-fields[hidden]{display:none!important}
.afp-company-fields{overflow:hidden;animation:afpCompanyOpen .24s ease both}
@keyframes afpCompanyOpen{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
