.pcs-wrap{max-width:920px;margin:0 auto;color:var(--text-color,#1c1c1c);}
.pcs-step,.pcs-done,.pcs-sign-panel,.pcs-doc{
  border:1px solid var(--border-color,#e2e2e2);
  background:var(--surface-color,#fff);
  border-radius:12px;padding:22px;margin-bottom:18px;
  box-shadow:0 4px 16px rgba(0,0,0,0.05);
}
.pcs-h{margin:0 0 4px;font-size:17px;font-weight:600;}
.pcs-sub{margin:0 0 16px;font-size:14px;color:var(--text-muted,#6b6b6b);}
.pcs-msg{font-size:15px;line-height:1.6;}

.pcs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}
.pcs-field{display:flex;flex-direction:column;min-width:0;}
.pcs-span2{grid-column:span 2;}
@media(max-width:640px){.pcs-span2{grid-column:span 1;}}
.pcs-field label{font-weight:600;font-size:13px;margin-bottom:6px;}
.pcs-field input,.pcs-field select,.pcs-field textarea{
  width:100%;padding:10px 14px;font-size:15px;
  border:1px solid var(--border-color,#e2e2e2);
  background:var(--bg-alt,#fafafa);
  color:var(--text-color,#1c1c1c);
  border-radius:28px;
}
.pcs-field textarea{border-radius:14px;resize:vertical;}
.pcs-field input:focus,.pcs-field select:focus,.pcs-field textarea:focus{
  outline:none;border-color:var(--accent-color,#047857);
}

.pcs-schedule-box{margin-top:20px;border:1px solid var(--border-color,#e2e2e2);border-radius:12px;padding:16px;background:var(--bg-alt,#fafafa);}
.pcs-schedule-head{display:flex;justify-content:space-between;font-weight:600;font-size:14px;margin-bottom:10px;}
.pcs-sched-row{display:flex;align-items:center;gap:12px;padding:7px 10px;border-radius:8px;font-size:14px;}
.pcs-sched-row.is-deposit{background:var(--surface-color,#fff);font-weight:600;}
.pcs-sched-no{width:22px;color:var(--text-muted,#6b6b6b);}
.pcs-sched-date{flex:1;}
.pcs-sched-amt{font-variant-numeric:tabular-nums;}
.pcs-empty{margin:0;font-size:14px;color:var(--text-muted,#6b6b6b);}
.pcs-note{margin:12px 0 0;font-size:12px;color:var(--text-muted,#6b6b6b);}

.pcs-sigwrap{margin:8px 0 16px;}
.pcs-sig{
  width:100%;height:200px;display:block;
  border:1px dashed var(--border-color,#c9c9c9);
  border-radius:12px;background:#fff;touch-action:none;cursor:crosshair;
}
.pcs-link{background:none;border:none;padding:6px 0;font-size:13px;color:var(--accent-color,#047857);cursor:pointer;text-decoration:underline;}

.pcs-button{
  display:inline-block;padding:12px 22px;border:none;border-radius:28px;
  background:var(--accent-color,#047857);color:#fff;font-size:15px;font-weight:600;
  cursor:pointer;text-decoration:none;transition:.2s ease;
}
.pcs-button:hover{opacity:.9;}
.pcs-button:disabled{opacity:.6;cursor:not-allowed;}
.pcs-button-ghost{background:transparent;color:var(--accent-color,#047857);border:1px solid var(--accent-color,#047857);}

.pcs-error{display:none;margin:12px 0;padding:12px 14px;border-radius:8px;font-size:14px;border:1px solid #e0b4b4;background:#fff6f6;color:#912d2b;}

.pcs-choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:16px 0;}
.pcs-choice-card{border:1px solid var(--border-color,#e2e2e2);border-radius:12px;padding:16px;}
.pcs-choice-card h4{margin:0 0 6px;font-size:15px;font-weight:600;}
.pcs-choice-card p{margin:0 0 14px;font-size:13px;line-height:1.6;color:var(--text-muted,#6b6b6b);}
.pcs-sent{display:block;margin-top:10px;font-size:13px;color:var(--accent-color,#047857);}

.pcs-linkbox{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px;}
.pcs-linkbox label{font-size:13px;font-weight:600;}
.pcs-linkbox input{flex:1;min-width:220px;padding:9px 14px;border:1px solid var(--border-color,#e2e2e2);border-radius:28px;background:var(--bg-alt,#fafafa);font-size:13px;}

.pcs-doc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;}
.pcs-doc-title{margin:0;font-size:22px;font-weight:600;}
.pcs-doc-ref{margin:4px 0 0;font-size:13px;color:var(--text-muted,#6b6b6b);}
.pcs-badge{font-size:12px;padding:6px 12px;border-radius:20px;background:var(--bg-alt,#f3f3f3);color:var(--text-muted,#6b6b6b);white-space:nowrap;}
.pcs-badge-done{background:#e6f6ee;color:#0f5132;}

.pcs-doc-section{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid var(--border-color,#ececec);}
.pcs-doc-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.pcs-doc-section h4{margin:0 0 10px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,#6b6b6b);}
.pcs-kv{width:100%;font-size:14px;border-collapse:collapse;}
.pcs-kv th{text-align:left;font-weight:400;color:var(--text-muted,#6b6b6b);padding:4px 12px 4px 0;width:38%;vertical-align:top;}
.pcs-kv td{padding:4px 0;vertical-align:top;}
.pcs-sched{width:100%;font-size:14px;border-collapse:collapse;}
.pcs-sched td{padding:7px 0;border-bottom:1px solid var(--border-color,#f0f0f0);}
.pcs-sched tr:last-child td{border-bottom:none;}
.pcs-sched tr.is-deposit td{font-weight:600;}
.pcs-sched td:first-child{width:28px;color:var(--text-muted,#6b6b6b);}
.pcs-amt{text-align:right;font-variant-numeric:tabular-nums;}
.pcs-doc-note{margin:12px 0 0;font-size:13px;line-height:1.6;color:var(--text-muted,#6b6b6b);}
.pcs-terms{font-size:13px;line-height:1.7;}

.pcs-signed-block{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.pcs-sig-img{height:70px;max-width:260px;object-fit:contain;border-bottom:1px solid var(--border-color,#e2e2e2);}
.pcs-signed-meta{margin:0;font-size:13px;line-height:1.6;color:var(--text-muted,#6b6b6b);}

.pcs-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.6;margin:4px 0 16px;}
.pcs-check input{margin-top:3px;flex:0 0 auto;}
.pcs-footnote{margin:14px 0 0;font-size:12px;line-height:1.6;color:var(--text-muted,#6b6b6b);}

@media print{
  .pcs-sign-panel,.pcs-step,.pcs-done{display:none;}
  .pcs-doc{border:none;box-shadow:none;padding:0;}
}

/* ------------------------------------------------------------------
 * PDF viewer and overlay
 * ---------------------------------------------------------------- */

.pcs-toolbar{
  display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;
  padding:14px 18px;margin-bottom:16px;
  border:1px solid var(--border-color,#e2e2e2);
  border-radius:12px;background:var(--bg-alt,#fafafa);
}
.pcs-toolbar .pcs-toolbar-field{display:flex;flex-direction:column;min-width:200px;flex:1 1 220px;}
.pcs-toolbar .pcs-toolbar-field label{font-size:12px;font-weight:600;margin:0 0 5px;}
.pcs-toolbar .pcs-toolbar-field select{
  padding:9px 14px;font-size:14px;border-radius:28px;height:auto;
  border:1px solid var(--border-color,#e2e2e2);
  background:var(--surface-color,#fff);color:var(--text-color,#1c1c1c);
}
.pcs-toolbar-status{flex:1 1 100%;font-size:12px;color:var(--text-muted,#6b6b6b);min-height:16px;}

.pcs-viewer{
  background:#525659;padding:20px;border-radius:12px;
  max-height:78vh;overflow:auto;margin-bottom:16px;
  /* The page can now be wider than a phone screen, so it pans. */
  -webkit-overflow-scrolling:touch;
  display:flex;flex-direction:column;align-items:center;gap:16px;
}
.pcs-viewer .pcs-loading{color:#e8e8e8;font-size:14px;margin:40px 0;text-align:center;}

.pcs-pdf-page{
  position:relative;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,0.4);flex:0 0 auto;
  -webkit-text-size-adjust:100%;text-size-adjust:100%;
}
.pcs-pdf-page canvas{display:block;}
.pcs-pdf-layer{position:absolute;inset:0;}

.pcs-pdf-input{
  position:absolute;box-sizing:border-box;
  font-family:inherit;line-height:1.15;color:#0b3d91;
  /* Phones inflate small text in narrow layouts, which a box sized to
     the PDF cannot absorb — a three digit CVC ended up showing one.
     The size is worked out from the box, so leave it alone. */
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  /* Opaque: the same value is already painted into the PDF beneath,
     so a translucent field shows it twice. */
  background:#fffdf2;
  border:1px solid rgba(190,160,40,0.85);border-radius:2px;
  padding:1px 3px;margin:0;resize:none;overflow:hidden;
}
.pcs-pdf-input:hover{background:#fff8d9;}
.pcs-pdf-input:focus{outline:2px solid #b8952e;outline-offset:-1px;background:#fffbe0;}
/* After signing the PDF's own text is the record — hide the input's. */
.pcs-pdf-input:disabled{background:transparent;border-color:transparent;color:transparent;}
.pcs-pdf-select:disabled{color:transparent;appearance:none;}

.pcs-terms-panel,.pcs-sig-panel{
  border:1px solid var(--border-color,#e2e2e2);
  background:var(--surface-color,#fff);
  border-radius:12px;padding:20px;margin-bottom:16px;
  box-shadow:0 4px 16px rgba(0,0,0,0.05);
}

.pcs-actionbar{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  padding:16px 20px;margin-bottom:16px;
  border:1px solid var(--border-color,#e2e2e2);
  border-radius:12px;background:var(--surface-color,#fff);
}
.pcs-actionbar .pcs-actionbar-note{margin:0;flex:1;font-size:13px;color:var(--text-muted,#6b6b6b);}
.pcs-actionbar .pcs-error{flex:1 1 100%;}

.pcs-clientbar{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:12px 18px;margin-bottom:16px;
  border:1px solid var(--border-color,#e2e2e2);border-radius:12px;
  background:var(--bg-alt,#fafafa);
}
.pcs-clientbar .pcs-clientbar-note{flex:1;margin:0;font-size:13px;color:var(--text-muted,#6b6b6b);}

@media print{
  .pcs-toolbar,.pcs-actionbar,.pcs-done,.pcs-clientbar,.pcs-sig-panel,.pcs-terms-panel{display:none !important;}
  .pcs-viewer{background:none;padding:0;max-height:none;overflow:visible;}
  .pcs-pdf-page{box-shadow:none;}
}

/* ------------------------------------------------------------------
 * Signature boxes drawn on the contract itself
 * ---------------------------------------------------------------- */

.pcs-sig-field{position:absolute;box-sizing:border-box;}
.pcs-sig-field.is-live{
  border:2px dashed #b8952e;border-radius:3px;
  background:rgba(255,244,180,0.45);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .15s ease;
}
.pcs-sig-field.is-live:hover{background:rgba(255,240,140,0.7);}
.pcs-sig-field.is-live:focus{outline:2px solid #b8952e;outline-offset:2px;}
.pcs-sig-field.has-ink{background:transparent;border-style:solid;border-color:rgba(184,149,46,0.35);}
.pcs-sig-field .pcs-sig-hint{
  font-size:12px;color:#a08a3c;pointer-events:none;letter-spacing:.04em;white-space:nowrap;
}
/*
 * The pad draws on a transparent canvas, so the PNG already has an
 * alpha channel and needs no blending. mix-blend-mode:multiply was
 * making the preview invisible on phones, where the layer gets its
 * own compositing context and multiply has nothing to blend against.
 */
.pcs-sig-preview{
  width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;
}
/*
 * Redo sits to the right of the signature box, vertically centred.
 * It used to sit underneath, which on the payment authorisation page
 * covered the Date box directly below the signature.
 */
.pcs-sig-field .pcs-sig-clear{
  position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);
  font-size:11px;padding:2px 9px;line-height:1.5;white-space:nowrap;
  background:#fff;color:#7a6f2e;cursor:pointer;
  border:1px solid #d8cf9e;border-radius:12px;z-index:3;
}
.pcs-sig-field .pcs-sig-clear:hover{background:#fffbe0;}
.pcs-sig-field[data-locked="1"]{border-color:transparent;cursor:default;background:transparent;}
.pcs-sig-field[data-locked="1"] .pcs-sig-clear{display:none;}

/* ---- signing modal ---- */
body.pcs-modal-open{overflow:hidden;}
.pcs-modal{
  position:fixed;inset:0;z-index:99999;
  background:rgba(20,20,20,0.55);
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.pcs-modal-card{
  background:#fff;border-radius:14px;padding:24px;
  width:100%;max-width:780px;
  box-shadow:0 20px 60px rgba(0,0,0,0.35);
}
.pcs-modal-head h3{margin:0 0 4px;font-size:18px;font-weight:600;color:#1a1a1a;}
.pcs-modal-head p{margin:0 0 16px;font-size:13px;color:#6b6b6b;}
.pcs-modal-pad{
  position:relative;border:1px solid #ddd;border-radius:10px;
  background:#fff;padding:10px;display:flex;justify-content:center;
}
.pcs-modal-canvas{
  display:block;background:#fff;touch-action:none;cursor:crosshair;
}
.pcs-modal-baseline{
  position:absolute;left:36px;right:36px;bottom:34px;
  border-bottom:1px solid #ccc;pointer-events:none;
}
.pcs-modal-hint{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:13px;color:#bbb;pointer-events:none;
}
.pcs-modal-hint.is-warn{color:#912d2b;}
.pcs-modal-actions{display:flex;align-items:center;gap:10px;margin-top:16px;}
.pcs-modal-spacer{flex:1;}

.pcs-schedule-strip{
  border:1px solid var(--border-color,#e2e2e2);
  background:var(--surface-color,#fff);
  border-radius:12px;padding:16px 20px;margin-bottom:16px;
}
.pcs-schedule-strip .pcs-schedule-head{
  display:flex;justify-content:space-between;font-weight:600;font-size:13px;margin-bottom:8px;
}

/* ---- field inspector ---- */
.pcs-toolbar-actions{display:flex;align-items:center;gap:12px;}
.pcs-inspector{
  border:1px solid var(--border-color,#e2e2e2);border-radius:12px;
  background:var(--surface-color,#fff);padding:16px 20px;margin-bottom:16px;
  max-height:340px;overflow:auto;
}
.pcs-inspector-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.pcs-inspector-table{width:100%;border-collapse:collapse;font-size:13px;}
.pcs-inspector-table th{
  text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--text-muted,#6b6b6b);padding:0 10px 6px 0;border-bottom:1px solid var(--border-color,#e2e2e2);
}
.pcs-inspector-table td{padding:5px 10px 5px 0;border-bottom:1px solid var(--border-color,#f0f0f0);}
.pcs-inspector-table code{font-size:12px;background:var(--bg-alt,#f6f6f6);padding:1px 5px;border-radius:3px;}
.pcs-inspector-table tr.is-known td:last-child{color:#0f5132;}
.pcs-inspector-table tr.is-unknown td:last-child{color:var(--text-muted,#999);}
.pcs-inspector-missing{margin:12px 0 0;font-size:12px;line-height:1.7;color:#912d2b;}

/* ---- dropdown and checkbox overlays on the PDF ---- */
.pcs-pdf-select{
  appearance:auto;cursor:pointer;padding:0 2px;
  font-size:11px;line-height:1.2;
}
.pcs-pdf-check{
  position:absolute;box-sizing:border-box;margin:0;padding:0;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  background:#fffdf2;
  border:1px solid rgba(190,160,40,0.9);border-radius:2px;
  user-select:none;
}
.pcs-pdf-check.is-radio{border-radius:50%;}
.pcs-pdf-check:hover{background:#fff8d9;}
.pcs-pdf-check:focus{outline:2px solid #b8952e;outline-offset:1px;}
.pcs-pdf-check .pcs-tick{
  display:none;color:#0b3d91;font-weight:700;line-height:1;
  font-size:14px;
}
.pcs-pdf-check.is-on .pcs-tick{display:block;}
.pcs-pdf-check[data-locked="1"]{
  background:transparent;border-color:transparent;cursor:default;
}
.pcs-pdf-check[data-locked="1"] .pcs-tick{color:#111;}

/* ------------------------------------------------------------------
 * Rep status page
 * ---------------------------------------------------------------- */

.pcs-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;border-bottom:1px solid var(--border-color,#e2e2e2);}
.pcs-tab{
  background:none;border:none;border-bottom:2px solid transparent;
  padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;
  color:var(--text-muted,#6b6b6b);
}
.pcs-tab:hover{color:var(--text-color,#1c1c1c);}
.pcs-tab.is-active{color:var(--accent-color,#047857);border-bottom-color:var(--accent-color,#047857);}
.pcs-count{
  display:inline-block;margin-left:6px;padding:1px 8px;border-radius:12px;
  background:var(--bg-alt,#f0f0f0);font-size:12px;font-weight:600;color:var(--text-muted,#6b6b6b);
}
.pcs-tab.is-active .pcs-count{background:var(--accent-color,#047857);color:#fff;}

.pcs-tabpanel{display:none;}
.pcs-tabpanel.is-active{display:block;}
.pcs-empty-panel{padding:28px;text-align:center;color:var(--text-muted,#6b6b6b);font-size:14px;
  border:1px dashed var(--border-color,#e2e2e2);border-radius:12px;}

.pcs-list{width:100%;border-collapse:collapse;font-size:14px;
  background:var(--surface-color,#fff);border:1px solid var(--border-color,#e2e2e2);border-radius:12px;overflow:hidden;}
.pcs-list th{
  text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--text-muted,#6b6b6b);padding:10px 14px;background:var(--bg-alt,#fafafa);
  border-bottom:1px solid var(--border-color,#e2e2e2);
}
.pcs-list td{padding:11px 14px;border-bottom:1px solid var(--border-color,#f0f0f0);vertical-align:top;}
.pcs-list tr:last-child td{border-bottom:none;}
.pcs-list .pcs-num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;white-space:nowrap;}
.pcs-list .pcs-muted{color:var(--text-muted,#999);}
.pcs-actions-col{white-space:nowrap;}
.pcs-actions-col .pcs-link{margin-right:10px;}
.pcs-link.pcs-danger{color:#912d2b;}
.pcs-rowmsg{margin-top:6px;font-size:12px;color:var(--accent-color,#047857);white-space:normal;}
.pcs-rowmsg.is-error{color:#912d2b;}
.pcs-rowlink{
  display:block;margin-top:6px;width:100%;min-width:240px;font-size:11px;
  padding:5px 9px;border:1px solid var(--border-color,#e2e2e2);border-radius:14px;
  background:var(--bg-alt,#fafafa);
}

.pcs-editbar{
  padding:12px 18px;margin-bottom:14px;font-size:13px;line-height:1.6;
  border:1px solid #d8cf9e;background:#fffdf2;border-radius:12px;color:#5c541f;
}
@media(max-width:760px){
  .pcs-list thead{display:none;}
  .pcs-list tr{display:block;border-bottom:1px solid var(--border-color,#e2e2e2);}
  .pcs-list td{display:block;border:none;padding:4px 14px;}
  .pcs-list td:first-child{padding-top:12px;}
  .pcs-actions-col{padding-bottom:12px !important;}
}

/* ---- send-by-text row ---- */
.pcs-sendrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.pcs-sendrow input{
  flex:1 1 150px;min-width:130px;padding:9px 14px;font-size:14px;
  border:1px solid var(--border-color,#e2e2e2);border-radius:28px;
  background:var(--bg-alt,#fafafa);color:var(--text-color,#1c1c1c);
}
.pcs-choice{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}

.pcs-dealtag{
  display:inline-block;margin-top:3px;padding:1px 8px;border-radius:10px;
  font-size:11px;font-weight:600;background:#e6f6ee;color:#0f5132;
}

/* ---- date fields on the PDF ---- */
.pcs-pdf-date{padding-right:22px;}
.pcs-datebtn{
  position:absolute;box-sizing:border-box;padding:0;margin:0;
  border:none;background:transparent;cursor:pointer;line-height:1;
  display:flex;align-items:center;justify-content:center;opacity:.65;
}
.pcs-datebtn:hover{opacity:1;}
.pcs-datepop{
  position:absolute;z-index:100000;
  background:#fff;border:1px solid var(--border-color,#ddd);border-radius:10px;
  padding:12px;box-shadow:0 10px 30px rgba(0,0,0,0.18);
  min-width:210px;
}
.pcs-datepop-input{
  width:100%;padding:8px 10px;font-size:14px;
  border:1px solid var(--border-color,#ddd);border-radius:8px;
  background:#fff;color:#1a1a1a;
}
.pcs-datepop-actions{display:flex;gap:14px;margin-top:8px;}

/* ---- typed signature ---- */
.pcs-modal-tabs{display:flex;gap:6px;margin:0 0 12px;border-bottom:1px solid #e6e6e6;}
.pcs-modal-tab{
  background:none;border:none;border-bottom:2px solid transparent;
  padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;color:#777;
}
.pcs-modal-tab:hover{color:#1a1a1a;}
.pcs-modal-tab.is-active{color:#b8952e;border-bottom-color:#b8952e;}

.pcs-modal-type{flex-direction:column;gap:12px;align-items:stretch;}
.pcs-typed-input{
  width:100%;padding:10px 14px;font-size:15px;
  border:1px solid #ddd;border-radius:8px;background:#fff;color:#1a1a1a;
}
.pcs-typed-preview{
  min-height:96px;display:flex;align-items:center;justify-content:center;
  border-bottom:1px solid #ccc;background:#fff;overflow:hidden;
}
.pcs-typed-text{font-size:40px;color:#111;line-height:1.3;white-space:nowrap;}
.pcs-typed-styles{display:flex;gap:8px;flex-wrap:wrap;}
.pcs-typed-style{
  padding:6px 14px;font-size:16px;cursor:pointer;
  border:1px solid #ddd;border-radius:20px;background:#fff;color:#333;
}
.pcs-typed-style.is-active{border-color:#b8952e;background:#fffbe0;}

/* ---- multi-select list boxes on the PDF ---- */
.pcs-pdf-multi{
  padding:0;overflow-y:auto;line-height:1.35;
  background:#fffdf2;
}
.pcs-pdf-multi option{padding:1px 4px;}
.pcs-pdf-multi option:checked{background:#fff2b8;color:#1a1a1a;font-weight:600;}

/* ---- fields the plugin calculates ---- */
.pcs-pdf-computed{
  background:#eef6ee;border-color:rgba(60,140,90,0.6);
  color:#14532d;cursor:default;
}
.pcs-pdf-computed:hover{background:#e3f1e5;}
.pcs-pdf-computed:focus{outline:2px solid #3c8c5a;outline-offset:-1px;}

/* ---- site picker ---- */
.pcs-site-input.is-matched{
  background:#eef6ee;border-color:rgba(60,140,90,0.7);
}
.pcs-sitepop{
  position:absolute;z-index:100001;max-height:260px;overflow-y:auto;
  background:#fff;border:1px solid var(--border-color,#ddd);border-radius:10px;
  box-shadow:0 10px 30px rgba(0,0,0,0.18);padding:4px;
}
.pcs-sitepop-row{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  width:100%;text-align:left;border:none;background:none;cursor:pointer;
  padding:8px 10px;border-radius:7px;font-size:13px;color:#1a1a1a;line-height:1.35;
}
.pcs-sitepop-row:hover,.pcs-sitepop-row.is-active{background:#fff8d9;}
.pcs-sitepop-brand{
  flex:0 0 auto;font-size:11px;color:#7a6f2e;
  background:#f4efd8;padding:1px 7px;border-radius:10px;
}
.pcs-sitepop-note{
  padding:8px 10px;font-size:12px;color:var(--text-muted,#777);
}

/* ---- payment authorisation signature ---- */
.pcs-sig-field.is-payment.is-live{
  border-color:#2f6f46;background:rgba(210,240,220,0.45);
}
.pcs-sig-field.is-payment.is-live:hover{background:rgba(190,235,205,0.7);}
.pcs-sig-field.is-payment .pcs-sig-hint{color:#2f6f46;}

/* A required box the signer has not completed yet. */
.pcs-pdf-input.is-missing,
.pcs-pdf-check.is-missing {
  outline: 2px solid #c0392b;
  outline-offset: 1px;
  background: rgba(192, 57, 43, .08);
  border-radius: 2px;
}

.pcs-pdf-check.is-missing { box-shadow: inset 0 0 0 1px #c0392b; }

/* Rep's request for the client to supply the card details. */
.pcs-cardask {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid var(--pcs-border, #d8dce3);
  border-radius: 10px;
  background: rgba(192, 57, 43, .04);
  cursor: pointer;
}

.pcs-cardask input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  flex: 0 0 auto;
  cursor: pointer;
}

.pcs-cardask span { display: block; line-height: 1.4; }
.pcs-cardask strong { display: block; font-size: 14px; }
.pcs-cardask em {
  display: block;
  margin-top: 3px;
  font-style: normal;
  font-size: 12.5px;
  opacity: .75;
}


/* Secondary line under a refusal message. */
.pcs-msg-sub { font-size: 13px; opacity: .8; margin-top: 6px; }

/* A premium position that has already gone. */
.pcs-pdf-input option:disabled { color: #b32d2e; }

/* Which build is loaded — makes a stale cached script obvious. */
.pcs-build{
  font-size:11px;
  opacity:.45;
  text-align:right;
  margin:0 2px 6px;
  letter-spacing:.02em;
}

/* ---------- contract progress on the status page ---------- */

.pcs-num-toggle{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:none;
  border:0;
  padding:0;
  font:inherit;
  color:inherit;
  cursor:pointer;
  text-align:left;
}

.pcs-caret{
  width:0;
  height:0;
  border-left:5px solid currentColor;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  opacity:.5;
  transition:transform .15s ease;
}

.pcs-num-toggle.is-open .pcs-caret{ transform:rotate(90deg); }
.pcs-num-toggle:hover .pcs-caret{ opacity:.9; }

.pcs-stage{
  display:inline-block;
  padding:2px 9px;
  border-radius:20px;
  font-size:12px;
  white-space:nowrap;
  background:rgba(0,0,0,.07);
}

.pcs-stage-ready    { background:rgba(45,127,249,.14); color:#1b4f9c; }
.pcs-stage-sent     { background:rgba(214,158,46,.18); color:#8a5c00; }
.pcs-stage-viewed   { background:rgba(126,87,194,.16); color:#553a8f; }
.pcs-stage-signed   { background:rgba(26,127,55,.15);  color:#1a7f37; }
.pcs-stage-cancelled,
.pcs-stage-expired  { background:rgba(179,45,46,.13);  color:#b32d2e; }

.pcs-stage-when{
  display:block;
  font-size:11px;
  opacity:.6;
  margin-top:3px;
}

.pcs-progress-row > td{ background:rgba(0,0,0,.025); }

.pcs-steps{
  list-style:none;
  margin:6px 0 6px 6px;
  padding:0 0 0 14px;
  border-left:2px solid rgba(0,0,0,.09);
}

.pcs-step{
  position:relative;
  padding:7px 0 7px 16px;
  font-size:13px;
}

.pcs-step-dot{
  position:absolute;
  left:-21px;
  top:12px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#fff;
  border:2px solid rgba(0,0,0,.25);
}

.pcs-step.is-done .pcs-step-dot{ background:#1a7f37; border-color:#1a7f37; }
.pcs-step.is-waiting{ opacity:.6; }
.pcs-step-when{ display:block; font-size:12px; opacity:.7; margin-top:1px; }
.pcs-step-detail{ display:block; font-size:12px; opacity:.65; margin-top:1px; }

/* Finishing with a locked contract. */
.pcs-startover{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin:16px 0 0;
  padding-top:14px;
  border-top:1px solid rgba(0,0,0,.08);
}

.pcs-startover .pcs-sub{ font-size:12.5px; opacity:.7; }

/* Awaiting deposit */
.pcs-link.pcs-strong{
  font-weight:600;
  color:#1a7f37;
}
.pcs-link.pcs-strong:hover{ color:#125c27; }

.pcs-waiting-long{
  display:inline-block;
  margin-top:3px;
  font-size:11px;
  color:#b32d2e;
}
