/* =============================================================================
   Levantamento Almeida Júnior — camada da aplicação sobre o DS CANTA
   Prefixo próprio: .lv- (o DS usa .canta-)
   ============================================================================= */

.lv-corpo{
  margin:0;
  background:var(--canta-color-neutral-200);
  color:var(--canta-color-neutral-1000);
  font-family:var(--canta-typography-font-family-text);
  font-size:var(--canta-typography-font-size-base);
  line-height:var(--canta-typography-line-height-normal);
  min-height:100vh;
  display:flex; flex-direction:column;
}

/* ---------------------------------------------------------------- tipografia */
.lv-titulo-display{
  font-family:var(--canta-typography-font-family-display);
  font-weight:var(--canta-typography-font-weight-extrabold);
  font-size:var(--canta-typography-font-size-3xl);
  line-height:var(--canta-typography-line-height-tight);
  letter-spacing:var(--canta-typography-letter-spacing-tight);
  text-transform:uppercase;
  margin:0 0 var(--canta-spacing-2);
}
.lv-titulo-secao{
  font-family:var(--canta-typography-font-family-display);
  font-weight:var(--canta-typography-font-weight-bold);
  font-size:var(--canta-typography-font-size-xl);
  letter-spacing:var(--canta-typography-letter-spacing-tight);
  margin:0 0 var(--canta-spacing-2);
}
.lv-titulo-secao--separado{margin-top:var(--canta-spacing-10)}
.lv-etiqueta{
  display:inline-block;
  font-family:var(--canta-typography-font-family-mono);
  font-size:var(--canta-typography-font-size-xs);
  font-weight:var(--canta-typography-font-weight-medium);
  letter-spacing:var(--canta-typography-letter-spacing-widest);
  text-transform:uppercase;
  color:var(--canta-color-brand-blue);
  margin-bottom:var(--canta-spacing-2);
}
.lv-apoio{color:var(--canta-color-neutral-700); margin:0; max-width:68ch}
.lv-nota{
  font-size:var(--canta-typography-font-size-xs);
  color:var(--canta-color-neutral-500);
  margin:var(--canta-spacing-2) 0 0;
}

/* ------------------------------------------------------------------- cabeçalho */
.lv-cabecalho{
  display:flex; justify-content:space-between; align-items:flex-start;
  gap:var(--canta-spacing-6); flex-wrap:wrap; margin-bottom:var(--canta-spacing-8);
}
.lv-cabecalho__acoes{display:flex; flex-direction:column; align-items:flex-end; gap:var(--canta-spacing-1)}
.lv-filtros{display:flex; gap:var(--canta-spacing-2); flex-wrap:wrap}

/* --------------------------------------------------------------------- login */
.lv-login{max-width:480px; margin:var(--canta-spacing-16) auto}
.lv-login__marca{display:flex; align-items:center; gap:var(--canta-spacing-4); margin-bottom:var(--canta-spacing-6)}
.lv-login__logo{
  font-family:var(--canta-typography-font-family-display);
  font-weight:var(--canta-typography-font-weight-extrabold);
  font-size:var(--canta-typography-font-size-2xl);
  letter-spacing:var(--canta-typography-letter-spacing-tight);
}
.lv-login__linha{flex:1; height:var(--canta-border-width-3); background:var(--canta-color-brand-blue)}
.lv-login__cartao .canta-alert{margin-bottom:var(--canta-spacing-4)}
.lv-login__cartao form{margin-top:var(--canta-spacing-5)}

