.qr-auth-page{min-height:100vh;background:linear-gradient(135deg,#f8f9fa,#e8f5e9);padding:60px 24px}.qr-auth-page .container{max-width:1200px;margin:0 auto}.qr-auth-header{text-align:center;margin-bottom:48px}.qr-auth-header h1{font-size:clamp(28px,4vw,42px);color:#1a1a1a;margin:16px 0}.qr-auth-header p{font-size:16px;color:#666;max-width:600px;margin:0 auto}.qr-auth-content{display:grid;grid-template-columns:1fr 1fr;grid-gap:32px;gap:32px;margin-bottom:48px}.verification-panel{background:white;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08);overflow:hidden}.panel-tabs{display:flex;border-bottom:1px solid #e0e0e0}.panel-tabs .tab{flex:1 1;padding:16px;background:none;border:none;font-size:15px;font-weight:600;color:#666;cursor:pointer;transition:all .2s ease}.panel-tabs .tab.active{color:#155f39;background:#f8f9fa;border-bottom:2px solid #155f39}.panel-content{padding:32px}.upload-area{border:2px dashed #e0e0e0;border-radius:8px;padding:48px 24px;text-align:center;cursor:pointer;transition:all .2s ease}.upload-area:hover{border-color:#155f39;background:#f8f9fa}.upload-icon{font-size:48px;margin-bottom:16px}.upload-area h3{font-size:18px;color:#1a1a1a;margin-bottom:8px}.upload-area p{font-size:14px;color:#666;margin-bottom:12px}.upload-hint{font-size:12px;color:#888}.divider{display:flex;align-items:center;margin:24px 0}.divider:after,.divider:before{content:"";flex:1 1;height:1px;background:#e0e0e0}.divider span{padding:0 16px;font-size:13px;color:#888;text-transform:uppercase}.token-form label{display:block;font-size:14px;font-weight:600;margin-bottom:12px;color:#1a1a1a}.token-input-group{display:flex;gap:12px}.token-input-group input{flex:1 1;padding:14px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:15px;transition:border-color .2s ease}.token-input-group input:focus{outline:none;border-color:#155f39}.token-input-group button{padding:14px 28px;background:#155f39;color:white;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.token-input-group button:hover:not(:disabled){background:#0d3d24}.token-input-group button:disabled{opacity:.6;cursor:not-allowed}.result-panel{background:white;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08);padding:32px;display:flex;align-items:center;justify-content:center;min-height:400px}.result{text-align:center;width:100%}.result-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 24px}.result h3{font-size:24px;margin-bottom:12px;color:#1a1a1a}.result p{font-size:15px;color:#666;line-height:1.6}.result.loading .result-icon{background:#f0f0f0}.result.success .result-icon{background:#e8f5e9;color:#155f39}.result.success h3{color:#155f39}.result.error .result-icon{background:#ffebee;color:#c62828}.result.error h3{color:#c62828}.result.warning .result-icon{background:#fff3e0;color:#f57c00}.result.warning h3{color:#f57c00}.result.info .result-icon{background:#e3f2fd;color:#1976d2}.result.info h3{color:#1976d2}.result.empty .result-icon{background:#f5f5f5;color:#888}.spinner{width:48px;height:48px;border:4px solid #e0e0e0;border-top-color:#155f39;border-radius:50%;margin:0 auto 24px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.product-details{background:#f8f9fa;border-radius:8px;padding:20px;margin-top:24px;text-align:left}.detail-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #e0e0e0}.detail-row:last-child{border-bottom:none}.detail-row .label{font-weight:600;color:#666;font-size:14px}.detail-row .value{color:#1a1a1a;font-size:14px}.verification-info{margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0}.verification-info small{color:#888;font-size:12px}.qr-auth-info{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px}.info-card{background:white;border-radius:12px;padding:24px;text-align:center;box-shadow:0 2px 12px rgba(0,0,0,.05)}.info-icon{font-size:36px;margin-bottom:16px}.info-card h4{font-size:16px;color:#1a1a1a;margin-bottom:8px}.info-card p{font-size:14px;color:#666;line-height:1.5}@media (max-width:968px){.qr-auth-content,.qr-auth-info{grid-template-columns:1fr}}@media (max-width:600px){.qr-auth-page{padding:40px 16px}.panel-content{padding:24px}.token-input-group{flex-direction:column}.token-input-group button{width:100%}}