/* 258 CORE 3.12.1 · UI CONTRAST REPAIR */
:root{
  color-scheme:light dark;
  --ios-radius:14px;
  --ios-radius-sm:10px;
  --ios-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue","Segoe UI",Arial,sans-serif;
}
html,body,.sys-club-admin,.sys-club-portal,.sys-pro-app,.p258{font-family:var(--ios-font)!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body[data-pro258-theme="light"]{
  --ui-bg:#E7E9EC;
  --ui-bg2:#DEE1E5;
  --ui-surface:#F1F2F4;
  --ui-surface2:#E5E7EA;
  --ui-surface3:#D7DADE;
  --ui-sidebar:#DDE0E4;
  --ui-topbar:rgba(231,233,236,.92);
  --ui-text:#202226;
  --ui-muted:#626771;
  --ui-faint:#858B95;
  --ui-border:#C1C5CC;
  --ui-separator:#B5BAC2;
  --ui-control:#D9DCE1;
  --ui-control-hover:#CDD1D7;
  --ui-shadow:0 10px 24px rgba(30,32,38,.08);
  --ui-shadow-soft:0 4px 12px rgba(30,32,38,.05);
  --ui-danger:#C9363E;
  --ui-success:#4E8144;
}
body[data-pro258-theme="dark"]{
  --ui-bg:#15111A;
  --ui-bg2:#1B1622;
  --ui-surface:#211B29;
  --ui-surface2:#2A2333;
  --ui-surface3:#342C3F;
  --ui-sidebar:#1B1622;
  --ui-topbar:rgba(27,22,34,.92);
  --ui-text:#F1EDF5;
  --ui-muted:#AAA2B3;
  --ui-faint:#837A8D;
  --ui-border:#403748;
  --ui-separator:#352D3D;
  --ui-control:#2A2333;
  --ui-control-hover:#342C3F;
  --ui-shadow:0 14px 34px rgba(4,2,7,.34);
  --ui-shadow-soft:0 6px 18px rgba(4,2,7,.24);
  --ui-danger:#E5575F;
  --ui-success:#8DBF64;
}
body[data-pro258-theme="light"].is-258-pro-zone{
  --ui-bg:#E9E3E5;
  --ui-bg2:#DED4D7;
  --ui-surface:#F3ECEE;
  --ui-surface2:#E6DADD;
  --ui-surface3:#D8C9CD;
  --ui-sidebar:#2B171B;
  --ui-topbar:rgba(243,236,238,.94);
  --ui-text:#2B2224;
  --ui-muted:#75666A;
  --ui-faint:#95868A;
  --ui-border:#CBBBC0;
  --ui-separator:#BCAAAF;
  --ui-control:#DED1D5;
  --ui-control-hover:#D2C1C6;
  --ui-shadow:0 10px 24px rgba(48,24,29,.09);
  --ui-shadow-soft:0 4px 12px rgba(48,24,29,.06);
}
body[data-pro258-theme="dark"].is-258-pro-zone{
  --ui-bg:#140C0F;
  --ui-bg2:#1A0F13;
  --ui-surface:#221317;
  --ui-surface2:#2C191E;
  --ui-surface3:#382027;
  --ui-sidebar:#10080A;
  --ui-topbar:rgba(26,15,19,.94);
  --ui-text:#F7ECEE;
  --ui-muted:#C7ADB2;
  --ui-faint:#987B81;
  --ui-border:#4A2B31;
  --ui-separator:#3A2025;
  --ui-control:#2C191E;
  --ui-control-hover:#382027;
  --ui-shadow:0 16px 36px rgba(0,0,0,.38);
  --ui-shadow-soft:0 7px 20px rgba(0,0,0,.28);
}
body[data-pro258-theme]{background:var(--ui-bg)!important;color:var(--ui-text)!important}
body[data-pro258-theme] *,body[data-pro258-theme] *::before,body[data-pro258-theme] *::after{box-sizing:border-box}
body[data-pro258-theme] :is(h1,h2,h3,h4,h5,h6,strong,b){color:var(--ui-text)!important}
body[data-pro258-theme] :is(p,small,label,li,dd,dt){color:var(--ui-muted)!important}
body[data-pro258-theme] a{color:inherit}
body[data-pro258-theme] :is(.sys-admin-workspace,.sys-admin-main,.sys-club-main,.sys-club-page-content,.sys-pro-main,.sys-pro-content,.sys-pro-app){background:var(--ui-bg)!important;color:var(--ui-text)!important}

/* Navigation */
body[data-pro258-theme] :is(.sys-admin-app-nav,.sys-club-sidebar,.sys-club-mobile-drawer,.sys-pro-sidebar){background:var(--ui-sidebar)!important;color:var(--ui-text)!important;border-right:1px solid var(--ui-border)!important;box-shadow:none!important}
body[data-pro258-theme="light"].is-258-pro-zone :is(.sys-admin-app-nav,.sys-club-sidebar,.sys-club-mobile-drawer,.sys-pro-sidebar){color:#F8EEF0!important}
body[data-pro258-theme] :is(.sys-admin-header,.sys-club-topbar,.sys-pro-topbar){background:var(--ui-topbar)!important;color:var(--ui-text)!important;border-bottom:1px solid var(--ui-border)!important;box-shadow:none!important;backdrop-filter:blur(22px) saturate(125%)!important}
body[data-pro258-theme] .sys-admin-header::after{display:none!important}
body[data-pro258-theme] :is(.sys-admin-app-menu__group>span,.sys-club-nav__group>span,.sys-pro-nav__group>span){color:var(--ui-faint)!important}
body[data-pro258-theme] :is(.sys-admin-app-menu a,.sys-club-nav__item,.sys-pro-nav a){min-height:42px!important;border:1px solid transparent!important;border-radius:12px!important;background:transparent!important;color:var(--ui-text)!important;box-shadow:none!important}
body[data-pro258-theme="light"].is-258-pro-zone :is(.sys-admin-app-menu a,.sys-club-nav__item,.sys-pro-nav a){color:#F6EDEF!important}
body[data-pro258-theme] :is(.sys-admin-app-menu a:hover,.sys-club-nav__item:hover,.sys-pro-nav a:hover){background:var(--ui-control)!important;border-color:transparent!important}
body[data-pro258-theme="light"].is-258-pro-zone :is(.sys-admin-app-menu a:hover,.sys-club-nav__item:hover,.sys-pro-nav a:hover){background:rgba(255,255,255,.08)!important}
body[data-pro258-theme] :is(.sys-admin-app-menu a.is-active,.sys-club-nav__item.is-active,.sys-pro-nav a.is-active){background:rgba(var(--p258-accent-rgb),.14)!important;border-color:rgba(var(--p258-accent-rgb),.28)!important;color:var(--ui-text)!important;box-shadow:inset 3px 0 0 var(--p258-accent)!important}
body[data-pro258-theme="light"].is-258-pro-zone :is(.sys-admin-app-menu a.is-active,.sys-club-nav__item.is-active,.sys-pro-nav a.is-active){color:#FFFFFF!important;background:rgba(227,27,35,.18)!important}
body[data-pro258-theme] :is(.sys-admin-app-menu .p258-icon-svg,.sys-club-nav__item svg,.sys-pro-nav svg){color:var(--ui-muted)!important;stroke:currentColor!important}
body[data-pro258-theme="light"].is-258-pro-zone :is(.sys-admin-app-menu .p258-icon-svg,.sys-club-nav__item svg,.sys-pro-nav svg){color:#D7BFC4!important}
body[data-pro258-theme] :is(.sys-admin-app-menu a.is-active .p258-icon-svg,.sys-club-nav__item.is-active svg,.sys-pro-nav a.is-active svg){color:var(--p258-accent)!important}

/* Cards, KPIs and modules */
body[data-pro258-theme] :is(.sys-admin-card,.sys-admin-kpi,.sys-admin-panel,.sys-admin-module-card,.sys-admin-table-wrap,.sys-admin-pages-grid article,.sys-health-list>div,.sys-update-checklist>div,.sys-portal-panel,.sys-portal-stats article,.sys-benefit-card,.sys-club-event-card,.sys-pro-panel,.sys-pro-credential,.sys-reward-card,.sys-validate-card,.sys-milestones,.sys-last-stamps,.sys-upcoming-destinations,.pro258-client-invitation-grid article,.pro258-invitation-row,.pro258-admin-user-list article,.sys-event-admin-card,.sys-pro-source-panel,.sys-pro-accreditation-edit,.sys-extra-item-grid>article){background:var(--ui-surface)!important;color:var(--ui-text)!important;border:1px solid var(--ui-border)!important;box-shadow:var(--ui-shadow-soft)!important}
body[data-pro258-theme] :is(.sys-admin-card,.sys-admin-kpi,.sys-admin-panel,.sys-admin-module-card,.sys-portal-panel,.sys-benefit-card,.sys-pro-panel){border-radius:var(--ios-radius)!important}
body[data-pro258-theme] :is(.sys-admin-kpi::before,.sys-admin-kpi::after,.sys-admin-card::before,.sys-admin-panel::before,.sys-admin-module-card::before){display:none!important}
body[data-pro258-theme] :is(.sys-admin-kpi>.dashicons,.sys-admin-kpi>.p258-icon-svg,.sys-admin-module-card__icon,.sys-admin-pages-grid__icon,.sys-portal-stats svg,.sys-benefit-card svg,.sys-extra-icon){background:rgba(var(--p258-accent-rgb),.13)!important;color:var(--p258-accent)!important;border:0!important;box-shadow:none!important}
body[data-pro258-theme] :is(.sys-admin-card p,.sys-admin-kpi p,.sys-admin-module-card p,.sys-portal-panel p,.sys-benefit-card p,.sys-pro-panel p){color:var(--ui-muted)!important}
body[data-pro258-theme] :is(.sys-admin-card__head span,.sys-admin-section-title>div>span,.sys-panel-kicker,.sys-page-intro>span,.sys-club-topbar__eyebrow,.sys-pro-topbar span){color:var(--p258-accent)!important}

/* Forms */
body[data-pro258-theme] :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),select,textarea){min-height:44px!important;background:var(--ui-surface2)!important;color:var(--ui-text)!important;border:1px solid var(--ui-border)!important;border-radius:10px!important;box-shadow:none!important;font:inherit!important;font-weight:500!important}
body[data-pro258-theme] textarea{padding:12px 14px!important}
body[data-pro258-theme] :is(input::placeholder,textarea::placeholder){color:var(--ui-faint)!important;opacity:1!important}
body[data-pro258-theme] select option{background:var(--ui-surface)!important;color:var(--ui-text)!important}
body[data-pro258-theme] :is(input:focus,select:focus,textarea:focus){outline:0!important;border-color:var(--p258-accent)!important;box-shadow:0 0 0 3px rgba(var(--p258-accent-rgb),.15)!important}
body[data-pro258-theme] :is(input[type=checkbox],input[type=radio]){accent-color:var(--p258-accent)!important}
body[data-pro258-theme] fieldset{background:transparent!important;border-color:var(--ui-border)!important}
body[data-pro258-theme] legend{color:var(--ui-text)!important}

/* Buttons */
body[data-pro258-theme] :is(.sys-admin-btn--primary,.button-primary,.sys-club-btn,.sys-pro-btn,.sys-pro-download,.sys-access-pass-copy,.p258-btn){min-height:40px!important;border-radius:10px!important;background:var(--p258-accent)!important;color:var(--p258-accent-ink)!important;border:1px solid var(--p258-accent)!important;box-shadow:none!important;font-weight:700!important}
body[data-pro258-theme] :is(.sys-admin-btn:not(.sys-admin-btn--primary):not(.sys-admin-icon-btn--danger),.button:not(.button-primary):not(.button-link-delete),.sys-club-btn--secondary,.sys-wallet-button,.p258-btn.alt){background:var(--ui-surface2)!important;color:var(--ui-text)!important;border:1px solid var(--ui-border)!important;box-shadow:none!important}
body[data-pro258-theme] :is(.sys-admin-btn,.button,.sys-club-btn,.sys-pro-btn,.sys-wallet-button):hover{filter:none!important;transform:none!important;background:var(--ui-control-hover)!important}
body[data-pro258-theme] :is(.sys-admin-btn--primary,.button-primary,.sys-club-btn:not(.sys-club-btn--secondary),.sys-pro-btn,.sys-pro-download,.sys-access-pass-copy,.p258-btn:not(.alt)):hover{background:var(--p258-accent)!important;filter:brightness(.94)!important}

/* Tables and charts */
body[data-pro258-theme] .sys-admin-table{background:var(--ui-surface)!important;color:var(--ui-text)!important}
body[data-pro258-theme] .sys-admin-table th{background:var(--ui-surface2)!important;color:var(--ui-muted)!important;border-bottom:1px solid var(--ui-border)!important}
body[data-pro258-theme] .sys-admin-table td{color:var(--ui-text)!important;border-bottom:1px solid var(--ui-border)!important}
body[data-pro258-theme] .sys-admin-table tbody tr:hover{background:rgba(var(--p258-accent-rgb),.05)!important}
body[data-pro258-theme] .sys-growth-chart{background:linear-gradient(to bottom,rgba(var(--p258-accent-rgb),.02),rgba(var(--p258-accent-rgb),.06))!important;border-color:var(--ui-border)!important}
body[data-pro258-theme] .sys-growth-chart i{background:linear-gradient(180deg,var(--p258-accent),rgba(var(--p258-accent-rgb),.55))!important}
body[data-pro258-theme] .sys-growth-chart i span{background:var(--ui-surface3)!important;color:var(--ui-text)!important}
body[data-pro258-theme] :is(.sys-level-track,.sys-progress-track){background:var(--ui-surface3)!important}
body[data-pro258-theme] :is(.sys-level-fill,.sys-progress-fill){background:var(--p258-accent)!important}

/* Access pass and hero blocks */
body[data-pro258-theme] :is(.sys-access-pass,.sys-id-card,.sys-portal-welcome,.sys-member-hero,.sys-pro-hero){background:linear-gradient(135deg,var(--ui-surface2),var(--ui-surface))!important;color:var(--ui-text)!important;border:1px solid var(--ui-border)!important;box-shadow:var(--ui-shadow)!important}
body[data-pro258-theme="dark"] :is(.sys-access-pass,.sys-id-card,.sys-portal-welcome,.sys-member-hero,.sys-pro-hero){background:linear-gradient(135deg,#2A2333,#1B1622)!important;color:#F1EDF5!important}
body[data-pro258-theme].is-258-pro-zone :is(.sys-access-pass,.sys-id-card,.sys-portal-welcome,.sys-member-hero,.sys-pro-hero){background:linear-gradient(135deg,var(--ui-surface2),var(--ui-surface))!important;color:var(--ui-text)!important}
body[data-pro258-theme] :is(.sys-access-pass__head,.sys-access-pass__data){border-color:var(--ui-border)!important}
body[data-pro258-theme] :is(.sys-access-pass__brand small,.sys-access-pass__identity>small,.sys-access-pass__qr-zone>small,.sys-access-pass__data small,.sys-access-pass__foot>small){color:var(--ui-muted)!important}
body[data-pro258-theme] :is(.sys-access-pass__identity h3,.sys-access-pass__data strong,.sys-id-card strong,.sys-id-card__name){color:var(--ui-text)!important}
body[data-pro258-theme="dark"] :is(.sys-access-pass__identity h3,.sys-access-pass__data strong,.sys-id-card strong,.sys-id-card__name){color:#F1EDF5!important}
body[data-pro258-theme] .sys-access-pass__photo{background:rgba(var(--p258-accent-rgb),.08)!important;border-color:rgba(var(--p258-accent-rgb),.25)!important}
body[data-pro258-theme] :is(.sys-access-pass__level,.sys-access-pass__season,.sys-member-chip,.sys-portal-code){background:rgba(var(--p258-accent-rgb),.09)!important;color:var(--ui-text)!important;border-color:rgba(var(--p258-accent-rgb),.22)!important}
body[data-pro258-theme] .sys-access-pass-note{background:var(--ui-surface)!important;border-color:var(--ui-border)!important;border-left-color:var(--p258-accent)!important}

/* Compact theme switch */
.pro258-theme-switch-row{margin:8px 0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;display:flex!important;justify-content:flex-start!important}
.pro258-light-switch,.pro258-theme-toggle{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;padding:0!important;display:grid!important;place-items:center!important;border:1px solid var(--ui-border)!important;border-radius:12px!important;background:var(--ui-surface2)!important;color:var(--ui-text)!important;box-shadow:none!important;cursor:pointer!important;overflow:hidden!important}
.pro258-light-switch__copy,.pro258-light-switch__track,.pro258-theme-toggle__text,.pro258-theme-switch{display:none!important}
.pro258-light-switch__icon{width:auto!important;height:auto!important;display:grid!important;place-items:center!important;border:0!important;border-radius:0!important;background:transparent!important;color:inherit!important;box-shadow:none!important;transform:none!important}
.pro258-light-switch__icon svg,.pro258-theme-toggle svg{grid-area:1/1;width:20px!important;height:20px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important;transition:opacity .18s ease,transform .18s ease!important}
body[data-pro258-theme="light"] .pro258-light-switch .is-sun,body[data-pro258-theme="light"] .pro258-theme-toggle .is-sun{opacity:1!important;transform:scale(1)!important}
body[data-pro258-theme="light"] .pro258-light-switch .is-moon,body[data-pro258-theme="light"] .pro258-theme-toggle .is-moon{opacity:0!important;transform:scale(.7)!important}
body[data-pro258-theme="dark"] .pro258-light-switch .is-sun,body[data-pro258-theme="dark"] .pro258-theme-toggle .is-sun{opacity:0!important;transform:scale(.7)!important}
body[data-pro258-theme="dark"] .pro258-light-switch .is-moon,body[data-pro258-theme="dark"] .pro258-theme-toggle .is-moon{opacity:1!important;transform:scale(1)!important}
.pro258-light-switch:hover,.pro258-theme-toggle:hover{background:var(--ui-control-hover)!important;transform:none!important}
.pro258-light-switch:focus-visible,.pro258-theme-toggle:focus-visible{outline:3px solid rgba(var(--p258-accent-rgb),.18)!important;outline-offset:2px!important}

/* Compact user and logout buttons */
.sys-admin-session-tools{display:flex!important;align-items:center!important;gap:8px!important}
.sys-admin-session-user,.sys-admin-session-logout,.sys-club-logout,.sys-pro-logout-icon{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;padding:0!important;display:grid!important;place-items:center!important;border:1px solid var(--ui-border)!important;border-radius:12px!important;background:var(--ui-surface2)!important;color:var(--ui-text)!important;box-shadow:none!important;text-decoration:none!important}
.sys-admin-session-logout b,.sys-club-logout__label{display:none!important}
.sys-admin-session-logout .dashicons,.sys-club-logout svg,.sys-pro-logout-icon svg{width:19px!important;height:19px!important;color:currentColor!important;stroke:currentColor!important;fill:none!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.sys-admin-session-logout:hover,.sys-club-logout:hover,.sys-pro-logout-icon:hover{background:rgba(227,27,35,.10)!important;color:var(--ui-danger)!important;border-color:rgba(227,27,35,.24)!important}
.sys-pro-sidebar__footer{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important}
.sys-pro-sidebar__footer>a:not(.sys-pro-logout-icon){min-width:0!important}

/* PRO mode contrast repair */
body[data-pro258-theme="light"].is-258-pro-zone :is(.sys-admin-app-nav__brand strong,.sys-admin-app-nav__brand small,.sys-admin-app-menu__group>span,.sys-admin-app-nav__footer small,.sys-admin-app-nav__footer>a,.sys-admin-app-nav__footer button){color:#F8EEF0!important}
body[data-pro258-theme="light"].is-258-pro-zone .sys-admin-app-nav__brand{border-bottom-color:rgba(255,255,255,.12)!important}
body[data-pro258-theme="light"].is-258-pro-zone .sys-admin-app-nav__footer{border-top-color:rgba(255,255,255,.12)!important}

body[data-pro258-theme].is-258-pro-zone .sys-pro-sidebar__footer>a:first-child{color:var(--ui-muted)!important}
body[data-pro258-theme="light"].is-258-pro-zone .sys-pro-sidebar__footer>a:first-child{color:#D7BFC4!important}
body[data-pro258-theme].is-258-pro-zone :is(.sys-pro-status,.sys-pro-person,.sys-pro-role){background:var(--ui-surface2)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important}
body[data-pro258-theme="light"].is-258-pro-zone :is(.sys-pro-person,.sys-pro-role){background:rgba(255,255,255,.07)!important;color:#F8EEF0!important;border-color:rgba(255,255,255,.12)!important}
body[data-pro258-theme="light"].is-258-pro-zone :is(.sys-pro-person strong,.sys-pro-person small,.sys-pro-role strong,.sys-pro-role small,.sys-pro-brand strong,.sys-pro-brand small){color:#F8EEF0!important}
body[data-pro258-theme].is-258-pro-zone .sys-pro-topbar{color:var(--ui-text)!important}
body[data-pro258-theme].is-258-pro-zone .sys-pro-content :is(h1,h2,h3,h4,strong,b){color:var(--ui-text)!important}
body[data-pro258-theme].is-258-pro-zone .sys-pro-content :is(p,small,label,li){color:var(--ui-muted)!important}

@media(max-width:760px){
  .pro258-light-switch,.pro258-theme-toggle,.sys-admin-session-user,.sys-admin-session-logout,.sys-club-logout,.sys-pro-logout-icon{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
}
