/* ============================================================
   Impresión en hoja carta — estado de resultados.

   Esta hoja NO convive con print.css: nace deshabilitada en el
   HTML y reportes.js la enciende solo mientras se imprime el
   estado de resultados (y vuelve a apagarla al terminar), para
   que el recibo térmico siga saliendo en 80mm.
   ============================================================ */

@page {
  size: letter portrait;
  margin: 16mm 15mm;
}

@media print {

  /* Solo se imprime el área de impresión, igual que con el recibo. */
  body > *:not(#area-impresion) { display: none !important; }

  html, body {
    background: #fff !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #area-impresion {
    display: block !important;
    color: #000;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 11pt;
    line-height: 1.45;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* ── Encabezado ───────────────────────────────────────── */

  .c-empresa {
    text-align: center;
    font-size: 15pt;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .02em;
  }

  .c-empresa-dato {
    text-align: center;
    font-size: 9.5pt;
    color: #333;
    margin-top: 1mm;
  }

  .c-titulo {
    text-align: center;
    font-size: 13pt;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
    margin-top: 7mm;
    padding-bottom: 1.5mm;
    border-bottom: 2px solid #000;
  }

  .c-periodo {
    text-align: center;
    font-size: 10.5pt;
    margin: 2mm 0 7mm;
  }

  /* ── Secciones y tablas ───────────────────────────────── */

  .c-seccion {
    font-size: 10pt;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin: 6mm 0 2mm;
  }

  .c-tabla {
    width: 100%;
    border-collapse: collapse;
    font-size: 10.5pt;
  }

  .c-tabla th {
    text-align: left;
    font-size: 8.5pt;
    text-transform: uppercase;
    letter-spacing: .05em;
    border-bottom: 1px solid #000;
    padding: 1.2mm 2mm;
  }

  .c-tabla td {
    padding: 1.6mm 2mm;
    border-bottom: 1px dotted #999;
    vertical-align: top;
  }

  .c-tabla .der {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }

  .c-tabla .c-vacio {
    text-align: center;
    color: #555;
    font-style: italic;
  }

  .c-tabla tr.c-total td {
    border-top: 1.5px solid #000;
    border-bottom: none;
    font-weight: 700;
    padding-top: 2mm;
  }

  /* ── Utilidad ─────────────────────────────────────────── */

  .c-utilidad {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-top: 8mm;
    padding: 3mm 4mm;
    border: 2px solid #000;
    font-size: 12pt;
    font-weight: 700;
    letter-spacing: .04em;
  }
  .c-utilidad b { font-size: 15pt; font-variant-numeric: tabular-nums; }
  .c-utilidad.negativa b { text-decoration: none; }

  .c-pie {
    margin-top: 10mm;
    font-size: 8.5pt;
    color: #444;
    text-align: right;
  }
}
