.scanner-page-container{width:100%;max-width:1200px;margin:0 auto;padding:1.5rem;font-family:Inter,sans-serif;color:#334155;display:flex;flex-direction:column;align-items:center;gap:2rem}.scanner-main-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:1rem;padding:2rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);width:90%;max-width:1000px;text-align:center}@media (min-width:1024px){.scanner-main-card{width:80%;max-width:1400px}}.scanner-main-card h1{font-size:1.8rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.scanner-subtitle{color:#64748b;margin-bottom:1.5rem;min-height:1.5rem}.scanner-subtitle.error{color:#ef4444}.scanner-action-container{gap:.5rem}.scanner-action-container,.scanner-file-upload-area{display:flex;flex-direction:column;align-items:center}.scanner-file-upload-area{width:100%;border:2px dashed #cbd5e1;border-radius:1rem;padding:3rem 1.5rem;background-color:#f8fafc;cursor:pointer;transition:all .2s ease;justify-content:center;gap:.75rem}.scanner-file-upload-area:hover{border-color:#4f46e5;background-color:#eef2ff}.upload-icon{color:#94a3b8;width:48px;height:48px}.upload-text-bold{font-weight:600;color:#1e293b;font-size:1.1rem}.upload-text-sub{color:#64748b}.upload-text-hint{font-size:.85rem;color:#94a3b8}.scanner-divider{display:flex;align-items:center;width:100%;margin:1rem 0;color:#94a3b8;font-size:.9rem;font-weight:500}.scanner-divider:after,.scanner-divider:before{content:"";flex:1 1;border-bottom:1px solid #e2e8f0}.scanner-divider span{padding:0 1rem}.scanner-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;border:none;width:100%}.scanner-btn-primary{background-color:#4f46e5;color:white;box-shadow:0 4px 6px -1px rgba(79,70,229,.2)}.scanner-btn-primary:hover{background-color:#4338ca}.scanner-btn-secondary{background-color:#f1f5f9;color:#334155}.scanner-btn-secondary:hover{background-color:#e2e8f0}.scanner-btn-outline{background-color:transparent;border:1px solid #e2e8f0;color:#334155}.scanner-btn-outline:hover{background-color:#f8fafc;border-color:#cbd5e1}.scanner-camera-wrapper{position:relative;width:100%;max-width:500px;aspect-ratio:4/3;background-color:#000;border-radius:1rem;overflow:hidden;margin:0 auto 1.5rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.2)}.scanner-video{width:100%;height:100%;object-fit:cover}.scanner-overlay-border{right:10%;bottom:10%;border:4px solid rgba(255,255,255,.5);border-radius:1rem;box-shadow:0 0 0 9999px rgba(0,0,0,.5)}.scanner-overlay-border,.scanner-scan-line{position:absolute;top:10%;left:10%;pointer-events:none}.scanner-scan-line{width:80%;height:2px;background:#ef4444;box-shadow:0 0 4px #ef4444;animation:scanLine 2s linear infinite}@keyframes scanLine{0%{top:10%}50%{top:90%}to{top:10%}}.scanner-zoom-overlay{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:.5rem 1rem;border-radius:9999px;display:flex;align-items:center;gap:1rem;width:80%;max-width:300px;z-index:10}.scanner-zoom-input{flex:1 1;accent-color:#4f46e5;cursor:pointer}.scanner-zoom-text{color:white;font-weight:700;font-size:.85rem;min-width:3ch}.scanner-camera-controls{gap:2rem;margin-top:1rem;padding-bottom:1rem}.scanner-camera-controls,.scanner-control-btn{display:flex;justify-content:center;align-items:center}.scanner-control-btn{background:white;border:none;border-radius:50%;padding:1rem;box-shadow:0 4px 6px rgba(0,0,0,.1);color:#475569;cursor:pointer;transition:all .2s}.scanner-control-btn:hover{transform:translateY(-2px);box-shadow:0 6px 10px rgba(0,0,0,.15)}.scanner-control-btn.active{background-color:#4f46e5;color:white}.scanner-capture-btn-outer{width:4rem;height:4rem;border-radius:50%;border:4px solid #4f46e5;background:white;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.1);transition:transform .1s}.scanner-capture-btn-outer:active{transform:scale(.95)}.scanner-capture-btn-inner{width:3rem;height:3rem;background-color:#4f46e5;border-radius:50%}.scanner-progress-wrapper{width:100%;max-width:400px;margin:1rem auto}.scanner-progress-labels{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600;color:#64748b;margin-bottom:.5rem}.scanner-progress-track{width:100%;height:.6rem;background-color:#e2e8f0;border-radius:9999px;overflow:hidden}.scanner-progress-fill{height:100%;background-color:#4f46e5;border-radius:9999px;transition:width .3s ease}.scanner-results-container{width:100%;max-width:800px;text-align:left}.scanner-results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.scanner-results-header h3{margin:0;font-size:1.25rem;color:#1e293b}.scanner-copy-btn{background:none;border:none;cursor:pointer;color:#475569;padding:.5rem;border-radius:.5rem;transition:background .2s}.scanner-copy-btn:hover{background-color:#f1f5f9;color:#0f172a}.scanner-results-content{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;padding:1rem;margin-bottom:1rem;max-height:400px;overflow-y:auto}.scanner-raw-pre{white-space:pre-wrap;word-break:break-all;font-family:monospace;font-size:.9rem;color:#334155;margin:0}.scanner-result-item{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.scanner-result-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.scanner-result-type{color:#4f46e5;font-weight:700;margin-bottom:.5rem;font-size:1rem}.scanner-result-row{display:flex;flex-direction:column;margin-bottom:.5rem}.scanner-result-label{font-size:.8rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.scanner-result-value{font-size:1rem;color:#1e293b;word-break:break-all}.scanner-result-value a{color:#2563eb;text-decoration:underline}.scanner-hidden{display:none}.scanner-btn-group{display:flex;gap:10px}@media (max-width:640px){.scanner-page-container{padding:1rem}.scanner-main-card{padding:1.5rem 1rem}.scanner-camera-controls{gap:1rem}}.scanner-results-body{display:flex;flex-direction:column;gap:1.5rem;width:100%}@media (min-width:1024px){.scanner-results-container{max-width:none;width:100%}.scanner-results-body{flex-direction:row;align-items:flex-start;justify-content:center;gap:2rem}.scanner-results-left{flex:0 0 60%;min-width:0}.scanner-results-right{flex:1 1;width:auto;max-width:400px;position:-webkit-sticky;position:sticky;top:1rem}}