#modal.contract-dialog{width:min(1180px,96vw);max-width:1180px;max-height:94dvh}
.contract-intro{padding:18px;border:1px solid #b6cdd9;border-radius:12px;margin-bottom:18px;line-height:1.5}
.contract-intro p{margin:8px 0}.contract-summary{display:flex;gap:20px;flex-wrap:wrap;padding:16px;border:2px solid #008c95;border-radius:10px;margin-bottom:18px}
.contract-section{border:1px solid #b6cdd9;border-radius:10px;margin:12px 0;padding:14px}.contract-section summary{font-size:18px;font-weight:700;cursor:pointer;padding:5px}
.contract-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:14px}.contract-grid label{display:flex;flex-direction:column;gap:5px;min-width:0}.contract-grid small{opacity:.65;font-size:11px;margin-left:6px}.contract-grid input,.contract-grid textarea{width:100%;min-width:0;box-sizing:border-box;font-size:16px}.contract-grid input[readonly]{opacity:.8;border-style:dashed}.contract-grid .contract-check{flex-direction:row;align-items:center;justify-content:space-between}.contract-check input{width:20px;height:20px}.contract-confirm{display:grid;gap:14px;padding:18px;border:1px solid #b6cdd9;border-radius:10px}.contract-confirm label{display:block}.contract-confirm input{width:20px;height:20px;vertical-align:middle}.contract-confirm [hidden]{display:none}.contract-list article{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px;border-bottom:1px solid #b6cdd9}.contract-list article>div{flex:1;min-width:180px}.contract-list p{margin:6px 0}.contract-dialog .actions{flex-wrap:wrap}.contract-dialog .error{white-space:normal;overflow-wrap:anywhere}#contract-pdf-result a{display:inline-block;padding:12px;margin:6px 0}
@media(max-width:760px){.contract-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.contract-grid{grid-template-columns:1fr}.contract-dialog .dialogbody{padding:12px}.contract-summary{gap:8px}.contract-dialog .actions>button{width:100%}}
.contract-grid label[hidden]{display:none}
/* Contract-shaped entry screen: full-width parties, left notes, right amounts. */
#modal.contract-dialog{width:min(1400px,97vw);max-width:1400px}.contract-source{line-height:1.45;margin-bottom:16px}.contract-source p{margin:6px 0}.contract-paper{border:1px solid #afbac7;border-radius:12px;padding:14px;background:var(--surface,#fff);color:var(--text,#173244)}
.contract-paper-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px}.contract-paper-heading>strong{font-size:22px;color:#214e78}.contract-paper-heading .contract-field{max-width:380px;flex:1}
.contract-paper-section{border:1px solid #a7b5c4;border-radius:9px;overflow:hidden;margin-bottom:14px}.contract-paper-section>h3{margin:0;padding:9px 12px;background:#214e78;color:#fff;font-size:15px;letter-spacing:.03em}.contract-paper-content{padding:10px}.contract-paper-content h4{margin:12px 0 6px;font-size:14px}.contract-paper-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}.contract-paper-left,.contract-paper-right{min-width:0}.contract-paper-left{display:flex;flex-direction:column}.contract-remarks{flex:1;display:flex;flex-direction:column}.contract-remarks .contract-paper-content{display:flex;flex:1}.contract-remarks .contract-field{flex:1;display:flex;flex-direction:column}.contract-remarks textarea{flex:1;min-height:300px;resize:vertical}
.contract-paper-row{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:10px;margin:8px 0}.contract-field{min-width:0;display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}.contract-paper input,.contract-paper textarea,.contract-paper select{box-sizing:border-box;min-width:0;width:100%;font-size:15px;padding:8px;margin:0;border-radius:5px}.contract-paper input[readonly]{background:#edf2f7;color:#284c6d;border-color:#c8d5e2}.contract-paper label.contract-check,.contract-tax-controls .contract-check{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:13px}.contract-paper input[type=checkbox]{width:19px;height:19px;flex:0 0 19px}.contract-money-row{padding:5px 0;border-bottom:1px solid #dde3eb}.contract-money-row>.contract-field{display:grid;grid-template-columns:minmax(0,1fr) 135px;align-items:center;gap:8px}.contract-money-row input{text-align:right;font-variant-numeric:tabular-nums}.contract-subtotal{background:#edf2f7;margin:0 -5px;padding:7px 5px}.contract-accessory{grid-template-columns:minmax(0,1fr) 135px}.contract-accessory label>span{font-size:11px}.contract-tax-controls{display:grid;gap:9px;border-bottom:1px solid #bcc9d4;padding-bottom:12px;margin-bottom:8px}.contract-tax-details summary{font-weight:600;cursor:pointer;font-size:13px}.contract-tax-details .contract-grid{grid-template-columns:1fr 1fr}.contract-editor-actions{padding:15px 0}.contract-summary{margin-top:16px}
@media(max-width:800px){.contract-paper-columns{grid-template-columns:1fr}.contract-paper-left{display:contents}.contract-paper-right{display:contents}.contract-paper-columns>.contract-paper-left>.contract-paper-section{order:2}.contract-paper-columns>.contract-paper-right>.contract-paper-section{order:1}.contract-paper-columns .contract-remarks{order:3!important}.contract-paper-row{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-paper-heading{flex-direction:column;align-items:stretch}.contract-paper-heading .contract-field{max-width:none}.contract-remarks textarea{min-height:210px}.contract-money-row>.contract-field,.contract-accessory{grid-template-columns:minmax(0,1fr) 115px}}
@media(max-width:450px){.contract-paper{padding:8px}.contract-paper-content{padding:8px}.contract-paper-row{gap:8px}.contract-field{font-size:12px}.contract-paper input,.contract-paper select,.contract-paper textarea{font-size:16px;padding:7px}.contract-money-row>.contract-field{grid-template-columns:minmax(0,1fr) 110px}.contract-tax-details .contract-grid{grid-template-columns:1fr}}
@media(max-width:450px){.contract-paper-row{grid-template-columns:1fr}.contract-accessory{grid-template-columns:minmax(0,1fr) 110px}}
html[data-theme=dark] .contract-paper{background:#1d2536;color:#edf0fa;border-color:#46516b}
html[data-theme=dark] .contract-paper-heading>strong{color:#c0dcff}
html[data-theme=dark] .contract-subtotal{background:#283249}
html[data-theme=dark] .contract-paper input[readonly]{background:#252e43;color:#e0eaff;border-color:#4c5872}
html[data-theme=dark] .contract-money-row{border-color:#46516b}
/* Compact contract entry spacing; keep mobile touch targets generous. */
.contract-dialog .contract-source{margin-bottom:10px;line-height:1.35}
.contract-source p{margin:4px 0}.contract-source p:empty{display:none}
.contract-paper{padding:10px}.contract-paper-heading{gap:12px;margin-bottom:8px}
.contract-paper-section{margin-bottom:9px}.contract-paper-section>h3{padding:6px 10px}
.contract-paper-content{padding:7px 9px}.contract-paper-content h4{margin:8px 0 4px}
.contract-paper-columns{gap:10px}.contract-paper-row{gap:8px;margin:5px 0}
.contract-dialog .contract-paper .contract-field{gap:2px;font-size:14px;line-height:1.3}
.contract-paper input:not([type=checkbox]),.contract-paper select{min-height:32px;padding:4px 7px;line-height:1.3}
.contract-paper input[type=checkbox]{min-height:19px;padding:0}
.contract-paper label.contract-check{min-height:26px}
.contract-money-row{padding:3px 0}.contract-subtotal{padding:4px 5px}
.contract-tax-controls{gap:5px;padding-bottom:8px;margin-bottom:6px}
.contract-tax-details .contract-grid{gap:8px;padding-top:8px}
.contract-remarks textarea{min-height:170px}
.contract-dialog .contract-summary{padding:10px 12px;margin:10px 0;gap:12px}
.contract-dialog .contract-confirm{padding:12px;gap:8px}
.contract-editor-actions{padding:10px 0}
@media(max-width:800px),(pointer:coarse){
 .contract-paper input:not([type=checkbox]),.contract-paper select{min-height:44px;font-size:16px;padding:7px}
 .contract-paper label.contract-check{min-height:44px}
 .contract-dialog .contract-paper .contract-field{font-size:14px}
 .contract-remarks textarea{min-height:170px}
}
