/* Public receipt journal. Presentation only; all values come from retained records. */
.receipt-journal { --receipt-surface:#faf7f0; padding-top:8px; }
.receipt-journal *, .receipt-journal *::before, .receipt-journal *::after { box-sizing:border-box; }
.receipt-journal a:focus-visible, .receipt-journal summary:focus-visible { outline:2px solid var(--color-back); outline-offset:5px; }
.receipt-eyebrow { color:var(--color-ink-muted); font:11px/1.6 var(--font-mono,monospace); letter-spacing:.13em; text-transform:uppercase; }
.receipt-heading { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr); align-items:center; gap:8%; padding:16px 0 24px; }
.receipt-heading h1 { font:600 clamp(38px,4.6vw,66px)/1.05 var(--font-serif,Georgia,serif); letter-spacing:-.045em; margin:12px 0 14px; }
.receipt-heading h1 span { white-space:nowrap; }
.receipt-heading > div > p { max-width:56ch; font:18px/1.5 var(--font-serif,Georgia,serif); color:var(--color-text-mid); margin:0; }
.receipt-heading__note { border-left:2px solid var(--color-live); padding:3px 0 3px 24px; }
.receipt-heading__note h2 { font:600 23px/1.2 var(--font-serif,Georgia,serif); margin:8px 0 9px; }
.receipt-heading__note p { font-size:13px; line-height:1.65; color:var(--color-text-mid); margin:0 0 7px; max-width:40ch; }
.receipt-heading__note a { display:inline-flex; align-items:center; gap:10px; min-height:36px; font-size:12px; font-weight:600; }
.receipt-overview { display:grid; grid-template-columns:.8fr 1fr 1fr 1.35fr; border-top:2px solid var(--color-ink); border-bottom:1px solid var(--color-ink); padding:17px 0; }
.receipt-overview > div { padding:0 24px; min-width:0; display:flex; flex-direction:column; justify-content:center; border-left:1px solid var(--color-rule); gap:6px; }
.receipt-overview > div:first-child { border:0; padding-left:0; }
.receipt-overview__label { font:11px/1.8 var(--font-mono,monospace); letter-spacing:.11em; text-transform:uppercase; color:var(--color-text-mid); }
.receipt-overview__value { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; font:500 clamp(26px,3vw,41px)/1 var(--font-serif,Georgia,serif); font-variant-numeric:tabular-nums; color:var(--color-ink); }
.receipt-overview__value small { font:10px/1.4 var(--font-mono,monospace); letter-spacing:.04em; }
.receipt-overview > div > span:last-child:not(.receipt-overview__value) { font-size:11px; line-height:1.5; color:var(--color-text-mid); }
.receipt-browser-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:23px 0 12px; }
.receipt-browser-heading a { font-size:12px; min-height:36px; display:inline-flex; align-items:center; gap:10px; }
.receipt-filters { display:flex; flex-wrap:wrap; gap:6px; padding:5px; background:var(--color-paper-deep); border:1px solid var(--color-rule); }
.receipt-filters a { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:45px; padding:10px 19px; color:var(--color-ink); font-size:13px; font-weight:500; text-decoration:none; }
.receipt-filters a span { font:11px/1 var(--font-mono,monospace); background:rgba(21,21,20,.07); padding:5px 7px; border-radius:2px; }
.receipt-filters a[aria-current="page"] { background:var(--color-ink); color:var(--color-paper); }
.receipt-filters a[aria-current="page"] span { background:rgba(255,255,255,.14); }
.receipt-filters a:hover:not([aria-current="page"]) { background:var(--receipt-surface); color:var(--color-live); }
.receipt-list-caption { display:flex; justify-content:space-between; gap:16px; margin:17px 0; color:var(--color-text-mid); font-size:11px; }
.receipt-list-caption p { margin:0; }
.receipt-list-caption span { padding:0 6px; }
.receipt-filter-notice { border-left:2px solid var(--color-back); padding-left:12px; margin:18px 0; font-size:13px; }
.receipt-filter-notice a { margin-left:8px; }
.receipt-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.receipt-journal .receipt-card { margin:0; padding:24px 26px 0; min-width:0; border:1px solid var(--color-rule); border-top:3px solid var(--color-ink); background:var(--receipt-surface); }
.receipt-card__top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.receipt-card__type { font:10px/1.5 var(--font-mono,monospace); letter-spacing:.08em; text-transform:uppercase; color:var(--color-text-mid); }
.receipt-verdict { font:600 10px/1.4 var(--font-mono,monospace); letter-spacing:.05em; white-space:nowrap; border:1px solid currentColor; padding:6px 9px; }
.receipt-verdict--back { color:#214e7b; background:#e8edf1; }
.receipt-verdict--fade { color:#842731; background:#f2e7e4; }
.receipt-verdict--void { color:#57554d; background:#ebe8df; }
.receipt-journal .receipt-card h2 { font:600 clamp(22px,2.2vw,30px)/1.16 var(--font-serif,Georgia,serif); margin:18px 0 14px; letter-spacing:-.025em; overflow-wrap:anywhere; }
.receipt-card h2 a { color:var(--color-ink); text-decoration:none; }
.receipt-card h2 a:hover { text-decoration:underline; text-decoration-thickness:1px; }
.receipt-card__source { display:flex; flex-direction:column; gap:4px; font-size:11px; line-height:1.6; color:var(--color-text-mid); }
.receipt-card__source > span:first-child { font-weight:600; }
.receipt-card__source time { white-space:normal; }
.receipt-card__status { border-top:1px solid var(--color-rule); padding-top:14px; margin:18px 0 8px; color:var(--color-ink); font-size:12px; font-weight:600; line-height:1.55; }
.receipt-card__explanation { font-size:12px; line-height:1.6; color:var(--color-text-mid); margin:0 0 18px; max-width:57ch; }
.receipt-card__numbers { display:grid; grid-template-columns:1fr 1.3fr .9fr; gap:12px; margin:17px 0; }
.receipt-card__numbers > div { min-width:0; }
.receipt-card__numbers dt { font-size:10px; line-height:1.5; color:var(--color-text-mid); }
.receipt-card__numbers dd { font:500 26px/1.2 var(--font-serif,Georgia,serif); font-variant-numeric:tabular-nums; margin:5px 0 0; overflow-wrap:anywhere; }
.receipt-journal .receipt-accounting { margin:0; border-top:1px dashed var(--color-rule); }
.receipt-journal summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:48px; cursor:pointer; font-size:12px; font-weight:500; }
.receipt-journal summary::-webkit-details-marker { display:none; }
.receipt-journal summary::marker { content:''; }
.receipt-disclosure-icon { font-size:19px; font-weight:400; line-height:1; }
.receipt-journal details[open] > summary .receipt-disclosure-icon { transform:rotate(45deg); }
.receipt-accounting__body { padding:3px 0 16px; font-size:12px; line-height:1.65; color:var(--color-text-mid); }
.receipt-accounting__body strong { color:var(--color-ink); }
.receipt-accounting__body p { margin:10px 0 0; }
.receipt-accounting__body code { font-size:10px; overflow-wrap:anywhere; white-space:normal; }
.receipt-card__actions { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 22px; margin-top:14px; border-top:1px solid var(--color-rule); }
.receipt-card__actions a { display:inline-flex; align-items:center; gap:12px; min-height:52px; font-size:12px; font-weight:500; text-decoration:none; }
.receipt-card__actions a:hover { text-decoration:underline; }
.receipt-card__actions > span { color:var(--color-text-mid); font-size:10px; line-height:1.5; padding:15px 0; }
.receipt-empty { padding:44px 24px; border:1px solid var(--color-rule); background:var(--receipt-surface); text-align:center; }
.receipt-empty h2 { margin:10px 0; font:500 32px/1.2 var(--font-serif,Georgia,serif); }
.receipt-empty p { font-size:14px; color:var(--color-text-mid); }
.receipt-empty a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; }
.receipt-journal .receipt-pagination { display:flex; justify-content:space-between; border-top:1px solid var(--color-ink); margin:24px 0 40px; padding:12px 0; font-size:12px; }
.receipt-pagination a { font-weight:500; }
.receipt-pagination > span { color:var(--color-text-mid); }
.receipt-pagination__end { font-size:11px; }
.receipt-guide { display:grid; grid-template-columns:1fr 2.8fr; gap:32px; padding:30px; border:1px solid var(--color-rule); background:var(--color-paper-deep); scroll-margin-top:24px; }
.receipt-guide__intro h2 { font:500 29px/1.12 var(--font-serif,Georgia,serif); margin:12px 0; }
.receipt-guide__intro p { font-size:11px; line-height:1.65; color:var(--color-text-mid); margin:0; }
.receipt-guide__steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.receipt-guide__steps > div { border-top:1px solid var(--color-ink); padding-top:10px; }
.receipt-guide__steps > div > span { font:11px/1.4 var(--font-mono,monospace); color:var(--color-live); }
.receipt-guide__steps h3 { font:500 23px/1.2 var(--font-serif,Georgia,serif); margin:12px 0 9px; }
.receipt-guide__steps p { font-size:12px; line-height:1.6; color:var(--color-text-mid); margin:0; }
.receipt-totals { grid-column:1/-1; border-top:1px solid var(--color-rule); }
.receipt-journal .receipt-totals summary { min-height:54px; }
.receipt-totals__body { font-size:12px; line-height:1.7; }
.receipt-totals .stat__label { font-size:11px; }
.receipt-totals .stat__value { font:500 27px/1.4 var(--font-serif,Georgia,serif); }
@media (max-width:1000px) {
 .receipt-heading { gap:32px; grid-template-columns:minmax(0,1.5fr) minmax(235px,1fr); }
 .receipt-overview { grid-template-columns:.75fr 1fr 1fr 1.2fr; }
 .receipt-overview > div { padding:0 15px; }
 .receipt-journal .receipt-card { padding:20px 20px 0; }
 .receipt-guide { grid-template-columns:1fr; gap:25px; }
 .receipt-guide__intro h2 br { display:none; }
 .receipt-guide__intro p { max-width:72ch; }
}
@media (max-width:700px) {
 .receipt-heading { grid-template-columns:1fr; gap:19px; padding:15px 0 24px; }
 .receipt-heading h1 { margin:10px 0 12px; }
 .receipt-heading > div > p { font-size:17px; }
 .receipt-heading__note { padding-left:15px; }
 .receipt-heading__note .receipt-eyebrow { display:none; }
 .receipt-heading__note h2 { font-size:18px; margin:0 0 7px; }
 .receipt-heading__note p { font-size:12px; max-width:none; margin-bottom:2px; }
 .receipt-heading__note a { font-size:11px; }
 .receipt-overview { grid-template-columns:repeat(3,minmax(0,1fr)); padding:12px 0 17px; gap:10px 0; }
 .receipt-overview .receipt-overview__label { grid-column:1/-1; display:block; font-size:9px; padding:0; }
 .receipt-overview__label br { display:none; }
 .receipt-overview > div { padding:0 12px; justify-content:start; }
 .receipt-overview > div:nth-child(2) { border-left:0; padding-left:0; }
 .receipt-overview > div:last-child { padding-right:0; }
 .receipt-overview__value { font-size:29px; gap:3px 5px; }
 .receipt-overview__value small { font-size:8px; }
 .receipt-overview > div > span:last-child:not(.receipt-overview__value) { font-size:10px; }
 .receipt-browser-heading { margin:20px 0 11px; gap:10px; }
 .receipt-browser-heading .receipt-eyebrow { font-size:9px; }
 .receipt-browser-heading a { font-size:10px; }
 .receipt-filters { gap:4px; padding:4px; }
 .receipt-filters a { justify-content:space-between; flex:1 1 auto; min-height:42px; gap:8px; padding:8px 10px; font-size:11px; }
 .receipt-filters a span { font-size:9px; }
 .receipt-list-caption { font-size:10px; gap:8px; margin:14px 0; }
 .receipt-list-caption p:last-child { flex-shrink:0; }
 .receipt-grid { grid-template-columns:1fr; gap:15px; }
 .receipt-journal .receipt-card { padding:20px 18px 0; }
 .receipt-journal .receipt-card h2 { font-size:25px; }
 .receipt-card__type { font-size:9px; }
 .receipt-verdict { font-size:9px; padding:5px 7px; }
 .receipt-card__numbers { gap:10px; }
 .receipt-card__numbers dt { font-size:9px; }
 .receipt-card__numbers dd { font-size:24px; }
 .receipt-card__actions { gap:3px 12px; }
 .receipt-card__actions a { font-size:11px; gap:7px; }
 .receipt-journal .receipt-pagination { font-size:11px; gap:10px; margin-bottom:24px; }
 .receipt-pagination__end { font-size:10px; }
 .receipt-guide { padding:22px 18px; gap:20px; }
 .receipt-guide__steps { grid-template-columns:1fr; gap:18px; }
 .receipt-guide__steps > div { display:grid; grid-template-columns:24px 1fr; gap:6px 9px; }
 .receipt-guide__steps > div > span { padding-top:4px; }
 .receipt-guide__steps h3 { margin:0; font-size:22px; }
 .receipt-guide__steps p { grid-column:2; }
}
@media (max-width:359px) {
 .receipt-overview__value { font-size:25px; }
 .receipt-overview > div { padding:0 8px; }
 .receipt-card__actions { flex-direction:column; padding:7px 0; gap:0; }
 .receipt-card__actions a { min-height:40px; justify-content:space-between; }
 .receipt-filters a { flex-basis:100%; }
}
