.text-signup { border: 1px solid #baccc4; background: #fff; padding: clamp(1rem, 4vw, 2rem); margin: 1.5rem 0; }
.text-signup label { display: block; color: #153e34; font-weight: 600; margin-top: 1.2rem; }
.text-signup input[type="text"], .text-signup input[type="tel"], .text-signup textarea { display: block; box-sizing: border-box; width: 100%; margin-top: .4rem; padding: .8rem; border: 1px solid #7c9289; border-radius: 3px; color: #182f28; background: #fff; font: inherit; font-size: 1rem; }
.text-signup .permission-choice { display: flex; gap: .75rem; align-items: flex-start; font-weight: 400; line-height: 1.6; }
.permission-choice input { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; margin-top: .25rem; accent-color: #164f3c; }
.text-signup .signup-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.2rem; }
.text-signup .signup-actions a, .text-signup button { padding: .8rem 1rem; border: 1px solid #164f3c; border-radius: 3px; color: #fff; background: #164f3c; font: inherit; font-size: 1rem; cursor: pointer; text-decoration: none; }
.text-signup .signup-actions a:hover, .text-signup button:hover { background: #0d382a; color: #fff; }
.text-signup button:disabled { opacity: .5; cursor: not-allowed; }
.text-signup :focus-visible { outline: 3px solid #bc7e10; outline-offset: 3px; }
.text-signup [hidden] { display: none; }
.text-signup .signup-review { border-top: 1px solid #baccc4; padding-top: 1rem; margin-top: 1.5rem; }
.text-signup .signup-review textarea { min-height: 19rem; line-height: 1.6; }
.text-signup #textSignupStatus { margin-top: 1rem; font-weight: 600; }
