*{box-sizing:border-box;margin:0;padding:0}:root{--brand:#23783a;--brand-hover:#1a642f;--brand-dark:#102d1b;--brand-ink:#123720;--ink:#18231c;--muted:#68756d;--line:#dfe7e1;--line-strong:#cad7cd;--bg:#f1f5f1;--surface:#fff;--surface-soft:#f6f9f6;--shadow-sm:0 1px 2px rgba(16,45,27,.05);--shadow-md:0 10px 30px rgba(16,45,27,.07);--shadow-lg:0 18px 46px rgba(9,34,19,.12)}body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at 8% -10%,rgba(62,135,78,.09),transparent 32rem),radial-gradient(circle at 100% 12%,rgba(28,71,43,.05),transparent 28rem),linear-gradient(180deg,#f7faf7 0,var(--bg) 48%,#edf2ed 100%);background-attachment:fixed;min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid rgba(35,120,58,.3);outline-offset:2px;border-radius:7px}input,select,textarea{color:var(--ink);font-family:inherit;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(35,120,58,.12)}input::placeholder,textarea::placeholder{color:#8a968e;opacity:1}button,input,select,textarea{font:inherit}button:disabled{cursor:not-allowed;opacity:.58}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:#c4d0c6;border-radius:9px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#a7b9aa;background-clip:content-box}.topbar{background:radial-gradient(circle at 18% -100%,rgba(72,170,95,.25),transparent 30rem),linear-gradient(115deg,#0c2114,#12311e 56%,#0b2416);color:#fff;padding:0 24px;box-shadow:0 5px 24px rgba(8,28,16,.2);border-bottom:1px solid rgba(173,222,184,.14);position:-webkit-sticky;position:sticky;top:0;z-index:30}.topbar:after{content:"";position:absolute;right:6%;bottom:0;left:6%;height:1px;background:linear-gradient(90deg,transparent,rgba(89,181,107,.45),transparent)}.topbar-inner{width:100%;max-width:1240px;min-height:74px;margin:0 auto;justify-content:space-between;gap:24px}.tb-brand,.topbar-inner{display:flex;align-items:center}.tb-brand{gap:12px;min-width:0;color:#fff}.tb-brand:hover{text-decoration:none}.tb-mark{display:block;width:48px;height:48px;border:1px solid hsla(0,0%,100%,.13);border-radius:13px;box-shadow:0 6px 18px rgba(0,0,0,.24)}.tb-lockup{display:flex;flex-direction:column;line-height:1.05}.tb-lockup strong{color:#f8fbf8;font-size:18px;font-weight:800;letter-spacing:.105em}.tb-lockup>span{margin-top:6px;color:#9fc7a8;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.18em}.tb-user{display:flex;align-items:center;gap:11px;min-width:0}.tb-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border:1px solid rgba(166,218,178,.24);border-radius:10px;color:#dff0e3;background:rgba(112,179,126,.12);font-size:11px;font-weight:800;letter-spacing:.04em}.tb-user-copy{display:flex;min-width:0;flex-direction:column;line-height:1.15}.tb-user-copy>span{color:#86a990;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.11em}.tb-user-name{max-width:190px;overflow:hidden;color:#f5faf6;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.tb-signout{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:1px solid rgba(197,229,204,.2);border-radius:9px;padding:0 11px;color:#d8eadc;background:hsla(0,0%,100%,.055);font-size:11px;font-weight:650;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease}.tb-signout svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.tb-signout:hover{border-color:rgba(197,229,204,.38);color:#fff;background:hsla(0,0%,100%,.1)}@media (max-width:560px){.topbar{padding:0 14px}.topbar-inner{min-height:64px;gap:10px}.tb-mark{width:42px;height:42px;border-radius:11px}.tb-lockup strong{font-size:15px}.tb-lockup>span{font-size:8px;letter-spacing:.13em}.tb-avatar,.tb-user-copy{display:none}.tb-signout{width:36px;height:36px;padding:0}.tb-signout span{display:none}}.wrap{max-width:1080px;margin:0 auto;padding:34px 24px 56px}.card{background:hsla(0,0%,100%,.96);border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin-bottom:18px;box-shadow:var(--shadow-sm),var(--shadow-md)}h1{font-size:clamp(25px,2.3vw,31px);font-weight:760;margin-bottom:5px;letter-spacing:-.035em;color:#102d1b;line-height:1.18}h2{font-size:16px;font-weight:720;margin:22px 0 10px;color:#26352b;letter-spacing:-.01em}.muted{color:var(--muted);font-size:13px}.page-description{max-width:720px;margin:0 0 20px;color:var(--muted);font-size:14px}.breadcrumbs{display:flex;align-items:center;gap:8px;margin-bottom:13px;color:#7b887f;font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.06em}.breadcrumbs a{color:#4e765a}.breadcrumbs a:hover{color:var(--brand);text-decoration:none}.breadcrumbs strong{color:#617068;font-weight:750}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;padding:8px 10px;border-bottom:1px solid #eef0f3}th{color:#6b7280;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.right{text-align:right}.tag{display:inline-block;padding:1px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:11px;font-weight:600}.tag.gray{background:#f1f3f5;color:#495057}.tag.blue{background:#e7f0ff;color:#1d4ed8}.tag.amber{background:#fff4e0;color:#b45309}.tag.green{background:#e6f6ec;color:#1b7f43}.tag.red{background:#fbe9e7;color:#b3261e}.btn{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line-strong);background:linear-gradient(180deg,#fff,#fbfcfb);color:#1b3022;border-radius:10px;padding:0 15px;font-size:13px;font-weight:680;line-height:1;cursor:pointer;box-shadow:0 1px 2px rgba(16,45,27,.04);transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .08s ease,color .16s ease}.btn:hover{background:#f4f8f4;border-color:#aebfb2;box-shadow:0 4px 12px rgba(16,45,27,.08);text-decoration:none}.btn:active{transform:translateY(1px)}.btn.primary{background:linear-gradient(180deg,#2b8a45,#1c6d34);border-color:#1b6530;color:#fff;box-shadow:0 4px 12px rgba(21,84,39,.2),inset 0 1px 0 hsla(0,0%,100%,.14)}.btn.primary:hover{background:linear-gradient(180deg,#257c3e,#175f2c);border-color:#155a29;box-shadow:0 6px 16px rgba(21,84,39,.25)}.btn.small{min-height:34px;padding:0 11px;font-size:12px;border-radius:9px}.btn.icon-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url]{min-height:40px;border:1px solid var(--line-strong);border-radius:10px;padding:0 12px;font-size:13px;width:90px;background:#fff;box-shadow:inset 0 1px 1px rgba(18,48,28,.025)}input[type=text].wide{width:220px}.actions-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}.nav a{color:#cbd5e1;margin-left:16px;font-size:13px}.nav a:hover{color:#fff}.flow{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 8px}.flow .step{border:1px solid #e3e6ea;border-radius:8px;padding:8px 12px;font-size:12px;background:#fff;min-width:110px}.flow .step .s-label{color:#6b7280;font-size:11px;text-transform:uppercase;letter-spacing:.03em}.flow .step .s-state{font-weight:700;margin-top:2px}.flow .step.done{border-color:#b7e4c7;background:#f2fbf5}.flow .step.active{border-color:#9dbcf0;background:#f2f6ff}.hint{color:#6b7280;margin-top:6px}.hint,code{font-size:12px}code{background:#f1f3f5;padding:1px 5px;border-radius:4px}.print-only{display:none}.po-doc{color:#1a1a1a}.po-doc .ph{display:flex;justify-content:space-between;align-items:flex-start}.po-doc .ph img{height:74px;width:auto}.po-doc .ph .title{text-align:right}.po-doc .ph .title .t1{color:#1f7a33;font-weight:700;font-size:15px;letter-spacing:.06em}.po-doc .ph .title .t2{color:#1f7a33;font-weight:700;font-size:22px}.po-doc .ph .title .rev{font-size:11px;color:#555;margin-top:3px}.po-doc .vendor-block{margin-bottom:16px}.po-doc .vrow{display:flex;justify-content:space-between;align-items:flex-start;gap:28px}.po-doc .vinfo .val{font-size:13px}.po-doc .vaddr{font-size:11px;color:#555;margin-top:2px;white-space:pre-line;line-height:1.35}.po-doc .attn{font-size:11px;line-height:1.4}.po-doc .attn .al{font-size:10px;color:#888;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.po-doc .attn .k{color:#888}.po-doc .hdr-cols{display:flex;justify-content:space-between;gap:32px;margin-bottom:16px}.po-doc .hcol-left{flex:1 1}.po-doc .hcol-right{flex:0 0 210px;width:210px}.po-doc .hcol-left .fld,.po-doc .hcol-right .attn,.po-doc .hcol-right .fld{margin-bottom:12px}.po-doc .release{text-align:center;font-weight:700;font-size:15px;margin:16px 0 6px;color:#1a1a1a}.po-doc .rule{border:0;border-top:2px solid #1f7a33;margin:8px 0 10px}.po-doc .addr{font-size:11px;color:#555;margin-bottom:16px}.po-doc .grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px 28px;gap:10px 28px;margin-bottom:16px}.po-doc .fld .lbl{font-size:10px;color:#888;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.po-doc .fld .val{font-size:13px}.po-doc table{width:100%;border-collapse:collapse}.po-doc thead th{background:#eef1f3;color:#666;font-size:10px;text-transform:uppercase;letter-spacing:.03em;text-align:left;padding:7px 8px;font-weight:700}.po-doc thead th.right{text-align:right}.po-doc tbody td{padding:6px 8px;border-bottom:1px solid #eee;font-size:12px}.po-doc .totals{margin-left:auto;width:270px;margin-top:10px}.po-doc .totals td{padding:4px 8px;font-size:12px;border:none}.po-doc .totals .grand td{border-top:2px solid #1f7a33;color:#1f7a33;font-weight:700;font-size:15px;padding-top:8px}.po-doc .terms{margin-top:18px;font-size:11px}.po-doc .terms .lbl{font-size:10px;color:#888;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.po-doc .sign{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;grid-gap:40px;gap:40px}.po-doc .sign .line{border-top:1px solid #333;padding-top:4px;font-size:10px;color:#666}.po-doc .foot{margin-top:30px;border-top:1px solid #ccc;padding-top:6px;font-size:9px;color:#888;text-align:center}.po-terms{page-break-before:always;break-before:page;padding-top:2px}.po-terms .t-head{display:flex;justify-content:space-between;font-size:10px;color:#1f7a33;font-weight:700;border-bottom:2px solid #1f7a33;padding-bottom:4px}.po-terms h3{font-size:13px;text-align:center;margin:10px 0 12px;letter-spacing:.03em}.po-terms .clauses{column-count:2;column-gap:26px}.po-terms .clause{page-break-inside:avoid;break-inside:avoid;font-size:9.5px;line-height:1.35;margin-bottom:7px;display:flex;gap:6px}.po-terms .cb{flex:0 0 auto;display:inline-block;width:11px;height:11px;line-height:10px;text-align:center;border:1px solid #333;font-size:9px}.po-terms .fob{font-weight:700;font-size:11px;margin:14px 0 4px}.po-terms .ln{font-size:10px;margin:4px 0}.po-terms .ack{font-size:10px;margin:10px 0}.po-terms .sign4{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 44px;gap:12px 44px;margin-top:26px}.po-terms .sign4 .line{border-top:1px solid #333;padding-top:3px;font-size:9px;color:#666}.po-terms .note{font-size:9px;font-style:italic;margin-top:16px;color:#555}@media print{.btn,.jobfilter,.no-print,.screen-view,.topbar,form{display:none!important}body{background:#fff}.print-only{display:block!important}.wrap{max-width:100%;margin:0;padding:0}a{color:#000!important;text-decoration:none}}.portal-intro{max-width:680px;margin:4px auto 26px;text-align:center}.portal-intro .eyebrow{display:inline-flex;align-items:center;gap:7px;margin-bottom:8px;color:var(--brand);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.15em}.portal-intro .eyebrow:after,.portal-intro .eyebrow:before{content:"";width:22px;height:1px;background:#a7c9af}.portal-intro h1{font-size:clamp(28px,3.4vw,38px)}.portal-intro p{margin-top:8px;color:var(--muted);font-size:14px}.portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:15px;gap:15px;margin-top:18px}.mod-card{position:relative;display:block;min-height:190px;background:linear-gradient(135deg,hsla(0,0%,100%,.99),rgba(249,252,249,.96));border:1px solid var(--line);border-radius:17px;padding:21px;text-align:left;color:#1a1a1a;box-shadow:var(--shadow-sm),0 8px 24px rgba(20,40,25,.04);overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.mod-card:after{content:"→";position:absolute;right:20px;bottom:21px;color:#7fa08a;font-size:17px;font-weight:600;transition:color .16s ease,transform .16s ease}.mod-card:hover{border-color:#b2cab8;box-shadow:var(--shadow-lg);transform:translateY(-3px);text-decoration:none}.mod-card:hover:after{color:var(--brand);transform:translateX(3px)}.mod-card.soon{opacity:.72}.mod-card.soon:after{display:none}.mod-card .ic{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dce8de;border-radius:12px;background:#f1f7f2;font-size:22px;line-height:1;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.9)}.mod-card .t{margin-top:15px;color:#16301e;font-size:16px;font-weight:740;letter-spacing:-.01em}.mod-card .d{margin-top:3px;color:#69766e;font-size:12px}.mod-card .st{display:inline-block;margin-top:14px;font-size:10px;font-weight:720;padding:4px 9px;border-radius:20px}.mod-card .st.live{background:#e7f4ea;color:#176331}.mod-card .st.soon{background:#f1f3f5;color:#868e96}details.year{background:#fff;border:1px solid #e7eae7;border-radius:12px;margin-bottom:10px;overflow:hidden;box-shadow:0 1px 2px rgba(20,40,25,.04)}details.year>summary{list-style:none;cursor:pointer;padding:13px 16px;display:flex;align-items:center;gap:10px;-webkit-user-select:none;-moz-user-select:none;user-select:none}details.year>summary::-webkit-details-marker{display:none}details.year>summary:before{content:"▸";color:#1f7a33;font-size:11px}details.year[open]>summary:before{content:"▾"}details.year[open]>summary{border-bottom:1px solid #eef0f3}details.year>summary:hover{background:#f5f9f5}details.year .year-label{font-weight:700;font-size:15px}details.year .year-count{color:#6b7280;font-size:12px;background:#f1f3f1;padding:2px 9px;border-radius:20px}.job-search{display:flex;align-items:center;gap:8px;margin-bottom:10px}.job-search input[type=search]{flex:1 1;padding:10px 12px;font-size:15px;border:1px solid #c9ced6;border-radius:8px;background:#fff}.job-search input[type=search]:focus{outline:none;border-color:#1f7a33;box-shadow:0 0 0 3px rgba(31,122,51,.12)}.job-search+p+.tree-body,.job-search~.tree-body{background:#fff;border:1px solid #e3e7ea;border-radius:10px;overflow:hidden}.job-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid #f1f3f1;color:#1a1a1a}.job-row:last-child{border-bottom:none}.job-row:hover{background:#f5f9f5;text-decoration:none}.job-badge{flex:0 0 auto;background:#e6f6ec;color:#17542a;font-weight:700;font-size:12px;padding:4px 10px;border-radius:7px;letter-spacing:.02em}.job-main{flex:1 1;min-width:0}.job-name{display:block;font-weight:600;font-size:14px}.job-pm{display:block}.job-pm,.job-pos{font-size:12px;color:#6b7280}.job-arrow,.job-pos{flex:0 0 auto}.job-arrow{color:#1f7a33;font-weight:700}.po-search{display:flex;gap:8px;margin:8px 0 14px}.po-search input{flex:1 1;width:auto;max-width:440px}.bulk-bar{align-items:center;margin-bottom:10px}.bulk-bar,.po-select{display:flex;gap:10px}.po-select{align-items:flex-start}.po-select>input[type=checkbox]{margin-top:15px;flex:0 0 auto;width:16px;height:16px}.po-select>details{flex:1 1;min-width:0}.tabs{display:flex;width:-moz-fit-content;width:fit-content;max-width:100%;gap:3px;border:1px solid var(--line);border-radius:12px;padding:4px;background:#edf2ee;margin-bottom:16px;overflow-x:auto}.tabs .tab{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;font-size:13px;font-weight:680;color:#647169;border:1px solid transparent;border-radius:8px;white-space:nowrap}.tabs .tab:hover{color:var(--brand-ink);background:hsla(0,0%,100%,.55);text-decoration:none}.tabs .tab.on{color:var(--brand-ink);border-color:rgba(18,55,32,.1);background:#fff;box-shadow:0 2px 8px rgba(16,45,27,.09)}.checkin-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #e7eae7;border-radius:12px;padding:12px 16px;margin-bottom:16px;box-shadow:0 1px 2px rgba(20,40,25,.04)}.mat-group{margin-bottom:28px;overflow:hidden;border:1px solid #bfd1c3;border-left:5px solid #1f7a33;border-radius:16px;padding:0 14px 16px;background:#f5f9f5;box-shadow:0 3px 10px rgba(22,64,34,.08)}.mat-po-head{font-weight:700;font-size:13px;color:#17542a;margin:0 0 8px}.mat-po-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 -14px 14px;border-bottom:1px solid #c9dacc;padding:13px 16px;background:linear-gradient(90deg,#e5f1e8,#f0f6f1)}.mat-po-identity{min-width:0}.mat-po-kicker{display:block;margin-bottom:3px;color:#54705c;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.mat-po-title-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.mat-po-number{color:#14632c;font-size:16px;font-weight:800}.mat-po-vendor{font-size:14px;font-weight:700}.mat-po-vendor:before{content:"·";margin-right:9px;color:#809087}.mat-po-progress{border:1px solid #cbd9ce;border-radius:999px;padding:3px 9px;background:hsla(0,0%,100%,.75);font-size:11px}.mat-po-progress,.mat-po-slip{color:#526258;font-weight:700;white-space:nowrap}.mat-po-slip{display:flex;align-items:center;gap:7px;font-size:12px}.mat-po-slip input{width:130px;background:#fff}.mat-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #e7eae7;border-radius:10px;margin-bottom:8px;background:#fff;box-shadow:0 1px 2px rgba(20,40,25,.03)}.mat-info{min-width:0}.mat-desc{font-weight:600;font-size:14px}.mat-sub{font-size:12px;color:#6b7280;margin-top:1px}.mat-ctrl{display:flex;align-items:center;gap:10px;flex:0 0 auto}.mat-badge{font-size:12px;font-weight:700;padding:4px 10px;border-radius:20px}.mat-badge.gray{background:#f1f3f1;color:#5f6b60}.mat-badge.amber{background:#fff4e0;color:#b45309}.mat-badge.green{background:#e6f6ec;color:#1b7f43}.mat-ctrl input{width:64px;text-align:right}.checkin-actions{display:flex;align-items:center;gap:14px;margin-top:8px;flex-wrap:wrap}.mat-item{border:1px solid #cbd9ce;border-radius:12px;background:#fff;box-shadow:0 1px 3px rgba(20,40,25,.06);padding:4px 12px 10px;margin-bottom:14px}.mat-item .mat-row{border:none;box-shadow:none;background:transparent;border-radius:0;margin-bottom:0;padding:8px 2px}.mat-item .mat-components{margin:2px 0 6px}.mat-item .mat-history{margin:2px 0 0}.mat-group .checkin-extras{margin-top:16px!important;border-top:1px solid #d5e1d7;padding-top:14px}.mat-group .checkin-actions{margin-top:14px;border-top:1px solid #d5e1d7;padding-top:14px}.mat-components{margin:-4px 0 10px}.mat-components>summary,.mat-history>summary,.mat-po-history>summary{cursor:pointer;font-size:12px;font-weight:600;color:#1f7a33;padding:4px 6px 4px 14px;list-style:none}.mat-components>summary::-webkit-details-marker,.mat-history>summary::-webkit-details-marker,.mat-po-history>summary::-webkit-details-marker{display:none}.mat-components>summary:before,.mat-history>summary:before,.mat-po-history>summary:before{content:"▸ "}.mat-components[open]>summary:before,.mat-history[open]>summary:before,.mat-po-history[open]>summary:before{content:"▾ "}.mat-history{margin:2px 0 4px}.mat-po-history{margin-top:10px;border-top:1px solid #e6ebe7;padding-top:8px}.mat-components table{margin:4px 0 10px;width:100%;min-width:0;font-size:13px;background:#f5f9f5;border:1px solid #e2ece4;border-radius:8px;overflow:hidden}.mat-components td,.mat-components th{padding:6px 10px;border-bottom:1px solid #e8efe9}.mat-components tbody tr:last-child td{border-bottom:none}.mat-components .comp-in{width:60px;text-align:right}@media (max-width:560px){.mat-group{border-left-width:4px;border-radius:13px;padding:0 10px 13px}.mat-po-bar{align-items:flex-start;margin:0 -10px 12px;padding:12px}.mat-po-slip{width:100%}.mat-po-slip input{min-width:0;flex:1 1}.mat-po-progress{width:-moz-fit-content;width:fit-content}.mat-components td:nth-child(2),.mat-components th:nth-child(2){display:none}.mat-components table{font-size:12px}.mat-components td,.mat-components th{padding:6px}.mat-components .comp-in{width:48px}}.sigpad{border:1px solid #c9ced6;border-radius:8px;background:#fff;width:100%;max-width:520px;height:150px}.clause-list{display:grid;grid-gap:8px;gap:8px}.clause-check{display:flex;gap:8px;font-size:13px;align-items:flex-start;cursor:pointer}.clause-check input{margin-top:3px;flex:0 0 auto;width:15px;height:15px}@media (max-width:560px){.wrap{padding:20px 14px}.mat-row{align-items:flex-start}.mat-ctrl{flex-direction:column;align-items:flex-end;gap:6px}}details.po{background:#fff;border:1px solid #e7eae7;border-radius:12px;margin-bottom:8px;overflow:hidden;box-shadow:0 1px 2px rgba(20,40,25,.04)}details.po>summary{list-style:none;cursor:pointer;padding:12px 16px;display:grid;grid-template-columns:70px 60px 1fr 130px 120px;grid-gap:12px;gap:12px;align-items:center;font-size:14px;-webkit-user-select:none;-moz-user-select:none;user-select:none}details.po>summary::-webkit-details-marker{display:none}details.po>summary:hover{background:#f5f9f5}details.po[open]>summary{border-bottom:1px solid #eef0f3;background:#f5f9f5}details.po .po-body{padding:6px 16px 16px}.jobfilter{display:flex;gap:8px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.jobfilter select{flex:1 1 200px;min-width:0;max-width:100%}select{min-height:40px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line-strong);border-radius:10px;padding:0 38px 0 12px;font-size:13px;color:var(--ink);background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20' fill='none' stroke='%235e6d63' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;max-width:100%;cursor:pointer;box-shadow:inset 0 1px 1px rgba(18,48,28,.025)}.card table tbody tr{transition:background .1s ease}.card table tbody tr:hover td{background:#f5f9f5}textarea{border:1px solid var(--line-strong);border-radius:10px;padding:10px 12px;background:#fff;font-size:13px;line-height:1.5;transition:border-color .16s ease,box-shadow .16s ease}.doc-list{padding:8px}.doc-noview{display:flex;align-items:center;justify-content:center;height:60vh;text-align:center;padding:20px}.doc-hover-preview{position:fixed;top:96px;right:22px;width:min(46vw,620px);height:74vh;background:#1b1b1b;border-radius:12px;overflow:hidden;z-index:40;box-shadow:0 12px 40px rgba(0,0,0,.38);border:1px solid hsla(0,0%,100%,.08);display:flex;flex-direction:column;pointer-events:none}.doc-hover-title{color:#fff;font-size:12px;padding:8px 12px;background:#262626;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-hover-preview iframe{flex:1 1;width:100%;border:0;background:#333}@media (hover:none),(max-width:900px){.doc-hover-preview{display:none}}.doc-modal{position:fixed;inset:0;z-index:60;background:rgba(15,20,17,.55);display:flex;align-items:center;justify-content:center;padding:20px}.doc-modal-inner{background:#fff;border-radius:12px;width:min(1100px,96vw);height:92vh;display:flex;flex-direction:column;padding:12px;box-shadow:0 20px 60px rgba(0,0,0,.4)}.doc-modal-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.doc-modal-bar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-modal-frame{flex:1 1;width:100%;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.doc-revs{padding:0 4px 8px;font-size:12px}.doc-revs summary{cursor:pointer;color:#17542a;font-weight:600}.doc-revs ul{margin:6px 0 0 16px}.doc-revs li{margin-bottom:3px}.planset-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 2px}.drawings-table{width:100%;border-collapse:collapse;table-layout:fixed}.drawings-table th{text-align:left;font-size:12px;color:#6b7770;border-bottom:2px solid #e5e7eb;padding:8px 10px}.drawings-table td.right,.drawings-table th.right{text-align:right}.drawings-table td{padding:8px 10px;border-bottom:1px solid #eef0f3;font-size:13px;vertical-align:middle}.drawings-table tr.active td{background:#e7f2ea}.drawings-table tr:hover td{background:#f2f7f3}.drawings-table td.acts,.drawings-table th.acts{width:92px;white-space:nowrap}.bulkbar{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#eef4f0;border:1px solid #cfe0d6;border-radius:8px;padding:8px 12px;margin-bottom:10px;font-size:13px;font-weight:600;color:#17542a}.pm-tabs{display:flex;width:-moz-fit-content;width:fit-content;max-width:100%;gap:3px;margin:4px 0 18px;border:1px solid var(--line);border-radius:12px;padding:4px;background:#edf2ee;overflow-x:auto}.pm-tab{min-height:36px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid transparent;border-radius:8px;padding:0 14px;color:#647169;background:transparent;font-size:13px;font-weight:680;white-space:nowrap;text-decoration:none;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.pm-tab:hover{color:var(--brand-ink);background:hsla(0,0%,100%,.55);text-decoration:none}.pm-tab.active{border-color:rgba(18,55,32,.1);color:var(--brand-ink);background:#fff;box-shadow:0 2px 8px rgba(16,45,27,.09)}.report-mode-tabs{margin:0}.filter-card{padding:14px 16px}.timecard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.timecard-range-tabs{margin:0}.filter-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.search-field,.select-field{display:block;min-width:0}.select-field select{min-width:126px}.search-field{position:relative;width:clamp(210px,23vw,290px)}.search-field svg{position:absolute;top:50%;left:12px;width:16px;height:16px;transform:translateY(-50%);fill:none;stroke:#75847a;stroke-width:1.7;stroke-linecap:round;pointer-events:none}.search-field input[type=search]{width:100%;min-height:42px;padding-right:34px;padding-left:37px}.search-field input[type=search]::-webkit-search-cancel-button{cursor:pointer;opacity:.55}.items-table,.log-table{width:100%;border-collapse:collapse}.items-table th,.log-table th{text-align:left;border-top:1px solid #e8eee9;border-bottom:1px solid #dfe7e1;padding:9px;color:#607068;background:#f5f8f5;font-size:11px;font-weight:720;letter-spacing:.055em}.items-table td.right,.items-table th.right,.log-table td.right,.log-table th.right{text-align:right}.items-table td,.log-table td{padding:9px;border-bottom:1px solid #e8eee9;font-size:13px;vertical-align:middle}.items-table tr:hover td{background:#f6f9f7}@media (max-width:900px){.timecard-toolbar{align-items:stretch;flex-direction:column}.timecard-range-tabs{width:100%}.timecard-range-tabs .pm-tab{flex:1 0 auto}.filter-controls{justify-content:flex-start;flex-wrap:wrap}.search-field{flex:1 1 220px;width:auto}}@media (max-width:560px){.filter-card{padding:11px}.timecard-range-tabs{flex-wrap:wrap;overflow:visible}.timecard-range-tabs .pm-tab{min-width:0;flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 3px)}.select-field{flex:1 1 120px}.select-field select{width:100%}.search-field{flex:1 1 100%;order:-1}.filter-controls .icon-btn{flex:0 0 auto}}@media (max-width:820px){.card table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;max-width:100%}.drawings-table{table-layout:auto}.card table td div{white-space:normal}}.po-doc .rfi-fields{width:100%;border-collapse:collapse;margin:8px 0;font-size:11px}.po-doc .rfi-fields td{border:1px solid #ccc;padding:4px 6px;vertical-align:top}.po-doc .rfi-fields td.k{background:#f2f2f2;font-weight:700;width:110px;white-space:nowrap}.po-doc .rfi-block{margin-top:10px;border:1px solid #ccc}.po-doc .rfi-h{background:#1f7a33;color:#fff;font-weight:700;font-size:11px;padding:3px 6px}.po-doc .rfi-block>div:last-child{padding:8px;font-size:11px;white-space:pre-wrap}.log-card>summary{cursor:pointer;list-style:none;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.log-card>summary::-webkit-details-marker{display:none}.log-card>summary:before{content:"▸";color:#7a8a80}.log-card[open]>summary:before{content:"▾"}.log-card>summary:hover strong{color:#17542a}.drawings-table td{word-wrap:break-word;overflow-wrap:anywhere}.drawings-table td.acts .doc-del-btn,.drawings-table td.acts .doc-icon-btn{opacity:.45}.drawings-table tr:hover td.acts .doc-del-btn,.drawings-table tr:hover td.acts .doc-icon-btn{opacity:.75}.dr-link{background:none;border:none;padding:0;cursor:pointer;color:#1f7a33;font-size:13px;font-weight:600;text-align:left}.dr-link:hover{text-decoration:underline}.dr-title{font-weight:500;color:#1a2b22;white-space:normal}.dr-seeall{font-weight:500;font-size:11px}.cell-input{border:1px solid #1f7a33;border-radius:6px;padding:4px 6px;font-size:13px;width:100%}.revise-table{width:100%;border-collapse:collapse}.revise-table th{text-align:left;font-size:12px;color:#6b7770;border-bottom:2px solid #e5e7eb;padding:6px 8px}.revise-table td{padding:6px 8px;border-bottom:1px solid #eef0f3;font-size:13px}.revise-table tr.nomatch td{color:#9aa39c}.revise-row{display:flex;gap:12px;align-items:center;padding:8px 4px;border-bottom:1px solid #eef0f3}.revise-thumb{width:96px;height:72px;object-fit:contain;background:#fff;border:1px solid #e5e7eb;border-radius:6px;flex-shrink:0}.revise-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.revise-meta select{border:1px solid #c9ced6;border-radius:6px;padding:4px 6px;font-size:13px;background:#fff;max-width:100%}.revise-thumb{cursor:zoom-in}.revise-hover{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:80;width:min(80vw,900px);max-height:88vh;background:#fff;border-radius:10px;box-shadow:0 16px 50px rgba(0,0,0,.45);border:1px solid #d0d5dc;padding:6px;pointer-events:none}.revise-hover img{display:block;width:100%;max-height:84vh;object-fit:contain}@media (hover:none){.revise-hover{display:none}}tr.dr-editing td{background:#f7fbf8}.autotitle-scroll{flex:1 1;overflow:auto;border:1px solid #e5e7eb;border-radius:8px;background:#f3f4f6}.autotitle-canvas{position:relative;display:block;width:100%;cursor:crosshair;-webkit-user-select:none;-moz-user-select:none;user-select:none}.autotitle-canvas img{display:block;width:100%;pointer-events:none}.autotitle-rect{position:absolute;border:2px solid;box-sizing:border-box;pointer-events:none}.autotitle-rect span{position:absolute;top:-16px;left:-2px;font-size:10px;color:#fff;padding:0 4px;border-radius:3px;white-space:nowrap}.autotitle-rect.drawing{border-style:dashed;background:hsla(0,0%,100%,.15)}@media (max-width:700px){.doc-modal{padding:0}.doc-modal-inner{width:100vw;height:100vh;border-radius:0}}details.doc-folder{margin:1px 0}details.doc-folder>summary{cursor:pointer;padding:6px 8px;border-radius:8px;font-size:13px;font-weight:600;color:#14331f;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}details.doc-folder>summary::-webkit-details-marker{display:none}details.doc-folder>summary:before{content:"▸";display:inline-block;width:14px;color:#7a8a80;transition:transform .12s}details.doc-folder[open]>summary:before{transform:rotate(90deg)}details.doc-folder>summary:hover{background:#eef4f0}.doc-file{gap:2px;border-radius:8px;padding-right:4px;position:relative}.doc-actions,.doc-file{display:flex;align-items:center}.doc-actions{flex-shrink:0;width:46px;padding-left:2px}.doc-file:hover{background:#f2f7f3}.doc-file.active{background:#e7f2ea;box-shadow:inset 3px 0 0 #1f7a33}.doc-file.active .doc-file-name{font-weight:600}.doc-file-btn{flex:1 1;display:flex;justify-content:space-between;align-items:center;gap:10px;background:none;border:none;text-align:left;cursor:pointer;padding:7px 8px;font-size:13px;color:#1a2b22;min-width:0;border-radius:8px}.doc-file-name{white-space:normal;overflow-wrap:anywhere}.doc-badge{display:inline-block;margin-left:8px;font-size:10px;font-weight:600;color:#17542a;background:#e7f2ea;border-radius:10px;padding:1px 7px;vertical-align:middle}.doc-size{font-size:11px;flex-shrink:0;color:#8a968f;white-space:nowrap}.doc-del{margin:0;display:flex}.doc-del-btn,.doc-icon-btn{background:none;border:none;cursor:pointer;padding:4px 6px;font-size:12px;line-height:1;opacity:0;transition:opacity .12s;border-radius:6px}.doc-icon-btn{color:#17542a}.doc-del-btn{color:#b3261e}.doc-file.active .doc-del-btn,.doc-file.active .doc-icon-btn,.doc-file:hover .doc-del-btn,.doc-file:hover .doc-icon-btn{opacity:.55}.doc-del-btn:hover,.doc-icon-btn:hover{opacity:1;background:#fff}@media (hover:none){.doc-del-btn,.doc-icon-btn{opacity:.5}}.doc-rename{display:flex;align-items:center;gap:6px;padding:4px}.doc-rename-input{flex:1 1;min-width:0;border:1px solid #1f7a33;border-radius:6px;padding:5px 7px;font-size:13px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px;margin-top:16px}.photo-cell{position:relative;border:1px solid #d5e0d8;border-radius:10px;overflow:hidden;background:#eef2ee;aspect-ratio:1/1}.photo-cell.selected{border-color:#1f7a33;box-shadow:inset 0 0 0 2px #1f7a33}.photo-cell-btn{padding:0;border:none;background:none;cursor:pointer}.photo-cell img,.photo-cell-btn{display:block;width:100%;height:100%}.photo-cell img{object-fit:cover}.photo-cell:hover{border-color:#1f7a33}.photo-check{position:absolute;top:6px;left:6px;z-index:2;background:hsla(0,0%,100%,.85);border-radius:6px;padding:2px;line-height:0;cursor:pointer}.photo-check input{width:18px;height:18px;cursor:pointer;margin:0}.photo-selbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:8px 12px;border:1px solid #cfe0d4;border-radius:9px;background:#eef6ef}.photo-cap{position:absolute;left:0;right:0;bottom:0;padding:4px 7px;font-size:11px;color:#fff;background:linear-gradient(180deg,transparent,rgba(0,0,0,.62));text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-modal{position:fixed;inset:0;z-index:100;background:rgba(8,20,12,.82);display:flex;align-items:center;justify-content:center;padding:20px}.photo-modal-inner{position:relative;background:#fff;border-radius:12px;max-width:960px;width:100%;max-height:92vh;overflow:auto;padding:14px}.photo-modal-inner img{width:100%;height:auto;max-height:74vh;object-fit:contain;border-radius:8px;background:#111}.photo-close{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;border:none;background:rgba(0,0,0,.55);color:#fff;font-size:15px;cursor:pointer;z-index:2}.photo-meta{margin-top:10px}.photo-cap-form{display:flex;gap:8px;margin-bottom:8px}.photo-cap-form input{flex:1 1;min-width:0;border:1px solid #cbd5cd;border-radius:7px;padding:7px 9px;font-size:14px}.photo-meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.btn-danger{border-color:#c9433f;color:#b3322e}.btn-danger:hover{background:#fbecec;border-color:#b3322e}.photo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;flex-wrap:wrap}.seg{display:inline-flex;border:1px solid #cbd5cd;border-radius:9px;overflow:hidden;background:#fff}.seg-btn{background:transparent;padding:6px 14px;font-size:13px;font-weight:600;color:#46554a;cursor:pointer;border:none;border-right:1px solid #e3ebe4}.seg-btn:last-child{border-right:none}.seg-btn:hover{background:#f1f6f1}.seg-btn.active{background:#1f7a33;color:#fff}.photo-groups{margin-top:10px}.photo-group{border-top:1px solid #e6ece7}.photo-group:first-child{border-top:none}.photo-group-head{display:flex;align-items:center;gap:10px;width:100%;padding:12px 4px;background:transparent;border:none;cursor:pointer;text-align:left;font-size:15px;font-weight:700;color:#14431f}.photo-group-head:hover{color:#1f7a33}.photo-group-head .chev{display:inline-block;transition:transform .15s ease;color:#6a7a6e;font-size:13px}.photo-group-head .chev.open{transform:rotate(90deg)}.photo-group-label{flex:0 0 auto}.photo-group-count{margin-left:auto;background:#eef3ef;color:#46554a;font-size:12px;font-weight:700;border-radius:999px;padding:2px 10px}.photo-group .photo-grid{margin-top:4px;margin-bottom:10px}.photo-stage{margin-top:12px;padding:12px;border:1px solid #d5e0d8;border-radius:10px;background:#f6faf6}.photo-stage-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.photo-stage-count{font-weight:700;color:#14431f}.photo-loc{display:block}.photo-loc>span{display:block;font-size:12px;margin-bottom:4px}.photo-loc select,.photo-loc-filter,.photo-loc-new{width:100%;max-width:420px;border:1px solid #cbd5cd;border-radius:8px;padding:8px 10px;font-size:14px;background:#fff}.photo-loc-new{margin-top:8px}.photo-toolbar-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.photo-loc-filter{width:auto;min-width:190px}.qty-breakdown-row td{background:#f6faf6;padding:0}.qty-breakdown{padding:8px 12px 10px}.qty-breakdown-head{font-size:12px;font-weight:700;color:#46554a;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.qty-breakdown-line{display:flex;justify-content:space-between;gap:16px;max-width:340px;padding:3px 0;border-bottom:1px dashed #dbe6dd;font-size:14px}.qty-breakdown-line:last-child{border-bottom:none}.qty-breakdown-line span:last-child{font-weight:600;color:#14431f}.drawings-table td.center,.drawings-table th.center{text-align:center}.drawings-table td.center input[type=checkbox]{width:17px;height:17px;cursor:pointer}.safety-question-head,.safety-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.safety-test-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:12px;gap:12px}.safety-test-card{margin:0;color:var(--ink)}.safety-test-card:hover{text-decoration:none;border-color:#a9c9b0}.safety-test-card p{margin-top:8px}.safety-last-score{color:#17542a;font-weight:600;font-size:13px}.safety-builder label,.safety-filter label,.safety-question-edit>label{display:block;margin-bottom:12px}.safety-builder label>span,.safety-filter label>span,.safety-question-edit label>span{display:block;font-size:12px;font-weight:700;color:#46554a;margin-bottom:4px}.safety-answer-edit input[type=text],.safety-builder input[type=email],.safety-builder input[type=text],.safety-builder textarea,.safety-question-edit textarea{width:100%}.checkline{display:flex!important;align-items:center;gap:8px}.safety-answer-edit{display:grid;grid-template-columns:22px minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;margin:8px 0}.safety-answer-edit input[type=radio]{width:17px;height:17px}.safety-take-question{border:1px solid var(--line)}.safety-take-question legend{font-weight:700;padding:0 6px}.safety-take-question label{display:flex;gap:10px;padding:9px;margin:3px 0;border-radius:8px;cursor:pointer}.safety-take-question label:hover{background:#f1f6f1}.safety-take-question input{margin-top:4px}.safety-result{text-align:center;border-color:#a9d3b2}.safety-result h2{margin-top:0}.safety-score{font-size:48px;line-height:1.1;font-weight:800;color:var(--brand)}.safety-result p{margin:8px 0}.safety-success{background:#edf8ef;border-color:#b9dabe;color:#17542a}.safety-alert{background:#fff7e6;border-color:#f0d9a8;color:#8a6d1e}.safety-filter{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.safety-filter label{margin:0}@media (max-width:620px){.safety-test-grid{grid-template-columns:1fr}.safety-answer-edit{grid-template-columns:22px minmax(0,1fr)}.safety-answer-edit .btn{grid-column:2;justify-self:start}}.safety-wide{max-width:1420px}.safety-add-record>summary{cursor:pointer;font-weight:700;color:#17542a}.safety-add-record[open]>summary{margin-bottom:14px}.safety-form-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));grid-gap:12px;gap:12px;margin-bottom:12px}.safety-form-grid label span,.safety-training-filters label span{display:block;font-size:12px;font-weight:700;color:#46554a;margin-bottom:4px}.safety-form-grid input{width:100%}.safety-form-wide{grid-column:span 2}.safety-training-filters{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.safety-training-filters select{min-width:170px;max-width:280px}.safety-count{margin:0 0 8px 2px}.safety-training-table{padding:8px;overflow-x:auto}.safety-training-table table{min-width:1050px}.tag.safety-expired{background:#fde8e7;color:#ad241d}@media (max-width:850px){.safety-form-grid{grid-template-columns:1fr 1fr}.safety-form-wide{grid-column:span 2}}@media (max-width:520px){.safety-form-grid{grid-template-columns:1fr}.safety-form-wide{grid-column:span 1}}.proposal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.proposal-form h2{grid-column:1/-1;margin-bottom:0}.proposal-form label>span,.sign-item-form label>span,.sign-new-form label>span{display:block;margin-bottom:4px;color:#46554a;font-size:12px;font-weight:700}.proposal-form input,.proposal-form select,.proposal-form textarea{width:100%}.proposal-span-2{grid-column:1/-1}.proposal-alt-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;grid-gap:10px;gap:10px;margin-bottom:8px}.proposal-alt-row input{width:100%}.proposal-actions,.proposal-actions form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.proposal-screen-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.proposal-screen-grid .card{margin:0}.proposal-screen-grid h2{margin-top:0}.proposal-screen-grid p{margin:5px 0}.proposal-screen-amount{color:var(--brand);font-size:22px;font-weight:800}.preline{white-space:pre-line}.proposal-doc-list{margin-top:12px}.proposal-doc{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line)}.proposal-delete>summary{cursor:pointer;color:#8f2925;font-weight:700}.proposal-doc-print{color:#151515;font-family:Arial,Helvetica,sans-serif;font-size:10.5pt}.proposal-print-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;border-bottom:3px solid #1f7a33;padding-bottom:10px}.proposal-print-header address{font-size:8.5pt;line-height:1.45;text-align:right;font-style:normal}.proposal-wordmark{color:#1f7a33;font-size:26pt;font-weight:800;letter-spacing:.08em}.proposal-company{color:#1f7a33;font-size:13pt;font-weight:800;letter-spacing:.04em}.proposal-trade{font-size:9pt;font-weight:700;letter-spacing:.12em}.proposal-number-row{display:flex;justify-content:flex-end;gap:30px;padding:9px 0}.proposal-number-row>div{display:grid;grid-template-columns:auto auto;grid-gap:9px;gap:9px}.proposal-number-row span{color:#555;font-size:8pt;font-weight:700}.proposal-party-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid #999}.proposal-party-grid section{min-height:95px;padding:8px 10px}.proposal-party-grid section+section{border-left:1px solid #999}.proposal-party-grid h2,.proposal-print-section h2{margin:0 0 6px;color:#1f7a33;font-size:8.5pt;letter-spacing:.06em}.proposal-intro{margin:15px 0 10px}.proposal-print-section{margin-top:12px;page-break-inside:auto;break-inside:auto}.proposal-print-section ol{margin:0;padding-left:23px}.proposal-print-section li{margin-bottom:4px;page-break-inside:avoid;break-inside:avoid}.proposal-print-section table{width:100%;border-collapse:collapse}.proposal-print-section td{border-bottom:1px solid #bbb;padding:5px}.proposal-print-section td:last-child{width:115px;text-align:right;font-weight:700}.proposal-price{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding:10px 12px;border:2px solid #1f7a33;page-break-inside:avoid;break-inside:avoid}.proposal-price span{color:#1f7a33;font-size:11pt;font-weight:800}.proposal-price strong{font-size:16pt}.proposal-terms{font-size:8.5pt;line-height:1.35}.proposal-signatures,.proposal-terms{page-break-inside:avoid;break-inside:avoid}.proposal-signatures{display:grid;grid-template-columns:2fr 2fr 1fr;grid-gap:24px;gap:24px;margin-top:28px}.proposal-signatures div{display:flex;flex-direction:column}.proposal-signatures span{color:#555;font-size:8pt}.proposal-signatures strong{min-height:22px;padding-top:6px;border-bottom:1px solid #333}.sign-item-form h2,.sign-new-form h2{margin-top:0}.sign-new-grid{display:grid;grid-template-columns:2fr 1fr 2fr auto;grid-gap:12px;gap:12px;align-items:end}.sign-item-grid input,.sign-new-grid input{width:100%}.sign-table-card,.sign-takeoff-list{overflow-x:auto}.sign-summary{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));grid-gap:10px;gap:10px}.sign-summary .card{margin:0;padding:13px}.sign-summary span{display:block;color:#607066;font-size:11px;font-weight:700}.sign-summary strong{display:block;margin-top:3px;color:#17542a;font-size:19px}.sign-notes{padding:12px 14px}.sign-item-grid{display:grid;grid-template-columns:minmax(330px,3fr) 1fr 90px 130px 2fr;grid-gap:10px;gap:10px;align-items:end}.sign-item-grid select{width:100%}.sign-catalog-picker{grid-column:1/-1;border:1px solid #d7e2d9;border-radius:10px;padding:12px;background:#f8fbf8}.sign-catalog-picker>label{display:block;margin-bottom:9px}.sign-catalog-search,.sign-catalog-select{width:100%!important}.sign-selected{display:flex;align-items:center;gap:16px;margin:10px 0;border:1px solid #a9c9b0;border-radius:9px;padding:9px;background:#fff}.sign-selected>div:last-child{display:flex;flex-direction:column;gap:2px}.sign-image-frame{display:flex;align-items:center;justify-content:center;width:190px;min-width:190px;height:138px;color:#778079;background:#fff}.sign-choice-image img,.sign-image-frame img,.sign-print img,.sign-row-image img{max-width:100%;max-height:100%;object-fit:contain}.sign-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));grid-gap:8px;gap:8px;max-height:430px;overflow-y:auto;padding:3px}.sign-choice-grid button{display:flex;flex-direction:column;align-items:stretch;min-height:132px;border:1px solid #d5ddd7;border-radius:8px;padding:7px;color:var(--ink);background:#fff;text-align:left;cursor:pointer}.sign-choice-grid button:hover{border-color:#8bb195;background:#f3f8f4}.sign-choice-grid button.selected{border:2px solid var(--brand);padding:6px;background:#eef8f0}.sign-choice-grid button>strong{margin-top:4px;color:#14431f;font-size:12px}.sign-choice-grid button>span:last-child{display:-webkit-box;overflow:hidden;color:#59665d;font-size:10px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.sign-choice-image{height:76px;color:#8a938c;font-size:10px}.sign-choice-image,.sign-row-image{display:flex;align-items:center;justify-content:center}.sign-row-image{width:94px;height:70px}.sign-print-image{width:72px;height:52px}.sign-flags{display:flex;gap:18px;margin:14px 0 6px;flex-wrap:wrap}.sign-flags input{width:17px;height:17px}.sign-table{min-width:1180px;font-size:12px}.sign-table td,.sign-table th{padding:7px 8px}.sign-flags-cell span{display:inline-block;margin:1px 3px 1px 0;padding:1px 5px;border-radius:5px;background:#eef3ef;font-size:10px;font-weight:700}.sign-print{color:#111;font-family:Arial,Helvetica,sans-serif;font-size:7.5pt}.sign-print>header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px;border-bottom:3px solid #1f7a33;padding-bottom:8px}.sign-print>header>div:last-child{text-align:right}.sign-print h1{margin:2px 0 0;font-size:18pt}.sign-print table{width:100%;border-collapse:collapse}.sign-print th{background:#1f7a33;color:#fff;text-align:left}.sign-print td,.sign-print th{border:1px solid #777;padding:3px 4px;vertical-align:top}.sign-print-summary{display:grid;grid-template-columns:repeat(5,1fr);margin-top:10px;border:1px solid #555;page-break-inside:avoid;break-inside:avoid}.sign-print-summary div{padding:7px;border-right:1px solid #777}.sign-print-summary div:last-child{border-right:none}.sign-print-summary span{display:block;color:#555;font-size:7pt}.sign-print-summary strong{font-size:11pt}.sign-catalog-filter{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap}.sign-catalog-filter label{flex:1 1;min-width:260px}.sign-catalog-filter label>span,.sign-catalog-form-grid label>span{display:block;margin-bottom:4px;color:#46554a;font-size:12px;font-weight:700}.sign-catalog-filter input{width:100%}.sign-catalog-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:10px;gap:10px}.sign-catalog-admin-card{display:grid;grid-template-columns:120px minmax(0,1fr);grid-gap:12px;gap:12px;margin:0;color:var(--ink)}.sign-catalog-admin-card:hover{border-color:#8bb195;text-decoration:none}.sign-catalog-admin-card small,.sign-catalog-admin-card span,.sign-catalog-admin-card strong{display:block}.sign-catalog-admin-card strong{color:#14431f;font-size:16px}.sign-catalog-admin-card span{color:#667269;font-size:11px}.sign-catalog-admin-card p{margin:5px 0}.sign-catalog-admin-card small{color:#667269}.sign-catalog-admin-image{display:flex;align-items:center;justify-content:center;width:120px;height:92px;color:#8a938c;font-size:11px}.sign-catalog-admin-image img{max-width:100%;max-height:100%;object-fit:contain}.sign-catalog-admin-form h2{margin-top:0}.sign-catalog-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:14px}.sign-catalog-form-grid input{width:100%}.sign-catalog-form-wide{grid-column:span 2}.sign-catalog-image-editor h2{margin-top:0}.sign-catalog-image-preview{display:flex;align-items:center;justify-content:center;width:min(100%,480px);height:260px;border:1px solid #d7e2d9;border-radius:10px;color:#7b857e;background:#fbfcfb}.sign-catalog-image-preview img{max-width:calc(100% - 20px);max-height:calc(100% - 20px);object-fit:contain}@media (max-width:900px){.sign-item-grid,.sign-new-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sign-catalog-field{grid-column:1/-1}.sign-summary{grid-template-columns:repeat(2,minmax(120px,1fr))}.sign-catalog-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.proposal-form,.proposal-screen-grid,.sign-item-grid,.sign-new-grid{grid-template-columns:1fr}.proposal-span-2,.sign-catalog-field{grid-column:auto}.proposal-alt-row{grid-template-columns:1fr}.proposal-doc{align-items:flex-start;flex-direction:column}.sign-catalog-admin-card{grid-template-columns:90px minmax(0,1fr)}.sign-catalog-admin-image{width:90px;height:76px}.sign-catalog-form-grid{grid-template-columns:1fr}.sign-catalog-form-wide{grid-column:auto}}@media print{@page proposal{size:letter portrait;margin:.45in}@page sign-takeoff{size:letter landscape;margin:.35in}.proposal-doc-print{page:proposal}.sign-print{page:sign-takeoff}}.proposal-archive-filter{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.proposal-archive-filter label:first-child{flex:1 1;min-width:280px}.proposal-archive-filter label>span,.proposal-sign-name-grid label>span,.proposal-signature-label>span{display:block;margin-bottom:4px;color:#46554a;font-size:12px;font-weight:700}.proposal-archive-filter input{width:100%}.proposal-archive-year{margin-bottom:10px;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#fff}.proposal-archive-year>summary{display:flex;justify-content:space-between;gap:12px;padding:13px 16px;color:#14431f;background:#f3f8f4;font-size:16px;font-weight:800;cursor:pointer}.proposal-archive-row>summary::-webkit-details-marker,.proposal-archive-year>summary::-webkit-details-marker{display:none}.proposal-archive-year>summary span:last-child{color:#667269;font-size:12px;font-weight:600}.proposal-archive-year>div{border-top:1px solid var(--line)}.proposal-archive-row{border-bottom:1px solid #e6ece7}.proposal-archive-row:last-child{border-bottom:none}.proposal-archive-row>summary{display:grid;grid-template-columns:90px 95px minmax(220px,1fr) 90px 125px;grid-gap:10px;gap:10px;align-items:center;padding:10px 14px;cursor:pointer}.proposal-archive-row>summary:hover{background:#f8fbf8}.proposal-archive-number{color:#14431f;font-weight:800}.proposal-archive-date{color:#667269;font-size:12px}.proposal-archive-main{display:flex;min-width:0;flex-direction:column}.proposal-archive-main small,.proposal-archive-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proposal-archive-main small{margin-top:2px;color:#667269}.proposal-archive-amount{text-align:right;font-weight:700}.proposal-archive-body{padding:12px 14px 14px;border-top:1px solid #e6ece7;background:#fbfcfb}.proposal-archive-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.proposal-archive-facts>div{min-width:0}.proposal-archive-facts span{display:block;color:#667269;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.proposal-archive-facts strong{display:block;overflow-wrap:anywhere;font-size:13px}.proposal-history-content .preline{margin-top:12px;line-height:1.5}.proposal-history-content h3{margin-top:24px;border-top:1px solid var(--line);padding-top:14px}.proposal-estimate-flow>h2,.proposal-signing>h2{margin-top:0}.proposal-saved-signature{display:block;max-width:260px;max-height:100px;margin:10px 0 14px;border-bottom:1px solid #333;object-fit:contain}.proposal-legacy-print{line-height:1.4}.proposal-page-continuation{margin-top:18px;border-top:1px solid #aaa;padding-top:14px;page-break-before:auto;break-before:auto}.proposal-amount-words{font-size:9pt;font-style:italic}.proposal-public-sign{max-width:920px}.proposal-review{padding:28px;color:#151515}.proposal-accept-form>h2{margin-top:0}.proposal-sign-name-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin:16px 0}.proposal-sign-name-grid input{width:100%}.proposal-signature-label{display:block;margin-bottom:18px}.proposal-sign-confirmation{padding:32px;text-align:center}.proposal-sign-confirmation .proposal-saved-signature{margin:14px auto}.proposal-sign-check{color:#1f7a33;font-size:42px;font-weight:800}@media (max-width:760px){.proposal-archive-row>summary{grid-template-columns:75px minmax(0,1fr) auto}.proposal-archive-date{display:none}.proposal-archive-amount{grid-column:2;text-align:left}.proposal-archive-row>summary>.tag{grid-column:3;grid-row:1/span 2}.proposal-archive-facts{grid-template-columns:1fr 1fr}}@media (max-width:540px){.proposal-archive-facts,.proposal-sign-name-grid{grid-template-columns:1fr}.proposal-review{padding:16px}}@media print{.proposal-review{border:none;box-shadow:none;margin:0;padding:0}}.po-release-card{border-top:4px solid #d7ddd9}.po-release-card.is-complete{border-top-color:#1f7a33;background:#fbfefc}.po-release-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.po-release-heading .hint{max-width:760px;margin-bottom:0}.po-release-notice{margin:0 0 16px;border-radius:7px;padding:10px 12px;font-weight:650}.po-release-notice.success{border:1px solid #9dd5ae;background:#eaf7ee;color:#176b34}.po-release-notice.error{border:1px solid #e7aaa5;background:#fff0ee;color:#9b211b}.po-release-recipient-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(340px,1.5fr);grid-gap:14px;gap:14px;margin:18px 0}.po-release-recipient-grid label,.po-release-recipient-grid>div{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);border-radius:7px;padding:11px}.po-release-recipient-grid label,.po-release-recipient-grid>div>span{color:#59645c;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.po-release-recipient-grid input{width:100%;text-transform:none}.po-release-recipient-grid small,.po-release-recipient-grid strong{overflow-wrap:anywhere;text-transform:none}.po-release-recipient-grid small{color:#6b746d;font-size:11px;font-weight:500;letter-spacing:0}.po-release-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:7px}.po-release-table{margin:0}.po-release-table td,.po-release-table th{vertical-align:middle}.po-release-check{width:68px;text-align:center}.po-release-check input{width:18px;height:18px;accent-color:#1f7a33}.po-release-line-released{background:#edf8f0;color:#315c3c}.po-release-line-released td{border-bottom-color:#c9e6d1}.po-release-line-partial{background:#fffaf0}.po-release-actions{margin-top:16px}.po-release-complete{margin:16px 0 0;color:#176b34;font-weight:750}.po-release-history{margin-top:20px;border-top:1px solid var(--line);padding-top:14px}.po-release-history>summary{cursor:pointer;color:#315c3c;font-weight:750}.po-release-history-list{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.po-release-history-event{border:1px solid var(--line);border-radius:7px;padding:11px 12px;background:#fff}.po-release-history-event>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.po-release-history-event p{margin:6px 0;color:#5f6962;font-size:12px}.po-release-history-event ul{margin:6px 0 0;padding-left:20px}.po-release-error-detail{color:#9b211b!important;font-weight:650}@media (max-width:760px){.po-release-heading{display:block}.po-release-heading>.tag{display:inline-block;margin-top:10px}.po-release-recipient-grid{grid-template-columns:1fr}}.wide-wrap{max-width:1380px}.eyebrow{display:block;margin-bottom:5px;color:#2a6f3c;font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.section-heading,.traffic-build-project,.traffic-page-heading,.traffic-selection-summary,.traffic-workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.section-heading h2,.traffic-build-project h2,.traffic-workspace-heading h2{margin:0}.traffic-page-heading{align-items:flex-end;margin-bottom:22px}.traffic-page-heading h1{margin:2px 0 5px}.traffic-page-heading .muted{max-width:760px;margin:0}.traffic-stat-strip{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;margin-bottom:18px;border:1px solid #d9e4db;border-radius:12px;background:linear-gradient(135deg,#f7fbf8,#fff);box-shadow:0 8px 22px rgba(28,58,35,.06)}.traffic-stat-strip>div{padding:17px 20px;border-right:1px solid #e2e9e3}.traffic-stat-strip>div:last-child{border-right:0}.traffic-stat-strip strong{display:block;color:#173f25;font-size:23px}.traffic-stat-strip span{color:#68766c;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.traffic-empty-state{padding:50px;text-align:center}.traffic-bid-list{display:grid;grid-gap:9px;gap:9px}.traffic-bid-row{display:grid;grid-template-columns:78px minmax(260px,1fr) 72px 90px 140px 22px;align-items:center;grid-gap:14px;gap:14px;border:1px solid #dce4de;border-radius:10px;padding:15px 16px;background:#fff;color:inherit;box-shadow:0 4px 14px rgba(30,55,37,.04);transition:border-color .15s,box-shadow .15s,transform .15s}.traffic-bid-row:hover{border-color:#8fba9a;box-shadow:0 9px 22px rgba(30,78,42,.1);transform:translateY(-1px);text-decoration:none}.traffic-bid-main small,.traffic-bid-main strong,.traffic-bid-row>span>small,.traffic-bid-row>span>strong{display:block}.traffic-bid-main small,.traffic-bid-row>span>small{margin-top:3px;color:#69756c;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.025em}.traffic-bid-value{text-align:right}.traffic-status{display:inline-flex;justify-content:center;width:-moz-fit-content;width:fit-content;border-radius:999px;padding:5px 9px;background:#edf1ee;color:#536158;font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.status-pricing,.status-sent{background:#fff3cd;color:#765b00}.status-ready,.status-returned{background:#e6f2ff;color:#175b91}.status-won{background:#e4f5e9;color:#196b35}.status-lost{background:#f0f1f1;color:#68706b}.traffic-builder{display:grid;grid-gap:18px;gap:18px}.traffic-bid-header{border-top:4px solid #297340}.traffic-bid-header .form-grid,.traffic-rfq-form .form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.traffic-bid-header label,.traffic-rfq-form label{display:flex;flex-direction:column;gap:5px;color:#57645b;font-size:11px;font-weight:800}.traffic-bid-header input,.traffic-bid-header textarea,.traffic-rfq-form input,.traffic-rfq-form textarea{width:100%}.traffic-builder-grid,.traffic-lower-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(400px,.88fr);grid-gap:18px;gap:18px;align-items:start}.traffic-builder-grid .card{margin:0}.traffic-builder-grid h2{margin:2px 0 5px}.traffic-catalog-search{position:relative;margin:14px 0 10px}.traffic-catalog-search input{width:100%;height:46px;border-color:#aebdb2;border-radius:9px;padding:0 104px 0 14px;font-size:14px}.traffic-catalog-search span{position:absolute;right:13px;top:15px;color:#718077;font-size:10px;font-weight:750}.traffic-catalog-results{max-height:530px;overflow:auto;border:1px solid #dfe6e1;border-radius:9px;background:#f8faf8}.traffic-catalog-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;width:100%;border:0;border-bottom:1px solid #e4e9e5;padding:11px 12px;background:#fff;color:inherit;text-align:left;cursor:pointer}.traffic-catalog-row:last-child{border-bottom:0}.traffic-catalog-row:hover{background:#f4faf5}.traffic-catalog-row.selected{background:#eaf6ed}.traffic-item-check{display:grid;width:24px;height:24px;place-items:center;border:1px solid #9db2a2;border-radius:50%;color:#26703a;font-weight:900}.traffic-catalog-row.selected .traffic-item-check{border-color:#24723b;background:#24723b;color:#fff}.traffic-catalog-row small,.traffic-catalog-row strong{display:block}.traffic-catalog-row small{margin-top:3px;color:#566259;font-size:11px;line-height:1.35}.traffic-catalog-meta{color:#657169;font-size:10px;font-weight:750;text-align:right}.traffic-dropzone{display:flex;min-height:145px;flex-direction:column;align-items:center;justify-content:center;border:2px dashed #9eb8a5;border-radius:11px;padding:25px;background:linear-gradient(135deg,#f5faf6,#fbfdfb);color:#2d673c;text-align:center;cursor:pointer}.traffic-dropzone:hover{border-color:#327949;background:#f0f8f2}.traffic-dropzone span{max-width:420px;margin-top:7px;color:#6b776e;font-size:11px;font-weight:500}.traffic-dropzone.busy{opacity:.65;cursor:wait}.traffic-match-message{border-radius:7px;padding:9px 10px;background:#eef6f0;color:#28653a;font-size:12px;font-weight:700}.traffic-unmatched{max-height:420px;overflow:auto;margin-top:16px;border-top:1px solid #e0e7e2;padding-top:12px}.traffic-unmatched h3{margin-bottom:3px}.traffic-unmatched-row{display:grid;grid-gap:7px;gap:7px;margin-top:8px;border:1px solid #e2d6b7;border-radius:8px;padding:9px;background:#fffbf1}.traffic-unmatched-row.included{border-color:#9ccaaa;background:#f4faf6}.traffic-unmatched-row small{color:#736d5e;font-size:10px}.traffic-unmatched-toggle{display:flex;align-items:center;gap:8px}.traffic-unmatched-toggle input{width:17px;height:17px;accent-color:#26733d}.traffic-unmatched-options{display:grid;grid-template-columns:90px 1fr;align-items:center;grid-gap:10px;gap:10px}.traffic-unmatched-options label{display:flex;align-items:center;gap:6px;font-size:11px}.traffic-unmatched-options label input{width:auto}.traffic-selection-summary{position:-webkit-sticky;position:sticky;bottom:12px;z-index:10;margin:0;border:1px solid #9fc3a8;box-shadow:0 12px 32px rgba(23,68,34,.18)}.traffic-selection-summary h2{margin:1px 0}.traffic-selection-summary p{margin:0}.traffic-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:18px}.traffic-summary-grid .card{margin:0;padding:17px 18px}.traffic-summary-grid small,.traffic-summary-grid strong{display:block}.traffic-summary-grid small{color:#66736a;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.traffic-summary-grid strong{margin-top:5px;color:#1a3e25;font-size:23px}.traffic-summary-grid .featured{border-color:#82b78f;background:linear-gradient(135deg,#eff8f1,#fff)}.traffic-workspace{margin:18px 0}.traffic-workspace-heading{margin-bottom:10px}.traffic-add-item{position:relative;width:min(430px,100%)}.traffic-add-item>input{width:100%;height:40px}.traffic-add-results{position:absolute;top:calc(100% + 4px);right:0;z-index:20;width:min(560px,90vw);overflow:hidden;border:1px solid #b8c8bc;border-radius:9px;background:#fff;box-shadow:0 14px 34px rgba(30,55,37,.18)}.traffic-add-results button{display:grid;grid-template-columns:90px minmax(0,1fr) 45px;grid-gap:8px;gap:8px;width:100%;border:0;border-bottom:1px solid #e2e7e3;padding:9px 11px;background:#fff;text-align:left;cursor:pointer}.traffic-add-results button:hover{background:#f1f8f3}.traffic-add-results small{text-align:right}.traffic-estimate-items{display:grid;grid-gap:9px;gap:9px}.traffic-estimate-item{overflow:hidden;border:1px solid #d8e1da;border-radius:10px;background:#fff;box-shadow:0 4px 14px rgba(34,60,40,.04)}.traffic-estimate-item[open]{border-color:#a3c0aa;box-shadow:0 8px 22px rgba(31,74,41,.08)}.traffic-estimate-item>summary{display:grid;grid-template-columns:105px minmax(0,1fr) 130px;align-items:center;grid-gap:12px;gap:12px;list-style:none;padding:15px 17px;cursor:pointer}.traffic-estimate-item>summary::-webkit-details-marker{display:none}.traffic-estimate-item>summary:before{content:"›";position:absolute;color:#3b754a;font-size:21px;transform:translateX(-9px)}.traffic-estimate-item[open]>summary:before{transform:translateX(-9px) rotate(90deg)}.traffic-item-number{color:#1d6b35;font-weight:850}.traffic-item-summary small,.traffic-item-summary strong,.traffic-item-title small,.traffic-item-title strong{display:block}.traffic-item-summary small,.traffic-item-title small{margin-top:3px;color:#6c776e;font-size:10px}.traffic-item-summary{text-align:right}.traffic-item-body{border-top:1px solid #e2e8e3;padding:16px;background:#fbfcfb}.traffic-item-controls{display:grid;grid-template-columns:125px 90px 110px minmax(200px,1fr);grid-gap:10px;gap:10px}.traffic-cost-line label,.traffic-item-controls label{display:flex;flex-direction:column;gap:4px;color:#637068;font-size:9px;font-weight:850;letter-spacing:.035em;text-transform:uppercase}.traffic-cost-line input,.traffic-item-controls input{width:100%;text-transform:none}.traffic-cost-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:17px 0 8px}.traffic-cost-toolbar>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.traffic-empty-costs{border:1px dashed #c5d1c8;border-radius:8px;padding:18px;color:#718078;text-align:center}.traffic-cost-lines{display:grid;grid-gap:6px;gap:6px}.traffic-cost-line{display:grid;grid-template-columns:95px minmax(190px,1fr) 90px 105px 100px 105px 32px;align-items:end;grid-gap:8px;gap:8px;border:1px solid #e0e6e1;border-radius:8px;padding:9px;background:#fff}.traffic-cost-kind{align-self:center;border-radius:5px;padding:5px 7px;background:#eef2ef;color:#445249;font-size:9px;font-weight:850;text-align:center;text-transform:uppercase}.kind-labor{background:#e7f3ff;color:#245a84}.kind-equipment{background:#f4ecff;color:#65418d}.kind-material,.kind-vendor{background:#eaf6ed;color:#29613a}.kind-subcontractor{background:#fff0d9;color:#785016}.traffic-cost-extension{align-self:center;font-weight:800;text-align:right}.traffic-item-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:14px;border-top:1px solid #e2e7e3;padding-top:13px}.traffic-item-footer>form{margin-right:auto}.traffic-item-totals{display:flex;gap:15px}.traffic-item-totals span{color:#657168;font-size:10px}.traffic-item-totals strong{display:block;color:#263b2c;font-size:12px}.traffic-lower-grid{margin-top:22px}.traffic-lower-grid>.card{margin:0}.traffic-document-group{margin-top:13px;border:1px solid #dfe6e1;border-radius:8px;padding:10px}.traffic-document-group>div:first-child{display:flex;align-items:center;justify-content:space-between}.traffic-document-row{display:grid;grid-template-columns:minmax(0,1fr) 70px auto;align-items:center;grid-gap:8px;gap:8px;margin-top:7px;border-top:1px solid #e7ebe8;padding-top:7px;font-size:11px}.traffic-document-row span{color:#6c756e;text-align:right}.traffic-rfq-form{display:grid;grid-gap:10px;gap:10px;margin-top:14px;border:1px solid #dfe6e1;border-radius:8px;padding:12px;background:#fafcfb}.traffic-rfq-form .form-grid{grid-template-columns:1fr 1fr}.traffic-rfq-list{display:grid;grid-gap:7px;gap:7px;margin-top:14px}.traffic-rfq-list details{overflow:hidden;border:1px solid #dfe6e1;border-radius:8px}.traffic-rfq-list summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:10px;gap:10px;padding:10px;cursor:pointer}.traffic-rfq-list summary span:first-child small,.traffic-rfq-list summary span:first-child strong{display:block}.traffic-rfq-list summary small{color:#707a72}.traffic-rfq-list details>div{border-top:1px solid #e3e8e4;padding:10px;overflow-x:auto}.traffic-build-project{margin-top:18px;border:1px solid #91bc9b;background:linear-gradient(135deg,#eef8f0,#fff)}.traffic-build-project p{max-width:850px;margin-bottom:0}.traffic-built-links{display:flex;align-items:center;gap:8px}.traffic-public-quote{max-width:1180px}.traffic-public-docs{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.traffic-public-pricing{margin-top:16px}.traffic-public-table-wrap{overflow-x:auto;margin:14px 0}.traffic-public-pricing input{min-width:100px;width:100%}.job-row.unassigned{border-left:4px solid #a6aaa7;background:#f3f4f3;color:#626863}.job-row.unassigned .job-badge{min-width:82px;background:#dfe2e0;color:#555c57;font-size:9px}.unassigned-job-card{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;align-items:end;grid-gap:15px;gap:15px;border:1px solid #a8b1aa;background:linear-gradient(135deg,#f1f3f1,#fff)}.unassigned-job-card h2{margin:0}.unassigned-job-card p{margin-bottom:0}.unassigned-job-card label{display:flex;flex-direction:column;gap:5px;color:#5e6760;font-size:10px;font-weight:800;text-transform:uppercase}@media (max-width:1000px){.traffic-builder-grid,.traffic-lower-grid{grid-template-columns:1fr}.traffic-cost-line{grid-template-columns:85px minmax(170px,1fr) repeat(3,90px) 95px 32px}.traffic-bid-row{grid-template-columns:74px minmax(220px,1fr) 62px 80px 120px 18px}}@media (max-width:760px){.traffic-build-project,.traffic-page-heading,.traffic-selection-summary,.traffic-workspace-heading{align-items:stretch;flex-direction:column}.traffic-stat-strip,.traffic-summary-grid{grid-template-columns:1fr 1fr}.traffic-bid-row{grid-template-columns:70px minmax(0,1fr) 18px}.traffic-bid-row>span:nth-of-type(3),.traffic-bid-row>span:nth-of-type(4),.traffic-bid-row>span:nth-of-type(5){display:none}.traffic-bid-header .form-grid,.traffic-rfq-form .form-grid{grid-template-columns:1fr}.traffic-builder-grid{grid-template-columns:minmax(0,1fr)}.traffic-item-controls{grid-template-columns:1fr 1fr}.traffic-estimate-item>summary{grid-template-columns:85px minmax(0,1fr)}.traffic-item-summary{grid-column:2;text-align:left}.traffic-cost-line{grid-template-columns:80px 1fr 80px}.traffic-cost-extension,.traffic-cost-line label:nth-of-type(3){grid-column:auto}.traffic-item-footer,.traffic-item-totals{align-items:stretch;flex-direction:column}.traffic-item-footer>form{margin-right:0}.traffic-selection-summary{position:static}.unassigned-job-card{grid-template-columns:1fr;align-items:stretch}}