@media print {
  @page {
    margin: 2cm 1.8cm;
  }

  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  body {
    background: #ffffff !important;
    color: #000000 !important;
    font-family: 'Inter', system-ui, sans-serif !important;
  }

  .grain,
  .hero,
  .category-grid,
  .actions,
  .empty-state,
  .all-packed,
  .add-item-row,
  .remove-btn,
  .group-icon,
  .group-progress,
  .item-box,
  .item-label input,
  #app,
  #checklist {
    display: none !important;
  }

  #printLayer {
    display: block !important;
    position: static !important;
    visibility: visible !important;
  }

  .print-doc {
    max-width: 100%;
    padding: 0;
    margin: 0;
  }

  .print-header {
    border-bottom: 2px solid #000;
    padding-bottom: 18pt;
    margin-bottom: 24pt;
  }

  .print-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 28pt;
    font-weight: 700;
    margin: 0 0 8pt;
    letter-spacing: -0.01em;
  }

  .print-meta {
    font-size: 11pt;
    color: #444;
    margin: 0 0 6pt;
  }

  .print-category-list {
    font-size: 11pt;
    font-style: italic;
    color: #333;
    margin: 0;
  }

  .print-groups {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18pt;
  }

  .print-group {
    page-break-inside: avoid;
    break-inside: avoid;
    margin-bottom: 4pt;
  }

  .print-group h2 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 14pt;
    font-weight: 700;
    margin: 0 0 10pt;
    padding-bottom: 4pt;
    border-bottom: 1pt solid #000;
  }

  .print-items {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .print-item {
    display: flex;
    align-items: baseline;
    gap: 8pt;
    font-size: 11.5pt;
    line-height: 1.9;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .print-item::before {
    content: '\2610';
    font-size: 14pt;
    line-height: 1;
    flex-shrink: 0;
  }

  .print-item.checked {
    text-decoration: line-through;
    color: #666;
  }

  .print-item.checked::before {
    content: '\2611';
  }

  .print-footer {
    margin-top: 32pt;
    font-size: 9pt;
    color: #555;
    border-top: 1pt solid #ccc;
    padding-top: 10pt;
  }
}
