.supplier-portal{--portal-ink:#173532;--portal-forest:#1f5a54;--portal-dark:#133e3a;--portal-mist:#eef5f2;--portal-lime:#c9ef7b;--portal-muted:#596e6b;--portal-border:#d8e4e0;background:var(--portal-mist);color:var(--portal-ink);min-height:100svh;font-size:1rem;line-height:1.65}.supplier-portal *{box-sizing:border-box}.supplier-portal h1,.supplier-portal h2,.supplier-portal h3,.supplier-portal h4{letter-spacing:-.035em;line-height:1.2}.supplier-portal h1,.supplier-portal h2{font-weight:600}.supplier-portal p{overflow-wrap:anywhere}.supplier-portal :is(button,a,input,select,textarea,summary):focus-visible{outline-offset:4px;outline:3px solid #397d70}.supplier-portal :is(button,a){-webkit-tap-highlight-color:transparent}.supplier-portal button{cursor:pointer}.supplier-portal button:disabled{cursor:not-allowed}.portal-header{border-bottom:1px solid var(--portal-border);background:#eef5f2ef}.portal-header-inner{justify-content:space-between;align-items:center;gap:20px;max-width:1184px;margin:auto;padding:22px 32px;display:flex}.portal-brand{letter-spacing:-.055em;white-space:nowrap;align-items:center;gap:12px;font-size:1.4rem;font-weight:700;text-decoration:none;display:flex}.portal-brand>span:first-child{background:var(--portal-forest);color:#fff;border-radius:14px;place-items:center;width:43px;height:43px;display:grid}.portal-brand .portal-brand-context{letter-spacing:-.02em;color:var(--portal-muted);border-left:1px solid #bdcfc7;margin-left:8px;padding-left:20px;font-size:.9375rem;font-weight:500}.portal-header-right{color:var(--portal-muted);align-items:center;gap:28px;font-size:.875rem;display:flex}.portal-header-right a{color:var(--portal-ink);align-items:center;gap:8px;min-height:44px;font-weight:600;display:flex}.portal-back{max-width:1184px;margin:auto;padding:0 32px 18px}.portal-back a{align-items:center;gap:9px;min-height:36px;font-size:.875rem;font-weight:600;display:inline-flex}.portal-footer{border-top:1px solid var(--portal-border);max-width:1120px;color:var(--portal-muted);flex-wrap:wrap;align-items:center;gap:26px;margin:0 auto;padding:30px 0 34px;font-size:.875rem;display:flex}.portal-footer>span{align-items:center;gap:8px;margin-right:auto;display:flex}.portal-footer a{align-items:center;min-height:32px;display:flex}.portal-state{border:1px solid var(--portal-border);text-align:center;background:#fff;border-radius:28px;max-width:620px;margin:20px auto 50px;padding:48px;box-shadow:0 14px 38px #133e3a05}.portal-state-icon{width:64px;height:64px;color:var(--portal-forest);background:#e8f2ed;border-radius:22px;place-items:center;margin:0 auto 26px;display:grid}.portal-state-icon svg{width:28px;height:28px}.portal-state h1{font-size:2rem}.portal-state-detail{color:var(--portal-muted);margin-top:16px;line-height:1.75}.portal-state-action{margin-top:26px}.portal-state-action a,.portal-primary{background:var(--portal-forest);color:#fff;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:13px 24px;font-size:1rem;font-weight:600;display:inline-flex}.portal-page{max-width:1184px;margin:0 auto;padding:40px 32px 64px}.portal-page-heading{margin-bottom:28px}.portal-page-heading h1{margin:8px 0 12px;font-size:2.35rem}.portal-page-heading p{color:var(--portal-forest);font-size:.875rem;font-weight:600}.portal-page-heading>span{color:var(--portal-muted);font-size:1rem}.portal-eyebrow{color:var(--portal-forest);margin-bottom:12px;font-size:.8125rem;font-weight:600}.portal-offer-grid{grid-template-columns:.82fr 1.18fr;align-items:start;gap:28px;display:grid}.portal-request-card{border:1px solid var(--portal-border);background:#fff;border-radius:26px;padding:30px;position:sticky;top:24px;box-shadow:0 8px 30px #133e3a04}.portal-request-card h2{margin:14px 0 20px;font-size:1.7rem}.portal-request-reference{color:var(--portal-muted);font-size:.8125rem}.portal-request-card>.portal-request-scope{white-space:pre-line;color:var(--portal-muted);font-size:1rem;line-height:1.75}.portal-section-tag{color:var(--portal-forest);background:#e8f2ed;border-radius:99px;align-items:center;gap:7px;padding:5px 11px;font-size:.8125rem;font-weight:600;display:inline-flex}.portal-form-card{border:1px solid var(--portal-border);background:#fff;border-radius:26px;padding:32px;box-shadow:0 8px 30px #133e3a04}.portal-form-card h2{font-size:1.6rem}.portal-form-card>p{color:var(--portal-muted);margin-top:10px;font-size:.9375rem;line-height:1.7}.portal-form-step{border-top:1px solid var(--portal-border);align-items:center;gap:12px;padding-top:28px;font-weight:600;display:flex;margin-top:30px!important;font-size:1.0625rem!important}.portal-form-step>span{background:var(--portal-mist);width:28px;height:28px;color:var(--portal-forest);letter-spacing:0;border-radius:10px;place-items:center;font-size:.8125rem;display:grid}.supplier-portal .contractor-field{min-height:52px;color:var(--portal-ink);background:#f8faf9;border:1px solid #c6d8d1;border-radius:14px;width:100%;padding:13px 15px;font-size:1rem;line-height:1.5}.supplier-portal .contractor-field:focus{border-color:var(--portal-forest);background:#fff}.supplier-portal .text-xs{font-size:.875rem;line-height:1.6}.supplier-portal .font-extrabold{font-weight:600}.supplier-portal .uppercase{letter-spacing:.015em;text-transform:none}.supplier-portal input::placeholder,.supplier-portal textarea::placeholder{color:#748781;opacity:1}.supplier-portal input[type=checkbox],.supplier-portal input[type=radio]{accent-color:var(--portal-forest)}.supplier-portal input[type=file]{max-width:100%;font-size:.875rem}.supplier-portal input[type=file]::file-selector-button{border:1px solid var(--portal-border);color:var(--portal-ink);cursor:pointer;background:#fff;border-radius:12px;margin-right:12px;padding:10px 15px;font-weight:600}.portal-request-facts{border-top:1px solid var(--portal-border);margin-top:26px}.portal-request-fact{border-bottom:1px solid #e5ece8;gap:12px;padding:15px 0;font-size:.9375rem;display:flex}.portal-request-fact>span{color:var(--portal-forest);padding-top:3px}.portal-request-fact svg{width:18px;height:18px}.portal-request-fact small{color:var(--portal-muted);font-size:.8125rem;display:block}.portal-request-fact strong{margin-top:3px;font-weight:550;display:block}.portal-private-note{color:var(--portal-muted);align-items:flex-start;gap:9px;font-size:.875rem;line-height:1.65;display:flex}.portal-private-note svg{flex:none;margin-top:3px}.portal-prequote{border-top:1px solid var(--portal-border);margin-top:24px;padding-top:24px}.portal-prequote h2{font-size:1.0625rem}.portal-prequote p{color:var(--portal-muted);margin-top:8px;font-size:.875rem}.portal-prequote-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.portal-prequote-actions button{background:#fff;border:1px solid #c6d8d1;border-radius:99px;min-height:44px;padding:10px 15px;font-size:.875rem;font-weight:550}.portal-error{color:#8d362e;background:#fff4f1;border:1px solid #e4bdb7;border-radius:16px;padding:16px;line-height:1.7}.portal-job{max-width:1040px;margin:0 auto;padding:36px 32px 64px}.portal-job-summary{border:1px solid var(--portal-border);background:#fff;border-radius:26px;padding:32px}.portal-job-summary h1,.portal-job-summary h2{font-size:2.15rem}.portal-job-status{color:var(--portal-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;font-size:.875rem;display:flex}.portal-job-status>span{color:var(--portal-forest);background:#e8f2ed;border-radius:99px;padding:6px 12px;font-weight:600}.portal-job-next{background:var(--portal-mist);border-radius:18px;align-items:center;gap:15px;margin-top:24px;padding:18px 20px;font-size:.9375rem;display:flex}.portal-job-next>svg{color:var(--portal-forest);flex:none}.portal-task-nav{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.portal-task-nav a{background:#fff;border:1px solid #c6d8d1;border-radius:99px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:11px 18px;font-size:.875rem;font-weight:600;display:flex}.portal-task-nav a.portal-primary{background:var(--portal-forest);border-color:var(--portal-forest);color:#fff;margin-left:auto}.portal-task-nav svg{width:17px;height:17px}.portal-work-section{border:1px solid var(--portal-border);background:#fff;border-radius:26px;margin-top:24px;padding:28px;scroll-margin-top:25px}.portal-work-section h2,.portal-work-section h3{font-size:1.35rem}.portal-document-empty{color:var(--portal-muted);background:#f5f8f6;border-radius:16px;margin-top:18px;padding:20px;font-size:.9375rem}.portal-terms{max-width:820px;margin:auto;padding:42px 32px 64px}.portal-terms header{border-bottom:1px solid var(--portal-border);padding-bottom:32px}.portal-terms h1{font-size:2.6rem}.portal-terms header p{color:var(--portal-muted);margin-top:18px}.portal-terms-content{border:1px solid var(--portal-border);background:#fff;border-radius:26px;margin-top:28px;padding:36px}.portal-terms-content section+section{margin-top:30px}.portal-terms-content h2{letter-spacing:-.02em;font-size:1.125rem}.portal-terms-content p{color:var(--portal-muted);margin-top:12px;font-size:1rem;line-height:1.8}@media (max-width:800px){.portal-offer-grid{grid-template-columns:1fr}.portal-request-card{position:static}.portal-header-right>span{display:none}.portal-page-heading h1{font-size:2rem}.portal-footer{margin-inline:24px}.portal-job-next{align-items:flex-start}}@media (max-width:520px){.portal-header-inner{padding:18px 20px}.portal-brand{gap:9px;font-size:1.25rem}.portal-brand .portal-brand-context{margin-left:2px;padding-left:12px;font-size:.875rem}.portal-brand>span:first-child{border-radius:13px;width:38px;height:38px}.portal-header-right a span{display:none}.portal-page,.portal-job{padding:28px 20px 44px}.portal-request-card,.portal-form-card,.portal-work-section,.portal-job-summary{border-radius:24px;padding:23px}.portal-page-heading{display:block}.portal-page-heading h1,.portal-job-summary h2,.portal-job-summary h1{font-size:1.8rem}.portal-state{padding:30px 24px}.portal-footer{gap:12px 22px;margin-inline:20px;font-size:.8125rem}.portal-footer>span{width:100%;margin-bottom:4px}.portal-back{padding-inline:20px}.portal-task-nav a{white-space:nowrap;flex:1}.portal-terms{padding:30px 20px}.portal-terms-content{padding:24px}.portal-terms h1{font-size:2.05rem}}@media (prefers-reduced-motion:reduce){.supplier-portal *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.portal-workspace{max-width:900px}.portal-job-workspace{max-width:800px;margin:auto}.portal-job-workspace>div:first-of-type{border:1px solid var(--portal-border)}.portal-terms header{color:var(--portal-ink);background:#fff}.portal-terms header p{color:var(--portal-muted);letter-spacing:0;font-size:1rem}.portal-terms article>div{font-size:1rem}.portal-secondary,.portal-quiet{border:1px solid var(--portal-border);background:#fff;border-radius:99px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:10px 18px;font-size:.875rem;font-weight:600;display:inline-flex}.portal-quiet{background:0 0;border:0;padding:10px 8px}.portal-primary:hover{background:#174a45}.portal-primary:disabled{opacity:.55}.portal-login-grid{grid-template-columns:1fr 440px;align-items:center;gap:70px;padding:24px 0 32px;display:grid}.portal-login-story h1{letter-spacing:-.06em;margin:22px 0;font-size:clamp(2.6rem,4.5vw,4rem);line-height:1.06}.portal-kicker{color:var(--portal-forest);font-size:.875rem;font-weight:600}.portal-login-story>p{max-width:400px;color:var(--portal-muted);font-size:1.125rem;line-height:1.75}.portal-login-story ul{gap:20px;margin:35px 0;display:grid}.portal-login-story li{align-items:center;gap:16px;font-size:1rem;display:flex}.portal-login-story li svg{color:var(--portal-forest);width:21px;height:21px}.portal-login-optional{border-top:1px solid var(--portal-border);max-width:400px;color:var(--portal-muted);gap:12px;padding-top:25px;font-size:.875rem;display:flex}.portal-login-optional svg{flex:none;margin-top:3px}.portal-login-card{border:1px solid var(--portal-border);background:#fff;border-radius:28px;padding:36px;box-shadow:0 14px 45px #133e3a06}.portal-login-icon{background:var(--portal-mist);width:52px;height:52px;color:var(--portal-forest);border-radius:18px;place-items:center;margin-bottom:25px;display:grid}.portal-login-card h2{font-size:1.75rem}.portal-login-card>p{color:var(--portal-muted);margin-top:12px;font-size:.9375rem}.portal-login-card form{gap:20px;margin-top:28px;display:grid}.portal-login-card label{gap:9px;font-size:.875rem;font-weight:550;display:grid}.portal-login-card form>.portal-primary{margin-top:4px}.portal-login-text{min-height:44px;color:var(--portal-forest);margin:12px auto 0;font-size:.875rem;font-weight:600;display:block}.portal-login-switch{border-top:1px solid var(--portal-border);text-align:center;color:var(--portal-muted);margin-top:20px;padding-top:24px;font-size:.9375rem}.portal-login-switch button{color:var(--portal-forest);min-height:44px;font-weight:600}.portal-notice{background:#edf5e4;border-radius:16px;padding:16px;color:var(--portal-ink)!important;font-size:.9375rem!important}.portal-account-heading{justify-content:space-between;align-items:start;gap:20px;display:flex}.portal-account-identity{color:var(--portal-muted);flex-wrap:wrap;align-items:center;gap:11px;margin-top:-10px;font-size:.9375rem;display:flex}.portal-account-private{margin-left:auto;font-size:.875rem}.portal-account-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:32px 0;display:grid}.portal-account-stats button{text-align:left;border:1px solid var(--portal-border);background:#fff;border-radius:22px;align-items:start;gap:16px;padding:24px;display:flex}.portal-account-stats button>svg:first-child{color:var(--portal-forest);background:var(--portal-mist);border-radius:16px;width:46px;height:46px;padding:12px}.portal-account-stats button>span{color:var(--portal-muted);font-size:.875rem;display:block}.portal-account-stats strong{color:var(--portal-ink);letter-spacing:-.055em;margin-top:8px;font-size:2rem;font-weight:550;line-height:1.25;display:block}.portal-account-stats button>svg:last-child{width:17px;color:var(--portal-muted);margin-left:auto}.portal-account-list{border:1px solid var(--portal-border);background:#fff;border-radius:26px;padding:26px 28px}.portal-list-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.portal-list-heading h2{font-size:1.35rem}.portal-account-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.portal-filter{background:#f1f5f3;border-radius:99px;gap:4px;max-width:100%;padding:4px;display:flex;overflow:auto}.portal-filter button{white-space:nowrap;min-height:40px;color:var(--portal-muted);border-radius:99px;padding:7px 16px;font-size:.875rem}.portal-filter button[aria-pressed=true]{color:var(--portal-ink);background:#fff;font-weight:600;box-shadow:0 2px 8px #133e3a0b}.portal-search{color:var(--portal-muted);border:1px solid var(--portal-border);border-radius:99px;align-items:center;gap:9px;min-height:46px;padding:10px 15px;display:flex}.portal-search input{background:0 0;outline:none;width:170px;min-width:0;font-size:.9375rem}.portal-case-row{text-align:left;border-top:1px solid #e4ece8;align-items:center;gap:18px;width:100%;padding:22px 0;display:flex}.portal-case-row:hover .portal-case-text strong{color:var(--portal-forest)}.portal-case-icon{width:48px;height:48px;color:var(--portal-forest);background:#f0f3ed;border-radius:17px;flex:none;place-items:center;display:grid}.portal-case-icon.is-selected{background:#e6efeb}.portal-case-text{flex:1;min-width:0;display:block}.portal-case-text small{color:var(--portal-muted);font-size:.8125rem;display:block}.portal-case-text strong{letter-spacing:-.025em;margin:4px 0;font-size:1.125rem;font-weight:600;display:block}.portal-case-text>span{color:var(--portal-muted);font-size:.8125rem}.portal-case-status{color:var(--portal-forest);white-space:nowrap;background:#eef3f0;border-radius:99px;padding:6px 11px;font-size:.8125rem}.portal-case-status.is-new{background:#ebf5db}.portal-list-empty{text-align:center;max-width:550px;color:var(--portal-muted);margin:auto;padding:45px 20px;display:block}.portal-list-empty svg{color:var(--portal-forest);margin:0 auto 20px}.portal-list-empty h3{color:var(--portal-ink);margin-bottom:12px;font-size:1.35rem}.portal-list-empty p{font-size:.9375rem;line-height:1.8}.portal-account-note{color:var(--portal-muted);max-width:790px;margin:24px 0;font-size:.875rem;line-height:1.7}.portal-account-note a{text-underline-offset:4px;text-decoration:underline}.portal-load-more{text-align:center;border-top:1px solid var(--portal-border);padding-top:20px}.portal-load-more p{color:var(--portal-muted);margin-bottom:12px;font-size:.875rem}@media (max-width:850px){.portal-login-grid{grid-template-columns:1fr 1fr;gap:32px}.portal-account-stats{gap:12px}.portal-account-stats button{gap:10px;padding:18px}.portal-account-stats button>svg:last-child{display:none}}@media (max-width:650px){.portal-login-grid{grid-template-columns:1fr;gap:30px;padding:0}.portal-login-story h1{font-size:2.7rem}.portal-login-story ul{display:none}.portal-login-optional{margin-top:22px}.portal-login-card{padding:28px}.portal-account-stats{gap:8px;margin:26px 0}.portal-account-stats button{padding:15px 12px;display:block}.portal-account-stats button>svg:first-child{display:none}.portal-account-stats button>span{font-size:.8125rem}.portal-account-stats strong{font-size:1.7rem}.portal-account-list{padding:22px 18px}.portal-account-private{display:none}.portal-search,.portal-search input{width:100%}.portal-account-toolbar{gap:12px}.portal-filter{width:100%}.portal-filter button{flex:1;padding:7px 11px}.portal-case-row{flex-wrap:wrap;gap:12px;position:relative}.portal-case-icon{border-radius:14px;width:40px;height:40px}.portal-case-text{flex-basis:calc(100% - 85px)}.portal-case-status{margin-left:52px}.portal-case-row>svg{position:absolute;top:38px;right:0}.portal-header-right{gap:14px}.portal-header-right>a:first-child{font-size:.8125rem}.portal-brand .portal-brand-context{display:none}.portal-footer a{min-height:44px}}.portal-first-contact{background:#e9f2ed;border:1px solid #cbded8;border-radius:26px;grid-template-columns:1.2fr 1fr;gap:32px;margin:0 0 30px;padding:28px 32px;display:grid}.portal-first-contact h2,.portal-first-contact h3{font-size:1.1rem;font-weight:650}.portal-first-contact p{color:#526e6b;margin-top:10px;font-size:1rem;line-height:1.75}.portal-first-contact a{min-height:36px;margin-top:12px;text-decoration:underline;display:inline-block}.portal-first-contact>div+div{border-left:1px solid #c4d8ce;padding-left:30px}@media (max-width:720px){.portal-first-contact{grid-template-columns:1fr;gap:20px;padding:24px}.portal-first-contact>div+div{border-top:1px solid #c4d8ce;border-left:0;padding:20px 0 0}}
