/* Ajustes exclusivos da tela de campanhas no mobile.
   O escopo usa um link que existe somente na CampaignsView. */
@media (max-width: 767px) {
  body:has(a[href="/api/reports/campaigns-keywords/excel"]) {
    overflow-x: hidden;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) main > div.flex-1.overflow-y-auto {
    padding-inline: 0 !important;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .max-w-7xl {
    padding: 12px !important;
    gap: 12px !important;
    overflow-x: hidden !important;
  }

  /* Banner principal */
  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .max-w-7xl > div:first-child {
    padding: 18px !important;
    gap: 18px !important;
    border-radius: 20px !important;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .max-w-7xl > div:first-child h2 {
    font-size: 26px !important;
    line-height: 1.12 !important;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .max-w-7xl > div:first-child p {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .max-w-7xl > div:first-child > div:last-child {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .max-w-7xl > div:first-child > div:last-child > a,
  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .max-w-7xl > div:first-child > div:last-child > button {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
    white-space: normal !important;
    min-height: 48px !important;
    padding-inline: 14px !important;
  }

  /* KPIs mais compactos */
  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .max-w-7xl > .grid.grid-cols-1 {
    gap: 10px !important;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .max-w-7xl > .grid.grid-cols-1 > div {
    padding: 16px !important;
    border-radius: 18px !important;
  }

  /* Modal de criação: folha quase cheia */
  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 {
    padding: 8px !important;
    align-items: flex-end !important;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 > div:not([class*="absolute"]) {
    width: 100% !important;
    max-width: 100% !important;
    height: calc(100dvh - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
    margin: 0 !important;
    border-radius: 22px 22px 0 0 !important;
    overflow: hidden !important;
  }

  /* Cabeçalho fixo e compacto do modal */
  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 > div:not([class*="absolute"]) > div:first-child {
    position: sticky !important;
    top: 0 !important;
    z-index: 20 !important;
    padding: 14px 16px !important;
    min-height: 78px !important;
    background: #0f172a !important;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 h2 {
    font-size: 20px !important;
    line-height: 1.2 !important;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 > div:not([class*="absolute"]) > div:first-child p {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  /* Conteúdo do formulário */
  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 form {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 14px !important;
    padding-bottom: calc(100px + env(safe-area-inset-bottom, 0px)) !important;
    -webkit-overflow-scrolling: touch;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 form .grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 form [class*="col-span"] {
    grid-column: auto !important;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 label {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 input,
  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 select,
  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
    border-radius: 14px !important;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 textarea {
    min-height: 150px !important;
    max-height: 220px !important;
    resize: vertical !important;
  }

  /* Abas e controles de variação */
  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 form .flex.flex-wrap {
    width: 100% !important;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 form .ml-auto {
    margin-left: 0 !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 form .ml-auto button {
    width: 100% !important;
    justify-content: center !important;
    padding: 8px !important;
    white-space: normal !important;
  }

  /* Variáveis dinâmicas em grade organizada */
  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 form button[class*="font-mono"] {
    min-height: 40px !important;
    padding: 8px 10px !important;
  }

  /* Anti-spam: campos empilhados */
  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 form .bg-emerald-50,
  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 form .dark\:bg-emerald-950\/30 {
    padding: 14px !important;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 input[type="checkbox"] {
    width: 22px !important;
    min-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 label:has(input[type="checkbox"]) {
    align-items: flex-start !important;
    gap: 10px !important;
    line-height: 1.4 !important;
  }

  /* Prévia do WhatsApp abaixo do formulário e menor */
  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 [class*="min-h-[320px]"] {
    min-height: 250px !important;
    max-height: 360px !important;
    padding: 12px !important;
    border-radius: 18px !important;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 [class*="max-w-"] {
    max-width: 88% !important;
  }

  /* Chips da prévia roláveis, sem esmagar texto */
  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 .overflow-x-auto {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 6px !important;
    padding-bottom: 6px !important;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 .overflow-x-auto button {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  /* Ações finais ficam acessíveis e não vazam */
  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 form > div:last-child {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body:has(a[href="/api/reports/campaigns-keywords/excel"]) .fixed.inset-0 form > div:last-child button {
    width: 100% !important;
    justify-content: center !important;
  }
}
