/* v209 — load-repair UI pass. Final overrides only. */
:root{
  --v209-bg:#08070a;
  --v209-panel:#0f1013;
  --v209-panel-raised:#15161a;
  --v209-line:#363039;
  --v209-line-soft:#272329;
  --v209-accent:#6b2f49;
  --v209-accent-hi:#c4829e;
  --v209-text:#f2edf0;
  --v209-muted:#b7adb2;
}
html{scroll-padding-top:18px}
body{background:radial-gradient(circle at 50% -12%,#211219 0,#0b090d 34%,#070709 68%) fixed;color:var(--v209-text)}
main{width:min(100%,1220px);padding-inline:clamp(12px,3vw,28px)}
button,a.buttonLike,input,select,textarea{font:inherit}
button,.buttonLike{touch-action:manipulation}
input,select,textarea{min-height:46px;border-color:#554751;background:#17171b;color:#f4eff2}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--v209-accent-hi);outline-offset:2px;border-color:var(--v209-accent-hi)}
.empty{min-height:0;padding:22px 18px;border-color:#3d353c;background:#0c0c0f;color:#aaa1a6}
.empty strong,.empty span{display:block}.empty button{margin-top:12px}
footer{padding-block:28px!important;min-height:0!important}

/* Inline owner admin behaves like an application page, not a nested modal. */
body[data-page="admin"]{padding-top:max(8px,env(safe-area-inset-top,0px));padding-bottom:max(8px,env(safe-area-inset-bottom,0px));overflow-x:hidden}
body[data-page="admin"] main{padding-top:12px!important;padding-bottom:40px!important}
body[data-page="admin"] #adminDialog{display:block!important;position:static!important;inset:auto!important;transform:none!important;margin:0!important;width:100%!important;max-width:none!important;max-height:none!important;overflow:visible!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
body[data-page="admin"] #adminDialog>.admin{width:min(100%,1180px);margin:0 auto;padding:clamp(10px,2.5vw,24px)!important;background:transparent!important}
body[data-page="admin"] #adminDialog>.admin>.x{display:none!important}
body[data-page="admin"] .seAdminCompactHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px 12px;border-bottom:1px solid var(--v209-line-soft)}
body[data-page="admin"] .adminHealthWrap{margin:10px 0}
body[data-page="admin"] .adminHealth{padding:10px 12px!important;border-radius:10px!important;min-height:0!important}

/* Navigation is predictable and never depends on sideways scrolling. */
body[data-page="admin"] #adminGroups{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important;padding:8px!important;margin:10px 0 8px!important;background:#0e0d10!important;border:1px solid var(--v209-line)!important;border-radius:13px!important}
body[data-page="admin"] #adminGroups .adminGroup{width:100%!important;min-width:0!important;min-height:42px!important;padding:9px 8px!important;white-space:normal!important;line-height:1.2!important;text-align:center!important;background:#151419!important;border:1px solid #39343a!important;border-radius:9px!important;color:#c8c0c4!important}
body[data-page="admin"] #adminGroups .adminGroup.active{background:#54243a!important;border-color:#bd7897!important;color:#fff!important;box-shadow:inset 0 -2px #d09ab2!important}
body[data-page="admin"] #adminTabs{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important;gap:7px!important;overflow:visible!important;padding:7px 0 13px!important;margin:0 0 14px!important;border-bottom:1px solid var(--v209-line-soft)!important}
body[data-page="admin"] #adminTabs .tab{width:100%!important;min-width:0!important;min-height:42px!important;padding:9px 10px!important;white-space:normal!important;line-height:1.2!important;text-align:center!important;background:#17171b!important;border:1px solid #464047!important;border-radius:9px!important;color:#cec6ca!important}
body[data-page="admin"] #adminTabs .tab.active{background:#5d2b43!important;border-color:#d194ae!important;color:#fff!important;box-shadow:inset 0 -2px #e0b0c2!important}

/* Workspaces are flatter, denser, and easier to scan on a phone. */
body[data-page="admin"] .tabpane{scroll-margin-top:max(14px,env(safe-area-inset-top,0px));min-width:0;background:#0b0b0e!important;border:1px solid #2c282e!important;border-radius:14px!important;padding:clamp(14px,2.4vw,22px)!important;box-shadow:none!important}
body[data-page="admin"] .tabpane>.toolbar{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important;margin:0 0 16px!important;padding:0 0 14px!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--v209-line-soft)!important;border-radius:0!important}
body[data-page="admin"] .tabpane>.toolbar>div{flex:1 1 420px;min-width:0}
body[data-page="admin"] .tabpane>.toolbar h2{font-size:clamp(1.45rem,4vw,2rem)!important;line-height:1.08!important;margin:5px 0 8px!important}
body[data-page="admin"] .tabpane>.toolbar .sectionnote{max-width:760px;line-height:1.55}
body[data-page="admin"] .tabpane>.toolbar>button,body[data-page="admin"] .tabpane>.toolbar>a,body[data-page="admin"] .tabpane>.toolbar>select{flex:0 0 auto;max-width:100%}
body[data-page="admin"] .adminPaneBack{margin:0 0 12px!important;padding:0!important}
body[data-page="admin"] .adminPaneBack button{min-height:38px!important;padding:8px 12px!important;font-size:.9rem!important}
body[data-page="admin"] .adminrow{background:#121216!important;border-color:#373139!important;border-radius:12px!important;padding:14px!important;margin:9px 0!important}
body[data-page="admin"] .rowactions{gap:7px!important}
body[data-page="admin"] .rowactions>button,body[data-page="admin"] .rowactions>.buttonLike{min-height:42px}

/* Requirements / door screens: controls first, results immediately beneath them. */
body[data-page="admin"] #verificationTab>.two{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)!important;gap:10px!important;margin:0 0 12px!important;padding:12px!important;background:#111116!important;border:1px solid var(--v209-line)!important;border-radius:12px!important;align-items:end}
body[data-page="admin"] #verificationTab>.two label{margin:0!important}
body[data-page="admin"] #verificationRoster>.empty,body[data-page="admin"] #doorRoster>.empty{padding:20px!important;margin-top:8px!important}
body[data-page="admin"] .verificationRow{padding:13px!important}
body[data-page="admin"] .verificationRow .statusbar{margin:9px 0!important}
body[data-page="admin"] .doorSummary{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:7px!important}
body[data-page="admin"] .doorSummary>*{padding:10px!important;background:#121216!important;border-color:#3b343c!important}
body[data-page="admin"] .doorcard{background:#111115!important;border-color:#373039!important}

/* Member and staff surfaces share the same spacing/contrast rules. */
body[data-page="member"],body[data-page="staff"]{overflow-x:hidden}
body[data-page="member"]{padding-top:max(10px,env(safe-area-inset-top,0px));padding-bottom:max(10px,env(safe-area-inset-bottom,0px))}
body[data-page="member"] main,body[data-page="staff"] main{width:min(100%,1120px);padding-top:clamp(14px,3vw,28px)!important}
body[data-page="member"] :is(.memberDashboardSection,.memberCurrentRsvp,.memberEventAdmission,.memberSettingCard,.courseCard,.courseProgressCard,.assignedCourse),
body[data-page="staff"] :is(.staffPanel,.staffCard,article){border-color:#393239!important;background:#101014!important;box-shadow:none!important}
body[data-page="member"] .memberQuickNav{background:#101015!important;border-color:#463a43!important;box-shadow:none!important}
body[data-page="member"] .memberQuickNav .memberTab{min-height:44px!important}
body[data-page="staff"] .staffActions{gap:8px}
body[data-page="staff"] .staffActions button{min-height:44px}

/* Public Portal pages: quieter cards and less vertical dead space. */
body:not([data-page="admin"]):not([data-page="member"]):not([data-page="staff"]) main{padding-top:clamp(28px,5vw,54px);padding-bottom:64px}
.card,.resourcePanel,.referenceSection{box-shadow:none!important}

@media(max-width:760px){
  body[data-page="admin"]{padding-top:max(14px,env(safe-area-inset-top,0px))}
  body[data-page="member"]{padding-top:max(14px,env(safe-area-inset-top,0px))}
  body[data-page="admin"] .tabpane>.toolbar .sectionnote{font-size:.9rem!important;line-height:1.45!important}
  body[data-page="admin"] .adminPaneBack{margin-bottom:8px!important}
  body[data-page="admin"] main{padding-inline:8px!important}
  body[data-page="admin"] #adminDialog>.admin{padding:8px!important}
  body[data-page="admin"] #adminGroups{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:7px!important;gap:6px!important}
  body[data-page="admin"] #adminGroups .adminGroup{min-height:46px!important;font-size:.9rem!important}
  body[data-page="admin"] #adminTabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding-bottom:10px!important}
  body[data-page="admin"] #adminTabs .tab{min-height:48px!important;padding:10px 7px!important;font-size:.9rem!important}
  body[data-page="admin"] .tabpane{padding:12px!important;border-radius:12px!important}
  body[data-page="admin"] .tabpane>.toolbar{display:flex!important;align-items:flex-start!important;flex-wrap:wrap!important;gap:9px!important;padding-bottom:12px!important}
  body[data-page="admin"] .tabpane>.toolbar>div{flex:1 1 230px!important}
  body[data-page="admin"] .tabpane>.toolbar>button,body[data-page="admin"] .tabpane>.toolbar>a{width:auto!important;flex:0 0 auto!important;min-height:40px!important;padding:8px 11px!important}
  body[data-page="admin"] .tabpane>.toolbar>select{width:100%!important;flex:1 1 100%!important}
  body[data-page="admin"] #verificationTab>.two{grid-template-columns:1fr!important;padding:10px!important}
  body[data-page="admin"] #verificationTab .sectionnote{font-size:.93rem}
  body[data-page="admin"] .doorSummary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-page="admin"] .rowtop{align-items:flex-start!important}
  body[data-page="admin"] .rowtop .badge{margin-left:0!important}
  body[data-page="admin"] .rowactions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-page="admin"] .rowactions>*{width:100%!important;min-width:0!important}
  body[data-page="admin"] .adminPaneBack button{width:auto!important;min-width:0!important}
  footer{padding-block:20px!important}
}
@media(max-width:430px){
  body[data-page="admin"] #adminTabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-page="admin"] .rowactions{grid-template-columns:1fr!important}
  body[data-page="admin"] .doorSummary{grid-template-columns:1fr 1fr!important}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* v209 mobile workspace focus: once an owner opens a tool, remove the two large
   navigation grids from the viewport. Every tool already carries Back to overview. */
@media(max-width:760px){
  body[data-page="admin"].admin-subview #adminGroups,
  body[data-page="admin"].admin-subview #adminTabs{display:none!important}
  body[data-page="admin"].admin-subview .adminHealthWrap{margin:4px 0 8px!important}
  body[data-page="admin"].admin-subview .tabpane{margin-top:4px!important}
  body[data-page="admin"] #verificationTab>.toolbar,
  body[data-page="admin"] #doorRosterTab>.toolbar{gap:8px!important;margin-bottom:10px!important;padding-bottom:10px!important}
  body[data-page="admin"] #verificationTab>.toolbar h2,
  body[data-page="admin"] #doorRosterTab>.toolbar h2{font-size:1.35rem!important}
  body[data-page="admin"] #verificationTab>.toolbar .sectionnote,
  body[data-page="admin"] #doorRosterTab>.toolbar .sectionnote{display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden!important;margin-bottom:0!important}
  body[data-page="admin"] #verificationTab>.toolbar>button,
  body[data-page="admin"] #doorRosterTab>.toolbar>button,
  body[data-page="admin"] #doorRosterTab>.toolbar>a{min-height:38px!important;padding:7px 10px!important}
  body[data-page="admin"] #verificationTab>.two{gap:8px!important;margin-bottom:8px!important}
  body[data-page="admin"] #verificationTab select,
  body[data-page="admin"] #verificationTab input,
  body[data-page="admin"] #doorRosterTab select{min-height:46px!important}
}

/* Logged-in owner shell: the login-page title is redundant once the compact
   Operations dashboard header is available. */
body[data-page="admin"].admin-authenticated #adminDialog>.admin>.eyebrow,
body[data-page="admin"].admin-authenticated #adminDialog>.admin>h2{display:none!important}
body[data-page="admin"] #adminRetryBtn.hidden{display:none!important}
@media(max-width:760px){
  body[data-page="admin"].admin-authenticated #adminDialog>.admin{padding-top:4px!important}
  body[data-page="admin"].admin-authenticated .seAdminCompactHeader{margin-top:0!important}
}
