/* STR4TUM v2.0 · print.css
   @page A4 + @media print: font swap to Arial, monochrome accents,
   semantic via typography (▲ ▼ ✓ ✗ ⚠), break-inside avoid on panels.
   Import LAST so @media print rules win.
   ============================================================================ */

/* ============================================================================
   STR4TUM v2.0 · PRINT
   Font swap → Arial · light forced · accents → black · ritmi compressi
   ============================================================================ */
@page {
  size: A4;
  margin: 18mm 16mm 18mm 16mm;
}

@media print {
  :root, :root[data-theme="dark"] {
    --bg-base:        #ffffff;
    --bg-panel:       #ffffff;
    --bg-elevated:    #f5f5f5;
    --text-primary:   #000000;
    --text-secondary: #222222;
    --text-muted:     #555555;
    --text-dim:       #888888;
    --hairline:       #cccccc;
    --hairline-strong:#000000;
    --hairline-w:     1px;
    --accent-link:     #000000;
    --accent-positive: #000000;
    --accent-negative: #000000;
    --accent-warn:     #000000;
    --positive-dim: transparent;
    --negative-dim: transparent;
    --warn-dim:     transparent;
    --link-dim:     transparent;
    --font-screen: Arial, Helvetica, sans-serif;
  }

  body {
    font-family: var(--font-print);
    font-size: 10pt;
    line-height: 1.35;
    color: #000;
    background: #fff;
  }

  /* Hide chrome */
  .toolbar, .btn, .nav-tabs, .modal,
  [data-no-print] { display: none !important; }

  /* Tighten verticals further */
  .page { padding: 0; max-width: none; }
  .section { margin-top: 8mm; break-inside: avoid; }
  .panel, .entity-card, .stato-progetto, .comparator { break-inside: avoid; }

  /* Neutralize accents — semantica via tipografia, non colore */
  .kpi-value[data-tone="positive"]::after { content: " ▲"; }
  .kpi-value[data-tone="negative"]::after { content: " ▼"; }
  .kpi-value[data-tone] { color: #000 !important; }
  .tag { color: #000 !important; }
  .tag[data-tone="positive"]::before { content: "✓ "; }
  .tag[data-tone="negative"]::before { content: "✗ "; }
  .tag[data-tone="warn"]::before     { content: "⚠ "; }
  .num, .date { color: #000 !important; font-weight: bold; }
  strong { border-bottom: 0; font-weight: bold; }

  /* Page header running */
  .page-header { border-bottom: 1px solid #000; padding-bottom: 4mm; }

  /* Force theme to light always */
  :root[data-theme="dark"] body { background: #fff; color: #000; }
}