/* Companion stylesheet for member-portal/register.blade.php.
   Loaded after mobile-tokens.css + unified-auth.css — reuses their
   .unified-auth-* primitives and only adds what this longer form needs. */

/* The page shell, hero backdrop and full-bleed mobile card all come from
   unified-auth.css. This form is much longer than a login form, so it scrolls
   from the top instead of being vertically centred, and gets a wider card
   once there is room for one. */
.member-register-page .unified-auth-card {
    justify-content: flex-start;
}

.member-register-page .unified-auth-card > h2 {
    margin: 0 0 var(--space-1);
    font-size: var(--font-xl);
    text-align: center;
}

@media (min-width: 600px) {
    .member-register-page .unified-auth-card {
        max-width: 560px;
    }
}

.role-choice-group {
    display: flex;
    gap: var(--space-2);
}

.role-choice-option {
    flex: 1 1 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    min-height: var(--tap-min);
    padding: 0 var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-surface-alt);
    color: var(--color-ink-muted);
    font-size: var(--font-sm);
    font-weight: 700;
    cursor: pointer;
}

.role-choice-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.role-choice-option:has(input:checked) {
    background: #fff;
    border-color: var(--color-primary);
    color: var(--color-primary-dark);
    box-shadow: var(--shadow-sm);
}

.role-choice-option:has(input:focus-visible) {
    outline: 3px solid var(--color-primary-tint);
}

.role-only-field {
    display: none;
}

.role-only-field.active {
    display: block;
}

textarea.unified-auth-input {
    min-height: 88px;
    resize: vertical;
}

.birthday-select-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-2);
}

.birthday-hint {
    display: block;
    margin-top: var(--space-1);
    color: var(--color-ink-muted);
    font-size: var(--font-xs);
}

.nis-feedback {
    margin-top: var(--space-2);
    font-size: var(--font-sm);
}

.nis-feedback i { margin-right: 4px; }
.nis-feedback .text-success { color: var(--color-primary-dark); }
.nis-feedback .text-danger { color: var(--color-danger); }
.nis-feedback .text-info { color: var(--color-info); }

.unified-auth-field-error {
    margin-top: var(--space-2);
    color: var(--color-danger);
    font-size: var(--font-sm);
}

.unified-auth-reveal.toggle-password {
    position: absolute;
    top: 50%;
    right: var(--space-1);
    min-width: var(--tap-min);
    min-height: var(--tap-min);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: var(--radius-full);
    background: transparent;
    color: var(--color-ink-muted);
    transform: translateY(-50%);
}

.unified-auth-reveal.toggle-password:active {
    transform: translateY(-50%);
}

.member-register-hint {
    margin: var(--space-4) 0 var(--space-3);
    color: var(--color-ink-muted);
    font-size: var(--font-sm);
}

.member-register-back {
    display: flex;
    justify-content: center;
    margin-top: var(--space-4);
}
