/* Estoque — ajustes de celular e tablet. O módulo foi escrito com estilos
   inline (grades de colunas fixas, max-width nos filtros), então aqui as
   regras usam seletores de atributo [style*=...] com !important só dentro de
   #p365-content / .crm-modal e só abaixo de 760px. No desktop nada muda. */

@media (max-width: 1024px) {
  .est-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .est-tabs .crm-tab { min-height: 40px; }
}

@media (max-width: 760px) {
  .est-kpis .p365-card { padding: 16px 16px; gap: 8px; }
  .est-kpis .p365-card .val { font-size: 28px; }
  .est-kpis .p365-card .val[style*="font-size:20px"] { font-size: 16px !important; line-height: 1.25; overflow-wrap: anywhere; }
  .est-kpis .p365-card .lbl { letter-spacing: .05em; }

  /* Abas: rolam na horizontal em vez de quebrar em várias linhas */
  .est-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-left: -12px; margin-right: -12px; padding: 0 12px; }
  .est-tabs::-webkit-scrollbar { display: none; }
  .est-tabs .crm-tab { flex: none; min-height: 40px; }

  .p365-panel { padding: 16px; }

  /* Grades de duas colunas do painel viram uma só */
  #p365-content div[style*="grid-template-columns:minmax(0,3fr)"],
  #p365-content div[style*="grid-template-columns:minmax(0,2fr)"],
  #p365-content div[style*="repeat(auto-fit,minmax(320px"] { grid-template-columns: minmax(0, 1fr) !important; gap: 16px !important; }
  #p365-content div[style*="repeat(auto-fit,minmax(190px"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #p365-content div[style*="repeat(auto-fit,minmax(150px,160px)"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  /* Cabeçalho de painel com seletor: seletor desce pra linha de baixo */
  #p365-content div[style*="align-items:flex-end;justify-content:space-between"] { flex-wrap: wrap; gap: 10px !important; }
  #p365-content div[style*="align-items:flex-end;justify-content:space-between"] > select { max-width: none !important; width: 100%; }

  /* Linhas de ranking: nome em cima, barra embaixo */
  #p365-content div[style*="grid-template-columns:1fr 1fr 70px"],
  #p365-content div[style*="grid-template-columns:1fr 1fr 64px"] { grid-template-columns: minmax(0, 1fr) auto !important; row-gap: 6px !important; }
  #p365-content div[style*="grid-template-columns:1fr 1fr 70px"] > :nth-child(2),
  #p365-content div[style*="grid-template-columns:1fr 1fr 64px"] > :nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
  #p365-content div[style*="grid-template-columns:22px minmax(0,1.2fr)"] { grid-template-columns: 22px minmax(0, 1fr) auto !important; row-gap: 6px !important; }
  #p365-content div[style*="grid-template-columns:22px minmax(0,1.2fr)"] > :nth-child(3) { grid-column: 2 / -1; grid-row: 2; }
  #p365-content div[style*="grid-template-columns:minmax(0,150px)"] { grid-template-columns: minmax(0, 1fr) auto !important; row-gap: 2px !important; }
  #p365-content div[style*="grid-template-columns:minmax(0,150px)"] > :nth-child(1) { grid-column: 1 / -1; font-size: 12px; }
  #p365-content div[style*="grid-template-columns:minmax(0,150px)"] > :nth-child(4) { grid-row: 2; grid-column: 2; }

  /* Filtros e campos do topo das tabelas ocupam a largura toda */
  #p365-content .crm-select[style*="max-width"] { max-width: none !important; flex: 1 1 calc(50% - 6px); min-width: 130px; margin-left: 0 !important; }
  #p365-content input.crm-select[data-action="est-filtro-q"],
  #p365-content input.crm-select[data-action="est-filtro-hq"] { flex-basis: 100%; }
  #p365-content .p365-table-wrap > div[style*="display:flex"] { padding: 12px !important; gap: 8px !important; }
  #p365-content .p365-table-wrap .p365-btn[style*="margin-left:auto"] { margin-left: 0 !important; flex: 1 1 100%; }
  #p365-content .crm-select { min-height: 40px; }
  #p365-content label input[type="date"] { min-height: 40px; }

  /* Tabelas rolam dentro do cartão; botões de ação com alvo de toque decente */
  .p365-table th, .p365-table td { padding-left: 12px; padding-right: 12px; }
  .p365-table .p365-btn { min-height: 40px; padding: 0 14px !important; font-size: 12.5px !important; }
  #p365-content .p365-btn[data-action^="est-"] { min-height: 40px; }
  .crm-checklist__del { min-width: 36px; min-height: 36px; }


  /* Tabelas de materiais e histórico viram cartões empilhados */
  .est-cards, .est-cards tbody, .est-cards tr, .est-cards td { display: block; width: 100%; }
  .est-cards thead { display: none; }
  .est-cards tr { padding: 14px 16px; border-top: 1px solid var(--line); }
  .est-cards tbody tr:first-child { border-top: none; }
  .est-cards td { padding: 4px 0 !important; text-align: left !important; }
  .est-cards td[data-label] { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 28px; }
  .est-cards td[data-label]::before { content: attr(data-label); flex: none; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); }
  .est-cards td[data-label] > * { text-align: right; min-width: 0; overflow-wrap: anywhere; }
  .est-cards .est-cards__acoes > div { max-width: none !important; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px !important; margin-top: 8px; }
  .est-cards .est-cards__acoes .p365-btn { width: 100%; justify-content: center; }

  /* Modais: campos em coluna única */
  .crm-modal .crm-form-grid[style*="grid-template-columns"] { grid-template-columns: minmax(0, 1fr) !important; }
  .crm-modal .crm-form-grid[style*="grid-template-columns:1fr 1fr 1fr"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .crm-modal .crm-form-grid[style*="grid-template-columns:1fr 2fr"] { grid-template-columns: minmax(0, 1fr) !important; }
  .crm-modal--lg { max-width: 100%; }
}
