escalaFonte: "100%", abas12: "Escrituração | Transações", abas34: "Balancete | Bens", abas567: "Gestão | IRPF | Perfil", rigorExtracao: "estrito", bgAberturaUrl: "https://images.unsplash.com/photo-1499750310107-5fef28a66643?auto=format&fit=crop&w=1920&q=85", mostrarArteSvgAbertura: true, irIsento2026: 2259.20, irFaixaIsencaoEfetiva2026: 5000.00, // Identidade e Config setText("auth-app-titulo", configApp.titulo); setText("auth-app-subtitulo", configApp.subtitulo); setText("header-app-titulo", configApp.titulo); setText("header-app-subtitulo", configApp.subtitulo); setText("auth-rodape-copy", configApp.rodape); setText("lbl-cad-chave-pix", configApp.chavePix); // Aplica imagem customizada da tela de abertura configurada pelo Administrador const modalAuthEl = document.getElementById("modal-login-auth"); if (modalAuthEl) { const urlBg = (configApp.bgAberturaUrl || "").trim(); if (urlBg === "none") { modalAuthEl.style.backgroundImage = "linear-gradient(125deg, rgba(255,255,255,0.92) 0%, rgba(250,247,240,0.85) 100%)"; } else if (urlBg) { modalAuthEl.style.backgroundImage = `linear-gradient(125deg, rgba(255,255,255,0.84) 0%, rgba(250,247,240,0.42) 34%, rgba(214,206,194,0.58) 52%, rgba(255,253,248,0.88) 72%, rgba(218,210,198,0.52) 100%), url('${urlBg}')`; } } const svgArteEl = document.getElementById("svg-arte-abertura"); if (svgArteEl) { svgArteEl.classList.toggle("hidden", configApp.mostrarArteSvgAbertura === false); } atualizarPrecosTelaCadastro(); setVal("adm-lbl-abas-12", configApp.abas12 || "Escrituração | Transações"); setVal("adm-lbl-abas-34", configApp.abas34 || "Balancete | Bens"); setVal("adm-lbl-abas-567", configApp.abas567 || "Gestão | IRPF | Perfil"); setVal("adm-rigor-extracao", configApp.rigorExtracao || "estrito"); setVal("adm-bg-abertura-url", configApp.bgAberturaUrl || "https://images.unsplash.com/photo-1499750310107-5fef28a66643?auto=format&fit=crop&w=1920&q=85"); setChk("adm-mostrar-svg-abertura", configApp.mostrarArteSvgAbertura !== false); alternarVisibilidadeConfigIcpAdmin(); // Renderizadores de Abas abas12: document.getElementById("adm-lbl-abas-12")?.value.trim() || "Escrituração | Transações", abas34: document.getElementById("adm-lbl-abas-34")?.value.trim() || "Balancete | Bens", abas567: document.getElementById("adm-lbl-abas-567")?.value.trim() || "Gestão | IRPF | Perfil", rigorExtracao: document.getElementById("adm-rigor-extracao")?.value || "estrito", bgAberturaUrl: document.getElementById("adm-bg-abertura-url")?.value.trim() || "https://images.unsplash.com/photo-1499750310107-5fef28a66643?auto=format&fit=crop&w=1920&q=85", mostrarArteSvgAbertura: document.getElementById("adm-mostrar-svg-abertura")?.checked !== false }; salvarEstadoLocalENuvem("Atualização global Admin"); mostrarNotificacao("Configurações globais, imagem de abertura e parâmetros ICP-Brasil aplicados com Snapshot!", "sucesso"); } function selecionarPresetImagemAbertura(valor) { const inp = document.getElementById("adm-bg-abertura-url"); if (inp) inp.value = valor; } function carregarImagemAberturaAdmin(input) { if (!input.files || !input.files.length) return; const file = input.files[0]; const reader = new FileReader(); reader.onload = (e) => { const img = new Image(); img.onload = () => { const canvas = document.createElement("canvas"); const maxW = 1440; const scale = img.width > maxW ? maxW / img.width : 1; canvas.width = Math.round(img.width * scale); canvas.height = Math.round(img.height * scale); const ctx = canvas.getContext("2d"); ctx.drawImage(img, 0, 0, canvas.width, canvas.height); const dataUrl = canvas.toDataURL("image/jpeg", 0.82); const inp = document.getElementById("adm-bg-abertura-url"); if (inp) inp.value = dataUrl; mostrarNotificacao(`Imagem "${file.name}" carregada! Clique em "Aplicar Modificações Globais" para salvar.`, "sucesso"); }; img.src = e.target.result; }; reader.readAsDataURL(file); } function salvarMotorNormativoAdmin() { calcularSimuladorIRPF, abrirModalAssistenteIRPF, salvarConfigAdminComSnapshot, selecionarPresetImagemAbertura, carregarImagemAberturaAdmin, salvarMotorNormativoAdmin, reverterUltimoSnapshot, restaurarSnapshot, restaurarPadraoFabricaSeguro, carregarDadosDemonstrativosExemplo, exportarJSONBackup, importarJSONBackup, atualizarPromptBlindado, copiarPromptBlindado, copiarScriptNodeSetup, copiarRegrasFirestore, forcarSincronizacaoNuvem });