.ecrc-wrap{max-width:960px;margin:12px auto;padding:16px;border:1px solid #eee;border-radius:10px;background:#fff}
.ecrc-actions{margin-top:12px}
.ecrc-result{margin-top:12px}
.ecrc-error{color:#a00}
.ecrc-success{color:#0a0}

/* Inputs visible */
.ecrc-input{width:100%!important;padding:10px;border:2px solid #0078ff;border-radius:6px;background:#fff9e6;margin-bottom:8px;font-size:15px}

/* Admin mapper pages */
.ecrc-pages-wrap{max-width:900px}
.ecrc-page-holder{position:relative; margin:18px 0; border:1px solid #eee; padding:8px; border-radius:8px; background:#fafafa}
.ecrc-page-label{font-weight:600; margin-bottom:6px}
.ecrc-page-cont{position:relative}
.ecrc-overlay{position:absolute; top:0; left:0; pointer-events:none}
.ecrc-overlay .ecrc-box{position:absolute; background:rgba(0,120,255,0.15); border:1px dashed #0078ff; pointer-events:auto; cursor:move}
.ecrc-overlay .ecrc-box-sign{background:rgba(255,136,0,0.15); border-color:#ff8800}
.ecrc-del{position:absolute; right:-10px; top:-10px; background:#e00; color:#fff; width:20px; height:20px; border-radius:50%; line-height:20px; text-align:center; font-weight:700; cursor:pointer;}
.ecrc-label{position:absolute; left:4px; top:-18px; background:#0078ff; color:#fff; font-size:11px; line-height:1; padding:3px 6px; border-radius:4px;}

/* Public page */
.ecrc-pages-wrap .ecrc-page-holder{position:relative; margin:18px 0;}
.ecrc-pages-wrap .ecrc-page-cont{position:relative}
.ecrc-pages-wrap canvas{border:1px solid #ddd; border-radius:6px}
.ecrc-pages-wrap .ecrc-overlay{top:0; left:0; pointer-events:none}
.ecrc-inline-input{position:absolute; pointer-events:auto; padding:4px 6px; border:1px solid #bbb; border-radius:4px; background:#fff; font-size:14px; width:220px}
.ecrc-sign-box{position:absolute; pointer-events:auto; border:2px dashed #ff8800; background:rgba(255,136,0,0.08); display:flex; align-items:center; justify-content:center; color:#ff8800; font-weight:600; cursor:pointer}
.ecrc-sign-box.signed{border-color:#2f9e44; color:#2f9e44; background:rgba(47,158,68,0.08)}
.ecrc-sign-box .hint{pointer-events:none}

/* Signature modal */
.ecrc-sig-modal{position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,0.5); z-index:9999}
.ecrc-sig-modal.show{display:flex}
.ecrc-sig-modal .inner{background:#fff; padding:16px; border-radius:10px; width:680px; max-width:95%}
.ecrc-sig-modal canvas{width:100%; height:160px; border:1px solid #ccc; border-radius:6px; margin:8px 0}
.ecrc-sig-modal .row{display:flex; gap:8px; justify-content:flex-end}

/* v143a CSS fix: make public canvases fluid width */
.ecrc-page-cont canvas,
canvas[id^="ecrc-public-canvas"] {
  width: 100% !important;
  height: auto !important;
  display: block;
}


/* v143a mobile fixes for sign box + inline inputs */
@media (max-width: 768px) {
  div.ecrc-sign-box,
  input.ecrc-inline-input {
    max-width: 95% !important;   /* keep within viewport */
    left: 2% !important;         /* small side margin */
    right: auto !important;
  }

  div.ecrc-sign-box {
    font-size: 14px !important;
    min-height: 40px !important;
  }

  input.ecrc-inline-input {
    font-size: 14px !important;
    padding: 6px !important;
  }
}

.ecrc-basic label{display:block;margin:8px 0;}
.ecrc-basic input.ecrc-input{width:100%;max-width:420px}
.ecrc-existing legend{font-weight:600;margin-top:10px}
