:root{--paper:#f6f5f1;--paper-2:#efede7;--card:#fff;--ink:#17191c;--ink-2:#4a4f57;--ink-3:#626872;--line:#d9d7cf;--line-2:#e8e6df;--accent:#c24613;--accent-ink:#9f350c;--steel:#355070;--pos:#2f7d54;--pos-bg:#e4f0e8;--neg:#c0392b;--neg-bg:#f7e6e3;--warn:#b8860b;--warn-bg:#f6eecf;--info:#355070;--info-bg:#e4ebf2;--radius:7px;--radius-sm:4px;--shadow:0 1px 2px #17191c0f, 0 8px 24px -12px #17191c2e;--mono:ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--sans);color:var(--ink);background-color:var(--paper);-webkit-font-smoothing:antialiased;background-image:linear-gradient(#35507009 1px,#0000 1px),linear-gradient(90deg,#35507009 1px,#0000 1px);background-size:26px 26px;margin:0;font-size:14px;line-height:1.45}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:700}a{color:inherit;text-decoration:none}.drill-link{color:inherit;cursor:pointer;border-radius:3px;text-decoration:none}.drill-link:hover{text-underline-offset:2px;color:var(--accent-ink);text-decoration:underline}.drill-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}.num-head{text-align:right}.dim{color:var(--ink-3)}.strong{font-weight:700}.eyebrow{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:600}.portal{flex-direction:column;min-height:100vh;display:flex}.portal-topbar{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#f6f5f1e6;flex-wrap:wrap;align-items:center;gap:16px;padding:12px 22px;display:flex;position:sticky;top:0}.portal-brand{align-items:center;gap:10px;display:flex}.portal-mark{background:var(--accent);color:#fff;border-radius:5px;place-items:center;width:26px;height:26px;font-size:15px;font-weight:800;display:grid;box-shadow:inset 0 0 0 1.5px #ffffff2e}.portal-name{letter-spacing:.02em;font-size:15px;font-weight:800}.portal-name b{color:var(--accent)}.portal-spacer{flex:1}.portal-office{color:var(--ink-3);letter-spacing:.04em;font-size:11px}.portal-main{flex:1;min-width:0}.role-switch{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);gap:4px;padding:3px;display:flex}.role-tab{border-radius:var(--radius-sm);color:var(--ink-2);cursor:pointer;background:0 0;border:none;padding:5px 12px;font-size:12.5px;font-weight:600}.role-tab.active{background:var(--accent);color:#fff}.role-single{color:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:4px 10px;font-size:12.5px;font-weight:600}.page{width:100%;max-width:1080px;margin:0 auto;padding:24px 26px 60px}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.page-head h1{margin-top:4px;font-size:22px}.stack{flex-direction:column;gap:16px;display:flex}.stack-tight{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}@media (width<=720px){.grid-2{grid-template-columns:1fr}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:16px 18px}.card:last-child{margin-bottom:0}.stepup-dialog{width:calc(100% - 32px);max-width:420px;max-height:calc(100% - 32px);margin:auto;position:fixed;inset:0;overflow:auto}.stepup-dialog::backdrop{background:#17191c73}.stepup-dialog form{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.stepup-dialog label{color:var(--ink-2);flex-direction:column;gap:4px;font-size:12px;display:flex}.card-head{letter-spacing:.01em;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:700;display:flex}.esign-return{background:var(--pos-bg);border-color:#2a7a5b59;justify-content:space-between;align-items:center;gap:16px;display:flex}.esign-return-title{margin-top:4px;font-size:15px;font-weight:700}.esign-return-hint{max-width:720px;color:var(--ink-2);margin:5px 0 0;font-size:13px;line-height:1.5}@media (width<=620px){.esign-return{flex-direction:column;align-items:flex-start}}.kv{gap:8px;margin:0;display:grid}.kv>div{border-bottom:1px dashed var(--line-2);justify-content:space-between;gap:12px;padding-bottom:6px;display:flex}.kv dt{color:var(--ink-3);font-size:12.5px}.kv dd{text-align:right;margin:0}.co-desc{color:var(--ink-2);margin:12px 0 0;font-size:13px}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);white-space:nowrap;padding:6px 10px;font-size:10.5px}.table th.num-head{text-align:right}.table td{border-bottom:1px solid var(--line-2);vertical-align:top;padding:9px 10px}.table tbody tr:last-child td{border-bottom:none}.table tfoot td{border-top:2px solid var(--line);padding:9px 10px}.cell-action{text-align:right;white-space:nowrap}.table-inner{background:var(--paper)}.row-detail td{background:var(--paper-2)}.detail-inner{padding:6px 0}.pill{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--line);background:var(--paper-2);color:var(--ink-2);border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:600;display:inline-block}.pill-pos{background:var(--pos-bg);color:var(--pos);border-color:#0000}.pill-neg{background:var(--neg-bg);color:var(--neg);border-color:#0000}.pill-warn{background:var(--warn-bg);color:var(--warn);border-color:#0000}.pill-neutral{background:var(--info-bg);color:var(--info);border-color:#0000}.btn{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:background .12s,border-color .12s}.btn:hover:not(:disabled){border-color:var(--ink-3)}.btn:disabled{opacity:.55;cursor:default}.btn-sm{padding:5px 11px;font-size:12px}.btn-block{width:100%}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-ink);border-color:var(--accent-ink)}.btn-danger{background:var(--card);border-color:var(--neg);color:var(--neg)}.btn-danger:hover:not(:disabled){background:var(--neg-bg)}.btn-ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--paper-2);border-color:#0000}.tabs{border-bottom:1px solid var(--line);overscroll-behavior-x:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch;gap:4px;margin-bottom:18px;display:flex;overflow-x:auto}.tab{min-height:44px;color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:none;margin-bottom:-1px;padding:9px 14px;font-size:13px;font-weight:600}.tab:hover{color:var(--ink)}.tab.active{color:var(--ink);border-bottom-color:var(--accent)}html.portal-v1{--accent:#e2571f;--accent-ink:#b8410f;--accent-fill:#c24613;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;--sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--display:"Archivo", var(--sans);--brand-mark-lg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-40 -40 904 773'%3E%3Cdefs%3E%3ClinearGradient id='t' gradientUnits='userSpaceOnUse' x1='15' y1='0' x2='527' y2='0'%3E%3Cstop offset='0' stop-color='%23ff0000'/%3E%3Cstop offset='1' stop-color='%235a0000'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg opacity='0.11'%3E%3Cpath fill='%231f2329' d='M102 208 H200 V312 H0 Z M546 5 H600 L714 146 L627 253 L712 333 V467 H559 V352 L512 312 H343 V208 H514 L556 157 L517 107 H463 Z'/%3E%3Cpath fill='url(%23t)' d='M15 0 H527 L445 106 H330 V473 L212 553 V106 H101 Z'/%3E%3C/g%3E%3C/svg%3E");--brand-mark-tile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-536 -616 1786 1786'%3E%3Cpath fill='%23355070' fill-opacity='0.07' d='M15 0 H527 L445 106 H330 V473 L212 553 V106 H101 Z M102 208 H200 V312 H0 Z M546 5 H600 L714 146 L627 253 L712 333 V467 H559 V352 L512 312 H343 V208 H514 L556 157 L517 107 H463 Z'/%3E%3C/svg%3E");--brand-wash:color-mix(in srgb, var(--accent) 7%, transparent);--brand-logo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-89 -170 892 892' role='img' aria-label='T Rock'%3E %3Cdefs%3E %3ClinearGradient id='trRed' gradientUnits='userSpaceOnUse' x1='15' y1='0' x2='527' y2='0'%3E %3Cstop offset='0' stop-color='%23ff0000'/%3E %3Cstop offset='1' stop-color='%235a0000'/%3E %3C/linearGradient%3E %3C/defs%3E %3Crect x='-89' y='-170' width='892' height='892' fill='%23000'/%3E %3Cg fill='%23f7f7f7'%3E %3Cpath d='M102 208 H200 V312 H0 Z'/%3E %3Cpath d='M546 5 H600 L714 146 L627 253 L712 333 V467 H559 V352 L512 312 H343 V208 H514 L556 157 L517 107 H463 Z'/%3E %3C/g%3E %3Cpath d='M15 0 H527 L445 106 H330 V473 L212 553 V106 H101 Z' fill='url(%23trRed)'/%3E %3C/svg%3E")}html.portal-v1 body{background-image:var(--brand-mark-lg), var(--brand-mark-tile), radial-gradient(1100px 560px at 0% 0%, var(--brand-wash), transparent 72%);background-position:right -70px bottom -90px,0 0,0 0;background-repeat:no-repeat,repeat,no-repeat;background-size:min(560px,70vw),260px 260px,100% 100%;background-attachment:fixed,scroll,fixed}@media print{html.portal-v1 body{background:0 0}}html.portal-v1 h1,html.portal-v1 h2,html.portal-v1 h3,html.portal-v1 h4{font-family:var(--display)}html.portal-v1 .portal-mark{background:#000 var(--brand-logo) center / cover no-repeat;width:30px;height:30px;box-shadow:none;color:#0000;border-radius:6px;flex:none;font-size:0}html.portal-v1 .portal-name{font-family:var(--display)}html.portal-v1 .portal-name b,html.portal-v1 .crumb:hover{color:var(--accent-ink)}html.portal-v1 .role-tab.active{background:var(--accent-fill)}html.portal-v1 .btn-primary{background:var(--accent-fill);border-color:var(--accent-ink)}html.portal-v1 .btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent-fill) 88%, #000);border-color:var(--accent-ink)}html.portal-v1 .chip-active{background:var(--accent-fill);border-color:var(--accent-fill)}html.portal-v1 .portal-client .portal-topbar{background:#ffffffdb}html.portal-v1 .portal-client .page-head h1{letter-spacing:-.02em;font-size:28px;font-weight:800}html.portal-v1 .portal-client .page-lede{color:var(--ink-2);max-width:62ch;font-size:15px}html.portal-v1 .portal-client .section-title,html.portal-v1 .portal-client .card-title,html.portal-v1 .portal-client .tile-title,html.portal-v1 .portal-client .card>h2{font-family:var(--display);letter-spacing:-.005em;color:var(--ink);font-size:16px;font-weight:700}html.portal-v1 .portal-client .list-label,html.portal-v1 .portal-client .tile-kicker{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}html.portal-v1 .portal-client .card{border-color:var(--line);border-radius:10px;box-shadow:0 1px 2px #17191c0d,0 10px 28px -16px #17191c38}html.portal-v1 .portal-client a.card-link{color:inherit;transition:border-color .12s,box-shadow .12s,transform .12s}html.portal-v1 .portal-client a.card-link:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));transform:translateY(-1px);box-shadow:0 2px 4px #17191c0f,0 14px 32px -16px #17191c47}html.portal-v1 .portal-client a.card-link:focus-visible,html.portal-v1 .portal-client .row-link:focus-visible,html.portal-v1 .portal-client .back-link:focus-visible,html.portal-v1 .portal-client .tile-link:focus-visible,html.portal-v1 .portal-client a.portal-brand:focus-visible{outline:2px solid var(--accent);outline-offset:2px}html.portal-v1 .portal-client .card-top{border-bottom:1px solid var(--line-2);padding-bottom:10px}html.portal-v1 .portal-client .card-top-text .row-meta{margin-top:2px}html.portal-v1 .portal-client .card-top .pill{flex:none;margin-top:2px}html.portal-v1 .portal-client .photo-tile{align-content:start}@media (width<=720px){html.portal-v1 .portal-client .job-tabs{background:linear-gradient(to right, var(--paper) 40%, transparent) left center / 28px 100% no-repeat local, linear-gradient(to left, var(--paper) 40%, transparent) right center / 28px 100% no-repeat local, linear-gradient(to right, #17191c29, transparent) left center / 14px 100% no-repeat scroll, linear-gradient(to left, #17191c29, transparent) right center / 14px 100% no-repeat scroll, var(--paper)}}html.portal-v1 .portal-client .card-meta,html.portal-v1 .portal-client .row-meta{color:var(--ink-3);font-size:13px}html.portal-v1 .portal-client .chevron{color:var(--ink-3)}html.portal-v1 .portal-client a.card-link:hover .chevron,html.portal-v1 .portal-client .row-link:hover .chevron{color:var(--accent-ink)}html.portal-v1 .portal-client .row-list>li+li{border-top:1px solid var(--line-2)}html.portal-v1 .portal-client .row-link{color:inherit;border-radius:6px}html.portal-v1 .portal-client .row-link:hover{background:var(--paper)}html.portal-v1 .portal-client .row-title{color:var(--ink);font-weight:600}html.portal-v1 .portal-client .row-amount,html.portal-v1 .portal-client .tile-money{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}html.portal-v1 .portal-client .pill{font-family:var(--sans);letter-spacing:0;text-transform:none;white-space:nowrap;padding:3px 10px;font-size:12px;font-weight:600}html.portal-v1 .portal-client .attention{border-color:color-mix(in srgb, var(--accent) 35%, var(--line));border-left:4px solid var(--accent);background:color-mix(in srgb, var(--accent) 4%, var(--card))}html.portal-v1 .portal-client .attention-title{color:var(--ink);font-weight:600}html.portal-v1 .portal-client .attention-detail{color:var(--ink-2);font-size:13px}html.portal-v1 .portal-client .attention-item+.attention-item{border-top:1px solid color-mix(in srgb, var(--accent) 18%, var(--line-2))}html.portal-v1 .portal-client .tile-value{font-family:var(--display);letter-spacing:-.01em;color:var(--ink);font-size:17px;font-weight:700;line-height:1.3}html.portal-v1 .portal-client .tile-money{font-size:18px}html.portal-v1 .portal-client .tile-link,html.portal-v1 .portal-client .back-link{color:var(--accent-ink);font-weight:600}html.portal-v1 .portal-client .tile-link:hover,html.portal-v1 .portal-client .back-link:hover{text-underline-offset:3px;text-decoration:underline}html.portal-v1 .portal-client .job-footnote{color:var(--ink-3);font-size:12px}html.portal-v1 .portal-client .ref{color:var(--ink-3);font-variant-numeric:tabular-nums}html.portal-v1 .portal-client .btn{border-radius:7px;min-height:36px}html.portal-v1 .portal-client .btn-sm{min-height:32px}html.portal-v1 .portal-client .btn-lg{min-height:46px;padding:11px 20px;font-size:15px}html.portal-v1 .portal-client .btn-primary{box-shadow:0 1px 0 #ffffff2e inset, 0 6px 16px -8px color-mix(in srgb, var(--accent-fill) 70%, transparent)}html.portal-v1 .portal-client .btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}html.portal-v1 .portal-client .choice{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:10px;transition:border-color .12s,background .12s}html.portal-v1 .portal-client .choice:hover{border-color:var(--ink-3)}html.portal-v1 .portal-client .choice.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--card));box-shadow:0 0 0 1px var(--accent) inset}html.portal-v1 .portal-client .choice input[type=radio]{accent-color:var(--accent-fill)}html.portal-v1 .portal-client .choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}html.portal-v1 .portal-client input[type=file]::file-selector-button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:7px;margin-right:10px;padding:6px 12px;font-size:13px;font-weight:600}html.portal-v1 .portal-client input[type=file]::file-selector-button:hover{border-color:var(--ink-3)}html.portal-v1 .portal-client .choice-label{color:var(--ink);font-weight:600}html.portal-v1 .portal-client .choice-hint{color:var(--ink-3);font-size:13px}html.portal-v1 .portal-client .callout{border-radius:8px;padding:10px 12px;font-size:13px}html.portal-v1 .portal-client .callout-warn{background:var(--warn-bg);color:color-mix(in srgb, var(--warn) 70%, var(--ink));border:1px solid color-mix(in srgb, var(--warn) 30%, transparent)}html.portal-v1 .portal-client .next-steps li::marker{color:var(--accent-ink);font-weight:700}html.portal-v1 .portal-client .totals .total-row+.total-row{border-top:1px solid var(--line-2)}html.portal-v1 .portal-client .total-row-strong{font-weight:700}html.portal-v1 .portal-client .total-row-strong .row-amount,html.portal-v1 .portal-client .total-row-strong>:last-child{font-family:var(--display);font-size:18px}html.portal-v1 .portal-client .portal-user-prefix{color:var(--ink-3)}html.portal-v1 .portal-client .portal-user-name{color:var(--ink);font-weight:600}html.portal-v1 .login-card.signin-card{border-radius:12px;padding:32px 30px 28px;box-shadow:0 1px 2px #17191c0d,0 18px 40px -20px #17191c4d}html.portal-v1 .signin-card .login-title{letter-spacing:-.02em;font-size:24px;font-weight:800}html.portal-v1 .signin-card .login-sub{color:var(--ink-2);font-size:14px}html.portal-v1 .signin-card .field{margin-bottom:12px}html.portal-v1 .signin-keep{color:var(--ink-2);cursor:pointer;align-items:center;gap:8px;margin:4px 0 14px;font-size:14px;display:flex}html.portal-v1 .signin-keep input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-fill)}html.portal-v1 .signin-note{color:var(--ink-3);margin:0 0 14px;font-size:13px}html.portal-v1 .signin-card .btn-primary.btn-block{border-radius:8px;min-height:46px;font-size:15px}html.portal-v1 .code-input{width:100%;min-height:60px;font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.5em;text-align:center;text-indent:.5em;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;margin:2px 0 14px;padding:10px 14px;font-size:30px;font-weight:600}@media (width<=360px){html.portal-v1 .login-card.signin-card{padding:24px 18px 20px}html.portal-v1 .code-input{letter-spacing:.3em;text-indent:.3em;padding:10px 8px;font-size:24px}}html.portal-v1 .code-input::placeholder{color:var(--line)}html.portal-v1 .code-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);background:var(--card);outline:none}html.portal-v1 .signin-links{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:14px;display:flex}html.portal-v1 .btn-link{appearance:none;font:inherit;color:var(--accent-ink);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:13px;font-weight:600}html.portal-v1 .btn-link:hover{text-underline-offset:3px;text-decoration:underline}html.portal-v1 .btn-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}html.portal-v1 .signin-error{border-radius:8px}html.portal-v1 .signin-switch{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));border-left:4px solid var(--accent);background:color-mix(in srgb, var(--accent) 4%, var(--card));border-radius:10px;margin-bottom:14px;padding:14px 16px}html.portal-v1 .portal-client .account-menu{position:relative}html.portal-v1 .portal-client .account-menu-button{align-items:center;gap:6px;list-style:none;display:inline-flex}html.portal-v1 .portal-client .account-menu-button::-webkit-details-marker{display:none}html.portal-v1 .portal-client .account-menu-button:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;transform:rotate(45deg)translateY(-2px)}html.portal-v1 .portal-client .account-menu-name{color:var(--ink);font-weight:600}html.portal-v1 .portal-client .account-menu-panel{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px;box-shadow:0 1px 2px #17191c0f,0 16px 36px -16px #17191c4d}html.portal-v1 .portal-client .account-menu-panel .portal-user{border-bottom:1px solid var(--line-2);margin-bottom:6px;padding:8px 10px 10px}html.portal-v1 .portal-client .account-menu-panel .btn-ghost{text-align:left;justify-content:flex-start;width:100%}.tab-toolbar{justify-content:flex-end;display:flex}.commitment-list{gap:12px;display:grid}.commitment-card{color:inherit;gap:16px;margin:0;transition:border-color .12s,transform .12s;display:grid}.commitment-card:hover{border-color:var(--ink-3);transform:translateY(-1px)}.commitment-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.commitment-card-head,.commitment-detail-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.commitment-card-head h2{margin-top:5px;font-size:18px}.commitment-title{color:var(--ink-2);margin-top:3px;font-size:13px}.commitment-values{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--line-2);grid-template-columns:minmax(120px,.65fr) minmax(120px,.65fr) minmax(220px,1.5fr);gap:1px;margin:0;display:grid;overflow:hidden}.commitment-values>div{background:var(--paper);min-width:0;padding:10px 12px}.commitment-values dt{color:var(--ink-3);letter-spacing:.07em;text-transform:uppercase;font-size:10.5px;font-weight:600}.commitment-values dd{font-family:var(--mono);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:12.5px}.commitment-values-detail{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}.commitment-open{color:var(--accent-ink);justify-content:space-between;align-items:center;font-size:12.5px;font-weight:700;display:flex}.commitment-summary-card{border-top:3px solid var(--steel)}.commitment-line-list{display:grid}.commitment-line{border-bottom:1px solid var(--line-2);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 0;display:grid}.commitment-line:first-child{padding-top:2px}.commitment-line:last-child{border-bottom:0;padding-bottom:2px}.commitment-line-copy{gap:3px;min-width:0;display:grid}.commitment-line-copy strong{font-size:13px}.commitment-line-copy span{color:var(--ink-2);font-size:12.5px}.commitment-line-copy small{color:var(--ink-3);font-size:11px}.commitment-line-amount{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;font-size:13px;font-weight:700}@media (width<=680px){.page{padding:18px 14px 48px}.commitment-card{padding:15px}.commitment-card-head,.commitment-detail-head{align-items:flex-start}.commitment-values,.commitment-values-detail{grid-template-columns:1fr 1fr}.commitment-values>div:last-child:nth-child(odd){grid-column:1/-1}.commitment-line{grid-template-columns:minmax(0,1fr);align-items:start;gap:7px;padding:14px 0}.commitment-line-amount{text-align:left}}.table-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;overflow-x:auto}@media (width<=560px){.table.stack-on-phone thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.table.stack-on-phone tr{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:4px 12px;padding:12px 0;display:grid}.table.stack-on-phone td{border:0;padding:0;display:block}.table.stack-on-phone td:first-child{grid-area:1/1}.table.stack-on-phone td:nth-child(4){grid-area:1/2}.table.stack-on-phone td:nth-child(2),.table.stack-on-phone td:nth-child(3){grid-column:1/-1}}.form-card{padding:18px}.field{flex-direction:column;gap:5px;margin-bottom:12px;display:flex}.field-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);width:100%;padding:9px 11px;font-family:inherit;font-size:13.5px}.input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #e2571f26}.input-token{font-family:var(--mono);resize:vertical;font-size:12.5px}.input-inline{width:150px}.lines-block{margin:14px 0}.lines-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.invoice-commitment-summary{border:1px solid var(--line);border-left:3px solid var(--steel);border-radius:var(--radius-sm);background:var(--paper);justify-content:space-between;align-items:flex-end;gap:20px;margin:4px 0 16px;padding:13px 14px;display:flex}.invoice-commitment-summary>div{gap:4px;display:grid}.invoice-commitment-summary dl{grid-template-columns:repeat(3,auto);gap:18px;margin:0;display:grid}.invoice-commitment-summary dl>div{text-align:right;gap:2px;display:grid}.invoice-commitment-summary dt{color:var(--ink-3);font-size:11px}.invoice-commitment-summary dd{font-family:var(--mono);font-variant-numeric:tabular-nums;margin:0;font-weight:700}.invoice-header-fields{margin-top:16px}.invoice-line{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--paper);margin-bottom:10px;padding:12px}.invoice-line-head{min-height:28px;color:var(--ink-3);font-family:var(--mono);text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;font-weight:700;display:flex}.invoice-line-fields{grid-template-columns:minmax(0,1.6fr) minmax(140px,.45fr);align-items:start;gap:10px;display:grid}.invoice-line .field{margin:0}.invoice-description-field{grid-column:1/-1}.field-hint{color:var(--ink-3);font-size:11.5px}@media (width<=720px){.invoice-commitment-summary{flex-direction:column;align-items:stretch}.invoice-commitment-summary dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.invoice-commitment-summary dl>div{text-align:left}.invoice-line-fields{grid-template-columns:1fr 1fr}.invoice-grain-field,.invoice-description-field{grid-column:1/-1}.invoice-form .form-actions{flex-direction:column}.invoice-form .form-actions .btn{width:100%;min-height:44px}}.form-actions{gap:10px;margin-top:8px;display:flex}.submittal-project-card{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.submittal-project-picker{min-width:min(100%,420px);margin:0}.submittal-project-hint{text-align:right;font-size:12px}.submittal-toolbar{margin-bottom:10px}.submittal-card{flex-direction:column;gap:12px;display:flex}.submittal-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.submittal-card-head h3{margin-top:4px;font-size:16px}.submittal-meta{color:var(--ink-3);flex-wrap:wrap;gap:6px 16px;font-size:12.5px;display:flex}.submittal-documents{border-top:1px solid var(--line-2)}.submittal-document{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.submittal-resubmit{background:var(--warn-bg);border-radius:var(--radius-sm);border:1px solid #b8860b47;grid-template-columns:1fr minmax(220px,340px);align-items:center;gap:14px;padding:12px;display:grid}@media (width<=720px){.submittal-project-card,.submittal-document{flex-direction:column;align-items:stretch}.submittal-project-hint{text-align:left}.submittal-resubmit{grid-template-columns:1fr}}.rfi-compose{border-top:3px solid var(--accent)}.rfi-compose-head,.rfi-card-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.rfi-compose-head h2,.rfi-card-head h3{margin-top:4px}.rfi-compose-head>.dim{text-align:right;max-width:300px;font-size:12px}.rfi-question{resize:vertical;min-height:112px}.rfi-list{gap:12px;display:grid}.rfi-card{margin:0}.rfi-statuses{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.rfi-copy{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:12px;display:grid}.rfi-copy p{white-space:pre-wrap;margin:5px 0 0}.rfi-answer{border-left:3px solid var(--pos);background:var(--pos-bg);padding:12px}.rfi-answer-pending{color:var(--ink-3);border-left-color:var(--line);background:var(--paper-2)}@media (width<=720px){.rfi-compose-head,.rfi-card-head{flex-direction:column}.rfi-compose-head>.dim{text-align:left}.rfi-statuses{justify-content:flex-start}.rfi-copy{grid-template-columns:1fr}.rfi-compose .btn-primary{width:100%;min-height:44px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.client-rfi-v2{width:min(1360px,100vw - 52px);margin-left:50%;transform:translate(-50%)}.client-rfi-v2-toolbar,.client-rfi-v2-register-head,.client-rfi-v2-detail-head,.client-rfi-v2-timeline-head,.client-rfi-v2-compose-head,.client-rfi-v2-compose-meta,.client-rfi-v2-page-error{justify-content:space-between;align-items:center;gap:14px;display:flex}.client-rfi-v2-toolbar{padding:12px 14px}.client-rfi-v2-project-picker,.client-rfi-v2-toolbar .field{width:min(430px,100%);margin:0}.client-rfi-v2-project-single,.client-rfi-v2-project-context{gap:3px;display:grid}.client-rfi-v2-workspace{grid-template-columns:minmax(620px,1.55fr) minmax(360px,1fr);align-items:start;gap:16px;display:grid}.client-rfi-v2-register,.client-rfi-v2-detail-pane{min-width:0;margin:0}.client-rfi-v2-detail-pane{min-height:520px}@media (width>=1101px){.client-rfi-v2-detail-pane{overscroll-behavior:contain;max-height:calc(100dvh - 92px);position:sticky;top:72px;overflow-y:auto}}.client-rfi-v2-register-head{align-items:flex-end;margin-bottom:12px}.client-rfi-v2-register-head h2,.client-rfi-v2-detail-head h2{font-size:18px}.client-rfi-v2-register-head p{color:var(--ink-3);margin:3px 0 0;font-size:12px}.client-rfi-v2-search{align-items:center;gap:6px;min-width:min(100%,430px);display:flex}.client-rfi-v2-search .input{min-width:180px}.client-rfi-v2-filters{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2);scrollbar-width:thin;gap:4px;margin-bottom:12px;padding:3px;display:flex;overflow-x:auto}.client-rfi-v2-filter{border-radius:var(--radius-sm);min-height:38px;color:var(--ink-2);font:600 12px var(--sans);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;padding:7px 10px}.client-rfi-v2-filter:hover,.client-rfi-v2-filter.active{border-color:var(--line);background:var(--card);color:var(--ink)}.client-rfi-v2-filter.active{box-shadow:0 1px 2px #17191c14}.client-rfi-v2-table-wrap{max-width:100%;overflow-x:auto}.client-rfi-v2-table{border-collapse:collapse;width:100%;font-size:12px}.client-rfi-v2-table th{border-bottom:1px solid var(--line);color:var(--ink-3);text-align:left;vertical-align:bottom;padding:5px 7px}.client-rfi-v2-table td{border-bottom:1px solid var(--line-2);vertical-align:top;padding:10px 7px}.client-rfi-v2-table tbody tr:last-child td{border-bottom:0}.client-rfi-v2-table tbody tr[data-selected=true] td{background:var(--info-bg)}.client-rfi-v2-sort{color:inherit;font:600 10px var(--sans);letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:3px 0}.client-rfi-v2-sort.active{color:var(--ink)}.client-rfi-v2-open{color:var(--accent-ink);text-underline-offset:2px;font-weight:700;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.client-rfi-v2-open:hover{text-decoration-color:currentColor}.client-rfi-v2-open:focus-visible,.client-rfi-v2-sort:focus-visible,.client-rfi-v2-filter:focus-visible,.client-rfi-v2-back:focus-visible,.client-rfi-v2 .btn:focus-visible,.client-rfi-v2-route .btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.client-rfi-v2 .btn:active:not(:disabled),.client-rfi-v2-route .btn:active:not(:disabled),.client-rfi-v2-filter:active,.client-rfi-v2-sort:active{transform:translateY(1px)}.client-rfi-v2-subject,.client-rfi-v2-message-count,.client-rfi-v2-due{display:block}.client-rfi-v2-subject{overflow-wrap:anywhere}.client-rfi-v2-message-count,.client-rfi-v2-due,.client-rfi-v2-due time{color:var(--ink-3);font-size:10.5px}.client-rfi-v2-due time{margin-top:2px}.client-rfi-v2-due-overdue>span,.client-rfi-v2-due-overdue time{color:#9f2d22;font-weight:700}.client-rfi-v2-statuses{flex-wrap:wrap;gap:4px;display:flex}.client-rfi-v2-status{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-2);color:var(--ink-2);font:600 9.5px var(--mono);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;padding:2px 6px;display:inline-block}.client-rfi-v2-status-waiting_on_trock{background:var(--warn-bg);color:#6f5200;border-color:#b8860b59}.client-rfi-v2-status-waiting_on_client{background:var(--info-bg);color:var(--info);border-color:#3550704d}.client-rfi-v2-status-answered{background:var(--pos-bg);color:#256342;border-color:#2f7d544d}.client-rfi-v2-status-overdue{background:var(--neg-bg);color:#9f2d22;border-color:#c0392b52}.client-rfi-v2-load-more{margin:14px auto 0;display:block}.client-rfi-v2-page-error{align-items:flex-start;margin-top:12px}.client-rfi-v2-detail-head{border-bottom:1px solid var(--line);align-items:flex-start;padding-bottom:14px}.client-rfi-v2-detail-head h2{overflow-wrap:anywhere;max-width:36ch;margin-top:3px}.client-rfi-v2-number{color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;font-weight:700}.client-rfi-v2-sla{border-left:3px solid var(--steel);border-radius:var(--radius-sm);background:var(--info-bg);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:14px;padding:12px;display:grid}.client-rfi-v2-sla-owner{color:var(--ink-2);font-size:11.5px}.client-rfi-v2-audience-note{color:var(--ink-2);margin:12px 0;font-size:11.5px;line-height:1.5}.client-rfi-v2-timeline{margin-top:20px}.client-rfi-v2-timeline-head,.client-rfi-v2-compose-head{align-items:baseline;margin-bottom:10px}.client-rfi-v2-timeline-head h3,.client-rfi-v2-compose-head h3{font-size:14px}.client-rfi-v2-timeline-head .mono,.client-rfi-v2-compose-head .mono,.client-rfi-v2-compose-meta .mono{color:var(--ink-3);font-size:10.5px}.client-rfi-v2-load-earlier{margin-bottom:10px}.client-rfi-v2-messages{gap:10px;margin:0;padding:0;list-style:none;display:grid}.client-rfi-v2-message{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--paper);padding:12px}.client-rfi-v2-message-staff{border-left:3px solid var(--steel)}.client-rfi-v2-message-client{border-left:3px solid var(--accent)}.client-rfi-v2-message-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.client-rfi-v2-message-head h3{font-size:12.5px}.client-rfi-v2-message-head>div>span{color:var(--ink-3);font-size:10.5px}.client-rfi-v2-message-meta{color:var(--ink-3);font:10px var(--mono);text-align:right;gap:2px;display:grid}.client-rfi-v2-message-kind{border-radius:var(--radius-sm);background:var(--info-bg);width:fit-content;color:var(--info);font:600 9.5px var(--mono);text-transform:uppercase;margin-top:8px;padding:2px 5px}.client-rfi-v2-message-body{overflow-wrap:anywhere;color:var(--ink-2);white-space:pre-wrap;margin:9px 0 0;font-size:12.5px;line-height:1.55}.client-rfi-v2-late-note{color:#6f5200;font:600 10px var(--mono);margin:8px 0 0}.client-rfi-v2-reply{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.client-rfi-v2-reply .field,.client-rfi-v2-new .field{margin-bottom:5px}.client-rfi-v2-message-input{resize:vertical;min-height:118px}.client-rfi-v2-new{gap:9px;display:grid}.client-rfi-v2-project-context{border-radius:var(--radius-sm);background:var(--paper-2);padding:10px 12px}.client-rfi-v2-compose-meta{align-items:flex-start}.client-rfi-v2-compose-meta .client-rfi-v2-audience-note{margin:0}.client-rfi-v2 .state-inline-error,.client-rfi-v2-route .state-inline-error{border-radius:var(--radius-sm);background:var(--neg-bg);color:var(--neg);border:1px solid #c0392b47;margin:8px 0;padding:9px 11px;font-size:12px}.client-rfi-v2 .callout-warn,.client-rfi-v2-route .callout-warn{color:#6f5200}.client-rfi-v2-success{color:var(--pos);margin:8px 0;font-size:12px;font-weight:700}.client-rfi-v2-closed-note{margin-top:18px}.client-rfi-v2-route .client-rfi-v2-detail-pane{max-height:none;margin-top:14px;position:static;overflow:visible}.client-rfi-v2-back{font:600 12.5px var(--sans);cursor:pointer;background:0 0;border:0;padding:4px 0}.client-rfi-v2-skeleton,.client-rfi-v2-detail-skeleton{gap:10px;padding:12px 0;display:grid}.client-rfi-v2-skeleton-row{border-bottom:1px solid var(--line-2);grid-template-columns:72px minmax(140px,1fr) 110px;gap:12px;padding:10px 7px;display:grid}.client-rfi-v2-skeleton-row i,.client-rfi-v2-skeleton-heading,.client-rfi-v2-skeleton-copy,.client-rfi-v2-skeleton-message{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--paper-2), var(--line-2), var(--paper-2));background-size:200% 100%;min-height:12px;animation:1.3s ease-in-out infinite client-rfi-v2-shimmer;display:block}.client-rfi-v2-skeleton-heading{width:58%;min-height:24px}.client-rfi-v2-skeleton-copy{width:86%}.client-rfi-v2-skeleton-message{min-height:96px}@keyframes client-rfi-v2-shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.client-rfi-v2-skeleton-row i,.client-rfi-v2-skeleton-heading,.client-rfi-v2-skeleton-copy,.client-rfi-v2-skeleton-message{animation:none}}@media (forced-colors:active){.client-rfi-v2-status,.client-rfi-v2-message,.client-rfi-v2-sla,.client-rfi-v2-filter.active{border:1px solid canvastext}}@media (width<=1100px){.client-rfi-v2-workspace{grid-template-columns:minmax(0,1fr)}.client-rfi-v2-detail-pane{display:none}.client-rfi-v2-detail-pane-compose,.client-rfi-v2-route .client-rfi-v2-detail-pane{display:block}}@media (width<=700px){.client-rfi-v2{width:calc(100vw - 28px)}.client-rfi-v2-toolbar,.client-rfi-v2-register-head,.client-rfi-v2-detail-head,.client-rfi-v2-message-head,.client-rfi-v2-compose-meta{flex-direction:column;align-items:stretch}.client-rfi-v2-toolbar .btn-primary,.client-rfi-v2-new .btn-primary,.client-rfi-v2-reply .btn-primary{width:100%;min-height:44px}.client-rfi-v2 .btn,.client-rfi-v2-route .btn,.client-rfi-v2-filter,.client-rfi-v2-sort,.client-rfi-v2-open,.client-rfi-v2-back{min-height:44px}.client-rfi-v2-open{align-items:center;display:inline-flex}.client-rfi-v2-search{grid-template-columns:minmax(0,1fr) auto auto;width:100%;min-width:0;display:grid}.client-rfi-v2-filters,.client-rfi-v2-table thead tr{flex-wrap:wrap;overflow:visible}.client-rfi-v2-table-wrap{overflow:visible}.client-rfi-v2-table,.client-rfi-v2-table tbody,.client-rfi-v2-table tr,.client-rfi-v2-table td{width:100%;display:block}.client-rfi-v2-table thead{display:block}.client-rfi-v2-table thead tr{gap:12px;padding-bottom:8px;display:flex}.client-rfi-v2-table thead th{border:0;flex:none;padding:0}.client-rfi-v2-table thead th:nth-child(2){display:none}.client-rfi-v2-table tbody{gap:10px;display:grid}.client-rfi-v2-table tbody tr{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);padding:10px 12px}.client-rfi-v2-table tbody tr[data-selected=true]{border-color:var(--steel)}.client-rfi-v2-table tbody tr[data-selected=true] td{background:0 0}.client-rfi-v2-table td{border:0;grid-template-columns:minmax(90px,.42fr) minmax(0,1fr);gap:8px;padding:5px 0;display:grid}.client-rfi-v2-table td:before{content:attr(data-label);color:var(--ink-3);font:600 9.5px var(--mono);letter-spacing:.05em;text-transform:uppercase}.client-rfi-v2-message-meta{text-align:left}.client-rfi-v2-sla{grid-template-columns:1fr}.client-rfi-v2-page-error{flex-direction:column;align-items:stretch}}@media (width<=420px){.client-rfi-v2-search{grid-template-columns:1fr 1fr}.client-rfi-v2-search .input{grid-column:1/-1}}.punch-project-card{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.punch-project-picker{min-width:min(100%,420px);margin:0}.punch-project-hint{text-align:right}.punch-compose{border-top:3px solid var(--accent)}.punch-compose-head,.punch-card-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.punch-compose-head h2,.punch-card-head h3{margin-top:4px}.punch-compose-head>.dim{text-align:right;max-width:320px}.punch-description{resize:vertical;min-height:96px}.punch-fields{grid-template-columns:minmax(0,1fr) minmax(180px,.55fr);gap:12px;display:grid}.punch-list{gap:12px;display:grid}.punch-card{margin:0}.punch-meta,.punch-actions{flex-wrap:wrap;align-items:center;gap:8px 18px;display:flex}.punch-meta{color:var(--ink-3);font-size:12.5px}.punch-actions{justify-content:flex-end;margin-top:16px}@media (width<=720px){.punch-project-card,.punch-compose-head,.punch-card-head{flex-direction:column;align-items:stretch}.punch-project-hint,.punch-compose-head>.dim{text-align:left}.punch-fields{grid-template-columns:1fr}.punch-actions .btn,.punch-compose .btn-primary{flex:100%;min-height:44px}}.decision-bar{border-color:var(--accent)}.decision-actions{gap:12px;margin-top:12px;display:flex}.decision-done{color:var(--pos);font-weight:600}.crumb{color:var(--ink-3)}.crumb:hover{color:var(--accent)}.callout{border-radius:var(--radius-sm);padding:10px 12px;font-size:12.5px;line-height:1.4}.callout-info{background:var(--info-bg);color:var(--info);border:1px solid #35507033}.callout-warn{background:var(--warn-bg);color:var(--warn);border:1px solid #b8860b47}.login-error,.row-error{color:var(--neg);font-size:12.5px}.login-error{background:var(--neg-bg);border-radius:var(--radius-sm);border:1px solid #c0392b40;margin:6px 0;padding:9px 11px}.state{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:40px 20px;display:flex}.state-title{font-size:15px;font-weight:700}.state-hint{color:var(--ink-3);max-width:460px;font-size:13px}.state-loading{color:var(--ink-3);flex-direction:row}.spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-wrap{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:440px;padding:28px}.login-brand{align-items:center;gap:10px;margin-bottom:18px;display:flex}.login-title{margin-bottom:6px;font-size:20px}.login-sub{color:var(--ink-3);margin:0 0 18px;font-size:13px}.portal-drawings-note{border:1px solid var(--line);border-left:3px solid var(--steel);border-radius:var(--radius-sm);background:var(--info-bg);color:var(--ink-2);padding:10px 12px;font-size:12.5px}.portal-drawings-head{justify-content:space-between;gap:12px;display:flex}.portal-drawings-list{display:grid}.portal-drawing-row{border-bottom:1px solid var(--line-2);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px 16px;display:grid}.portal-drawing-row:last-child{border-bottom:0}.portal-pdf-icon{border-radius:var(--radius-sm);background:var(--neg-bg);width:38px;height:44px;color:var(--neg);font:600 10px var(--mono);border:1px solid #e4b4ad;place-items:center;display:grid}.portal-drawing-copy{gap:2px;min-width:0;display:grid}.portal-drawing-copy strong,.portal-drawing-copy span,.portal-drawing-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-drawing-copy span{color:var(--ink-2);font-size:12.5px}.portal-drawing-copy small{color:var(--ink-3);font-size:11px}.portal-drawings-more{justify-self:center}@media (width<=680px){.portal-drawing-row{grid-template-columns:auto minmax(0,1fr)}.portal-drawing-row>.pill,.portal-drawing-row>.btn{grid-column:2;justify-self:start}}.gantt{--gantt-col-gap:12px;gap:4px;display:grid}.gantt-viewport{padding-bottom:2px;overflow-x:auto}.gantt-canvas{gap:4px;width:max-content;min-width:100%;display:grid;position:relative}.gantt-scale,.gantt-delay-row,.gantt-row{grid-template-columns:var(--gantt-label-w,240px) var(--gantt-track-w,minmax(0, 1fr));align-items:center;gap:var(--gantt-col-gap);display:grid}.gantt-scale{border-bottom:1px solid var(--line);margin-bottom:2px;padding-bottom:6px}.gantt-scale .gantt-track{background:0 0;height:30px}.gantt-scale-coarse,.gantt-scale-fine{height:14px;display:block;position:absolute;inset-inline:0}.gantt-scale-coarse{top:0}.gantt-scale-fine{top:15px}.gantt-tick{font-family:var(--mono);color:var(--ink-3);white-space:nowrap;border-left:1px solid var(--line-2);padding-left:3px;font-size:10.5px;position:absolute;top:0;overflow:hidden}.gantt-tick-fine{color:var(--ink-3);opacity:.72;font-size:9.5px}.gantt-toolbar{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.gantt-toolbar .input{width:auto;min-width:0;padding:5px 8px;font-size:12.5px}.gantt-btn-group{gap:3px;display:inline-flex}.gantt-print{margin-left:auto}.btn.active{border-color:var(--accent);color:var(--accent-ink);background:var(--warn-bg)}.gantt-window{margin:0 0 6px;font-size:11.5px}.gantt-band+.gantt-band{margin-top:10px}.gantt-band-head{width:max-content;padding:2px 0 3px;position:sticky;left:0}.gantt-rows{gap:3px;margin:0;padding:0;list-style:none;display:grid}.gantt-row{min-height:24px}.gantt-row-summary .gantt-activity{font-weight:700}.gantt-label{z-index:2;background:var(--card);gap:1px;min-width:0;padding-right:6px;display:grid;position:sticky;left:0}.gantt-wbs{font-family:var(--mono);color:var(--ink-3);letter-spacing:.02em;flex:none;font-size:10px}.gantt-fold{color:var(--ink-3);cursor:pointer;background:0 0;border:0;flex:none;padding:0 1px;font-size:9px;line-height:1}.gantt-fold:hover{color:var(--ink)}.gantt-count{font-family:var(--mono);color:var(--ink-3);background:var(--paper-2);border-radius:999px;flex:none;padding:0 5px;font-size:9.5px}.gantt-pct{font-family:var(--mono);color:var(--ink-3);align-items:center;gap:5px;font-size:10.5px;display:flex}.gantt-pct-bar{background:var(--paper-2);border-radius:2px;width:46px;height:4px;display:inline-block;overflow:hidden}.gantt-pct-bar>i{background:var(--steel);height:100%;display:block}.gantt-activity{align-items:center;gap:6px;min-width:0;font-size:13px;display:flex}.gantt-activity>:first-child,.gantt-activity{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gantt-activity .pill{flex:none;padding:1px 5px;font-size:9.5px}.gantt-actual{font-family:var(--mono);color:var(--pos);white-space:nowrap;font-size:10.5px}.gantt-dates{font-family:var(--mono);color:var(--ink-3);white-space:nowrap;font-size:10.5px}.gantt-dur{color:var(--ink-2)}.gantt-track{background:var(--paper-2);border-radius:var(--radius-sm);height:18px;position:relative}.gantt-bar{background:var(--steel);border-radius:2px;min-width:3px;height:12px;position:absolute;top:3px;overflow:hidden}.gantt-bar-critical{background:var(--accent)}.gantt-bar-summary{background:var(--ink-2);border-radius:1px;height:6px;top:6px}.gantt-bar-offday:after{content:"";z-index:1;pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(45deg,#ffffff6b 0 2px,#0000 2px 6px);position:absolute;inset:0}.gantt-progress{background:#17191c57;height:100%;display:block}.gantt-milestone{background:var(--ink);width:10px;height:10px;margin-left:-5px;position:absolute;top:4px;transform:rotate(45deg)}.gantt-milestone-critical{background:var(--accent)}.gantt-milestone-offday{outline:2px dashed var(--accent);outline-offset:1px}.gantt-ghost{border:1px dashed var(--ink-3);opacity:.55;border-radius:2px;min-width:3px;height:16px;position:absolute;top:1px}.gantt-slip{font-family:var(--mono);white-space:nowrap;margin-left:5px;font-size:9.5px;line-height:14px;position:absolute;top:2px}.gantt-slip-late{color:var(--neg)}.gantt-slip-early{color:var(--pos)}.gantt-card{z-index:40;pointer-events:none;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);max-width:280px;box-shadow:var(--shadow);color:var(--ink-2);gap:2px;padding:7px 9px;font-size:11.5px;display:grid;position:fixed;transform:translate(-50%)}.gantt-card-name{color:var(--ink);font-weight:650}.gantt-card-row{font-family:var(--mono);font-size:10.5px}.gantt-legend{align-items:center;gap:6px;margin:6px 0 0;font-size:11.5px;display:flex}.gantt-swatch{border-radius:2px;width:14px;height:8px;margin-left:10px;display:inline-block}.gantt-swatch:first-child{margin-left:0}.gantt-swatch-critical{background:var(--accent)}.gantt-swatch-normal{background:var(--steel)}.gantt-swatch-summary{background:var(--ink-2);height:5px}.gantt-swatch-nonworking{background:var(--line-2);border:1px solid var(--line)}.gantt-swatch-delay{border:1px solid var(--warn);background:#b8860b38}.gantt-swatch-edge{border-top:1.6px solid var(--ink-3);background:0 0;align-self:center;height:0}.gantt-swatch-ghost{border:1px dashed var(--ink-3);background:0 0;height:8px}.gantt-legend-status{margin:3px 0 0;font-size:11.5px}.gantt-nonworking,.gantt-edges{top:0;left:calc(var(--gantt-label-w,240px) + var(--gantt-col-gap));width:var(--gantt-track-w,0);pointer-events:none;z-index:1;position:absolute}.gantt-nonworking{bottom:0}.gantt-nonworking>i{background:#17191c0e;position:absolute;top:0;bottom:0}.gantt-edges{overflow:visible}.gantt-delay-row{margin-bottom:2px}.gantt-delay-head{color:var(--warn);font-size:11px;font-weight:600}.gantt-delay-track{background:0 0;height:16px}.gantt-delay{border:1px solid var(--warn);box-sizing:border-box;background:#b8860b59;border-radius:2px;min-width:4px;position:absolute;top:1px;bottom:1px}.gantt-delay-tag{font-family:var(--mono);color:var(--warn);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;padding-left:7px;font-size:9.5px;line-height:16px;position:absolute;top:0;overflow:hidden}.gantt-delay-wash{top:0;bottom:0;left:calc(var(--gantt-label-w,240px) + var(--gantt-col-gap));width:var(--gantt-track-w,0);pointer-events:none;z-index:1;position:absolute}.gantt-delay-wash>i{background:#b8860b1f;position:absolute;top:0;bottom:0}.sched-delays-total{margin:10px 0 0}.gantt-edge polyline{fill:none;stroke:var(--ink-3);stroke-width:1.4px;opacity:.75;vector-effect:non-scaling-stroke}.gantt-edge .gantt-edge-head{fill:var(--ink-3);opacity:.75}.gantt-edge-critical polyline{stroke:var(--accent);stroke-width:1.8px;opacity:1}.gantt-edge-critical .gantt-edge-head{fill:var(--accent);opacity:1}.gantt-edge text{font-family:var(--mono);fill:var(--ink-3);paint-order:stroke;stroke:var(--card);stroke-width:2.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke;dominant-baseline:middle;text-anchor:middle;font-size:9px}.gantt-offday-list{margin:8px 0 0;font-size:11.5px}.gantt-offday-list>summary{cursor:pointer;color:var(--ink-2)}.gantt-offday-list>ul{gap:3px;margin:5px 0 0;padding-left:18px;display:grid}.sched-asof{margin:8px 0 0;font-size:11.5px}.sched-entries{gap:14px;display:grid}.sched-entry{border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:12px 14px}.sched-entry-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.sched-entry-head h3{margin:2px 0 0;font-size:14px}.sched-changes{gap:10px;margin:10px 0 0;padding:0;list-style:none;display:grid}.sched-change{border-top:1px solid var(--line-2);padding-top:10px}.sched-change-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sched-change-dates{font-family:var(--mono);color:var(--ink-2);gap:2px;margin-top:3px;font-size:11.5px;display:grid}.sched-endpoint{gap:2px;margin-top:4px;display:grid}.sched-reason{border-left:3px solid var(--accent);margin:6px 0 0;padding-left:9px;font-size:13px}.sched-reason-missing{border-left-color:var(--line);color:var(--ink-3);font-style:italic}.sched-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:14px;display:grid}.sched-stat{border-left:3px solid var(--line);gap:2px;padding-left:10px;display:grid}.cp-verdict{gap:4px;display:grid}.cp-verdict strong{font-size:17px;line-height:1.2}.cp-verdict-late strong{color:var(--neg)}.cp-verdict-none strong{color:var(--ink-2,inherit)}.sched-late{color:var(--neg)}.sched-early{color:var(--pos)}@media (width<=680px){.gantt-scale,.gantt-delay-row,.gantt-row{grid-template-columns:var(--gantt-label-w,150px) var(--gantt-track-w,minmax(0, 1fr));gap:8px}}.cp-print-head{display:none}@media print{@page portal-schedule{size:letter portrait;margin:.5in .5in .6in;@bottom-right{content:"Page " counter(page) " of " counter(pages);font-size:8pt;color:#4b5160}}@page portal-schedule-timeline{size:letter landscape;margin:.4in;@bottom-right{content:"Page " counter(page) " of " counter(pages);font-size:8pt;color:#4b5160}}.cp-schedule.cp-print-list{page:portal-schedule}.cp-schedule.cp-print-gantt{page:portal-schedule-timeline}.portal-topbar,.cp-schedule [role=tablist],.cp-schedule .gantt-toolbar,.cp-schedule .punch-project-picker,.cp-schedule .punch-project-hint{display:none!important}.cp-schedule .cp-print-head{margin:0;font-weight:650;display:block}.cp-schedule .card{box-shadow:none;break-inside:auto;border:1px solid #999}.cp-schedule .gantt-row,.cp-schedule .sched-entry,.cp-schedule tr{break-inside:avoid}.cp-print-list .gantt-track,.cp-print-list .gantt-scale,.cp-print-list .gantt-legend,.cp-print-list .gantt-swatch,.cp-print-list .gantt-nonworking,.cp-print-list .gantt-delay-row,.cp-print-list .gantt-delay-wash,.cp-print-list .gantt-edges{display:none!important}.cp-print-list .gantt-scale,.cp-print-list .gantt-row{grid-template-columns:minmax(0,1fr)}.cp-print-gantt .gantt-canvas{--gantt-track-w:6.9in;--gantt-label-w:2.6in;width:100%}.cp-print-gantt .gantt-viewport{overflow:visible}.cp-print-gantt .gantt-scale-fine,.cp-print-gantt .gantt-card{display:none}.portal:has(.cp-print-sheet:not(.cpl-sheet)) :not(:has(.cp-print-sheet)):not(.cp-print-sheet):not(.cp-print-sheet *){display:none!important}.portal:has(.cpl-sheet) :not(:has(.cp-print-sheet)):not(:has(.cp-print-keep)):not(.cp-print-sheet):not(.cp-print-sheet *):not(.cp-print-keep):not(.cp-print-keep *){display:none!important}body:has(.cp-print-sheet){box-shadow:none!important;background:#fff!important;border:0!important;margin:0!important;padding:0!important}.portal:has(.cp-print-sheet){box-shadow:none!important;background:#fff!important;border:0!important;margin:0!important;padding:0!important}.portal:has(.cp-print-sheet) :has(.cp-print-sheet){box-shadow:none!important;background:#fff!important;border:0!important;margin:0!important;padding:0!important}.cp-schedule>.cp-print-sheet{display:block}}.cp-print-sheet{display:none}@media print{.cp-print-sheet{color:#1f2430;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff}.cps-head{justify-content:space-between;align-items:baseline;margin:0 0 6pt;display:flex}.cps-head h1{margin:0;font-size:15pt;font-weight:600}.cps-stamp{color:#4b5160;font-size:9pt}.cps-issue{color:#4b5160;margin:-4pt 0 6pt;font-size:8pt}.cps-issue.cps-coverage{color:#1f2430;margin-top:-2pt;font-weight:650}.cps-empty{margin:12pt 0;font-size:10pt}.cps-subphase td.cps-name{font-weight:600}.cps-summary-bar.cps-summary-open{border-top:2pt dashed;height:0;background:0 0!important}tr.cps-group-row{break-after:avoid}.cps-subphase-bar{opacity:.6;top:46%}.cps-partial{border:1.25pt dashed var(--cps-color);background:0 0}.cps-partial-key{border:1.25pt dashed #4b5160;width:9pt;height:5pt;margin-right:4pt;display:inline-block}.cps-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:var(--cps-font,8pt)}.cps-table col.cps-name{width:2in}.cps-table col.cps-dates{width:1.55in}.cps-table thead{display:table-header-group}.cps-table tr{height:var(--cps-row,14pt);break-inside:avoid}.cps-axis th{color:#6b7280;border-bottom:1px solid #d6dae1;height:13pt;padding:0;font-size:7.5pt;font-weight:500}.cps-table td,.cps-table th{vertical-align:middle;padding:0 4pt}.cps-table .cps-track{border-left:1px solid #d6dae1;padding:0;position:relative}.cps-axis-cell{white-space:nowrap;border-left:1px solid #d6dae1;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.cps-axis-cell:first-child{border-left:0}.cps-group{border-top:1px solid #d6dae1}.cps-group-row .cps-name{font-weight:600}td.cps-name{white-space:normal;overflow-wrap:anywhere;line-height:1.15}td.cps-dates{white-space:nowrap;text-align:right;color:#4b5160;padding-right:8pt;font-size:.92em}.cps-dot{vertical-align:middle;border-radius:50%;width:6pt;height:6pt;margin-right:4pt;display:inline-block}.cps-grid{border-left:1px solid #e6e9ee;position:absolute;top:0;bottom:0}.cps-summary-bar{border-radius:1pt;height:2pt;position:absolute;top:80%}.cps-summary-label{white-space:nowrap;color:#4b5160;font-size:.9em;position:absolute;top:6%}.cps-bar{height:calc(var(--cps-row,14pt) * .55);background:var(--cps-color);border-radius:2pt;position:absolute;top:50%;transform:translateY(-50%)}.cps-bar-label{white-space:nowrap;color:#1f2430;margin-left:4pt;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.cps-label-left .cps-bar-label{margin:0 4pt 0 0;left:auto;right:100%}.cps-diamond{background:0 0;width:0;height:0}.cps-diamond:before{content:"";width:calc(var(--cps-row,14pt) * .45);height:calc(var(--cps-row,14pt) * .45);left:calc(var(--cps-row,14pt) * -.225);top:calc(var(--cps-row,14pt) * -.225);background:var(--cps-color);position:absolute;transform:rotate(45deg)}.cps-diamond .cps-bar-label{margin-left:calc(var(--cps-row,14pt) * .45)}.cps-label-left.cps-diamond .cps-bar-label{margin:0 calc(var(--cps-row,14pt) * .45) 0 0}.cps-foot{color:#4b5160;justify-content:space-between;align-items:center;margin-top:6pt;font-size:8pt;display:flex}.cps-legend{gap:12pt;display:flex}.cps-diamond-key{background:#4b5160;width:5pt;height:5pt;margin-right:4pt;display:inline-block;transform:rotate(45deg)}.cps-mark{color:#1f2430;font-weight:650}}.photo-chips{flex-wrap:wrap;gap:8px;display:flex}.chip{font:inherit;border:1px solid var(--line);background:var(--card);min-height:32px;color:var(--ink-2);cursor:pointer;border-radius:999px;padding:7px 12px;font-size:12.5px;line-height:1;transition:border-color .12s,background .12s,color .12s}.chip:hover{border-color:var(--ink-3)}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip-active{background:var(--accent);border-color:var(--accent);color:#fff}.photo-section{margin:0}.photo-section-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.photo-tile{color:inherit;border-radius:var(--radius-sm);gap:8px;text-decoration:none;display:grid}.photo-tile:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.photo-tile-frame{aspect-ratio:4/3;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-2);display:block;position:relative;overflow:hidden}.photo-tile-frame img{object-fit:cover;width:100%;height:100%;transition:transform .18s;display:block}.photo-tile:hover .photo-tile-frame img{transform:scale(1.02)}.photo-tile-placeholder{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);place-items:center;font-size:11px;display:grid;position:absolute;inset:0}.photo-tile-date{color:#fff;font-variant-numeric:tabular-nums;background:#17191c9e;border-radius:999px;padding:3px 8px;font-size:11.5px;position:absolute;bottom:8px;left:8px}.photo-tile-copy{gap:2px;font-size:13px;display:grid}.photo-tile-copy span{color:var(--ink-3);font-size:12.5px}.photo-note{margin:0;font-size:12.5px}.photo-lightbox{z-index:40;background:#17191cb8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.photo-lightbox-body{background:var(--card);border-radius:var(--radius);width:min(100%,980px);max-height:100%;box-shadow:var(--shadow);gap:12px;padding:18px;display:grid;overflow:auto}.photo-lightbox-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.photo-lightbox-body img{border-radius:var(--radius-sm);background:var(--paper-2);width:100%;height:auto}.photo-lightbox-meta{color:var(--ink-3);flex-wrap:wrap;gap:6px 18px;font-size:12.5px;display:flex}@media (width<=560px){.photo-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (prefers-reduced-motion:reduce){.photo-tile-frame img,.photo-tile:hover .photo-tile-frame img{transition:none;transform:none}}.weekly-project-bar{grid-template-columns:minmax(220px,360px) 1fr;align-items:end;gap:12px 24px;margin:0;display:grid}.weekly-project-picker,.weekly-project-single{min-width:0}.weekly-project-single{gap:5px;display:grid}.weekly-project-note{max-width:58ch;margin:0;font-size:12.5px}.weekly-report-groups,.weekly-report-versions{margin:0;padding:0;list-style:none}.weekly-report-groups{gap:12px;display:grid}.weekly-report-group{margin:0;padding:0;overflow:hidden}.weekly-report-group-head{background:var(--paper-2);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 16px 12px;display:flex}.weekly-report-group-head h2{margin-top:2px;font-size:16px}.weekly-report-week-prefix,.weekly-report-version-count{color:var(--ink-3);font-size:11.5px}.weekly-report-version-count{font-family:var(--mono);white-space:nowrap}.weekly-report-row{border-bottom:1px solid var(--line-2)}.weekly-report-row:last-child{border-bottom:0}.weekly-report-row-link{justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:10px 16px;display:flex}a.weekly-report-row-link:hover{background:var(--paper)}a.weekly-report-row-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.weekly-report-row-main{gap:2px;display:grid}.weekly-report-accepted{color:var(--ink-3);font-size:12.5px}.weekly-report-row-withdrawn .weekly-report-row-main{color:var(--ink-2)}.weekly-report-status{min-height:24px;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:2px 8px;font-size:10.5px;font-weight:700;display:inline-flex}.weekly-report-status-latest{color:var(--pos);background:var(--pos-bg)}.weekly-report-status-superseded{color:var(--info);background:var(--info-bg)}.weekly-report-status-withdrawn{color:var(--neg);background:var(--neg-bg)}.weekly-report-load-more{justify-content:center;display:flex}.weekly-report-stale{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.weekly-report-stale>span{max-width:72ch}.weekly-report-route-announcement{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.weekly-report-detail>.crumb{margin-bottom:18px;display:inline-block}.weekly-report-page-head{align-items:start}.weekly-report-document{padding:0;overflow:hidden}.weekly-report-document-head{background:var(--paper-2);border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding:18px;display:flex}.weekly-report-document-head h2{margin-top:3px;font-size:20px}.weekly-report-document-meta{color:var(--ink-3);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 14px;font-size:12px;display:flex}.weekly-report-summary,.weekly-report-facts,.weekly-team-list{margin:0}.weekly-report-summary{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;padding:16px 18px;display:grid}.weekly-report-summary>div,.weekly-report-facts>div,.weekly-team-list>div{gap:3px;display:grid}.weekly-report-summary dt,.weekly-report-facts dt,.weekly-team-list dt{color:var(--ink-3);font-size:11.5px}.weekly-report-summary dd,.weekly-report-facts dd,.weekly-team-list dd{margin:0}.weekly-report-narratives{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.weekly-report-narratives section{border-right:1px solid var(--line);min-width:0;padding:18px}.weekly-report-narratives section:last-child{border-right:0}.weekly-report-narratives h3,.weekly-report-section h3,.weekly-team h3{margin-bottom:10px;font-size:13px}.weekly-report-narratives p{color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.weekly-report-section{border-bottom:1px solid var(--line);padding:18px}.weekly-report-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 22px;display:grid}.weekly-report-teams{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.weekly-team{border-right:1px solid var(--line);padding:18px}.weekly-team:last-child{border-right:0}.weekly-team>p{margin:0}.weekly-team-list{gap:10px;display:grid}.weekly-report-photo-notes{border-bottom:0}.weekly-report-photo-notes ol{margin:0;padding-left:20px}.weekly-report-photo-notes .dim{margin:10px 0 0;font-size:12px}@media (width<=680px){.weekly-project-bar,.weekly-report-summary,.weekly-report-narratives,.weekly-report-facts,.weekly-report-teams{grid-template-columns:1fr}.weekly-report-narratives section,.weekly-team{border-right:0;border-bottom:1px solid var(--line)}.weekly-report-narratives section:last-child,.weekly-team:last-child{border-bottom:0}.weekly-report-document-head,.weekly-report-row-link{flex-direction:column;align-items:flex-start}.weekly-report-document-meta{justify-content:flex-start}}.payapp-body{padding:16px}.payapp-summary td{padding-block:7px}.payapp-summary .payapp-total td{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.payapp-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.payapp-note{margin:0;font-size:12.5px}.muted{color:var(--ink-3)}.portal-client .portal-brand{color:inherit;text-decoration:none}.page-narrow{max-width:720px}.page-lede{color:var(--ink-2);margin:6px 0 0;font-size:14px}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.back-link{color:var(--ink-2);margin-bottom:6px;font-size:13px;font-weight:600;display:inline-block}.back-link:hover{color:var(--accent-ink)}.client-v1 .back-link,.client-v1 .tile-link,.client-v1 .attention-item .btn-sm,.client-v1 .tile .btn-sm{align-items:center;min-height:32px;display:inline-flex}.client-v1 .page-head h1:focus{outline:none}.section-title{margin:0 0 10px;font-size:15px}.list-label{color:var(--ink-3);margin:16px 0 4px;font-size:12px;font-weight:600}.btn-lg{padding:12px 20px;font-size:15px}.actions{flex-wrap:wrap;gap:8px;display:flex}.ref{font-variant-numeric:tabular-nums}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.card-grid>.card{margin-bottom:0}.card-link{align-items:center;gap:12px;min-width:0;display:flex}.card-link:hover{border-color:var(--ink-3)}.card-link-text{flex:1;min-width:0}.card-link-text p{margin:4px 0 0}.card-title{margin:0;font-size:16px}.card-meta{color:var(--ink-2);font-size:13px;font-weight:600}.chevron{color:var(--ink-3);flex:none;font-size:22px;line-height:1}.card-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.card-top-text{min-width:0}.row-list{margin:0;padding:0;list-style:none}.row-item{border-top:1px solid var(--line-2);align-items:center;gap:12px;min-width:0;padding:12px 0;display:flex}.row-list>li:first-child>.row-item,.row-list>.row-item:first-child{border-top:none}.row-link{color:inherit}.row-link:hover .row-title{color:var(--accent-ink)}.row-main{flex:1;min-width:0}.row-title{overflow-wrap:anywhere;font-weight:600}.row-meta{margin-top:2px;font-size:12.5px}.row-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.row-item>.pill{white-space:nowrap;flex:none}.attention-list{margin:0;padding:0;list-style:none}.attention-item{border-top:1px solid var(--line-2);align-items:center;gap:12px;padding:10px 0;display:flex}.attention-item:first-child{border-top:none}.attention-text{flex:1;min-width:0}.attention-title{font-weight:600}.attention-detail{font-size:12.5px}.tile-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.tile-grid>.card{margin-bottom:0}.tile{flex-direction:column;gap:6px;min-width:0;display:flex}.tile-title{color:var(--ink-3);font-size:12px;font-weight:600}.tile-body{flex-direction:column;flex:1;align-items:flex-start;gap:4px;display:flex}.tile-body p{margin:0}.tile-kicker{color:var(--ink-3);font-size:12px}.tile-value{overflow-wrap:anywhere;font-size:16px;font-weight:700}.tile-money{font-variant-numeric:tabular-nums;font-size:22px}.tile-action{margin-top:6px}.tile-link{color:var(--accent-ink);font-size:13px;font-weight:600}.job-footnote{font-size:13px}.job-footnote a{color:var(--accent-ink);font-weight:600}.choice-group{border:none;gap:8px;margin:0;padding:0;display:grid}.choice{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.choice.selected{border-color:var(--accent)}.choice input{margin-top:3px}.choice-text{flex-direction:column;display:flex}.choice-label{font-weight:600}.choice-hint{color:var(--ink-3);font-size:12.5px}.next-steps{margin:8px 0 14px;padding-left:20px}.next-steps li{margin:4px 0}.total-row{justify-content:space-between;gap:12px;padding:4px 0;display:flex}.total-row-strong{border-top:1px solid var(--line);margin-top:4px;padding-top:8px;font-weight:700}@media (width<=560px){.portal-client .portal-topbar{flex-wrap:nowrap;gap:10px;padding:10px 16px}.portal-client .account-menu-name{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:38vw;display:inline-block;overflow:hidden}.portal-client .portal-name,.portal-client .portal-topbar .btn{white-space:nowrap}.portal-client .page{padding:18px 16px 48px}.portal-client .page-head{flex-direction:column;align-items:stretch}.page-actions .btn{text-align:center;flex:1}.attention-item,.card-top,.row-has-amount{flex-wrap:wrap}.row-has-amount>.row-main{flex-basis:100%}}.account-menu{position:relative}.account-menu-button{cursor:pointer;list-style:none}.account-menu-button::-webkit-details-marker{display:none}.account-menu-button:after{content:" ▾"}.account-menu-panel{z-index:30;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);min-width:220px;box-shadow:var(--shadow);gap:4px;padding:10px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.account-menu-panel .portal-user{color:var(--ink-3);border-bottom:1px solid var(--line-2);margin-bottom:2px;padding:2px 4px 6px;font-size:12.5px}.account-menu-panel .btn{text-align:left}.signin-keep{align-items:center;gap:8px;margin-top:4px;display:flex}.signin-note{color:var(--ink-3);margin:4px 0 12px;font-size:12.5px}.code-input{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;font-size:22px}.signin-links{justify-content:space-between;gap:12px;margin-top:12px;display:flex}.btn-link{font:inherit;color:var(--accent-ink);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:13px;font-weight:600}.btn-link:disabled{opacity:.55;cursor:default}@media print{.cpl-sheet{width:100%}.cpl-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4pt 12pt;margin:0 0 3pt;display:flex}.cpl-head h1{margin:0;font-size:14pt;font-weight:650}.cpl-issue{color:#4b5160;font-size:9pt}.cpl-verdict .cp-verdict{box-shadow:none;background:0 0;border:0;flex-wrap:wrap;gap:2pt 6pt;margin:0 0 3pt;padding:0;font-size:9pt;display:flex}.cpl-note{color:#4b5160;margin:0 0 8pt;font-size:7.5pt}.cpl-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:8.5pt}.cpl-table thead{display:table-header-group}.cpl-table th{text-align:left;border-bottom:1pt solid #1f2430;padding:2pt 4pt;font-weight:650}.cpl-table td{vertical-align:top;border-bottom:.5pt solid #d5d8de;padding:2pt 4pt}.cpl-table tr{break-inside:avoid}.cpl-col-num{width:.45in}.cpl-col-date{width:.85in}.cpl-col-days{width:.45in}.cpl-col-status{width:1.15in}.cpl-num,.cpl-days{color:#4b5160;font-variant-numeric:tabular-nums}.cpl-date{white-space:nowrap;font-variant-numeric:tabular-nums}.cpl-phase td{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#eef0f3;border-bottom:.5pt solid #9aa1ad}tr.cpl-phase{break-after:avoid}.cpl-col-actual{width:1.2in}.cpl-coverage{margin:-4pt 0 8pt;font-size:8pt;font-weight:650}.cpl-phase-dates{color:#4b5160;font-weight:400}.cpl-subphase .cpl-name{font-weight:600}.cp-print-keep{break-inside:avoid;font-size:8.5pt;box-shadow:none!important;background:#fff!important;border:0!important;border-top:1pt solid #1f2430!important;border-radius:0!important;margin:10pt 0 0!important;padding:6pt 0 0!important}.cp-print-keep h2{margin:0 0 4pt;font-size:11pt}.cp-print-keep *{box-shadow:none!important}}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/portal/website-font-0.ttf)format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/portal/website-font-1.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/portal/website-font-2.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/portal/website-font-3.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/portal/website-font-4.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/portal/website-font-5.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/portal/website-font-6.ttf)format("truetype")}.cp2{--cp2-ink:#15161a;--cp2-paper:#f3f3f1;--cp2-muted:#62646c;--cp2-line:#dededb;--cp2-accent:#cc1124;--cp2-accent-hover:#a50e1d;--cp2-nav-icon-active:#ff7383;--cp2-graphite:#41464e;--cp2-card:#fff;--cp2-filter:#ededeb;--cp2-hover:#eaeae7;--cp2-sidebar-muted:#bcc1c9;--cp2-today:#f6eecf;--cp2-radius:6px;--cp2-sans:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--cp2-headline:"Barlow Condensed", Impact, "Arial Narrow", sans-serif;--sans:var(--cp2-sans);--mono:var(--cp2-sans);--display:var(--cp2-sans);background:var(--cp2-paper);min-height:100dvh;color:var(--cp2-ink);font-family:var(--cp2-sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.55}.cp2 *,.cp2 :before,.cp2 :after{box-sizing:border-box}.cp2 :is(button,input,select,textarea){font-family:inherit}.cp2 a:where(:not([class*=btn]):not(.cp2-nav-item):not(.cp2-brand):not(.cp2-kpi-link)){color:var(--cp2-accent)}.cp2 a:where(:not([class*=btn]):not(.cp2-nav-item):not(.cp2-brand):not(.cp2-kpi-link)):hover{color:var(--cp2-accent-hover)}.cp2 :focus-visible{outline:2px solid var(--cp2-accent);outline-offset:2px}.cp2 .cp2-sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cp2 .cp2-icon{flex:none}.cp2 .cp2-header{background:var(--cp2-ink);border-top:3px solid var(--cp2-accent);color:#fff;z-index:30;align-items:center;gap:16px;min-height:72px;padding:0 24px;display:flex;position:sticky;top:0}.cp2 .cp2-brand{color:#fff;align-items:center;gap:12px;text-decoration:none;display:flex}.cp2 .cp2-brand-mark{object-fit:contain;background:#fff;border-radius:4px;padding:3px}.cp2 .cp2-brand-text{flex-direction:column;line-height:1.1;display:flex}.cp2 .cp2-brand-name{font-family:var(--cp2-headline);text-transform:uppercase;font-size:23px;font-weight:700}.cp2 .cp2-brand-sub{color:var(--cp2-sidebar-muted);font-size:11px}.cp2 .cp2-header-spacer{flex:1}.cp2 .cp2-workspace-btn{color:#fff;font:600 13px var(--cp2-sans);cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:4px;align-items:center;gap:6px;padding:6px 10px;display:none}.cp2 .cp2-user{position:relative}.cp2 .cp2-user-btn{cursor:pointer;color:#fff;border-radius:4px;align-items:center;gap:6px;padding:6px 8px;font-size:13px;font-weight:600;list-style:none;display:flex}.cp2 .cp2-user-btn::-webkit-details-marker{display:none}.cp2 .cp2-user-btn:hover{background:#ffffff14}.cp2 .cp2-user-panel{background:var(--cp2-card);min-width:220px;color:var(--cp2-ink);border:1px solid var(--cp2-line);border-radius:var(--cp2-radius);flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0000001f}.cp2 .cp2-user-who{color:var(--cp2-muted);padding:6px 8px;font-size:12px}.cp2 .cp2-user-item{text-align:left;font:500 13px var(--cp2-sans);color:var(--cp2-ink);cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;padding:8px;text-decoration:none;display:flex}.cp2 .cp2-user-item:hover{background:var(--cp2-hover)}.cp2 .cp2-banner{color:#a60d1f;background:#f8e9eb;padding:8px 24px;font-size:13px}.cp2 .cp2-body{grid-template-columns:232px minmax(0,1fr);min-height:calc(100dvh - 75px);display:grid}.cp2 .cp2-sidebar{background:var(--cp2-ink);padding:16px 12px}.cp2 .cp2-sidenav{flex-direction:column;gap:2px;display:flex;position:sticky;top:91px}.cp2 .cp2-nav-item{color:var(--cp2-sidebar-muted);border-left:3px solid #0000;border-radius:0 4px 4px 0;align-items:center;gap:10px;padding:13px 14px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.cp2 .cp2-nav-item:hover{color:#fff;background:#ffffff0d}.cp2 .cp2-nav-item.is-active{color:#fff;border-left-color:var(--cp2-accent);background:#ffffff14}.cp2 .cp2-nav-item.is-active .cp2-icon{color:var(--cp2-nav-icon-active)}.cp2 .cp2-side-settings{border-top:1px solid #ffffff1f;margin-top:24px;padding:14px 12px 0}.cp2 .cp2-side-settings-label{text-transform:uppercase;letter-spacing:.1em;color:var(--cp2-sidebar-muted);margin-bottom:6px;font-size:10px;font-weight:700}.cp2 .cp2-side-link{color:#fff;font-size:13px;font-weight:600;text-decoration:none}.cp2 .cp2-side-link:hover,.cp2 .cp2-side-link.is-active{color:var(--cp2-nav-icon-active)}.cp2 .cp2-main{min-width:0;padding:24px 32px 32px}.cp2.cp2-share .cp2-share-main{max-width:1280px;margin:0 auto;padding:28px 32px 40px}.cp2 .cp2-tiles{display:none}.cp2 .cp2-eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--cp2-accent);font-size:10px;font-weight:700}.cp2 .cp2-eyebrow-muted{color:var(--cp2-muted)}.cp2 .cp2-h1{font-family:var(--cp2-headline);text-transform:uppercase;letter-spacing:0;margin:2px 0 4px;font-size:42px;font-weight:700;line-height:1.05}.cp2 .cp2-h2{font-family:var(--cp2-headline);text-transform:uppercase;letter-spacing:0;margin:0;font-size:24px;font-weight:700}.cp2 .cp2-lede{color:var(--cp2-muted);max-width:70ch;margin:0}.cp2 .cp2-page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.cp2 .cp2-page-actions{gap:8px;display:flex}.cp2 .cp2-kpis{border-top:1px solid var(--cp2-line);border-bottom:1px solid var(--cp2-line);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;margin:0 0 26px;display:grid}.cp2 .cp2-kpi,.cp2 .cp2-kpi-link{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"value label""value hint";align-items:center;column-gap:12px;display:grid}.cp2 .cp2-kpi{padding:16px 16px 16px 0}.cp2 .cp2-kpi+.cp2-kpi{border-left:1px solid var(--cp2-line);padding-left:20px}.cp2 .cp2-kpi.is-link{display:block}.cp2 .cp2-kpi dt{color:var(--cp2-muted);grid-area:label;font-size:13px;font-weight:500}.cp2 .cp2-kpi dd{font-family:var(--cp2-headline);grid-area:value;margin:0;font-size:34px;font-weight:700;line-height:1}.cp2 .cp2-kpi-hint{color:var(--cp2-muted);grid-area:hint;font-size:11px}.cp2 .cp2-badge{white-space:nowrap;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:500;display:inline-block}.cp2 .cp2-badge-default{color:#41464e;background:#e8edf2}.cp2 .cp2-badge-positive{color:#256847;background:#e5f0e9}.cp2 .cp2-badge-warning{color:#775411;background:#f6efd8}.cp2 .cp2-badge-capex{color:#41464e;background:#eaeaea}.cp2 .cp2-badge-danger{color:#fff;background:var(--cp2-accent)}.cp2 .cp2-section{margin:0 0 28px}.cp2 .cp2-section-head{border-bottom:2px solid var(--cp2-ink);justify-content:space-between;align-items:baseline;margin-bottom:14px;padding-bottom:6px;display:flex}.cp2 .cp2-table{border-collapse:collapse;background:var(--cp2-card);border:1px solid var(--cp2-line);border-radius:var(--cp2-radius);width:100%;font-size:13px}.cp2 .cp2-table th{background:var(--cp2-paper);text-align:left;text-transform:uppercase;letter-spacing:.045em;color:var(--cp2-muted);border-bottom:1px solid var(--cp2-line);padding:10px 12px;font-size:11px;font-weight:500}.cp2 .cp2-table tr:last-child td{border-bottom:0}.cp2 .cp2-table .is-end{text-align:right}.cp2 .cp2-filters{background:var(--cp2-filter);border:1px solid var(--cp2-line);border-radius:var(--cp2-radius);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:14px;padding:14px 16px;display:flex}.cp2 .cp2-filter-field{flex-direction:column;gap:5px;min-width:0;display:flex}.cp2 .cp2-filter-search{flex:260px}.cp2 .cp2-filter-label{color:var(--cp2-graphite);font-size:11px;font-weight:600}.cp2 .cp2-filter-clear{color:var(--cp2-accent);cursor:pointer;background:0 0;border:0;padding:8px 4px;font-size:13px;font-weight:600}.cp2 .cp2-filter-clear:hover{color:var(--cp2-accent-hover)}.cp2 .cp2-filters select,.cp2 .cp2-filters input{font:500 13px var(--cp2-sans);border:1px solid var(--cp2-line);color:var(--cp2-ink);background:#fff;border-radius:5px;padding:8px 10px}.cp2 .cp2-search{border:1px solid var(--cp2-line);color:var(--cp2-muted);background:#fff;border-radius:5px;flex:220px;align-items:center;gap:6px;padding:0 8px;display:flex}.cp2 .cp2-search input{border:0;outline:none;flex:1;padding:6px 0}.cp2 .cp2-empty{background:var(--cp2-card);border:1px dashed var(--cp2-line);border-radius:var(--cp2-radius);text-align:center;padding:32px 20px}.cp2 .cp2-empty h2{margin:0 0 4px;font-size:17px}.cp2 .cp2-empty p{color:var(--cp2-muted);margin:0}.cp2 .cp2-progress-track{background:var(--cp2-line);border-radius:3px;flex:1;height:6px;overflow:hidden}.cp2 .cp2-progress-fill{background:var(--cp2-graphite);height:100%;display:block}.cp2 .cp2-progress-pct{color:var(--cp2-muted);font-variant-numeric:tabular-nums;font-size:12px}.cp2 .cp2-tabs{border-bottom:1px solid var(--cp2-line);gap:2px;display:flex;overflow-x:auto}.cp2 .cp2-tab{font:600 13px var(--cp2-sans);color:var(--cp2-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 14px}.cp2 .cp2-tab.is-active{color:var(--cp2-ink);border-bottom-color:var(--cp2-accent)}.cp2 .cp2-icon-btn{border:1px solid var(--cp2-line);width:36px;height:36px;color:var(--cp2-ink);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.cp2 .cp2-icon-btn:hover{background:var(--cp2-hover)}.cp2 .cp2-btn{font:600 13px var(--cp2-sans);border:1px solid var(--cp2-line);color:var(--cp2-ink);cursor:pointer;background:#fff;border-radius:4px;align-items:center;gap:6px;padding:7px 14px;text-decoration:none;display:inline-flex}.cp2 .cp2-btn:hover{background:var(--cp2-hover);color:var(--cp2-ink)}.cp2 .cp2-btn-primary{background:var(--cp2-accent);border-color:var(--cp2-accent);color:#fff}.cp2 .cp2-btn-primary:hover{background:var(--cp2-accent-hover);border-color:var(--cp2-accent-hover);color:#fff}.cp2 .cp2-btn:disabled{opacity:.55;cursor:not-allowed}.cp2 .cp2-kpi-link{color:inherit;text-decoration:none}.cp2 .cp2-kpi.is-link:hover dd{color:var(--cp2-accent)}.cp2 .cp2-drawer-root{z-index:50;position:fixed;inset:0}.cp2 .cp2-drawer-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#10182080;position:absolute;inset:0}.cp2 .cp2-drawer{background:var(--cp2-paper);outline:none;flex-direction:column;width:min(1000px,92vw);display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-12px 0 32px #00000026}.cp2 .cp2-drawer-head{align-items:flex-start;gap:12px;padding:18px 24px 10px;display:flex}.cp2 .cp2-drawer-titles{flex:1;min-width:0}.cp2 .cp2-drawer-title{font-family:var(--cp2-headline);text-transform:uppercase;margin:2px 0 0;font-size:32px;font-weight:700;line-height:1.05}.cp2 .cp2-drawer-actions{gap:8px;display:flex}.cp2 .cp2-drawer-summary{padding:0 24px 14px}.cp2 .cp2-drawer .cp2-tabs{padding:0 24px}.cp2 .cp2-drawer-body{flex:1;padding:20px 24px 32px;overflow-y:auto}body.cp2-drawer-open{overflow:hidden}@media (width<=800px){.cp2 .cp2-header{min-height:60px;padding:0 16px}.cp2 .cp2-brand-sub{display:none}.cp2 .cp2-workspace-btn{display:inline-flex}.cp2 .cp2-user-name{display:none}.cp2 .cp2-body{grid-template-columns:minmax(0,1fr)}.cp2 .cp2-sidebar{display:none}.cp2 .cp2-tiles{background:var(--cp2-ink);padding:12px 16px 16px;display:block}.cp2 .cp2-tilenav{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.cp2 .cp2-tilenav .cp2-nav-item{border-radius:var(--cp2-radius);border:1px solid #ffffff26;padding:14px 12px}.cp2 .cp2-tilenav .cp2-nav-item.is-active{border-color:var(--cp2-accent)}.cp2 .cp2-main,.cp2.cp2-share .cp2-share-main{padding:18px 16px 24px}.cp2 .cp2-h1{font-size:36px}.cp2 .cp2-page-head{flex-direction:column;align-items:stretch}.cp2 .cp2-table,.cp2 .cp2-table tbody,.cp2 .cp2-table tr,.cp2 .cp2-table td{width:100%;display:block}.cp2 .cp2-table{background:0 0;border:0}.cp2 .cp2-table thead{display:none}.cp2 .cp2-table tr{background:var(--cp2-card);border:1px solid var(--cp2-line);border-radius:var(--cp2-radius);margin-bottom:10px;padding:6px 0}.cp2 .cp2-table td{border:0;justify-content:space-between;gap:12px;padding:4px 14px;display:flex}.cp2 .cp2-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.045em;color:var(--cp2-muted);font-size:11px}.cp2 .cp2-table td.is-primary{font-size:15px;font-weight:600}.cp2 .cp2-table td.is-primary:before{content:none}.cp2 .cp2-drawer{width:100vw}.cp2 .cp2-drawer-head,.cp2 .cp2-drawer-summary,.cp2 .cp2-drawer-body{padding-left:16px;padding-right:16px}.cp2 .cp2-drawer .cp2-tabs{padding:0 16px}.cp2 .cp2-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cp2 .cp2-kpi:nth-child(odd){border-left:0;padding-left:0}.cp2 .cp2-kpi:nth-child(n+3){border-top:1px solid var(--cp2-line)}.cp2 .cp2-filters>*{flex:100%}.cp2 .cp2-filter-clear{text-align:left}}@media (width<=520px){.cp2 .cp2-h1{font-size:34px}.cp2 .cp2-main{padding:14px 14px 20px}}@media print{.cp2{min-height:0;background:#fff!important}.cp2 .cp2-header,.cp2 .cp2-sidebar,.cp2 .cp2-tiles,.cp2 .cp2-banner,.cp2 .cp2-drawer-backdrop{display:none!important}.cp2 .cp2-body{min-height:0;display:block}.cp2 .cp2-main{padding:0!important}.cp2 .cp2-drawer-root,.cp2 .cp2-drawer{width:auto!important;box-shadow:none!important;background:#fff!important;position:static!important}.cp2 .cp2-drawer-head,.cp2 .cp2-drawer .cp2-tabs{display:none!important}.cp2 .cp2-main:has(>.cp2-drawer-root)>:not(.cp2-drawer-root){display:none!important}.cp2 .cp2-drawer-body{padding:0!important;overflow:visible!important}body.cp2-drawer-open{overflow:visible!important}}.cp2 .cp2-ov{--ov-ink:var(--cp2-ink,#15161a);--ov-muted:var(--cp2-muted,#62646c);--ov-line:var(--cp2-line,#dededb);--ov-accent:var(--cp2-accent,#cc1124);--ov-paper:var(--cp2-paper,#f3f3f1);color:var(--ov-ink);flex-direction:column;gap:24px;display:flex}.cp2 .cp2-ov .cp2-link-accent{color:var(--ov-accent);font-weight:600;text-decoration:none}.cp2 .cp2-ov-grid{grid-template-columns:1.7fr 1fr;align-items:start;gap:32px;display:grid}.cp2 .cp2-ov-work{border-bottom:1px solid var(--ov-line);grid-template-columns:138px 1fr;gap:20px;padding:20px 0;display:grid}.cp2 .cp2-ov-work-photo,.cp2 .cp2-ov-cam-photo{background:#e6e6e3;border-radius:4px;overflow:hidden}.cp2 .cp2-ov-work-photo{height:185px}.cp2 .cp2-ov-work-photo img,.cp2 .cp2-ov-cam-photo img{object-fit:cover;width:100%;height:100%;display:block}.cp2 .cp2-ov-work-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ov-muted);justify-content:space-between;font-size:11px;display:flex}.cp2 .cp2-ov-work-title{margin:10px 0 6px;font-size:20px}.cp2 .cp2-ov-work-title a{color:inherit;text-decoration:none}.cp2 .cp2-ov-work-place{color:var(--ov-muted);font-size:12px}.cp2 .cp2-ov-progress{color:var(--ov-muted);grid-template-columns:1fr minmax(120px,45%);align-items:center;gap:8px;margin-top:14px;font-size:12px;display:grid}.cp2 .cp2-ov-milestone{margin-top:8px;font-size:13px}.cp2 .cp2-ov-more{color:inherit;margin-top:14px;font-weight:600;text-decoration:none;display:inline-block}.cp2 .cp2-ov-cam{border-left:3px solid var(--ov-accent);color:inherit;background:#fff;grid-template-columns:72px 1fr auto;align-items:center;gap:14px;margin-top:20px;padding:12px 14px;text-decoration:none;display:grid}.cp2 .cp2-ov-cam-photo{height:54px}.cp2 .cp2-ov-cam-text{flex-direction:column;gap:2px;font-size:13px;display:flex}.cp2 .cp2-ov-cam-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ov-muted);font-size:11px}.cp2 .cp2-ov-aside{flex-direction:column;gap:28px;display:flex}.cp2 .cp2-ov-aside-section ul{margin:0;padding:0;list-style:none}.cp2 .cp2-ov-aside-section li{border-bottom:1px solid var(--ov-line)}.cp2 .cp2-ov-count{border:1px solid var(--ov-line);border-radius:13px;place-items:center;min-width:26px;height:26px;font-size:12px;display:inline-grid}.cp2 .cp2-ov-review-item,.cp2 .cp2-ov-upcoming-item{color:inherit;gap:4px;padding:14px 0;font-size:13px;text-decoration:none;display:flex}.cp2 .cp2-ov-review-item{flex-direction:column}.cp2 .cp2-ov-review-label{color:#8a5a12;font-size:11px}.cp2 .cp2-ov-upcoming-item{gap:14px}.cp2 .cp2-ov-upcoming-item>span{flex-direction:column;gap:2px;display:flex}.cp2 .cp2-ov-upcoming-date{min-width:44px}.cp2 .cp2-ov-portfolio{border-top:1px solid var(--ov-line);border-bottom:1px solid var(--ov-line)}.cp2 .cp2-ov-portfolio summary{cursor:pointer;justify-content:space-between;padding:16px 0;font-weight:600;display:flex}.cp2 .cp2-ov-portfolio-body{flex-direction:column;gap:16px;padding-bottom:20px;display:flex}.cp2 .cp2-ov-map-slot:empty{display:none}.cp2 .cp2-ov-markets{margin:0;padding:0;list-style:none}.cp2 .cp2-ov-markets li{border-bottom:1px solid var(--ov-line);justify-content:space-between;padding:10px 0;font-size:13px;display:flex}@media (width<=1200px){.cp2 .cp2-ov-grid{grid-template-columns:1fr}.cp2 .cp2-ov-aside{grid-template-columns:1fr 1fr;display:grid}}@media (width<=800px){.cp2 .cp2-ov-aside{grid-template-columns:1fr}.cp2 .cp2-ov-work{grid-template-columns:96px 1fr}.cp2 .cp2-ov-work-photo{height:120px}}.cp2 .cp2-schedule{--cp2-sched-ink:var(--cp2-ink,#15161a);--cp2-sched-muted:var(--cp2-muted,#62646c);--cp2-sched-line:var(--cp2-line,#dededb);--cp2-sched-accent:var(--cp2-accent,#cc1124);--cp2-sched-capex:var(--cp2-graphite,#41464e);--cp2-sched-today:var(--cp2-schedule-today,#f6eecf);color:var(--cp2-sched-ink)}.cp2 .cp2-schedule-link{color:var(--cp2-sched-accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:10px 4px;font-weight:500}.cp2 .cp2-schedule-controls{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.cp2 .cp2-schedule-step{border:1px solid var(--cp2-sched-line);cursor:pointer;background:#fff;border-radius:4px;width:36px;height:36px;font-size:1.125rem}.cp2 .cp2-schedule-range{min-width:11ch;font-weight:500}.cp2 .cp2-schedule-key{gap:6px;margin-left:auto;display:flex}.cp2 .cp2-schedule-board{border:1px solid var(--cp2-sched-line);background:#fff;border-radius:6px;overflow-x:auto}.cp2 .cp2-schedule-row{border-top:1px solid var(--cp2-sched-line);grid-template-columns:240px minmax(580px,1fr);min-width:820px;display:grid}.cp2 .cp2-schedule-head{border-top:0}.cp2 .cp2-schedule-job{border-right:1px solid var(--cp2-sched-line);flex-direction:column;justify-content:center;gap:4px;padding:14px 16px;font-size:.875rem;display:flex}.cp2 .cp2-schedule-job a{color:var(--cp2-sched-ink);font-weight:600;text-decoration:none}.cp2 .cp2-schedule-job a:hover,.cp2 .cp2-schedule-job a:focus-visible{text-decoration:underline}.cp2 .cp2-schedule-job span{color:var(--cp2-sched-muted)}.cp2 .cp2-schedule-track{grid-template-columns:repeat(7,1fr);align-items:center;display:grid}.cp2 .cp2-schedule-day{border-left:1px solid var(--cp2-sched-line);color:var(--cp2-sched-muted);flex-direction:column;align-items:center;gap:2px;padding:12px 4px;font-size:.8125rem;display:flex}.cp2 .cp2-schedule-day:first-child{border-left:0}.cp2 .cp2-schedule-day strong{color:var(--cp2-sched-ink);font-size:1rem}.cp2 .cp2-schedule-cell{border-left:1px solid var(--cp2-sched-line);grid-row:1;align-self:stretch;min-height:64px}.cp2 .cp2-schedule-cell:first-child{border-left:0}.cp2 .cp2-schedule-today{background:var(--cp2-sched-today)}.cp2 .cp2-schedule-bar{z-index:1;color:#fff;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;grid-row:1;margin:0 4px;padding:7px 8px;font-size:.75rem;text-decoration:none;overflow:hidden}.cp2 .cp2-schedule-bar:focus-visible{outline:2px solid var(--cp2-sched-ink);outline-offset:2px}.cp2 .cp2-schedule-bar-construction{background:var(--cp2-sched-capex)}.cp2 .cp2-schedule-bar-service{background:var(--cp2-sched-accent)}.cp2 .cp2-schedule-agenda{margin:0;padding:0;list-style:none;display:none}.cp2 .cp2-schedule-agenda-card{border:1px solid var(--cp2-sched-line);min-height:44px;color:var(--cp2-sched-ink);background:#fff;border-radius:6px;grid-template-columns:72px 1fr 24px;align-items:center;gap:12px;margin-bottom:12px;padding:16px;text-decoration:none;display:grid}.cp2 .cp2-schedule-agenda-dates{flex-direction:column;font-size:.875rem;display:flex}.cp2 .cp2-schedule-agenda-dates span,.cp2 .cp2-schedule-agenda-property,.cp2 .cp2-schedule-agenda-activities{color:var(--cp2-sched-muted);font-size:.8125rem}.cp2 .cp2-schedule-agenda-body{flex-direction:column;gap:6px;display:flex}.cp2 .cp2-schedule-agenda-title{font-size:1rem}.cp2 .cp2-schedule-agenda-badges{gap:6px;display:flex}.cp2 .cp2-schedule-agenda-activities{flex-direction:column;gap:2px;display:flex}.cp2 .cp2-schedule-state{border:1px solid var(--cp2-sched-line);background:#fff;border-radius:6px;padding:32px 24px}.cp2 .cp2-schedule-state h2{text-transform:uppercase;margin:0 0 6px;font-family:Barlow Condensed,sans-serif}.cp2 .cp2-schedule-state p{color:var(--cp2-sched-muted);margin:0 0 12px}@media (width<=800px){.cp2 .cp2-schedule-board,.cp2 .cp2-schedule-key{display:none}.cp2 .cp2-schedule-agenda{display:block}.cp2 .cp2-schedule-step{width:44px;height:44px}}@media print{.cp2 .cp2-schedule .cp2-filters,.cp2 .cp2-schedule-controls button{display:none}}.cp2 .cp2-share-head{margin-bottom:4px}.cp2 .cp2-share-head p{color:var(--cp2-muted);max-width:80ch;margin:4px 0 0}@media screen{.cp2 .cp-schedule{--paper:var(--cp2-paper);--paper-2:var(--cp2-filter);--card:var(--cp2-card);--ink:var(--cp2-ink);--ink-2:#2b2e34;--ink-3:var(--cp2-muted);--line:var(--cp2-line);--accent:var(--cp2-accent);--accent-ink:var(--cp2-accent-hover);--accent-fill:var(--cp2-accent);--steel:var(--cp2-graphite);--pos:#215e40;--pos-bg:#e5f0e9;--neg:var(--cp2-accent-hover);--neg-bg:#f8e9eb;--warn:#775411;--warn-bg:#f6efd8;--info:#2f4a63;--info-bg:#e7ecf1;--radius:var(--cp2-radius);--radius-sm:4px;--shadow:none;--sans:var(--cp2-sans);--mono:var(--cp2-sans);--display:var(--cp2-sans);font-family:var(--cp2-sans);font-variant-numeric:tabular-nums}.cp2 .cp-schedule .card>h2,.cp2 .cp-schedule h2{font-family:var(--cp2-headline);text-transform:uppercase;letter-spacing:.01em;font-size:26px;font-weight:700;line-height:1.05}.cp2 .cp-schedule .card{border-radius:var(--cp2-radius)}.cp2 .cp-schedule .cp-verdict strong{font-family:var(--cp2-headline);text-transform:uppercase;font-size:24px;font-weight:700}.cp2 .cp-schedule .btn{font-weight:500}.cp2 .cp-schedule .btn.active{background:var(--cp2-ink);border-color:var(--cp2-ink);color:#fff}.cp2 .cp-schedule .input:focus{border-color:var(--cp2-ink);box-shadow:0 0 0 2px #15161a1f}.cp2 .cp-schedule .pill{font-family:var(--cp2-sans);letter-spacing:0;text-transform:none;border-color:#0000;border-radius:4px;font-size:11.5px;font-weight:500}.cp2 .cp-schedule .eyebrow,.cp2 .cp-schedule .gantt-band-head{font-family:var(--cp2-sans)}}@media screen and (width<=800px){.cp2 .cp-schedule .gantt-btn-group{flex-wrap:wrap}.cp2 .cp-schedule .gantt-print{margin-left:0}.cp2 .cp-schedule .cp-print-hint{flex-basis:100%}.cp2 .cp-schedule .card{min-width:0;overflow-x:auto}.cp2 .cp-schedule .gantt>*{min-width:0}.cp2 .cp-schedule .gantt-toolbar .input{max-width:100%}}.cp2 .cp2-page-head{margin-bottom:18px}.cp2 .cp2-h1{font-family:var(--cp2-headline,"Barlow Condensed", Impact, sans-serif);text-transform:uppercase;letter-spacing:0;color:var(--cp2-ink,#15161a);margin:0 0 6px;font-size:42px;font-weight:700;line-height:1}.cp2 .cp2-lede{color:var(--cp2-muted,#62646c);margin:0;font-size:14px}.cp2 .cp2-muted{color:var(--cp2-muted,#62646c)}.cp2 .cp2-sub{margin-top:2px;font-size:12px;display:block}.cp2 .cp2-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--cp2-accent,#cc1124);margin:0 0 8px;font-size:10px;font-weight:700}.cp2 .cp2-link{color:var(--cp2-accent,#cc1124);font-weight:600;text-decoration:none}.cp2 .cp2-link:hover{color:#a10e1d;text-decoration:underline}.cp2 .cp2-filters{background:#ededeb;border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:14px 16px;display:flex}.cp2 .cp2-input,.cp2 .cp2-select{font:inherit;border:1px solid var(--cp2-line,#dededb);min-height:36px;color:var(--cp2-ink,#15161a);background:#fff;border-radius:5px;padding:6px 10px;font-size:13px}.cp2 .cp2-input{flex:240px;min-width:0}.cp2 .cp2-btn-link{font:inherit;color:var(--cp2-accent,#cc1124);cursor:pointer;background:0 0;border:0;padding:6px 4px;font-size:13px;font-weight:600}.cp2 .cp2-results{color:var(--cp2-muted,#62646c);margin:0 0 10px;font-size:12px}.cp2 .cp2-empty{color:var(--cp2-muted,#62646c);padding:24px 0}.cp2 .cp2-table-wrap{overflow-x:auto}.cp2 .cp2-table{border-collapse:collapse;border-top:2px solid var(--cp2-ink,#15161a);background:#fff;width:100%;font-size:13px}.cp2 .cp2-table th{text-align:left;letter-spacing:.045em;text-transform:uppercase;color:var(--cp2-muted,#62646c);border-bottom:1px solid var(--cp2-line,#dededb);padding:10px 12px;font-size:11px;font-weight:500}.cp2 .cp2-table td{border-bottom:1px solid var(--cp2-line,#dededb);vertical-align:middle;padding:12px}.cp2 .cp2-job-link{color:var(--cp2-ink,#15161a);font-weight:600;text-decoration:none}.cp2 .cp2-job-link:hover{color:var(--cp2-accent,#cc1124)}.cp2 .cp2-range{white-space:nowrap}.cp2 .cp2-badge{color:#41464e;white-space:nowrap;background:#e8edf2;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:500;display:inline-block}.cp2 .cp2-badge-construction{color:#41464e;background:#eaeaea}.cp2 .cp2-badge-service{color:#a60d1f;background:#f8e9eb}.cp2 .cp2-badge-scheduled{color:#775411;background:#f6efd8}.cp2 .cp2-badge-active{color:#41464e;background:#e8edf2}.cp2 .cp2-badge-complete{color:#256847;background:#e5f0e9}.cp2 .cp2-progress{align-items:center;gap:8px;min-width:120px;display:inline-flex}.cp2 .cp2-progress-bar{background:#e6e6e3;border-radius:3px;flex:1;height:6px;overflow:hidden}.cp2 .cp2-progress-bar>span{background:#41464e;height:100%;display:block}.cp2 .cp2-progress-pct{font-variant-numeric:tabular-nums;font-size:12px}.cp2 .cp2-tags{flex-wrap:wrap;gap:6px;margin:0 0 12px;display:flex}.cp2 .cp2-next{border-left:3px solid var(--cp2-accent,#cc1124);background:#fff;margin:0 0 18px;padding:10px 14px;font-size:13px}.cp2 .cp2-job-overview{grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:24px;display:grid}.cp2 .cp2-record{border:1px solid var(--cp2-line,#dededb);background:#fff;border-radius:6px;padding:16px}.cp2 .cp2-record dl{gap:4px 0;margin:0;font-size:13px;display:grid}.cp2 .cp2-record dt{color:var(--cp2-muted,#62646c);text-transform:uppercase;letter-spacing:.045em;margin-top:8px;font-size:11px}.cp2 .cp2-record dd{margin:0}.cp2 .cp2-cam-banner{color:#fff;background:#20272d;border-radius:6px;margin:0 0 14px;padding:10px 14px;font-size:13px}.cp2 .cp2-cam-banner b{color:#d77a4e;letter-spacing:.06em;text-transform:uppercase}.cp2 .cp2-pills{flex-wrap:wrap;gap:6px;margin:0 0 14px;display:flex}.cp2 .cp2-pill{font:inherit;border:1px solid var(--cp2-line,#dededb);color:var(--cp2-ink,#15161a);cursor:pointer;background:#fff;border-radius:4px;padding:6px 12px;font-size:13px;font-weight:600}.cp2 .cp2-pill-on{background:var(--cp2-ink,#15161a);border-color:var(--cp2-ink,#15161a);color:#fff}.cp2 :is(a,button,input,select):focus-visible{outline:3px solid var(--cp2-accent,#cc1124);outline-offset:3px}@media (prefers-reduced-motion:no-preference){.cp2 .cp2-pill,.cp2 .cp2-btn-link{transition:background-color .15s,border-color .15s}}@media (width<=800px){.cp2 .cp2-h1{font-size:36px}.cp2 .cp2-table{background:0 0;border-top:0}.cp2 .cp2-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.cp2 .cp2-table tr{border:1px solid var(--cp2-line,#dededb);background:#fff;border-radius:6px;margin-bottom:10px;padding:12px 14px;display:block}.cp2 .cp2-table td{border:0;grid-template-columns:110px minmax(0,1fr);align-items:baseline;gap:12px;padding:4px 0;display:grid}.cp2 .cp2-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.045em;color:var(--cp2-muted,#62646c);font-size:11px}.cp2 .cp2-job-overview{grid-template-columns:1fr}.cp2 .cp2-record{display:none}}@media (width<=520px){.cp2 .cp2-h1{font-size:34px}}
