/* ============================================================
   FITMAX Stage 9 — Member Mobile Web / PWA-ready
   Mobile-first; follows FITMAX dark/neon Design DNA.
   ============================================================ */
:root{
  --member-nav-height:72px;
  --member-max:920px;
}
*{box-sizing:border-box}
.member-portal-shell{margin:0;min-height:100vh;color:#F7FAFC;background:
 radial-gradient(circle at 85% 0%,rgba(140,255,77,.07),transparent 30rem),
 radial-gradient(circle at 0% 30%,rgba(46,145,255,.06),transparent 26rem),
 linear-gradient(155deg,#071520 0%,#0B1C29 54%,#071520 100%);
 padding-bottom:calc(var(--member-nav-height) + env(safe-area-inset-bottom) + 18px)}
.member-topbar{position:sticky;z-index:50;top:0;display:flex;align-items:center;justify-content:space-between;min-height:66px;padding:10px max(16px,env(safe-area-inset-left));border-bottom:1px solid rgba(255,255,255,.06);background:rgba(7,21,32,.86);backdrop-filter:blur(18px)}
.member-brand img{display:block;width:116px;height:auto}
.member-top-actions{display:flex;align-items:center;gap:9px}
.member-icon-button,.member-avatar-link{display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(255,255,255,.08);border-radius:14px;color:#AEBCC7;background:rgba(255,255,255,.035)}
.member-avatar-link{overflow:hidden}.member-avatar-link img{width:100%;height:100%;object-fit:cover}
.member-main{width:min(calc(100% - 28px),var(--member-max));margin:0 auto;padding:18px 0 28px}
.member-alert{margin-bottom:14px}
.member-bottom-nav{position:fixed;z-index:80;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,1fr);min-height:var(--member-nav-height);padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid rgba(255,255,255,.08);background:rgba(7,21,32,.94);backdrop-filter:blur(20px)}
.member-bottom-nav a{display:flex;min-width:0;min-height:54px;align-items:center;justify-content:center;flex-direction:column;gap:4px;border-radius:12px;color:#718493;font-size:9px;font-weight:600;transition:150ms ease}
.member-bottom-nav a.active{color:#071520;background:linear-gradient(135deg,#96FF59,#53E693);box-shadow:0 0 24px rgba(140,255,77,.12)}
.member-greeting,.member-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:17px}
.member-page-head{display:block}.member-greeting h1,.member-page-head h1{margin:4px 0 5px;font-size:25px;letter-spacing:-.03em}.member-greeting p:last-child,.member-page-head p:last-child{margin:0;color:#AEBCC7;font-size:10px;line-height:1.6}
.member-status{display:inline-flex;min-height:28px;align-items:center;padding:5px 10px;border-radius:999px;font-size:8px;font-weight:800;letter-spacing:.04em}
.member-status-active{color:#37E66A;background:rgba(55,230,106,.12)}.member-status-inactive,.member-status-blocked{color:#FF7A87;background:rgba(255,77,94,.12)}
.member-card{display:block;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(15,34,47,.82);box-shadow:0 10px 30px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.025)}
.member-card-highlight{position:relative;overflow:hidden;margin:14px 0}.member-card-highlight:after{position:absolute;right:-50px;bottom:-80px;width:190px;height:190px;border-radius:50%;background:rgba(140,255,77,.07);content:"";filter:blur(2px)}
.member-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.member-card-head h2,.member-card-head h3{margin:4px 0}
.member-card-person{position:relative;z-index:1;display:flex;align-items:center;gap:11px;margin-top:16px}.member-card-person img{width:50px;height:50px;border:1px solid rgba(255,255,255,.08);border-radius:15px;object-fit:cover}.member-card-person strong,.member-card-person small{display:block}.member-card-person strong{font-size:12px}.member-card-person small{margin-top:3px;color:#718493;font-size:9px}
.member-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:15px}.member-kpi{display:flex;min-height:94px;align-items:center;gap:10px;padding:14px;border:1px solid rgba(255,255,255,.075);border-radius:16px;background:rgba(15,34,47,.75)}.member-kpi>span{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:12px;color:#8CFF4D;background:rgba(140,255,77,.1)}.member-kpi small,.member-kpi strong{display:block}.member-kpi small{color:#718493;font-size:8px;line-height:1.4}.member-kpi strong{margin-top:4px;font-size:18px}
.member-section-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:23px 2px 10px}.member-section-head h2{margin:3px 0 0;font-size:15px}.member-section-head>a{color:#8CFF4D;font-size:9px;font-weight:700}
.member-membership-list,.member-mobile-list,.member-class-list,.member-notice-list,.member-more-links{display:grid;gap:10px}
.membership-mobile-card h3{font-size:13px}.membership-mobile-stats{display:grid;grid-template-columns:1fr 1.45fr;gap:8px;margin-top:14px}.membership-mobile-stats>div{padding:9px;border:1px solid rgba(255,255,255,.05);border-radius:11px;background:rgba(255,255,255,.018)}.membership-mobile-stats small,.membership-mobile-stats strong{display:block}.membership-mobile-stats small{color:#718493;font-size:8px}.membership-mobile-stats strong{margin-top:3px;font-size:10px}
.member-progress{height:7px;margin-top:10px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.06)}.member-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8CFF4D,#53E693)}
.membership-mobile-footer{display:flex;justify-content:space-between;gap:10px;margin-top:8px;color:#718493;font-size:8px}
.member-next-class{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:11px;align-items:center}.member-class-date{display:flex;width:54px;min-height:62px;align-items:center;justify-content:center;flex-direction:column;border:1px solid rgba(140,255,77,.15);border-radius:14px;background:rgba(140,255,77,.06)}.member-class-date strong{font-size:21px;line-height:1}.member-class-date span{margin-top:3px;color:#8CFF4D;font-size:8px;font-weight:800}.member-class-date small{margin-top:2px;color:#718493;font-size:8px}.member-next-class>div:nth-child(2)>strong,.member-next-class>div:nth-child(2)>small{display:block}.member-next-class>div:nth-child(2)>strong{font-size:11px}.member-next-class>div:nth-child(2)>small{margin-top:4px;color:#718493;font-size:8px}
.member-empty{display:grid;min-height:120px;place-items:center;text-align:center}.member-empty strong,.member-empty span{display:block}.member-empty strong{font-size:12px}.member-empty span{margin-top:5px;color:#718493;font-size:9px}.member-empty .button{margin-top:9px}.member-empty.inline{min-height:auto;padding:8px 0}
.member-notice-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px}.member-notice-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:11px;color:#8CFF4D;background:rgba(140,255,77,.1)}.member-notice-row strong,.member-notice-row small{display:block}.member-notice-row strong{font-size:10px}.member-notice-row small{margin-top:3px;color:#718493;font-size:8px;line-height:1.45}.member-notice-row time{color:#718493;font-size:8px}
.member-digital-card{position:relative;max-width:560px;margin:0 auto;padding:20px;overflow:hidden;border:1px solid rgba(140,255,77,.2);border-radius:26px;background:linear-gradient(145deg,rgba(15,34,47,.96),rgba(7,21,32,.98));box-shadow:0 0 35px rgba(140,255,77,.08),0 18px 50px rgba(0,0,0,.25)}.member-digital-card:after{position:absolute;right:-90px;bottom:-100px;width:260px;height:260px;border-radius:50%;background:rgba(140,255,77,.08);content:""}
.member-digital-card-top{display:flex;position:relative;z-index:1;align-items:center;justify-content:space-between}.member-digital-card-top img{width:112px}
.member-qr-box{display:grid;position:relative;z-index:1;width:min(82vw,330px);aspect-ratio:1;margin:22px auto;place-items:center;border-radius:22px;background:#F7FAFC;box-shadow:0 0 28px rgba(255,255,255,.06)}.member-qr-box img{width:92%;height:92%}
.member-digital-person{display:flex;position:relative;z-index:1;align-items:center;gap:12px}.member-digital-person img{width:62px;height:62px;border-radius:17px;object-fit:cover}.member-digital-person h2{margin:0 0 4px;font-size:17px}.member-digital-person strong{color:#8CFF4D;font-size:10px;letter-spacing:.05em}
.member-digital-divider{position:relative;z-index:1;height:1px;margin:16px 0;background:rgba(255,255,255,.08)}.member-digital-summary{position:relative;z-index:1}.member-digital-summary span,.member-digital-summary strong,.member-digital-summary small{display:block}.member-digital-summary span{color:#718493;font-size:8px}.member-digital-summary strong{margin-top:2px;font-size:23px}.member-digital-summary small{margin-top:2px;color:#AEBCC7;font-size:9px}
.member-safety-note,.member-policy-box{display:flex;align-items:flex-start;gap:10px;max-width:560px;margin:12px auto 0}.member-safety-note>span,.member-policy-box>span{color:#FF8A2A}.member-safety-note strong,.member-safety-note small,.member-policy-box strong,.member-policy-box small{display:block}.member-safety-note strong,.member-policy-box strong{font-size:10px}.member-safety-note small,.member-policy-box small{margin-top:3px;color:#718493;font-size:8px;line-height:1.55}
.member-history-row,.member-payment-mobile{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px}.member-history-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:11px;color:#2E91FF;background:rgba(46,145,255,.12)}.member-history-icon.success{color:#37E66A;background:rgba(55,230,106,.11)}.member-history-icon.muted{color:#718493;background:rgba(120,138,154,.1)}.member-history-row>div:nth-child(2)>strong,.member-history-row>div:nth-child(2)>small,.member-history-row>div:nth-child(2)>span,.member-payment-mobile>div:nth-child(2)>strong,.member-payment-mobile>div:nth-child(2)>small{display:block}.member-history-row>div:nth-child(2)>strong,.member-payment-mobile>div:nth-child(2)>strong{font-size:10px}.member-history-row>div:nth-child(2)>small,.member-history-row>div:nth-child(2)>span,.member-payment-mobile>div:nth-child(2)>small{margin-top:2px;color:#718493;font-size:8px}.member-history-side{text-align:right}.member-history-side>strong,.member-history-side>small{display:block}.member-history-side>strong{font-size:10px}.member-history-side>small{margin-top:3px;color:#718493;font-size:8px}
.member-back-link{display:inline-flex;margin-bottom:12px;color:#8CFF4D;font-size:10px;font-weight:700}
.member-invoice-card{max-width:650px;margin:0 auto}.member-invoice-total{text-align:right}.member-invoice-total small,.member-invoice-total strong{display:block}.member-invoice-total small{color:#718493;font-size:8px}.member-invoice-total strong{margin-top:3px;font-size:18px}.member-invoice-lines{display:grid;gap:8px;margin:18px 0;padding:14px 0;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}.member-invoice-lines>div{display:flex;justify-content:space-between;gap:15px;color:#AEBCC7;font-size:9px}.member-invoice-lines strong{color:#F7FAFC}.member-invoice-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.member-invoice-meta>div{padding:9px;border-radius:10px;background:rgba(255,255,255,.018)}.member-invoice-meta dt{color:#718493;font-size:8px}.member-invoice-meta dd{margin:4px 0 0;font-size:9px;overflow-wrap:anywhere}
.member-class-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:11px;align-items:center;padding:12px}.member-class-main{min-width:0}.member-class-top{display:flex;align-items:center;justify-content:space-between;gap:7px}.member-class-main h3{margin:6px 0 3px;font-size:12px}.member-class-main>p{margin:0;color:#AEBCC7;font-size:9px}.member-class-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;color:#718493;font-size:8px}.member-class-meta span{display:flex;align-items:center;gap:4px}
.member-class-hero{margin-bottom:12px}.member-class-hero-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.member-class-hero-grid>div{padding:10px;border:1px solid rgba(255,255,255,.05);border-radius:11px;background:rgba(255,255,255,.018)}.member-class-hero-grid small,.member-class-hero-grid strong,.member-class-hero-grid span{display:block}.member-class-hero-grid small{color:#718493;font-size:8px}.member-class-hero-grid strong{margin-top:3px;font-size:10px}.member-class-hero-grid span{margin-top:2px;color:#AEBCC7;font-size:8px}.member-class-description{margin:13px 0 0;color:#AEBCC7;font-size:9px;line-height:1.6}
.member-booking-state{display:grid;gap:14px;margin-bottom:12px}.member-booking-state h2{margin:4px 0}.member-booking-state p:last-child{margin:0;color:#AEBCC7;font-size:9px;line-height:1.6}.member-cancel-form{display:grid;gap:8px}.member-eligible-package{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid rgba(140,255,77,.15);border-radius:12px;background:rgba(140,255,77,.05)}.member-eligible-package>span{color:#8CFF4D}.member-eligible-package strong,.member-eligible-package small{display:block}.member-eligible-package strong{font-size:10px}.member-eligible-package small{margin-top:3px;color:#718493;font-size:8px}
.member-inbox-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px}.member-inbox-card strong{display:block;font-size:10px}.member-inbox-card p{margin:4px 0;color:#AEBCC7;font-size:9px;line-height:1.55}.member-inbox-card small{color:#718493;font-size:8px}.member-inbox-delivery{padding:4px 7px;border-radius:999px;color:#718493;background:rgba(255,255,255,.04);font-size:7px;white-space:nowrap}
.member-profile-head{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:13px;align-items:center;margin-bottom:12px}.member-profile-head>img{width:68px;height:68px;border-radius:19px;object-fit:cover}.member-profile-head h1{margin:3px 0;font-size:18px}.member-profile-head strong,.member-profile-head small{display:block}.member-profile-head strong{color:#8CFF4D;font-size:9px}.member-profile-head small{margin-top:2px;color:#718493;font-size:8px}
.member-more-link{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px}.member-more-link>span{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:#8CFF4D;background:rgba(140,255,77,.08)}.member-more-link strong,.member-more-link small{display:block}.member-more-link strong{font-size:10px}.member-more-link small{margin-top:2px;color:#718493;font-size:8px}.member-more-link>b{color:#718493;font-size:18px}
.member-more-links{margin-bottom:12px}.member-profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.member-profile-full{grid-column:1/-1}.member-muted-note{margin:0 0 14px;color:#718493;font-size:9px;line-height:1.5}.member-logout-form{margin-top:12px}
.member-login-page{margin:0;min-height:100vh;color:#F7FAFC;background:radial-gradient(circle at 85% 5%,rgba(140,255,77,.11),transparent 30rem),linear-gradient(145deg,#071520,#0B1C29)}
.member-login-shell{display:grid;min-height:100vh;grid-template-columns:1.05fr .95fr}.member-login-hero{display:flex;justify-content:center;flex-direction:column;padding:9vw}.member-login-hero>img{width:150px;margin-bottom:22px}.member-login-hero h1{margin:12px 0;font-size:clamp(38px,5vw,70px);line-height:.98;letter-spacing:-.055em}.member-login-hero h1 span{color:#8CFF4D}.member-login-hero>p{max-width:620px;color:#AEBCC7;font-size:12px;line-height:1.7}
.member-login-panel{display:grid;place-items:center;padding:30px}.member-login-card{width:min(100%,440px);padding:26px;border:1px solid rgba(255,255,255,.08);border-radius:24px;background:rgba(15,34,47,.84);box-shadow:0 24px 70px rgba(0,0,0,.25);backdrop-filter:blur(20px)}.member-login-card h2{margin:5px 0}.member-login-card>p:nth-of-type(2){margin:0 0 18px;color:#AEBCC7;font-size:10px}.member-login-note{margin-top:15px;padding:11px;border-radius:12px;background:rgba(140,255,77,.06)}.member-login-note strong,.member-login-note span{display:block}.member-login-note strong{font-size:9px}.member-login-note span{margin-top:3px;color:#718493;font-size:8px;line-height:1.45}.member-staff-link{display:block;margin-top:14px;text-align:center;color:#718493;font-size:8px}
.account-action-button{width:100%;border:0;color:inherit;text-align:left;cursor:pointer}
@media(min-width:768px){
 .member-main{padding-top:24px}
 .member-bottom-nav{right:50%;left:50%;width:min(620px,calc(100% - 30px));transform:translateX(-50%);bottom:12px;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:7px}
 .member-topbar{padding-right:max(26px,calc((100vw - var(--member-max))/2));padding-left:max(26px,calc((100vw - var(--member-max))/2))}
 .member-booking-state{grid-template-columns:1fr 1fr;align-items:start}
}
@media(max-width:767px){
 .member-invoice-meta{grid-template-columns:1fr}
 .member-profile-form-grid{grid-template-columns:1fr}.member-profile-full{grid-column:1}
 .member-login-shell{grid-template-columns:1fr}.member-login-hero{min-height:42vh;padding:40px 22px 24px}.member-login-hero h1{font-size:42px}.member-login-panel{align-items:start;padding:0 14px 35px}.member-login-card{padding:20px;border-radius:20px}
}
@media(max-width:420px){
 .member-kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.member-kpi{min-height:86px;padding:11px}.member-kpi>span{width:34px;height:34px;flex-basis:34px}.member-kpi strong{font-size:16px}
 .member-next-class{grid-template-columns:50px minmax(0,1fr)}.member-next-class>.status-badge{grid-column:2}
 .member-class-hero-grid{grid-template-columns:1fr 1fr}
 .member-profile-head{grid-template-columns:58px minmax(0,1fr)}.member-profile-head>img{width:58px;height:58px}.member-profile-head>.member-status{grid-column:2}
}
@media(max-width:350px){
 .member-kpi-grid,.member-class-hero-grid,.membership-mobile-stats{grid-template-columns:1fr}
}


/* Patch 13B — Member portal Light Theme */
html[data-theme="light"] .member-portal-shell{color:var(--text-primary);background:radial-gradient(circle at 85% 0%,rgba(140,255,77,.10),transparent 30rem),radial-gradient(circle at 0% 30%,rgba(46,145,255,.06),transparent 26rem),linear-gradient(155deg,#F7FAF7 0%,#EDF4EE 54%,#F7FAF7 100%)}
html[data-theme="light"] .member-topbar,html[data-theme="light"] .member-bottom-nav{border-color:var(--border);background:rgba(250,252,250,.95)}
html[data-theme="light"] .member-card,html[data-theme="light"] .member-kpi,html[data-theme="light"] .membership-mobile-stats>div,html[data-theme="light"] .member-class-hero-grid>div,html[data-theme="light"] .member-invoice-meta>div,html[data-theme="light"] .member-login-card{color:var(--text-primary);border-color:var(--border);background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(37,68,48,.08)}
html[data-theme="light"] .member-greeting p:last-child,html[data-theme="light"] .member-page-head p:last-child,html[data-theme="light"] .member-card-person small,html[data-theme="light"] .member-kpi small,html[data-theme="light"] .membership-mobile-stats small,html[data-theme="light"] .membership-mobile-footer,html[data-theme="light"] .member-next-class>div:nth-child(2)>small,html[data-theme="light"] .member-empty span,html[data-theme="light"] .member-notice-row small,html[data-theme="light"] .member-notice-row time,html[data-theme="light"] .member-safety-note small,html[data-theme="light"] .member-policy-box small,html[data-theme="light"] .member-history-row>div:nth-child(2)>small,html[data-theme="light"] .member-history-row>div:nth-child(2)>span,html[data-theme="light"] .member-payment-mobile>div:nth-child(2)>small,html[data-theme="light"] .member-history-side>small,html[data-theme="light"] .member-invoice-total small,html[data-theme="light"] .member-invoice-meta dt,html[data-theme="light"] .member-class-main>p,html[data-theme="light"] .member-class-meta,html[data-theme="light"] .member-class-hero-grid small,html[data-theme="light"] .member-class-hero-grid span,html[data-theme="light"] .member-class-description,html[data-theme="light"] .member-booking-state p:last-child,html[data-theme="light"] .member-eligible-package small,html[data-theme="light"] .member-inbox-card p,html[data-theme="light"] .member-inbox-card small,html[data-theme="light"] .member-profile-head small,html[data-theme="light"] .member-more-link small,html[data-theme="light"] .member-muted-note,html[data-theme="light"] .member-staff-link{color:var(--text-muted)}
html[data-theme="light"] .member-invoice-lines>div,html[data-theme="light"] .member-digital-summary small{color:var(--text-secondary)}
html[data-theme="light"] .member-invoice-lines strong{color:var(--text-primary)}
html[data-theme="light"] .member-digital-card{color:#F7FAFC;border-color:rgba(140,255,77,.32);background:linear-gradient(145deg,#143224,#0C2016)}
html[data-theme="light"] .member-login-page{color:var(--text-primary);background:radial-gradient(circle at 85% 5%,rgba(140,255,77,.16),transparent 30rem),linear-gradient(145deg,#F7FAF7,#EAF2EB)}
html[data-theme="light"] .member-login-hero>p,html[data-theme="light"] .member-login-card>p:nth-of-type(2){color:var(--text-secondary)}
