/* cockgit — nova-drawer.css
   vista /nova · o DRAWER do item — a gaveta lateral que abre ao clicar numa peça
   (Empresa, Board, Radar, Taskboard, Votação) e o RODAPÉ DE RESOLUÇÃO dela (PR 8):
   os verbos que resolvem o item (aprovar, responder, soltar o freio, adiar), a
   pergunta inteira do agente com as respostas prontas, e a mensagem REAL do backend
   — no drawer (`.nv-ac-msg`) ou no próprio card da lista (`.nv-ac-msg-it`, que
   estava no bloco do Board e veio para junto da família `.nv-ac-*` a que pertence:
   é desenhada por app-nova-acoes.js em qualquer card, não só no Board).

   O CORPO do drawer (a linha do tempo do ledger, em cards por etapa) NÃO mora aqui:
   é css/nova-ledger.css, carregado depois. Aqui é a casca — quem abre, quem rola
   (`.nv-dr-live`), quem fecha, inclusive o [fechar ×] do PÉ, que só existe no celular.
   O @keyframes nv-blink que o `.nv-dot` usa ficou em nova.css (é de três folhas).

   [02/09/2026] Veio de nova.css na QUEBRA POR ÁREA, verbatim e na mesma ordem
   relativa; o porquê e a prova estão no cabeçalho de nova.css. Cor só por token. */
  /* ---- drawer do ledger: painel fixo à direita; sem transição essencial ---- */
  #nv-drawer{display:none;position:fixed;top:0;right:0;bottom:0;width:min(460px,100vw);
    background:var(--surface);border-left:1px solid var(--ruleS);z-index:30;
    flex-direction:column;box-shadow:-8px 0 30px rgba(0,0,0,.5)}
  #nv-drawer.open{display:flex}
  .nv-dr-head{display:flex;align-items:center;gap:10px;padding:12px 16px;
    border-bottom:1px solid var(--border)}
  .nv-dr-head .t{font-weight:700;flex:1;min-width:0;overflow:hidden;
    text-overflow:ellipsis;white-space:nowrap}
  .nv-dot{width:7px;height:7px;background:var(--accent2);display:inline-block;
    flex:none;animation:nv-blink 1.2s infinite}
  /* a regra de movimento reduzido fica AQUI, depois do .nv-dot, como sempre esteve:
     a ordem é o que a faz valer para ele. (O .nv-pt da Empresa é declarado depois,
     em nova-planta.css, e por isso segue piscando sob prefers-reduced-motion — era
     assim antes da quebra; corrigir é outro PR, com o dono.) */
  @media (prefers-reduced-motion: reduce){ .nv-dot,.nv-pt{animation:none} }
  .nv-dr-sub{padding:8px 16px;font-size:var(--t-cap);color:var(--muted);
    border-bottom:1px solid var(--surface2)}
  .nv-dr-live{flex:1;overflow-y:auto;padding:12px 16px;line-height:1.7;overflow-wrap:anywhere}
  /* [01/09] o CORPO do drawer (a linha do tempo em cards por etapa) mora em
     css/nova-ledger.css. As regras `.ev`/`.meta` do despejo cru saíram junto com
     o despejo: CSS órfão é peso que parece cobertura. Quem ROLA continua sendo o
     .nv-dr-live acima — o drawer rola dentro dele mesmo. */

  /* ---- [PR 8] rodapé de RESOLUÇÃO do drawer: o que dá para FAZER com o item.
     Some sozinho (`:empty`) quando não há ação — nada de rodapé oco. ---- */
  .nv-dr-acts:empty{display:none}
  .nv-dr-acts{flex:none;border-top:1px solid var(--ruleS);padding:10px 16px;
    background:var(--surface)}
  .nv-ac-cap{font-size:var(--t-cap);color:var(--muted);margin-bottom:8px}
  .nv-ac-txt{display:block;width:100%;box-sizing:border-box;font:inherit;
    font-size:var(--t-dat);background:var(--bg);color:var(--text);
    border:1px solid var(--border);padding:8px 9px;margin-bottom:8px;
    resize:vertical;min-height:44px}
  .nv-ac-txt::placeholder{color:var(--p3)}
  /* [30/08] a pergunta INTEIRA (na lista ela sai cortada) e as respostas prontas:
     responder não pode exigir digitar numa tela click-and-go */
  .nv-ac-perg{font-size:var(--t-dat);color:var(--text);background:var(--bg);
    border-left:3px solid var(--p2);padding:8px 10px;margin-bottom:8px;
    max-height:9em;overflow:auto;overflow-wrap:anywhere;white-space:pre-wrap}
  .nv-ac-presets{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
  button.nv-preset{font-size:var(--t-cap);color:var(--muted);text-align:left;max-width:100%}
  button.nv-preset:hover{color:var(--text);border-color:var(--accent)}
  .nv-ac-bts{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
  /* armado pelo 1º clique: [confirmar?] em vermelho de parada — o 2º dispara */
  button.nv-ac-arm,button.nv-ac-arm:hover{border-color:var(--p0);color:var(--p0);
    font-weight:700}
  /* [adiar 4h] é o gesto mais frio do rodapé: apagado, ao lado dos verbos quentes.
     (Nasceu na caixa de Decisões; a tela saiu em 30/08, o botão do drawer ficou.) */
  .nv-adiar{color:var(--muted)}
  /* a resposta do backend é irmã do bloco de botões (região viva persistente) */
  .nv-ac-msg:empty{display:none}
  .nv-ac-msg{flex:none;background:var(--surface);padding:0 16px 10px;
    font-size:var(--t-cap);overflow-wrap:anywhere}

  /* [31/08] a resposta REAL do backend NO CARD. O item da lista não abre drawer,
     e até aqui a mensagem só existia dentro dele: POST que falhava não mudava um
     byte do card. Vazia, a região não ocupa espaço — nada de caixa fantasma. */
  .nv-ac-msg-it:empty{display:none}
  .nv-ac-msg-it{margin-top:4px;font-size:var(--t-cap);line-height:1.35;
    overflow-wrap:anywhere}
  /* [escala de 2 metros e alvo de 44px desta tela: bloco no fim deste arquivo; os tokens --t-* em nova.css] */

  /* ================= ESCALA DE 2 METROS (nova.css) · o drawer: painel de leitura —
     a largura acompanha a letra. ================= */
  #nv-drawer{width:min(680px,100vw)}
  .nv-dr-live{line-height:1.6}
  /* o [fechar ×] do PÉ do drawer só existe no celular (bloco do celular, no fim) */
  .nv-dr-fim{display:none}

  /* ---- O CELULAR (preâmbulo em nova.css) ---- */
  @media (max-width:820px){
    /* --- DRAWER: a tela inteira, e o fechar no PÉ (polegar) ---
       `height:100dvh` + `bottom:auto` em vez de `top:0;bottom:0`: com o teclado
       virtual aberto e `interactive-widget=resizes-content` no viewport, o painel
       encolhe junto e o campo de resposta + os botões continuam visíveis. */
    #nv-drawer{width:100%;left:0;right:0;top:0;bottom:auto;height:100dvh;
      border-left:0;box-shadow:none;overscroll-behavior:contain}
    /* o título do item para de ser cortado no "…": numa fileira de 358px ele
       perdia o número da issue. Aqui ele QUEBRA em duas linhas — a régua da vista
       é empilhar, nunca esconder. */
    .nv-dr-head{position:sticky;top:0;background:var(--surface);z-index:1;
      align-items:flex-start;flex-wrap:wrap}
    .nv-dr-head .t{white-space:normal;overflow:visible;text-overflow:clip;
      overflow-wrap:anywhere;flex:1 1 60%}
    .nv-dr-live{overscroll-behavior:contain}
    .nv-dr-fim{display:block;flex:none;width:100%;margin:0;border:0;
      border-top:1px solid var(--ruleS);background:var(--surface);
      min-height:52px;color:var(--muted)}

  }
