/* ---- Celular: alvos de toque grandes, abas em grade, janelas em tela cheia, relatório em cartões. ---- */
input[type='date'], input[type='time'] { width: 100%; min-width: 0; border: 1px solid var(--borda); background: #fff; font: inherit; font-size: .92rem; color: var(--texto); }

@media (max-width: 640px) {
  /* Abas em grade: todas aparecem, sem rolar para o lado */
  .abas { display: grid; grid-template-columns: repeat(3, 1fr); overflow: visible; padding: .2rem .5rem 0; }
  .abas a { text-align: center; padding: .65rem .2rem; }

  /* Topo */
  .topo { padding: .3rem .75rem; }
  .topo-direita { gap: .3rem; }
  .link, .nome-btn { min-height: 40px; padding: 0 .4rem; display: inline-flex; align-items: center; }
  .item .link { justify-self: start; }

  /* Botões e campos: pelo menos 40px de altura para o dedo */
  .botao { min-height: 42px; }
  .botao.pequeno { min-height: 40px; padding: .4rem .85rem; }
  select, input[type='text'], input[type='search'], input[type='date'], input[type='time'], input[type='password'] { min-height: 42px; }
  .caixa-recado-baixo select { min-height: 40px; }
  .caixa-recado-baixo .botao { min-height: 40px; }
  .mais summary { min-height: 40px; display: inline-flex; align-items: center; }
  button.chip { min-height: 36px; padding: .3rem .85rem; }
  .todos > summary, .recolhivel > summary, .grupo-pedido > summary, .caixa-filtros summary { padding: .65rem 0; }

  /* Filtros em duas colunas; a busca ocupa a linha toda */
  .filtros { grid-template-columns: 1fr 1fr; }
  .filtros > input[type='search'], .filtros > label:first-child:has(input[type='search']) { grid-column: 1 / -1; }

  /* Janelas em tela cheia */
  .janela { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; border-radius: 0; margin: 0; }
  .dialogo { width: calc(100vw - 1.5rem); }
  .janela-topo { padding: .4rem .75rem; }
  .janela-corpo { padding: .6rem .75rem 1.5rem; }

  /* Cartões do painel um pouco mais compactos */
  .cartoes { grid-template-columns: 1fr 1fr; }
  .cartao-num small, .cartao-num span { overflow-wrap: anywhere; }
  .grade-pedidos { grid-template-columns: 1fr; }

  /* Relatório: cada item vira um cartão, sem tabela larga */
  .relatorio.cartao { padding: .5rem; border: 0; background: transparent; }
  .relatorio h1 { font-size: 1.05rem; }
  .tabela, .tabela tbody, .tabela tr, .tabela td { display: block; width: 100%; }
  .tabela thead { display: none; }
  .tabela tr { border: 1px solid var(--borda); border-radius: 8px; padding: .4rem .6rem; margin-bottom: .5rem; background: #fff; }
  .tabela td { border: 0; padding: .1rem 0; display: flex; gap: .5rem; align-items: baseline; }
  .tabela td::before { content: attr(data-rotulo); color: #8a949c; flex: 0 0 5.5rem; font-size: .8rem; }
  .tabela td.nao-imprimir { margin-top: .2rem; }
}

/* ---- Celular compacto: letra e espaços menores para ver mais na tela ---- */
@media (max-width: 640px) {
  html { font-size: 14px; }
  main, .conteudo, #app { padding-left: .6rem; padding-right: .6rem; }
  h1 { font-size: 1.15rem; }
  h2 { font-size: 1rem; }
  .abas a { padding: .55rem .2rem; font-size: .9rem; }
  .cartoes { gap: .4rem; }
  .cartao-num { padding: .4rem .55rem; gap: 0; }
  .cartao-num b { font-size: 1.2rem; }
  .cartao-num small.desc { display: none; }
  .pedido-linha { padding: .45rem .6rem; gap: .1rem; }
  .grade-pedidos { gap: .4rem; }
  .item { padding: .45rem .6rem; gap: .15rem; }
  .item-meta { font-size: .8rem; }
  .item-acoes { gap: .3rem; margin-top: .1rem; }
  .botao.pequeno { min-height: 36px; padding: .25rem .7rem; font-size: .88rem; }
  .item .link { min-height: 34px; font-size: .85rem; padding: 0; }
  .cotacao { padding: .4rem .55rem; gap: .1rem; }
  .cotacao .texto-cotacao { margin: .1rem 0; font-size: .85rem; }
  .janela-corpo { gap: .5rem; padding: .4rem .6rem 1.2rem; }
}
