/* ==========================================================================
   Srinath Homestay - Standard A4 Print & PDF Stylesheet
   Formats crisp, distraction-free guest invoices and tax receipts.
   ========================================================================== */

@page {
  size: A4 portrait;
  margin: 10mm 12mm 10mm 12mm;
}

@media print {
  /* Hide all app chrome and interactive controls */
  .app-header,
  .bottom-nav,
  .fab-center,
  .toast-container,
  .modal-header,
  .modal-footer,
  .no-print,
  .btn-action-sm,
  .btn-quick-fab-header,
  .search-bar-wrap,
  .filter-scroll-wrapper,
  .btn-upi-mobile-pay {
    display: none !important;
  }

  /* Reset body and wrapper for pure white paper */
  html, body {
    background: #ffffff !important;
    color: #000000 !important;
    font-size: 11pt !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    overflow: visible !important;
  }

  .app-container,
  .app-main,
  .modal-overlay,
  .modal-sheet,
  .modal-body {
    position: static !important;
    display: block !important;
    background: #ffffff !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* Target specifically the invoice wrapper */
  .invoice-modal-content,
  .invoice-preview-container,
  .invoice-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    background: #ffffff !important;
    color: #111111 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    display: block !important;
  }

  .inv-header {
    display: flex !important;
    justify-content: space-between !important;
  }

  .inv-logo {
    width: 68px !important;
    height: 68px !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .inv-brand-info .inv-title {
    font-size: 20pt !important;
    color: #111111 !important;
  }

  .inv-divider-gold {
    height: 2px !important;
    background: #aa7c11 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .inv-table th {
    background: #222222 !important;
    color: #ffffff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .inv-table td {
    border-bottom: 1px solid #cccccc !important;
  }

  .inv-payment-box,
  .inv-party-card,
  .inv-totals-card,
  .inv-terms-box {
    border: 1px solid #cccccc !important;
    background: #fafafa !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .inv-qr-canvas {
    width: 100px !important;
    height: 100px !important;
  }

  .inv-footer {
    border-top: 1px solid #cccccc !important;
  }

  /* Nothing may scroll on paper: a scroll container would clip its overflow. */
  .inv-table-wrap {
    overflow: visible !important;
    border: none !important;
  }

  .inv-table-wrap .inv-table {
    min-width: 0 !important;
    width: 100% !important;
    table-layout: fixed !important;
  }

  .inv-table td,
  .inv-table th {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }

  /* Keep the two-column bands side by side and inside the page width. */
  .inv-parties-grid,
  .inv-summary-section {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .upi-body {
    display: flex !important;
    flex-direction: row !important;
  }

  /* Do not slice logical blocks across pages. */
  .inv-party-card,
  .inv-payment-box,
  .inv-totals-card,
  .inv-terms-box,
  .inv-footer,
  .digital-sign-box,
  .inv-table tr {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .digital-sign-box {
    border: 1px solid #7bbd8c !important;
    background: #f4fbf6 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}


@media print {
  /* Print/export only the guest invoice—not the hidden dashboard or other dialogs. */
  .app-main,
  .modal-overlay:not(#modal-invoice) {
    display: none !important;
  }

  #modal-invoice {
    position: static !important;
    display: block !important;
    width: 100% !important;
    background: #ffffff !important;
  }

  #modal-invoice .modal-sheet,
  #modal-invoice .modal-body,
  #modal-invoice .invoice-preview-container {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
  }
}
