/* ============================================================
   Empty stub — placeholder page for routes that aren't built yet.

   Centered orange mark + display title + sub + optional reference
   chips. Differs from a real empty state (`No transactions yet`)
   because it explicitly signals "this page is a stub, not blank".

   Anatomy:
     .empty-stub                          (centered 70vh min)
       .empty-stub__inner                 (max 460 stack)
         .empty-stub__mark                (56×56 orange chip · big letter)
         .empty-stub__title               (display 28 / 500)
         .empty-stub__sub                 (muted prose)
         .empty-stub__refs                (wrap of static chips · optional)
   ============================================================ */
.empty-stub {
  display: grid;
  place-items: center;
  min-height: 70vh;
  text-align: center;
  padding: var(--sp-40);
}
.empty-stub__inner {
  max-width: 460px;
  display: flex;
  flex-direction: column;
  gap: var(--sp-12);
  align-items: center;
}
.empty-stub__mark {
  width: 56px; height: 56px;
  border-radius: var(--radius-md);
  background: var(--primary);
  color: var(--primary-foreground);
  display: grid; place-items: center;
  font-family: var(--font-display);
  font-size: var(--fs-24);
  font-weight: var(--fw-regular);
}
.empty-stub__title {
  font-family: var(--font-display);
  font-size: var(--fs-28);
  font-weight: var(--fw-regular);
  letter-spacing: -0.5px;
  margin: 0;
}
.empty-stub__sub { color: var(--foreground-muted); margin: 0; }
.empty-stub__refs {
  margin-top: var(--sp-12);
  display: flex; flex-wrap: wrap; gap: var(--sp-6);
  justify-content: center;
}
