/* GUSLAU · diseño de impresión (informes PDF: «Imprimir → Guardar como PDF») */
#print-root { display: none; }
@media print {
  @page { size: A4; margin: 16mm 14mm 18mm; @bottom-right { content: "Página " counter(page) " de " counter(pages); font: 9pt 'Manrope', Arial, sans-serif; color: #765F4D; } @bottom-left { content: "GUSLAU PERFUMERÍA · sistema de gestión"; font: 8pt 'Manrope', Arial, sans-serif; color: #765F4D; } }
  html, body { background: #fff !important; height: auto; }
  .app, .toasts, .overlay, .scrim { display: none !important; }
  #print-root { display: block; color: #2B1408; font: 10pt/1.45 var(--f-ui); }
  .pr-cover { border-bottom: 2px solid #B88C51; padding-bottom: 10px; margin-bottom: 14px; display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
  .pr-brand { font-family: var(--f-display); font-size: 22pt; font-weight: 700; letter-spacing: .14em; color: #2B1408; line-height: 1; }
  .pr-brand small { display: block; font-family: var(--f-ui); font-size: 7pt; letter-spacing: .4em; color: #B88C51; margin-top: 4px; }
  .pr-brand img { max-height: 70px; width: auto; }
  .pr-meta { text-align: right; font-size: 8.5pt; color: #5A4434; }
  .pr-title { font-family: var(--f-display); font-size: 20pt; font-weight: 700; margin: 4px 0 2px; }
  .pr-period { font-size: 10pt; color: #5A4434; margin-bottom: 12px; }
  .pr-demo { border: 1px solid #D5C3A6; background: #F4ECDF; padding: 6px 9px; font-size: 8.5pt; margin-bottom: 12px; }
  #print-root h2 { font-family: var(--f-display); font-size: 14pt; font-weight: 700; border-bottom: 1px solid #D5C3A6; padding-bottom: 3px; margin: 16px 0 8px; break-after: avoid; }
  #print-root h2 .n { color: #B88C51; margin-right: 6px; }
  #print-root table { width: 100%; border-collapse: collapse; font-size: 8.8pt; margin-bottom: 8px; break-inside: auto; }
  #print-root th { background: #F4ECDF !important; text-align: left; font-size: 7.5pt; letter-spacing: .08em; text-transform: uppercase; padding: 4px 6px; border-bottom: 1px solid #B88C51; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  #print-root td { padding: 3.5px 6px; border-bottom: 1px solid #E8DCC8; }
  #print-root tr { break-inside: avoid; }
  #print-root td.num, #print-root th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
  #print-root tr.total td { font-weight: 700; border-top: 1px solid #B88C51; }
  #print-root tr.grand td { font-weight: 700; background: #351A0C !important; color: #F2CF8D !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  #print-root tr.group td { font-weight: 700; background: #FBF7F0 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .pr-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 6px 0 10px; }
  .pr-kpi { border: 1px solid #E8DCC8; padding: 6px 8px; break-inside: avoid; }
  .pr-kpi .l { font-size: 7.5pt; color: #765F4D; }
  .pr-kpi .v { font-family: var(--f-display); font-size: 14pt; font-weight: 700; font-variant-numeric: lining-nums tabular-nums; }
  .pr-note { font-size: 8.5pt; color: #5A4434; margin: 4px 0 8px; }
  .pr-sec { break-inside: auto; }
  .pr-chart { break-inside: avoid; margin: 4px 0 10px; }
  .pr-chart svg { width: 100%; height: auto; }
  .pr-chart text { fill: #5A4434; font-family: var(--f-ui); font-size: 11px; }
  .pr-chart .grid { stroke: #E8DCC8; }
  .pr-break { break-before: page; }
  .pr-foot { margin-top: 18px; font-size: 8pt; color: #765F4D; border-top: 1px solid #E8DCC8; padding-top: 6px; }
  .pill { border: 1px solid currentColor; border-radius: 8px; padding: 0 5px; font-size: 7.5pt; }
  .pill::before { display: none; }
  .receipt-print { max-width: 80mm; margin: 0 auto; font-size: 9pt; }
}
