/* Account check actions and guarded password-recovery submission. */
.member-check-account-actions{display:grid;gap:18px;margin-top:26px}.member-check-account-primary{min-height:58px;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 22px;color:#fff;background:#203c49;border-radius:12px;box-shadow:0 14px 30px rgba(24,54,66,.16);font-size:17px;font-weight:700;text-decoration:none}.member-check-account-primary:hover{color:#fff;background:#172f3a}.member-check-account-forgot{display:inline-flex;align-items:center;justify-content:center;gap:8px;justify-self:center;color:#087451;font-size:15px;font-weight:700;text-decoration:none}.member-check-account-forgot:hover{color:#075d43;text-decoration:underline;text-underline-offset:4px}.member-submit-wait{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;background:rgba(19,40,34,.66);backdrop-filter:blur(4px)}.member-submit-wait[hidden]{display:none}.member-submit-wait-card{width:min(410px,100%);display:grid;justify-items:center;gap:10px;padding:34px 26px;color:#213c34;background:#fff;border:1px solid #dbe7e2;border-radius:20px;box-shadow:0 24px 70px rgba(13,31,26,.28);text-align:center}.member-submit-wait-card h2,.member-submit-wait-card p{margin:0}.member-submit-wait-card h2{font-size:22px}.member-submit-wait-card p{color:#697a73;font-size:15px;line-height:1.65}.member-submit-wait-spinner{width:42px;height:42px;border:4px solid #d8ebe4;border-top-color:#26745f;border-radius:50%;animation:member-submit-spin .75s linear infinite}body.member-submit-is-waiting{overflow:hidden}@keyframes member-submit-spin{to{transform:rotate(360deg)}}

:root {
    --member-green: #23885a;
    --member-green-dark: #176b46;
    --member-green-soft: #eaf7f0;
    --member-ink: #111827;
    --member-muted: #6b7280;
    --member-line: #e5e7eb;
    --member-surface: #ffffff;
    --member-bg: #f9fafb;
    --member-shadow: 0 1px 2px rgba(17, 24, 39, .04);
}

* { box-sizing: border-box; }
.member-admin-body, .member-portal-body { margin: 0; color: var(--member-ink); background: var(--member-bg); font-family: "Noto Sans TC", "Segoe UI", sans-serif; }
.member-admin-body { min-height: 100vh; overflow-x: hidden; }
.member-admin-topbar { position: sticky; top: 0; z-index: 90; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--member-line); backdrop-filter: blur(12px); }
.member-admin-topbar-inner { min-height: 66px; display: flex; align-items: center; gap: 28px; padding: 0 28px; }
.member-admin-brand { display: flex; align-items: center; gap: 11px; color: var(--member-ink); text-decoration: none; font-size: 18px; font-weight: 700; white-space: nowrap; }
.member-admin-brand img { width: 40px; height: 40px; object-fit: contain; }
.member-admin-nav { display: flex; align-items: center; gap: 6px; }
.member-admin-nav a { display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 13px; color: #4b5563; text-decoration: none; border-radius: 8px; font-size: 14px; font-weight: 600; }
.member-admin-nav a i { width: 18px; color: #6b7280; font-size: 17px; text-align: center; }
.member-admin-nav a:hover, .member-admin-nav a.active { color: var(--member-green-dark); background: #f3f7f5; }
.member-admin-nav a.active i { color: var(--member-green); }
.member-admin-return { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; color: var(--member-green); text-decoration: none; font-size: 13px; font-weight: 700; white-space: nowrap; }
.member-admin-main { width: min(1480px, calc(100% - 56px)); margin: 0 auto; padding: 34px 0 64px; }
.member-page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.member-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }.member-heading-actions form { margin: 0; }
.member-page-heading h1 { margin: 0 0 7px; font-size: clamp(26px, 3vw, 34px); font-weight: 800; letter-spacing: -.035em; }
.member-page-heading p, .member-panel-heading p { margin: 0; color: var(--member-muted); }
.eyebrow { color: var(--member-green); font-size: 12px; font-weight: 800; letter-spacing: .18em; }
.member-back-link { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 10px; color: var(--member-green-dark); text-decoration: none; font-weight: 700; }
.member-btn-primary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 9px 16px; color: #fff !important; background: var(--member-green); border: 1px solid var(--member-green); border-radius: 9px; box-shadow: none; font-weight: 700; }
.member-btn-primary:hover { background: var(--member-green-dark); border-color: var(--member-green-dark); }
.member-btn-ghost { min-height: 44px; padding: 10px 18px; color: var(--member-ink); background: #fff; border: 1px solid var(--member-line); border-radius: 12px; font-weight: 700; }
.member-alert { display: flex; align-items: center; gap: 10px; border: 0; border-radius: 14px; box-shadow: var(--member-shadow); }
.member-alert-dismiss { width: 32px; height: 32px; display: grid; flex: 0 0 auto; place-items: center; margin-left: auto; padding: 0; color: currentColor; background: rgba(255,255,255,.52); border: 0; border-radius: 9px; opacity: .72; cursor: pointer; }
.member-alert-dismiss:hover { opacity: 1; background: rgba(255,255,255,.88); }
.member-stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 22px; }
.member-stat-card { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 126px; padding: 24px 28px; background: var(--member-surface); border: 1px solid var(--member-line); border-radius: 11px; box-shadow: var(--member-shadow); }
.member-stat-card > i { order: 2; color: #9ca3af; background: transparent; font-size: 21px; }
.member-stat-card strong { display: block; margin-top: 24px; color: var(--member-ink); font-size: 32px; line-height: 1; }.member-stat-card span { color: var(--member-muted); font-size: 14px; }
.member-panel { margin-bottom: 22px; padding: 24px; background: var(--member-surface); border: 1px solid var(--member-line); border-radius: 12px; box-shadow: var(--member-shadow); }
.member-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.member-panel-heading h2 { display: inline-block; margin: 0 0 5px; font-size: 21px; font-weight: 800; }
.member-form-modal .modal-dialog { width: min(760px, calc(100% - 24px)); }
.member-form-modal .modal-content { overflow: hidden; border: 1px solid var(--member-line); border-radius: 24px; box-shadow: 0 28px 90px rgba(20, 67, 49, .24); }
.member-form-modal .modal-header { align-items: flex-start; padding: 26px 28px 20px; background: linear-gradient(135deg, #f9fcfa, #edf8f2); border-bottom: 1px solid var(--member-line); }
.member-form-modal .modal-body { padding: 25px 28px 28px; }
.member-form-modal .modal-footer { gap: 9px; padding: 17px 28px 22px; background: #fbfdfc; border-top-color: var(--member-line); }
.member-modal-heading { display: flex; align-items: center; gap: 15px; }
.member-modal-heading h2 { margin: 3px 0 3px; font-size: 24px; font-weight: 800; }
.member-modal-heading p { margin: 0; color: var(--member-muted); font-size: 13px; }
.member-modal-note { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 21px; padding: 13px 15px; color: var(--member-green-dark); background: var(--member-green-soft); border-radius: 13px; font-size: 12px; line-height: 1.6; }
.member-modal-note i { margin-top: 1px; font-size: 17px; }
.member-password-control { position: relative; }
.member-password-control input { padding-right: 48px; }
.member-password-control button { position: absolute; top: 50%; right: 7px; width: 36px; height: 36px; display: grid; place-items: center; padding: 0; color: var(--member-muted); background: transparent; border: 0; border-radius: 9px; transform: translateY(-50%); }
.member-password-control button:hover { color: var(--member-green-dark); background: var(--member-green-soft); }
.member-section-number { display: inline-grid; place-items: center; width: 30px; height: 30px; margin-right: 9px; color: var(--member-green-dark); background: var(--member-green-soft); border-radius: 9px; font-size: 11px; font-weight: 800; }
.member-course-step { position: relative; padding: 24px; }
.member-step-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.member-step-heading .member-section-number { width: 32px; height: 32px; flex: 0 0 auto; margin: 0; color: var(--member-green-dark); background: var(--member-green-soft); border-radius: 9px; box-shadow: none; font-size: 14px; }
.member-step-heading > div { min-width: 0; flex: 1; }
.member-step-heading h2 { margin: 0 0 3px; font-size: 20px; font-weight: 800; }
.member-step-heading p { margin: 0; color: var(--member-muted); font-size: 13px; }
.member-step-heading > .member-count-pill { margin-left: auto; }
.member-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.member-form-grid label, .member-access-dates label, .member-asset-edit-form label { display: flex; flex-direction: column; gap: 7px; }
.member-form-grid label > span, .member-access-dates label > span, .member-asset-edit-form label > span { font-size: 13px; font-weight: 700; }
.member-form-grid input, .member-form-grid select, .member-form-grid textarea, .member-access-dates input, .member-asset-edit-form input { width: 100%; min-height: 45px; padding: 10px 13px; color: var(--member-ink); background: #fbfdfc; border: 1px solid #d7e3dd; border-radius: 11px; outline: none; }
input::placeholder, textarea::placeholder { color: #b4bdb8 !important; opacity: 1; font-weight: 400; }
.member-form-grid textarea { resize: vertical; }.member-form-grid input:focus, .member-form-grid select:focus, .member-form-grid textarea:focus, .member-access-dates input:focus { border-color: var(--member-green); box-shadow: 0 0 0 3px rgba(35,136,90,.10); }
.member-form-grid small { color: var(--member-muted); }.member-form-wide { grid-column: 1 / -1; }.member-form-actions { display: flex; justify-content: flex-end; gap: 10px; }
.member-course-cover-editor { display: grid; grid-template-columns: minmax(240px,340px) minmax(0,1fr); align-items: center; gap: 22px; padding: 17px; background: #f8fbf9; border: 1px solid var(--member-line); border-radius: 15px; }
.member-course-cover-preview { position: relative; overflow: hidden; aspect-ratio: 16/9; display: grid; place-items: center; color: #7b8b82; background: linear-gradient(135deg,#e8f5ed,#d8ece1); border: 1px dashed #a8c9b6; border-radius: 12px; }
.member-course-cover-preview img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.member-course-cover-placeholder { display: grid; place-items: center; gap: 5px; }.member-course-cover-placeholder i { font-size: 28px; }.member-course-cover-placeholder small { font-size: 11px; }
.member-course-cover-preview.has-image .member-course-cover-placeholder { display: none; }
.member-course-cover-copy { display: grid; justify-items: start; gap: 14px; }.member-course-cover-copy strong,.member-course-cover-copy span { display: block; }.member-course-cover-copy strong { margin-bottom: 4px; font-size: 15px; }.member-course-cover-copy > div > span { color: var(--member-muted); font-size: 12px; line-height: 1.7; }
.member-cover-picker { min-height: 39px; display: inline-flex !important; flex-direction: row !important; align-items: center; gap: 7px !important; padding: 9px 13px; color: var(--member-green-dark); background: var(--member-green-soft); border: 1px solid #d2e8dc; border-radius: 9px; cursor: pointer; font-size: 12px; font-weight: 800; }.member-cover-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }.member-cover-picker:has(input:disabled) { opacity: .55; cursor: wait; }
.member-cover-upload-state { width: min(410px,100%); }.member-cover-upload-state small { display: block; margin-top: 5px; color: var(--member-muted); font-size: 11px; }.member-cover-upload-state.is-complete small { color: var(--member-green-dark); }.member-cover-upload-state.is-error small { color: #a43c45; }.member-cover-upload-state.is-error .member-upload-progress span { background: #b43c45; }
.member-table { margin: 0; }.member-table thead th { padding: 12px 14px; color: var(--member-muted); background: #f7faf8; border-bottom-color: var(--member-line); font-size: 12px; letter-spacing: .05em; white-space: nowrap; }.member-table td { padding: 15px 14px; border-bottom-color: #edf2ef; }
.member-list-toolbar { align-items: center; }
.member-search-form { display: flex; align-items: center; gap: 10px; width: min(590px, 100%); }
.member-search-form > a { flex: 0 0 auto; color: var(--member-green-dark); text-decoration: none; font-size: 12px; font-weight: 700; }
.member-search-input { position: relative; display: flex; flex: 1; overflow: hidden; min-height: 44px; background: #f8fbf9; border: 1px solid var(--member-line); border-radius: 12px; }
.member-search-input > i { position: absolute; top: 50%; left: 14px; color: var(--member-muted); transform: translateY(-50%); }
.member-search-input input { min-width: 0; flex: 1; padding: 10px 10px 10px 41px; color: var(--member-ink); background: transparent; border: 0; outline: 0; }
.member-search-input:focus-within { border-color: var(--member-green); box-shadow: 0 0 0 3px rgba(35,136,90,.1); }
.member-search-input button { padding: 0 17px; color: #fff; background: var(--member-green); border: 0; font-weight: 700; }
.member-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 14px; padding: 20px 12px 0; }
.member-pagination a { display: inline-flex; align-items: center; gap: 5px; padding: 8px 11px; color: var(--member-green-dark); background: var(--member-green-soft); border-radius: 10px; text-decoration: none; font-size: 12px; font-weight: 700; }
.member-pagination a.is-disabled { opacity: .45; pointer-events: none; }
.member-pagination span { color: var(--member-muted); font-size: 12px; }
.member-person { display: flex; align-items: center; }.member-check-avatar { width: 40px; height: 40px; display: grid; flex: 0 0 auto; place-items: center; color: #fff; background: linear-gradient(135deg,var(--member-green),#7ac99b); border-radius: 13px; font-weight: 800; }.member-person small { display: block; color: var(--member-muted); }
.member-count-pill { display: inline-flex; align-items: center; padding: 6px 10px; color: var(--member-green-dark); background: var(--member-green-soft); border-radius: 999px; font-size: 12px; font-weight: 800; white-space: nowrap; }
.member-status { display: inline-flex; padding: 5px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; }.member-status.is-active { color: #147447; background: #e0f6e9; }.member-status.is-disabled { color: #8a4b21; background: #fff0df; }.member-status.is-draft { color: #58647a; background: #eef1f5; }
.member-row-actions { display: flex; align-items: center; gap: 6px; }.member-row-actions form, .member-course-admin-actions form { margin: 0; }
.member-icon-btn { width: 38px; height: 38px; display: inline-grid; place-items: center; padding: 0; color: var(--member-green-dark); background: #f5faf7; border: 1px solid var(--member-line); border-radius: 10px; }.member-icon-btn:hover { color: #fff; background: var(--member-green); }.member-icon-btn.is-danger { color: #b43c45; background: #fff6f6; border-color: #f3d9dc; }.member-icon-btn.is-danger:hover { color: #fff; background: #b43c45; }
.member-empty, .member-empty-card { padding: 36px; color: var(--member-muted); text-align: center; }.member-empty-card { grid-column: 1/-1; background: #fff; border: 1px dashed #bfd3c8; border-radius: 20px; }.member-empty-card > i { display: block; margin-bottom: 10px; color: var(--member-green); font-size: 34px; }
.member-access-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }.member-access-card { position: relative; padding: 22px; background: #fff; border: 1px solid var(--member-line); border-radius: 19px; transition: .2s; }.member-access-card.is-selected { border-color: var(--member-green); box-shadow: 0 12px 30px rgba(35,136,90,.1); }.member-access-select { position: absolute; top: 18px; right: 18px; }.member-access-select input { position: absolute; opacity: 0; }.member-access-select span { width: 28px; height: 28px; display: grid; place-items: center; color: transparent; background: #f5f8f6; border: 1px solid var(--member-line); border-radius: 9px; cursor: pointer; }.member-access-select input:checked + span { color: #fff; background: var(--member-green); border-color: var(--member-green); }.member-access-card-copy { padding-right: 35px; }.member-access-card-copy h2 { margin: 12px 0 5px; font-size: 18px; }.member-access-card-copy p { min-height: 42px; color: var(--member-muted); font-size: 13px; }.member-access-dates { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--member-line); }
.member-access-summary { display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 15px; padding: 18px; background: linear-gradient(135deg,#f8fcfa,#eef8f2); border: 1px solid #d5e9dd; border-radius: 17px; }
.member-access-summary-icon { width: 50px; height: 50px; display: grid; place-items: center; color: var(--member-green); background: #fff; border-radius: 15px; box-shadow: 0 8px 20px rgba(35,136,90,.1); font-size: 22px; }
.member-access-summary strong, .member-access-summary span { display: block; }.member-access-summary strong { font-size: 17px; }.member-access-summary span { margin-top: 2px; color: var(--member-muted); font-size: 12px; }
.member-access-modal .modal-dialog { width: min(1050px, calc(100% - 24px)); max-width: 1050px; }
.member-access-modal-tools { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 17px; }
.member-access-modal-tools .member-search-input { max-width: 590px; }
.member-access-modal-tools > div:last-child { display: flex; gap: 7px; }
.member-text-button { padding: 8px 11px; color: var(--member-green-dark); background: var(--member-green-soft); border: 0; border-radius: 9px; font-size: 12px; font-weight: 700; }
.member-modal-check-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.member-modal-check-list .member-check-copy small + small { margin-top: 2px; }
.member-modal-selection { margin-right: auto; color: var(--member-muted); font-size: 13px; }.member-modal-selection strong { color: var(--member-green-dark); font-size: 18px; }
.member-search-empty { padding: 45px 20px; color: var(--member-muted); text-align: center; }.member-search-empty i { margin-right: 5px; }
.member-sticky-actions { display: flex; justify-content: flex-end; gap: 10px; margin: 24px 0 0; padding-top: 20px; border-top: 1px solid var(--member-line); }
.member-course-stats { grid-template-columns: repeat(4,minmax(0,1fr)); }.member-course-list-panel { padding: 0; overflow: hidden; }.member-course-list-panel .member-panel-heading { margin: 0; padding: 23px 26px; border-bottom: 1px solid var(--member-line); }.member-course-filters { width: min(580px,100%); display: grid; grid-template-columns: minmax(220px,1fr) 145px; gap: 10px; }.member-course-filters select { min-height: 44px; padding: 8px 12px; color: var(--member-ink); background: #fff; border: 1px solid var(--member-line); border-radius: 10px; outline: 0; }.member-course-list-row { display: grid; grid-template-columns: 48px minmax(250px,1.5fr) minmax(300px,.8fr) auto; align-items: center; gap: 18px; min-height: 104px; padding: 18px 26px; border-bottom: 1px solid #edf0f2; }.member-course-list-row:last-child { border-bottom: 0; }.member-course-list-row:hover { background: #fafcfb; }.member-course-list-icon { width: 46px; height: 46px; display: grid; place-items: center; color: var(--member-green); background: var(--member-green-soft); border-radius: 10px; font-size: 20px; }.member-course-list-copy { min-width: 0; }.member-course-list-copy > div { display: flex; align-items: center; gap: 10px; }.member-course-list-copy h2 { overflow: hidden; margin: 0; color: var(--member-ink); font-size: 16px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }.member-course-list-copy p { overflow: hidden; margin: 6px 0 0; color: var(--member-muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.member-course-list-meta { display: grid; grid-template-columns: 85px 85px 1fr; align-items: center; gap: 8px; color: var(--member-muted); font-size: 12px; }.member-course-list-meta span { min-width: 0; }.member-course-list-meta strong { color: var(--member-ink); font-size: 15px; }.member-course-list-meta small { display: block; color: #9ca3af; font-size: 10px; }.member-course-admin-actions { display: flex; align-items: center; gap: 7px; }.member-course-edit-link { min-height: 38px; display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; color: var(--member-green-dark); background: var(--member-green-soft); border-radius: 9px; text-decoration: none; font-size: 12px; font-weight: 800; }
.member-course-editor { display: block; }.member-check-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }.member-check-card { position: relative; display: flex; align-items: center; gap: 11px; padding: 13px; border: 1px solid var(--member-line); border-radius: 14px; cursor: pointer; }.member-check-card input { position: absolute; opacity: 0; }.member-check-card > i { margin-left: auto; color: #c8d5cf; }.member-check-card.is-selected { background: var(--member-green-soft); border-color: var(--member-green); }.member-check-card.is-selected > i { color: var(--member-green); }.member-check-copy { min-width: 0; }.member-check-copy strong, .member-check-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.member-check-copy small { color: var(--member-muted); font-size: 11px; }
.member-course-editor,.member-course-editor *:not(i):not(.bi){font-weight:400!important}.member-course-editor.member-course-editor h1,.member-course-editor.member-course-editor h2,.member-course-editor.member-course-editor h3{font-weight:750!important}
.member-upload-zone { min-height: 210px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; padding: 28px; color: var(--member-muted); background: #fbfdfc; border: 1.5px dashed #a9cdb9; border-radius: 12px; cursor: pointer; transition: .2s; }.member-upload-zone.is-dragging { color: var(--member-green-dark); background: #f0faf4; border-color: var(--member-green); }.member-upload-zone input { position: absolute; opacity: 0; pointer-events: none; }.member-upload-icon { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 3px; color: var(--member-green); background: var(--member-green-soft); border-radius: 12px; }.member-upload-zone .member-upload-icon i { font-size: 25px; }.member-upload-zone strong { color: var(--member-ink); font-size: 17px; }.member-upload-zone > span:not(.member-upload-icon):not(.member-upload-picker) { font-size: 11px; }.member-upload-picker { display: inline-flex; align-items: center; gap: 7px; padding: 8px 13px; color: var(--member-green-dark); background: var(--member-green-soft); border-radius: 8px; font-size: 12px; font-weight: 800; }.member-upload-picker i { font-size: 14px; }.member-upload-zone small { margin-top: 4px; color: #8b9590; font-size: 11px; }.member-warning { display: flex; gap: 9px; margin-top: 12px; padding: 12px 14px; color: #81521d; background: #fff8e9; border-radius: 12px; font-size: 13px; }
.member-step-locked { display: flex; align-items: center; gap: 15px; padding: 22px; color: var(--member-muted); background: #f8faf9; border: 1px dashed #b9cec3; border-radius: 16px; }.member-step-locked > i { font-size: 29px; color: var(--member-green); }.member-step-locked strong,.member-step-locked span { display:block; }.member-step-locked strong { color:var(--member-ink); }.member-step-locked span { margin-top:3px;font-size:12px; }
.member-upload-summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 16px; padding: 12px 14px; background: #f8faf9; border: 1px solid var(--member-line); border-radius: 10px; }.member-upload-summary strong,.member-upload-summary span { display: block; }.member-upload-summary strong { font-size: 13px; }.member-upload-summary span { color: var(--member-muted); font-size: 10px; }.member-upload-summary button { display: inline-flex; align-items: center; gap: 5px; padding: 7px 9px; color: #a43c45; background: #fff; border: 1px solid #f0d7da; border-radius: 8px; font-size: 11px; font-weight: 700; }.member-upload-actions { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 14px; }.member-upload-actions > span { color: var(--member-muted); font-size: 12px; }.member-upload-actions > span i { margin-right: 4px; }
.member-upload-queue { display: grid; gap: 9px; margin-top: 13px; }
.member-upload-item { display: grid; grid-template-columns: 42px minmax(0,1fr) 34px; align-items: center; gap: 12px; padding: 12px 14px; background: #fff; border: 1px solid var(--member-line); border-radius: 10px; }.member-upload-item > i { width: 40px; height: 40px; display: grid; place-items: center; color: var(--member-green); background: var(--member-green-soft); border-radius: 9px; font-size: 18px; }.member-upload-item > div { min-width:0; }.member-upload-item strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }.member-upload-item > div > span,.member-upload-item small { color:var(--member-muted);font-size:10px; }.member-upload-item small { display:block;margin-top:4px; }.member-upload-remove { width: 32px; height: 32px; display: grid; place-items: center; color: #9ca3af; background: transparent; border: 0; border-radius: 8px; }.member-upload-remove:hover { color: #b43c45; background: #fff3f4; }.member-upload-progress { overflow:hidden;height:5px;margin-top:7px;background:#e4ebe7;border-radius:999px; }.member-upload-progress span { display:block;width:0;height:100%;background:var(--member-green);border-radius:inherit;transition:.2s; }.member-upload-item.is-complete { border-color:#bde2cd;background:#f4fbf7; }.member-upload-item.is-error { border-color:#edc7cb;background:#fff8f8; }.member-upload-item.is-error small { color:#a43c45; }
.member-asset-list { display: grid; gap: 12px; }.member-asset-admin-row { overflow: hidden; border: 1px solid var(--member-line); border-radius: 11px; }.member-asset-card-head { min-height: 66px; display: grid; grid-template-columns: 42px minmax(0,1fr) 38px; align-items: center; gap: 12px; padding: 11px 14px; background: #fafcfb; border-bottom: 1px solid var(--member-line); }.member-asset-card-head > div:nth-child(2) { min-width: 0; }.member-asset-card-head strong,.member-asset-card-head span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.member-asset-card-head strong { font-size: 13px; }.member-asset-card-head span { margin-top: 2px; color: var(--member-muted); font-size: 10px; }.member-asset-card-head form { margin: 0; }.member-asset-type { width: 40px; height: 40px; display: grid; place-items:center; color:var(--member-green-dark);background:var(--member-green-soft);border:1px solid #d6e9df;border-radius:9px;font-size:18px; }.member-asset-type.is-video,.member-asset-type.is-image,.member-asset-type.is-audio,.member-asset-type.is-document { color:var(--member-green-dark);background:var(--member-green-soft); }.member-asset-edit-form { display: grid; grid-template-columns: minmax(180px,1.2fr) minmax(180px,1.5fr) 80px 115px 82px; align-items: end; gap: 12px; padding: 14px; }.member-asset-edit-form input { min-height: 40px; }.member-switch { position:relative;display:flex!important;flex-direction:row!important;align-items:center;gap:7px!important;min-height:40px}.member-switch input{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;opacity:0}.member-switch span { width: 38px; height: 22px; padding: 3px; background: #cbd6d0; border-radius: 999px; }.member-switch span::after { content:""; display:block; width:16px; height:16px; background:#fff; border-radius:50%; transition:.2s; }.member-switch input:checked + span { background: var(--member-green); }.member-switch input:checked + span::after { transform: translateX(16px); }.member-switch small { white-space: nowrap; }.member-asset-save { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 8px 11px; color: var(--member-green-dark); background: var(--member-green-soft); border: 1px solid #d4eadf; border-radius: 9px; font-size: 12px; font-weight: 800; }.member-asset-save:hover { color: #fff; background: var(--member-green); border-color: var(--member-green); }

@media (max-width: 1180px) { .member-course-list-row { grid-template-columns: 48px minmax(240px,1fr) auto; }.member-course-list-meta { grid-column: 2; }.member-course-admin-actions { grid-row: 1 / span 2; grid-column: 3; }.member-asset-edit-form { grid-template-columns: 1fr 1fr 80px; }.member-switch,.member-asset-save { grid-row: 2; }.member-course-stats { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 900px) { .member-admin-main { width: min(100% - 32px,1480px); }.member-course-list-row { grid-template-columns: 44px minmax(0,1fr); }.member-course-list-meta { grid-column: 2; }.member-course-admin-actions { grid-row: auto; grid-column: 2; }.member-check-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 760px) { .member-admin-topbar-inner { flex-wrap: wrap; gap: 8px 12px; padding: 9px 14px; }.member-admin-nav { order: 3; width: 100%; }.member-admin-nav a { flex: 1; justify-content: center; }.member-admin-return { margin-left: auto; font-size: 0; }.member-admin-return i { font-size: 16px; }.member-admin-main { width: min(100% - 24px,1480px); padding-top: 24px; }.member-page-heading { align-items: stretch; flex-direction: column; }.member-stats-grid, .member-access-grid, .member-form-grid, .member-check-grid, .member-course-stats { grid-template-columns: 1fr; }.member-stat-card { min-height: 105px; }.member-access-dates { grid-template-columns: 1fr; }.member-form-wide { grid-column: auto; }.member-course-cover-editor { grid-template-columns: 1fr; }.member-panel { padding: 17px; }.member-course-list-panel { padding: 0; }.member-course-list-panel .member-panel-heading { padding: 18px; }.member-course-filters { grid-template-columns: 1fr; }.member-course-list-row { grid-template-columns: 40px minmax(0,1fr); gap: 11px; padding: 16px 18px; }.member-course-list-icon { width: 40px; height: 40px; }.member-course-list-meta { grid-template-columns: repeat(2,1fr); }.member-course-list-meta span:last-child { grid-column: 1/-1; }.member-course-admin-actions { flex-wrap: wrap; }.member-course-edit-link { flex: 1; justify-content: center; }.member-step-heading { align-items:flex-start; }.member-step-heading .member-section-number { width:32px;height:32px; }.member-access-summary { grid-template-columns:45px 1fr; }.member-access-summary .btn { grid-column:1/-1; }.member-access-modal-tools { align-items:stretch;flex-direction:column; }.member-access-modal-tools > div:last-child { justify-content:flex-end; }.member-modal-check-list { grid-template-columns:1fr; }.member-upload-zone { min-height: 190px; }.member-upload-actions { align-items:stretch;flex-direction:column; }.member-upload-actions .btn { width: 100%; }.member-list-toolbar { align-items: stretch; flex-direction: column; }.member-search-form { align-items: stretch; flex-direction: column; }.member-search-form > a { text-align: right; }.member-pagination { justify-content: space-between; gap: 7px; padding-left: 0; padding-right: 0; }.member-form-modal .modal-header, .member-form-modal .modal-body { padding-left: 19px; padding-right: 19px; }.member-form-modal .modal-footer { padding: 15px 19px 19px; }.member-modal-heading .member-login-icon { display: none; }.member-sticky-actions { width: 100%; }.member-sticky-actions .btn { flex: 1; }.member-asset-edit-form { grid-template-columns: 1fr; }.member-switch,.member-asset-save { grid-row: auto; }.member-asset-save { min-height: 42px; } }

/* Member-facing portal */
.member-portal-body { min-height: 100vh; display: flex; flex-direction: column; background: radial-gradient(circle at 12% 0%,rgba(72,174,116,.1),transparent 25%),var(--member-bg); }
.member-portal-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.92); border-bottom: 1px solid var(--member-line); backdrop-filter: blur(16px); }
.member-portal-header-inner { width: min(1240px,calc(100% - 40px)); min-height: 76px; display: flex; align-items: center; gap: 32px; margin: 0 auto; }
.member-portal-brand { display: flex; align-items: center; gap: 12px; color: var(--member-ink); text-decoration: none; font-size: 17px; font-weight: 800; line-height: 1.12; }.member-portal-brand small { display: block; color: var(--member-muted); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; }
.member-portal-nav { display: flex; align-items: center; gap: 6px; margin-left: auto; }.member-portal-nav a { display: flex; align-items: center; gap: 7px; padding: 10px 13px; color: var(--member-muted); text-decoration: none; border-radius: 11px; font-size: 13px; font-weight: 700; }.member-portal-nav a:hover,.member-portal-nav a.active { color: var(--member-green-dark); background: var(--member-green-soft); }
.member-portal-account { display: flex; align-items: center; gap: 9px; padding-left: 15px; border-left: 1px solid var(--member-line); }.member-portal-account div small,.member-portal-account div strong { display:block; }.member-portal-account div small { color:var(--member-muted); font-size:9px; }.member-portal-account div strong { font-size:12px; }.member-portal-account > a { margin-left: 6px; color:var(--member-muted); font-size:19px; }.member-portal-avatar { width:36px;height:36px;display:grid;place-items:center;color:#7a8881;background:#f2f5f3;border:1px solid #e1e7e4;border-radius:50%;font-size:24px; }
.member-return-site { margin-left:auto; display:flex; align-items:center; gap:7px; color:var(--member-green-dark); text-decoration:none; font-weight:700; }
.member-portal-main { width: min(1240px,calc(100% - 40px)); flex:1; margin:0 auto; padding:42px 0 80px; }.member-portal-alert { display:flex;align-items:center;gap:10px;margin-bottom:20px; padding:13px 16px; border-radius:13px; font-weight:700; }.member-portal-alert.is-success { color:#176b46; background:#e4f6ec; }.member-portal-alert.is-error { color:#9c3039; background:#fff0f1; }
.member-portal-footer { display:flex; justify-content:space-between; gap:20px; padding:25px max(20px,calc((100% - 1200px)/2)); color:var(--member-muted); background:#fff; border-top:1px solid var(--member-line); font-size:12px; }.member-portal-footer a { color:var(--member-green-dark); text-decoration:none; font-weight:700; }
.member-login-shell { min-height: min(680px,calc(100vh - 200px)); display:grid; grid-template-columns:1.12fr .88fr; overflow:hidden; background:#fff; border:1px solid var(--member-line); border-radius:28px; box-shadow:0 28px 80px rgba(24,73,54,.14); }.member-login-story { position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center; padding:clamp(36px,7vw,82px); color:#fff; background:linear-gradient(145deg,#0e5939,#24885a 60%,#4daf78); }.member-login-story .eyebrow { color:#bce8cf; }.member-login-story h1 { position:relative; z-index:2; max-width:670px; margin:14px 0 20px; font-size:clamp(36px,5vw,66px); line-height:1.13; letter-spacing:-.05em; font-weight:800; }.member-login-story p { position:relative; z-index:2; max-width:570px; color:rgba(255,255,255,.8); font-size:17px; line-height:1.8; }.member-login-benefits { position:relative; z-index:2; display:flex; flex-wrap:wrap; gap:9px; margin-top:28px; }.member-login-benefits span { display:flex; align-items:center; gap:7px; padding:9px 12px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.14); border-radius:999px; font-size:12px; }.member-login-orbit { position:absolute; border:1px solid rgba(255,255,255,.15); border-radius:50%; }.orbit-one { width:380px;height:380px;right:-150px;top:-120px; }.orbit-two { width:260px;height:260px;left:-110px;bottom:-100px; }
.member-login-card { display:flex; flex-direction:column; justify-content:center; padding:clamp(30px,6vw,70px); }.member-login-card-heading { display:flex; align-items:center; gap:15px; margin-bottom:28px; }.member-login-icon { width:52px;height:52px;display:grid;place-items:center;color:var(--member-green);background:var(--member-green-soft);border-radius:17px;font-size:24px; }.member-login-card h2 { margin:0 0 5px;font-size:28px;font-weight:800; }.member-login-card-heading p,.member-password-card > p { margin:0;color:var(--member-muted); }.member-login-error { display:flex;align-items:center;gap:8px;margin-bottom:18px;padding:12px 14px;color:#9c3039;background:#fff0f1;border-radius:12px;font-size:13px;font-weight:700; }.member-login-registration-note{display:flex;align-items:flex-start;gap:10px;margin:-8px 0 20px;padding:14px 15px;color:#962e38;background:#fff1f2;border:1px solid #edb9bd;border-radius:12px;line-height:1.65}.member-login-registration-note>i{flex:0 0 auto;margin-top:3px;color:#cf3f49;font-size:18px}.member-login-registration-note strong,.member-login-registration-note small{display:block}.member-login-registration-note strong{font-size:14px}.member-login-registration-note small{margin-top:3px;font-size:13px;font-weight:600}.member-login-form { display:grid;gap:17px; }.member-login-form label { display:grid;gap:7px; }.member-login-form label > span { font-size:13px;font-weight:700; }.member-input-icon { position:relative; }.member-input-icon > i { position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#829189; }.member-input-icon input { width:100%;min-height:50px;padding:12px 45px;color:var(--member-ink);background:#f9fcfa;border:1px solid #d5e2db;border-radius:13px;outline:none; }.member-input-icon input:focus { border-color:var(--member-green);box-shadow:0 0 0 4px rgba(35,136,90,.1); }.member-input-icon button { position:absolute;right:7px;top:7px;width:36px;height:36px;color:var(--member-muted);background:transparent;border:0;border-radius:9px; }.member-login-submit { min-height:51px;display:flex;align-items:center;justify-content:center;gap:12px;margin-top:5px;color:#fff;background:linear-gradient(135deg,var(--member-green),var(--member-green-dark));border:0;border-radius:13px;box-shadow:0 12px 26px rgba(35,136,90,.2);font-weight:800; }.member-login-help { margin:22px 0 0;color:var(--member-muted);text-align:center;font-size:12px; }.member-login-help a { margin-left:5px;color:var(--member-green-dark);font-weight:700; }
.member-dashboard-hero { position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:38px;padding:44px 48px;color:#fff;background:radial-gradient(circle at 75% 15%,rgba(255,255,255,.19),transparent 25%),linear-gradient(135deg,#155f3f,#2b9463);border-radius:26px;box-shadow:0 22px 55px rgba(26,99,65,.2); }.member-dashboard-hero h1 { margin:10px 0 8px;font-size:clamp(29px,4vw,45px);letter-spacing:-.04em;font-weight:800; }.member-dashboard-hero p { margin:0;color:rgba(255,255,255,.78); }.member-dashboard-hero .eyebrow { color:#bae8cd; }.member-dashboard-emblem { width:145px;height:145px;display:grid;flex:0 0 auto;place-items:center;align-content:center;gap:7px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.2);border-radius:50%; }.member-dashboard-emblem i { font-size:44px; }.member-dashboard-emblem span { font-size:10px;letter-spacing:.13em;text-transform:uppercase; }
.member-content-heading { display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px; }.member-content-heading h2 { margin:0 0 4px;font-size:25px;font-weight:800; }.member-content-heading p { margin:0;color:var(--member-muted);font-size:13px; }.member-course-group + .member-course-group { margin-top:44px;padding-top:36px;border-top:1px solid var(--member-line); }.member-course-group.is-history .member-portal-course-card { box-shadow:0 10px 30px rgba(28,78,58,.07); }
.member-portal-course-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }.member-portal-course-card { display:flex;flex-direction:column;overflow:hidden;color:var(--member-ink);background:#fff;border:1px solid var(--member-line);border-radius:22px;box-shadow:var(--member-shadow);text-decoration:none;transition:.2s; }.member-portal-course-card:hover:not(.is-locked) { color:var(--member-ink);transform:translateY(-4px);box-shadow:0 24px 55px rgba(28,78,58,.14); }.member-portal-course-card.is-locked { opacity:.72; }.member-portal-course-cover { position:relative;overflow:hidden;min-height:160px;display:flex;align-items:flex-end;justify-content:space-between;padding:20px;color:#fff;background:linear-gradient(135deg,#176b46,#54ad77); }.member-portal-course-cover::after { content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,18,14,.03),rgba(11,18,14,.52)); }.member-course-cover-image { position:absolute;inset:-2px;width:calc(100% + 4px);height:calc(100% + 4px);object-fit:cover;filter:blur(.45px); }.member-portal-course-cover > :not(.member-course-cover-image) { position:relative;z-index:1; }.member-portal-course-cover.tone-2 { background:linear-gradient(135deg,#215b63,#4c9da2); }.member-portal-course-cover.tone-3 { background:linear-gradient(135deg,#735822,#c09443); }.member-portal-course-cover.tone-4 { background:linear-gradient(135deg,#45526d,#7888a9); }.member-portal-course-cover > span:last-child { padding:5px 9px;background:rgba(0,0,0,.22);border-radius:999px;font-size:10px; }.course-index { align-self:flex-start;font-size:12px;font-weight:800;letter-spacing:.1em; }.member-portal-course-copy { flex:1;padding:22px; }.member-course-status { display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800; }.member-course-status.is-not-started { color:#5b6282;background:#eef0f8; }.member-course-status.is-today { color:#147447;background:#e0f6e9; }.member-course-status.is-history { color:#5e6b65;background:#edf1ef; }.member-course-status.is-not-scheduled { color:#8c6326;background:#fff4df; }.member-portal-course-copy h2 { margin:13px 0 7px;font-size:20px;font-weight:800; }.member-portal-course-copy > p { min-height:42px;color:var(--member-muted);font-size:13px;line-height:1.65; }.member-course-deadline { display:flex;align-items:center;gap:9px;margin-top:20px;padding-top:15px;border-top:1px solid var(--member-line);color:var(--member-green); }.member-course-deadline span { color:var(--member-muted);font-size:10px; }.member-course-deadline strong { display:block;color:var(--member-ink);font-size:12px; }.member-course-enter { display:flex;align-items:center;justify-content:space-between;padding:15px 22px;color:var(--member-green-dark);background:#f8fbf9;border-top:1px solid var(--member-line);text-decoration:none;font-size:13px;font-weight:800; }.member-portal-course-card:hover:not(.is-locked) .member-course-enter { color:#fff;background:var(--member-green); }.member-course-enter.is-disabled { color:#8a9690;cursor:not-allowed; }.member-course-enter.is-disabled:hover { color:#8a9690;background:#f8fbf9; }
.member-portal-empty { width:100%;grid-column:1/-1;padding:70px 30px;color:var(--member-muted);background:#fff;border:1px dashed #b9d0c3;border-radius:24px;text-align:center; }.member-portal-empty > i { display:block;margin-bottom:14px;color:var(--member-green);font-size:48px; }.member-portal-empty h2 { color:var(--member-ink);font-weight:800; }
.member-course-hero { position:relative;overflow:hidden;display:flex;align-items:center;gap:25px;margin:18px 0 40px;padding:45px 48px;color:#fff;background:linear-gradient(135deg,#3e4742,#68736d);border-radius:26px;box-shadow:0 22px 55px rgba(31,39,35,.17); }.member-course-hero::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,20,17,.78),rgba(20,25,22,.5) 68%,rgba(20,25,22,.24));backdrop-filter:blur(.8px); }.member-course-hero-cover { position:absolute;inset:-3px;width:calc(100% + 6px);height:calc(100% + 6px);object-fit:cover;filter:blur(.8px); }.member-course-hero-copy { position:relative;z-index:1; }.member-course-hero h1 { margin:12px 0 10px;font-size:clamp(30px,5vw,48px);font-weight:800;letter-spacing:-.04em; }.member-course-hero p { max-width:780px;margin:0;color:rgba(255,255,255,.82);line-height:1.75; }.member-course-hero-meta { display:flex;flex-wrap:wrap;gap:15px;margin-top:24px;color:rgba(255,255,255,.88);font-size:12px; }.member-course-hero-meta span { display:flex;align-items:center;gap:6px; }.member-learning-section { margin-top:36px; }.member-video-list { display:grid;gap:24px; }.member-video-card { display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr);overflow:hidden;background:#fff;border:1px solid var(--member-line);border-radius:22px;box-shadow:var(--member-shadow); }.member-video-frame { position:relative;background:#07130e; }.member-video-frame video { display:block;width:100%;max-height:620px;aspect-ratio:16/9;background:#000; }.member-video-error { position:absolute;inset:auto 16px 16px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 15px;color:#fff;background:rgba(21,34,28,.94);border:1px solid rgba(255,255,255,.15);border-radius:13px;box-shadow:0 12px 35px rgba(0,0,0,.28); }.member-video-error[hidden] { display:none; }.member-video-error > i { color:#f4c66b;font-size:22px; }.member-video-error strong,.member-video-error span { display:block; }.member-video-error strong { font-size:13px; }.member-video-error span { margin-top:2px;color:rgba(255,255,255,.7);font-size:10px;line-height:1.5; }.member-video-error button { padding:8px 10px;color:#fff;background:var(--member-green);border:0;border-radius:8px;font-size:11px;font-weight:800;white-space:nowrap; }.member-video-copy { padding:28px; }.member-video-copy > span { color:var(--member-green);font-size:10px;font-weight:800;letter-spacing:.13em; }.member-video-copy h3 { margin:10px 0 8px;font-size:21px;font-weight:800; }.member-video-copy p { color:var(--member-muted);font-size:13px;line-height:1.7; }.member-video-download { display:inline-flex;align-items:center;gap:7px;margin-top:16px;padding:9px 12px;color:var(--member-green-dark);background:var(--member-green-soft);border-radius:10px;text-decoration:none;font-size:12px;font-weight:800; }.member-video-download:hover { color:#fff;background:var(--member-green); }.member-image-list { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }.member-image-card { overflow:hidden;background:#fff;border:1px solid var(--member-line);border-radius:18px;box-shadow:var(--member-shadow); }.member-image-card > a { display:block;overflow:hidden;aspect-ratio:16/10;background:#eef2ef; }.member-image-card img { width:100%;height:100%;object-fit:cover;transition:.25s; }.member-image-card:hover img { transform:scale(1.02); }.member-image-card > div { padding:17px; }.member-image-card h3 { margin:0;font-size:15px;font-weight:800; }.member-image-card p { margin:6px 0 0;color:var(--member-muted);font-size:12px; }.member-audio-list { display:grid;gap:12px; }.member-audio-card { display:grid;grid-template-columns:minmax(190px,1fr) minmax(260px,1.4fr) auto;align-items:center;gap:18px;padding:18px;background:#fff;border:1px solid var(--member-line);border-radius:16px; }.member-audio-card > div { display:flex;align-items:center;gap:12px; }.member-audio-card > div > i { font-size:24px;color:#755c91; }.member-audio-card strong,.member-audio-card small { display:block; }.member-audio-card small { margin-top:3px;color:var(--member-muted); }.member-audio-card audio { width:100%;height:38px; }.member-audio-card .member-video-download { margin-top:0; }.member-document-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px; }.member-document-card { display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:13px;padding:17px;background:#fff;border:1px solid var(--member-line);border-radius:16px; }.member-document-icon { width:48px;height:48px;display:grid;place-items:center;color:#7b5a1e;background:#fff1d2;border-radius:14px;font-size:22px; }.member-document-card h3 { margin:0 0 4px;font-size:15px;font-weight:800; }.member-document-card p { margin:0;color:var(--member-muted);font-size:11px; }.member-document-card a { display:flex;align-items:center;gap:6px;padding:9px 11px;color:var(--member-green-dark);background:var(--member-green-soft);border-radius:10px;text-decoration:none;font-size:12px;font-weight:800; }.member-document-locked { color:#8b9691;font-size:11px; }
.member-course-overview { margin:-12px 0 38px;padding:30px 34px;background:#fff;border:1px solid var(--member-line);border-radius:20px;box-shadow:0 14px 35px rgba(31,48,59,.07); }.member-course-overview h2 { margin:7px 0 14px;color:var(--member-ink);font-size:24px;font-weight:800; }.member-course-overview-text { max-width:900px;color:#59676f;font-size:14px;line-height:1.9;overflow-wrap:anywhere; }
.member-password-card { width:min(560px,100%);margin:35px auto;padding:38px;background:#fff;border:1px solid var(--member-line);border-radius:24px;box-shadow:var(--member-shadow); }.member-password-card > .member-login-icon { margin-bottom:18px; }.member-password-card h1 { margin:0 0 8px;font-size:28px;font-weight:800; }.member-password-card > p { margin-bottom:25px;line-height:1.7; }
.member-profile-shell{width:min(880px,100%);margin:20px auto;padding:38px 42px;background:#fff;border:1px solid var(--member-line);border-radius:24px;box-shadow:var(--member-shadow)}.member-profile-heading{display:flex;align-items:center;gap:17px;margin-bottom:30px}.member-profile-heading>span{width:54px;height:54px;display:grid;flex:0 0 auto;place-items:center;color:var(--member-green-dark);background:var(--member-green-soft);border-radius:16px;font-size:23px}.member-profile-heading small{color:var(--member-green);font-size:10px;font-weight:800;letter-spacing:.15em}.member-profile-heading h1{margin:3px 0 4px;font-size:29px;font-weight:800}.member-profile-heading p{margin:0;color:var(--member-muted);font-size:13px}.member-profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.member-profile-form label{display:grid;gap:7px}.member-profile-form label>span{color:#35434d;font-size:13px;font-weight:700}.member-profile-form input{width:100%;min-height:51px;padding:12px 14px;color:var(--member-ink);background:#fbfcfc;border:1px solid #d9e0e3;border-radius:11px;outline:0;font:inherit}.member-profile-form input:focus{background:#fff;border-color:#5d8c80;box-shadow:0 0 0 4px rgba(54,118,101,.09)}.member-profile-form input[readonly]{color:#7b878e;background:#f2f5f4}.member-profile-form small{color:var(--member-muted);font-size:11px}.member-profile-wide,.member-profile-actions{grid-column:1/-1}.member-profile-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:9px}.member-profile-actions a,.member-profile-actions button{min-height:47px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 17px;border-radius:11px;font-size:13px;font-weight:800;text-decoration:none}.member-profile-actions a{color:var(--member-muted);background:#fff;border:1px solid var(--member-line)}.member-profile-actions button{color:#fff;background:var(--member-green);border:1px solid var(--member-green);cursor:pointer}.member-profile-actions button:hover{background:var(--member-green-dark)}

@media (max-width: 950px) { .member-login-shell { grid-template-columns:1fr; }.member-login-story { min-height:380px; }.member-portal-course-grid,.member-image-list { grid-template-columns:repeat(2,1fr); }.member-video-card { grid-template-columns:1fr; }.member-video-copy { padding:20px; }.member-audio-card { grid-template-columns:1fr; }.member-audio-card .member-video-download { justify-self:start; } }
@media (max-width: 700px) { .member-portal-header-inner { width:min(100% - 24px,1240px);min-height:68px;flex-wrap:wrap;padding:9px 0;gap:8px; }.member-portal-nav { order:3;width:100%; }.member-portal-nav a { flex:1;justify-content:center; }.member-portal-account div { display:none; }.member-portal-account { margin-left:auto;padding-left:8px;border:0; }.member-portal-main { width:min(100% - 24px,1240px);padding:24px 0 50px; }.member-login-story { min-height:330px;padding:32px 25px; }.member-login-card { padding:32px 24px; }.member-dashboard-hero,.member-course-hero { padding:30px 24px;border-radius:20px; }.member-dashboard-emblem { display:none; }.member-portal-course-grid,.member-image-list,.member-document-list { grid-template-columns:1fr; }.member-content-heading { align-items:flex-start; }.member-portal-footer { flex-direction:column;text-align:center; }.member-course-hero-meta { flex-direction:column;gap:7px; }.member-video-error { position:static;grid-template-columns:auto 1fr;margin:10px;border-radius:10px; }.member-video-error button { grid-column:1/-1; }.member-document-card { grid-template-columns:45px 1fr; }.member-document-card > a,.member-document-locked { grid-column:1/-1;justify-content:center;text-align:center; } }
@media (max-width:700px){.member-profile-shell{padding:27px 22px;border-radius:19px}.member-profile-form{grid-template-columns:1fr}.member-profile-wide,.member-profile-actions{grid-column:auto}.member-profile-actions a,.member-profile-actions button{flex:1}.member-portal-nav a{padding-inline:8px;font-size:12px}}

/* Professional member portal theme */
.member-portal-body { --portal-ink:#172431;--portal-muted:#6f7b86;--portal-line:#dde3e7;--portal-accent:#287565;--portal-accent-soft:#edf5f2;color:var(--portal-ink);background:radial-gradient(circle at 8% 4%,rgba(47,116,101,.07),transparent 22%),linear-gradient(180deg,#f7f9fa 0,#f3f6f7 100%); }
.member-portal-header { background:rgba(255,255,255,.96);border-bottom-color:#e1e6e9;box-shadow:0 1px 0 rgba(23,36,49,.02); }
.member-portal-brand { color:var(--portal-ink);letter-spacing:-.01em; }.member-portal-brand .brand-mark { width:35px;height:35px;display:grid;place-items:center;color:#fff;background:#203543;border-radius:10px;font-size:17px; }.member-portal-brand small { color:#7a8691; }
.member-portal-nav a { color:#697680; }.member-portal-nav a:hover,.member-portal-nav a.active { color:#1f695a;background:var(--portal-accent-soft); }
.member-return-site,.member-portal-footer a { color:#286c5f; }.member-portal-account { border-left-color:#e2e7ea; }.member-portal-avatar { color:#64737d;background:#f1f4f5;border-color:#dde3e6; }
.member-portal-main { padding-top:48px; }.member-portal-footer { color:#7b8790;border-top-color:#e1e6e9; }

.member-login-shell { width:min(1120px,100%);min-height:640px;grid-template-columns:1.03fr .97fr;margin:0 auto;overflow:hidden;background:#fff;border:1px solid #dfe5e8;border-radius:24px;box-shadow:0 28px 70px rgba(27,43,54,.12); }
.member-login-story { position:relative;isolation:isolate;justify-content:flex-start;padding:62px 58px;color:#fff;background:linear-gradient(145deg,#132733 0%,#1d3542 62%,#244653 100%); }
.member-login-story::before { content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(135deg,#000,transparent 78%); }
.member-login-story::after { content:"";position:absolute;z-index:-1;width:300px;height:300px;right:-150px;bottom:-160px;border:1px solid rgba(103,190,168,.24);border-radius:50%;box-shadow:0 0 0 55px rgba(83,162,143,.04),0 0 0 110px rgba(83,162,143,.025); }
.member-login-story-label { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:64px; }.member-login-story-label .eyebrow { color:#8fd1bf; }.member-login-story-label > span:last-child { color:rgba(255,255,255,.42);font-size:9px;font-weight:700;letter-spacing:.18em; }
.member-login-story h1 { max-width:520px;margin:0 0 20px;font-size:clamp(36px,4.1vw,53px);line-height:1.18;letter-spacing:-.045em; }
.member-login-story > p { max-width:500px;margin:0;color:rgba(255,255,255,.68);font-size:15px;line-height:1.9; }
.member-login-benefits { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:42px; }.member-login-benefits span { display:grid;grid-template-columns:30px 1fr;align-items:center;gap:2px 9px;padding:14px;color:#fff;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);border-radius:13px; }.member-login-benefits i { grid-row:1/3;color:#8fd1bf;font-size:18px; }.member-login-benefits strong,.member-login-benefits small { display:block; }.member-login-benefits strong { font-size:12px; }.member-login-benefits small { color:rgba(255,255,255,.48);font-size:9px;line-height:1.45; }
.member-login-story-note { display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:35px;color:rgba(255,255,255,.72); }.member-login-story-note > i { width:38px;height:38px;display:grid;place-items:center;color:#8fd1bf;border:1px solid rgba(143,209,191,.3);border-radius:50%; }.member-login-story-note strong,.member-login-story-note small { display:block; }.member-login-story-note strong { font-size:11px; }.member-login-story-note small { margin-top:3px;color:rgba(255,255,255,.43);font-size:9px; }
.member-login-card { justify-content:center;padding:64px 66px;background:#fff; }.member-login-card-heading { align-items:flex-start;margin-bottom:34px; }.member-login-card-heading .eyebrow { display:block;margin-bottom:6px;color:#477267;font-size:9px;letter-spacing:.16em; }.member-login-icon { width:46px;height:46px;color:#284b57;background:#eef3f4;border-radius:14px;font-size:20px; }.member-login-card h2 { color:var(--portal-ink);font-size:29px;letter-spacing:-.025em; }.member-login-card-heading p { color:var(--portal-muted);font-size:12px; }
.member-login-form { gap:19px; }.member-login-form label > span { color:#35434d;font-size:12px; }.member-input-icon > i { color:#87939a; }.member-input-icon input { min-height:54px;color:var(--portal-ink);background:#fbfcfc;border-color:#d9e0e3;border-radius:11px; }.member-input-icon input:focus { background:#fff;border-color:#5d8c80;box-shadow:0 0 0 4px rgba(54,118,101,.09); }.member-input-icon button { color:#74818a; }
.member-login-submit { min-height:54px;margin-top:7px;background:#203743;border-radius:11px;box-shadow:0 12px 24px rgba(27,54,66,.17);transition:.2s; }.member-login-submit:hover { background:#287565;transform:translateY(-1px); }
.member-login-divider { display:flex;align-items:center;gap:12px;margin-top:28px;color:#a0a9af;font-size:9px;letter-spacing:.08em; }.member-login-divider::before,.member-login-divider::after { content:"";height:1px;flex:1;background:#e6eaec; }.member-login-help { margin:15px 0 0;color:#7d8991; }.member-login-help a { color:#286c5f;text-decoration:none; }

.member-dashboard-hero { position:relative;overflow:hidden;align-items:stretch;margin-bottom:42px;padding:40px 42px;color:var(--portal-ink);background:#fff;border:1px solid #dde4e7;border-radius:20px;box-shadow:0 18px 45px rgba(30,49,60,.08); }
.member-dashboard-hero::before { content:"";position:absolute;left:0;top:30px;bottom:30px;width:4px;background:#3f8878;border-radius:0 4px 4px 0; }.member-dashboard-hero::after { content:"";position:absolute;width:260px;height:260px;right:160px;top:-190px;border:1px solid rgba(40,117,101,.1);border-radius:50%;box-shadow:0 0 0 45px rgba(40,117,101,.025); }
.member-dashboard-copy { position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center; }.member-dashboard-hero .eyebrow { color:#477267; }.member-dashboard-hero h1 { margin:10px 0 7px;color:var(--portal-ink);font-size:clamp(28px,3.4vw,40px); }.member-dashboard-hero p { color:#687680; }.member-dashboard-organization { display:flex;align-items:center;gap:7px;margin-top:17px;color:#7a8790;font-size:11px; }.member-dashboard-organization i { color:#477267; }
.member-dashboard-summary { position:relative;z-index:1;min-width:230px;padding:22px 24px;background:#f5f8f8;border:1px solid #e1e7e9;border-radius:16px; }.member-dashboard-summary > span { color:#74818a;font-size:11px;font-weight:700; }.member-dashboard-summary > div { display:flex;align-items:baseline;gap:8px;margin:7px 0 11px; }.member-dashboard-summary strong { color:#1e3440;font-size:42px;line-height:1;font-weight:800; }.member-dashboard-summary small { color:#5f6e78;font-size:12px;font-weight:700; }.member-dashboard-summary p { display:flex;align-items:center;gap:6px;margin:0;padding-top:12px;color:#6f7d85;border-top:1px solid #e1e6e8;font-size:10px; }.member-dashboard-summary p i { color:#3b7e70; }
.member-content-heading h2 { color:var(--portal-ink);font-size:23px; }.member-count-pill { color:#42685f;background:#edf3f1; }
.member-portal-course-card { border-color:#dde4e7;border-radius:17px;box-shadow:0 12px 30px rgba(31,48,59,.07); }.member-portal-course-card:hover:not(.is-locked) { box-shadow:0 20px 42px rgba(31,48,59,.13); }.member-portal-course-cover { min-height:165px;background:linear-gradient(135deg,#263d49,#47616b); }.member-portal-course-cover.tone-2 { background:linear-gradient(135deg,#35444e,#667981); }.member-portal-course-cover.tone-3 { background:linear-gradient(135deg,#3d4548,#717b7e); }.member-portal-course-cover.tone-4 { background:linear-gradient(135deg,#293943,#536973); }.member-portal-course-cover::after { background:linear-gradient(180deg,rgba(12,20,25,.02),rgba(12,20,25,.56)); }.member-portal-course-copy { padding:21px; }.member-portal-course-copy h2 { color:var(--portal-ink);font-size:18px; }.member-course-deadline { color:#397869;border-top-color:#e4e8ea; }.member-course-enter { color:#315f55;background:#f6f9f8;border-top-color:#e3e8e9; }.member-portal-course-card:hover:not(.is-locked) .member-course-enter { color:#fff;background:#203743; }.member-course-group + .member-course-group { border-top-color:#dfe5e7; }

@media (max-width: 950px) { .member-login-shell { grid-template-columns:1fr; }.member-login-story { min-height:auto;padding:44px; }.member-login-story-label { margin-bottom:38px; }.member-login-story-note { margin-top:34px; }.member-login-card { padding:50px; }.member-dashboard-hero { align-items:center; }.member-dashboard-summary { min-width:210px; } }
@media (max-width: 700px) { .member-portal-main { padding-top:28px; }.member-login-shell { border-radius:18px; }.member-login-story { padding:34px 25px; }.member-login-story-label > span:last-child { display:none; }.member-login-story h1 { font-size:34px; }.member-login-benefits { grid-template-columns:1fr;gap:8px;margin-top:28px; }.member-login-story-note { display:none; }.member-login-card { padding:35px 24px; }.member-dashboard-hero { flex-direction:column;padding:29px 25px; }.member-dashboard-hero::before { top:22px;bottom:22px; }.member-dashboard-summary { width:100%;min-width:0; }.member-dashboard-hero h1 { font-size:29px; }.member-portal-course-card { border-radius:15px; } }

/* Academy course, registration and payment integration */
.academy-integrated-row { box-shadow:inset 3px 0 #4b8978; }.academy-integrated-row .member-course-list-icon { color:#365d53;background:#edf4f2; }.member-course-list-meta strong small { color:#8d9994;font-size:10px;font-weight:600; }.academy-admin-editor { display:grid;gap:18px; }.academy-registration-panel { margin-top:32px;padding:0;overflow:hidden; }.academy-registration-panel .member-panel-heading { margin:0;padding:24px 26px;border-bottom:1px solid var(--member-line); }.academy-registration-table { display:grid; }.academy-registration-row { display:grid;grid-template-columns:minmax(230px,1.3fr) 180px minmax(190px,.8fr) minmax(260px,1fr);align-items:center;gap:17px;padding:17px 25px;border-bottom:1px solid #edf0f1; }.academy-registration-row:last-child { border-bottom:0; }.academy-registration-row.is-head { min-height:44px;padding-top:10px;padding-bottom:10px;color:#8d979d;background:#fafbfb;font-size:10px;font-weight:800; }.academy-registration-row>div { min-width:0; }.academy-registration-row strong,.academy-registration-row small { display:block; }.academy-registration-row small { overflow:hidden;margin-top:4px;color:var(--member-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap; }.academy-registration-row a { display:inline-flex;align-items:center;gap:5px;margin-top:6px;color:var(--member-green-dark);font-size:10px;font-weight:700;text-decoration:none; }.academy-admin-status { display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800; }.academy-admin-status.status-confirmed { color:#176a47;background:#e5f5ec; }.academy-admin-status.status-waitlisted { color:#7a5721;background:#fff3df; }.academy-admin-status.status-payment_review { color:#315f83;background:#eaf3fa; }.academy-admin-status.status-payment_rejected { color:#934040;background:#fdecec; }.academy-admin-status.status-awaiting_payment { color:#6f5b21;background:#f7f1df; }.academy-admin-status.status-cancelled,.academy-admin-status.status-expired { color:#6d7773;background:#edf0ef; }.academy-registration-actions { display:flex;align-items:center;flex-wrap:wrap;gap:6px; }.academy-registration-actions form { margin:0; }.academy-reject-form { display:flex;gap:5px; }.academy-reject-form input { width:110px;min-height:34px;padding:6px 8px;font-size:10px; }.academy-registration-actions .btn-sm { white-space:nowrap; }.academy-registration-details{grid-column:1/-1;padding-top:2px}.academy-registration-details summary{width:max-content;color:var(--member-green-dark);font-size:10px;font-weight:800;cursor:pointer}.academy-registration-details dl{display:grid;grid-template-columns:110px minmax(160px,1fr) 110px minmax(160px,1fr);gap:9px 15px;margin:14px 0 2px;padding:15px;background:#f8faf9;border-radius:11px;font-size:11px}.academy-registration-details dt{color:#8a9590}.academy-registration-details dd{margin:0;color:#33443d;font-weight:700;overflow-wrap:anywhere}
.academy-admin-status.status-order{margin-top:5px;color:#5b4d7e;background:#f0ecf8}
@media(max-width:1100px){.academy-registration-row{grid-template-columns:1fr 150px 1fr}.academy-registration-row>div:last-child{grid-column:1/-1}.academy-registration-row.is-head span:last-child{display:none}}
@media(max-width:700px){.member-course-overview{padding:23px 21px;border-radius:16px}.academy-registration-row{grid-template-columns:1fr;padding:17px 18px}.academy-registration-row.is-head{display:none}.academy-registration-row>div:last-child{grid-column:auto}.academy-registration-panel .member-panel-heading{padding:20px 18px}.academy-reject-form{width:100%}.academy-reject-form input{flex:1;width:auto}.academy-registration-details dl{grid-template-columns:90px 1fr}}

/* Academy course and member-material relationship */
.member-course-management-section{margin-top:24px}.member-course-management-page,.member-course-management-page *:not(i):not(.bi),.academy-course-admin-page,.academy-course-admin-page *:not(i):not(.bi){font-weight:400!important}.member-course-management-page.member-course-management-page h1,.member-course-management-page.member-course-management-page h2,.member-course-management-page.member-course-management-page h3,.academy-course-admin-page.academy-course-admin-page h1,.academy-course-admin-page.academy-course-admin-page h2,.academy-course-admin-page.academy-course-admin-page h3{font-weight:750!important}.member-section-eyebrow{display:block;margin-bottom:5px;color:#14875c;font-size:.72rem;font-weight:700!important;letter-spacing:.14em}.member-course-edit-link.is-material{background:#edf9f3;color:#147a54;border-color:#d8eee4}.member-course-edit-link.is-material:hover{background:#dff4e9}.material-linked-row .member-course-list-icon{background:#edf8f3;color:#16845b}.member-picker-search{width:100%;margin-bottom:16px}.member-academy-picker-list{display:grid;gap:10px}.member-academy-picker-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px;border:1px solid #dce5e1;border-radius:14px;background:#fff;color:#14231f;text-align:left;transition:.18s ease}.member-academy-picker-option:hover{border-color:#62aa8b;background:#f5fbf8;transform:translateY(-1px)}.member-academy-picker-option span{display:grid;gap:5px}.member-academy-picker-option strong{font-size:.98rem}.member-academy-picker-option small{color:#718079}.member-academy-picker-option i{color:#18845d}.member-linked-academy-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:24px;padding:22px 24px}.member-linked-academy-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#eaf7f1;color:#16845b;font-size:1.35rem}.member-linked-academy-summary h2{margin:0 0 5px;font-size:1.12rem}.member-linked-academy-summary p{display:flex;align-items:center;gap:7px;margin:0;color:#6b7973;font-size:.9rem}.member-linked-material-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid #dbe7e2;border-radius:16px;background:#f9fcfa}.member-linked-material-card h3{margin:10px 0 4px;font-size:1rem}.member-linked-material-card p{margin:0;color:#6c7974}.member-linked-material-card.is-empty{border-style:dashed;background:#fcfdfc}
@media(max-width:720px){.member-linked-academy-summary{grid-template-columns:auto 1fr}.member-linked-academy-summary>a{grid-column:1/-1;width:100%}.member-linked-material-card{align-items:flex-start;flex-direction:column}.member-linked-material-card .btn{width:100%}}

.member-management-page,.member-management-page *:not(i):not(.bi){font-weight:400!important}.academy-payment-settings-form{display:grid;gap:22px}.academy-payment-preview{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;margin-top:24px;padding:22px;color:#fff;background:linear-gradient(135deg,#243e37,#35695c);border-radius:14px}.academy-payment-preview>span{padding-right:20px;border-right:1px solid rgba(255,255,255,.18);font-size:13px}.academy-payment-preview dl{display:grid;grid-template-columns:90px 1fr;gap:8px;margin:0;font-size:13px}.academy-payment-preview dt{color:rgba(255,255,255,.62)}.academy-payment-preview dd{margin:0}.academy-payment-settings-form label small{display:block;margin-top:5px;color:var(--member-muted);font-size:11px}@media(max-width:700px){.academy-payment-preview{grid-template-columns:1fr}.academy-payment-preview>span{padding:0 0 12px;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}}

.academy-integrated-row{grid-template-columns:48px minmax(320px,1fr) 285px 250px}.academy-integrated-row .member-course-list-copy>div{min-width:0}.academy-integrated-row .member-course-list-copy h2{min-width:0;flex:0 1 auto}.academy-integrated-row .member-status{flex:0 0 auto}.academy-integrated-row .member-course-list-meta{grid-template-columns:80px 65px 105px}.academy-integrated-row .member-course-admin-actions{justify-content:flex-end;white-space:nowrap}.academy-participant-panel{margin-top:32px;padding:0;overflow:hidden}.academy-participant-panel .member-panel-heading{margin:0;padding:24px 26px;border-bottom:1px solid var(--member-line)}.academy-participant-tools{display:flex;align-items:center;gap:8px;padding:16px 24px;background:#fafcfb;border-bottom:1px solid var(--member-line)}.academy-participant-tools>span{margin-left:auto;color:var(--member-muted);font-size:12px}.academy-participant-list{display:grid}.academy-participant-row{display:grid;grid-template-columns:24px minmax(220px,1.2fr) minmax(160px,.8fr) 140px auto;align-items:center;gap:14px;padding:15px 24px;border-bottom:1px solid #edf0f1}.academy-participant-row:hover{background:#fafcfb}.academy-participant-select{display:grid;place-items:center;margin:0;cursor:pointer}.academy-participant-select>input{position:absolute;opacity:0;pointer-events:none}.academy-participant-check{width:22px;height:22px;display:grid;place-items:center;color:transparent;border:1px solid #cbd7d2;border-radius:6px}.academy-participant-select>input:checked+.academy-participant-check{color:#fff;background:var(--member-green);border-color:var(--member-green)}.academy-participant-copy strong,.academy-participant-copy small{display:block}.academy-participant-copy small,.academy-participant-organization,.academy-participant-role{margin-top:3px;color:var(--member-muted);font-size:11px}.academy-participant-transfer{justify-self:end;white-space:nowrap}.academy-compose-box{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(360px,1.3fr) auto;align-items:end;gap:14px;padding:22px 24px;background:#f7faf8}.academy-compose-box label{display:grid;gap:7px}.academy-compose-box label>span{font-size:12px}.academy-compose-box input,.academy-compose-box textarea,.member-payment-toolbar select{width:100%;padding:10px 12px;border:1px solid var(--member-line);border-radius:10px;background:#fff;outline:0}.academy-compose-box textarea{resize:vertical}.member-payment-toolbar{display:flex;align-items:center;gap:10px}.member-payment-toolbar .member-search-input{width:min(430px,52vw)}.member-payment-toolbar select{width:130px;min-height:44px}.academy-course-admin-page .member-course-admin-actions .member-search-input{width:min(380px,40vw)}
.academy-email-modal .modal-dialog{width:min(820px,calc(100% - 24px));max-width:820px}.academy-email-modal .academy-compose-box{grid-template-columns:1fr;align-items:stretch;padding:0;background:transparent}.academy-email-modal .academy-compose-editor{min-width:0}.academy-email-modal .tox-tinymce{border-color:var(--member-line);border-radius:10px}.academy-open-email-modal{margin-left:8px;white-space:nowrap}
@media(max-width:1280px){.academy-integrated-row{grid-template-columns:48px minmax(260px,1fr) 250px}.academy-integrated-row .member-course-admin-actions{grid-column:2/-1}.academy-compose-box{grid-template-columns:1fr 1fr}.academy-compose-box .btn{grid-column:1/-1;justify-self:end}.academy-participant-row{grid-template-columns:24px minmax(200px,1fr) minmax(160px,1fr) auto}.academy-participant-role{grid-column:2}.academy-participant-transfer{grid-column:4;grid-row:1/3}}
@media(max-width:760px){.academy-integrated-row{grid-template-columns:46px 1fr}.academy-integrated-row .member-course-list-meta,.academy-integrated-row .member-course-admin-actions{grid-column:1/-1}.academy-integrated-row .member-course-admin-actions{justify-content:flex-start;flex-wrap:wrap}.academy-participant-row{grid-template-columns:24px minmax(0,1fr);align-items:start;padding:16px 18px}.academy-participant-organization,.academy-participant-role,.academy-participant-transfer{grid-column:2}.academy-participant-transfer{grid-row:auto;justify-self:start;width:100%;margin-top:2px}.academy-compose-box{grid-template-columns:1fr}.academy-compose-box .btn{grid-column:auto;width:100%}.member-payment-toolbar{width:100%;align-items:stretch;flex-direction:column}.member-payment-toolbar .member-search-input,.member-payment-toolbar select,.academy-course-admin-page .member-course-admin-actions .member-search-input{width:100%}}
@media(max-width:760px){.member-heading-actions{width:100%;align-items:stretch;flex-direction:column}.member-heading-actions .btn{width:100%}}

/* Member registration history */
.member-registration-hero{display:flex;align-items:center;justify-content:space-between;gap:34px;margin-bottom:38px;padding:36px 40px;background:#fff;border:1px solid #dde4e7;border-radius:20px;box-shadow:0 18px 45px rgba(30,49,60,.08)}
.member-registration-hero .eyebrow{color:#477267;font-size:10px;font-weight:800;letter-spacing:.16em}.member-registration-hero h1{margin:9px 0 7px;color:var(--portal-ink,#1e3440);font-size:34px}.member-registration-hero p{margin:0;color:#687680;font-size:13px}
.member-registration-summary{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));overflow:hidden;min-width:390px;background:#f5f8f8;border:1px solid #e1e7e9;border-radius:15px}.member-registration-summary>div{display:grid;gap:4px;padding:18px 20px;border-left:1px solid #e1e7e9}.member-registration-summary>div:first-child{border-left:0}.member-registration-summary strong{color:#1f3d34;font-size:27px}.member-registration-summary span{color:#74818a;font-size:10px}
.member-registration-group+.member-registration-group{margin-top:42px;padding-top:34px;border-top:1px solid #dfe5e7}.member-registration-list{display:grid;gap:14px}.member-registration-card{display:grid;grid-template-columns:190px minmax(0,1fr) 190px;align-items:stretch;overflow:hidden;background:#fff;border:1px solid #dde4e7;border-radius:16px;box-shadow:0 10px 28px rgba(31,48,59,.06)}
.member-registration-date{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:22px 24px;background:#f4f8f6;border-right:1px solid #e0e7e4}.member-registration-date span{color:#264b40;font-size:14px;font-weight:700}.member-registration-date small{color:#78868e;font-size:11px;line-height:1.5}
.member-registration-main{padding:21px 25px}.member-registration-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.member-registration-heading>div{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.member-registration-status,.member-registration-order-tag{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:700}.member-registration-status{color:#4d625b;background:#edf2f0}.member-registration-status.status-confirmed{color:#17623f;background:#e5f6ec}.member-registration-status.status-payment-review,.member-registration-status.status-awaiting-payment{color:#76571f;background:#fff3d9}.member-registration-status.status-payment-rejected{color:#934444;background:#fdebea}.member-registration-status.status-waitlisted{color:#53658b;background:#edf0f8}.member-registration-status.status-cancelled,.member-registration-status.status-expired{color:#6f777b;background:#eef0f1}.member-registration-order-tag{color:#586b75;background:#f0f3f5}.member-registration-price{color:#455760;font-size:12px;font-weight:700;white-space:nowrap}.member-registration-main h2{margin:12px 0 6px;color:var(--portal-ink,#1e3440);font-size:17px;line-height:1.5}.member-registration-main>p{margin:0;color:#728087;font-size:11px;line-height:1.65}.member-registration-rejection{display:flex;align-items:flex-start;gap:7px;margin-top:10px;padding:9px 11px;color:#914545;background:#fff4f3;border-radius:8px;font-size:11px}
.member-registration-details{padding:21px 22px;border-left:1px solid #e4e9eb}.member-registration-details summary{display:flex;align-items:center;justify-content:space-between;color:#315f55;cursor:pointer;font-size:12px;font-weight:700;list-style:none}.member-registration-details summary::-webkit-details-marker{display:none}.member-registration-details[open]{grid-column:1/-1;padding:20px 25px;border-top:1px solid #e4e9eb;border-left:0}.member-registration-details[open] summary{margin-bottom:17px}.member-registration-details[open] summary i{transform:rotate(180deg)}.member-registration-details dl{display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 24px;margin:0}.member-registration-details[open] dl{display:grid}.member-registration-details dl>div{min-width:0}.member-registration-details dt{margin-bottom:4px;color:#8a959b;font-size:9px}.member-registration-details dd{overflow-wrap:anywhere;margin:0;color:#344750;font-size:11px}.member-registration-action{display:none;align-items:center;justify-content:center;gap:7px;margin-top:18px;padding:10px 14px;color:#fff;background:#315f55;border-radius:9px;text-decoration:none;font-size:11px}.member-registration-details[open] .member-registration-action{display:inline-flex}.member-registration-empty{display:flex;align-items:center;justify-content:center;gap:9px;padding:28px;color:#879299;background:#fff;border:1px dashed #cad6d1;border-radius:14px;font-size:12px}
.member-dashboard-registration-preview{margin-bottom:40px}.member-dashboard-registration-preview .member-content-heading>a{display:inline-flex;align-items:center;gap:6px;color:#315f55;text-decoration:none;font-size:13px;font-weight:700}.member-dashboard-registration-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.member-dashboard-registration-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 20px;color:#263943;background:#fff;border:1px solid #dde4e7;border-radius:13px;text-decoration:none;transition:.2s}.member-dashboard-registration-item:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(31,48,59,.1)}.member-dashboard-registration-icon{width:48px;height:48px;display:grid;place-items:center;color:#397869;background:#edf5f2;border-radius:12px;font-size:19px}.member-dashboard-registration-copy{min-width:0}.member-dashboard-registration-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.45}.member-dashboard-registration-meta{display:flex;align-items:center;gap:8px;min-width:0;margin-top:7px;color:#7c8990;font-size:12px;line-height:1.4}.member-dashboard-registration-meta>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-dashboard-registration-status{flex:0 0 auto;padding:3px 8px;color:#6c7b75;background:#f0f3f2;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.member-dashboard-registration-status.is-payment-rejected{color:#b43636;background:#fff0ef}.member-dashboard-registration-status.is-confirmed{color:#167349;background:#eaf8f0}.member-dashboard-registration-status.is-payment-review{color:#3b6685;background:#edf5fb}.member-dashboard-registration-status.is-awaiting-payment{color:#9a6517;background:#fff7e7}.member-dashboard-registration-status.is-waitlisted{color:#6f55a0;background:#f4effc}.member-dashboard-registration-status.is-cancelled,.member-dashboard-registration-status.is-expired{color:#68736f;background:#eef1f0}.member-dashboard-registration-item>i{color:#8b979c}
@media(max-width:950px){.member-registration-hero{align-items:stretch;flex-direction:column}.member-registration-summary{min-width:0}.member-registration-card{grid-template-columns:170px minmax(0,1fr)}.member-registration-details{grid-column:1/-1;border-top:1px solid #e4e9eb;border-left:0}.member-dashboard-registration-list{grid-template-columns:1fr}}
@media(max-width:700px){.member-registration-hero{padding:27px 23px}.member-registration-hero h1{font-size:28px}.member-registration-summary{grid-template-columns:1fr}.member-registration-summary>div{grid-template-columns:auto 1fr;align-items:center;padding:12px 16px;border-top:1px solid #e1e7e9;border-left:0}.member-registration-summary>div:first-child{border-top:0}.member-registration-summary strong{font-size:22px}.member-registration-card{grid-template-columns:1fr}.member-registration-date{padding:16px 20px;border-right:0;border-bottom:1px solid #e0e7e4}.member-registration-main{padding:19px 20px}.member-registration-details{padding:17px 20px}.member-registration-details[open]{padding:18px 20px}.member-registration-details dl{grid-template-columns:1fr 1fr}.member-portal-nav a{padding-left:9px;padding-right:9px;font-size:11px}.member-portal-nav a i{font-size:14px}}

/* Member interfaces: readable production typography */
.member-admin-main,.member-portal-main{font-size:16px}.member-page-heading p,.member-panel-heading p,.member-form-grid label>span,.member-search-input input,.member-admin-nav a,.member-course-list-copy p,.member-course-list-meta small,.member-list-table,.member-list-table th,.member-list-table td{font-size:14px}.member-form-grid input,.member-form-grid select,.member-form-grid textarea,.member-form-modal input,.member-form-modal select,.member-form-modal textarea,.btn{font-size:15px}.member-stat-card span{font-size:14px}.member-stat-card strong{font-size:38px}.member-portal-nav a{font-size:14px}.member-portal-brand{font-size:19px}.member-portal-brand small,.member-portal-account div small{font-size:11px}.member-portal-account div strong{font-size:14px}.member-dashboard-hero p,.member-dashboard-organization,.member-content-heading p{font-size:14px}.member-portal-course-copy h2{font-size:20px}.member-portal-course-copy p,.member-course-deadline,.member-course-enter{font-size:14px}.member-registration-main h2{font-size:19px}.member-registration-main>p,.member-registration-price,.member-registration-details summary,.member-registration-details dd,.member-registration-action{font-size:13px}.member-registration-details dt{font-size:11px}

.member-package-layout{display:grid;grid-template-columns:minmax(330px,.72fr) minmax(560px,1.28fr);align-items:start;gap:22px}.member-package-list,.member-package-editor{padding:0;overflow:hidden}.member-package-list>.member-panel-heading,.member-package-editor>.member-panel-heading{padding:24px 26px;border-bottom:1px solid var(--member-line)}.member-package-editor>.member-form-grid{padding:24px 26px}.member-package-cards{display:grid}.member-package-card{display:grid;grid-template-columns:44px minmax(0,1fr) 42px 42px;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #edf0ef}.member-package-card:last-child{border-bottom:0}.member-package-card>span{width:42px;height:42px;display:grid;place-items:center;color:var(--member-green-dark);background:var(--member-green-soft);border-radius:11px}.member-package-card h3,.member-package-card p{margin:0}.member-package-card h3{font-size:16px}.member-package-card p{margin-top:4px;color:var(--member-muted);font-size:13px}.member-package-card form{margin:0}.member-package-picker{display:grid;gap:16px;padding:24px 26px;border-top:1px solid var(--member-line)}.member-package-picker .member-step-heading{margin:0}.member-package-picker .member-modal-check-list{max-height:360px;overflow:auto;padding-right:4px}.member-package-editor .member-sticky-actions{position:sticky;right:auto;bottom:0;justify-content:flex-end;width:100%;padding:16px 26px;background:rgba(255,255,255,.96);border-top:1px solid var(--member-line);border-radius:0;box-shadow:0 -10px 28px rgba(25,54,44,.06)}
@media(max-width:1050px){.member-package-layout{grid-template-columns:1fr}.member-package-editor{order:-1}}@media(max-width:700px){.member-package-card{grid-template-columns:40px minmax(0,1fr) 38px 38px;padding:14px}.member-package-picker,.member-package-editor>.member-form-grid{padding:19px}.member-package-editor .member-sticky-actions{padding:14px 19px}}
.academy-integrated-table-head{display:grid;grid-template-columns:48px minmax(320px,1fr) 285px 250px;align-items:center;gap:18px;padding:11px 26px;color:#7f8d87;background:#f7faf8;border-bottom:1px solid var(--member-line);font-size:12px}.academy-integrated-table-head>div{display:grid;grid-template-columns:80px 65px 105px;gap:8px;text-align:left}.academy-integrated-table-head>span:last-child{text-align:right;padding-right:18px}.academy-integrated-row .member-course-list-meta>span{align-items:flex-start;justify-content:center}.academy-integrated-row .member-course-list-meta strong{font-size:15px}
.member-package-pending-files{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding:13px 15px;color:#316b5a;background:#edf7f2;border:1px solid #d4e9df;border-radius:12px}.member-package-pending-files strong{width:100%;font-size:13px}.member-package-pending-files span{padding:5px 9px;color:#53665e;background:#fff;border:1px solid #dce8e2;border-radius:7px;font-size:12px}
.member-package-editor-stack{display:grid;gap:22px}.member-package-files{padding:0;overflow:hidden}.member-package-files>.member-panel-heading{padding:24px 26px;border-bottom:1px solid var(--member-line)}.member-package-file-list{display:grid}.member-package-file{display:grid;grid-template-columns:48px minmax(0,1fr) 42px;align-items:end;gap:14px;padding:16px 20px;border-bottom:1px solid #edf0ef}.member-package-file:last-child{border-bottom:0}.member-package-file>form:last-child{margin:0}.member-package-file-icon{width:46px;height:46px;display:grid;place-items:center;align-self:center;color:var(--member-green-dark);background:var(--member-green-soft);border:1px solid #d8eae2;border-radius:12px;font-size:20px}.member-package-file-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1.3fr) 80px 110px 78px;align-items:end;gap:10px}.member-package-file-form label{display:grid;gap:5px}.member-package-file-form label>span{font-size:12px;color:var(--member-muted)}.member-package-file-form input{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--member-line);border-radius:9px}.member-package-autosave-status{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:5px;color:#76847e;font-size:11px;white-space:nowrap}.member-package-autosave-status.is-saving{color:#6c7e76}.member-package-autosave-status.is-saving i{animation:member-spin .9s linear infinite}.member-package-autosave-status.is-saved{color:var(--member-green-dark)}.member-package-autosave-status.is-error{color:#ad4d53;white-space:normal}.tox-tinymce{border-color:var(--member-line)!important;border-radius:11px!important}.academy-compose-box .tox-tinymce{min-width:0;grid-column:1/-1}@keyframes member-spin{to{transform:rotate(360deg)}}
@media(max-width:1280px){.academy-integrated-table-head{display:none}.member-package-file{grid-template-columns:42px minmax(0,1fr) 40px}.member-package-file-form{grid-template-columns:1fr 1fr}.member-package-file-form .member-switch,.member-package-file-form .member-asset-save{grid-column:auto}}@media(max-width:700px){.member-package-file{padding:14px}.member-package-file-form{grid-template-columns:1fr}.member-package-file-form .member-switch,.member-package-file-form .member-asset-save{grid-column:auto}}

/* Member profile alignment, matching the password card */
.member-profile-form{align-items:start;column-gap:22px;row-gap:22px}
.member-profile-form label{display:flex;align-self:start;min-width:0;flex-direction:column;gap:8px}
.member-profile-form label>span{color:#35434d;font-size:13px;font-weight:700}
.member-profile-form input{height:54px;min-height:54px;padding:0 16px;background:#f8faf9;border-color:#d5dfdb;border-radius:12px;font-size:16px;line-height:54px}
.member-profile-form input:focus{background:#fff;border-color:#496f64;box-shadow:0 0 0 4px rgba(45,80,70,.09)}
.member-profile-form input[readonly]{color:#718078;background:#eef2f0;border-color:#dce3e0}
.member-profile-form small{min-height:18px;color:#7a8782;font-size:12px;line-height:1.55}
.member-profile-actions{margin-top:4px;padding-top:18px;border-top:1px solid #e5ebe8}
@media(max-width:700px){
    .member-profile-form{row-gap:18px}
    .member-profile-actions{grid-template-columns:1fr;margin-top:2px;padding-top:20px}
    .member-profile-actions a,.member-profile-actions button{width:100%}
}
.member-management-page .member-page-heading h1,.member-management-page .member-panel-heading h2,.member-management-page .member-stat-card strong{font-weight:700!important}

/* Unified Academy capacity, payment and waitlist states */
.academy-payment-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}.academy-payment-stats .member-stat-card{min-height:112px}.academy-waitlist-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:12px;margin-bottom:24px;padding:18px 22px;background:#fff;border:1px solid var(--member-line);border-radius:14px;box-shadow:var(--member-shadow)}.academy-waitlist-flow>div{display:grid;grid-template-columns:32px 1fr;column-gap:10px;align-items:center}.academy-waitlist-flow>div>span{width:32px;height:32px;display:grid;grid-row:1/3;place-items:center;color:var(--member-green-dark);background:var(--member-green-soft);border-radius:9px;font-size:13px;font-weight:700}.academy-waitlist-flow strong{font-size:14px;font-weight:700}.academy-waitlist-flow small{color:var(--member-muted);font-size:12px}.academy-waitlist-flow>i{color:#a2aea9}.academy-action-note{display:inline-flex;align-items:center;gap:6px;color:#766021;font-size:13px}.academy-registration-row.status-row-waitlisted{box-shadow:inset 3px 0 #d5a13c}.academy-registration-row.status-row-awaiting-payment{box-shadow:inset 3px 0 #7d6abd;background:#fcfbff}.academy-registration-row.status-row-payment-review{box-shadow:inset 3px 0 #4e88ae;background:#fbfdff}
.academy-proof-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:5px}.academy-proof-actions a{display:inline-flex!important;align-items:center;gap:5px;margin:0!important;padding:6px 9px;color:var(--member-green-dark);background:var(--member-green-soft);border:1px solid #d6e7e0;border-radius:8px;text-decoration:none;font-size:12px}.academy-proof-actions a:hover{color:#fff;background:var(--member-green)}
.member-capacity{display:inline-flex;align-items:center;gap:6px;width:max-content;margin-top:4px;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}.member-capacity.is-available{color:#176a47;background:#e7f6ed}.member-capacity.is-almost-full{color:#825a18;background:#fff0cf}.member-capacity.is-full{color:#a13d43;background:#fde7e9}.member-capacity.is-unlimited{color:#586761;background:#edf2f0}.academy-integrated-row.capacity-full{background:#fff7f7;box-shadow:inset 4px 0 #c94e55}.academy-integrated-row.capacity-almost-full{background:#fffdf7;box-shadow:inset 4px 0 #d39a2d}
.member-stat-card.capacity-full{background:#fff7f7;border-color:#edc9cc;box-shadow:inset 4px 0 #c94e55}.member-stat-card.capacity-almost-full{background:#fffdf7;border-color:#eeddb7;box-shadow:inset 4px 0 #d39a2d}.member-stat-card .member-capacity{margin-top:9px;font-size:12px}

.academy-course-admin-page .member-stat-card strong,.academy-payment-stats .member-stat-card strong{font-weight:700!important}.academy-reject-button{color:#a34141!important;background:#fff6f5!important;border:1px solid #efd0cd!important}.academy-reject-button:hover{background:#fdebea!important}.academy-reject-dialog{width:min(560px,calc(100% - 28px));max-width:none;padding:0;color:var(--member-ink);background:#fff;border:0;border-radius:18px;box-shadow:0 28px 80px rgba(18,42,34,.28)}.academy-reject-dialog::backdrop{background:rgba(21,39,33,.55);backdrop-filter:blur(4px)}.academy-reject-dialog form{margin:0}.academy-reject-dialog header{display:grid;grid-template-columns:44px minmax(0,1fr) 38px;align-items:center;gap:12px;padding:21px 23px;border-bottom:1px solid var(--member-line)}.academy-reject-dialog header>span{width:44px;height:44px;display:grid;place-items:center;color:#a34141;background:#fff0ef;border-radius:12px}.academy-reject-dialog header small,.academy-reject-dialog header h2{display:block;margin:0}.academy-reject-dialog header small{color:#8d9994;font-size:10px;letter-spacing:.12em}.academy-reject-dialog header h2{margin-top:2px;font-size:21px}.academy-reject-dialog header button{width:38px;height:38px;color:#66746e;background:#f4f7f5;border:0;border-radius:10px;cursor:pointer}.academy-reject-dialog-body{padding:22px 23px}.academy-reject-dialog-body>p{display:grid;gap:2px;margin:0 0 18px;padding:13px 15px;background:#f7f9f8;border-radius:10px}.academy-reject-dialog-body>p strong{font-size:15px}.academy-reject-dialog-body>p span{color:var(--member-muted);font-size:13px}.academy-reject-dialog-body label>span,.academy-reject-dialog-body label>small{display:block}.academy-reject-dialog-body label>span{margin-bottom:7px;font-size:14px}.academy-reject-dialog-body textarea{width:100%;min-height:145px;padding:12px 14px;border:1px solid #d7e1dd;border-radius:11px;resize:vertical;font:inherit;outline:0}.academy-reject-dialog-body textarea:focus{border-color:#70a996;box-shadow:0 0 0 3px rgba(38,116,95,.09)}.academy-reject-dialog-body label>small{margin-top:7px;color:var(--member-muted);font-size:12px;line-height:1.6}.academy-reject-dialog footer{display:flex;justify-content:flex-end;gap:9px;padding:17px 23px 22px;border-top:1px solid var(--member-line)}.academy-reject-confirm{color:#fff!important;background:#ad4b47!important;border-color:#ad4b47!important}.member-registration-action.is-reupload{color:#fff;background:#a34c47;border-color:#a34c47}.academy-discount-switch{display:flex;align-items:center;gap:11px;width:max-content;margin-bottom:21px;cursor:pointer}.academy-discount-switch input{position:absolute;opacity:0}.academy-discount-switch>span{position:relative;width:42px;height:24px;background:#cbd6d2;border-radius:999px;transition:.2s}.academy-discount-switch>span::after{position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 2px 5px rgba(0,0,0,.18);content:"";transition:.2s}.academy-discount-switch input:checked+span{background:var(--member-green)}.academy-discount-switch input:checked+span::after{transform:translateX(18px)}.academy-discount-switch strong{font-size:14px;font-weight:600}.academy-discount-preview{display:flex;align-items:center;gap:13px;margin-top:20px;padding:16px 18px;color:#315d50;background:#f0f7f4;border:1px solid #dbeae4;border-radius:12px}.academy-discount-preview>i{font-size:25px}.academy-discount-preview span,.academy-discount-preview strong,.academy-discount-preview small{display:block}.academy-discount-preview span,.academy-discount-preview small{color:#71817a;font-size:12px}.academy-discount-preview strong{margin:2px 0;font-size:15px}@media(max-width:700px){.academy-reject-dialog footer{align-items:stretch;flex-direction:column-reverse}.academy-reject-dialog footer .btn{width:100%}.academy-discount-switch{width:auto}.academy-discount-fields{grid-template-columns:1fr}}
.academy-discount-tier-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}.academy-discount-tier-heading h3{margin:0 0 4px;font-size:17px}.academy-discount-tier-heading p{margin:0;color:var(--member-muted);font-size:13px}.academy-add-discount-tier{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:9px 13px;border:1px solid #d8e4df;border-radius:10px;cursor:pointer}.academy-discount-tier-list{display:grid;gap:10px}.academy-discount-tier-row{display:grid;grid-template-columns:38px minmax(120px,.65fr) minmax(170px,1fr) minmax(170px,1fr) 40px;align-items:end;gap:12px;padding:14px;background:#f8faf9;border:1px solid #e0e7e4;border-radius:12px}.academy-discount-tier-row label>span{display:block;margin-bottom:6px;color:#53645e;font-size:12px}.academy-discount-tier-row input,.academy-discount-tier-row select{width:100%;min-height:42px;padding:8px 11px;border:1px solid #d7e1dd;border-radius:9px;background:#fff;font:inherit}.academy-discount-tier-index{align-self:center;width:32px;height:32px;display:grid;place-items:center;color:#23745d;background:#e7f4ee;border-radius:9px;font-size:13px;font-weight:700}.academy-remove-discount-tier{width:40px;height:40px;display:grid;place-items:center;color:#b24f4b;background:#fff4f3;border:1px solid #f0d5d2;border-radius:9px;cursor:pointer}.academy-remove-discount-tier:disabled{opacity:.35;cursor:not-allowed}.academy-discount-preview-list{display:grid;gap:2px;margin:3px 0}.academy-discount-preview-list strong{margin:0}.academy-discount-preview>div{min-width:0}@media(max-width:900px){.academy-discount-tier-row{grid-template-columns:34px 1fr 1fr}.academy-discount-tier-row label:nth-of-type(3){grid-column:2/4}.academy-remove-discount-tier{grid-column:4;grid-row:1/3}}@media(max-width:700px){.academy-discount-tier-heading{align-items:stretch;flex-direction:column}.academy-add-discount-tier{justify-content:center}.academy-discount-tier-row{grid-template-columns:32px minmax(0,1fr) 40px}.academy-discount-tier-row label,.academy-discount-tier-row label:nth-of-type(3){grid-column:2}.academy-remove-discount-tier{grid-column:3;grid-row:1/4}.member-dashboard-registration-meta{align-items:flex-start;flex-direction:column;gap:5px}}
@media(max-width:900px){.academy-waitlist-flow{grid-template-columns:1fr 1fr}.academy-waitlist-flow>i{display:none}}@media(max-width:700px){.academy-payment-stats{grid-template-columns:1fr}.academy-waitlist-flow{grid-template-columns:1fr}.academy-waitlist-flow>div{padding:5px 0}}
.member-course-management-page .member-stat-card strong{font-weight:700!important}
.member-registration-rejection>div{display:grid;gap:2px;min-width:0}.member-registration-rejection>div>strong{font-size:12px;font-weight:700}.member-registration-rejection-content{overflow-wrap:anywhere;line-height:1.65}.member-registration-rejection-content>:first-child{margin-top:0}.member-registration-rejection-content>:last-child{margin-bottom:0}

/* Payment review actions and course-capacity layout */
.academy-registration-actions .btn-sm{min-width:96px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 13px;border-radius:9px;font-size:14px;line-height:1.2}.academy-reject-button{color:#fff!important;background:#d36b6b!important;border-color:#d36b6b!important}.academy-reject-button:hover,.academy-reject-button:focus{color:#fff!important;background:#bf5959!important;border-color:#bf5959!important}.academy-reject-dialog-body label{display:block}.academy-reject-dialog-body .tox-tinymce{width:100%;margin-top:7px}.academy-reject-dialog-body .tox-editor-header{box-shadow:0 1px 0 #e0e7e4!important}
.academy-integrated-row .member-course-list-copy h2{font-weight:400!important}.academy-capacity-summary{display:flex!important;align-items:flex-start!important;flex-direction:column;gap:7px}.academy-capacity-summary>strong{font-weight:600!important;white-space:nowrap}.academy-capacity-pills{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.academy-capacity-pills small{display:inline-flex!important;align-items:center;width:max-content;margin:0;padding:5px 9px;border-radius:999px;font-size:12px!important;line-height:1.25;white-space:nowrap}.academy-capacity-limit{color:#586761;background:#edf2f0}.academy-capacity-pending{color:#75571d;background:#fff1cf}.academy-capacity-pills .member-capacity{margin:0}
@media(min-width:1281px){.academy-integrated-table-head,.academy-integrated-row{grid-template-columns:48px minmax(320px,1fr) 420px 250px}.academy-integrated-table-head>div,.academy-integrated-row .member-course-list-meta{grid-template-columns:240px 65px 105px;gap:10px}}
@media(min-width:761px) and (max-width:1280px){.academy-integrated-row .member-course-list-meta{grid-template-columns:minmax(120px,1fr) 50px 80px;gap:6px}}
@media(max-width:760px){.academy-integrated-row .member-course-list-meta{grid-template-columns:minmax(130px,1fr) 50px 80px;gap:8px}.academy-capacity-pills small{font-size:11px!important}}
@media(max-width:520px){.academy-integrated-row .member-course-list-meta{grid-template-columns:1fr 1fr}.academy-integrated-row .academy-capacity-summary{grid-column:1/-1}}

/* Independent course status and reusable material sources */
.academy-integrated-row{min-height:124px}.academy-integrated-row .academy-course-title-row{display:block}.academy-course-status-row{display:flex!important;align-items:center!important;gap:8px!important;margin-top:8px}.academy-course-status-row>span:first-child{color:var(--member-muted);font-size:12px}.academy-course-status-row .member-status{padding:4px 9px;font-size:12px}.academy-integrated-row .member-course-list-copy>p{margin-top:8px}
.member-package-create-note{display:flex;align-items:center;gap:13px;margin:0 26px 22px;padding:16px 18px;color:#46645a;background:#f2f8f5;border:1px dashed #cde2d8;border-radius:12px}.member-package-create-note>i{width:38px;height:38px;display:grid;flex:0 0 auto;place-items:center;color:var(--member-green-dark);background:#fff;border-radius:10px;font-size:18px}.member-package-create-note strong,.member-package-create-note span{display:block}.member-package-create-note strong{font-size:15px}.member-package-create-note span{margin-top:3px;color:var(--member-muted);font-size:13px}
.member-material-source-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px}.member-material-source-card{position:relative;cursor:pointer}.member-material-source-card>input{position:absolute;opacity:0;pointer-events:none}.member-material-source-card>span{min-height:112px;display:grid;grid-template-columns:42px minmax(0,1fr);align-content:center;column-gap:13px;padding:18px;color:#42564e;background:#fafcfb;border:1px solid var(--member-line);border-radius:14px;transition:.18s}.member-material-source-card>span>i{width:42px;height:42px;display:grid;grid-row:1/3;place-items:center;color:var(--member-green-dark);background:var(--member-green-soft);border-radius:11px;font-size:19px}.member-material-source-card strong{font-size:16px}.member-material-source-card small{margin-top:5px;color:var(--member-muted);font-size:13px;line-height:1.55}.member-material-source-card>input:checked+span{color:#174c3d;background:#eff8f4;border-color:#58a087;box-shadow:0 0 0 3px rgba(35,132,98,.08)}.member-material-source-card>input:disabled+span{opacity:.5;cursor:not-allowed}.member-material-source-panel{padding:20px;background:#f9fbfa;border:1px solid #e2e9e6;border-radius:14px}.member-material-source-panel[hidden]{display:none!important}.member-package-source-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}.member-package-source-toolbar h3,.member-package-source-toolbar p{margin:0}.member-package-source-toolbar h3{font-size:16px}.member-package-source-toolbar p{margin-top:3px;color:var(--member-muted);font-size:13px}.member-package-source-toolbar .member-search-input{width:min(360px,45%)}.member-package-source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.member-package-source-list>label{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:11px;padding:14px 15px;background:#fff;border:1px solid #dce6e2;border-radius:11px;cursor:pointer}.member-package-source-list>label>input{position:absolute;opacity:0}.member-package-source-list>label>span{width:22px;height:22px;display:grid;place-items:center;color:transparent;border:1px solid #bdcdc6;border-radius:6px}.member-package-source-list>label:has(input:checked){background:#eff8f4;border-color:#6aa990}.member-package-source-list>label>input:checked+span{color:#fff;background:var(--member-green);border-color:var(--member-green)}.member-package-source-list strong,.member-package-source-list small{display:block}.member-package-source-list strong{font-size:14px}.member-package-source-list small{margin-top:3px;color:var(--member-muted);font-size:12px}.member-package-source-empty{display:flex;align-items:center;justify-content:center;gap:9px;padding:28px;color:var(--member-muted);background:#fff;border:1px dashed #cad8d2;border-radius:11px}.member-package-source-empty a{color:var(--member-green-dark)}
@media(max-width:760px){.academy-integrated-row{min-height:0}.member-material-source-options,.member-package-source-list{grid-template-columns:1fr}.member-package-source-toolbar{align-items:stretch;flex-direction:column}.member-package-source-toolbar .member-search-input{width:100%}.member-package-create-note{margin-right:19px;margin-left:19px}}

/* Course authorization payment context */
.member-access-modal-tools .member-search-input{max-width:430px}.member-access-modal-tools>div:last-child{flex-wrap:wrap;justify-content:flex-end}.member-payment-confirmed-badge{display:inline-flex!important;align-items:center;gap:4px;width:max-content;margin-top:5px;padding:4px 7px;color:#176a47!important;background:#e5f5ec;border-radius:999px;font-size:11px!important;line-height:1.25}.member-payment-confirmed-badge i{font-size:12px}.member-check-card.is-payment-confirmed:not(.is-selected){border-color:#b9ddcc;background:#fbfefc}.member-text-button.is-active{color:#fff;background:var(--member-green)}.member-access-payment-count{display:inline-flex;align-items:center;gap:5px;margin-right:auto;color:var(--member-green-dark);font-size:13px}.member-access-payment-count strong{font-size:14px}

/* Mobile member portal navigation */
@media(max-width:700px){
    .member-portal-header{background:#fff;backdrop-filter:none}
    .member-portal-header-inner{min-height:68px;flex-wrap:nowrap;padding:9px 0}
    .member-portal-nav{position:fixed;z-index:120;right:0;bottom:0;left:0;width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:rgba(255,255,255,.98);border-top:1px solid var(--member-line);box-shadow:0 -8px 24px rgba(23,36,49,.09)}
    .member-portal-nav a{min-width:0;min-height:55px;display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 2px;border-radius:10px;font-size:12px;line-height:1.2;text-align:center;white-space:nowrap;-webkit-tap-highlight-color:transparent}
    .member-portal-nav a i{font-size:18px;line-height:1}
    .member-portal-nav a.active{box-shadow:inset 0 0 0 1px rgba(40,117,101,.08)}
    .member-portal-body.is-member-authenticated{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
    .member-portal-body.is-member-authenticated .member-portal-main{padding-bottom:60px}
}

/* Unified member profile controls */
.member-profile-heading>span,.member-password-card>.member-login-icon{color:#fff;background:#203543;border-radius:12px;box-shadow:0 8px 18px rgba(32,53,67,.16)}
.member-profile-actions button{min-height:54px;color:#fff;background:#203743;border:1px solid #203743;border-radius:11px;box-shadow:0 12px 24px rgba(27,54,66,.17);font-size:15px;font-weight:700;cursor:pointer;transition:.2s}
.member-profile-actions button:hover{color:#fff;background:#287565;border-color:#287565;transform:translateY(-1px)}
.member-profile-actions a{min-height:51px;color:var(--member-green-dark);background:#fff;border:1px solid #cfddd7;border-radius:11px;font-size:15px;font-weight:700}
.member-profile-actions a:hover{color:var(--member-green-dark);background:var(--member-green-soft)}

/* Password recovery */
.member-login-forgot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px 18px;margin:13px 0 0;text-align:right}.member-login-forgot a{display:inline-flex;align-items:center;gap:6px;color:var(--member-green-dark);font-size:13px;font-weight:700;text-decoration:none}.member-login-forgot a:hover{text-decoration:underline}
.member-reset-shell{min-height:min(680px,calc(100vh - 200px));display:grid;grid-template-columns:.85fr 1.15fr;overflow:hidden;background:#fff;border:1px solid var(--member-line);border-radius:28px;box-shadow:0 28px 80px rgba(24,73,54,.14)}
.member-reset-aside{display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,6vw,72px);color:#fff;background:linear-gradient(150deg,#18333e,#245b53 60%,#29845f)}.member-reset-aside .eyebrow{color:#bde4d3}.member-reset-aside h1{max-width:480px;margin:13px 0 18px;font-size:clamp(32px,4vw,51px);line-height:1.16;letter-spacing:-.04em}.member-reset-aside p{max-width:500px;margin:0;color:rgba(255,255,255,.79);font-size:16px;line-height:1.75}.member-reset-aside ul{display:grid;gap:13px;margin:30px 0 0;padding:0;list-style:none}.member-reset-aside li{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.91);font-size:14px}.member-reset-aside li i{width:34px;height:34px;display:grid;place-items:center;background:rgba(255,255,255,.12);border-radius:10px}
.member-reset-card{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,6vw,70px)}.member-reset-heading{display:flex;align-items:center;gap:14px;margin-bottom:24px}.member-reset-heading h2{margin:4px 0 0;font-size:29px}.member-reset-steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 27px}.member-reset-steps:before{content:"";position:absolute;left:16.66%;right:16.66%;top:17px;height:2px;background:#d9e4df}.member-reset-step{position:relative;z-index:1;display:grid;justify-items:center;gap:6px;color:#919d98;text-align:center}.member-reset-step b{width:35px;height:35px;display:grid;place-items:center;color:#75827d;background:#edf2ef;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #d9e4df;font-size:13px}.member-reset-step small{font-size:11px;font-weight:700}.member-reset-step.is-active,.member-reset-step.is-complete{color:var(--member-green-dark)}.member-reset-step.is-active b,.member-reset-step.is-complete b{color:#fff;background:var(--member-green);box-shadow:0 0 0 1px var(--member-green)}
.member-reset-notice{display:flex;align-items:flex-start;gap:9px;margin-bottom:18px;padding:13px 14px;color:#176b46;background:#e8f6ee;border:1px solid #cce6d7;border-radius:12px;font-size:13px;line-height:1.6}.member-reset-notice i{margin-top:2px}.member-reset-context{display:flex;align-items:center;gap:8px;margin:0 0 18px;padding:12px 14px;color:#596a63;background:#f5f8f6;border-radius:11px;font-size:13px}.member-reset-context strong{color:var(--member-ink)}.member-reset-code{width:100%;min-height:58px;padding:12px 18px;color:var(--member-ink);background:#f9fcfa;border:1px solid #d5e2db;border-radius:13px;outline:none;text-align:center;font-size:25px;font-weight:800;letter-spacing:.32em}.member-reset-code:focus{border-color:var(--member-green);box-shadow:0 0 0 4px rgba(35,136,90,.1)}.member-login-form label small{color:var(--member-muted);font-size:11px}.member-reset-secondary-actions{display:flex;justify-content:space-between;gap:12px;margin-top:16px}.member-reset-secondary-actions form{margin:0}.member-reset-secondary-actions button,.member-reset-back{padding:0;color:var(--member-green-dark);background:transparent;border:0;font-size:12px;font-weight:700;text-decoration:none;cursor:pointer}.member-reset-back{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;margin-top:26px}.member-reset-secondary-actions button:hover,.member-reset-back:hover{text-decoration:underline}

/* Keep Bootstrap member forms operable on short and narrow screens. */
.member-form-modal .modal-content{max-height:calc(100dvh - 24px);display:flex;flex-direction:column}.member-form-modal .modal-content>form{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}.member-form-modal .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.member-form-modal .modal-header,.member-form-modal .modal-footer{flex:0 0 auto}

@media(max-width:760px){
  .member-reset-shell{min-height:0;grid-template-columns:1fr;border-radius:21px}.member-reset-aside{padding:28px 24px}.member-reset-aside h1{margin-bottom:10px;font-size:29px}.member-reset-aside p{font-size:14px}.member-reset-aside ul{display:none}.member-reset-card{padding:28px 22px 32px}.member-reset-heading{margin-bottom:20px}.member-reset-heading h2{font-size:25px}.member-reset-step small{font-size:10px}.member-reset-secondary-actions{align-items:flex-start;flex-direction:column}.member-reset-code{font-size:22px}
  .member-form-modal{padding:0!important}.member-form-modal .modal-dialog{width:calc(100% - 12px);max-width:none;height:calc(100dvh - 12px);min-height:0;margin:6px auto;align-items:stretch}.member-form-modal .modal-content{height:100%;max-height:none;border-radius:17px}.member-form-modal .modal-header{padding:17px 18px 14px}.member-form-modal .modal-body{padding:17px 18px 22px}.member-form-modal .modal-footer{display:grid;grid-template-columns:1fr 1fr;padding:12px 18px calc(14px + env(safe-area-inset-bottom))}.member-form-modal .modal-footer .btn{width:100%;min-height:46px}.member-form-modal .member-form-grid{gap:15px}.member-form-modal .member-form-grid input,.member-form-modal .member-form-grid select{min-height:48px}
  .member-management-page .table-responsive{overflow:visible}.member-management-page .member-table,.member-management-page .member-table tbody{display:block}.member-management-page .member-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.member-management-page .member-table tbody{display:grid;gap:12px}.member-management-page .member-table tbody tr{display:grid;gap:0;padding:8px 15px;background:#fff;border:1px solid var(--member-line);border-radius:15px;box-shadow:0 8px 22px rgba(27,65,49,.05)}.member-management-page .member-table tbody td{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:11px;padding:10px 0;border:0;border-bottom:1px solid #edf2ef}.member-management-page .member-table tbody td:last-child{border-bottom:0}.member-management-page .member-table tbody td:before{content:attr(data-label);color:var(--member-muted);font-size:11px;font-weight:700}.member-management-page .member-table .member-row-actions{justify-content:flex-start!important;flex-wrap:wrap}.member-management-page .member-table .member-row-actions form{margin:0}.member-management-page .member-table .member-icon-btn{width:42px;height:42px}.member-management-page .member-table td.member-empty{display:block;padding:30px;text-align:center}.member-management-page .member-table td.member-empty:before{display:none}
}

/* Mobile member portal compression safeguards */
@media(max-width:700px){
    .member-profile-heading{align-items:flex-start}
    .member-profile-heading>div{min-width:0}
    .member-profile-heading h1,.member-profile-heading p,.member-dashboard-hero h1,.member-course-hero h1,.member-content-heading h2,.member-registration-main h2{overflow-wrap:anywhere}
    .member-profile-actions{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);width:100%}
    .member-profile-actions a,.member-profile-actions button{width:100%;padding-right:10px;padding-left:10px;white-space:nowrap}
    .member-registration-heading{align-items:flex-start;flex-direction:column;gap:9px}
    .member-registration-heading>div{width:100%}
    .member-registration-status,.member-registration-order-tag,.member-course-status,.member-count-pill{flex:0 0 auto;white-space:nowrap}
    .member-registration-price{align-self:flex-start}
    .member-registration-details[open] .member-registration-action{width:100%;min-height:46px}
    .member-content-heading{align-items:flex-start;flex-wrap:wrap}
}
@media(max-width:520px){
    .member-registration-details dl{grid-template-columns:1fr}
    .member-dashboard-registration-item{position:relative;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:16px 44px 16px 16px}
    .member-dashboard-registration-icon{width:44px;height:44px}
    .member-dashboard-registration-item>i{position:absolute;right:16px;top:50%;transform:translateY(-50%)}
    .member-dashboard-registration-meta{align-items:flex-start;flex-direction:column;gap:5px}
    .member-dashboard-registration-meta>span{max-width:100%;white-space:normal}
    .member-dashboard-registration-status{width:max-content;max-width:100%;white-space:nowrap}
}

/* Authenticated shortcut back to the public website */
.member-portal-account>a.member-portal-site-shortcut{display:inline-flex;align-items:center;gap:6px;margin:0 7px 0 0;padding:8px 10px;color:#286c5f;background:#edf5f2;border-radius:10px;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}
.member-portal-account>a.member-portal-site-shortcut i{font-size:15px}
.member-portal-account>a.member-portal-site-shortcut:hover{color:#fff;background:#287565}
@media(max-width:700px){.member-portal-account>a.member-portal-site-shortcut{width:34px;height:34px;justify-content:center;margin-right:3px;padding:0}.member-portal-site-shortcut span{display:none}}
.member-public-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.member-portal-language{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 10px;border:1px solid #dbe6e1;border-radius:10px;color:#286c5f;background:#f5f9f7;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}.member-portal-language:hover{color:#fff;background:#287565;border-color:#287565}.member-portal-account>a.member-portal-language{margin:0;font-size:12px}.member-public-actions .member-return-site{margin-left:0}@media(max-width:700px){.member-portal-account>a.member-portal-language{width:34px;height:34px;padding:0}.member-portal-account>a.member-portal-language span{display:none}.member-public-actions{gap:6px}.member-public-actions .member-portal-language{padding:6px 9px}.member-public-actions .member-return-site{font-size:12px}}

/* Clear, responsive registration journey */
.academy-progress.is-member-card{margin-top:16px;padding:13px 10px;background:#f7faf8;border:1px solid #e1e9e5;border-radius:12px}.academy-progress ol{display:flex;align-items:flex-start;margin:0;padding:0;list-style:none}.academy-progress li{position:relative;display:grid;flex:1;justify-items:center;gap:7px;min-width:0;text-align:center}.academy-progress li:not(:last-child)::after{position:absolute;z-index:0;top:13px;left:calc(50% + 15px);width:calc(100% - 30px);height:2px;background:#d8dfdc;content:""}.academy-progress li.is-complete:not(:last-child)::after{background:#2b8a71}.academy-progress b{position:relative;z-index:1;width:28px;height:28px;display:grid;place-items:center;color:#98a39f;background:#edf0ef;border:2px solid #d6ddda;border-radius:50%;font-size:13px}.academy-progress b>span{width:6px;height:6px;background:currentColor;border-radius:50%}.academy-progress em{color:#89938f;font-size:11px;font-style:normal;font-weight:700;line-height:1.35}.academy-progress .is-complete b,.academy-progress .is-current b{color:#fff;background:#2b8a71;border-color:#2b8a71}.academy-progress .is-complete em,.academy-progress .is-current em{color:#236c59}.academy-progress .is-current b{box-shadow:0 0 0 4px rgba(43,138,113,.11)}.academy-progress .is-error b{color:#fff;background:#b95450;border-color:#b95450}.academy-progress .is-error em{color:#a23f3b}
.member-registration-details .academy-progress.is-member-card{margin-bottom:17px}
.member-registration-card.status-payment-rejected .member-registration-main>p{color:#b43636;font-weight:700}.member-registration-status.status-payment-rejected{color:#b43636;background:#fff0ef;border:1px solid #f2c5c2}
@media(max-width:520px){.academy-progress.is-member-card{padding:12px 5px}.academy-progress li{gap:6px}.academy-progress li:not(:last-child)::after{top:12px;left:calc(50% + 13px);width:calc(100% - 26px)}.academy-progress b{width:26px;height:26px}.academy-progress em{font-size:9px;line-height:1.3}}
.academy-promote-deadline{display:grid!important;gap:8px}.academy-promote-deadline>span:first-child{margin:0!important;color:#263a33;font-size:14px;font-weight:600}.academy-datetime-control{position:relative;min-height:58px;display:flex!important;align-items:center;padding:0 12px 0 47px;background:#f8fbfa;border:1px solid #d6e2dd;border-radius:12px;transition:border-color .2s,box-shadow .2s,background .2s}.academy-datetime-control:focus-within{background:#fff;border-color:#4f957f;box-shadow:0 0 0 4px rgba(38,116,95,.1)}.academy-datetime-control>i{position:absolute;left:16px;color:#27765f;font-size:19px;pointer-events:none}.academy-datetime-control input[type=datetime-local]{width:100%;min-width:0;height:56px;margin:0;padding:0;color:#1e312a;background:transparent;border:0;outline:0;font:inherit;font-size:16px;font-variant-numeric:tabular-nums}.academy-datetime-control input[type=datetime-local]::-webkit-calendar-picker-indicator{width:24px;height:24px;margin-left:8px;padding:4px;cursor:pointer;opacity:.65}.academy-promote-deadline>small{display:flex!important;align-items:flex-start;gap:7px;margin:0!important;color:#718078!important}.academy-promote-deadline>small i{flex:0 0 auto;margin-top:3px;color:#4f7f70}@media(max-width:520px){.academy-datetime-control{padding-left:42px}.academy-datetime-control input[type=datetime-local]{font-size:14px}}
.academy-email-template-section {
    margin-top: 28px;
}

.academy-email-test-form {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto;
    gap: 14px;
    align-items: end;
    padding: 18px;
    border: 1px solid #dbe6e1;
    border-radius: 14px;
    background: #f8fbf9;
}

.academy-email-test-form label {
    display: grid;
    gap: 8px;
    color: #23342e;
}

.academy-email-test-form input {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid #d2dfda;
    border-radius: 10px;
    background: #fff;
    font: inherit;
}

.academy-email-test-note {
    display: flex;
    gap: 8px;
    align-items: center;
    margin: 12px 0 20px;
    color: #687871;
}

.academy-email-template-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.academy-email-template-card {
    min-width: 0;
    border: 1px solid #dbe5e1;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
}

.academy-email-template-card summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 16px 18px;
    cursor: pointer;
    list-style: none;
}

.academy-email-template-card summary::-webkit-details-marker { display: none; }
.academy-email-template-card summary > span:nth-child(2) { min-width: 0; }
.academy-email-template-card summary strong,
.academy-email-template-card summary small { display: block; }
.academy-email-template-card summary small {
    margin-top: 4px;
    overflow: hidden;
    color: #6f7d77;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.academy-email-template-card[open] summary .bi-chevron-down { transform: rotate(180deg); }
.academy-email-template-card iframe {
    display: block;
    width: 100%;
    height: 660px;
    border: 0;
    border-top: 1px solid #e3ebe7;
    background: #fff;
}
.academy-email-language-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    padding: 6px 9px;
    border-radius: 999px;
    color: #176f58;
    background: #e8f5ef;
    font-size: 13px;
    font-weight: 700;
}

/* Keep long English progress labels readable on member and status pages. */
.academy-progress em {
    max-width: 100%;
    overflow: visible;
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: none;
    text-align: center;
}

@media (max-width: 900px) {
    .academy-email-template-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .academy-email-test-form { grid-template-columns: 1fr; }
    .academy-email-test-form .btn { width: 100%; justify-content: center; }
    .academy-email-template-card summary { padding: 14px; }
    .academy-email-template-card iframe { height: 560px; }
}

/* Registration transfer workflow */
.academy-registration-actions .academy-transfer-button {
    min-width: 96px;
    height: 40px;
    border: 1px solid #cfe2da;
    color: #176f58;
    background: #eff8f4;
}

.academy-registration-actions .academy-transfer-button:hover {
    border-color: #9fc9b8;
    background: #e4f3ec;
}

.academy-transfer-dialog {
    width: min(760px, calc(100vw - 32px));
}

.academy-transfer-dialog-body {
    display: grid;
    gap: 18px;
}

.academy-transfer-dialog-body > p {
    margin: 0;
}

.academy-transfer-dialog-body > p strong,
.academy-transfer-dialog-body > p span {
    display: block;
}

.academy-transfer-dialog-body > p span {
    margin-top: 4px;
    color: #718078;
}

.academy-transfer-dialog-body label:not(.academy-transfer-check) {
    display: grid;
    gap: 8px;
}

.academy-transfer-dialog-body select,
.academy-transfer-dialog-body textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid #d5e1dc;
    border-radius: 12px;
    color: #122338;
    background: #fff;
    font: inherit;
}

.academy-transfer-dialog-body select {
    min-height: 48px;
    padding: 0 42px 0 14px;
}

.academy-transfer-dialog-body textarea {
    min-height: 118px;
    padding: 13px 14px;
    resize: vertical;
}

.academy-transfer-dialog-body label > small {
    color: #718078;
    line-height: 1.6;
}

.academy-transfer-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 16px;
    border: 1px solid #d8e7e0;
    border-radius: 14px;
    background: #f5faf8;
}

.academy-transfer-summary[hidden] {
    display: none;
}

.academy-transfer-summary div {
    min-width: 0;
}

.academy-transfer-summary small,
.academy-transfer-summary strong,
.academy-transfer-summary span {
    display: block;
}

.academy-transfer-summary small,
.academy-transfer-summary span,
.academy-transfer-summary p {
    color: #687871;
}

.academy-transfer-summary strong {
    margin: 5px 0;
    overflow-wrap: anywhere;
}

.academy-transfer-summary > i {
    color: #238164;
    font-size: 20px;
}

.academy-transfer-summary p {
    grid-column: 1 / -1;
    margin: 0;
    padding-top: 12px;
    border-top: 1px solid #dce8e3;
    line-height: 1.6;
}

.academy-transfer-check {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px 14px;
    border: 1px solid #dce7e2;
    border-radius: 12px;
    background: #fbfdfc;
    line-height: 1.55;
}

.academy-transfer-check input {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    flex: 0 0 auto;
    accent-color: #218765;
}

@media (max-width: 640px) {
    .academy-transfer-dialog {
        width: calc(100vw - 20px);
        max-height: calc(100dvh - 20px);
    }

    .academy-transfer-summary {
        grid-template-columns: 1fr;
    }

    .academy-transfer-summary > i {
        transform: rotate(90deg);
        justify-self: center;
    }

    .academy-transfer-dialog footer {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .academy-transfer-dialog footer .btn {
        min-width: 0;
        width: 100%;
    }
}
.member-submit-wait[hidden] {
    display: none !important;
}

.member-submit-wait {
    position: fixed;
    inset: 0;
    z-index: 100000;
    width: 100vw;
    height: 100vh;
    max-width: none;
    max-height: none;
    margin: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    border: 0;
    box-sizing: border-box;
    overflow: hidden;
    background: rgba(13, 34, 30, 0.66);
    backdrop-filter: blur(5px);
}

.member-submit-wait::backdrop {
    background: transparent;
}

.member-submit-wait:focus,
.member-submit-wait-card:focus {
    outline: none;
}

.member-submit-wait-card {
    width: min(440px, 100%);
    padding: 38px 30px;
    border: 1px solid rgba(35, 132, 100, 0.14);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 24px 64px rgba(9, 33, 27, 0.24);
    text-align: center;
}

.member-submit-wait-card strong {
    display: block;
    margin-top: 20px;
    color: #173e34;
    font-size: 1.45rem;
    line-height: 1.35;
}

.member-submit-wait-card p {
    margin: 10px 0 0;
    color: #71817c;
    font-size: 1rem;
    line-height: 1.7;
}

.member-submit-wait-card small {
    display: block;
    margin-top: 14px;
    color: #95a29e;
    font-size: 0.82rem;
    line-height: 1.55;
}

.member-submit-wait-spinner {
    display: inline-block;
    width: 54px;
    height: 54px;
    border: 5px solid #dceee7;
    border-top-color: #238464;
    border-radius: 50%;
    animation: member-submit-wait-spin 0.82s linear infinite;
}

@keyframes member-submit-wait-spin {
    to { transform: rotate(360deg); }
}

html.member-submit-is-waiting,
html.member-submit-is-waiting body {
    overflow: hidden;
}

@media (max-width: 640px) {
    .member-submit-wait { padding: 18px; }
    .member-submit-wait-card { padding: 32px 22px; border-radius: 20px; }
    .member-submit-wait-card strong { font-size: 1.25rem; }
}
