.dcm-wrap{font-family:inherit;max-width:1100px;margin:20px auto;color:#111}.dcm-card{border:1px solid #d8dde5;border-radius:12px;background:#fff;padding:22px;box-shadow:0 5px 20px rgba(0,0,0,.05)}.dcm-header h2{margin:0 0 6px;font-size:28px}.dcm-header p{margin:0 0 20px;color:#606875}.dcm-upload{border:2px dashed #b8c1cc;border-radius:12px;padding:35px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:.15s}.dcm-upload.is-dragging{border-color:#2271b1;background:#f0f7fc}.dcm-upload-icon{font-weight:800;font-size:20px}.dcm-btn{appearance:none;border:1px solid #b9c0c9;background:#fff;color:#111;border-radius:6px;padding:9px 13px;line-height:1.2;cursor:pointer;font:inherit}.dcm-btn:hover{background:#f4f6f8}.dcm-btn:disabled{opacity:.55;cursor:not-allowed}.dcm-btn-primary{background:#2271b1;color:#fff;border-color:#2271b1}.dcm-btn-primary:hover{background:#135e96}.dcm-btn-danger{border-color:#d63638;color:#d63638}.dcm-btn-download{border-color:#2271b1;color:#2271b1}.dcm-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0}.dcm-tool-group{display:flex;align-items:center;gap:6px}.dcm-file-actions{margin-left:auto}.dcm-sign-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;border:1px solid #e1e5ea;border-radius:9px;padding:12px;margin-bottom:16px}.dcm-colors,.dcm-sign-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dcm-label{font-weight:600;font-size:14px}.dcm-color{width:30px!important;height:30px!important;min-width:30px!important;padding:0!important;border-radius:50%!important;border:2px solid #c8cdd4!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);cursor:pointer!important}.dcm-color.is-selected{outline:3px solid #2271b1;outline-offset:2px}.dcm-small{padding:6px 10px}.dcm-thickness-value{min-width:45px;text-align:center;font-size:13px}.dcm-eraser.is-active{background:#222;color:#fff;border-color:#222}.dcm-viewer{background:#e8ebef;border-radius:8px;padding:18px;overflow:auto;max-height:75vh}.dcm-pages{display:flex;flex-direction:column;align-items:center;gap:18px}.dcm-page{position:relative;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.15);flex:none}.dcm-page-stack{position:relative;width:100%;height:100%}.dcm-pdf-canvas,.dcm-sign-canvas{position:absolute;left:0;top:0;display:block}.dcm-sign-canvas{touch-action:none;cursor:crosshair}.dcm-email{margin-top:22px;border-top:1px solid #e2e5e9;padding-top:20px}.dcm-email h3{margin:0 0 15px;font-size:22px}.dcm-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dcm-email label{display:block;font-weight:600;font-size:14px}.dcm-email input,.dcm-email textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #b9c1ca;border-radius:7px;padding:11px;font:inherit;background:#fff}.dcm-email textarea{resize:vertical}.dcm-submit-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.dcm-status{font-size:14px}.dcm-status.is-error{color:#d63638}.dcm-status.is-success{color:#198754}.dcm-half .dcm-viewer{max-width:50vw;margin:auto}.dcm-full .dcm-viewer{max-width:none}.dcm-card:fullscreen{padding:25px;overflow:auto;background:#fff}.dcm-card:fullscreen .dcm-viewer{max-height:calc(100vh - 300px)}@media(max-width:700px){.dcm-grid{grid-template-columns:1fr}.dcm-file-actions{margin-left:0}.dcm-submit-row{align-items:flex-start;flex-direction:column}.dcm-sign-tools{align-items:flex-start}.dcm-viewer{padding:8px}.dcm-header h2{font-size:23px}}

/* Compact distorted text CAPTCHA */
.dcm-captcha{margin:12px 0 6px;padding:12px 13px;border:1px solid #d9dee7;border-radius:10px;background:#f8fafc;max-width:680px}
.dcm-captcha-label{display:block;font-weight:700;margin-bottom:7px}
.dcm-captcha-row{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}
.dcm-captcha-challenge{display:flex;align-items:center;gap:9px;margin:0}
.dcm-captcha-challenge img{display:block;width:220px;max-width:100%;height:64px;object-fit:contain;border:1px solid #cbd5e1;border-radius:6px;background:#f4f5f7}
.dcm-captcha-challenge img.is-loading{opacity:.45}
.dcm-captcha-refresh{width:40px;height:40px;min-width:40px;padding:0!important;border:1px solid #cbd5e1!important;border-radius:50%!important;background:#fff!important;color:#334155!important;font-size:24px!important;line-height:1!important;cursor:pointer}
.dcm-captcha-refresh:hover{background:#eef2f6!important}
.dcm-captcha-entry{display:block!important;margin:0!important;font-weight:600;min-width:220px;flex:1}
.dcm-captcha-entry input[type="text"]{display:block;width:100%;max-width:280px;margin-top:6px;text-transform:uppercase;letter-spacing:4px;font-size:18px;font-weight:700;height:42px}
@media(max-width:620px){.dcm-captcha{max-width:100%}.dcm-captcha-row{align-items:stretch;gap:10px}.dcm-captcha-entry{flex-basis:100%}.dcm-captcha-entry input[type="text"]{max-width:100%}}
/* v1.17 compact CAPTCHA layout */
.dcm-captcha{max-width:650px!important;padding:10px 12px!important;margin:10px 0 4px!important}
.dcm-captcha-label{margin-bottom:6px!important}
.dcm-captcha-row{display:grid!important;grid-template-columns:auto minmax(210px,1fr)!important;align-items:center!important;gap:14px!important;flex-wrap:nowrap!important}
.dcm-captcha-challenge{align-items:center!important;white-space:nowrap!important}
.dcm-captcha-challenge img{width:205px!important;height:58px!important}
.dcm-captcha-refresh{width:38px!important;height:38px!important;min-width:38px!important}
.dcm-captcha-entry{min-width:0!important;margin:0!important}
.dcm-captcha-entry input[type="text"]{width:100%!important;max-width:260px!important;height:40px!important;margin-top:4px!important}
.dcm-submit-row{margin-top:6px!important}
@media(max-width:700px){.dcm-captcha{max-width:100%!important}.dcm-captcha-row{grid-template-columns:1fr!important;gap:8px!important}.dcm-captcha-entry input[type="text"]{max-width:100%!important}}

/* v1.18 compact CAPTCHA/send layout */
.dcm-captcha{max-width:none!important}
.dcm-captcha-row{grid-template-columns:auto minmax(210px,260px) auto!important;align-items:end!important}
.dcm-captcha-send{white-space:nowrap!important;align-self:end!important;height:40px!important;margin:0!important;padding:9px 18px!important}
.dcm-submit-status-only{margin-top:5px!important;min-height:0!important}
.dcm-submit-status-only:has(.dcm-status:empty){display:none!important}
@media(max-width:850px){.dcm-captcha-row{grid-template-columns:auto minmax(190px,1fr)!important}.dcm-captcha-send{grid-column:2!important;justify-self:start!important}}
@media(max-width:620px){.dcm-captcha-row{grid-template-columns:1fr!important}.dcm-captcha-send{grid-column:1!important;width:100%!important}.dcm-captcha-entry input[type="text"]{max-width:100%!important}}

/* v1.19 tighter CAPTCHA field + compact send button */
@media(min-width:851px){
  .dcm-captcha-row{grid-template-columns:auto 260px 170px!important;column-gap:12px!important;justify-content:start!important;}
  .dcm-captcha-entry{width:260px!important;}
  .dcm-captcha-entry input[type="text"]{width:260px!important;max-width:260px!important;}
  .dcm-captcha-send{width:170px!important;min-width:170px!important;max-width:170px!important;padding:9px 12px!important;}
}

/* v1.20 keep CAPTCHA controls left and send button at far right */
@media(min-width:851px){
  .dcm-captcha-row{grid-template-columns:auto 260px 1fr 170px!important;column-gap:12px!important;justify-content:stretch!important;width:100%!important;}
  .dcm-captcha-entry{grid-column:2!important;width:260px!important;}
  .dcm-captcha-send{grid-column:4!important;justify-self:end!important;width:170px!important;min-width:170px!important;max-width:170px!important;}
}

/* v1.21 modern icon-button interface */
.dcm-wrap{--dcm-theme:#2271b1}
.dcm-btn,.dcm-captcha-refresh{transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease,border-color .15s ease}
.dcm-icon-btn{width:46px;height:46px;min-width:46px;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:12px!important;border:1px solid color-mix(in srgb,var(--dcm-theme) 25%,#d8e0ea)!important;background:#fff!important;color:var(--dcm-theme)!important;box-shadow:0 4px 12px rgba(15,23,42,.07)!important}
.dcm-icon-btn:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--dcm-theme) 7%,white)!important;border-color:color-mix(in srgb,var(--dcm-theme) 55%,#d8e0ea)!important;box-shadow:0 7px 18px rgba(15,23,42,.11)!important}
.dcm-icon-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--dcm-theme) 30%,transparent)!important;outline-offset:2px}
.dcm-icon{width:23px;height:23px;display:block;pointer-events:none}
.dcm-btn-primary.dcm-icon-btn{background:var(--dcm-theme)!important;color:#fff!important;border-color:var(--dcm-theme)!important;box-shadow:0 6px 16px color-mix(in srgb,var(--dcm-theme) 28%,transparent)!important}
.dcm-btn-primary.dcm-icon-btn:hover{background:color-mix(in srgb,var(--dcm-theme) 88%,#000)!important;color:#fff!important}
.dcm-btn-danger.dcm-icon-btn,.dcm-btn-download.dcm-icon-btn{color:var(--dcm-theme)!important;border-color:color-mix(in srgb,var(--dcm-theme) 30%,#d8e0ea)!important}
.dcm-eraser.is-active{background:var(--dcm-theme)!important;color:#fff!important;border-color:var(--dcm-theme)!important}
.dcm-toolbar{padding:4px 0 8px;gap:14px}.dcm-tool-group{gap:9px}.dcm-file-actions{gap:9px}
.dcm-sign-tools{padding:14px 16px;border-color:#dfe5ec;background:#fbfcfe;box-shadow:0 3px 12px rgba(15,23,42,.035)}
.dcm-color.is-selected{outline-color:var(--dcm-theme)}
.dcm-captcha-refresh.dcm-icon-btn{width:40px!important;height:40px!important;min-width:40px!important;border-radius:50%!important}
.dcm-captcha-send.dcm-send-icon{width:54px!important;min-width:54px!important;max-width:54px!important;height:42px!important;border-radius:13px!important;padding:0!important}
.dcm-submit-row .dcm-send-icon{width:54px!important;min-width:54px!important;height:46px!important}
@media(max-width:620px){.dcm-captcha-send.dcm-send-icon{width:100%!important;max-width:none!important}.dcm-submit-row .dcm-send-icon{width:54px!important}}

/* v1.23 uploaded signature image controls */
.dcm-image-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.dcm-image-tools .dcm-label{font-size:12px}
.dcm-image-tools [data-sign-image-upload]{font-size:21px;line-height:1}

/* v1.24 desktop: all signing tools on a single row */
@media (min-width: 901px){
  .dcm-sign-tools{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:12px 14px!important;}
  .dcm-sign-tools .dcm-colors,.dcm-sign-tools .dcm-image-tools,.dcm-sign-tools .dcm-sign-controls{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:7px!important;min-width:0;}
  .dcm-sign-tools .dcm-label{white-space:nowrap!important;font-size:12px!important;}
  .dcm-sign-tools .dcm-icon-btn{width:40px!important;height:40px!important;min-width:40px!important;}
  .dcm-sign-tools .dcm-thickness-value{min-width:35px!important;white-space:nowrap;}
  .dcm-sign-tools .dcm-color{flex-shrink:0;}
}
@media (min-width:901px) and (max-width:1050px){
  .dcm-sign-tools{gap:7px!important;padding:10px!important;}
  .dcm-sign-tools .dcm-colors,.dcm-sign-tools .dcm-image-tools,.dcm-sign-tools .dcm-sign-controls{gap:5px!important;}
  .dcm-sign-tools .dcm-icon-btn{width:36px!important;height:36px!important;min-width:36px!important;}
  .dcm-sign-tools .dcm-label{font-size:11px!important;}
}

/* v1.25: Signature selection ring reflects the ink colour, not button theme. */
.dcm-sign-tools .dcm-color.is-selected{outline-color:var(--dcm-selected-ink,#000000)!important;outline-width:3px!important;outline-style:solid!important;outline-offset:2px!important;}

/* v1.26: ink swatch must not inherit the administrator's button theme. */
.dcm-sign-tools button.dcm-color,
.dcm-sign-tools button.dcm-color:hover,
.dcm-sign-tools button.dcm-color:focus,
.dcm-sign-tools button.dcm-color.is-selected{
  background:var(--dcm-ink-swatch,#000000)!important;
  background-color:var(--dcm-ink-swatch,#000000)!important;
}
.dcm-sign-tools button.dcm-color.is-selected{outline-color:var(--dcm-ink-swatch,#000000)!important;}

/* v1.27: one compact toolbar row on wide desktop screens. */
.dcm-desktop-tools{display:block}
@media(min-width:1000px){
 .dcm-desktop-tools{display:flex;align-items:center;gap:10px;margin:12px 0 14px;min-width:0}
 .dcm-desktop-tools .dcm-toolbar:not([hidden]),.dcm-desktop-tools .dcm-sign-tools:not([hidden]){display:flex!important;flex-wrap:nowrap!important;align-items:center!important;margin:0!important;min-width:0}
 .dcm-desktop-tools .dcm-toolbar{gap:5px!important;padding:0!important;flex:0 0 auto}
 .dcm-desktop-tools .dcm-tool-group{gap:4px!important;flex-wrap:nowrap!important}
 .dcm-desktop-tools .dcm-file-actions{margin-left:0!important}
 .dcm-desktop-tools .dcm-sign-tools{flex:1 1 auto;justify-content:space-between!important;gap:5px!important;padding:7px 8px!important;margin-bottom:0!important}
 .dcm-desktop-tools .dcm-sign-tools .dcm-colors,.dcm-desktop-tools .dcm-sign-tools .dcm-image-tools,.dcm-desktop-tools .dcm-sign-tools .dcm-sign-controls{gap:4px!important;flex-wrap:nowrap!important}
 .dcm-desktop-tools .dcm-icon-btn,.dcm-desktop-tools .dcm-sign-tools .dcm-icon-btn{width:30px!important;height:32px!important;min-width:30px!important;border-radius:9px!important}
 .dcm-desktop-tools .dcm-icon{width:17px!important;height:17px!important}
 .dcm-desktop-tools .dcm-label{font-size:10px!important;white-space:nowrap!important}
 .dcm-desktop-tools .dcm-toolbar [data-zoom-label]{font-size:12px;white-space:nowrap}
 .dcm-desktop-tools .dcm-thickness-value{min-width:25px!important;font-size:11px!important}
 .dcm-desktop-tools .dcm-color{width:23px!important;height:23px!important;min-width:23px!important}
}
@media(min-width:1000px) and (max-width:1200px){
 .dcm-desktop-tools{gap:6px}
 .dcm-desktop-tools .dcm-sign-tools{gap:3px!important;padding:6px!important}
 .dcm-desktop-tools .dcm-sign-tools .dcm-colors,.dcm-desktop-tools .dcm-sign-tools .dcm-image-tools,.dcm-desktop-tools .dcm-sign-tools .dcm-sign-controls{gap:3px!important}
}

/* v1.28: restore readable desktop text and separate ink swatches. */
@media(min-width:1000px){
 .dcm-desktop-tools .dcm-label,.dcm-desktop-tools .dcm-sign-tools .dcm-label{font-size:14px!important;line-height:1.3!important}
 .dcm-desktop-tools .dcm-thickness-value{font-size:13px!important;min-width:32px!important}
 .dcm-desktop-tools .dcm-toolbar [data-zoom-label]{font-size:14px!important}
 .dcm-desktop-tools .dcm-sign-tools .dcm-colors{gap:12px!important}
 .dcm-desktop-tools .dcm-sign-tools .dcm-colors .dcm-color + .dcm-color{margin-left:7px!important}
}
