/* Public forms share the navy/gold palette; confirmation tickets retain their paper treatment. */
:is(.registration-section .form-card, .participant-login-card, .auth-card) {
    --form-surface: #132c42;
    --form-field: #0b1f32;
    --form-text: #e8edf2;
    --form-muted: #a3b3c1;
    color: var(--form-text);
    background: linear-gradient(145deg, #19364e 0%, var(--form-surface) 45%, #10273c 100%);
    border: 1px solid #d6b6773b;
    box-shadow: 0 25px 65px #020c1740, inset 0 1px 0 #ffffff06;
}
:is(.registration-section .form-card, .participant-login-card, .auth-card) :is(h2, h3) { color: #f0f1ed; }
:is(.registration-section .form-card, .participant-login-card, .auth-card) label { color: #c6d1db; }
:is(.registration-section .form-card, .participant-login-card, .auth-card) label :is(small, .consent) { color: var(--form-muted); }
:is(.registration-section .form-card, .participant-login-card, .auth-card) :is(input:not([type=checkbox]):not([type=radio]), select, textarea, .select-trigger) {
    color: var(--form-text);
    background: var(--form-field);
    border: 1px solid #8099af3b;
    box-shadow: inset 0 1px 3px #020b141a;
    color-scheme: dark;
}
:is(.registration-section .form-card, .participant-login-card, .auth-card) input::placeholder { color: #8ca1b4; opacity: 1; }
:is(.registration-section .form-card, .participant-login-card, .auth-card) :is(input, textarea, select):focus {
    border-color: #d6b677a6 !important;
    box-shadow: 0 0 0 3px #d6b67714;
}
:is(.registration-section .form-card, .participant-login-card, .auth-card) input:-webkit-autofill {
    -webkit-text-fill-color: var(--form-text);
    -webkit-box-shadow: 0 0 0 1000px var(--form-field) inset;
    caret-color: var(--form-text);
}
:is(.registration-section .form-card, .participant-login-card, .auth-card) .consent { color: #b1c0ce; }
:is(.registration-section .form-card, .participant-login-card, .auth-card) .form-message { color: #ffb5a5; }
.registration-section .form-heading { border-bottom: 1px solid #d6b6771c; padding-bottom: 20px; margin-bottom: 22px; }
.registration-section .form-heading > span { color: #e0c58f; background: #d6b67710; border: 1px solid #d6b67730; }
.registration-section .attendance-switch { background: #081c2e; border: 1px solid #728da32b; }
.registration-section .attendance-switch span { color: #a5b7c6; }
.registration-section .attendance-switch input:checked + span { color: #ebd2a0; background: #d6b67712; border-color: #d6b67758; box-shadow: 0 2px 8px #0002; }
.registration-section .form-footnote { color: #8fa5b7; }
.registration-section .select-trigger.is-placeholder { color: #8ca1b4; }
.registration-section .select-trigger > .ui-icon { color: #ccb17e; }
.registration-section .select-options { background: #10283d; border-color: #d6b6774d; box-shadow: 0 15px 40px #020c1770; scrollbar-color: #8d7955 #10283d; }
.registration-section .select-option { color: #cbd7e1; }
.registration-section .select-option.is-selected { color: #e5cb96; background: #d6b67710; }
.registration-section .select-option svg { color: #d6b677; }
.registration-section .select-option:is(:hover, .is-active) { background: #d6b67716; color: #f2dfb6; }
.registration-section .select-option.is-active { outline-color: #d6b67750; }
.registration-section .select-trigger:is(:focus-visible, .is-invalid), .registration-section .is-open > .select-trigger { border-color: #d6b677a6; box-shadow: 0 0 0 3px #d6b67714; }
.registration-section .select-trigger.is-invalid { border-color: #e4a191; }
.participant-login-card > p { color: #a3b3c1; }
.participant-login-card .participant-help { color: #a3b3c1 !important; }
.participant-login-card .participant-help a { color: #e0c58f; }
.auth-card .auth-tabs { background: #0a2033; border: 1px solid #728da326; }
.auth-card .auth-tabs button { color: #a5b7c6; }
.auth-card .auth-tabs button.active { color: #ebd2a0; background: #d6b67712; box-shadow: inset 0 0 0 1px #d6b67758; }
.auth-card form > p:not(.form-message) { color: #a3b3c1; }
.auth-card .auth-options button, .auth-card .auth-hint a { color: #e0c58f; }
.auth-card .auth-hint { color: #a3b3c1 !important; }
