/* ============================================================
   responsive.css — ajustes finos de mobile
   Carregado por último pra vencer estilos inline (via !important
   só onde necessário). Foca no painel logado + modais.
   ============================================================ */

/* ─── Tablet / mobile largo (≤900px) ───────────────────────── */
@media (max-width: 900px) {
  /* Grids inline do painel colapsam pra 1 coluna */
  .dashboard-content [style*="grid-template-columns: 2fr 1fr"],
  .dashboard-content [style*="grid-template-columns: 3fr 2fr"],
  .dashboard-content [style*="grid-template-columns:2fr 1fr"],
  .dashboard-content [style*="grid-template-columns:3fr 2fr"],
  .dashboard-content [style*="grid-template-columns:1fr 1fr"],
  .dashboard-content [style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
}

/* ─── Celular (≤640px) ─────────────────────────────────────── */
@media (max-width: 640px) {
  /* KPI cards empilham */
  .kpi-grid,
  .admin-kpi-grid { grid-template-columns: 1fr !important; }

  /* Qualquer grid de 2 colunas dentro de modal colapsa */
  .modal-card [style*="grid-template-columns:1fr 1fr"],
  .modal-card [style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }

  /* Modais ocupam quase a tela toda, com padding menor */
  .modal-overlay { padding: 12px !important; }
  .modal-card {
    max-width: 100% !important;
    width: 100% !important;
    padding: 20px !important;
    max-height: 92vh !important;
  }

  /* Tabelas: rolagem horizontal em vez de estourar a tela */
  .table-section,
  .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .charges-table,
  .data-table,
  .admin-users-table { min-width: 560px; }

  /* Hero de cada aba: botão vira largura total */
  .tab-hero { flex-direction: column; align-items: stretch; padding: 18px 18px; }
  .tab-hero-title { font-size: 18px; }
  .tab-hero-actions { flex-direction: column; }
  .tab-hero-actions .btn { width: 100%; justify-content: center; }

  /* Chips de tom quebram melhor */
  .tone-group { gap: 6px; }
  .tone-btn { font-size: 12px; padding: 6px 10px; }

  /* Catálogo: cards em coluna única */
  #catalogGrid { grid-template-columns: 1fr !important; }

  /* KPI e stat numbers menores pra não estourar */
  .kpi-value, .admin-kpi-value { font-size: 22px; }

  /* Assistente flutuante não cobre conteúdo importante */
  .assistant-fab { bottom: 16px !important; right: 16px !important; }

  /* Padding de conteúdo mais enxuto */
  .dashboard-content { padding: 14px !important; }

  /* Search do header abaixo, largura total já tratada no main.css */
  .dash-search { width: 100%; }
}

/* ─── Celular pequeno (≤380px) ─────────────────────────────── */
@media (max-width: 380px) {
  .tab-hero-title { font-size: 16px; }
  .kpi-value, .admin-kpi-value { font-size: 20px; }
  .btn { font-size: 13px; }
}
