/* ConstructNav v0.17.4 — customer and trade portal experience */
.cn-portal-shell{max-width:1100px;margin:0 auto;padding:8px 0 34px;color:#122f4b}
.cn-portal-hero{background:linear-gradient(135deg,#0b2d4a,#164f78);color:#fff;border-radius:24px;padding:24px;box-shadow:0 18px 45px rgba(9,42,69,.2);margin-bottom:18px}
.cn-portal-hero small{display:block;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#a8d6f5;margin-bottom:7px}
.cn-portal-hero h2{margin:0;font-size:clamp(1.65rem,5vw,2.45rem);color:#fff;line-height:1.08}
.cn-portal-hero p{margin:8px 0 0;color:#dcecf7;font-size:1rem}
.cn-portal-hero-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:12px;margin-top:20px}
.cn-portal-stat{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:15px;padding:13px}
.cn-portal-stat span{display:block;color:#bbd9ec;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.cn-portal-stat strong{display:block;margin-top:5px;color:#fff;font-size:1rem;overflow-wrap:anywhere}
.cn-portal-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.cn-portal-action{appearance:none;border:1px solid #d5e2ec;background:#fff;border-radius:20px;min-height:132px;padding:18px;text-align:left;cursor:pointer;box-shadow:0 8px 24px rgba(16,47,78,.08);transition:.16s ease;color:#102f4e}
.cn-portal-action:hover,.cn-portal-action:focus-visible{transform:translateY(-2px);border-color:#2b78ad;box-shadow:0 12px 28px rgba(16,47,78,.14);outline:3px solid rgba(43,120,173,.18)}
.cn-portal-action .icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#e9f4fb;color:#12507d;font-size:1.6rem;margin-bottom:13px}
.cn-portal-action strong{display:block;font-size:1.05rem;color:#102f4e}
.cn-portal-action span{display:block;margin-top:5px;color:#5b7184;font-size:.9rem;line-height:1.35}
.cn-portal-action[data-alert]:after{content:attr(data-alert);display:inline-flex;min-width:22px;height:22px;padding:0 7px;align-items:center;justify-content:center;background:#c63d35;color:white;border-radius:999px;font-weight:900;font-size:.75rem;position:absolute;right:14px;top:14px}
.cn-portal-action{position:relative}
.cn-portal-back{display:none;align-items:center;gap:8px;margin:4px 0 14px;background:none;border:0;color:#145c88;font-weight:850;font-size:1rem;cursor:pointer;padding:8px 0}
.cn-portal-shell.is-detail .cn-portal-back{display:inline-flex}
.cn-portal-shell.is-detail .cn-portal-actions{display:none}
.cn-portal-shell .cnx-tabs{display:none!important}
.cn-portal-shell .cnx-pane{display:none!important}
.cn-portal-shell .cnx-pane.active{display:block!important}
.cn-portal-shell:not(.is-detail) .cnx-pane{display:none!important}
.cn-portal-shell .cnx-card{border-radius:18px;border:1px solid #d7e3ec;box-shadow:none;background:#fff;color:#173b5b}
.cn-portal-shell .cnx-card h3,.cn-portal-shell .cnx-row strong{color:#102f4e}
.cn-portal-shell .cnx-muted{color:#60778b!important}
.cn-portal-previewbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px;padding:10px 12px;background:#f5f8fb;border:1px solid #dce6ee;border-radius:14px}
.cn-portal-previewbar label{font-weight:800;color:#2a4963}
.cn-portal-previewbar select{min-height:44px;max-width:520px;width:100%;font-size:1rem}
.cn-portal-guest .cn-portal-previewbar{display:none}
.cn-portal-guest body{background:#eef4f8}
.cn-portal-guest #sidebar,.cn-portal-guest #topbar,.cn-portal-guest footer,.cn-portal-guest .app-header,.cn-portal-guest #nav{display:none!important}
.cn-portal-guest .main,.cn-portal-guest main,.cn-portal-guest #content{margin:0!important;padding:14px!important;max-width:none!important}
.cn-portal-login-note{margin:22px auto 0;max-width:720px;text-align:center;color:#6a7f91;font-size:.85rem}
.cn-trade-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cn-trade-quick .cn-portal-action{min-height:118px}
@media(max-width:780px){
 .cn-portal-shell{padding:0 0 24px}.cn-portal-hero{border-radius:0;margin:-14px -14px 14px;padding:20px 16px}.cn-portal-hero-grid{grid-template-columns:1fr 1fr}.cn-portal-hero-grid .cn-portal-stat:first-child{grid-column:1/-1}.cn-portal-actions{grid-template-columns:1fr 1fr;gap:10px}.cn-portal-action{min-height:116px;padding:15px}.cn-portal-action .icon{width:42px;height:42px;font-size:1.35rem}.cn-portal-previewbar{align-items:stretch;flex-direction:column}.cn-trade-quick{grid-template-columns:1fr 1fr}
}
@media(max-width:460px){.cn-portal-actions,.cn-trade-quick{grid-template-columns:1fr}.cn-portal-action{min-height:96px;display:grid;grid-template-columns:52px 1fr;column-gap:12px;align-items:center}.cn-portal-action .icon{grid-row:1/3;margin:0}.cn-portal-action span{margin-top:2px}.cn-portal-hero-grid{grid-template-columns:1fr 1fr}}

.cn-hide-legacy-invite-status{display:none!important}
.cn-portal-office-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;margin:0 0 14px;background:#fff;border:1px solid #d8e4ed;border-radius:15px;box-shadow:0 6px 18px rgba(16,47,78,.06)}
.cn-portal-office-tools>div{display:grid;gap:2px}.cn-portal-office-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#60778b;font-weight:850}.cn-portal-office-tools strong{color:#123a5a;font-size:1rem}.cn-portal-office-tools small{color:#60778b}
.cn-portal-guest .cn-portal-office-tools{display:none!important}.cn-portal-guest-actions{text-align:center;margin:26px 0 4px}.cn-portal-guest-actions .btn{color:#7b2f2f;border-color:#d9b6b6;background:#fff}
.cn-portal-estimates{display:grid;gap:10px}.cn-portal-estimate{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid #d7e3ec;border-radius:14px;background:#f9fbfd}.cn-portal-estimate div{display:grid;gap:3px}.cn-portal-estimate strong,.cn-portal-estimate b{color:#102f4e}.cn-portal-estimate span,.cn-portal-estimate small{color:#60778b}
@media(max-width:600px){.cn-portal-office-tools,.cn-portal-estimate{align-items:stretch;flex-direction:column}.cn-portal-office-tools .btn{width:100%;min-height:48px}.cn-portal-estimate div:last-child{text-align:left}}
.cn-portal-office-actions,.cn-portal-estimate-summary>span,.cn-portal-release-row .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cn-portal-office-tools>div.cn-portal-office-actions{display:flex}
.cn-portal-release-manager{margin:-4px 0 16px;padding:14px;background:#f7fafc;border:1px solid #d8e4ed;border-radius:15px}.cn-portal-release-manager[hidden]{display:none}.cn-portal-release-head,.cn-portal-release-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.cn-portal-release-head{padding-bottom:10px;border-bottom:1px solid #d8e4ed}.cn-portal-release-head>div{display:grid;gap:3px}.cn-portal-release-head small,.cn-portal-release-row small{color:#60778b}.cn-portal-release-row{padding:11px 0;border-bottom:1px solid #e2eaf0}.cn-portal-release-row:last-child{border-bottom:0}.cn-portal-release-row>div{display:grid;gap:3px;min-width:0;flex:1}.cn-portal-release-state{font-size:.76rem;font-weight:850;border-radius:999px;padding:5px 9px;white-space:nowrap}.cn-portal-release-state.released{background:#dcf4e5;color:#11643b}.cn-portal-release-state.internal{background:#edf1f5;color:#576a7a}
.cn-asset-release-button.released{border-color:#8fbea3;color:#17633c;background:#effaf3}.cn-portal-release-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.cn-portal-estimate-summary{text-align:right}.cn-portal-estimate-summary>span{justify-content:flex-end;margin-top:5px}.cn-portal-signature-list{display:grid;gap:10px}.cn-portal-signature-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid #d7e3ec;border-radius:14px;background:#f9fbfd}.cn-portal-signature-row>div{display:grid;gap:4px}.cn-portal-signature-row>div:last-child{justify-items:end}.cn-portal-signature-row span{color:#60778b}
.cn-portal-signature-row.is-overdue{border-color:#e5b8bb;background:#fff8f8}.cn-portal-signature-row .cnx-status.overdue{background:#fde9ea;color:#a52f3a}
.cn-customer-estimate-dialog{width:min(900px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:0;border:0;border-radius:18px;color:#16324c}.cn-customer-estimate-dialog::backdrop{background:rgba(4,24,40,.68)}.cn-customer-estimate-dialog .modal-body{padding:22px;overflow:auto;max-height:calc(100vh - 170px)}.cn-customer-estimate-dialog h1{margin:0;color:#0b4f84;font-size:clamp(1.5rem,5vw,2.2rem)}.cn-customer-estimate-dialog h2{margin:24px 0 8px;color:#174f76;border-bottom:1px solid #dbe5ed;padding-bottom:6px;font-size:1.08rem}.cn-customer-estimate-dialog .cn-proposal-copy,.cn-portal-proposal-item span{white-space:pre-wrap;line-height:1.55}.cn-portal-proposal-item{margin:10px 0}.cn-portal-proposal-item span{display:block;color:#536d82;margin-top:3px}.cn-proposal-total{font-size:1.85rem;font-weight:900;color:#0b4f84}
@media(max-width:700px){.cn-portal-release-head,.cn-portal-release-row,.cn-portal-signature-row{align-items:stretch;flex-direction:column}.cn-portal-release-row .btn,.cn-portal-signature-row .btn{width:100%;min-height:48px}.cn-portal-release-state{align-self:flex-start}.cn-portal-signature-row>div:last-child{justify-items:stretch}.cn-portal-estimate-summary{text-align:left}.cn-portal-estimate-summary>span{justify-content:flex-start}.cn-portal-estimate-summary .btn{min-height:46px}.cn-customer-estimate-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;border-radius:0;margin:0}.cn-customer-estimate-dialog .modal-body{max-height:calc(100dvh - 150px);padding:18px}.cn-portal-office-actions{width:100%;display:grid!important;grid-template-columns:1fr}}
