.qr-wrap{
  --qr-amber:#FFC229; --qr-amber-deep:#E39F00; --qr-ink:#14171A; --qr-teal:#12856A;
  --qr-steel:#5B6672; --qr-border:#DAD7CD; --qr-bg:#FAF9F2;
  max-width:640px;margin:28px auto;padding:0 16px;font-family:'Inter',sans-serif;color:var(--qr-ink);
}
.qr-card{background:#fff;border:1px solid var(--qr-border);border-radius:16px;padding:28px 26px;box-shadow:0 2px 18px rgba(20,20,20,0.05);}
.qr-card + .qr-card{margin-top:18px;}

.qr-head{margin-bottom:22px;}
.qr-head h1{font-family:'Outfit',sans-serif;font-size:24px;font-weight:800;margin:10px 0 4px;}
.qr-head p{font-size:13.5px;color:var(--qr-steel);margin:0;}

.qr-step-pill{display:flex;align-items:center;gap:0;width:fit-content;}
.qr-step-num{width:26px;height:26px;border-radius:50%;background:#EFEDE4;color:var(--qr-steel);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.qr-step-num.active{background:linear-gradient(135deg,#FFD666,var(--qr-amber-deep));color:#2A2114;box-shadow:0 2px 6px rgba(233,163,27,.35);}
.qr-step-num.done{background:linear-gradient(135deg,#1EB88A,var(--qr-teal));color:#fff;}
.qr-step-line{width:36px;height:2px;background:var(--qr-border);}
.qr-step-line.done{background:var(--qr-teal);}

.qr-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:560px){.qr-row-2{grid-template-columns:1fr;}}
.qr-group{margin-bottom:16px;}
.qr-group label{display:flex;align-items:center;gap:0;font-size:12.5px;font-weight:700;margin-bottom:6px;color:var(--qr-ink);}
.qr-field{width:100%;box-sizing:border-box;padding:11px 13px;border:1.5px solid var(--qr-border);border-radius:8px;font-size:13.5px;font-family:inherit;background:#fff;color:var(--qr-ink);}
.qr-field:focus{outline:none;border-color:var(--qr-amber-deep);}
textarea.qr-field{min-height:90px;resize:vertical;}

.qr-req-star{color:var(--qr-amber-deep);font-weight:800;margin-left:3px;font-size:13px;}
.qr-req-hint{font-size:10.5px;font-weight:600;color:var(--qr-steel);text-transform:none;margin-left:7px;}
.qr-optional-tag{font-size:10.5px;font-weight:600;color:var(--qr-steel);margin-left:6px;}

.qr-checkbox-row{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--qr-ink);cursor:pointer;background:var(--qr-bg);border:1.5px solid var(--qr-border);border-radius:10px;padding:16px 18px;transition:border-color .15s ease,background .15s ease;}
.qr-checkbox-row:hover{border-color:var(--qr-amber-deep);}
.qr-checkbox-row input{appearance:none;-webkit-appearance:none;width:20px;height:20px;flex-shrink:0;margin-right:2px;border:1.5px solid var(--qr-border);border-radius:5px;background:#fff;cursor:pointer;position:relative;transition:background .15s ease,border-color .15s ease;}
.qr-checkbox-row input:checked{background:linear-gradient(135deg,#FFD666,var(--qr-amber-deep));border-color:var(--qr-amber-deep);}
.qr-checkbox-row input:checked::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #2A2114;border-width:0 2px 2px 0;transform:rotate(45deg);}
.qr-checkbox-row span{line-height:1.4;}
.qr-checkbox-row span b{font-weight:800;}

.qr-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:13.5px;padding:12px 20px;border-radius:8px;border:1.5px solid var(--qr-border);background:#fff;color:var(--qr-ink);cursor:pointer;text-decoration:none;transition:transform .1s ease,box-shadow .15s ease,opacity .15s ease;}
.qr-btn-amber{background:linear-gradient(135deg,#FFD666,var(--qr-amber));border-color:var(--qr-amber-deep);color:#2A2114;}
.qr-btn-dark{background:var(--qr-ink);border-color:var(--qr-ink);color:#fff;}
.qr-btn-block{width:100%;}
.qr-btn-nowrap{white-space:nowrap;flex-shrink:0;}
.qr-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.1);}
.qr-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;}
.qr-btn.qr-loading{opacity:.7;cursor:wait;}
.qr-link-btn{background:none;border:none;color:var(--qr-amber-deep);font-weight:700;font-size:12.5px;cursor:pointer;padding:6px 4px;}

.qr-alert{padding:12px 14px;border-radius:8px;font-size:12.5px;font-weight:600;margin-bottom:16px;}
.qr-alert-ok{background:#EAFBF4;border:1px solid #A9E6C9;color:#0B6350;}
.qr-alert-error{background:#FDECEA;border:1px solid #F3B7B0;color:#C0392B;}
.qr-inline-alert{margin-top:8px;margin-bottom:0;}

.qr-hint{font-size:11px;color:var(--qr-steel);margin-top:6px;}
.qr-hint-error{color:#C0392B;font-weight:600;}

/* Image picker — same full-width bar treatment as the document picker, with
   thumbnails (if any) stacked above the Add button instead of inline. */
.qr-image-picker{display:flex;flex-direction:column;gap:10px;}
.qr-image-grid{display:flex;flex-wrap:wrap;gap:10px;}
.qr-image-grid:empty{display:none;}
.qr-image-thumb{position:relative;width:76px;height:76px;border-radius:10px;overflow:hidden;border:1.5px solid var(--qr-border);box-shadow:0 1px 4px rgba(0,0,0,.06);}
.qr-image-thumb img{width:100%;height:100%;object-fit:cover;}
.qr-image-remove{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:rgba(20,23,26,.7);color:#fff;border:none;font-size:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.qr-image-add{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:16px;border:1.5px dashed var(--qr-border);border-radius:10px;padding:18px;cursor:pointer;font-size:12.5px;font-weight:700;color:var(--qr-steel);background:var(--qr-bg);transition:border-color .15s ease,background .15s ease,transform .1s ease;}
.qr-image-add i{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#FFD666,var(--qr-amber));color:#2A2114;display:flex;align-items:center;justify-content:center;font-size:13px;box-shadow:0 2px 6px rgba(233,163,27,.3);flex-shrink:0;margin-right:4px;}
.qr-image-add:hover{border-color:var(--qr-amber-deep);background:#FFF8EC;color:var(--qr-amber-deep);transform:translateY(-1px);}
.qr-image-add.is-hidden{display:none;}

/* Document (drawings) picker */
.qr-doc-picker{display:flex;flex-direction:column;gap:10px;}
.qr-doc-list{display:flex;flex-direction:column;gap:8px;}
.qr-doc-chip{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:600;background:var(--qr-bg);border:1.5px solid var(--qr-border);border-radius:10px;padding:10px 12px;}
.qr-doc-chip i{width:26px;height:26px;border-radius:7px;background:#fff;border:1px solid var(--qr-border);display:flex;align-items:center;justify-content:center;color:var(--qr-amber-deep);flex-shrink:0;}
.qr-doc-chip span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.qr-doc-remove{background:none;border:none;color:var(--qr-steel);cursor:pointer;font-size:11px;flex-shrink:0;}
.qr-doc-add{display:flex;align-items:center;justify-content:center;gap:12px;border:1.5px dashed var(--qr-border);border-radius:10px;padding:18px;cursor:pointer;font-size:12.5px;font-weight:700;color:var(--qr-steel);background:var(--qr-bg);transition:border-color .15s ease,background .15s ease,transform .1s ease;}
.qr-doc-add i{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#FFD666,var(--qr-amber));color:#2A2114;display:flex;align-items:center;justify-content:center;font-size:13px;box-shadow:0 2px 6px rgba(233,163,27,.3);}
.qr-doc-add:hover{border-color:var(--qr-amber-deep);background:#FFF8EC;color:var(--qr-amber-deep);transform:translateY(-1px);}
.qr-doc-add.is-hidden{display:none;}

/* OTP */
.qr-otp-row{display:flex;gap:8px;}
.qr-otp-block{display:none;margin:10px 0 16px;padding:16px;border-radius:10px;background:var(--qr-bg);border:1px solid var(--qr-border);}
.qr-otp-block.active{display:block;}
.qr-otp-boxes{display:flex;gap:8px;margin-bottom:12px;}
.qr-otp-boxes input{width:38px;height:44px;text-align:center;font-size:17px;font-weight:700;}
.qr-otp-actions{display:flex;align-items:center;gap:10px;}
.qr-verify-pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:#0B6350;background:#EAF6F0;border:1px solid #BFE6D8;padding:5px 11px;border-radius:99px;margin-bottom:14px;}

/* "already logged in" card */
.qr-already{text-align:center;padding:44px 30px;}
.qr-already i{font-size:36px;color:var(--qr-teal);margin-bottom:14px;}
.qr-already h2{font-family:'Outfit',sans-serif;font-size:20px;margin:0 0 8px;}
.qr-already p{color:var(--qr-steel);font-size:13.5px;margin:0 0 20px;}

/* Password-setup popup */
.qr-modal-backdrop{position:fixed;inset:0;background:rgba(20,23,26,.55);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px;}
.qr-modal-backdrop.active{display:flex;}
.qr-modal{background:#fff;border-radius:16px;padding:32px 28px;max-width:380px;width:100%;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.25);}
.qr-modal-icon{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#FFD666,var(--qr-amber));color:#2A2114;font-size:22px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:0 4px 12px rgba(233,163,27,.35);}
.qr-modal h3{font-family:'Outfit',sans-serif;font-size:19px;margin:0 0 8px;}
.qr-modal p{font-size:13px;color:var(--qr-steel);line-height:1.55;margin:0 0 20px;}
