.contract-page { max-width: 1120px; min-width: 0; }
.contract-page .panel { margin-block: 20px; padding: 24px; }
.contract-notice { background: #fff6df; color: #59451b; padding: 16px 20px; border-radius: 12px; line-height: 1.6; }
.contract-steps { display: flex; flex-wrap: wrap; gap: 16px 32px; padding: 16px 28px; line-height: 1.6; }
.contract-form { max-width: 760px; }
.contract-field { margin-block: 18px; }
.contract-field > label { display: block; font-weight: 600; margin-bottom: 8px; }
.contract-field input:not([type=checkbox]), .contract-field textarea, .contract-field select { width: 100%; max-width: 100%; padding: 12px; border: 1px solid #8894a6; border-radius: 8px; font: inherit; }
.contract-field input[type=checkbox] { width: 20px; height: 20px; vertical-align: middle; margin-right: 8px; }
.contract-field :focus-visible { outline: 3px solid #6455ba; outline-offset: 3px; }
.contract-help { color: #526174; font-size: .9rem; line-height: 1.6; }
.contract-form .errorlist { color: #a32424; }
.contract-document { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; line-height: 1.75; margin: 0; }
.contract-digest { overflow-wrap: anywhere; }
.contract-record { padding-block: 16px; border-bottom: 1px solid #d9dfe7; }
@media (max-width: 720px) { .contract-page .panel { padding: 16px; } .contract-record .btn { margin-block: 6px; } }