/* ------------------------------------------------------------------ métricas */
.lv-metricas{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:var(--canta-spacing-5); margin-bottom:var(--canta-spacing-6);
}
.lv-metrica__rotulo{
  display:flex; align-items:center; gap:var(--canta-spacing-2);
  font-size:var(--canta-typography-font-size-xs);
  font-weight:var(--canta-typography-font-weight-semibold);
  letter-spacing:var(--canta-typography-letter-spacing-wider);
  text-transform:uppercase; color:var(--canta-color-neutral-600);
}
.lv-metrica__valor{
  display:block;
  font-family:var(--canta-typography-font-family-display);
  font-weight:var(--canta-typography-font-weight-extrabold);
  font-size:var(--canta-typography-font-size-4xl);
  line-height:var(--canta-typography-line-height-tight);
  letter-spacing:var(--canta-typography-letter-spacing-tighter);
  margin:var(--canta-spacing-1) 0 var(--canta-spacing-3);
}
.lv-metrica__valor small{
  font-size:var(--canta-typography-font-size-xl);
  color:var(--canta-color-neutral-500);
}
.lv-metrica--destaque .lv-metrica__valor{color:var(--canta-color-brand-blue)}
.lv-barra-p0{background:var(--canta-color-brand-magenta)}
.lv-barra-nda{background:var(--canta-color-feedback-success-500)}

/* ------------------------------------------------------------------ faixa NDA */
.lv-faixa-nda{margin-bottom:var(--canta-spacing-6)}
.lv-faixa-nda__corpo{
  display:flex; justify-content:space-between; align-items:center;
  gap:var(--canta-spacing-6); flex-wrap:wrap;
}
.lv-faixa-nda__corpo p{margin:0; max-width:62ch}
.lv-faixa-nda .lv-titulo-secao{color:inherit}

/* ------------------------------------------------------------------- opções */
.lv-opcoes{display:flex; flex-wrap:wrap; gap:var(--canta-spacing-2)}
.lv-opcao{position:relative; margin:0}
.lv-opcao input{position:absolute; opacity:0; width:0; height:0}
.lv-opcao span{
  display:inline-block; cursor:pointer;
  padding:var(--canta-spacing-2) var(--canta-spacing-4);
  font-size:var(--canta-typography-font-size-sm);
  font-weight:var(--canta-typography-font-weight-medium);
  border:var(--canta-border-width-2) solid var(--canta-color-neutral-1000);
  background:var(--canta-color-neutral-100);
  transition:all var(--canta-transition-fast);
}
.lv-opcao:hover span{background:var(--canta-color-neutral-200)}
.lv-opcao--marcada span{
  background:var(--canta-color-brand-blue);
  border-color:var(--canta-color-brand-blue);
  color:var(--canta-color-neutral-100);
  font-weight:var(--canta-typography-font-weight-semibold);
  box-shadow:var(--canta-shadow-brutal-sm);
}
.lv-opcao input:focus-visible + span{outline:var(--canta-border-width-2) solid var(--canta-color-brand-magenta); outline-offset:2px}

.lv-grade{display:grid; grid-template-columns:1fr 1fr; gap:0 var(--canta-spacing-5); margin-top:var(--canta-spacing-4)}
.lv-col-cheia{grid-column:1 / -1}
.lv-erro{
  min-height:1em; font-size:var(--canta-typography-font-size-xs);
  color:var(--canta-color-brand-magenta); font-weight:var(--canta-typography-font-weight-medium);
}

.lv-navegacao{
  display:flex; justify-content:space-between; align-items:center;
  gap:var(--canta-spacing-3); margin-top:var(--canta-spacing-10); flex-wrap:wrap;
}
.lv-vazio{text-align:center}

