/* Ajustes para celular e tablet, e para a impressão do orçamento.
   Some por cima do styles.css do Gestor, sem alterá-lo. */

/* ---------- toque e rolagem ---------- */
* { -webkit-tap-highlight-color: transparent; }
body { -webkit-text-size-adjust: 100%; }

.login-screen { min-height: 100dvh; padding: 20px; }

/* ---------- tablet e celular ---------- */
@media (max-width: 1024px) {
  .grid { grid-template-columns: 1fr !important; }
  .content { padding: 12px !important; }
}

@media (max-width: 720px) {
  .topbar {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 10px 12px !important;
  }
  .brand { justify-content: center; }
  .tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 2px;
  }
  .tabs::-webkit-scrollbar { display: none; }
  .tab { flex: 0 0 auto; white-space: nowrap; }

  .field-row { grid-template-columns: 1fr !important; }

  /* 16px evita o zoom automático do iOS ao focar um campo */
  input, select, textarea { font-size: 16px !important; }

  .card { padding: 14px !important; }
  .actions { flex-wrap: wrap; }
  .actions button { flex: 1 1 auto; min-width: 140px; }

  .result-line { flex-wrap: wrap; gap: 4px; }
  .result-line strong { margin-left: auto; }
}

/* alvo de toque decente nos botões pequenos */
@media (pointer: coarse) {
  button { min-height: 40px; }
  .ghost.small { min-height: 34px; }
}

/* ---------- documento para impressão / PDF ---------- */
#doc-print { display: none; }

@media print {
  body > *:not(#doc-print) { display: none !important; }
  #doc-print {
    display: block !important;
    background: #fff;
    color: #000;
  }
  @page { size: A4; margin: 14mm; }
}
