.membership-modal{width:min(620px,calc(100% - 28px));max-height:88svh;overflow:auto}
.member-tabs{display:flex;gap:4px;border-bottom:1px solid #d7dfe6;margin:20px 0 18px;flex-wrap:wrap}
.member-tabs button{background:none;padding:11px 14px;font-size:12px;color:#6d7c8d;border-bottom:2px solid transparent}
.member-tabs button.active{border-color:#506781;color:#26384b;font-weight:600}
.identity-options{border:0;padding:0;margin:18px 0;display:flex;gap:12px;flex-wrap:wrap}
.identity-options legend{font-size:12px;margin-bottom:8px}.identity-options label,.consent{display:flex!important;align-items:center;gap:7px;margin:0!important;font-size:11px!important}
.identity-options input,.consent input{width:15px;height:15px;flex-shrink:0}.consent{align-items:flex-start!important;line-height:1.8}
.member-message{min-height:20px;color:#9c423c!important;font-size:12px!important;overflow-wrap:anywhere}
.primary:disabled{cursor:wait;opacity:.5}.member-summary{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;background:linear-gradient(125deg,#dce8e7,#d2d9e4,#ebe2ea);padding:22px;border-radius:6px}
.member-summary h3{margin:12px 0;font-size:22px}.member-summary span,.member-summary small{display:block;font-size:11px;line-height:1.8}.member-summary small{color:#6a798a;margin-top:8px}.member-summary button{background:none;font-size:11px;white-space:nowrap}
.member-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:22px 0;text-align:center}.member-stats>div+div{border-left:1px solid #e0e4e8}.member-stats strong{display:block;font-size:26px;font-weight:500}.member-stats span{display:block;font-size:11px;color:#6f7d8d;margin-top:6px}
.benefit-row{padding:18px 0;border-bottom:1px solid #e0e4e8;display:grid;grid-template-columns:1fr auto;gap:12px}.benefit-row strong{font-size:14px;font-weight:500}.benefit-row small{display:block;font-size:10px;color:#7a8591;line-height:1.8;margin-top:5px}.benefit-status{font-size:11px;color:#62778e}.code-button{background:#e7edf2;padding:10px 14px;border-radius:4px;font-size:12px;justify-self:start}
.ledger-row{display:grid;gap:6px;padding:16px 0;border-bottom:1px solid #e0e4e8;font-size:12px}.ledger-row strong{font-weight:500}.ledger-row small{color:#7d8792}
.benefit-qr{display:flex;justify-content:center;margin:24px auto;background:white;padding:12px;width:200px;min-height:200px}.benefit-qr img{display:block}.member-detail{min-height:100px}
.staff-page{max-width:900px;margin:0 auto;padding:36px 24px 80px}.staff-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px}.staff-header h1{font-size:24px;margin:0}.staff-header a{font-size:12px}.staff-page form{margin:20px 0}.staff-page input,.staff-page textarea{font:inherit;font-size:13px;width:100%;padding:12px;border:1px solid #cad2dc;border-radius:4px;background:#fafbfd}.staff-page label{display:block;font-size:12px;margin:15px 0 6px}.staff-page button{font-size:12px}.staff-section{border-top:1px solid #d1d9e1;padding-top:22px;margin-top:26px}.staff-section h2{font-size:18px}.staff-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.staff-page .notice{line-height:1.8}.staff-page .primary{margin-top:15px;background:#293642;color:white}.staff-member-details{margin-top:28px}.staff-page .member-summary{margin-top:20px}.staff-page [hidden]{display:none}
body.dark .member-summary{background:#242424;color:#ededed}
body.dark .member-summary small,body.dark .member-stats span,body.dark .benefit-row small,body.dark .benefit-status,body.dark .ledger-row small{color:#aaaaaa}
body.dark .member-tabs,body.dark .member-tabs button.active,body.dark .benefit-row,body.dark .ledger-row,body.dark .member-stats>div+div{border-color:#444444}
body.dark .member-tabs button{color:#aaaaaa}
body.dark .member-tabs button.active{color:#ededed}
body.dark .code-button{background:#303030;color:#ededed}
body.dark dialog .primary{background:#ededed;color:#171717}
@media(max-width:600px){.member-tabs button{padding:10px;font-size:11px}.membership-modal{padding:28px 20px}.member-summary{padding:17px}.staff-grid{grid-template-columns:1fr;gap:0}.member-summary h3{overflow-wrap:anywhere}.member-stats strong{font-size:23px}}
