.scanner-app{min-height:100vh;background:var(--surface-canvas);color:var(--text-primary);font-family:var(--font-family-sans)}.scanner-app *{box-sizing:border-box}.scanner-app button,.scanner-app input,.scanner-app textarea{font:inherit}.scanner-app button{cursor:pointer}.scanner-app button:disabled{cursor:wait;opacity:.62}.scanner-app input,.scanner-app textarea{min-width:0}.scanner-app .scanner-auth-header{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(1120px,100%);margin:0 auto;padding:18px 20px 0}.scanner-app .scanner-auth-actions{display:flex;align-items:center;gap:8px}.scanner-app .page-shell{width:min(1120px,100%);margin:0 auto;padding:28px 20px 56px}.scanner-app .home-page{display:grid;gap:42px;padding-top:clamp(44px,9vw,110px)}.scanner-app .hero-card{max-width:780px}.scanner-app .eyebrow{margin:0 0 8px;color:var(--text-secondary);font-size:var(--font-size-label);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-label);text-transform:uppercase}.scanner-app h1,.scanner-app h2,.scanner-app p{margin-top:0}.scanner-app h1{max-width:760px;margin-bottom:18px;color:var(--text-primary);font-size:clamp(38px,7vw,76px);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--line-height-tight)}.scanner-app h2{margin-bottom:5px;font-size:21px;letter-spacing:var(--tracking-heading)}.scanner-app .hero-copy{max-width:630px;margin-bottom:28px;color:var(--text-secondary);font-size:18px;line-height:var(--line-height-relaxed)}.scanner-app .supporting-copy{margin:14px 0 0;color:var(--text-secondary);font-size:var(--font-size-label)}.scanner-app .button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid transparent;border-radius:var(--radius-control);padding:9px 15px;font-size:var(--font-size-small);font-weight:var(--font-weight-bold);transition:transform var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}.scanner-app .button:hover:not(:disabled){transform:translateY(-1px)}.scanner-app .button-primary{background:var(--action-primary);color:var(--text-on-color);box-shadow:var(--shadow-control)}.scanner-app .button-primary:hover:not(:disabled){background:var(--action-primary-hover)}.scanner-app .button-secondary{border-color:var(--border-subtle);background:var(--surface-card);color:var(--action-secondary-foreground)}.scanner-app .button-quiet{background:transparent;color:var(--action-secondary-foreground)}.scanner-app .button-large{min-height:var(--size-control);padding:12px 19px}.scanner-app .recent-section{max-width:720px}.scanner-app .section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.scanner-app .empty-card,.scanner-app .recent-list a{display:flex;align-items:center;justify-content:space-between;border:1px solid #dbe0d8;border-radius:14px;background:#ffffffb8;color:#607067;font-size:14px}.scanner-app .empty-card{padding:20px}.scanner-app .recent-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.scanner-app .recent-list a{padding:15px 17px;color:#274c35;text-decoration:none}.scanner-app .recent-list a:hover{border-color:#98b49f;background:#fff}.scanner-app .recent-list code{color:#708076;font-size:12px}.scanner-app .page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:26px}.scanner-app .page-header h1{margin:0;font-size:clamp(32px,5vw,53px);letter-spacing:0}.scanner-app .scanner-page{max-width:760px}.scanner-app .camera-card{position:relative;width:min(100%,480px);aspect-ratio:3 / 4;margin:0 auto;overflow:hidden;border-radius:var(--radius-feature);background:var(--surface-inverse);box-shadow:var(--shadow-floating)}.scanner-app .scan-camera-stack{display:grid;gap:10px;width:min(100%,480px);margin:0 auto}.scanner-app .scan-camera-stack .camera-card{width:100%}.scanner-app .alignment-reference{width:82%;margin:0 auto}.scanner-app .alignment-reference-image{position:relative;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-compact);background:var(--surface-card);box-shadow:var(--shadow-card)}.scanner-app .alignment-reference-image img{display:block;width:100%;height:auto}.scanner-app .reference-line{position:absolute;z-index:2;left:0;width:100%;height:3px;transform:translateY(-1.5px);border-radius:var(--radius-round);background:var(--status-info);box-shadow:var(--shadow-guide-info)}.scanner-app .alignment-reference[data-status=hold_still] .reference-line,.scanner-app .alignment-reference[data-status=aligned] .reference-line{background:var(--status-success);box-shadow:var(--shadow-guide-success)}.scanner-app .camera-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.scanner-app .camera-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--text-on-inverse-muted);font-size:var(--font-size-small)}.scanner-app .scan-overlay{position:absolute;inset:6%;border-radius:var(--radius-control);box-shadow:inset 0 0 0 100vmax var(--surface-scrim);pointer-events:none}.scanner-app .scan-overlay svg{position:absolute;inset:0;width:100%;height:100%}.scanner-app .receipt-outline{fill:color-mix(in oklch,var(--status-success) 10%,transparent);stroke:var(--status-success);stroke-width:.8;vector-effect:non-scaling-stroke;transition:stroke var(--duration-fast) var(--ease-standard),fill var(--duration-fast) var(--ease-standard)}.scanner-app .guide-outline{fill:transparent;stroke-dasharray:4 2}.scanner-app .scan-overlay[data-style=missing] .receipt-outline{fill:color-mix(in oklch,var(--status-danger) 6%,transparent);stroke:var(--status-danger)}.scanner-app .scan-overlay[data-style=adjust] .receipt-outline{fill:color-mix(in oklch,var(--status-attention) 8%,transparent);stroke:var(--status-attention)}.scanner-app .scan-overlay span{position:absolute;left:50%;bottom:14px;transform:translate(-50%);width:max-content;color:var(--text-on-color);font-size:var(--font-size-label);font-weight:var(--font-weight-bold)}.scanner-app .line-scan-overlay{position:absolute;inset:0;pointer-events:none}.scanner-app .receipt-rails{position:absolute;overflow:visible;border-right:2px solid var(--border-on-inverse);border-left:2px solid var(--border-on-inverse)}.scanner-app .receipt-rails:before,.scanner-app .receipt-rails:after{position:absolute;left:0;width:100%;height:1px;background:color-mix(in oklch,var(--text-on-color) 30%,transparent);content:""}.scanner-app .receipt-rails:before{top:0}.scanner-app .receipt-rails:after{bottom:0}.scanner-app .line-guide{position:absolute;z-index:3;left:0;width:100%;height:4px;transform:translateY(-2px);border-radius:var(--radius-round)}.scanner-app .cut-line{background:var(--status-attention)}.scanner-app .target-line{background:var(--status-info);box-shadow:var(--shadow-guide-info)}.scanner-app .line-scan-overlay[data-status=move_down] .target-line,.scanner-app .line-scan-overlay[data-status=move_up] .target-line,.scanner-app .line-scan-overlay[data-status=almost_aligned] .target-line{background:var(--status-attention);box-shadow:var(--shadow-guide-attention)}.scanner-app .line-scan-overlay[data-status=hold_still] .target-line,.scanner-app .line-scan-overlay[data-status=aligned] .target-line{background:var(--status-success);box-shadow:var(--shadow-guide-success)}.scanner-app .scan-message{min-height:42px;margin:14px 0;color:var(--text-secondary);font-size:var(--font-size-small);line-height:var(--line-height-body)}.scanner-app .scanner-status{display:flex;align-items:center;gap:9px;min-height:42px;margin:14px 0;color:var(--text-secondary);font-size:var(--font-size-small);line-height:var(--line-height-body)}.scanner-app .scanner-status p{margin:0}.scanner-app .scanner-status.scanner-status-completion{border:1px solid var(--action-primary-strong);background:var(--action-primary);color:var(--text-on-color);box-shadow:var(--shadow-feature);animation:scanner-completion-arrive var(--duration-standard) var(--ease-emphasized)}.scanner-app .scanner-status-completion>svg{flex:0 0 auto;box-sizing:content-box;border-radius:var(--radius-round);background:color-mix(in oklch,var(--text-on-color) 18%,transparent);color:var(--text-on-color);padding:3px}.scanner-app .scanner-status.scanner-status-completion p,.scanner-app .scanner-status-completion strong{color:var(--text-on-color)}.scanner-app .scanner-status-completion strong{font-weight:var(--font-weight-extrabold)}@keyframes scanner-completion-arrive{0%{transform:translateY(3px) scale(.98);box-shadow:var(--shadow-control)}65%{transform:translateY(0) scale(1.01);box-shadow:var(--shadow-feature)}to{transform:translateY(0) scale(1)}}.scanner-app .status-dot{width:var(--space-2);height:var(--space-2);flex:0 0 auto;border-radius:var(--radius-round)}.scanner-app .status-dot-missing{background:var(--status-danger)}.scanner-app .status-dot-adjust{background:var(--status-attention)}.scanner-app .status-dot-ready{background:var(--status-success);box-shadow:0 0 0 var(--space-1) color-mix(in oklch,var(--status-success) 16%,transparent)}.scanner-app .capture-flash{position:absolute;inset:0;z-index:6;display:grid;place-items:center;background:color-mix(in oklch,var(--text-on-color) 50%,transparent);animation:capture-flash var(--duration-slow) ease-out forwards;pointer-events:none}.scanner-app .capture-flash span{border-radius:var(--radius-round);background:var(--action-primary-strong);color:var(--text-on-color);padding:var(--space-2) var(--space-4);font-size:var(--font-size-label);font-weight:var(--font-weight-extrabold);box-shadow:var(--shadow-inverse-control)}@keyframes capture-flash{to{opacity:0}}.scanner-app .scanner-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:center}.scanner-app .page-actions,.scanner-app .process-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.scanner-app .page-actions,.scanner-app .process-actions{align-items:center}.scanner-app .scanner-actions input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.scanner-app .capture-summary{display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center;margin-top:24px;padding:17px;border-radius:var(--radius-control);background:var(--surface-selected)}.scanner-app .scan-diagnostics{padding:12px;border:1px solid var(--border);border-radius:var(--radius-compact);background:var(--surface-card)}.scanner-app .scan-diagnostics summary{cursor:pointer;font-weight:var(--font-weight-bold)}.scanner-app .scan-diagnostics>label{display:grid;gap:6px;margin-top:12px;font-size:.84rem}.scanner-app .scan-diagnostics-replay-controls{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:10px}.scanner-app .scan-diagnostics-video{width:100%;max-height:280px;margin-top:10px;border-radius:var(--radius-compact)}.scanner-app .scan-diagnostics-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:12px 0}.scanner-app .scan-diagnostics-metrics div{padding:8px;border-radius:var(--radius-compact);background:var(--surface-subtle)}.scanner-app .scan-diagnostics-metrics dt{color:var(--text-secondary);font-size:.72rem}.scanner-app .scan-diagnostics-metrics dd{margin:2px 0 0;font-size:.82rem;font-weight:var(--font-weight-bold)}.scanner-app .scan-diagnostics-canvases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.scanner-app .scan-diagnostics-canvases figure{margin:0}.scanner-app .scan-diagnostics-canvases figcaption{margin-bottom:4px;color:var(--text-secondary);font-size:.72rem}.scanner-app .scan-diagnostics-canvases canvas{display:block;width:100%;height:auto;border-radius:var(--radius-compact)}.scanner-app .capture-summary div{display:grid;gap:2px;color:var(--action-secondary-foreground)}.scanner-app .capture-summary strong{font-size:var(--font-size-title-lg);line-height:var(--line-height-tight)}.scanner-app .capture-summary span{font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:uppercase}.scanner-app .capture-summary p{margin:0;color:var(--text-secondary);font-size:var(--font-size-label);line-height:var(--line-height-body)}.scanner-app .frame-strip{display:flex;gap:8px;overflow-x:auto;margin-top:14px;padding-bottom:3px}.scanner-app .frame-strip img{width:86px;height:120px;border-radius:var(--radius-compact);object-fit:cover}.scanner-app .scan-review{display:grid;gap:18px;padding:clamp(16px,4vw,28px);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card)}.scanner-app .scan-review-preview{max-height:54vh;overflow:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-compact);background:var(--surface-subtle)}.scanner-app .scan-review-preview img{display:block;width:100%;height:auto}.scanner-app .scan-review-copy p{color:var(--text-secondary);line-height:var(--line-height-body)}.scanner-app .chunk-review{display:grid;gap:18px;padding:clamp(16px,4vw,28px);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card)}.scanner-app .chunk-review-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.scanner-app .chunk-review-heading h2{margin-bottom:0}.scanner-app .chunk-review-limit{margin:0;border:1px solid color-mix(in oklch,var(--status-attention) 42%,transparent);border-radius:var(--radius-compact);background:var(--status-attention-surface);color:var(--status-attention-foreground);padding:11px 13px;font-size:var(--font-size-label);line-height:var(--line-height-body)}.scanner-app .capture-gallery{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 2px 12px;scroll-padding-inline:2px;scroll-snap-type:x mandatory;scrollbar-width:thin}.scanner-app .capture-gallery-item{flex:0 0 min(78vw,430px);overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-subtle);scroll-snap-align:start}.scanner-app .capture-gallery-image{position:relative;display:grid;min-height:380px;max-height:58vh;place-items:center;overflow:hidden}.scanner-app .capture-gallery-image img{display:block;width:100%;height:100%;min-height:380px;max-height:58vh;object-fit:contain}.scanner-app .capture-gallery-add{display:grid;min-height:380px;max-height:58vh;place-content:center;justify-items:center;gap:9px;border-style:dashed;background:radial-gradient(circle at 50% 42%,color-mix(in oklch,var(--action-primary) 11%,transparent),transparent 34%),var(--surface-card);color:var(--action-secondary-foreground);padding:32px;text-align:center;transition:border-color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.scanner-app .capture-gallery-add:hover{border-color:var(--action-primary);background:radial-gradient(circle at 50% 42%,color-mix(in oklch,var(--action-primary) 16%,transparent),transparent 38%),var(--surface-card);transform:translateY(-1px)}.scanner-app .capture-gallery-add:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.scanner-app .capture-gallery-add-icon{display:grid;width:58px;height:58px;margin-bottom:3px;place-items:center;border-radius:var(--radius-round);background:var(--action-primary);color:var(--text-on-color);box-shadow:var(--shadow-control)}.scanner-app .capture-gallery-add strong{font-size:var(--font-size-title-sm)}.scanner-app .capture-gallery-add>span:last-child{max-width:270px;color:var(--text-secondary);font-size:var(--font-size-label);line-height:var(--line-height-body)}.scanner-app .capture-gallery-count,.scanner-app .capture-gallery-remove{position:absolute;top:12px;border:1px solid color-mix(in oklch,var(--text-on-color) 38%,transparent);background:var(--surface-inverse-raised);color:var(--text-on-color);box-shadow:var(--shadow-inverse-control);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.scanner-app .capture-gallery-count{left:12px;border-radius:var(--radius-round);padding:6px 10px;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.scanner-app .capture-gallery-remove{right:12px;display:grid;width:38px;height:38px;place-items:center;border-radius:var(--radius-round);cursor:pointer}.scanner-app .capture-gallery-remove:hover:not(:disabled){background:var(--status-danger)}.scanner-app .capture-gallery-remove:focus-visible{outline:3px solid var(--text-on-color);outline-offset:2px}.scanner-app .capture-gallery-remove:disabled{cursor:not-allowed;opacity:.55}.scanner-app .capture-gallery-empty{display:grid;min-height:260px;place-content:center;gap:5px;border:1px dashed var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-subtle);color:var(--text-secondary);text-align:center}.scanner-app .capture-gallery-empty strong{color:var(--text-primary);font-size:var(--font-size-title-sm)}.scanner-app .loading-page{display:grid;place-content:center;min-height:70vh;max-width:540px;text-align:center;color:var(--text-secondary)}.scanner-app .loading-page h1{font-size:var(--font-size-display)}.scanner-app .progress-bar{height:8px;margin-top:14px;overflow:hidden;border-radius:var(--radius-round);background:var(--surface-subtle)}.scanner-app .progress-bar span{display:block;width:35%;height:100%;border-radius:inherit;background:var(--action-primary);animation:loading 1.2s ease-in-out infinite alternate}@keyframes loading{to{transform:translate(185%)}}.scanner-app .processing-details{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}.scanner-app .processing-details span{border:1px solid var(--border-subtle);border-radius:var(--radius-round);background:var(--surface-card);color:var(--text-secondary);padding:5px 9px;font-size:var(--font-size-label);font-weight:var(--font-weight-bold)}.scanner-app .ocr-debug-panel{width:min(100%,560px);margin:18px auto 0;border:1px solid color-mix(in oklch,var(--status-danger) 28%,var(--border-subtle));border-radius:var(--radius-compact);background:color-mix(in oklch,var(--status-danger) 4%,var(--surface-card));color:var(--text-primary);padding:12px;text-align:left}.scanner-app .ocr-debug-panel dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 10px}.scanner-app .ocr-debug-panel dt{color:var(--status-danger);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold)}.scanner-app .ocr-debug-panel dd{overflow-wrap:anywhere;margin:3px 0 0;color:var(--text-primary);font-size:var(--font-size-label)}.scanner-app .ocr-debug-panel pre{overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;border-top:1px solid color-mix(in oklch,var(--status-danger) 20%,var(--border-subtle));padding-top:10px;color:var(--text-primary);font-size:var(--font-size-label);line-height:var(--line-height-body)}.scanner-app .review-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;width:min(860px,100%);margin-inline:auto}.scanner-app .preview-empty{margin:0;padding:12px;color:#6a756d;font-size:12px}.scanner-app .preview-empty{min-height:220px;display:grid;place-items:center}.scanner-app .editor-card{border:1px solid #d9e1d8;border-radius:20px;background:#fff;padding:clamp(18px,4vw,30px);box-shadow:0 12px 34px #283b2e0f}.scanner-app .editor-heading,.scanner-app .line-items-heading,.scanner-app .editor-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.scanner-app .editor-heading p,.scanner-app .line-items-heading p{margin:0;color:#728077;font-size:13px}.scanner-app .status-badge{border-radius:999px;background:#e8f4e8;color:#287044;padding:5px 9px;font-size:12px;font-weight:700;white-space:nowrap}.scanner-app .status-badge[data-status=capturing],.scanner-app .status-badge[data-status=awaiting_processing],.scanner-app .status-badge[data-status=processing],.scanner-app .status-badge[data-status=awaiting_review],.scanner-app .status-badge[data-status=splitting]{background:#eef0e7;color:#5f6426}.scanner-app .status-badge[data-status=awaiting_payment]{background:#fff0d9;color:#8a5516}.scanner-app .status-badge[data-status=needs_attention]{background:#fde9e6;color:#a33b31}.scanner-app .status-badge[data-status=closed]{background:#ecefed;color:#5d6961}.scanner-app .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:25px 0 29px}.scanner-app .field{display:grid;gap:6px;color:#58675d;font-size:12px;font-weight:700}.scanner-app .field-label,.scanner-app .item-field-label{display:inline-flex;align-items:center;gap:6px}.scanner-app .field-label svg,.scanner-app .item-field-label svg{width:15px;height:15px;color:#688071}.scanner-app .field input,.scanner-app .line-editor input{width:100%;border:1px solid #d7dfd6;border-radius:9px;background:#fff;color:#22362a;outline:none}.scanner-app .field input{min-height:39px;padding:8px 10px;font-size:14px}.scanner-app .field input:focus,.scanner-app .line-editor input:focus{border-color:#629676;box-shadow:0 0 0 3px #62967624}.scanner-app .line-items{padding-top:22px;border-top:1px solid #e5eae4}.scanner-app .line-items-heading{margin-bottom:14px}.scanner-app .review-receipt-lines{border:1px solid #d9e1d8;border-radius:16px;background:#fff;padding-inline:18px}.scanner-app .line-editor{display:grid;gap:16px;border-bottom:1px dashed #d9ded6;padding:20px 0}.scanner-app .line-editor:last-child{border-bottom:0}.scanner-app .line-review-warning{display:flex;align-items:center;gap:7px;width:100%;border:1px solid #ead3a4;border-radius:9px;background:#fff7e7;color:#85581e;padding:8px 10px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.scanner-app .line-review-warning svg{flex:0 0 auto}.scanner-app .line-resolution-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.scanner-app .line-resolution-actions .button{min-height:2.4rem;padding:.45rem .85rem}.scanner-app .line-resolution-actions .item-remove-button{display:inline-flex;width:auto;gap:.35rem;padding:.45rem .7rem}.scanner-app .line-editor input{font-size:14px}.scanner-app .item-editor-heading{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:start;gap:12px;min-width:0}.scanner-app .item-editor-heading-with-resolution{grid-template-columns:minmax(0,1fr) auto}.scanner-app .item-price-field,.scanner-app .quantity-field{display:grid;min-width:0;gap:4px}.scanner-app .line-editor .item-title-input{field-sizing:content;display:block;width:100%;min-width:0;min-height:48px;max-height:calc(3.9em + 4px);overflow-y:auto;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;padding:2px 0;color:#20362a;font-size:15px;font-weight:760;line-height:1.3;outline:none;overflow-wrap:anywhere;resize:none}.scanner-app .line-editor .item-title-input:hover{border-bottom-color:#dce4da}.scanner-app .line-editor .item-title-input:focus{border-bottom-color:#629676;box-shadow:none}.scanner-app .item-editor-controls{display:grid;grid-template-columns:116px minmax(168px,210px) minmax(0,1fr);gap:14px;align-items:end;width:100%}.scanner-app .item-field-label{color:#7b887f;font-size:10px;font-weight:760;text-transform:uppercase}.scanner-app .currency-input-wrap{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:42px;overflow:hidden;border:1px solid #d7dfd6;border-radius:9px;background:#fff}.scanner-app .currency-input-wrap:focus-within{border-color:#629676;box-shadow:0 0 0 3px #62967624}.scanner-app .currency-input-wrap>span{display:grid;align-self:stretch;place-items:center;border-right:1px solid #e2e7e0;background:#f4f7f3;color:#567162;padding-inline:10px;font-size:13px;font-weight:800}.scanner-app .field .currency-input-wrap input,.scanner-app .line-editor .currency-input-wrap input{min-height:40px;border:0;border-radius:0;box-shadow:none;text-align:right;font-variant-numeric:tabular-nums}.scanner-app .quantity-stepper{display:grid;grid-template-columns:36px minmax(36px,1fr) 36px;align-items:center;min-height:42px;overflow:hidden;border:1px solid #d8e2d7;border-radius:9px;background:#f7f9f6}.scanner-app .quantity-stepper button{display:grid;width:36px;min-height:40px;border:0;border-radius:0;background:transparent;color:#315941;padding:0;font:inherit;font-size:17px;place-items:center}.scanner-app .quantity-stepper button:hover:not(:disabled){background:#e8f1e8}.scanner-app .quantity-stepper button:focus-visible{position:relative;z-index:1;outline:3px solid rgb(98 150 118 / .2);outline-offset:-3px}.scanner-app .quantity-stepper button:disabled{cursor:not-allowed;opacity:.35}.scanner-app .quantity-stepper strong{text-align:center;color:#20362a;font-size:15px;font-variant-numeric:tabular-nums}.scanner-app .item-price-field .currency-input-wrap{min-height:42px;border-color:#d8e2d7;border-radius:8px;background:#f7f9f6}.scanner-app .item-price-field .currency-input-wrap:focus-within{border-color:#629676;background:#fff;box-shadow:0 0 0 3px #6296761f}.scanner-app .line-editor .item-price-field .currency-input-wrap input{min-height:40px;background:transparent;padding:4px 10px 4px 2px}.scanner-app .item-price-field .currency-input-wrap>span{border:0;background:transparent;padding:0 3px 0 8px;color:#6f7d74}.scanner-app .item-line-total{display:flex;align-items:center;align-self:end;justify-content:space-between;gap:16px;min-width:0;min-height:42px;border-radius:9px;background:#f0f5ef;padding:7px 12px;white-space:nowrap;grid-column:1 / -1}.scanner-app .item-line-total span{color:#718078;font-size:9px;font-weight:800;letter-spacing:.07em;line-height:1.1;text-transform:uppercase}.scanner-app .item-line-total strong{color:#20362a;font-size:18px;font-variant-numeric:tabular-nums;line-height:1}.scanner-app .item-remove-button:focus-visible{outline:3px solid rgb(98 150 118 / .2);outline-offset:1px}.scanner-app .item-remove-button{display:grid;width:38px;min-height:38px;border:1px solid #efd9d3;border-radius:10px;background:#fff8f6;color:#a25549;padding:0;cursor:pointer;place-items:center}.scanner-app .item-remove-button:hover{border-color:#e5c2b9;background:#fbeeea;color:#a54a3d}.scanner-app .editor-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);align-items:center;gap:24px;margin-top:22px;border:1px solid #cfe0d0;border-radius:16px;background:#f1f7f0;padding:22px}.scanner-app .editor-footer-copy>span{color:#51705a;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.scanner-app .editor-footer-copy h2{margin:3px 0 5px;color:#1d4b31;font-size:21px}.scanner-app .editor-footer-copy p{max-width:430px;margin:0;color:#5f6e64;font-size:13px;line-height:1.45}.scanner-app .editor-footer-actions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr);align-items:center;gap:10px}.scanner-app .editor-footer-actions .save-state{grid-column:1 / -1;text-align:right}.scanner-app .editor-footer-actions .button{gap:8px;width:100%;min-height:52px;text-decoration:none}.scanner-app .editor-footer-actions .review-primary-action{font-size:15px}.scanner-app .metadata-section{margin-top:28px;border-top:1px solid #e5eae4;padding-top:24px}.scanner-app .section-heading-copy h2,.scanner-app .section-heading-copy p{margin-bottom:0}.scanner-app .section-heading-copy p{margin-top:3px;color:#728077;font-size:13px}.scanner-app .metadata-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.scanner-app .total-review{display:grid;gap:16px;margin-top:14px;border:1px solid #d6ded3;border-radius:16px;background:#f8faf7;padding:18px;transition:border-color .16s ease,background-color .16s ease}.scanner-app .total-review-mismatch{border-color:#dfbf7c;background:#fffaf0}.scanner-app .total-review-mismatch.is-acknowledged,.scanner-app .total-review-balanced{border-color:#b9d4be;background:#f1f8f0}.scanner-app .total-review-heading{display:flex;align-items:flex-start;gap:11px}.scanner-app .total-review-heading>div{min-width:0}.scanner-app .total-review-icon{display:grid;flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:#f4dfb4;color:#805716;place-items:center}.scanner-app .is-acknowledged .total-review-icon,.scanner-app .total-review-balanced .total-review-icon,.scanner-app .total-review-neutral .total-review-icon{background:#dcecdf;color:#28613e}.scanner-app .total-review-heading h3,.scanner-app .total-review-heading p{margin:0}.scanner-app .total-review-heading h3{color:#563e1e;font-size:17px;line-height:1.25}.scanner-app .is-acknowledged .total-review-heading h3,.scanner-app .total-review-balanced .total-review-heading h3,.scanner-app .total-review-neutral .total-review-heading h3{color:#234e34}.scanner-app .total-review-heading p{max-width:620px;margin-top:4px;color:#74634c;font-size:13px;line-height:1.5}.scanner-app .is-acknowledged .total-review-heading p,.scanner-app .total-review-balanced .total-review-heading p,.scanner-app .total-review-neutral .total-review-heading p{color:#5e7565}.scanner-app .total-review-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.scanner-app .total-review-values>div,.scanner-app .total-review-single-value{min-width:0;border:1px solid rgb(203 181 137 / .62);border-radius:12px;background:#ffffffb3;padding:11px 12px}.scanner-app .is-acknowledged .total-review-values>div,.scanner-app .total-review-balanced .total-review-single-value,.scanner-app .total-review-neutral .total-review-single-value{border-color:#ccddce}.scanner-app .total-review-values dt,.scanner-app .total-review-single-value span{color:#79684f;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.scanner-app .total-review-values dd,.scanner-app .total-review-single-value strong{display:block;margin:3px 0 0;color:#523a1d;font-size:19px;font-weight:800;font-variant-numeric:tabular-nums}.scanner-app .total-review-values>div:last-child{border-color:#d5b56f;background:#fffdf7}.scanner-app .is-acknowledged .total-review-values dt,.scanner-app .total-review-balanced .total-review-single-value span,.scanner-app .total-review-neutral .total-review-single-value span{color:#5e7565}.scanner-app .is-acknowledged .total-review-values dd,.scanner-app .total-review-balanced .total-review-single-value strong,.scanner-app .total-review-neutral .total-review-single-value strong{color:#234e34}.scanner-app .total-review-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.scanner-app .total-review-actions .button{width:100%;min-height:46px;gap:7px}.scanner-app .total-review-use-button{background:#1f5a3c;color:#fff;box-shadow:0 7px 15px #1f5a3c21}.scanner-app .total-review-use-button:hover:not(:disabled){background:#16482f}.scanner-app .total-review-use-button[aria-pressed=true]{background:#28613e;box-shadow:inset 0 0 0 1px #ffffff3d}.scanner-app .gratuity-setup{display:grid;gap:14px;margin:18px 0 0;border:1px solid #cfdacf;border-radius:18px;background:#fbfcfa;padding:18px}.scanner-app .gratuity-setup legend{padding-inline:7px;color:#254532;font-size:15px;font-weight:800;text-wrap:balance}.scanner-app .gratuity-question{max-width:620px;margin:0;color:#42564a;font-size:14px;line-height:1.5}.scanner-app .gratuity-question strong{color:#1d4b31;font-variant-numeric:tabular-nums}.scanner-app .gratuity-treatment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.scanner-app .gratuity-treatment-option{display:flex;min-width:0;min-height:96px;align-items:flex-start;gap:11px;border:1px solid #d6ded3;border-radius:14px;background:#fff;padding:14px;cursor:pointer;-webkit-tap-highlight-color:rgb(31 107 68 / .12);touch-action:manipulation}.scanner-app .gratuity-treatment-option:hover{border-color:#a9c1ae;background:#f8fbf7}.scanner-app .gratuity-treatment-option:has(input:checked){border-color:var(--slipr-primary);background:#eef5eb;box-shadow:inset 0 0 0 1px var(--slipr-primary)}.scanner-app .gratuity-treatment-option:focus-within{border-color:#4d8663;box-shadow:0 0 0 3px #62967633}.scanner-app .gratuity-treatment-option input{flex:0 0 auto;width:19px;height:19px;margin:2px 0 0;accent-color:var(--slipr-primary)}.scanner-app .gratuity-option-copy{display:grid;min-width:0;gap:4px}.scanner-app .gratuity-option-copy strong{color:#20362a;font-size:14px;line-height:1.3;text-wrap:balance}.scanner-app .gratuity-option-copy small{color:#67766c;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.scanner-app .gratuity-review-warning{display:flex;align-items:flex-start;gap:8px;margin:0;border:1px solid #efd6c8;border-radius:11px;background:#fff7f2;color:#8b3d28;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.4}.scanner-app .gratuity-review-warning svg{flex:0 0 auto;margin-top:1px}.scanner-app .included-gratuity-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.9fr);align-items:end;gap:12px;border-top:1px solid #e0e7de;padding-top:14px}.scanner-app .included-gratuity-details .field{margin:0}.scanner-app .included-gratuity-details .currency-input-wrap{min-height:48px;border-color:#b9d0bc}.scanner-app .included-gratuity-details .currency-input-wrap input{min-height:46px;color:#1d4b31;font-size:18px;font-weight:780}.scanner-app .gratuity-outcome{border-radius:11px;background:#edf4eb;padding:11px 12px}.scanner-app .gratuity-outcome>span{display:block;color:#4f6f59;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.scanner-app .gratuity-outcome p{margin:4px 0 0;color:#3e5546;font-size:12px;line-height:1.45}.scanner-app .metadata-grid .field:first-child,.scanner-app .metadata-grid .field:last-child{grid-column:1 / -1}.scanner-app .metadata-grid .field:first-child .field-label{color:#315941}.scanner-app .metadata-grid .field:first-child .currency-input-wrap{min-height:54px;border-color:#b9d0bc;background:#f3f8f2}.scanner-app .metadata-grid .field:first-child .currency-input-wrap>span{color:#315941;padding-inline:14px;font-size:16px}.scanner-app .metadata-grid .field:first-child input{min-height:52px;color:#1d4b31;font-size:22px;font-weight:800}.scanner-app .receipt-gallery{min-width:0;border:1px solid #d9e1d8;border-radius:18px;background:#fff;padding:18px;box-shadow:0 10px 28px #283b2e0d}.scanner-app .receipt-gallery-heading>div{display:flex;align-items:center;gap:10px}.scanner-app .receipt-gallery-heading svg{color:#426a50}.scanner-app .receipt-gallery-heading h2,.scanner-app .receipt-gallery-heading p{margin:0}.scanner-app .receipt-gallery-heading p{margin-top:2px;color:#728077;font-size:12px}.scanner-app .receipt-gallery-track{display:flex;gap:12px;overflow-x:auto;margin-top:14px;padding:2px 2px 10px;scroll-snap-type:x proximity;overscroll-behavior-inline:contain}.scanner-app .receipt-gallery-track figure{flex:0 0 170px;overflow:hidden;margin:0;border:1px solid #dfe5dc;border-radius:12px;background:#f4f5f1;scroll-snap-align:start}.scanner-app .receipt-gallery-track img{display:block;width:100%;height:190px;object-fit:contain;background:#eef0ec}.scanner-app .receipt-gallery-track figcaption{border-top:1px solid #e2e7df;background:#fff;color:#68756d;padding:8px 10px;font-size:11px;font-weight:700}.scanner-app .save-state{color:#6c796f;font-size:12px}.scanner-app .text-line-list{display:grid;gap:8px;margin-top:22px}.scanner-app .text-line-row{display:grid;grid-template-columns:34px minmax(0,1fr) 48px 80px;gap:10px;align-items:center;border-bottom:1px solid #eef1ed;padding:9px 0}.scanner-app .text-line-row span,.scanner-app .text-line-row strong,.scanner-app .text-line-row em{color:#748078;font-size:12px;font-style:normal;font-variant-numeric:tabular-nums}.scanner-app .text-line-row p{margin:0;color:#20362a;font-size:14px;line-height:1.35}.scanner-app .json-preview{max-height:360px;overflow:auto;margin:24px 0 0;border:1px solid #e0e7df;border-radius:10px;background:#f7faf6;color:#263a2d;padding:14px;font-size:12px;line-height:1.45}.scanner-app .receipts-page{max-width:980px}.scanner-app .receipt-directory{display:grid;gap:10px}.scanner-app .load-more-row{display:flex;justify-content:center;margin-top:18px}.scanner-app .receipt-directory-card{display:grid;grid-template-columns:104px minmax(0,1fr);gap:14px;border:1px solid #dbe2d9;border-radius:14px;background:#fff;color:inherit;padding:10px;text-decoration:none;box-shadow:0 8px 24px #283b2e0d}.scanner-app .receipt-directory-card:hover{border-color:#99b4a1}.scanner-app .receipt-directory-thumb{display:grid;place-items:center;overflow:hidden;aspect-ratio:3 / 4;border-radius:9px;background:#ecefea;color:#77827a;font-size:12px}.scanner-app .receipt-directory-thumb img{width:100%;height:100%;object-fit:cover;object-position:top}.scanner-app .receipt-directory-body{display:grid;grid-template-rows:auto minmax(22px,1fr) auto;gap:6px;min-width:0;padding:3px 0}.scanner-app .receipt-directory-body strong{display:block;overflow-wrap:anywhere;color:#20362a;font-size:18px}.scanner-app .receipt-directory-body>div:first-child span,.scanner-app .receipt-directory-body>div:first-child time{display:block;margin-top:4px;color:#718078;font-size:12px}.scanner-app .receipt-directory-body dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}.scanner-app .receipt-directory-body dt{color:#7c8b82;font-size:10px;font-weight:800;text-transform:uppercase}.scanner-app .receipt-directory-body dd{overflow-wrap:anywhere;margin:2px 0 0;color:#294534;font-size:12px;font-weight:700}.scanner-app .audit-page{max-width:1280px}.scanner-app .audit-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}.scanner-app .audit-summary div{border:1px solid #dce3da;border-radius:12px;background:#fff;padding:12px}.scanner-app .audit-summary strong{display:block;color:#1f5136;font-size:24px;line-height:1}.scanner-app .audit-summary span{display:block;margin-top:5px;color:#6e7b72;font-size:11px;font-weight:750;text-transform:uppercase}.scanner-app .audit-stack{display:grid;gap:16px}.scanner-app .audit-section{display:grid;grid-template-columns:minmax(240px,.48fr) minmax(0,1fr);gap:16px;align-items:start;border:1px solid #d9e1d8;border-radius:18px;background:#fff;padding:clamp(12px,2.4vw,18px)}.scanner-app .audit-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.scanner-app .audit-section-heading h2{margin:0}.scanner-app .audit-section-heading>span{color:#7a877f;font-size:11px;font-weight:700}.scanner-app .audit-image-wrap{position:relative;overflow:hidden;max-height:70vh;border:1px solid #e1e7e0;border-radius:10px;background:#eef0ed}.scanner-app .audit-image-wrap img{display:block;width:100%;height:auto}.scanner-app .audit-lines-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.scanner-app .audit-line-list{min-width:0;border:1px solid #e1e7e0;border-radius:12px;background:#fbfcfa}.scanner-app .audit-line-list-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e6ebe5;padding:10px 12px}.scanner-app .audit-line-list h3{margin:0;color:#243a2c;font-size:14px}.scanner-app .audit-line-list-heading span{color:#738178;font-size:12px;font-weight:800}.scanner-app .audit-empty{margin:0;color:#77847c;padding:12px;font-size:12px;line-height:1.45}.scanner-app .audit-line-row{display:grid;grid-template-columns:minmax(0,1fr) 42px auto;gap:8px;align-items:center;border-bottom:1px solid #edf1ec;padding:9px 12px}.scanner-app .audit-line-row:last-child{border-bottom:0}.scanner-app .audit-line-row p{overflow-wrap:anywhere;margin:0;color:#22362a;font-size:13px;line-height:1.35}.scanner-app .audit-line-row span{display:block;overflow-wrap:anywhere;margin-top:3px;color:#879188;font-size:10px}.scanner-app .audit-line-row strong{color:#69766d;font-size:11px;font-variant-numeric:tabular-nums}.scanner-app .dedupe-pill{border-radius:999px;background:#edf0ec;color:#56645c;padding:4px 7px;font-size:10px;font-style:normal;font-weight:800}.scanner-app .dedupe-canonical,.scanner-app .dedupe-unique{background:#e4f4e7;color:#24633c}.scanner-app .dedupe-duplicate,.scanner-app .dedupe-deduped{background:#f8e5df;color:#934433}.scanner-app .dedupe-ambiguous{background:#fff2cc;color:#75561a}.scanner-app .audit-json-card{margin-top:18px}@media(max-width:720px){.scanner-app .page-shell{padding:16px 12px calc(24px + env(safe-area-inset-bottom))}.scanner-app .page-header{align-items:flex-start;gap:10px;margin-bottom:14px}.scanner-app .page-header h1{font-size:clamp(30px,9vw,42px);line-height:.98}.scanner-app .scanner-page{max-width:520px}.scanner-app .camera-card{width:min(100%,480px);border-radius:18px}.scanner-app .receipt-rails{border-right-width:3px;border-left-width:3px}.scanner-app .scanner-status{min-height:auto;margin:10px 0}.scanner-app .scanner-actions{position:sticky;z-index:10;bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:8px;width:calc(100% + 8px);margin-inline:-4px;border:1px solid rgb(203 211 201 / .86);border-radius:16px;background:#f4f5eff0;padding:8px;box-shadow:0 10px 30px #1f35281f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.scanner-app .scanner-actions .button{width:100%;min-height:44px;padding-inline:11px;white-space:normal;line-height:1.1}.scanner-app .capture-summary{margin-top:16px}.scanner-app .page-actions,.scanner-app .process-actions{justify-content:flex-start}.scanner-app .review-layout{grid-template-columns:1fr}.scanner-app .editor-footer{grid-template-columns:1fr;align-items:stretch}.scanner-app .editor-footer-copy{display:none}.scanner-app .editor-footer-actions{grid-template-columns:minmax(0,.82fr) minmax(0,1.25fr)}.scanner-app .editor-footer-actions .save-state{text-align:left}.scanner-app .text-line-row{grid-template-columns:28px minmax(0,1fr) 42px}.scanner-app .text-line-row em{display:none}.scanner-app .receipt-directory-card{grid-template-columns:78px minmax(0,1fr)}.scanner-app .receipt-directory-body dl,.scanner-app .audit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.scanner-app .audit-section,.scanner-app .audit-lines-panel{grid-template-columns:1fr}}.scanner-app .page-shell.review-page{width:min(100%,var(--width-content));padding-inline:clamp(var(--space-3),2vw,var(--space-5));padding-block:clamp(var(--space-5),4vw,var(--space-12)) var(--space-16);color:var(--text-primary);font-family:var(--font-family-sans)}.scanner-app .review-page-header{display:grid;grid-template-columns:minmax(5rem,1fr) auto minmax(5rem,1fr);align-items:center;margin-bottom:var(--space-8);border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-6)}.scanner-app .review-back-link{justify-self:start;color:var(--text-primary)}.scanner-app .review-title-block{text-align:center}.scanner-app .review-title-block h1{margin:0;color:var(--text-primary);font-size:var(--font-size-title-lg);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight);line-height:var(--line-height-tight)}.scanner-app .review-title-block p{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--font-size-body)}.scanner-app .review-header-spacer{min-width:0}.scanner-app .review-layout{width:100%;gap:var(--space-6)}.scanner-app .review-page .editor-card{border:0;border-radius:0;background:transparent;padding:0;box-shadow:none}.scanner-app .review-merchant-card{border:0;border-radius:var(--radius-hero);background:var(--surface-selected);padding:clamp(var(--space-4),2.5vw,var(--space-5))}.scanner-app .review-merchant-summary{display:grid;grid-template-columns:var(--size-control-medium) minmax(0,1fr) auto;align-items:center;gap:var(--space-4)}.scanner-app .review-merchant-icon{display:grid;width:var(--size-control-medium);height:var(--size-control-medium);border-radius:var(--radius-round);background:var(--surface-canvas);color:var(--action-primary);place-items:center}.scanner-app .review-merchant-copy{min-width:0}.scanner-app .review-merchant-copy h2{overflow:hidden;margin:0;color:var(--text-primary);font-size:var(--font-size-title-sm);font-weight:var(--font-weight-bold);text-overflow:ellipsis;white-space:nowrap}.scanner-app .review-merchant-copy>p{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--font-size-small)}.scanner-app .review-merchant-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.scanner-app .review-merchant-meta .status-badge{background:color-mix(in oklch,var(--action-primary) 11%,var(--surface-card));color:color-mix(in oklch,var(--action-primary) 78%,var(--text-primary))}.scanner-app .review-merchant-edit-button{display:grid;align-self:start;min-height:var(--size-touch-target);color:color-mix(in oklch,var(--action-primary) 82%,var(--text-primary));opacity:1;place-items:center}.scanner-app .review-merchant-editor{min-width:0;margin:var(--space-5) 0 0;border-top:1px solid color-mix(in oklch,var(--action-primary) 16%,var(--border-subtle));padding-top:var(--space-5)}.scanner-app .review-merchant-editor .field,.scanner-app .review-merchant-editor .field input{min-width:0;max-width:100%}.scanner-app .review-merchant-editor .field input{box-sizing:border-box}.scanner-app .review-page .field{gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-label);font-weight:var(--font-weight-bold)}.scanner-app .review-page .field-label svg,.scanner-app .review-page .item-field-label svg{color:currentColor}.scanner-app .review-page .field input,.scanner-app .review-page .currency-input-wrap{border-color:var(--border-subtle);border-radius:var(--radius-compact);background:var(--surface-card);color:var(--text-primary)}.scanner-app .review-page .field input{min-height:var(--size-control);padding:var(--space-2) var(--space-3);font-size:var(--font-size-small)}.scanner-app .review-page .currency-input-wrap{min-height:var(--size-control)}.scanner-app .review-page .currency-input-wrap>span{border-color:var(--border-subtle);background:var(--surface-subtle);color:var(--text-secondary);padding-inline:var(--space-3);font-size:var(--font-size-small);font-weight:var(--font-weight-extrabold)}.scanner-app .review-page .field .currency-input-wrap input{min-height:var(--size-touch-target)}.scanner-app .review-page .field input:focus,.scanner-app .review-page .currency-input-wrap:focus-within{border-color:var(--action-primary);box-shadow:0 0 0 3px var(--focus-ring)}.scanner-app .review-page .line-items{margin-top:var(--space-6);border:0;padding:0}.scanner-app .review-page .line-items-heading{margin-bottom:var(--space-3)}.scanner-app .review-page .line-items-heading h2{margin:0;color:var(--text-secondary);font-size:var(--font-size-label);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-label);text-transform:uppercase}.scanner-app .review-item-search{position:relative;display:flex;align-items:center;margin-bottom:var(--space-3);color:var(--text-secondary)}.scanner-app .review-item-search>svg{position:absolute;left:var(--space-4);z-index:1;pointer-events:none}.scanner-app .review-item-search input{width:100%;min-height:var(--size-control-medium);border:1px solid var(--border-subtle);border-radius:var(--radius-round);background:var(--surface-card);color:var(--text-primary);padding:var(--space-3) var(--size-control) var(--space-3) var(--size-control);font-size:var(--font-size-small);line-height:var(--line-height-heading);outline:none;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.scanner-app .review-item-search input::placeholder{color:var(--text-secondary)}.scanner-app .review-item-search input::-webkit-search-cancel-button{appearance:none}.scanner-app .review-item-search input:focus{border-color:var(--action-primary);box-shadow:0 0 0 3px var(--focus-ring)}.scanner-app .review-item-search-clear{position:absolute;right:var(--space-2);display:grid;width:var(--size-icon-compact);height:var(--size-icon-compact);border:0;border-radius:var(--radius-round);background:transparent;color:var(--text-secondary);padding:0;place-items:center}.scanner-app .review-item-search-clear:hover{background:var(--surface-selected);color:var(--text-primary)}.scanner-app .review-item-search-clear:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-2px}.scanner-app .review-page .status-badge{border-radius:var(--radius-round);padding:var(--space-1) var(--space-2);font-size:var(--font-size-label);font-weight:var(--font-weight-bold)}.scanner-app .review-page .review-receipt-lines{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-hero);background:var(--surface-card);padding:0}.scanner-app .review-line{position:relative;border-bottom:1px solid var(--border-subtle)}.scanner-app .review-line:last-child{border-bottom:0}.scanner-app .review-search-empty{display:grid;justify-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);color:var(--text-secondary);text-align:center}.scanner-app .review-search-empty>svg{color:var(--action-secondary-foreground)}.scanner-app .review-search-empty p{margin:0}.scanner-app .review-search-empty strong{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.scanner-app .review-search-empty button{border:0;background:transparent;color:var(--action-primary);padding:var(--space-1) var(--space-2);font-size:var(--font-size-small);font-weight:var(--font-weight-bold)}.scanner-app .review-search-empty button:hover{text-decoration:underline}.scanner-app .review-search-empty button:focus-visible{border-radius:var(--radius-compact);outline:3px solid var(--focus-ring)}.scanner-app .review-line-summary{display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto 1.5rem;align-items:center;gap:var(--space-4);width:100%;min-height:var(--size-list-row);border:0;background:var(--surface-card);color:var(--text-primary);padding:var(--space-3) var(--space-4);text-align:left;transition:background-color var(--duration-fast) var(--ease-standard)}.scanner-app .review-line-summary:hover:not(:disabled){background:color-mix(in oklch,var(--action-primary) 4%,var(--surface-card))}.scanner-app .review-line-summary:focus-visible{position:relative;z-index:2;outline:3px solid var(--focus-ring);outline-offset:-3px}.scanner-app .review-line-summary:disabled{cursor:default;opacity:1}.scanner-app .review-line-quantity{display:grid;width:var(--size-icon-compact);height:var(--size-icon-compact);border-radius:var(--radius-round);background:var(--surface-selected);color:var(--action-secondary-foreground);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);place-items:center}.scanner-app .review-line-name{min-width:0;color:var(--text-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height-heading);overflow-wrap:anywhere}.scanner-app .review-line-total,.scanner-app .review-total-summary dd,.scanner-app .total-review-values dd,.scanner-app .total-review-single-value strong,.scanner-app .review-page .currency-input-wrap input{font-family:var(--font-family-mono);font-variant-numeric:tabular-nums}.scanner-app .review-line-total{color:var(--text-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);white-space:nowrap}.scanner-app .review-line-edit-icon{color:var(--action-secondary-foreground)}.scanner-app .review-line .line-review-warning{width:auto;margin:var(--space-3) var(--space-5) 0;border-color:color-mix(in oklch,var(--status-attention) 65%,var(--border-subtle));border-radius:var(--radius-compact);background:color-mix(in oklch,var(--status-attention) 22%,var(--surface-card));color:var(--status-attention-foreground)}.scanner-app .review-line-editor{display:grid;gap:var(--space-5);background:color-mix(in oklch,var(--action-primary) 7%,var(--surface-selected));padding:var(--space-6)}.scanner-app .review-item-name-field{display:grid;gap:var(--space-2)}.scanner-app .review-line-editor .item-title-input{field-sizing:content;width:100%;min-height:var(--size-control-large);max-height:7rem;resize:none;border:1px solid color-mix(in oklch,var(--action-primary) 18%,var(--border-subtle));border-radius:var(--radius-control);background:var(--surface-card);color:var(--text-primary);padding:var(--space-3) var(--space-4);font-size:var(--font-size-body);font-weight:var(--font-weight-bold);line-height:var(--line-height-heading);outline:none}.scanner-app .review-line-editor .item-title-input:focus{border-color:var(--action-primary);box-shadow:0 0 0 3px var(--focus-ring)}.scanner-app .review-line-editor .item-editor-controls{grid-template-columns:minmax(10rem,.75fr) minmax(11rem,1fr);gap:var(--space-4)}.scanner-app .review-line-editor .item-field-label{color:var(--text-secondary)}.scanner-app .review-line-editor .quantity-stepper{grid-template-columns:3rem minmax(3rem,1fr) 3rem;min-height:var(--size-control-medium);border-color:color-mix(in oklch,var(--action-primary) 18%,var(--border-subtle));border-radius:var(--radius-control);background:var(--surface-card)}.scanner-app .review-line-editor .quantity-stepper button{width:3rem;min-height:var(--size-control);color:var(--text-primary);font-size:var(--font-size-title-sm)}.scanner-app .review-line-editor .quantity-stepper button:hover:not(:disabled){background:var(--surface-selected)}.scanner-app .review-line-editor .quantity-stepper button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.scanner-app .review-line-editor .quantity-stepper strong{color:var(--text-primary);font-size:var(--font-size-small)}.scanner-app .review-line-editor .item-price-field .currency-input-wrap{min-height:var(--size-control-medium);border-radius:var(--radius-control);border-color:color-mix(in oklch,var(--action-primary) 18%,var(--border-subtle));background:var(--surface-card)}.scanner-app .review-line-editor .item-price-field .currency-input-wrap input{min-height:var(--size-control);background:transparent;color:var(--text-primary);font-size:var(--font-size-body);text-align:left}.scanner-app .review-line-editor .item-price-field .currency-input-wrap:focus-within{border-color:var(--action-primary);background:var(--surface-card);box-shadow:0 0 0 3px var(--focus-ring)}.scanner-app .review-line-editor .item-price-field .currency-input-wrap>span{border:0;background:transparent;color:var(--text-primary);padding:0 var(--space-1) 0 var(--space-4);font-size:var(--font-size-body);font-weight:var(--font-weight-bold)}.scanner-app .review-line-editor-actions{display:grid;grid-template-columns:var(--size-control-medium) minmax(10rem,1fr);gap:var(--space-3)}.scanner-app .review-line-editor-actions .item-remove-button{display:grid;width:var(--size-control-medium);min-height:var(--size-control-medium);border-color:color-mix(in oklch,var(--text-primary) 14%,var(--border-subtle));border-radius:var(--radius-round);background:var(--surface-card);color:var(--status-danger);padding:0;place-items:center}.scanner-app .review-line-editor-actions .item-remove-button:hover:not(:disabled){border-color:color-mix(in oklch,var(--status-danger) 28%,var(--border-subtle));background:color-mix(in oklch,var(--status-danger) 8%,var(--surface-card));color:var(--status-danger)}.scanner-app .review-line-editor-actions .item-remove-button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}.scanner-app .review-line-done{min-height:var(--size-control-medium);gap:var(--space-2);font-size:var(--font-size-body)}.scanner-app .review-add-item{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;min-height:var(--size-control-large);margin-top:var(--space-4);border:1px dashed var(--border-subtle);border-radius:var(--radius-round);background:transparent;color:var(--text-secondary);padding:var(--space-3) var(--space-4);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.scanner-app .review-add-item:hover:not(:disabled){border-color:var(--action-primary);background:color-mix(in oklch,var(--action-primary) 4%,transparent);color:var(--action-primary)}.scanner-app .review-add-item:disabled{cursor:not-allowed}.scanner-app .review-page .metadata-section{margin-top:var(--space-8);border-top:0;padding-top:0}.scanner-app .review-page .section-heading-copy h2{margin:0;color:var(--text-primary);font-size:var(--font-size-title-sm);font-weight:var(--font-weight-extrabold)}.scanner-app .review-page .section-heading-copy p{margin-top:var(--space-1);color:var(--text-secondary);font-size:var(--font-size-small)}.scanner-app .review-page .gratuity-setup{gap:var(--space-4);margin-top:var(--space-4);border-color:var(--border-subtle);border-radius:var(--radius-feature);background:var(--surface-card);padding:var(--space-5)}.scanner-app .review-page .gratuity-setup legend{color:var(--text-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-extrabold)}.scanner-app .review-page .gratuity-question{color:var(--text-secondary);font-size:var(--font-size-small);line-height:var(--line-height-body)}.scanner-app .review-page .gratuity-treatment-option{min-height:var(--size-choice-card);border-color:var(--border-subtle);border-radius:var(--radius-feature);background:var(--surface-canvas);padding:var(--space-4);-webkit-tap-highlight-color:color-mix(in oklch,var(--action-primary) 12%,transparent)}.scanner-app .review-page .gratuity-treatment-option:hover{border-color:color-mix(in oklch,var(--action-primary) 45%,var(--border-subtle));background:color-mix(in oklch,var(--action-primary) 3%,var(--surface-canvas))}.scanner-app .review-page .gratuity-treatment-option:has(input:checked){border-color:var(--action-primary);background:color-mix(in oklch,var(--action-primary) 9%,var(--surface-card));box-shadow:inset 0 0 0 1px var(--action-primary)}.scanner-app .review-page .gratuity-treatment-option:focus-within{border-color:var(--action-primary);box-shadow:0 0 0 3px var(--focus-ring)}.scanner-app .review-page .gratuity-treatment-option input{accent-color:var(--action-primary)}.scanner-app .review-page .gratuity-option-copy strong{color:var(--text-primary);font-size:var(--font-size-small);line-height:var(--line-height-heading)}.scanner-app .review-page .gratuity-option-copy small{color:var(--text-secondary);font-size:var(--font-size-label);line-height:var(--line-height-body)}.scanner-app .review-page .gratuity-review-warning{border-color:color-mix(in oklch,var(--status-danger) 28%,var(--border-subtle));border-radius:var(--radius-compact);background:color-mix(in oklch,var(--status-danger) 6%,var(--surface-card));color:var(--status-danger);padding:var(--space-2) var(--space-3);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);line-height:var(--line-height-body)}.scanner-app .review-page .included-gratuity-details{border-color:var(--border-subtle);gap:var(--space-3);padding-top:var(--space-4)}.scanner-app .review-page .included-gratuity-details .currency-input-wrap{min-height:var(--size-control);border-color:var(--border-subtle)}.scanner-app .review-page .included-gratuity-details .currency-input-wrap input{min-height:var(--size-touch-target);color:var(--text-primary);font-size:var(--font-size-title-sm);font-weight:var(--font-weight-extrabold)}.scanner-app .review-page .gratuity-outcome{min-height:var(--size-control-large);border:1px solid color-mix(in oklch,var(--status-attention) 55%,var(--border-subtle));border-radius:var(--radius-control);background:color-mix(in oklch,var(--status-attention) 18%,var(--surface-card));padding:var(--space-3)}.scanner-app .review-page .gratuity-outcome>span,.scanner-app .review-page .gratuity-outcome p{color:var(--status-attention-foreground)}.scanner-app .review-page .gratuity-outcome>span{font-size:var(--font-size-label);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-label)}.scanner-app .review-page .gratuity-outcome p{margin-top:var(--space-1);font-size:var(--font-size-label);line-height:var(--line-height-body)}.scanner-app .review-page .total-review{gap:var(--space-3);margin-top:var(--space-4);border-color:var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-subtle);padding:var(--space-4);transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.scanner-app .review-page .total-review-mismatch{border-color:color-mix(in oklch,var(--status-attention) 78%,var(--border-subtle));background:color-mix(in oklch,var(--status-attention) 18%,var(--surface-card));box-shadow:inset var(--space-1) 0 0 var(--status-attention)}.scanner-app .review-page .total-review-mismatch.is-acknowledged,.scanner-app .review-page .total-review-balanced{border-color:var(--border-subtle);background:var(--surface-selected);box-shadow:none}.scanner-app .review-page .total-review-icon{width:var(--size-icon-compact);height:var(--size-icon-compact);border-radius:var(--radius-round);background:color-mix(in oklch,var(--status-attention) 30%,var(--surface-card));color:var(--status-attention-foreground)}.scanner-app .review-page .is-acknowledged .total-review-icon,.scanner-app .review-page .total-review-balanced .total-review-icon,.scanner-app .review-page .total-review-neutral .total-review-icon{background:var(--surface-card);color:var(--action-primary)}.scanner-app .review-page .total-review-heading h3,.scanner-app .review-page .is-acknowledged .total-review-heading h3,.scanner-app .review-page .total-review-balanced .total-review-heading h3,.scanner-app .review-page .total-review-neutral .total-review-heading h3{color:var(--text-primary);font-size:var(--font-size-body);line-height:var(--line-height-heading)}.scanner-app .review-page .total-review-heading p,.scanner-app .review-page .is-acknowledged .total-review-heading p,.scanner-app .review-page .total-review-balanced .total-review-heading p,.scanner-app .review-page .total-review-neutral .total-review-heading p,.scanner-app .review-page .total-review-values dt,.scanner-app .review-page .total-review-single-value span{color:var(--text-secondary)}.scanner-app .review-page .total-review-heading p{margin-top:var(--space-1);font-size:var(--font-size-label);line-height:var(--line-height-body)}.scanner-app .review-page .total-review-values{gap:0;overflow:hidden;border:1px solid color-mix(in oklch,var(--status-attention) 45%,var(--border-subtle));border-radius:var(--radius-compact);background:color-mix(in oklch,var(--surface-card) 90%,transparent)}.scanner-app .review-page .total-review-values>div,.scanner-app .review-page .total-review-single-value,.scanner-app .review-page .total-review-values>div:last-child{border:0;border-radius:0;background:transparent;padding:var(--space-3)}.scanner-app .review-page .total-review-values>div:last-child{border-left:1px solid color-mix(in oklch,var(--status-attention) 45%,var(--border-subtle));background:color-mix(in oklch,var(--status-attention) 10%,transparent)}.scanner-app .review-page .total-review-mismatch.is-acknowledged .total-review-values{border-color:var(--border-subtle)}.scanner-app .review-page .total-review-mismatch.is-acknowledged .total-review-values>div:last-child{border-left-color:var(--border-subtle);background:color-mix(in oklch,var(--action-primary) 7%,transparent)}.scanner-app .review-page .total-review-values dd,.scanner-app .review-page .total-review-single-value strong,.scanner-app .review-page .is-acknowledged .total-review-values dd,.scanner-app .review-page .total-review-balanced .total-review-single-value strong,.scanner-app .review-page .total-review-neutral .total-review-single-value strong{color:var(--text-primary)}.scanner-app .review-page .total-review-values dt,.scanner-app .review-page .total-review-single-value span{font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-label);white-space:nowrap}.scanner-app .review-page .total-review-values dd,.scanner-app .review-page .total-review-single-value strong{margin-top:var(--space-1);font-size:var(--font-size-title-sm);font-weight:var(--font-weight-extrabold);white-space:nowrap}.scanner-app .review-page .total-review-values>div:last-child dd{color:var(--action-primary-strong)}.scanner-app .review-page .total-review-actions{gap:var(--space-2)}.scanner-app .review-page .total-review-actions .button{min-height:var(--size-touch-target);gap:var(--space-2);padding-inline:var(--space-3);font-size:var(--font-size-small)}.scanner-app .review-page .total-review-use-button{background:var(--action-primary);color:var(--text-on-color);box-shadow:none}.scanner-app .review-page .total-review-use-button:hover:not(:disabled){background:var(--action-primary-hover)}.scanner-app .review-page .total-review-use-button[aria-pressed=true]{background:var(--action-primary-strong);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--text-on-color) 24%,transparent)}.scanner-app .review-total-status{display:inline-flex;width:100%;min-height:var(--size-icon-compact);align-items:center;gap:var(--space-2);margin:var(--space-4) 0 0;border:1px solid transparent;border-radius:var(--radius-round);padding:var(--space-2) var(--space-3);font-size:var(--font-size-small);font-weight:var(--font-weight-bold)}.scanner-app .review-total-status.is-match{border-color:transparent;background:var(--surface-selected);color:var(--action-secondary-foreground)}.scanner-app .review-total-status.is-match svg{color:var(--action-primary)}.scanner-app .review-total-status.is-neutral{border-color:color-mix(in oklch,var(--action-primary) 20%,var(--border-subtle));background:var(--surface-selected);color:var(--action-secondary-foreground)}.scanner-app .review-total-summary{margin-top:var(--space-5);border-radius:var(--radius-hero);background:color-mix(in oklch,var(--action-primary) 8%,var(--surface-card));padding:clamp(var(--space-5),3vw,var(--space-8))}.scanner-app .review-total-summary dl{display:grid;gap:var(--space-4);margin:0}.scanner-app .review-total-summary dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}.scanner-app .review-total-summary dt{color:var(--text-secondary);font-size:var(--font-size-body)}.scanner-app .review-total-summary dd{margin:0;color:var(--text-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-bold);text-align:right}.scanner-app .review-total-summary .review-total-final{margin-top:var(--space-1);border-top:1px solid color-mix(in oklch,var(--action-primary) 18%,var(--border-subtle));padding-top:var(--space-4)}.scanner-app .review-total-summary .review-total-only{margin-top:0;border-top:0;padding-top:0}.scanner-app .review-total-summary .review-total-final dt{color:var(--text-primary);font-weight:var(--font-weight-extrabold)}.scanner-app .review-total-summary .review-total-final dd{font-family:var(--font-family-sans);font-size:var(--font-size-title-md);font-weight:var(--font-weight-extrabold);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:var(--tracking-tight)}.scanner-app .review-page .editor-footer{display:block;margin-top:var(--space-6);border:0;border-radius:0;background:transparent;padding:0;box-shadow:none}.scanner-app .review-page .editor-footer-actions{width:100%;grid-template-columns:minmax(7rem,.55fr) minmax(15rem,1.45fr);gap:var(--space-3)}.scanner-app .review-page .editor-footer-actions .button{gap:var(--space-2);min-height:var(--size-control-medium);font-size:var(--font-size-small)}.scanner-app .review-page .review-primary-action{min-height:var(--size-control-large);padding-inline:var(--space-5);line-height:var(--line-height-heading);white-space:normal}.scanner-app .review-page .save-state{min-height:var(--space-5);color:var(--text-secondary);font-size:var(--font-size-label)}.scanner-app .review-page .receipt-gallery,.scanner-app .review-layout>.receipt-gallery{border-color:var(--border-subtle);border-radius:var(--radius-hero);background:var(--surface-card);box-shadow:var(--shadow-card)}.scanner-app .review-layout>.receipt-gallery .receipt-gallery-heading svg{color:var(--action-primary)}.scanner-app .review-layout>.receipt-gallery .receipt-gallery-heading p,.scanner-app .review-layout>.receipt-gallery figcaption{color:var(--text-secondary)}.scanner-app .review-layout>.receipt-gallery figure,.scanner-app .review-layout>.receipt-gallery img,.scanner-app .review-layout>.receipt-gallery figcaption{border-color:var(--border-subtle);background:var(--surface-subtle)}.scanner-app .review-layout>.receipt-gallery{padding:var(--space-5)}.scanner-app .review-layout>.receipt-gallery .receipt-gallery-heading>div{gap:var(--space-2)}.scanner-app .review-layout>.receipt-gallery .receipt-gallery-heading h2{font-size:var(--font-size-title-sm);font-weight:var(--font-weight-bold)}.scanner-app .review-layout>.receipt-gallery .receipt-gallery-heading p{margin-top:var(--space-1);font-size:var(--font-size-label)}.scanner-app .review-layout>.receipt-gallery .receipt-gallery-track{gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-1) var(--space-1) var(--space-3)}.scanner-app .review-layout>.receipt-gallery figure{border-radius:var(--radius-compact)}.scanner-app .review-layout>.receipt-gallery figcaption{padding:var(--space-2) var(--space-3);font-size:var(--font-size-label);font-weight:var(--font-weight-bold)}@media(max-width:700px){.scanner-app .review-page-header{grid-template-columns:var(--size-control) minmax(0,1fr) var(--size-control);margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.scanner-app .review-back-link{width:var(--size-control);padding:0}.scanner-app .review-back-link span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.scanner-app .review-page .editor-card{border-radius:0;padding:0;box-shadow:none}.scanner-app .review-merchant-card{border-radius:var(--radius-hero);padding:var(--space-4)}.scanner-app .review-merchant-summary{grid-template-columns:var(--size-control-medium) minmax(0,1fr) var(--size-touch-target);gap:var(--space-3)}.scanner-app .review-merchant-icon{width:var(--size-control-medium);height:var(--size-control-medium)}.scanner-app .review-merchant-icon svg{width:1.25rem;height:1.25rem}.scanner-app .review-merchant-copy h2{grid-column:1 / -1;font-size:var(--font-size-small);font-weight:var(--font-weight-bold)}.scanner-app .review-merchant-copy{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:var(--space-2)}.scanner-app .review-merchant-copy>p{margin-top:var(--space-1);font-size:var(--font-size-label)}.scanner-app .review-merchant-meta{display:flex;gap:0;margin-top:var(--space-1)}.scanner-app .review-merchant-meta .status-badge{display:none}.scanner-app .review-merchant-meta .token-usage-pill.is-compact{min-height:var(--space-5);padding:var(--space-1) var(--space-2);font-size:var(--font-size-label)}.scanner-app .review-merchant-edit-button{width:var(--size-touch-target);min-height:var(--size-touch-target);align-self:center;padding:0}.scanner-app .review-merchant-edit-button svg{width:1.125rem;height:1.125rem;stroke-width:2}.scanner-app .review-merchant-edit-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.scanner-app .review-page .review-merchant-editor{grid-template-columns:minmax(0,1fr);gap:var(--space-3);width:100%;margin-top:var(--space-3);padding-top:var(--space-3)}.scanner-app .review-page .review-merchant-editor input[type=date]{display:block;width:100%;min-inline-size:0;max-inline-size:100%;-webkit-appearance:none;appearance:none}.scanner-app .review-page .review-merchant-editor .field{gap:var(--space-1)}.scanner-app .review-page .review-merchant-editor .field-label,.scanner-app .review-line-editor .item-field-label{position:static;width:auto;height:auto;overflow:visible;clip:auto;color:var(--action-secondary-foreground);font-size:var(--font-size-label);font-weight:var(--font-weight-extrabold);letter-spacing:.04em;line-height:var(--line-height-heading);white-space:normal;clip-path:none}.scanner-app .review-page .review-merchant-editor .field-label svg{width:.8rem;height:.8rem;color:currentColor}.scanner-app .review-page .review-merchant-editor .field input{min-height:var(--size-control);border-color:color-mix(in oklch,var(--action-primary) 18%,var(--border-subtle));border-radius:var(--radius-control);background:var(--surface-card);padding:var(--space-3) var(--space-4);color:var(--text-primary);font-size:var(--font-size-small)}.scanner-app .review-line-summary{grid-template-columns:1.875rem minmax(0,1fr) auto 1.125rem;gap:var(--space-3);min-height:var(--size-control-large);padding:var(--space-2) var(--space-4)}.scanner-app .review-line-quantity{width:1.875rem;height:1.875rem;font-size:var(--font-size-label)}.scanner-app .review-line-name{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.scanner-app .review-line-total{font-size:var(--font-size-small)}.scanner-app .review-line-edit-icon{width:1rem;height:1rem}.scanner-app .review-line-editor{gap:var(--space-3);padding:var(--space-3)}.scanner-app .review-line-editor .item-editor-controls{grid-template-columns:7.25rem minmax(0,1fr);gap:var(--space-3)}.scanner-app .review-page .included-gratuity-details,.scanner-app .review-page .gratuity-treatment-options{grid-template-columns:1fr}.scanner-app .review-line-editor .item-title-input{min-height:var(--size-control);padding:var(--space-3) var(--space-4);font-size:var(--font-size-small)}.scanner-app .review-line-editor .quantity-stepper{grid-template-columns:2.25rem minmax(2rem,1fr) 2.25rem;min-height:var(--size-control)}.scanner-app .review-line-editor .quantity-stepper button{width:2.25rem;min-height:var(--size-touch-target);color:var(--text-primary);font-size:var(--font-size-title-sm);opacity:1}.scanner-app .review-line-editor .quantity-stepper button:disabled{color:var(--text-primary);opacity:1}.scanner-app .review-line-editor .item-price-field .currency-input-wrap{min-height:var(--size-control)}.scanner-app .review-line-editor .item-price-field .currency-input-wrap input{min-height:var(--size-touch-target);padding:var(--space-1) var(--space-4) var(--space-1) var(--space-1);font-size:var(--font-size-small)}.scanner-app .review-line-editor .item-price-field .currency-input-wrap>span{padding:0 var(--space-1) 0 var(--space-4);color:var(--text-primary);font-size:var(--font-size-small)}.scanner-app .review-line-editor-actions{grid-template-columns:var(--size-control) minmax(0,1fr);gap:var(--space-3)}.scanner-app .review-line-editor-actions .item-remove-button{width:var(--size-control);min-height:var(--size-control)}.scanner-app .review-line-done{min-height:var(--size-control);font-size:var(--font-size-small)}.scanner-app .review-page .item-price-field{grid-column:auto}.scanner-app .review-page .editor-footer{position:static;z-index:auto;display:block;margin:var(--space-4) 0 0;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}.scanner-app .review-page .editor-footer-actions{gap:var(--space-2);grid-template-columns:minmax(6.5rem,.45fr) minmax(0,1.55fr)}.scanner-app .review-page .editor-footer-actions .button{min-width:0;min-height:var(--size-control-medium);padding-inline:clamp(var(--space-2),2.5vw,var(--space-4));font-size:var(--font-size-label);white-space:nowrap}.scanner-app .review-page .editor-footer-actions .button svg{flex:0 0 auto}.scanner-app .review-page .editor-footer-actions .review-primary-action{overflow-wrap:normal;white-space:nowrap}}@media(max-width:480px){.scanner-app .page-shell.review-page{padding:var(--space-3) var(--space-3) calc(var(--space-6) + env(safe-area-inset-bottom))}.scanner-app .review-page-header{grid-template-columns:var(--size-touch-target) minmax(0,1fr) var(--size-touch-target);margin-bottom:var(--space-3);padding-bottom:var(--space-3)}.scanner-app .review-back-link{width:var(--size-touch-target);min-height:var(--size-touch-target)}.scanner-app .review-page .review-title-block h1{font-size:var(--font-size-title-sm)}.scanner-app .review-page .review-title-block p{margin-top:var(--space-1);font-size:var(--font-size-label)}.scanner-app .review-merchant-card{padding:var(--space-4)}.scanner-app .review-merchant-summary{grid-template-columns:var(--size-control) minmax(0,1fr) var(--size-control-compact);gap:var(--space-3)}.scanner-app .review-merchant-icon{width:var(--size-control-medium);height:var(--size-control-medium)}.scanner-app .review-merchant-meta{align-items:center;flex-direction:row}.scanner-app .review-merchant-edit-button{width:var(--size-control-compact);min-height:var(--size-control-compact);padding:0}.scanner-app .review-page .line-items{margin-top:var(--space-4)}.scanner-app .review-page .line-items-heading{margin-bottom:var(--space-2)}.scanner-app .review-page .line-items-heading h2{font-size:var(--font-size-label)}.scanner-app .review-page .review-receipt-lines{border-radius:var(--radius-hero)}.scanner-app .review-line-summary{grid-template-columns:1.75rem minmax(0,1fr) auto 1rem;gap:var(--space-3);min-height:var(--size-control-large);padding:var(--space-2) var(--space-3)}.scanner-app .review-line-quantity{width:1.75rem;height:1.75rem;font-size:var(--font-size-label)}.scanner-app .review-line-name{font-size:var(--font-size-small)}.scanner-app .review-line-total{font-size:var(--font-size-label)}.scanner-app .review-line-edit-icon{width:1rem;height:1rem}.scanner-app .review-line .line-review-warning{margin:var(--space-2) var(--space-3) 0;padding:var(--space-1) var(--space-2);font-size:var(--font-size-label)}.scanner-app .review-line-editor{gap:var(--space-3);padding:var(--space-3)}.scanner-app .review-line-editor .item-title-input{min-height:var(--size-control);padding:var(--space-3) var(--space-4);font-size:var(--font-size-small)}.scanner-app .review-line-editor .item-field-label{font-size:var(--font-size-label)}.scanner-app .review-line-editor .quantity-stepper,.scanner-app .review-line-editor .item-price-field .currency-input-wrap{min-height:var(--size-control)}.scanner-app .review-line-editor .quantity-stepper button,.scanner-app .review-line-editor .item-price-field .currency-input-wrap input{min-height:var(--size-touch-target)}.scanner-app .review-add-item{min-height:var(--size-control-medium);margin-top:var(--space-3);padding:var(--space-3);font-size:var(--font-size-label)}.scanner-app .review-page .metadata-section{margin-top:var(--space-8)}.scanner-app .review-page .section-heading-copy h2{font-size:var(--font-size-title-sm)}.scanner-app .review-page .section-heading-copy p{margin-top:var(--space-1);font-size:var(--font-size-small)}.scanner-app .review-page .gratuity-setup{gap:var(--space-4);margin-top:var(--space-4);border-radius:var(--radius-feature);padding:var(--space-5)}.scanner-app .review-page .gratuity-treatment-options{gap:var(--space-3)}.scanner-app .review-page .gratuity-treatment-option{min-height:var(--size-choice-card);gap:var(--space-3);border-radius:var(--radius-feature);padding:var(--space-4)}.scanner-app .review-page .gratuity-treatment-option input{width:1.2rem;height:1.2rem}.scanner-app .review-page .gratuity-option-copy strong{font-size:var(--font-size-small)}.scanner-app .review-page .gratuity-option-copy small{font-size:var(--font-size-label)}.scanner-app .review-page .gratuity-outcome{min-height:var(--size-control);padding:var(--space-3);font-size:var(--font-size-label)}.scanner-app .review-page .total-review{gap:var(--space-2);margin-top:var(--space-4);border-radius:var(--radius-card);padding:var(--space-3)}.scanner-app .review-page .total-review-heading{gap:var(--space-3)}.scanner-app .review-page .total-review-icon{width:2rem;height:2rem}.scanner-app .review-page .total-review-heading h3{font-size:var(--font-size-small)}.scanner-app .review-page .total-review-heading p{margin-top:var(--space-1);font-size:var(--font-size-label)}.scanner-app .review-page .total-review-values dt{font-size:var(--font-size-caption)}.scanner-app .review-page .total-review-values dd{font-size:var(--font-size-small)}.scanner-app .review-total-status{width:100%;min-height:var(--size-icon-compact);margin-top:var(--space-4);border-radius:var(--radius-round);background:color-mix(in oklch,var(--status-success) 9%,var(--surface-card));padding:var(--space-2) var(--space-3);font-size:var(--font-size-label)}.scanner-app .review-total-summary{margin-top:var(--space-4);border-radius:var(--radius-hero);padding:var(--space-5)}.scanner-app .review-total-summary dl{gap:var(--space-3)}.scanner-app .review-total-summary dt{font-size:var(--font-size-small)}.scanner-app .review-total-summary dd{font-size:var(--font-size-body)}.scanner-app .review-total-summary .review-total-final{padding-top:var(--space-3)}.scanner-app .review-total-summary .review-total-only{padding-top:0}.scanner-app .review-total-summary .review-total-final dd{font-size:var(--font-size-title-md)}.scanner-app .review-line-editor-actions{grid-template-columns:var(--size-control) minmax(0,1fr)}.scanner-app .review-line-editor-actions .item-remove-button{width:var(--size-control);min-height:var(--size-control);padding:0}.scanner-app .review-line-editor-actions .item-remove-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.scanner-app .review-page .total-review-values,.scanner-app .review-page .total-review-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.scanner-app .review-page .editor-footer{position:static;z-index:auto;margin:var(--space-4) 0 0;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}.scanner-app .review-page .editor-footer-actions{gap:var(--space-2);grid-template-columns:minmax(6.5rem,.45fr) minmax(0,1.55fr)}.scanner-app .review-page .editor-footer-actions .button{min-height:var(--size-control-medium);padding-inline:var(--space-3);font-size:var(--font-size-label)}.scanner-app .review-page .editor-footer-actions .review-primary-action{overflow-wrap:normal;white-space:nowrap}.scanner-app .review-page .receipt-gallery,.scanner-app .review-layout>.receipt-gallery{border-radius:var(--radius-card);padding:var(--space-4)}.scanner-app .review-layout>.receipt-gallery .receipt-gallery-heading h2{font-size:var(--font-size-body)}.scanner-app .review-layout>.receipt-gallery .receipt-gallery-heading p,.scanner-app .review-layout>.receipt-gallery figcaption{font-size:var(--font-size-label)}}@media(max-width:660px){.scanner-app .gratuity-treatment-options,.scanner-app .included-gratuity-details{grid-template-columns:1fr}.scanner-app .gratuity-treatment-option{min-height:0}.scanner-app .item-editor-controls{grid-template-columns:116px minmax(0,1fr);gap:12px}.scanner-app .item-price-field{grid-column:2}.scanner-app .item-line-total{grid-row:2;grid-column:1 / -1}}@media(max-width:430px){.scanner-app .gratuity-setup{padding:15px}.scanner-app .total-review{padding:var(--space-3)}.scanner-app .form-grid{grid-template-columns:1fr}.scanner-app .review-receipt-lines{padding-inline:13px}.scanner-app .editor-footer-actions{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}.scanner-app .editor-footer-actions .button{min-height:48px;padding-inline:10px;font-size:12px}.scanner-app .page-header{flex-direction:row}.scanner-app .page-header h1{font-size:31px}.scanner-app .page-header .button{min-height:36px;padding:7px 10px;font-size:13px}.scanner-app .camera-card{border-radius:16px}.scanner-app .capture-summary{grid-template-columns:1fr}.scanner-app .chunk-review-heading{align-items:flex-start;flex-direction:column}.scanner-app .ocr-debug-panel dl{grid-template-columns:1fr}.scanner-app .audit-line-row{grid-template-columns:minmax(0,1fr) 38px}.scanner-app .audit-line-row em{grid-column:1 / -1;width:max-content}}@media(max-width:360px){.scanner-app .review-page .total-review-actions{grid-template-columns:1fr}}@media(max-width:720px)and (max-height:760px){.scanner-app .page-shell{padding-top:10px}.scanner-app .page-header{margin-bottom:10px}.scanner-app .page-header .eyebrow{margin-bottom:4px}.scanner-app .page-header h1{font-size:clamp(27px,8vw,36px)}.scanner-app .camera-card{width:min(100%,calc((100svh - 220px)*.75));min-width:min(100%,290px)}}.shared-bill-page{min-height:100vh;background:#f5f6f1;color:#20362a;padding:28px 18px calc(28px + env(safe-area-inset-bottom))}.shared-bill-page.page-shell{width:min(100%,1040px);margin:0 auto}.shared-bill-page .page-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.shared-bill-page .page-header h1{margin:0;color:#1e3328;font-size:clamp(38px,7vw,72px);line-height:.95}.shared-bill-page .eyebrow{margin:0 0 7px;color:#708078;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.shared-bill-page .button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:0;border-radius:10px;padding:9px 14px;font-size:14px;font-weight:800}.shared-bill-page .button-primary{background:#1f5136;color:#fff}.shared-bill-page .button-secondary{background:#e7ece5;color:#22362a}.shared-bill-page .button-icon{width:40px;min-width:40px;padding:0;background:#e7ece5;color:#22362a}.shared-bill-page a.button{text-decoration:none}.shared-bill-page .button:disabled{cursor:not-allowed;opacity:.55}.shared-bill-page .status-badge{border-radius:999px;background:#e8f4e8;color:#287044;padding:5px 9px;font-size:12px;font-weight:700;white-space:nowrap}.shared-bill-page .status-badge[data-status=splitting]{background:#eef0e7;color:#5f6426}.shared-bill-page .status-badge[data-status=awaiting_payment]{background:#fff0d9;color:#8a5516}.shared-bill-page .status-badge[data-status=closed]{background:#ecefed;color:#5d6961}.shared-bill-page .save-state{color:#6c796f;font-size:12px}.shared-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.qr-modal-backdrop{position:fixed;z-index:40;inset:0;display:grid;place-items:center;background:#141e186b;padding:18px}.qr-modal{width:min(100%,360px);border:1px solid #d9e1d8;border-radius:18px;background:#fff;padding:18px;box-shadow:0 24px 70px #141e1842}.qr-modal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.qr-modal-heading h2{margin:0;color:#20362a;font-size:18px}.qr-modal-code{display:grid;place-items:center;margin-bottom:14px;border:1px solid #e5eae4;border-radius:14px;background:#fff;padding:14px}.qr-modal-code svg{width:min(100%,240px);height:auto}.shared-bill-page .editor-card,.scanner-app .share-card{border:1px solid #d9e1d8;border-radius:18px;background:#fff;padding:clamp(16px,4vw,26px);box-shadow:0 12px 34px #283b2e0f}.shared-bill-page .editor-heading,.scanner-app .share-card .editor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.shared-bill-page .editor-heading h2,.scanner-app .share-card .editor-heading h2{margin:0;color:#20362a;font-size:18px}.shared-bill-page input,.scanner-app .share-card input{width:100%;min-height:42px;border:1px solid #d7dfd6;border-radius:9px;background:#fff;color:#22362a;padding:8px 10px;outline:none}.scanner-app .share-card{position:sticky;top:16px}.scanner-app .qr-wrap{display:grid;place-items:center;margin:18px 0 14px;border:1px solid #e5eae4;border-radius:14px;background:#fff;padding:14px}.scanner-app .qr-wrap svg{width:min(100%,220px);height:auto}.scanner-app .share-breakdown{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;margin:14px 0;color:#6f7d74;font-size:13px}.scanner-app .share-breakdown strong{color:#20362a;font-variant-numeric:tabular-nums}.shared-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.shared-summary div{border:1px solid #dce4da;border-radius:12px;background:#fff;padding:12px}.shared-summary span{display:block;color:#68766e;font-size:12px;font-weight:800;text-transform:uppercase}.shared-summary strong{display:block;margin-top:5px;color:#1d4b31;font-size:20px;font-variant-numeric:tabular-nums}.shared-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:18px;align-items:start}.join-card{display:grid;gap:12px;max-width:440px;margin-bottom:16px}.claim-list,.people-list{display:grid;gap:8px;margin-top:16px}.claim-row,.person-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1ec;padding:10px 0}.claim-row:last-child,.person-row:last-child{border-bottom:0}.claim-row strong,.person-row strong{display:block;color:#20362a;font-size:15px;font-variant-numeric:tabular-nums}.claim-row span,.person-row span{display:block;margin-top:3px;color:#728077;font-size:12px}.claim-actions{display:flex;flex:0 0 auto;gap:8px}@media(min-width:980px){.scanner-app .review-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.shared-bill-page{padding:16px 12px calc(24px + env(safe-area-inset-bottom))}.shared-bill-page .page-header{align-items:flex-start}.shared-actions{width:100%;justify-content:flex-start}.shared-bill-page .page-header h1{font-size:42px}.shared-summary,.shared-layout{grid-template-columns:1fr}.claim-row,.person-row{align-items:flex-start}.claim-row{flex-direction:column}.claim-actions,.claim-actions .button{width:100%}}
