/* Scoped form styles; shared public styling provides the header and footer. */
.referral-shell { max-width:860px; }
.referral-hero { padding-bottom:24px; }
.referral-form-section { padding:0 0 44px; }
.referral-form { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:28px; }
.referral-group { min-width:0; margin:0 0 24px; padding:0 0 24px; border:0; border-bottom:1px solid var(--line); }
.referral-group legend { padding:0; margin-bottom:16px; color:var(--ink); font-family:var(--heading-font); font-size:1.08rem; font-weight:750; line-height:1.4; letter-spacing:-.015em; }
.referral-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.referral-field { display:flex; flex-direction:column; gap:7px; min-width:0; color:var(--ink); font-size:.88rem; font-weight:650; line-height:1.5; }
.referral-field-wide { grid-column:1/-1; }
.referral-field input,.referral-field textarea { width:100%; min-width:0; min-height:44px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); font:400 1rem/1.45 var(--body-font); }
.referral-field textarea { resize:vertical; }
.referral-field input:focus-visible,.referral-field textarea:focus-visible,.referral-position input:focus-visible { outline:2px solid var(--secondary); outline-offset:3px; }
.referral-hint { margin:-7px 0 13px; color:var(--muted); font-size:.88rem; }
.referral-positions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.referral-position { display:flex; align-items:center; gap:11px; min-height:48px; padding:12px 14px; border:1px solid var(--line); border-radius:9px; font-size:.9rem; font-weight:600; line-height:1.5; cursor:pointer; }
.referral-position input { width:18px; height:18px; margin:0; flex:none; accent-color:var(--secondary); cursor:pointer; }
.referral-position:has(input:checked) { background:var(--secondary-soft); border-color:var(--secondary); }
.referral-submit-row { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.referral-submit-row p { margin:0; font-size:.88rem; color:var(--muted); }
.referral-submit-row p.error { color:#993d36; }
.referral-confirmation { padding:32px; border:1px solid #b6dbc8; border-radius:var(--radius); background:#edf8f2; color:#246044; }
.referral-confirmation h2 { margin:0 0 12px; color:inherit; }
.referral-confirmation p { color:inherit; }
.referral-submit-row .button:disabled { flex:none; min-width:116px; background:var(--paper); border-color:var(--line); color:var(--muted); cursor:not-allowed; transform:none; filter:none; }
@media (max-width:560px) {
  .referral-form-section { padding-bottom:32px; }
  .referral-form { padding:21px 18px; }
  .referral-group { margin-bottom:22px; padding-bottom:22px; }
  .referral-field-grid,.referral-positions { grid-template-columns:1fr; }
  .referral-submit-row { flex-direction:column; align-items:stretch; gap:14px; }
}
