/* Echo UI: status and feedback. */
.ui-alert { margin-top: var(--ui-space-5); padding: var(--ui-space-6); border: 1px solid var(--ui-color-border-strong); border-radius: var(--ui-radius); background: var(--ui-color-surface-raised); box-shadow: var(--ui-shadow-control); }
.ui-alert--info { border-color: rgba(59, 130, 246, .45); background: rgba(59, 130, 246, .10); }
.ui-alert--success { border-color: rgba(34, 197, 94, .45); background: rgba(34, 197, 94, .10); }
.ui-alert--warning { border-color: rgba(245, 158, 11, .45); background: rgba(245, 158, 11, .12); }
.ui-alert--danger { border-color: rgba(239, 68, 68, .5); background: rgba(239, 68, 68, .12); }
.ui-badge,
.ui-pill { display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--ui-color-border-strong); border-radius: 999px; background: var(--ui-color-surface-muted); color: var(--ui-color-text); font-family: var(--ui-font-heading); font-size: var(--ui-font-size-caption); line-height: var(--ui-line-height-snug); white-space: nowrap; }
.ui-badge { padding: 4px 9px; box-shadow: 0 1px 1px rgba(8, 16, 49, .07); }
.ui-pill { padding: 6px 10px; color: var(--ui-color-text-muted-strong); }
.ui-badge--info { border-color: rgba(59, 130, 246, .45); background: rgba(59, 130, 246, .10); }
.ui-badge--success { border-color: rgba(34, 197, 94, .45); background: rgba(34, 197, 94, .10); }
.ui-badge--warning { border-color: rgba(245, 158, 11, .45); background: rgba(245, 158, 11, .12); }
.ui-badge--danger { border-color: rgba(239, 68, 68, .5); background: rgba(239, 68, 68, .12); }
.ui-badge--muted { color: var(--ui-color-text-muted); background: rgba(148, 163, 184, .10); }
.ui-badge__dot { width: 8px; height: 8px; border-radius: 999px; background: var(--badge-color, var(--ui-color-text-muted)); }
.badge-color--neutral { --badge-color: var(--ui-color-text-muted); }
.badge-color--green { --badge-color: green; }
.badge-color--red { --badge-color: red; }
.badge-color--darkorange { --badge-color: darkorange; }
.badge-color--goldenrod { --badge-color: goldenrod; }
.badge-color--royalblue { --badge-color: royalblue; }
.badge-color--purple { --badge-color: purple; }
.badge-color--neutral-dark { --badge-color: #555; }
.badge-color--gray { --badge-color: #6b7280; }
.badge-color--deep-red { --badge-color: #7f1d1d; }
.badge-color--violet { --badge-color: #7c3aed; }
.badge-color--slate { --badge-color: #97aab3; }
.badge-color--info-soft { --badge-color: #7499ff; }
.badge-color--warning-soft { --badge-color: #ffc859; }
.badge-color--average { --badge-color: #ffa059; }
.badge-color--high { --badge-color: #e97659; }
.badge-color--disaster { --badge-color: #e45959; }
.badge-color--critical { --badge-color: #ef4444; }
.badge-color--ok { --badge-color: #16a34a; }
.badge-color--warning { --badge-color: #f59e0b; }
.badge-color--blue { --badge-color: #1f6feb; }
.badge-color--active { --badge-color: #2ecc71; }
.badge-color--amber-dark { --badge-color: #b45309; }
.badge-color--cyan-dark { --badge-color: #0369a1; }
.badge-color--telemetry { --badge-color: #0ea5e9; }
.badge-color--muted { --badge-color: #9aa4b2; }
.badge-color--wireless { --badge-color: #00a4e4; }
.ui-empty-state { color: var(--ui-color-text-muted); font-size: var(--ui-font-size-secondary); line-height: var(--ui-line-height-normal); padding: var(--ui-space-5) 0; }
.ui-toast { border: 1px solid var(--ui-color-border-strong); border-radius: var(--ui-radius-sm); background: var(--ui-color-surface); box-shadow: var(--ui-shadow-soft); padding: var(--ui-space-5) var(--ui-space-6); }
