/* Canonical receipt presentation. Also publish these exact bytes as the immutable
   stylesheet used by booking, Hub and their standalone print documents.
   Stored receipt text, values, links, images and terms are never rewritten. */
@font-face{font-family:EREBORA Receipt;src:url('https://erebora.org/static/fonts/jost/jost-latin.7726a5cd6f3c0e87.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:EREBORA Receipt;src:url('https://erebora.org/static/fonts/jost/jost-latin-ext.312ef2b80cefd8d6.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:EREBORA Receipt;src:url('https://erebora.org/static/fonts/jost/jost-cyrillic.732ac61fdb7b964d.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
:is(#receiptDocument,.receipt-page,.receipt-content,#fullscreenReceiptViewer){
 --receipt-ink:#20251f;--receipt-muted:#596052;--receipt-paper:#fffefa;
 --receipt-line:#dedfd4;--receipt-brass:#806328;--receipt-green:#28563c;
 --receipt-ground:#f3f2eb;--receipt-success:#edf5ee;--receipt-warning:#f7f0df;
 --receipt-danger:#8b332b;--receipt-danger-ground:#fbefeb;
 font-family:'EREBORA Receipt','Jost',system-ui,-apple-system,'Segoe UI',sans-serif!important;
 color:var(--receipt-ink);font-variant-numeric:tabular-nums;box-sizing:border-box;
}
:is(div#receiptDocument,div.receipt-page),.receipt-content>div{
 width:100%!important;max-width:900px!important;margin:0 auto!important;
 padding:48px 52px!important;background:var(--receipt-paper,#fffefa)!important;
 color:var(--receipt-ink,#20251f)!important;font-size:16px!important;
 line-height:1.65!important;box-sizing:border-box!important;
}
:is(div#receiptDocument,div.receipt-page) *,.receipt-content *{box-sizing:border-box}
:is(div#receiptDocument,div.receipt-page) :is(div,p,td,th,span,strong,a,h1,h2,h3,h4){
 font-family:inherit!important;line-height:inherit;
}
:is(div#receiptDocument,div.receipt-page) :is(p,td,th,span,strong){font-size:inherit!important}
:is(div#receiptDocument,div.receipt-page) p{font-weight:450!important;color:var(--receipt-ink)!important;line-height:1.65!important}
:is(div#receiptDocument,div.receipt-page) strong{font-weight:650!important}
:is(div#receiptDocument,div.receipt-page) a{color:var(--receipt-green)!important;text-decoration:underline!important;text-underline-offset:3px;overflow-wrap:anywhere}
:is(div#receiptDocument,div.receipt-page) a:focus-visible{outline:3px solid var(--receipt-brass);outline-offset:4px;border-radius:2px}
:is(div#receiptDocument,div.receipt-page)::selection,:is(div#receiptDocument,div.receipt-page) ::selection{background:#dbe9da;color:#172f20}
:is(div#receiptDocument,div.receipt-page)>div{margin-top:0!important;margin-bottom:30px!important;max-width:100%;}
:is(div#receiptDocument,div.receipt-page)>div:last-child{margin-bottom:0!important}
:is(div#receiptDocument,div.receipt-page) :is(h1,h2,h3,h4){color:var(--receipt-ink)!important;font-weight:650!important;letter-spacing:0!important;text-transform:none!important;background:none!important;-webkit-text-fill-color:currentColor!important;overflow-wrap:anywhere;text-wrap:balance;}
:is(div#receiptDocument,div.receipt-page) h1{font-size:15px!important;line-height:1.4!important}
:is(div#receiptDocument,div.receipt-page) h2{font-size:32px!important;line-height:1.18!important;margin:5px 0 14px!important;letter-spacing:-.025em!important}
:is(div#receiptDocument,div.receipt-page) h3{font-size:21px!important;line-height:1.35!important;margin:0 0 16px!important;text-align:start!important}
:is(div#receiptDocument,div.receipt-page) h4{font-size:19px!important;line-height:1.35!important;margin:0 0 16px!important;text-align:start!important}
/* A compact branded masthead gives the real receipt title priority over the
   repeated company name. The original document/locale strings remain intact. */
:is(div#receiptDocument,div.receipt-page)>div:first-child:has(>h1){
 display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:20px;
 text-align:start!important;border-bottom:1px solid var(--receipt-line);
 padding:0 0 30px!important;margin-bottom:32px!important;
}
:is(div#receiptDocument,div.receipt-page)>div:first-child:has(>h1)>*{grid-column:2;min-width:0}
:is(div#receiptDocument,div.receipt-page)>div:first-child:has(>h1)>div:has(>img){
 grid-column:1;grid-row:1/span 5;align-self:start;width:72px!important;
 height:72px!important;border:0!important;border-radius:50%!important;
 padding:0!important;margin:0!important;box-shadow:none!important;background:white!important;
}
:is(div#receiptDocument,div.receipt-page)>div:first-child:has(>h1)>div>img{width:100%!important;height:100%!important;object-fit:contain!important}
:is(div#receiptDocument,div.receipt-page)>div:first-child:has(>h1)>p{margin:4px 0!important;font-size:13px!important;color:var(--receipt-muted)!important;font-weight:500!important}
:is(div#receiptDocument,div.receipt-page)>div:first-child:has(>h1):not(:has(>div>img)){grid-template-columns:minmax(0,1fr)}
:is(div#receiptDocument,div.receipt-page)>div:first-child:has(>h1):not(:has(>div>img))>*{grid-column:1}
:is(div#receiptDocument,div.receipt-page)>div[style*="border-top"]{border-top:1px solid var(--receipt-line)!important;padding-top:28px!important}
:is(div#receiptDocument,div.receipt-page)>div:nth-child(2):has(>h3):not([style*="background"]){border-top:0!important;padding-top:0!important}
:is(div#receiptDocument,div.receipt-page) table{
 width:100%!important;max-width:100%!important;border-collapse:collapse!important;
 table-layout:fixed!important;font-size:16px!important;color:var(--receipt-ink)!important;
}
:is(div#receiptDocument,div.receipt-page) td,:is(div#receiptDocument,div.receipt-page) th{
 padding:12px 0!important;border-bottom:1px solid var(--receipt-line)!important;
 vertical-align:top;line-height:1.5!important;font-weight:500!important;
 color:var(--receipt-ink)!important;max-width:none!important;overflow-wrap:anywhere;
}
:is(div#receiptDocument,div.receipt-page) td:first-child{width:42%!important;padding-inline-end:24px!important;color:var(--receipt-muted)!important;font-weight:450!important}
:is(div#receiptDocument,div.receipt-page) td:last-child{text-align:end!important;font-weight:600!important}
:is(div#receiptDocument,div.receipt-page) tr:last-child td{border-bottom:0!important}
:is(div#receiptDocument,div.receipt-page) tr[style*="border-top"]{border-top:1px solid var(--receipt-brass)!important}
:is(div#receiptDocument,div.receipt-page) tr[style*="border-top"] td{font-size:19px!important;color:var(--receipt-green)!important;padding-top:18px!important;font-weight:650!important}
/* Preserve the original meaning of status colors: retained/debit stays red,
   refunded/paid stays green. Neutral styling must not flatten that distinction. */
:is(div#receiptDocument,div.receipt-page)>div[style*="background"]:not(:first-child){
 padding:22px 24px!important;border:1px solid var(--receipt-line)!important;
 border-radius:10px!important;background:var(--receipt-ground)!important;
}
:is(div#receiptDocument,div.receipt-page)>div[style*="#fff3cd" i],
:is(div#receiptDocument,div.receipt-page) .legal-disclaimer{background:var(--receipt-warning)!important;border:1px solid #dfd0aa!important;border-radius:8px!important;padding:20px!important;color:var(--receipt-ink)!important;font-size:15px!important;font-weight:450!important;line-height:1.7!important}
:is(div#receiptDocument,div.receipt-page)>div:is([style*="#dcfce7" i],[style*="#e8f5e9" i],[style*="#f0fdf4" i]){background:var(--receipt-success)!important;border-color:#c8dbcb!important}
:is(div#receiptDocument,div.receipt-page)>div:is([style*="#fef2f2" i],[style*="#fee2e2" i]){background:var(--receipt-danger-ground)!important;border-color:#e7c9bf!important}
:is(div#receiptDocument,div.receipt-page) :is(p,td,span,h2)[style*="#ef4444" i]{color:var(--receipt-danger)!important}
:is(div#receiptDocument,div.receipt-page) :is(p,td,span,h2)[style*="#22c55e" i]{color:var(--receipt-green)!important}
:is(div#receiptDocument,div.receipt-page)>div[style*="background"]>h2{font-size:24px!important;margin-bottom:8px!important}
:is(div#receiptDocument,div.receipt-page)>div[style*="background"]>p{margin-top:8px!important}
:is(div#receiptDocument,div.receipt-page) .terms-list{margin:20px 0!important}
:is(div#receiptDocument,div.receipt-page) .term-item{display:flex;gap:12px;align-items:baseline;margin-bottom:14px!important;line-height:1.7!important;break-inside:avoid}
:is(div#receiptDocument,div.receipt-page) .term-number{flex:0 0 22px;min-width:22px!important;font-size:14px!important;font-weight:650!important;color:var(--receipt-brass)!important}
:is(div#receiptDocument,div.receipt-page) .term-text{flex:1;min-width:0;font-size:14px!important;line-height:1.7!important;font-weight:450!important;color:var(--receipt-ink)!important}
/* Protected Oct 1 failure: saved signatures retain a 500px inline minimum.
   Constrain the frame AND image across shared, immediate and printed receipts. */
:is(#receiptDocument,.receipt-page,.receipt-content) div:has(>img){min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
:is(#receiptDocument,.receipt-page,.receipt-content) img{max-width:100%!important;height:auto!important;object-fit:contain!important}
:is(div#receiptDocument,div.receipt-page)>div:has(>h4)>div:has(>img){
 display:block!important;width:min(100%,600px)!important;margin:0 auto!important;
 padding:18px!important;border:1px solid #bfc8b9!important;border-radius:8px!important;
 box-shadow:none!important;background:white!important;overflow:visible!important;
}
:is(div#receiptDocument,div.receipt-page)>div:has(>h4)>div>img{display:block;margin:0 auto;min-height:0!important;width:100%!important}
:is(div#receiptDocument,div.receipt-page)>div:has(>h4)>p{font-size:13px!important;color:var(--receipt-muted)!important;margin-top:12px!important}
.receipt-content>.receipt-page+.receipt-page{border-top:1px solid var(--receipt-line)}
/* Host chrome is scoped so booking controls and Hub tables stay untouched. */
#fullscreenReceiptViewer{background:#eceee6!important;font-family:'EREBORA Receipt',Jost,system-ui,sans-serif!important}
#fullscreenReceiptViewer .receipt-viewer-content{padding:24px 18px 110px!important}
#fullscreenReceiptViewer .receipt-viewer-content :is(div#receiptDocument,div.receipt-page){max-width:900px!important;padding:48px 52px!important}
#fullscreenReceiptViewer .receipt-floating-buttons{padding:14px max(20px,calc((100vw - 860px)/2))!important;background:#fffefa!important;border-top:1px solid #dedfd4;gap:12px!important}
#fullscreenReceiptViewer .receipt-btn{min-height:48px;padding:12px 18px!important;border:1px solid #bdc5b7!important;border-radius:8px!important;font:600 15px/1.3 'EREBORA Receipt',Jost,system-ui,sans-serif!important;box-shadow:none!important;transform:none!important;transition:background-color .15s ease}
#fullscreenReceiptViewer .receipt-btn-back{background:#fffefa!important;color:#28563c!important}
#fullscreenReceiptViewer .receipt-btn-share{background:#28563c!important;color:#fffefa!important;border-color:#28563c!important}
#fullscreenReceiptViewer .receipt-btn:hover{filter:brightness(.94)}
#fullscreenReceiptViewer .receipt-btn:focus-visible{outline:3px solid #806328;outline-offset:3px}
#fullscreenReceiptViewer .receipt-btn:disabled{opacity:.65;cursor:wait}
#fullscreenReceiptViewer .receipt-btn-icon{font-size:18px!important}
@media screen and (max-width:600px){
 :is(div#receiptDocument,div.receipt-page),.receipt-content>div,
 #fullscreenReceiptViewer .receipt-viewer-content :is(div#receiptDocument,div.receipt-page){padding:26px 22px!important;font-size:15px!important}
 :is(div#receiptDocument,div.receipt-page)>div{margin-bottom:28px!important}
 :is(div#receiptDocument,div.receipt-page)>div:first-child:has(>h1){grid-template-columns:52px minmax(0,1fr);column-gap:14px;padding-bottom:24px!important;margin-bottom:28px!important}
 :is(div#receiptDocument,div.receipt-page)>div:first-child:has(>h1)>div:has(>img){width:52px!important;height:52px!important}
 :is(div#receiptDocument,div.receipt-page) h1{font-size:11px!important}
 :is(div#receiptDocument,div.receipt-page) h2{font-size:25px!important}
 :is(div#receiptDocument,div.receipt-page) h3{font-size:19px!important}
 :is(div#receiptDocument,div.receipt-page) h4{font-size:18px!important}
 :is(div#receiptDocument,div.receipt-page) table{font-size:15px!important}
 :is(div#receiptDocument,div.receipt-page) td{padding:11px 0!important}
 :is(div#receiptDocument,div.receipt-page) td:first-child{width:43%!important;padding-inline-end:14px!important;font-size:14px!important}
 :is(div#receiptDocument,div.receipt-page) tr[style*="border-top"] td{font-size:17px!important}
 :is(div#receiptDocument,div.receipt-page)>div[style*="background"]:not(:first-child){padding:18px 16px!important}
 :is(div#receiptDocument,div.receipt-page)>div:has(>h4)>div:has(>img){padding:12px!important}
 #fullscreenReceiptViewer .receipt-viewer-content{padding:0 0 95px!important}
 #fullscreenReceiptViewer .receipt-floating-buttons{padding:12px 14px!important;gap:10px!important}
}
@media screen and (max-width:360px){
 :is(div#receiptDocument,div.receipt-page),.receipt-content>div,
 #fullscreenReceiptViewer .receipt-viewer-content :is(div#receiptDocument,div.receipt-page){padding:24px 16px!important}
 :is(div#receiptDocument,div.receipt-page)>div:first-child:has(>h1){grid-template-columns:44px minmax(0,1fr);gap:10px}
 :is(div#receiptDocument,div.receipt-page)>div:first-child:has(>h1)>div:has(>img){width:44px!important;height:44px!important}
 :is(div#receiptDocument,div.receipt-page) h2{font-size:23px!important}
}
@media print{
 :is(div#receiptDocument,div.receipt-page),.receipt-content>div,
 #fullscreenReceiptViewer .receipt-viewer-content :is(div#receiptDocument,div.receipt-page){
  max-width:100%!important;width:100%!important;padding:16px 20px!important;
  margin:0!important;background:white!important;box-shadow:none!important;
  font-size:11pt!important;line-height:1.5!important;break-inside:auto!important;
 }
 :is(div#receiptDocument,div.receipt-page) h2{font-size:22pt!important}
 :is(div#receiptDocument,div.receipt-page) h3{font-size:14pt!important}
 :is(div#receiptDocument,div.receipt-page) :is(h3,h4){break-after:avoid}
 :is(div#receiptDocument,div.receipt-page)>div{margin-bottom:18px!important}
 :is(div#receiptDocument,div.receipt-page) table{font-size:10pt!important;page-break-inside:avoid}
 :is(div#receiptDocument,div.receipt-page) td{padding:7px 0!important}
 :is(div#receiptDocument,div.receipt-page) .term-text{font-size:10pt!important}
 :is(div#receiptDocument,div.receipt-page) .term-item{margin-bottom:8px!important}
 :is(div#receiptDocument,div.receipt-page)>div:has(>h4){break-inside:avoid}
 #fullscreenReceiptViewer .receipt-floating-buttons{display:none!important}
 #fullscreenReceiptViewer .receipt-viewer-content{padding:0!important;overflow:visible!important}
}

/* The compatibility viewer has inline toolbar geometry; preserve its controls
   while letting the toolbar wrap above the scrollable document on a phone. */
#receiptModal{background:#f3f2eb!important;font-family:'EREBORA Receipt',Jost,system-ui,sans-serif!important}
#receiptModal>div:first-child{display:flex!important;flex-wrap:wrap!important;gap:12px!important;align-items:center;background:#fffefa!important;border-bottom:1px solid #dedfd4!important;padding:14px 20px!important}
#receiptModal>div:first-child :is(h2,h3){font:600 18px/1.3 'EREBORA Receipt',Jost,system-ui,sans-serif!important;color:#20251f!important}
#receiptModal>div:first-child>div{display:flex;flex-wrap:wrap;gap:8px!important}
#receiptModal>div:first-child button{min-height:44px;padding:10px 14px!important;border:1px solid #bdc5b7!important;border-radius:7px!important;background:#fffefa!important;color:#28563c!important;font:600 14px/1.3 'EREBORA Receipt',Jost,system-ui,sans-serif!important}
#receiptModal>div:first-child button:focus-visible{outline:3px solid #806328;outline-offset:3px}
@media screen and (max-width:600px){ #receiptModal>div:first-child{padding:12px!important}#receiptModal>div:first-child>div{width:100%}#receiptModal>div:first-child button{flex:1;padding:10px 8px!important}}

/* Oct 3 owner WHY: real Checkout and saved-public receipts lost visible group
   boundaries to pale hairlines and shadow:none; muddy brass also survived in
   legal numbering. Restore distinct paper/section/media planes, not boxes on
   every row. Existing generator content, signature constraints and print sizing
   stay owned above. Public PDF captures screen CSS, so modest type changes still
   require actual export replay; logical PAGE 1/2 does not promise two A4 sheets. */
:is(#receiptDocument,.receipt-page,.receipt-content,#fullscreenReceiptViewer){
 --receipt-ink:#11170f;--receipt-muted:#20251f;--receipt-line:#9aa596;
 --receipt-brass:#ffd700;
}
:is(div#receiptDocument,div.receipt-page) .term-number{color:var(--receipt-ink)!important}
:is(div#receiptDocument,div.receipt-page) a:focus-visible,
#fullscreenReceiptViewer .receipt-btn:focus-visible,
#receiptModal>div:first-child button:focus-visible{outline-color:#11170f!important}
/* Preserve the date/status meaning already present in the original generators.
   Neutral values and finance never acquire decorative gold ink. */
:is(div#receiptDocument,div.receipt-page) td[style*="#28a745" i]{color:var(--receipt-green)!important}
:is(div#receiptDocument,div.receipt-page) td[style*="#dc3545" i]{color:var(--receipt-danger)!important}

@media screen{
 :is(div#receiptDocument,div.receipt-page){
  outline:2px solid var(--receipt-ink);outline-offset:-2px;
  box-shadow:0 8px 24px #11170f18!important;
 }
 /* Strong edges need actual inner space: the six-pixel outline preview crowded
    headings and values. Keep each factual group together with inset content. */
 :is(div#receiptDocument,div.receipt-page)>div:has(>h3):has(table),
 :is(div#receiptDocument,div.receipt-page)>div:nth-child(2):has(>h3):not([style*="background"]),
 :is(div#receiptDocument,div.receipt-page)>div[style*="background"]:not(:first-child):has(>h3):has(table),
 :is(div#receiptDocument,div.receipt-page)>div:has(>h3):has(.terms-list){
  border:2px solid var(--receipt-ink)!important;outline:none;
  border-radius:12px!important;padding:18px 20px!important;
  box-shadow:0 5px 12px #11170f14!important;
 }
 :is(div#receiptDocument,div.receipt-page)>div:first-child:has(>h1){
  border-bottom:2px solid var(--receipt-ink)!important;
  box-shadow:inset 0 -5px 0 var(--receipt-brass);
 }
 :is(div#receiptDocument,div.receipt-page) :is(h3,h4){font-weight:700!important}
 :is(div#receiptDocument,div.receipt-page)>div:has(table)>h3,
 :is(div#receiptDocument,div.receipt-page)>div:has(.terms-list)>h3{
  padding-bottom:12px!important;border-bottom:2px solid var(--receipt-ink)!important;
  margin-bottom:4px!important;
 }
 :is(div#receiptDocument,div.receipt-page)>div:first-child:has(>h1)>p,
 :is(div#receiptDocument,div.receipt-page)>div:has(>h4)>p{
  font-size:15px!important;line-height:1.4!important;
  color:var(--receipt-ink)!important;font-weight:550!important;
 }
 :is(div#receiptDocument,div.receipt-page) table{font-size:17px!important}
 :is(div#receiptDocument,div.receipt-page) td:first-child{
  color:var(--receipt-ink)!important;font-weight:550!important;
 }
 :is(div#receiptDocument,div.receipt-page) tr[style*="border-top"]{
  border-top:2px solid var(--receipt-green)!important;
 }
 :is(div#receiptDocument,div.receipt-page)>div:has(>h4)>div:has(>img){
  border:2px solid var(--receipt-ink)!important;
  box-shadow:0 5px 14px #11170f1c!important;
 }
 :is(div#receiptDocument,div.receipt-page)>div[style*="border-top"]:not(:has(>h3)):not(:has(>h4)){
  border-top:2px solid var(--receipt-ink)!important;
 }
 :is(div#receiptDocument,div.receipt-page) .legal-disclaimer{
  border:2px solid var(--receipt-ink)!important;
  background:#fff6c2!important;box-shadow:inset 5px 0 0 var(--receipt-brass);
  font-size:16px!important;line-height:1.6!important;
 }
 :is(div#receiptDocument,div.receipt-page) .term-number,
 :is(div#receiptDocument,div.receipt-page) .term-text{
  font-size:16px!important;line-height:1.5!important;
 }
 :is(div#receiptDocument,div.receipt-page) .term-number{font-weight:700!important}
 :is(div#receiptDocument,div.receipt-page) .term-text{font-weight:500!important}
 .receipt-content>.receipt-page+.receipt-page{border-top:2px solid var(--receipt-ink)}
 #fullscreenReceiptViewer .receipt-floating-buttons{border-top:2px solid #11170f!important}
 #fullscreenReceiptViewer .receipt-btn{
  border:2px solid #11170f!important;font-size:17px!important;
  box-shadow:0 3px 8px #11170f12!important;
 }
 #fullscreenReceiptViewer .receipt-btn-back{color:#11170f!important}
 #fullscreenReceiptViewer .receipt-btn-share{border-color:#28563c!important}
 #receiptModal>div:first-child{border-bottom:2px solid #11170f!important}
 #receiptModal>div:first-child button{
  border:2px solid #11170f!important;color:#11170f!important;font-size:16px!important;
 }
 /* Public host rules follow the include, so these exact scoped overrides need
    importance. Print/PDF owners and controls remain the original template. */
 .receipt-container:has(>.receipt-content){
  outline:2px solid #11170f;box-shadow:0 10px 28px #11170f20!important;
 }
 .receipt-container>.action-buttons{border-bottom:2px solid #11170f!important}
 .receipt-container>.action-buttons>.action-btn{
  border:2px solid #11170f!important;font-size:16px!important;color:#11170f!important;
  box-shadow:0 3px 8px #11170f12;
 }
 .receipt-container>.action-buttons>.btn-download{
  border-color:#28563c!important;color:#fffefa!important;
 }
 .receipt-container>.action-buttons>.action-btn:focus-visible{outline-color:#11170f!important}
 body:has(>.receipt-container)>.receipt-header p{color:#11170f!important;font-size:15px!important}
}
@media screen and (max-width:600px){
 :is(div#receiptDocument,div.receipt-page) table{font-size:16px!important}
 :is(div#receiptDocument,div.receipt-page) td:first-child{font-size:16px!important}
 #fullscreenReceiptViewer .receipt-btn{font-size:16px!important}
}

@media screen and (max-width:600px){
 :is(div#receiptDocument,div.receipt-page)>div:has(>h3):has(table),
 :is(div#receiptDocument,div.receipt-page)>div:nth-child(2):has(>h3):not([style*="background"]),
 :is(div#receiptDocument,div.receipt-page)>div[style*="background"]:not(:first-child):has(>h3):has(table),
 :is(div#receiptDocument,div.receipt-page)>div:has(>h3):has(.terms-list){padding:14px 14px!important}
}

/* Legacy viewer-only phone CSS used 10px values after the canonical sheet.
   Keep factual values as readable as labels; allow wrapping, never shrink ink. */
@media screen{
 :is(div#receiptDocument,div.receipt-page) table :is(td,th){font-size:17px!important;padding:12px 0!important}
 :is(div#receiptDocument,div.receipt-page) table td:first-child{padding-inline-end:20px!important}
}
@media screen and (max-width:600px){
 :is(div#receiptDocument,div.receipt-page) table :is(td,th){font-size:16px!important;padding:11px 0!important}
 :is(div#receiptDocument,div.receipt-page) table td:first-child{padding-inline-end:12px!important}
}

/* On a 320px receipt, the original 42% label column left 83px for
   Registration (84.72px in loaded Jost). Widen the label without shrinking
   either column's 16px type; desktop and print geometry stay unchanged. */
@media screen and (max-width:380px){
 :is(div#receiptDocument,div.receipt-page) table td:first-child{width:46%!important}
}

/* Fine opposite-ink glyph edges use RGB on the receipt's dark-ink palette.
   WHY: html2canvas 1.4.1 parses every computed text-stroke color, including
   zero-width/inherited strokes. OKLCH breaks actual Download PDF. Explicit
   root/descendant colors also override inherited Hub/Booking adaptive edges.
   Keep the old exporter and document metrics; do not upgrade it for a paint fix. */
@media not (forced-colors: active) {
  :is(#receiptDocument,.receipt-page,.receipt-content,#fullscreenReceiptViewer,#receiptModal),
  :is(#receiptDocument,.receipt-page,.receipt-content,#fullscreenReceiptViewer,#receiptModal) * {
    -webkit-text-stroke: .35px #fff;
    paint-order: stroke fill;
  }
  #fullscreenReceiptViewer .receipt-btn-share,
  #fullscreenReceiptViewer .receipt-btn-share * {
    -webkit-text-stroke-color: #11170f;
  }
}
