/* ==========================================================================
   Hoja de cotización — solo impresión. Tamaño carta, márgenes de 2 cm.
   En impresión se ocultan todos los controles: sale únicamente #hoja.
   Sin librería de PDF: window.print().
   ========================================================================== */

@page { size: letter; margin: 2cm; }

@media print {

  /* fuera todos los controles y la app */
  #app, .toggle, .years, .btn, .btnfila, button, input, select, textarea,
  .drop, .searchbox, .chosen button, summary { display: none !important; }

  html, body {
    background: #fff !important;
    color: #16181B;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11pt;
    line-height: 1.45;
  }

  #hoja { display: block !important; }

  .hoja-caja { max-width: 100%; }

  .hoja-top {
    display: flex; justify-content: space-between; align-items: flex-start; gap: 16pt;
    padding-bottom: 10pt; border-bottom: 1.5pt solid #16181B;
  }
  .hoja-logo { max-height: 22mm; max-width: 62mm; object-fit: contain; }
  .hoja-id { text-align: right; font-size: 9.5pt; line-height: 1.5; }
  .hoja-id b { display: block; font-family: 'Space Grotesk', sans-serif; font-size: 13pt; }
  .hoja-id span { display: block; color: #6B7177; }

  #hoja h2 {
    font-family: 'Space Grotesk', sans-serif; font-size: 17pt; letter-spacing: -.02em;
    margin: 14pt 0 3pt;
  }
  #hoja h3 {
    font-size: 8pt; letter-spacing: .14em; text-transform: uppercase; color: #6B7177;
    margin: 0 0 5pt; font-weight: 600;
  }

  .hoja-veh { margin: 0 0 14pt; padding-bottom: 10pt; border-bottom: .5pt solid #D3D8DC; }
  .hoja-veh b { font-family: 'Space Grotesk', sans-serif; font-size: 13pt; display: block; }
  .hoja-veh span { display: block; font-size: 9.5pt; color: #6B7177; margin-top: 2pt; }
  .hoja-veh .mono { font-family: 'JetBrains Mono', monospace; font-size: 8.5pt; }

  .hoja-bloque { margin-bottom: 13pt; break-inside: avoid; }

  .hkv {
    display: flex; justify-content: space-between; align-items: baseline; gap: 12pt;
    padding: 4.5pt 0; border-bottom: .5pt solid #E7EAEC; font-size: 10.5pt;
  }
  .hkv span { color: #6B7177; }
  .hkv b { font-family: 'JetBrains Mono', monospace; font-variant-numeric: tabular-nums; font-weight: 600; }
  .hkv.cuota { border-bottom: 0; padding-top: 7pt; font-size: 12pt; }
  .hkv.cuota b { font-size: 14pt; font-weight: 700; }
  .hkv b em { display: block; font-style: normal; font-size: 8.5pt; color: #6B7177; font-weight: 400; text-align: right; }

  .hoja-total {
    display: flex; justify-content: space-between; align-items: baseline; gap: 12pt;
    background: #16181B; color: #fff; padding: 11pt 13pt; border-radius: 4pt;
    margin: 4pt 0 15pt; break-inside: avoid;
  }
  .hoja-total span { font-size: 9pt; letter-spacing: .1em; text-transform: uppercase; }
  .hoja-total b {
    font-family: 'Space Grotesk', sans-serif; font-size: 20pt; font-weight: 700;
    font-variant-numeric: tabular-nums; text-align: right; line-height: 1.05;
  }
  .hoja-total b em { display: block; font-style: normal; font-size: 9.5pt; font-weight: 400; color: #C9CFD4; }

  .hoja-alerta {
    border-left: 2.5pt solid #C42B21; background: #FBE8E6; color: #C42B21;
    padding: 8pt 11pt; font-size: 9.5pt; margin-bottom: 10pt; break-inside: avoid;
  }

  .hoja-pie {
    margin-top: 16pt; padding-top: 9pt; border-top: .5pt solid #D3D8DC;
    font-size: 8pt; color: #6B7177; line-height: 1.55;
  }

  a[href]::after { content: ''; }
}
