/* Consolidated v190: source order preserved, original file sections labeled. */

/* === application-system.css === */
/* v171 shared application design system: additive; legacy workflows remain authoritative */
:root{--se-ink:#f3e9e5;--se-muted:#bbaeb0;--se-surface:#191216;--se-border:#65404b;--se-accent:#c18b74;--se-focus:#f2c28b}
html{scroll-behavior:smooth}body{min-width:320px}button,a,input,select,textarea{touch-action:manipulation}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid var(--se-focus)!important;outline-offset:3px!important}
:where(button,[role=button]){min-height:42px} :where(input,select,textarea){max-width:100%}
.memberBrandHeader,.memberBrandFooter{box-sizing:border-box}
.memberBrandHeader{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:14px clamp(16px,4vw,48px);border-bottom:1px solid var(--se-border);background:#140d11;color:var(--se-ink)}
.memberBrandHeader strong{letter-spacing:.13em}.memberBrandHeader span{font-size:.78rem;letter-spacing:.15em;color:var(--se-muted)}
.memberBrandFooter{text-align:center;padding:25px 16px;color:var(--se-muted);border-top:1px solid var(--se-border)}
.memberQuickNav{display:flex!important;flex-wrap:wrap!important;gap:8px!important;position:static!important;overflow:visible!important}
.memberQuickNav .memberTab{flex:1 1 110px;min-height:46px;border:1px solid var(--se-border)!important;border-radius:10px!important}
.memberQuickNav .memberTab[aria-current=page]{border-color:var(--se-accent)!important;box-shadow:inset 0 -2px 0 var(--se-accent)}
.memberPaneIntro{margin-block:1.25rem}.memberDashboardHead{display:flex;flex-wrap:wrap;gap:16px;align-items:start;justify-content:space-between}
.memberAccountSettingsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}
.memberSettingCard{text-align:left;min-height:92px!important;border:1px solid var(--se-border)!important;border-radius:12px!important;padding:16px!important}
.memberSettingCard span{display:block;margin-top:6px;color:var(--se-muted)}
.memberPane:focus{outline:none}dialog{max-width:min(96vw,980px);max-height:94dvh;overflow:auto}dialog::backdrop{background:rgba(0,0,0,.75)}
@media(max-width:600px){.memberBrandHeader{padding:12px 16px}.memberBrandHeader span{font-size:.68rem}.memberDashboardHead{display:block}.memberQuickNav .memberTab{flex-basis:calc(50% - 8px)}.memberShell{max-width:100%;padding-inline:12px!important}.memberHeaderActions{display:flex;flex-wrap:wrap}.memberHeaderActions button{flex:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* === hub-aligned-theme.css === */
/* Sanctum Eros — unified Hub-aligned Portal design, October 2026.
   Loaded LAST to resolve conflicting legacy UI theme overrides. */
:root{color-scheme:dark;--se-black:#050405;--se-canvas:#080608;--se-panel:#100b0e;--se-raised:#181016;--se-edge:#35222b;--se-accent:#74304a;--se-accent-hover:#93415e;--se-ink:#f3ecef;--se-muted:#c0afb6;--se-focus:#e4a4bb}
html{background:var(--se-black);scrollbar-color:#52313f var(--se-black)}
body,body[data-page],body[data-page="member"],body[data-page="admin"]{background:var(--se-canvas)!important;color:var(--se-ink)!important;--se-ui-bg:var(--se-canvas)!important;--se-ui-panel:var(--se-panel)!important;--se-ui-panel-hover:var(--se-raised)!important;--se-ui-border:var(--se-edge)!important;--se-ui-accent:#a76d83!important;--se-ui-text:var(--se-ink)!important;--se-ui-muted:var(--se-muted)!important;--se-surface:var(--se-panel)!important;--se-surface-raised:var(--se-raised)!important;--se-subtle:var(--se-muted)!important;--se-rose:#b77c93!important;--se-edge:var(--se-edge)!important}
body :is(.portalHeader,.portalPrimaryNav,.mobilePortalNav,.portalWelcome,.portalProcess,.portalExplainItem,.card,.eventCard,.courseCard,.courseProgressCard,.assignedCourse,.memberQuickNav,.memberMembershipSummary,.memberNextEvent,.seActionCenter,.memberDashboardSection,.memberAccountTools,.memberEventDetail,.memberEventReadiness,.seReadinessOverview,.memberSettingCard,.adminHomeCard,.adminQuickActions,.adminrow,.memberrow,.tabpane,.reviewfield,.portalPanel,.lookupBox){background-color:var(--se-panel)!important;border-color:var(--se-edge)!important;box-shadow:none!important;color:var(--se-ink)}
body :is(.portalMasthead,.portalWelcome,.seWelcomePanel,.routeIntro,.pageHero){background:radial-gradient(ellipse at 82% 22%,#29101b 0%,#11080d 47%,#070506 88%)!important;border-color:#482635!important}
body .portalMasthead .mastheadOverlay{background:linear-gradient(90deg,rgba(4,3,5,.93),rgba(7,3,5,.56))!important}
body :is(.portalHeader,.mobilePortalNav){background:#060406!important;border-bottom:1px solid #38202b!important}
body :is(h1,h2,.portalMasthead h2,.portalWelcome h2,.routeIntro h2){color:#f6eff2}
body :is(.portalMasthead h2,.portalWelcome h2,.routeIntro h2){font-family:Georgia,'Times New Roman',serif;letter-spacing:-.025em}
body :is(p,.desc,.muted,.formintro,.sectionnote){line-height:1.62}
body :is(.eyebrow,.heroJumpLabel){color:#c592a6!important;letter-spacing:.12em}
body :is(button.primary,a.primary,.primary,[type="submit"].primary){background:#63213b!important;border:1px solid #944963!important;color:#fff!important;box-shadow:none!important}
body :is(button.primary,a.primary,.primary,[type="submit"].primary):hover{background:#81314d!important;border-color:#bc708c!important}
body :is(button.ghost,a.ghost,.ghost,.memberTab,.adminGroup,#adminTabs button,.heroJumpGrid a){background:#150e13!important;border:1px solid #48303b!important;color:#f0e5e9!important;box-shadow:none!important}
body :is(.memberTab.active,.adminGroup.active,#adminTabs button.active,.portalPrimaryNav a[aria-current="page"]){background:#3a1828!important;border-color:#99506a!important;color:#fff!important;box-shadow:none!important}
body :is(input,select,textarea){background:#0b080a!important;border-color:#5a3b48!important;color:#f7f0f3!important;accent-color:#9c4768}
body :is(input,textarea)::placeholder{color:#aa939e}
body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--se-focus)!important;outline-offset:3px!important}
body :is(dialog,.memberDialog,#adminDialog){background:#100a0e!important;border-color:#5a3344!important;color:#f3eaf0!important}
body :is(.badge,.certBadge,.eventState){background:#2a1721!important;border-color:#674052!important;color:#ead8df!important}
body :is(.portalHeader a,.portalPrimaryNav a,.mobilePortalNav a){text-underline-offset:5px}
body :is(.courseCard,.assignedCourse,.courseProgressCard){border-radius:10px!important}
/* Larger selectable answers in course assessments; maintain native keyboard and screen-reader semantics. */
body[data-page="member"] :is(.courseQuestion,.questionCard,.quizQuestion,.assessmentQuestion) :is(label,.option,.answerOption),
body[data-page="member"] :is(.courseAnswer,.quizOption,.answerChoice){display:flex;align-items:center;gap:12px;min-height:52px;padding:13px 15px;border:1px solid #513341;border-radius:10px;background:#160f14;color:#f1e8ec;cursor:pointer;line-height:1.5}
body[data-page="member"] :is(.courseQuestion,.questionCard,.quizQuestion,.assessmentQuestion) label:has(input:checked),
body[data-page="member"] :is(.courseAnswer,.quizOption,.answerChoice):has(input:checked){background:#432034!important;border-color:#c07a96!important;box-shadow:inset 0 0 0 1px #c07a96!important}
body input[type="radio"],body input[type="checkbox"]{width:20px;height:20px;flex:none;accent-color:#b96082}
@media(max-width:760px){body .portalHeader{padding:12px 16px!important}body .brandLockup h1{font-size:clamp(1.05rem,5vw,1.4rem)}body :is(button,a[role="button"]){min-height:42px}body .portalWelcome{padding:clamp(18px,5vw,30px)!important}body .memberQuickGrid{gap:9px}body .heroJumpGrid{grid-template-columns:repeat(2,minmax(0,1fr))}body .portalPrimaryNav{max-width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* === portal-usability.css === */
/* Portal UX refinement — loaded after the Hub theme. No application DOM or state changes. */
:root{color-scheme:dark}
body[data-page="events"] :is(.portalMasthead,.portalWelcome,.portalProcess),
body[data-page="membership"] :is(.portalMasthead,.portalWelcome,.portalProcess),
body[data-page="education"] :is(.portalMasthead,.portalWelcome,.portalProcess),
body[data-page="community"] :is(.portalMasthead,.portalWelcome,.portalProcess),
body[data-page="rules"] :is(.portalMasthead,.portalWelcome,.portalProcess),
body[data-page="safety"] :is(.portalMasthead,.portalWelcome,.portalProcess){display:none!important}
body[data-page="home"] .portalMasthead{margin-bottom:clamp(16px,3vw,28px)}
body[data-page="home"] .portalWelcome{margin-top:0}
body .routeIntro{padding-block:clamp(28px,5vw,60px)!important;margin-bottom:clamp(18px,4vw,34px)!important}
body .routeIntro h2{font-size:clamp(2.25rem,7vw,4.6rem)!important;line-height:1.08!important}
body :is(.card,.eventCard,.courseCard,.adminHomeCard,.memberSettingCard){min-width:0}
body :is(.card,.eventCard,.courseCard,.adminHomeCard,.memberSettingCard) :is(h2,h3,p){overflow-wrap:break-word}
body :is(.portalPrimaryNav,.mobilePortalNav,.memberQuickNav,.memberSecondaryTabs,.adminWorkspaceTools){scrollbar-width:thin}
body :is(.memberQuickNav,.memberSecondaryTabs) button{min-height:46px}
body :is(.adminWorkspaceTools,.memberDashboardHead,.memberHeaderActions,.rowactions){min-width:0;flex-wrap:wrap}
body :is(input,select,textarea){max-width:100%;min-width:0;font-size:16px}
body :is(button,a[role="button"],.buttonLink){touch-action:manipulation}
body :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #e4a4bb!important;outline-offset:3px!important}
body :is(.memberDialog,#adminDialog,dialog){max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
body :is(.memberDialog,#adminDialog,dialog) .memberShell{min-width:0}
body .hidden,[hidden]{display:none!important}
@media(max-width:760px){
 html,body{max-width:100%;overflow-x:clip}
 body main{width:100%;max-width:100%;padding-inline:clamp(12px,4vw,20px)}
 body :is(.portalHeader,.headerActions,.heroActions,.rowactions){min-width:0;max-width:100%}
 body .routeIntro{padding-inline:clamp(16px,4vw,24px)!important}
 body :is(.memberDashboardHead,.memberHeaderActions){align-items:stretch}
 body .memberHeaderActions button{flex:1 1 auto}
 body .memberQuickNav{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body :is(.memberQuickNav,.memberSecondaryTabs) button{white-space:normal;overflow-wrap:anywhere}
 body .memberAccountSettingsGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))!important}
 body :is(.grid,.applicationGrid,.reviewgrid,.two){min-width:0}
 body :is(.card,.eventCard,.courseCard){padding:clamp(14px,4vw,22px)}
 body :is(.memberDialog,#adminDialog,dialog){width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;margin-inline:auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}


/* === portal-human-ux.css === */
/* Final human-use pass: navigation, feedback, touch targets, readability. */
:root{color-scheme:dark}
.memberReturnBar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 18px;padding:10px 0 14px;border-bottom:1px solid rgba(190,145,151,.23)}
.memberReturnBar button{min-height:44px;padding:10px 16px;border:1px solid #72505a;border-radius:9px;background:#22181c;color:#f7e9e9;font-weight:700;cursor:pointer}
.memberReturnBar button:hover{background:#38242d}
.memberReturnBar span{font-size:.84rem;color:#cbb6bb;letter-spacing:.03em}
.memberQuickNav{position:relative;z-index:2}
.memberQuickNav button[aria-current="page"],#adminTabs button[aria-current="page"]{box-shadow:inset 0 -3px 0 #d3a3ab}
#adminToolSearch{min-height:48px;width:min(100%,430px);background:#171215;color:#f8eded;border:1px solid #78535e;border-radius:10px;padding:12px 15px}
#adminToolSearchStatus{min-height:1.4em;color:#d8c4c9}
#adminTabs.searching button[data-tab]:not(.toolSearchHidden){display:inline-flex!important;visibility:visible!important}
#adminTabs.searching button.toolSearchHidden{display:none!important}
#adminTabs.searching{display:flex!important;flex-wrap:wrap;gap:8px}
#adminTabs.searching button[data-tab]{min-height:44px}
.memberSecondaryTabs{gap:8px}
.memberSecondaryTabs button{min-height:48px;text-align:left}
:is(.memberSettingCard,.memberTab,.adminGroup,.tab){transition:background-color .12s ease,border-color .12s ease}
:is(.memberSettingCard,.memberTab,.adminGroup,.tab):focus-visible{outline:3px solid #e4b4bd!important;outline-offset:2px}
:is(.memberPane,.adminPane) :is(h2,h3){scroll-margin-top:90px}
:is(.memberPane,.adminPane) p{max-width:85ch}
@media(max-width:680px){.memberReturnBar{position:sticky;top:0;background:#140f12;z-index:5;padding:12px 0}.memberReturnBar button{width:100%}#adminToolSearch{width:100%}.adminWorkspaceTools{display:flex;flex-wrap:wrap}.adminWorkspaceTools label{width:100%}}
@media(prefers-reduced-motion:reduce){:is(.memberSettingCard,.memberTab,.adminGroup,.tab){transition:none!important}}


/* === portal-deep-ux.css === */
/* Progressive enhancement: wordmark, responsive hierarchy, keyboard support. */
.visuallyHidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sePortalWordmark{display:block;width:min(100%,560px);height:auto;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.28))}
.seWordmarkHeader{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px clamp(14px,3vw,32px);background:#100b0e;border-bottom:1px solid #5a303c}
.seWordmarkHeader a{display:inline-flex;align-items:center;max-width:min(65%,350px);text-decoration:none}
.seWordmarkHeader .sePortalWordmark{width:100%;max-height:94px}
.seWordmarkHeader>span{font-size:.77rem;letter-spacing:.12em;text-transform:uppercase;color:#dbc0c6}
.sePortalWordmarkHome{width:min(100%,780px);margin:0 auto 10px}
.mastheadOverlay:has(.sePortalWordmarkHome){text-align:center}
.mastheadOverlay:has(.sePortalWordmarkHome) p{max-width:66ch;margin-inline:auto}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #e7a8b6!important;outline-offset:3px}
:where(button,[role=button],input,select,textarea){font:inherit}
:where(.memberPane,.tabpane) :where(p,.sectionnote){overflow-wrap:anywhere}
#adminToolSearchStatus[role=status]{display:block}
.sePortalPageTop{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 0}
.sePortalPageTop a{color:#f0d8dd;text-decoration:underline;text-underline-offset:3px}
@media(max-width:650px){.seWordmarkHeader{flex-direction:column;gap:2px;padding:8px 12px}.seWordmarkHeader a{max-width:min(92%,320px)}.seWordmarkHeader .sePortalWordmark{max-height:76px}.sePortalWordmarkHome{width:100%}.mastheadOverlay:has(.sePortalWordmarkHome){padding:22px 12px}.memberQuickNav{overflow-x:auto;scrollbar-width:thin}.memberQuickNav button{flex:0 0 auto;min-height:44px}}
@media(prefers-reduced-motion:reduce){.sePortalWordmark{transition:none}}


/* === portal-home-rebuild.css === */
/* Actual homepage rebuild: replace old stacked masthead, keyhole and long welcome with one focused hero. */
body[data-page="home"] main#mainContent{padding-top:18px}
body[data-page="home"] .portalProcess{display:none!important}
.seNewHome{position:relative;isolation:isolate;max-width:900px;margin:0 auto 36px;padding:clamp(24px,5vw,58px) clamp(18px,5vw,50px) 28px;border:1px solid #4c2834;border-radius:22px;background:radial-gradient(ellipse at 50% 5%,rgba(113,26,49,.28),transparent 65%),linear-gradient(160deg,#1b0c12,#0a090b 72%);box-shadow:0 22px 70px rgba(0,0,0,.3);text-align:center}
.seNewHomeIdentity{max-width:760px;margin:0 auto}.seNewHomeWordmark{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 10px 30px rgba(131,17,37,.22))}.seNewHomeLead{font-size:clamp(1rem,2.2vw,1.18rem);color:#d2c1c5;margin:0 auto 24px;line-height:1.5}.seNewHomeActions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;text-align:left}.seNewHomeAction{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:16px;border:1px solid #56313d;border-radius:12px;background:#171115;color:#f6e9eb;text-decoration:none;font-weight:750;line-height:1.3}.seNewHomeAction:hover,.seNewHomeAction:focus-visible{border-color:#bf617b;background:#29151d}.seNewHomePrimary{background:#74243b;border-color:#a14a64}.seNewHomeLegacy{max-width:660px;margin:22px auto 0;font-size:.86rem;line-height:1.5;color:#baaaaf}.seNewHomeLegacy strong{color:#f1dfe3}
@media(max-width:680px){body[data-page="home"] main#mainContent{padding:12px 12px 60px}.seNewHome{padding:28px 17px 22px;margin:0 auto 22px;border-radius:17px}.seNewHomeWordmark{width:100%;margin:0 auto 2px}.seNewHomeLead{margin-bottom:20px;font-size:.96rem}.seNewHomeActions{grid-template-columns:1fr;gap:9px}.seNewHomeAction{min-height:54px;padding:12px 15px}.seNewHomeLegacy{margin-top:17px;font-size:.8rem}}

/* Direct homepage tabs to the existing full rules and venue guide. */
.seNewHomeGuides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:15px 0 0;text-align:left}
.seNewHomeGuide{display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:center;min-width:0;padding:14px 17px;border:1px solid #49323a;border-radius:12px;background:rgba(255,255,255,.035);color:#f4e6e8;text-decoration:none}
.seNewHomeGuideLabel{grid-column:1;font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;color:#c69aa8}
.seNewHomeGuide strong{grid-column:1;font-size:1rem}
.seNewHomeGuideArrow{grid-column:2;grid-row:1 / span 2;font-size:1.25rem;color:#e5acbe}
.seNewHomeGuide:hover,.seNewHomeGuide:focus-visible{background:#28151d;border-color:#bc607b;outline-offset:3px}
@media(max-width:680px){.seNewHomeGuides{grid-template-columns:1fr;gap:9px;margin-top:12px}.seNewHomeGuide{padding:12px 15px}}

/* Single education destination on the homepage */
.seNewHomeGuides{grid-template-columns:minmax(0,1fr);max-width:780px;margin-inline:auto}
.seNewHomeEducation{grid-template-columns:minmax(0,1fr) auto;padding:18px 20px}
.seNewHomeGuideDescription{grid-column:1;line-height:1.5;color:#d3bfc5;font-size:.92rem}
.seNewHomeEducation .seNewHomeGuideArrow{grid-row:1 / span 3}
@media(max-width:680px){.seNewHomeEducation{padding:15px 16px}}


/* === dialog-viewport-fix.css === */
/* Fix native dialog clipping on iOS Safari: center in viewport without competing left:50% translations. */
html body dialog[open]:not([data-inline-root]) {
 position:fixed!important; inset:0!important; top:0!important; left:0!important; right:0!important; bottom:0!important;
 transform:none!important; translate:none!important; margin:auto!important;
 box-sizing:border-box!important; width:min(760px,calc(100vw - 24px))!important;
 max-width:calc(100vw - 24px)!important; max-height:calc(100dvh - 24px)!important;
 overflow-x:hidden!important; overflow-y:auto!important; overscroll-behavior:contain;
 padding:clamp(14px,3vw,24px)!important;
}
html body dialog[open]:not([data-inline-root]) > :is(form,.admin,.memberShell),
html body dialog[open]:not([data-inline-root]) :is(.two,.choiceGrid,.vettingIntro,.applicationForm,.rulesPurposeGrid,.rulesAccordion,.ruleBody){
 min-width:0!important; max-width:100%!important; box-sizing:border-box!important;
}
html body dialog[open]:not([data-inline-root]) :is(input,select,textarea,button){max-width:100%;box-sizing:border-box}
html body dialog[open]:not([data-inline-root]) :is(p,span,label,li,strong){overflow-wrap:anywhere}
html body dialog[open]:not([data-inline-root]) .x{position:sticky!important;top:0!important;float:right!important;z-index:10!important;min-width:44px;min-height:44px}
@media(max-width:600px){html body dialog[open]:not([data-inline-root]){width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;padding:12px!important;border-radius:14px!important}}


/* === homepage-polish.css === */
/* Focused homepage refinement — compact, readable and distinct navigation */
body[data-page="home"] .seNewHome{padding:clamp(22px,3vw,34px) clamp(16px,4vw,36px) 22px}
.seNewHomeIdentity{display:flex;flex-direction:column;align-items:center;gap:0;margin:0 auto 10px;max-width:100%;color:#f7e8eb;text-shadow:0 2px 15px rgba(0,0,0,.4)}
.seNewHomeOverline{font:600 .7rem/1.3 system-ui,sans-serif;letter-spacing:.38em;color:#d7a2b2}
.seNewHomeTitle{font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:clamp(2.3rem,8.5vw,5.3rem);line-height:1.05;letter-spacing:.015em;margin:3px 0 0;color:#f8e9ec;text-wrap:balance}
.seNewHomePortalLabel{font:700 clamp(1rem,3.5vw,1.6rem)/1.4 system-ui,sans-serif;letter-spacing:.32em;color:#dfa3b6;margin-top:3px}
.seNewHomeLead{margin:0 auto 17px}
.seNewHomeGuides{gap:9px;margin-top:12px}
.seNewHomeGuide{padding:12px 16px;gap:3px 10px}
.seNewHomeGuideDescription{font-size:.85rem;line-height:1.42;color:#d7c4ca}
.seNewHomeGuideLabel{font-size:.64rem;letter-spacing:.09em}
.seNewHomeGuide strong{font-size:.98rem}
.seNewHomeGuideArrow{grid-row:1/span 3}
@media(max-width:680px){body[data-page="home"] .seNewHome{padding:22px 15px 18px}.seNewHomeTitle{font-size:clamp(2.05rem,8vw,3.3rem)}.seNewHomePortalLabel{font-size:.94rem}.seNewHomeActions{gap:8px}.seNewHomeAction{min-height:52px}.seNewHomeGuide{padding:11px 13px}.seNewHomeLead{font-size:.91rem;margin-bottom:15px}}


/* === role-applications.css === */
/* Distinct full-screen application workspace, preserving original form controls and submission handlers. */
#staffApplicationDialog,#dmApplicationDialog{position:fixed!important;inset:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#101217!important;color:#f2eae1!important;overflow-y:auto!important;overscroll-behavior:contain;box-sizing:border-box}
#staffApplicationDialog::backdrop,#dmApplicationDialog::backdrop{background:rgba(0,0,0,.83)}
#staffApplicationDialog .seRoleApplication,#dmApplicationDialog .seRoleApplication{position:relative;display:block!important;width:min(100% - 36px,920px)!important;max-width:920px!important;margin:0 auto!important;padding:clamp(70px,9vw,110px) 0 110px!important;background:transparent!important;box-shadow:none!important;border:0!important;box-sizing:border-box}
.seApplicationKicker{color:#cba88a;font-size:12px;font-weight:800;letter-spacing:.19em;margin:0 0 14px}
.seApplicationRoleTitle{font-size:clamp(22px,3vw,38px);line-height:1.15;font-weight:800;letter-spacing:.01em;max-width:780px;margin-bottom:14px}
.seApplicationRoleDescription{color:#d5c7bb;line-height:1.7;max-width:720px;margin:0 0 34px;font-size:15px}
#staffApplicationDialog .seRoleApplication>h2,#dmApplicationDialog .seRoleApplication>h2{font-size:clamp(27px,4vw,43px);line-height:1.1;letter-spacing:-.02em;margin:0 0 22px}
#staffApplicationDialog .seRoleApplication label,#dmApplicationDialog .seRoleApplication label{color:#f3e9df;line-height:1.55}
#staffApplicationDialog .seRoleApplication input:not([type=checkbox]),#staffApplicationDialog .seRoleApplication select,#staffApplicationDialog .seRoleApplication textarea,#dmApplicationDialog .seRoleApplication input:not([type=checkbox]),#dmApplicationDialog .seRoleApplication select,#dmApplicationDialog .seRoleApplication textarea{background:#1b2028!important;border:1px solid #5b5151!important;border-radius:10px!important;color:#fff!important;padding:13px!important;max-width:100%;box-sizing:border-box}
#staffApplicationDialog .seRoleApplication input:focus-visible,#staffApplicationDialog .seRoleApplication textarea:focus-visible,#staffApplicationDialog .seRoleApplication select:focus-visible,#dmApplicationDialog .seRoleApplication input:focus-visible,#dmApplicationDialog .seRoleApplication textarea:focus-visible,#dmApplicationDialog .seRoleApplication select:focus-visible{outline:2px solid #d8a27c!important;outline-offset:2px}
#staffApplicationDialog .seRoleApplication>.x,#dmApplicationDialog .seRoleApplication>.x{position:fixed!important;right:clamp(15px,4vw,44px)!important;top:18px!important;z-index:100!important;background:#30282b!important;color:white!important;border:1px solid #76656a!important;width:45px;height:45px;border-radius:50%!important}
.seRoleApplication .seApplicationDivider{display:flex;align-items:center;gap:16px;font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#d9b499;margin:32px 0 22px;padding:15px 0;border-top:1px solid #50454b}
.seRoleApplication .seApplicationDivider span{font-weight:500;color:#9b8e8b;letter-spacing:0;text-transform:none}
@media(max-width:640px){#staffApplicationDialog .seRoleApplication,#dmApplicationDialog .seRoleApplication{width:calc(100% - 32px)!important;padding-top:82px!important}#staffApplicationDialog .two,#dmApplicationDialog .two{display:grid!important;grid-template-columns:1fr!important}}
/* Accessible, progressive full-page applications */
.seRoleApplication .seStepHidden{display:none!important}
.seStepNav{display:flex;gap:7px;flex-wrap:wrap;margin:22px 0 12px!important}
.seStepNav span{padding:9px 11px;border:1px solid #51454a;border-radius:9px;color:#b9aca9;font-size:12px;background:#191a20}
.seStepNav span.active{border-color:#d3a582;color:#fff;background:#3c2928}.seStepNav span.complete{border-color:#688174;color:#e3f0e6}
.seStepNav small{font-size:12px}.seStepProgress{height:5px;background:#3c3337;border-radius:9px;overflow:hidden;margin-bottom:30px}.seStepProgress span{display:block;height:100%;background:#caa07f;transition:width .2s}
.seStepActions{display:flex;justify-content:space-between;gap:12px;position:sticky;bottom:0;background:#101217;padding:18px 0;border-top:1px solid #52464b;z-index:5}
.seRoleApplication [hidden]{display:none!important}.seRoleApplication label{display:block;margin-bottom:19px}.seRoleApplication textarea{min-height:108px}.seRoleApplication .two{gap:16px}
@media(max-width:640px){.seStepNav small{display:none}.seStepNav span{flex:1;text-align:center}.seStepActions button{flex:1}}


/* === membership-refresh.css === */
/* Membership application: spacious, readable full-page workspace */
#membershipDialog{width:min(960px,100vw)!important;max-width:100vw!important;max-height:100dvh!important;height:min(100dvh,980px);margin:auto!important;padding:0!important;border:1px solid #61545d;border-radius:18px;background:#151319;color:#f6f0f2;box-shadow:0 30px 100px #000b;overflow:auto}
#membershipDialog::backdrop{background:rgba(5,3,7,.86);backdrop-filter:blur(5px)}
#membershipForm{padding:clamp(22px,4vw,54px)!important;max-width:920px;margin:auto;display:block}
#membershipForm>h2{font-size:clamp(28px,4vw,44px);line-height:1.12;letter-spacing:-.035em;margin:12px 0 18px}
#membershipForm .vettingIntro{padding:16px 20px;background:#211b24;border:1px solid #463841;border-radius:14px;margin-bottom:22px}
#membershipForm .vettingIntro p:not(:first-child){display:none}
#membershipForm label{display:block;color:#f1e7eb;font-size:14px;font-weight:650;line-height:1.5;margin:14px 0}
#membershipForm input:not([type=checkbox]):not([type=radio]),#membershipForm select,#membershipForm textarea{display:block;width:100%;box-sizing:border-box;background:#28222c;color:#fff;border:1px solid #665661;border-radius:10px;min-height:47px;padding:12px 14px;margin-top:7px;font:inherit;font-weight:400}
#membershipForm textarea{min-height:90px;resize:vertical}
#membershipForm :is(input,select,textarea):focus-visible{outline:2px solid #d4a9bd;outline-offset:2px}
#membershipForm .vettingDisclosure{padding:16px 20px;margin:14px 0;border:1px solid #69515f;border-radius:14px;background:#211b24}
#membershipForm .vettingDisclosure label{margin:0}
#membershipForm .conditionalDisclosure:not(.hidden){margin-top:15px;border-top:1px solid #594550;padding-top:12px}
#membershipForm .membershipPrepNotice{border-radius:14px}
#membershipForm .two{gap:16px}
#membershipForm .hidden{display:none!important}
@media(max-width:650px){#membershipDialog{border-radius:0;height:100dvh;max-height:100dvh}#membershipForm{padding:24px 18px 80px!important}#membershipForm .two{display:block}#membershipForm input,#membershipForm select,#membershipForm textarea{font-size:16px!important}}


/* === unified-dark-forms.css === */
/* Unified dark form surfaces: public, member and administration. */
:root{color-scheme:dark}
body[data-page] dialog:not([id="memberDialog"]),body[data-page] dialog.wide{background:#100f14!important;color:#f2edf0!important;border:1px solid #59424e!important;box-shadow:0 24px 90px #000d!important;max-width:min(94vw,980px);max-height:94dvh;overflow-y:auto;overflow-x:hidden}
body[data-page] dialog::backdrop{background:rgba(2,1,5,.87)!important}
body[data-page] dialog :is(.admin,.memberShell,.applicationForm,form,.sePurposeShell,.seCertExperience){min-width:0;max-width:100%;box-sizing:border-box}
body[data-page] dialog :is(.sePurposeHead,.seGuidedHead,.seCertExperienceHead){background:#1d1921!important;border-color:#5d4855!important}
body[data-page] dialog :is(.sePurposeBody,.seGuidedBody,.sePurposeStep,.seGuidedStep,.sePurposeReview,.seCertExperienceBody){background:transparent!important;color:#f2edf0!important}
body[data-page] dialog :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:#1d1b23!important;border:1px solid #6c5967!important;color:#fff!important;max-width:100%;box-sizing:border-box}
body[data-page] dialog :is(input,textarea,select):focus-visible{outline:2px solid #d6ac92!important;outline-offset:2px}
body[data-page] dialog :is(label,legend,h2,h3,h4){color:#f5eef1}
body[data-page] dialog :is(.sectionnote,.meta,.formintro,small){color:#cfc1c9}
body[data-page] dialog :is(.sePurposeNav,.seGuidedNav){background:#100f14!important;border-color:#5d4855!important}
body[data-page] dialog :is(.sePurposeStep,.seGuidedStep,.seCertQuestion){min-height:0!important;height:auto!important}
body[data-page] dialog [hidden],body[data-page] dialog .hidden{display:none!important}
body[data-page] dialog :is(.two,.grid,.formGrid){min-width:0}
body[data-page] dialog :is(.two,.grid,.formGrid)>*{min-width:0}
/* Admin shell: reduce top-of-page bulk without hiding operational tools. */
body[data-page="admin"] #adminDialog{width:min(98vw,1400px)!important;max-width:min(98vw,1400px)!important;background:#111015!important;padding:clamp(12px,2vw,22px)!important}
body[data-page="admin"] #adminDialog>.admin>h2{font-size:clamp(1.35rem,3vw,1.8rem)!important;line-height:1.15;margin:.2rem 0 .6rem}
body[data-page="admin"] #adminDialog>.admin>.eyebrow{font-size:.68rem;letter-spacing:.1em}
body[data-page="admin"] #adminGroups{display:flex;gap:7px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin;padding:6px 0}
body[data-page="admin"] #adminGroups>button{flex:0 0 auto;min-height:40px;padding:8px 12px;white-space:nowrap}
body[data-page="admin"] #adminTabs{gap:6px;overflow-x:auto;scrollbar-width:thin}
body[data-page="admin"] #adminTabs button{min-height:38px}
body[data-page="admin"] :is(.adminHomeCard,.adminActionQueue,.adminQuickActions,.tabpane,.adminHealthWrap){background-color:#19171e;border-color:#4b3b48;color:#f2edf0}
body[data-page="admin"] :is(.adminHomeGrid,.adminQuickGrid)>*{min-width:0}
@media(max-width:620px){body[data-page] dialog{width:calc(100vw - 12px)!important;max-width:calc(100vw - 12px)!important;max-height:calc(100dvh - 18px)!important;padding:12px!important}body[data-page="admin"] #adminDialog{width:calc(100vw - 10px)!important;max-width:calc(100vw - 10px)!important}body[data-page="admin"] .memberBrandHeader{padding:12px!important}body[data-page="admin"] .sePortalWordmark{max-width:min(72vw,280px)!important;height:auto!important}body[data-page] dialog :is(.two,.formGrid){grid-template-columns:minmax(0,1fr)!important}body[data-page] dialog :is(button,input,select,textarea){font-size:16px}}


/* === guided-forms.css === */
/* Guided public forms: native controls and existing submit handlers remain intact. */
#membershipDialog,#publicIaDialog,#demonstratorDialog{width:min(850px,calc(100vw - 22px));max-width:850px;max-height:94dvh;padding:clamp(16px,3vw,34px);border:1px solid #66534e;border-radius:18px;background:#171517;color:#f4eae3;box-shadow:0 30px 90px #000b;overflow:auto}
#membershipDialog::backdrop,#publicIaDialog::backdrop,#demonstratorDialog::backdrop{background:#050305c9;backdrop-filter:blur(5px)}
#membershipDialog form,#publicIaDialog form,#demonstratorDialog form{max-width:100%;min-width:0}
.seGuidedShell{margin-top:18px}.seGuidedHead{padding:18px 20px;background:linear-gradient(135deg,#302124,#211c22);border:1px solid #64494b;border-radius:13px}.seGuidedTag{display:block;color:#ddc2a7;letter-spacing:.12em;font-size:.73rem;font-weight:800}.seGuidedProgress{margin-top:14px;color:#e7d5cc;font-size:.9rem}.seGuidedTrack{height:5px;background:#51444a;border-radius:99px;margin:9px 0 16px;overflow:hidden}.seGuidedTrack span{display:block;height:100%;background:#d4a47e;transition:width .2s}.seGuidedTitle{font-size:clamp(1.2rem,2.7vw,1.65rem);margin:0 0 6px;color:#fff}.seGuidedHint{margin:0;color:#d5c4c0;font-size:.92rem}.seGuidedBody{padding:20px 2px}.seGuidedStep[hidden]{display:none!important}.seGuidedStep>label,.seGuidedStep>.two,.seGuidedStep>.vettingDisclosure{margin-bottom:17px}.seGuidedStep input:not([type=checkbox]):not([type=radio]),.seGuidedStep select,.seGuidedStep textarea{width:100%;max-width:100%;background:#272329;color:#fff;border:1px solid #76666c;border-radius:9px;padding:12px;box-sizing:border-box;min-height:44px}.seGuidedStep textarea{min-height:100px;resize:vertical}.seGuidedStep input:focus-visible,.seGuidedStep select:focus-visible,.seGuidedStep textarea:focus-visible{outline:2px solid #e3b18c;outline-offset:2px}.seGuidedNav{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #5c4c4f;padding:16px 0 2px}.seGuidedNav button{min-height:44px;border-radius:9px;padding:10px 20px;border:1px solid #a98c80;background:#32272a;color:#fff;font-weight:700;cursor:pointer}.seGuidedNav .seGuidedNext{background:#c59a79;color:#1c1111;border-color:#c59a79}.seGuidedNav button:disabled{opacity:.4;cursor:default}.seGuidedCount{font-size:.85rem;color:#d7c4be}@media(max-width:600px){#membershipDialog,#publicIaDialog,#demonstratorDialog{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;margin:0;padding:15px;border-radius:0;box-sizing:border-box}.seGuidedHead{padding:15px}.seGuidedBody{padding:15px 0}.seGuidedStep>.two{display:block}.seGuidedNav{position:sticky;bottom:-15px;background:#171517;padding:14px 0;z-index:2}}
/* Purpose-built membership, reporting and education experiences */
.sePurposeShell{margin:20px 0 4px;color:#f3ebe7}.sePurposeHead{background:linear-gradient(135deg,#34232a,#201c25);border:1px solid #79575a;border-radius:16px;padding:24px}.sePurpose-ia .sePurposeHead{background:linear-gradient(135deg,#272f38,#1b2028);border-color:#64717c}.sePurpose-demonstrator .sePurposeHead{background:linear-gradient(135deg,#332b20,#211e1a);border-color:#75634a}.sePurposeTag{font-size:.74rem;letter-spacing:.15em;font-weight:800;color:#e0b898}.sePurposeHeading{font-size:clamp(1.4rem,3vw,2rem);line-height:1.2;margin:12px 0 7px;color:#fff}.sePurposeSubtitle{color:#dfd0cb;margin:0 0 22px;max-width:60ch}.sePurposeMilestones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.sePurposeMilestones span{font-size:.75rem;color:#b6aaa8;border-top:3px solid #5b4c51;padding-top:9px;line-height:1.4}.sePurposeMilestones span.active{border-color:#e5b58d;color:#fff;font-weight:800}.sePurposeBody{padding:22px 3px 12px}.sePurposeStep[hidden],.sePurposeReview[hidden],.sePurposeSubmit[hidden],.sePurposeNext[hidden]{display:none!important}.sePurposeStep>label,.sePurposeStep>.two,.sePurposeStep>.vettingDisclosure{margin-bottom:18px}.sePurposeStep input:not([type=checkbox]):not([type=radio]),.sePurposeStep select,.sePurposeStep textarea{width:100%;max-width:100%;min-height:44px;box-sizing:border-box;background:#272329;color:#fff;border:1px solid #79696d;border-radius:10px;padding:12px}.sePurposeStep textarea{min-height:100px}.sePurposeStep :is(input,select,textarea):focus-visible{outline:2px solid #e3b18c;outline-offset:2px}.sePurposeReview{padding:20px 4px}.sePurposeReview h3{color:#fff}.sePurposeReview dl{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;gap:0 14px}.sePurposeReview dt,.sePurposeReview dd{padding:10px;border-bottom:1px solid #51474a;margin:0;overflow-wrap:anywhere}.sePurposeReview dt{color:#d3bcae;font-weight:700}.sePurposePrivacy{color:#d7c4b8;font-size:.9rem}.sePurposeNav{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #65545a;padding:18px 0 4px;flex-wrap:wrap}.sePurposeNav button{min-height:44px;padding:10px 17px;border-radius:10px;border:1px solid #a88a7b;background:#32272a;color:#fff;font-weight:750;cursor:pointer}.sePurposeNav .sePurposeNext,.sePurposeNav .sePurposeSubmit{background:#d6a682;color:#1e1311;border-color:#d6a682}.sePurposeNav button:disabled{opacity:.45}.sePurposeCount{color:#d6c7bf;font-size:.85rem}@media(max-width:600px){.sePurposeHead{padding:17px}.sePurposeMilestones span{font-size:.64rem}.sePurposeStep>.two{display:block}.sePurposeNav{position:sticky;bottom:-15px;background:#171517;z-index:3;padding:14px 0}.sePurposeReview dl{grid-template-columns:1fr}.sePurposeReview dt{border-bottom:0;padding-bottom:0}.sePurposeReview dd{padding-top:3px}}

/* Refined application interaction and scenario cards */
.seScenarioIntro{margin:1.3rem 0 .8rem;padding:1rem 1.15rem;border-left:3px solid #b98d65;background:rgba(185,141,101,.09);border-radius:8px}.seScenarioIntro h3{margin:.3rem 0;font-size:1.18rem}.seScenarioIntro p{margin:.3rem 0 0;line-height:1.55}.seScenarioQuestion{display:flex!important;flex-direction:column;gap:.55rem;margin:1rem 0;padding:1.1rem!important;border:1px solid rgba(185,141,101,.28);border-radius:12px;background:rgba(255,255,255,.025)}.seScenarioQuestion strong{font-size:.8rem;letter-spacing:.1em;color:#d7ae82}.seScenarioQuestion span{font-size:1rem;line-height:1.55}.seScenarioQuestion textarea{min-height:90px;resize:vertical}.sePurposeNav{position:sticky;bottom:0;z-index:3;background:#17151b;padding:.8rem;border-top:1px solid rgba(255,255,255,.15)}.sePurposeStep :is(input,textarea,select):focus-visible,.seCertExperience input:focus-visible{outline:2px solid #e1b27d;outline-offset:2px}@media(max-width:600px){.seScenarioQuestion{padding:.8rem!important}.sePurposeNav{gap:.45rem}.sePurposeMilestones{overflow-x:auto}}

/* Unified public application experience: admissions, rentals, reporting, demonstrations */
#admissionApplicationDialog,#rentalDialog{width:min(850px,calc(100vw - 22px));max-width:850px;max-height:94dvh;padding:clamp(16px,3vw,34px);border:1px solid #66534e;border-radius:18px;background:#171517;color:#f4eae3;box-shadow:0 30px 90px #000b;overflow:auto}
#admissionApplicationDialog::backdrop,#rentalDialog::backdrop{background:#050305c9;backdrop-filter:blur(5px)}
#admissionApplicationDialog form,#rentalDialog form{max-width:100%;min-width:0}
.sePurpose-admission .sePurposeHead{background:linear-gradient(135deg,#2b2936,#1d1d27);border-color:#77718b}
.sePurpose-rental .sePurposeHead{background:linear-gradient(135deg,#302820,#1d1a1b);border-color:#80684e}
.sePurposeStep .hidden{display:none!important}
.sePurposeStep label.check{display:flex;align-items:flex-start;gap:12px}
.sePurposeStep label.check input[type=checkbox]{width:19px;height:19px;min-height:19px;flex:0 0 auto;margin-top:3px}
.sePurposeStep .notice,.sePurposeStep .sectionnote{line-height:1.55}
@media(max-width:600px){#admissionApplicationDialog,#rentalDialog{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;margin:0;padding:15px;border-radius:0;box-sizing:border-box}}

