/* Quotation workspace: shares the public site's brand and navigation. */
.quote-page { background:#fff; color:#26354b; }
.quote-shell { max-width:1480px; margin:auto; padding:28px 40px 72px; }
.quote-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin:8px 0 28px; }
.quote-heading h1 { font-size:32px; line-height:1.2; color:#002899; margin:0 0 12px; }
.quote-heading p { margin:0; color:#526176; font-size:17px; }
.quote-processes { display:flex; gap:12px; border-bottom:1px solid #ccd8ea; margin-bottom:32px; }
.quote-process { flex:1; display:flex; justify-content:center; align-items:center; gap:14px; padding:18px 10px; border-bottom:3px solid transparent; color:#526176; text-decoration:none; font-weight:600; }
.quote-process img { width:44px; height:44px; object-fit:contain; }
.quote-process[aria-current=page] { border-color:#002899; color:#002899; background:#f3f6fc; }
.quote-process:hover { background:#f3f6fc; }
.quote-processes[aria-busy=true],.quote-processes[aria-busy=true] a { cursor:progress; }
.quote-process[data-pending] { background:#f3f6fc; }
.quote-switch-feedback { color:#943800; background:#fff4e8; border:1px solid #e8c8a4; padding:12px 16px; }
.quote-switch-feedback[hidden] { display:none; }
.quote-workspace { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:start; }
.quote-upload { border:2px dashed #bdcce2; background:#f6f8fc; padding:44px 26px 30px; text-align:center; border-radius:8px; }
.quote-upload.is-dragging { background:#e7eefb; border-color:#002899; }
.quote-upload-illustration { width:225px; max-width:70%; height:80px; object-fit:contain; margin:0 auto 20px; }
.quote-upload h2 { color:#002899; font-size:23px; line-height:1.4; margin:0 0 14px; }
.quote-upload p { color:#526176; margin:12px 0; }
.quote-primary,.quote-secondary { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 22px; box-sizing:border-box; border-radius:3px; font-family:inherit; font-size:16px; font-weight:700; line-height:1.5; cursor:pointer; text-decoration:none; }
.quote-primary { background:#b65d00; border:1px solid #b65d00; color:#fff; }
.quote-primary:hover { background:#9c4d00; }
.quote-secondary { background:#fff; color:#002899; border:1px solid #b9c9e2; }
.quote-secondary:hover { background:#e7eefb; }
.quote-secondary:disabled { color:#65758b; background:#eef2f7; cursor:not-allowed; }
.quote-page button:focus-visible,.quote-page a:focus-visible,.quote-page input:focus-visible,.quote-page select:focus-visible,.quote-page textarea:focus-visible,.quote-dialog :focus-visible { outline:3px solid #547ae4; outline-offset:3px; }
.quote-upload .quote-primary { margin:12px 0; min-width:260px; }
.quote-small { font-size:14px!important; line-height:1.65!important; color:#526176; }
.quote-upload-notes { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; padding:0; margin:28px 0 0; list-style:none; }
.quote-upload-notes li { padding:7px 12px; border:1px solid #dce4ef; background:#fff; font-size:14px!important; }
.quote-file-list { list-style:none; padding:0; margin:20px 0 0; text-align:left; }
.quote-file-list li { display:flex; align-items:center; justify-content:space-between; gap:12px; background:#fff; border:1px solid #dce4ef; padding:12px; margin-top:8px; overflow-wrap:anywhere; }
.quote-file-list small { display:block; color:#526176; }
.quote-remove { background:none; color:#8b3500; border:0; text-decoration:underline; cursor:pointer; font:inherit; padding:6px; }
.quote-file-feedback { margin:12px 0; color:#8b3500; font-size:15px; }
.quote-panel { padding:26px 0 0; }
.quote-panel h2 { color:#002899; font-size:21px; margin:0 0 18px; }
.quote-panel ul { padding-left:22px; color:#34445c; }
.quote-panel li { margin:8px 0; }
.quote-help { border:1px solid #ccd8ea; border-radius:6px; padding:24px; background:#f3f6fc; margin-top:24px; }
.quote-help h3 { font-size:20px; color:#002899; margin:0 0 12px; }
.quote-form { display:grid; gap:20px; }
.quote-field { display:flex; flex-direction:column; gap:8px; min-width:0; }
.quote-field label,.quote-field-label { font-size:15px; font-weight:700; color:#26354b; }
.quote-label-row { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.quote-label-row a { font-size:13px; font-weight:500; text-align:right; }
.quote-field :is(input,select,textarea) { box-sizing:border-box; width:100%; max-width:100%; background:#f7f9fc; border:1px solid #bdcce2; padding:12px 14px; min-height:46px; border-radius:3px; color:#26354b; font:inherit; font-size:16px; line-height:1.5; }
.quote-field textarea { resize:vertical; min-height:100px; }
.quote-field :is(input,textarea)::placeholder { color:#5f6e83; opacity:1; }
.quote-two-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.quote-quantity { display:flex; }
.quote-quantity input { text-align:center; border-radius:0; }
.quote-quantity button { padding:8px 18px; background:#eef3fb; border:1px solid #bdcce2; color:#002899; font-size:22px; cursor:pointer; }
.quote-form .quote-primary { width:100%; }
.quote-status { padding:14px 16px; margin:0; background:#eef3fb; border-left:3px solid #002899; color:#26354b; font-size:15px; }
.quote-status:empty { display:none; }
.quote-list { border-top:1px solid #ccd8ea; margin-top:50px; padding-top:32px; }
.quote-list h2,.quote-faq h2 { color:#002899; font-size:28px; margin:0 0 14px; }
.quote-list-items { padding:0; list-style:none; }
.quote-list-items>li { display:flex; align-items:start; justify-content:space-between; gap:16px; border:1px solid #ccd8ea; padding:18px; border-radius:6px; margin:12px 0; background:#f7f9fc; }
.quote-list-items h3 { margin:0 0 6px; color:#002899; font-size:18px; }
.quote-list-items p { margin:5px 0; font-size:15px!important; overflow-wrap:anywhere; }
.quote-list-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.quote-list-actions a.quote-primary { color:#fff; }
.quote-contact { margin:22px 0; max-width:760px; }
.quote-faq { margin-top:58px; }
.quote-faq details { border-bottom:1px solid #ccd8ea; padding:18px 0; }
.quote-faq summary { cursor:pointer; color:#002899; font-size:18px; font-weight:650; }
.quote-faq p { max-width:1000px; }
.quote-dialog { border:1px solid #ccd8ea; border-radius:10px; padding:28px; color:#26354b; max-width:740px; width:calc(100% - 60px); max-height:82vh; box-sizing:border-box; font-family:inherit; }
.quote-dialog::backdrop { background:#17263c66; }
.quote-dialog h2 { color:#002899; margin-top:0; }
.quote-dialog p { line-height:1.7; }
.quote-dialog-close { float:right; border:1px solid #bdcce2; background:#fff; color:#002899; padding:8px 14px; cursor:pointer; }
.quote-dialog .quote-list-items { max-height:46vh; overflow:auto; }
@media(max-width:1000px) { .quote-shell { padding:24px; }.quote-workspace{gap:24px}.quote-process{flex-direction:column;font-size:14px;gap:8px}.quote-heading h1{font-size:28px}.quote-upload{padding:28px 18px} }
@media(max-width:720px) { .quote-shell { padding:24px 20px 48px; }.quote-heading{display:block}.quote-heading h1{font-size:28px}.quote-workspace{grid-template-columns:1fr}.quote-processes{gap:4px;overflow-x:auto}.quote-process{min-width:100px;padding:14px 8px}.quote-two-fields{grid-template-columns:1fr}.quote-upload .quote-primary{min-width:0;width:100%}.quote-list-items>li{flex-direction:column}.quote-dialog{padding:20px;width:calc(100% - 28px)}.quote-list-actions>*{width:100%;text-align:center} }
