html{overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#94a689 #f4f7f2}body{margin:0;width:1264px}.app-shell{width:1264px}
.topbar{height:64px}.main{padding:22px 28px 30px}.page-head{margin-bottom:18px}.page-head h1{font-size:27px}.page-head p{margin-top:6px}.profile{font-size:13px}.profile small{color:#527044;font-size:11px;font-weight:600}
.quote-records{display:grid;gap:28px;padding:2px 0 8px}.quote-card{position:relative;overflow:visible;margin:0}.quote-card>.panel-header{padding:16px 20px;min-height:0;align-items:flex-start}.quote-card h2{font-size:16px;font-weight:650;letter-spacing:-.2px;margin:0}.quote-subtitle{display:block;color:#6d7e62;font-size:11px;line-height:1.5;margin-top:5px}
.quote-heading-status{display:flex;align-items:center;gap:16px}.quote-value{text-align:right;display:block;font-size:23px;letter-spacing:-.6px;font-weight:650;color:#355b2e;font-variant-numeric:tabular-nums;white-space:nowrap}.quote-value small{font-size:11px;font-weight:500;letter-spacing:.5px;margin-right:5px}.quote-card .panel-body{padding:14px 20px 16px}
.quote-metadata{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:11px;color:#7d8975;margin-bottom:14px}.quote-metadata strong{color:#4e6344;font-weight:500;margin-left:5px}.quote-table{font-size:12px;width:100%;white-space:normal}.quote-table th{background:#f8faf5;border-bottom:1px solid #e5eadf;font-size:10px;letter-spacing:.4px;color:#78876b;font-weight:600;padding:9px 12px}.quote-table td{font-size:12px;padding:10px 12px;border-bottom:1px solid #edf1e8;line-height:1.5;color:#435c39}.quote-table th:first-child,.quote-table td:first-child{padding-left:0}.quote-table th:last-child,.quote-table td:last-child{padding-right:0}.quote-table .number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.quote-table tfoot th,.quote-table tfoot td{font-size:13px;font-weight:650;border-bottom:0;background:transparent;padding-top:12px;padding-bottom:0;color:#355b2e}.quote-table td:nth-child(2){color:#7b8872}
.quote-source{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;border-top:1px solid #edf1e8;padding-top:11px;font-size:10px;color:#7a8871}.quote-source .source-file{display:flex;align-items:center;gap:7px;color:#58734b}.source-file svg{width:15px;height:15px}.quote-source p{margin:0;font-size:10px;color:#7a8871}.quote-recorded{white-space:nowrap}
.client-terms{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:18px;margin:0}.client-terms>div+div{padding-left:18px;border-left:1px solid #e7ecdf}.client-terms dt{font-size:10px;text-transform:uppercase;letter-spacing:.65px;color:#859278;margin-bottom:7px}.client-terms dd{font-size:12px;line-height:1.7;color:#4b6441;margin:0}.client-terms strong{display:block;font-weight:550;color:#385a30}.single-quote .quote-card>.panel-header{padding:22px 24px}.single-quote .quote-card .panel-body{padding:20px 24px}.single-quote .quote-table td{padding-top:15px;padding-bottom:15px;font-size:13px}.single-quote .client-terms{grid-template-columns:1fr 1fr;gap:24px}.single-quote .client-terms>div+div{padding-left:0;border-left:0}.single-quote .client-terms>div{padding:16px 18px;border:1px solid #e6ecde;border-radius:7px;background:#fafcf8}.single-quote .client-terms dd{font-size:14px}.single-quote .quote-source{margin-top:22px;padding-top:16px}.single-quote .quote-value{font-size:28px}
.supplier-detail{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px;padding-top:20px;border-top:1px solid #e5ebde}.supplier-detail h3{font-size:13px;margin:0 0 12px;color:#425e35}.supplier-detail dl{display:grid;grid-template-columns:90px 1fr;gap:10px 14px;margin:0;font-size:12px;line-height:1.6}.supplier-detail dt{color:#869277}.supplier-detail dd{margin:0;color:#506743}
.quote-view-note{font-size:10px;line-height:1.6;color:#7d8975;margin:16px 0 0}
/* Stage progression and tabs use the shared application styles unchanged. */
.quote-card>.panel-header{padding-top:14px;padding-bottom:14px}.quote-card .panel-body{padding-top:12px;padding-bottom:14px}.quote-table td{font-size:13px;padding-top:9px;padding-bottom:9px}.quote-source{margin-top:11px;padding-top:9px}.client-terms dd{font-size:13px}.quote-metadata{margin-bottom:12px}
.supplier-detail{margin-top:18px;padding-top:16px}

/* Keep the original request and its linked factory response in one record. */
.request-quote-card>.panel-header{align-items:center}
.request-status{font-size:11px;padding:6px 10px}
.request-quote-card>.panel-body{padding:18px 20px 20px}
.request-assignment{display:flex;align-items:center;gap:11px;padding:12px 14px;background:#f6f9f2;border:1px solid #e4ebdd;border-radius:6px}
.request-assignment>svg{width:22px;height:22px;color:#718d5e}
.request-assignment span{display:block;font-size:10px;color:#7b8b70;margin-bottom:4px}
.request-assignment strong{display:block;font-size:13px;font-weight:600;color:#35522f}
.request-dates{margin:14px 0 16px;gap:12px 24px}
.request-specs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px 22px;margin:0}
.request-specs>div{grid-column:span 2;min-width:0}
.request-specs>div.wide{grid-column:span 3}
.request-specs dt,.request-scope>span{display:block;font-size:10px;line-height:1.5;color:#7a8a70;margin-bottom:5px}
.request-specs dd{margin:0;font-size:13px;line-height:1.6;color:#3c5633}
.request-scope{margin-top:17px;padding-top:14px;border-top:1px solid #edf1e8}
.request-scope p{margin:0;font-size:12px;line-height:1.65;color:#52684a}
.request-connector{display:flex;align-items:center;justify-content:center;gap:9px;margin:20px 0;color:#6e895d;font-size:10px;letter-spacing:.4px}
.request-connector:before,.request-connector:after{content:'';height:1px;flex:1;background:#e1e9da}
.request-connector>span:first-child{font-size:22px;line-height:1;color:#7e9b69}
.factory-response-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}
.factory-response-heading h3{margin:0;font-size:16px;font-weight:650;letter-spacing:-.2px;color:#304a30}
.response-terms{display:block}
.response-terms dl{grid-template-columns:90px 1fr 90px 1fr;gap:12px 18px}
.single-quote .request-brief>.quote-source{margin-top:11px;padding-top:9px}
