/* Stage C — member directory. Cards reuse .panel (border/radius); this adds layout only. */
.members-page{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--pad-desktop);}
.members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4);margin-top:var(--space-8);}
/* .members-card itself is styled in components.css (shared with the homepage Featured Members strip). */
@media(max-width:600px){.members-page{padding-inline:var(--pad-mobile);}.members-grid{grid-template-columns:1fr;}}

/* filter bar */
.members-filter{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;margin-top:var(--space-6);}
.members-filter__search,.members-filter__role{background:var(--surface-card);border:1px solid var(--border-color);border-radius:var(--radius);padding:var(--space-2) var(--space-3);font-family:var(--font-main);font-size:var(--text-sm);color:var(--text-main);}
.members-filter__search{flex:1;min-width:12rem;}
.members-filter__search:focus,.members-filter__role:focus{outline:none;border-color:var(--primary);}
/* pagination */
.members-pager{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-8);}
.members-pager__link{font-family:var(--font-mono);font-size:var(--label);min-width:2rem;text-align:center;padding:var(--space-1) var(--space-2);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-muted);}
.members-pager__link:hover{border-color:var(--primary);color:var(--primary);text-decoration:none;}
.members-pager__link.current{background:var(--primary);color:var(--on-primary);border-color:var(--primary);}
