/* Identidade visual das acoes de IA no Admin: borda em laranja escuro e
   interior em laranja bem claro, iguais no botao e nas superficies geradas. */
:root {
  --admin-ai-gradient: linear-gradient(135deg, #e07b12 0%, #f58400 50%, #b4530a 100%);
  --admin-ai-surface-bg: linear-gradient(135deg, #fff6ea 0%, #fff1de 50%, #ffe9cf 100%);
  --admin-ai-ink: #b4530a;
  --admin-ai-control-size: 32px;
}

/* Acao de IA: so o icone, no mesmo contraste da superficie e sem animacao ociosa. */
.admin-ai-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 var(--admin-ai-control-size);
  width: var(--admin-ai-control-size);
  height: var(--admin-ai-control-size);
  padding: 0;
  border: 1px solid transparent;
  border-radius: 8px;
  background:
    var(--admin-ai-surface-bg) padding-box,
    var(--admin-ai-gradient) border-box;
  color: var(--admin-ai-ink);
  cursor: pointer;
  line-height: 1;
  transition: filter 140ms ease;
}

.admin-ai-button:hover:not(:disabled) {
  filter: brightness(0.97);
}

.admin-ai-button:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.admin-ai-button .admin-icon {
  width: 16px;
  height: 16px;
  color: var(--admin-ai-ink);
}

/* Durante a geracao o icone sai e so o spinner ocupa a caixa: a largura do
   controle nao muda e os dois nunca aparecem juntos. */
.admin-ai-button-spinner {
  display: none;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  border: 2px solid rgba(180, 83, 10, 0.25);
  border-top-color: var(--admin-ai-ink);
  animation: admin-ai-spin 720ms linear infinite;
}

.admin-ai-button--busy .admin-icon {
  display: none;
}

.admin-ai-button--busy .admin-ai-button-spinner {
  display: block;
}

/* Superficie de conteudo gerado por IA: interior claro e borda no gradiente,
   para nao competir com a leitura do texto. */
.admin-ai-surface {
  border: 1px solid transparent;
  border-radius: var(--admin-radius-sm);
  background:
    var(--admin-ai-surface-bg) padding-box,
    var(--admin-ai-gradient) border-box;
  color: var(--admin-text);
}

@keyframes admin-ai-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-ai-button-spinner {
    animation-duration: 2400ms;
  }
}
