/* Candidate registration: one quiet panel, no analytics or administrative UI. */
.participantContacts { margin: 16px 0 0; font-size: 13px; line-height: 1.6; color: #a9bfb1; text-align: center; }
.participantContacts a { color: #b1da91; text-decoration: underline; text-underline-offset: 3px; }
.participantContacts a:hover { color: #dcf4c8; }
.participantContacts a:focus-visible { outline: 2px solid #a7d5b1; outline-offset: 3px; }
.participantLanding { height: 100dvh; overflow-y: auto; display: flex; align-items: flex-start; padding: 32px 18px; box-sizing: border-box; background: #08120f; color: #eef6f1; font-family: Inter, system-ui, sans-serif; }
.participantPanel { width: 100%; max-width: 620px; flex-shrink: 0; margin: auto; padding: 38px 42px; box-sizing: border-box; background: #112c22; border: 1px solid #294c3c; border-radius: 26px; box-shadow: 0 24px 80px #0004; }
.participantPanel h1 { font-size: 36px; letter-spacing: -1.2px; margin: 0 0 16px; color: #f3faf5; }
.participantIntro { font-size: 16px; line-height: 1.65; margin: 0 0 28px; color: #d0dfd5; }
.participantPanel form { display: flex; flex-direction: column; gap: 9px; }
.participantPanel label:not(.participantConsent) { display: block; margin-top: 12px; font-size: 15px; font-weight: 600; }
.participantPanel label small { display: block; margin-top: 4px; font-size: 12px; font-weight: 400; color: #9eb8a9; }
.participantPanel input:not([type=checkbox]), .participantPanel textarea { width: 100%; box-sizing: border-box; background: #0a2018; border: 1px solid #385d49; border-radius: 11px; padding: 13px 14px; color: #f2f7f4; font: inherit; outline: none; }
.participantPanel textarea { min-height: 116px; resize: vertical; font-size: 14px; line-height: 1.6; }
.participantPanel input::placeholder, .participantPanel textarea::placeholder { color: #90a99b; opacity: 1; }
.participantPanel input:focus-visible, .participantPanel textarea:focus-visible, .participantPanel button:focus-visible { outline: 2px solid #a7d5b1; outline-offset: 3px; }
.participantTransparency { color: #a9bfb1; font-size: 12px; line-height: 1.7; margin: 14px 0 4px; }
.participantConsent { display: flex; align-items: flex-start; gap: 10px; color: #d5e3da; font-size: 13px; line-height: 1.6; cursor: pointer; }
.participantConsent input { margin: 4px 0 0; width: 17px; height: 17px; flex: 0 0 17px; accent-color: #a4cf85; }
.participantPanel button { border: 0; border-radius: 11px; background: #b1da91; color: #122a1d; padding: 15px 22px; font-size: 16px; font-weight: 700; margin-top: 15px; cursor: pointer; }
.participantPanel button:disabled { background: #385141; color: #93a797; cursor: not-allowed; }
#participant-registration-error, .participantSaveError { color: #f0bb9e; font-size: 13px; line-height: 1.5; }
.participantSaveError { position: fixed; top: 6px; left: 50%; transform: translateX(-50%); z-index: 100; width: max-content; max-width: calc(100vw - 24px); text-align: center; margin: 0; padding: 7px 12px; background: #231b15; border: 1px solid #74513b; border-radius: 9px; }
.participantPanel [hidden], .participantSaveError[hidden] { display: none !important; }
@media (min-width: 601px) and (max-height: 850px) { .participantLanding { padding: 16px 18px; } .participantPanel { padding: 24px 32px; } .participantPanel h1 { font-size:32px; margin-bottom:10px; } .participantIntro { font-size:15px; line-height:1.5; margin-bottom:14px; } .participantPanel form { gap:6px; } .participantPanel label:not(.participantConsent) { margin-top:8px; } .participantPanel input:not([type=checkbox]), .participantPanel textarea { padding:10px 12px; } .participantPanel textarea { min-height:90px; } .participantTransparency { margin:8px 0 4px; line-height:1.5; } .participantPanel button { padding:12px 20px; margin-top:8px; } }
@media (max-width: 600px) { .participantLanding { padding: 16px 10px; } .participantPanel { padding: 26px 22px; border-radius: 21px; } .participantPanel h1 { font-size: 31px; } .participantIntro { font-size: 15px; } }
