/* ============================================================
   QS Estimating Console — print.css
   A4 portrait, 15mm margins, greyscale-safe
   ============================================================ */

@media print {
  @page {
    size: A4 portrait;
    margin: 15mm;
  }

  /* Hide all interactive chrome */
  #app-nav,
  #banner-offline,
  #banner-update,
  .btn,
  .btn-primary,
  .btn-danger,
  .btn-sm,
  input[type="range"],
  .slider-row,
  .toggle-group,
  .toggle-btn,
  .prompt-buttons,
  .nav-actions,
  .dialog-backdrop,
  [role="button"] {
    display: none !important;
  }

  body {
    font-size: 10pt;
    line-height: 1.4;
    color: #000;
    background: #fff;
  }

  h1, h2, h3, .section-title, .card-title {
    font-size: 12pt;
    font-weight: 500;
    color: #000;
  }

  /* Only print the active module panel */
  .module-panel          { display: none !important; }
  .module-panel.active   { display: block !important; }

  /* Tables with visible borders */
  table { border-collapse: collapse; width: 100%; font-size: 10pt; }

  th, td {
    border: 0.5pt solid #888;
    padding: 4pt 6pt;
  }

  th {
    background: #f0f0f0 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    font-size: 9pt;
  }

  tfoot td {
    background: #e8e8e8 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    font-weight: bold;
  }

  /* Avoid breaking inside metric cards and table rows */
  .metric-grid, .metric-card { page-break-inside: avoid; }
  tr { page-break-inside: avoid; }

  /* Cards become plain blocks */
  .card {
    border: 0.5pt solid #aaa;
    border-radius: 0;
    padding: 8pt;
    margin-bottom: 8pt;
    page-break-inside: avoid;
  }

  /* Badges use border instead of fill as primary indicator */
  .badge {
    border: 0.5pt solid #555;
    background: none !important;
    color: #000 !important;
    padding: 1pt 4pt;
    font-size: 8pt;
  }

  /* Monetary values maintain format */
  .mono { font-family: 'Courier New', monospace; }

  /* Status indicators via border */
  .badge-green  { border-color: #085041; }
  .badge-amber  { border-color: #633806; }
  .badge-red    { border-color: #712B13; }
  .badge-blue   { border-color: #0C447C; }

  /* Running header — project name */
  #print-header {
    display: block !important;
    font-size: 9pt;
    color: #555;
    border-bottom: 0.5pt solid #aaa;
    padding-bottom: 4pt;
    margin-bottom: 10pt;
  }

  /* Running footer */
  #print-footer {
    display: block !important;
    font-size: 8pt;
    color: #555;
    border-top: 0.5pt solid #aaa;
    padding-top: 4pt;
    margin-top: 10pt;
  }

  /* Charts: preserve canvas if browser supports */
  canvas { max-width: 100%; page-break-inside: avoid; }
}

/* Hide print-only elements on screen */
@media screen {
  #print-header,
  #print-footer { display: none; }
}
