/* Gym owner branding is authoritative for common UI accents.
   Semantic success, warning and danger keep their independent meaning. */
body.gym-branded{
 --gym-ui-primary:var(--gym-primary,#6651d8);
 --gym-ui-accent:var(--gym-accent,#a28ef5);
 --gym-ui-sidebar:var(--gym-sidebar,#11172e);
 --gym-ui-soft:color-mix(in srgb,var(--gym-ui-primary) 9%,white);
 --gym-ui-border:color-mix(in srgb,var(--gym-ui-primary) 24%,white);
 --gym-ui-hover:color-mix(in srgb,var(--gym-ui-primary) 82%,#111827);
}
body.gym-branded :is(.btn-primary,.app-main .btn-primary,.platform-workspace .btn-primary,.member-onboarding-page .member-form-actions .btn-primary,.gym-clinical-page .btn-primary,.gym-security-page .btn-primary,.portal-choose-membership .btn-primary){
 background:var(--gym-ui-primary);border-color:var(--gym-ui-primary);color:#fff;
}
body.gym-branded :is(.btn-primary,.app-main .btn-primary,.platform-workspace .btn-primary):hover{background:var(--gym-ui-hover);border-color:var(--gym-ui-hover);color:#fff}
body.gym-branded :is(.btn-soft,.platform-workspace .btn-soft){background:var(--gym-ui-soft);border-color:var(--gym-ui-border);color:var(--gym-ui-primary)}
body.gym-branded :is(input.form-control,select.form-select,textarea.form-control,.ts-control):focus{border-color:var(--gym-ui-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--gym-ui-primary) 14%,transparent)}
body.gym-branded :is(.ts-wrapper.focus .ts-control,.app-main .ts-wrapper.focus .ts-control){border-color:var(--gym-ui-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--gym-ui-primary) 14%,transparent)}
body.gym-branded :is(.ts-dropdown .active,.app-main .ts-dropdown .active){background:var(--gym-ui-soft);color:var(--gym-ui-primary)}
body.gym-branded :is(.member-nav-link.active,.platform-workspace .platform-count,.platform-workspace .platform-status.is-pending){background:var(--gym-ui-soft);color:var(--gym-ui-primary)}
body.gym-branded :is(.platform-workspace .platform-stat-icon,.platform-workspace .platform-limit-pills>span){background:var(--gym-ui-soft);color:var(--gym-ui-primary)}
body.gym-branded :is(.member-onboarding-page .member-form-heading>b,.platform-workspace .platform-overline){background:var(--gym-ui-primary);color:#fff}
body.gym-branded .member-onboarding-page .fitness-goal-option input:checked+span{background:var(--gym-ui-soft);border-color:var(--gym-ui-primary);color:var(--gym-ui-primary);box-shadow:inset 0 0 0 1px var(--gym-ui-primary)}
body.gym-branded .platform-workspace .platform-gym-filters :is(input,select):focus{border-color:var(--gym-ui-primary)}
body.gym-branded .gym-shift-page .gym-shift-hero{background:linear-gradient(112deg,var(--gym-ui-sidebar),color-mix(in srgb,var(--gym-ui-sidebar) 45%,var(--gym-ui-primary)),var(--gym-ui-primary))}
body.gym-branded :is(.gym-clinical-page .nutrition-studio-hero,.member-onboarding-page .member-onboarding-hero){background:linear-gradient(110deg,var(--gym-ui-sidebar),var(--gym-ui-primary))}
body.gym-branded .member-onboarding-page .member-form-heading{background:var(--gym-ui-soft);border-color:var(--gym-ui-border)}
body.gym-branded .member-onboarding-page .member-form-heading h3{color:#232b47}
body.gym-branded .portal-choose-membership .portal-plan-offer:hover{border-color:var(--gym-ui-accent)}
body.gym-branded .page-link{color:var(--gym-ui-primary)}
body.gym-branded .page-item.active .page-link{background:var(--gym-ui-primary);border-color:var(--gym-ui-primary)}
body.gym-branded :is(a,button,input,select,textarea):focus-visible{outline-offset:2px}

/* Tenant theme coverage for operations / POS and shared action states */
body.gym-branded .ops-hero{background:linear-gradient(115deg,var(--gym-ui-sidebar),color-mix(in srgb,var(--gym-ui-sidebar) 55%,var(--gym-ui-primary)),var(--gym-ui-primary));color:#fff}
body.gym-branded .ops-hero span,body.gym-branded .ops-hero h2 small{color:color-mix(in srgb,var(--gym-ui-accent) 28%,white)}
body.gym-branded :is(.ops-mini-grid strong,.ops-sticky-card .card-header){color:var(--gym-ui-primary)}
body.gym-branded :is(.btn-outline-primary,.btn-outline-secondary){border-color:var(--gym-ui-border);color:var(--gym-ui-primary)}
body.gym-branded :is(.btn-outline-primary,.btn-outline-secondary):hover{background:var(--gym-ui-soft);border-color:var(--gym-ui-primary);color:var(--gym-ui-primary)}
body.gym-branded :is(.badge-soft-primary,.section-badge,.platform-count){background:var(--gym-ui-soft);color:var(--gym-ui-primary);border-color:var(--gym-ui-border)}
body.gym-branded :is(.form-check-input:checked,.form-check-input[type=checkbox]:checked,.form-check-input[type=radio]:checked){background-color:var(--gym-ui-primary);border-color:var(--gym-ui-primary)}
body.gym-branded :is(.form-check-input:focus,.form-range:focus){border-color:var(--gym-ui-primary);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--gym-ui-primary) 20%,transparent)}
body.gym-branded .form-range::-webkit-slider-thumb{background:var(--gym-ui-primary)}
body.gym-branded .form-range::-moz-range-thumb{background:var(--gym-ui-primary)}
body.gym-branded :is(.nav-pills .nav-link.active,.list-group-item.active,.dropdown-item.active){background:var(--gym-ui-primary);border-color:var(--gym-ui-primary);color:#fff}
body.gym-branded .dropdown-item:hover{background:var(--gym-ui-soft)}
body.gym-branded :is(.progress-bar,.revenue-bar){background:var(--gym-ui-primary)}
body.gym-branded :is(.page-link:hover,.page-link:focus){background:var(--gym-ui-soft);color:var(--gym-ui-primary)}
body.gym-branded .gymos-searchable-select .ts-dropdown .active{background:var(--gym-ui-soft);color:var(--gym-ui-primary)}
/* Retain semantic warning/danger/success button and badge colors. */
