/* rc221: one firmante-selection design shared by the four contract paths. */
.rm221-signer-block{margin:0 0 20px;padding:18px 20px;border:1px solid #d8e4dc;border-radius:14px;background:#f5f8f4;color:#1b332e}
.rm221-step-label{font-size:11px;letter-spacing:.12em;font-weight:800;color:#9a6c34;margin-bottom:12px}
.rm221-signer-switch{display:flex!important;align-items:flex-start!important;gap:14px!important;font-size:15px!important;line-height:1.5!important;cursor:pointer}
.rm221-signer-switch>input{appearance:auto!important;flex:0 0 20px!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;margin:2px 0 0!important;accent-color:#19372f!important;box-shadow:none!important}
.rm221-signer-switch span{display:block;min-width:0}.rm221-signer-switch strong{display:block;color:#19372f;font-weight:700;font-size:15px}.rm221-signer-switch small{display:block;font-size:13px;color:#546e65;margin-top:4px}
.rm221-other-signer{margin:14px 0 0;padding:14px 16px;background:#fff;border:1px solid #bfa583;border-radius:10px}
.rm221-other-signer[hidden], [data-rm221-different-signer][hidden]{display:none!important}
.rm221-other-signer p{margin:6px 0 10px;color:#3f5850;font-size:14px}.rm221-other-signer a{color:#8a602b!important;text-decoration:underline;font-weight:700}
.rm221-legal-switch{padding:14px;background:#f4f7f3;border-radius:10px;border:1px solid #d8e4dc;margin:10px 0 18px}
.rm221-other-explanation{font-size:14px;color:#51665e;margin:0 0 16px}
.rm103-signer-switch,.rm115-signer-switch{border:1px solid #d8e4dc!important;background:#f5f8f4!important;border-radius:14px!important;padding:16px!important}
.rm155-signing-layout .rm221-signer-block,.rm156-layout .rm221-signer-block{max-width:100%}
@media(max-width:680px){.rm221-signer-block{padding:14px 15px;margin-bottom:16px}.rm221-signer-switch{gap:10px!important}.rm221-signer-switch strong{font-size:14px}.rm221-signer-switch small{font-size:12px}}

/* rc222: explicit alternative signatory entry. Reuses the approved forms' visual language. */
.rm222-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.rm222-fields label{display:flex!important;flex-direction:column!important;gap:8px!important;font-size:14px!important;font-weight:650!important;color:#1b332e!important}
.rm222-fields input,.rm222-fields select{box-sizing:border-box;width:100%;min-height:46px;padding:10px 12px;border:1px solid #bbcfc2;border-radius:9px;background:#fff;font:inherit;color:#19372f}
.rm222-declaration{display:flex!important;align-items:flex-start!important;gap:12px;margin:18px 0 4px;line-height:1.45!important}
.rm222-declaration input{flex:0 0 19px;width:19px;height:19px;accent-color:#19372f}
@media(max-width:700px){.rm222-fields{grid-template-columns:1fr}}