/* ----------------------------------------------------------------------- NDA */
.lv-duas-colunas{
  display:grid; grid-template-columns:minmax(320px,440px) 1fr;
  gap:var(--canta-spacing-5); align-items:start;
}
.lv-form-nda{position:sticky; top:88px}
.lv-form-nda__rodape{display:block}
.lv-previa{padding:0; overflow:hidden}
.lv-previa__topo{display:flex; justify-content:space-between; align-items:baseline; gap:var(--canta-spacing-4)}
.lv-folha{
  max-height:72vh; overflow-y:auto;
  padding:var(--canta-spacing-10) var(--canta-spacing-12);
  background:var(--canta-color-neutral-100);
  font-family:Georgia,'Times New Roman',serif;
  font-size:var(--canta-typography-font-size-sm);
  line-height:var(--canta-typography-line-height-relaxed);
  text-align:justify;
}
.nda-titulo{text-align:center; font-weight:700; margin:0 0 var(--canta-spacing-6)}
.nda-clausula{font-weight:700; margin:var(--canta-spacing-5) 0 var(--canta-spacing-2); text-align:left}
.nda-item{margin-left:var(--canta-spacing-6); margin-bottom:var(--canta-spacing-2)}
.nda-centro{text-align:center; margin-top:var(--canta-spacing-6)}
.nda-par{margin:0 0 var(--canta-spacing-3)}
mark.campo{background:transparent; color:inherit; padding:0 2px}
mark.campo.vazio{
  background:var(--canta-color-feedback-warning-100);
  color:var(--canta-color-feedback-warning-700);
  font-weight:700;
  box-shadow:0 0 0 2px var(--canta-color-feedback-warning-100);
}
mark.campo.preenchido{
  background:var(--canta-color-feedback-success-100);
  color:var(--canta-color-feedback-success-700);
  font-weight:700;
}
.nda-assinaturas{
  display:grid; grid-template-columns:1fr 1fr; gap:var(--canta-spacing-8);
  margin-top:var(--canta-spacing-12); font-size:var(--canta-typography-font-size-xs);
}
.nda-bloco-assinatura{line-height:var(--canta-typography-line-height-loose)}

/* ------------------------------------------------------------------ responsivo */
@media (max-width:1024px){
  .lv-duas-colunas{grid-template-columns:1fr}
  .lv-form-nda{position:static}
}
@media (max-width:640px){
  .lv-grade{grid-template-columns:1fr}
  .lv-titulo-display{font-size:var(--canta-typography-font-size-2xl)}
  .lv-folha{padding:var(--canta-spacing-5)}
  .nda-assinaturas{grid-template-columns:1fr}
  .lv-cabecalho__acoes{align-items:flex-start}
}
@media print{
  .lv-navbar,.lv-rodape,.lv-form-nda,.lv-cabecalho{display:none}
  .lv-duas-colunas{grid-template-columns:1fr}
  .lv-folha{max-height:none; overflow:visible}
}

/* -------------------------------------------------------------------------
   Reforço brutalista: o DS entrega a base; aqui damos peso aos elementos
   estruturais (borda preta cheia + sombra dura), usando os tokens do DS.
   ------------------------------------------------------------------------- */
.lv-login__cartao,
.lv-metrica,
.lv-form-nda,
.lv-previa,
.lv-faixa-nda{
  border:var(--canta-border-width-2) solid var(--canta-color-neutral-1000);
  border-radius:var(--canta-border-radius-none);
  box-shadow:var(--canta-shadow-brutal-sm);
}
.lv-metrica--destaque{box-shadow:var(--canta-shadow-brutal-blue)}
.lv-faixa-nda{box-shadow:var(--canta-shadow-brutal-md)}

.lv-tema{
  border:var(--canta-border-width-2) solid var(--canta-color-neutral-1000);
  border-radius:var(--canta-border-radius-none);
  transition:transform var(--canta-transition-fast), box-shadow var(--canta-transition-fast);
}
.lv-tema:hover{transform:translate(-2px,-2px); box-shadow:var(--canta-shadow-brutal-sm)}
.lv-tema--completo{box-shadow:4px 4px 0 0 var(--canta-color-feedback-success-500)}

.lv-item{
  border:var(--canta-border-width-1) solid var(--canta-color-neutral-300);
  border-left-width:var(--canta-border-width-4);
  border-radius:var(--canta-border-radius-none);
}
.lv-item--pronto,.lv-item--adiado{border-color:var(--canta-color-neutral-1000)}
.lv-item--pronto{border-left-color:var(--canta-color-feedback-success-500)}
.lv-item--adiado{border-left-color:var(--canta-color-brand-amber)}

.lv-previa{background:var(--canta-color-neutral-100)}
.lv-folha{border-top:var(--canta-border-width-1) solid var(--canta-color-neutral-300)}

