.members-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; margin-bottom:18px; }
.members-hero h2 { margin:4px 0 8px; }
.members-hero-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.member-open-summary { grid-column:1/-1; margin:0; padding:10px 12px; border-radius:10px; color:var(--primary); background:rgba(var(--primary-rgb),.1); }
.members-tab-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:0 0 18px; }
.member-tab-button { min-width:0; min-height:44px; justify-content:space-between; gap:8px; text-align:left; }
.members-tab-grid .member-tab-button.active { color:#fff; background:#00813d; border-color:#00813d; }
.members-secondary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:-6px 0 18px; }
.member-secondary-tab-button { min-width:0; min-height:38px; justify-content:center; text-align:center; font-size:.86rem; }
.members-secondary-grid .member-secondary-tab-button.active { color:#fff; background:#00813d; border-color:#00813d; }
.members-tab-grid .member-tab-button.active:hover,.members-secondary-grid .member-secondary-tab-button.active:hover { color:#fff; background:#006e34; border-color:#006e34; }
.member-tab-button:focus-visible,.member-secondary-tab-button:focus-visible { outline:3px solid #00813d; outline-offset:3px; }
.member-count-badge,.member-nav-count { display:inline-flex; align-items:center; justify-content:center; min-width:22px; min-height:22px; padding:2px 7px; border-radius:999px; color:#fff; background:#c53636; font-size:.74rem; font-weight:800; line-height:1; }
.member-nav-count { min-width:18px; min-height:18px; margin-left:7px; padding:2px 5px; vertical-align:middle; }
.member-completeness { display:inline-flex; align-items:center; width:max-content; max-width:100%; padding:3px 8px; border-radius:999px; font-size:.72rem; font-weight:800; white-space:nowrap; }
.member-completeness-complete { color:#0c7c50; background:rgba(15,148,99,.14); }
.member-completeness-review { color:#9d5810; background:rgba(206,133,36,.16); }
.member-completeness-incomplete { color:#a12929; background:rgba(197,54,54,.14); }
.member-completeness-panel { display:grid; gap:6px; margin:14px 0 0; padding:12px 14px; border:1px solid var(--border-color); border-radius:11px; background:rgba(var(--primary-rgb),.045); }
.member-completeness-panel > div { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.member-completeness-panel p { margin:0; color:var(--text-muted); font-size:.82rem; }
.member-completeness-missing { display:grid; gap:3px; margin:2px 0 0; padding-left:19px; color:var(--text-main); font-size:.82rem; }
.member-completeness-ok { color:var(--color-success) !important; }
.members-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px; }
.members-section-heading h3,.member-contributions-panel h4 { margin:0 0 5px; }
.member-year-filter { display:grid; gap:6px; min-width:140px; color:var(--text-muted); font-size:.8rem; }
.member-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 18px; }
.member-summary-grid > div { display:grid; gap:4px; padding:12px 14px; border:1px solid var(--border-color); border-radius:11px; background:rgba(var(--primary-rgb),.05); }
.member-summary-grid span { color:var(--text-muted); font-size:.78rem; }
.member-summary-grid strong { font-size:1.15rem; }
.member-contributions-panel h4 { margin-top:22px; }
.members-filter-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(130px,.7fr) minmax(180px,1fr) auto; align-items:end; gap:12px; margin-bottom:16px; }
.members-filter-grid label { display:grid; gap:6px; font-size:.8rem; color:var(--text-muted); }
.member-master-toolbar { margin:0 0 16px; }
.member-master-toolbar-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:14px; }
.member-master-toolbar .members-filter-grid { grid-template-columns:minmax(0,1.5fr) minmax(130px,.7fr) minmax(160px,1fr) minmax(170px,1fr) minmax(170px,1fr) auto; margin:0; }
.member-master-toolbar-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.member-status { display:inline-flex; align-items:center; width:max-content; max-width:100%; padding:3px 8px; border-radius:999px; color:var(--text-muted); background:rgba(127,127,127,.12); font-size:.78rem; font-weight:700; }
.member-status-open { color:#9d5810; background:rgba(206,133,36,.16); }
.member-status-done { color:#0c7c50; background:rgba(15,148,99,.14); }
.member-image-alert,.member-image-alert-badge { color:#9f1239; background:#fff1f2; }
.member-image-alert { padding:12px; border:1px solid #fda4af; border-radius:10px; }
.member-image-alert-badge { display:inline-block; }
.member-image-alert .member-image-alert-badge { padding:0; }
.member-image-alert dl { display:flex; flex-wrap:wrap; gap:8px 24px; margin:8px 0 0; }
.member-image-alert dt { font-size:.8rem; font-weight:700; }
.member-image-alert dd { margin:0; }
[data-theme="dark"] .member-image-alert,[data-theme="dark"] .member-image-alert-badge { color:#fda4af; background:#3d1721; }
[data-theme="dark"] .member-image-alert { border-color:#9f1239; }
.member-family-grid,.member-document-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.member-family-card,.member-document-card { min-width:0; padding:16px; border:1px solid var(--border-color); border-radius:13px; background:var(--bg-card); overflow-wrap:anywhere; }
.member-family-card h4,.member-document-card h4 { margin:0 0 4px; }
.member-family-card h5 { margin:16px 0 6px; }
.member-family-card ul,.member-document-list { margin:8px 0 0; padding-left:20px; }
.member-document-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:4px 0; }
.member-document-row > span:first-child { min-width:0; overflow-wrap:anywhere; }
.member-document-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.member-document-actions a { overflow-wrap:anywhere; }
.member-detail-dialog { display:grid; grid-template-columns:minmax(0,1fr); min-width:0; max-width:100%; gap:12px; }
.member-detail-actions,.member-review-actions { display:flex; flex-wrap:wrap; gap:8px; min-width:0; max-width:100%; }
#member-review-decision-form > label {
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:16px 0 12px;
  color:var(--text-main);
  font-size:.85rem;
  font-weight:600;
}
#member-review-decision-form textarea[name="note"] {
  display:block;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:112px;
  padding:12px 14px;
  border:1px solid var(--border-color-hover);
  border-radius:12px;
  background:var(--bg-app);
  color:var(--text-main);
  caret-color:var(--primary);
  font:400 1rem/1.5 var(--font-body);
  resize:vertical;
}
#member-review-decision-form textarea[name="note"]:hover { border-color:var(--text-muted); }
#member-review-decision-form textarea[name="note"]:focus {
  border-color:var(--primary);
  outline:2px solid var(--primary);
  outline-offset:2px;
}
.member-detail-block { border:1px solid var(--border-color); border-radius:11px; overflow:hidden; }
.member-detail-block summary { padding:12px 14px; cursor:pointer; font-weight:800; background:rgba(var(--primary-rgb),.06); }
.member-detail-block > .portal-table-wrap,.member-detail-block > .member-document-list,.member-detail-block > p { margin:0; padding:12px 14px; }
.member-permission-note { margin:12px 0 0; padding:10px 12px; border-radius:10px; color:var(--text-muted); background:rgba(127,127,127,.1); }
.member-link-result { display:grid; gap:6px; margin:14px 0; font-size:.82rem; color:var(--text-muted); }
.member-link-result input { width:100%; }
@media (max-width:900px) { .members-tab-grid,.members-secondary-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .member-family-grid,.member-document-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .members-filter-grid,.member-master-toolbar .members-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .member-master-toolbar-row { grid-template-columns:1fr; } .member-master-toolbar-actions { justify-content:flex-start; } }
@media (max-width:640px) { .members-hero { grid-template-columns:1fr; } .members-hero-actions { justify-content:stretch; } .members-hero-actions .btn { flex:1; text-align:center; } .members-tab-grid,.members-secondary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .members-filter-grid,.member-master-toolbar .members-filter-grid,.member-family-grid,.member-document-grid,.member-summary-grid { grid-template-columns:1fr; } .members-section-heading { flex-direction:column; } .member-year-filter { width:100%; } .member-master-toolbar-actions,.member-master-toolbar-actions .btn { width:100%; } }

.member-master-detail-layout { display:grid; grid-template-columns:minmax(250px,.78fr) minmax(0,1.7fr); gap:16px; align-items:start; }
.member-master-detail-layout > .portal-panel { min-width:0; margin:0; }
.member-master-list { display:grid; gap:7px; width:100%; min-width:0; max-width:100%; max-height:70vh; overflow-x:hidden; overflow-y:auto; padding-right:3px; }
.member-master-list-item { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:4px; width:100%; min-width:0; max-width:100%; box-sizing:border-box; padding:12px 15px; border:1px solid var(--border-color); border-radius:8px; color:var(--text-main); background:var(--bg-card); text-align:left; cursor:pointer; }
.member-master-list-item:hover,.member-master-list-item.active { border-color:var(--primary); background:rgba(var(--primary-rgb),.1); }
.member-master-primary,.member-master-secondary { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; min-width:0; max-width:100%; }
.member-master-primary > strong,.member-master-secondary > small:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.member-master-badges { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; flex:0 0 auto; gap:6px; }
.member-master-id { min-width:0; max-width:45%; overflow:hidden; text-overflow:ellipsis; padding:2px 6px; border-radius:4px; color:var(--primary); background:rgba(var(--primary-rgb),.1); font-size:.75rem; font-weight:600; white-space:nowrap; }
.member-master-secondary { color:var(--text-muted); font-size:.8rem; }
.member-master-secondary > small:last-child { flex:0 0 auto; }
.member-master-list-item strong,.member-master-list-item small { overflow-wrap:anywhere; }
.member-master-list-item small { color:var(--text-muted); }
.member-selected-panel { min-height:420px; }
.member-selected-empty { display:grid; place-content:center; min-height:360px; padding:24px; color:var(--text-muted); text-align:center; }
.member-selected-empty h3 { margin:0 0 8px; color:var(--text-main); }
.member-profile-header { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:16px; min-width:0; max-width:100%; padding-bottom:16px; border-bottom:1px solid var(--border-color); }
.member-profile-identity { display:flex; flex:1 1 280px; align-items:center; gap:14px; min-width:0; max-width:100%; }
.member-profile-identity > div { min-width:0; max-width:100%; }
.member-profile-avatar { display:grid; place-items:center; flex:0 0 50px; width:50px; height:50px; border-radius:50%; color:#fff; background:linear-gradient(135deg,var(--primary),var(--primary-hover)); font-weight:800; box-shadow:var(--shadow-sm); }
.member-profile-identity h3 { margin:0; font-size:1.25rem; overflow-wrap:anywhere; }
.member-profile-identity p { margin:4px 0 0; color:var(--text-muted); font-size:.8rem; overflow-wrap:anywhere; word-break:break-word; }
.member-profile-age { color:var(--text-muted); font-size:.88rem; font-weight:400; }
.member-board-badge { display:inline-flex; margin-top:7px; padding:4px 9px; border-radius:999px; color:var(--color-success); background:var(--color-success-bg); font-size:.75rem; font-weight:700; }
.member-season-summary,.member-registration-details { margin-top:16px; padding:16px; border:1px solid var(--border-color); border-radius:12px; background:var(--bg-card); }
.member-season-summary > h4,.member-registration-details > h3 { margin:0 0 12px; color:var(--primary); }
.member-season-record { padding:12px 0; border-top:1px solid var(--border-color); }
.member-season-record:first-of-type { padding-top:0; border-top:0; }
.member-season-record-heading { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.member-season-record-fields,.member-profile-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 18px; margin:12px 0 0; }
.member-season-record-meta { margin:8px 0 0; color:var(--text-muted); font-size:.84rem; }
.member-season-document-list { margin:10px 0 0; padding-left:20px; font-size:.84rem; }
.member-season-document-list a { overflow-wrap:anywhere; }
.member-season-record-fields > div,.member-profile-fields > div { min-width:0; }
.member-season-record-fields dt,.member-profile-fields dt { color:var(--text-muted); font-size:.78rem; }
.member-season-record-fields dd,.member-profile-fields dd { margin:3px 0 0; overflow-wrap:anywhere; white-space:pre-wrap; font-weight:600; }
.member-profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:16px; }
.member-profile-card { min-width:0; padding:15px; border:1px solid var(--border-color); border-radius:11px; background:rgba(var(--primary-rgb),.035); }
.member-profile-card h4 { margin:0 0 10px; color:var(--primary); font-size:.94rem; }
.member-profile-card-wide { grid-column:1 / -1; }
.member-profile-card-compact { min-height:100%; }
.member-profile-note { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.45; }
.member-profile-note.is-empty { color:var(--text-muted); font-style:italic; }
.member-detail-history { margin-top:14px; padding:14px; }
.member-detail-history h4 { margin:0 0 10px; color:var(--primary); }
.member-detail-history h5 { margin:16px 0 8px; color:var(--text-muted); }
.member-detail-history .portal-table-wrap { margin-left:-2px; margin-right:-2px; }
.registration-details-note { color:var(--text-muted); font-size:.8rem; margin:8px 0 14px; }
.registration-data-group { margin-top:14px; padding-top:14px; border-top:1px solid var(--border-color); }
.registration-data-group:first-of-type { margin-top:0; padding-top:0; border-top:0; }
.registration-data-group h4,.member-registration-documents h4 { margin:0 0 9px; color:var(--primary); font-size:.88rem; }
.registration-data-group dl { display:grid; grid-template-columns:minmax(150px,.8fr) minmax(0,1.4fr); gap:8px 16px; margin:0; font-size:.84rem; }
.registration-data-group dt { color:var(--text-muted); }
.registration-data-group dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.registration-original-data { margin-top:14px; border:1px solid var(--border-color); border-radius:9px; overflow:hidden; }
.registration-original-data summary { padding:10px 12px; color:var(--text-main); background:rgba(var(--primary-rgb),.05); cursor:pointer; font-weight:700; }
.registration-original-data .registration-data-group { margin:0; padding:12px; border:0; }
.member-registration-documents { margin-top:14px; padding-top:14px; border-top:1px solid var(--border-color); }
.member-review-card-list { display:grid; gap:10px; }
.member-review-entry { border:1px solid var(--border-color); border-radius:12px; background:var(--bg-card); overflow:hidden; }
.member-review-entry-summary { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:12px; padding:13px 14px; }
.member-review-entry-summary > div { display:grid; gap:4px; min-width:0; }
.member-review-entry-summary small { color:var(--text-muted); overflow-wrap:anywhere; }
.member-review-entry-body { padding:0 14px 14px; border-top:1px solid var(--border-color); }
.member-review-detail-header { padding:14px 0 0; }
.member-review-detail-header h4 { margin:0 0 5px; color:var(--primary); }
.member-review-detail-dialog { display:grid; gap:12px; }
.member-review-detail-dialog > .member-profile-card { margin-top:0; }
.member-review-diff { margin-top:2px; padding:14px; border:1px solid var(--border-color); border-radius:11px; }
.member-review-diff h4 { margin:0 0 10px; color:var(--primary); font-size:.94rem; }
.member-review-diff-grid { display:grid; grid-template-columns:minmax(130px,.8fr) minmax(0,1fr) minmax(0,1fr); gap:0; border:1px solid var(--border-color); border-bottom:0; }
.member-review-diff-grid > strong,
.member-review-diff-row > span { min-width:0; padding:9px; border-right:1px solid var(--border-color); border-bottom:1px solid var(--border-color); overflow-wrap:anywhere; }
.member-review-diff-row { display:contents; }
.member-review-diff-grid > strong:nth-child(3),
.member-review-diff-row > span:last-child { border-right:0; }
.member-review-diff-grid strong { color:var(--text-muted); background:rgba(var(--primary-rgb),.05); font-size:.78rem; }
.member-review-diff-new { background:rgba(15,148,99,.08); }
.member-review-checked-data { display:grid; gap:7px; margin:0 0 14px; padding:12px; border:1px solid var(--border-color); border-radius:10px; }
.member-review-checked-data legend { padding:0 5px; color:var(--primary); font-weight:800; }
.member-review-checked-data label { display:flex; gap:7px; align-items:flex-start; color:var(--text-main); font-size:.84rem; }
.member-review-checked-data label span { color:var(--text-muted); overflow-wrap:anywhere; }
.member-edit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.member-registration-migration-panel { display:grid; gap:15px; margin-top:2px; padding:18px; border:1px solid rgba(var(--primary-rgb),.36); border-radius:14px; background:linear-gradient(145deg,rgba(var(--primary-rgb),.11),rgba(var(--primary-rgb),.035)); box-shadow:var(--shadow-sm); }
.member-registration-migration-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.member-registration-migration-heading h4 { margin:4px 0 7px; color:var(--primary); font-size:1.03rem; }
.member-registration-migration-heading p { max-width:70ch; margin:0; color:var(--text-muted); font-size:.84rem; line-height:1.5; }
.member-registration-migration-kicker { color:var(--text-muted); font-size:.7rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.member-registration-migration-badge,.member-registration-migration-version { display:inline-flex; align-items:center; width:max-content; padding:4px 9px; border-radius:999px; color:var(--primary); background:rgba(var(--primary-rgb),.12); font-size:.72rem; font-weight:800; white-space:nowrap; }
.member-registration-migration-source-row { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; padding:10px 12px; border:1px solid var(--border-color); border-radius:10px; background:rgba(0,0,0,.12); color:var(--text-muted); font-size:.8rem; }
.member-registration-migration-source-row > span:first-child { font-weight:800; }
.member-registration-migration-assignment-note { grid-column:1 / -1; margin:0; color:var(--text-muted); font-size:.82rem; line-height:1.45; }
.member-registration-migration-source { color:var(--primary); overflow-wrap:anywhere; }
.member-registration-migration-form { display:grid; gap:14px; }
.member-registration-migration-group { display:grid; gap:11px; padding:14px; border:1px solid var(--border-color); border-radius:11px; background:rgba(var(--primary-rgb),.035); }
.member-registration-migration-group h5 { margin:0; color:var(--primary); font-size:.9rem; }
.member-registration-migration-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px 13px; }
.member-registration-migration-field { display:grid; gap:6px; min-width:0; color:var(--text-muted); font-size:.78rem; }
.member-registration-migration-field-wide { grid-column:1 / -1; }
.member-registration-migration-field input,.member-registration-migration-field select,.member-registration-migration-field textarea { width:100%; min-width:0; }
.member-registration-migration-field textarea { min-height:74px; resize:vertical; }
.member-registration-migration-field input[readonly] { color:var(--text-muted); background:rgba(127,127,127,.1); }
.member-registration-migration-signer { display:grid; gap:10px; margin:1px 0 0; padding:12px; border:1px dashed var(--border-color); border-radius:10px; }
.member-registration-migration-signer legend { padding:0 5px; color:var(--text-main); font-size:.8rem; font-weight:800; }
.member-registration-migration-signer + .member-registration-migration-signer { margin-top:2px; }
.member-registration-migration-check,.member-registration-migration-confirm { display:flex; align-items:flex-start; gap:8px; min-width:0; color:var(--text-main); font-size:.8rem; line-height:1.4; }
.member-registration-migration-check input,.member-registration-migration-confirm input { flex:0 0 auto; width:auto; min-height:0; margin-top:3px; }
.member-registration-migration-confirm { padding:11px 12px; border:1px solid rgba(206,133,36,.38); border-radius:10px; color:var(--text-main); background:rgba(206,133,36,.1); }
.member-registration-migration-message { min-height:1.2em; margin:0; font-size:.82rem; }
.member-registration-migration-actions { display:flex; justify-content:flex-end; gap:8px; }
@media (max-width:900px) { .member-master-detail-layout { grid-template-columns:1fr; } .member-master-list { max-height:360px; } }
@media (max-width:640px) { .member-profile-header { flex-direction:column; } .member-profile-header .member-detail-actions { justify-content:flex-start; } .member-profile-grid,.member-season-record-fields,.member-profile-fields,.member-edit-grid,.member-registration-migration-grid { grid-template-columns:1fr; } .member-profile-card-wide,.member-registration-migration-field-wide { grid-column:auto; } .registration-data-group dl { grid-template-columns:1fr; gap:4px; } .registration-data-group dd { margin-bottom:7px; } .member-review-entry-summary { grid-template-columns:1fr; align-items:start; } .member-review-entry-summary .btn { justify-self:start; } .member-review-diff-grid { display:grid; grid-template-columns:1fr; gap:8px; border:0; } .member-review-diff-grid > strong { display:none; } .member-review-diff-row { display:grid; gap:0; border:1px solid var(--border-color); border-radius:9px; overflow:hidden; background:var(--bg-card); } .member-review-diff-row > span { display:grid; grid-template-columns:minmax(6.5rem,34%) minmax(0,1fr); gap:8px; padding:8px 9px; border-right:0; } .member-review-diff-row > span::before { content:attr(data-label); color:var(--text-muted); font-size:.7rem; font-weight:700; letter-spacing:.02em; text-transform:uppercase; } .member-registration-migration-heading { flex-direction:column; } .member-registration-migration-actions { justify-content:stretch; } .member-registration-migration-actions .btn { width:100%; } }

.member-season-summary.season-portal-status { margin-top:16px; }
.member-season-summary > h4 { margin:0 0 12px; color:var(--primary); }
.member-season-record { display:grid; gap:8px; }
.member-season-record + .member-season-record { margin-top:14px; }
.member-season-record > strong { overflow-wrap:anywhere; }
.member-season-acknowledgement-list { display:grid; gap:7px; margin:2px 0 3px; padding-left:22px; }
.member-season-acknowledgement-list li { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; min-width:0; }
.member-season-acknowledgement-list li strong { min-width:0; overflow-wrap:anywhere; }
.member-season-acknowledgement-list li span { color:var(--text-muted); overflow-wrap:anywhere; }
.member-season-document-actions { display:flex; flex-wrap:wrap; gap:8px; }
.member-season-record .member-detail-actions { margin-top:1px; }
.registration-record { margin-top:14px; border-top:1px solid var(--border-color); }
.registration-record > summary { display:flex; flex-wrap:wrap; gap:4px; padding:12px 0 2px; cursor:pointer; color:var(--text-main); font-weight:800; }
.registration-record > summary span { overflow-wrap:anywhere; }
.registration-record > summary span:nth-child(2) { color:var(--primary); }
.member-registration-documents { display:grid; gap:9px; }
.member-registration-documents h4 { margin:0; }
.member-document-unavailable { color:var(--text-muted); }
.member-document-technical { margin-top:10px; font-size:.76rem; }
.member-document-technical summary { cursor:pointer; color:var(--text-muted); }
.member-document-technical code { display:block; margin-top:5px; overflow-wrap:anywhere; white-space:pre-wrap; }
.member-profile-family-context,.member-profile-family-fields { display:grid; gap:7px; margin-top:11px; font-size:.84rem; line-height:1.4; }
.member-profile-family-line { overflow-wrap:anywhere; }
.member-profile-contact-summary { padding:9px 10px; border:1px solid var(--border-color); border-radius:9px; overflow-wrap:anywhere; }
.member-profile-family-fields { color:var(--text-main); }
.member-profile-family-fields span { color:var(--text-muted); }
.member-profile-family-action { margin-top:2px; width:max-content; max-width:100%; }
.member-family-confirmation { display:grid; gap:12px; min-width:0; max-width:100%; }
.member-family-confirmation > p { margin:0; }
.member-family-confirmation .portal-form { display:flex; flex-wrap:wrap; align-items:end; gap:10px; }
.member-family-confirmation .portal-form label { flex:1 1 230px; min-width:0; }
.member-family-suggestions { display:grid; gap:9px; margin:0; padding-left:20px; overflow-wrap:anywhere; }
.member-family-suggestions li,.member-family-candidate { padding:10px; border:1px solid var(--border-color); border-radius:9px; }
.member-family-confirm-check { display:flex; align-items:flex-start; gap:8px; }
.member-family-confirm-actions { display:flex; flex-wrap:wrap; gap:8px; }
.member-detail-history-collapsible { margin-top:14px; border:1px solid var(--border-color); border-radius:12px; overflow:hidden; background:var(--bg-card); }
.member-detail-history-collapsible > summary { padding:13px 15px; cursor:pointer; color:var(--primary); background:rgba(var(--primary-rgb),.07); font-weight:800; }
.member-detail-history-collapsible[open] > summary { border-bottom:1px solid var(--border-color); }
.member-detail-history-collapsible > .member-detail-history { margin:0; border:0; border-radius:0; border-bottom:1px solid var(--border-color); }
.member-detail-history-collapsible > .member-detail-history:last-child { border-bottom:0; }
@media (max-width:640px) { .member-profile-family-action { width:100%; } .registration-record > summary { display:grid; gap:3px; } }
@media (max-width:640px) { .member-family-confirmation .portal-form .btn,.member-family-confirm-actions .btn { width:100%; } }

/* Member master view: restrained hierarchy, clearer controls and calmer list states. */
.members-hero,
.member-master-toolbar,
.members-list-panel,
.member-selected-panel { box-shadow:var(--shadow-sm,0 8px 24px rgba(0,0,0,.08)); }
.members-hero { background:linear-gradient(135deg,rgba(var(--primary-rgb),.1),var(--bg-card) 58%); border-color:rgba(var(--primary-rgb),.22); }
.member-master-toolbar { padding:20px; background:linear-gradient(145deg,rgba(var(--primary-rgb),.075),var(--bg-card) 62%); }
.member-master-toolbar-row { grid-template-columns:1fr; align-items:start; gap:18px; }
.member-master-toolbar .member-master-filter { grid-template-columns:1fr; gap:15px; margin:0; }
.member-master-filter-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; min-width:0; }
.member-master-filter-heading > div { display:grid; gap:4px; min-width:0; }
.member-filter-kicker,
.member-section-kicker { color:var(--primary); font-size:.69rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.member-master-filter-heading > div > strong { font-size:1rem; }
.member-master-filter-heading p { max-width:68ch; margin:0; color:var(--text-muted); font-size:.8rem; line-height:1.45; }
.member-filter-result-count { display:inline-flex; align-items:baseline; gap:6px; flex:0 0 auto; padding:7px 10px; border:1px solid rgba(var(--primary-rgb),.22); border-radius:10px; color:var(--primary); background:rgba(var(--primary-rgb),.08); white-space:nowrap; }
.member-filter-result-count strong { font-size:1.1rem; line-height:1; }
.member-filter-result-count span { color:var(--text-muted); font-size:.76rem; font-weight:700; }
.member-master-filter-controls { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:end; gap:11px; min-width:0; }
.member-master-filter-controls > label:first-child { grid-column:span 2; }
.member-master-filter-controls label { display:grid; gap:6px; min-width:0; color:var(--text-muted); font-size:.78rem; }
.member-master-filter-controls .input-field { width:100%; min-width:0; min-height:44px; }
.member-master-filter-controls select { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.member-master-filter-controls .btn { min-height:44px; white-space:nowrap; }
.member-master-filter-controls .input-field:focus-visible,
.member-master-filter-controls .btn:focus-visible { outline:3px solid rgba(var(--primary-rgb),.3); outline-offset:2px; }
.member-master-filter-controls .btn:disabled { box-shadow:none; transform:none; }
.member-master-toolbar-actions { align-self:end; padding-bottom:0; }
.member-list-heading { margin-bottom:14px; }
.member-list-heading > div { display:grid; gap:3px; }
.member-list-heading h3 { margin:0; }
.member-list-heading p { margin:0; }
.member-list-heading p strong { color:var(--text-main); }
.member-master-list { gap:8px; padding:2px 4px 4px 2px; }
.member-master-list-item { padding:14px 15px; border-radius:12px; transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.member-master-list-item:hover { box-shadow:0 8px 18px rgba(var(--primary-rgb),.12); transform:translateY(-1px); }
.member-master-list-item.active { box-shadow:0 0 0 2px rgba(var(--primary-rgb),.18),0 8px 18px rgba(var(--primary-rgb),.1); }
.member-master-list-item:focus-visible { outline:3px solid rgba(var(--primary-rgb),.32); outline-offset:2px; }
.member-season-communication { display:grid; gap:14px; margin:0 0 16px; }
.member-season-communication .members-section-heading { margin-bottom:0; }
.member-season-selection-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:10px 12px; border:1px solid var(--border-color); border-radius:11px; background:rgba(var(--primary-rgb),.045); }
.member-season-select-all { display:flex; align-items:center; gap:8px; color:var(--text-main); font-size:.84rem; font-weight:700; cursor:pointer; }
.member-season-selection-list { display:grid; gap:8px; max-height:360px; overflow-y:auto; padding:2px 3px 2px 1px; }
.member-season-selection-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; min-width:0; padding:11px 12px; border:1px solid var(--border-color); border-radius:11px; background:var(--bg-card); cursor:pointer; }
.member-season-selection-row:hover { border-color:var(--primary); background:rgba(var(--primary-rgb),.06); }
.member-season-selection-copy { display:grid; gap:2px; min-width:0; }
.member-season-selection-copy strong,.member-season-selection-copy small { overflow-wrap:anywhere; }
.member-season-selection-copy small { color:var(--text-muted); font-size:.78rem; }
.member-season-communication-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding-top:2px; }
.member-season-communication-actions .muted { max-width:70ch; font-size:.8rem; }
.member-master-primary { display:grid; align-items:start; justify-content:initial; gap:8px; }
.member-master-name-row { display:flex; align-items:center; gap:8px; min-width:0; width:100%; }
.member-master-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.96rem; }
.member-master-badges { justify-content:flex-start; flex:0 1 auto; }
.member-master-secondary { gap:10px; margin-top:1px; }
.member-master-secondary > small:first-child { flex:1 1 auto; }
.member-empty-state { display:grid; place-items:center; gap:5px; min-height:150px; padding:24px; border:1px dashed var(--border-color); border-radius:12px; color:var(--text-muted); text-align:center; }
.member-empty-state strong { color:var(--text-main); }
.member-master-aux { margin:0 0 16px; border:1px solid var(--border-color); border-radius:12px; background:var(--bg-card); }
.member-master-aux > summary { padding:13px 16px; color:var(--primary); cursor:pointer; font-weight:800; }
.member-master-aux[open] > summary { border-bottom:1px solid var(--border-color); }
.member-master-aux .member-season-communication { margin:0; border:0; box-shadow:none; }
.member-detail-registration-collapsible { border:1px solid var(--border-color); border-radius:12px; overflow:hidden; }
.member-detail-registration-collapsible > summary { padding:14px 16px; color:var(--primary); background:rgba(var(--primary-rgb),.06); cursor:pointer; font-weight:800; }
.member-detail-registration-collapsible[open] > summary { border-bottom:1px solid var(--border-color); }
.member-detail-registration-content { padding:0 16px 16px; }
.member-detail-registration-content .member-season-summary,.member-detail-registration-content .member-registration-details { margin-top:16px; }
@media (prefers-reduced-motion:reduce) { .member-master-list-item { transition:none; } .member-master-list-item:hover { transform:none; } }

@media (max-width:1180px) {
  .member-master-toolbar-row { grid-template-columns:1fr; }
  .member-master-toolbar-actions { justify-content:flex-start; }
}

@media (max-width:900px) {
  .member-master-filter-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .member-master-filter-controls > label:first-child { grid-column:1 / -1; }
  .member-master-filter-controls > .btn { justify-self:start; }
  .member-master-detail-layout { gap:14px; }
}

@media (max-width:640px) {
  .member-master-toolbar { padding:16px; }
  .member-master-filter-heading { flex-direction:column; gap:10px; }
  .member-filter-result-count { width:max-content; }
  .member-master-filter-controls { grid-template-columns:1fr; }
  .member-master-filter-controls > label:first-child { grid-column:auto; }
  .member-master-filter-controls > .btn { width:100%; }
  .member-master-name-row { align-items:flex-start; flex-wrap:wrap; }
  .member-master-name { overflow:visible; text-overflow:clip; white-space:normal; overflow-wrap:anywhere; }
  .member-master-secondary { align-items:flex-start; }
  .member-master-secondary > small:first-child { overflow:visible; text-overflow:clip; white-space:normal; overflow-wrap:anywhere; }
  .member-season-selection-row { grid-template-columns:auto minmax(0,1fr); align-items:start; }
  .member-season-selection-row .member-status { grid-column:2; }
  .member-season-communication-actions .btn { width:100%; }
}

/* Member workspaces: search first, configuration on demand. */
.member-work-filter { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; align-items:end; gap:12px; margin:0 0 18px; }
.member-work-filter label,.member-extra-filter-grid label { display:grid; gap:6px; min-width:0; color:var(--text-muted); font-size:.83rem; }
.member-work-filter .input-field,.member-extra-filter-grid .input-field { width:100%; min-width:0; min-height:44px; }
.member-work-filter .input-field:focus-visible,.member-extra-filters summary:focus-visible,.member-config-disclosure summary:focus-visible,.member-inline-link:focus-visible { outline:3px solid #00813d; outline-offset:3px; }
.member-filter-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.member-filter-actions .btn { min-height:44px; }
.member-document-filter { grid-template-columns:repeat(4,minmax(0,1fr)); }
.member-document-filter .member-filter-actions { grid-column:1/-1; }
.member-family-filter { grid-template-columns:minmax(0,1fr) auto; }
.member-master-filter-controls { grid-template-columns:minmax(0,1fr) auto; }
.member-master-filter-controls > label:first-child { grid-column:1; }
.member-master-filter-controls > .member-filter-actions { grid-column:2; grid-row:1; }
.member-extra-filters { grid-column:1/-1; min-width:0; }
.member-extra-filters summary,.member-config-disclosure > summary { cursor:pointer; color:var(--text-main); font-weight:700; padding:12px 0; }
.member-extra-filter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:4px 0 12px; }
.member-config-disclosure { margin:16px 0; min-width:0; border-top:1px solid var(--border-color); }
.member-config-disclosure > summary { min-height:44px; }
.member-config-disclosure > .portal-panel { margin:0; }
.member-document-technical { margin-top:14px; color:var(--text-muted); font-size:.82rem; }
.member-document-technical summary { min-height:32px; cursor:pointer; }
.member-document-technical dl { display:grid; gap:8px; margin:8px 0 0; }
.member-document-technical dt { font-weight:700; }
.member-document-technical dd { margin:2px 0 0; overflow-wrap:anywhere; }
.member-document-technical code { display:block; max-width:100%; overflow-wrap:anywhere; white-space:normal; }
.member-related-links { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.member-inline-link { display:inline; max-width:100%; margin:0; padding:4px 0; border:0; border-radius:2px; background:transparent; color:#006e34; font:inherit; font-weight:600; text-align:inherit; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; cursor:pointer; }
.member-inline-link:hover { color:#004d25; }
.portal-form label.member-checkbox-row { display:flex; flex-direction:row; align-items:flex-start; gap:10px; min-width:0; min-height:44px; padding:8px 0; line-height:1.5; cursor:pointer; }
.portal-form label.member-checkbox-row input[type="checkbox"] { flex:0 0 18px; width:18px; height:18px; min-height:18px; margin:3px 0 0; accent-color:#00813d; }
[data-theme="dark"] .member-inline-link { color:#86efac; }
[data-theme="dark"] .member-inline-link:hover { color:#bbf7d0; }
[data-theme="dark"] .member-tab-button:focus-visible,[data-theme="dark"] .member-secondary-tab-button:focus-visible,[data-theme="dark"] .member-work-filter .input-field:focus-visible,[data-theme="dark"] .member-extra-filters summary:focus-visible,[data-theme="dark"] .member-config-disclosure summary:focus-visible,[data-theme="dark"] .member-inline-link:focus-visible { outline-color:#86efac; }
@media (max-width:900px) {
  .member-work-filter,.member-document-filter { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .member-work-filter .member-filter-actions { grid-column:1/-1; }
  .member-extra-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .members-hero { gap:10px; padding:14px; margin-bottom:12px; }
  .members-hero h2 { margin:0; font-size:1.22rem; }
  .members-hero > div:first-child > p { display:none; }
  .members-hero-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
  .members-hero-actions .btn { min-width:0; min-height:40px; padding:8px 10px; font-size:.86rem; }
  .member-open-summary { padding:8px 10px; font-size:.86rem; }
  .members-tab-grid { gap:6px; margin-bottom:6px; }
  .members-secondary-grid { gap:6px; margin:0 0 14px; }
  .member-tab-button,.member-secondary-tab-button { justify-content:center; min-height:44px; padding:8px; text-align:center; font-size:.84rem; }
  .member-master-toolbar { padding:14px; }
  .member-master-toolbar-row { gap:10px; }
  .member-master-filter-heading { flex-direction:row; align-items:center; }
  .member-master-filter-heading p,.member-master-filter-heading .member-filter-kicker { display:none; }
  .member-master-filter-controls { grid-template-columns:1fr; gap:8px; }
  .member-master-filter-controls > .member-filter-actions { grid-column:1; grid-row:auto; }
  .member-master-filter-controls > .member-extra-filters { grid-row:2; }
  .member-work-filter,.member-document-filter,.member-family-filter,.member-extra-filter-grid { grid-template-columns:1fr; }
  .member-work-filter .input-field,.member-extra-filter-grid .input-field,.member-master-filter-controls .input-field { font-size:1rem; }
  .member-filter-actions .btn { flex:1 1 auto; }
  .member-document-card .member-document-actions .btn { width:100%; }
  .member-config-disclosure > summary { line-height:1.5; }
}
