/* Orçamento Formal — PDF exclusivo e otimizado para A4.
   A tela continua igual; essas regras só valem enquanto body.printing-formal está ativo. */
#formalPrintRoot{
  display:none;
}

@media print{
  body.printing-formal{
    background:#fff !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
  }

  /* Imprime somente o orçamento clonado */
  body.printing-formal > *:not(#formalPrintRoot){
    display:none !important;
  }

  body.printing-formal #formalPrintRoot{
    display:block !important;
    width:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    overflow:visible !important;
  }

  body.printing-formal #formalPrintRoot .formal-quote-wrap{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    overflow:visible !important;
  }

  body.printing-formal #formalPrintRoot .formal-actions,
  body.printing-formal #formalPrintRoot .formal-sidepanel{
    display:none !important;
  }

  /* Usa quase todo o A4: 210×297mm com margem global de 4mm já definida no ERP. */
  body.printing-formal #formalPrintRoot .formal-paper{
    width:202mm !important;
    max-width:202mm !important;
    min-height:289mm !important;
    height:289mm !important;
    margin:0 auto !important;
    padding:0 !important;
    border:none !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:hidden !important;
    background:#fff !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }

  body.printing-formal #formalPrintRoot .formal-paper::before{
    height:39mm !important;
    border-radius:0 !important;
    background:linear-gradient(135deg,#1a73e8 0%,#1967d2 55%,#1558b0 100%) !important;
  }

  body.printing-formal #formalPrintRoot .formal-inner{
    width:100% !important;
    min-height:289mm !important;
    height:289mm !important;
    display:grid !important;
    grid-template-rows:39mm 250mm !important;
    gap:0 !important;
    overflow:hidden !important;
  }

  /* Cabeçalho: maior e melhor distribuído no azul */
  body.printing-formal #formalPrintRoot .formal-header-row{
    min-height:39mm !important;
    height:39mm !important;
    padding:7mm 7mm 6mm !important;
    display:grid !important;
    grid-template-columns:44mm 1fr 50mm !important;
    gap:6mm !important;
    align-items:center !important;
  }

  body.printing-formal #formalPrintRoot .formal-brand-title{
    font-size:34px !important;
    line-height:.9 !important;
    letter-spacing:-.055em !important;
  }
  body.printing-formal #formalPrintRoot .formal-brand-sub{
    font-size:7px !important;
    letter-spacing:.34em !important;
  }
  body.printing-formal #formalPrintRoot .formal-company-inline{
    gap:1.4mm 4mm !important;
    align-content:center !important;
  }
  body.printing-formal #formalPrintRoot .formal-company-inline-label{
    font-size:6.4px !important;
    color:rgba(255,255,255,.72) !important;
  }
  body.printing-formal #formalPrintRoot .formal-company-inline-value,
  body.printing-formal #formalPrintRoot .formal-company-inline-item{
    font-size:7.8px !important;
    line-height:1.28 !important;
    color:#fff !important;
  }
  body.printing-formal #formalPrintRoot .formal-topbar-badge{
    justify-self:end !important;
    align-self:start !important;
    font-size:7.1px !important;
    padding:2.5px 8px !important;
    border-radius:999px !important;
    color:#fff !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.28) !important;
  }

  /* Corpo: aproveita o A4 sem crescer demais */
  body.printing-formal #formalPrintRoot .formal-body-area{
    min-height:250mm !important;
    height:250mm !important;
    padding:0 6.2mm 6mm !important;
    display:grid !important;
    grid-template-rows:31mm 111mm 84mm !important;
    gap:4mm !important;
    align-content:start !important;
    overflow:hidden !important;
  }

  body.printing-formal #formalPrintRoot .formal-row1,
  body.printing-formal #formalPrintRoot .formal-row2,
  body.printing-formal #formalPrintRoot .formal-bottom{
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }

  body.printing-formal #formalPrintRoot .formal-row1{
    display:grid !important;
    grid-template-columns:1fr 50mm !important;
    gap:4mm !important;
    align-items:stretch !important;
  }

  body.printing-formal #formalPrintRoot .formal-row2{
    display:grid !important;
    grid-template-columns:1fr 52mm !important;
    gap:4mm !important;
    align-items:stretch !important;
  }

  body.printing-formal #formalPrintRoot .formal-bottom{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:4mm !important;
    align-items:stretch !important;
  }

  body.printing-formal #formalPrintRoot .formal-client-meta,
  body.printing-formal #formalPrintRoot .formal-doc-card,
  body.printing-formal #formalPrintRoot .formal-body,
  body.printing-formal #formalPrintRoot .formal-center-note,
  body.printing-formal #formalPrintRoot .formal-pricing,
  body.printing-formal #formalPrintRoot .formal-bank,
  body.printing-formal #formalPrintRoot .formal-terms{
    border-radius:8px !important;
    box-shadow:none !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }

  body.printing-formal #formalPrintRoot .formal-client-meta{
    padding:5mm 5.4mm !important;
    align-content:center !important;
  }
  body.printing-formal #formalPrintRoot .formal-doc-card{
    padding:4.5mm !important;
    align-content:center !important;
  }

  body.printing-formal #formalPrintRoot .formal-kicker,
  body.printing-formal #formalPrintRoot .formal-doc-tag,
  body.printing-formal #formalPrintRoot .formal-product-chip,
  body.printing-formal #formalPrintRoot .formal-note-label,
  body.printing-formal #formalPrintRoot .formal-pricing-title,
  body.printing-formal #formalPrintRoot .formal-section-title{
    font-size:7px !important;
    letter-spacing:.11em !important;
  }

  body.printing-formal #formalPrintRoot .formal-client-name{
    font-size:18px !important;
    line-height:1.04 !important;
  }
  body.printing-formal #formalPrintRoot .formal-client-extra{
    font-size:9px !important;
    line-height:1.32 !important;
  }
  body.printing-formal #formalPrintRoot .formal-doc-title{
    font-size:22px !important;
    line-height:1 !important;
  }
  body.printing-formal #formalPrintRoot .formal-doc-sub{
    font-size:8.4px !important;
    line-height:1.38 !important;
  }

  body.printing-formal #formalPrintRoot .formal-body{
    height:100% !important;
    padding:5.2mm 5.4mm !important;
    gap:2.6mm !important;
    align-content:start !important;
    overflow:hidden !important;
  }
  body.printing-formal #formalPrintRoot .formal-product-title{
    font-size:15.2px !important;
    line-height:1.1 !important;
    margin-bottom:.8mm !important;
  }
  body.printing-formal #formalPrintRoot .formal-desc{
    font-size:9.1px !important;
    line-height:1.48 !important;
    max-height:88mm !important;
    overflow:hidden !important;
  }

  body.printing-formal #formalPrintRoot .formal-aside-stack{
    height:100% !important;
    display:grid !important;
    grid-template-rows:32mm 1fr !important;
    gap:4mm !important;
  }
  body.printing-formal #formalPrintRoot .formal-center-note{
    padding:4.3mm !important;
    gap:1.5mm !important;
  }
  body.printing-formal #formalPrintRoot .formal-center-note p{
    font-size:8.6px !important;
    line-height:1.38 !important;
  }
  body.printing-formal #formalPrintRoot .formal-pricing{
    padding:4.4mm !important;
    gap:2mm !important;
    align-content:start !important;
  }
  body.printing-formal #formalPrintRoot .formal-pricing-badge{
    font-size:6.8px !important;
    padding:2px 6px !important;
  }
  body.printing-formal #formalPrintRoot .formal-pricing-line{
    font-size:8.8px !important;
    line-height:1.34 !important;
    gap:1.8mm !important;
  }
  body.printing-formal #formalPrintRoot .formal-pricing-total{
    margin-top:1.5mm !important;
    padding-top:1.8mm !important;
  }
  body.printing-formal #formalPrintRoot .formal-pricing-total strong{
    font-size:17.8px !important;
    line-height:1.02 !important;
  }

  body.printing-formal #formalPrintRoot .formal-bank,
  body.printing-formal #formalPrintRoot .formal-terms{
    height:100% !important;
    padding:5mm 5.3mm !important;
    gap:2.4mm !important;
    overflow:hidden !important;
  }
  body.printing-formal #formalPrintRoot .formal-bank-grid{
    gap:1.5mm !important;
  }
  body.printing-formal #formalPrintRoot .formal-bank-row{
    grid-template-columns:21mm 1fr !important;
    gap:2mm !important;
  }
  body.printing-formal #formalPrintRoot .formal-bank-label{
    font-size:7.8px !important;
  }
  body.printing-formal #formalPrintRoot .formal-bank-value{
    font-size:8.8px !important;
    line-height:1.38 !important;
  }
  body.printing-formal #formalPrintRoot .formal-payment-box{
    margin-top:1.4mm !important;
    padding:3mm 3.3mm !important;
    border-radius:7px !important;
    gap:1.2mm !important;
  }
  body.printing-formal #formalPrintRoot .formal-payment-title{
    font-size:6.8px !important;
  }
  body.printing-formal #formalPrintRoot .formal-payment-methods{
    font-size:8.6px !important;
  }
  body.printing-formal #formalPrintRoot .formal-payment-note{
    font-size:8.1px !important;
    line-height:1.38 !important;
  }
  body.printing-formal #formalPrintRoot .formal-terms-list{
    gap:1.8mm !important;
  }
  body.printing-formal #formalPrintRoot .formal-terms-list p{
    font-size:8.8px !important;
    line-height:1.42 !important;
    padding-left:3.4mm !important;
  }
  body.printing-formal #formalPrintRoot .formal-terms-list p::before{
    width:3px !important;
    height:3px !important;
    top:.62em !important;
  }
}
