.rb-contract-app { max-width: 1100px; margin-inline: auto; }
.rb-contract-sign-page { padding: clamp(1rem, 4vw, 3rem); }
.rb-contract-app .rb-toolbar, .rb-contract-app .rb-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.rb-contract-app .rb-stack { display: grid; gap: 1rem; }
.rb-contract-app .rb-stack-sm { display: grid; gap: .5rem; }
.rb-contract-app .rb-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1rem; }
.rb-contract-app .rb-field input, .rb-contract-app .rb-field textarea { width: 100%; box-sizing: border-box; }
.rb-contract-app .rb-field textarea { min-height: 7rem; resize: vertical; }
.rb-contract-app .rb-contract-body { min-height: 20rem; }
.rb-contract-app .rb-document-list { list-style: none; padding: 0; display: grid; gap: .75rem; }
.rb-contract-app .rb-document-list li { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; justify-content: space-between; }
.rb-contract-app .rb-document-preview { white-space: pre-wrap; overflow-wrap: anywhere; }
.rb-contract-app .rb-notice { padding: 1rem; border-inline-start: 4px solid currentColor; }
.rb-contract-app [role="alert"]:empty { display: none; }
.rb-contract-app button:focus-visible, .rb-contract-app a:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
