/* Shared auth visual: a finite neural-grid reveal. No continuous motion or controls. */
.f-login-art{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 85% 20%,#c831694a,transparent 60%),linear-gradient(145deg,#490c30,#8e123f 65%,#b50938)}
.f-login-art~:is(a,h1,p,small){z-index:1}.f-login-art~:is(h1,p){position:relative}
.f-ai-grid{position:absolute;width:900px;height:900px;right:-450px;top:-150px;transform:rotate(-28deg);background-image:linear-gradient(#ffc5df14 1px,transparent 1px),linear-gradient(90deg,#ffc5df14 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse,#000 10%,transparent 68%)}
.f-ai-network{position:absolute;right:-180px;bottom:-100px;width:700px;height:700px;opacity:.6;fill:none;stroke:#f2a1cb;stroke-width:1}
.f-ai-network circle{fill:#ffe3ef;stroke:none}.f-ai-network .f-ai-halo{fill:none;stroke:#ffb9d5;opacity:.15;stroke-width:24}
.f-ai-beam{position:absolute;inset:-50%;background:linear-gradient(115deg,transparent 43%,#ffd0ea12 49%,#ffdeed45 50%,#ffd0ea12 51%,transparent 57%);opacity:0;transform:translateX(-60%)}
.fr-register .login-box{max-width:460px!important;width:100%!important}.fr-kicker{font-size:10px;font-weight:700;letter-spacing:2px;color:#a12452;margin-bottom:14px}.fr-title{font-size:30px;letter-spacing:-.8px;font-weight:700;margin:0 0 12px;color:#292432}.fr-subtitle{font-size:14px;line-height:1.65;color:#7e7381;margin:0 0 22px}.fr-steps{display:flex;gap:8px;justify-content:space-between;padding:0 0 22px;margin:0 0 24px;border-bottom:1px solid #eee7ec;list-style:none}.fr-steps li{display:flex;align-items:center;gap:7px;font-size:12px;color:#776577}.fr-steps span{width:25px;height:25px;display:grid;place-items:center;border-radius:9px;background:#f8eaf0;color:#a12452;font-size:11px;font-weight:700}.finca-auth .fr-register label{font-size:13px;font-weight:600;color:#514551;margin-bottom:9px}.finca-auth .fr-register .form-control{min-height:52px;font-size:16px!important;border:1px solid #e3dce4!important;border-radius:12px!important;background:#fff;padding:12px 14px!important}.finca-auth .fr-register .form-control:focus{border-color:#a12452!important;box-shadow:0 0 0 3px #a1245210}.fr-hint{font-size:12px;line-height:1.65;color:#8b7c89;margin:9px 0 0}.fr-register .form-group{margin-bottom:20px}.finca-auth .fr-register .btn{min-height:50px;border-radius:12px;text-transform:none!important;font-size:15px;font-weight:600}.fr-stage{border-top:1px solid #eee7ec;padding-top:20px;margin-top:4px}.fr-stage-title{font-size:17px;font-weight:600;color:#493a48;margin-bottom:8px}.fr-stage>.fr-hint{margin-bottom:17px}.fr-code{letter-spacing:12px;font-size:23px!important;font-variant-numeric:tabular-nums}.fr-signin{text-align:center;color:#8b7c89;font-size:13px;padding-top:5px;margin:0}.fr-signin a{color:#a12452;font-weight:600;margin-left:5px}.fr-register a:focus-visible{outline:2px solid #a12452;outline-offset:4px}
@media(prefers-reduced-motion:no-preference){
 @keyframes f-ai-reveal{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
 @keyframes f-ai-scan{0%{opacity:0;transform:translateX(-60%)}20%{opacity:1}80%{opacity:.7}100%{opacity:0;transform:translateX(60%)}}
 @keyframes f-ai-nodes{0%,100%{opacity:.6}30%{opacity:1}60%{opacity:.35}}
 .f-login-animated .f-ai-beam{animation:f-ai-scan 3.8s ease-in-out both}
 .f-login-animated .f-ai-network{animation:f-ai-nodes 4s ease-in-out both}
 .f-login-animated .login-box,.f-login-animated .f-auth-intro h1{animation:f-ai-reveal .55s ease-out both}
}
@media(max-width:600px){.f-ai-grid{width:550px;height:550px;right:-260px;top:-140px;background-size:32px 32px}.f-ai-network{width:330px;height:330px;right:-110px;bottom:-130px}.finca-auth .fr-register .card-body{padding:26px 22px}.fr-title{font-size:27px}.fr-subtitle{font-size:13px;margin-bottom:19px}.fr-steps{gap:5px;margin-bottom:22px}.fr-steps li{font-size:11px;gap:5px}.fr-register .login-box{margin:0}.fr-register{padding-bottom:calc(28px + env(safe-area-inset-bottom))!important}}

.fo-symbol{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:#f8eaf0;color:#a12452;margin-bottom:24px}.fo-otp .fr-title{font-size:28px;line-height:1.25}.finca-auth .fo-otp .fo-code{height:66px;text-align:center;letter-spacing:18px;padding-left:32px!important;font-size:28px!important;font-weight:600;font-variant-numeric:tabular-nums;background:#fcfafc}.fo-code::placeholder{color:#c7b8c3;font-weight:400}.fo-resend{padding:18px 0;border-top:1px solid #eee7ec;border-bottom:1px solid #eee7ec;text-align:center}.fo-resend>span{display:block;font-size:12px;color:#8b7c89;margin-bottom:3px}.fo-resend-button{border:0;background:none;color:#a12452;font-size:13px;font-weight:600;padding:10px 4px;min-height:44px;cursor:pointer}.fo-resend-button:disabled{color:#988b95;cursor:default}.fo-resend-button:focus-visible{outline:2px solid #a12452;outline-offset:3px;border-radius:8px}.fo-back{margin-top:20px}.fo-otp .invalid-feedback{font-size:12px;line-height:1.6;margin-top:9px}.fo-otp #messageBox{font-size:13px;line-height:1.6;border-radius:12px}@media(max-width:600px){.fo-symbol{width:48px;height:48px;border-radius:15px;margin-bottom:20px}.fo-otp .fr-title{font-size:25px}.finca-auth .fo-otp .card-body{padding:26px 22px}.fo-otp .fr-subtitle{margin-bottom:24px}}
