{"id":1399,"date":"2025-08-14T21:45:40","date_gmt":"2025-08-14T21:45:40","guid":{"rendered":"https:\/\/720degrees.ai\/?page_id=1399"},"modified":"2026-03-11T09:02:31","modified_gmt":"2026-03-11T09:02:31","slug":"regops","status":"publish","type":"page","link":"https:\/\/720degrees.ai\/pt\/ai-use-cases\/regops\/","title":{"rendered":"RegOps"},"content":{"rendered":"<section class=\"section dark\" id=\"section_1962620761\">\n\t\t<div class=\"section-bg fill\" >\n\t\t\t\t\t\t\t\t\t\n\t\t\t\n\n\t\t<\/div>\n\n\t\t\n\n\t\t<div class=\"section-content relative\">\n\t\t\t\n\t<div id=\"gap-1829057434\" class=\"gap-element clearfix\" style=\"display:block; height:auto;\">\n\t\t\n<style>\n#gap-1829057434 {\n  padding-top: 32px;\n}\n<\/style>\n\t<\/div>\n\t\n<div class=\"row\"  id=\"row-327146145\">\n\n\t<div id=\"col-1162014654\" class=\"col medium-5 small-12 large-5\"  >\n\t\t\t\t<div class=\"col-inner text-left\"  >\n\t\t\t\n\t\t\t\n<h1>Anvisa Regulatory Compliance Dashboard<\/h1>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\n<\/div>\n\t\t<\/div>\n\n\t\t\n<style>\n#section_1962620761 {\n  padding-top: 36px;\n  padding-bottom: 36px;\n  background-color: #1d1e21;\n}\n<\/style>\n\t<\/section>\n\t\n\n\t<section class=\"section level-sec\" id=\"section_760301335\">\n\t\t<div class=\"section-bg fill\" >\n\t\t\t\t\t\t\t\t\t\n\t\t\t\n\n\t\t<\/div>\n\n\t\t\n\n\t\t<div class=\"section-content relative\">\n\t\t\t\n<div class=\"row\"  id=\"row-2240770\">\n\n\t<div id=\"col-117263896\" class=\"col small-12 large-12\"  >\n\t\t\t\t<div class=\"col-inner\"  >\n\t\t\t\n\t\t\t\n<div class=\"row\"  id=\"row-236358609\">\n\n\t<div id=\"col-479432934\" class=\"col small-12 large-12\"  >\n\t\t\t\t<div class=\"col-inner\"  >\n\t\t\t\n\t\t\t\n\t<div id=\"text-2607000419\" class=\"text\">\n\t\t\n<h3>Configure Levels<br \/>\n<\/h3>\n\t\t\n<style>\n#text-2607000419 {\n  font-size: 1.15rem;\n  color: rgb(0,0,0);\n}\n#text-2607000419 > * {\n  color: rgb(0,0,0);\n}\n<\/style>\n\t<\/div>\n\t\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\n<\/div>\n    <style>\r\n        .show-admin.hidden-admin {\r\n            display: none !important;\r\n        }\r\n        .hidden-admin {\r\n            display: none !important;\r\n        }\r\n    <\/style>\r\n\r\n    <div class=\"level-sec\">\r\n        <table id=\"settings-table\" style=\"width: 100%; border-collapse: collapse; margin-bottom: 20px;\">\r\n            <thead>\r\n                <tr style=\"background: #f0f0f0;\">\r\n                    <th style=\"padding: 10px;\">Level<\/th>\r\n                    <th style=\"padding: 10px;\">Email<\/th>\r\n                    <th style=\"padding: 10px;\">Timeframe<\/th>\r\n                    <th style=\"padding: 10px;\">Frequency<\/th>\r\n                <\/tr>\r\n            <\/thead>\r\n            <tbody>\r\n                                    <tr>\r\n                        <td>\r\n                            <select class=\"level\" style=\"width: 100%; padding: 5px;\">\r\n                                <option value=\"Level1 - Normal\">Level1 - Normal<\/option>\r\n                                <option value=\"Level2 - Escalated\">Level2 - Escalated<\/option>\r\n                                <option value=\"Level3 - Critical\">Level3 - Critical<\/option>\r\n                            <\/select>\r\n                        <\/td>\r\n                        <td>\r\n                            <input type=\"email\" class=\"email\" style=\"width: 100%; padding: 5px;\" placeholder=\"email@domain.com\">\r\n                        <\/td>\r\n                        <td>\r\n                            <select class=\"timeframe\" style=\"width: 100%; padding: 5px;\">\r\n                                <option value=\"9 Months\">9 Months<\/option>\r\n                                <option value=\"6 Months\">6 Months<\/option>\r\n                                <option value=\"3 Months\">3 Months<\/option>\r\n                            <\/select>\r\n                        <\/td>\r\n                        <td>\r\n                            <select class=\"frequency\" style=\"width: 100%; padding: 5px;\">\r\n                                <option value=\"Daily\">Daily<\/option>\r\n                                <option value=\"Weekly\">Weekly<\/option>\r\n                                <option value=\"Monthly\">Monthly<\/option>\r\n                            <\/select>\r\n                        <\/td>\r\n                    <\/tr>\r\n                                    <tr>\r\n                        <td>\r\n                            <select class=\"level\" style=\"width: 100%; padding: 5px;\">\r\n                                <option value=\"Level1 - Normal\">Level1 - Normal<\/option>\r\n                                <option value=\"Level2 - Escalated\">Level2 - Escalated<\/option>\r\n                                <option value=\"Level3 - Critical\">Level3 - Critical<\/option>\r\n                            <\/select>\r\n                        <\/td>\r\n                        <td>\r\n                            <input type=\"email\" class=\"email\" style=\"width: 100%; padding: 5px;\" placeholder=\"email@domain.com\">\r\n                        <\/td>\r\n                        <td>\r\n                            <select class=\"timeframe\" style=\"width: 100%; padding: 5px;\">\r\n                                <option value=\"9 Months\">9 Months<\/option>\r\n                                <option value=\"6 Months\">6 Months<\/option>\r\n                                <option value=\"3 Months\">3 Months<\/option>\r\n                            <\/select>\r\n                        <\/td>\r\n                        <td>\r\n                            <select class=\"frequency\" style=\"width: 100%; padding: 5px;\">\r\n                                <option value=\"Daily\">Daily<\/option>\r\n                                <option value=\"Weekly\">Weekly<\/option>\r\n                                <option value=\"Monthly\">Monthly<\/option>\r\n                            <\/select>\r\n                        <\/td>\r\n                    <\/tr>\r\n                                    <tr>\r\n                        <td>\r\n                            <select class=\"level\" style=\"width: 100%; padding: 5px;\">\r\n                                <option value=\"Level1 - Normal\">Level1 - Normal<\/option>\r\n                                <option value=\"Level2 - Escalated\">Level2 - Escalated<\/option>\r\n                                <option value=\"Level3 - Critical\">Level3 - Critical<\/option>\r\n                            <\/select>\r\n                        <\/td>\r\n                        <td>\r\n                            <input type=\"email\" class=\"email\" style=\"width: 100%; padding: 5px;\" placeholder=\"email@domain.com\">\r\n                        <\/td>\r\n                        <td>\r\n                            <select class=\"timeframe\" style=\"width: 100%; padding: 5px;\">\r\n                                <option value=\"9 Months\">9 Months<\/option>\r\n                                <option value=\"6 Months\">6 Months<\/option>\r\n                                <option value=\"3 Months\">3 Months<\/option>\r\n                            <\/select>\r\n                        <\/td>\r\n                        <td>\r\n                            <select class=\"frequency\" style=\"width: 100%; padding: 5px;\">\r\n                                <option value=\"Daily\">Daily<\/option>\r\n                                <option value=\"Weekly\">Weekly<\/option>\r\n                                <option value=\"Monthly\">Monthly<\/option>\r\n                            <\/select>\r\n                        <\/td>\r\n                    <\/tr>\r\n                            <\/tbody>\r\n        <\/table>\r\n\r\n        <button id=\"update-settings-btn\" style=\"    color: white;    border: none;    border-radius: 5px;    cursor: pointer;    background-image: linear-gradient(45deg, #5e9d56, #48723c);\">\r\n            Update Settings\r\n        <\/button>\r\n    <\/div>\r\n\r\n   <script>\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n  \/\/ esconde a se\u00e7\u00e3o .show-admin ao carregar\r\n  document.querySelector('.show-admin')?.classList.add('hidden-admin');\r\n\r\n  document.getElementById(\"update-settings-btn\")?.addEventListener(\"click\", function () {\r\n    const emails = document.querySelectorAll(\".email\");\r\n    let allFilled = true;\r\n\r\n    emails.forEach(function (input) {\r\n      if (input.value.trim() === \"\") {\r\n        allFilled = false;\r\n      }\r\n    });\r\n\r\n    if (!allFilled) {\r\n      alert(\"Please fill in all email fields.\");\r\n      return;\r\n    }\r\n\r\n    \/\/ esconde o bloco de configura\u00e7\u00e3o e mostra a se\u00e7\u00e3o .show-admin\r\n    document.querySelector(\".level-sec\")?.classList.add('hidden-admin');\r\n    document.querySelector(\".show-admin\")?.classList.remove('hidden-admin'); \/\/ <-- mesmo nome\r\n  });\r\n});\r\n<\/script>\r\n\r\n    \n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\n<\/div>\n\t\t<\/div>\n\n\t\t\n<style>\n#section_760301335 {\n  padding-top: 30px;\n  padding-bottom: 30px;\n  background-color: rgb(255, 255, 255);\n}\n<\/style>\n\t<\/section>\n\t\n\n\r\n<section class=\"section show-admin\" id=\"section_759690291\">\r\n  <div class=\"section-bg fill\"><\/div>\r\n  <div class=\"section-content relative\">\r\n    <div class=\"row\" id=\"row-1871909879\">\r\n      <div id=\"col-1505501824\" class=\"col medium-3 small-12 large-3\">\r\n        <div class=\"col-inner\">\r\n          <div id=\"text-4056572980\" class=\"text uppercase\">\r\n            <p>Last Update: 24\/06\/2026<\/p>\r\n            <style>#text-4056572980{font-size:.75rem}<\/style>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- ===== CARDS ===== -->\r\n    <div class=\"row\" id=\"row-1901625792\">\r\n      <!-- Total processes -->\r\n      <div id=\"col-1213489705\" class=\"col medium-3 small-6 large-3\" data-animate=\"blurIn\" data-animate-transform=\"true\" data-animate-transition=\"true\" data-animated=\"true\">\r\n        <div class=\"col-inner text-center box-shadow-5 box-shadow-5-hover\" style=\"background-color:#fff;\">\r\n          <div class=\"is-border\" style=\"border-color:rgb(7,118,188);border-radius:10px;border-width:0 0 6px 0;\"><\/div>\r\n          <div id=\"text-3229381614\" class=\"text\"><h2>Total processes<\/h2>\r\n            <style>#text-3229381614{font-size:.75rem;color:#000}#text-3229381614>*{color:#000}<\/style>\r\n          <\/div>\r\n          <div id=\"text-2879941857\" class=\"text strong\">\r\n            <p style=\"margin:0\">0              <style>\r\n              #text-2879941857{font-size:1.25rem;color:#000}#text-2879941857>*{color:#000}\r\n              @media(min-width:550px){#text-2879941857{font-size:2.75rem}}\r\n              <\/style>\r\n            <\/p>\r\n          <\/div>\r\n        <\/div>\r\n        <style>\r\n        #col-1213489705>.col-inner{padding:20px 8px 24px 8px;border-radius:11px}\r\n        @media(min-width:550px){#col-1213489705>.col-inner{padding:20px 8px 8px 8px}}\r\n        <\/style>\r\n      <\/div>\r\n\r\n      <!-- No action required -->\r\n      <div id=\"col-1390005150\" class=\"col medium-3 small-6 large-3\" data-animate=\"blurIn\" data-animate-transform=\"true\" data-animate-transition=\"true\" data-animated=\"true\">\r\n        <div class=\"col-inner text-center box-shadow-5 box-shadow-5-hover\" style=\"background-color:#fff;\">\r\n          <div class=\"is-border\" style=\"border-color:#07bcbc;border-radius:10px;border-width:0 0 6px 0;\"><\/div>\r\n          <div id=\"text-1989775333\" class=\"text\"><h2>No action required<\/h2>\r\n            <style>#text-1989775333{font-size:.75rem;color:#000}#text-1989775333>*{color:#000}<\/style>\r\n          <\/div>\r\n          <div id=\"text-4229865208\" class=\"text strong\">\r\n            <p style=\"margin:0\">0%\r\n              <style>\r\n              #text-4229865208{font-size:1.25rem;color:#000}#text-4229865208>*{color:#000}\r\n              @media(min-width:550px){#text-4229865208{font-size:2.75rem}}\r\n              <\/style>\r\n            <\/p>\r\n          <\/div>\r\n        <\/div>\r\n        <style>\r\n        #col-1390005150>.col-inner{padding:20px 8px 24px 8px;border-radius:11px}\r\n        @media(min-width:550px){#col-1390005150>.col-inner{padding:20px 8px 8px 8px}}\r\n        <\/style>\r\n      <\/div>\r\n\r\n      <!-- Expiring Soon -->\r\n      <div id=\"col-4409919\" class=\"col medium-3 small-6 large-3\" data-animate=\"blurIn\" data-animate-transform=\"true\" data-animate-transition=\"true\" data-animated=\"true\">\r\n        <div class=\"col-inner text-center box-shadow-5 box-shadow-5-hover\" style=\"background-color:#fff;\">\r\n          <div class=\"is-border\" style=\"border-color:rgb(228,166,16);border-radius:10px;border-width:0 0 6px 0;\"><\/div>\r\n          <div id=\"text-2231921346\" class=\"text\"><h2>Expiring Soon<\/h2>\r\n            <style>#text-2231921346{font-size:.75rem;color:#000}#text-2231921346>*{color:#000}<\/style>\r\n          <\/div>\r\n          <div id=\"text-105732763\" class=\"text strong\">\r\n            <p style=\"margin:0\">0              <style>\r\n              #text-105732763{font-size:1.25rem;color:#000}#text-105732763>*{color:#000}\r\n              @media(min-width:550px){#text-105732763{font-size:2.75rem}}\r\n              <\/style>\r\n            <\/p>\r\n          <\/div>\r\n        <\/div>\r\n        <style>\r\n        #col-4409919>.col-inner{padding:20px 8px 24px 8px;border-radius:11px}\r\n        @media(min-width:550px){#col-4409919>.col-inner{padding:20px 8px 8px 8px}}\r\n        <\/style>\r\n      <\/div>\r\n\r\n      <!-- Pending action -->\r\n      <div id=\"col-780362172\" class=\"col medium-3 small-6 large-3\" data-animate=\"blurIn\" data-animate-transform=\"true\" data-animate-transition=\"true\" data-animated=\"true\">\r\n        <div class=\"col-inner text-center box-shadow-5 box-shadow-5-hover\" style=\"background-color:#fff;\">\r\n          <div class=\"is-border\" style=\"border-color:rgb(188,65,7);border-radius:10px;border-width:0 0 6px 0;\"><\/div>\r\n          <div id=\"text-2616778869\" class=\"text\"><h2>Pending action<\/h2>\r\n            <style>#text-2616778869{font-size:.75rem;color:#000}#text-2616778869>*{color:#000}<\/style>\r\n          <\/div>\r\n          <div id=\"text-4219119358\" class=\"text strong\">\r\n            <p style=\"margin:0\">0              <style>\r\n              #text-4219119358{font-size:.95rem;color:#000}#text-4219119358>*{color:#000}\r\n              @media(min-width:550px){#text-4219119358{font-size:2.75rem}}\r\n              <\/style>\r\n            <\/p>\r\n          <\/div>\r\n        <\/div>\r\n        <style>\r\n        #col-780362172>.col-inner{padding:20px 8px 24px 8px;border-radius:11px}\r\n        @media(min-width:550px){#col-780362172>.col-inner{padding:20px 8px 8px 8px}}\r\n        <\/style>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div id=\"gap-335163846\" class=\"gap-element clearfix\" style=\"display:block;height:auto;\">\r\n      <style>#gap-335163846{padding-top:40px}<\/style>\r\n    <\/div>\r\n\r\n    <!-- ===== ANVISA (MED) ===== -->\r\n    <div class=\"row\" id=\"row-1802268464\">\r\n      <div id=\"col-1561803511\" class=\"col small-12 large-12\"><div class=\"col-inner\">\r\n        <div id=\"text-917896702\" class=\"text\"><h3>Product compliance tracker<\/h3>\r\n          <style>#text-917896702{font-size:1.15rem;color:#000}#text-917896702>*{color:#000}<\/style>\r\n        <\/div>\r\n      <\/div><\/div>\r\n    <\/div>\r\n\r\n    <div class=\"row align-middle\" id=\"row-349952250\">\r\n      <div id=\"col-1913642550\" class=\"col medium-9 small-12 large-9\">\r\n        <div class=\"col-inner\">\r\n          <div id=\"gap-1082983329\" class=\"gap-element clearfix\" style=\"display:block;height:auto;\">\r\n            <style>#gap-1082983329{padding-top:19px}<\/style>\r\n          <\/div>\r\n\r\n          <div class=\"product-table\">\r\n            <div style=\"margin-bottom:20px;display:flex;gap:15px;align-items:center;\">\r\n              <select class=\"status-select\" id=\"anvisaStatusFilter\" style=\"padding:10px;border-radius:5px;height:50px;width:40%;\">\r\n                <option value=\"\">Show all<\/option><option value=\"Valid\">Valid<\/option><option value=\"Expiring\">Expiring<\/option><option value=\"Expired\">Expired<\/option>\r\n              <\/select>\r\n            <\/div>\r\n\r\n            <div id=\"anvisa-loading\" style=\"display:flex;justify-content:center;margin:50px 0;\">\r\n              <div class=\"dot-loader\"><span><\/span><span><\/span><span><\/span><\/div>\r\n            <\/div>\r\n\r\n            <div id=\"anvisa-table-container\" class=\"overlay-table\" style=\"overflow-x:auto; display:none;\">\r\n              <table id=\"anvisa-tabela\" style=\"width:100%; border-spacing:5px 15px; margin-top:20px; margin-left:-5px;\">\r\n                <thead>\r\n                  <tr style=\"background:white;\">\r\n                    <th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;\">Status<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;\">ProductName<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;\">MatrixUpdateAlert<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;\">MatrixUpdateAlertDate<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;\">RegularizationNumber<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;\">RegularizationDate<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;\">RegularizationDueDate<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;\">CNPJ<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;\">CaseNumber<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;\">ActiveIngredient<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;\">Packaging<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;\">ManufacturingLocation<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;\">RouteofAdministration<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;\">Conservation<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;\">PrescriptionRestriction<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;\">Restrictionofuse<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;\">RegularizationExpirationAlert<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;\">CloneDetails<\/th>                  <\/tr>\r\n                <\/thead>\r\n                <tbody>\r\n                                  <\/tbody>\r\n              <\/table>\r\n            <\/div>\r\n\r\n            <!-- Lightbox MED -->\r\n            <div id=\"anvisa-lightbox-modal\" style=\"display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(255,255,255,0.15);z-index:9999;align-items:center;justify-content:center;backdrop-filter:blur(4px);\">\r\n              <div style=\"background:#1c0f34b5;padding:20px;border-radius:10px;max-width:600px;max-height:80%;overflow:auto;position:relative;backdrop-filter:blur(8px);color:#fff;\">\r\n                <span id=\"anvisa-lightbox-close\" style=\"position:absolute;top:10px;right:15px;cursor:pointer;font-size:18px;\">\u00d7<\/span>\r\n                <div id=\"anvisa-lightbox-content\" style=\"white-space:pre-wrap;font-size:16px;\"><\/div>\r\n              <\/div>\r\n            <\/div>\r\n\r\n          <\/div><!-- \/product-table -->\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- Gr\u00e1fico Pizza -->\r\n      <div id=\"col-860848330\" class=\"col medium-3 small-12 large-3\">\r\n        <div class=\"col-inner\">\r\n          <canvas id=\"graficoAnvisa\" width=\"550\" height=\"550\" style=\"display:block;box-sizing:border-box;height:275px;width:275px;\"><\/canvas>\r\n          <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\r\n          <script>\r\n          document.addEventListener(\"DOMContentLoaded\", function () {\r\n            const ctx = document.getElementById('graficoAnvisa').getContext('2d');\r\n            new Chart(ctx, {\r\n              type: 'doughnut',\r\n              data: {\r\n                labels: ['Valid', 'Expiring', 'Expired'],\r\n                datasets: [{\r\n                  label: 'Status dos Produtos',\r\n                  data: [0, 0, 0],\r\n                  backgroundColor: ['#4da56b','#ffc107','#bc4107'],\r\n                  borderColor: '#e6e9e6',\r\n                  borderWidth: 1\r\n                }]\r\n              },\r\n              options: { animation: { animateScale: true } }\r\n            });\r\n          });\r\n          <\/script>\r\n\t\t\t\r\n\t\t\t<script>\r\ndocument.addEventListener('DOMContentLoaded', function () {\r\n  \/\/ Descobre o \u00edndice da coluna \"CloneDetails\"\r\n  const ths = document.querySelectorAll('#anvisa-tabela thead th');\r\n  let cloneCol = -1;\r\n  ths.forEach((th, i) => {\r\n    if (th.innerText.trim().toLowerCase() === 'clonedetails') cloneCol = i;\r\n  });\r\n  if (cloneCol === -1) return;\r\n\r\n  \/\/ Para cada linha, tenta parsear o JSON e formatar bonito\r\n  document.querySelectorAll('#anvisa-tabela tbody tr').forEach((tr) => {\r\n    const td = tr.children[cloneCol];\r\n    if (!td) return;\r\n\r\n    const raw = td.getAttribute('data-fulltext') || td.textContent;\r\n    try {\r\n      const obj = typeof raw === 'string' ? JSON.parse(raw) : raw;\r\n      const clones = Array.isArray(obj?.Clones) ? obj.Clones : [];\r\n\r\n      \/\/ HTML de \"chips\" com link\r\n      const html = clones.length\r\n        ? clones.map((c) => {\r\n            const name = c?.Name || '\u2014';\r\n            const proc = c?.['Process Number'] || '';\r\n            const url  = c?.['Clone URL'] || '#';\r\n            return `<a href=\"${url}\" target=\"_blank\" rel=\"noopener\"\r\n                      style=\"display:inline-block;margin:2px 4px;padding:4px 8px;color: #8c918e;\r\n                             \r\n                             text-decoration:none;white-space:nowrap;\">\r\n                      ${name}${proc ? ` <small>(${proc})<\/small>` : ''}\r\n                    <\/a>`;\r\n          }).join('')\r\n        : '<span style=\"opacity:.7\">No clones<\/span>';\r\n\r\n      \/\/ Mostra chips na c\u00e9lula (sem retic\u00eancias)\r\n      td.style.whiteSpace = 'normal';\r\n      td.style.maxWidth = 'unset';\r\n      td.style.overflow = 'visible';\r\n      td.innerHTML = html;\r\n\r\n      \/\/ Texto bonito pro lightbox\r\n      const pretty = clones.length\r\n        ? clones.map(c => `\u2022 ${c?.Name || '\u2014'} \u2014 ${c?.['Process Number'] || ''}\r\n${c?.['Clone URL'] || ''}`).join('\\n\\n')\r\n        : (obj?.Clone || 'No clones');\r\n\r\n      td.setAttribute('data-fulltext', pretty);\r\n    } catch (e) {\r\n      \/\/ Se n\u00e3o for JSON v\u00e1lido, deixa como est\u00e1\r\n    }\r\n  });\r\n});\r\n<\/script>\r\n\r\n        <\/div>\r\n      <\/div>\r\n    <\/div><!-- \/row-349952250 -->\r\n\r\n    <!-- ===== GMP ===== -->\r\n    <div class=\"row\" id=\"row-1041587488\">\r\n      <div id=\"col-986848092\" class=\"col small-12 large-12\"><div class=\"col-inner\">\r\n\r\n        <div class=\"row\" id=\"row-857026681\">\r\n          <div id=\"col-1435934480\" class=\"col small-12 large-12\"><div class=\"col-inner\">\r\n            <div id=\"text-1585564451\" class=\"text\"><h3>GMP Dashboard<\/h3>\r\n              <style>#text-1585564451{font-size:1.15rem;color:#1c0f34}#text-1585564451>*{color:#1c0f34}<\/style>\r\n            <\/div>\r\n          <\/div><\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-bottom:20px;display:flex;gap:15px;align-items:center;\">\r\n          <select id=\"statusFilter\" style=\"padding:10px;border-radius:5px;\">\r\n            <option value=\"\">Show all<\/option>\r\n            <option value=\"Valid\">Valid<\/option>\r\n            <option value=\"Expired\">Expired<\/option>\r\n          <\/select>\r\n        <\/div>\r\n\r\n        <div id=\"gmp-loading\" style=\"display:flex;justify-content:center;margin:50px 0;\">\r\n          <div class=\"dot-loader\"><span><\/span><span><\/span><span><\/span><\/div>\r\n        <\/div>\r\n\r\n        <div id=\"gmp-table-container\" class=\"overlay-table\" style=\"overflow-x:auto; display:none;\">\r\n          <table id=\"gmp-tabela\" style=\"width:100%; border-spacing:5px 15px; margin-top:20px; margin-left:-5px;\">\r\n            <thead><tr style=\"background:white;\">\r\n              <th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;color:black;\">Status<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;color:black;\">GMP certificate Expiration Alert<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;color:black;\">Certified Company<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;color:black;\">Expiration Date<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;color:black;\">Publication Date<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;color:black;\">Code. Unique \/ Certified CNPJ<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;color:black;\">Certified Company Address<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;color:black;\">Country<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;color:black;\">Requesting Company<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;color:black;\">CNPJ (Requesting Company)<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;color:black;\">Requesting Company Address<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;color:black;\">City \/ State<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;color:black;\">Subject<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;color:black;\">Certificate Type<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;color:black;\">Date of Resolution<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;color:black;\">Resolution<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;color:black;\">Certificate Issued by<\/th><th style=\"padding:15px;border-radius:10px;background:white;border:1px solid #ccc;color:black;\">N.DOU<\/th>            <\/tr><\/thead>\r\n            <tbody>\r\n                          <\/tbody>\r\n          <\/table>\r\n        <\/div>\r\n\r\n        <!-- Lightbox GMP -->\r\n        <div id=\"lightbox-modal\" style=\"display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgb(255 255 255 \/ 15%);z-index:9999;align-items:center;justify-content:center;backdrop-filter:blur(4px);\">\r\n          <div style=\"background:#1c0f34b5;padding:20px;border-radius:10px;max-width:600px;max-height:80%;overflow:auto;position:relative;backdrop-filter:blur(8px);color:#fff;\">\r\n            <span id=\"lightbox-close\" style=\"position:absolute;top:10px;right:15px;cursor:pointer;font-size:18px;\">\u00d7<\/span>\r\n            <div id=\"lightbox-content\" style=\"white-space:pre-wrap;font-size:16px;\"><\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n      <\/div><\/div>\r\n    <\/div>\r\n\r\n    <!-- ===== Chat iFrame ===== -->\r\n    <div class=\"row\" id=\"row-1222939942\">\r\n      <div id=\"col-1253841823\" class=\"col small-12 large-12\">\r\n        <div class=\"col-inner\">\r\n          <p class=\"has-block\">\r\n            <iframe loading=\"lazy\" src=\"https:\/\/www.chatbase.co\/chatbot-iframe\/RYEr8CrawDt6OplYLPwE1\" width=\"100%\" height=\"400\" frameborder=\"0\" style=\"border-radius:20px;border:none;box-shadow:0px 8px 20px #00000005;\"><\/iframe>\r\n          <\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div><!-- \/section-content -->\r\n\r\n  <style>\r\n  #section_759690291{padding-top:61px;padding-bottom:61px;background-color:#e7e8e7}\r\n  .dot-loader{display:inline-flex;gap:6px}\r\n  .dot-loader span{width:10px;height:10px;border-radius:50%;background:#888;display:inline-block;animation:dl .9s infinite alternate}\r\n  .dot-loader span:nth-child(2){animation-delay:.15s}.dot-loader span:nth-child(3){animation-delay:.3s}\r\n  @keyframes dl{from{opacity:.3;transform:translateY(0)}to{opacity:1;transform:translateY(-6px)}}\r\n  <\/style>\r\n<\/section>\r\n\r\n<!-- ===== SCRIPTS (cores\/filtro\/lightbox + loaders) ===== -->\r\n<script>\r\n\/\/ ===== MED =====\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n  setTimeout(function () {\r\n    document.getElementById('anvisa-loading')?.remove();\r\n    document.getElementById('anvisa-table-container')?.style.setProperty('display', 'block');\r\n  }, 300);\r\n\r\n  const linhasMed = document.querySelectorAll(\"#anvisa-tabela tbody tr\");\r\n  const cellsMed  = document.querySelectorAll(\".anvisa-clickable-cell\");\r\n  const lightboxMed = document.getElementById(\"anvisa-lightbox-modal\");\r\n  const lightboxContentMed = document.getElementById(\"anvisa-lightbox-content\");\r\n  const lightboxCloseMed = document.getElementById(\"anvisa-lightbox-close\");\r\n\r\n  linhasMed.forEach((linha) => {\r\n    const statusCell = linha.querySelector(\".anvisa-status-cell\");\r\n    if (!statusCell) return;\r\n    const s = statusCell.innerText.trim().toLowerCase();\r\n    let bg=\"\", border=\"\";\r\n    if (s === \"expired\"){ bg=\"#ffe5e5\"; border=\"#bc4107\"; }\r\n    else if (s === \"expiring\"){ bg=\"#fff7e0\"; border=\"#ffc207\"; }\r\n    else if (s === \"valid\"){ bg=\"#e6f5ea\"; border=\"#6fdb9e\"; }\r\n    linha.querySelectorAll(\"td\").forEach(td => {\r\n      td.style.backgroundColor = bg;\r\n      td.style.border = \"1px solid \" + border;\r\n    });\r\n  });\r\n\r\n  cellsMed.forEach((cell) => {\r\n    cell.addEventListener(\"click\", function () {\r\n      cellsMed.forEach(c => c.style.boxShadow = \"none\");\r\n      this.style.boxShadow = \"0 0 0 2px #6fdb9e\";\r\n      lightboxContentMed.innerText = this.getAttribute(\"data-fulltext\");\r\n      lightboxMed.style.display = \"flex\";\r\n    });\r\n  });\r\n\r\n  lightboxCloseMed?.addEventListener(\"click\", () => {\r\n    lightboxMed.style.display = \"none\";\r\n    cellsMed.forEach(c => c.style.boxShadow = \"none\");\r\n  });\r\n  lightboxMed?.addEventListener(\"click\", (e) => {\r\n    if (e.target === lightboxMed) {\r\n      lightboxMed.style.display = \"none\";\r\n      cellsMed.forEach(c => c.style.boxShadow = \"none\");\r\n    }\r\n  });\r\n\r\n  const statusFilterMed = document.getElementById(\"anvisaStatusFilter\");\r\n  statusFilterMed?.addEventListener(\"change\", function () {\r\n    const selected = this.value.toLowerCase();\r\n    linhasMed.forEach((linha) => {\r\n      const status = linha.querySelector(\".anvisa-status-cell\")?.innerText.toLowerCase() || '';\r\n      linha.style.display = (selected === \"\" || status === selected) ? \"\" : \"none\";\r\n    });\r\n  });\r\n});\r\n\r\n\/\/ ===== GMP =====\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n  setTimeout(function () {\r\n    document.getElementById('gmp-loading')?.remove();\r\n    document.getElementById('gmp-table-container')?.style.setProperty('display', 'block');\r\n  }, 300);\r\n\r\n  const linhas = document.querySelectorAll(\"#gmp-tabela tbody tr\");\r\n  const cells = document.querySelectorAll(\".clickable-cell\");\r\n  const lightbox = document.getElementById(\"lightbox-modal\");\r\n  const lightboxContent = document.getElementById(\"lightbox-content\");\r\n  const lightboxClose = document.getElementById(\"lightbox-close\");\r\n\r\n  \/\/ pinta linhas por validade\r\n  const ths = document.querySelectorAll(\"#gmp-tabela thead th\");\r\n  let expirationColIndex = -1;\r\n  ths.forEach((th, i) => { if (th.innerText.trim().toLowerCase() === \"expiration date\") expirationColIndex = i; });\r\n\r\n  linhas.forEach((linha) => {\r\n    const tds = linha.querySelectorAll(\"td\");\r\n    if (expirationColIndex === -1 || !tds[expirationColIndex]) return;\r\n    const dateStr = tds[expirationColIndex].innerText.trim();\r\n    const parts = dateStr.split(\"\/\");\r\n    if (parts.length !== 3) return;\r\n    const expDate = new Date(parts[2], parts[1]-1, parts[0]);\r\n    const today = new Date();\r\n    let bg=\"\", border=\"\";\r\n    if (expDate < today){ bg=\"#ffe5e5\"; border=\"#bc4107\"; }\r\n    else {\r\n      const diffYears = expDate.getFullYear() - today.getFullYear();\r\n      const diffMonths = diffYears * 12 + (expDate.getMonth() - today.getMonth());\r\n      if (diffMonths <= 9){ bg=\"#fff7e0\"; border=\"#ffc207\"; }\r\n      else { bg=\"#e6f5ea\"; border=\"#6fdb9e\"; }\r\n    }\r\n    tds.forEach(td => { td.style.backgroundColor = bg; td.style.border = \"1px solid \" + border; });\r\n  });\r\n\r\n  cells.forEach((cell) => {\r\n    cell.addEventListener(\"click\", function () {\r\n      cells.forEach(c => c.style.boxShadow = \"none\");\r\n      this.style.boxShadow = \"0 0 0 2px #6fdb9e\";\r\n      lightboxContent.innerText = this.getAttribute(\"data-fulltext\");\r\n      lightbox.style.display = \"flex\";\r\n    });\r\n  });\r\n\r\n  lightboxClose?.addEventListener(\"click\", () => {\r\n    lightbox.style.display = \"none\";\r\n    cells.forEach(c => c.style.boxShadow = \"none\");\r\n  });\r\n  lightbox?.addEventListener(\"click\", (e) => {\r\n    if (e.target === lightbox) {\r\n      lightbox.style.display = \"none\";\r\n      cells.forEach(c => c.style.boxShadow = \"none\");\r\n    }\r\n  });\r\n\r\n  const statusFilter = document.getElementById(\"statusFilter\");\r\n  statusFilter?.addEventListener(\"change\", function () {\r\n    const selected = this.value.toLowerCase();\r\n    linhas.forEach((linha) => {\r\n      const status = linha.querySelector(\".status-cell\")?.innerText.toLowerCase() || '';\r\n      linha.style.display = (selected === \"\" || status === selected) ? \"\" : \"none\";\r\n    });\r\n  });\r\n});\r\n<\/script>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":1191,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-blank-landingpage.php","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-1399","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/720degrees.ai\/pt\/wp-json\/wp\/v2\/pages\/1399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/720degrees.ai\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/720degrees.ai\/pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/720degrees.ai\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/720degrees.ai\/pt\/wp-json\/wp\/v2\/comments?post=1399"}],"version-history":[{"count":8,"href":"https:\/\/720degrees.ai\/pt\/wp-json\/wp\/v2\/pages\/1399\/revisions"}],"predecessor-version":[{"id":1410,"href":"https:\/\/720degrees.ai\/pt\/wp-json\/wp\/v2\/pages\/1399\/revisions\/1410"}],"up":[{"embeddable":true,"href":"https:\/\/720degrees.ai\/pt\/wp-json\/wp\/v2\/pages\/1191"}],"wp:attachment":[{"href":"https:\/\/720degrees.ai\/pt\/wp-json\/wp\/v2\/media?parent=1399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}