.contract-body{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.9;text-align:right}.contract-hash{overflow-wrap:anywhere;font-family:monospace}.contract-paper{background:white;color:#102b3d}.contract-paper h1{text-align:center}.contract-controls details{margin-top:1rem}.contract-controls input[type=checkbox]{width:auto}.contract-paper .grid{gap:.3rem 1rem}
.payment-due{color:#a51b30;font-weight:700}.contract-payment-row .grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.contract-paper{position:relative;isolation:isolate;max-width:210mm;margin:24px auto;padding:0;background:white}.contract-print-content{padding:28mm 15mm 36mm;position:relative}.contract-letterhead{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:-1}.contract-text p{white-space:pre-line;line-height:1.85;overflow-wrap:anywhere;orphans:3;widows:3}.contract-party{margin-bottom:24px}.contract-paper table{width:100%;border-collapse:collapse;table-layout:fixed}.contract-paper th,.contract-paper td{padding:8px;border:1px solid #ddd;text-align:right;overflow-wrap:anywhere}.contract-signatures{break-inside:avoid;margin-top:20px}.contract-stamp{width:36mm;height:auto;display:block;margin:8px 0}.contract-state{font-weight:bold}.contract-controls textarea{width:100%;min-height:100px}.contract-controls input[type=checkbox],#client-sign input[type=checkbox]{width:auto}.contract-hash{font-size:10px}.contract-controls button{margin:4px}
@media(max-width:700px){.contract-print-content{padding:80px 16px 95px}.contract-paper{width:100%;}.contract-controls .actions{flex-wrap:wrap}}
@media print{@page{size:A4;margin:24mm 15mm 30mm}.contract-controls,body.printing-contract>header,body.printing-contract #notice,body.printing-contract nav{display:none!important}.contract-paper{margin:0;max-width:none;border:0;box-shadow:none}.contract-print-content{padding:0}.contract-letterhead{position:fixed;top:-24mm;right:-15mm;width:210mm;height:297mm;max-width:none;z-index:-1}.contract-text p{font-size:11pt;line-height:1.65}.contract-paper h1{font-size:17pt}.contract-paper tr{break-inside:avoid}.contract-paper thead{display:table-header-group}.contract-signatures{break-inside:avoid}.contract-stamp{width:32mm}body{background:white!important}main{padding:0!important;max-width:none!important}}
@media print{body.printing-contract header,body.printing-contract nav,body.printing-contract #notice,body.printing-contract .contract-controls,body.printing-contract #app>.actions{display:none!important}body.printing-contract .contract-paper{border:0;box-shadow:none;padding:0}body.printing-contract .contract-paper .grid{display:grid;grid-template-columns:1fr 1fr}body.printing-contract .contract-body{font-size:12pt}body.printing-contract .contract-paper h1{font-size:18pt}}
.contract-paper{isolation:auto}.contract-print-content{padding:12px 24px}.contract-document{border:0!important}.contract-document>thead>tr>td,.contract-document>tbody>tr>td,.contract-document>tfoot>tr>td{border:0;padding:0}.contract-letterhead-header,.contract-letterhead-footer{position:relative;overflow:hidden;width:100%}.contract-letterhead-header{height:65px}.contract-letterhead-footer{height:105px}.contract-letterhead-header img,.contract-letterhead-footer img{position:absolute;width:100%;height:auto;left:0}.contract-letterhead-header img{top:0}.contract-letterhead-footer img{bottom:0}
.contract-paper table{white-space:normal}.contract-paper td{overflow-wrap:anywhere}.contract-print-content{min-width:0}.contract-paper h1,.contract-paper h2,.contract-paper h3{color:#182b39}
@media(max-width:700px){.contract-print-content{padding:10px}.contract-letterhead-header{height:32px}.contract-letterhead-footer{height:55px}}
@media print{@page{size:A4;margin:6mm 10mm}.contract-print-content{padding:3mm 0}.contract-paper{width:100%;color:#111}.contract-paper p{color:#111}.contract-letterhead-header{height:20mm}.contract-letterhead-footer{height:30mm}.contract-document>tbody>tr{break-inside:auto!important}.contract-document>thead{display:table-header-group}.contract-document>tfoot{display:table-footer-group}.contract-document>tbody>tr>td{break-inside:auto!important}.contract-state{font-size:10pt}}
@media print{main{margin:0!important}.contract-letterhead-header{height:25mm}.contract-letterhead-header img{top:5mm}.contract-paper .contract-text h3{break-after:avoid}}
.contract-letterhead-header svg,.contract-letterhead-footer svg{display:block;width:100%;height:100%}
.contract-letterhead-header img.stationery-region,.contract-letterhead-footer img.stationery-region{position:static;display:block;width:100%;height:100%;object-fit:contain}
@media print{.contract-document>thead,.contract-document>tfoot{break-inside:avoid!important}.contract-document{overflow:visible!important}.contract-document>thead{display:table-header-group!important}.contract-document>tfoot{display:table-footer-group!important}}

.contract-progress{border:1px solid #dce5e0;border-radius:12px;background:#f8faf8;padding:18px;margin:20px 0}.contract-progress ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;gap:12px}.contract-progress li{padding:12px;border:1px solid #dce5e0;border-radius:8px;background:white;line-height:1.6}.contract-progress li span{display:inline-block;margin-inline-end:8px;font-weight:bold}.contract-progress li.done{color:#17624e;background:#eaf5ef}.contract-progress li[aria-current]{border:2px solid #8d479a}.contract-progress p{color:#243f49}@media(max-width:700px){.contract-progress ol{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.contract-progress{display:none!important}}

.signature-pad{display:block;width:100%;max-width:600px;height:180px;border:2px dashed #8d479a;border-radius:10px;touch-action:none;background:white}.signature-ink{width:220px;height:70px;display:block}.contract-stamp{margin:18px auto}
.live-receipts table{white-space:normal;table-layout:fixed}.live-receipts th,.live-receipts td{padding:8px;overflow-wrap:anywhere}@media print{.live-receipts{display:none}}

.settlement-details{white-space:pre-wrap;overflow-wrap:anywhere}
.contract-party h3{margin-block:12px 4px}

@media print{
 @page{size:A4;margin:30mm 10mm 36mm}
 .contract-document>thead,.contract-document>tfoot{display:none!important}
 .contract-paper h2,.contract-paper h3{break-after:avoid}
 .contract-paper li{line-height:1.65;margin-bottom:5px;orphans:2;widows:2}
}

.management-board{background:#f8fafc;border:1px solid #dce5ee;border-radius:12px;padding:20px}.management-board h2{margin:0;color:#182b39}.management-board .board-primary{background:#df9708;color:white}.board-search{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.board-search>label{flex:1;min-width:220px}.board-search input{background:#f0f5fa}.board-search>div{flex-basis:100%;display:flex;gap:20px}.board-search>div[hidden]{display:none}.board-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.board-tabs button{padding:8px 12px;font-size:13px;border:0;background:#f0f4f8}.board-tabs button.active{background:#df9708;color:white}.board-table{overflow:auto;background:white;border:1px solid #dce5ee;border-radius:10px}.board-table table{white-space:normal;min-width:1100px}.board-table th{font-size:12px;background:#f5f8fc;color:#526881}.board-table td{padding:14px 10px;font-size:13px;border-bottom:1px solid #edf1f6;vertical-align:middle;max-width:240px;overflow-wrap:anywhere}.board-table small{display:block;font-size:11px;color:#687b91;margin-top:6px}.board-table .payment-due,.board-table .payment-due small{color:#ba2131;font-weight:bold}.board-link{background:none;color:#b87900;padding:0;text-align:right}.board-link:hover{background:none;color:#70418c}.board-paid{color:#16865e}.board-status{display:inline-block;border:1px solid #d1dce7;border-radius:20px;padding:2px 8px;white-space:nowrap;font-size:11px}.status-approved{color:#16865e;background:#eaf8ee}.status-client_signed{color:#087fa2;background:#e6f6fd}.status-awaiting_approval{color:#916109;background:#fff6df}.board-row-actions{display:flex;gap:5px;flex-wrap:wrap}.board-row-actions button{font-size:11px;padding:5px}.board-row-actions .board-delete{color:#b32336}.management-board>.table{background:white;border-radius:10px}.management-board>.table th,.management-board>.table td{padding:12px;font-size:13px}.management-board>.table table{white-space:normal;min-width:950px}@media(max-width:700px){.management-board{padding:12px}.board-search>div{flex-wrap:wrap}.board-tabs{gap:4px}.board-tabs button{font-size:11px}.board-table td{padding:10px}}

/* Match the site's official purple identity; retain semantic payment alerts. */
.management-board{background:var(--site-background);border-color:var(--site-border)}
.management-board h2{color:var(--site-primary)}
.management-board .board-primary,.board-tabs button.active{background:var(--site-primary);color:white}
.management-board .board-primary:hover,.board-tabs button.active:hover{background:var(--site-primary-hover)}
.board-search input,.board-tabs button{background:var(--site-secondary);color:var(--site-primary)}
.board-table{border-color:var(--site-border)}.board-table th{background:var(--site-secondary);color:var(--site-primary)}
.board-table td{border-bottom-color:var(--site-border)}.board-table small{color:var(--site-muted)}
.board-link{color:var(--site-primary)}.board-link:hover{color:var(--site-primary-hover)}
.board-status{border-color:var(--site-border)}
[data-permission-row][hidden]{display:none}

@media screen{main{max-width:none;width:90%;padding:0;margin:35px auto}#notice:not(:empty){max-width:none;width:90%}.board-table td:nth-child(4),.board-table td:nth-child(5),.board-table td:nth-child(6),.board-table td:nth-child(9){white-space:nowrap;overflow-wrap:normal}.board-table td:nth-child(9){min-width:115px;direction:ltr}.board-table th{white-space:nowrap}}
@media screen and (max-width:600px){main,#notice:not(:empty){width:calc(100% - 32px)}}



.branch-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.branch-summary-grid article{padding:16px;border:1px solid var(--site-border);border-top:3px solid var(--site-primary);border-radius:10px;background:var(--site-secondary)}.branch-summary-grid p{margin:8px 0}.overview-table small{display:block;margin-top:6px;color:var(--site-muted)}.overview-table td{vertical-align:top;max-width:320px}.overview-table details{margin-top:10px}.overview-table details[open]{min-width:230px}.single-date{white-space:nowrap;direction:ltr;display:inline-block}

.visit-editor-table{white-space:normal;table-layout:fixed}.visit-editor-table th:first-child{width:45px}.visit-editor-table th:nth-child(3){width:145px}.visit-editor-table th:last-child{width:90px}.visit-editor-table input{width:100%}.contract-visits th:first-child{width:10%}.contract-visits th:last-child{width:18%}.contract-visits th:nth-child(2){width:72%}.contract-visits tfoot{display:table-row-group}.contract-visits td:first-child,.contract-visits td:last-child{text-align:center}@media(max-width:600px){.visit-editor-table{min-width:550px}}

/* A4 stationery stays within printer-safe margins; each sheet identifies its signed version. */
@media print{
 @page{size:A4;margin:29mm 12mm 39mm}
 .contract-print-content{padding:0}
 .contract-paper{font-size:10pt}
 .contract-paper p{margin:5px 0}
 .contract-text p{font-size:10pt;line-height:1.55;orphans:3;widows:3}
 .contract-party{margin-bottom:12px}
 .contract-signatures{margin-top:10px;border-top:1px solid #999;padding-top:6px;break-inside:avoid}
 .contract-signatures h3{margin:4px 0}
 .signature-columns{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}
 .signature-columns p{grid-row:auto}
 .signature-ink{width:42mm;height:13mm}
 .contract-stamp{width:25mm;margin:4px auto}
 .contract-signatures .contract-hash{font-size:7pt;margin-top:4px}
}

@media print{.signature-block,.signature-block tr,.signature-block td{break-inside:avoid!important}.signature-block td{border:0;padding:0}.signature-block .contract-signatures{margin-top:6px}.signature-block p{line-height:1.4}}

#settlement-request input[type=checkbox],[data-contract-field=floors] input[type=checkbox],#contract-visits-form input[type=checkbox]{width:auto;margin-inline-end:8px}

#contract-editor fieldset input[type=checkbox]{width:auto;margin-inline-end:8px}#contract-editor fieldset{border:1px solid var(--site-border);border-radius:8px;padding:12px}#contract-editor fieldset label{display:block;margin-block:8px}

.contract-service-options{grid-column:1 / -1;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}

@media print{.contract-section-title{break-after:avoid!important;page-break-after:avoid!important;font-size:10pt;margin:8px 0 4px}}

/* Quotation layout is isolated from the signed contract stylesheet rules. */
#quote-editor input[type=checkbox]{width:auto;margin-inline-end:8px}
#quote-editor textarea,#quote-template-editor textarea{min-height:95px}
.quotation-paper h3{break-after:avoid}
@media print{.quotation-paper p{line-height:1.4;margin:3px 0}.quotation-paper h3{font-size:10.5pt;margin:7px 0 3px}.quotation-paper h1{margin:4px 0 8px}.quotation-paper .contract-schedule th,.quotation-paper .contract-schedule td{padding:5px}.quotation-paper .signature-block{margin-top:7px}}

.quotation-signature-details{display:grid;grid-template-columns:1fr 42mm;align-items:center;gap:8px}.quotation-signature-details .signature-ink{width:42mm;height:13mm}

@media print{.quotation-paper p{line-height:1.3;margin:2px 0}.quotation-paper h3{margin:5px 0 2px}.quotation-paper .signature-block p{line-height:1.25;margin:2px 0}.quotation-paper .signature-block .contract-signatures{margin-top:3px;padding-top:3px}}

/* Readable signature artwork and a separate company seal in screen and print. */
.signature-ink{object-fit:contain;max-width:100%;width:280px;height:100px}
.quotation-signature-details{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:12px;align-items:center}
.signature-artwork{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0}
.quotation-signature-details .signature-ink{width:65mm;height:25mm;min-width:0;flex:1}
.company-signature-stamp{width:28mm;height:28mm;object-fit:contain;flex:none}
.signature-title{font-weight:700}.signature-name{font-size:1.08em}
[data-upload] .signature-ink{width:360px;height:120px}
.signature-block{break-inside:avoid;page-break-inside:avoid}
@media(max-width:600px){.quotation-signature-details{grid-template-columns:1fr}.signature-artwork{justify-content:flex-start}.company-signature-stamp{width:24mm;height:24mm}}
@media print{.signature-columns .signature-ink{width:60mm;height:23mm}.quotation-signature-details{grid-template-columns:1fr 95mm}.quotation-signature-details .signature-ink{width:63mm;height:24mm}.company-signature-stamp{width:27mm;height:27mm}.signature-artwork{gap:3mm}}

/* Compact quotations without scaling or clipping long service lists and terms. */
.quotation-totals th,.quotation-totals td{text-align:center}
.quotation-notes p:first-of-type{display:inline}
@media print{
 .quotation-paper{font-size:10pt;line-height:1.25}
 .quotation-paper h1{font-size:16pt;margin:0 0 3px}
 .quotation-paper h3{font-size:10pt;margin:4px 0 1px}
 .quotation-paper p{line-height:1.25;margin:1px 0;orphans:2;widows:2}
 .quotation-paper .contract-schedule th,.quotation-paper .contract-schedule td{padding:3px 5px;line-height:1.25}
 .quotation-paper .quotation-notes{margin:3px 0;line-height:1.25}
 .quotation-paper .signature-block{margin-top:4px}
 .quotation-paper .signature-block .contract-signatures{margin-top:2px;padding-top:2px}
 .quotation-paper .signature-block p{margin:1px 0;line-height:1.2}
 .quotation-paper .quotation-signature-details .signature-ink{height:22mm}
 .quotation-paper .company-signature-stamp{width:24mm;height:24mm}
}
