.empty-state-card,
.empty-state-panel {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:220px;
  padding:28px;
  text-align:center;
  border:1px dashed rgba(99,102,241,.25);
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(248,250,252,.94));
  box-shadow:0 24px 60px rgba(15,23,42,.08);
}
.empty-state-icon {
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:radial-gradient(circle at top, rgba(99,102,241,.18), rgba(59,130,246,.08));
  color:#3730a3;
  font-size:1.9rem;
}
.modal-backdrop.show {
  backdrop-filter: blur(8px);
  background:rgba(15,23,42,.42);
}
body.modal-open {
  overflow:hidden;
  padding-right:0 !important;
}
.app-card.is-loading {
  position:relative;
  overflow:hidden;
}
.app-card.is-loading::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
  transform:translateX(-100%);
  animation:phase12Shimmer 1.5s infinite;
}
.phase12-qa-pill {
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:999px;
  padding:8px 14px;
  background:rgba(16,185,129,.12);
  color:#065f46;
  font-weight:700;
}
@keyframes phase12Shimmer {
  100% { transform:translateX(100%); }
}
@media (max-width: 767.98px) {
  .empty-state-card,
  .empty-state-panel {
    min-height:180px;
    border-radius:22px;
    padding:22px 16px;
  }
}
