/* ── Empty & Loader ─────────────────────────────────────────────────── */
.empty {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 14px; padding: 80px 24px; color: var(--muted); text-align: center;
}
.empty-icon { font-size: 52px; opacity: .35; }
.empty h3 { font-size: 18px; font-weight: 600; color: var(--text2); letter-spacing: -0.3px; }
.empty p { font-size: 13px; max-width: 280px; line-height: 1.6; }

.no-data-banner {
  background: rgba(255,214,10,0.08);
  border: 1px solid rgba(255,214,10,0.22);
  border-radius: var(--r-md);
  padding: 14px 18px; margin-bottom: 18px;
  display: flex; gap: 12px; align-items: flex-start;
  backdrop-filter: blur(8px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.10);
}
.no-data-banner-icon { font-size: 20px; flex-shrink: 0; }
.no-data-banner h4 { font-size: 13.5px; font-weight: 600; color: var(--warning); margin-bottom: 4px; }
.no-data-banner p { font-size: 12.5px; color: var(--muted); line-height: 1.55; }

/* ── Toast ──────────────────────────────────────────────────────────── */
.toast-wrap { position: fixed; bottom: 24px; right: 24px; display: flex; flex-direction: column; gap: 8px; z-index: 9999; pointer-events: none; }
.toast {
  background: rgba(20, 15, 40, 0.80);
  backdrop-filter: blur(32px) saturate(200%);
  border: 1px solid var(--border-std);
  border-radius: var(--r-md);
  padding: 12px 20px; font-size: 13px;
  opacity: 0; transform: translateY(14px) scale(0.95);
  transition: all .28s cubic-bezier(.34,1.56,.64,1);
  pointer-events: auto;
  box-shadow: var(--shadow-glass);
}
.toast.show { opacity: 1; transform: none; }
.toast.success { border-color: rgba(48,209,88,0.35); color: var(--success); }
.toast.error   { border-color: rgba(255,69,58,0.35);  color: var(--danger); }

/* ── Spinner ────────────────────────────────────────────────────────── */
.loader { display: flex; align-items: center; gap: 10px; color: var(--muted); padding: 50px 0; justify-content: center; }
.spinner {
  width: 20px; height: 20px;
  border: 2px solid rgba(255,255,255,0.12);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: spin .75s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

