/* cockgit — nova-lancador.css
   vista /nova · o LANÇADOR [+ Tarefa] — o overlay que dá tarefa à fábrica (PR 6 →
   PR 13): o alvo (repo · tipo · prioridade), as DUAS PORTAS (a estruturada, que é o
   form do [+ Nova] do legado, e a conversa, com voz transcrita no navegador) e a
   lista de tarefas recentes do repo. A ficha da mesa de prospecção (#nv-pr, em
   nova-empresa.css) REUSA a casca `.nv-la` daqui — por isso esta folha vem antes.

   [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. */
  /* ---- [PR 6] lançador de tarefas por repo (referência: .launcher, .la- e
     .task-row do protótipo — sem barra-asterisco aqui: um "asterisco-barra" DENTRO
     do comentário fechava-o cedo e envenenava o #nv-la, que nascia aberto e em
     fluxo): overlay acima do drawer (z 40 > 30), form em cima, recentes embaixo.
     Backdrop rgba como o .overlay do modal; o resto todo em token. ---- */
  #nv-la{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:40;
    align-items:flex-start;justify-content:center;padding:56px 16px}
  #nv-la.on{display:flex}
  .nv-la{width:min(620px,100%);max-height:82vh;display:flex;flex-direction:column;
    background:var(--surface);border:1px solid var(--ruleS)}
  .nv-la-head{display:flex;align-items:center;gap:10px;padding:12px 16px;
    border-bottom:1px solid var(--border);font-weight:700}
  .nv-la-head .nv-la-mk{color:var(--accent2);flex:none}
  .nv-la-head button{margin-left:auto}
  /* [PR 13] as DUAS portas: estruturada (o form do legado) e conversa — cujo "estilo
     do chat do Claude" é a FORMA (bolha, ritmo, mono no dado), toda em token. */
  .nv-la-tabs{display:flex;gap:6px;padding:10px 16px 0}
  .nv-la-tabs button.on{border-color:var(--accent);color:var(--accent);background:var(--surface2)}
  .nv-la-alvo{display:flex;gap:8px 10px;align-items:center;flex-wrap:wrap;padding:12px 16px;
    border-bottom:1px solid var(--surface2)}
  .nv-la-alvo label,.nv-la-f>label{color:var(--muted);font-size:var(--t-cap);
    letter-spacing:.1em;text-transform:uppercase}
  .nv-la-alvo select{width:auto;background:var(--surface2)}
  /* overflow-y é OBRIGATÓRIO: o .nv-la tem max-height e o painel ENCOLHE — sem ele
     o conteúdo espirrava por cima dos recentes logo abaixo */
  .nv-la-pane{display:flex;flex-direction:column;gap:10px;padding:14px 16px;min-height:0;
    flex:1 1 auto;overflow-y:auto;border-bottom:1px solid var(--surface2)}
  .nv-la-pane[hidden],#nv-la-mic[hidden],.nv-la-row.so-form[hidden]{display:none}
  .nv-la-f{display:flex;flex-direction:column;gap:5px}
  .nv-la-f .req{color:var(--p1)}
  .nv-la-f textarea,.nv-cv-in textarea{resize:vertical}
  .nv-la-hint,.nv-cv-foot{color:var(--p3);font-size:var(--t-cap)}
  #nv-la-title,.nv-cv-in textarea{border-color:var(--accent)}
  .nv-la-row,.nv-cv-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
  .nv-la-row .primary,.nv-cv-row .primary{margin-left:auto}
  .nv-la-st{font-size:var(--t-cap);min-height:1.2em;padding:0 16px}
  .nv-la-row.so-form{padding:12px 16px;border-bottom:1px solid var(--surface2)}
  /* flex-BASIS, não min-height: com mínimo rígido o log empurrava campo e botões para
     fora na janela baixa. Cede primeiro — quem nunca some é o que ele precisa tocar. */
  .nv-cv-log{display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1 1 160px;
    min-height:0;padding:4px 2px}
  .nv-cv-b{display:flex;gap:8px;max-width:86%;padding:10px 13px;border:1px solid var(--border);
    font-size:var(--t-dat);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
  .nv-cv-b.pa{align-self:flex-start;background:var(--surface2);color:var(--text)}
  .nv-cv-b.pa .mk{color:var(--accent2);flex:none}
  .nv-cv-b.eu{align-self:flex-end;background:var(--bg);border-color:var(--ruleS)}
  .nv-cv-in{display:flex;flex-direction:column;gap:8px;flex:none}
  .nv-cv-foot{flex:none}
  #nv-la-mic.ouvindo{border-color:var(--p0);color:var(--p0)}
  #nv-la-mic.ouvindo span{animation:nv-blink 1.2s infinite}
  #nv-la-mic:disabled{color:var(--p3);cursor:not-allowed}
  .nv-cv-voz{color:var(--muted);font-size:var(--t-cap);flex:1;min-width:0}
  @media (prefers-reduced-motion:reduce){ #nv-la-mic.ouvindo span{animation:none} }
  /* os recentes ficam na altura natural, com teto no bloco da escala: nem crescem
     sobre o painel nem somem debaixo dele — quem absorve a sobra é o painel */
  .nv-la-rec{overflow-y:auto;padding-bottom:6px;flex:0 0 auto}
  .nv-la-rec .nv-cap{margin:12px 16px 4px}
  .nv-la-item{display:flex;gap:10px;align-items:baseline;padding:9px 16px;min-width:0;
    border-bottom:1px solid var(--surface2);font-size:var(--t-dat);color:var(--text)}
  .nv-la-item[role="button"],a.nv-la-item{cursor:pointer}
  .nv-la-item[role="button"]:hover,a.nv-la-item:hover{background:var(--surface2)}
  .nv-la-item .tx{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .nv-la-item .tx small{display:block;color:var(--muted);font-size:var(--t-cap)}
  .nv-la-item.vazio{color:var(--p3)}
  .nv-la-dot{flex:none}
  @media (pointer:coarse),(max-width:820px){ .nv-la-item{min-height:44px} }

  /* ================= ESCALA DE 2 METROS (nova.css) · o lançador: painel de leitura —
     a largura acompanha a letra. ================= */
  /* [PR 13] com o form do legado e a conversa, o lançador pede mais largura e altura.
     O que ele ESCREVE e LÊ fica em --t-bod (27px); rótulo, dica e rodapé seguem em
     caps — etiqueta não é leitura. O alvo de 44px vem do bloco #nv, que não alcança
     campo nem select: eles entram na conta aqui. */
  .nv-la{width:min(900px,100%);max-height:88vh}
  .nv-la-head{font-size:var(--t-bod);padding:14px 18px}
  .nv-la-tabs button{font-size:var(--t-dat);padding:8px 16px}
  .nv-la-alvo,.nv-la-row.so-form{padding:12px 18px}
  /* repo/tipo/prioridade são PICKER: valem a regra do topo do bloco (chrome modesto,
     corpo grande). A 22px os três não cabiam, e a quebra separava rótulo de select. */
  .nv-la-alvo select{font-size:var(--t-cap);min-height:44px;padding:6px 10px}
  .nv-la-pane{padding:16px 18px;gap:14px}
  .nv-la-rec{max-height:16vh}
  #nv-la-title,.nv-la-f textarea,.nv-cv-in textarea{font-size:var(--t-bod);
    line-height:1.45;padding:10px 12px;min-height:44px}
  .nv-la-f textarea{min-height:88px}
  .nv-cv-in textarea{min-height:104px}
  .nv-cv-b{font-size:var(--t-bod);padding:12px 16px;line-height:1.5}
  /* 240px = dois turnos: o mínimo para a aba parecer conversa */
  .nv-cv-log{gap:14px;flex-basis:240px}
  #nv-la-p-chat{overflow:hidden}   /* aqui quem rola é o log, não o painel inteiro */

  /* ---- O CELULAR (preâmbulo em nova.css) ---- */
  @media (max-width:820px){
    /* --- LANÇADOR (as duas portas do PR 13): a tela inteira ---
       `height:100dvh` em vez de `max-height:82vh` centrado: com o
       `interactive-widget=resizes-content` do viewport, o teclado virtual encolhe o
       painel junto — e o que o PR 13 já garantia numa janela baixa (a fileira de
       ação vive FORA do painel que rola) passa a valer com o teclado aberto. */
    #nv-la{padding:0;align-items:stretch;justify-content:stretch}
    .nv-la{width:100%;max-height:none;height:100dvh;border:0;overscroll-behavior:contain}
    .nv-la-pane{overscroll-behavior:contain}
    /* repo · tipo · prioridade: uma GRADE de duas colunas, rótulo | select.
       Com flex-wrap os três pares quebravam na diagonal — "REPO [cockpit] TIPO" e
       o select do tipo na linha de baixo, ao lado do rótulo PRIORIDADE: cada
       rótulo acabava colado no select do vizinho. A grade prende o par. */
    .nv-la-head{align-items:flex-start}
    .nv-la-alvo{display:grid;grid-template-columns:auto minmax(0,1fr);
      gap:8px 10px;align-items:center}
    .nv-la-alvo select{width:100%}
    /* o log da conversa pode usar a largura toda: 86% de 358 deixava a bolha com
       ~300px e o dado do agente quebrando em duas palavras por linha */
    .nv-cv-b{max-width:94%}
    /* as duas portas embrulham em vez de cortar: a 360 o [conversa] saía pela
       direita do painel, ou seja um controle pela metade */
    .nv-la-tabs{flex-wrap:wrap}
    /* e o verbo principal ocupa a largura que sobrar — na linha só dele, vira a
       faixa que o polegar acha sem mirar */
    .nv-la-row,.nv-cv-row{gap:10px}
    .nv-la-row .primary,.nv-cv-row .primary{flex:1 1 auto;min-height:52px}
  }
