*,
*::before,
*::after {  box-sizing: border-box; }

* { margin: 0; padding: 0;  }
html {   scroll-behavior: smooth;  -webkit-text-size-adjust: 100%; }
body { min-height: 100vh;  font-size: 1rem;  line-height: 1.6;  text-rendering: optimizeSpeed;  -webkit-font-smoothing: antialiased;  -moz-osx-font-smoothing: grayscale; }
h1, h2, h3, h4, h5, h6 {  font-weight: inherit; font-size: inherit; line-height: 1.2; }
p, h1, h2, h3, h4, h5, h6 {  overflow-wrap: break-word; }
a {text-decoration: none; color: inherit; }
a:focus-visible { outline: 2px solid currentColor;  outline-offset: 2px; }
ul, ol {  list-style: none; }
img, picture, video, canvas,svg { display: block; max-width: 100%; height: auto; }
input, button, textarea, select { font: inherit; color: inherit; }
button {  cursor: pointer;  border: none;  background: none; }
input, textarea {  border: none;  outline: none; }

/* Remove aparência padrão de inputs em alguns navegadores */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  -webkit-appearance: none;
}

/* Tabelas */
table {  border-collapse: collapse;  border-spacing: 0; }

/* Remove estilos padrão de fieldset */
fieldset { border: none; }

/* Melhor renderização de elementos iframe */
iframe { border: 0; }

/* Remove delay de clique em dispositivos mobile */
a, button, input, select, textarea {  touch-action: manipulation; }

/* Melhora legibilidade de textos selecionados */
::selection { background-color: rgba(0, 0, 0, 0.2); }

/* Respeita preferências de movimento reduzido */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Evita overflow em elementos root */
#root,
#__next {
  isolation: isolate;
}