/* Documentos jurídicos/operacionais A4 da OS */
.legal-a4 { display: none; }

@media print {
  @page { size: A4 portrait; margin: 10mm 11mm 12mm; }
  html, body { width: 210mm !important; min-width: 0 !important; background: #fff !important; }
  body > *:not(#printArea) { display: none !important; }
  #printArea, .print-area { display: block !important; width: auto !important; padding: 0 !important; margin: 0 !important; }
  .legal-a4 {
    display: block !important;
    position: relative;
    width: 100%;
    min-height: 273mm;
    box-sizing: border-box;
    color: #182230;
    background: #fff;
    font: 9.2pt/1.32 Arial, Helvetica, sans-serif;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .legal-header { display: grid; grid-template-columns: 36mm minmax(0,1fr) 30mm; gap: 7mm; align-items: center; padding-bottom: 5mm; border-bottom: 1.5pt solid #168df2; }
  .legal-header img { width: 33mm; height: auto; }
  .legal-header small { display: block; color: #168df2; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
  .legal-header h1 { margin: 1mm 0 0; font-size: 19pt; line-height: 1; letter-spacing: .025em; color: #101828; }
  .legal-header p { margin: 2mm 0 0; color: #475467; }
  .legal-os-number { padding: 3mm; border: 1pt solid #b9dafe; border-radius: 3mm; background: #eef7ff; text-align: center; }
  .legal-os-number span { display: block; color: #667085; font-size: 7.5pt; font-weight: 800; }
  .legal-os-number strong { display: block; margin-top: 1mm; color: #0877d1; font-size: 15pt; }
  .legal-meta { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3mm; margin: 4mm 0; }
  .legal-meta div { padding: 2.5mm 3mm; border: .7pt solid #d0d5dd; border-radius: 2mm; background: #f8fafc; }
  .legal-meta small { display: block; color: #667085; font-size: 7pt; font-weight: 800; text-transform: uppercase; }
  .legal-meta strong { display: block; margin-top: .7mm; font-size: 9pt; }
  .legal-two-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 3mm; }
  .legal-section { margin: 0 0 3mm; border: .7pt solid #bfc7d4; border-radius: 2mm; overflow: hidden; break-inside: avoid; }
  .legal-section h2, .legal-terms h2 { margin: 0; padding: 2mm 3mm; color: #fff; background: #26354a; font-size: 9pt; letter-spacing: .04em; text-transform: uppercase; }
  .legal-section table { width: 100%; border-collapse: collapse; }
  .legal-section th, .legal-section td { padding: 1.6mm 2.5mm; border-top: .5pt solid #e1e5eb; vertical-align: top; text-align: left; }
  .legal-section th { width: 31%; color: #475467; background: #f7f9fc; font-size: 7.8pt; }
  .legal-section td { color: #182230; font-weight: 600; overflow-wrap: anywhere; }
  .legal-check-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5mm 4mm; padding: 2.5mm 3mm; }
  .legal-check { display: flex; align-items: center; gap: 2mm; font-size: 8pt; }
  .legal-check span { display: grid; width: 4mm; height: 4mm; place-items: center; border: .7pt solid #98a2b3; border-radius: 50%; color: #667085; font-size: 7pt; }
  .legal-check.ok span { border-color: #0f9f6e; color: #087a55; background: #e9fbf4; }
  .legal-alert { margin: 0 3mm 2.5mm; padding: 2mm; border-left: 2pt solid #d99a16; background: #fff8e7; font-size: 8pt; }
  .legal-muted { padding: 2.5mm 3mm; color: #667085; }
  .legal-terms { margin: 1mm 0 0; border: .8pt solid #9aa4b2; border-radius: 2mm; overflow: hidden; break-inside: avoid; }
  .legal-terms ol { margin: 0; padding: 2.7mm 4mm 2.7mm 8mm; }
  .legal-terms li { margin: 0 0 1.2mm; text-align: justify; }
  .legal-warranty { border-color: #168df2; }
  .legal-warranty h2 { background: #0f6eb9; }
  .legal-signatures { display: grid; grid-template-columns: 1fr 1fr; gap: 18mm; margin: 13mm 10mm 0; break-inside: avoid; }
  .legal-signatures div { display: grid; min-height: 17mm; align-content: end; text-align: center; }
  .legal-signatures img { max-width: 60mm; max-height: 14mm; margin: 0 auto -1mm; object-fit: contain; }
  .legal-signatures span { border-top: .8pt solid #344054; }
  .legal-signatures p { margin: 1.5mm 0 0; color: #475467; font-size: 8pt; }
  .legal-footer { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-between; padding-top: 2mm; border-top: .5pt solid #d0d5dd; color: #667085; font-size: 7pt; }
}
