.membership-roster,.membership-roster *{box-sizing:border-box;min-width:0;max-width:100%}
.membership-roster{margin:1.5rem 0;padding:1rem;border:1px solid var(--line,#805d45);border-radius:1rem;overflow-wrap:anywhere}
.membership-roster>summary{font-weight:750;font-size:1.15rem;cursor:pointer;min-height:44px;line-height:1.5}
.membership-roster p{line-height:1.55;margin:.65rem 0}
.membership-roster-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.8rem;margin:1rem 0}
.membership-roster-controls label{flex:1 1 14rem;display:flex;flex-direction:column;gap:.45rem}
.membership-roster-controls input,.membership-roster-controls select{display:block;width:100%;max-width:100%;min-width:0;min-height:44px;font:inherit}
.membership-roster button{min-height:44px;white-space:normal;line-height:1.4;overflow-wrap:anywhere}
.membership-roster-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0}
.membership-roster-row{padding:1.1rem 0;border-top:1px solid var(--line,#805d45)}
.membership-roster-row h4{font-size:1.15rem;margin:.3rem 0 .7rem;line-height:1.4}
.membership-roster-row h5{font-size:1rem;margin:1rem 0 .5rem;line-height:1.45}
.membership-roster-basis{font-weight:700;color:var(--amber,#ecc09c)}
.membership-roster-row details{margin-top:1rem}
.membership-roster-row summary{min-height:44px;cursor:pointer;line-height:1.5}
.membership-roster-exceptions{padding:.8rem 1rem;margin:1rem 0;border-left:3px solid var(--amber,#ecc09c);background:rgba(230,174,119,.06)}
.membership-roster-order{padding:.3rem 0 .6rem;border-bottom:1px solid var(--line,#805d45)}
.membership-roster-status{font-size:.95rem}
@media(max-width:540px){.membership-roster{padding:.85rem}.membership-roster-controls>*{flex:1 1 100%;width:100%}.membership-roster-actions>*{flex:1 1 100%;width:100%}.membership-roster-exceptions{padding:.6rem .75rem}}
