.plp-upload-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.plp-upload-modal{background:#fff9f4;border-radius:0;box-shadow:0 4px 20px #00000026;max-height:80vh;max-width:750px;overflow-y:auto;position:relative;width:90%}.plp-upload-modal__close{background:none;border:none;cursor:pointer;padding:8px;position:absolute;right:12px;top:12px;z-index:1}.plp-upload-modal__close:hover{opacity:.7}.plp-upload-modal__content{align-items:center;display:flex;flex-direction:column;padding:40px 50px;text-align:center}@media screen and (max-width: 768px){.plp-upload-modal__content{padding:30px 20px}}.plp-upload-modal__title{font-family:Cheltenham,Georgia,serif;font-size:24px;font-weight:700;line-height:1.25;margin-bottom:24px}@media screen and (min-width: 768px){.plp-upload-modal__title{font-size:28px}}.plp-upload-modal__choose-file-btn{align-items:center;background:#eee171;border:none;color:#000;cursor:pointer;display:flex;font-family:Apercu,sans-serif;font-size:16px;font-weight:700;gap:8px;justify-content:center;margin-bottom:20px;max-width:280px;padding:16px 40px;transition:background-color .2s;width:100%}.plp-upload-modal__choose-file-btn:hover:not(:disabled){background:#000;color:#fff}.plp-upload-modal__choose-file-btn:hover:not(:disabled) svg path{fill:#fff}.plp-upload-modal__choose-file-btn:disabled{opacity:.7;cursor:not-allowed}.plp-upload-modal__choose-file-btn.is-loading{pointer-events:none}.plp-upload-modal__divider{align-items:center;display:flex;margin:16px 0;width:100%}.plp-upload-modal__divider-line{background:#bbb;flex:1;height:1px}.plp-upload-modal__divider-text{color:#666;font-family:Apercu,sans-serif;font-size:14px;margin:0 16px}.plp-upload-modal__qr-section{margin-top:16px;width:100%}.plp-upload-modal__qr-title{font-family:Apercu,sans-serif;font-size:18px;font-weight:700;margin-bottom:8px}@media screen and (min-width: 768px){.plp-upload-modal__qr-title{font-size:20px}}.plp-upload-modal__qr-description{color:#666;font-family:Apercu,sans-serif;font-size:14px;line-height:1.5;margin-bottom:20px}.plp-upload-modal__qr-wrapper{align-items:center;display:flex;justify-content:center;min-height:200px}.plp-upload-modal__qr-canvas{border:1px solid #eee}.plp-upload-modal__spinner .spinner{animation:spin 1s linear infinite}.plp-upload-modal__qr-error{align-items:center;display:flex;flex-direction:column;gap:12px;padding:20px}.plp-upload-modal__qr-error p{color:#e53935;font-family:Apercu,sans-serif;font-size:14px;margin:0}.plp-upload-modal__retry-btn{background:none;border:none;color:#000;cursor:pointer;font-family:Apercu,sans-serif;font-size:14px;font-weight:700;text-decoration:underline}.plp-upload-modal__retry-btn:hover{opacity:.8}.plp-upload-modal__step-guide{align-items:flex-start;border-top:1px solid #eee;display:flex;gap:8px;justify-content:center;margin-top:30px;padding-top:24px;width:100%}@media screen and (max-width: 768px){.plp-upload-modal__step-guide{align-items:center;flex-direction:column;gap:16px}}.plp-upload-modal__step{align-items:center;display:flex;flex:1;flex-direction:column;gap:8px;max-width:140px;text-align:center}.plp-upload-modal__step-icon{align-items:center;border:1px solid #ddd;border-radius:4px;display:flex;height:40px;justify-content:center;width:40px}.plp-upload-modal__step-text{color:#666;font-family:Apercu,sans-serif;font-size:12px;line-height:1.4;margin:0}.plp-upload-modal__step-arrow{align-items:center;color:#999;display:flex;height:40px}@media screen and (max-width: 768px){.plp-upload-modal__step-arrow{display:none}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.upload-button--hidden[data-v-55a53be2]{opacity:0;pointer-events:none;position:absolute;visibility:hidden}.upload-button--desktop[data-v-55a53be2]{align-items:center;background:#eee171;border:none;color:#000;cursor:pointer;display:flex;font-family:Apercu,sans-serif;font-size:.875rem;font-weight:700;gap:.625rem;letter-spacing:.28px;line-height:1.25rem;height:46px;justify-content:center;padding:14px 50px;transition:background-color .2s,color .2s}.upload-button--desktop[data-v-55a53be2]:hover{background:#000;color:#fff}.upload-button--desktop:hover svg path[data-v-55a53be2]{fill:#fff}.upload-button--desktop.is-processing[data-v-55a53be2]{opacity:.7;pointer-events:none}
