/* ECS project review: Fluent 2 spacing, type and interaction states. */
.intake-cta{padding:32px;border:1px solid #7c95ab;border-radius:8px;background:#24445f}.intake-cta h3{color:#fff}.intake-cta p{color:#d2e0e9}.intake-return{display:block;margin-top:20px;text-decoration:underline}
.review-app{background:#f3f5f7;min-height:70vh}.app-wrap{padding:48px max(24px,calc((100vw - 1200px)/2)) 64px}.review-app h1{font-size:36px;line-height:46px;margin-bottom:16px}.review-app h2{font-size:28px;line-height:36px;margin-bottom:16px}.review-app h3{font-size:20px;line-height:28px;margin-bottom:12px}.review-app h4{font-size:18px;line-height:26px;color:var(--navy);margin:0 0 12px}.review-intro{max-width:840px;margin-bottom:40px}.review-layout{display:grid;grid-template-columns:248px minmax(0,1fr);gap:32px}.review-sidebar{align-self:start;position:sticky;top:144px}.step-list{padding:0;margin:0;list-style:none}.step-list li{margin-bottom:8px}.step-list button{border:0;border-radius:4px;display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px;background:transparent;color:var(--muted);font-size:16px;line-height:24px;cursor:pointer}.step-list button:disabled{background:transparent;color:var(--muted);cursor:default}.step-list button span{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border:1px solid #a4b5c3;border-radius:50%;background:#fff;font-size:14px}.step-list .current button{background:#e4ecfc;color:#17469c;font-weight:600}.step-list .current span{background:var(--brand);color:white;border-color:var(--brand)}.step-list .complete span{background:#dce9e2;color:#225637;border-color:#8cbaa0}.step-list .complete button:hover{background:#e4e9ee}.side-note{border-top:1px solid var(--stroke);margin-top:24px;padding:24px 12px;color:var(--muted);font-size:14px;line-height:20px}.side-note strong{display:block;margin-bottom:12px;color:var(--navy)}.side-note p{margin-bottom:12px}.form-panel,.panel{padding:32px;background:#fff;border:1px solid var(--stroke);border-radius:8px;box-shadow:0 2px 4px #17324d08}.panel-top{display:flex;gap:16px;justify-content:space-between;align-items:center;font-size:14px;line-height:20px;color:var(--muted);margin-bottom:12px}.panel-top a{color:var(--brand);text-decoration:underline}.signed-in{overflow-wrap:anywhere}.progress-track{height:4px;background:#e7ecf1;border-radius:4px;margin-bottom:28px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--brand);transition:width .2s ease}.review-app form{display:block}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0;margin:0;border:0;min-width:0}.review-app .field{color:var(--fg);font-size:14px;font-weight:600;line-height:20px;min-width:0}.review-app input,.review-app textarea,.review-app select{border:1px solid #adb9c2;border-bottom:2px solid #6b7781;color:var(--fg);background:#fff}.review-app input:hover,.review-app textarea:hover,.review-app select:hover{border-color:#778894;border-bottom-color:var(--navy)}.review-app input:focus,.review-app textarea:focus,.review-app select:focus{outline:2px solid var(--brand);outline-offset:2px;border-bottom-color:var(--brand)}.review-app input:disabled,.review-app textarea:disabled,.review-app select:disabled{background:#f0f0f0;color:#666}.review-app textarea{min-height:100px}.review-app .required-mark{color:#a4262c}.wide{grid-column:1/-1}.field-hint{display:block;font-size:14px;line-height:20px;font-weight:400;color:var(--muted);margin-top:8px}.field-help{font-size:14px;line-height:20px;color:var(--muted);align-self:end;padding:12px;background:#f3f5f7;border-radius:4px}.section-divider{border-top:1px solid var(--stroke);margin-top:8px;padding-top:24px}.section-divider p{color:var(--muted);font-size:14px;line-height:20px}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid var(--stroke)}.action-group{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.text-button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--brand);padding:8px;min-height:44px;cursor:pointer;font-size:14px;line-height:20px;font-weight:600;border-radius:4px;text-decoration:underline}.text-button:hover{background:#edf2fc;color:var(--brand-hover)}.text-button:active{background:#dce6fa}.text-button:disabled{color:#767676;background:transparent;text-decoration:none}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.review-app .check-option{display:flex;align-items:flex-start;gap:12px;color:var(--fg);font-size:16px;line-height:24px;font-weight:400;cursor:pointer}.check-option input{appearance:auto;width:20px;height:20px;min-height:20px;flex-shrink:0;margin:2px 0 0;accent-color:var(--brand);padding:0}.check-grid .check-option{padding:12px;background:#f7f9fc;border:1px solid var(--stroke);border-radius:4px}.check-grid .check-option:has(input:checked){border-color:var(--brand);background:#eef3ff}.upload-area{padding:24px;border:1px dashed #7f94a5;border-radius:8px;background:#f8faff}.upload-area strong{color:var(--navy)}.upload-area p{margin:12px 0}.review-app .upload-label{color:var(--navy)}.upload-label input{font-size:14px;line-height:20px;background:#fff;padding:8px}.upload-label input::file-selector-button{padding:8px 16px;min-height:40px;background:#fff;border:1px solid #8b9bab;border-radius:4px;color:var(--navy);font:600 14px var(--font);margin-right:12px;cursor:pointer}.document-list{border-top:1px solid var(--stroke);margin:16px 0 24px}.document-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--stroke);overflow-wrap:anywhere}.document-row>div{min-width:0}.document-row strong,.document-row a{font-size:16px;line-height:24px;color:var(--navy)}.document-row a{text-decoration:underline}.document-row span{display:block;font-size:14px;line-height:20px;color:var(--muted);margin-top:4px}.document-row label{margin-top:12px}.document-link:hover{background:#f3f6fc}.document-link>span{color:var(--brand);white-space:nowrap}.notice{padding:16px 20px;background:#eef3ff;border:1px solid #bdceef;border-radius:4px;color:#17324d;margin:0 0 24px;overflow-wrap:anywhere}.notice p,.notice ul{margin-top:8px}.notice.error{background:#fff5f5;border-color:#dc8d94;color:#8a1320}.notice.success{background:#edf7f0;border-color:#a7cdb4;color:#205b35}.spinner{width:18px;height:18px;display:inline-block;flex-shrink:0;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ecs-spin .8s linear infinite}.loading-line{display:flex;gap:12px;align-items:center}.review-summary .summary-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--stroke);padding-top:20px;margin-top:20px}.review-summary .summary-heading:first-child{border:0;margin-top:0;padding-top:0}.summary-heading h3{margin:0}.review-summary dl,.evidence-card dl{display:grid;grid-template-columns:160px 1fr;gap:8px 16px;margin:16px 0}.review-summary dt,.evidence-card dt{color:var(--muted)}.review-summary dd,.evidence-card dd{margin:0;overflow-wrap:anywhere}.compact{margin-bottom:4px!important}.bot-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.receipt{padding-block:72px;min-height:70vh}.receipt-check{display:grid;place-items:center;width:64px;height:64px;margin-bottom:24px;background:#e1f0e7;color:#205b35;border:1px solid #a7cdb4;border-radius:50%;font-size:32px}.receipt .lead{max-width:740px}.sign-in-panel{padding-block:72px}.sign-in-panel .btn{margin:16px 12px 0 0}.hub-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:32px}.hub-heading h1{font-size:32px;line-height:40px;max-width:650px}.hub-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px}.review-queue{align-self:start}.review-queue>.field{margin-bottom:16px}.queue-count{font-size:14px;color:var(--muted);margin-bottom:12px}.queue-item{display:block;width:100%;text-align:left;background:#fff;border:1px solid var(--stroke);border-radius:4px;padding:16px;margin-bottom:12px;cursor:pointer;color:var(--fg);font:400 14px/20px var(--font)}.queue-item:hover{border-color:#8dacc9;background:#f8faff}.queue-item.selected{border-color:var(--brand);box-shadow:inset 3px 0 var(--brand)}.queue-item>strong{display:block;font-size:18px;line-height:26px;color:var(--navy);margin:8px 0}.queue-ref{color:var(--muted);font-size:12px;line-height:16px}.queue-item>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:16px}.badge{display:inline-flex;align-items:center;padding:4px 8px;font-size:12px;font-weight:600;line-height:16px;background:#eaf0fa;color:#234c87;border:1px solid #c8d6e8;border-radius:4px;white-space:nowrap;align-self:start}.badge.needs_information{color:#80500b;background:#fff7e5;border-color:#e4c98e}.badge.proposal_ready,.badge.accepted{color:#225b35;background:#eaf5ee;border-color:#b7d4c0}.empty-state{padding:24px 0;color:var(--muted)}.empty-state strong{color:var(--navy)}.empty-state p{margin:12px 0 0}.empty-detail{padding:64px 40px;min-height:400px}.empty-icon{font-size:48px;color:var(--brand);margin-bottom:24px}.empty-workflow{display:grid;gap:16px;margin-top:32px;color:var(--navy)}.detail-heading{display:flex;justify-content:space-between;gap:16px;margin:0 0 24px}.detail-heading h2{margin-bottom:8px}.detail-heading .eyebrow{margin-bottom:8px}.detail-heading p{color:var(--muted)}.detail-tabs{display:flex;gap:8px;border-bottom:1px solid var(--stroke);margin-bottom:20px}.detail-tabs button{position:relative;border:0;background:transparent;padding:12px 16px;color:var(--muted);font:600 16px/24px var(--font);cursor:pointer;min-height:48px}.detail-tabs button:hover{background:#e9edf3}.detail-tabs button[aria-selected=true]{color:var(--navy)}.detail-tabs button[aria-selected=true]:after{content:'';position:absolute;bottom:0;left:16px;right:16px;height:3px;background:var(--brand);border-radius:3px}.metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--stroke)}.metric-row span{display:block;font-size:14px;color:var(--muted);margin-bottom:8px}.metric-row strong{font-size:18px;color:var(--navy);line-height:26px}.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;margin:24px 0}.record-grid dt{color:var(--muted);font-size:14px;line-height:20px}.record-grid dd{margin:4px 0 0;overflow-wrap:anywhere}.record-section{border-top:1px solid var(--stroke);padding-top:20px;margin:24px 0}.pre-line{white-space:pre-line;overflow-wrap:anywhere}.audit-details{margin-top:24px}.audit-details summary{font-size:16px}.audit-details li{margin:12px 0}.audit-details li span{display:block;font-size:14px;color:var(--muted)}.section-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;margin-bottom:24px}.section-toolbar p{font-size:14px;line-height:20px}.section-toolbar .btn{font-size:14px;line-height:20px;padding:10px 14px}.assessment-summary{padding:20px;background:#f5f7fb;border-radius:4px;margin-bottom:24px}.assessment-summary p{margin-top:12px}.evidence-card{padding:20px 0;border-top:1px solid var(--stroke)}.evidence-card>div{display:flex;gap:12px}.evidence-number{font-size:14px;font-weight:600;color:var(--brand)}.evidence-card h3{font-size:18px;line-height:26px}.evidence-context{font-size:14px;line-height:20px;color:var(--muted)}.evidence-card dl{grid-template-columns:132px 1fr;font-size:14px;line-height:22px}.evidence-card a{color:var(--brand);text-decoration:underline}.data-candidate{padding:16px 0;border-top:1px solid var(--stroke)}.data-candidate p{font-size:14px;line-height:22px;margin:8px 0}.question-editor{margin-top:32px;padding-top:24px;border-top:1px solid var(--stroke)}.question-editor .btn{margin-top:16px}.rate-panel{margin-bottom:32px}.rate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}.money-input{display:flex;align-items:center;gap:8px}.proposal-editor{border:0;margin:0;padding:0;display:grid;gap:24px;min-width:0}.scope-editor{padding:20px;border:1px solid var(--stroke);border-radius:4px;min-width:0;margin:0 0 8px}.scope-editor legend{padding:0 8px;color:var(--navy);font-weight:600}.scope-editor textarea{min-height:80px}.scope-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px}.proposal-total{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;background:#eef3ff;border-block:1px solid #c8d6f0;padding:20px;margin:24px 0 12px;color:var(--navy)}.proposal-preview{margin-top:40px;padding-top:32px;border-top:2px solid var(--stroke)}.proposal-masthead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.proposal-masthead h2{font-size:26px;line-height:34px}.proposal-meta{display:grid;grid-template-columns:100px 1fr;gap:8px;margin:0 0 24px}.proposal-meta dt{color:var(--muted)}.proposal-meta dd{margin:0}.proposal-document>h3{margin-top:32px}.proposal-item{border-top:1px solid var(--stroke);padding-top:24px;margin-top:24px}.proposal-item p{font-size:15px;line-height:24px}.item-price{color:var(--navy);font-weight:600}.proposal-section{margin-top:28px}.accept-panel{display:grid;gap:24px;margin-top:32px;padding-top:24px;border-top:1px solid var(--stroke)}.accept-panel .btn{justify-self:start}.evidence-editor{display:grid;gap:24px}.app-links>a{display:flex!important}
@keyframes ecs-spin{to{transform:rotate(360deg)}}
@media(max-width:1050px){.app-wrap{padding:32px 24px 48px}.review-layout{grid-template-columns:200px 1fr;gap:24px}.hub-layout{grid-template-columns:250px minmax(0,1fr)}.panel,.form-panel{padding:24px}.hub-heading{flex-direction:column}.rate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-row{grid-template-columns:1fr 1fr}.proposal-masthead{flex-direction:column}}
@media(max-width:760px){.app-wrap{padding:28px 16px 40px}.review-app h1{font-size:28px;line-height:36px}.review-layout,.hub-layout{grid-template-columns:1fr;gap:24px}.review-sidebar{position:static}.step-list{display:flex;gap:8px}.step-list li{flex:1;margin:0}.step-list button{font-size:0;line-height:0;padding:0;justify-content:center;background:none!important}.step-list button span{font-size:14px;line-height:20px}.side-note{display:none}.panel-top{align-items:flex-start;flex-direction:column;gap:8px}.field-grid,.record-grid,.rate-grid{grid-template-columns:1fr}.wide{grid-column:auto}.field-help{align-self:auto}.form-panel,.panel{padding:20px}.form-actions{align-items:stretch;gap:8px}.form-actions .action-group{justify-content:flex-end}.form-actions .btn{padding:10px 16px}.review-summary dl{grid-template-columns:120px 1fr}.review-queue{max-height:400px;overflow:auto;padding:0 2px 12px}.review-intro{margin-bottom:24px}.metric-row{grid-template-columns:1fr 1fr}.detail-heading{flex-direction:column}.hub-heading h1{font-size:28px;line-height:36px}.scope-editor{padding:16px}.evidence-card dl{grid-template-columns:1fr;gap:4px}.evidence-card dd{margin-bottom:12px}.check-grid{grid-template-columns:1fr}.app-links>a:not(.btn){display:none!important}.empty-detail{min-height:240px;padding:32px 24px}.proposal-masthead h2{font-size:24px;line-height:32px}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}.progress-track span{transition:none}}
@media print{body{background:#fff}header,footer,.skip,.hub-heading,.review-queue,.detail-heading,.detail-tabs,.notice,.section-toolbar,.proposal-editor,.screen-only,.accept-panel,.rate-panel{display:none!important}.app-wrap,.hub-layout,.review-detail,.panel,.proposal-preview{display:block!important;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;background:#fff!important}.review-app{min-height:0;background:#fff}.proposal-document{font-size:11pt;line-height:1.5}.proposal-item,.proposal-section{break-inside:avoid}.proposal-document h2{font-size:20pt}.proposal-document h3{font-size:14pt}.proposal-document h4{font-size:12pt}.proposal-document .badge{display:inline-block;border:1px solid currentColor;color:#111;background:transparent;white-space:normal}.proposal-total{background:#f4f4f4!important}.proposal-document a{color:inherit}@page{margin:18mm;size:A4}}

fieldset.rate-grid,fieldset.evidence-editor{min-width:0;margin:0;padding:0;border:0}.proposal-masthead .badge{white-space:normal}
