.directory-grid,.organization-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:24px 0}
.directory-grid{grid-auto-rows:minmax(320px,auto)}
.directory-card,.organization-card,.member-detail{background:#fff;border:1px solid #a0afc3;border-radius:16px;padding:24px;overflow-wrap:anywhere;min-width:0}
.directory-card{display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-rows:minmax(72px,1fr) 60px;gap:16px;align-items:start}
.directory-card h2,.organization-card h2{font-family:Sora,sans-serif;font-size:1.1rem;line-height:1.5;margin:0 0 8px}
.directory-card p{margin:0 0 8px}.member-photo{width:72px;height:72px;object-fit:cover;border-radius:50%;background:#eaf1fc;flex-shrink:0}
.member-initials{display:flex;align-items:center;justify-content:center;color:#0b2b58;font-family:Sora,sans-serif;font-weight:700;font-size:1.4rem}
.member-photo.detail{width:128px;height:128px}.organization-logo{width:80px;height:80px;object-fit:contain;background:#fff}.directory-card .organization-logo{grid-column:2;width:60px;height:60px}
.member-detail-heading{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.member-detail-heading h2{font-size:2rem;margin:0}.member-detail-heading .organization-brand{margin-left:auto}
.organization-brand{display:inline-grid;width:80px;height:80px;flex:0 0 80px;align-items:center;justify-items:center}
.organization-brand>.institution-member-initials,.organization-brand>img{grid-area:1/1;width:80px;height:80px;min-width:80px;max-width:80px;max-height:80px;margin:0;object-fit:contain;flex:none;border-radius:6px}
.organization-brand>.institution-member-initials{font-size:1.3rem}
.directory-card .organization-brand{grid-column:2;align-self:end;width:60px;height:60px}
.directory-card .organization-brand>.institution-member-initials,.directory-card .organization-brand>img{width:60px;height:60px;min-width:60px;max-width:60px;max-height:60px}
.directory-card>img.member-photo,.directory-card>span.member-photo{width:72px;height:72px;min-width:72px;max-width:72px;max-height:72px;object-fit:cover}
.member-detail h3{font-size:1.2rem;margin-top:28px}.member-facts{display:flex;gap:24px;flex-wrap:wrap}.member-facts dt{font-weight:700}.member-facts dd{margin:6px 0;overflow-wrap:anywhere}.member-bio{white-space:pre-wrap;line-height:1.8}
.interest-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:12px}.interest-list li{background:#eaf1fc;border-radius:10px;padding:14px}.interest-list p{margin:6px 0 0}
.directory-profile-panel{margin-top:32px}.profile-photo-editor{display:flex;align-items:start;gap:24px;margin:24px 0}.profile-photo-editor .stack{flex:1;min-width:0}
.directory-profile-panel details>.stack{padding-top:20px}.file-download{margin-top:12px}.file-download [data-download-status]{margin:8px 0 0;min-height:1.4em}
.organization-card ul{padding-left:20px}.organization-card li{padding:5px 0}.organization-card a{display:inline-flex;align-items:center;min-height:44px}
.organization-logo.logo-on-dark{background:#102749;padding:6px;border-radius:8px}
@media(max-width:1100px){.directory-grid,.organization-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.directory-grid,.organization-grid{grid-template-columns:1fr}.directory-grid{grid-auto-rows:auto}.member-detail{padding:20px}.member-detail-heading{gap:16px}.member-detail-heading h2{font-size:1.5rem}.member-photo.detail{width:96px;height:96px}.profile-photo-editor{flex-direction:column}.directory-card{padding:20px;grid-template-columns:64px minmax(0,1fr)}.directory-card>img.member-photo,.directory-card>span.member-photo{width:64px;height:64px;min-width:64px;max-width:64px;max-height:64px}.directory-profile-panel input[type=file]{width:100%}}

.contact-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.member-account-actions { flex-wrap:wrap; flex-shrink:1; justify-content:flex-end; max-width:55%; }
.member-role-control { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.member-role-control select { width:auto; max-width:100%; min-width:0; padding:9px; border:1px solid var(--border,#cbd6e2); border-radius:8px; font:inherit; color:var(--ink,#102749); background:white; }
.admin-row [data-institution-member-branding] { min-width:0; flex:1; }
.admin-member-text { min-width:0; overflow-wrap:anywhere; }
@media(max-width:1000px){#admin-members-list .admin-row { align-items:flex-start; flex-direction:column; } .member-account-actions { max-width:100%; justify-content:flex-start; } }
