/* ==========================================================================
   GenoFun - Print & PDF Export Stylesheet
   ========================================================================== */

@media print {
  /* Hide non-printable app UI elements */
  .app-header,
  .secondary-toolbar,
  .left-tool-palette,
  .floating-zoom-controls,
  .minimap-wrapper,
  .inspector-sidebar,
  .app-statusbar,
  .modal-backdrop,
  .context-menu,
  .toast-container,
  .node-connect-handle,
  .household-resize-handle,
  .node-selection-ring {
    display: none !important;
  }

  /* Reset layout for physical paper / PDF */
  html, body, #app {
    width: 100% !important;
    height: auto !important;
    background: #ffffff !important;
    color: #000000 !important;
    overflow: visible !important;
  }

  .main-workspace {
    height: auto !important;
    overflow: visible !important;
    display: block !important;
  }

  .canvas-viewport {
    width: 100% !important;
    height: 90vh !important;
    background: #ffffff !important;
    overflow: visible !important;
  }

  /* Printable Header Box */
  .print-document-header {
    display: block !important;
    padding: 16px 24px;
    border-bottom: 2px solid #334155;
    margin-bottom: 16px;
  }

  .print-doc-title {
    font-size: 24pt;
    font-weight: 800;
    margin: 0;
    color: #0f172a;
  }

  .print-doc-subtitle {
    font-size: 13pt;
    font-style: italic;
    color: #475569;
    margin-top: 4px;
  }

  .print-doc-meta {
    font-size: 10pt;
    color: #64748b;
    margin-top: 6px;
    display: flex;
    gap: 20px;
  }

  /* Print Legend */
  .print-legend {
    display: flex !important;
    flex-wrap: wrap;
    gap: 16px;
    padding: 10px 24px;
    border-top: 1px solid #cbd5e1;
    margin-top: 16px;
    font-size: 9pt;
    color: #475569;
  }

  .print-legend-item {
    display: flex;
    align-items: center;
    gap: 6px;
  }

  .print-legend-icon {
    width: 16px;
    height: 16px;
    border: 1.5px solid #0f172a;
    display: inline-block;
  }

  .print-legend-icon.male {
    border-radius: 2px;
  }

  .print-legend-icon.female {
    border-radius: 50%;
  }

  .print-legend-icon.deceased {
    position: relative;
  }
  .print-legend-icon.deceased::after {
    content: '';
    position: absolute;
    top: 50%; left: 0; right: 0;
    height: 1.5px;
    background: #ef4444;
    transform: rotate(45deg);
  }

  /* High contrast colors for print */
  .node-shape {
    fill: #ffffff !important;
    stroke: #000000 !important;
  }

  .node-label-name {
    fill: #000000 !important;
  }

  .node-label-sub, .node-label-detail {
    fill: #333333 !important;
  }

  .tree-branch-line {
    stroke: #000000 !important;
  }

  /* Page setup */
  @page {
    size: auto;
    margin: 10mm;
  }

  @page landscape {
    size: landscape;
  }

  @page portrait {
    size: portrait;
  }
}

/* Hidden by default on screen */
.print-document-header,
.print-legend {
  display: none;
}
