{"id":234,"date":"2026-04-10T02:24:57","date_gmt":"2026-04-10T05:24:57","guid":{"rendered":"https:\/\/primewebsolutions.com.br\/?page_id=234"},"modified":"2026-04-23T03:42:27","modified_gmt":"2026-04-23T06:42:27","slug":"leitura-360","status":"publish","type":"page","link":"https:\/\/primewebsolutions.com.br\/?page_id=234","title":{"rendered":"Calculadora"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"234\" class=\"elementor elementor-234\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-60a13e4 e-flex e-con-boxed e-con e-parent\" data-id=\"60a13e4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7f2f5db elementor-widget elementor-widget-html\" data-id=\"7f2f5db\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"pws-diagnostico-gateway-360\"><\/div>\n<script>\n(function () {\n  const host = document.getElementById('pws-diagnostico-gateway-360');\n  if (!host) return;\n\n  const root = host.attachShadow ? host.attachShadow({ mode: 'open' }) : host;\n  if (!root.getElementById) {\n    root.getElementById = function(id){ return root.querySelector('#' + id); };\n  }\n\n  const style = document.createElement('style');\n  style.textContent = `\n    :host, *{box-sizing:border-box}\n    .wrap{font-family:Arial,Helvetica,sans-serif;color:#0f172a;max-width:1280px;margin:0 auto;padding:20px 0 36px}\n    .hero{background:linear-gradient(135deg,#091220 0%,#132847 100%);color:#fff;border-radius:28px;padding:24px;box-shadow:0 18px 46px rgba(2,6,23,.18);margin-bottom:18px}\n    .badge{display:inline-block;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.10);color:#fff;font-size:12px;margin:0 8px 8px 0}\n    .hero h1{margin:8px 0 10px;font-size:30px;line-height:1.12;letter-spacing:-0.02em}\n    .hero p{margin:0;max-width:920px;color:#d9e6fb;line-height:1.62;font-size:15px}\n    .layout{display:grid;grid-template-columns:1.06fr .94fr;gap:18px}\n    .card{background:#fff;border-radius:26px;padding:22px;box-shadow:0 18px 48px rgba(15,23,42,.10);border:1px solid #e6edf7}\n    .steps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}\n    .steps button{border:0;cursor:pointer;padding:10px 14px;border-radius:999px;background:#eef3f9;color:#334155;font-size:13px;font-weight:700;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}\n    .steps button:hover{transform:translateY(-2px);box-shadow:0 10px 18px rgba(15,23,42,.10)}\n    .steps button.active{background:#0f172a;color:#fff;box-shadow:0 10px 20px rgba(2,6,23,.18)}\n    h2{margin:0 0 8px;font-size:24px;line-height:1.2;letter-spacing:-0.02em}\n    .sub{margin:0 0 16px;color:#5b6678;font-size:14px;line-height:1.62}\n    .profiles,.modes{display:grid;gap:12px;grid-template-columns:1fr 1fr;align-items:stretch}\n    .profile,.mode{border:1px solid #dbe5f0;background:#fff;border-radius:22px;padding:16px;text-align:left;cursor:pointer;min-height:122px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;box-shadow:0 6px 18px rgba(15,23,42,.04)}\n    .profile:hover,.mode:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(15,23,42,.14);border-color:#8fb2ff}\n    .profile.active,.mode.active{background:#0f172a;border-color:#0f172a;color:#fff;box-shadow:0 18px 34px rgba(2,6,23,.24)}\n    .profile h3,.mode h3{margin:0 0 6px;font-size:16px;line-height:1.3}\n    .profile p,.mode p{margin:0;font-size:12.8px;line-height:1.55;color:#5b6678}\n    .profile.active p,.mode.active p{color:#fff;opacity:.92}\n    .grid{display:grid;gap:14px;grid-template-columns:1fr 1fr}\n    .grid3{display:grid;gap:14px;grid-template-columns:1fr 1fr 1fr}\n    .field{display:flex;flex-direction:column;gap:7px}\n    .field label{font-size:13px;font-weight:700;color:#334155}\n    .field input,.field select,.field textarea{width:100%;min-height:46px;border-radius:16px;border:1px solid #dbe5f0;background:#fff;padding:12px 14px;font-size:14px;color:#0f172a;outline:none;font-family:Arial,Helvetica,sans-serif}\n    .field input:focus,.field select:focus,.field textarea:focus{border-color:#0b5cff;box-shadow:0 0 0 3px rgba(11,92,255,.08)}\n    .box{border:1px solid #dbe5f0;border-radius:22px;padding:16px;background:#fff;transition:transform .18s ease,box-shadow .18s ease}\n    .box:hover{transform:translateY(-3px);box-shadow:0 16px 28px rgba(15,23,42,.09)}\n    .box.blue{background:#0b5cff;color:#fff;border-color:#0b5cff}\n    .k{color:#64748b;font-size:12px;font-weight:700;margin-bottom:6px}\n    .box.blue .k,.box.blue .t,.box.blue .v{color:#fff}\n    .v{font-size:26px;font-weight:800;line-height:1.16;letter-spacing:-0.02em}\n    .t{font-size:13px;line-height:1.62;color:#475569}\n    .results{display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-top:14px}\n    .results .full{grid-column:1 \/ -1}\n    .score{display:flex;align-items:center;gap:16px}\n    .ring{width:92px;height:92px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;color:#0f172a;background:conic-gradient(#0b5cff 0deg,#0b5cff var(--deg),#eaf0f7 var(--deg),#eaf0f7 360deg);position:relative;flex:0 0 auto}\n    .ring::after{content:'';position:absolute;inset:10px;background:#fff;border-radius:50%;z-index:0}\n    .ring span{position:relative;z-index:1}\n    .list{margin:0;padding-left:18px;color:#475569;line-height:1.7;font-size:13px}\n    .actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}\n    .actions button{border:0;cursor:pointer;font-weight:700;border-radius:16px;padding:13px 18px;transition:transform .16s ease,box-shadow .16s ease}\n    .actions button:hover{transform:translateY(-2px);box-shadow:0 10px 18px rgba(15,23,42,.10)}\n    .btn-outline{background:#fff;color:#0f172a;border:1px solid #dbe5f0 !important}\n    .btn-primary{background:#0f172a;color:#fff}\n    .summary{display:grid;gap:14px}\n    .line{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #e8edf5;font-size:14px}\n    .line:last-child{border-bottom:0}\n    .dark{background:#0f172a;color:#fff;border-color:#0f172a}\n    .dark .k,.dark .t,.dark .v{color:#fff}\n    .hidden{display:none !important}\n    @media (max-width:1080px){.layout{grid-template-columns:1fr}}\n    @media (max-width:760px){.profiles,.modes,.grid,.grid3,.results{grid-template-columns:1fr}.hero h1{font-size:25px}h2{font-size:21px}.v{font-size:24px}}\n  `;\n  root.appendChild(style);\n\n  const wrap = document.createElement('div');\n  wrap.className = 'wrap';\n  wrap.innerHTML = `\n    <div class=\"hero\">\n      <span class=\"badge\">Prime Web Solutions<\/span>\n      <span class=\"badge\">Diagn\u00f3stico 360<\/span>\n      <h1>Primeiro o sistema entende a empresa. Depois ele abre a sua calculadora atual.<\/h1>\n      <p>Esta vers\u00e3o \u00e9 leve e est\u00e1vel para WordPress. Ela faz o diagn\u00f3stico, escolhe o modo de custo e no final revela a calculadora que j\u00e1 est\u00e1 na p\u00e1gina.<\/p>\n    <\/div>\n\n    <div class=\"layout\">\n      <div class=\"card\">\n        <div class=\"steps\">\n          <button class=\"step active\" data-step=\"1\">1. Perfil<\/button>\n          <button class=\"step\" data-step=\"2\">2. Opera\u00e7\u00e3o atual<\/button>\n          <button class=\"step\" data-step=\"3\">3. Cen\u00e1rio tribut\u00e1rio<\/button>\n          <button class=\"step\" data-step=\"4\">4. Modo de custo<\/button>\n        <\/div>\n\n        <section id=\"step-1\">\n          <h2>Quem \u00e9 voc\u00ea hoje?<\/h2>\n          <p class=\"sub\">Escolha o papel principal da opera\u00e7\u00e3o. A partir disso, o sistema muda a leitura e os cen\u00e1rios recomendados.<\/p>\n          <div class=\"profiles\">\n            <button type=\"button\" class=\"profile active\" data-profile=\"fabrica\"><h3>Sou f\u00e1brica \/ ind\u00fastria<\/h3><p>Produzo, industrializo ou opero como origem da cadeia e quero entender minha sa\u00edda, meus canais e minha margem.<\/p><\/button>\n            <button type=\"button\" class=\"profile\" data-profile=\"marca\"><h3>Tenho marca e mando fabricar<\/h3><p>Terceirizo a produ\u00e7\u00e3o e quero descobrir se meu modelo atual faz sentido para varejo, distribui\u00e7\u00e3o e escala.<\/p><\/button>\n            <button type=\"button\" class=\"profile\" data-profile=\"distribuidor\"><h3>Sou distribuidor<\/h3><p>Compro para revender e preciso montar pol\u00edtica de margem, pre\u00e7o de sa\u00edda e canais de venda.<\/p><\/button>\n            <button type=\"button\" class=\"profile\" data-profile=\"revendedor\"><h3>Sou revendedor \/ e-commerce<\/h3><p>Compro pronto e quero saber qual estrutura e qual canal me entregam mais margem com mais seguran\u00e7a.<\/p><\/button>\n            <button type=\"button\" class=\"profile\" data-profile=\"grupo\"><h3>Tenho mais de uma empresa<\/h3><p>Quero entender qual empresa deve fabricar, qual deve distribuir e qual deve vender ao consumidor final.<\/p><\/button>\n          <\/div>\n          <div style=\"margin-top:16px;\" class=\"box blue\">\n            <div class=\"k\">Como essa entrada funciona<\/div>\n            <div class=\"t\">A ferramenta come\u00e7a pelo papel da empresa na cadeia, porque o regime e o canal certo dependem da fun\u00e7\u00e3o que o neg\u00f3cio exerce hoje.<\/div>\n          <\/div>\n        <\/section>\n\n        <section id=\"step-2\" class=\"hidden\">\n          <h2>Como sua opera\u00e7\u00e3o funciona hoje?<\/h2>\n          <p class=\"sub\">Agora o sistema l\u00ea regime, escala, tipo de venda e natureza do produto para comparar cen\u00e1rios de crescimento.<\/p>\n          <div class=\"grid3\">\n            <div class=\"field\"><label>Regime atual<\/label><select id=\"regime\"><option value=\"simples\">Simples Nacional<\/option><option value=\"presumido\">Lucro Presumido<\/option><option value=\"real\">Lucro Real<\/option><option value=\"nao-sei\">N\u00e3o sei informar<\/option><\/select><\/div>\n            <div class=\"field\"><label>Faturamento m\u00e9dio mensal<\/label><input id=\"fat\" type=\"number\" step=\"0.01\" value=\"50000\" \/><\/div>\n            <div class=\"field\"><label>Produto principal<\/label><select id=\"produto\"><option value=\"monofasico\">Produto em monof\u00e1sico<\/option><option value=\"normal\">Produto fora de monof\u00e1sico<\/option><option value=\"nao-sei\">N\u00e3o sei informar<\/option><\/select><\/div>\n            <div class=\"field\"><label>Como esse produto chega at\u00e9 voc\u00ea<\/label><select id=\"operacao\"><option value=\"produz\">Produzo internamente<\/option><option value=\"terceiriza\">Mando fabricar<\/option><option value=\"compra-pronto\">Compro pronto para revender<\/option><\/select><\/div>\n            <div class=\"field\"><label>Venda para consumidor final<\/label><select id=\"venda-final\"><option value=\"sim\">Sim<\/option><option value=\"nao\">N\u00e3o<\/option><\/select><\/div>\n            <div class=\"field\"><label>Venda para CNPJ \/ B2B<\/label><select id=\"venda-b2b\"><option value=\"sim\">Sim<\/option><option value=\"nao\">N\u00e3o<\/option><\/select><\/div>\n            <div class=\"field\"><label>% aproximado do faturamento em B2B<\/label><input id=\"share-b2b\" type=\"number\" min=\"0\" max=\"100\" step=\"0.01\" value=\"30\" \/><\/div>\n            <div class=\"field\"><label>% aproximado do faturamento em marketplace<\/label><input id=\"share-marketplace\" type=\"number\" min=\"0\" max=\"100\" step=\"0.01\" value=\"25\" \/><\/div>\n            <div class=\"field\"><label>Hoje voc\u00ea separa pre\u00e7o por canal?<\/label><select id=\"preco-separado\"><option value=\"sim\">Sim<\/option><option value=\"nao\">N\u00e3o<\/option><\/select><\/div>\n            <div class=\"field\"><label>Estrutura de CNPJ<\/label><select id=\"cnpjs\"><option value=\"1\">Um CNPJ principal<\/option><option value=\"2\">Dois CNPJs<\/option><option value=\"3+\">Tr\u00eas ou mais CNPJs<\/option><\/select><\/div>\n            <div class=\"field\"><label>Seu foco de crescimento<\/label><select id=\"foco\"><option value=\"varejo\">Consumidor final \/ varejo<\/option><option value=\"distribuicao\">Distribui\u00e7\u00e3o \/ B2B<\/option><option value=\"atacado\">Atacado \/ revenda<\/option><option value=\"marketplace\">Marketplace<\/option><option value=\"grupo\">Estruturar grupo \/ mais de uma empresa<\/option><option value=\"todos\">Todos<\/option><\/select><\/div>\n            <div class=\"field\"><label>Venda em marketplace<\/label><select id=\"marketplace\"><option value=\"sim\">Sim<\/option><option value=\"nao\">N\u00e3o<\/option><\/select><\/div>\n          <\/div>\n\n          <div id=\"extra-empresas\" class=\"hidden\" style=\"margin-top:16px;\">\n            <div class=\"box\">\n              <div class=\"k\">Detalhes das outras empresas<\/div>\n              <div class=\"grid\">\n                <div class=\"field\"><label>As fun\u00e7\u00f5es das outras empresas hoje est\u00e3o<\/label><select id=\"papeis-outras\"><option value=\"claro\">Claras e separadas<\/option><option value=\"misturado\">Misturadas<\/option><\/select><\/div>\n                <div class=\"field\"><label>Principal problema hoje<\/label><select id=\"problema-grupo\"><option value=\"margem\">N\u00e3o consigo ler a margem por empresa<\/option><option value=\"tributo\">Acredito que pago imposto a mais<\/option><option value=\"canal\">N\u00e3o sei qual empresa deve vender em cada canal<\/option><option value=\"todos\">Tudo isso junto<\/option><\/select><\/div>\n                <div class=\"field\" style=\"grid-column:1 \/ -1;\"><label>Descreva resumidamente como a opera\u00e7\u00e3o funciona hoje<\/label><textarea id=\"descricao\" rows=\"4\" placeholder=\"Ex: uma empresa fabrica, outra compra e vende, e a terceira faz o e-commerce\"><\/textarea><\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/section>\n\n        <section id=\"step-3\" class=\"hidden\">\n          <h2>Seu cen\u00e1rio tribut\u00e1rio e operacional<\/h2>\n          <p class=\"sub\">Aqui o sistema cruza seu papel, seu regime, sua escala e seus canais para gerar uma dire\u00e7\u00e3o pr\u00e1tica antes da precifica\u00e7\u00e3o.<\/p>\n\n          <div class=\"box full\" style=\"margin-bottom:14px;\">\n            <div class=\"score\">\n              <div class=\"ring\" id=\"ring\" style=\"--deg:252deg;\"><span id=\"score-value\">70<\/span><\/div>\n              <div>\n                <div class=\"k\">\u00cdndice 360 de coer\u00eancia tribut\u00e1ria e comercial<\/div>\n                <div class=\"v\" style=\"font-size:24px;\" id=\"score-label\">Estrutura boa, com ajustes<\/div>\n                <div class=\"t\" id=\"score-text\">Sua opera\u00e7\u00e3o tem base funcional, mas ainda mistura decis\u00f5es que podem comprimir margem ou dificultar a escala.<\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"results\">\n            <div class=\"box\"><div class=\"k\">Seu cen\u00e1rio atual<\/div><div class=\"t\" id=\"atual\"><\/div><\/div>\n            <div class=\"box\"><div class=\"k\">O principal gargalo<\/div><div class=\"t\" id=\"gargalo\"><\/div><\/div>\n            <div class=\"box\"><div class=\"k\">O que pode melhorar sem mudar tudo<\/div><div class=\"t\" id=\"ajuste\"><\/div><\/div>\n            <div class=\"box\"><div class=\"k\">O melhor caminho para escala<\/div><div class=\"t\" id=\"escala\"><\/div><\/div>\n            <div class=\"box\"><div class=\"k\">Leitura para a calculadora<\/div><div class=\"t\" id=\"cenario-venda\"><\/div><\/div>\n            <div class=\"box\"><div class=\"k\">Potencial do cen\u00e1rio sugerido<\/div><div class=\"t\" id=\"potencial\"><\/div><\/div>\n            <div class=\"box full\"><div class=\"k\">Alertas de valida\u00e7\u00e3o<\/div><ul class=\"list\" id=\"alertas\"><\/ul><\/div>\n          <\/div>\n        <\/section>\n\n        <section id=\"step-4\" class=\"hidden\">\n          <h2>Como voc\u00ea quer montar seu pre\u00e7o?<\/h2>\n          <p class=\"sub\">Ao escolher uma op\u00e7\u00e3o, o sistema abre o bloco correspondente logo abaixo e no final revela a sua calculadora atual.<\/p>\n          <div class=\"modes\">\n            <button type=\"button\" class=\"mode active\" data-mode=\"total\"><h3>J\u00e1 tenho meu custo total<\/h3><p>Ideal para quem j\u00e1 sabe o custo unit\u00e1rio do produto pronto e quer descobrir o pre\u00e7o ideal por canal.<\/p><\/button>\n            <button type=\"button\" class=\"mode\" data-mode=\"insumos\"><h3>Quero montar pelos meus insumos<\/h3><p>Ideal para quem quer abrir f\u00f3rmula, frasco, tampa, r\u00f3tulo, cartucho, embalagem, frete e demais custos.<\/p><\/button>\n          <\/div>\n\n          <div id=\"mode-total\" class=\"box\" style=\"margin-top:16px;\">\n            <div class=\"k\">Modo selecionado<\/div>\n            <div class=\"v\" style=\"font-size:22px;\">Custo total pronto<\/div>\n            <div class=\"grid\" style=\"margin-top:12px;\">\n              <div class=\"field\"><label>Nome do produto<\/label><input id=\"produto-nome-total\" value=\"Perfume 100ml\" \/><\/div>\n              <div class=\"field\"><label>Custo total unit\u00e1rio<\/label><input id=\"custo-total\" type=\"number\" step=\"0.01\" value=\"25\" \/><\/div>\n            <\/div>\n          <\/div>\n\n          <div id=\"mode-insumos\" class=\"box hidden\" style=\"margin-top:16px;\">\n            <div class=\"k\">Modo selecionado<\/div>\n            <div class=\"v\" style=\"font-size:22px;\">Montagem por insumos<\/div>\n            <div class=\"grid3\" style=\"margin-top:12px;\">\n              <div class=\"field\"><label>Nome do produto<\/label><input id=\"produto-nome-insumos\" value=\"Perfume 100ml\" \/><\/div>\n              <div class=\"field\"><label>F\u00f3rmula \/ base<\/label><input id=\"formula\" type=\"number\" step=\"0.01\" value=\"12\" \/><\/div>\n              <div class=\"field\"><label>Frasco<\/label><input id=\"frasco\" type=\"number\" step=\"0.01\" value=\"4\" \/><\/div>\n              <div class=\"field\"><label>Tampa \/ v\u00e1lvula<\/label><input id=\"tampa\" type=\"number\" step=\"0.01\" value=\"2\" \/><\/div>\n              <div class=\"field\"><label>R\u00f3tulo<\/label><input id=\"rotulo\" type=\"number\" step=\"0.01\" value=\"1.2\" \/><\/div>\n              <div class=\"field\"><label>Cartucho<\/label><input id=\"cartucho\" type=\"number\" step=\"0.01\" value=\"1.8\" \/><\/div>\n              <div class=\"field\"><label>Embalagem de envio<\/label><input id=\"pack\" type=\"number\" step=\"0.01\" value=\"1.5\" \/><\/div>\n              <div class=\"field\"><label>Frete at\u00e9 estoque<\/label><input id=\"frete\" type=\"number\" step=\"0.01\" value=\"1.2\" \/><\/div>\n              <div class=\"field\"><label>Outros custos diretos<\/label><input id=\"extra\" type=\"number\" step=\"0.01\" value=\"0.8\" \/><\/div>\n            <\/div>\n            <div class=\"box\" style=\"margin-top:14px;background:#f8fafc;\">\n              <div class=\"k\">Custo total calculado pelos insumos<\/div>\n              <div class=\"v\" id=\"total-display\" style=\"font-size:22px;\">R$ 24,50<\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"box\" style=\"margin-top:16px;background:#f8fafc;\">\n            <div class=\"k\">Pr\u00f3xima etapa<\/div>\n            <div class=\"t\" id=\"gate-text\">Ao clicar abaixo, a sua calculadora atual ser\u00e1 exibida na mesma p\u00e1gina para o cliente continuar a simula\u00e7\u00e3o.<\/div>\n          <\/div>\n        <\/section>\n\n        <div class=\"actions\">\n          <button type=\"button\" class=\"btn-outline\" id=\"prev\">Voltar<\/button>\n          <button type=\"button\" class=\"btn-primary\" id=\"next\">Continuar<\/button>\n        <\/div>\n      <\/div>\n\n      <div class=\"summary\">\n        <div class=\"card\">\n          <div class=\"box\">\n            <div class=\"k\">Resumo da opera\u00e7\u00e3o<\/div>\n            <div class=\"line\"><span>Perfil<\/span><strong id=\"sum-perfil\">F\u00e1brica \/ ind\u00fastria<\/strong><\/div>\n            <div class=\"line\"><span>Regime atual<\/span><strong id=\"sum-regime\">Simples Nacional<\/strong><\/div>\n            <div class=\"line\"><span>Canal principal<\/span><strong id=\"sum-canal\">Opera\u00e7\u00e3o mista<\/strong><\/div>\n            <div class=\"line\"><span>Foco de crescimento<\/span><strong id=\"sum-foco\">Consumidor final \/ varejo<\/strong><\/div>\n          <\/div>\n\n          <div class=\"box\" style=\"margin-top:14px;\">\n            <div class=\"k\">Leitura r\u00e1pida do sistema<\/div>\n            <div class=\"t\" id=\"sum-leitura\">A ferramenta decide primeiro se a estrutura tribut\u00e1ria do cliente faz sentido para o papel que ele exerce hoje.<\/div>\n          <\/div>\n\n          <div class=\"box dark\" style=\"margin-top:14px;\">\n            <div class=\"k\">Sa\u00edda esperada<\/div>\n            <div class=\"t\" id=\"sum-saida\">Ao final desta etapa, o cliente entende sua estrutura atual, o gargalo principal e o melhor caminho antes de ir para a calculadora.<\/div>\n          <\/div>\n\n          <div class=\"box\" style=\"margin-top:14px;\">\n            <div class=\"k\">Modo de precifica\u00e7\u00e3o<\/div>\n            <div class=\"v\" style=\"font-size:22px;\" id=\"sum-mode\">Custo total pronto<\/div>\n            <div class=\"t\" id=\"sum-mode-text\">Na etapa seguinte, a calculadora abre focada em custo total unit\u00e1rio e pre\u00e7o ideal por canal.<\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  `;\n  root.appendChild(wrap);\n\n  let currentStep = 1;\n  let currentProfile = 'fabrica';\n  let currentMode = 'total';\n\n  const profileMeta = {\n    fabrica: { title: 'F\u00e1brica \/ ind\u00fastria' },\n    marca: { title: 'Marca que manda fabricar' },\n    distribuidor: { title: 'Distribuidor' },\n    revendedor: { title: 'Revendedor \/ e-commerce' },\n    grupo: { title: 'Grupo com mais de uma empresa' }\n  };\n\n  function qsa(sel){ return root.querySelectorAll(sel); }\n  function gi(id){ return root.getElementById(id); }\n  function value(id){ return gi(id).value; }\n  function number(id){ return parseFloat(gi(id).value || '0') || 0; }\n  function money(v){ return (isFinite(v) ? v : 0).toLocaleString('pt-BR',{style:'currency', currency:'BRL'}); }\n\n  function updateStep() {\n    ['step-1','step-2','step-3','step-4'].forEach((id, idx) => gi(id).classList.toggle('hidden', idx !== currentStep - 1));\n    qsa('.step').forEach(btn => {\n      const s = parseInt(btn.dataset.step, 10);\n      btn.classList.toggle('active', s === currentStep);\n    });\n    gi('next').textContent = currentStep === 4 ? 'Abrir calculadora' : 'Continuar';\n  }\n\n  function updateProfileUI() {\n    qsa('.profile').forEach(btn => btn.classList.toggle('active', btn.dataset.profile === currentProfile));\n    gi('sum-perfil').textContent = profileMeta[currentProfile].title;\n  }\n\n  function updateExtraCompanyFields() {\n    gi('extra-empresas').classList.toggle('hidden', value('cnpjs') === '1');\n  }\n\n  function getChannelType() {\n    const vendaFinal = value('venda-final');\n    const vendaB2B = value('venda-b2b');\n    const mkt = value('marketplace');\n    if (vendaFinal === 'sim' && vendaB2B === 'sim' && mkt === 'sim') return 'Opera\u00e7\u00e3o h\u00edbrida';\n    if (vendaFinal === 'sim' && vendaB2B === 'sim') return 'Opera\u00e7\u00e3o mista';\n    if (vendaFinal === 'sim') return 'Venda direta \/ D2C';\n    if (vendaB2B === 'sim') return 'Venda B2B';\n    return 'Opera\u00e7\u00e3o indefinida';\n  }\n\n  function calcScore() {\n    let score = 76;\n    const regime = value('regime');\n    const faturamento = number('fat');\n    const produtoTipo = value('produto');\n    const vendaFinal = value('venda-final');\n    const vendaB2B = value('venda-b2b');\n    const cnpjs = value('cnpjs');\n    const foco = value('foco');\n    const shareB2B = number('share-b2b');\n    const shareMarketplace = number('share-marketplace');\n    const precoSeparado = value('preco-separado');\n    const papeis = cnpjs === '1' ? 'unico' : value('papeis-outras');\n\n    if (regime === 'nao-sei') score -= 12;\n    if (produtoTipo === 'nao-sei') score -= 10;\n    if (vendaFinal === 'sim' && vendaB2B === 'sim' && cnpjs === '1') score -= 14;\n    if (precoSeparado === 'nao') score -= 8;\n    if (shareB2B > 35 && cnpjs === '1') score -= 8;\n    if (shareMarketplace > 50 && currentProfile !== 'revendedor') score -= 4;\n    if (currentProfile === 'grupo' && cnpjs === '1') score -= 20;\n    if (currentProfile === 'fabrica' && regime === 'real') score += 8;\n    if (currentProfile === 'distribuidor' && regime === 'presumido') score += 8;\n    if (currentProfile === 'revendedor' && regime === 'simples' && faturamento <= 80000) score += 5;\n    if (currentProfile === 'marca' && regime === 'simples' && vendaFinal === 'sim' && vendaB2B === 'sim') score -= 8;\n    if (regime === 'simples' && faturamento * 12 > 4800000) score -= 26;\n    if (foco === 'todos') score -= 6;\n    if (cnpjs !== '1' && papeis === 'claro') score += 6;\n    if (cnpjs !== '1' && papeis === 'misturado') score -= 8;\n    return Math.max(0, Math.min(100, score));\n  }\n\n  function getTexts() {\n    const regime = value('regime');\n    const produtoTipo = value('produto');\n    const vendaFinal = value('venda-final');\n    const vendaB2B = value('venda-b2b');\n    const cnpjs = value('cnpjs');\n    const foco = value('foco');\n    const faturamento = number('fat');\n    const shareB2B = number('share-b2b');\n    const shareMarketplace = number('share-marketplace');\n    const precoSeparado = value('preco-separado');\n    const papeis = cnpjs === '1' ? 'unico' : value('papeis-outras');\n    const desc = cnpjs === '1' ? '' : (value('descricao') || '').trim();\n\n    const both = vendaFinal === 'sim' && vendaB2B === 'sim';\n    const channelType = getChannelType();\n    let atual = '', gargalo = '', ajuste = '', escala = '', venda = '', potencial = '';\n    let alertas = [];\n\n    if (currentProfile === 'marca') {\n      if (both && cnpjs === '1') {\n        atual = 'Sua marca terceiriza a produ\u00e7\u00e3o e hoje usa o mesmo CNPJ para varejo e distribui\u00e7\u00e3o, o que funciona no come\u00e7o, mas mistura pap\u00e9is comerciais na mesma estrutura.';\n        gargalo = 'A mesma empresa est\u00e1 sustentando margem de consumidor final e margem de B2B, o que tende a apertar a leitura do pre\u00e7o para distribuidor.';\n        ajuste = 'No curto prazo, o caminho mais simples \u00e9 manter a estrutura atual e separar pre\u00e7o, margem e pol\u00edtica comercial entre varejo, revenda e distribui\u00e7\u00e3o.';\n        escala = 'Se o objetivo for crescer em distribui\u00e7\u00e3o, atacado ou parceiros, o pr\u00f3ximo passo \u00e9 simular uma camada comercial pr\u00f3pria para o B2B.';\n        venda = 'Na calculadora, compare seu produto no cen\u00e1rio atual e depois simule a venda do B2B em um desenho separado.';\n        potencial = produtoTipo === 'monofasico'\n          ? 'Se o produto realmente estiver em monof\u00e1sico, vender o B2B em um cen\u00e1rio mais limpo pode reduzir press\u00e3o tribut\u00e1ria relativa e escalar melhor a distribui\u00e7\u00e3o.'\n          : 'Mesmo fora do monof\u00e1sico, separar a l\u00f3gica de distribui\u00e7\u00e3o pode melhorar margem, clareza de pre\u00e7o e capacidade de crescer sem bagun\u00e7ar o varejo.';\n      } else {\n        atual = 'Sua marca terceiriza a produ\u00e7\u00e3o e est\u00e1 mais concentrada em venda direta ou em um mix comercial ainda control\u00e1vel.';\n        gargalo = 'O maior risco est\u00e1 em precificar sem separar canal, imposto e custo real do produto.';\n        ajuste = 'Mantenha a estrutura atual, mas organize pre\u00e7o m\u00ednimo, ideal e por canal antes de crescer.';\n        escala = 'Se novos parceiros ou revendedores entrarem, prepare uma camada de sa\u00edda comercial separada.';\n        venda = 'Na calculadora, comece pelo pre\u00e7o de internet e depois compare um cen\u00e1rio de sa\u00edda para revendedor ou distribuidor.';\n        potencial = 'Esse cen\u00e1rio costuma escalar melhor quando a marca protege sua margem e n\u00e3o usa o mesmo pre\u00e7o mental para todos os canais.';\n      }\n    }\n\n    if (currentProfile === 'fabrica') {\n      atual = 'Sua empresa exerce papel de origem na cadeia. Hoje o desafio \u00e9 definir quanto a f\u00e1brica precisa ganhar antes de abrir pre\u00e7o para outros canais.';\n      gargalo = both ? 'A f\u00e1brica pode estar acumulando margem industrial e margem comercial no mesmo fluxo.' : 'O principal risco \u00e9 vender sem separar claramente pre\u00e7o de sa\u00edda industrial e pre\u00e7o do canal final.';\n      ajuste = 'No cen\u00e1rio atual, organize primeiro a sa\u00edda da f\u00e1brica e a pol\u00edtica de pre\u00e7o por canal.';\n      escala = (foco === 'distribuicao' || foco === 'atacado' || shareB2B > 35)\n        ? 'Se o foco \u00e9 B2B, o cen\u00e1rio de escala mais forte \u00e9 manter a f\u00e1brica limpa como origem e simular a camada comercial separada.'\n        : 'Se o foco \u00e9 varejo direto, use a f\u00e1brica como base de custo e compare os canais sem perder a margem industrial na sa\u00edda.';\n      venda = 'Na calculadora, simule primeiro o pre\u00e7o do produto saindo da f\u00e1brica e depois compare como esse custo se comporta no site, no marketplace e no B2B.';\n      potencial = 'Se voc\u00ea vender pelo cen\u00e1rio sugerido, tende a ganhar mais clareza entre margem industrial e margem comercial.';\n    }\n\n    if (currentProfile === 'distribuidor') {\n      atual = 'Sua opera\u00e7\u00e3o est\u00e1 posicionada para comprar e revender. O ponto principal \u00e9 saber se voc\u00ea atua como distribuidor puro ou se mistura distribui\u00e7\u00e3o com venda final.';\n      gargalo = both ? 'Distribui\u00e7\u00e3o e venda direta no mesmo fluxo podem confundir a leitura da margem por canal.' : 'O maior risco \u00e9 n\u00e3o ter pol\u00edtica comercial clara por faixa de cliente e volume.';\n      ajuste = 'No modelo atual, o caminho mais seguro \u00e9 separar pre\u00e7o para distribuidor, revendedor, atacado e consumidor final.';\n      escala = (regime === 'simples' && (shareB2B > 40 || foco === 'distribuicao' || foco === 'atacado'))\n        ? 'Se o objetivo \u00e9 escalar no B2B, vale comparar a distribui\u00e7\u00e3o no cen\u00e1rio atual com um cen\u00e1rio comercial mais limpo.'\n        : 'Se o foco ainda \u00e9 opera\u00e7\u00e3o leve, mantenha o modelo atual, mas crie regras claras de pre\u00e7o m\u00ednimo e pre\u00e7o de sa\u00edda por canal.';\n      venda = 'Na calculadora, compare o pre\u00e7o do produto para revendedor e distribuidor antes de abrir site e marketplace.';\n      potencial = 'Se voc\u00ea vender pelo cen\u00e1rio sugerido, pode ganhar escala comercial sem usar o mesmo racioc\u00ednio de pre\u00e7o para todos os clientes.';\n    }\n\n    if (currentProfile === 'revendedor') {\n      atual = 'Sua opera\u00e7\u00e3o depende menos de estrutura industrial e mais de pre\u00e7o, canal e taxa.';\n      gargalo = shareMarketplace > 40 ? 'A maior press\u00e3o provavelmente est\u00e1 no canal: cart\u00e3o, tr\u00e1fego, frete e marketplace comprimem a margem final.' : 'Seu maior risco est\u00e1 em vender sem saber o pre\u00e7o m\u00ednimo real do produto em cada canal.';\n      ajuste = 'Mantenha a estrutura atual, mas separe pre\u00e7o m\u00ednimo, pre\u00e7o ideal e pre\u00e7o promocional por canal.';\n      escala = 'Quando quiser crescer, saiba qual canal protege mais margem e qual canal exige pre\u00e7o mais alto para continuar saud\u00e1vel.';\n      venda = 'Na calculadora, use o modo custo total ou insumos e compare site, marketplace e revenda para entender onde realmente sobra lucro.';\n      potencial = 'Se voc\u00ea vender pelo cen\u00e1rio sugerido, o principal ganho vem de decidir melhor o canal.';\n    }\n\n    if (currentProfile === 'grupo') {\n      atual = 'Sua opera\u00e7\u00e3o j\u00e1 trabalha com mais de uma empresa na cadeia e precisa deixar claro quem origina, quem distribui e quem vende ao consumidor final.';\n      gargalo = 'Quando produ\u00e7\u00e3o, distribui\u00e7\u00e3o e varejo n\u00e3o t\u00eam limites claros, a margem do grupo fica dif\u00edcil de ler.';\n      ajuste = 'No curto prazo, defina papel, canal e margem m\u00ednima por empresa mesmo sem trocar toda a estrutura agora.';\n      escala = 'O cen\u00e1rio mais forte para escala \u00e9 aquele em que cada empresa tem fun\u00e7\u00e3o clara e a precifica\u00e7\u00e3o respeita a l\u00f3gica de cada etapa.';\n      venda = 'Na calculadora, o ideal \u00e9 comparar o produto saindo de cada etapa da cadeia para entender onde o grupo realmente ganha ou perde margem.';\n      potencial = papeis === 'claro'\n        ? 'Como voc\u00ea j\u00e1 tem mais de uma empresa, a grande oportunidade \u00e9 transformar essa separa\u00e7\u00e3o em pol\u00edtica de pre\u00e7o e ganho de escala.'\n        : 'Se organizar o papel das empresas antes da venda, voc\u00ea tende a ganhar clareza fiscal e comercial antes de acelerar o crescimento.';\n    }\n\n    if (regime === 'nao-sei') alertas.push('O cliente n\u00e3o sabe o regime atual. O diagn\u00f3stico deve ser tratado como preliminar at\u00e9 validar essa informa\u00e7\u00e3o.');\n    if (produtoTipo === 'nao-sei') alertas.push('A natureza tribut\u00e1ria do produto ainda n\u00e3o foi confirmada. Validar monof\u00e1sico\/NCM aumenta a confiabilidade do cen\u00e1rio.');\n    if (both && cnpjs === '1') alertas.push('O mesmo CNPJ est\u00e1 atendendo consumidor final e B2B. Isso pede pol\u00edtica separada de pre\u00e7o e margem.');\n    if (precoSeparado === 'nao') alertas.push('Hoje a opera\u00e7\u00e3o n\u00e3o separa pre\u00e7o por canal. Isso reduz a confiabilidade da margem e da negocia\u00e7\u00e3o.');\n    if (regime === 'simples' && faturamento * 12 > 4800000) alertas.push('A escala informada acende alerta para revis\u00e3o de enquadramento e de estrutura de crescimento.');\n    if (currentProfile === 'marca' && produtoTipo === 'monofasico') alertas.push('Produto em monof\u00e1sico exige valida\u00e7\u00e3o espec\u00edfica da etapa de produ\u00e7\u00e3o, da revenda e da apura\u00e7\u00e3o no regime atual.');\n    if (cnpjs !== '1' && papeis === 'misturado') alertas.push('H\u00e1 mais de uma empresa, mas as fun\u00e7\u00f5es ainda est\u00e3o misturadas. Isso reduz o ganho potencial da estrutura.');\n    if (desc) alertas.push('Descri\u00e7\u00e3o informada pelo cliente: ' + desc);\n    if (!alertas.length) alertas.push('A estrutura atual parece funcional, mas ainda vale validar a pol\u00edtica de pre\u00e7o por canal antes da precifica\u00e7\u00e3o do produto.');\n\n    return { atual, gargalo, ajuste, escala, venda, potencial, alertas, channelType };\n  }\n\n  function updateScenarioUI() {\n    updateExtraCompanyFields();\n    const score = calcScore();\n    let label = 'Estrutura boa, com ajustes';\n    let text = 'Sua opera\u00e7\u00e3o tem base funcional, mas ainda mistura decis\u00f5es que podem comprimir margem ou dificultar a escala.';\n    if (score < 40) {\n      label = 'Estrutura fr\u00e1gil';\n      text = 'Sua opera\u00e7\u00e3o precisa reorganizar a l\u00f3gica tribut\u00e1ria e comercial antes de confiar plenamente na precifica\u00e7\u00e3o final.';\n    } else if (score < 60) {\n      label = 'Opera\u00e7\u00e3o funcional, mas confusa';\n      text = 'O neg\u00f3cio funciona, mas o sistema detecta mistura de canais, fun\u00e7\u00f5es ou dados-chave ainda n\u00e3o confirmados.';\n    } else if (score >= 80) {\n      label = 'Estrutura pronta para expans\u00e3o';\n      text = 'Seu cen\u00e1rio mostra boa ader\u00eancia entre papel da empresa, regime, canal e potencial de crescimento.';\n    }\n\n    const deg = Math.round((score \/ 100) * 360);\n    gi('ring').style.setProperty('--deg', deg + 'deg');\n    gi('score-value').textContent = score;\n    gi('score-label').textContent = label;\n    gi('score-text').textContent = text;\n\n    const regimeMap = {\n      'simples': 'Simples Nacional',\n      'presumido': 'Lucro Presumido',\n      'real': 'Lucro Real',\n      'nao-sei': 'N\u00e3o sei informar'\n    };\n    const focusMap = {\n      'varejo': 'Consumidor final \/ varejo',\n      'distribuicao': 'Distribui\u00e7\u00e3o \/ B2B',\n      'atacado': 'Atacado \/ revenda',\n      'marketplace': 'Marketplace',\n      'grupo': 'Estruturar grupo \/ mais de uma empresa',\n      'todos': 'Todos'\n    };\n\n    const tx = getTexts();\n    gi('atual').textContent = tx.atual;\n    gi('gargalo').textContent = tx.gargalo;\n    gi('ajuste').textContent = tx.ajuste;\n    gi('escala').textContent = tx.escala;\n    gi('cenario-venda').textContent = tx.venda;\n    gi('potencial').textContent = tx.potencial;\n    gi('sum-regime').textContent = regimeMap[value('regime')];\n    gi('sum-canal').textContent = tx.channelType;\n    gi('sum-foco').textContent = focusMap[value('foco')];\n    gi('sum-leitura').textContent = tx.atual;\n    gi('sum-saida').textContent = tx.escala;\n    gi('gate-text').textContent = tx.venda;\n\n    const ul = gi('alertas');\n    ul.innerHTML = '';\n    tx.alertas.forEach(item => {\n      const li = document.createElement('li');\n      li.textContent = item;\n      ul.appendChild(li);\n    });\n  }\n\n  function updateModeUI() {\n    qsa('.mode').forEach(btn => btn.classList.toggle('active', btn.dataset.mode === currentMode));\n    const isTotal = currentMode === 'total';\n    gi('mode-total').classList.toggle('hidden', !isTotal);\n    gi('mode-insumos').classList.toggle('hidden', isTotal);\n    gi('sum-mode').textContent = isTotal ? 'Custo total pronto' : 'Montagem por insumos';\n    gi('sum-mode-text').textContent = isTotal\n      ? 'Na etapa seguinte, a calculadora j\u00e1 existente entra focada em custo total unit\u00e1rio e pre\u00e7o ideal por canal.'\n      : 'Na etapa seguinte, a calculadora j\u00e1 existente entra depois que o custo \u00e9 montado pelos insumos.';\n    updateTotal();\n  }\n\n  function updateTotal() {\n    const total = number('formula') + number('frasco') + number('tampa') + number('rotulo') + number('cartucho') + number('pack') + number('frete') + number('extra');\n    if (gi('total-display')) gi('total-display').textContent = money(total);\n  }\n\n  function revealCalculator() {\n    const calc = document.getElementById('pws-simulador-plataformas');\n    if (!calc) {\n      alert('Cole a calculadora completa abaixo deste bloco, usando o c\u00f3digo que voc\u00ea j\u00e1 tem.');\n      return;\n    }\n\n    const produto = currentMode === 'total' ? value('produto-nome-total') : value('produto-nome-insumos');\n    const custo = currentMode === 'total'\n      ? number('custo-total')\n      : (number('formula') + number('frasco') + number('tampa') + number('rotulo') + number('cartucho') + number('pack') + number('frete') + number('extra'));\n    const regime = value('regime');\n    const faturamento = number('fat');\n\n    function formatBRL(v) {\n      return (isFinite(v) ? v : 0).toLocaleString('pt-BR', { style:'currency', currency:'BRL' });\n    }\n\n    function setField(id, val) {\n      const el = document.getElementById(id);\n      if (!el) return;\n      el.value = val;\n      el.dispatchEvent(new Event('input', { bubbles:true }));\n      el.dispatchEvent(new Event('change', { bubbles:true }));\n      try { el.dispatchEvent(new FocusEvent('blur', { bubbles:true })); } catch(e) {}\n    }\n\n    calc.style.display = 'block';\n\n    setField('pws_produto', produto || 'Produto');\n    setField('pws_custo', formatBRL(custo));\n    setField('pws_fat_mensal', formatBRL(faturamento));\n    setField('pws_regime', regime === 'nao-sei' ? 'simples' : regime);\n\n    try { calc.scrollIntoView({ behavior: 'smooth', block: 'start' }); } catch(e) { calc.scrollIntoView(); }\n  }\n\n  qsa('.profile').forEach(btn => btn.addEventListener('click', () => {\n    currentProfile = btn.dataset.profile;\n    updateProfileUI();\n    updateScenarioUI();\n    currentStep = 2;\n    updateStep();\n  }));\n\n  qsa('#step-2 input, #step-2 select, #step-2 textarea').forEach(el => {\n    el.addEventListener('input', updateScenarioUI);\n    el.addEventListener('change', updateScenarioUI);\n  });\n\n  qsa('.mode').forEach(btn => btn.addEventListener('click', () => {\n    currentMode = btn.dataset.mode;\n    updateModeUI();\n  }));\n\n  qsa('#step-4 input').forEach(el => {\n    el.addEventListener('input', updateTotal);\n    el.addEventListener('change', updateTotal);\n  });\n\n  qsa('.step').forEach(btn => btn.addEventListener('click', () => {\n    currentStep = parseInt(btn.dataset.step, 10);\n    updateStep();\n  }));\n\n  gi('prev').addEventListener('click', () => {\n    currentStep = Math.max(1, currentStep - 1);\n    updateStep();\n  });\n\n  gi('next').addEventListener('click', () => {\n    if (currentStep === 4) {\n      revealCalculator();\n      return;\n    }\n    currentStep = Math.min(4, currentStep + 1);\n    updateStep();\n  });\n\n  updateProfileUI();\n  updateScenarioUI();\n  updateModeUI();\n  updateStep();\n})();\n<\/script>\n\n<!-- CALCULADORA OCULTA: cole abaixo do gateway -->\n\n<div id=\"pws-simulador-plataformas\" style=\"display:none;\">\n  <style>\n    #pws-simulador-plataformas{font-family:Arial,sans-serif;max-width:1180px;margin:0 auto;color:#0f172a}\n    #pws-simulador-plataformas *{box-sizing:border-box}\n    #pws-simulador-plataformas .wrap{background:linear-gradient(135deg,#0f172a 0%,#111827 100%);border-radius:24px;padding:24px;box-shadow:0 18px 40px rgba(0,0,0,.18)}\n    #pws-simulador-plataformas .hero{color:#fff;margin-bottom:18px}\n    #pws-simulador-plataformas .badge{display:inline-block;background:rgba(255,255,255,.08);color:#cbd5e1;padding:8px 14px;border-radius:999px;font-size:12px;margin-bottom:12px}\n    #pws-simulador-plataformas h2{margin:0 0 10px;font-size:34px;line-height:1.08;color:#fff}\n    #pws-simulador-plataformas .hero p{margin:0;color:#cbd5e1;font-size:16px;line-height:1.65;max-width:920px}\n    #pws-simulador-plataformas .box{background:#fff;border-radius:20px;padding:20px;margin-top:18px;box-shadow:0 10px 24px rgba(0,0,0,.08)}\n    #pws-simulador-plataformas h3{margin:0 0 8px;font-size:22px;color:#0f172a}\n    #pws-simulador-plataformas .muted{color:#64748b;font-size:14px;line-height:1.6;margin-bottom:16px}\n    #pws-simulador-plataformas .tabs,#pws-simulador-plataformas .subtabs{display:flex;flex-wrap:wrap;gap:10px}\n    #pws-simulador-plataformas .tab-btn,#pws-simulador-plataformas .subtab-btn{border:none;cursor:pointer;padding:12px 16px;border-radius:12px;background:#eef2ff;color:#1e293b;font-weight:700;font-size:14px;transition:.2s ease}\n    #pws-simulador-plataformas .subtab-btn{padding:10px 14px;font-size:13px;border-radius:10px;background:#dbeafe;color:#1e3a8a}\n    #pws-simulador-plataformas .tab-btn.active{background:#22c55e;color:#08110d}\n    #pws-simulador-plataformas .subtab-btn.active{background:#1d4ed8;color:#fff}\n    #pws-simulador-plataformas .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}\n    #pws-simulador-plataformas .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}\n    #pws-simulador-plataformas label{display:block;margin-bottom:6px;font-size:13px;color:#475569;font-weight:700}\n    #pws-simulador-plataformas input,#pws-simulador-plataformas select{width:100%;border:1px solid #dbe3ee;background:#f8fafc;color:#0f172a;border-radius:12px;padding:13px 14px;outline:none;font-size:15px}\n    #pws-simulador-plataformas input[readonly]{background:#eef2f7}\n    #pws-simulador-plataformas .platform-panel,#pws-simulador-plataformas .regime-panel{display:none;margin-top:18px;padding:18px;border-radius:18px;background:linear-gradient(135deg,#eff6ff 0%, #f8fafc 100%);border:1px solid #dbeafe}\n    #pws-simulador-plataformas .platform-panel.active,#pws-simulador-plataformas .regime-panel.active{display:block}\n    #pws-simulador-plataformas .panel-title{font-size:18px;font-weight:700;color:#0f172a;margin:0 0 8px}\n    #pws-simulador-plataformas .panel-text{color:#475569;font-size:14px;line-height:1.65;margin:0 0 14px;max-width:880px}\n    #pws-simulador-plataformas .blue-note{margin-top:12px;padding:12px 14px;border-radius:12px;background:#eff6ff;color:#1e3a8a;font-size:13px;line-height:1.6;border:1px solid #dbeafe}\n    #pws-simulador-plataformas .metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:16px}\n    #pws-simulador-plataformas .metric{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:16px}\n    #pws-simulador-plataformas .metric .k{color:#64748b;font-size:12px;margin-bottom:6px}\n    #pws-simulador-plataformas .metric .v{color:#0f172a;font-size:20px;font-weight:700}\n    #pws-simulador-plataformas .result-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}\n    #pws-simulador-plataformas .result-card{border-radius:18px;padding:18px;border:1px solid #e5e7eb;background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);box-shadow:0 8px 18px rgba(15,23,42,.05)}\n    #pws-simulador-plataformas .result-card .t{font-size:12px;font-weight:700;color:#64748b;margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}\n    #pws-simulador-plataformas .result-card .v{font-size:28px;line-height:1.1;font-weight:800;color:#0f172a}\n    #pws-simulador-plataformas .result-card .s{margin-top:8px;font-size:13px;line-height:1.55;color:#475569}\n    #pws-simulador-plataformas .result-card.good{background:linear-gradient(135deg,#ecfdf5 0%,#f8fafc 100%);border-color:#bbf7d0}\n    #pws-simulador-plataformas .result-card.good .v{color:#166534}\n    #pws-simulador-plataformas .result-card.warn{background:linear-gradient(135deg,#fff7ed 0%,#fffbeb 100%);border-color:#fdba74}\n    #pws-simulador-plataformas .result-card.warn .v{color:#c2410c}\n    #pws-simulador-plataformas .result-card.info{background:linear-gradient(135deg,#eff6ff 0%,#f8fafc 100%);border-color:#bfdbfe}\n    #pws-simulador-plataformas .result-card.info .v{color:#1d4ed8}\n    #pws-simulador-plataformas .summary{margin-top:16px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:16px;line-height:1.7;font-size:14px;color:#0f172a}\n    #pws-simulador-plataformas .summary strong.inline-label{display:inline-block;min-width:180px}\n    #pws-simulador-plataformas .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;align-items:end}\n    #pws-simulador-plataformas .whats-field{min-width:250px;flex:1}\n    #pws-simulador-plataformas .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:none;cursor:pointer;border-radius:12px;padding:13px 18px;font-weight:700;font-size:14px;min-height:48px}\n    #pws-simulador-plataformas .btn-whats{background:#22c55e;color:#08110d}\n    #pws-simulador-plataformas .btn-copy{background:#0f172a;color:#fff}\n    #pws-simulador-plataformas .table-wrap{overflow:auto;border:1px solid #e5e7eb;border-radius:16px;margin-top:16px}\n    #pws-simulador-plataformas table{width:100%;min-width:1100px;border-collapse:collapse;background:#fff}\n    #pws-simulador-plataformas th{background:#f8fafc;color:#334155;text-align:left;padding:12px;font-size:13px;border-bottom:1px solid #e5e7eb;white-space:nowrap}\n    #pws-simulador-plataformas td{padding:12px;font-size:14px;color:#0f172a;border-bottom:1px solid #e5e7eb;vertical-align:top}\n    #pws-simulador-plataformas td.num,#pws-simulador-plataformas th.num{text-align:right;white-space:nowrap}\n    #pws-simulador-plataformas tr.active-row{background:#ecfdf5}\n    #pws-simulador-plataformas .note{margin-top:12px;color:#64748b;font-size:12px;line-height:1.6}\n#pws-simulador-plataformas .scenario-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}\n    #pws-simulador-plataformas .scenario-btn{border:none;cursor:pointer;padding:10px 14px;border-radius:12px;background:#eff6ff;color:#1d4ed8;font-weight:700;font-size:13px;transition:.2s ease}\n    #pws-simulador-plataformas .scenario-btn.active{background:#22c55e;color:#08110d}\n    #pws-simulador-plataformas .ops-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}\n    #pws-simulador-plataformas .ops-highlight{margin-top:16px;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#ecfdf5 0%,#f8fafc 100%);border:1px solid #bbf7d0}\n    #pws-simulador-plataformas .ops-highlight.warn{background:linear-gradient(135deg,#fff7ed 0%,#fffbeb 100%);border-color:#fdba74}\n    #pws-simulador-plataformas .ops-inline-note{margin-top:12px;color:#475569;font-size:13px;line-height:1.65}\n    #pws-simulador-plataformas .formula-box{margin-top:14px;padding:14px 16px;border-radius:16px;background:#f8fafc;border:1px dashed #cbd5e1;color:#334155;font-size:13px;line-height:1.7}\n    #pws-simulador-plataformas .metric.saving-good{background:#ecfdf5;border-color:#bbf7d0}\n    #pws-simulador-plataformas .metric.saving-good .v{color:#166534}\n    #pws-simulador-plataformas .metric.saving-bad{background:#fff7ed;border-color:#fdba74}\n    #pws-simulador-plataformas .metric.saving-bad .v{color:#c2410c}\n    #pws-simulador-plataformas .compare-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}\n    #pws-simulador-plataformas .compare-card{border-radius:18px;padding:16px;border:1px solid #e5e7eb;background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%)}\n    #pws-simulador-plataformas .compare-card .t{font-size:12px;font-weight:700;color:#64748b;margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}\n    #pws-simulador-plataformas .compare-card .v{font-size:24px;line-height:1.1;font-weight:800;color:#0f172a}\n    #pws-simulador-plataformas .compare-card .s{margin-top:8px;font-size:13px;line-height:1.55;color:#475569}\n    #pws-simulador-plataformas .compare-card.good{background:linear-gradient(135deg,#ecfdf5 0%,#f8fafc 100%);border-color:#bbf7d0}\n    #pws-simulador-plataformas .compare-card.good .v{color:#166534}\n    #pws-simulador-plataformas .compare-card.info{background:linear-gradient(135deg,#eff6ff 0%,#f8fafc 100%);border-color:#bfdbfe}\n    #pws-simulador-plataformas .compare-card.info .v{color:#1d4ed8}\n    #pws-simulador-plataformas .rank-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:999px;background:#0f172a;color:#fff;font-size:12px;font-weight:700;margin-right:8px}\n    #pws-simulador-plataformas .platform-cell strong{display:block}\n    #pws-simulador-plataformas .platform-cell span{display:block;color:#64748b;font-size:12px;line-height:1.45;margin-top:4px}\n    #pws-simulador-plataformas .status-tag{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700}\n    #pws-simulador-plataformas .status-tag.good{background:#dcfce7;color:#166534}\n    #pws-simulador-plataformas .status-tag.warn{background:#ffedd5;color:#c2410c}\n    #pws-simulador-plataformas .status-tag.info{background:#dbeafe;color:#1d4ed8}\n    @media (max-width: 980px){\n      #pws-simulador-plataformas .grid,#pws-simulador-plataformas .grid-3,#pws-simulador-plataformas .metrics,#pws-simulador-plataformas .ops-grid,#pws-simulador-plataformas .result-strip,#pws-simulador-plataformas .compare-strip{grid-template-columns:repeat(2,1fr)}\n    }\n    @media (max-width: 640px){\n      #pws-simulador-plataformas .wrap{padding:16px;border-radius:18px}\n      #pws-simulador-plataformas h2{font-size:27px}\n      #pws-simulador-plataformas .grid,#pws-simulador-plataformas .grid-3,#pws-simulador-plataformas .metrics,#pws-simulador-plataformas .ops-grid,#pws-simulador-plataformas .result-strip,#pws-simulador-plataformas .compare-strip{grid-template-columns:1fr}\n      #pws-simulador-plataformas .actions{flex-direction:column;align-items:stretch}\n      #pws-simulador-plataformas .whats-field{width:100%;min-width:0}\n    }\n  <\/style>\n\n  <div class=\"wrap\">\n    <div class=\"hero\">\n      <div class=\"badge\">Simulador profissional de margem, tributa\u00e7\u00e3o, opera\u00e7\u00e3o e economia log\u00edstica<\/div>\n      <h2>Descubra quanto realmente sobra por venda e quanto sua opera\u00e7\u00e3o pode economizar na expedi\u00e7\u00e3o<\/h2>\n      <p>\n        Simule seu produto com uma l\u00f3gica tribut\u00e1ria mais profissional para venda de mercadorias,\n        compare o resultado entre Mercado Livre, TikTok Shop, Shopify, Loja Integrada, Shopee e Amazon\n        e mostre ao cliente quanto ele gasta hoje com equipe, aluguel e despesas da expedi\u00e7\u00e3o\n        versus um cen\u00e1rio terceirizado com armazenagem por palete, picking e packing.\n      <\/p>\n    <\/div>\n\n    <div class=\"box\">\n      <h3>1. Escolha a plataforma principal<\/h3>\n      <div class=\"muted\">O painel abaixo muda conforme o canal escolhido, mas no fim voc\u00ea ainda v\u00ea o comparativo de todas as plataformas.<\/div>\n      <div class=\"tabs\" id=\"pws_platform_tabs\">\n        <button type=\"button\" class=\"tab-btn active\" data-platform=\"mercadolivre\">Mercado Livre<\/button>\n        <button type=\"button\" class=\"tab-btn\" data-platform=\"tiktok\">TikTok Shop<\/button>\n        <button type=\"button\" class=\"tab-btn\" data-platform=\"shopify\">Shopify<\/button>\n        <button type=\"button\" class=\"tab-btn\" data-platform=\"lojaintegrada\">Loja Integrada<\/button>\n        <button type=\"button\" class=\"tab-btn\" data-platform=\"shopee\">Shopee<\/button>\n        <button type=\"button\" class=\"tab-btn\" data-platform=\"amazon\">Amazon<\/button>\n      <\/div>\n    <\/div>\n\n    <div class=\"box\">\n      <h3>2. Dados gerais do produto<\/h3>\n      <div class=\"muted\">Base comum da simula\u00e7\u00e3o. Este modelo est\u00e1 configurado para venda de mercadorias\/produtos.<\/div>\n\n      <div class=\"grid\">\n        <div>\n          <label>Produto<\/label>\n          <input id=\"pws_produto\" type=\"text\" placeholder=\"Ex: Perfume\">\n        <\/div>\n        <div>\n          <label>Pre\u00e7o de custo (R$)<\/label>\n          <input id=\"pws_custo\" type=\"text\" class=\"money-input\" data-default=\"45\" placeholder=\"Ex: 45,00\">\n        <\/div>\n        <div>\n          <label>Pre\u00e7o de venda (R$)<\/label>\n          <input id=\"pws_venda\" type=\"text\" class=\"money-input\" data-default=\"129.90\" placeholder=\"Ex: 129,90\">\n        <\/div>\n        <div>\n          <label>Meta de lucro l\u00edquido sobre o custo (%)<\/label>\n          <input id=\"pws_meta\" type=\"number\" step=\"0.01\" value=\"30\">\n        <\/div>\n\n        <div>\n          <label>Faturamento mensal estimado do canal (R$)<\/label>\n          <input id=\"pws_fat_mensal\" type=\"text\" class=\"money-input\" data-default=\"100000\" placeholder=\"Ex: 100.000,00\">\n        <\/div>\n        <div>\n          <label>Faturamento anualizado (mensal x 12) (R$)<\/label>\n          <input id=\"pws_fat_anual\" type=\"text\" value=\"R$ 1.200.000,00\" readonly>\n        <\/div>\n        <div>\n          <label>Regime tribut\u00e1rio<\/label>\n          <select id=\"pws_regime\">\n            <option value=\"simples\" selected>Simples Nacional<\/option>\n            <option value=\"presumido\">Lucro Presumido<\/option>\n            <option value=\"real\">Lucro Real<\/option>\n          <\/select>\n        <\/div>\n      <\/div>\n\n      <div class=\"regime-panel active\" id=\"regime_simples\">\n        <div class=\"panel-title\">Tributa\u00e7\u00e3o no Simples Nacional<\/div>\n        <p class=\"panel-text\">\n          O simulador usa o faturamento mensal anualizado para encontrar o RBT12 e calcular a al\u00edquota efetiva do Simples para com\u00e9rcio\/revenda no Anexo I.\n        <\/p>\n        <div class=\"grid-3\">\n          <div>\n            <label>RBT12 anualizado (R$)<\/label>\n            <input id=\"sn_rbt12\" type=\"text\" value=\"R$ 1.200.000,00\" readonly>\n          <\/div>\n          <div>\n            <label>Al\u00edquota efetiva calculada (%)<\/label>\n            <input id=\"sn_aliq_efetiva\" type=\"text\" value=\"0,00%\" readonly>\n          <\/div>\n          <div>\n            <label>Faixa do Anexo I<\/label>\n            <input id=\"sn_faixa\" type=\"text\" value=\"-\" readonly>\n          <\/div>\n        <\/div>\n        <div class=\"blue-note\">\n          Use os campos de ajuste tribut\u00e1rio adicional s\u00f3 se existir algum encargo fora do c\u00e1lculo-base, como ST, DIFAL, FCP, IPI, monof\u00e1sico ou outra particularidade da opera\u00e7\u00e3o.\n        <\/div>\n      <\/div>\n\n      <div class=\"regime-panel\" id=\"regime_presumido\">\n        <div class=\"panel-title\">Tributa\u00e7\u00e3o no Lucro Presumido<\/div>\n        <p class=\"panel-text\">\n          Modelo para com\u00e9rcio: PIS\/COFINS sobre receita, IRPJ e CSLL sobre bases presumidas de com\u00e9rcio e adicional estimado de IRPJ quando houver.\n        <\/p>\n        <div class=\"grid-3\">\n          <div><label>PIS + COFINS sobre receita (%)<\/label><input id=\"lp_piscofins\" type=\"text\" value=\"3,65%\" readonly><\/div>\n          <div><label>IRPJ + CSLL efetivos sobre receita (%)<\/label><input id=\"lp_irpj_csll\" type=\"text\" value=\"2,28%\" readonly><\/div>\n          <div><label>Adicional estimado de IRPJ (%)<\/label><input id=\"lp_adicional\" type=\"text\" value=\"0,00%\" readonly><\/div>\n        <\/div>\n        <div class=\"blue-note\">\n          Importante: neste painel, o campo de <strong>adicional de IRPJ<\/strong> pode ficar em <strong>0,00%<\/strong> sem erro.\n          Isso acontece porque ele mostra apenas o acr\u00e9scimo acima do limite legal. A parcela-base de <strong>IRPJ + CSLL de 2,28%<\/strong> j\u00e1 continua considerada no c\u00e1lculo.\n          No com\u00e9rcio, esse adicional come\u00e7a a aparecer quando a simula\u00e7\u00e3o mensal passa de aproximadamente <strong>R$ 250.000,00<\/strong> de faturamento.\n        <\/div>\n      <\/div>\n\n      <div class=\"regime-panel\" id=\"regime_real\">\n        <div class=\"panel-title\">Tributa\u00e7\u00e3o no Lucro Real<\/div>\n        <p class=\"panel-text\">\n          No Lucro Real, o simulador estima PIS\/COFINS sobre a receita e IRPJ\/CSLL sobre o lucro operacional da simula\u00e7\u00e3o, com adicional de IRPJ quando houver.\n        <\/p>\n        <div class=\"grid-3\">\n          <div><label>PIS + COFINS efetivos sobre receita (%)<\/label><input id=\"lr_piscofins\" type=\"number\" step=\"0.01\" value=\"9.25\"><\/div>\n          <div><label>IRPJ + CSLL sobre lucro (%)<\/label><input id=\"lr_irpj_csll\" type=\"text\" value=\"24,00%\" readonly><\/div>\n          <div><label>Adicional estimado de IRPJ sobre lucro (%)<\/label><input id=\"lr_adicional\" type=\"text\" value=\"0,00%\" readonly><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"platform-panel active\" id=\"tax_adjustments_global\">\n        <div class=\"panel-title\">Ajustes tribut\u00e1rios adicionais<\/div>\n        <p class=\"panel-text\">\n          Use estes campos apenas quando existir algum tributo adicional fora do c\u00e1lculo-base do regime escolhido, como ICMS-ST, DIFAL, FCP, IPI, monof\u00e1sico ou outro ajuste espec\u00edfico.\n        <\/p>\n        <div class=\"grid-3\">\n          <div><label>Ajuste tribut\u00e1rio adicional sobre a venda (%)<\/label><input id=\"tax_extra_pct\" type=\"number\" step=\"0.01\" value=\"0\"><\/div>\n          <div><label>Ajuste tribut\u00e1rio adicional fixo por venda (R$)<\/label><input id=\"tax_extra_fixed\" type=\"text\" class=\"money-input\" data-default=\"0\" placeholder=\"Ex: 0,00\"><\/div>\n          <div><label>Observa\u00e7\u00e3o tribut\u00e1ria<\/label><input id=\"tax_obs\" type=\"text\" value=\"\"><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"box\">\n      <h3>3. Configura\u00e7\u00f5es da plataforma e da opera\u00e7\u00e3o<\/h3>\n      <div class=\"muted\">Cada plataforma tem seus pr\u00f3prios campos e sua pr\u00f3pria din\u00e2mica. A opera\u00e7\u00e3o por pedido tamb\u00e9m \u00e9 separada por canal.<\/div>\n\n      <div class=\"platform-panel active\" id=\"panel_mercadolivre\">\n        <div class=\"panel-title\">Mercado Livre<\/div>\n        <p class=\"panel-text\">Defina o tipo de an\u00fancio e o custo do frete quando a pol\u00edtica de frete gr\u00e1tis for ativada no seu cen\u00e1rio.<\/p>\n        <div class=\"subtabs\" id=\"pws_ml_modes\">\n          <button type=\"button\" class=\"subtab-btn active\" data-pct=\"12\">Cl\u00e1ssico<\/button>\n          <button type=\"button\" class=\"subtab-btn\" data-pct=\"18\">Premium<\/button>\n        <\/div>\n        <div class=\"grid-3\">\n          <div><label>Taxa do an\u00fancio ML (%)<\/label><input id=\"ml_taxa_pct\" type=\"number\" step=\"0.01\" value=\"12\"><\/div>\n          <div><label>Taxa fixa do ML (R$)<\/label><input id=\"ml_taxa_fixa\" type=\"text\" class=\"money-input\" data-default=\"0\" placeholder=\"Ex: 0,00\"><\/div>\n          <div><label>Custo do frete ML quando ativar frete gr\u00e1tis (R$)<\/label><input id=\"ml_frete\" type=\"text\" class=\"money-input\" data-default=\"9.09\" placeholder=\"Ex: 9,09\"><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"platform-panel\" id=\"panel_tiktok\">\n        <div class=\"panel-title\">TikTok Shop<\/div>\n        <p class=\"panel-text\">Deixei um cen\u00e1rio comercial conservador para o TikTok Shop com 12% no percentual do canal e taxa fixa edit\u00e1vel, para facilitar a compara\u00e7\u00e3o com marketplaces e loja pr\u00f3pria.<\/p>\n        <div class=\"grid-3\">\n          <div><label>Taxa total percentual do TikTok (%)<\/label><input id=\"tiktok_taxa_pct\" type=\"number\" step=\"0.01\" value=\"12\"><\/div>\n          <div><label>Taxa fixa do TikTok (R$)<\/label><input id=\"tiktok_taxa_fixa\" type=\"text\" class=\"money-input\" data-default=\"4\" placeholder=\"Ex: 4,00\"><\/div>\n          <div><label>Custo adicional do canal (R$)<\/label><input id=\"tiktok_extra\" type=\"text\" class=\"money-input\" data-default=\"0\" placeholder=\"Ex: 0,00\"><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"platform-panel\" id=\"panel_shopify\">\n        <div class=\"panel-title\">Shopify<\/div>\n        <p class=\"panel-text\">Aqui voc\u00ea separa taxa da plataforma, taxa do cart\u00e3o e o custo estimado do parcelamento sem juros.<\/p>\n        <div class=\"grid\">\n          <div><label>Taxa da plataforma Shopify (%)<\/label><input id=\"shopify_plataforma_pct\" type=\"number\" step=\"0.01\" value=\"0\"><\/div>\n          <div><label>Taxa do cart\u00e3o \u00e0 vista (%)<\/label><input id=\"shopify_cartao_pct\" type=\"number\" step=\"0.01\" value=\"4.99\"><\/div>\n          <div>\n            <label>Parcelas sem juros<\/label>\n            <select id=\"shopify_parcelas\">\n              <option value=\"1\">1x<\/option><option value=\"2\">2x<\/option><option value=\"3\">3x<\/option><option value=\"4\">4x<\/option>\n              <option value=\"5\">5x<\/option><option value=\"6\" selected>6x<\/option><option value=\"7\">7x<\/option><option value=\"8\">8x<\/option>\n              <option value=\"9\">9x<\/option><option value=\"10\">10x<\/option><option value=\"11\">11x<\/option><option value=\"12\">12x<\/option>\n            <\/select>\n          <\/div>\n          <div><label>Estimativa de custo por parcela extra (%)<\/label><input id=\"shopify_parcela_extra_pct\" type=\"number\" step=\"0.01\" value=\"0.65\"><\/div>\n          <div><label>Taxa fixa Shopify (R$)<\/label><input id=\"shopify_taxa_fixa\" type=\"text\" class=\"money-input\" data-default=\"0\" placeholder=\"Ex: 0,00\"><\/div>\n          <div><label>Custo adicional do canal (R$)<\/label><input id=\"shopify_extra\" type=\"text\" class=\"money-input\" data-default=\"0\" placeholder=\"Ex: 0,00\"><\/div>\n          <div><label>Taxa efetiva cart\u00e3o + parcelamento (%)<\/label><input id=\"shopify_cartao_total_pct\" type=\"text\" value=\"4,99%\" readonly><\/div>\n          <div><label>Taxa total do canal (%)<\/label><input id=\"shopify_total_canal_pct\" type=\"text\" value=\"4,99%\" readonly><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"platform-panel\" id=\"panel_lojaintegrada\">\n        <div class=\"panel-title\">Loja Integrada<\/div>\n        <p class=\"panel-text\">Aqui voc\u00ea separa taxa da plataforma, taxa do cart\u00e3o e o custo estimado do parcelamento sem juros.<\/p>\n        <div class=\"grid\">\n          <div><label>Taxa da plataforma Loja Integrada (%)<\/label><input id=\"li_plataforma_pct\" type=\"number\" step=\"0.01\" value=\"0\"><\/div>\n          <div><label>Taxa do cart\u00e3o \u00e0 vista (%)<\/label><input id=\"li_cartao_pct\" type=\"number\" step=\"0.01\" value=\"4.59\"><\/div>\n          <div>\n            <label>Parcelas sem juros<\/label>\n            <select id=\"li_parcelas\">\n              <option value=\"1\">1x<\/option><option value=\"2\">2x<\/option><option value=\"3\">3x<\/option><option value=\"4\">4x<\/option>\n              <option value=\"5\">5x<\/option><option value=\"6\" selected>6x<\/option><option value=\"7\">7x<\/option><option value=\"8\">8x<\/option>\n              <option value=\"9\">9x<\/option><option value=\"10\">10x<\/option><option value=\"11\">11x<\/option><option value=\"12\">12x<\/option>\n            <\/select>\n          <\/div>\n          <div><label>Estimativa de custo por parcela extra (%)<\/label><input id=\"li_parcela_extra_pct\" type=\"number\" step=\"0.01\" value=\"0.65\"><\/div>\n          <div><label>Taxa fixa Loja Integrada (R$)<\/label><input id=\"li_taxa_fixa\" type=\"text\" class=\"money-input\" data-default=\"0\" placeholder=\"Ex: 0,00\"><\/div>\n          <div><label>Custo adicional do canal (R$)<\/label><input id=\"li_extra\" type=\"text\" class=\"money-input\" data-default=\"0\" placeholder=\"Ex: 0,00\"><\/div>\n          <div><label>Taxa efetiva cart\u00e3o + parcelamento (%)<\/label><input id=\"li_cartao_total_pct\" type=\"text\" value=\"4,59%\" readonly><\/div>\n          <div><label>Taxa total do canal (%)<\/label><input id=\"li_total_canal_pct\" type=\"text\" value=\"4,59%\" readonly><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"platform-panel\" id=\"panel_shopee\">\n        <div class=\"panel-title\">Shopee<\/div>\n        <p class=\"panel-text\">Ajuste taxa percentual, taxa fixa e custos extras conforme a sua condi\u00e7\u00e3o de conta.<\/p>\n        <div class=\"grid-3\">\n          <div><label>Taxa da Shopee (%)<\/label><input id=\"shopee_taxa_pct\" type=\"number\" step=\"0.01\" value=\"14\"><\/div>\n          <div><label>Taxa fixa da Shopee (R$)<\/label><input id=\"shopee_taxa_fixa\" type=\"text\" class=\"money-input\" data-default=\"4\" placeholder=\"Ex: 4,00\"><\/div>\n          <div><label>Custo adicional do canal (R$)<\/label><input id=\"shopee_extra\" type=\"text\" class=\"money-input\" data-default=\"0\" placeholder=\"Ex: 0,00\"><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"platform-panel\" id=\"panel_amazon\">\n        <div class=\"panel-title\">Amazon<\/div>\n        <p class=\"panel-text\">Ajuste a comiss\u00e3o conforme a categoria e o custo adicional do canal, se houver.<\/p>\n        <div class=\"grid-3\">\n          <div><label>Comiss\u00e3o Amazon (%)<\/label><input id=\"amazon_taxa_pct\" type=\"number\" step=\"0.01\" value=\"12\"><\/div>\n          <div><label>Taxa fixa Amazon (R$)<\/label><input id=\"amazon_taxa_fixa\" type=\"text\" class=\"money-input\" data-default=\"0\" placeholder=\"Ex: 0,00\"><\/div>\n          <div><label>Custo adicional do canal (R$)<\/label><input id=\"amazon_extra\" type=\"text\" class=\"money-input\" data-default=\"0\" placeholder=\"Ex: 0,00\"><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"platform-panel active\" id=\"op_mercadolivre\" data-op-panel=\"mercadolivre\">\n        <div class=\"panel-title\">Opera\u00e7\u00e3o e fulfillment para Mercado Livre<\/div>\n        <div class=\"grid-3\">\n          <div><label>Separa\u00e7\u00e3o do pedido (R$)<\/label><input id=\"op_mercadolivre_separacao\" type=\"text\" class=\"money-input\" data-default=\"4.50\" placeholder=\"Ex: 4,50\"><\/div>\n          <div><label>Caixa + fita (R$)<\/label><input id=\"op_mercadolivre_embalagem\" type=\"text\" class=\"money-input\" data-default=\"1.50\" placeholder=\"Ex: 1,50\"><\/div>\n          <div><label>Outros custos da opera\u00e7\u00e3o (R$)<\/label><input id=\"op_mercadolivre_outros\" type=\"text\" class=\"money-input\" data-default=\"0\" placeholder=\"Ex: 0,00\"><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"platform-panel\" id=\"op_tiktok\" data-op-panel=\"tiktok\">\n        <div class=\"panel-title\">Opera\u00e7\u00e3o e fulfillment para TikTok Shop<\/div>\n        <div class=\"grid-3\">\n          <div><label>Separa\u00e7\u00e3o do pedido (R$)<\/label><input id=\"op_tiktok_separacao\" type=\"text\" class=\"money-input\" data-default=\"4.50\" placeholder=\"Ex: 4,50\"><\/div>\n          <div><label>Caixa + fita (R$)<\/label><input id=\"op_tiktok_embalagem\" type=\"text\" class=\"money-input\" data-default=\"1.50\" placeholder=\"Ex: 1,50\"><\/div>\n          <div><label>Outros custos da opera\u00e7\u00e3o (R$)<\/label><input id=\"op_tiktok_outros\" type=\"text\" class=\"money-input\" data-default=\"0\" placeholder=\"Ex: 0,00\"><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"platform-panel\" id=\"op_shopify\" data-op-panel=\"shopify\">\n        <div class=\"panel-title\">Opera\u00e7\u00e3o e fulfillment para Shopify<\/div>\n        <div class=\"grid-3\">\n          <div><label>Separa\u00e7\u00e3o do pedido (R$)<\/label><input id=\"op_shopify_separacao\" type=\"text\" class=\"money-input\" data-default=\"4.50\" placeholder=\"Ex: 4,50\"><\/div>\n          <div><label>Caixa + fita (R$)<\/label><input id=\"op_shopify_embalagem\" type=\"text\" class=\"money-input\" data-default=\"1.50\" placeholder=\"Ex: 1,50\"><\/div>\n          <div><label>Outros custos da opera\u00e7\u00e3o (R$)<\/label><input id=\"op_shopify_outros\" type=\"text\" class=\"money-input\" data-default=\"0\" placeholder=\"Ex: 0,00\"><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"platform-panel\" id=\"op_lojaintegrada\" data-op-panel=\"lojaintegrada\">\n        <div class=\"panel-title\">Opera\u00e7\u00e3o e fulfillment para Loja Integrada<\/div>\n        <div class=\"grid-3\">\n          <div><label>Separa\u00e7\u00e3o do pedido (R$)<\/label><input id=\"op_lojaintegrada_separacao\" type=\"text\" class=\"money-input\" data-default=\"4.50\" placeholder=\"Ex: 4,50\"><\/div>\n          <div><label>Caixa + fita (R$)<\/label><input id=\"op_lojaintegrada_embalagem\" type=\"text\" class=\"money-input\" data-default=\"1.50\" placeholder=\"Ex: 1,50\"><\/div>\n          <div><label>Outros custos da opera\u00e7\u00e3o (R$)<\/label><input id=\"op_lojaintegrada_outros\" type=\"text\" class=\"money-input\" data-default=\"0\" placeholder=\"Ex: 0,00\"><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"platform-panel\" id=\"op_shopee\" data-op-panel=\"shopee\">\n        <div class=\"panel-title\">Opera\u00e7\u00e3o e fulfillment para Shopee<\/div>\n        <div class=\"grid-3\">\n          <div><label>Separa\u00e7\u00e3o do pedido (R$)<\/label><input id=\"op_shopee_separacao\" type=\"text\" class=\"money-input\" data-default=\"4.50\" placeholder=\"Ex: 4,50\"><\/div>\n          <div><label>Caixa + fita (R$)<\/label><input id=\"op_shopee_embalagem\" type=\"text\" class=\"money-input\" data-default=\"1.50\" placeholder=\"Ex: 1,50\"><\/div>\n          <div><label>Outros custos da opera\u00e7\u00e3o (R$)<\/label><input id=\"op_shopee_outros\" type=\"text\" class=\"money-input\" data-default=\"0\" placeholder=\"Ex: 0,00\"><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"platform-panel\" id=\"op_amazon\" data-op-panel=\"amazon\">\n        <div class=\"panel-title\">Opera\u00e7\u00e3o e fulfillment para Amazon<\/div>\n        <div class=\"grid-3\">\n          <div><label>Separa\u00e7\u00e3o do pedido (R$)<\/label><input id=\"op_amazon_separacao\" type=\"text\" class=\"money-input\" data-default=\"4.50\" placeholder=\"Ex: 4,50\"><\/div>\n          <div><label>Caixa + fita (R$)<\/label><input id=\"op_amazon_embalagem\" type=\"text\" class=\"money-input\" data-default=\"1.50\" placeholder=\"Ex: 1,50\"><\/div>\n          <div><label>Outros custos da opera\u00e7\u00e3o (R$)<\/label><input id=\"op_amazon_outros\" type=\"text\" class=\"money-input\" data-default=\"0\" placeholder=\"Ex: 0,00\"><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"box\">\n      <h3>4. Resultado da plataforma ativa<\/h3>\n      <div class=\"muted\">Aqui voc\u00ea v\u00ea com mais clareza quanto est\u00e1 vendendo, quanto sobra por venda e se o pre\u00e7o atual realmente sustenta a margem desejada.<\/div>\n\n      <div class=\"result-strip\">\n        <div class=\"result-card info\">\n          <div class=\"t\">Pre\u00e7o de venda atual<\/div>\n          <div class=\"v\" id=\"res_venda_atual\">R$ 0,00<\/div>\n          <div class=\"s\">Receita unit\u00e1ria considerada na simula\u00e7\u00e3o.<\/div>\n        <\/div>\n        <div class=\"result-card good\" id=\"res_card_lucro\">\n          <div class=\"t\">Lucro l\u00edquido por venda<\/div>\n          <div class=\"v\" id=\"res_lucro\">R$ 0,00<\/div>\n          <div class=\"s\" id=\"res_lucro_status\">Valor que sobra depois de canal, tributos e opera\u00e7\u00e3o.<\/div>\n        <\/div>\n        <div class=\"result-card\" id=\"res_card_margem\">\n          <div class=\"t\">Margem l\u00edquida<\/div>\n          <div class=\"v\" id=\"res_margem\">0,00%<\/div>\n          <div class=\"s\" id=\"res_meta_status\">Comparativo com a meta de margem\/lucro da simula\u00e7\u00e3o.<\/div>\n        <\/div>\n        <div class=\"result-card\" id=\"res_card_folga\">\n          <div class=\"t\">Folga sobre o pre\u00e7o m\u00ednimo<\/div>\n          <div class=\"v\" id=\"res_folga\">R$ 0,00<\/div>\n          <div class=\"s\" id=\"res_folga_status\">Diferen\u00e7a entre o pre\u00e7o atual e o m\u00ednimo para n\u00e3o perder dinheiro.<\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"metrics\">\n        <div class=\"metric\"><div class=\"k\">Plataforma<\/div><div class=\"v\" id=\"res_plataforma\">Mercado Livre<\/div><\/div>\n        <div class=\"metric\"><div class=\"k\">Taxa total do canal<\/div><div class=\"v\" id=\"res_taxa_canal\">0,00%<\/div><\/div>\n        <div class=\"metric\"><div class=\"k\">Tributo estimado<\/div><div class=\"v\" id=\"res_tributo\">R$ 0,00<\/div><\/div>\n        <div class=\"metric\"><div class=\"k\">Adicional de IRPJ acima do limite<\/div><div class=\"v\" id=\"res_irpj_add\">0,00%<\/div><\/div>\n        <div class=\"metric\"><div class=\"k\">Custo operacional por pedido<\/div><div class=\"v\" id=\"res_operacao\">R$ 0,00<\/div><\/div>\n        <div class=\"metric\"><div class=\"k\">Pre\u00e7o m\u00ednimo<\/div><div class=\"v\" id=\"res_min\">R$ 0,00<\/div><\/div>\n      <\/div>\n\n      <div class=\"summary\" id=\"resumo_box\">Preencha os dados para gerar a an\u00e1lise.<\/div>\n\n      <div class=\"actions\">\n        <a class=\"btn btn-whats\" id=\"btn_whats\" href=\"https:\/\/wa.me\/5511914192972\" target=\"_blank\" rel=\"noopener\">Quero estruturar minha opera\u00e7\u00e3o<\/a>\n        <button type=\"button\" class=\"btn btn-copy\" id=\"btn_copy\">Copiar resumo<\/button>\n      <\/div>\n    <\/div>\n\n    <div class=\"box\">\n      <h3>5. Comparativo de todas as plataformas<\/h3>\n      <div class=\"muted\">Assim que voc\u00ea informa pre\u00e7o de custo e pre\u00e7o de venda, o comparativo recalcula tudo em tempo real e mostra qual canal deixa mais lucro, melhor margem e menor pre\u00e7o m\u00ednimo para a mesma opera\u00e7\u00e3o.<\/div>\n\n      <div class=\"compare-strip\">\n        <div class=\"compare-card good\">\n          <div class=\"t\">Melhor lucro por venda<\/div>\n          <div class=\"v\" id=\"cmp_best_profit_name\">-<\/div>\n          <div class=\"s\" id=\"cmp_best_profit_text\">Aguardando simula\u00e7\u00e3o.<\/div>\n        <\/div>\n        <div class=\"compare-card info\">\n          <div class=\"t\">Melhor margem l\u00edquida<\/div>\n          <div class=\"v\" id=\"cmp_best_margin_name\">-<\/div>\n          <div class=\"s\" id=\"cmp_best_margin_text\">Aguardando simula\u00e7\u00e3o.<\/div>\n        <\/div>\n        <div class=\"compare-card info\">\n          <div class=\"t\">Menor pre\u00e7o m\u00ednimo<\/div>\n          <div class=\"v\" id=\"cmp_best_min_name\">-<\/div>\n          <div class=\"s\" id=\"cmp_best_min_text\">Aguardando simula\u00e7\u00e3o.<\/div>\n        <\/div>\n        <div class=\"compare-card\" id=\"cmp_gap_card\">\n          <div class=\"t\">Diferen\u00e7a para a melhor op\u00e7\u00e3o<\/div>\n          <div class=\"v\" id=\"cmp_gap_value\">R$ 0,00<\/div>\n          <div class=\"s\" id=\"cmp_gap_text\">A plataforma ativa aparece destacada na tabela.<\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"table-wrap\">\n        <table>\n          <thead>\n            <tr>\n              <th>Ranking<\/th>\n              <th>Plataforma<\/th>\n              <th class=\"num\">Taxa total<\/th>\n              <th class=\"num\">Custo do canal<\/th>\n              <th class=\"num\">Tributo<\/th>\n              <th class=\"num\">Opera\u00e7\u00e3o<\/th>\n              <th class=\"num\">Pre\u00e7o m\u00ednimo<\/th>\n              <th class=\"num\">Pre\u00e7o ideal<\/th>\n              <th class=\"num\">Lucro l\u00edquido<\/th>\n              <th class=\"num\">Margem<\/th>\n              <th>Leitura<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody id=\"compare_body\"><\/tbody>\n        <\/table>\n      <\/div>\n      <div class=\"note\">\n        Comparativo pensado para venda de mercadorias. Ajustes como ST, DIFAL, FCP, IPI, monof\u00e1sico e outras particularidades devem entrar nos campos de ajuste tribut\u00e1rio adicional quando fizerem parte do cen\u00e1rio. As taxas de marketplace, cart\u00e3o e log\u00edstica podem variar por categoria, plano e campanha, ent\u00e3o os campos continuam edit\u00e1veis.\n      <\/div>\n    <\/div>\n\n    <div class=\"box\">\n      <h3>6. Simulador de economia da expedi\u00e7\u00e3o<\/h3>\n      <div class=\"muted\">Mostre ao cliente quanto ele gasta hoje com opera\u00e7\u00e3o pr\u00f3pria e compare com um cen\u00e1rio terceirizado usando armazenagem por palete, picking e packing.<\/div>\n\n      <div class=\"scenario-tabs\" id=\"ops_scenarios\">\n        <button type=\"button\" class=\"scenario-btn active\" data-scenario=\"enxuta\">Simula\u00e7\u00e3o enxuta<\/button>\n        <button type=\"button\" class=\"scenario-btn\" data-scenario=\"crescimento\">Opera\u00e7\u00e3o em crescimento<\/button>\n        <button type=\"button\" class=\"scenario-btn\" data-scenario=\"escala\">Opera\u00e7\u00e3o em escala<\/button>\n      <\/div>\n\n      <div class=\"ops-grid\">\n        <div>\n          <label>Pedidos por m\u00eas<\/label>\n          <input id=\"ops_pedidos\" type=\"number\" min=\"0\" step=\"1\" value=\"1200\">\n        <\/div>\n        <div>\n          <label>M\u00e9dia de unidades por pedido<\/label>\n          <input id=\"ops_unidades\" type=\"number\" min=\"1\" step=\"0.1\" value=\"1.8\">\n        <\/div>\n        <div>\n          <label>Paletes armazenados por m\u00eas<\/label>\n          <input id=\"ops_pallets\" type=\"number\" min=\"0\" step=\"1\" value=\"3\">\n        <\/div>\n        <div>\n          <label>Funcion\u00e1rios na expedi\u00e7\u00e3o<\/label>\n          <input id=\"ops_funcionarios\" type=\"number\" min=\"0\" step=\"1\" value=\"2\">\n        <\/div>\n\n        <div>\n          <label>Sal\u00e1rio bruto por funcion\u00e1rio (R$)<\/label>\n          <input id=\"ops_salario\" type=\"text\" class=\"money-input\" data-default=\"2200\" placeholder=\"Ex: 2.200,00\">\n        <\/div>\n        <div>\n          <label>Encargos CLT estimados (%)<\/label>\n          <input id=\"ops_encargos_pct\" type=\"number\" min=\"0\" step=\"0.01\" value=\"30.64\">\n        <\/div>\n        <div>\n          <label>Benef\u00edcios por funcion\u00e1rio \/ m\u00eas (R$)<\/label>\n          <input id=\"ops_beneficios\" type=\"text\" class=\"money-input\" data-default=\"350\" placeholder=\"Ex: 350,00\">\n        <\/div>\n        <div>\n          <label>Custo mensal por funcion\u00e1rio (R$)<\/label>\n          <input id=\"ops_custo_func\" type=\"text\" value=\"R$ 0,00\" readonly>\n        <\/div>\n\n        <div>\n          <label>Aluguel mensal da opera\u00e7\u00e3o (R$)<\/label>\n          <input id=\"ops_aluguel\" type=\"text\" class=\"money-input\" data-default=\"3500\" placeholder=\"Ex: 3.500,00\">\n        <\/div>\n        <div>\n          <label>Despesas diversas mensais (R$)<\/label>\n          <input id=\"ops_despesas\" type=\"text\" class=\"money-input\" data-default=\"2200\" placeholder=\"Ex: 2.200,00\">\n        <\/div>\n        <div>\n          <label>Custo atual por pedido (R$)<\/label>\n          <input id=\"ops_custo_atual_pedido\" type=\"text\" value=\"R$ 0,00\" readonly>\n        <\/div>\n        <div>\n          <label>Custo legal m\u00ednimo da equipe \/ m\u00eas (R$)<\/label>\n          <input id=\"ops_custo_equipe_mes\" type=\"text\" value=\"R$ 0,00\" readonly>\n        <\/div>\n      <\/div>\n\n      <div class=\"formula-box\">\n        <strong>Base trabalhista usada na simula\u00e7\u00e3o:<\/strong> o custo do funcion\u00e1rio \u00e9 calculado por <strong>sal\u00e1rio bruto + encargos CLT estimados + benef\u00edcios<\/strong>.\n        O percentual vem edit\u00e1vel para voc\u00ea adequar ao cliente, mas j\u00e1 entra com uma base de com\u00e9rcio optante pelo Simples.\n        <br><br>\n        <strong>Regra da terceiriza\u00e7\u00e3o:<\/strong> cada palete armazenado custa <strong>R$ 250,00<\/strong>.\n        Em cada pedido, a primeira unidade custa <strong>R$ 4,00<\/strong> de picking.\n        As unidades adicionais do mesmo pedido custam <strong>R$ 3,00<\/strong> cada de packing.\n        Exemplo: 1 pedido com 1 unidade = R$ 4,00. 1 pedido com 3 unidades = R$ 10,00.\n      <\/div>\n\n      <div class=\"metrics\" style=\"margin-top:18px\">\n        <div class=\"metric\"><div class=\"k\">Opera\u00e7\u00e3o pr\u00f3pria \/ m\u00eas<\/div><div class=\"v\" id=\"ops_res_proprio_mes\">R$ 0,00<\/div><\/div>\n        <div class=\"metric\"><div class=\"k\">Opera\u00e7\u00e3o pr\u00f3pria \/ pedido<\/div><div class=\"v\" id=\"ops_res_proprio_pedido\">R$ 0,00<\/div><\/div>\n        <div class=\"metric\"><div class=\"k\">Fulfillment terceirizado \/ m\u00eas<\/div><div class=\"v\" id=\"ops_res_terceiro_mes\">R$ 0,00<\/div><\/div>\n        <div class=\"metric\"><div class=\"k\">Fulfillment terceirizado \/ pedido<\/div><div class=\"v\" id=\"ops_res_terceiro_pedido\">R$ 0,00<\/div><\/div>\n        <div class=\"metric\"><div class=\"k\">Armazenagem mensal<\/div><div class=\"v\" id=\"ops_res_pallets\">R$ 0,00<\/div><\/div>\n        <div class=\"metric\"><div class=\"k\">Opera\u00e7\u00e3o m\u00e9dia por pedido<\/div><div class=\"v\" id=\"ops_res_operacao_media\">R$ 0,00<\/div><\/div>\n      <\/div>\n\n      <div class=\"metrics\" style=\"margin-top:14px\">\n        <div class=\"metric\" id=\"ops_metric_economia_mes\"><div class=\"k\">Economia mensal estimada<\/div><div class=\"v\" id=\"ops_res_economia_mes\">R$ 0,00<\/div><\/div>\n        <div class=\"metric\" id=\"ops_metric_economia_ano\"><div class=\"k\">Economia anual estimada<\/div><div class=\"v\" id=\"ops_res_economia_ano\">R$ 0,00<\/div><\/div>\n        <div class=\"metric\"><div class=\"k\">Equipe interna liberada<\/div><div class=\"v\" id=\"ops_res_pessoas\">0<\/div><\/div>\n        <div class=\"metric\"><div class=\"k\">Pedidos\/m\u00eas simulados<\/div><div class=\"v\" id=\"ops_res_pedidos\">0<\/div><\/div>\n        <div class=\"metric\"><div class=\"k\">Unidades m\u00e9dias\/pedido<\/div><div class=\"v\" id=\"ops_res_unidades\">0,0<\/div><\/div>\n        <div class=\"metric\"><div class=\"k\">Paletes\/m\u00eas simulados<\/div><div class=\"v\" id=\"ops_res_pallets_qtd\">0<\/div><\/div>\n      <\/div>\n\n      <div class=\"ops-highlight\" id=\"ops_highlight_box\">\n        Preencha os campos para comparar a opera\u00e7\u00e3o interna com a terceiriza\u00e7\u00e3o log\u00edstica.\n      <\/div>\n\n      <div class=\"ops-inline-note\">\n        Al\u00e9m da compara\u00e7\u00e3o financeira, esse bloco ajuda a refor\u00e7ar a narrativa comercial:\n        menos gest\u00e3o de equipe interna, menos estrutura parada, mais padroniza\u00e7\u00e3o de picking e packing\n        e mais agilidade na separa\u00e7\u00e3o para sustentar o crescimento do cliente.\n      <\/div>\n\n      <div class=\"actions\">\n        <a class=\"btn btn-whats\" id=\"btn_ops_whats\" href=\"https:\/\/wa.me\/5511914192972\" target=\"_blank\" rel=\"noopener\">Quero reduzir meu custo log\u00edstico<\/a>\n        <button type=\"button\" class=\"btn btn-copy\" id=\"btn_ops_copy\">Copiar resumo log\u00edstico<\/button>\n      <\/div>\n    <\/div>\n\n  <\/div>\n\n  <script>\n    (function(){\n      const $ = (id) => document.getElementById(id);\n\n      const annexI = [\n        { max: 180000, nominal: 4.00, ded: 0, faixa: 'Faixa 1 - at\u00e9 R$ 180.000,00' },\n        { max: 360000, nominal: 7.30, ded: 5940, faixa: 'Faixa 2 - de R$ 180.000,01 a R$ 360.000,00' },\n        { max: 720000, nominal: 9.50, ded: 13860, faixa: 'Faixa 3 - de R$ 360.000,01 a R$ 720.000,00' },\n        { max: 1800000, nominal: 10.70, ded: 22500, faixa: 'Faixa 4 - de R$ 720.000,01 a R$ 1.800.000,00' },\n        { max: 3600000, nominal: 14.30, ded: 87300, faixa: 'Faixa 5 - de R$ 1.800.000,01 a R$ 3.600.000,00' },\n        { max: 4800000, nominal: 19.00, ded: 378000, faixa: 'Faixa 6 - de R$ 3.600.000,01 a R$ 4.800.000,00' }\n      ];\n\n      let currentPlatform = 'mercadolivre';\n\n      function formatCurrency(value){\n        return new Intl.NumberFormat('pt-BR', { style:'currency', currency:'BRL' }).format(isFinite(value) ? value : 0);\n      }\n\n      function money(value){ return formatCurrency(value); }\n\n      function pct(v){\n        return (isFinite(v) ? v : 0).toFixed(2).replace('.', ',') + '%';\n      }\n\n      function parseBRL(str){\n        if (typeof str !== 'string') return Number(str || 0);\n        let s = str.trim();\n        if (!s) return 0;\n        s = s.replace(\/\\s\/g, '').replace(\/R\\$\/g, '');\n        if (s.includes(',') && s.includes('.')) {\n          s = s.replace(\/\\.\/g, '').replace(',', '.');\n        } else if (s.includes(',')) {\n          s = s.replace(\/\\.\/g, '').replace(',', '.');\n        } else {\n          s = s.replace(\/,\/g, '');\n        }\n        const v = parseFloat(s);\n        return isFinite(v) ? v : 0;\n      }\n\n      function moneyVal(id){\n        return parseBRL($(id).value || '');\n      }\n\n      function num(id){\n        return parseFloat($(id).value || 0);\n      }\n\n      function setupMoneyInputs(){\n        document.querySelectorAll('#pws-simulador-plataformas .money-input').forEach(input => {\n          if (!input.dataset.initialized) {\n            const def = input.getAttribute('data-default');\n            if (def !== null && input.value.trim() === '') {\n              input.value = formatCurrency(parseFloat(def || '0'));\n            }\n            input.addEventListener('focus', function(){\n              const v = parseBRL(this.value || '');\n              this.value = v ? v.toLocaleString('pt-BR', {minimumFractionDigits:2, maximumFractionDigits:2}) : '';\n            });\n            input.addEventListener('blur', function(){\n              const v = parseBRL(this.value || '');\n              this.value = formatCurrency(v);\n              recalcAll();\n            });\n            input.dataset.initialized = '1';\n          }\n        });\n      }\n\n      function annualizedRevenue(){\n        return moneyVal('pws_fat_mensal') * 12;\n      }\n\n      function calcSimplesEffective(rbt12){\n        let faixa = annexI[annexI.length - 1];\n        for (const item of annexI){\n          if (rbt12 <= item.max){\n            faixa = item;\n            break;\n          }\n        }\n        const effective = rbt12 > 0 ? (((rbt12 * (faixa.nominal \/ 100)) - faixa.ded) \/ rbt12) * 100 : 0;\n        return { effective: Math.max(0, effective), faixa: faixa.faixa };\n      }\n\n      function updateCardTotals(){\n        const shopifyTotalCard = num('shopify_cartao_pct') + ((parseInt($('shopify_parcelas').value || '1', 10) - 1) * num('shopify_parcela_extra_pct'));\n        const shopifyCanal = num('shopify_plataforma_pct') + shopifyTotalCard;\n        $('shopify_cartao_total_pct').value = pct(shopifyTotalCard);\n        $('shopify_total_canal_pct').value = pct(shopifyCanal);\n\n        const liTotalCard = num('li_cartao_pct') + ((parseInt($('li_parcelas').value || '1', 10) - 1) * num('li_parcela_extra_pct'));\n        const liCanal = num('li_plataforma_pct') + liTotalCard;\n        $('li_cartao_total_pct').value = pct(liTotalCard);\n        $('li_total_canal_pct').value = pct(liCanal);\n      }\n\n      function updateGlobalDerivedFields(){\n        const anual = annualizedRevenue();\n        $('pws_fat_anual').value = money(anual);\n        $('sn_rbt12').value = money(anual);\n\n        const sn = calcSimplesEffective(anual);\n        $('sn_aliq_efetiva').value = pct(sn.effective);\n        $('sn_faixa').value = sn.faixa;\n\n        const fatMensal = moneyVal('pws_fat_mensal');\n        const lpAdicional = fatMensal > 250000 ? ((((0.08 * fatMensal) - 20000) * 0.10) \/ fatMensal) * 100 : 0;\n        $('lp_adicional').value = pct(Math.max(0, lpAdicional));\n\n        updateCardTotals();\n      }\n\n      function updateRegimePanel(){\n        const regime = $('pws_regime').value;\n        document.querySelectorAll('#pws-simulador-plataformas .regime-panel').forEach(p => p.classList.remove('active'));\n        if (regime === 'simples') $('regime_simples').classList.add('active');\n        if (regime === 'presumido') $('regime_presumido').classList.add('active');\n        if (regime === 'real') $('regime_real').classList.add('active');\n      }\n\n      function activatePlatform(platform){\n        currentPlatform = platform;\n        document.querySelectorAll('#pws_platform_tabs .tab-btn').forEach(btn => {\n          btn.classList.toggle('active', btn.dataset.platform === platform);\n        });\n\n        document.querySelectorAll('#pws-simulador-plataformas .platform-panel').forEach(panel => {\n          if (panel.id === 'tax_adjustments_global') {\n            panel.classList.add('active');\n            return;\n          }\n          panel.classList.remove('active');\n        });\n\n        const mainPanel = $('panel_' + platform);\n        const opPanel = $('op_' + platform);\n        if (mainPanel) mainPanel.classList.add('active');\n        if (opPanel) opPanel.classList.add('active');\n        recalcAll();\n      }\n\n      function getPlatformName(platform){\n        const map = {\n          mercadolivre: 'Mercado Livre',\n          tiktok: 'TikTok Shop',\n          shopify: 'Shopify',\n          lojaintegrada: 'Loja Integrada',\n          shopee: 'Shopee',\n          amazon: 'Amazon'\n        };\n        return map[platform] || 'Plataforma';\n      }\n\n      function getOpCosts(platform){\n        return {\n          separacao: moneyVal('op_' + platform + '_separacao'),\n          embalagem: moneyVal('op_' + platform + '_embalagem'),\n          outros: moneyVal('op_' + platform + '_outros')\n        };\n      }\n\n      function getPlatformConfig(platform){\n        if (platform === 'mercadolivre'){\n          const venda = moneyVal('pws_venda');\n          return {\n            pct: num('ml_taxa_pct'),\n            fixed: moneyVal('ml_taxa_fixa'),\n            extra: 0,\n            frete: venda >= 79.90 ? moneyVal('ml_frete') : 0,\n            note: venda >= 79.90\n              ? 'Frete ML aplicado automaticamente por estar em R$ 79,90 ou mais.'\n              : 'Frete ML autom\u00e1tico ainda n\u00e3o aplicado porque o pre\u00e7o est\u00e1 abaixo de R$ 79,90.'\n          };\n        }\n        if (platform === 'tiktok'){\n          return { pct: num('tiktok_taxa_pct'), fixed: moneyVal('tiktok_taxa_fixa'), extra: moneyVal('tiktok_extra'), frete: 0, note: 'TikTok Shop em cen\u00e1rio comercial conservador: percentual do canal em ' + pct(num('tiktok_taxa_pct')) + ' e taxa fixa de ' + money(moneyVal('tiktok_taxa_fixa')) + '.' };\n        }\n        if (platform === 'shopify'){\n          const totalCard = num('shopify_cartao_pct') + ((parseInt($('shopify_parcelas').value || '1', 10) - 1) * num('shopify_parcela_extra_pct'));\n          return {\n            pct: num('shopify_plataforma_pct') + totalCard,\n            fixed: moneyVal('shopify_taxa_fixa'),\n            extra: moneyVal('shopify_extra'),\n            frete: 0,\n            note: 'Shopify com cart\u00e3o em ' + $('shopify_parcelas').value + 'x sem juros. Taxa total do canal: ' + pct(num('shopify_plataforma_pct') + totalCard) + '.'\n          };\n        }\n        if (platform === 'lojaintegrada'){\n          const totalCard = num('li_cartao_pct') + ((parseInt($('li_parcelas').value || '1', 10) - 1) * num('li_parcela_extra_pct'));\n          return {\n            pct: num('li_plataforma_pct') + totalCard,\n            fixed: moneyVal('li_taxa_fixa'),\n            extra: moneyVal('li_extra'),\n            frete: 0,\n            note: 'Loja Integrada com cart\u00e3o em ' + $('li_parcelas').value + 'x sem juros. Taxa total do canal: ' + pct(num('li_plataforma_pct') + totalCard) + '.'\n          };\n        }\n        if (platform === 'shopee'){\n          return { pct: num('shopee_taxa_pct'), fixed: moneyVal('shopee_taxa_fixa'), extra: moneyVal('shopee_extra'), frete: 0, note: 'Configura\u00e7\u00e3o da Shopee.' };\n        }\n        if (platform === 'amazon'){\n          return { pct: num('amazon_taxa_pct'), fixed: moneyVal('amazon_taxa_fixa'), extra: moneyVal('amazon_extra'), frete: 0, note: 'Configura\u00e7\u00e3o da Amazon.' };\n        }\n        return { pct: 0, fixed: 0, extra: 0, frete: 0, note: '' };\n      }\n\n      function calcByRegime(platform){\n        const produto = $('pws_produto').value || 'Produto';\n        const custo = moneyVal('pws_custo');\n        const venda = moneyVal('pws_venda');\n        const meta = num('pws_meta');\n        const fatMensal = moneyVal('pws_fat_mensal');\n        const regime = $('pws_regime').value;\n\n        const op = getOpCosts(platform);\n        const cfg = getPlatformConfig(platform);\n\n        const taxExtraPct = num('tax_extra_pct');\n        const taxExtraFixed = moneyVal('tax_extra_fixed');\n\n        const custoOperacional = op.separacao + op.embalagem + op.outros + cfg.extra;\n        const fixedNonTaxBase = custo + custoOperacional + cfg.fixed + cfg.frete;\n        const channelPct = cfg.pct;\n        const canalVariavelValor = venda * (channelPct \/ 100);\n        const canalFixoValor = cfg.fixed + cfg.frete;\n        const canalTotalValor = canalVariavelValor + canalFixoValor;\n\n        let tributoValor = 0;\n        let precoMin = 0;\n        let precoIdeal = 0;\n        let lucro = 0;\n        let margem = 0;\n        let regimeTexto = '';\n        let cargaTexto = '';\n        let adicionalIRPJ = 0;\n\n        if (regime === 'simples'){\n          const rbt12 = annualizedRevenue();\n          const sn = calcSimplesEffective(rbt12);\n          const totalRevenueTaxPct = sn.effective + taxExtraPct;\n          const keepRate = 1 - (channelPct \/ 100) - (totalRevenueTaxPct \/ 100);\n\n          tributoValor = (venda * (totalRevenueTaxPct \/ 100)) + taxExtraFixed;\n          precoMin = keepRate > 0 ? (fixedNonTaxBase + taxExtraFixed) \/ keepRate : 0;\n          precoIdeal = keepRate > 0 ? (fixedNonTaxBase + taxExtraFixed + (custo * (meta \/ 100))) \/ keepRate : 0;\n          lucro = venda - fixedNonTaxBase - (venda * (channelPct \/ 100)) - tributoValor;\n          margem = venda > 0 ? (lucro \/ venda) * 100 : 0;\n\n          regimeTexto = 'Simples Nacional \/ Anexo I';\n          cargaTexto = 'Simples efetivo ' + pct(sn.effective) + ((taxExtraPct > 0 || taxExtraFixed > 0) ? ' + ajustes tribut\u00e1rios adicionais' : '');\n        }\n\n        if (regime === 'presumido'){\n          const pisCofins = 3.65;\n          const irpj = 1.20;\n          const csll = 1.08;\n          adicionalIRPJ = fatMensal > 250000 ? ((((0.08 * fatMensal) - 20000) * 0.10) \/ fatMensal) * 100 : 0;\n\n          const totalRevenueTaxPct = pisCofins + irpj + csll + Math.max(0, adicionalIRPJ) + taxExtraPct;\n          const keepRate = 1 - (channelPct \/ 100) - (totalRevenueTaxPct \/ 100);\n\n          tributoValor = (venda * (totalRevenueTaxPct \/ 100)) + taxExtraFixed;\n          precoMin = keepRate > 0 ? (fixedNonTaxBase + taxExtraFixed) \/ keepRate : 0;\n          precoIdeal = keepRate > 0 ? (fixedNonTaxBase + taxExtraFixed + (custo * (meta \/ 100))) \/ keepRate : 0;\n          lucro = venda - fixedNonTaxBase - (venda * (channelPct \/ 100)) - tributoValor;\n          margem = venda > 0 ? (lucro \/ venda) * 100 : 0;\n\n          regimeTexto = 'Lucro Presumido \/ com\u00e9rcio';\n          cargaTexto = 'PIS\/COFINS 3,65% + IRPJ\/CSLL 2,28% + adicional ' + pct(Math.max(0, adicionalIRPJ)) + ((taxExtraPct > 0 || taxExtraFixed > 0) ? ' + ajustes tribut\u00e1rios adicionais' : '');\n        }\n\n        if (regime === 'real'){\n          const pisCofins = num('lr_piscofins');\n          const revenueTaxPct = pisCofins + taxExtraPct;\n          const keepBeforeIncome = 1 - (channelPct \/ 100) - (revenueTaxPct \/ 100);\n          const lucroAntesIR = (venda * keepBeforeIncome) - fixedNonTaxBase - taxExtraFixed;\n          const margemAntesIR = venda > 0 ? (lucroAntesIR \/ venda) : 0;\n          const lucroMensalEstimado = fatMensal * margemAntesIR;\n          adicionalIRPJ = lucroMensalEstimado > 20000 ? (((lucroMensalEstimado - 20000) * 0.10) \/ lucroMensalEstimado) * 100 : 0;\n          const taxaLucro = 24 + Math.max(0, adicionalIRPJ);\n          const fatorDepoisIR = 1 - (taxaLucro \/ 100);\n\n          const impostoReceita = (venda * (revenueTaxPct \/ 100)) + taxExtraFixed;\n          const impostoLucro = Math.max(0, lucroAntesIR) * (taxaLucro \/ 100);\n          tributoValor = impostoReceita + impostoLucro;\n\n          precoMin = keepBeforeIncome > 0 ? (fixedNonTaxBase + taxExtraFixed) \/ keepBeforeIncome : 0;\n          precoIdeal = (keepBeforeIncome > 0 && fatorDepoisIR > 0)\n            ? (fixedNonTaxBase + taxExtraFixed + ((custo * (meta \/ 100)) \/ fatorDepoisIR)) \/ keepBeforeIncome\n            : 0;\n          lucro = lucroAntesIR - impostoLucro;\n          margem = venda > 0 ? (lucro \/ venda) * 100 : 0;\n\n          $('lr_adicional').value = pct(Math.max(0, adicionalIRPJ));\n          regimeTexto = 'Lucro Real \/ estimado';\n          cargaTexto = 'PIS\/COFINS ' + pct(pisCofins) + ' + IRPJ\/CSLL 24% sobre lucro + adicional ' + pct(Math.max(0, adicionalIRPJ)) + ((taxExtraPct > 0 || taxExtraFixed > 0) ? ' + ajustes tribut\u00e1rios adicionais' : '');\n        }\n\n        return {\n          platform,\n          produto,\n          regimeTexto,\n          cargaTexto,\n          custoOperacional,\n          tributoValor,\n          precoMin,\n          precoIdeal,\n          lucro,\n          margem,\n          platformPct: channelPct,\n          canalVariavelValor,\n          canalFixoValor,\n          canalTotalValor,\n          note: cfg.note + ($('tax_obs').value ? ' Ajuste tribut\u00e1rio: ' + $('tax_obs').value + '.' : ''),\n          adicionalIRPJ\n        };\n      }\n\n      function renderActive(result){\n        const produto = $('pws_produto').value || 'Produto';\n        const venda = moneyVal('pws_venda');\n        const meta = num('pws_meta');\n        const folga = venda - result.precoMin;\n        const bateMeta = venda >= result.precoIdeal;\n        const lucroPositivo = result.lucro >= 0;\n\n        $('res_plataforma').textContent = getPlatformName(result.platform);\n        $('res_taxa_canal').textContent = pct(result.platformPct);\n        $('res_tributo').textContent = money(result.tributoValor);\n        $('res_irpj_add').textContent = pct(result.adicionalIRPJ);\n        $('res_operacao').textContent = money(result.custoOperacional);\n        $('res_min').textContent = money(result.precoMin);\n\n        $('res_venda_atual').textContent = money(venda);\n        $('res_lucro').textContent = money(result.lucro);\n        $('res_margem').textContent = pct(result.margem);\n        $('res_folga').textContent = money(folga);\n\n        const cardLucro = $('res_card_lucro');\n        const cardMargem = $('res_card_margem');\n        const cardFolga = $('res_card_folga');\n        [cardLucro, cardMargem, cardFolga].forEach(card => card.classList.remove('good','warn','info'));\n\n        cardLucro.classList.add(lucroPositivo ? 'good' : 'warn');\n        cardMargem.classList.add(bateMeta ? 'good' : 'warn');\n        cardFolga.classList.add(folga >= 0 ? 'good' : 'warn');\n\n        $('res_lucro_status').textContent = lucroPositivo\n          ? 'Sobra real por venda depois dos principais custos simulados.'\n          : 'Neste cen\u00e1rio, a venda fica negativa depois de taxas, tributos e opera\u00e7\u00e3o.';\n\n        $('res_meta_status').textContent = bateMeta\n          ? 'Pre\u00e7o atual j\u00e1 sustenta a meta definida de ' + pct(meta) + ' sobre o custo.'\n          : 'Pre\u00e7o atual ainda n\u00e3o sustenta a meta definida. Pre\u00e7o ideal: ' + money(result.precoIdeal) + '.';\n\n        $('res_folga_status').textContent = folga >= 0\n          ? 'A venda est\u00e1 ' + money(Math.abs(folga)) + ' acima do ponto m\u00ednimo de equil\u00edbrio.'\n          : 'A venda est\u00e1 ' + money(Math.abs(folga)) + ' abaixo do ponto m\u00ednimo.';\n\n        $('resumo_box').innerHTML =\n          '<strong class=\"inline-label\">Plataforma:<\/strong> ' + getPlatformName(result.platform) +\n          '<br><strong class=\"inline-label\">Produto:<\/strong> ' + produto +\n          '<br><strong class=\"inline-label\">Pre\u00e7o de venda atual:<\/strong> ' + money(venda) +\n          '<br><strong class=\"inline-label\">Regime:<\/strong> ' + result.regimeTexto +\n          '<br><strong class=\"inline-label\">Taxa total do canal:<\/strong> ' + pct(result.platformPct) +\n          '<br><strong class=\"inline-label\">Carga tribut\u00e1ria estimada:<\/strong> ' + result.cargaTexto +\n          '<br><strong class=\"inline-label\">Tributo estimado nesta venda:<\/strong> ' + money(result.tributoValor) +\n          '<br><strong class=\"inline-label\">Adicional de IRPJ acima do limite:<\/strong> ' + pct(result.adicionalIRPJ) +\n          '<br><strong class=\"inline-label\">Custo operacional por pedido:<\/strong> ' + money(result.custoOperacional) +\n          '<br><strong class=\"inline-label\">Pre\u00e7o m\u00ednimo estimado:<\/strong> ' + money(result.precoMin) +\n          '<br><strong class=\"inline-label\">Pre\u00e7o ideal para a meta:<\/strong> ' + money(result.precoIdeal) +\n          '<br><strong class=\"inline-label\">Lucro l\u00edquido estimado por venda:<\/strong> ' + money(result.lucro) +\n          '<br><strong class=\"inline-label\">Margem l\u00edquida estimada:<\/strong> ' + pct(result.margem) +\n          '<br><strong class=\"inline-label\">Folga sobre o m\u00ednimo:<\/strong> ' + money(folga) +\n          '<br><strong class=\"inline-label\">Leitura r\u00e1pida:<\/strong> ' + (bateMeta\n            ? 'o pre\u00e7o atual est\u00e1 acima do pre\u00e7o ideal e sustenta a meta definida.'\n            : 'o pre\u00e7o atual ainda n\u00e3o sustenta a meta definida; use o pre\u00e7o ideal como refer\u00eancia comercial.') +\n          '<br><strong class=\"inline-label\">Observa\u00e7\u00e3o do canal:<\/strong> ' + result.note;\n\n        const resumoTexto = [\n          'Resumo da simula\u00e7\u00e3o',\n          'Plataforma: ' + getPlatformName(result.platform),\n          'Produto: ' + produto,\n          'Pre\u00e7o de venda atual: ' + money(venda),\n          'Regime: ' + result.regimeTexto,\n          'Taxa total do canal: ' + pct(result.platformPct),\n          'Carga tribut\u00e1ria estimada: ' + result.cargaTexto,\n          'Tributo estimado nesta venda: ' + money(result.tributoValor),\n          'Adicional de IRPJ acima do limite: ' + pct(result.adicionalIRPJ),\n          'Custo operacional por pedido: ' + money(result.custoOperacional),\n          'Pre\u00e7o m\u00ednimo estimado: ' + money(result.precoMin),\n          'Pre\u00e7o ideal: ' + money(result.precoIdeal),\n          'Lucro l\u00edquido estimado por venda: ' + money(result.lucro),\n          'Margem l\u00edquida: ' + pct(result.margem),\n          'Folga sobre o m\u00ednimo: ' + money(folga),\n          'Leitura r\u00e1pida: ' + (bateMeta ? 'pre\u00e7o atual sustenta a meta.' : 'pre\u00e7o atual ainda n\u00e3o sustenta a meta.'),\n          'Observa\u00e7\u00e3o do canal: ' + result.note\n        ].join('\\\\n');\n\n        $('btn_copy').dataset.text = resumoTexto;\n\n        const whatsapp = '5511914192972';\n        $('btn_whats').href = 'https:\/\/wa.me\/' + whatsapp + '?text=' + encodeURIComponent(\n          'Ol\u00e1, fiz a simula\u00e7\u00e3o no site e quero ajuda para estruturar minha opera\u00e7\u00e3o.\\\\n\\\\n' + resumoTexto\n        );\n      }\n\n      function renderComparison(results){\n        const sorted = results.slice().sort((a,b) => b.lucro - a.lucro);\n        const bestProfit = sorted[0];\n        const bestMargin = results.slice().sort((a,b) => b.margem - a.margem)[0];\n        const bestMin = results.slice().sort((a,b) => a.precoMin - b.precoMin)[0];\n        const active = results.find(r => r.platform === currentPlatform) || sorted[0];\n        const diffBest = bestProfit ? (bestProfit.lucro - active.lucro) : 0;\n\n        $('cmp_best_profit_name').textContent = bestProfit ? getPlatformName(bestProfit.platform) : '-';\n        $('cmp_best_profit_text').textContent = bestProfit ? 'Lucro estimado de ' + money(bestProfit.lucro) + ' por venda.' : 'Aguardando simula\u00e7\u00e3o.';\n        $('cmp_best_margin_name').textContent = bestMargin ? getPlatformName(bestMargin.platform) : '-';\n        $('cmp_best_margin_text').textContent = bestMargin ? 'Margem l\u00edquida estimada de ' + pct(bestMargin.margem) + '.' : 'Aguardando simula\u00e7\u00e3o.';\n        $('cmp_best_min_name').textContent = bestMin ? getPlatformName(bestMin.platform) : '-';\n        $('cmp_best_min_text').textContent = bestMin ? 'Ponto m\u00ednimo em ' + money(bestMin.precoMin) + '.' : 'Aguardando simula\u00e7\u00e3o.';\n        $('cmp_gap_value').textContent = money(diffBest);\n        $('cmp_gap_text').textContent = bestProfit\n          ? (active.platform === bestProfit.platform\n              ? 'A plataforma ativa j\u00e1 \u00e9 a melhor op\u00e7\u00e3o em lucro neste cen\u00e1rio.'\n              : 'A plataforma ativa fica ' + money(diffBest) + ' abaixo da melhor op\u00e7\u00e3o em lucro por venda.')\n          : 'A plataforma ativa aparece destacada na tabela.';\n        $('cmp_gap_card').classList.remove('good','info');\n        $('cmp_gap_card').classList.add(active.platform === (bestProfit && bestProfit.platform) ? 'good' : 'info');\n\n        $('compare_body').innerHTML = sorted\n          .map((r, index) => {\n            const bateMeta = moneyVal('pws_venda') >= r.precoIdeal;\n            const positivo = r.lucro >= 0;\n            const statusClass = positivo ? (bateMeta ? 'good' : 'info') : 'warn';\n            const statusText = positivo\n              ? (bateMeta ? 'Sustenta a meta' : 'Lucro positivo')\n              : 'Pre\u00e7o insuficiente';\n            const note = r.platform === 'tiktok'\n              ? 'Percentual + taxa fixa'\n              : (r.platform === 'mercadolivre'\n                  ? 'Percentual + frete\/regra'\n                  : 'Cart\u00e3o\/marketplace configurado');\n\n            return `\n            <tr class=\"${r.platform === currentPlatform ? 'active-row' : ''}\">\n              <td class=\"num\"><span class=\"rank-badge\">${index + 1}\u00ba<\/span><\/td>\n              <td class=\"platform-cell\"><strong>${getPlatformName(r.platform)}<\/strong><span>${note}<\/span><\/td>\n              <td class=\"num\">${pct(r.platformPct)}<\/td>\n              <td class=\"num\">${money(r.canalTotalValor)}<\/td>\n              <td class=\"num\">${money(r.tributoValor)}<\/td>\n              <td class=\"num\">${money(r.custoOperacional)}<\/td>\n              <td class=\"num\">${money(r.precoMin)}<\/td>\n              <td class=\"num\">${money(r.precoIdeal)}<\/td>\n              <td class=\"num\">${money(r.lucro)}<\/td>\n              <td class=\"num\">${pct(r.margem)}<\/td>\n              <td><span class=\"status-tag ${statusClass}\">${statusText}<\/span><\/td>\n            <\/tr>\n          `}).join('');\n      }\n\n\n      function setMoneyInputValue(id, value){\n        $(id).value = formatCurrency(value);\n      }\n\n      function applyOpsScenario(scenario){\n        const presets = {\n          enxuta: { pedidos: 400, unidades: 1.3, pallets: 1, funcionarios: 1, salario: 2000, encargos: 30.64, beneficios: 250, aluguel: 1500, despesas: 1200 },\n          crescimento: { pedidos: 1200, unidades: 1.8, pallets: 3, funcionarios: 2, salario: 2200, encargos: 30.64, beneficios: 350, aluguel: 3500, despesas: 2200 },\n          escala: { pedidos: 4000, unidades: 2.2, pallets: 6, funcionarios: 4, salario: 2500, encargos: 30.64, beneficios: 450, aluguel: 7000, despesas: 4500 }\n        };\n        const cfg = presets[scenario] || presets.crescimento;\n        $('ops_pedidos').value = cfg.pedidos;\n        $('ops_unidades').value = cfg.unidades;\n        $('ops_pallets').value = cfg.pallets;\n        $('ops_funcionarios').value = cfg.funcionarios;\n        setMoneyInputValue('ops_salario', cfg.salario);\n        $('ops_encargos_pct').value = cfg.encargos;\n        setMoneyInputValue('ops_beneficios', cfg.beneficios);\n        setMoneyInputValue('ops_aluguel', cfg.aluguel);\n        setMoneyInputValue('ops_despesas', cfg.despesas);\n\n        document.querySelectorAll('#ops_scenarios .scenario-btn').forEach(btn => {\n          btn.classList.toggle('active', btn.dataset.scenario === scenario);\n        });\n\n        recalcAll();\n      }\n\n      function calcOpsEconomy(){\n        const pedidos = Math.max(0, parseInt($('ops_pedidos').value || '0', 10) || 0);\n        const unidades = Math.max(1, parseFloat($('ops_unidades').value || '1') || 1);\n        const pallets = Math.max(0, parseFloat($('ops_pallets').value || '0') || 0);\n        const funcionarios = Math.max(0, parseInt($('ops_funcionarios').value || '0', 10) || 0);\n        const salario = moneyVal('ops_salario');\n        const encargosPct = Math.max(0, parseFloat($('ops_encargos_pct').value || '0') || 0);\n        const beneficios = moneyVal('ops_beneficios');\n        const aluguel = moneyVal('ops_aluguel');\n        const despesas = moneyVal('ops_despesas');\n\n        const custoFunc = (salario * (1 + (encargosPct \/ 100))) + beneficios;\n        const custoEquipeMensal = funcionarios * custoFunc;\n        const custoProprioMensal = custoEquipeMensal + aluguel + despesas;\n        const custoProprioPedido = pedidos > 0 ? (custoProprioMensal \/ pedidos) : 0;\n\n        const armazenagemMensal = pallets * 250;\n        const operacaoMediaPedido = 4 + (Math.max(0, unidades - 1) * 3);\n        const custoTerceiroMensal = armazenagemMensal + (pedidos * operacaoMediaPedido);\n        const custoTerceiroPedido = pedidos > 0 ? (custoTerceiroMensal \/ pedidos) : 0;\n\n        const economiaMensal = custoProprioMensal - custoTerceiroMensal;\n        const economiaAnual = economiaMensal * 12;\n\n        return {\n          pedidos,\n          unidades,\n          pallets,\n          funcionarios,\n          salario,\n          encargosPct,\n          beneficios,\n          custoFunc,\n          custoEquipeMensal,\n          custoProprioMensal,\n          custoProprioPedido,\n          armazenagemMensal,\n          operacaoMediaPedido,\n          custoTerceiroMensal,\n          custoTerceiroPedido,\n          economiaMensal,\n          economiaAnual\n        };\n      }\n\n      function renderOpsEconomy(){\n        const r = calcOpsEconomy();\n        $('ops_custo_func').value = money(r.custoFunc);\n        $('ops_custo_equipe_mes').value = money(r.custoEquipeMensal);\n        $('ops_custo_atual_pedido').value = money(r.custoProprioPedido);\n        $('ops_res_proprio_mes').textContent = money(r.custoProprioMensal);\n        $('ops_res_proprio_pedido').textContent = money(r.custoProprioPedido);\n        $('ops_res_terceiro_mes').textContent = money(r.custoTerceiroMensal);\n        $('ops_res_terceiro_pedido').textContent = money(r.custoTerceiroPedido);\n        $('ops_res_pallets').textContent = money(r.armazenagemMensal);\n        $('ops_res_operacao_media').textContent = money(r.operacaoMediaPedido);\n        $('ops_res_economia_mes').textContent = money(r.economiaMensal);\n        $('ops_res_economia_ano').textContent = money(r.economiaAnual);\n        $('ops_res_pessoas').textContent = String(r.funcionarios);\n        $('ops_res_pedidos').textContent = new Intl.NumberFormat('pt-BR').format(r.pedidos);\n        $('ops_res_unidades').textContent = r.unidades.toFixed(1).replace('.', ',');\n        $('ops_res_pallets_qtd').textContent = new Intl.NumberFormat('pt-BR').format(r.pallets);\n\n        const metricMes = $('ops_metric_economia_mes');\n        const metricAno = $('ops_metric_economia_ano');\n        metricMes.classList.remove('saving-good', 'saving-bad');\n        metricAno.classList.remove('saving-good', 'saving-bad');\n\n        const resumoBase = [\n          'Resumo log\u00edstico',\n          'Pedidos por m\u00eas: ' + new Intl.NumberFormat('pt-BR').format(r.pedidos),\n          'M\u00e9dia de unidades por pedido: ' + r.unidades.toFixed(1).replace('.', ','),\n          'Paletes por m\u00eas: ' + new Intl.NumberFormat('pt-BR').format(r.pallets),\n          'Sal\u00e1rio bruto por funcion\u00e1rio: ' + money(r.salario),\n          'Encargos CLT estimados: ' + pct(r.encargosPct),\n          'Benef\u00edcios por funcion\u00e1rio: ' + money(r.beneficios),\n          'Custo mensal por funcion\u00e1rio: ' + money(r.custoFunc),\n          'Custo legal m\u00ednimo da equipe\/m\u00eas: ' + money(r.custoEquipeMensal),\n          'Opera\u00e7\u00e3o pr\u00f3pria\/m\u00eas: ' + money(r.custoProprioMensal),\n          'Opera\u00e7\u00e3o pr\u00f3pria\/pedido: ' + money(r.custoProprioPedido),\n          'Terceiriza\u00e7\u00e3o\/m\u00eas: ' + money(r.custoTerceiroMensal),\n          'Terceiriza\u00e7\u00e3o\/pedido: ' + money(r.custoTerceiroPedido),\n          'Armazenagem mensal: ' + money(r.armazenagemMensal),\n          'Opera\u00e7\u00e3o m\u00e9dia por pedido: ' + money(r.operacaoMediaPedido)\n        ];\n\n        let highlight = '';\n        if (r.economiaMensal >= 0){\n          metricMes.classList.add('saving-good');\n          metricAno.classList.add('saving-good');\n          highlight = '<strong>Economia estimada:<\/strong> ao comparar os custos informados da opera\u00e7\u00e3o pr\u00f3pria com a terceiriza\u00e7\u00e3o, o cliente pode economizar <strong>' + money(r.economiaMensal) + '\/m\u00eas<\/strong> e <strong>' + money(r.economiaAnual) + '\/ano<\/strong>. Nesta leitura, o custo mensal por funcion\u00e1rio foi estimado em <strong>' + money(r.custoFunc) + '<\/strong>, considerando sal\u00e1rio, encargos e benef\u00edcios informados. Al\u00e9m da redu\u00e7\u00e3o de custo, ele tira da estrutura interna a gest\u00e3o de ' + r.funcionarios + ' colaborador(es), aluguel e despesas fixas da expedi\u00e7\u00e3o, ganhando mais agilidade e previsibilidade na separa\u00e7\u00e3o.';\n        } else {\n          metricMes.classList.add('saving-bad');\n          metricAno.classList.add('saving-bad');\n          highlight = '<strong>Neste cen\u00e1rio informado, a terceiriza\u00e7\u00e3o fica<\/strong> ' + money(Math.abs(r.economiaMensal)) + '\/m\u00eas acima do custo atual. Isso normalmente indica que o cliente informou uma opera\u00e7\u00e3o interna muito enxuta, uma folha subestimada ou um volume\/palete acima do cen\u00e1rio ideal. Ajuste os campos para simular a realidade com mais precis\u00e3o.';\n        }\n\n        $('ops_highlight_box').classList.toggle('warn', r.economiaMensal < 0);\n        $('ops_highlight_box').innerHTML = highlight;\n\n        const resumoTexto = resumoBase.concat([\n          'Economia mensal estimada: ' + money(r.economiaMensal),\n          'Economia anual estimada: ' + money(r.economiaAnual)\n        ]).join('\\\\n');\n\n        $('btn_ops_copy').dataset.text = resumoTexto;\n        $('btn_ops_whats').href = 'https:\/\/wa.me\/5511914192972?text=' + encodeURIComponent(\n          'Ol\u00e1, fiz a simula\u00e7\u00e3o log\u00edstica no site e quero estruturar minha expedi\u00e7\u00e3o.\\n\\n' + resumoTexto\n        );\n      }\n\n      function recalcAll(){\n        updateGlobalDerivedFields();\n        updateRegimePanel();\n\n        const results = [\n          calcByRegime('mercadolivre'),\n          calcByRegime('tiktok'),\n          calcByRegime('shopify'),\n          calcByRegime('lojaintegrada'),\n          calcByRegime('shopee'),\n          calcByRegime('amazon')\n        ];\n\n        renderActive(results.find(r => r.platform === currentPlatform) || results[0]);\n        renderComparison(results);\n        renderOpsEconomy();\n      }\n\n      document.querySelectorAll('#pws_platform_tabs .tab-btn').forEach(btn => {\n        btn.addEventListener('click', function(){ activatePlatform(this.dataset.platform); });\n      });\n\n      document.querySelectorAll('#pws_ml_modes .subtab-btn').forEach(btn => {\n        btn.addEventListener('click', function(){\n          document.querySelectorAll('#pws_ml_modes .subtab-btn').forEach(b => b.classList.remove('active'));\n          this.classList.add('active');\n          $('ml_taxa_pct').value = this.dataset.pct || '12';\n          recalcAll();\n        });\n      });\n\n      [\n        'pws_produto','pws_meta','pws_regime',\n        'pws_custo','pws_venda','pws_fat_mensal','tax_extra_fixed',\n        'ml_taxa_fixa','ml_frete','tiktok_taxa_fixa','tiktok_extra',\n        'shopify_taxa_fixa','shopify_extra','li_taxa_fixa','li_extra','shopee_taxa_fixa','shopee_extra','amazon_taxa_fixa','amazon_extra',\n        'op_mercadolivre_separacao','op_mercadolivre_embalagem','op_mercadolivre_outros',\n        'op_tiktok_separacao','op_tiktok_embalagem','op_tiktok_outros',\n        'op_shopify_separacao','op_shopify_embalagem','op_shopify_outros',\n        'op_lojaintegrada_separacao','op_lojaintegrada_embalagem','op_lojaintegrada_outros',\n        'op_shopee_separacao','op_shopee_embalagem','op_shopee_outros',\n        'op_amazon_separacao','op_amazon_embalagem','op_amazon_outros',\n        'lr_piscofins','tax_extra_pct','tax_obs',\n        'ml_taxa_pct','tiktok_taxa_pct',\n        'shopify_plataforma_pct','shopify_cartao_pct','shopify_parcelas','shopify_parcela_extra_pct',\n        'li_plataforma_pct','li_cartao_pct','li_parcelas','li_parcela_extra_pct',\n        'shopee_taxa_pct','amazon_taxa_pct',\n        'ops_pedidos','ops_unidades','ops_pallets','ops_funcionarios','ops_salario','ops_encargos_pct','ops_beneficios','ops_aluguel','ops_despesas'\n      ].forEach(id => {\n        $(id).addEventListener('input', recalcAll);\n        $(id).addEventListener('change', recalcAll);\n      });\n\n\n      document.querySelectorAll('#ops_scenarios .scenario-btn').forEach(btn => {\n        btn.addEventListener('click', function(){\n          applyOpsScenario(this.dataset.scenario);\n        });\n      });\n\n      $('btn_ops_copy').addEventListener('click', function(){\n        const t = this.dataset.text || '';\n        navigator.clipboard.writeText(t).then(() => {\n          const old = this.textContent;\n          this.textContent = 'Resumo log\u00edstico copiado';\n          setTimeout(() => this.textContent = old, 1800);\n        });\n      });\n\n      $('btn_copy').addEventListener('click', function(){\n        const t = this.dataset.text || '';\n        navigator.clipboard.writeText(t).then(() => {\n          const old = this.textContent;\n          this.textContent = 'Resumo copiado';\n          setTimeout(() => this.textContent = old, 1800);\n        });\n      });\n\n      setupMoneyInputs();\n      applyOpsScenario('crescimento');\n      activatePlatform('mercadolivre');\n    })();\n  <\/script>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n    <div class=\"xs_social_share_widget xs_share_url after_content \t\tmain_content  wslu-style-1 wslu-share-box-shaped wslu-fill-colored wslu-none wslu-share-horizontal wslu-theme-font-no wslu-main_content\">\n\n\t\t\n        <ul>\n\t\t\t        <\/ul>\n    <\/div> \n","protected":false},"excerpt":{"rendered":"<p>Simulador profissional de margem, tributa\u00e7\u00e3o, opera\u00e7\u00e3o e economia log\u00edstica Descubra quanto realmente sobra por venda e quanto sua opera\u00e7\u00e3o pode economizar na expedi\u00e7\u00e3o Simule seu produto com uma l\u00f3gica tribut\u00e1ria mais profissional para venda de mercadorias, compare o resultado entre Mercado Livre, TikTok Shop, Shopify, Loja Integrada, Shopee e Amazon e mostre ao cliente quanto [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"postBodyCss":"","postBodyMargin":[],"postBodyPadding":[],"postBodyBackground":{"backgroundType":"classic","gradient":""},"footnotes":""},"class_list":["post-234","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/primewebsolutions.com.br\/index.php?rest_route=\/wp\/v2\/pages\/234","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/primewebsolutions.com.br\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/primewebsolutions.com.br\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/primewebsolutions.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/primewebsolutions.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=234"}],"version-history":[{"count":88,"href":"https:\/\/primewebsolutions.com.br\/index.php?rest_route=\/wp\/v2\/pages\/234\/revisions"}],"predecessor-version":[{"id":413,"href":"https:\/\/primewebsolutions.com.br\/index.php?rest_route=\/wp\/v2\/pages\/234\/revisions\/413"}],"wp:attachment":[{"href":"https:\/\/primewebsolutions.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=234"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}