/* ═══════════════════════════════════════════════════════════════════
   Pages: Family Dashboard
   ═══════════════════════════════════════════════════════════════════ */

.fy-family-layout {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap: var(--fluid-grid-gap);
}

.fy-family-layout.is-empty { grid-template-columns: minmax(0, 760px); }
.fy-family-layout.is-demo { grid-template-columns: minmax(240px, 280px) minmax(0, 1fr); align-items: start; }

.fy-elder-list { display: grid; gap: 12px; align-content: start; }

.fy-elder-list article {
  padding: 18px;
  border: 1px solid rgba(23, 37, 56, 0.12);
  border-radius: var(--radius-l);
  background: var(--surface);
  box-shadow: var(--shadow-card);
}

.fy-elder-list article.active {
  border-color: var(--primary-300);
  background: var(--primary-050);
}

.fy-elder-list strong,
.fy-elder-list span { display: block; }

.fy-elder-list span { margin-top: 4px; color: var(--color-ink-soft); }

.fy-family-main { display: grid; gap: 16px; }
.fy-family-empty { max-width: 760px; }

.fy-alert-card { border-color: var(--primary-200); }
.fy-demo-task-card > p { margin: 0 0 14px; color: var(--color-ink-soft); line-height: 1.55; }
.fy-demo-task-card input[disabled] { cursor: not-allowed; opacity: .7; }

/* Responsive */
@media (max-width: 940px) {
  .fy-family-layout { grid-template-columns: 1fr; }
}
