.procurement-page{--decision-ink:#17191d;--decision-copy:#555b64;--decision-muted:#5e6c80;--decision-line:#17191d21;--decision-soft:#f6f7f8;--decision-blue:#195fc8;width:min(100%,1232px);color:var(--decision-ink);margin:0 auto;padding:24px 24px 96px}.procurement-breadcrumb,.procurement-breadcrumb a{color:var(--decision-muted);font-size:12px}.procurement-hero>span{color:var(--decision-muted);font:650 10px/1 var(--font-gd-mono,monospace);letter-spacing:.13em}.procurement-hero h1{letter-spacing:-.055em;text-wrap:balance;max-width:880px;margin:14px 0 18px;font-size:clamp(42px,5vw,66px);font-weight:590;line-height:1.02}.procurement-hero p{max-width:750px;color:var(--decision-copy);text-wrap:pretty;margin:0;font-size:16px;line-height:1.7}.procurement-draft-state{color:var(--decision-muted);align-items:center;gap:10px;margin-top:22px;font-size:12px;display:flex}.procurement-local-projects{flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;display:flex}.procurement-local-projects .ant-select{min-width:min(260px,100%)}.procurement-content-nav{z-index:15;background:var(--surface);border-bottom:1px solid var(--decision-line);padding:8px 0;position:sticky;top:58px;overflow-x:auto}.procurement-content-nav .ant-anchor{min-width:max-content}.procurement-content-nav .ant-anchor-link-title{align-items:center;min-height:36px;display:flex}.procurement-empty .ant-empty{margin-block:12px}.procurement-summary-costs{margin-top:20px}.procurement-summary-costs .ant-descriptions-row>td{border-top:1px solid var(--decision-line);padding-block:9px}.procurement-summary-costs .ant-descriptions-item-container{justify-content:space-between;gap:12px}.procurement-summary-costs .ant-descriptions-item-label{color:var(--secondary);font-size:13px}.procurement-summary-costs .ant-descriptions-item-content{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;justify-content:flex-end;font-weight:650}.procurement-unknowns{width:100%;margin-top:12px}.procurement-unknowns .ant-collapse-header{min-height:44px;font-size:13px}.procurement-unknowns .ant-collapse-content-box{font-size:13px}.procurement-unknowns ul{margin-top:0}.candidate-cost-panel .procurement-unknowns .ant-collapse-header,.candidate-cost-panel .procurement-unknowns .ant-collapse-content{color:#e4e9f0}@media (max-width:800px){.procurement-content-nav .ant-anchor-link-title{min-height:44px}}.procurement-feedback{color:#244672;background:#f2f7ff;border:1px solid #b8cbed;border-radius:6px;margin:12px 0;padding:12px 14px;font-size:13px;position:relative}.procurement-step{border-top:1px solid var(--decision-line);padding:30px 0 54px}.procurement-step-heading{grid-template-columns:34px minmax(0,1fr);gap:14px;max-width:850px;margin-bottom:24px;display:grid}.procurement-step-heading>b{border:1px solid var(--decision-ink);width:28px;height:28px;font:600 12px/26px var(--font-gd-mono,monospace);text-align:center;border-radius:50%}.procurement-step-heading h2{letter-spacing:-.03em;margin:0 0 4px;font-size:25px}.procurement-step-heading p,.candidate-note,.share-panel p{color:var(--decision-muted);margin:0;font-size:12px;line-height:1.65}.project-name{gap:7px;max-width:520px;margin-bottom:16px;font-size:12px;font-weight:650;display:grid}.procurement-constraints{border:1px solid var(--decision-line);background:var(--decision-soft);border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px;display:grid}.procurement-constraints label,.procurement-field,.policy-select,.hybrid-members label{color:#363a40;gap:7px;min-width:0;font-size:12px;font-weight:620;display:grid}.procurement-constraints .ant-select,.procurement-constraints .ant-input-number,.procurement-constraints .ant-input-number-group-wrapper,.procurement-field .ant-input-number-group-wrapper,.policy-select .ant-select,.hybrid-members .ant-input-number-group-wrapper{width:100%}.procurement-policy-leads{border:1px solid var(--decision-line);background:var(--decision-soft);color:#363a40;border-radius:7px;margin-top:16px;padding:16px 18px}.procurement-policy-leads>strong{font-size:13px}.procurement-policy-leads p{margin:6px 0 10px;font-size:12px;line-height:1.6}.procurement-policy-leads ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.procurement-policy-leads li{flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:12px;display:flex}.procurement-policy-leads li span{color:#727781}.procurement-route-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.procurement-route{border:1px solid var(--decision-line);background:#fff;border-radius:7px;gap:12px;min-width:0;padding:18px;display:grid}.procurement-route small{color:var(--decision-muted);font:600 11px var(--font-gd-mono,monospace)}.procurement-route strong{letter-spacing:-.02em;font-size:20px}.candidate-toolbar,.save-actions,.share-link{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.candidate-toolbar{color:var(--decision-copy);margin-top:16px;font-size:13px}.candidate-toolbar a,.save-actions a{color:var(--decision-ink);font-weight:650}.procurement-empty,.result-unknown{border:1px dashed var(--decision-line);color:var(--decision-muted);text-align:center;border-radius:7px;padding:28px}.candidate-list{gap:16px;display:grid}.procurement-candidate{border:1px solid var(--decision-line);background:#fff;border-radius:7px;overflow:hidden}.procurement-candidate>header{border-bottom:1px solid var(--decision-line);background:#fafafa;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.candidate-heading{align-items:center;gap:12px;min-width:0;display:flex}.candidate-heading h3{margin:0 0 3px;font-size:17px}.candidate-heading p{color:var(--decision-muted);margin:0;font-size:11px}.candidate-heading .ant-input{min-width:280px}.candidate-body{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);display:grid}.candidate-body>div:first-child{padding:20px}.candidate-inputs{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.candidate-build{background:#f7f8fa;border:1px solid #d8dce2;border-radius:6px;margin:18px 0;padding:18px}.candidate-build>strong{margin-bottom:8px;font-size:14px;display:block}.candidate-build .candidate-inputs{grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0}.policy-select{margin-top:18px}.policy-assumption-fields{background:#fffaf0;border:1px solid #e1d19e;border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px;padding:14px;display:grid}.policy-assumption-fields label{color:#544924;gap:7px;font-size:11px;font-weight:650;display:grid}.policy-assumption-fields .ant-input-number-group-wrapper{width:100%}.candidate-note{margin-top:12px}.candidate-cost-panel{color:#fff;background:#181a1e;flex-direction:column;align-items:flex-start;padding:22px;display:flex}.candidate-cost-panel>strong{font-variant-numeric:tabular-nums;letter-spacing:-.045em;margin-top:22px;font-size:32px}.candidate-cost-panel>span{color:#aeb4bd;font-size:11px}.candidate-cost-panel dl,.decision-costs{width:100%;margin:20px 0 0}.candidate-cost-panel dl div,.decision-costs div{border-top:1px solid #ffffff1f;justify-content:space-between;gap:16px;padding:8px 0;font-size:12px;display:flex}.candidate-cost-panel dt{color:#aeb4bd}.candidate-cost-panel dd,.decision-costs dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.candidate-cost-panel details{color:#c5cad1;width:100%;margin-top:14px;font-size:11px}.candidate-cost-panel ul,.procurement-summary-card ul{padding-left:18px;line-height:1.7}.decision-badges{flex-wrap:wrap;gap:7px;display:flex}.decision-status,.decision-lowest{border-radius:999px;padding:4px 7px;font-size:10px;font-weight:700;display:inline-flex}.decision-status.is-met{color:#15663b;background:#e7f6ee}.decision-status.is-unknown{color:#765600;background:#fff2c9}.decision-status.is-unmet{color:#a63226;background:#ffe9e7}.decision-lowest{color:#1e58aa;background:#e7efff}.candidate-cost-panel .decision-status.is-met{color:#a9e9c5;background:#173d2b}.candidate-cost-panel .decision-status.is-unknown{color:#f5d873;background:#463a15}.candidate-cost-panel .decision-lowest{color:#b9d5ff;background:#19345d}.hybrid-members{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px 20px 0;display:grid}.procurement-candidate>.candidate-note{margin:12px 20px 20px}.procurement-candidate>.candidate-cost-panel{border-top:1px solid var(--decision-line)}.procurement-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.procurement-summary-sort{color:var(--decision-muted);align-items:center;gap:12px;margin:0 0 14px;font-size:12px;display:flex}.procurement-summary-sort .ant-select{min-width:190px}.procurement-summary-card{border:1px solid var(--decision-line);border-radius:7px;min-width:0;padding:20px}.procurement-summary-card h3{margin:18px 0 4px;font-size:19px}.procurement-summary-card>p{color:var(--decision-muted);font-size:12px}.procurement-summary-card .procurement-demo-note{color:#9a3412;font-weight:650}.decision-costs div{border-color:var(--decision-line)}.decision-costs dt{color:var(--decision-muted)}.procurement-summary-card details{color:var(--decision-copy);margin-top:14px;font-size:11px}.procurement-boundary{background:#edf4ff;border-radius:7px;margin-top:16px;padding:22px}.procurement-boundary strong{font-size:17px}.procurement-boundary p{color:#405066;max-width:900px;margin:7px 0 0;font-size:12px;line-height:1.65}.share-panel{border:1px solid var(--decision-line);background:var(--decision-soft);border-radius:7px;margin-top:18px;padding:18px}.share-panel p{margin:8px 0 14px}.share-link{margin-top:14px}.share-link .ant-input{flex:360px}.procurement-share-copy{margin-top:20px}.procurement-shared-page .procurement-hero{padding-bottom:42px}@media (max-width:860px){.procurement-constraints,.procurement-route-grid,.candidate-inputs,.hybrid-members{grid-template-columns:repeat(2,minmax(0,1fr))}.candidate-body,.procurement-summary-grid{grid-template-columns:1fr}}@media (max-width:560px){.procurement-page{padding:16px 16px 64px}.procurement-hero{padding:36px 0 42px}.procurement-hero h1{letter-spacing:-.045em;font-size:40px}.procurement-constraints,.procurement-route-grid,.candidate-inputs,.candidate-build .candidate-inputs,.policy-assumption-fields,.hybrid-members{grid-template-columns:1fr}.procurement-constraints{padding:16px}.procurement-candidate>header,.candidate-heading{align-items:flex-start}.candidate-heading .ant-input{width:100%;min-width:0}.candidate-body>div:first-child,.candidate-cost-panel{padding:16px}.candidate-cost-panel>strong{font-size:28px}.candidate-toolbar,.save-actions,.share-link{flex-direction:column;align-items:stretch}.candidate-toolbar a,.save-actions a{padding:10px 0}.share-link .ant-input{flex-basis:auto}}.procurement-hero{max-width:none;padding:24px 0 28px}.procurement-hero h1{letter-spacing:-.025em;margin:0 0 14px;font-size:clamp(30px,3.2vw,44px);line-height:1.2}.procurement-hero p{max-width:68ch;font-size:15px}.procurement-start-actions{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:20px;display:flex}.procurement-start-actions .button{background:var(--accent);color:#fff;border-color:var(--accent)}.procurement-start-actions .button:hover{background:var(--accent-hover)}.procurement-draft-state{flex-wrap:wrap;margin-top:16px}.procurement-step{padding:26px 0 36px;scroll-margin-top:128px}.procurement-step-heading h2{font-size:22px}.procurement-step-heading p,.candidate-note,.share-panel p{font-size:13px}.procurement-route small{display:none}.procurement-route strong{color:var(--ink);font-size:19px}.procurement-route:has(.ant-select-focused){border-color:var(--accent)}.procurement-route .ant-btn:not(:disabled){background:var(--accent-soft);color:var(--accent);border-color:var(--line)}.procurement-field{font-size:13px}.procurement-candidate{border-radius:var(--r-md)}.candidate-heading h3{overflow-wrap:anywhere}.candidate-heading p{font-size:12px}.candidate-heading .ant-tag{flex-shrink:0}.candidate-cost-panel{background:var(--accent-soft);color:var(--ink);border-left:1px solid var(--line)}.candidate-cost-panel>span,.candidate-cost-panel dt,.candidate-cost-panel details,.candidate-cost-panel .procurement-unknowns .ant-collapse-header,.candidate-cost-panel .procurement-unknowns .ant-collapse-content{color:var(--secondary)}.candidate-cost-panel dl div{border-top-color:var(--line)}.candidate-cost-panel .decision-status.is-met{background:var(--success-bg);color:var(--success)}.candidate-cost-panel .decision-status.is-unknown{background:var(--warning-bg);color:var(--warning)}.candidate-cost-panel .decision-status.is-unmet{color:var(--danger);background:#fff0ed}.procurement-page .ant-btn,.procurement-page .ant-select-single,.procurement-page .ant-input,.procurement-page .ant-input-number{min-height:40px}@media (max-width:860px){.candidate-cost-panel{border-left:0;border-top:1px solid var(--line)}}@media (max-width:560px){.procurement-hero{padding:18px 0 24px}.procurement-hero h1{font-size:30px}.procurement-step{padding-bottom:28px}.procurement-candidate>header{flex-wrap:wrap}.candidate-heading{flex:220px}.procurement-page .ant-btn,.procurement-page .ant-select-single,.procurement-page .ant-input-number{min-height:44px}}.procurement-page{overflow-wrap:anywhere}.candidate-list>*,.candidate-build{min-width:0}.candidate-build>strong,.procurement-summary-card h3{overflow-wrap:anywhere}
