.ras-page { margin: 30px auto 45px; }
.ras-banner { background: #007a59; color: #fff; padding: 24px 0; }
.ras-banner h1 { color: #fff; margin: 0; font-size: 32px; font-weight: 600; }
.ras-intro { max-width: 900px; margin-bottom: 25px; line-height: 1.8; }
.ras-panel { border: 1px solid #dae5df; border-radius: 8px; margin: 25px 0; overflow: hidden; }
.ras-panel-heading { background: #007a59; color: white; padding: 17px 24px; font-size: 21px; margin: 0; }
.ras-panel-body { background: #fff; padding: 26px 24px; }
.ras-field { margin-bottom: 22px; }
.ras-field label { display: block; font-weight: 600; margin-bottom: 7px; color: #203b31; }
.ras-field .form-control { min-height: 44px; height: auto; border-color: #b5c8be; border-radius: 4px; font-family: inherit; }
.ras-field select.form-control { height: 44px; }
.ras-field textarea { resize: vertical; }
.ras-field .form-control:focus { border-color: #007a59; outline: 2px solid #b1d7c8; box-shadow: none; }
.ras-field.has-error .form-control { border-color: #a94442; }
.ras-page .help-block { margin-top: 7px; color: #52665c; font-size: 12px !important; line-height: 1.5; }
.ras-required { color: #a32929; }
.ras-optional { color: #66746d; font-size: 12px; font-weight: 400; }
.ras-form-actions { padding: 0 15px; }
.ras-submit { padding: 12px 24px; font-size: 15px; font-weight: 600; }
.ras-page fieldset { border: 0; padding: 0; margin: 0 0 12px; min-width: 0; }
.ras-page legend { font-size: 20px; color: #007a59; padding: 0 0 12px; margin: 8px 0 22px; }
.ras-page .ras-role-list { padding-left: 20px; line-height: 1.9; }
.ras-role-heading { color: #007a59; font-size: 25px; line-height: 1.3; margin: 0 0 15px; }
.ras-role-meta { display: inline-block; padding: 7px 12px; background: #eef5f1; color: #245541; border-radius: 4px; margin: 0 8px 12px 0; }
.ras-check { display: flex; align-items: flex-start; gap: 10px; margin: 5px 0 18px; font-weight: 400; line-height: 1.6; }
.ras-check input { flex-shrink: 0; width: 18px; height: 18px; margin-top: 3px; }
.ras-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.ras-page #form-status { scroll-margin-top: 20px; }
.ras-page .alert ul { margin: 10px 0 0; padding-left: 20px; }
.ras-page a { overflow-wrap: anywhere; }
@media (max-width: 767px) {
  .ras-banner h1 { font-size: 27px; }
  .ras-panel-body { padding: 22px 16px; }
  .ras-panel-heading { padding: 16px; font-size: 19px; }
  .ras-submit { width: 100%; }
}
