:root{--ld-navy: #10233f;--ld-blue: #0b5fff;--ld-accent: #d81e05;--ld-bg: #f4f6fa;--ld-border: #d3d9e3;--ld-error: #b3150b;--ld-success: #1a7f37;--ld-text: #1c2536;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--ld-bg);color:var(--ld-text)}.brand{display:flex;align-items:baseline;gap:.75rem;padding:1rem 1.5rem;background:var(--ld-navy);color:#fff}.brand-mark{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.brand-mark span{color:var(--ld-accent)}.brand-sub{font-size:1rem;opacity:.85}.app,.state{max-width:720px;margin:1.5rem auto;padding:0 1.5rem 3rem}.intro{color:#46536b}.section{border:1px solid var(--ld-border);border-radius:8px;padding:1rem 1.25rem 1.25rem;margin:0 0 1.25rem;background:#fff}.section legend{font-weight:700;color:var(--ld-navy);padding:0 .4rem}.field{margin:.75rem 0;display:flex;flex-direction:column;gap:.3rem}.field-inline{flex-direction:row;align-items:center;gap:.5rem}.field label{font-weight:600;font-size:.9rem}.field .req{color:var(--ld-accent)}.field input[type=text],.field input[type=email],.field input[type=tel],.field select{padding:.55rem .65rem;border:1px solid var(--ld-border);border-radius:6px;font-size:1rem;background:#fff}.field input:focus,.field select:focus{outline:2px solid var(--ld-blue);outline-offset:1px}#submit-referral{background:var(--ld-blue);color:#fff;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;font-weight:700;cursor:pointer}#submit-referral:disabled{opacity:.6;cursor:progress}.notice{background:#eaf1ff;border:1px solid var(--ld-blue);color:var(--ld-navy);padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem}.validation-summary{background:#fdeceb;border:1px solid var(--ld-error);color:var(--ld-error);padding:.75rem 1rem .75rem 1.25rem;border-radius:6px;margin:1rem 0}.validation-summary h2{margin:0 0 .5rem;font-size:1rem}.result{margin-top:1.25rem;padding:1rem 1.25rem;border-radius:6px}.result-success{background:#e8f6ec;border:1px solid var(--ld-success)}.result-error{background:#fdeceb;border:1px solid var(--ld-error)}.result dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem}.result dt{font-weight:700}.state-error .detail{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#fff;border:1px solid var(--ld-border);padding:.5rem .75rem;border-radius:6px}.env-tag{margin-top:2rem;font-size:.8rem;color:#7b8798}
