09. Components: feedback.css

Feedback components explain state without adding noise. Use status colors only for real states. Do not use danger or error styling for routine messages.

Loading & progress

Use the spinner for short waits with no known completion point. Use a progress bar when completion can be measured or the wait may take more than a few seconds.

.la-spinner-wrap .la-spinner

Loading records

.la-progress.la-progress-indeterminate

Processing request Working

.la-progress

Uploading files 64%

Empty state

Show this when a list or data set has no results. Include a clear heading, short explanation, and action when the user can create something.

.la-empty

No records yet

Create the first item or adjust your filters.

Notices

Inline notices for contextual feedback. The structure stays the same; only the variant changes. Dismiss buttons are wired by app.js.

.la-notice + variant

General information or a neutral reminder.
An action failed or is blocked.

Toast and modal

Toasts stack at the edge of the viewport for temporary feedback. Modals block interaction until the user responds. Both use the notice structure internally.

.la-toast-stack

Saved successfully.
Background job started.

Demo

Toasts stack in the bottom-right corner and close automatically after 4 seconds. Use dismiss to remove one early.

.la-modal-backdrop .la-modal

Confirm action

Use a modal when the user must confirm an important action before continuing.

Alerts

Page-level alerts are for significant conditions. Warning is for recoverable issues. Danger is for destructive or irreversible actions. The structure stays the same; only the variant changes. Use this sparingly.

.la-alert.la-alert-warning

Warning alert

This change may affect existing records. Review it before continuing.

.la-alert.la-alert-danger

Danger alert

Deleting this record will remove all linked data and cannot be undone.

Status dots

Small color indicators used alongside text labels. Pair with .la-status to maintain consistent alignment and gap.

.la-dot + variant

Brand Info Success Warning Error Disabled

Badges and scope

Badges label a record's category or standing. Scope labels show data visibility boundaries.

.la-badge + variant

2026 Average Platform Needs review

.la-scope-notice

This content is scoped to a selected department or domain.