/* ==================================================================
   Pactiva: the signing experience (/sign/<token>)
   ================================================================== */
.pv,.pv-modal{--pv-green:#0E3B2E;--pv-green2:#165442;--pv-cream:#E9DFC6;--pv-cream2:#F4EEDF;--pv-gold:#B0965F;--pv-wash:#F3F1EA;
  --pv-ink:#16211C;--pv-gray:#6B736E;--pv-rule:#E2DED2;--pv-tag:#F6D776;--pv-tagb:#D6B24A;
}
.pv{min-height:100vh;background:var(--pv-wash);color:var(--pv-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;display:flex;flex-direction:column}
.pv label,.pv-modal label{text-transform:none;letter-spacing:normal;font-weight:400;color:inherit;margin:0}
body.pv-body{background:#F3F1EA}
body.pv-body #signRoot{background:#F3F1EA}
.pv .hide{display:none!important}

/* top bar */
.pv-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;height:62px;padding:0 22px;background:#fff;border-bottom:1px solid var(--pv-rule)}
.pv-logo{height:26px;width:auto;flex:none}
.pv-ttl{flex:1;min-width:0;line-height:1.25;border-left:1px solid var(--pv-rule);padding-left:18px}
.pv-ttl b{display:block;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-ttl small{display:block;font-size:12px;color:var(--pv-gray)}
.pv-sp{flex:1}
.pv-act{display:flex;gap:8px;flex:none}

/* buttons */
.pv-btn{font:inherit;font-size:14px;font-weight:600;background:var(--pv-green);color:#fff;border:1px solid var(--pv-green);border-radius:8px;padding:10px 20px;cursor:pointer;letter-spacing:.01em;transition:background .15s,opacity .15s}
.pv-btn:hover{background:var(--pv-green2)}
.pv-btn:disabled{opacity:.45;cursor:not-allowed}
.pv-btn.ghost{background:#fff;color:var(--pv-green);border-color:var(--pv-rule)}
.pv-btn.ghost:hover{border-color:var(--pv-green)}
.pv-btn.sm{padding:7px 14px;font-size:13px}
.pv-link{background:none;border:0;padding:0;font:inherit;color:var(--pv-green);font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.pv-row{display:flex;gap:10px;align-items:center;margin-top:14px}
.pv-row.end{justify-content:flex-end}
.pv-row.sb{justify-content:space-between;margin-top:6px}
.pv-muted{color:var(--pv-gray);font-size:14px;margin:0}
.pv-muted.sm{font-size:12.5px}

/* banners */
.pv-banner{max-width:860px;width:calc(100% - 32px);margin:22px auto 0;background:#fff;border:1px solid var(--pv-rule);border-radius:14px;padding:20px 22px;box-shadow:0 1px 2px rgba(20,30,25,.04),0 8px 24px rgba(20,30,25,.05)}
.pv-banner.intro{border-top:4px solid var(--pv-green)}
.pv-from{display:flex;gap:14px;align-items:flex-start;font-size:15.5px;line-height:1.45}
.pv-from img{width:30px;height:auto;flex:none;margin-top:2px}
.pv-from small{display:block;color:var(--pv-gray);font-size:13px;margin-top:2px}
.pv-ck{display:flex;gap:10px;align-items:flex-start;margin:16px 0 0;padding:12px 14px;background:var(--pv-wash);border-radius:10px;font-size:14px;line-height:1.45;cursor:pointer}
.pv-ck input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--pv-green);flex:none}
.pv-disc{margin:10px 0 0;padding:12px 14px;border:1px solid var(--pv-rule);border-radius:10px;font-size:13px;line-height:1.55;color:#3B443F;max-height:220px;overflow:auto}
.pv-disc p{margin:0 0 8px}.pv-disc p:last-child{margin:0}
.pv-banner.done{display:flex;align-items:center;gap:16px;border-left:4px solid var(--pv-green)}
.pv-bt{flex:1;min-width:0;line-height:1.45}
.pv-bt b{display:block;font-size:15px}
.pv-bt span{font-size:13.5px;color:var(--pv-gray)}

/* signing bar */
.pv-bar{position:sticky;top:62px;z-index:15;display:flex;align-items:center;gap:10px;padding:10px 22px;background:var(--pv-green);color:#fff}
.pv-bar .pv-count{font-size:14px;color:var(--pv-cream)}
.pv-bar .pv-count b{color:#fff}
.pv-bar .pv-btn{background:var(--pv-cream);color:var(--pv-green);border-color:var(--pv-cream)}
.pv-bar .pv-btn:hover{background:#fff}
.pv-bar .pv-btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.pv-bar .pv-btn.ghost:hover{border-color:#fff}

/* the document */
.pv-docwrap{flex:1;padding:22px 16px 30px;transition:opacity .2s}
.pv-docwrap.locked{opacity:.5;pointer-events:none;user-select:none}
.pv .esdoc{background:none;border:0;padding:0;box-shadow:none;border-radius:0;max-width:816px;margin:0 auto;font-family:"Times New Roman",Times,serif;font-size:15px;line-height:1.5;color:#111}
.pv .espage{position:relative;background:#fff;padding:64px 76px 56px;margin:0 0 18px;box-shadow:0 1px 3px rgba(20,30,25,.08),0 10px 30px rgba(20,30,25,.06);border-radius:2px}
.pv .esenv{position:absolute;top:20px;left:28px;font:500 10px/1 Inter,sans-serif;color:#8C928E;letter-spacing:.02em}
.pv .espn{text-align:center;font:500 10.5px/1 Inter,sans-serif;color:#8C928E;margin-top:34px}
.pv .esdoc h1{font-family:inherit;font-size:19px;text-align:center;margin:0 0 22px;letter-spacing:0;font-weight:700}
.pv .esdoc h2{font-family:inherit;font-size:15px;margin:18px 0 4px;letter-spacing:0;font-weight:700}
.pv .esdoc p{margin:0 0 12px;text-align:justify;hyphens:auto}
.pv .esdoc p.c{text-align:center;font-size:12.5px;font-weight:700;margin:16px 10px 6px}
.pv .esdoc p.sm{font-size:11.5px;font-weight:400}
.pv .esdoc .sp{height:16px}
.pv .esdoc .eslogo{text-align:center;margin:0 0 20px}
.pv .esdoc .eslogo img{width:190px}
.pv .esv{border-bottom:1px solid #111;padding:0 4px;min-width:70px;display:inline;white-space:pre-wrap}
.pv .esv.empty{display:inline-block;min-width:110px}
.pv .esv.esdate{display:inline-block;min-width:100px;text-align:center}
.pv .esinits{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;margin:30px 0 0;font-size:13px}
.pv .esinits .gap{width:22px}
.pv .esini{display:inline-flex;align-items:center;justify-content:center;width:58px;height:32px;border:1px solid #B5B8B6;background:#fff;vertical-align:bottom;padding:0}
.pv .esini img{max-height:24px;max-width:50px}
.pv .essigrow{display:flex;align-items:flex-end;gap:10px 22px;flex-wrap:wrap;margin:16px 0 22px;font-size:14.5px}
.pv .essigrow .cell{display:flex;align-items:flex-end;gap:8px}
.pv .essigrow .lbl{white-space:nowrap;padding-bottom:2px}
.pv .essigrow .printed{flex-basis:100%;font-size:12.5px;color:#666;margin:-14px 0 0 72px}
.pv .essig{display:inline-flex;align-items:flex-end;min-width:250px;height:54px;border-bottom:1px solid #111;vertical-align:bottom;padding:0 0 3px;background:none}
.pv button.essig,.pv button.esini{border-top:0;border-left:0;border-right:0;cursor:pointer;font:inherit}
.pv button.esini{border:1px solid #B5B8B6}
.pv .esframe{display:inline-flex;flex-direction:column;align-items:flex-start;position:relative;padding:2px 10px 1px 9px;margin-left:2px;font:500 8.5px/1.25 Inter,sans-serif;color:#7C827E;text-align:left}
.pv .esframe:before{content:"";position:absolute;left:0;top:1px;bottom:1px;width:7px;border:1.2px solid #8F9591;border-right:0;border-radius:6px 0 0 6px}
.pv .esframe img{height:30px;max-width:220px;margin:1px 0;display:block}
.pv .esframe .id{font-size:7.5px;letter-spacing:.02em}

/* sign / initial tags */
.pv-tag{display:inline-flex;align-items:center;gap:5px;font:700 12.5px/1 Inter,sans-serif;color:#3A2C00;background:var(--pv-tag);border:1px solid var(--pv-tagb);border-radius:5px;padding:0 14px;height:36px;cursor:pointer;box-shadow:0 2px 0 rgba(150,115,20,.25);vertical-align:bottom;margin-bottom:3px;transition:transform .1s}
.pv-tag:hover{background:#F9E08F}
.pv-tag:active{transform:translateY(1px)}
.pv-tag.ini{height:30px;padding:0 10px;font-size:11.5px;margin-bottom:0}
.pv-tag.pulse,.pv .pulse{animation:pvPulse 1.1s ease 2}
@keyframes pvPulse{0%{box-shadow:0 0 0 0 rgba(214,178,74,.7)}70%{box-shadow:0 0 0 12px rgba(214,178,74,0)}100%{box-shadow:0 0 0 0 rgba(214,178,74,0)}}

/* center cards */
.pv-center{flex:1;display:grid;place-items:center;padding:40px 16px}
.pv-card{background:#fff;border:1px solid var(--pv-rule);border-radius:16px;padding:36px 34px 32px;max-width:480px;width:100%;text-align:center;box-shadow:0 10px 30px rgba(20,30,25,.06)}
.pv-card h2{font-size:22px;margin:16px 0 8px;font-weight:700;letter-spacing:-.01em;font-family:Inter,sans-serif;color:var(--pv-ink)}
.pv-card p{color:var(--pv-gray);font-size:14.5px;line-height:1.55;margin:0 0 22px}
.pv-ico{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto;background:#F4E9E7;color:#A33A2B}
.pv-ico.ok{background:var(--pv-cream2);color:var(--pv-green)}

/* footer */
.pv-foot{display:flex;align-items:center;justify-content:center;gap:8px;padding:18px 16px 26px;font-size:12px;color:var(--pv-gray)}
.pv-foot img{height:16px;width:auto}
.pv-foot b{color:var(--pv-green);font-weight:600}

/* adopt modal */
.pv-modal{position:fixed;inset:0;z-index:100;background:rgba(10,24,18,.48);display:grid;place-items:center;padding:16px;font-family:Inter,-apple-system,sans-serif;color:#16211C}
.pv-sheet{background:#fff;border-radius:16px;max-width:620px;width:100%;padding:22px 24px 20px;box-shadow:0 24px 60px rgba(0,0,0,.25);max-height:calc(100vh - 32px);overflow:auto}
.pv-sh{display:flex;align-items:center;justify-content:space-between}
.pv-sh h3{margin:0;font-size:19px;font-weight:700;font-family:Inter,sans-serif}
.pv-x{background:none;border:0;font-size:26px;line-height:1;color:#6B736E;cursor:pointer;padding:0 4px}
.pv-sheet .pv-muted{margin:4px 0 14px}
.pv-two{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px}
.pv-modal .pv-two label{font-size:12px;font-weight:600;color:#6B736E;text-transform:uppercase;letter-spacing:.05em;display:flex;flex-direction:column;gap:6px}
.pv-two input{font:inherit;font-size:16px;text-transform:none;letter-spacing:0;color:#16211C;padding:10px 12px;border:1px solid #D8D4C8;border-radius:8px;outline:none}
.pv-two input:focus{border-color:#0E3B2E;box-shadow:0 0 0 3px rgba(14,59,46,.12)}
.pv-tabs{display:flex;gap:4px;margin:16px 0 10px;border-bottom:1px solid #E2DED2}
.pv-tabs button{background:none;border:0;font:inherit;font-size:14px;font-weight:600;color:#6B736E;padding:8px 12px;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer}
.pv-tabs button.on{color:#0E3B2E;border-bottom-color:#0E3B2E}
.pv-styles{display:flex;flex-direction:column;gap:8px}
.pv-style{display:flex;align-items:center;gap:14px;border:1px solid #E2DED2;border-radius:10px;padding:10px 14px;cursor:pointer;color:#13233F}
.pv-style.on{border-color:#0E3B2E;box-shadow:0 0 0 2px rgba(14,59,46,.15)}
.pv-style input{accent-color:#0E3B2E;width:16px;height:16px;flex:none}
.pv-sigtxt{flex:1;min-width:0;font-size:32px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}
.pv-initxt{font-size:26px!important;padding-left:14px;border-left:1px solid #E2DED2;min-width:64px;text-align:center}
#adCanvas{width:100%;height:150px;background:#FAF9F5;border:1px dashed #CFCABB;border-radius:10px;touch-action:none;display:block}
.pv-legal{font-size:12px;line-height:1.5;color:#6B736E;margin:14px 0 0}

@media (max-width:700px){
  .pv-top{gap:12px;padding:0 14px;height:56px}
  .pv-logo{height:21px}
  .pv-ttl{padding-left:12px}
  .pv-ttl b{font-size:13px}
  .pv-bar{top:56px;padding:9px 14px}
  .pv-bar .pv-btn{padding:9px 14px}
  .pv-banner{margin-top:14px;padding:16px}
  .pv-banner.done{flex-direction:column;align-items:stretch}
  .pv-docwrap{padding:14px 8px 24px}
  .pv .espage{padding:40px 18px 28px}
  .pv .esenv{left:18px;top:14px;font-size:8.5px}
  .pv .esdoc{font-size:14px}
  .pv .esdoc p{text-align:left}
  .pv .essig{min-width:170px}
  .pv .essigrow .printed{margin-left:0}
  .pv .esinits .gap{flex-basis:100%;height:0}
  .pv-modal{place-items:end center;padding:0}
  .pv-sheet{border-radius:18px 18px 0 0;max-height:92vh;padding:18px 16px calc(16px + env(safe-area-inset-bottom))}
  .pv-two{grid-template-columns:minmax(0,1fr) 92px}
  .pv-sigtxt{font-size:27px!important}
}
@media print{.pv-top,.pv-bar,.pv-banner,.pv-foot{display:none}.pv .espage{box-shadow:none;margin:0;page-break-after:always}}
