.quote-page{max-width:1460px;margin:0 auto;padding:28px 32px 48px;min-height:75vh}
.quote-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}
.quote-intro{margin-bottom:20px}.quote-intro h1{margin:6px 0 8px}
.quote-lookup{display:flex;align-items:center;gap:14px;background:var(--panel,#fff);border:1px solid var(--line,#dce6e8);border-radius:14px;padding:18px;margin-bottom:16px}
.quote-lookup .field{flex:1;margin:0}.quote-lookup input{max-width:620px}.quote-lookup>button{flex-shrink:0}
.quote-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:20px;margin-top:16px}
.quote-details{min-width:0;display:grid;gap:16px}.quote-page .panel{margin:0;padding:22px}
.quote-price{position:sticky;top:20px}.quote-price form{display:grid;gap:12px}.quote-price h3{font-size:15px}
.quote-files{list-style:none;margin:12px 0 0;padding:0}.quote-files li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line,#dce6e8)}
.quote-files a{overflow-wrap:anywhere}.quote-files small{white-space:nowrap}.quote-history{max-height:300px;overflow:auto}
.quote-original summary{cursor:pointer;font-weight:600}.quote-original .detail-grid{margin-top:14px}
.quote-page .detail-item strong,.quote-page .record p{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:850px){.quote-page{padding:18px 14px 30px}.quote-header{align-items:flex-start;flex-wrap:wrap}.quote-layout{grid-template-columns:1fr}.quote-price{position:static;order:-1}.quote-page .panel{padding:17px}.quote-lookup{align-items:stretch;flex-direction:column}.quote-lookup input{max-width:none}.quote-page input{min-height:44px;font-size:16px}}
