.r2dm-uploader{max-width:760px;padding:24px;border:1px solid #dcdcde;border-radius:10px;background:#fff;box-sizing:border-box}.r2dm-title{margin-top:0}.r2dm-dropzone{padding:34px 20px;border:2px dashed #8c8f94;border-radius:10px;text-align:center;cursor:pointer;transition:.15s ease;background:#f6f7f7}.r2dm-dropzone:hover,.r2dm-dropzone.is-dragging{border-color:#2271b1;background:#f0f6fc}.r2dm-drop-main{font-size:18px;font-weight:600}.r2dm-drop-sub{margin-top:6px;color:#646970}.r2dm-file-info{margin-top:16px}.r2dm-progress-wrap{margin-top:18px}.r2dm-progress{height:18px;border-radius:999px;background:#dcdcde;overflow:hidden}.r2dm-progress-bar{height:100%;width:0;background:#2271b1;transition:width .15s linear}.r2dm-progress-text{margin-top:7px;font-size:18px;font-weight:600}.r2dm-stats{margin-top:3px;color:#50575e}.r2dm-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.r2dm-actions .button{min-height:40px;padding:0 18px}.r2dm-status{margin-top:16px;min-height:24px}.r2dm-status.is-error,.r2dm-error{color:#b32d2e}.r2dm-status.is-success{color:#008a20}.r2dm-error{padding:12px;border-left:4px solid #d63638;background:#fcf0f1}

/* Public upload portal */
.r2dm-portal{max-width:840px;box-sizing:border-box}.r2dm-portal-intro{margin-bottom:22px}.r2dm-portal-title{margin:0 0 8px}.r2dm-portal-intro p{margin:0;color:#50575e}.r2dm-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.r2dm-choice-btn{appearance:none;text-align:left;border:1px solid #c3c4c7;border-radius:10px;background:#fff;padding:20px;cursor:pointer;min-height:110px;color:inherit}.r2dm-choice-btn strong,.r2dm-choice-btn span{display:block}.r2dm-choice-btn strong{font-size:17px;margin-bottom:6px}.r2dm-choice-btn span{color:#646970;line-height:1.4}.r2dm-choice-btn:hover,.r2dm-choice-btn:focus{border-color:#2271b1;outline:2px solid transparent;box-shadow:0 0 0 1px #2271b1}.r2dm-verify-panel{max-width:620px;padding:22px;border:1px solid #dcdcde;border-radius:10px;background:#fff}.r2dm-verify-panel h3{margin:8px 0 18px}.r2dm-back{appearance:none;border:0;background:transparent;color:#2271b1;padding:0;cursor:pointer;text-decoration:underline}.r2dm-verify-form{display:grid;gap:15px}.r2dm-verify-form label{display:grid;gap:6px;font-weight:600}.r2dm-verify-form input,.r2dm-verify-form textarea{width:100%;padding:8px 10px;border:1px solid #8c8f94;border-radius:4px;font:inherit;box-sizing:border-box}.r2dm-verify-form input{min-height:44px}.r2dm-verify-form textarea{min-height:100px;resize:vertical}.r2dm-optional{font-weight:400;color:#646970;font-size:13px}.r2dm-turnstile{min-height:65px}.r2dm-form-status{min-height:22px}.r2dm-form-status.is-error{color:#b32d2e}.r2dm-form-status.is-success{color:#008a20}.r2dm-portal-uploader{margin-top:20px}.r2dm-auth-context{margin-bottom:10px;padding:10px 12px;border-left:4px solid #2271b1;background:#f0f6fc;font-weight:600}
@media(max-width:600px){.r2dm-choice{grid-template-columns:1fr}.r2dm-uploader,.r2dm-verify-panel{padding:18px}.r2dm-choice-btn{min-height:0}.r2dm-turnstile{max-width:100%;overflow:hidden}}


/* WooCommerce post-checkout / account integrations */
.r2dm-thankyou-upload{margin:28px 0;padding:22px;border:1px solid #dcdcde;border-radius:10px;background:#fff}.r2dm-thankyou-upload>h2{margin-top:0}.r2dm-thankyou-upload>.r2dm-uploader{margin-top:18px}.r2dm-later-link{margin:14px 0 0}.r2dm-authorized-order-portal>.r2dm-uploader{margin-top:18px}.r2dm-account-upload-link{margin-top:24px}

/* Multi-file batch uploader (v1.4) */
.r2dm-queue{margin-top:18px}.r2dm-queue-summary{font-weight:600;margin-bottom:10px}.r2dm-file-list{display:grid;gap:10px;max-height:520px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:6px}.r2dm-file-row{padding:14px;border:1px solid #dcdcde;border-radius:8px;background:#fff}.r2dm-file-row-main{display:flex;gap:12px;align-items:flex-start}.r2dm-file-row-content{flex:1 1 auto;min-width:0}.r2dm-file-preview-wrap{flex:0 0 120px;min-width:0;max-width:120px;height:100px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #dcdcde;border-radius:6px;background:#f6f7f7}.r2dm-file-preview-wrap[hidden]{display:none}.r2dm-file-preview{display:block;max-height:100px;max-width:100%;width:auto;height:auto;object-fit:contain}.r2dm-file-row-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.r2dm-file-meta{min-width:0}.r2dm-file-row-name{display:block;overflow-wrap:anywhere}.r2dm-file-row-size{display:block;margin-top:2px;color:#646970;font-size:13px}.r2dm-file-state{flex:0 0 auto;padding:3px 8px;border-radius:999px;background:#f0f0f1;color:#50575e;font-size:12px;font-weight:600}.r2dm-file-row[data-state="uploading"] .r2dm-file-state,.r2dm-file-row[data-state="preparing"] .r2dm-file-state,.r2dm-file-row[data-state="finalizing"] .r2dm-file-state{background:#f0f6fc;color:#135e96}.r2dm-file-row[data-state="complete"] .r2dm-file-state{background:#edfaef;color:#006b1b}.r2dm-file-row[data-state="error"] .r2dm-file-state{background:#fcf0f1;color:#b32d2e}.r2dm-file-row[data-state="paused"] .r2dm-file-state{background:#fcf9e8;color:#8a6d00}.r2dm-file-progress{height:9px;margin-top:10px;border-radius:999px;background:#dcdcde;overflow:hidden}.r2dm-file-progress-bar{height:100%;width:0;background:#2271b1;transition:width .15s linear}.r2dm-file-row[data-state="complete"] .r2dm-file-progress-bar{background:#00a32a}.r2dm-file-stats{margin-top:6px;color:#50575e;font-size:13px}.r2dm-file-message{margin-top:4px;font-size:13px}.r2dm-file-row[data-state="error"] .r2dm-file-message{color:#b32d2e}.r2dm-file-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.r2dm-file-actions .button{min-height:34px}.r2dm-overall-label{font-weight:600;margin-bottom:7px}
@media(max-width:600px){.r2dm-file-list{max-height:460px;padding-right:3px}.r2dm-file-row-main{gap:9px}.r2dm-file-preview-wrap{flex-basis:96px;max-width:96px;height:100px}.r2dm-file-row-head{display:block}.r2dm-file-state{display:inline-block;margin-top:7px}}


/* Compact public transfer card (v2.0.6)
 * Scoped to the generic/header portal only. Order-authorized and checkout uploaders
 * retain the roomier layout used elsewhere on the site.
 */
.r2dm-portal:not(.r2dm-authorized-order-portal){
  width:100%;
  max-width:430px;
  padding:18px;
  border:1px solid rgba(0,0,0,.14);
  border-radius:8px;
  background:rgba(255,255,255,.86);
  box-sizing:border-box;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-portal-intro{
  margin-bottom:12px;
  text-align:center;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-portal-title{
  margin:0 0 5px;
  font-size:24px;
  line-height:1.15;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-portal-intro p{
  font-size:12px;
  line-height:1.4;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-verify-panel{
  max-width:none;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-verify-form{
  gap:7px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-verify-form label{
  gap:3px;
  font-size:12px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-verify-form input,
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-verify-form textarea{
  min-height:34px;
  padding:6px 8px;
  font-size:13px;
  border-radius:3px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-verify-form textarea{
  min-height:52px;
  max-height:72px;
  resize:vertical;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-turnstile{
  min-height:0;
  margin-top:2px;
  overflow:hidden;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-verify-form>button{
  min-height:34px;
  padding:0 12px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-form-status{
  min-height:0;
  font-size:12px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-portal-uploader{
  margin-top:10px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-auth-context{
  margin:0 0 7px;
  padding:6px 8px;
  border-left-width:3px;
  font-size:11px;
  line-height:1.35;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-uploader{
  max-width:none;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-title{
  margin:0 0 6px;
  font-size:13px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-dropzone{
  padding:10px 12px;
  border-width:1px;
  border-radius:4px;
  background:rgba(255,255,255,.7);
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-drop-main{
  font-size:14px;
  line-height:1.25;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-drop-sub{
  margin-top:2px;
  font-size:10px;
  line-height:1.3;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-queue{
  margin-top:7px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-queue-summary{
  margin-bottom:4px;
  font-size:11px;
}
/* The entire selected/uploaded file area is intentionally limited to 100px. */
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-file-list{
  max-height:100px;
  gap:3px;
  padding:0 4px 0 0;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-gutter:stable;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-file-row{
  padding:4px 6px;
  border-radius:3px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-file-row-main{
  gap:6px;
  align-items:center;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-file-preview-wrap{
  flex:0 0 34px;
  width:34px;
  max-width:34px;
  height:34px;
  border-radius:3px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-file-preview{
  max-height:34px;
  max-width:34px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-file-row-head{
  gap:5px;
  align-items:center;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-file-row-name{
  font-size:11px;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-file-row-size,
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-file-stats,
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-file-message{
  font-size:9px;
  line-height:1.2;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-file-state{
  padding:2px 5px;
  font-size:9px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-file-progress{
  height:4px;
  margin-top:3px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-file-actions{
  margin-top:2px;
  gap:3px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-file-actions .button{
  min-height:24px;
  padding:0 6px;
  font-size:9px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-progress-wrap{
  margin-top:8px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-overall-label,
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-progress-text,
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-stats{
  font-size:11px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-progress{
  height:7px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-progress-text{
  margin-top:3px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-actions{
  margin-top:8px;
  gap:5px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-actions .button{
  min-height:34px;
  padding:0 12px;
  font-size:12px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-start{
  flex:1 1 100%;
  font-weight:700;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-status{
  margin-top:6px;
  min-height:0;
  font-size:11px;
}
@media(max-width:480px){
  .r2dm-portal:not(.r2dm-authorized-order-portal){padding:14px;max-width:100%}
  .r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-portal-title{font-size:21px}
  .r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-file-list{max-height:100px}
}

.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-verify-form input::placeholder,
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-verify-form textarea::placeholder{color:#646970;opacity:1}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-auth-context,
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-title,
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-actions,
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-status:empty{display:none}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-verify-form .button-primary{width:100%;font-weight:700}

/* v2.0.10: ultra-compact public transfer layout. */
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-verify-panel{
  padding:10px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-verify-form{
  gap:6px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-verify-form input,
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-verify-form textarea{
  min-height:34px;
  padding:6px 8px;
  font-size:12px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-verify-form textarea{
  min-height:48px;
  max-height:64px;
  resize:vertical;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-portal-uploader{
  margin-top:0;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-uploader{
  padding:0;
  border:0;
  background:transparent;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-dropzone{
  min-height:44px;
  padding:7px 9px;
  margin:0;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-drop-main{
  font-size:12px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-drop-sub{
  display:none;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-queue{
  margin-top:4px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-queue-summary{
  display:block;
  margin:0 0 3px;
  font-size:10px;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-progress-wrap{
  display:block;
  margin-top:4px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-overall-label,
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-progress-text,
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-stats{
  display:none !important;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-progress{
  height:5px;
  margin:0;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-turnstile{
  min-height:0;
  margin-top:1px;
}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-verify-form .button-primary{
  min-height:34px;
  margin-top:0;
}

/* v2.0.13: the complete compact upload area accepts drag/drop. */
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-portal-uploader{position:relative}
.r2dm-portal:not(.r2dm-authorized-order-portal) .r2dm-dropzone.is-dragging{border-color:#2271b1;background:#f0f6fc}
