@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&display=swap";.camera-container{display:flex;flex-direction:column;align-items:center;position:relative;width:100%;max-width:640px;margin:0}.video-wrapper{width:100%;aspect-ratio:16/9;background-color:#000;display:flex;justify-content:center;align-items:center}.camera-feed{width:100%;height:100%;object-fit:cover}.camera-controls{padding:1.5rem;width:100%;display:flex;justify-content:center;background:#fff;border-top:1px solid #edf2f7;border-radius:0 0 12px 12px}.capture-btn{width:72px;height:72px;border-radius:50%;background:#fff;border:2px solid #e2e8f0;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #0000000d}.capture-btn:hover{border-color:var(--primary-color);box-shadow:0 6px 16px #c44d3126}.capture-btn-inner{width:58px;height:58px;border-radius:50%;background:#f8f9fa;transition:all .2s}.capture-btn:hover .capture-btn-inner{background:var(--primary-color)}.error-message{color:#ff4081;padding:1rem;text-align:center}.results-overlay{position:relative;background:transparent;z-index:100;padding:15px;display:flex;flex-direction:column}.results-content{background:#fff;border-radius:12px;padding:32px;color:var(--secondary-color);width:100%;max-width:100%;border:1px solid #edf2f7;box-shadow:0 20px 50px #0000000d;overflow-wrap:break-word;word-wrap:break-word}.primary-result-header{margin-bottom:20px;text-align:left}.badge{background:#f0f2f5;color:var(--secondary-color);padding:4px 12px;border-radius:100px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;display:inline-block;margin-bottom:12px;border:1px solid #edf2f7}.badge.set{background:#fffaf0;color:#9c4221;border-color:#feebc8}.badge.part{background:#f0fff4;color:#276749;border-color:#c6f6d5}.badge.minifig{background:#ebf8ff;color:#2c5282;border-color:#bee3f8}.primary-result-header h2{font-family:Plus Jakarta Sans,sans-serif;font-size:1.8rem;font-weight:800;margin:0;line-height:1.25;color:var(--secondary-color);letter-spacing:-.03em;overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.main-image{background:#fcfcfc;border-radius:8px;padding:24px;margin-bottom:32px;display:flex;justify-content:center;border:1px solid #f1f2f6}.result-image{max-width:100%;max-height:200px;object-fit:contain}.pricing-container{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:25px}.price-card{background:#f8f9fa;border:1px solid #edf2f7;border-radius:8px;padding:16px;display:flex;flex-direction:column;text-align:center;position:relative;transition:all .2s}.price-card.clickable{cursor:pointer;background:#fff;border:1px solid #e2e8f0;box-shadow:0 2px 4px #00000005}.price-card.clickable:hover{background:#fff;border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #c44d311a}.price-card.clickable:active{transform:translateY(0)}.add-icon{position:absolute;top:5px;right:5px;width:20px;height:20px;background:var(--primary-color);border-radius:50%;color:#fff;font-size:1.2rem;line-height:18px;display:none}.price-card.clickable:hover .add-icon{display:block}.pricing-text-hint{text-align:center;font-size:.8rem;color:#fff9;margin-bottom:5px}.price-label{font-size:.75rem;opacity:.6;margin-bottom:4px}.price-value{font-size:1.2rem;font-weight:700}.fade-in{animation:fadeIn .4s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tags-section{margin-top:15px;text-align:left}.tags-list{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:8px}.tag-chip{background:#fff3;padding:6px 12px;border-radius:20px;font-size:.9rem;cursor:pointer;transition:background .2s}.tag-chip:hover{background:#fff6}.visual-matches{margin-top:20px}.matches-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.match-thumb{display:block;aspect-ratio:1}.match-thumb img{width:100%;height:100%;object-fit:cover;border-radius:8px;border:1px solid rgba(255,255,255,.3)}.potential-matches{margin-top:25px;text-align:left;padding:0 5px}.potential-matches h3{font-family:Plus Jakarta Sans,sans-serif;font-size:1.2rem;font-weight:800;margin-bottom:16px;color:var(--secondary-color);letter-spacing:-.02em}.potential-item{display:flex;align-items:center;background:#fff;border:1px solid #edf2f7;border-radius:8px;padding:10px 16px;cursor:pointer;transition:all .2s}.potential-item:hover{border-color:#e2e8f0;background:#fcfcfc;box-shadow:0 4px 12px #00000008;transform:translate(4px)}.potential-thumb-container{width:45px;height:45px;background:#fff;border-radius:8px;overflow:hidden;margin-right:12px;flex-shrink:0}.potential-thumb{width:100%;height:100%;object-fit:contain}.potential-info{display:flex;flex-direction:column;min-width:0}.potential-name{font-size:.95rem;font-weight:500;white-space:normal;overflow-wrap:break-word;word-break:break-word}.potential-no{font-size:.8rem;opacity:.7}.scan-again-btn{margin:20px auto 0;display:block;width:auto;min-width:200px;background:var(--brand-blue);border:none;padding:12px 32px;border-radius:8px;color:#fff;font-weight:700;cursor:pointer;font-size:1rem;transition:all .2s;box-shadow:0 4px 12px #00abe733}.scan-again-btn:hover{background:#0096cc;transform:translateY(-1px);box-shadow:0 6px 20px #00abe74d}.scan-again-btn:active{transform:scale(.98)}.search-container{margin-top:2rem;padding:1.5rem;width:100%;max-width:640px}.search-container h3{font-family:Plus Jakarta Sans,sans-serif;margin-top:0;margin-bottom:1.2rem;font-size:1.4rem;color:var(--secondary-color);font-weight:800;letter-spacing:-.03em}.search-form{display:flex;gap:12px}.search-input{flex:1;padding:12px 16px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#2d3436;font-size:1rem;transition:all .2s}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #c44d311a}.search-btn{background:var(--secondary-color);color:#fff;font-weight:600;padding:12px 24px;border-radius:6px;cursor:pointer;border:none;transition:all .2s}.search-btn:hover{background:#34495e;transform:translateY(-1px)}.quote-container{height:100%;display:flex;flex-direction:column;background:#fff;border-left:1px solid #edf2f7;min-width:0}.quote-header{padding:24px;border-bottom:1px solid #edf2f7;flex-shrink:0}.quote-header h2{font-family:Plus Jakarta Sans,sans-serif;margin:0 0 20px;font-size:1.8rem;color:var(--secondary-color);font-weight:800;letter-spacing:-.03em}.quote-controls{display:flex;gap:12px;align-items:flex-end}.input-group{display:flex;flex-direction:column;flex:1}.input-group input{background:#f8f9fa;border:1px solid #e2e8f0;padding:12px;border-radius:6px;color:#2d3436;font-size:.95rem;font-weight:500;transition:all .2s}.input-group input:focus{outline:none;border-color:var(--primary-color);background:#fff;box-shadow:0 0 0 3px #c44d311a}.calculate-btn{background:var(--secondary-color);color:#fff;border:none;padding:10px 24px;border-radius:6px;font-weight:600;cursor:pointer;height:48px;transition:all .2s}.calculate-btn:hover{background:#34495e;transform:translateY(-1px)}.quote-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:#edf2f7 transparent}.quote-list::-webkit-scrollbar{width:6px}.quote-list::-webkit-scrollbar-track{background:transparent}.quote-list::-webkit-scrollbar-thumb{background:#edf2f7;border-radius:10px}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted);font-family:Plus Jakarta Sans,sans-serif;font-weight:500;font-size:1.1rem}.quote-item{background:#fff;border-radius:8px;padding:16px;display:flex;align-items:center;gap:16px;position:relative;border:1px solid #edf2f7;transition:all .2s;box-shadow:0 4px 12px #00000005}.quote-item:hover{border-color:#e2e8f0;box-shadow:0 8px 20px #0000000a}.quote-item-thumb{width:60px;height:60px;background:#fff;border-radius:4px;overflow:hidden;flex-shrink:0;border:1px solid #f1f2f6}.quote-item-thumb img{width:100%;height:100%;object-fit:contain}.quote-item-info{flex:1;overflow:hidden;min-width:0}.quote-item-name{font-family:Inter,sans-serif;font-size:.95rem;font-weight:400;color:#2d3436;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.quote-item-meta{display:flex;gap:8px;align-items:center;font-size:.8rem;color:var(--text-muted)}.condition-badge{font-size:.65rem;padding:2px 8px;border-radius:100px;text-transform:uppercase;font-weight:700;letter-spacing:.05em}.condition-badge.new{background:#e6fffa;color:#2c7a7b;border:1px solid #b2f5ea}.condition-badge.used{background:#fffaf0;color:#9c4221;border:1px solid #feebc8}.quote-item-id{font-weight:500}.quote-item-pricing{display:flex;gap:20px;text-align:right;align-items:center}.price-col{display:flex;flex-direction:column}.price-col .label{font-size:.65rem;text-transform:uppercase;color:var(--text-muted);font-weight:700;letter-spacing:.05em;margin-bottom:2px}.price-col .value{font-weight:700;color:var(--secondary-color)}.price-col.quoted .value{color:var(--primary-color);font-size:1.25rem}.item-perc-input{width:50px;background:#f8f9fa;border:1px solid #e2e8f0;border-radius:4px;color:#2d3436;font-size:.85rem;font-weight:400;padding:4px;text-align:center}.item-perc-input:focus{outline:none;border-color:var(--primary-color);background:#fff}.remove-btn{width:32px;height:32px;background:transparent;border:none;color:#a4b0be;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.remove-btn:hover{color:#ff7675}.quote-footer{padding:24px;background:#fcfcfc;border-top:1px solid #edf2f7;flex-shrink:0}.quote-summary{margin-bottom:24px}.summary-row{display:flex;justify-content:space-between;margin-bottom:12px;color:var(--text-muted);font-weight:500;font-size:.95rem}.summary-row.total{color:var(--secondary-color);font-size:1.4rem;font-family:Plus Jakarta Sans,sans-serif;font-weight:800;letter-spacing:-.02em;margin-top:16px;padding-top:16px;border-top:1px solid #edf2f7}.total-value{color:var(--primary-color)}.submit-quote-btn{width:auto;min-width:200px;margin:0 auto;display:block;background:var(--brand-blue);border:none;padding:14px 32px;border-radius:8px;color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #00abe733}.submit-quote-btn:hover{background:#0096cc;transform:translateY(-1px);box-shadow:0 6px 20px #00abe74d}.submit-quote-btn:active{transform:scale(.98)}.submit-quote-btn:disabled{opacity:.5;cursor:not-allowed;background:#d1d5db;box-shadow:none}.resale-list-header h2{margin-bottom:8px}.resale-list-header p{margin:0;color:var(--text-muted, #636e72);font-weight:500;font-size:.95rem}.resale-item-name{white-space:normal;overflow:visible;text-overflow:unset}.resale-category{font-weight:600;color:var(--secondary-color)}.resale-qty-col{align-items:center;text-align:center}.resale-qty-col .label{width:100%;text-align:center}.resale-qty-input{width:64px}.resale-used-format{display:flex;flex-wrap:wrap;gap:12px 16px;margin-top:8px}.resale-used-format label{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:var(--secondary-color);cursor:pointer}.resale-used-format input{accent-color:var(--primary-color);margin:0}.sign-in-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:#fcfcfc}.sign-in-card{width:min(420px,100%);padding:40px 32px;text-align:center}.sign-in-logo{height:56px;width:auto;margin-bottom:24px}.sign-in-card h1{margin:0 0 8px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.6rem;color:var(--secondary-color)}.sign-in-card p{margin:0 0 24px;color:var(--text-muted)}.sign-in-button{display:flex;justify-content:center;min-height:44px}.sign-in-message{margin:16px 0 0;color:var(--primary-color)}:root{font-family:Plus Jakarta Sans,Inter,system-ui,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#2d3436;background-color:#fcfcfc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary-color: #c44d31;--secondary-color: #2c3e50;--brand-blue: #00abe7;--accent-color: #6d5d6e;--surface-color: #ffffff;--surface-color-light: #f8f9fa;--panel-shadow: 0 10px 40px rgba(0, 0, 0, .03);--border-subtle: 1px solid #edf2f7}body{margin:0;background:#fcfcfc}#root{width:100%;height:100%}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--surface-color-light);cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--primary-color)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em;background-color:var(--surface-color);border-radius:12px;box-shadow:0 4px 6px #0000004d}.glass-panel{background:#fff;box-shadow:var(--panel-shadow);border-radius:12px;border:var(--border-subtle)}:root{--primary-color: #c44d31;--secondary-color: #2c3e50;--bg-color: #fcfcfc;--text-color: #2d3436;--text-muted: #636e72}body{margin:0;padding:0;background-color:var(--bg-color);color:var(--text-color);font-family:Inter,system-ui,-apple-system,sans-serif;overflow:hidden;height:100vh}*,*:before,*:after{box-sizing:border-box}.app-container{display:flex;flex-direction:column;height:100vh;height:100dvh;width:100%;overflow:hidden}.app-chrome{flex-shrink:0;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:16px 24px 0;background:#fff;border-bottom:1px solid #edf2f7}.tab-navigation{display:flex;gap:4px}.tab-button{background:transparent;border:none;border-bottom:3px solid transparent;border-radius:0;margin-bottom:-1px;padding:12px 20px;font-family:Plus Jakarta Sans,sans-serif;font-size:.95rem;font-weight:700;color:var(--text-muted);cursor:pointer}.tab-button:hover{color:var(--secondary-color);border-color:transparent}.tab-button:focus,.tab-button:focus-visible{outline:none}.tab-button.active,.tab-button.active:hover,.tab-button.active:focus{color:var(--primary-color);border-color:transparent;border-bottom-color:var(--primary-color)}.app-body{flex:1;display:flex;min-height:0;overflow:hidden}.app-body.resale-body{overflow-y:auto;background:#fcfcfc}.app-body.is-hidden{display:none}.left-panel{width:auto;flex:0 1 auto;display:flex;flex-direction:column;padding:24px;background:#fcfcfc;overflow-y:auto;overflow-x:hidden;position:relative;align-items:flex-start;overflow-wrap:break-word;word-wrap:break-word;-ms-overflow-style:none;scrollbar-width:none}.left-panel::-webkit-scrollbar{display:none}.right-panel{width:auto;flex:1;height:100%;border-left:1px solid #edf2f7;background:#fff;overflow:hidden}.app-header{margin-bottom:0;padding-bottom:12px;display:flex;justify-content:flex-start;align-items:center;gap:16px}.account-bar{display:flex;align-items:center;gap:12px}.account-email{color:var(--text-muted);font-size:.85rem}.sign-out-btn{padding:6px 12px;font-size:.85rem}.app-logo{height:48px;width:auto;object-fit:contain}.scanner-main{flex:1;display:flex;flex-direction:column;position:relative;gap:20px}.manual-search-section{width:100%;max-width:640px;margin:0;padding-bottom:20px;overflow-wrap:break-word}.processing-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fcfcfcd9;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:0 0 12px 12px}.processing-overlay p{font-family:Plus Jakarta Sans,sans-serif;color:var(--secondary-color);font-weight:700;letter-spacing:-.01em}.spinner{width:50px;height:50px;border:5px solid rgba(255,255,255,.1);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.save-status-msg{margin-top:15px;padding:12px;border-radius:8px;text-align:center;font-size:.95rem;font-weight:600;transition:all .3s}.save-status-msg.success{background-color:#ecfdf5;color:#059669;border:1px solid #10b981}.save-status-msg.error{background-color:#fef2f2;color:#dc2626;border:1px solid #ef4444}@media (max-width: 1024px){.app-container{overflow-y:auto}.app-chrome{flex-direction:column;align-items:flex-start;padding:16px 16px 0}.tab-navigation{width:100%}.tab-button{flex:1;text-align:center}.app-body{flex-direction:column;overflow:visible}.left-panel{width:100%;flex:0 0 auto;min-height:50vh;height:auto;border-bottom:1px solid #edf2f7;overflow-y:visible}.right-panel{width:100%;flex:1 0 auto;min-height:400px;height:auto;border-left:none;overflow:visible}}
