.auth-field { min-width:0; }
.auth-field label { display:block; margin-bottom:6px; }
.auth-field label small { font-weight:400; color:var(--muted); }
.auth-field input,.auth-field select { width:100%; min-height:44px; }
.auth-field input::placeholder { color:#8b949f; opacity:1; }
.auth-field [aria-invalid="true"] { border-color:#ac3d35; background:#fffafa; }
.auth-field [aria-invalid="true"]:focus { outline:2px solid #f1c6c1; outline-offset:1px; }
.field-help { display:flex; justify-content:space-between; gap:10px; margin-top:5px; font-size:12px; color:#697581; }
.field-help span:last-child { flex-shrink:0; }
.field-help .valid-hint { color:#25754d; font-weight:600; }
.field-error { display:block; color:#a3322b; font-size:12px; margin-top:4px; }
.field-error:empty { display:none; }
.form-section-title { color:var(--navy); font-size:13px; font-weight:700; padding-top:12px; border-top:1px solid var(--line); }
.form-section-title:first-of-type { border-top:0; padding-top:0; }
.register-layout .auth-side { position:sticky; top:0; min-height:100vh; max-height:100vh; }
.register-layout .auth-main { align-items:flex-start; }
.register-layout .auth-card { max-width:520px; }
.location-row { grid-template-columns:minmax(0,1fr) 96px; align-items:start; }
.photo-caption { color:#64717e; font-size:11px; text-align:center; margin:0; padding:5px 12px; background:#fff; }
.photo-caption:empty { display:none; }
.image-note { font-size:12px; line-height:1.5; color:var(--muted); margin:12px 0 0; }
.gallery button:focus-visible { outline:2px solid var(--navy); outline-offset:2px; }
@media(max-width:650px) {
  .register-layout .auth-main { padding-top:25px; }
  .location-row { grid-template-columns:minmax(0,1fr) 88px; }
  .field-help { flex-wrap:wrap; gap:3px 10px; }
}
