/* v3 empty states and placeholder rows (reference §5). Empty: centred in its
   card, title, one line, one action, no illustration. Placeholder rows: grey
   bars in the real layout while a fragment loads; a gentle pulse, none under
   reduced motion (core §8). Macros: core/components/_lg_states.html. */

.lg-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-12) var(--space-6);
  text-align: center;
}
/* Ledger 2 (303): a quiet icon in a soft square above an empty list's sentence. */
.lg-empty__icon {
  display: inline-grid;
  place-items: center;
  inline-size: 3rem;
  block-size: 3rem;
  margin-block-end: var(--space-1);
  border-radius: var(--radius-card);
  background: var(--neutral-tint);
  color: var(--text-muted);
}
.lg-empty__title { margin: 0; font-size: var(--size-card-title); line-height: var(--leading-card-title); font-weight: 600; }
.lg-empty__text { margin: 0; max-width: 32rem; color: var(--text-muted); }
.lg-empty__action { margin-top: var(--space-3); }

.lg-placeholder { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-4) 0; }
.lg-placeholder__row { display: flex; gap: var(--space-4); align-items: center; }
.lg-placeholder__cell {
  flex: 1;
  height: 0.75rem;
  border-radius: var(--radius-pill);
  background: var(--neutral-tint);
}
.lg-placeholder__cell:first-child { flex: 2; }
.lg-placeholder__row:nth-child(3n + 2) .lg-placeholder__cell:first-child { flex: 1.5; }
.lg-placeholder__row:nth-child(3n) .lg-placeholder__cell:last-child { flex: 0.6; }
@media (prefers-reduced-motion: no-preference) {
  .lg-placeholder { animation: lg-pulse 1.6s ease-in-out infinite; }
}
@keyframes lg-pulse { 50% { opacity: 0.55; } }
