/* Printable invoice — shared by storefront & dashboard */
#print-root { display: none; }
.invoice { font-family: 'Jost', system-ui, sans-serif; color: #15120d; background: #fff; max-width: 800px; margin: 0 auto; padding: 36px 40px; font-size: 13px; line-height: 1.5; }
.invoice h1, .invoice h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; margin: 0; }
.inv-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; padding-bottom: 20px; border-bottom: 2px solid #c8a25a; }
.inv-brand { display: flex; align-items: center; gap: 14px; }
.inv-brand img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.inv-brand h1 { font-size: 30px; letter-spacing: .12em; }
.inv-brand p { margin: 0; letter-spacing: .3em; text-transform: uppercase; font-size: 10px; color: #8a7d68; }
.inv-meta { text-align: right; }
.inv-meta h2 { font-size: 26px; color: #9a7432; margin-bottom: 6px; }
.inv-meta p { margin: 0; }
.inv-meta span { color: #8a7d68; display: inline-block; min-width: 80px; }
.inv-parties { display: grid; grid-template-columns: 1fr 1fr .7fr; gap: 20px; padding: 20px 0; }
.inv-parties h3 { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: #9a7432; margin: 0 0 6px; }
.inv-parties p { margin: 0; }
.inv-table { width: 100%; border-collapse: separate; border-spacing: 0; margin-top: 6px; }
.inv-table th:first-child { border-radius: 6px 0 0 6px; } .inv-table th:last-child { border-radius: 0 6px 6px 0; }
.inv-table th { background: #0c0b09; color: #e9d29b; text-align: left; font-weight: 500; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; padding: 10px 12px; }
.inv-table td { padding: 12px; border-bottom: 1px solid #ece4d6; vertical-align: top; }
.inv-table small { color: #8a7d68; }
.inv-table .r { text-align: right; white-space: nowrap; }
.inv-totals { margin-left: auto; width: 300px; max-width: 100%; padding-top: 14px; }
.inv-totals p { display: flex; justify-content: space-between; margin: 0; padding: 5px 0; }
.inv-totals .muted { color: #8a7d68; font-size: 12px; }
.inv-totals .grand { border-top: 2px solid #0c0b09; margin-top: 6px; padding-top: 10px; font-size: 17px; font-weight: 600; }
.inv-notes { margin-top: 18px; padding: 12px 14px; background: #f7f2ea; border-radius: 8px; }
.inv-foot { margin-top: 36px; padding-top: 16px; border-top: 1px solid #ece4d6; text-align: center; color: #8a7d68; }
.inv-foot p { margin: 2px 0; }
.inv-foot p:first-child { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 17px; color: #15120d; }

@media (max-width: 600px) {
  .invoice { padding: 20px 16px; }
  .inv-head { flex-direction: column; }
  .inv-meta { text-align: left; }
  .inv-parties { grid-template-columns: 1fr; }
}

@media print {
  @page { size: A4; margin: 12mm; }
  body.printing > *:not(#print-root) { display: none !important; }
  body.printing #print-root { display: block !important; }
  body.printing { background: #fff !important; }
  .invoice { padding: 0; max-width: none; }
  .inv-parties { grid-template-columns: 1fr 1fr .7fr !important; }
  .inv-head { flex-direction: row !important; }
  .inv-meta { text-align: right !important; }
  .inv-table th { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
