/* css/invoice.css - Phase 5 Invoice workspace (screen helpers + client-ready print sheet) */

/* The print sheet is built by modProjectInvoice.js and is never visible on screen. */
#inv-print-sheet { display: none; }

#inv-lines-body input[type="number"],
#inv-lines-body input[type="text"] { min-width: 0; }
#inv-lines-body input::-webkit-outer-spin-button,
#inv-lines-body input::-webkit-inner-spin-button { margin: 0; }

.inv-row-active { background-color: #eff6ff; }

@media print {
  @page { size: letter portrait; margin: 0.6in; }

  /* Only while the Invoice "Print / Save PDF" button is in use (class set by JS) */
  body.inv-printing { background: #fff !important; overflow: visible !important; height: auto !important; }
  body.inv-printing * { visibility: hidden !important; }
  body.inv-printing #inv-print-sheet,
  body.inv-printing #inv-print-sheet * { visibility: visible !important; }
  body.inv-printing #inv-print-sheet {
    display: block !important;
    position: absolute; left: 0; top: 0; width: 100%;
    color: #0f172a; font-family: 'Inter', Arial, sans-serif; font-size: 11px; line-height: 1.35;
  }

  #inv-print-sheet .ips-head { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 3px solid #1e3a8a; padding-bottom: 10px; margin-bottom: 12px; }
  #inv-print-sheet .ips-co { font-size: 18px; font-weight: 800; color: #1e3a8a; }
  #inv-print-sheet .ips-doc { text-align: right; }
  #inv-print-sheet .doc-brand-line { font-size: 10px; color: #475569; }
  #inv-print-sheet .doc-intro { margin: 0 0 10px; white-space: pre-wrap; }
  #inv-print-sheet .doc-terms { margin-top: 14px; border-top: 1px solid #94a3b8; padding-top: 6px; font-size: 9.5px; color: #334155; white-space: pre-wrap; }
  #inv-print-sheet .doc-terms h4 { margin: 0 0 3px; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; color: #475569; }
  #inv-print-sheet .ips-doc h1 { font-size: 20px; font-weight: 800; margin: 0; letter-spacing: .04em; text-transform: uppercase; }
  #inv-print-sheet .ips-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
  #inv-print-sheet .ips-box { border: 1px solid #94a3b8; padding: 6px 8px; }
  #inv-print-sheet .ips-box h4 { margin: 0 0 3px; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; color: #475569; }
  #inv-print-sheet table { width: 100%; border-collapse: collapse; margin-bottom: 10px; }
  #inv-print-sheet th, #inv-print-sheet td { border: 1px solid #94a3b8; padding: 3px 5px; }
  #inv-print-sheet th { background: #e2e8f0 !important; font-size: 9px; text-transform: uppercase; text-align: left; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  #inv-print-sheet td.num, #inv-print-sheet th.num { text-align: right; white-space: nowrap; }
  #inv-print-sheet tr { page-break-inside: avoid; }
  #inv-print-sheet thead { display: table-header-group; }
  #inv-print-sheet .ips-totals { width: 55%; margin-left: auto; }
  #inv-print-sheet .ips-totals td { border: 0; border-bottom: 1px solid #cbd5e1; }
  #inv-print-sheet .ips-totals tr.ips-net td { border-top: 2px solid #0f172a; border-bottom: 2px solid #0f172a; font-size: 13px; font-weight: 800; }
  #inv-print-sheet .ips-notes { border: 1px solid #94a3b8; padding: 6px 8px; margin-top: 8px; white-space: pre-wrap; }
  #inv-print-sheet .ips-foot { margin-top: 18px; font-size: 9px; color: #475569; text-align: center; }
}
