/* ==========================================================================
   PRICE LIST MAKER - A4 NARROW MARGIN PRINT & PDF STYLESHEET
   ========================================================================== */

@page {
  size: A4 portrait;
  margin: 6mm; /* Standard narrow office margin */
}

body.orientation-landscape {
  page: landscape;
}

@page :landscape {
  size: A4 landscape;
  margin: 6mm;
}

@media print {
  html, body {
    width: 100% !important;
    height: auto !important;
    background: #ffffff !important;
    color: #0f172a !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 8.5pt !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Hide screen-only interactive UI */
  .no-print,
  .app-header,
  .control-toolbar,
  .sidebar-action-dock,
  .floating-toolbox,
  .th-actions,
  .row-action-btns,
  .row-floating-actions,
  .logo-overlay-btn,
  .logo-remove-btn,
  .img-remove-badge,
  .toast-container,
  .modal-backdrop {
    display: none !important;
  }

  /* Reset Workspace & Sheet to Full A4 Width */
  .app-container {
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    display: block !important;
  }

  .workspace-canvas {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
  }

  #price-sheet,
  .price-sheet-container {
    transform: none !important;
    margin-bottom: 0 !important;
    zoom: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
    min-height: auto !important;
    background: #ffffff !important;
  }

  /* Remove all editable outlines and placeholder dashed borders */
  [contenteditable="true"] {
    outline: none !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
  }

  [contenteditable="true"]:empty,
  [contenteditable="true"].is-empty {
    display: none !important;
    border: none !important;
    background: transparent !important;
  }

  [contenteditable="true"]:empty::before,
  [contenteditable="true"].is-empty::before {
    content: none !important;
    display: none !important;
  }

  /* Header Box */
  .sheet-header-box {
    margin-bottom: 8pt !important;
    padding-bottom: 4pt !important;
    border-bottom: none !important;
    page-break-after: avoid;
    break-after: avoid;
  }

  .company-identity {
    gap: 8pt !important;
  }

  .company-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 1pt !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .company-name {
    font-size: 13pt !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: auto !important;
    color: var(--company-title-color) !important;
  }

  .company-tagline {
    font-size: 8pt !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: auto !important;
    color: #64748b !important;
  }

  /* Document Meta (Right-Aligned) */
  .document-meta {
    text-align: right !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    gap: 2pt !important;
  }

  .document-title {
    font-size: 13pt !important;
    font-weight: 800 !important;
    text-align: right !important;
    color: var(--company-title-color) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
  }

  .doc-meta-row {
    display: inline-flex !important;
    align-items: baseline !important;
    justify-content: flex-end !important;
    gap: 4pt !important;
    font-size: 8pt !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .doc-meta-label {
    font-weight: 700 !important;
    color: #0f172a !important;
    font-size: 8.5pt !important;
    line-height: 1.2 !important;
  }

  .doc-meta-value {
    font-weight: 700 !important;
    color: #0f172a !important;
    font-size: 8.5pt !important;
    line-height: 1.2 !important;
    padding: 0 !important;
    border: none !important;
  }

  /* Table Pagination & Strict A4 Formatting */
  .price-table-wrapper {
    overflow: visible !important;
    border: none !important;
    margin-bottom: 8pt !important;
  }

  .price-table {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    border: 1pt solid #64748b !important;
    page-break-inside: auto;
  }

  .price-table thead {
    display: table-header-group !important;
  }

  .price-table thead th {
    background-color: var(--header-bg) !important;
    color: var(--header-text) !important;
    font-size: 8pt !important;
    padding: 5pt 6pt !important;
    border: 1pt solid #64748b !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .price-table tbody tr {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .price-table.table-striped tbody tr:nth-child(even) {
    background-color: #f8fafc !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .price-table tbody td {
    padding: 4pt 6pt !important;
    border: 1pt solid #64748b !important;
    font-size: 8pt !important;
  }

  .price-table thead th:last-child,
  .price-table tbody td:last-child {
    border-right: 1pt solid #64748b !important;
  }

  .cell-editor {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
  }

  .category-row {
    background-color: var(--category-bg, #0f172a) !important;
    color: #ffffff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    page-break-after: avoid;
    break-after: avoid;
  }

  .category-row td {
    background-color: var(--category-bg, #0f172a) !important;
    color: #ffffff !important;
    padding: 3pt 6pt !important;
    border: 1pt solid #64748b !important;
    font-size: 8.5pt !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
  }

  .price-table thead th.photo-header-cell {
    padding: 4pt 1pt !important;
  }

  .product-photo-cell {
    vertical-align: middle !important;
    padding: 1pt 1pt !important;
  }

  .photos-gallery-wrap {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2pt !important;
    flex-wrap: nowrap !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .product-img-box {
    width: 44px !important;
    height: 44px !important;
    border: none !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
  }

  .product-img-box img {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
  }

  .add-more-photo-btn {
    display: none !important;
  }

  /* Completely hide empty placeholders in print & PDF */
  .img-placeholder,
  #logo-placeholder {
    display: none !important;
  }

  .company-logo-wrapper {
    border: none !important;
    background: transparent !important;
  }

  .company-logo-wrapper:not(:has(img[src]:not([src=""]))) {
    display: none !important;
  }

  /* Footer & Signature Section */
  .sheet-footer-section {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    margin-top: 10pt !important;
    padding-top: 6pt !important;
    border-top: none !important;
  }

  .footer-notes-text {
    font-size: 7.5pt !important;
    color: #475569 !important;
    padding: 0 !important;
    border: none !important;
  }

  .signature-title {
    font-size: 8pt !important;
    padding: 0 !important;
    border: none !important;
    margin-bottom: 2rem !important;
  }

  .signature-line {
    border-top: 0.5pt solid #64748b !important;
    font-size: 7pt !important;
  }
}
