$(document).ready((function(){function e(){const e=$("#loginForm"),t=$("#recuperarForm");e.is(":visible")?e.fadeOut(300,(function(){t.fadeIn(300)})):t.fadeOut(300,(function(){e.fadeIn(300)}))}$("#btnEsqueciSenha").click(e),$("#btnVoltar").click(e),$("#frm_login").submit((async function(e){e.preventDefault();const t=$("#txtlogin").val().trim(),n=$("#txtsenha").val().trim(),o=$(this).find(".btn-submit");if(t&&n){o.prop("disabled",!0).html('Autenticando...');try{await function(e,t){return new Promise(((n,o)=>{const i=document.querySelector('input[name="cf-turnstile-response"]')?.value;i?$.ajax({url:"/usuarios/?login",type:"POST",dataType:"json",data:{txtlogin:e,txtsenha:t,remember:$("#remember").prop("checked")?"1":"0",turnstile_token:i,x:"0",y:"0"},success:function(e){e.success?n(e):o({message:e.message||"Erro desconhecido",details:"Verifique suas credenciais e tente novamente"});turnstile.reset();},error:function(){o({message:"Erro de conexão",details:"Não foi possível se conectar ao servidor"})}}):o({message:"Erro de validação",details:"Token de segurança ausente. Atualize a página."})}))}(t,n);Swal.fire({icon:"success",title:"Bem-vindo!",text:"Login realizado com sucesso",showConfirmButton:!1,timer:1500}).then((()=>{window.location.href="/"}))}catch(e){Swal.fire({icon:"error",title:"Erro de Autenticação",text:e.message||"Erro desconhecido",footer:e.details||"Tente novamente mais tarde.",confirmButtonColor:"#2563eb",confirmButtonText:"Tentar Novamente"})}finally{o.prop("disabled",!1).html("Acessar Sistema")}}else Swal.fire({icon:"warning",title:"Atenção!",text:"Preencha usuário e senha antes de continuar.",confirmButtonColor:"#ffcc00"})})),$("#formRecuperar").submit((function(t){t.preventDefault();$("#cpf").val(),$("#dataNascimento").val(),$("#departamento").val();Swal.fire({icon:"info",title:"Solicitação Enviada",text:"Verifique seu e-mail para redefinir sua senha",confirmButtonColor:"#2563eb"}).then((()=>{e(),this.reset()}))})),$("#cpf").on("input",(function(){let e=$(this).val().replace(/\D/g,"");e.length<=11&&(e=e.replace(/(\d{3})(\d{3})(\d{3})(\d{2})/,"$1.$2.$3-$4"),$(this).val(e))})),$("input, select").focus((function(){$(this).parent(".input-group").addClass("focused")})).blur((function(){$(this).parent(".input-group").removeClass("focused")}))}));