/* -------------------------------------------------------------------------
   Painel de respostas: tabela larga com filtros
   ------------------------------------------------------------------------- */
.lv-barra-filtros{
  display:flex; gap:var(--canta-spacing-3); flex-wrap:wrap; align-items:center;
  margin-bottom:var(--canta-spacing-4);
}
.lv-busca{flex:1 1 320px; min-width:240px}
.lv-filtro{flex:0 1 210px}
.lv-contador{
  font-family:var(--canta-typography-font-family-mono);
  font-size:var(--canta-typography-font-size-xs);
  color:var(--canta-color-neutral-600); white-space:nowrap;
}

.lv-tabela-caixa{
  padding:0; overflow:hidden;
  border:var(--canta-border-width-2) solid var(--canta-color-neutral-1000);
  border-radius:var(--canta-border-radius-none);
  box-shadow:var(--canta-shadow-brutal-sm);
}
.lv-tabela-rolagem{overflow-x:auto; max-height:72vh; overflow-y:auto}
.lv-tabela{font-size:var(--canta-typography-font-size-sm); min-width:1180px}
.lv-tabela thead th{
  position:sticky; top:0; z-index:2;
  background:var(--canta-color-neutral-1000); color:var(--canta-color-neutral-100);
  font-size:var(--canta-typography-font-size-xs);
  letter-spacing:var(--canta-typography-letter-spacing-wide);
  text-transform:uppercase; white-space:nowrap;
}
.lv-tabela td{vertical-align:top}
.lv-col-id{font-family:var(--canta-typography-font-family-mono); font-size:var(--canta-typography-font-size-xs); white-space:nowrap}
.lv-col-tema{font-size:var(--canta-typography-font-size-xs); color:var(--canta-color-neutral-600); max-width:150px}
.lv-col-pergunta{min-width:280px; max-width:360px}
.lv-col-resposta{min-width:220px; max-width:330px}
.lv-col-obs{font-size:var(--canta-typography-font-size-xs); color:var(--canta-color-neutral-600); max-width:220px}
.lv-col-data{font-family:var(--canta-typography-font-family-mono); font-size:var(--canta-typography-font-size-xs); white-space:nowrap; color:var(--canta-color-neutral-500)}

