/* =============================================================================
   ONDA 13 — Modal de Lead vira DRAWER LATERAL (direita)
   -----------------------------------------------------------------------------
   Pedido Gustavo: "em nova negociacao, inves de abrir um drawer central, abre
   um lateral". O modal de Lead (criar/editar negociacao) era um modal centrado
   (onda-7b: align-items:center, max-width:880px, max-height:90vh). Aqui ele
   passa a deslizar da direita ocupando a altura toda da viewport.

   Escopo CIRURGICO: tudo restrito a
     .modal-overlay[aria-labelledby="lead-modal-title"]
   ou seja, NAO afeta os outros modais centrados (usuarios, formularios, etc.).

   Reusa o keyframe `drawer-slide-in` (translateX 100%->0) ja definido em
   components.css (mesma animacao dos drawers de Melhorias) -> consistencia.

   Carrega DEPOIS de onda-7b/onda-8 -> mesma especificidade, source-order vence.
   ========================================================================== */

:root[data-theme="light"] .modal-overlay[aria-labelledby="lead-modal-title"] {
  /* backdrop continua cobrindo a tela toda; container fixa na direita.
     justify-content garante o fallback caso o container nao fosse fixed. */
  align-items: stretch;
  justify-content: flex-end;
  padding: 0;
  overflow: hidden;
}

:root[data-theme="light"] .modal-overlay[aria-labelledby="lead-modal-title"] .modal-container {
  /* painel ancorado na direita, altura cheia */
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: min(720px, 94vw);
  height: 100dvh;
  max-height: 100dvh;

  /* sem cantos arredondados de modal flutuante; so a borda esquerda separa do fundo */
  border: 0;
  border-left: 1px solid var(--border-default);
  border-radius: 0;
  box-shadow: var(--shadow-modal);

  /* desliza da direita em vez do scale-in do modal centrado */
  animation: drawer-slide-in var(--duration-base) var(--ease-out);

  /* mantem o scroll interno no .modal-body (header/status/tabs/footer fixos) */
  overflow: hidden;
}

/* Mobile: drawer ocupa a largura toda */
@media (max-width: 760px) {
  :root[data-theme="light"] .modal-overlay[aria-labelledby="lead-modal-title"] .modal-container {
    max-width: 100%;
    border-left: 0;
  }
}

/* Respeita usuarios que pedem menos movimento: entra sem deslizar */
@media (prefers-reduced-motion: reduce) {
  :root[data-theme="light"] .modal-overlay[aria-labelledby="lead-modal-title"] .modal-container {
    animation: none;
  }
}

/* Telas muito baixas (landscape mobile): o .modal-body tem min-height:280px
   (onda-7b) que, somado a header+status+tabs+footer, pode estourar 100dvh e
   empurrar o footer (Salvar/Cancelar) pra fora. Comprime o corpo p/ garantir
   que as acoes continuem visiveis (P2 code-review 2026-06-02). */
@media (max-height: 640px) {
  :root[data-theme="light"] .modal-overlay[aria-labelledby="lead-modal-title"] .modal-container .modal-body {
    min-height: 0;
  }
}
