.registration-agent { border-top:1px solid #e5ddcf; padding-top:26px; }
.registration-section-heading { display:flex; align-items:center; gap:13px; margin-bottom:20px; }
.registration-section-heading > span { display:grid; place-items:center; width:38px; height:38px; flex-shrink:0; border-radius:50%; background:#f3efe7; color:#84765b; font-size:13px; font-weight:700; }
.registration-section-heading h2 { font-size:19px; font-weight:650; color:#514936; }
.registration-section-heading p { font-size:13px; color:#84765b; margin-top:3px; }
.registration-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:32px; }
.registration-fields label { display:grid; align-content:start; gap:8px; font-size:13px; font-weight:600; color:#6c604a; }
.registration-fields input,.registration-fields select { width:100%; min-width:0; padding:12px 14px; border:1px solid #cfc3ad; border-radius:9px; font-weight:400; background:#fff; color:#383225; }
.registration-document-note { margin:-5px 0 20px; color:#84765b; font-size:12px; line-height:1.8; }
.registration-upload-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.verification-upload { height:100%; min-width:0; border:1px solid #e5ddcf; border-radius:13px; padding:19px; background:#fff; }
.verification-upload:focus-within { outline:2px solid #9c8d70; outline-offset:3px; }
.verification-upload label { display:block; cursor:pointer; }
.verification-upload-title { display:block; color:#514936; font-size:14px; font-weight:650; }
.verification-upload-hint { display:block; color:#84765b; font-size:12px; line-height:1.7; margin:6px 0 14px; }
.verification-upload input[type=file] { width:100%; max-width:100%; font-size:11px; color:#84765b; background:#faf8f4; border:1px dashed #cfc3ad; border-radius:8px; padding:10px; }
.verification-upload input[type=file]::file-selector-button { padding:7px 10px; margin-right:9px; border:1px solid #cfc3ad; border-radius:6px; background:#fff; color:#6c604a; font-size:11px; cursor:pointer; }
.verification-upload [data-file-preview] { margin-top:14px; border:1px solid #e5ddcf; border-radius:8px; overflow:hidden; }
.verification-upload [data-file-link] { display:block; background:#faf8f4; color:#6c604a; }
.verification-upload [data-file-image] { width:100%; height:175px; object-fit:contain; }
.verification-upload [data-file-pdf] { padding:35px 12px; text-align:center; font-size:13px; }
.verification-file-caption { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px; }
.verification-file-caption span { min-width:0; overflow-wrap:anywhere; font-size:11px; color:#84765b; }
.verification-file-caption button { flex-shrink:0; font-size:11px; font-weight:600; color:#6c604a; text-decoration:underline; }
.verification-file-error { display:block; font-size:12px; color:#6c604a; margin-top:6px; }
.registration-review-note { background:#faf8f4; border:1px solid #e5ddcf; border-radius:10px; padding:18px; margin-top:23px; font-size:13px; color:#6c604a; line-height:1.8; }
.verification-existing { margin:24px 0; }
.verification-existing img { height:140px; width:100%; object-fit:contain; margin-top:12px; background:#faf8f4; border-radius:7px; }
@media(max-width:599px) { .registration-upload-grid,.registration-fields { grid-template-columns:minmax(0,1fr); } .verification-upload { padding:16px; } .registration-section-heading { align-items:flex-start; } }

/* Red is reserved for errors, as requested; the rest of the form stays white and taupe. */
#registrationForm .registration-field-invalid,
#registrationForm .input-validation-error { border:2px solid #c62828; outline-color:#c62828; }
#registrationForm .verification-upload.has-error { border:2px solid #c62828; }
#registrationForm .verification-upload.has-error:focus-within { outline-color:#c62828; }
#registrationForm .field-validation-error,
#registrationForm .verification-file-error { color:#b91c1c; font-size:12px; line-height:1.7; }
#registrationForm .registration-feedback { border-color:#c62828; color:#991b1b; background:#fff; }
#registrationForm .registration-feedback a { text-decoration:underline; }
#registrationSubmit:disabled { opacity:.65; cursor:wait; }
.agent-review-lock { margin-top:28px; padding:28px; border:1px solid #e5ddcf; border-radius:16px; background:#fff; }
.agent-review-status { display:flex; gap:16px; padding:20px; border:1px solid #cfc3ad; border-radius:12px; background:#faf8f4; }
.agent-review-mark { display:grid; place-items:center; flex-shrink:0; width:42px; height:42px; border-radius:12px; background:#f3efe7; color:#84765b; font-size:22px; }
.agent-review-status h2 { margin:4px 0 8px; color:#514936; font-size:19px; font-weight:700; }
.agent-review-status p { color:#6c604a; font-size:13px; line-height:1.8; }
.agent-review-identity { display:flex; align-items:center; gap:18px; padding:26px 0; border-bottom:1px solid #e5ddcf; }
.agent-review-identity img { width:76px; height:76px; border-radius:50%; object-fit:cover; border:1px solid #e5ddcf; }
.agent-review-identity h3 { font-size:20px; font-weight:700; color:#514936; }
.agent-review-identity p { margin:4px 0 9px; color:#84765b; font-size:13px; overflow-wrap:anywhere; }
.agent-review-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding:25px 0; }
.agent-review-facts dt { color:#84765b; font-size:12px; margin-bottom:6px; }
.agent-review-facts dd { color:#514936; font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.agent-documents-received { border-top:1px solid #e5ddcf; padding-top:20px; color:#6c604a; font-size:13px; line-height:1.8; }
.agent-documents-received strong { display:block; margin-bottom:5px; }
.agent-review-feedback { margin-top:18px; color:#6c604a; font-size:13px; }
.agent-document-update { margin-top:20px; }
.agent-document-update summary { color:#6c604a; cursor:pointer; font-size:14px; font-weight:600; }
@media(max-width:599px) { .agent-review-lock { padding:18px; } .agent-review-status { padding:16px; gap:12px; } .agent-review-facts { grid-template-columns:1fr; gap:19px; } .agent-review-identity { align-items:flex-start; } }
