/* ============================================================
   Melhor Passagem · Agency OS — Drawer de detalhe (Fase 5)
   ------------------------------------------------------------
   Overlay + slide + aba Geral. Reaproveita os componentes
   .ds-drawer* / .ds-abas / .ds-hist-item da Fase 2. Só CSS,
   sob .ds-theme; o ds-drawer.js fica inerte sem a classe.
   ============================================================ */

.ds-drawer-overlay {
  position: fixed; inset: 0; z-index: 88; background: rgba(21, 29, 86, .35);
  display: none; justify-content: flex-end;
}
.ds-drawer-overlay.ds-aberto { display: flex; }

/* dentro do overlay o painel flui à direita (sobrescreve o position:fixed
   do componente) e desliza ao abrir */
.ds-drawer-overlay .ds-drawer {
  position: static; height: 100vh; box-shadow: var(--ds-sombra-drawer);
  transform: translateX(24px); opacity: .5; transition: transform .2s ease, opacity .2s ease;
}
.ds-drawer-overlay.ds-aberto .ds-drawer { transform: none; opacity: 1; }

.ds-drawer .ds-abas { padding: 0 var(--ds-esp-24); }

/* o avatar é um <span> dentro do cabeçalho: impede que a regra genérica
   .ds-drawer-cab span { display:block } o transforme em bloco e quebre o flex */
.ds-drawer-cab .ds-avatar-cia { display: inline-flex; }
.ds-drawer-cab #dsd-titulo { display: block; }
.ds-drawer-cab #dsd-sub { display: block; }

/* Geral — lista de definições (rótulo à esquerda, valor à direita) */
.ds-def { display: flex; flex-direction: column; gap: 0; margin: 0; }
.ds-def-item {
  display: flex; justify-content: space-between; gap: var(--ds-esp-16);
  padding: var(--ds-esp-10) 0; border-bottom: 1px solid var(--ds-n-100);
}
.ds-def-item:last-child { border-bottom: 0; }
.ds-def-item dt { color: var(--ds-texto-meta); font-size: 13px; letter-spacing: var(--ds-espaco-letras); }
.ds-def-item dd {
  margin: 0; color: var(--ds-texto-forte); font-size: 13px; font-weight: 500;
  text-align: right; letter-spacing: var(--ds-espaco-letras); font-variant-numeric: tabular-nums;
}
.ds-def-item dd .ds-lucro-pos { color: var(--ds-kpi-positivo); }
.ds-def-item dd .ds-lucro-neg { color: var(--ds-kpi-negativo); }

/* painéis das abas */
.ds-drawer-painel-aba { display: none; }
.ds-drawer-painel-aba.ds-ativa { display: block; }

/* nota interna (aba Notas) */
.ds-nota-bloco {
  background: var(--ds-painel-frio); border: 1px solid var(--ds-brand-200);
  border-radius: var(--ds-raio-kpi); padding: var(--ds-esp-16); font-size: 13px;
  color: var(--ds-texto-forte); line-height: 1.5; white-space: pre-wrap;
}

/* linha da tabela de Emissões vira clicável (afordância do drawer) */
.ds-theme #emissoes-tabela table td { cursor: pointer; }

@media (prefers-reduced-motion: reduce) {
  .ds-drawer-overlay .ds-drawer { transition: none; }
}
@media (max-width: 768px) {
  .ds-drawer-overlay .ds-drawer { width: 100%; }
}
