/* ── Stili stampa riepilogo ──────────────────────────────────────────────────── */
@media print {
  /* Nascondi elementi non necessari */
  .sidebar, .topbar, .mon-bar,
  .no-print, .btn, .req-btns,
  .filter-bar, .pagination,
  .log-panel, #dash-alert { display: none !important; }

  /* Reset layout */
  .main    { margin-left: 0 !important; }
  .screen  { display: block !important; }
  body     { background: white; color: black; font-size: 12px; }

  /* Intestazione stampa */
  .print-header {
    display: block !important;
    text-align: center;
    padding: 0 0 16px;
    margin-bottom: 16px;
    border-bottom: 2px solid #0057A8;
  }
  .print-header-logo  { font-size: 20px; font-weight: 800; color: #0057A8; }
  .print-header-sub   { font-size: 12px; color: #666; margin-top: 3px; }
  .print-header-meta  { font-size: 11px; color: #888; margin-top: 6px; }

  /* Tabelle */
  table  { width: 100%; border-collapse: collapse; }
  th, td { padding: 7px 10px; border: 1px solid #ddd; font-size: 11px; }
  th     { background: #f0f4f8 !important; font-weight: 700; color: #333; }
  tr:nth-child(even) td { background: #f9f9f9 !important; }

  /* Categorie */
  .cat-section  { break-inside: avoid; margin-bottom: 12px; border: 1px solid #ddd; }
  .cat-hdr      { background: #f0f4f8 !important; padding: 7px 12px; font-size: 12px; font-weight: 700; }
  .req-card     { padding: 8px 12px; border-left: 3px solid #0057A8; border-bottom: 1px solid #eee; }
  .req-name     { font-weight: 700; font-size: 12px; }
  .req-email    { font-size: 10px; color: #888; }
  .req-summary  { font-size: 11px; margin: 4px 0 0; }

  /* Badge testo */
  .badge { border: 1px solid #ccc; background: none !important; color: black !important; }

  /* Statistiche */
  .stats-grid { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
  .stat-card  { flex: 1; min-width: 120px; border: 1px solid #ddd; padding: 10px; }
  .stat-val   { font-size: 20px; }
  .stat-lbl   { font-size: 10px; }

  /* Forza interruzioni pagina */
  .page-break-before { page-break-before: always; }
  .page-break-after  { page-break-after:  always; }
  .no-break          { break-inside: avoid; }

  /* Footer stampa */
  .print-footer {
    display: block !important;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    text-align: center;
    font-size: 10px;
    color: #999;
    border-top: 1px solid #ddd;
    padding: 6px;
  }
}

/* Nascosto a schermo, visibile solo in stampa */
.print-header,
.print-footer { display: none; }
