/* ---------- Empty / loading states ---------- */
.empty-state { text-align: center; padding: 3rem 1rem; color: var(--em-muted); }
.empty-state .bi { font-size: 2.5rem; color: #b9c0d6; display: block; margin-bottom: .5rem; }
.skeleton { background: linear-gradient(90deg, #eef0f6 25%, #f6f7fb 50%, #eef0f6 75%); background-size: 200% 100%; animation: shimmer 1.2s infinite; border-radius: 8px; height: 14px; }
@keyframes shimmer { to { background-position: -200% 0; } }
.global-loader { position: fixed; inset: 0; z-index: 2000; display: none; place-items: center; background: rgba(244, 246, 251, .55); }
.global-loader.show { display: grid; }