.lv-marca{
  display:inline-block; white-space:nowrap;
  padding:.15rem .5rem; font-size:var(--canta-typography-font-size-xs);
  font-weight:var(--canta-typography-font-weight-semibold);
  border:var(--canta-border-width-1) solid currentColor;
}
.lv-marca--ok{color:var(--canta-color-feedback-success-700); background:var(--canta-color-feedback-success-100)}
.lv-marca--enviado{color:var(--canta-color-feedback-info-700); background:var(--canta-color-feedback-info-100)}
.lv-marca--falta{color:var(--canta-color-feedback-warning-700); background:var(--canta-color-feedback-warning-100)}
.lv-marca--duvida{color:var(--canta-color-neutral-700); background:var(--canta-color-neutral-200)}
.lv-marca--restrito{color:var(--canta-color-feedback-error-700); background:var(--canta-color-feedback-error-100)}
.lv-marca--adiado{color:#7a5c00; background:#fdf3d4}
.lv-marca--vazio{color:var(--canta-color-neutral-500); background:transparent; border-style:dashed}

@media (max-width:640px){
  .lv-filtro,.lv-busca{flex:1 1 100%}
}

/* =============================================================================
   Layout de aplicação: lateral em árvore + área de conteúdo
   ============================================================================= */
.lv-app{display:flex; min-height:100vh}

/* ------------------------------------------------------------------ lateral */
.lv-lateral{
  width:320px; flex:none; display:flex; flex-direction:column;
  background:var(--canta-color-neutral-1000); color:var(--canta-color-neutral-100);
  border-right:var(--canta-border-width-3) solid var(--canta-color-brand-blue);
  position:sticky; top:0; height:100vh; overflow:hidden;
}
.lv-lateral__marca{
  display:flex; align-items:center; justify-content:space-between;
  padding:var(--canta-spacing-5) var(--canta-spacing-5) var(--canta-spacing-4);
}
.lv-logo{
  font-family:var(--canta-typography-font-family-display);
  font-weight:var(--canta-typography-font-weight-extrabold);
  font-size:var(--canta-typography-font-size-xl);
  letter-spacing:var(--canta-typography-letter-spacing-tight);
}
.lv-fechar{
  display:none; background:none; border:0; color:inherit;
  font-size:1.6rem; line-height:1; cursor:pointer;
}

/* bloco do NDA, no topo */
.lv-bloco-nda{
  display:block; margin:0 var(--canta-spacing-4) var(--canta-spacing-5);
  padding:var(--canta-spacing-4);
  border:var(--canta-border-width-2) solid var(--canta-color-neutral-700);
  color:inherit; text-decoration:none;
  transition:border-color var(--canta-transition-fast), background var(--canta-transition-fast);
}
.lv-bloco-nda:hover{border-color:var(--canta-color-brand-blue)}
.lv-bloco-nda--ativo{
  border-color:var(--canta-color-brand-blue);
  background:rgba(0,80,242,.14);
  box-shadow:var(--canta-shadow-brutal-blue);
}
.lv-bloco-nda__rotulo{
  display:block; font-size:var(--canta-typography-font-size-xs);
  font-weight:var(--canta-typography-font-weight-semibold);
  letter-spacing:var(--canta-typography-letter-spacing-wide); text-transform:uppercase;
}
.lv-bloco-nda__estado{
  display:block; margin:var(--canta-spacing-1) 0 var(--canta-spacing-2);
  font-family:var(--canta-typography-font-family-mono);
  font-size:var(--canta-typography-font-size-sm); color:var(--canta-color-neutral-400);
}

/* divisão para a árvore */
.lv-lateral__topo-arvore{
  display:flex; align-items:baseline; justify-content:space-between;
  padding:var(--canta-spacing-4) var(--canta-spacing-5) var(--canta-spacing-2);
  border-top:var(--canta-border-width-1) solid var(--canta-color-neutral-800);
}
.lv-lateral__titulo{
  font-size:var(--canta-typography-font-size-xs);
  font-weight:var(--canta-typography-font-weight-semibold);
  letter-spacing:var(--canta-typography-letter-spacing-wider); text-transform:uppercase;
  color:var(--canta-color-neutral-400);
}
.lv-lateral__contagem{
  font-family:var(--canta-typography-font-family-mono);
  font-size:var(--canta-typography-font-size-sm);
  font-weight:var(--canta-typography-font-weight-bold);
}
.lv-progresso-geral{margin:0 var(--canta-spacing-5) var(--canta-spacing-3)}

/* --------------------------------------------------------------------- árvore */
.lv-arvore{flex:1; overflow-y:auto; padding:0 var(--canta-spacing-3) var(--canta-spacing-4)}
.lv-arvore::-webkit-scrollbar{width:8px}
.lv-arvore::-webkit-scrollbar-thumb{background:var(--canta-color-neutral-700)}

.lv-ramo{border-bottom:var(--canta-border-width-1) solid var(--canta-color-neutral-800)}
.lv-ramo__cabeca{
  display:flex; align-items:center; gap:var(--canta-spacing-2); cursor:pointer;
  padding:var(--canta-spacing-3) var(--canta-spacing-2); list-style:none;
}
.lv-ramo__cabeca::-webkit-details-marker{display:none}
.lv-ramo__cabeca:hover{background:var(--canta-color-neutral-900)}
.lv-ramo__num{
  font-family:var(--canta-typography-font-family-mono);
  font-size:var(--canta-typography-font-size-xs); color:var(--canta-color-brand-blue);
}
.lv-ramo__titulo{
  flex:1; font-size:var(--canta-typography-font-size-sm);
  font-weight:var(--canta-typography-font-weight-medium); line-height:1.3;
}
.lv-ramo__contagem{
  font-family:var(--canta-typography-font-family-mono);
  font-size:var(--canta-typography-font-size-xs); color:var(--canta-color-neutral-400);
}
.lv-ramo__contagem--cheio{color:var(--canta-color-feedback-success-500); font-weight:700}
.lv-ramo__barra{margin:0 var(--canta-spacing-2) var(--canta-spacing-2); height:3px}
.lv-ramo[open] .lv-ramo__cabeca{background:var(--canta-color-neutral-900)}

.lv-folhas{list-style:none; margin:0 0 var(--canta-spacing-2); padding:0}
.lv-folha{
  display:flex; align-items:flex-start; gap:var(--canta-spacing-2);
  padding:var(--canta-spacing-2) var(--canta-spacing-2) var(--canta-spacing-2) var(--canta-spacing-4);
  color:var(--canta-color-neutral-400); text-decoration:none;
  font-size:var(--canta-typography-font-size-xs); line-height:1.35;
  border-left:var(--canta-border-width-2) solid transparent;
}
.lv-folha:hover{background:var(--canta-color-neutral-900); color:var(--canta-color-neutral-100)}
.lv-folha--ativa{
  background:var(--canta-color-brand-blue); color:#fff;
  border-left-color:var(--canta-color-brand-magenta);
  font-weight:var(--canta-typography-font-weight-semibold);
}
.lv-folha__id{font-family:var(--canta-typography-font-family-mono); flex:none; opacity:.8}
.lv-folha__texto{
  flex:1; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.lv-ponto-status{
  width:8px; height:8px; flex:none; margin-top:.35em; border:1px solid var(--canta-color-neutral-600);
}
.lv-ponto-status--ok,.lv-ponto-status--enviado{background:var(--canta-color-feedback-success-500); border-color:transparent}
.lv-ponto-status--falta,.lv-ponto-status--duvida{background:var(--canta-color-feedback-warning-500); border-color:transparent}
.lv-ponto-status--restrito{background:var(--canta-color-brand-magenta); border-color:transparent}
.lv-ponto-status--adiado{background:var(--canta-color-brand-amber); border-color:transparent}
.lv-ponto-status--vazio{background:transparent}

.lv-lateral__rodape{
  display:flex; gap:var(--canta-spacing-2); padding:var(--canta-spacing-4);
  border-top:var(--canta-border-width-1) solid var(--canta-color-neutral-800);
}
.lv-lateral__rodape .canta-btn{
  flex:1; background:transparent; color:var(--canta-color-neutral-100);
  border-color:var(--canta-color-neutral-600);
}
.lv-lateral__rodape .canta-btn:hover{
  background:var(--canta-color-neutral-900); border-color:var(--canta-color-brand-blue);
}

/* ------------------------------------------------------------------ conteúdo */
.lv-principal{flex:1; min-width:0; display:flex; flex-direction:column}
.lv-barra-topo{
  display:flex; align-items:center; gap:var(--canta-spacing-4);
  padding:var(--canta-spacing-3) var(--canta-spacing-6);
  background:var(--canta-color-neutral-100);
  border-bottom:var(--canta-border-width-1) solid var(--canta-color-neutral-300);
  position:sticky; top:0; z-index:10;
}
.lv-barra-topo__titulo{
  flex:1; font-family:var(--canta-typography-font-family-display);
  font-weight:var(--canta-typography-font-weight-bold);
  font-size:var(--canta-typography-font-size-sm);
  letter-spacing:var(--canta-typography-letter-spacing-wide); text-transform:uppercase;
}
.lv-abrir{display:none; background:none; border:0; font-size:1.3rem; cursor:pointer}
.lv-area{flex:1; padding:var(--canta-spacing-8) var(--canta-spacing-6); max-width:1180px; width:100%}

/* -------------------------------------------------------------------- questão */
.lv-questao{
  border:var(--canta-border-width-2) solid var(--canta-color-neutral-1000);
  border-radius:var(--canta-border-radius-none);
  box-shadow:var(--canta-shadow-brutal-md);
  max-width:900px;
}
.lv-questao__topo{
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--canta-spacing-4); margin-bottom:var(--canta-spacing-4);
}
.lv-questao__marcas{display:flex; align-items:center; gap:var(--canta-spacing-2); flex-wrap:wrap}
.lv-questao__id{
  font-family:var(--canta-typography-font-family-mono);
  font-size:var(--canta-typography-font-size-xs); color:var(--canta-color-neutral-600);
}
.lv-questao__tema{
  font-size:var(--canta-typography-font-size-xs); color:var(--canta-color-neutral-500);
  padding-left:var(--canta-spacing-2); border-left:1px solid var(--canta-color-neutral-300);
}
.lv-questao__posicao{
  font-family:var(--canta-typography-font-family-mono);
  font-size:var(--canta-typography-font-size-xs); color:var(--canta-color-neutral-500); white-space:nowrap;
}
.lv-questao__pergunta{
  font-family:var(--canta-typography-font-family-display);
  font-weight:var(--canta-typography-font-weight-bold);
  font-size:var(--canta-typography-font-size-2xl);
  line-height:var(--canta-typography-line-height-snug);
  letter-spacing:var(--canta-typography-letter-spacing-tight);
  margin:0 0 var(--canta-spacing-4);
}
.lv-questao__porque{
  padding:var(--canta-spacing-3) var(--canta-spacing-4);
  background:var(--canta-color-feedback-info-100);
  border-left:var(--canta-border-width-3) solid var(--canta-color-brand-blue);
  font-size:var(--canta-typography-font-size-sm);
  margin:0 0 var(--canta-spacing-3);
}
.lv-questao__meta{
  display:flex; gap:var(--canta-spacing-6); flex-wrap:wrap;
  font-size:var(--canta-typography-font-size-xs); color:var(--canta-color-neutral-600);
  margin:0 0 var(--canta-spacing-6);
}
.lv-questao__campo{margin-bottom:var(--canta-spacing-5)}
.lv-resposta{font-size:var(--canta-typography-font-size-base)}
.lv-questao__rodape{
  display:flex; align-items:center; justify-content:space-between; gap:var(--canta-spacing-4);
  margin-top:var(--canta-spacing-6); padding-top:var(--canta-spacing-5);
  border-top:var(--canta-border-width-2) solid var(--canta-color-neutral-1000);
}
.lv-questao__nav{display:flex; gap:var(--canta-spacing-3); align-items:center}

/* ------------------------------------------------------------------------ NDA */
.lv-form-nda,.lv-documento{
  border:var(--canta-border-width-2) solid var(--canta-color-neutral-1000);
  border-radius:var(--canta-border-radius-none);
  box-shadow:var(--canta-shadow-brutal-sm);
  max-width:1100px;
}
.lv-form-nda{margin-bottom:var(--canta-spacing-6)}
.lv-grade-nda{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:0 var(--canta-spacing-5); margin-top:var(--canta-spacing-4);
}
.lv-documento{padding:0; overflow:hidden}
.lv-documento__cabeca{
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--canta-spacing-4); flex-wrap:wrap;
}

/* ---------------------------------------------------------------- responsivo */
.lv-sombra{display:none}
@media (max-width:960px){
  .lv-lateral{
    position:fixed; left:0; top:0; z-index:40; transform:translateX(-100%);
    transition:transform var(--canta-transition-base);
  }
  .lv-lateral--aberta{transform:translateX(0)}
  .lv-fechar,.lv-abrir{display:block}
  .lv-sombra--visivel{
    display:block; position:fixed; inset:0; z-index:30; background:rgba(0,0,0,.5);
  }
  .lv-area{padding:var(--canta-spacing-5) var(--canta-spacing-4)}
  .lv-questao__pergunta{font-size:var(--canta-typography-font-size-xl)}
  .lv-questao__rodape{flex-direction:column-reverse; align-items:stretch}
  .lv-questao__nav{justify-content:space-between}
}

/* a tabela de respostas usa toda a largura disponível */
.lv-area--larga{max-width:none}
