.member-filters {
  display: grid;
  grid-template-columns: minmax(220px, 2fr) repeat(6, minmax(110px, 1fr)) auto;
  align-items: end;
  gap: 10px;
  margin-top: 22px;
  padding: 16px;
  border-radius: 14px;
  background: #f1f4f1;
}
.admin-stats { display: grid; grid-template-columns: repeat(5,minmax(110px,1fr)); gap: 10px; margin-top: 20px; }
.admin-stats article { display: grid; gap: 4px; padding: 16px; border-radius: 13px; background: #edf3ef; }
.admin-stats strong { font-size: 1.55rem; color: #173f2f; }
.admin-stats span { color: #66736b; font-size: .75rem; }
.admin-stats .admin-stats-wide { grid-column: span 2; }
.admin-stats .admin-stats-wide strong { font-size: .92rem; }
.admin-tools { display: flex; justify-content: flex-end; gap: 9px; margin-top: 12px; }
.button-link { display: inline-flex; align-items: center; padding: 9px 13px; border-radius: 9px; background: #173f2f; color: #fff; text-decoration: none; font-size: .82rem; }
.member-filters label { margin: 0; font-size: .76rem; color: #59665f; }
.member-filters select { min-width: 0; padding: 10px; border: 1px solid #c9cec9; border-radius: 9px; background: #fff; font: inherit; }
.member-admin-summary,.member-batch { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.member-admin-summary { justify-content: space-between; }
.member-batch { padding: 12px 14px; border: 1px solid #bad2c5; border-radius: 12px; background: #e9f4ee; }
.member-batch select { padding: 9px; border: 1px solid #aac4b6; border-radius: 9px; background: #fff; }
.member-select-all { display: flex!important; grid-template-columns: auto 1fr!important; align-items: center; width: max-content; margin: 16px 0 0!important; font-size: .82rem; }
.member-select-all input,.member-select input { width: auto; }
.member-row { grid-template-columns: 30px minmax(210px,1fr) repeat(3,120px) auto; }
.member-select { align-self: center; margin: 0!important; }
.member-usage { color: #47705c; font-size: .72rem; }
.member-pagination { display: flex; justify-content: center; gap: 7px; margin-top: 18px; }
.member-pagination button { min-width: 38px; padding: 8px; }
.member-pagination button.active { background: #163c2d; color: #fff; }
.member-identity { cursor: pointer; }
.member-identity:focus-visible { outline: 2px solid #17704b; outline-offset: 4px; border-radius: 6px; }
.audit-panel { margin-top: 30px; padding-top: 24px; border-top: 1px solid #d8ddd8; }
.audit-panel > div:first-child { display: inline-block; }
.audit-panel > button { float: right; }
.audit-list { clear: both; display: grid; gap: 10px; padding-top: 14px; }
.audit-list article { padding: 14px 16px; border: 1px solid #d9dfda; border-radius: 12px; background: #fafbf9; }
.audit-list article > div { display: flex; justify-content: space-between; gap: 12px; }
.audit-list article p { margin: 7px 0; color: #617067; font-size: .78rem; }
.audit-list pre { overflow: auto; max-height: 260px; padding: 12px; border-radius: 8px; background: #17231d; color: #ecf6ef; font-size: .72rem; }
.oauth-panel { margin-top: 30px; padding-top: 24px; border-top: 1px solid #d8ddd8; }
.oauth-panel > div:first-child { display: inline-block; }
.oauth-panel > button { float: right; }
.oauth-summary { clear: both; display: flex; gap: 8px; flex-wrap: wrap; padding-top: 14px; }
.oauth-summary span { padding: 8px 11px; border-radius: 999px; background: #f5e9df; color: #7b3e24; font-size: .76rem; }
.member-detail-dialog { width: min(760px, calc(100vw - 32px)); max-height: 88vh; padding: 30px; border: 0; border-radius: 20px; box-shadow: 0 24px 70px #10261d44; }
.member-detail-dialog::backdrop { background: #13271e99; backdrop-filter: blur(3px); }
.member-detail-close { position: absolute; top: 14px; right: 14px; width: 38px; height: 38px; padding: 0; border-radius: 50%; font-size: 1.5rem; }
.member-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.member-detail-grid div { padding: 12px; border-radius: 10px; background: #f1f4f1; }
.member-detail-grid dt { color: #65736a; font-size: .72rem; }
.member-detail-grid dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.identity-list { padding: 12px 16px; border: 1px solid #d9dfda; border-radius: 10px; }
.session-list { margin-top: 22px; }
.session-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.session-list article { display: grid; grid-template-columns: 1fr auto; gap: 5px 12px; margin-top: 9px; padding: 12px 14px; border: 1px solid #d9dfda; border-radius: 10px; }
.session-list article small { color: #68736d; overflow-wrap: anywhere; }
.session-list article button { grid-column: 2; grid-row: 1 / span 2; }
.member-metadata-form { display: grid; gap: 12px; margin-top: 22px; }
.member-metadata-form textarea { resize: vertical; }
.security-panel,.plan-history { margin-top: 22px; }
.plan-history p { padding: 9px 12px; border-left: 3px solid #85ad98; background: #f4f7f4; font-size: .78rem; }
@media(max-width:1100px){.member-filters{grid-template-columns:repeat(3,1fr)}.member-row{grid-template-columns:30px repeat(3,1fr)}.member-identity{grid-column:2/-1}.member-row>button{grid-column:2/-1}}
@media(max-width:620px){.member-filters{grid-template-columns:1fr}.member-row{grid-template-columns:28px 1fr}.member-identity,.member-row label:not(.member-select),.member-row>button{grid-column:2}.member-batch{align-items:stretch;flex-direction:column}.member-batch button,.member-batch select{width:100%}.member-detail-grid{grid-template-columns:1fr}.member-detail-dialog{padding:24px 18px}.audit-panel>button{float:none;margin-top:8px}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-stats .admin-stats-wide{grid-column:span 2}.admin-tools{justify-content:stretch}.admin-tools>*{flex:1;justify-content:center}}
body.admin-auth-pending>header,body.admin-auth-pending>main{visibility:hidden}
.admin-create-panel { margin-top: 24px; }
.admin-create-form { margin: 0; padding: 20px; border: 1px solid #cfe0d4; border-radius: 14px; background: #f4f8f4; }
.admin-create-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.admin-create-heading h3 { margin: .25rem 0 0; font-size: 1.25rem; }
.admin-create-heading p:last-child { max-width: 310px; margin: 0; color: #65736a; font-size: .82rem; line-height: 1.6; }
.admin-create-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
.admin-create-fields label { margin-bottom: 14px; }
.admin-create-fields select { width: 100%; box-sizing: border-box; border: 1px solid #c9cec9; border-radius: 10px; padding: 12px; background: #fff; font: inherit; }
@media(max-width:720px) { .admin-create-heading { display: block; } .admin-create-heading p:last-child { margin-top: 8px; } }
@media(max-width:520px) { .admin-create-fields { grid-template-columns: 1fr; } }

.member-detail-dialog .member-profile-form,.member-detail-dialog .member-password-form { display:grid; gap:12px; margin-top:22px; padding-top:22px; border-top:1px solid #d8ddd8; }
.member-detail-dialog .member-profile-form h3,.member-detail-dialog .member-password-form h3 { margin:0; font-size:1.25rem; }
.member-profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; }
.member-profile-grid label { min-width:0; }
.member-detail-dialog .member-profile-form input,.member-detail-dialog .member-password-form input,.member-detail-dialog .member-profile-form select,.member-detail-dialog .member-password-form select,.member-detail-dialog .member-profile-form textarea,.member-detail-dialog .member-password-form textarea { width:100%; box-sizing:border-box; padding:11px 12px; border:1px solid #c9cec9; border-radius:9px; background:#fff; font:inherit; color:#15231d; }
.member-detail-dialog .member-profile-form textarea,.member-detail-dialog .member-password-form textarea { resize:vertical; }
.preference-list { display:grid; gap:9px; }
.checkbox-label { display:flex!important; grid-template-columns:none!important; align-items:flex-start; gap:9px!important; margin:0!important; font-weight:600!important; }
.checkbox-label input { width:18px!important; height:18px; margin:1px 0 0; accent-color:#176b4d; }
.member-detail-dialog .member-password-form .account-status-note { margin:0; color:#65736a; font-size:.82rem; line-height:1.6; }
@media(max-width:620px) { .member-profile-grid { grid-template-columns:1fr; } }
