.preview-document{padding-bottom:1px}
.preview-document-heading{width:calc(100% - 28px);max-width:710px;margin:20px auto 0;display:flex;align-items:center;justify-content:space-between;gap:12px}
.preview-document:first-child .preview-document-heading{margin-top:12px}
.preview-document-heading h2{margin:0;font-size:14px;font-weight:650;letter-spacing:-.02em;color:#292d29}
.preview-document-download{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;padding:3px 0;font:inherit;font-size:11px;font-weight:600;color:#283129;white-space:nowrap;cursor:pointer;transition:opacity .15s}
.preview-document-download:hover{opacity:.5}
.preview-document-download:focus-visible{outline:2px solid #718c69;outline-offset:3px;border-radius:2px}
.preview-document-download:disabled{opacity:.5;cursor:wait}
.preview-document-download svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.preview-document .offer-paper{margin-top:10px}
.supplement-paper{display:flex;flex-direction:column}
.supplement-title{display:flex;flex-direction:column;gap:5px;margin:40px 0 0;padding-bottom:16px;border-bottom:1px solid #dfe4dc}
.supplement-eyebrow{color:#789843;text-transform:uppercase;font-size:8px;font-weight:700;letter-spacing:.12em}
.supplement-title h2{margin:0;font-size:23px;letter-spacing:-.03em;line-height:1.1}
.supplement-title>span:last-child{color:#777;font-size:9px}
.supplement-lead{margin:17px 0 20px;color:#525852;font-size:10px}
.supplement-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.supplement-paper h3{margin:0 0 9px;font-size:10px;font-weight:700}
.supplement-section{margin-top:22px}
.supplement-rows{border-top:1px solid #e3e5e1}
.supplement-rows>div{display:grid;grid-template-columns:41% minmax(0,1fr);gap:10px;padding:6px 2px;border-bottom:1px solid #e8eae7;font-size:9px}
.supplement-rows span{color:#777}
.supplement-rows strong{font-weight:550;overflow-wrap:anywhere}
.supplement-price .supplement-rows{border-top:0}
.supplement-grand{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-top:11px;padding:10px;background:#edf2e7;font-size:10px;font-weight:700}
.supplement-grand strong{font-size:13px;white-space:nowrap}
.supplement-note{margin:20px 0 0;color:#777;font-size:8px;line-height:1.55}
.supplement-free-text{padding:11px;background:#f3f6f0;white-space:pre-wrap}
.supplement-list{margin:0;padding-left:16px;line-height:1.9;font-size:9px}
.supplement-signatures{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:65px}
.supplement-signatures span{border-top:1px solid #bfc5bc;padding-top:7px;color:#777;font-size:8px}
.supplement-footer{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid #dfe4dc;color:#777;font-size:8px}
.pdf-staging{width:794px}
.pdf-staging .pdf-export-page{width:794px;max-width:none;min-height:1120px;margin:0;padding:48px 54px 42px;box-shadow:none;break-inside:avoid;page-break-inside:avoid}
.pdf-staging .pdf-export-page:not(:last-child){break-after:page;page-break-after:always}
@container preview-panel (max-width:520px){.supplement-columns{grid-template-columns:1fr;gap:18px}.supplement-title{margin-top:25px}.supplement-title h2{font-size:19px}.supplement-rows>div{grid-template-columns:38% minmax(0,1fr)}}
/* Purchase agreements share the existing quote paper and field styling. */
.quote-lock-note{padding:18px 24px;background:#f6f7f5;color:#667060;border-bottom:1px solid #e3e6df;font-size:12px}
.purchase-agreement-form textarea{width:100%;min-height:80px;resize:vertical;border:1px solid #ddd;border-radius:8px;padding:12px;font-family:inherit;font-size:12px;line-height:1.45;background:#fff;color:inherit}
.agreement-upload{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:22px;border:1px dashed #bfc8b8;border-radius:10px;background:#fafbf8;font-size:13px}
.agreement-upload>span{font-weight:600;color:#526933}.agreement-upload input{max-width:100%}
.agreement-file{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid #e4e7e1;font-size:13px}.agreement-file>div{flex:1;min-width:0}.agreement-file strong{display:block;overflow-wrap:anywhere}.agreement-file small{display:block;color:#858a80;margin-top:4px}
.agreement-document-meta{margin-top:16px}.agreement-document-meta .supplement-rows{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.agreement-terms-paper p{font-size:10px;line-height:1.65}.agreement-terms-paper .supplement-rows strong{white-space:pre-wrap}
.preview-panel[data-panel-mode="agreement"] .calc-bar-note{display:none}
.pdf-staging .offer-paper{break-inside:auto;page-break-inside:auto}.pdf-staging .supplement-section,.pdf-staging .supplement-signatures,.pdf-staging .paper-totals,.pdf-staging tr{break-inside:avoid;page-break-inside:avoid}
.agreement-file-list{display:grid;gap:10px;margin-top:16px}
.agreement-file{padding:0;gap:0;border:1px solid #d2d6dc;border-radius:9px;background:#f8f9fa;box-shadow:0 1px 3px #0000000a;overflow:hidden}
.agreement-file-open{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:10px 12px;border:0;background:transparent;text-align:left;color:#171d26;font:inherit;cursor:pointer}
.agreement-file-open>svg{width:20px;height:20px;flex-shrink:0}.agreement-file-open>span{min-width:0}.agreement-file-open strong{font-size:13px;font-weight:500}.agreement-file-open small{color:#92969b;font-size:11px;margin-top:3px}
.agreement-file-open:hover{background:#eef1f3}.agreement-file-remove{border:0;background:transparent;color:#f32836;padding:10px;align-self:stretch;cursor:pointer}.agreement-file-remove svg{width:18px;height:18px}.agreement-file-remove:hover{background:#ffebed}
.agreement-file button:focus-visible{outline:2px solid #718c69;outline-offset:-3px}
.upload-preview{width:min(1080px,94vw);height:min(850px,92dvh);max-width:94vw;max-height:92dvh;padding:0;border:1px solid #e0e3de;border-radius:14px;box-shadow:0 24px 90px #0005;color:#222;background:white;overflow:hidden}
.upload-preview::backdrop{background:#172018a6}.upload-preview-shell{height:100%;display:flex;flex-direction:column}.upload-preview header{display:flex;align-items:center;gap:16px;padding:18px 22px;border-bottom:1px solid #e1e4df}.upload-preview header>div{flex:1;min-width:0}.upload-preview h2{margin:0;font-size:17px;overflow-wrap:anywhere}.upload-preview-meta{display:block;margin-top:4px;font-size:12px;color:#868c82}.upload-preview-close{border:0;background:transparent;font-size:29px;color:#777;cursor:pointer;padding:0 5px}.upload-preview-stage{flex:1;min-height:0;overflow:auto;background:#f0f2ef;display:flex;align-items:center;justify-content:center;padding:20px;color:#71776c;font-size:14px}.upload-preview-stage>img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 3px 20px #0001}.upload-preview-stage:has(iframe){padding:0}.upload-preview-stage iframe{width:100%;height:100%;border:0;background:white}.upload-preview-stage pre{align-self:stretch;margin:0;width:100%;padding:22px;background:white;color:#30372e;white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.6 monospace}.upload-preview-fallback{text-align:center}.upload-preview-fallback svg{width:48px;height:48px}.upload-preview footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 22px;border-top:1px solid #e1e4df}.upload-preview-count{color:#767c71;font-size:13px}.upload-preview button:disabled{opacity:.35;cursor:default}
@media(max-width:600px){.upload-preview header{padding:12px;gap:8px}.upload-preview h2{font-size:14px}.upload-preview footer{padding:12px}.upload-preview-stage{padding:10px}}
.upload-preview-stage.is-pdf{display:block;text-align:center}.upload-preview-stage.is-pdf canvas{display:block;max-width:100%;height:auto;margin:0 auto 20px;box-shadow:0 2px 12px #0002;background:white}
.agreement-upload{position:relative;display:flex;flex-direction:column;justify-content:center;gap:10px;min-height:150px;padding:26px 20px;border:2px dashed #d1d5db;border-radius:10px;background:#f8f9fa;text-align:center;color:#969a9f;cursor:pointer;transition:background .15s,border-color .15s,color .15s;box-shadow:0 2px 4px #00000005}
.agreement-upload>svg{width:29px;height:29px;flex-shrink:0;color:#858b91}.agreement-upload>span{color:inherit;font-size:15px;font-weight:400}.agreement-upload>small{font-size:12px;color:inherit}
.agreement-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.agreement-upload:hover,.agreement-upload.is-dragging{border-color:#829557;background:#f0f4e9;color:#536738}.agreement-upload:focus-within{outline:2px solid #718c69;outline-offset:3px}.agreement-upload.is-uploading{opacity:.55;cursor:wait}.agreement-upload.is-uploading input{cursor:wait}.upload-feedback{font-size:12px;color:#65764c;margin:8px 0 0}.upload-feedback:empty{display:none}

.agreement-file-download{display:flex;align-items:center;justify-content:center;align-self:stretch;padding:10px;border:0;background:transparent;color:#697469;cursor:pointer}.agreement-file-download svg{width:18px;height:18px}.agreement-file-download:hover{background:#edf1e9;color:#4e653a}

.agreement-file-open{position:relative}.agreement-file-preview-target{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:pointer}.agreement-file-open>svg,.agreement-file-open>span{position:relative;pointer-events:none}.agreement-file-name{pointer-events:auto;border:0;background:transparent;color:inherit;font:inherit;font-size:13px;font-weight:500;padding:0;text-align:left;overflow-wrap:anywhere;cursor:text}.agreement-file-name:hover{text-decoration:underline;text-underline-offset:3px}.agreement-file-name-input{pointer-events:auto;width:100%;min-width:120px;max-width:100%;border:1px solid #718c69;border-radius:4px;padding:3px 5px;font:inherit;font-size:13px;color:#171d26;background:#fff}.agreement-file-open>span{flex:1}
