*{box-sizing:border-box}body{margin:0;background:#f4f6f1;font-family:Arial,Helvetica,sans-serif;color:#294033;font-size:15px;line-height:1.55}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}h1,h2,h3,p{margin-top:0}h1{font-size:28px;line-height:1.2}h2{font-size:19px}h3{font-size:15px;margin-bottom:4px}.quote-portal{max-width:960px;margin:35px auto;padding:32px;background:white;border:1px solid #dde5d9;border-radius:16px}.portal-brand{font-size:30px;font-weight:800;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.brand-sub{font-size:10px;letter-spacing:1.5px;width:100%;font-weight:400}.portal-header{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #dce3d9;padding:30px 0 20px}.portal-details{text-align:right;font-size:13px}.badge{font-size:12px;padding:4px 9px;border-radius:20px;background:#e8efe5;display:inline-block;margin-bottom:12px}.badge.amber{background:#fff1d1}.portal-group{border:1px solid #dae3d7;border-radius:9px;overflow:hidden;margin:18px 0}.portal-group>header{background:#eef3e9;padding:13px 16px;display:flex;justify-content:space-between;gap:15px}.portal-group h2{margin-bottom:3px}.portal-group header p{font-size:13px;margin-bottom:0}.portal-line{display:flex;gap:12px;align-items:center;padding:13px 16px;border-top:1px solid #e4e9e0}.portal-line>div{flex:1}.portal-line>strong,.portal-group header>strong{white-space:nowrap;font-size:14px}.portal-line p{font-size:12px;margin-bottom:0;color:#68776d}.quote-totals{margin:20px 0 15px auto;max-width:360px}.quote-totals>div{display:flex;justify-content:space-between;padding:7px 0}.quote-totals .total{border-top:1px solid #cddac6;font-size:21px;font-weight:bold}.info-box{background:#eff5ea;border:1px solid #d4e4ca;padding:14px;border-radius:8px;display:flex;gap:10px;margin:20px 0;font-size:14px}.info-box svg{flex-shrink:0}.warning{background:#fff4de}.note,.form-notice,.subtitle{font-size:13px;color:#6c796f}.form-error{padding:14px;background:#fff0ec;color:#ad3028;border-radius:7px;margin:16px 0}.btn{border:1px solid #234331;background:#234331;color:white;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:600}.btn.secondary{color:#34513a;background:white;border-color:#d0ddc8}.btn.ghost{background:transparent;color:#7a4944;border-color:transparent}.portal-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin:24px 0}.field{display:block;font-size:13px}.field span{display:block;margin-bottom:6px}textarea{width:100%;border:1px solid #cbd9c2;border-radius:7px;padding:10px;min-height:90px;resize:vertical}footer{border-top:1px solid #dfe6db;padding-top:18px;font-size:12px;color:#6c796f}.portal-notes{padding-left:20px;font-size:13px}.text-right{text-align:right}.client-quote-attachment-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.client-quote-attachment-grid figure{margin:0}.client-quote-attachment-grid button{width:100%;background:white;border:1px solid #dce3d9;border-radius:7px;padding:6px}.client-quote-attachment-grid img{max-width:100%;max-height:380px;object-fit:contain}.client-quote-attachment-grid figcaption{font-size:12px;margin:6px 0 14px}.preview-backdrop{position:fixed;inset:0;background:#102219bf;display:flex;align-items:center;justify-content:center;padding:12px;z-index:20}.preview-backdrop>section{background:white;padding:10px;border-radius:12px;max-width:95vw;max-height:96vh;display:flex;flex-direction:column;gap:8px}.preview-image{overflow:auto;min-height:0}.preview-image img{display:block;max-width:100%;height:auto}.portal-group-choice{display:flex;align-items:center;gap:10px}.portal-group-choice input,.portal-line input{width:17px;height:17px;flex-shrink:0;accent-color:#355e40}.portal-choice-hint{font-size:12px;color:#617363}
@media(max-width:650px){.quote-portal{margin:10px;padding:18px;border-radius:10px}.portal-header{flex-direction:column}.portal-details{text-align:left}.portal-group>header{padding:12px;flex-wrap:wrap}.portal-line{padding:10px;gap:8px;flex-wrap:wrap}.portal-line>div{min-width:65%}.portal-line>strong{margin-left:25px}.client-quote-attachment-grid{grid-template-columns:1fr}h1{font-size:23px}.portal-actions>.btn{flex:1 1 45%}}
@media print{body{background:white}.quote-portal{border:0;margin:0;padding:0}.no-print,.portal-actions,.preview-backdrop{display:none!important}.portal-group,.portal-line,figure{break-inside:avoid}}

/* The proposal masthead contains only the company logo, with its own clear space. */
.quote-portal .portal-brand.proposal-logo{display:flex;justify-content:flex-end;align-items:center;width:100%;min-height:100px;margin:0 0 24px;padding:0;gap:0}
.quote-portal .proposal-logo img{display:block;width:260px;max-width:65%;height:auto;max-height:130px;object-fit:contain;object-position:right center}
@media(max-width:600px){.quote-portal .portal-brand.proposal-logo{min-height:80px;margin-bottom:20px}.quote-portal .proposal-logo img{width:210px;max-width:75%;max-height:105px}}

.file-gallery{container-type:inline-size;container-name:files;min-width:0;margin:14px 0 22px}.file-gallery-layout{display:grid;grid-template-columns:minmax(190px,27%) minmax(0,1fr);border:1px solid #d6e2d7;border-radius:14px;overflow:hidden;background:#fff;align-items:start}.file-gallery-library{background:#f3f6f1;border-right:1px solid #d6e2d7;min-width:0;align-self:stretch}.file-gallery-library-head{display:flex;align-items:center;gap:8px;padding:13px 14px;font-size:13px;color:#355441;border-bottom:1px solid #dfe7dc}.file-gallery-library-head>span{margin-left:auto;border-radius:20px;background:#e0e9df;padding:2px 9px;font-size:11px}.file-gallery-rail{display:flex;flex-direction:column;gap:9px;max-height:650px;height:clamp(390px,67vh,740px);padding:10px;overflow:auto;overscroll-behavior:contain;scroll-snap-type:y proximity;scrollbar-gutter:stable}.file-gallery-card{display:block;flex:0 0 auto;width:100%;min-width:0;padding:5px;border:2px solid transparent;border-radius:10px;background:white;text-align:left;cursor:pointer;scroll-snap-align:start;color:#2c4938}.file-gallery-card:hover{border-color:#b4cdb8}.file-gallery-card.selected{border-color:#398568;box-shadow:0 0 0 1px #398568;background:#ebf5ee}.file-gallery-card:focus-visible{outline:3px solid #3684ac;outline-offset:2px}.file-gallery-thumbnail{display:flex;position:relative;align-items:center;justify-content:center;width:100%;height:142px;border-radius:6px;overflow:hidden;background:#e6ece5;color:#71866d}.file-gallery-thumbnail img,.file-gallery-thumbnail video{width:100%;height:100%;object-fit:cover;display:block}.file-gallery-thumbnail.is-pdf img{object-fit:contain;background:#e3e9e3}.file-gallery-kind{position:absolute;left:7px;bottom:7px;font-size:10px;font-weight:700;border-radius:5px;padding:3px 6px;background:#fffE;color:#365343}.file-gallery-play{position:absolute;inset:0;display:grid;place-items:center;background:#19382930;color:white}.file-gallery-play svg{background:#1d3c39a8;border-radius:50%;padding:8px;width:42px;height:42px}.file-gallery-card-copy{display:block;padding:8px 5px 5px;min-width:0}.file-gallery-card-copy strong{font-size:12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.file-gallery-card-copy small{display:block;font-size:10px;color:#6b7b69;margin-top:4px;line-height:1.4;overflow-wrap:anywhere}.file-gallery-view{min-width:0;background:#fff;overflow:hidden}.file-gallery-view-head{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid #e1e8df}.file-gallery-view-head>div{min-width:0}.file-gallery-view-head small{font-size:10px;color:#73826e}.file-gallery-view-head h3{font-size:14px;line-height:1.4;margin:3px 0 0!important;overflow-wrap:anywhere}.file-gallery-view-head nav{display:flex;align-items:center;gap:2px;flex-shrink:0}.file-gallery-view-head nav span{font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:43px;text-align:center}.file-gallery-view-head .icon-btn{min-width:36px;min-height:38px}.file-gallery-view .document-preview{border:0;border-radius:0;margin:0}.file-gallery-view .document-preview-caption{justify-content:flex-end;padding:7px 15px;border:0;background:#fafbf8}.file-gallery-view .document-preview-caption strong{display:none}.file-gallery-info{padding:12px 16px;font-size:12px;color:#556b54;border-top:1px solid #e3e9df}.file-gallery-info strong{font-size:11px;font-weight:500}.file-gallery-info p{white-space:pre-wrap;margin:6px 0 0;line-height:1.6;overflow-wrap:anywhere}.file-gallery-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;border-top:1px solid #e4eadd;padding:10px 14px}.file-gallery-actions .btn{min-height:36px;font-size:12px}.file-gallery-external{min-height:300px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;padding:25px;text-align:center;color:#65785d}.file-reader-toolbar{display:flex;align-items:center;gap:5px;padding:7px 12px;background:#fff;border-top:1px solid #e0e7db;flex-wrap:wrap}.file-reader-toolbar .icon-btn{min-height:36px;min-width:36px}.file-reader-toolbar output{font-size:12px;min-width:42px;text-align:center;font-variant-numeric:tabular-nums}.file-reader-toolbar .text-link{font-size:12px;display:flex;gap:6px;align-items:center;padding:7px 9px}.file-reader-toolbar .text-link:last-child{margin-left:auto}.file-reader-stage{position:relative;height:clamp(290px,51vh,590px);min-width:0;background:#e5eae5;overflow:hidden}.file-reader-viewport{width:100%;height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;cursor:grab;touch-action:pan-x pan-y pinch-zoom}.file-reader-viewport.dragging{cursor:grabbing}.file-reader-sheet{min-width:100%;min-height:100%;display:grid;place-items:center;box-sizing:content-box}.file-reader-sheet img{display:block;max-width:none;max-height:none;user-select:none;pointer-events:none;box-shadow:0 3px 18px #22362625}.file-reader-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fffE;border-radius:6px;padding:9px 13px;font-size:12px;white-space:nowrap;pointer-events:none}.file-gallery-view .document-video-preview{background:#1e2d27;display:grid;place-items:center;min-height:300px}.file-gallery-view .document-video-preview video{width:100%;max-height:58vh;min-height:260px}.file-gallery-print{display:none}
@container files (max-width:680px){.file-gallery-layout{display:flex;flex-direction:column}.file-gallery-library{width:100%;border:0;border-bottom:1px solid #d6e2d7}.file-gallery-library-head{padding:9px 12px}.file-gallery-rail{flex-direction:row;height:auto;max-height:none;padding:9px;scroll-snap-type:x mandatory;gap:8px;scrollbar-gutter:auto}.file-gallery-card{width:156px;flex:0 0 156px;scroll-snap-align:center}.file-gallery-thumbnail{height:96px}.file-gallery-card-copy{padding:6px 3px 2px}.file-gallery-card-copy strong{font-size:11px}.file-gallery-card-copy small{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-gallery-view{width:100%}.file-gallery-view-head{padding:10px 12px;gap:7px}.file-gallery-view-head h3{font-size:13px}.file-gallery-view-head nav span{min-width:34px}.file-gallery-view .file-reader-stage{height:clamp(280px,45vh,440px)}.file-gallery-view .document-video-preview video{max-height:45vh;min-height:200px}.file-gallery-actions{justify-content:flex-start}.file-gallery-info{padding:10px 12px}}
@media(max-width:600px){.file-reader-toolbar{gap:2px;padding:5px 7px}.file-reader-toolbar .icon-btn{min-height:40px;min-width:36px}.file-reader-toolbar .text-link{font-size:11px;padding:8px}.file-reader-stage{height:350px}.file-gallery{margin:10px 0 16px}}
@media print{.file-gallery{display:none}.file-gallery-print{display:block}.file-gallery-print img{max-width:100%;max-height:75vh;object-fit:contain}.file-reader-toolbar{display:none}}

.pdf-page-controls{display:flex;align-items:center;justify-content:center;gap:10px;padding:6px 10px;background:#f7f9f3;border-bottom:1px solid #dde5d7}.pdf-page-controls span{font-size:12px;min-width:130px;text-align:center;color:#425a37}.pdf-page-controls .icon-btn{min-width:40px;min-height:40px}.document-preview-error{font-size:12px;line-height:1.7;padding:16px;color:#98552c;background:#fff7ed;margin:0}.pdf-viewer-loading{font-size:12px;padding:8px 16px;background:#eff3e8;text-align:center}.receipt-viewer>.pdf-page-controls{flex-shrink:0}
.document-preview{min-width:0;margin:14px 0 20px;border:1px solid #d9e1d2;border-radius:12px;background:#fff;overflow:hidden}.purchase-capture .document-preview{margin:0}.document-preview-caption{display:flex;justify-content:space-between;gap:12px;padding:13px 14px;align-items:center;border-bottom:1px solid #e3e8dd}.document-preview-caption strong{font-size:11px;overflow-wrap:anywhere;min-width:0;color:#40553a}.document-preview-caption a{font-size:11px;white-space:nowrap;flex-shrink:0}.document-preview-image{position:relative;display:flex;width:100%;height:250px;align-items:center;justify-content:center;border:0;background:#e9ede5;padding:14px 14px 46px;cursor:zoom-in}.document-preview-image:disabled{cursor:wait;opacity:1}.document-preview-image img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 2px 10px #233d2720}.document-preview-image span{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:12px;color:#345535;background:#fff;border-radius:7px;padding:7px 10px;box-shadow:0 1px 5px #25402312}.document-preview-image:focus-visible{outline:3px solid #507a36;outline-offset:-4px}.document-preview-file{display:flex;align-items:center;gap:12px;padding:20px;color:#67795c;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.document-preview-file svg{flex-shrink:0}
.receipt-viewer{padding:0;border:1px solid #c9d5c1;border-radius:15px;margin:auto;width:calc(100vw - 40px);height:calc(100dvh - 40px);max-width:1400px;max-height:none;background:#f6f8f2;color:#243e2a;box-shadow:0 25px 100px #10211765;overflow:hidden}.receipt-viewer[open]{display:flex;flex-direction:column}.receipt-viewer::backdrop{background:#122117ba;backdrop-filter:blur(4px)}.receipt-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 20px;border-bottom:1px solid #dce4d4}.receipt-viewer-header>div{min-width:0;display:flex;align-items:baseline;gap:15px}.receipt-viewer-header strong{font-size:17px}.receipt-viewer-header span{font-size:12px;color:#627558;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.receipt-viewer .icon-btn{min-width:42px;min-height:42px}.receipt-viewer-toolbar{display:flex;gap:10px;align-items:center;padding:10px 20px;background:#fff;flex-wrap:wrap}.receipt-viewer-toolbar .btn{min-height:42px;font-size:12px}.receipt-zoom-controls{display:flex;align-items:center;gap:2px;border:1px solid #d9e2d0;border-radius:9px}.receipt-zoom-controls output{font-size:12px;min-width:46px;text-align:center;font-variant-numeric:tabular-nums}.receipt-viewer-toolbar>a{margin-left:auto}.receipt-viewer-canvas{flex:1;min-height:0;min-width:0;overflow:auto;background:#dce2d8;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;cursor:grab;outline-offset:-3px}.receipt-viewer-canvas.dragging{cursor:grabbing}.receipt-viewer-sheet{display:grid;place-items:center}.receipt-viewer-sheet img{max-width:none;max-height:none;flex-shrink:0;user-select:none;box-shadow:0 3px 24px #23352430;pointer-events:none}.receipt-viewer footer{padding:10px 20px;font-size:11px;line-height:1.5;color:#5f7255}
.receipt-viewer-stage{position:relative;flex:1;min-height:0;min-width:0;contain:size layout}.receipt-viewer-canvas{position:absolute;inset:0;overflow:scroll;scrollbar-gutter:stable;overflow-anchor:none;scroll-behavior:auto}.receipt-viewer-sheet{min-width:100%;min-height:100%;overflow-anchor:none}.receipt-viewer-header,.receipt-viewer-toolbar,.receipt-viewer footer{flex-shrink:0}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;border-radius:6px;color:#3a5945;padding:7px}.text-link{border:0;background:transparent;color:#476646;cursor:pointer;text-decoration:none}.receipt-viewer-canvas img{max-width:none}.client-quote-attachments{margin-top:30px}
@media(max-width:600px){.receipt-viewer{width:100vw;height:100dvh;border-radius:0}.receipt-viewer-header{padding:10px}.receipt-viewer-toolbar{padding:8px}.receipt-viewer-toolbar .btn{font-size:11px;padding:7px}}
/* A net quotation has the same layout, using a blue palette. */
.quote-theme-net{--ink:#254d6d;--muted:#60798f;--line:#d3e1ed;--ux-green:#2b6e9e;--ux-soft:#edf5fc;--ux-secondary:#4f718e;color:#254d6d;border-color:#d0e0ed}
.quote-theme-net:is(.quote-card,.quote-portal){background:#fbfdff}.quote-theme-net.quote-card{border-top:3px solid #659cc5}.quote-theme-net .quote-price,.flow-quote.quote-theme-net strong{color:#286b9b}
.quote-theme-net :is(.quote-workspace-nav,.quote-stage-header,.quote-workspace-totals,.quote-group-header,.quote-section-heading,.quote-proposal-card>header,.portal-group>header){background:#eaf3fa;border-color:#cbdfea;color:#315e80}
.quote-theme-net .quote-workspace-nav nav button[aria-current=step]{background:#f9fcff;border-color:#a8c8df;color:#245b84;box-shadow:0 1px 3px #2e689518}
.quote-theme-net .quote-workspace-nav nav button[aria-current=step] .quote-step-number{background:#377fae;border-color:#377fae;color:#fff}
.quote-theme-net :is(.quote-workspace-nav nav button strong,.quote-stage-header h3,.quote-workspace-totals .total,.quote-section-heading h3,.part-internal-heading,.quote-group-number,.quote-review-paper h3,.quote-review-paper h4,.portal-brand,.portal-header h1){color:#295b80}
.quote-theme-net :is(.quote-workspace-caption,.quote-workspace-help,.quote-workspace-help p,.quote-workspace-nav small,.quote-stage-header>div>span,.quote-part-columns,.quote-review-hint,.quote-workspace-totals>div>span){color:#607c92}
.quote-theme-net .quote-section-heading{border-left-color:#6496be}.quote-theme-net .quote-part.expanded>.quote-part-row{background:#d6e8f6}.quote-theme-net .quote-part.expanded>.quote-part-details{background:#e9f3fb;border-color:#c9dfea}
.quote-theme-net :is(.quote-review-group>div:first-child,.quote-review-total,.quote-final-banner){background:#eaf3fa;color:#2e648b;border-color:#c9ddea}
.quote-theme-net :is(.quote-review-paper,.portal-group,.portal-line,.quote-group-header,.quote-part-row,.resource-box,.part-internal-box){border-color:#d0e0ec}
.quote-theme-net .btn.primary:not(.ai-button),.quote-theme-net.quote-portal .btn:not(.secondary):not(.ghost){background:#286b9b;color:#fff;border-color:#286b9b}
.quote-theme-net .btn.secondary{color:#2e628b;border-color:#bdd3e4}.quote-theme-net :is(.text-link,.field>span,.field>.field-label){color:#356283}
.quote-theme-net .quote-conditions-tabs button[aria-pressed=true],.quote-theme-net .quote-conditions-tabs button.active{background:#dfedf8;color:#2a618a;border-color:#b4d0e3}
.quote-theme-net .quote-bank-choice>.info-box:not(.warning),.quote-theme-net.quote-portal .info-box:not(.warning){background:#edf5fc;border-color:#cbdfea;color:#315d7c}
.quote-theme-net.quote-portal :is(.portal-header,.quote-totals .total,footer){border-color:#c7dcea}.quote-theme-net.quote-portal .quote-totals .total{color:#286b9b}.quote-theme-net.quote-portal input{accent-color:#347ba9}

.quote-workspace-modal .quote-bank-choice>.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-theme-net .quote-section-band{background:#e2eff9;color:#2d5e83;border-left-color:#6295bc}.quote-theme-net .quote-section-band svg{color:#5084ad}.quote-theme-net .quote-workspace-totals strong{color:#2c5d80}
@media(max-width:720px){.quote-workspace-modal .quote-bank-choice>.form-grid{grid-template-columns:minmax(0,1fr)}}
