/* Receipt steps share the existing GOODNUFF sheet and locked palette. */
body #modal[open]:has(.receipt-journey){box-sizing:border-box;display:flex;flex-direction:column;width:min(560px,calc(100vw - 24px));max-width:calc(100vw - 24px);height:min(780px,88dvh);max-height:88dvh;margin:auto;overflow:hidden;background:#FFF5E6;color:#20201E}
body #modal:has(.receipt-journey)>.modal-top{flex:none}
body #modal .receipt-journey{display:flex;flex:1;flex-direction:column;font:16px/1.5 Arial,sans-serif;min-width:0;min-height:0}
body #modal .receipt-journey .receipt-journey-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding:12px;padding-inline:3px}
body #modal .receipt-journey *{box-sizing:border-box}
body #modal .receipt-journey h2{font-family:'Goodnuff Display',Arial,sans-serif;font-size:clamp(30px,7vw,40px);line-height:1.08;letter-spacing:-1.1px;margin:12px 0 24px;overflow-wrap:anywhere}
body #modal .receipt-journey h3{font-family:'Goodnuff Display',Arial,sans-serif;font-size:22px;line-height:1.2;letter-spacing:-.4px;margin:24px 0 12px}
body #modal .receipt-journey p{font-size:16px;line-height:1.5;margin:12px 0}
body #modal .receipt-journey .receipt-context{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;margin:0 0 12px}
body #modal .receipt-journey label{display:block;font-size:16px;line-height:1.4;margin:16px 0}
body #modal .receipt-journey input:not([type=checkbox]):not([type=radio]),body #modal .receipt-journey select{display:block;width:100%;min-width:0;min-height:48px;margin-top:7px;padding:12px;border:1px solid #20201E;border-radius:12px;background:#FFF5E6;color:#20201E;font:16px/1.4 Arial,sans-serif}
body #modal .receipt-journey input[type=checkbox]{width:24px;height:24px;flex:0 0 24px;margin:2px 0 0;accent-color:#FF5C28}
body #modal .receipt-journey button{min-height:48px;font-size:16px;line-height:1.3;white-space:normal;letter-spacing:normal}
body #modal .receipt-journey details{border-top:1px solid #20201E;margin-top:18px;padding-top:6px}
body #modal .receipt-journey summary{padding:12px 0;min-height:48px;font-size:16px;line-height:1.4;cursor:pointer;font-weight:700}
body #modal .receipt-journey .receipt-note{font-size:14px;line-height:1.5}
body #modal .receipt-journey .receipt-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:20px 0 8px}
body #modal .receipt-journey .receipt-total strong{font-family:'Goodnuff Display',Arial,sans-serif;font-size:32px;line-height:1.2}
body #modal .receipt-journey .receipt-dish-list{border-top:1px solid #20201E;margin-top:18px}
body #modal .receipt-journey label.receipt-dish{display:flex;gap:12px;align-items:flex-start;min-height:64px;margin:0;padding:16px 0;cursor:pointer}
body #modal .receipt-journey .receipt-dish-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid #20201E}
body #modal .receipt-journey .receipt-dish-row .receipt-dish{flex:1;min-width:0}
body #modal .receipt-journey .receipt-remove{flex:0 0 auto;min-width:52px;min-height:48px;padding:10px 4px;background:transparent;color:#20201E;text-decoration:underline;font-size:14px}
body #modal .receipt-journey .receipt-dish span{min-width:0;overflow-wrap:anywhere}
body #modal .receipt-journey .receipt-dish small{display:block;font-size:14px;margin-top:4px}
body #modal .receipt-journey .receipt-basis{padding:14px 0;border-block:1px solid #20201E}
body #modal .receipt-journey .receipt-basis b{display:block;font-size:20px;margin-top:4px}
body #modal .receipt-journey .receipt-fractions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0}
body #modal .receipt-journey .receipt-fractions label{position:relative;margin:0;cursor:pointer}
body #modal .receipt-journey .receipt-fractions input{position:absolute;width:1px;height:1px;opacity:0}
body #modal .receipt-journey .receipt-fractions span{display:flex;align-items:center;justify-content:center;min-height:56px;border:1px solid #20201E;border-radius:12px;font-size:24px;font-weight:700}
body #modal .receipt-journey .receipt-fractions input:checked+span{background:#FF5C28;border:2px solid #20201E;color:var(--paper)}
body #modal .receipt-journey .receipt-fractions input:focus-visible+span,body #modal .receipt-journey :focus-visible{outline:3px solid #20201E;outline-offset:3px}
body #modal .receipt-journey .scan-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body #modal .receipt-journey .receipt-calories{font-size:20px;font-weight:700;margin:20px 0}
body #modal .receipt-journey .receipt-review-card{border:1px solid #20201E;border-radius:16px;padding:16px;margin:18px 0}
body #modal .receipt-journey .receipt-review-card h3{margin:0 0 12px}
body #modal .receipt-journey .receipt-review-card p span,body #modal .receipt-journey .receipt-saved span{display:block;font-size:14px;margin-top:4px}
body #modal .receipt-journey .receipt-saved{padding:12px 0;border-bottom:1px solid #20201E}
body #modal .receipt-journey .receipt-journey-footer{flex:none;margin-top:12px;padding:12px 0 max(8px,env(safe-area-inset-bottom));background:#FFF5E6;border-top:1px solid #20201E}
body #modal .receipt-journey .receipt-journey-footer .scan-error:empty{display:none}
body #modal .receipt-journey .receipt-journey-footer .scan-error{font-size:14px;font-weight:700;margin:0 0 10px}
body #modal .receipt-journey .primary.full{display:block;width:100%;min-height:52px;margin:0;border:1px solid #20201E;border-radius:12px;background:#FF5C28;color:var(--paper);font-weight:700;opacity:1}
body #modal .receipt-journey .primary.full:disabled{background:#FFF5E6;border-style:dashed;cursor:wait}
body #modal .receipt-journey .scan-secondary{background:#FFF5E6;color:#20201E;border:1px solid #20201E}
body #modal .receipt-journey .scan-text-button{background:transparent;color:#20201E;text-decoration:underline;padding:12px 0}
body #modal .receipt-grocery-row{border-bottom:1px solid #20201E;padding:8px 0 18px;min-width:0}
body #modal .receipt-grocery-row details{margin-top:4px}
body #modal .receipt-package{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:end}
body #modal .receipt-package label{font-size:14px;margin:4px 0;min-width:0}
body #modal .receipt-package input,body #modal .receipt-package select{padding:10px 6px!important}
@media(max-width:360px){body #modal:has(.receipt-journey){padding:16px}.receipt-fractions{gap:6px}}
