/* Keep legal conditions readable; only supporting notes use muted text. */
#dialog.contract-dialog{width:min(1080px,calc(100vw - 28px));max-width:1080px;}
.contract-text{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;font:inherit;font-size:15px;line-height:1.65;background:#fff;border:1px solid #d5dfdc;border-radius:8px;padding:20px;max-height:55vh;overflow:auto;color:#243c39;}
.contract-help,.contract-table small,.contract-event small{display:block;color:#65746f;font-size:13px;line-height:1.5;font-weight:400;white-space:normal;overflow-wrap:anywhere;}
.contract-help{margin:7px 0 18px;}
.contract-table-scroll{max-width:100%;overflow:auto;border:1px solid #d5dfdc;border-radius:8px;margin:16px 0;}
.contract-table{width:100%;border-collapse:collapse;table-layout:auto;font-size:15px;}
.contract-table th,.contract-table td{position:static;white-space:normal;overflow-wrap:anywhere;padding:14px;text-align:left;vertical-align:top;border-bottom:1px solid #d5dfdc;}
.contract-table th{background:#e8efec;color:#28443c;}
.contract-table td{background:white;color:#243c39;}
.contract-table td small{margin-top:6px;}
.contract-table button{white-space:normal;}
.contract-table tr:last-child td{border-bottom:0;}
.contract-summary{margin:18px 0;padding:18px;border:1px solid #d5dfdc;border-radius:8px;background:#f5f8f7;}
.contract-summary h3{margin-top:0;}
.contract-done{color:#1c643e;font-weight:600;}
.contract-actions{display:flex;flex-wrap:wrap;gap:10px;}
.contract-event{padding:14px 0;border-bottom:1px solid #d5dfdc;overflow-wrap:anywhere;}
.contract-bottom{margin-top:24px;}
.contract-editor{margin:12px 0;border:1px solid #d5dfdc;padding:14px;border-radius:8px;}
.contract-editor textarea{width:100%;line-height:1.55;}
.contract-editor summary{cursor:pointer;font-weight:600;}
.contract-dialog [aria-invalid=true]{border:2px solid #b42332;background:#fff6f6;}
.contract-field-error{display:block;color:#b42332;font-size:14px;font-weight:400;line-height:1.5;margin-top:6px;}
.registration-contract{margin:18px 0;border-top:1px solid #d5dfdc;padding-top:12px;}
.registration-contract summary{cursor:pointer;margin-bottom:12px;}
.contract-dialog .check,.registration-contract .check{display:flex;align-items:flex-start;gap:10px;line-height:1.5;}
.contract-dialog .check input,.registration-contract .check input{width:18px;height:18px;flex:0 0 18px;margin-top:3px;}
@media(max-width:600px){.contract-table{font-size:13px;}.contract-table th,.contract-table td{padding:10px 8px;}.contract-table button{padding:8px;min-width:0;font-size:13px;}.contract-text{padding:13px;font-size:14px;}.contract-summary{padding:12px;}.contract-dialog .row{flex-wrap:wrap;}}
