.participant-login { margin: 0; min-height: 100vh; background: #f6f5f0; color: #252a25; font: 16px/1.6 system-ui, sans-serif; display: grid; place-items: center; }
.participant-login main { box-sizing: border-box; width: min(100%, 480px); padding: 42px 28px; }
.participant-brand { color: #5e6c61; font-size: 12px; letter-spacing: .15em; }
.participant-login h1 { font-size: 32px; font-weight: 550; margin: 24px 0 8px; }
.participant-login form, .participant-feedback form { display: grid; gap: 12px; }
.participant-login label, .participant-feedback label { margin-top: 8px; font-size: 14px; }
.participant-login input, .participant-feedback textarea, .participant-feedback select { box-sizing: border-box; font: inherit; color: inherit; background: #fff; border: 1px solid #c9d0c7; border-radius: 12px; padding: 12px; width: 100%; }
.participant-login button { font: inherit; border: 0; color: #fff; background: #354e3d; padding: 13px 20px; border-radius: 30px; margin-top: 12px; cursor: pointer; }
.participant-login button:disabled { opacity: .6; }
.participant-note, .participant-feedback .quiet { font-size: 13px; color: #637066; }
#login-status { margin: 0; color: #91523a; }
.participant-feedback { margin: 28px 0; padding: 24px; background: #f0f1eb; border-radius: 20px; }
.participant-feedback h2 { font-size: 19px; margin: 0 0 8px; }
.participant-feedback button { justify-self: start; }
.participant-feedback textarea { resize: vertical; }
#participant-feedback-status { margin: 0; min-height: 1.5em; font-size: 14px; }
.participant-personas { box-sizing: border-box; width: 100%; border: 1px solid #c9d0c7; border-radius: 16px; padding: 16px; margin-bottom: 18px; display: grid; gap: 10px; }
.participant-personas label { display: grid; gap: 4px; font-size: 14px; }
.participant-personas select { width: 100%; min-width: 0; padding: 10px; border: 1px solid #c9d0c7; border-radius: 8px; background: white; color: #252a25; font: inherit; }
.participant-personas p { margin: 0; font-size: 13px; line-height: 1.5; }
