/* App-level helpers. Design tokens live in css/tokens.css. */

/* FocusOnNavigate (in Routes.razor) sets focus on h1 after each navigation; suppress
   the default browser focus ring on programmatically-focused page titles. */
h1:focus, h1:focus-visible { outline: none; }

/* Form layout helpers — used by every auth page (Login, Forgot/Reset, ChangePassword). */
.form-row { margin-bottom: 14px; }
.auth-link-row { text-align: center; margin-top: 14px; }

/* Validation states (used by Blazor's built-in EditForm validation) */
.valid.modified:not([type=checkbox]) { outline: 1px solid var(--color-success); }
.invalid { outline: 1px solid var(--color-error); }
.validation-message { color: var(--color-error); font-size: 0.8125rem; margin-top: 4px; }

/* Blazor error boundary — keep as a noticeable but on-brand error block. */
.blazor-error-boundary {
    background: var(--color-error);
    color: var(--color-white);
    padding: 1rem 1rem 1rem 3rem;
    border-radius: var(--radius-md);
}
.blazor-error-boundary::after {
    content: "Une erreur est survenue.";
}
