.member-login-main{max-width:720px;min-height:calc(100vh - 200px)}
.member-login-main .event-panel{margin-bottom:2rem;border-top:3px solid #d20a16}
.member-mail-panel{margin-top:2rem;border-top:3px solid #d20a16}
.member-mail-panel textarea{font:inherit;width:100%;padding:1rem;border:1px solid #75797f;resize:vertical;line-height:1.6}
.member-logout{background:none;border:0;padding:0;color:#fff;font:inherit;text-decoration:underline;cursor:pointer}
#access-state{margin-bottom:2rem}#login-link{margin:1rem 0}#login-status,#save-status,#access-message{font-weight:700}
.event-panel label:not(.event-check){display:block;font-weight:700;margin:.8rem 0}
button:disabled{opacity:.5;cursor:not-allowed}
.member-setup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1rem;margin:1rem 0}.member-setup-card{background:#f4f5f7;border:1px solid #d3d7de;border-left:3px solid #b31929;padding:1.2rem;min-width:0;overflow-wrap:anywhere}.member-setup-card h3{margin:.3rem 0;font-size:1.2rem}.member-setup-card .admin-actions{display:flex;flex-wrap:wrap;gap:.6rem}.member-setup-card button,.member-setup-card a{font-size:.8rem;white-space:normal;text-align:center}.member-library{margin-bottom:1.5rem}.member-library select{max-width:320px}.event-panel[hidden]{display:none!important}.member-login-main details summary{cursor:pointer;font-weight:700}.member-login-main input:not([type=checkbox]),#member-password-panel input{width:100%;padding:.75rem;border:1px solid #7c818b;font:inherit;box-sizing:border-box}.member-login-main .event-button{margin-top:1rem}.member-setup-card p{line-height:1.5}
.roster-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.roster-panel input:not([type=file]),.roster-panel select,#roster-filter{width:100%;max-width:680px;padding:.8rem;border:1px solid #7c818b;background:#fff;color:#17202b;font:inherit;box-sizing:border-box}.roster-panel input[type=file]{max-width:100%;font:inherit;margin-bottom:1rem}.roster-panel input[type=file]::file-selector-button{font:inherit;padding:.6rem;margin-right:.8rem;cursor:pointer}.roster-panel [hidden]{display:none!important}.roster-preview-scroll{overflow:auto;max-height:360px;margin:1rem 0}.roster-preview-scroll:empty{display:none}.roster-preview-scroll table{width:100%;border-collapse:collapse;text-align:left;font-size:.95rem}.roster-preview-scroll th{position:sticky;top:0;background:#e9edf2}.roster-preview-scroll td,.roster-preview-scroll th{padding:.65rem;border-bottom:1px solid #d3d7de;overflow-wrap:anywhere}.roster-preview-scroll tr[data-conflict=true]{background:#fff0ec;color:#8a1b13}.roster-warning{border-left:3px solid #ac6800;background:#fff6e5;padding:1rem}.roster-empty{padding:1rem;background:#f4f5f7}#roster-manual-status,#roster-status{font-weight:700}.roster-panel .event-button{margin-top:.5rem}@media(max-width:620px){.roster-form-grid{grid-template-columns:1fr;gap:0}.roster-preview-scroll th,.roster-preview-scroll td{padding:.5rem;font-size:.85rem}}
