/* ConstructNav v0.9.2.84 — subcontractor onboarding and secure external portals */
.cn-subagreement{display:grid;gap:18px}
.cn-subagreement h3,.cn-subagreement h4,.cn-subagreement p{margin:0}
.cn-subagreement-template,.cn-subagreement-workspace{border:1px solid #d5e0eb;border-radius:15px;background:#fff}
.cn-subagreement-template{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 20px;background:linear-gradient(135deg,#f6faff 0%,#fff 62%)}
.cn-subagreement-template p{margin-top:6px;color:#0a2947}
.cn-subagreement-template small{display:block;margin-top:5px;color:#657a90}
.cn-subagreement-eyebrow{display:block;margin-bottom:5px;color:#2878ad;font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.cn-subagreement-workspace{padding:20px}
.cn-subagreement-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px}
.cn-subagreement-heading p{max-width:680px;margin-top:5px;color:#657a90}
.cn-subagreement-heading label{display:grid;gap:6px;min-width:min(360px,100%);color:#4b6176;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.cn-subagreement-heading select{width:100%;min-height:42px;border:1px solid #c7d6e5;border-radius:9px;background:#fff;color:#0a2947;font-size:.92rem;text-transform:none;letter-spacing:0}
.cn-subagreement-summary{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin:18px 0}
.cn-subagreement-summary>div{display:grid;gap:6px;min-height:67px;padding:11px 13px;border:1px solid #dce5ee;border-radius:10px;background:#f8fafc}
.cn-subagreement-summary span:first-child{color:#6b7f93;font-size:.69rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.cn-subagreement-summary strong{color:#102f4e;font-size:.8rem}
.cn-subagreement-status{display:inline-flex!important;align-items:center;width:max-content;padding:4px 9px;border-radius:999px;font-size:.72rem!important;font-weight:900;text-transform:uppercase}
.cn-subagreement-status.is-missing{background:#eef2f6;color:#596b7c}
.cn-subagreement-status.is-draft{background:#e7f1fb;color:#145d93}
.cn-subagreement-status.is-sent{background:#fff3d8;color:#8c5b00}
.cn-subagreement-status.is-signed{background:#dff5e9;color:#087543}
.cn-subagreement-status.is-expired{background:#fde7e9;color:#a52635}
.cn-subagreement-status.is-declined,.cn-subagreement-status.is-cancelled{background:#fde7e9;color:#a52635}
.cn-subagreement-status.is-current,.cn-subagreement-status.is-complete,.cn-subagreement-status.is-received,.cn-subagreement-status.is-info-complete,.cn-subagreement-status.is-not-applicable{background:#dff5e9;color:#087543}
.cn-subagreement-status.is-action-required{background:#fff3d8;color:#8c5b00}
.cn-subagreement-current{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px;border:1px solid #d8e3ed;border-radius:11px}
.cn-subagreement-current h4{color:#092c4d;font-size:1rem}
.cn-subagreement-current p{margin-top:4px;color:#536b82}
.cn-subagreement-current small{display:block;margin-top:6px;color:#718398}
.cn-subagreement-current .actions,.cn-subagreement-template .actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.cn-subagreement-audit{margin-top:12px;border:1px solid #dce5ee;border-radius:10px;background:#fbfcfe}
.cn-subagreement-audit summary{padding:11px 14px;color:#173b5b;font-weight:800;cursor:pointer}
.cn-subagreement-audit>div{padding:0 14px 12px}
.cn-subagreement-audit-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(130px,.7fr) minmax(175px,.8fr);gap:12px;padding:8px 0;border-top:1px solid #e6edf3;color:#52697f;font-size:.8rem}
.cn-subagreement-audit-row span:first-child{color:#153b5c;font-weight:700}
.cn-subagreement-audit-row time{text-align:right}
.cn-subagreement-empty{color:#718398}
.cn-subagreement-no-trades{margin-top:18px;padding:22px;border:1px dashed #c7d6e5;border-radius:10px;text-align:center}
.cn-subagreement-note{padding:11px 13px;border-radius:9px;background:#eff7ff;color:#3c5f7b;font-size:.82rem;line-height:1.45}
.cn-subagreement-dialog{width:min(720px,calc(100vw - 28px));max-height:calc(100vh - 28px);border:0;border-radius:16px;padding:0;box-shadow:0 24px 70px rgba(7,35,61,.28)}
.cn-subagreement-dialog::backdrop{background:rgba(4,25,45,.55)}
.cn-onboarding-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:16px;border:1px solid #b9d7eb;border-radius:12px;background:linear-gradient(135deg,#f2f9ff,#fff)}
.cn-onboarding-summary p{margin-top:5px;color:#526b82}
.cn-onboarding-summary small{display:block;margin-top:6px;color:#718398}
.cn-onboarding-summary .actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}
.cn-compliance-checklist{display:grid;gap:8px;margin-top:12px}
.cn-compliance-check-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #dce5ee;border-radius:10px;background:#fff}
.cn-compliance-check-row strong,.cn-compliance-check-row small{display:block}
.cn-compliance-check-row strong{color:#153b5c}
.cn-compliance-check-row small{margin-top:4px;color:#657a90;line-height:1.35}
.cn-compliance-check-actions{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:7px}
.cn-agreement-divider{margin-top:22px;padding-top:18px;border-top:1px solid #dce5ee}
.cn-subcontractor-intake-dialog{width:min(980px,calc(100vw - 28px));height:min(900px,calc(100vh - 28px));overflow:hidden}
.cn-subcontractor-intake-dialog form{display:grid;height:100%;grid-template-rows:auto minmax(0,1fr) auto}
.cn-subcontractor-intake-dialog .modal-head>div{display:grid;gap:3px}
.cn-subcontractor-intake-dialog .modal-head small{color:#647b91;font-weight:500}
.cn-intake-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 20px}
.cn-intake-section{padding:16px;border:1px solid #d8e3ed;border-radius:12px;background:#fff}
.cn-intake-section+.cn-intake-section{margin-top:14px}
.cn-intake-section h4{margin:0 0 13px;color:#0a2947}
.cn-intake-document{padding:13px;border:1px solid #e0e8ef;border-radius:10px;background:#f9fbfd}
.cn-intake-document+.cn-intake-document{margin-top:10px}
.cn-intake-document-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:#153b5c}
.cn-intake-document-title span,.cn-intake-section input[type=file]+small{color:#6a7f93;font-size:.74rem}
html.cn-external-guest .app{display:block;min-height:100vh;background:#f2f6fa}
html.cn-external-guest .app>aside,
html.cn-external-guest main>.topbar,
html.cn-external-guest main .page-heading{display:none!important}
html.cn-external-guest main{margin:0!important;width:100%!important}
html.cn-external-guest main .content{max-width:1180px;margin:0 auto;padding:20px}
html.cn-external-guest #cnMobileCloudState,
html.cn-external-guest #cnMobileWorkContext,
html.cn-external-guest #cnSimpleCompactContext,
html.cn-external-guest #cnSimpleMobileHub,
html.cn-external-guest #cnMobileBottomNav,
html.cn-external-guest #cnMobileBrand,
html.cn-external-guest #cnMobileInstallBtn{display:none!important}
html.cn-external-guest-blocked .app{display:none!important}

html.cn-customer-guest main .view:not(#customerportal){display:none!important}
html.cn-customer-guest #customerportal{display:block!important}
html.cn-customer-guest #customerportal>.section-head select{display:none!important}
html.cn-customer-guest #customerportal>.section-head{align-items:flex-start}

html.cn-trade-guest main .view:not(#tradeportal){display:none!important}
html.cn-trade-guest #tradeportal{display:block!important}
html.cn-trade-guest #tradeportal>.section-head select{display:none!important}
html.cn-trade-guest .cn-subagreement-template{display:none!important}
html.cn-trade-work-guest #tradeportal [data-pane="trade-bids"],
html.cn-trade-work-guest #trade-bids{display:none!important}
html.cn-trade-bid-guest #tradeportal [data-pane]:not([data-pane="trade-bids"]),
html.cn-trade-bid-guest #tradeportal>.cnx-pane:not(#trade-bids){display:none!important}
html.cn-trade-bid-guest #trade-bids{display:block!important}

.cn-external-guest-session{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:12px 14px;border:1px solid #173f62;border-radius:12px;background:#092c4d;color:#fff;box-shadow:0 5px 16px rgba(7,35,61,.14)}
.cn-external-guest-session>div{display:grid;gap:2px}
.cn-external-guest-session span{color:#e0ae43;font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.cn-external-guest-session strong{font-size:.9rem}
.cn-external-guest-session .btn{flex:0 0 auto;border-color:#cbd9e5;background:#fff;color:#092c4d}
.cn-external-guest-session .btn:hover{background:#f2f7fb}
.cn-external-guest-blocker{position:fixed;inset:0;z-index:30000;display:grid;place-items:center;padding:18px;background:#eef4f9}
.cn-external-guest-blocker>div{width:min(620px,100%);padding:28px;border:1px solid #cfdae5;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(7,35,61,.2)}
.cn-external-guest-blocker h2{margin:0;color:#092c4d}
.cn-external-guest-blocker p{margin:12px 0;color:#9b2734;font-weight:750}
.cn-external-guest-blocker small{display:block;color:#61778b;line-height:1.5}
.cn-external-guest-blocker-actions{display:flex;flex-wrap:wrap;gap:8px}
.cn-external-guest-blocker .btn{margin-top:16px}
@media(max-width:980px){
  .cn-subagreement-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cn-subagreement-heading,.cn-subagreement-template,.cn-subagreement-current{align-items:stretch;flex-direction:column}
  .cn-onboarding-summary{align-items:stretch;flex-direction:column}
  .cn-onboarding-summary .actions{justify-content:flex-start}
  .cn-subagreement-heading label{min-width:0}
  .cn-subagreement-current .actions,.cn-subagreement-template .actions{justify-content:flex-start}
}
@media(max-width:620px){
  .cn-subagreement-workspace{padding:14px}
  .cn-subagreement-summary{grid-template-columns:1fr}
  .cn-subagreement-audit-row{grid-template-columns:1fr;gap:3px}
  .cn-subagreement-audit-row time{text-align:left}
  .cn-subagreement-current .actions .btn,.cn-subagreement-template .actions .btn{flex:1 1 100%}
  .cn-compliance-check-row{align-items:flex-start;flex-direction:column}
  .cn-compliance-check-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}
  .cn-subcontractor-intake-dialog{width:calc(100vw - 14px);height:calc(100vh - 14px);max-height:calc(100vh - 14px)}
  .cn-external-guest-session{align-items:stretch;flex-direction:column}
  .cn-external-guest-session .btn{width:100%}
}

/* v0.9.8.1 — dedicated external electronic-signature experience. */
html.cn-customer-signature-guest #customerportal>.section-head,
html.cn-customer-signature-guest #customerportal>.cnx-tabs,
html.cn-customer-signature-guest #customerportal>.cn-invite-status,
html.cn-customer-signature-guest #customerportal .cn-portal-actions,
html.cn-customer-signature-guest #cnCustomerInviteBtn,
html.cn-customer-signature-guest #cnCustomerInviteStatus,
html.cn-customer-signature-guest #customerportal>.cnx-pane:not(#cust-overview){display:none!important}
html.cn-customer-signature-guest #cust-overview{display:block!important}
html.cn-customer-signature-guest main .content{max-width:1040px;padding-top:24px}
.cn-signature-guest-card{max-width:760px;margin:22px auto;padding:28px;border:1px solid #cfdbe5;border-radius:18px;background:#fff;box-shadow:0 18px 46px rgba(7,35,61,.14)}
.cn-signature-guest-kicker{margin-bottom:8px;color:#b27700;font-size:.72rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.cn-signature-guest-card h2{margin:0;color:#092c4d;font-size:1.55rem}
.cn-signature-guest-card p{color:#5d7183;line-height:1.55}
.cn-signature-guest-card dl{display:grid;gap:8px;margin:20px 0;padding:14px;border:1px solid #dce5ec;border-radius:11px;background:#f7fafc}
.cn-signature-guest-card dl>div{display:grid;grid-template-columns:90px 1fr;gap:12px}
.cn-signature-guest-card dt{font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#6b7f90}
.cn-signature-guest-card dd{margin:0;font-weight:750;color:#173b58}
.cn-signature-guest-actions{display:flex;flex-wrap:wrap;gap:10px}
.cn-signature-guest-status{margin-top:12px;color:#627789;font-size:.82rem}
html.cn-customer-signature-guest #cnSignModal{width:min(1120px,calc(100vw - 24px));max-width:none;max-height:calc(100vh - 24px)}
html.cn-customer-signature-guest #cnSignModal .modal-body{max-height:calc(100vh - 170px);overflow:auto}
@media(max-width:700px){.cn-signature-guest-card{padding:20px;margin:10px auto}.cn-signature-guest-card dl>div{grid-template-columns:1fr;gap:2px}.cn-signature-guest-actions .btn{width:100%}}
