.invoice-page,.invoice-detail-page { min-height:calc(100svh - 150px); padding-top:190px; padding-bottom:90px; }
[data-invoice-heading][hidden],[data-invoice-detail-actions][hidden],[data-invoice-list][hidden],[data-invoice-state][hidden],[data-invoice-document][hidden],[data-print-invoice][hidden] { display:none !important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.invoice-page-heading { display:flex; justify-content:space-between; gap:40px; margin-bottom:48px; }
.invoice-page-heading h1 { margin-bottom:18px; font-size:clamp(4rem,9vw,7rem); }
.invoice-page-heading p:last-child { max-width:650px; margin:0; }
.invoice-state { min-height:280px; display:grid; place-content:center; justify-items:center; padding:48px 24px; border:1px solid var(--line); text-align:center; }
.invoice-state h2 { margin-bottom:12px; font-size:2.8rem; }
.invoice-state p { max-width:520px; margin:0 0 24px; }
.invoice-loader { width:34px; height:34px; margin-bottom:20px; border:1px solid var(--line); border-top-color:var(--gold-light); border-radius:50%; animation:invoice-spin .8s linear infinite; }
@keyframes invoice-spin { to { transform:rotate(360deg); } }
.invoice-list-panel { border:1px solid var(--line); background:var(--ink-soft); }
.invoice-table-wrap,.invoice-lines-wrap { overflow-x:auto; }
.invoice-table,.invoice-lines { width:100%; border-collapse:collapse; }
.invoice-table th,.invoice-table td,.invoice-lines th,.invoice-lines td { padding:19px 20px; border-bottom:1px solid var(--line); text-align:left; white-space:nowrap; }
.invoice-table th,.invoice-lines th { color:var(--muted); font-size:.6rem; font-weight:500; letter-spacing:.13em; text-transform:uppercase; }
.invoice-table td { font-size:.75rem; }
.invoice-number { color:var(--gold-light); font-weight:600; }
.invoice-amount { color:var(--ivory); font-weight:500; }
.invoice-table small,.invoice-payment small { display:block; margin-top:4px; color:var(--muted); font-size:.59rem; text-transform:capitalize; }
.invoice-status { display:inline-block; padding:4px 8px; border:1px solid var(--line); border-radius:20px; font-size:.57rem; letter-spacing:.08em; text-transform:uppercase; }
.status-paid { border-color:#4e765e; color:#9ed1ae; }
.status-cod,.status-pending { border-color:#816d47; color:#e1c88e; }
.status-failed,.status-refunded { border-color:#754d48; color:#e4a69c; }
.invoice-actions { display:flex; justify-content:flex-end; gap:8px; }
.invoice-actions a { padding:7px 9px; border:1px solid var(--line); color:var(--gold-light); font-size:.58rem; letter-spacing:.08em; text-transform:uppercase; }
.invoice-detail-actions { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; }
.invoice-detail-actions > a { color:var(--gold-light); font-size:.67rem; letter-spacing:.12em; text-transform:uppercase; }
.invoice-detail-actions .button { cursor:pointer; }
.invoice-document { max-width:1050px; margin:auto; border:1px solid var(--line); background:var(--ivory); color:var(--ink); box-shadow:0 30px 90px rgba(0,0,0,.25); }
.invoice-document p { color:#625d55; }
.invoice-document-head { display:flex; justify-content:space-between; gap:40px; padding:54px; border-bottom:1px solid #d5ccbd; }
.invoice-document-head > div:last-child { text-align:right; }
.invoice-document .brand { color:var(--ink); }
.invoice-document-head h1 { margin-bottom:12px; font-size:2.5rem; letter-spacing:-.02em; }
.invoice-document-head p { margin:8px 0 0; font-size:.72rem; line-height:1.7; }
.invoice-parties { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding:42px 54px; border-bottom:1px solid #d5ccbd; }
.invoice-parties h2 { margin-bottom:18px; color:#77603e; font-family:'Montserrat',sans-serif; font-size:.62rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.invoice-parties strong,.invoice-parties p,.invoice-parties dl { font-size:.74rem; }
.invoice-parties p { line-height:1.75; }
.invoice-parties dl { display:grid; grid-template-columns:110px 1fr; gap:8px 14px; margin:0; }
.invoice-parties dt { color:#7b746a; }
.invoice-parties dd { margin:0; overflow-wrap:anywhere; text-transform:capitalize; }
.invoice-lines th,.invoice-lines td { border-color:#d5ccbd; color:var(--ink); }
.invoice-lines th { color:#7b746a; }
.invoice-lines td { font-size:.7rem; }
.invoice-lines td:last-child,.invoice-lines th:last-child { text-align:right; }
.invoice-summary { display:grid; grid-template-columns:1fr minmax(300px,390px); gap:60px; padding:42px 54px; }
.invoice-summary > p { margin:0; font-size:.68rem; }
.invoice-totals { display:grid; gap:10px; }
.invoice-totals > div { display:flex; justify-content:space-between; gap:30px; font-size:.7rem; }
.invoice-totals span { color:#736d64; }
.invoice-totals strong { font-weight:500; }
.invoice-totals .invoice-grand-total { margin-top:5px; padding-top:16px; border-top:1px solid #cfc4b3; font-size:1rem; }
.invoice-totals .invoice-grand-total strong { font-family:'Cormorant Garamond',serif; font-size:1.7rem; }
.payment-label { text-transform:capitalize; }
.invoice-document-foot { display:flex; justify-content:space-between; gap:30px; padding:22px 54px; border-top:1px solid #d5ccbd; }
.invoice-document-foot p { margin:0; font-size:.62rem; }
@media(max-width:720px){.invoice-page,.invoice-detail-page{padding-top:145px}.invoice-parties{grid-template-columns:1fr;gap:30px}.invoice-document-head,.invoice-parties,.invoice-summary{padding:30px 24px}.invoice-document-head{flex-direction:column}.invoice-document-head>div:last-child{text-align:left}.invoice-summary{grid-template-columns:1fr}.invoice-document-foot{padding:20px 24px}.invoice-table th,.invoice-table td{padding:15px}.invoice-detail-actions{align-items:flex-start;flex-direction:column;gap:18px}}
@media print {
  @page { size:A4; margin:12mm; }
  body { background:#fff; color:#000; }
  .no-print,.cart-shell,.checkout-shell,.account-shell,.toast { display:none !important; }
  .invoice-detail-page { width:auto; min-height:0; padding:0; }
  .invoice-document { max-width:none; border:0; box-shadow:none; }
  .invoice-document-head,.invoice-parties,.invoice-summary { padding:9mm 7mm; }
  .invoice-document-foot { padding:5mm 7mm; }
  .invoice-lines th,.invoice-lines td { padding:3.5mm; }
}
