
<!DOCTYPE html>
<html lang="pt-BR">
  <head>
    <!-- Google Tag Manager -->
    <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
    'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-P443FF2M');</script>
    <!-- End Google Tag Manager -->
    
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=yes, viewport-fit=cover" />
    <meta name="google-site-verification" content="4XFATArCxQNyYES_JvUwrndOzcoMx0NxJBoqlzmpdV8" />
    
    <meta name="color-scheme" content="light dark" />
    
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="0" />

    <style>
      @media (max-width: 1023px) {
        input, textarea, select {
          font-size: 16px !important;
        }
      }
    </style>

    <meta http-equiv="Content-Security-Policy" content="
      default-src 'self';
      script-src 'self' 'unsafe-inline' 'unsafe-eval'
        https://www.googletagmanager.com
        https://www.google-analytics.com
        https://ssl.google-analytics.com
        https://www.google.com
        https://www.gstatic.com
        https://cdn.jsdelivr.net
        https://appleid.apple.com
        https://appleid.cdn-apple.com
        https://vercel.live
        https://*.vercel.live;
      style-src 'self' 'unsafe-inline'
        https://fonts.googleapis.com
        https://cdn.jsdelivr.net
        https://appleid.apple.com
        https://appleid.cdn-apple.com;
      font-src 'self'
        https://fonts.gstatic.com
        https://cdn.jsdelivr.net
        https://use.typekit.net
        https://appleid.cdn-apple.com
        data:;
      img-src 'self' data: blob:
        https:
        https://bxedpdmgvgatjdfxgxij.supabase.co
        https://www.gravatar.com
        https://www.google-analytics.com
        https://ssl.google-analytics.com;
      connect-src 'self'
        https://bxedpdmgvgatjdfxgxij.supabase.co
        wss://generativelanguage.googleapis.com
        https://*.googleapis.com
        wss://*.supabase.co
        https://www.google-analytics.com
        https://ssl.google-analytics.com
        https://www.googletagmanager.com
        https://api.github.com
        https://appleid.apple.com
        https://appleid.cdn-apple.com
        https://api.pagar.me
        https://viacep.com.br;
      frame-src 'self'
        https://www.google.com
        https://appleid.apple.com
        https://vercel.live
        https://*.vercel.live;
      object-src 'none';
      base-uri 'self';
      form-action 'self';
      upgrade-insecure-requests;
    " />

    <!-- Favicon - URLs absolutas + 48x48 (tamanho recomendado pelo Google para SERP) -->
    <link rel="icon" type="image/x-icon" href="https://pedb.com.br/favicon.ico" />
    <link rel="icon" type="image/png" sizes="16x16" href="https://pedb.com.br/favicon-16x16.png" />
    <link rel="icon" type="image/png" sizes="32x32" href="https://pedb.com.br/favicon-32x32.png" />
    <link rel="icon" type="image/png" sizes="48x48" href="https://pedb.com.br/favicon-48x48.png" />
    <link rel="icon" type="image/png" sizes="192x192" href="https://pedb.com.br/favicon-192x192.png" />
    <link rel="icon" type="image/png" sizes="512x512" href="https://pedb.com.br/favicon-512x512.png" />
    <link rel="shortcut icon" href="https://pedb.com.br/favicon.ico" />
    <link rel="apple-touch-icon" sizes="180x180" href="https://pedb.com.br/apple-touch-icon.png" />

    <link rel="preload" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" as="style" />

    <title>PedBook - Calculadora Pediátrica e Doses Pediátricas</title>
    <meta name="description" content="Calculadora pediátrica completa com doses de medicamentos, fluxogramas clínicos e prescrições automatizadas. Ferramenta essencial para profissionais da saúde." />
    <meta name="keywords" content="calculadora pediátrica, doses pediátricas, pediatria, fluxogramas clínicos, prescrições médicas" />
    <meta name="author" content="MedUnity" />

    <link rel="preconnect" href="https://bxedpdmgvgatjdfxgxij.supabase.co">
    <link rel="preconnect" href="https://www.googletagmanager.com">
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link rel="preconnect" href="https://www.gravatar.com">


    <link rel="dns-prefetch" href="https://cdn.jsdelivr.net">
    <link rel="canonical" href="https://pedb.com.br/" />

    <meta property="og:type" content="website" />
    <meta property="og:url" content="https://pedb.com.br/" />
    <meta property="og:title" content="PedBook - Calculadora Pediátrica e Doses Pediátricas" />
    <meta property="og:description" content="Calculadora pediátrica e doses pediátricas completas para profissionais da saúde. Faça cálculos de doses, prescrições e acesse fluxogramas clínicos com precisão." />
    <meta property="og:image" content="https://pedb.com.br/favicon-512.png" />
    <meta property="og:author" content="MedUnity" />
    <meta property="og:site_name" content="PedBook" />
    <meta property="og:locale" content="pt_BR" />

    <meta name="twitter:card" content="summary_large_image" />
    <meta name="twitter:url" content="https://pedb.com.br/" />
    <meta name="twitter:title" content="PedBook - Calculadora Pediátrica e Doses Pediátricas" />
    <meta name="twitter:description" content="Calculadora pediátrica e doses pediátricas completas para profissionais da saúde. Faça cálculos de doses, prescrições e acesse fluxogramas clínicos com precisão." />
    <meta name="twitter:image" content="https://pedb.com.br/favicon-512.png" />

    <link rel="manifest" href="/manifest.webmanifest" />
    <meta name="application-name" content="PedBook" />
    <meta name="theme-color" content="#2563eb" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
    <meta name="apple-mobile-web-app-title" content="PedBook" />
    <meta name="format-detection" content="telephone=no" />
    <meta name="mobile-web-app-capable" content="yes" />
    <meta name="msapplication-TileColor" content="#2563eb" />
    <meta name="msapplication-tap-highlight" content="no" />

    <meta name="robots" content="index, follow, max-image-preview:large" />
    <meta name="googlebot" content="index, follow" />

    <style>
      :root {
        color-scheme: light dark;
      }
      html:not(.dark) {
        color-scheme: light;
      }
      
      html.dark {
        color-scheme: dark;
      }
      @media (prefers-color-scheme: dark){:root{color-scheme:light dark}}
      *{box-sizing:border-box}
      body{margin:0;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.6;color:#1f2937;background-color:#fff;font-display:swap}
      .main-container{min-height:100vh;display:flex;flex-direction:column}
      .header{position:sticky;top:var(--safe-area-inset-top,0);z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid #e5e7eb}
      .cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;max-width:72rem;margin:0 auto;padding:1rem}
      @media (min-width:640px){.cards-grid{grid-template-columns:repeat(3,1fr);gap:1rem}}
      @media (min-width:768px){.cards-grid{grid-template-columns:repeat(4,1fr)}}
      .card{position:relative;height:100%;padding:1rem;border-radius:.75rem;background:rgba(255,255,255,.9);border:1px solid #e5e7eb;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);transition:all .3s ease;cursor:pointer}
      .card:hover{transform:translateY(-2px);box-shadow:0 10px 25px -3px rgba(0,0,0,.1)}
      .btn-primary{background:#0066ff;color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;border:none;cursor:pointer;font-weight:500;transition:background .2s}
      .btn-primary:hover{background:#0052cc}
      .search-container{max-width:48rem;margin:0 auto;padding:1rem}
      .search-input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem}
      .nav-mobile{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-top:1px solid #e5e7eb;z-index:50}
      .header-content{display:flex;align-items:center;justify-content:space-between;max-width:72rem;margin:0 auto;padding:1rem}
      .logo{height:2rem;width:auto}
      .header-nav{display:none}
      @media (min-width:768px){.header-nav{display:flex;gap:1rem}}
      .skeleton{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:200% 100%;animation:loading 1.5s infinite}
      @keyframes loading{0%{background-position:200% 0}100%{background-position:-200% 0}}
      .fade-in-up{opacity:0;transform:translateY(1rem);animation:fadeInUp .3s ease-out forwards}
      @keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}
      .search-section{width:100%;max-width:72rem;margin:0 auto;position:relative;z-index:10;display:flex;align-items:center;gap:.5rem;padding:0 .5rem}
      .search-container{flex:1;position:relative}
      .search-input-wrapper{position:relative;display:block}
      .search-input-field{width:100%;padding:.75rem 3rem .75rem 3rem;border-radius:9999px;border:none;outline:none;background:rgba(255,255,255,.9);box-shadow:0 4px 6px -1px rgba(0,0,0,.1);font-size:.875rem;color:#374151;line-height:1.25rem;will-change:auto}
      .search-input-field:focus{box-shadow:0 0 0 2px rgba(37,99,235,.3)}
      .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:rgba(37,99,235,.7);width:1.125rem;height:1.125rem}
      .search-input-field::-moz-placeholder{color:#9ca3af;opacity:1}
      .search-input-field::placeholder{color:#9ca3af;opacity:1}
      .search-input-wrapper{contain:layout style paint}
      .search-input-field{contain:layout style}
      .gpu-accelerated{backface-visibility:hidden}
      .min-h-screen{min-height:100vh}
      @media (max-width:640px){html,body,#root{height:calc(100dvh - 49px)!important;max-height:calc(100dvh - 49px)!important;overflow:hidden!important}#root{overflow-y:auto!important}.min-h-screen,.h-screen{min-height:calc(100dvh - 49px)!important;height:calc(100dvh - 49px)!important}}
      .flex{display:flex}
      .flex-col{flex-direction:column}
      .relative{position:relative}
      .fixed{position:fixed}
      .inset-0{top:0;right:0;bottom:0;left:0}
      .w-full{width:100%}
      .h-full{height:100%}
      .pointer-events-none{pointer-events:none}
      .z-0{z-index:0}
      .bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}
      .animate-pulse{animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite}
      @keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
    </style>

    <link
      rel="stylesheet"
      href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
    >

    <link
      rel="preload"
      href="https://cdn.jsdelivr.net/npm/katex@0.16.0/dist/katex.min.css"
      as="style"
      onload="this.onload=null;this.rel='stylesheet'"
    >
    <noscript>
      <link
        rel="stylesheet"
        href="https://cdn.jsdelivr.net/npm/katex@0.16.0/dist/katex.min.css"
      >
    </noscript>


    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}

      let gtmLoaded = false;

      function getDomain() {
        const hostname = window.location.hostname;
        if (hostname === 'localhost' || hostname === '127.0.0.1') {
          return 'none';
        }
        if (hostname.includes('pedb.com.br')) {
          return '.pedb.com.br';
        }
        return 'auto';
      }

      function loadGoogleAnalytics() {
        if (gtmLoaded) return;
        gtmLoaded = true;

        gtag('js', new Date());

        gtag('config', 'G-70JXDBJRS7', {
          send_page_view: false,
          transport_type: 'beacon',
          cookie_domain: getDomain(),
          cookie_expires: 63072000,
          anonymize_ip: true,
          allow_google_signals: false,
          allow_ad_personalization_signals: false,
          storage: 'cookies',
          client_storage: 'cookies'
        });

        const script = document.createElement('script');
        script.async = true;
        script.src = 'https://www.googletagmanager.com/gtag/js?id=G-70JXDBJRS7';
        document.head.appendChild(script);

        script.onload = function() {
          gtag('event', 'page_view', {
            page_title: document.title,
            page_location: window.location.href,
            page_path: window.location.pathname
          });
        };
      }

      ['click', 'scroll', 'touchstart', 'keydown'].forEach(event => {
        document.addEventListener(event, loadGoogleAnalytics, {
          once: true,
          passive: true
        });
      });

      setTimeout(loadGoogleAnalytics, 15000);
    </script>

    <script type="application/ld+json">
      {
        "@context": "https://schema.org",
        "@type": "Organization",
        "name": "PedBook",
        "url": "https://pedb.com.br",
        "logo": "https://pedb.com.br/favicon-512.png",
        "image": "https://pedb.com.br/favicon-512.png",
        "description": "Calculadora pediátrica e doses pediátricas completas para profissionais da saúde.",
        "sameAs": []
      }
    </script>

    <script type="application/ld+json">
      {
        "@context": "https://schema.org",
        "@type": "WebApplication",
        "name": "PedBook",
        "description": "Calculadora pediátrica e doses pediátricas completas para profissionais da saúde. Faça cálculos de doses, prescrições e acesse fluxogramas clínicos com precisão.",
        "url": "https://pedb.com.br",
        "applicationCategory": "MedicalApplication",
        "operatingSystem": "Web",
        "version": "1.0",
        "image": "https://pedb.com.br/favicon-512.png",
        "author": {
          "@type": "Organization",
          "name": "PedBook",
          "url": "https://pedb.com.br",
          "logo": "https://pedb.com.br/favicon-512.png"
        },
        "audience": {
          "@type": "MedicalAudience",
          "audienceType": "Profissionais da saúde"
        },
        "featureList": [
          "Calculadoras pediátricas",
          "Doses de medicamentos",
          "Fluxogramas clínicos",
          "Prescrições automatizadas",
          "Curvas de crescimento",
          "Avaliação de desenvolvimento"
        ],
        "applicationSubCategory": "Pediatric Medical Calculator",
        "aggregateRating": {
          "@type": "AggregateRating",
          "ratingValue": "4.8",
          "ratingCount": "100"
        },
        "provider": {
          "@type": "Organization",
          "name": "PedBook",
          "url": "https://pedb.com.br",
          "logo": "https://pedb.com.br/favicon-512.png"
        }
      }
    </script>
    <script type="module" crossorigin src="/assets/index-DLP2k88-.js"></script>
    <link rel="modulepreload" crossorigin href="/assets/react-vendor-DEXmyWND.js">
    <link rel="modulepreload" crossorigin href="/assets/radix-ui-DDfm5IGy.js">
    <link rel="modulepreload" crossorigin href="/assets/query-vendor-pY6BdXOf.js">
    <link rel="modulepreload" crossorigin href="/assets/pdf-vendor-BB7BAHan.js">
    <link rel="modulepreload" crossorigin href="/assets/icons-vendor-CRB2KvJ-.js">
    <link rel="modulepreload" crossorigin href="/assets/supabase-vendor-53iwMBKj.js">
    <link rel="modulepreload" crossorigin href="/assets/form-vendor-HNH139G9.js">
    <link rel="stylesheet" crossorigin href="/assets/style-CRHjQE9v.css">
  </head>
  <body>
    <!-- Google Tag Manager (noscript) -->
    <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-P443FF2M"
    height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
    <!-- End Google Tag Manager (noscript) -->

    <script>
      (function() {
        const CACHE_VERSION = '2025-12-11-v1';
        const lastVersion = localStorage.getItem('app_cache_version');
        
        if (lastVersion !== CACHE_VERSION) {
          const preserveKeys = ['theme', 'user_preferences'];
          const keysToRemove = [];
          for (let i = 0; i < localStorage.length; i++) {
            const key = localStorage.key(i);
            if (key && !preserveKeys.includes(key)) {
              keysToRemove.push(key);
            }
          }
          keysToRemove.forEach(key => localStorage.removeItem(key));
          
          localStorage.setItem('app_cache_version', CACHE_VERSION);
          
          if ('serviceWorker' in navigator && 'caches' in window) {
            caches.keys().then(names => {
              names.forEach(name => {
                if (name !== 'v1') {
                  caches.delete(name);
                }
              });
            });
            
            navigator.serviceWorker.getRegistrations().then(registrations => {
              registrations.forEach(reg => reg.unregister());
            });
          }
          
          if (lastVersion) {
            window.location.reload(true);
            return;
          }
        }
        
        setTimeout(function() {
          const bodyStyle = window.getComputedStyle(document.body);
          const hasFontFamily = bodyStyle.fontFamily && bodyStyle.fontFamily !== 'Times New Roman';
          
          if (!hasFontFamily) {
            window.location.reload(true);
            sessionStorage.setItem('css_reload_attempt', 'true');
            
            if (!sessionStorage.getItem('css_reload_done')) {
              sessionStorage.setItem('css_reload_done', 'true');
              window.location.reload(true);
            }
          } else {
            sessionStorage.removeItem('css_reload_attempt');
            sessionStorage.removeItem('css_reload_done');
          }
        }, 100);
      })();
    </script>

    <script>
      (function() {
        try {
          document.documentElement.classList.add('no-transitions');
          
          const savedTheme = localStorage.getItem('theme');
          
          let theme = savedTheme;
          if (!theme) {
            const prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
            theme = prefersDark ? 'dark' : 'light';
          }
          
          if (theme === 'dark') {
            document.documentElement.classList.add('dark');
          } else {
            document.documentElement.classList.remove('dark');
          }
          
          setTimeout(function() {
            document.documentElement.classList.remove('no-transitions');
          }, 100);
        } catch (error) {
          document.documentElement.classList.remove('dark');
          document.documentElement.classList.remove('no-transitions');
        }
      })();
    </script>

    <div id="root"></div>
    <script>
      (function(){function c(){try{document.cookie.split(';').forEach(function(k){var n=k.trim().split('=')[0];if(['FCCDCF','__cf_bm','FCNEC'].includes(n)){var e='Thu, 01 Jan 1970 00:00:00 GMT',d=location.hostname;document.cookie=n+'=;expires='+e+';path=/;domain='+d;document.cookie=n+'=;expires='+e+';path=/;domain=.'+d;document.cookie=n+'=;expires='+e+';path=/';if(d.includes('pedb.com.br')){document.cookie=n+'=;expires='+e+';path=/;domain=.pedb.com.br';document.cookie=n+'=;expires='+e+';path=/;domain=pedb.com.br'}}})}catch(e){}}c();['gesturestart','gesturechange'].forEach(function(ev){document.addEventListener(ev,function(e){var t=e.target;if(t.tagName!=='INPUT'&&t.tagName!=='TEXTAREA'&&!t.isContentEditable&&!t.classList.contains('selectable-text'))e.preventDefault()},{passive:false})});if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)){var h=window.innerHeight;function k(){var o=window.innerHeight<h*.75,n=document.querySelector('.mobile-nav-container');if(n)n.style.display=o?'none':''}window.addEventListener('resize',k);document.addEventListener('focusin',function(e){if(e.target.tagName==='INPUT'||e.target.tagName==='TEXTAREA'){var n=document.querySelector('.mobile-nav-container');if(n)n.style.display='none';setTimeout(k,300)}});document.addEventListener('focusout',function(e){if(e.target.tagName==='INPUT'||e.target.tagName==='TEXTAREA')setTimeout(k,300)})}})();
    </script>
    <script src="https://cdn.jsdelivr.net/npm/mermaid@10.6.1/dist/mermaid.min.js"></script>
    <script src="/webview-android.js"></script>
  </body>
</html>
