.pf-label { font-weight:600; font-size:0.88rem; margin-bottom:6px; display:block; }
.pf-label sup { color:#dc3545; }
.pf-field { position:relative; }
.pf-field > i { position:absolute; left:15px; top:50%; transform:translateY(-50%); color:var(--text-muted); font-size:0.88rem; pointer-events:none; }
.pf-field > input { border:2px solid var(--border); border-radius:12px; padding:12px 16px 12px 40px; font-size:0.95rem; width:100%; outline:none; transition:border-color 0.2s, box-shadow 0.2s; }
#memFormFields input:focus, #memFormFields select:focus, #memFormFields textarea:focus { border-color:var(--primary) !important; box-shadow:0 0 0 3px rgba(0,126,63,0.1); }
#memFormFields input.invalid, #memFormFields select.invalid { border-color:#dc3545 !important; }
#memFormFields label.invalid, .pf-error { color:#dc3545; font-size:0.78rem; font-weight:500; margin-top:5px; display:block; }
.pf-submit-btn { background:var(--primary); color:#fff; border:none; border-radius:25px; padding:11px; font-size:0.9rem; font-weight:700; width:100%; cursor:pointer; transition:all 0.22s ease; box-shadow:0 6px 16px rgba(0,126,63,0.28); }
/* Select2 (State) — sized/rounded to match the other form controls. */
#memFormFields .select2-container { width:100% !important; }
#memFormFields .select2-container--default .select2-selection--single { height:48px; border:2px solid var(--border); border-radius:12px; }
#memFormFields .select2-container--default .select2-selection--single .select2-selection__rendered { line-height:44px; padding-left:16px; font-size:0.95rem; color:inherit; }
#memFormFields .select2-container--default .select2-selection--single .select2-selection__arrow { height:44px; right:8px; }
#memFormFields .select2-container--default.select2-container--focus .select2-selection--single,
#memFormFields .select2-container--default.select2-container--open .select2-selection--single { border-color:var(--primary); }
/* The dropdown panel is appended to <body>, so these are unscoped: plain light search box, no heavy focus ring. */
.select2-container--default .select2-search--dropdown { padding:8px; }
.select2-container--default .select2-search--dropdown .select2-search__field { border:1px solid var(--border); border-radius:8px; padding:8px 12px; font-size:0.9rem; outline:none; box-shadow:none; }
.select2-container--default .select2-search--dropdown .select2-search__field:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(0,126,63,0.1); outline:none; }
.select2-container--open { z-index:2000; }
.pf-submit-btn:hover { transform:translateY(-2px); box-shadow:0 10px 22px rgba(0,126,63,0.38); }
