*{box-sizing:border-box}body{margin:0;background:#f2f5f8;color:#20384e;font:15px Arial,sans-serif}header{background:white;border-bottom:1px solid #d7e0e8;padding:22px 32px;display:flex;justify-content:space-between}a{color:#20384e}header a{font-weight:bold;text-decoration:none}main{max-width:1600px;margin:auto;padding:32px}h1{font-size:30px;margin:8px 0 24px}.eyebrow{font-size:12px;letter-spacing:2px;color:#657d90}.toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:20px 0}button,input,select,textarea{font:inherit;border:1px solid #c8d6e3;border-radius:5px;padding:11px;background:white;color:#20384e}button{cursor:pointer}button:hover{background:#eaf0f5}button.primary{background:#20384e;color:white}button:disabled{opacity:.5;cursor:default}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:bold}textarea{min-height:85px;resize:vertical}input,select,textarea{width:100%}.card{background:white;border:1px solid #d7e0e8;border-radius:8px;padding:22px}.metadata{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.wide{grid-column:span 2}.notice{padding:12px 18px;border-left:4px solid #bf8522;background:#fff6df;white-space:pre-line}.notice:empty{display:none}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;background:#20384e;color:white;padding:12px}td{padding:10px;border-bottom:1px solid #d7e0e8;vertical-align:top;background:white}.costs td:nth-child(2){min-width:170px}.costs td:nth-child(3){min-width:280px}.costs td:nth-child(4),.costs td:nth-child(6){min-width:115px}.costs td:nth-child(5){min-width:90px}.costs input,.costs select{margin-bottom:5px}.costs small{display:block;color:#587084;line-height:1.5}.costs input[type=checkbox]{width:auto}.costs button{padding:6px;font-size:12px;display:block;margin-bottom:6px}.summary{margin-top:22px}.summary strong{font-size:24px}.missing{color:#a34325}#status{white-space:pre-wrap}.offer-print{background:white;color:#111}.letter{max-width:185mm;margin:25mm auto;font:11px Arial;line-height:1.45}.sender{font-size:9px;text-decoration:underline}.recipient{white-space:pre-line;margin:20px 0 36px}.letter-meta{margin-bottom:28px}.letter h1{font-size:17px;margin-bottom:18px}.pre{white-space:pre-line}.offer-table{margin-top:28px}.offer-table th{background:white;color:black;border-bottom:1px solid #aaa;font-size:10px}.offer-table td{color:black;border:0;padding:12px 4px}.offer-table td:not(:first-child),.offer-table th:not(:first-child){text-align:right;white-space:nowrap}.offer-table td:first-child{width:56%}.offer-table small{display:block;font-size:9px;white-space:pre-line}.totals{margin:28px 0 45px auto;width:70%;}.totals p{display:flex;justify-content:space-between}.grand{border-top:1px solid black;border-bottom:3px double black;padding:10px 0}.signature{margin-top:45px}.draft{font-size:10px;color:#666}.print-tools{padding:16px}.offer-table tr{break-inside:avoid}@page{size:A4;margin:18mm}@media print{.print-tools{display:none}.letter{margin:0;max-width:none}.offer-table thead{display:table-header-group}.totals{break-inside:avoid}}@media(max-width:850px){main{padding:18px}.metadata{grid-template-columns:repeat(2,minmax(0,1fr))}.wide{grid-column:span 2}}
/* OFFER_V2 */
.ofx-prices{margin:12px 0;padding:10px 14px}.ofx-prices summary{font-weight:700;cursor:pointer}
.ofx-pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin-top:8px}
.ofx-pgrid label{display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:3px}
#lines td{vertical-align:top}
#lines .ofx-txt{min-width:340px;width:52%}
#lines .ofx-txt input{width:100%;font-weight:600;box-sizing:border-box}
#lines .ofx-txt textarea{width:100%;box-sizing:border-box;font-size:12.5px;margin-top:3px;resize:vertical}
#lines .ofx-u{width:60px}#lines .ofx-n{width:100px;text-align:right}
#lines .line-sum{text-align:right;white-space:nowrap;font-weight:600;padding-top:8px}
#lines tr.off{opacity:.45}
#lines .ofx-sec td{background:#f1f4f7;padding:6px 8px}
#lines .ofx-act{white-space:nowrap}#lines .ofx-act button{padding:2px 7px;margin-left:2px}
.ofx-tot{margin-left:auto;min-width:320px;border-collapse:collapse}.ofx-tot td{padding:4px 8px}.ofx-tot td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.ofx-tot .g td{border-top:2px solid #333;font-weight:700;font-size:1.1em}
.missing{color:#b42318;font-weight:600}
