/* Public ICC signing experience — the main site's published font, colors and logo. */
.icc-secure-portal[hidden],
#secureCapturePinPanel[hidden],
#secureCaptureRequestPanel[hidden],
#secureCaptureSignerPanel[hidden],
#secureCaptureComplete[hidden],
#secureCapturePersonList[hidden] { display:none!important; }
.icc-secure-portal {
  position:fixed; inset:0; z-index:150000; display:flex; justify-content:center; align-items:center;
  overflow:auto; padding:clamp(8px,3vw,22px); background:rgba(13,37,29,.91);

}
.icc-secure-portal-panel {
  width:min(860px,100%); max-height:calc(100dvh - 24px); overflow-y:auto;
  padding:clamp(20px,3.5vw,36px); background:var(--surface,#fff); color:var(--text,#1c2923);
  border:1px solid var(--border,#dcdfdb); border-radius:16px;
  box-shadow:var(--shadow,0 20px 60px rgba(18,39,31,.2));

}
.icc-secure-portal-header {
  display:flex; align-items:flex-start; justify-content:space-between; gap:16px;
  padding-bottom:18px; margin-bottom:22px; border-bottom:1px solid var(--border,#dcdfdb);
}
.icc-sign-brand { display:flex; align-items:center; gap:14px; min-width:0; }
.icc-sign-brand .logo-image { width:60px; height:60px; max-width:60px; max-height:60px; object-fit:contain; flex:none; }
.icc-sign-brand .logo-image[hidden] { display:none!important; }
.icc-secure-portal-header span { font-size:.78rem; font-weight:750; color:var(--green,#245b45); }
.icc-secure-portal-header h2 { font-size:clamp(1.15rem,3vw,1.55rem); line-height:1.3; margin:3px 0 0; color:var(--green-dark,#193f31); }
.icc-secure-portal-header>button { background:transparent; border:0; padding:4px 8px; cursor:pointer; color:var(--green-dark,#193f31); font-size:1.5rem; }
.icc-secure-portal p { line-height:1.65; }
#secureCapturePinPanel { max-width:510px; }
#secureCapturePinPanel label { display:block; font-size:.85rem; font-weight:700; margin:19px 0 8px; }
#secureCapturePin {
  display:block; width:min(100%,310px); padding:12px 14px; border-radius:9px;
  background:var(--surface,#fff); color:var(--text,#1c2923); border:1px solid var(--control-border,#aebbb3);
  letter-spacing:.18em; font-size:1rem;
}
#secureCaptureUnlock { display:block; margin-top:15px; padding:12px 20px; background:var(--green,#245b45); color:#fff; border:0; border-radius:9px; cursor:pointer; font-weight:700; }
#secureCapturePinStatus { margin-top:12px; color:#924b3b; font-size:.9rem; }
#secureCaptureRequestTitle { font-size:1.35rem; color:var(--green-dark,#193f31); margin-bottom:5px; }
#secureCaptureRequestMeta { color:var(--muted,#67726d); font-size:.88rem; margin-bottom:21px; }
#secureCapturePersonList { display:grid; gap:13px; }
.icc-secure-portal .secure-signer-choice {
  display:flex; align-items:center; justify-content:space-between; gap:15px;
  padding:17px 20px; border:1px solid var(--border,#dcdfdb); border-radius:12px;
  background:var(--surface-tint,#f8faf8);
}
.secure-signer-choice strong { display:block; font-weight:800; color:var(--text,#1c2923); }
.secure-signer-choice span { display:block; font-size:.85rem; color:var(--muted,#67726d); margin-top:3px; }
.secure-signer-choice button { flex:none; padding:10px 18px; border-radius:9px; }
.secure-signer-choice button:disabled { opacity:.62; cursor:default; }
#secureCaptureSignerPanel { display:grid; gap:18px; }
#secureCaptureBack { justify-self:start; padding:9px 15px; border-radius:9px; }
.icc-secure-portal .secure-person-card {
  padding:20px; border:1px solid var(--border,#dcdfdb); border-radius:12px;
  background:var(--surface-tint,#f8faf8);
}
.icc-secure-portal .secure-person-head { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.icc-secure-portal .secure-person-head strong { display:block; font-size:1.15rem; }
.icc-secure-portal .secure-person-head span { font-size:.85rem; color:var(--muted,#67726d); }
.icc-secure-portal .secure-person-badge { color:var(--green,#245b45); font-size:.8rem; }
.icc-secure-portal .secure-person-actions { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:20px 0; }
.icc-secure-portal .secure-capture-block>label { display:block; font-size:.86rem; font-weight:700; margin-bottom:7px; }
.icc-secure-portal .secure-signature-pad {
  width:100%; height:155px; display:block; background:#fff; border-radius:9px;
  border:1px solid var(--control-border,#aebbb3); touch-action:none;
}
.icc-secure-portal .secure-signature-toolbar { text-align:right; padding-top:7px; }
.icc-secure-portal .secure-capture-block img { max-width:240px; border-radius:8px; }
.icc-secure-portal .secure-sign-date { display:block; font-weight:650; font-size:.9rem; }
.icc-secure-portal .secure-sign-date input {
  display:block; width:min(100%,250px); margin:6px 0 13px; padding:10px 12px;
  border:1px solid var(--control-border,#aebbb3); border-radius:9px;
}
.icc-secure-portal .secure-attestation { display:flex; align-items:flex-start; gap:9px; font-size:.88rem; line-height:1.5; margin:12px 0; }
.icc-secure-portal .secure-person-submit { padding:11px 21px; border:0; border-radius:9px; background:var(--green,#245b45); color:#fff; cursor:pointer; font-weight:750; }
#secureCaptureComplete { padding:25px 10px 12px; text-align:center; }
#secureCaptureComplete h3 { color:var(--green-dark,#193f31); font-size:1.5rem; margin:13px 0 8px; }
#secureCaptureComplete p { color:var(--muted,#67726d); }
.icc-sign-success-icon {
  display:grid; place-items:center; width:66px; height:66px; margin:0 auto; border-radius:50%;
  background:var(--green-soft,#e7eee9); color:var(--green,#245b45); font-weight:800; font-size:2rem;
}
.icc-sign-success-actions { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-top:25px; }
.icc-sign-success-actions button { padding:11px 21px; border-radius:9px; }
.icc-community-intake-review { margin:17px 0; }
@media(max-width:680px) {
  .icc-secure-portal { padding:6px; align-items:flex-start; }
  .icc-secure-portal-panel { width:100%; max-height:calc(100dvh - 12px); padding:11px; overscroll-behavior:contain; }
  .icc-secure-portal-header { gap:8px; padding-bottom:8px; margin-bottom:9px; }
  .icc-secure-portal-header h2 { font-size:1.02rem; line-height:1.18; }
  .icc-sign-brand { gap:8px; }
  .icc-sign-brand .logo-image { width:34px; height:34px; }
  #secureCaptureRequestTitle { font-size:1rem; margin:0 0 2px; }
  #secureCaptureRequestMeta { margin-bottom:7px; font-size:.75rem; line-height:1.25; }
  #secureCaptureSignerPanel { gap:7px; }
  #secureCaptureBack { padding:5px 9px; font-size:.78rem; }
  .icc-secure-portal .secure-person-card { padding:10px 10px 70px; }
  .icc-secure-portal .secure-person-head { gap:4px; }
  .icc-secure-portal .secure-person-head strong { font-size:.9rem; }
  .icc-secure-portal .secure-person-actions { grid-template-columns:1fr; margin:7px 0 3px; gap:8px; }
  .icc-secure-portal .secure-capture-block>label { margin-bottom:3px; font-size:.75rem; }
  .icc-secure-portal .secure-signature-pad { height:clamp(105px,23dvh,165px); border-radius:7px; }
  .icc-secure-portal .secure-signature-toolbar { padding-top:3px; }
  .icc-secure-portal .secure-signature-toolbar button { padding:5px 10px; font-size:.75rem; }
  .icc-secure-portal .secure-sign-date { font-size:.76rem; }
  .icc-secure-portal .secure-sign-date input { display:inline-block; width:auto; margin:2px 0 3px 8px; padding:5px; font-size:.78rem; }
  .icc-secure-portal .secure-attestation { font-size:.73rem; line-height:1.26; margin:6px 0; }
  .icc-secure-portal .secure-person-submit {
    display:block; position:fixed; bottom:max(8px,env(safe-area-inset-bottom)); left:12px;
    z-index:150001; width:calc(100% - 24px); padding:12px;
    box-shadow:0 -5px 16px rgba(22,67,45,.24);
  }
  .icc-secure-portal .secure-person-head,.icc-secure-portal .secure-signer-choice { flex-direction:column; align-items:stretch; }
  .icc-secure-portal .secure-signer-choice button { width:100%; }
}
