/* Guided member portal: login first, exactly one authenticated dashboard. */
body.membership-page .member-entry{padding:28px 0 58px;min-height:65vh}
body.membership-page .member-entry__shell{max-width:920px!important}
.member-entry__masthead{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 0 20px;border-bottom:1px solid #d9e4e7;margin:0 0 26px}
.member-entry__masthead a{color:#194456;font-weight:800}
.member-entry__masthead strong{color:#0c3042;font-size:1.15rem}
.member-entry #guidedLoginBox{max-width:650px;margin:0 auto 18px}
.member-entry #guidedLoginBox h2{font-size:clamp(1.8rem,3vw,2.35rem)}
.member-entry #guidedMemberEmail{min-height:49px;font-size:1rem}
.member-entry #guidedRequestAccess{min-height:50px}
.member-entry #guidedAccessMessage{margin:18px auto;max-width:740px}
.member-entry #guidedMeetingDetails{margin:0 auto;max-width:920px}
.member-entry #guidedMeetingDetails>div{padding:clamp(20px,4vw,38px)}
.member-entry .guided-dashboard__heading{font-size:clamp(1.85rem,3.5vw,2.75rem);line-height:1.2;margin:8px 0 12px;color:#123649}
.member-entry .guided-dashboard__lead{color:#385b6b;line-height:1.6}
.member-entry .guided-dashboard__eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.12em;color:#91692e;text-transform:uppercase}
.member-entry .guided-hub__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}
.member-entry .guided-hub__card{display:flex;flex-direction:column;min-height:190px;min-width:0;padding:23px;border:1px solid #cadbe1;border-top:4px solid #c79a57;border-radius:12px;background:#fff;color:#153d50;text-decoration:none;box-shadow:0 9px 20px rgba(15,45,60,.06);position:relative;z-index:1;pointer-events:auto}
.member-entry .guided-hub__card:hover{background:#f9f7f0;border-color:#ad7a3f}
.member-entry .guided-hub__card strong{font-size:1.15rem;line-height:1.3}
.member-entry .guided-hub__card span{display:block;color:#486775;font-size:.94rem;line-height:1.5;margin:9px 0 14px;flex:1}
.member-entry .guided-hub__card em{font-style:normal;font-weight:800;color:#10475e;align-self:flex-start;text-decoration:underline;text-underline-offset:4px}
.member-entry #guidedZoomLink{display:inline-block;align-self:flex-start;border:0;background:transparent;padding:0;color:#10475e;font-weight:800;text-decoration:underline;text-underline-offset:4px;line-height:1.5;min-height:24px;white-space:normal}
.member-entry #guidedZoomLink:not([href]){color:#697d86;cursor:wait}
.member-entry .guided-hub__foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid #dce5e8;padding:18px 0}
.member-entry .guided-hub__signout{border:1px solid #809da9;border-radius:8px;background:#fff;color:#123b4f;padding:10px 16px;cursor:pointer;font:inherit;font-weight:800}
.member-entry .guided-hub__details{border-top:1px solid #dbe6e8;margin:12px 0 18px;padding-top:16px}
.member-entry .guided-hub__details summary{cursor:pointer;color:#164b64;font-weight:800;padding:6px 0}
.member-entry .member-entry__help{margin:18px auto;text-align:center;color:#496775;font-size:.92rem}
body.membership-page #guidedLoginBox[hidden],
body.membership-page #guidedMeetingDetails[hidden],
body.membership-page #guidedAccessMessage[hidden],
body.membership-page .member-nonmember[hidden],
body.membership-page .guided-settings-confirm[hidden],
body.membership-page .guided-settings-link[hidden],
body.membership-page .guided-settings [hidden]{display:none!important}
body.membership-page.is-guided-authenticated .member-nonmember{display:none!important}
.member-entry a:focus-visible,.member-entry button:focus-visible,.member-entry input:focus-visible{outline:3px solid #c49652;outline-offset:3px}
@media(max-width:750px){.member-entry .guided-hub__grid{grid-template-columns:1fr}.member-entry .guided-hub__card{min-height:125px;padding:18px}.member-entry .guided-hub__card span{margin:5px 0 9px}.member-entry__masthead{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.member-entry *, .member-entry *::before{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Password-first account access. Legacy magic-link recovery is collapsed. */
.guided-password-entry{max-width:640px;margin:8px auto 22px}
.guided-password-entry__eyebrow{font-size:.8rem;letter-spacing:.12em;font-weight:850;color:#936e31;text-transform:uppercase}
.guided-password-entry h1{font-family:Georgia,serif;font-size:clamp(2rem,5vw,3rem);line-height:1.12;color:#102f42;margin:7px 0 12px}
.guided-password-entry>p{color:#3f6170;line-height:1.6}
.guided-primary-login,.guided-otp-panel{background:#fff;border:1px solid #d6e2e6;border-top:4px solid #bd9353;border-radius:12px;padding:clamp(19px,4vw,30px);margin:20px auto;box-shadow:0 10px 25px rgba(12,39,56,.07)}
.guided-password-fields{display:grid;gap:12px}
.guided-password-entry label{display:block;color:#163f52;font-weight:800}
.guided-password-entry input{display:block;width:100%;min-height:51px;padding:11px 13px;border:1px solid #98aeb9;border-radius:8px;background:#fff;color:#142d3b;font:inherit}
.guided-password-entry button{font:inherit;font-weight:800}
.guided-password-entry #guidedPasswordSubmit,.guided-password-entry #guidedOtpSubmit{min-height:49px;margin-top:12px;cursor:pointer}
.guided-password-entry .guided-quick-link{display:block;width:100%;min-height:48px;padding:12px 16px;border:1px solid #ae844e;border-radius:8px;background:#fff9ec;color:#173c51;font:inherit;font-weight:800;line-height:1.35;cursor:pointer}
.guided-password-entry .guided-quick-link:hover{background:#f7ecd6;border-color:#93682b}
.guided-password-entry .guided-quick-link:focus-visible{outline:3px solid #c49652;outline-offset:3px}

.guided-password-entry #guidedPasswordStatus{font-size:.92rem;color:#24526a;margin:11px 0 0;min-height:1.2em}
.guided-password-entry #guidedPasswordStatus[data-state="error"]{color:#962e2e}
.guided-password-entry #guidedOtpPanel[hidden],.guided-password-entry .guided-password-fields[hidden]{display:none!important}
.guided-otp-panel h2{font-size:1.5rem;color:#173f53}
.guided-otp-panel input{max-width:240px;letter-spacing:.28em;font-size:1.3rem;font-weight:800}
.guided-otp-panel .guided-link-button{display:inline-block;border:0;background:transparent;color:#154b61;text-decoration:underline;text-underline-offset:3px;padding:12px;cursor:pointer}
.guided-link-fallback{max-width:650px;margin:8px auto 22px;background:#fff;border:1px solid #dde5e8;border-radius:10px;padding:16px 20px}
.guided-link-fallback>summary{font-weight:800;cursor:pointer;color:#19485b}
.guided-link-fallback #guidedLoginBox{margin-top:14px}
.guided-account-help{font-size:.92rem}
.guided-account-help a{color:#164c65;text-decoration:underline;font-weight:800}
body.membership-page #guidedPasswordForm[hidden],body.membership-page #guidedOtpPanel[hidden]{display:none!important}
body.membership-page.is-guided-authenticated .guided-password-entry,
body.membership-page.is-guided-authenticated .guided-link-fallback{display:none!important}

.guided-password-entry .guided-extra-check{display:flex;align-items:flex-start;gap:10px;font-size:.92rem;font-weight:650;line-height:1.45;cursor:pointer}
.guided-password-entry .guided-extra-check input[type="checkbox"]{display:inline-block;width:19px;height:19px;min-height:19px;flex:0 0 19px;margin:2px 0 0;padding:0;accent-color:#ab7d3b}

/* Stabilize the member page while its asynchronous entitlement check swaps login for dashboard. */
html:has(body.membership-page){scrollbar-gutter:stable;scroll-behavior:auto!important}
body.membership-page .member-entry{overflow-anchor:none;min-height:760px}
body.membership-page .member-entry__shell{min-height:540px;overflow-anchor:none}
body.membership-page #guidedAccessMessage{min-height:4.5rem;overflow-anchor:none}
body.membership-page #guidedMeetingDetails{overflow-anchor:none}
