/* Material requirements portal, using the site's existing typography and palette. */
.quote-portal{padding-bottom:64px}.quote-portal .page-heading{padding-bottom:28px}.quote-workflow{display:flex;gap:36px;padding:18px 0 30px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.quote-workflow b{font:11px var(--mono);color:var(--red);margin-right:9px}.quote-portal .quote-layout{grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);gap:44px;align-items:start}.quote-section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 0 20px}.quote-section-heading .eyebrow,.quote-portal .quote-form>.eyebrow{font-size:10px;margin-bottom:10px}.quote-section-heading h2,.quote-portal .quote-form h2{font-size:22px;font-weight:550;letter-spacing:-.03em}.quote-section-heading h2>span{font-size:12px;color:var(--muted);margin-left:10px;font-weight:400}.quote-section-heading .text-link{font-size:12px}.quote-portal .quote-item{padding:24px;border:1px solid var(--line);margin-bottom:12px;border-radius:3px}.quote-item-heading{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:20px}.quote-item-heading .micro{display:block;color:var(--muted);font-size:10px;margin-bottom:6px}.quote-item-heading h3{font-size:18px;font-weight:550;margin:0}.quote-item-heading h3 a:hover{color:var(--red)}.quote-portal .quote-item .remove{position:static;background:transparent;border:0;font-size:22px;line-height:1;width:28px;height:28px;color:var(--muted);cursor:pointer}.quote-item-specs{display:grid;grid-template-columns:1fr 1.5fr;gap:14px}.quote-item-specs label{font-size:11px;color:var(--muted);display:block;min-width:0}.quote-item-specs input,.quote-item-specs select{display:block;margin-top:7px;width:100%;font:13px var(--font);padding:9px;border:1px solid var(--line);background:#fafafa;border-radius:2px;color:var(--ink);box-sizing:border-box;min-width:0}.quote-item-quantity{display:grid;grid-template-columns:1fr 1fr;gap:12px;grid-column:1/-1;max-width:230px}.quote-portal .quote-form{padding:30px;border-radius:3px;border:1px solid var(--line)}.quote-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quote-portal .quote-form label{font-size:12px}.quote-portal .quote-form input,.quote-portal .quote-form textarea{font-size:14px;box-sizing:border-box;min-width:0}.quote-primary-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.quote-primary-actions .btn{font-size:13px}.quote-primary-actions [hidden]{display:none!important}.quote-portal .export-actions{display:flex;flex-wrap:wrap;gap:18px;font-size:11px;margin:18px 0}.quote-portal .text-btn{color:var(--muted)}.quote-portal .text-btn:hover{color:var(--red)}.quote-draft-status{border-top:1px solid var(--line);margin-top:20px;padding-top:14px;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted)}.quote-draft-status .text-btn{font-size:10px}.quote-portal #quote-status{font-size:12px;line-height:1.8;margin-top:14px;overflow-wrap:anywhere}.quote-portal .quote-contact-summary{margin-top:36px;margin-bottom:0}.quote-portal .empty-state{padding:44px 24px;border:1px dashed var(--line);background:transparent}.quote-portal .empty-state h3{font-size:24px;font-weight:500}.quote-portal .empty-state p{font-size:13px}.quote-portal input:focus-visible,.quote-portal select:focus-visible,.quote-portal textarea:focus-visible{outline:2px solid var(--red);outline-offset:2px}.quote-portal .btn,.quote-portal .text-btn{transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease}.lab-analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px}.lab-analysis-card{margin:0;border:1px solid var(--line);background:#fff;border-radius:4px;overflow:hidden}.lab-analysis-card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}.lab-analysis-card figcaption{padding:22px}.lab-analysis-card h3{font-size:20px;font-weight:550;margin:8px 0}.lab-analysis-card p{font-size:13px;line-height:1.9;color:var(--muted)}.lab-analysis-card small{font-size:10px;color:var(--muted)}.lab-analysis-methods{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.lab-analysis-methods span{padding:7px 10px;background:#eeeef0;font:12px var(--mono)}#quote-print-view{display:none}
@media(max-width:900px){.quote-portal .quote-layout{grid-template-columns:1fr;gap:32px}.quote-portal .quote-form{padding:24px}.quote-workflow{gap:24px}.lab-analysis-grid{gap:16px}}
@media(max-width:520px){.quote-workflow{gap:16px;font-size:10px}.quote-workflow b{margin-right:4px}.quote-portal .quote-item{padding:18px}.quote-item-specs{grid-template-columns:1fr}.quote-contact-fields{grid-template-columns:1fr;gap:0}.quote-section-heading h2,.quote-portal .quote-form h2{font-size:20px}.quote-section-heading .text-link{font-size:11px}.quote-draft-status{flex-direction:column;align-items:start;gap:8px}.lab-analysis-grid{grid-template-columns:1fr}.lab-analysis-card figcaption{padding:18px}}
@media(prefers-reduced-motion:reduce){.quote-portal *{transition:none!important}}
@page{size:A4;margin:16mm 14mm}
@media print{html,body{background:#fff!important;color:#202225!important;margin:0!important;padding:0!important}body:has(>#quote-print-view)>*{display:none!important}body>#quote-print-view{display:block!important;font:10pt/1.6 'MaterialWorld Source Han Sans','Microsoft YaHei',sans-serif;color:#202225}#quote-print-view *{box-shadow:none!important;text-shadow:none!important}#quote-print-view .brief-print-header{display:flex;align-items:center;gap:20px;border-bottom:2px solid #aa2837;padding-bottom:16px}#quote-print-view .brief-print-header img{width:64px;height:54px;object-fit:contain}#quote-print-view .brief-print-header h1{font-size:22pt;margin:3px 0;font-weight:650;letter-spacing:0}#quote-print-view .brief-print-header span,#quote-print-view .brief-print-header p{font-size:9pt;margin:0;color:#555}#quote-print-view .brief-print-meta{display:flex;justify-content:space-between;gap:15px;font-size:8pt;margin:15px 0;color:#555}#quote-print-view .brief-print-contact{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;padding:15px;background:#f4f4f4;print-color-adjust:exact;-webkit-print-color-adjust:exact}#quote-print-view .brief-print-contact>div{display:flex;gap:12px;overflow-wrap:anywhere}#quote-print-view dt{color:#666;min-width:42px}#quote-print-view dd{margin:0}#quote-print-view h2{font-size:12pt;margin:24px 0 12px;font-weight:600;break-after:avoid}#quote-print-view table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:9pt}#quote-print-view th,#quote-print-view td{padding:10px 8px;text-align:left;vertical-align:top;border-bottom:1px solid #ddd;overflow-wrap:anywhere}#quote-print-view th{background:#efefef;print-color-adjust:exact;-webkit-print-color-adjust:exact;font-weight:500}#quote-print-view th:first-child{width:30%}#quote-print-view th:last-child{width:14%}#quote-print-view td small{display:block;font-size:7pt;color:#777;margin-top:4px}#quote-print-view thead{display:table-header-group}#quote-print-view tr{break-inside:avoid}#quote-print-view .brief-print-notes{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;border-left:2px solid #aa2837;padding-left:14px}#quote-print-view footer{display:block!important;border-top:1px solid #ccc;padding:15px 0 0;margin-top:28px;background:none;color:#666;font-size:8pt}#quote-print-view footer p{margin:4px 0}#quote-print-view a{color:inherit;text-decoration:none}}
