/* ============================================================
   IMPRESIÓN  (agente BASE-UI)
   1. ERP.ui.imprimir(titulo, contenido) arma #erp-impresion: una hoja A4
      con el membrete de la empresa (logo, razón social, RUC, domicilio) y
      la muestra en pantalla con «Volver» e «Imprimir o guardar PDF».
      Mientras está abierta, lo ÚNICO que sale en el papel es esa hoja.
   2. Si alguien imprime la pantalla con el menú del navegador, sale solo
      el contenido (sin barra, menú, botones ni avisos) y sin cortes raros.
   ============================================================ */

/* ---------- vista previa en pantalla ---------- */
body.imprimiendo{ overflow:hidden; }
body.imprimiendo > *:not(#erp-impresion){ display:none !important; }
#erp-impresion{ position:fixed; inset:0; z-index:400; overflow-y:auto; background:#e8e6e1; }
.impresion-barra{ position:sticky; top:0; z-index:2; display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:10px 16px;
  background:var(--principal); color:#fff; border-bottom:3px solid var(--acento); }
.impresion-ayuda{ flex:1; font-size:12.5px; color:var(--crema); text-align:center; min-width:180px; }
.impresion-barra .btn-suave{ background:rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.2); }
.impresion-barra .btn-suave:hover:not(:disabled){ background:rgba(255,255,255,.16); }

/* la hoja usa siempre colores de papel (también en modo oscuro) */
.hoja-impresion{
  --fondo:#fff; --carta:#fff; --carta-2:#f7f6f3; --tinta:#1a1a18; --gris:#55534d; --borde:#d9d5cd; --borde-fuerte:#bdb7ac; --linea:#e6e3dd;
  --ok:#1c7c4d; --ok-fondo:#e3f3ea; --error:#b3372b; --error-fondo:#fbeae7; --aviso:#875f00; --aviso-fondo:#fdf3dc;
  --info:#1d5a94; --info-fondo:#e5eef8; --neutro:#55534d; --neutro-fondo:#efede9; --sombra:none;
  width:210mm; max-width:calc(100% - 24px); min-height:297mm; margin:18px auto 40px; padding:14mm 14mm 16mm;
  background:#fff; color:var(--tinta); box-shadow:0 6px 30px rgba(0,0,0,.18); font-size:11.5px; line-height:1.4;
  display:flex; flex-direction:column; color-scheme:light;
}
.hoja-impresion *{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
.membrete{ display:flex; align-items:center; gap:14px; padding-bottom:10px; margin-bottom:14px; border-bottom:2.5px solid var(--principal); }
.membrete-logo{ height:54px; width:auto; max-width:55mm; object-fit:contain; flex:0 0 auto; }
.membrete-datos{ flex:1; min-width:0; }
.membrete-razon{ font-family:var(--serif); font-size:14px; font-weight:700; color:var(--principal); letter-spacing:.3px; }
.membrete-linea{ font-size:10px; color:var(--gris); margin-top:2px; }
.membrete-doc{ text-align:right; flex:0 0 auto; max-width:45%; }
.membrete-titulo{ font-family:var(--serif); font-size:15px; font-weight:700; color:var(--principal); text-transform:uppercase; letter-spacing:.8px; }
.impresion-contenido{ flex:1; display:flex; flex-direction:column; gap:12px; }
.pie-impresion{ display:flex; justify-content:space-between; gap:12px; margin-top:16px; padding-top:7px; border-top:1px solid var(--borde); font-size:9.5px; color:var(--gris); }

/* lo del kit dentro de la hoja, en versión papel */
.hoja-impresion .tarjeta, .hoja-impresion .kpi{ box-shadow:none; border-radius:6px; }
.hoja-impresion .tarjeta{ padding:10px 12px; }
.hoja-impresion .tarjeta h2{ font-size:13px; }
.hoja-impresion .tabla-caja{ overflow:visible; border-radius:4px; }
.hoja-impresion .tabla{ font-size:10px; }
.hoja-impresion .tabla th{ padding:5px 7px; font-size:9px; position:static; }
.hoja-impresion .tabla td{ padding:4px 7px; }
.hoja-impresion .tabla td small, .hoja-impresion .tabla td .sub{ font-size:9px; }
.hoja-impresion .chip{ font-size:9px; padding:0 7px; }
.hoja-impresion .solo-pc{ display:table-cell !important; }
.hoja-impresion .kpis{ grid-template-columns:repeat(4, minmax(0, 1fr)); gap:8px; }
.hoja-impresion .kpi{ padding:7px 9px 7px 11px; }
.hoja-impresion .kpi-valor{ font-size:15px; }
.hoja-impresion .btn, .hoja-impresion .barra-filtros, .hoja-impresion .tarjeta-acciones{ display:none !important; }

@media (max-width:640px){
  .hoja-impresion{ padding:16px 14px; min-height:0; margin:10px auto 24px; }
  .membrete{ flex-wrap:wrap; }
  .membrete-doc{ text-align:left; max-width:none; }
  .impresion-ayuda{ display:none; }
}

/* ---------- papel ---------- */
@media print{
  @page{ size:A4; margin:12mm 12mm 14mm; }
  html, body{ background:#fff !important; color:#000; }

  /* con la vista de impresión abierta: solo la hoja */
  body.imprimiendo{ overflow:visible; }
  body.imprimiendo #erp-impresion{ position:static; overflow:visible; background:none; }
  body.imprimiendo .impresion-barra{ display:none !important; }
  body.imprimiendo .hoja-impresion{ width:auto; max-width:none; min-height:0; margin:0; padding:0; box-shadow:none; }

  /* sin la vista de impresión: el contenido de la pantalla, sin la cáscara */
  .barra-superior, .menu, .menu-velo, .barra-carga, .toasts, .saltar, .modal-fondo, .btn, .barra-filtros, .tarjeta-acciones, .pestanas-barra{ display:none !important; }
  .cuerpo-app{ display:block; }
  .contenido{ padding:0; }
  .pantalla{ animation:none; max-width:none; }
  .tarjeta, .kpi{ box-shadow:none !important; break-inside:avoid; }
  .tabla-caja{ overflow:visible; border-color:#bbb; }
  .tabla th{ position:static; }
  .tabla tr, .kpi{ break-inside:avoid; page-break-inside:avoid; }
  .tabla thead{ display:table-header-group; }
  .tabla tfoot{ display:table-row-group; }
}
