/* orcamento-proposta.css — o SEGUNDO modelo de folha do orçamento, montado em
   js/orcamento-proposta.js. Nasceu em 2026-09-07 do modelo de referência que o
   dono mandou (uma proposta gerada pelo CEM).

   Arquivo separado de orcamento.css de propósito, e não por tamanho: são dois
   documentos diferentes que dividem a MESMA folha. Tudo que governa o papel —
   `@page`, o padding de 6mm/8mm/10mm, `min-height:287mm`, a quebra entre
   `.opage`+`.opage` — está em menu-impressao-programacao.css e vale para os
   dois porque a folha continua sendo `.opage`. Aqui só entra o que é do miolo
   deste modelo, com prefixo `op2-`, sem tocar em nenhuma classe do contrato.

   A folha da proposta é `.opage.op2`: a classe a mais existe para poder trocar
   a FONTE e o CORPO sem encostar no contrato, que herda de `.opage` a
   Bahnschrift condensada e 10,5px. O modelo de referência não é condensado nem
   miúdo, e era essa a diferença que fazia a primeira versão parecer apertada
   ao lado dele.

   Os números abaixo não foram escolhidos: saíram do próprio PDF de referência,
   lidos dos operadores gráficos do arquivo (cores `rg`, corpos `Tf`, retângulos
   `re`) em 2026-09-07 — nenhum dado do cliente foi lido no caminho. Medidas em
   pt no PDF, convertidas a 96dpi (1pt = 1,333px):

     corpo do texto  9pt   -> 12px      nº da proposta  18pt -> 24px
     rótulo          preto bold         "Proposta Nº"   12pt -> 16px
     valor           #606060            rodapé/razão    8,7pt -> 11.5px
     banda           #006080, 25,5pt    rodapé/contato  8pt  -> 10.5px
     faixa vendedor  #f0f0f0            régua de campo  #808080

   As larguras da tabela de medidas são PORCENTAGEM da coluna de texto, tiradas
   das posições reais do modelo (x = 164, 212, 257, 299, 354, 426, 503 numa
   coluna de 165 a 566 pt). Porcentagem e não milímetro: a coluna muda de
   largura entre a prévia na tela (780px) e o papel (194mm), e o alinhamento
   das sete colunas é o que faz a folha parecer a mesma nos dois. */

  /* Uma cor só no documento inteiro — a banda. Todo o resto é preto, cinza e
     régua; a hierarquia vem do peso e da linha, não de mais cor. Trocar a
     empresa que usa esta folha é trocar `--op2-acc` aqui. */
  .opage.op2{
    --op2-acc:#006080;
    --op2-faixa:#f0f0f0;
    --op2-val:#606060;
    --op2-linha:#808080;
    --op2-linha2:#c8c8c8;
    --op2-rodape:#2a2c36;
    font-family:"Segoe UI",Tahoma,Arial,Helvetica,sans-serif;
    font-size:12px;line-height:1.45;color:#000}

  /* ---- cabeçalho da primeira folha ---- */
  .op2-cab{display:flex;align-items:flex-start;gap:16px;margin-bottom:10px}
  .op2-logo{flex:0 0 34%;display:flex;align-items:flex-start;justify-content:flex-start}
  .op2-logo img{max-width:100%;max-height:82px}
  .op2-tit{flex:1;text-align:right;min-width:0}
  .op2-numr{font-style:italic;font-size:16px;line-height:1.2}
  .op2-numv{font-style:italic;font-weight:bold;font-size:24px;line-height:1.15}
  /* O nome da obra fica na coluna do número, alinhado à direita — como no
     modelo. Centralizado (a primeira versão) competia com o número e deixava a
     linha do logo desequilibrada. */
  .op2-obra{font-style:italic;font-size:16px;line-height:1.25;margin-top:3px;overflow-wrap:anywhere}

  /* Duas colunas de rótulo+valor com régua embaixo de cada linha, como no
     modelo: os campos da direita saem em branco quando o cadastro não tem o
     dado (ou quem imprime não tem permissão de ver), e em branco é o
     comportamento certo — o modelo imprime o rótulo vazio para preencher à
     mão. */
  .op2-dados{display:flex;gap:24px}
  .op2-dcol{flex:1;min-width:0}
  .op2-d{display:flex;gap:6px;padding:3px 0;border-bottom:1px solid var(--op2-linha)}
  .op2-dr{font-weight:bold;flex:none}
  .op2-dv{color:var(--op2-val);min-width:0;overflow-wrap:anywhere}
  /* A linha do vendedor é faixa cinza no modelo: separa quem vende de quem
     compra sem gastar mais uma cor. */
  .op2-vend{display:flex;gap:24px;background:var(--op2-faixa);
    border-bottom:1px solid var(--op2-linha);padding:0 6px}
  .op2-vend .op2-dcol .op2-d{border-bottom:0}
  /* O modelo imprime esta linha em #a0a0a0, que dá 2,6:1 contra o branco e some
     na fotocópia. Aqui ela sai em #707070 (4,9:1): continua sendo o texto mais
     apagado da folha, mas passa no piso de contraste. Mesma razão do rodapé. */
  .op2-emit{text-align:right;font-size:10px;color:#707070;margin-top:3px}
  /* A única cor da folha. Texto branco sobre #006080 dá 7,2:1 de contraste, e
     em impressora preto-e-branco a banda vira cinza escuro com o texto ainda
     legível. */
  .op2-banda{display:flex;background:var(--op2-acc);color:#fff;font-weight:bold;
    padding:8px 10px;margin:8px 0 10px}
  .op2-banda>div:first-child{flex:1.6}
  .op2-banda>div{flex:1}

  /* ---- cabeçalho das folhas seguintes ---- */
  .op2-cont{font-weight:bold;border-bottom:1px solid var(--op2-linha);
    padding-bottom:4px;margin-bottom:8px}

  /* ---- item ---- */
  .op2-item{display:flex;gap:12px;align-items:flex-start;padding:9px 0;
    border-bottom:1px solid var(--op2-linha2)}
  .op2-des{flex:0 0 24%;width:24%;display:flex;align-items:center;justify-content:center;
    min-height:88px;background:#fff}
  .op2-des img{max-width:100%;max-height:150px;display:block}
  /* Sem desenho a coluna CONTINUA existindo: o alinhamento das sete colunas de
     medida é o que se lê nesta folha, e ele se perde se um item sem imagem
     puxar o texto para a esquerda. */
  .op2-dad{flex:1;min-width:0}
  .op2-desc{font-weight:bold;text-transform:uppercase;line-height:1.35;margin-bottom:4px}
  .op2-l{line-height:1.5}
  .op2-l b{font-weight:bold}
  .op2-l span{color:var(--op2-val)}
  .op2-areas{display:flex;line-height:1.5}
  .op2-areas>div{flex:1}
  .op2-areas span{color:var(--op2-val)}
  /* Tabela com moldura e divisória entre colunas, como no modelo: são sete
     números curtos, e sem a divisória a leitura salta de coluna. */
  .op2-tb{width:100%;border-collapse:collapse;table-layout:fixed;margin-top:6px;font-size:11.5px}
  .op2-tb th{text-align:left;font-weight:bold;padding:3px 5px;
    border-top:1px solid var(--op2-linha);border-bottom:1px solid var(--op2-linha)}
  .op2-tb td{padding:3px 5px;color:var(--op2-val);border-bottom:1px solid var(--op2-linha)}
  .op2-tb th+th,.op2-tb td+td{border-left:1px solid var(--op2-linha2)}
  /* O total é o número que se procura na linha — único em preto. */
  .op2-tb td.c7{color:#000;font-weight:bold}
  .op2-tb .c1{width:12%}
  .op2-tb .c2{width:11%}
  .op2-tb .c3{width:10.5%}
  .op2-tb .c4{width:13.5%}
  .op2-tb .c5{width:18%}
  .op2-tb .c6{width:19%}
  .op2-tb .c7{width:16%;text-align:right}
  .op2-tb .c7,.op2-tb th.c7{text-align:right}

  /* ---- última folha ---- */
  .op2-tot{display:flex;gap:18px;border-top:2px solid #222;border-bottom:2px solid #222;
    padding:7px 0;margin-bottom:12px}
  .op2-tot>div{flex:1}
  .op2-tot .v{font-weight:bold;font-size:15px;display:block;margin-top:2px}
  .op2-tot .fim{text-align:right}
  .op2-bl{margin-bottom:11px}
  .op2-bt{font-weight:bold;margin-bottom:2px}
  .op2-bc{color:var(--op2-val);line-height:1.55;white-space:pre-wrap;min-height:15px}
  .op2-sigs{display:flex;gap:40px;margin-top:18px}
  .op2-sig{flex:1;text-align:center}
  .op2-sigl{border-bottom:1px solid #333;height:46px;margin-bottom:4px;position:relative}
  .op2-sigl img{position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);
    max-height:58px;max-width:88%;pointer-events:none}
  .op2-sign{font-weight:bold}
  .op2-sigd{font-size:10.5px;color:var(--op2-val)}

  /* ---- rodapé, em toda folha ---- */
  .op2-rod{border-top:1px solid var(--op2-linha);padding-top:5px;margin-top:10px;
    font-size:10.5px;line-height:1.5;color:#5c5c5c}
  .op2-rod1{display:flex;gap:10px;font-weight:bold;font-size:11.5px;color:var(--op2-rodape)}
  .op2-rod1 .pg{margin-left:auto;color:#000}
