/* =========================================================
   AQUAG · BASE
   Reset global, tipografia e comportamento padrão da página.
   ========================================================= */

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

html,
body {
  margin: 0;
  max-width: 100%;
  font-family: 'DM Sans', sans-serif;
  background: #020617;
  color: #e2e8f0;
}

html {
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
  -webkit-tap-highlight-color: transparent;
}

img,
svg {
  max-width: 100%;
}

/* Alvos de toque confortáveis em qualquer tela. */
button,
select,
input {
  min-height: 44px;
  touch-action: manipulation;
}

button {
  -webkit-user-select: none;
  user-select: none;
}

/*
  No celular, o Safari/Chrome dá zoom automático ao focar em qualquer campo
  com fonte menor que 16px. Os campos do sistema usam 14px (.input), então
  aqui garantimos 16px só no celular para a tela não se aproximar sozinha
  ao tocar num campo — no desktop o tamanho original é mantido.

  input[type="date"] fica de fora dessa regra geral: a maioria abre um
  seletor nativo (calendário/rodinha) ao tocar, não o teclado com zoom.
*/
@media (max-width: 767px) {
  body .input,
  body select,
  body textarea,
  body input[type="text"],
  body input[type="email"],
  body input[type="tel"],
  body input[type="password"],
  body input[type="search"],
  body input[type="number"] {
    font-size: 16px !important;
  }

  /*
    Exceção: #filter-date-start/#filter-date-end (Relatório financeiro)
    precisam da mesma fonte do <select> "Forma de pagamento" ao lado —
    senão ficam com o texto visivelmente menor/desalinhado. O problema de
    altura que motivou excluir os campos de data dessa regra era, na
    real, do próprio <select> (chrome nativo mais alto), já corrigido em
    components.css/forms.css — então aqui é seguro igualar a fonte.
  */
  body #filter-date-start,
  body #filter-date-end {
    font-size: 16px !important;
  }
}
