.scanner-header{text-align:center;padding:var(--space-lg) 0}.scanner-title{font-size:var(--font-size-xl);font-weight:700}.scanner-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--space-xs)}.scan-area{position:relative;aspect-ratio:3/4;max-height:400px;border:2px dashed var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);overflow:hidden;cursor:pointer;transition:border-color .2s;margin:0 auto}.scan-area:hover,.scan-area.dragover{border-color:var(--accent)}.scan-area video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.scan-area-icon{width:64px;height:64px;color:var(--text-muted)}.scan-area-text{font-size:var(--font-size-sm);color:var(--text-muted);text-align:center}.scan-area-text strong{color:var(--accent);display:block;margin-bottom:var(--space-xs)}.scan-actions{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-lg)}.scan-actions .btn{flex:1}.batch-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) 0}.batch-count{font-size:var(--font-size-sm);color:var(--text-secondary)}.batch-count strong{color:var(--text-primary)}.scan-queue{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md)}.scan-queue-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:all .2s}.scan-queue-thumb-wrap{position:relative;flex-shrink:0}.scan-queue-thumb{width:48px;height:67px;border-radius:var(--radius-sm);object-fit:cover;background:var(--skeleton)}.scan-queue-spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;border-radius:var(--radius-sm)}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card-flip-container{perspective:600px;width:80px;height:112px;margin:0 auto var(--space-lg)}.card-flip{width:100%;height:100%;border-radius:8px;background:linear-gradient(135deg,var(--accent) 0%,var(--gain) 100%);box-shadow:0 4px 20px #0003;animation:card-flip 2s ease-in-out infinite;position:relative;display:flex;align-items:center;justify-content:center}.card-flip:after{content:"";width:40px;height:40px;border-radius:50%;border:3px solid rgba(255,255,255,.4);position:absolute}.card-flip:before{content:"";position:absolute;inset:6px;border:1.5px solid rgba(255,255,255,.2);border-radius:5px}@keyframes card-flip{0%{transform:rotateY(0)}50%{transform:rotateY(180deg)}to{transform:rotateY(360deg)}}.scan-queue-item.processing{position:relative;overflow:hidden}.scan-queue-item.processing:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,var(--accent-bg) 50%,transparent 100%);animation:shimmer 1.5s ease-in-out infinite;pointer-events:none}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.scan-queue-info{flex:1;min-width:0}.scan-queue-name{font-weight:600;font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scan-queue-status{font-size:var(--font-size-xs);margin-top:2px}.status-processing,.status-identified{color:var(--accent)}.status-priced{color:var(--gain)}.status-error{color:var(--loss)}.status-pending{color:var(--gain)}.scan-progress-bar{width:100%;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.scan-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .4s ease}.scan-queue-actions{display:flex;gap:var(--space-xs)}.review-panel{padding:var(--space-lg)}.review-images{margin-bottom:var(--space-lg)}.review-card-image{width:100%;max-height:280px;object-fit:contain;border-radius:var(--radius-md);background:var(--bg-card)}.review-extra-images{display:flex;gap:var(--space-sm);margin-top:var(--space-sm);overflow-x:auto;padding-bottom:var(--space-xs)}.extra-image-thumb{position:relative;flex-shrink:0}.extra-image-thumb img{width:56px;height:78px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border)}.extra-image-remove{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--loss);color:#fff;border:none;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.add-image-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:56px;height:78px;border-radius:var(--radius-sm);border:1.5px dashed var(--border);background:none;color:var(--text-muted);font-size:10px;cursor:pointer;flex-shrink:0;transition:border-color .2s,color .2s}.add-image-btn:hover{border-color:var(--accent);color:var(--accent)}.review-field{margin-bottom:var(--space-md)}.review-label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:var(--space-xs)}.review-value{font-size:var(--font-size-base);font-weight:500}.price-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm);margin:var(--space-lg) 0}.price-box{text-align:center;padding:var(--space-md);border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border)}.price-box-label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;font-weight:600}.price-box-value{font-size:var(--font-size-xl);font-weight:700;margin-top:var(--space-xs)}.price-box.high .price-box-value{color:var(--gain)}.price-box.low .price-box-value{color:var(--loss)}.price-box.avg .price-box-value{color:var(--accent)}.price-box-source{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:2px;text-transform:capitalize}.source-breakdown{margin-bottom:var(--space-lg)}.source-breakdown-title{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-weight:600;margin-bottom:var(--space-sm)}.source-list,.source-breakdown{display:flex;flex-direction:column;gap:var(--space-xs)}.source-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.source-row:nth-child(odd){background:var(--bg-card)}.source-tier-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:18px;border-radius:4px;font-size:10px;font-weight:700;margin-right:var(--space-sm);flex-shrink:0}.tier-1 .source-tier-badge{background:var(--gain);color:#fff}.tier-2 .source-tier-badge{background:var(--accent);color:#fff}.tier-3 .source-tier-badge{background:var(--text-muted);color:#fff}.source-name{color:var(--text-secondary);flex:1}.source-price{font-weight:600;margin:0 var(--space-md)}.source-link{font-size:var(--font-size-xs);color:var(--accent);text-decoration:none}.source-link:hover{text-decoration:underline}.manual-price-section{margin:var(--space-lg) 0;padding:var(--space-md);border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border)}.purchase-form{margin-top:var(--space-lg);border-top:1px solid var(--border);padding-top:var(--space-lg)}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:var(--space-xs)}.form-group input,.form-group select{width:100%;padding:var(--space-sm) var(--space-md)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.grading-potential{margin:var(--space-lg) 0}.grading-potential-card{padding:var(--space-md);border-radius:var(--radius-md);background:linear-gradient(135deg,#00c07614,#00c07605);border:1px solid var(--gain)}.grading-potential-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.grading-potential-label{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gain)}.grading-potential-badge{font-size:var(--font-size-xs);font-weight:600;color:var(--gain);background:#00c0761f;padding:2px 8px;border-radius:10px}.grading-potential-price{font-size:var(--font-size-xl);font-weight:700;color:var(--gain)}.grading-potential-source{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-xs);display:flex;align-items:center;gap:var(--space-xs)}.save-all-bar{position:sticky;bottom:calc(var(--nav-height) + var(--safe-area-bottom) + var(--space-sm));padding:var(--space-md) 0;z-index:10}.file-input{position:absolute;width:0;height:0;opacity:0;overflow:hidden}
