/* Global styles for attendee directory rows created by client-side JavaScript. */
.people{display:grid;gap:.8rem}
.person-card{background:#fff;border:1px solid #dddeda;border-radius:20px;overflow:hidden;box-shadow:0 3px 18px rgba(20,25,22,.025);transition:.25s}
.person-card.open{border-color:#cfd2cd;box-shadow:0 18px 50px rgba(20,25,22,.09)}
.person-summary{width:100%;border:0;background:#fff;display:grid;grid-template-columns:50px minmax(0,1fr) 115px 110px 24px;gap:1.1rem;align-items:center;padding:1.05rem 1.25rem;text-align:left;color:inherit;font:inherit;cursor:pointer}
.person-summary:hover{background:#fdfdfb}
.avatar,.large-avatar{display:grid;place-items:center;background:#eeece7;color:#454b47;font-weight:800}
.avatar{width:50px;height:50px;border-radius:15px;font-size:.82rem}
.person-name{min-width:0;display:grid;gap:.25rem}
.person-name strong{font-size:.94rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.person-name small{font-size:.74rem;color:#858b86;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.registrations{border-left:1px solid #e5e6e2;padding-left:1rem;display:grid;gap:.08rem}
.registrations b{font-size:.88rem}.registrations small{font-size:.65rem;color:#8b918c}
.email-status{justify-content:center;display:flex;align-items:center;gap:.4rem;border-radius:999px;background:#edf4ee;color:#4d6752;padding:.45rem .5rem;font-size:.64rem;font-weight:700}
.email-status.off{background:#f5eded;color:#795656}.email-status i{width:6px;height:6px;border-radius:50%;background:currentColor}
.arrow{color:#969b96;font-size:1.1rem;text-align:center;transition:.2s}.person-card.open .arrow{transform:rotate(180deg)}
.person-detail{border-top:1px solid #e2e3df;background:#f5f5f2;padding:1.5rem}
.profile-top{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:.1rem .15rem 1.5rem}
.identity{display:flex;align-items:center;gap:1rem}.large-avatar{width:62px;height:62px;border-radius:18px;font-size:.95rem}
.identity h2{margin:.2rem 0 .25rem;font-size:1.4rem;letter-spacing:-.035em}.identity p{margin:0;color:#858b86;font-size:.7rem}
.identity em{font-style:normal;padding:0 .25rem;color:#b0b4b0}.profile-actions{display:flex;gap:.55rem}
.button.soft{background:#fff;border:1px solid #d8dad6;color:#303632}.button.soft:hover{background:#f0f0ec}
.profile-layout{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.profile-section{background:#fff;border:1px solid #e0e1dd;border-radius:17px;padding:1.25rem 1.3rem}
.profile-section header{display:flex;align-items:center;gap:.8rem;margin-bottom:1.2rem}.section-index{font-size:.62rem;font-weight:900;letter-spacing:.1em;color:#9a9f9a}
.profile-section h3{margin:0 0 .18rem;font-size:.86rem}.profile-section header p{margin:0;color:#929791;font-size:.67rem}
.data-list{border-top:1px solid #e9eae7}.data-row{display:grid;grid-template-columns:145px minmax(0,1fr);gap:1rem;padding:.78rem 0;border-bottom:1px solid #e9eae7;align-items:baseline}.data-row:last-child{border-bottom:0}
.data-row span,.story>span{font-size:.61rem;text-transform:uppercase;letter-spacing:.065em;font-weight:800;color:#929791}.data-row strong{font-size:.79rem;line-height:1.5;font-weight:600;color:#303632;overflow-wrap:anywhere}
.empty{font-size:.75rem!important;font-weight:500!important;color:#b0b4b0!important;font-style:italic}.journey-section{grid-column:1/-1}
.story-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #e9eae7}.story{padding:1rem 1rem 0 0}.story+.story{border-left:1px solid #e9eae7;padding-left:1rem}
.story p{margin:.45rem 0 0;font-size:.79rem;line-height:1.7;color:#3d433f;white-space:pre-wrap}
.preference{grid-column:1/-1;background:#fff;border:1px solid #e0e1dd;border-radius:17px;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.preference-main{display:flex;align-items:center;gap:.8rem}.preference-icon{width:38px;height:38px;border-radius:12px;background:#f0efeb;display:grid;place-items:center;font-size:.78rem}
.preference strong{display:block;font-size:.77rem}.preference p{margin:.18rem 0 0;font-size:.66rem;color:#8b918c}.preference-pill{font-size:.62rem;font-weight:800;border-radius:999px;padding:.42rem .65rem;background:#edf4ee;color:#4d6752}.preference-pill.off{background:#f5eded;color:#795656}
.loading,.empty-state{text-align:center;padding:5rem 1rem;color:#8b918c}.empty-state{display:grid;gap:.3rem}.empty-state strong{color:#303632}
@media(max-width:900px){.directory-bar{align-items:stretch;flex-direction:column}.stats div{flex:1}.person-summary{grid-template-columns:48px minmax(0,1fr) 24px}.registrations,.email-status{display:none}.profile-top{align-items:flex-start;flex-direction:column}.profile-actions{width:100%}.profile-actions .button{flex:1}.profile-layout{grid-template-columns:1fr}.journey-section,.preference{grid-column:auto}.story-list{grid-template-columns:1fr}.story{padding:1rem 0}.story+.story{border-left:0;border-top:1px solid #e9eae7;padding-left:0}.data-row{grid-template-columns:125px minmax(0,1fr)}}
@media(max-width:640px){.person-summary{padding:.85rem}.person-detail{padding:1rem}.identity h2{font-size:1.15rem}.profile-actions{flex-direction:column}.data-row{grid-template-columns:1fr;gap:.25rem}}
