@font-face{font-family:Manrope;src:url('assets/Manrope-Regular.ttf')}@font-face{font-family:Manrope;src:url('assets/Manrope-Semibold.ttf');font-weight:600}@font-face{font-family:Manrope;src:url('assets/Manrope-Bold.ttf');font-weight:700}
:root{--navy:#042f52;--muted:#465f73;--line:#d4dfe6;--wash:#f2f5f7}*{box-sizing:border-box}body{margin:0;background:white;color:var(--navy);font:16px/1.5 Manrope,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #4584ac;outline-offset:4px}a{color:inherit}.top{max-width:1540px;margin:auto;display:flex;align-items:center;gap:24px;padding:22px 40px;border-bottom:1px solid var(--line)}.top a{margin-right:auto;display:flex}.top img{object-fit:contain}.top>span:not(.demo){font-size:14px;color:var(--muted)}.demo{font-size:11px;letter-spacing:1.5px;font-weight:700;border:1px solid #b3c5d1;padding:6px 10px;border-radius:3px;display:inline-block}main{max-width:1540px;padding:0 40px;margin:auto}.intro{padding:30px 0 25px;border-bottom:1px solid var(--line)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px}h1{font-size:38px;line-height:1.18;letter-spacing:-1.5px;margin:14px 0 20px;font-weight:600}h2{font-size:24px;letter-spacing:-.5px;font-weight:600;margin:0}.intro-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.intro-bottom p{margin:0;font-size:16px;color:var(--muted)}.intro-bottom>span{font-size:14px;line-height:1.8;text-align:right}.intro-bottom small{font-size:12px;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;padding:28px 0 45px}.catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.text-button{background:none;border:0;color:var(--muted);font-size:14px;min-height:44px;padding:7px 0;text-decoration:underline;text-underline-offset:4px}.hint{font-size:14px;line-height:1.7;margin:12px 0 22px;color:var(--muted)}.category{font-size:16px;letter-spacing:.7px;font-weight:700;margin:25px 0 13px}.product{border:1px solid var(--line);border-radius:5px;overflow:hidden;margin:0 0 20px;cursor:pointer;transition:border-color .2s}.product:hover{border-color:#8aabbf}.product-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px 18px;border-bottom:1px solid var(--line)}.product-type{font-size:16px;line-height:1.4;margin:0 0 5px;color:var(--muted)}.model{margin:0;font-size:25px;line-height:1.3;font-weight:600;letter-spacing:-.5px}.title-button{display:flex;align-items:center;gap:15px;min-height:44px;padding:0;background:none;border:0;color:var(--navy);text-align:left}.title-button span{font-size:22px;color:var(--muted)}.choose{min-height:48px;min-width:130px;padding:11px 16px;border:1px solid var(--navy);border-radius:4px;background:var(--navy);color:#fff;font-size:16px;font-weight:600;white-space:nowrap}.choose[aria-pressed=false]{background:#fff;color:var(--navy);border-color:#8ca5b7}.product-main{display:grid;grid-template-columns:minmax(190px,32%) minmax(0,1fr);align-items:center;gap:28px;padding:24px}.image-button{position:relative;width:100%;height:280px;background:white;border:0;padding:0 8px 38px}.image-button img{width:100%;height:100%;object-fit:contain}.photo-label{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:9px;align-items:center;font-size:14px;color:var(--muted);height:32px}.photo-label>span{font-size:23px}.spec-heading{font-size:16px;font-weight:600;margin:0 0 14px}.key-specs{display:grid;grid-template-columns:1fr 1fr;gap:18px 23px;margin:0}.key-specs div{min-width:0}dt{font-size:16px;color:var(--muted);margin-bottom:5px}dd{font-size:18px;line-height:1.4;margin:0;font-weight:600}.product-price-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;border-top:1px solid var(--line);padding-top:17px;margin-top:22px}.unit-caption{display:block;font-size:16px;color:var(--muted);margin-bottom:2px}.price{display:block;font-size:26px;font-weight:600;white-space:nowrap}.quantity{display:flex;align-items:center;border:1px solid #aebfca;border-radius:4px;height:48px;background:white}.quantity button{width:40px;height:46px;border:0;background:none;color:var(--navy);font-size:22px}.quantity button:disabled{opacity:.3;cursor:default}.quantity input{width:32px;padding:0;text-align:center;color:var(--navy);background:none;border:0;font-size:16px;-moz-appearance:textfield}.quantity input::-webkit-inner-spin-button{display:none}.product details{margin:0;border-top:1px solid var(--line);background:var(--wash)}summary{list-style:none;cursor:pointer}.product summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 24px;font-size:16px;font-weight:600;min-height:58px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:24px;font-weight:400}details[open] summary:after{content:'−'}.details-inner{padding:0 24px 24px}.details-inner dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;margin:6px 0 22px}.details-inner dt{font-size:16px}.details-inner dd{font-size:18px}.detail-choose{margin-top:18px}.product.deselected{border-style:dashed}.product.deselected .product-body,.product.deselected .image-button{opacity:.72}.summary{position:sticky;top:20px;background:var(--wash);border-top:3px solid var(--navy);padding:26px 23px}.summary .eyebrow{display:block;margin-bottom:24px}.summary-line{display:flex;justify-content:space-between;gap:12px;font-size:14px;margin:14px 0}.summary-line>span{color:var(--muted)}.summary-line strong{font-weight:600}.total-caption{font-size:16px;border-top:1px solid var(--line);padding-top:22px;margin-top:24px}.total{font-size:34px;letter-spacing:-1px;font-weight:600;white-space:nowrap;margin:7px 0 22px}.primary{background:var(--navy);border:0;border-radius:4px;color:white;display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:50px;padding:13px 16px;font-size:16px;font-weight:600}.primary:hover{background:#12466e}.primary:disabled{opacity:.4;cursor:default}.summary-note{font-size:13px;color:var(--muted);line-height:1.7;margin:14px 0 23px}.archive-note{border-top:1px solid var(--line);padding-top:18px;font-size:12px;line-height:1.7;color:var(--muted)}footer{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:25px 0 35px;border-top:1px solid var(--line);font-size:12px;line-height:1.7;color:var(--muted)}footer img{object-fit:contain}dialog{border:0;border-radius:7px;color:var(--navy);max-width:600px;width:calc(100% - 32px);padding:40px;max-height:90vh;overflow:auto;box-shadow:0 20px 100px #001a3340}dialog::backdrop{background:#021b30b0;backdrop-filter:blur(4px)}.close{position:absolute;right:10px;top:6px;background:none;border:0;color:var(--muted);font-size:32px;min-width:44px;min-height:44px}#largePhoto{width:100%;height:60vh;object-fit:contain}#photoTitle{text-align:center;font-weight:600}dialog h2{margin:23px 0 12px}.modal-description{font-size:16px;line-height:1.7;color:var(--muted)}.request-item{display:flex;justify-content:space-between;gap:15px;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px}.request-item small{display:block;color:var(--muted);font-size:13px;margin-top:5px}.request-item strong{white-space:nowrap;font-weight:600}.request-total{display:flex;justify-content:space-between;gap:15px;margin:25px 0;font-size:23px}#back{justify-content:center}.mobile-bar{display:none}.technical-docs{margin-top:24px;padding-top:22px;border-top:1px solid #cbd9e2}.technical-docs h4{margin:0 0 12px;font-size:18px;font-weight:600}.technical-docs p{font-size:16px;color:var(--muted);margin:10px 0;line-height:1.6}.doc-actions{display:flex;gap:10px;flex-wrap:wrap}.doc-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:11px 14px;border:1px solid #93adbf;border-radius:4px;background:white;text-decoration:none;font-size:16px;font-weight:600}.doc-link:hover{background:#e6edf2}.doc-preview{display:block;width:100%;max-height:240px;object-fit:contain;background:white;border:1px solid var(--line);padding:10px;margin:0 0 15px}.doc-missing{padding:16px;background:#fff;border-left:3px solid #a5b9c7}.doc-source{font-size:13px!important}.doc-source a{text-underline-offset:3px}#drawingDialog{max-width:1100px;padding:50px 25px 24px}.drawing-viewport{overflow:auto;max-height:66vh;background:#fff}.drawing-viewport img{display:block;width:100%;height:auto;max-width:none}.drawing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 16px}.drawing-toolbar button{min-width:48px;min-height:48px;background:var(--wash);border:1px solid var(--line);color:var(--navy);border-radius:4px;font-size:20px}.drawing-toolbar span{font-size:16px}.drawing-zoom{display:flex;align-items:center;gap:12px}#drawingTitle{margin:0 0 18px;font-size:20px}
@media(max-width:1190px){.workspace{grid-template-columns:minmax(0,1fr);gap:24px}aside{max-width:none}.summary{position:static;display:grid;grid-template-columns:1fr 1fr;gap:8px 35px}.summary .eyebrow{grid-column:1/-1;margin-bottom:5px}.summary-line{margin:5px 0}.total-caption{margin-top:10px;padding-top:15px}.total{grid-column:1;margin-bottom:3px}.summary .primary{grid-column:2;grid-row:4/6;align-self:center}.summary-note{grid-column:2;margin:0}.archive-note{grid-column:1/-1;margin-top:13px}.product-main{grid-template-columns:minmax(190px,32%) minmax(0,1fr)}.image-button{height:270px}}
@media(max-width:680px){body{padding-bottom:91px}.top{padding:18px 18px;gap:12px}.top img{width:170px;height:auto}.top>span:not(.demo){display:none}main{padding:0 16px}.intro{padding:24px 0 21px}h1{font-size:31px;margin:13px 0 17px}.eyebrow{font-size:11px}.intro-bottom{display:block}.intro-bottom>span{display:block;text-align:left;margin-top:14px;font-size:13px}.intro-bottom p{font-size:16px}.catalog-heading{display:block}h2{font-size:23px}.text-button{text-align:left;font-size:14px;margin-top:6px}.hint{font-size:14px;margin-top:4px}.category{font-size:16px;margin-top:24px}.product-head{display:block;padding:18px}.product-type{font-size:16px}.title-button{font-size:25px}.product-head .choose{margin-top:13px;width:100%;min-height:48px;font-size:16px}.product-main{display:flex;flex-direction:column;gap:17px;padding:19px 18px}.image-button{height:225px;width:100%;max-width:320px;padding:0 10px 36px}.photo-label{font-size:14px}.product-body{width:100%}.spec-heading{font-size:16px;margin-bottom:15px}.key-specs{grid-template-columns:1fr 1fr;gap:20px 18px}.key-specs dt,.details-inner dt{font-size:16px}.key-specs dd,.details-inner dd{font-size:18px}.unit-caption{font-size:16px}.price{font-size:27px}.product-price-row{margin-top:22px;padding-top:17px;gap:12px}.quantity{height:50px}.quantity button{width:42px;height:48px}.quantity input{font-size:16px;width:30px}.product summary{padding:17px 18px;font-size:16px;line-height:1.5}.details-inner{padding:0 18px 21px}.details-inner dl{grid-template-columns:1fr;gap:18px;margin-top:3px}.details-inner dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:15px;border-bottom:1px solid var(--line);padding-bottom:13px}.details-inner dt{margin:0}.details-inner dd{font-size:16px}.detail-choose{width:100%;font-size:16px}.technical-docs h4{font-size:18px}.technical-docs p,.doc-link{font-size:16px}.doc-actions{flex-direction:column}.doc-link{width:100%}.summary{display:block;padding:24px}.summary .eyebrow{margin-bottom:20px}.summary-line{font-size:16px;margin:15px 0}.total-caption{font-size:16px;margin-top:22px;padding-top:20px}.total{font-size:37px;margin-bottom:20px}.summary-note{margin:14px 0 22px;font-size:14px}.archive-note{font-size:13px}.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 16px calc(13px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 20px #042f5208}.mobile-bar small{display:block;font-size:12px;color:var(--muted);margin-bottom:2px}.mobile-bar strong{font-size:21px;white-space:nowrap;font-weight:600}.mobile-bar .primary{width:auto;min-height:50px;font-size:14px;padding:13px}footer{flex-wrap:wrap;gap:20px;font-size:12px}footer>span:last-child{width:100%}dialog{padding:40px 22px 25px}.request-item{font-size:14px}.request-item small{font-size:12px}.request-total{font-size:20px}#drawingDialog{padding:50px 15px 20px}.drawing-toolbar{gap:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.drawing-preview-button{display:block;width:100%;border:0;background:none;padding:0;cursor:zoom-in}.drawing-preview-button .doc-preview{margin-bottom:15px}#drawingPages img+img{margin-top:22px;border-top:1px solid var(--line)}.drawing-toolbar button:disabled{opacity:.4;cursor:default}
/* Grid preview with a persistent selection tray */
body{padding-bottom:132px}.workspace{display:block}.catalog{width:100%}#cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}.category{grid-column:1/-1;margin:9px 0 -5px}.category:not(:first-child){margin-top:19px}.product{margin:0;display:flex;flex-direction:column}.product-head{padding:18px 20px 8px;border:0;min-height:116px;align-items:flex-start}.product-type{font-size:16px;line-height:1.45}.title-button{font-size:24px;gap:12px}.product-main{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:0 20px 20px;flex:1}.image-button{height:195px;padding:6px 14px;width:100%;max-width:none}.product-body{display:flex;flex-direction:column;flex:1}.key-specs{gap:15px 17px;flex:1}.key-specs dt{font-size:16px}.key-specs dd{font-size:17px}.product-price-row{margin-top:18px;padding-top:15px;gap:10px}.unit-caption{font-size:16px}.price{font-size:25px}.quantity button{width:34px}.quantity input{width:27px}.card-actions{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:16px}.card-actions .choose{flex:1}.more-button{min-height:48px;padding:10px 8px;background:none;border:0;color:var(--navy);font-size:16px;text-underline-offset:4px;text-decoration:underline;white-space:nowrap}.archive-footer{font-size:14px;color:var(--muted);line-height:1.7;margin:0 0 27px}#detailDialog{max-width:1000px;padding:42px 30px 30px}#detailContent h2{margin:0 0 23px;font-size:30px}.detail-overview{display:grid;grid-template-columns:minmax(180px,32%) 1fr;gap:30px;align-items:center}.detail-overview .image-button{height:320px;padding-bottom:40px}.detail-overview dl{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0}.detail-overview dt{font-size:16px}.detail-overview dd{font-size:18px}.detail-choice{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.detail-choice strong{font-size:25px;font-weight:600}.detail-choice small{font-size:16px;font-weight:400;color:var(--muted);margin-left:8px}.technical-docs{cursor:default}@media(max-width:1300px){#cards{grid-template-columns:repeat(2,minmax(0,1fr))}.product-head{min-height:110px}.image-button{height:225px}.key-specs dd{font-size:18px}}@media(max-width:680px){body{padding-bottom:125px}#cards{grid-template-columns:1fr;gap:18px}.category{margin-top:7px}.product-head{min-height:0;padding:19px 20px 8px;display:block}.product-type{font-size:16px}.title-button{font-size:25px}.product-main{gap:17px;padding:0 20px 21px}.image-button{height:210px;max-width:none;padding:4px 10px}.key-specs{gap:18px}.key-specs dd{font-size:18px}.card-actions .choose{width:auto;margin:0;font-size:16px}.price{font-size:27px}.quantity button{width:40px}.quantity input{width:30px}.archive-footer{font-size:14px}#detailDialog{padding:45px 20px 24px}#detailContent h2{font-size:27px}.detail-overview{display:flex;flex-direction:column;gap:25px}.detail-overview .image-button{height:240px;max-width:320px}.detail-overview dl{width:100%;grid-template-columns:1fr 1fr;gap:20px 17px}.detail-overview dt{font-size:16px}.detail-overview dd{font-size:16px}.detail-choice{gap:16px;flex-wrap:wrap}.detail-choice strong{font-size:25px}.detail-choice small{display:block;margin-left:0;margin-top:4px}.detail-choice .choose{min-width:128px}}
@media(max-width:360px){.product-main{padding-left:16px;padding-right:16px}.card-actions{gap:7px}.more-button{font-size:16px;padding-left:4px;padding-right:4px}.choose{min-width:120px}}.selection-drawer{position:fixed;inset:auto 0 0;margin:0 auto;width:100%;max-width:1240px;max-height:92vh;padding:0;border-radius:12px 12px 0 0;overflow:hidden}.drawer-top{display:flex;justify-content:space-between;align-items:center;padding:25px 30px 20px;border-bottom:1px solid var(--line);position:relative}.drawer-top h2{margin:6px 0 0;font-size:28px}.drawer-top .close{top:25px;right:20px}.drawer-scroll{max-height:calc(92vh - 118px);overflow:auto;padding:20px 30px 30px;overscroll-behavior:contain}.draft-notice{font-size:16px;color:var(--navy);background:var(--wash);border-left:3px solid var(--navy);padding:14px 18px;margin:0 0 22px}.selected-table-head,.selected-row{display:grid;grid-template-columns:minmax(0,1fr) 145px 135px 150px 44px;gap:18px;align-items:center}.selected-table-head{font-size:14px;color:var(--muted);padding:0 0 14px;border-bottom:1px solid var(--line)}.selected-row{padding:18px 0;border-bottom:1px solid var(--line)}.selected-model strong{display:block;font-size:18px;font-weight:600}.selected-model small{display:block;font-size:14px;line-height:1.5;color:var(--muted);margin-top:5px}.selected-unit,.selected-amount{font-size:16px;white-space:nowrap}.selected-amount strong{font-weight:600}.remove-selected{height:44px;width:44px;border:0;border-radius:3px;background:var(--wash);font-size:26px;color:var(--muted)}.remove-selected:hover{color:#962f2f;background:#f8eeee}.mobile-cell-label{display:none}.drawer-total{display:flex;justify-content:flex-end;align-items:center;gap:30px;margin:24px 0 28px;font-size:18px}.drawer-total strong{font-size:30px;font-weight:600}.payment-choice{border:0;border-top:1px solid var(--line);padding:20px 0 0;margin:0;display:flex;gap:16px;flex-wrap:wrap}.payment-choice legend{font-size:18px;font-weight:600;padding:0 12px 0 0}.payment-choice label{display:flex;align-items:center;gap:10px;min-height:48px;border:1px solid #a5bac9;border-radius:4px;padding:10px 18px;font-size:16px;cursor:pointer}.payment-choice input{accent-color:var(--navy);height:19px;width:19px}.payment-note,.summary-limit{color:var(--muted);font-size:14px;line-height:1.7;margin:14px 0 22px}.drawer-actions{display:flex;gap:15px;align-items:center}.drawer-actions button{width:auto;min-height:50px;font-size:16px}.drawer-actions .primary{min-width:230px;justify-content:center}.drawer-actions button:disabled{opacity:.4;cursor:default}.pdf-status{font-size:14px;color:var(--muted);min-height:21px;margin:12px 0}.summary-limit{margin-bottom:0}.empty-selection{padding:25px 10px 30px;text-align:center}.empty-selection h3{font-size:22px;font-weight:600;margin:0 0 12px}.empty-selection p{font-size:16px;color:var(--muted)}.empty-selection button{margin:auto}#pdfDialog{max-width:1000px;padding:35px 25px 25px}#pdfDialog>p{font-size:16px;color:var(--muted)}.pdf-view-actions{display:flex;gap:12px;margin:15px 0}#pdfFrame{width:100%;height:62vh;border:1px solid var(--line);background:var(--wash)}@media(max-width:850px){.selected-table-head,.selected-row{grid-template-columns:minmax(0,1fr) 125px 115px 130px 40px;gap:10px}.selected-model strong{font-size:16px}.selected-model small{font-size:13px}.selected-unit,.selected-amount{font-size:14px}.selected-quantity .quantity button{width:33px}.drawer-scroll{padding:20px}.drawer-top{padding:22px 20px}.selected-table-head{font-size:13px}}@media(max-width:680px){.selection-drawer{max-height:94vh;border-radius:12px 12px 0 0}.drawer-top{padding:20px}.drawer-top h2{font-size:25px}.drawer-top .close{top:20px;right:13px}.drawer-scroll{padding:16px 20px 28px;max-height:calc(94vh - 111px)}.draft-notice{font-size:16px;padding:13px 14px}.selected-table-head{display:none}.selected-row{grid-template-columns:1fr 1fr;gap:17px 14px;position:relative;padding:19px 0}.selected-model{grid-column:1/-1;padding-right:46px}.selected-model strong{font-size:19px}.selected-model small{font-size:16px}.remove-selected{position:absolute;right:0;top:17px}.selected-quantity{grid-column:1}.selected-unit{grid-column:2;white-space:normal}.selected-amount{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;font-size:18px}.mobile-cell-label{display:block;color:var(--muted);font-size:16px;margin-bottom:6px}.selected-amount .mobile-cell-label{margin:0}.selected-unit{font-size:16px}.selected-quantity .quantity{width:max-content}.selected-quantity .quantity button{width:42px}.selected-quantity .quantity input{width:31px}.drawer-total{justify-content:space-between;gap:15px;font-size:16px;margin:23px 0}.drawer-total strong{font-size:27px;white-space:nowrap}.payment-choice{gap:10px}.payment-choice legend{font-size:18px;line-height:1.4}.payment-choice label{font-size:16px;padding:11px 14px}.payment-note,.summary-limit{font-size:16px}.drawer-actions{flex-direction:column;align-items:stretch}.drawer-actions button{width:100%;font-size:16px;justify-content:center}.pdf-status{font-size:16px}#pdfDialog{padding:40px 18px 20px}#pdfDialog h2{font-size:24px}.pdf-view-actions{flex-direction:column}.pdf-view-actions a{font-size:16px}}
html:has(dialog[open]){overflow:hidden}.selection-drawer::backdrop{background:#021b308f}.drawer-scroll{scrollbar-gutter:stable}#selectionTable .quantity input{font-size:16px}
.drawer-actions{flex-wrap:wrap}.drawer-actions .primary{min-width:0}.drawer-actions button{flex:1;white-space:normal}.drawer-actions .doc-link{justify-content:center}#contractDialog{max-width:1000px;padding:45px 35px 30px}.contract-banner{display:inline-block;border:1px solid #a4b9c8;border-radius:3px;padding:8px 12px;font-size:14px;letter-spacing:1px;font-weight:600;margin-bottom:5px}#contractContent h2{font-size:28px;line-height:1.3}.contract-meta{font-size:16px;color:var(--muted)}.contract-explanation{padding:16px 18px;background:var(--wash);font-size:16px;line-height:1.7;color:var(--muted)}.contract-parties,.contract-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 25px}.contract-parties p,.contract-fields p{margin:0;font-size:16px}.contract-parties strong,.contract-fields strong{display:block;font-weight:600;margin-bottom:5px}.contract-parties span,.contract-fields span{color:var(--muted)}#contractContent h3{font-size:20px;font-weight:600;margin:28px 0 15px}#contractContent p{font-size:16px}.contract-table-wrap{overflow:auto}.contract-table{width:100%;border-collapse:collapse;font-size:16px;min-width:640px}.contract-table th{text-align:left;font-size:14px;color:var(--muted);font-weight:400;background:var(--wash)}.contract-table th,.contract-table td{padding:13px 9px;border-bottom:1px solid var(--line);vertical-align:top}.contract-table small{display:block;color:var(--muted);font-size:13px;margin-top:5px;max-width:250px}.contract-table td:nth-last-child(-n+2){white-space:nowrap}.contract-sum{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0 15px;font-size:18px}.contract-sum strong{font-size:27px;font-weight:600}.contract-placeholder{font-size:14px!important;color:var(--muted)}.contract-second{border-top:1px solid var(--line);margin-top:28px}.contract-condition{display:flex;justify-content:space-between;gap:25px;padding:15px 0;border-bottom:1px solid var(--line);font-size:16px}.contract-condition strong{font-weight:600}.contract-condition span{color:var(--muted)}@media(max-width:680px){#contractDialog{padding:45px 20px 25px}#contractContent h2{font-size:24px}.contract-parties,.contract-fields{grid-template-columns:1fr}.contract-condition{display:block}.contract-condition span{display:block;margin-top:6px}.contract-explanation{font-size:16px;padding:14px}.drawer-actions button{flex:auto}.contract-sum{font-size:16px;gap:15px}.contract-sum strong{font-size:24px}.contract-table{font-size:16px}}
/* One authoritative fixed-tray layout; no mobile positioning inherited from desktop. */
body{padding-bottom:calc(var(--selection-tray-height,140px) + 20px)}
.selection-bar{position:fixed;inset:auto 0 0;z-index:8;box-sizing:border-box;border-top:1px solid #b9cad6;background:#fff;box-shadow:0 -6px 25px #042f520b;padding:16px 40px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
.selection-bar-inner{display:grid;grid-template-columns:minmax(160px,1fr) auto 260px;align-items:center;gap:36px;max-width:1460px;margin:0 auto;min-width:0}
.selection-count{position:static;display:grid;grid-template-columns:auto auto;justify-content:start;align-content:center;column-gap:16px;row-gap:3px;min-width:0;min-height:48px;width:max-content;max-width:100%;padding:0;border:0;background:none;color:var(--navy);text-align:left;border-radius:0;cursor:pointer}
.selection-count>span:first-child{grid-column:1/-1;font-size:16px;line-height:1.4;color:var(--muted)}
.selection-count strong{font-size:23px;line-height:1.35;font-weight:600;white-space:nowrap}
.selection-count small{font-size:16px;line-height:1.4;color:var(--muted);align-self:center;white-space:nowrap}
.selection-count strong:before,.selection-price:before{content:none}
.selection-count .selection-chevron{display:none}
.selection-count:hover strong{text-decoration:underline;text-underline-offset:4px}
.selection-price{position:static;min-width:0;margin:0;text-align:right}
.selection-price>span{display:block;font-size:16px;line-height:1.4;color:var(--muted)}
.selection-price strong{display:block;font-size:30px;line-height:1.35;letter-spacing:-.6px;font-weight:600;white-space:nowrap}
.selection-action{position:static;min-width:0;width:100%;max-width:none;margin:0}
.selection-action .primary{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:50px;padding:12px 16px;font-size:16px;line-height:1.4;white-space:nowrap}
.selection-action>span{display:block;font-size:12px;line-height:1.5;color:var(--muted);text-align:center;margin-top:5px}
@media(max-width:900px){.selection-bar{padding-left:24px;padding-right:24px}.selection-bar-inner{grid-template-columns:minmax(140px,1fr) auto 230px;gap:20px}.selection-price strong{font-size:27px}}
@media(max-width:760px){
 body{padding-bottom:calc(var(--selection-tray-height,190px) + 20px)}
 .selection-bar{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
 .selection-bar-inner{display:grid;grid-template-columns:minmax(82px,1fr) auto;grid-template-rows:auto auto;gap:10px 12px;width:100%;min-width:0;max-width:none;align-items:center}
 .selection-count{position:static;inset:auto;grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;width:100%;max-width:100%;min-width:0;min-height:48px;padding:0;background:none;border:0;border-radius:0;color:var(--navy)}
 .selection-count>span:first-child{display:block;font-size:16px;line-height:1.35;color:var(--muted)}
 .selection-count strong{display:block;font-size:16px;line-height:1.35;white-space:nowrap;color:var(--navy)}
 .selection-count small,.selection-count .selection-chevron{display:none}
 .selection-count strong:before{content:none}
 .selection-price{position:static;grid-column:2;grid-row:1;margin:0;min-width:0;max-width:100%;text-align:right}
 .selection-price:before{content:none}
 .selection-price>span{display:none}
 .selection-price strong{font-size:24px;line-height:1.35;letter-spacing:-.6px;white-space:nowrap}
 .selection-action{position:static;grid-column:1/-1;grid-row:2;width:100%;min-width:0;max-width:none;margin:0}
 .selection-action .primary{font-size:16px;line-height:1.4;min-height:50px;width:100%;padding:12px 16px;white-space:nowrap;justify-content:center}
 .selection-action>span{display:none}
}
@media(max-width:360px){.selection-bar{padding-left:12px;padding-right:12px}.selection-bar-inner{column-gap:8px}.selection-price strong{font-size:22px}}
@media(max-width:760px){
 .selection-bar-inner{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}
 .selection-count{flex:1 1 82px;width:auto;min-width:82px}
 .selection-price{flex:0 0 auto}
 .selection-action{flex:0 0 100%;width:100%}
}
@media(max-width:360px){.selection-bar-inner{column-gap:8px}}
.agreed-payment{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:21px 0 4px;font-size:18px}.agreed-payment strong{font-size:18px;font-weight:600}.contract-clause{padding:19px 0;border-bottom:1px solid var(--line)}.contract-clause h4{margin:0 0 12px;font-size:20px;font-weight:600}.contract-clause p{font-size:16px;line-height:1.75;margin:10px 0}.contract-parties span{line-height:1.7}@media(max-width:680px){.agreed-payment{align-items:flex-start;flex-direction:column;gap:8px;font-size:16px}.agreed-payment strong{font-size:18px}.contract-clause h4{font-size:18px}.contract-clause p{font-size:16px}}

.article-label{font-size:12px;color:#617080;margin:5px 0 0}.item-note{color:#617080;line-height:1.7}.selection-price strong{font-size:24px}.product .price{font-size:26px}.product-type{line-height:1.6}@media(max-width:600px){.selection-price strong{font-size:16px}.product .price{font-size:24px}.selection-bar-inner{grid-template-columns:1fr 1.3fr}.selected-model small{overflow-wrap:anywhere}}
.title-button{display:block;width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere}.title-button span{display:inline-block;margin-left:8px}.product-heading{min-width:0}.card-actions .choose{flex:0 1 52%;min-width:0}.card-actions .more-button{flex:0 1 45%;min-width:0;white-space:normal}@media(max-width:600px){.title-button{font-size:24px}.detail-overview{min-width:0}}
.card-actions{display:block}.card-actions .choose{display:inline-block;width:52%;vertical-align:middle}.card-actions .more-button{display:inline-block;width:45%;margin-left:3%;vertical-align:middle;text-align:center;padding-left:0;padding-right:0}
/* Compact staged procurement status; demo controls live in a separate dialog. */
[hidden]{display:none!important}
.stage-summary{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;margin:13px 0 0;padding:0;font-size:14px;color:var(--muted)}
.stage-summary-values{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px}.stage-summary-values strong{margin-left:5px;color:var(--navy);font-size:16px;font-weight:600;white-space:nowrap}.stage-summary-values .stage-paid strong{color:#286044}.stage-divider{color:#91a3af}.stage-demo-label{font-size:12px;color:#627585;white-space:nowrap}
.stage-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.stage-filter button{min-height:44px;padding:9px 16px;color:var(--navy);border:1px solid #adc0cd;background:white;border-radius:30px;font-size:14px}.stage-filter button[aria-pressed=true]{color:white;background:var(--navy);border-color:var(--navy)}.stage-filter span{margin-left:5px}.stage-filter #clearSelection{margin-left:auto;border-color:transparent;text-decoration:underline}
.product.paid{border-color:#92b5d0;background:#edf5fb}.product.paid .image-button{background:transparent}.paid-badge{display:inline-flex;align-items:center;margin:8px 0 2px;color:#174f79;font-size:12px;font-weight:600;letter-spacing:.1px}.choose:disabled,.choose:disabled[aria-pressed=false]{color:#174f79;background:#dcecf8;border-color:#92b5d0;cursor:default}.quantity input:disabled{color:#174f79;opacity:1}.product.paid .quantity{background:#e3eff8}.product.paid .product-body{opacity:1}
.demo-settings-link{padding:0;min-height:32px;background:none;border:0;color:var(--muted);font-size:12px;text-decoration:underline;text-underline-offset:3px}#demoDialog{max-width:720px}#demoDialog>div{font-size:14px;line-height:1.7;color:var(--muted)}#demoDialog h2{margin-top:14px}.demo-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.demo-buttons button{font-size:14px}.demo-buttons button:disabled{opacity:.45;cursor:default}.paid-control{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.paid-control small{display:block;margin-top:3px}.paid-control button{flex-shrink:0}#stageStatus:empty{display:none}#stageStatus{padding:12px;background:#e7eef3;color:var(--navy)}
@media(max-width:680px){.stage-summary{display:block;margin-top:9px}.stage-summary-values{gap:6px 10px;font-size:13px}.stage-summary-values strong{font-size:15px;margin-left:3px}.stage-demo-label{display:block;font-size:11px;margin-top:5px}.stage-filter #clearSelection{margin-left:0}.stage-filter button{padding:9px 13px}.paid-control{align-items:flex-start;flex-direction:column;gap:4px}.paid-control button{margin:0}.demo-buttons{flex-direction:column}}

/* Model/color controls added within the retained bathroom v5 card. */
.variant-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.variant-options .doc-link{font-size:14px;min-height:44px;padding:8px 10px}.variant-options [aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}
@media print{.selection-bar,.stage-filter,.card-actions,.variant-options,.drawer-actions,.close{display:none!important}body{padding-bottom:0}dialog[open]{position:static;max-height:none;box-shadow:none}.drawer-scroll{max-height:none}#cards{display:block}.product{break-inside:avoid;margin-bottom:18px}}

/* Compact finish selection; touch targets stay 44px. */
.finish-sample{display:block;width:24px;height:24px;border-radius:50%;border:1px solid #a4adb4}.finish-chrome{background:linear-gradient(125deg,#aab0b5 0%,#f9fafb 28%,#8b959d 43%,#e7ebed 62%,#a3adb4 100%)}.finish-nickel{background:repeating-linear-gradient(15deg,#b0ada7 0px,#c5c2bc 1px,#b8b5af 2px)}
.color-row{display:flex;align-items:center;gap:10px;min-height:44px}.finish-buttons{display:flex;flex:0 0 auto;gap:2px}.color-option{width:44px;height:44px;padding:9px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:4px;background:white}.color-option[aria-pressed=true]{border-color:var(--navy)}.selected-finish{font-size:13px;line-height:1.4;overflow-wrap:normal;min-width:0}.image-note{font-size:12px;line-height:1.5;color:var(--muted);margin:0}.image-note:empty{height:0}
/* Only the largest actual alternative in this card is reserved by JS. */
.product-head{min-height:0;padding:16px 20px 8px}.product-main{gap:10px}.product-main>.image-button{height:195px;flex:0 0 195px}.product-body>.key-specs{min-height:0;flex:0 0 auto;align-content:start;grid-auto-rows:auto;gap:12px 16px}.variant-slot{min-height:0;padding:0;margin-top:12px}.variant-slot:empty{margin-top:0}.variant-options{margin-top:0;gap:6px}.variant-options .doc-link{min-height:44px;font-size:13px;padding:7px 9px}.product-price-row{min-height:0;margin-top:14px;padding-top:12px}.card-actions{min-height:48px;margin-top:12px}.drawing-viewport #drawingImage{max-width:none;height:auto;display:block}
@media(max-width:680px){.product-head{min-height:0;padding:16px 20px 8px}.product-main>.image-button{height:195px;flex-basis:195px}.product-body>.key-specs{min-height:0;gap:12px 16px}.variant-slot{min-height:0}.color-row{gap:8px}.selected-finish{font-size:13px}}

.product:not(.deselected){border-color:var(--navy)}
@media print{.product.deselected{display:none!important}.color-row,.variant-slot,.quantity{display:none!important}.product{cursor:default}.image-note:empty{display:none}dialog:not([open]){display:none!important}}

/* Finish controls occupy their own top-right header column, never an overlay. */
.product-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:8px;row-gap:4px}.product-head>.product-heading{display:contents}.product-head .product-type{grid-column:1;grid-row:1;margin:0;align-self:center}.product-head .title-button{grid-column:1/-1;grid-row:2}.product-head .article-label{grid-column:1/-1;grid-row:3;margin:0;min-height:18px}.header-finish{grid-column:2;grid-row:1}.header-finish .color-row{gap:0}.header-finish .selected-finish{display:none}.header-finish .finish-buttons{gap:0}.header-finish .color-option{width:44px;height:44px}.header-finish .finish-sample{width:22px;height:22px}.variant-slot:empty{display:none}
@media(max-width:680px){.product-head{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:6px}}
@media print{.header-finish{display:none!important}}
/* Compact whole-selection finish controls; the per-card controls remain top-right. */
.finish-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 20px;font-size:14px}.finish-toolbar>button{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:4px;background:white;color:var(--navy)}.finish-toolbar>button[aria-pressed=true]{border-color:var(--navy);background:var(--wash);box-shadow:inset 0 0 0 1px var(--navy)}.finish-status{font-size:14px;color:var(--muted)}.finish-status.mixed{font-weight:700;color:#805010}.finish-toolbar .finish-status{flex-basis:100%;margin:0}.finish-toolbar .finish-status:not(.mixed){display:none}
/* Close controls stay outside the scrolling content. */
#detailDialog{padding:0;overflow:hidden}#detailDialog[open]{display:flex;flex-direction:column}.modal-bar{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;gap:12px;padding:8px 18px;background:white;border-bottom:1px solid var(--line)}.modal-bar .close{position:static;flex-shrink:0}.modal-bar>span{font-size:14px;color:var(--muted)}#detailContent{overflow:auto;overscroll-behavior:contain;padding:24px 30px;min-height:0}#drawingDialog{overflow:hidden}#drawingDialog[open]{display:flex;flex-direction:column}#drawingDialog .drawing-viewport{min-height:0;overscroll-behavior:contain}#drawingDialog .drawing-toolbar,#drawingTitle{flex-shrink:0}
@media(max-width:680px){#detailContent{padding:20px 18px}.finish-toolbar{gap:6px}.finish-toolbar>span:first-child{flex-basis:100%}}
@media print{.finish-toolbar>button{display:none}.finish-toolbar .finish-status{display:block!important}.modal-bar{display:none!important}}
.selection-drawer{max-width:960px}.selection-drawer[open]{display:flex;flex-direction:column}.drawer-top{flex-shrink:0}.drawer-top .close{position:static;flex-shrink:0}.drawer-scroll{min-height:0}.review-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);break-inside:avoid}.review-item>img{width:64px;height:72px;object-fit:contain;background:white}.review-description{display:flex;flex-direction:column;gap:3px;min-width:0}.review-description strong{font-size:16px}.review-description>span,.review-description small,.review-price small{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.review-price{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.review-price strong{font-size:18px;white-space:nowrap}.review-bundle{color:var(--navy)!important}.drawer-total{border-top:2px solid var(--navy);padding-top:18px;justify-content:space-between}.drawer-total span{max-width:60%}.drawer-total strong{white-space:nowrap}.summary-limit{font-size:14px;color:var(--muted)}
@media(max-width:680px){.review-item{grid-template-columns:52px minmax(0,1fr);gap:8px 12px}.review-item>img{width:52px;height:64px}.review-price{grid-column:2;align-items:flex-start;text-align:left;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.review-description strong{font-size:15px}.drawer-total strong{font-size:25px}.drawer-total{gap:10px}.drawer-top .close{margin-left:auto}.drawer-top h2{font-size:23px}}
@media print{body:has(#selectionDialog[open])>header,body:has(#selectionDialog[open])>main{display:none!important}#selectionDialog[open]{position:static;display:block;overflow:visible;width:100%;max-width:none;max-height:none;margin:0;border-radius:0}#selectionDialog .drawer-scroll{overflow:visible;max-height:none;padding:0}#selectionDialog .drawer-top{padding:0 0 15px}.review-item{break-inside:avoid}.drawer-total{break-inside:avoid}}

@media print{body{overflow:visible!important}#selectionDialog .finish-status{display:block!important}}
/* Printing is an independent, paginated document, never a modal scroll viewport. */
#printRoot{display:none}
@media print{
 @page{size:A4;margin:14mm}
 html,body{display:block!important;position:static!important;overflow:visible!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;transform:none!important;contain:none!important}
 body>*:not(#printRoot),dialog,dialog[open],dialog::backdrop{display:none!important}
 body>#printRoot{display:block!important;position:static!important;overflow:visible!important;width:auto!important;height:auto!important;max-height:none!important;transform:none!important;contain:none!important;content-visibility:visible!important;font-size:11pt}
 #printRoot *{max-height:none!important;overflow:visible!important;transform:none!important;contain:none!important}
 #printRoot .print-heading{display:block;position:static;padding:0 0 5mm;border-bottom:1px solid #d4dfe6;break-inside:avoid}
 #printRoot .print-heading img{width:45mm;height:auto}#printRoot h1{font-size:22pt;margin:5mm 0 3mm;letter-spacing:-.5px}#printRoot .print-heading p{font-size:10pt;margin:1mm 0}
 #printRoot .draft-notice{font-size:10pt;padding:3mm;margin:4mm 0}#printRoot .finish-status{font-size:10pt;margin:3mm 0}
 #printRoot .print-items{display:block;position:static;height:auto}
 #printRoot .review-item{display:table;table-layout:fixed;width:100%;height:auto;min-height:0;padding:4mm 0;margin:0;border-bottom:1px solid #d4dfe6;break-inside:avoid-page;page-break-inside:avoid}
 #printRoot .review-item>img{display:table-cell;float:left;width:17mm;height:21mm;object-fit:contain;margin-right:4mm}
 #printRoot .review-description{display:table-cell;width:66%;vertical-align:middle;padding-right:4mm}#printRoot .review-description>*{display:block}#printRoot .review-description strong{font-size:11pt}#printRoot .review-description small,#printRoot .review-description>span{font-size:9pt;line-height:1.45}
 #printRoot .review-price{display:table-cell;width:25%;vertical-align:middle;text-align:right}#printRoot .review-price small{display:block;font-size:9pt}#printRoot .review-price strong{display:block;font-size:12pt;white-space:nowrap}
 #printRoot .print-total{display:block;border-top:2px solid #042f52;margin-top:6mm;padding-top:4mm;break-inside:avoid-page;page-break-inside:avoid}#printRoot .print-total>span{font-size:12pt}#printRoot .print-total>strong{float:right;font-size:19pt}#printRoot .print-total p{clear:both;font-size:10pt;margin:4mm 0 0}
}
@media print{#printRoot .print-photo{display:table-cell;width:14%;vertical-align:middle}#printRoot .print-photo img{display:block;width:17mm;height:21mm;object-fit:contain}#printRoot .review-description{width:61%}}
/* Each product purpose starts its own sequence of model cards. */
#cards>.quote-group-title{grid-column:1/-1;font-size:22px;line-height:1.35;letter-spacing:0;font-weight:600;margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line)}#cards>.quote-group-title:first-child{margin-top:0;padding-top:0;border-top:0}
.country-badge{display:inline;white-space:nowrap;font-size:16px;vertical-align:baseline}.country-unknown{font-size:12px;border:1px solid var(--line);border-radius:50%;padding:0 4px;color:var(--muted)}
