/* Compact, scoped polish for the Affiliates screen. */
main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 {
  --affiliate-gap: clamp(.85rem, 1.6vw, 1.25rem);
  display: flex;
  flex-direction: column;
  gap: var(--affiliate-gap);
}

main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 > * + * { margin-top: 0 !important; }
main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 > header { padding: clamp(.35rem, 1vw, .75rem) 0; }
main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 > header h1 { font-size: clamp(1.7rem, 2.4vw, 2.25rem); line-height: 1.12; letter-spacing: -.035em; }
main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 > header p { max-width: 42rem; margin-top: .35rem; line-height: 1.45; }
main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 > div:nth-of-type(1) { gap: .7rem; }
main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 > div:nth-of-type(1) > .card-hero { height: auto !important; min-height: 0; padding: .8rem 1rem !important; border-radius: .9rem; box-shadow: 0 5px 18px rgb(20 25 50 / .045); }
main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 > div:nth-of-type(1) > .card-hero > div { margin-top: .35rem; }
main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 > div:nth-of-type(2) { display: flex; align-items: center; gap: .75rem; padding: .7rem .85rem; border: 1px solid hsl(var(--border)); border-radius: .9rem; background: hsl(var(--card) / .72); }
main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 > div:nth-of-type(2) > .relative { flex: 1 1 28rem; max-width: none; }
main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 > div:nth-of-type(2) input { min-height: 2.6rem; }
main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 > div:nth-of-type(3) { border: 1px solid hsl(var(--border)); border-radius: 1rem; box-shadow: 0 8px 28px rgb(20 25 50 / .055); }
main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 > div:nth-of-type(3) table { width: 100%; border-collapse: separate; border-spacing: 0; }
main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 > div:nth-of-type(3) thead th { padding: .8rem .9rem; font-size: .68rem; letter-spacing: .075em; white-space: nowrap; }
main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 > div:nth-of-type(3) tbody td { padding: .7rem .9rem; vertical-align: middle; }
main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 > div:nth-of-type(3) tbody tr { transition: background-color .16s ease; }
main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 > div:nth-of-type(3) tbody tr:hover { background: hsl(var(--primary) / .045); }

@media (max-width: 700px) {
  main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 > div:nth-of-type(2) { align-items: stretch; flex-direction: column; }
  main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 > div:nth-of-type(2) > .relative { flex-basis: auto; }
  main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 > div:nth-of-type(3) { overflow-x: auto; }
  main:has(input[placeholder="Buscar por nome, e-mail ou telefone..."]) > div.space-y-8 > div:nth-of-type(3) table { min-width: 680px; }
}
