:root{--ink:#111820;--yellow:#ffd21c;--paper:#eef0f2;--muted:#687078;--max-width:1120px}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;font-size:16px;line-height:1.5}
a{color:inherit;text-decoration:none}
body>header{height:76px;padding:0 24px;display:flex;justify-content:space-between;align-items:center;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.04)}
body>header .logo{font-size:26px;font-weight:900}
body>header nav{display:flex;gap:20px;align-items:center;font-size:12px;font-weight:700;text-transform:uppercase}
.logo span,footer span{color:var(--yellow)}
.smallbtn{border-bottom:3px solid #ffd21c}
.shell{width:min(var(--max-width),calc(100% - 48px));margin:0 auto}

.hero{background:#111820;color:#fff;padding:80px 0}
.hero .shell{display:grid;grid-template-columns:1.4fr .8fr;gap:48px;align-items:center}
.eyebrow{font-size:12px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;color:var(--yellow)}
.hero h1{font-size:clamp(42px,6.5vw,76px);line-height:0.95;margin:12px 0;text-transform:uppercase}
.hero em{color:var(--yellow);font-style:normal}
.lead{max-width:700px;color:#c6cbcf;font-size:18px}
.actions{display:flex;gap:18px;align-items:center;margin-top:18px}
.btn{background:var(--yellow);color:var(--ink);padding:12px 20px;border-radius:6px;font-weight:800;letter-spacing:.6px;border:0;cursor:pointer}
.plain{font-size:13px;font-weight:800;color:#c6cbcf}

.note{background:#fff1c3;color:var(--ink);padding:28px;border-radius:6px;box-shadow:10px 10px 0 var(--yellow);transform:rotate(.6deg)}
.note small{display:block;font-weight:700}
.note strong{display:block;margin:18px 0 8px;font-size:20px}

.yellow{background:var(--yellow)}
.painGrid{padding:60px 0;display:grid;grid-template-columns:120px 1.4fr .6fr;gap:30px;align-items:start}
.painGrid .label{font-size:12px;font-weight:900;text-transform:uppercase}
.painGrid h2{font-size:clamp(26px,3.5vw,44px);margin:0;padding:8px 0;border-bottom:2px solid rgba(17,24,32,.14);color:var(--ink)}
.painGrid aside{background:var(--ink);color:#fff;padding:24px;border-radius:6px}

.framework{padding:70px 0}
.intro{display:grid;grid-template-columns:1fr .7fr;gap:48px;align-items:end;margin-bottom:28px}
.intro h2{font-size:clamp(40px,5vw,68px);line-height:1}
.intro p{color:var(--muted);font-size:16px}

.system{display:grid;grid-template-columns:64px 1fr 140px;gap:18px;align-items:center;background:#fff;border-top:2px solid var(--ink);padding:20px;border-radius:6px}
.system span{font-size:13px;font-weight:900}
.system h3{font-size:20px;text-transform:uppercase;margin:0}
.system p{color:var(--muted);margin:6px 0 0}

.productband{background:#111820;color:#fff;padding:50px 0}
.product{display:grid;grid-template-columns:1fr 360px;gap:30px;align-items:center}
.product ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.product li{background:#0f1720;padding:8px 12px;border-radius:6px}

.principles{padding:50px 0}
.principlecards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}
.principlecards article{background:#fff;padding:20px;border-radius:6px}
.principlecards .yes{border:3px solid var(--yellow)}

.joinOriginal{padding:50px 0}
.joinOriginal aside{background:#fff;padding:20px;border-radius:8px}

.faq{padding:40px 0}

/* Responsive tweaks */
@media (max-width:900px){
	.hero .shell{grid-template-columns:1fr;gap:28px}
	.painGrid{grid-template-columns:1fr}
	.product{grid-template-columns:1fr}
	.principlecards{grid-template-columns:1fr}
	.system{grid-template-columns:48px 1fr}
}

/* Minor utilities */
.microcopy{font-size:12px;color:#c6cbcf}
.text-center{text-align:center}

/* Join */
.join-page{background:#eef0f2}.join-shell{width:min(1120px,calc(100% - 48px));margin:0 auto}
.join-hero{position:relative;overflow:hidden;padding:70px 0 76px;background:var(--ink);color:#fff}.join-hero:after{content:"";position:absolute;right:-170px;bottom:-300px;width:610px;height:610px;border:90px solid rgba(255,210,28,.055);border-radius:50%}
.join-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:84px;align-items:center}
.join-eyebrow{margin:0 0 18px;color:var(--yellow);font-size:10px;font-weight:900;letter-spacing:2px;text-transform:uppercase}
.join-hero-copy h1{max-width:700px;margin:0;font-size:clamp(52px,6.3vw,82px);line-height:.91;letter-spacing:-3px;text-transform:uppercase}.join-hero-copy h1 em{color:var(--yellow);font-style:normal}
.join-lead{max-width:650px;margin:28px 0;color:#b9c2c8;font-size:17px;line-height:1.7}.join-proof{display:flex;flex-wrap:wrap;gap:11px 22px;color:#d9dee1;font-size:11px;font-weight:800;text-transform:uppercase}.join-proof span{display:flex;align-items:center;gap:8px}.join-proof i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--yellow);color:var(--ink);font-size:10px;font-style:normal}
.join-offer{padding:31px 32px 27px;border-top:5px solid var(--yellow);border-radius:10px;background:#fff;color:var(--ink);box-shadow:0 24px 60px rgba(0,0,0,.24)}.join-offer-heading{display:flex;justify-content:space-between;align-items:center}.join-offer-heading small{color:#747f86;font-size:8px;font-weight:900;letter-spacing:1.3px}.join-offer-heading span{padding:5px 8px;border-radius:99px;background:#eef1f2;color:#6e7980;font-size:8px;font-weight:900;text-transform:uppercase}
.join-price{display:flex;align-items:flex-end;margin:25px 0 19px}.join-price sup{align-self:flex-start;margin-top:8px;font-size:25px;font-weight:900}.join-price strong{font-size:83px;line-height:.75;letter-spacing:-5px}.join-price>span{margin-left:10px;color:#778289;font-size:12px;font-weight:800}.join-offer>p{color:#6f7a81;font-size:12px;line-height:1.6}
.join-offer ul{display:grid;gap:10px;margin:21px 0 24px;padding:20px 0;border-block:1px solid #e0e4e6;list-style:none}.join-offer li{position:relative;padding-left:20px;font-size:11px;font-weight:800}.join-offer li:before{content:"\2713";position:absolute;left:0;color:#29905a;font-weight:900}
.join-cta,.join-final-cta{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-radius:6px;background:var(--yellow);font-size:11px;font-weight:900;text-transform:uppercase;transition:transform .18s,box-shadow .18s}.join-cta:hover,.join-final-cta:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(17,24,32,.16)}.join-cta b{font-size:19px}.join-offer .join-secure{margin:15px 0 0;color:#899399;font-size:9px;font-weight:800;text-align:center}.join-secure i{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#31905a}.join-login{display:block;margin-top:11px;color:#7e898f;font-size:10px;text-align:center}.join-login strong{color:var(--ink);border-bottom:2px solid var(--yellow)}
.join-programme{padding:84px 0 92px}.join-section-heading{display:grid;grid-template-columns:1fr .7fr;gap:70px;align-items:end;margin-bottom:36px}.join-section-heading small,.join-start-grid>div>small{color:#7e8990;font-size:9px;font-weight:900;letter-spacing:1.6px}.join-section-heading h2,.join-start h2{margin:8px 0 0;font-size:clamp(38px,5vw,58px);line-height:.96;letter-spacing:-1.8px;text-transform:uppercase}.join-section-heading>p{margin:0;color:#68747b;font-size:14px;line-height:1.7}
.join-systems{display:grid;margin:0;padding:0;border:1px solid #d8dde0;border-radius:10px;background:#fff;list-style:none;box-shadow:0 10px 30px rgba(17,24,32,.05)}.join-systems li{display:grid;grid-template-columns:58px 1fr;gap:22px;align-items:center;padding:24px 28px;border-top:1px solid #e2e6e8}.join-systems li:first-child{border-top:0}.join-systems>li>span{display:grid;place-items:center;width:46px;height:46px;border-radius:6px;background:#eef1f2;font-size:11px;font-weight:900}.join-systems li:first-child>span{background:var(--yellow)}.join-systems small{color:#89949a;font-size:8px;font-weight:900;letter-spacing:1.3px}.join-systems h3{margin:2px 0 3px;font-size:19px;text-transform:uppercase}.join-systems p{margin:0;color:#78838a;font-size:12px}
.join-start{padding:72px 0 80px;background:#fff}.join-start-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px 80px;align-items:start}.join-start ol{display:grid;gap:9px;margin:0;padding:0;list-style:none}.join-start li{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:center;padding:16px;border:1px solid #e0e4e6;border-radius:7px;background:#fafbfb}.join-start li>b{display:grid;place-items:center;width:38px;height:38px;border-radius:5px;background:var(--ink);color:var(--yellow);font-size:9px}.join-start li span{display:grid}.join-start li strong{font-size:12px;text-transform:uppercase}.join-start li small{margin-top:2px;color:#7a858c;font-size:10px}.join-final-cta{grid-column:2;margin-top:4px;background:var(--ink);color:#fff}.join-final-cta:hover{color:var(--yellow)}
@media(max-width:850px){.join-hero-grid{grid-template-columns:1fr;gap:45px}.join-offer{width:min(100%,520px)}.join-section-heading,.join-start-grid{grid-template-columns:1fr;gap:24px}.join-final-cta{grid-column:auto}}
@media(max-width:520px){.join-shell{width:min(100% - 28px,560px)}.join-hero{padding:46px 0 52px}.join-hero-copy h1{font-size:43px;letter-spacing:-1.5px}.join-lead{font-size:14px}.join-proof{display:grid}.join-offer{padding:27px 23px 23px}.join-programme{padding:56px 0}.join-section-heading h2,.join-start h2{font-size:36px}.join-systems li{grid-template-columns:44px 1fr;gap:13px;padding:20px 17px}.join-systems>li>span{width:40px;height:40px}.join-systems p{display:none}.join-start{padding:54px 0 60px}}

/* Login / Register */
.auth-page{min-height:100%;display:grid;grid-template-rows:76px 1fr auto;background:var(--paper)}
.auth-page>header{position:relative;z-index:2}
.auth-page footer{padding:20px 24px;background:var(--ink);color:#aeb5bb;font-size:12px;text-align:center}
.auth-shell{width:min(1080px,calc(100% - 48px));margin:auto;padding:54px 0}
.auth{display:grid;grid-template-columns:minmax(0,.9fr) minmax(400px,1fr);max-width:980px;margin:0 auto;padding:0;overflow:hidden;border-radius:14px;background:var(--ink);box-shadow:0 24px 70px rgba(17,24,32,.18)}
.auth-copy{position:relative;padding:54px 48px;color:#fff;overflow:hidden}
.auth-copy:after{content:"";position:absolute;right:-88px;bottom:-118px;width:260px;height:260px;border:44px solid rgba(255,210,28,.1);border-radius:50%}
.auth-copy .eyebrow{margin:0 0 22px}
.auth-copy h1{margin:0;font-size:clamp(38px,4.5vw,60px);line-height:.96;letter-spacing:-2px;text-transform:uppercase}
.auth-intro{max-width:390px;margin:24px 0 30px;color:#c6cbcf;font-size:16px}
.auth-benefits{position:relative;z-index:1;display:grid;gap:13px;margin:0;padding:0;list-style:none;font-size:13px;font-weight:700}
.auth-benefits li{display:flex;align-items:center;gap:10px}
.auth-benefits li:before{content:"\2713";display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:var(--yellow);color:var(--ink);font-size:12px}
.auth-form-panel{padding:48px;background:#fff}
.auth-form-heading{display:flex;gap:15px;align-items:center;margin-bottom:30px}
.auth-step{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:6px;background:var(--yellow);font-size:13px;font-weight:900}
.auth-form-heading small{display:block;margin:0;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:1.5px}
.auth-form-heading h2{margin:2px 0 0;font-size:21px}
.auth form{display:grid;gap:18px}
.auth label{display:grid;gap:7px;color:#36414a;font-size:12px;font-weight:800}
.auth input[type="email"],.auth input[type="password"],.auth input[name="name"]{width:100%;padding:14px 15px;border:1px solid #ccd2d6;border-radius:7px;background:#fafbfb;color:var(--ink);font:inherit;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.auth input:hover{border-color:#aeb6bc}
.auth input:focus{border-color:var(--ink);background:#fff;box-shadow:0 0 0 3px rgba(255,210,28,.45)}
.auth input::placeholder{color:#98a2a9}
.auth .btn{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:3px;padding:14px 17px;border-radius:7px;font-size:14px;text-transform:uppercase}
.auth .btn span{font-size:20px;line-height:1}
.auth .error{margin:0 0 20px;padding:12px 14px;border-left:4px solid #c73b3b;border-radius:4px;background:#fff0f0;color:#842c2c;font-size:13px;font-weight:700}
.auth-switch{margin:22px 0 0;color:var(--muted);font-size:13px;text-align:center}
.auth-switch a{color:var(--ink);font-weight:800;border-bottom:2px solid var(--yellow)}
.auth-secure{margin:19px 0 0;padding-top:17px;border-top:1px solid #e4e7e9;color:#8a949b;font-size:11px;text-align:center}
.auth-secure:before{content:"\2022";margin-right:7px;color:#31905a}

@media (max-width:760px){
	.auth-page{grid-template-rows:66px 1fr auto}
	.auth-page>header{height:66px;padding:0 18px}
	.auth-page>header nav{gap:12px}
	.auth-page>header nav>a:first-child{display:none}
	.auth-shell{width:min(100% - 28px,560px);padding:28px 0}
	.auth{grid-template-columns:1fr}
	.auth-copy{padding:31px 28px}
	.auth-copy h1{font-size:36px;letter-spacing:-1px}
	.auth-intro{margin:16px 0 0}
	.auth-benefits{display:none}
	.auth-form-panel{padding:30px 28px}
}

@media (max-width:420px){
	.auth-page>header .logo{font-size:21px}
	.auth-page .smallbtn{font-size:10px}
	.auth-copy,.auth-form-panel{padding-left:22px;padding-right:22px}
}

/* Members hub */
.hub{min-height:calc(100vh - 76px);padding:30px 0 90px;background:linear-gradient(180deg,#e7eaec 0,#f1f2f3 240px)}
.hub-shell{width:min(1120px,calc(100% - 48px));margin-inline:auto}
.hub .welcome{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;border:1px solid #d7dcdf;border-radius:8px;background:rgba(255,255,255,.72);box-shadow:0 5px 18px rgba(17,24,32,.04)}
.hub .welcome>div{display:flex;align-items:center;gap:12px}
.hub .welcome small,.hubintro small{color:#78838a;font-size:9px;font-weight:900;letter-spacing:1.5px}
.hub .welcome b{font-size:13px}
.membership-status{display:flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:#edf7f1;color:#287249;font-size:10px;font-weight:900;text-transform:uppercase}
.membership-status i{width:7px;height:7px;border-radius:50%;background:#35a365;box-shadow:0 0 0 3px rgba(53,163,101,.13)}
.hub .hubhero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:80px;align-items:center;margin-top:26px;padding:64px 70px!important;overflow:hidden;border-radius:12px;background:var(--ink);color:#fff;box-shadow:0 18px 45px rgba(17,24,32,.14)}
.hub .hubhero:after{content:"";position:absolute;right:-115px;bottom:-190px;width:400px;height:400px;border:65px solid rgba(255,210,28,.07);border-radius:50%}
.hub-eyebrow{margin:0 0 16px;color:var(--yellow)!important;font-size:10px!important;font-weight:900;letter-spacing:2px;text-transform:uppercase}
.hub .hubhero h1{margin:0;font-size:clamp(43px,5.5vw,72px);line-height:.92;letter-spacing:-2.5px}
.hub .hubhero>div>p:not(.hub-eyebrow){max-width:570px;margin:22px 0 26px;color:#bdc5ca;font-size:16px}
.hub-continue{display:inline-flex;align-items:center;gap:26px;padding:14px 18px;text-transform:uppercase;font-size:12px}
.hub-continue span{font-size:19px;line-height:1}
.overall{position:relative;z-index:1;display:grid;place-items:center;width:190px;height:190px;border-radius:50%;background:conic-gradient(var(--yellow) calc(var(--progress)*1%),#394149 0);box-shadow:0 0 0 12px rgba(255,255,255,.035)}
.overall:before{content:"";position:absolute;inset:13px;border-radius:50%;background:var(--ink)}
.overall>div{position:relative;text-align:center}
.overall strong{display:block;font-size:42px;line-height:1;letter-spacing:-2px}
.overall span{display:block;margin-top:8px;color:#aeb7bd;font-size:9px;font-weight:900;line-height:1.3;letter-spacing:1.3px;text-transform:uppercase}
.hubintro{display:grid;grid-template-columns:1fr .65fr;gap:70px;align-items:end;padding-top:68px;padding-bottom:28px}
.hubintro h2{max-width:650px;margin:8px 0 0;font-size:clamp(31px,4vw,50px);line-height:1;text-transform:uppercase;letter-spacing:-1.5px}
.hubintro>p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.hubcards{display:grid;gap:10px}
.hubcard{overflow:hidden;border:1px solid #dce0e2;border-left:4px solid transparent;border-radius:8px;background:#fff;box-shadow:0 4px 15px rgba(17,24,32,.035);transition:border-color .18s,box-shadow .18s,transform .18s}
.hubcards .hubcard:hover{transform:translateY(-2px);border-left-color:var(--yellow);box-shadow:0 12px 28px rgba(17,24,32,.09)}
.hubcard>a{display:grid;grid-template-columns:58px minmax(0,1fr) 150px 34px;gap:22px;align-items:center;padding:24px 26px}
.hubcard-number{display:grid;place-items:center;width:46px;height:46px;border-radius:6px;background:#f0f2f3;font-size:12px}
.hubcard-state{color:#7c878e;font-size:9px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase}
.hubcard-copy h3{margin:2px 0 3px;font-size:20px;line-height:1.2;text-transform:uppercase}
.hubcard-copy p{margin:0;color:var(--muted);font-size:13px}
.hubcard-progress strong{display:block;margin-bottom:7px;font-size:20px;line-height:1;text-align:right}
.progress-track{display:block;height:5px;overflow:hidden;border-radius:99px;background:#e7eaec}
.progress-track i{display:block;height:100%;border-radius:inherit;background:var(--yellow)}
.hubcard-progress small{display:block;margin-top:6px;color:#8a949a;font-size:9px;text-align:right}
.hubcard-arrow{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;font-size:16px;transition:background .18s,color .18s}
.hubcard:hover .hubcard-arrow{background:var(--yellow);color:var(--ink)}
.hub-loading,.hub-error{padding:30px;border-radius:8px;background:#fff;color:var(--muted);text-align:center}
.hub-error{border-left:4px solid #c73b3b;color:#842c2c}

@media(max-width:760px){
	.hub{padding-top:18px}
	.hub-shell{width:min(100% - 28px,560px)}
	.hub .welcome>div{display:grid;gap:0}
	.hub .welcome small{display:none}
	.hub .hubhero{grid-template-columns:1fr;gap:34px;margin-top:16px;padding:40px 28px!important}
	.hub .hubhero h1{font-size:43px;letter-spacing:-1.5px}
	.overall{width:145px;height:145px;justify-self:start}
	.overall strong{font-size:34px}
	.hubintro{grid-template-columns:1fr;gap:16px;padding-top:48px}
	.hubcard>a{grid-template-columns:44px 1fr 30px;gap:14px;padding:20px 17px}
	.hubcard-number{width:40px;height:40px}
	.hubcard-progress{grid-column:2/4;display:grid;grid-template-columns:45px 1fr;align-items:center;gap:10px}
	.hubcard-progress strong{margin:0;text-align:left;font-size:16px}
	.hubcard-progress small{display:none}
	.hubcard-arrow{grid-column:3;grid-row:1}
}

@media(max-width:420px){
	.membership-status{padding:5px 7px;font-size:8px}
	.hub .hubhero h1{font-size:36px}
	.hubcard-copy p{display:none}
}

/* System lessons */
#app{min-height:calc(100vh - 76px);background:#eef0f2}
.system-page{min-height:calc(100vh - 76px)}
.system-sidebar{position:sticky;top:0;align-self:start;min-height:calc(100vh - 76px);padding:28px 22px;background:var(--ink);color:#fff}
.back-to-hub{display:inline-flex;align-items:center;gap:9px;color:#aeb6bb;font-size:10px;font-weight:900;letter-spacing:1px;text-transform:uppercase}
.back-to-hub:hover{color:var(--yellow)}
.current-system{margin:28px 0 30px;padding:25px 20px;border-left:3px solid var(--yellow);background:#19222b}
.current-system small{color:var(--yellow);font-size:9px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase}
.current-system h2{margin:7px 0 10px;font-size:25px;line-height:1;text-transform:uppercase}
.current-system p{margin:0;color:#adb6bc;font-size:12px;line-height:1.6}
.system-nav{display:grid;gap:4px}
.system-nav a{display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:center;padding:11px 10px;border-radius:6px;color:#929da4;font-size:11px;font-weight:800;transition:background .18s,color .18s}
.system-nav a:hover{background:#19222b;color:#fff}
.system-nav a.active{background:var(--yellow);color:var(--ink)}
.system-nav b{font-size:9px}
.system-nav span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.system-total{margin-top:28px;padding:0 10px}
.system-total>span{display:block;height:4px;overflow:hidden;border-radius:99px;background:#3a434b}
.system-total>span b{display:block;height:100%;border-radius:inherit;background:var(--yellow)}
.system-total small{display:block;margin-top:8px;color:#8d989f;font-size:9px;font-weight:800;text-transform:uppercase}
.lesson-workspace{width:min(1256px,calc(100% - 48px));min-width:0;margin:0 auto;padding:24px 0 70px}
.lesson-context{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;color:#7d888f;font-size:10px;font-weight:900;letter-spacing:1px;text-transform:uppercase}
.lesson-context a{display:inline-flex;align-items:center;gap:8px;color:var(--ink)}
.lesson-context a:hover{color:#8b7200}
.step-rail{display:grid;grid-template-columns:repeat(5,1fr);max-width:none;margin:0 auto 42px;border:1px solid #d7dcdf;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(17,24,32,.045)}
.step-rail button{position:relative;display:grid;justify-items:center;gap:12px;min-height:108px;padding:22px 10px 18px;border:0;border-right:1px solid #e4e7e9;background:transparent;color:#849097;cursor:pointer;font:inherit}
.step-rail button:last-child{border-right:0}
.step-rail button:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:3px;background:transparent}
.step-rail button.active{color:var(--ink)}
.step-rail button.active:after{background:var(--yellow)}
.step-rail button i{display:grid;place-items:center;width:38px;height:38px;border:1px solid #cbd1d5;border-radius:50%;font-size:12px;font-style:normal;font-weight:900}
.step-rail button.active i{border-color:var(--yellow);background:var(--yellow)}
.step-rail button.complete i{border-color:#31905a;background:#31905a;color:#fff}
.step-rail button span{max-width:190px;font-size:11px;font-weight:900;line-height:1.2;text-transform:uppercase}
.lesson-panel{max-width:none;margin:0 auto}
.lesson-heading{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:50px;align-items:start;height:auto;min-height:230px;padding:62px 68px 54px;border-radius:13px 13px 0 0;background:var(--ink);color:#fff}
.lesson-eyebrow{margin:0 0 13px!important;color:var(--yellow)!important;font-size:9px!important;font-weight:900;letter-spacing:1.7px;text-transform:uppercase}
.lesson-heading h1{margin:0;font-size:clamp(45px,5vw,70px);line-height:.95;letter-spacing:-2px;text-transform:uppercase}
.lesson-heading>div>p:last-child{max-width:680px;margin:20px 0 0;color:#bdc5ca;font-size:15px;line-height:1.65}
.step-score{padding:22px 12px;border:1px solid #58626a;border-radius:10px;color:#a8b0b5;font-size:10px;font-weight:900;text-align:center;text-transform:uppercase}
.step-score strong{display:block;margin-bottom:4px;color:#fff;font-size:38px;line-height:1}
.action-card{margin-top:28px;padding:54px 68px 62px;border:1px solid #d9dee1;border-radius:10px;background:#fff;box-shadow:0 16px 38px rgba(17,24,32,.07)}
.action-card-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}
.action-card-heading small{color:#7e8990;font-size:9px;font-weight:900;letter-spacing:1.4px}
.action-card-heading h2{margin:7px 0 0;font-size:32px;text-transform:uppercase}
#save-status{color:#8a949a;font-size:9px;font-weight:800}
#save-status:before{content:"•";margin-right:6px;color:#31905a}
#save-status.failed{color:#a23434}
#save-status.failed:before{color:#c73b3b}
.tasks{display:grid;gap:8px}
.tasks label{display:grid;grid-template-columns:24px 1fr;gap:15px;align-items:center;min-height:63px;padding:12px 18px;border:1px solid #dce1e3;border-radius:7px;background:#fafbfb;cursor:pointer;font-size:14px;font-weight:800;transition:border-color .16s,background .16s,transform .16s}
.tasks label:hover{transform:translateX(2px);border-color:#aeb7bc;background:#fff}
.tasks label.done{border-color:#cfe2d6;background:#f1f8f4;color:#63716a}
.tasks input{position:absolute;opacity:0;pointer-events:none}
.tasks label>i{display:grid;place-items:center;width:23px;height:23px;border:2px solid #b9c1c6;border-radius:5px;color:#fff;font-size:12px;font-style:normal}
.tasks label.done>i{border-color:#31905a;background:#31905a}
.tasks label>span{display:grid;gap:1px}
.tasks label>span small{color:#929ca2;font-size:8px;letter-spacing:1.2px;text-transform:uppercase}
.tasks label.done>span{opacity:.68;text-decoration:line-through}
.lesson-actions{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;padding-top:25px}
.lesson-actions>span{color:#89939a;font-size:9px;font-weight:900;text-transform:uppercase}
.lesson-button{display:inline-flex;align-items:center;gap:13px;width:max-content;padding:12px 16px;border:0;border-radius:6px;cursor:pointer;font:inherit;font-size:10px;font-weight:900;text-transform:uppercase}
.lesson-button.secondary{border:1px solid #cbd1d5;background:transparent;color:var(--ink)}
.lesson-button.primary{justify-self:end;background:var(--yellow);color:var(--ink)}
.lesson-button:disabled{cursor:not-allowed;opacity:.35}
.system-error{max-width:600px;margin:0 auto;padding:100px 24px;text-align:center}
.system-error h1{font-size:40px;text-transform:uppercase}

@media(max-width:900px){
	.system-page{grid-template-columns:1fr}
	.system-sidebar{position:relative;min-height:0;padding:18px 24px}
	.current-system{margin:18px 0 14px;padding:16px 18px}
	.current-system p,.system-total{display:none}
	.current-system h2{font-size:21px}
	.system-nav{display:flex;overflow-x:auto;padding-bottom:3px}
	.system-nav a{min-width:max-content}
	.lesson-workspace{padding-top:24px}
}

@media(max-width:620px){
	.lesson-workspace{padding:18px 14px 50px}
	.step-rail{margin-bottom:14px}
	.step-rail button{padding:11px 3px}
	.step-rail button span{display:none}
	.lesson-heading{grid-template-columns:1fr;padding:31px 24px}
	.lesson-heading h1{font-size:37px;letter-spacing:-1.2px}
	.step-score{display:none}
	.action-card{padding:28px 20px 30px}
	.action-card-heading{display:grid;gap:8px}
	.tasks label{padding:11px 13px;font-size:13px}
	.lesson-actions{grid-template-columns:1fr 1fr}
	.lesson-actions>span{display:none}
	.lesson-button{width:100%;justify-content:center}
	.lesson-button.primary{justify-self:stretch}
}

/* Expanded curriculum content */
.step-score.installed{border-color:#31905a;background:#1a3a2a;color:#a8d8ba}
.step-score.installed strong{color:#62c487}
.lesson-content{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.72fr);gap:38px;margin-top:0;padding:44px 46px 48px;border:1px solid #d9dee1;border-top:0;border-radius:0 0 10px 10px;background:#fff;box-shadow:0 12px 32px rgba(17,24,32,.055)}
.lesson-main{min-width:0}
.section-label,.lesson-content section>small,.worked-example>span{margin:0;color:#7e8990;font-size:9px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase}
.curriculum-section h2,.worked-example h2,.setup-process h2,.working-template h2{margin:5px 0 21px;font-size:25px;text-transform:uppercase}
.mistake-callout,.recommendation-callout{margin:0 0 22px;padding:19px 22px;border-left:4px solid #c64747;background:#fff1f1}
.mistake-callout small,.recommendation-callout small{color:#a13737!important;font-size:9px;font-weight:900;letter-spacing:1.4px}
.mistake-callout p,.recommendation-callout p{margin:5px 0 0;color:#633b3b;font-size:13px;line-height:1.6}
.lesson-explanation{margin:0 0 22px;color:#39464e;font-size:16px;line-height:1.75}
.recommendation-callout{border-left-color:var(--yellow);background:#fff8d9}
.recommendation-callout small{color:#7b6500!important}
.recommendation-callout p{color:#4c4938}
.setup-process{margin-top:36px}
.setup-process ol{display:grid;gap:0;margin:0;padding:0;list-style:none;counter-reset:setup}
.setup-process li{position:relative;padding:15px 10px 15px 48px;border-top:1px solid #e3e6e8;color:#39454d;font-size:14px;line-height:1.55;counter-increment:setup}
.setup-process li:before{content:counter(setup,decimal-leading-zero);position:absolute;top:13px;left:4px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--ink);color:#fff;font-size:9px;font-weight:900}
.teaching-points{display:grid;gap:0;margin:0;padding:0;list-style:none;counter-reset:teaching}
.teaching-points li{position:relative;padding:15px 8px 15px 42px;border-top:1px solid #e3e6e8;color:#39454d;font-size:14px;line-height:1.55;counter-increment:teaching}
.teaching-points li:before{content:counter(teaching,decimal-leading-zero);position:absolute;top:17px;left:6px;color:#9aa4aa;font-size:9px;font-weight:900;letter-spacing:1px}
.worked-example{margin-top:34px;padding:26px 28px;border-left:4px solid var(--yellow);background:#fff8d9}
.worked-example h2{margin-bottom:10px}
.worked-example p{margin:0;color:#4e5a62;font-size:14px;line-height:1.65}
.working-template{margin-top:34px}
.template-scroll{overflow-x:auto;border:1px solid #d8dde0;border-radius:7px}
.working-template table{width:100%;border-collapse:collapse;background:#fff;font-size:11px}
.working-template td{min-width:130px;padding:13px 14px;border-right:1px solid #d8dde0;background:#f6f7f8;font-weight:800;white-space:nowrap}
.working-template td:last-child{border-right:0}
.resource-card{display:grid;grid-template-columns:45px 1fr;gap:17px;align-items:start;margin-top:18px;padding:23px 25px;border-radius:7px;background:var(--ink);color:#fff}
.resource-card>span{display:grid;place-items:center;width:40px;height:40px;border-radius:6px;background:var(--yellow);color:var(--ink);font-size:20px;font-weight:900}
.resource-card small{color:var(--yellow)!important}
.resource-card h3{margin:4px 0 7px;font-size:18px;text-transform:uppercase}
.resource-card p{margin:0;color:#b8c0c5;font-size:12px;line-height:1.55}
.lesson-install{display:grid;align-content:start;gap:13px}
.lesson-install>section{padding:24px;border:1px solid #dce1e3;border-radius:8px;background:#fafbfb}
.lesson-install h2,.lesson-install h3{margin:5px 0 11px;text-transform:uppercase}
.lesson-install h2{font-size:20px;line-height:1.1}
.lesson-install h3{font-size:16px}
.lesson-install p{margin:0;color:#56636b;font-size:13px;line-height:1.62}
.install-task{border-color:#e7cb52!important;background:#fff8d9!important}
.install-check{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:center;margin-top:20px;padding:12px 13px;border:1px solid #d9bd41;border-radius:6px;background:#fff;cursor:pointer;font-size:11px;font-weight:900;text-transform:uppercase}
.install-check input{position:absolute;opacity:0;pointer-events:none}
.install-check i{display:grid;place-items:center;width:22px;height:22px;border:2px solid #9ba5aa;border-radius:5px;color:#fff;font-size:11px;font-style:normal}
.install-check.done{border-color:#31905a;background:#edf7f1;color:#287249}
.install-check.done i{border-color:#31905a;background:#31905a}
.install-task em{display:block;margin-top:10px;color:#818c92;font-size:9px;font-style:normal;text-align:center}
.install-task em:before{content:"•";margin-right:6px;color:#31905a}
.install-task em.failed{color:#a23434}
.done-standard{border:0!important;background:var(--ink)!important;color:#fff}
.done-standard small{color:var(--yellow)!important}
.done-standard p{color:#c0c7cc!important}
.lesson-summary{border-left:4px solid var(--yellow)!important}
.manager-audit{margin-top:28px;padding:38px 42px;border-radius:10px;background:var(--ink);color:#fff;box-shadow:0 12px 32px rgba(17,24,32,.12)}
.audit-heading{display:flex;justify-content:space-between;gap:30px;align-items:start;margin-bottom:26px}
.audit-heading small{color:var(--yellow)!important}
.audit-heading h2{margin:5px 0 8px;font-size:30px;text-transform:uppercase}
.audit-heading p{max-width:650px;margin:0;color:#b9c1c6;font-size:13px}
.audit-heading>strong{display:grid;place-items:center;min-width:72px;height:58px;border:1px solid #46515a;border-radius:7px;font-size:21px}
.audit-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.audit-checks label{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;padding:15px;border:1px solid #35404a;border-radius:6px;background:#18212a;cursor:pointer;font-size:12px;font-weight:800}
.audit-checks input{position:absolute;opacity:0;pointer-events:none}
.audit-checks i{display:grid;place-items:center;width:22px;height:22px;border:2px solid #68737b;border-radius:5px;color:#fff;font-size:11px;font-style:normal}
.audit-checks label.done{border-color:#346a4a;background:#183025;color:#b9ddc6}
.audit-checks label.done i{border-color:#31905a;background:#31905a}
.audit-checks span small{display:block;margin-top:5px;color:#6f7b83!important;font-size:8px;font-weight:800}
.audit-standard{margin:20px 0 0;padding:16px 18px;border-left:3px solid var(--yellow);background:#202a33;color:#bfc7cc;font-size:12px}
.audit-standard b{color:#fff;text-transform:uppercase}
.lesson-mistakes ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.lesson-mistakes li{position:relative;padding-left:17px;color:#5c6870;font-size:12px;line-height:1.45}
.lesson-mistakes li:before{content:"×";position:absolute;left:0;color:#bd4545;font-weight:900}

@media(max-width:1050px) and (min-width:901px){
	.system-page{grid-template-columns:250px minmax(0,1fr)}
	.lesson-content{grid-template-columns:1fr}
	.lesson-install{grid-template-columns:1fr 1fr}
	.install-task{grid-column:1/3}
}

@media(max-width:760px){
	.lesson-content{grid-template-columns:1fr;gap:28px;padding:31px 24px 35px}
	.lesson-install{grid-template-columns:1fr 1fr}
	.install-task{grid-column:1/3}
	.audit-checks{grid-template-columns:1fr}
}

@media(max-width:520px){
	.lesson-content{padding:27px 19px 30px}
	.lesson-install{grid-template-columns:1fr}
	.install-task{grid-column:auto}
	.worked-example{padding:22px 20px}
	.resource-card{grid-template-columns:1fr}
	.manager-audit{padding:30px 20px}
	.audit-heading{display:grid}
}

/* My account */
.account-page{min-height:calc(100vh - 76px);padding:34px 0 90px;background:linear-gradient(180deg,#e6e9eb 0,#f1f2f3 300px)}
.account-shell{width:min(1060px,calc(100% - 48px));margin:0 auto}
.account-notice{margin:0 0 14px;padding:13px 16px;border-left:4px solid;border-radius:5px;background:#fff;font-size:12px;font-weight:800}
.account-notice.success{border-color:#31905a;color:#287249}
.account-notice.error{border-color:#c84f4f;color:#9e3434}
.account-hero{position:relative;display:flex;justify-content:space-between;align-items:center;gap:35px;overflow:hidden;padding:42px 48px;border-radius:12px;background:var(--ink);color:#fff;box-shadow:0 18px 45px rgba(17,24,32,.14)}
.account-hero:after{content:"";position:absolute;right:-75px;bottom:-130px;width:250px;height:250px;border:42px solid rgba(255,210,28,.08);border-radius:50%}
.account-identity{position:relative;z-index:1;display:flex;align-items:center;gap:22px}
.account-avatar{display:grid;place-items:center;width:72px;height:72px;flex:0 0 72px;border-radius:9px;background:var(--yellow);color:var(--ink);font-size:31px;font-weight:900}
.account-eyebrow{margin:0 0 4px!important;color:var(--yellow)!important;font-size:9px!important;font-weight:900;letter-spacing:1.7px;text-transform:uppercase}
.account-identity h1{margin:0;font-size:clamp(31px,4vw,48px);line-height:1;text-transform:uppercase;letter-spacing:-1.5px}
.account-identity>div>p:last-child{margin:8px 0 0;color:#aeb8be;font-size:13px}
.account-status{position:relative;z-index:1;display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #33404a;border-radius:999px;color:#b7c0c6;font-size:9px;font-weight:900;text-transform:uppercase}
.account-status i{width:7px;height:7px;border-radius:50%;background:#4fbd7a;box-shadow:0 0 0 3px rgba(79,189,122,.13)}
.account-status.status-pending i{background:#e4bd27;box-shadow:0 0 0 3px rgba(228,189,39,.14)}
.account-status.status-paused i{background:#df8a38;box-shadow:0 0 0 3px rgba(223,138,56,.14)}
.account-status.status-cancelled i{background:#c84f4f;box-shadow:0 0 0 3px rgba(200,79,79,.14)}
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.account-card{position:relative;display:flex;flex-direction:column;min-height:390px;padding:34px 36px;border:1px solid #d9dee1;border-radius:10px;background:#fff;box-shadow:0 8px 24px rgba(17,24,32,.05)}
.account-card-heading{display:flex;align-items:center;gap:11px;margin-bottom:31px}
.account-card-heading>span{display:grid;place-items:center;width:31px;height:31px;border-radius:5px;background:#eef0f2;font-size:9px;font-weight:900}
.account-card-heading small{color:#7f8a91;font-size:9px;font-weight:900;letter-spacing:1.5px}
.account-card h2{margin:0;font-size:27px;line-height:1;text-transform:uppercase}
.membership-card{border-top:4px solid var(--yellow)}
.membership-price{display:flex;align-items:end;margin:28px 0 31px}
.membership-price strong{font-size:69px;line-height:.8;letter-spacing:-4px}
.membership-price span{margin-left:8px;color:#748087;font-size:13px;font-weight:800}
.account-card dl{display:grid;margin:0;border-top:1px solid #e2e6e8}
.account-card dl>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #e2e6e8;font-size:11px}
.account-card dt{color:#858f95;font-weight:800}
.account-card dd{margin:0;font-weight:900;text-align:right}
.membership-note{margin:auto 0 0;padding-top:23px;color:#7b868d;font-size:11px;line-height:1.55}
.billing-form{margin-top:18px}
.billing-form button{display:flex;justify-content:space-between;width:100%;padding:14px 16px;border:0;border-radius:6px;background:var(--ink);color:#fff;cursor:pointer;font:inherit;font-size:10px;font-weight:900;text-transform:uppercase}
.billing-form button:hover{color:var(--yellow)}
.billing-unavailable{margin:18px 0 0;padding:12px;border-radius:6px;background:#f5f1dd;color:#776919;font-size:10px;font-weight:800}
.progress-card{background:#fff}
.account-progress-number{display:flex;align-items:end;gap:17px;margin:2px 0 34px}
.account-progress-number strong{font-size:88px;line-height:.78;letter-spacing:-5px}
.account-progress-number span{color:#737f86;font-size:11px;font-weight:900;line-height:1.25;text-transform:uppercase}
.account-progress-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:25px}
.account-progress-meta span{padding:14px;border-radius:6px;background:#f1f3f4;color:#778289;font-size:9px;font-weight:800;text-transform:uppercase}
.account-progress-meta b{display:block;margin-bottom:2px;color:var(--ink);font-size:17px}
.account-primary-action{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding:15px 17px;border-radius:6px;background:var(--yellow);font-size:11px;font-weight:900;text-transform:uppercase}
.account-primary-action span{font-size:18px}
.account-actions{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-top:18px;padding:25px 29px;border:1px solid #d9dee1;border-radius:9px;background:#fff}
.account-actions small{color:#7f8a91;font-size:8px;font-weight:900;letter-spacing:1.4px}
.account-actions h2{margin:4px 0 0;font-size:17px;text-transform:uppercase}
.account-actions nav{display:flex;justify-content:flex-end;gap:9px}
.account-actions nav a{display:grid;gap:2px;padding:11px 14px;border:1px solid #d7dcdf;border-radius:6px;font-size:10px;font-weight:900;text-transform:uppercase}
.account-actions nav a span{color:#929ca2;font-size:7px;letter-spacing:1px}
.account-actions nav a:hover{border-color:var(--ink)}
.account-actions .admin-link{border-color:#e4c84e;background:#fff9dc}
.account-actions .signout-link:hover{border-color:#b94a4a;color:#9e3434}
.password-panel{display:grid;grid-template-columns:.7fr 1.3fr;gap:55px;margin-top:18px;padding:34px 36px;border:1px solid #d9dee1;border-radius:10px;background:#fff;box-shadow:0 8px 24px rgba(17,24,32,.04)}
.account-eyebrow.dark{color:#7d888f!important}
.password-panel h2{margin:5px 0 9px;font-size:24px;text-transform:uppercase}
.password-panel>div>p:last-child{margin:0;color:#7d888f;font-size:12px;line-height:1.6}
.password-panel form{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.password-panel label{display:grid;gap:6px;color:#59666e;font-size:9px;font-weight:900;text-transform:uppercase}
.password-panel label:first-of-type{grid-column:1/3}
.password-panel input{width:100%;padding:12px 13px;border:1px solid #cfd5d8;border-radius:6px;background:#fafbfb;font:inherit;font-size:13px;outline:none}
.password-panel input:focus{border-color:var(--ink);background:#fff;box-shadow:0 0 0 3px rgba(255,210,28,.4)}
.password-panel button{grid-column:1/3;display:flex;justify-content:space-between;padding:13px 15px;border:0;border-radius:6px;background:var(--ink);color:#fff;cursor:pointer;font-size:10px;font-weight:900;text-transform:uppercase}

@media(max-width:760px){
	.account-page{padding-top:18px}
	.account-shell{width:min(100% - 28px,560px)}
	.account-hero{display:grid;padding:31px 27px}
	.account-avatar{width:58px;height:58px;flex-basis:58px;font-size:25px}
	.account-status{width:max-content}
	.account-grid{grid-template-columns:1fr}
	.account-card{min-height:0;padding:29px 25px}
	.membership-note{margin-top:24px}
	.account-actions{grid-template-columns:1fr;gap:19px;padding:23px}
	.account-actions nav{justify-content:flex-start;flex-wrap:wrap}
	.password-panel{grid-template-columns:1fr;gap:24px;padding:28px 24px}
}

@media(max-width:420px){
	.account-identity{align-items:flex-start;gap:14px}
	.account-identity h1{font-size:28px}
	.account-progress-number strong{font-size:72px}
	.account-progress-meta{grid-template-columns:1fr}
	.password-panel form{grid-template-columns:1fr}
	.password-panel label:first-of-type,.password-panel button{grid-column:auto}
}

/* Restricted membership access */
.access-page{display:grid;place-items:center;min-height:calc(100vh - 76px);padding:45px 24px;background:linear-gradient(180deg,#e5e8ea,#f1f2f3)}
.access-card{width:min(600px,100%);padding:50px;border-radius:12px;background:var(--ink);color:#fff;box-shadow:0 22px 60px rgba(17,24,32,.2)}
.access-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:7px;background:var(--yellow);color:var(--ink);font-size:23px;font-weight:900}
.access-eyebrow{margin:25px 0 7px!important;color:var(--yellow)!important;font-size:9px!important;font-weight:900;letter-spacing:1.5px;text-transform:uppercase}
.access-card h1{margin:0;font-size:clamp(35px,6vw,52px);line-height:1;text-transform:uppercase}
.access-card>p:not(.access-eyebrow){color:#b7c0c6;line-height:1.65}
.access-details{display:grid;grid-template-columns:90px 1fr;gap:9px 18px;margin:27px 0;padding:19px;border:1px solid #35414a;border-radius:7px;background:#18212a;font-size:11px}
.access-details span{color:#879299;font-weight:800}
.access-actions{display:flex;align-items:center;gap:20px}
.access-actions>a:last-child{color:#aeb7bd;font-size:10px;font-weight:900;text-transform:uppercase}

/* Admin panel */
.admin-page{min-height:calc(100vh - 76px);padding:34px 0 90px;background:linear-gradient(180deg,#e5e8ea 0,#f1f2f3 300px)}
.admin-shell{width:min(1180px,calc(100% - 48px));margin:0 auto}
.admin-hero{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:42px 48px;border-radius:12px;background:var(--ink);color:#fff;box-shadow:0 18px 45px rgba(17,24,32,.14)}
.admin-eyebrow{margin:0 0 7px!important;color:var(--yellow)!important;font-size:9px!important;font-weight:900;letter-spacing:1.7px;text-transform:uppercase}
.admin-hero h1{margin:0;font-size:clamp(38px,5vw,60px);line-height:.95;text-transform:uppercase;letter-spacing:-2px}
.admin-hero>div>p:last-child{max-width:590px;margin:15px 0 0;color:#afb8be;font-size:13px}
.admin-hero>a{display:inline-flex;align-items:center;gap:10px;min-width:max-content;padding:11px 14px;border:1px solid #3a454e;border-radius:6px;color:#c4cbd0;font-size:9px;font-weight:900;text-transform:uppercase}
.admin-hero>a:hover{border-color:var(--yellow);color:var(--yellow)}
.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}
.admin-metrics article{padding:24px 25px;border:1px solid #d9dee1;border-radius:8px;background:#fff;box-shadow:0 5px 18px rgba(17,24,32,.035)}
.admin-metrics small{display:block;color:#7e898f;font-size:8px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase}
.admin-metrics strong{display:block;margin:8px 0 5px;font-size:38px;line-height:1;letter-spacing:-1.5px}
.admin-metrics span{color:#929ca2;font-size:9px;font-weight:700}
.admin-metrics article:nth-child(2){border-top:3px solid #42a56a}
.admin-metrics article:nth-child(3){border-top:3px solid var(--yellow)}
.member-register{overflow:hidden;border:1px solid #d6dbde;border-radius:10px;background:#fff;box-shadow:0 10px 30px rgba(17,24,32,.055)}
.register-heading{display:flex;justify-content:space-between;align-items:end;padding:28px 30px;border-bottom:1px solid #dfe3e5}
.register-heading small{color:#7f8a91;font-size:8px;font-weight:900;letter-spacing:1.4px}
.register-heading h2{margin:4px 0 0;font-size:25px;text-transform:uppercase}
.register-heading>span{padding:6px 9px;border-radius:999px;background:#eef1f2;color:#77838a;font-size:8px;font-weight:900;text-transform:uppercase}
.member-filters{display:grid;grid-template-columns:1fr 220px;gap:12px;padding:16px 26px;border-bottom:1px solid #dfe3e5;background:#fafbfb}
.member-filters label{display:grid;gap:5px;color:#7d888f;font-size:7px;font-weight:900;letter-spacing:1px;text-transform:uppercase}
.member-filters input,.member-filters select{width:100%;padding:10px 12px;border:1px solid #ced4d7;border-radius:5px;background:#fff;font:inherit;font-size:11px;outline:none}
.member-filters input:focus,.member-filters select:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(255,210,28,.35)}
.member-table-heading{display:grid;grid-template-columns:minmax(280px,1.5fr) 150px 120px 220px;gap:20px;padding:11px 26px;background:#f2f4f5;color:#849097;font-size:8px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase}
.memberlist{display:grid}
.member-row{display:grid;grid-template-columns:minmax(280px,1.5fr) 150px 120px 220px;gap:20px;align-items:center;padding:19px 26px;border-top:1px solid #e3e6e8}
.member-row:first-child{border-top:0}
.member-row:hover{background:#fafbfb}
.member-identity{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:center;min-width:0}
.member-identity>span{display:grid;place-items:center;width:42px;height:42px;border-radius:6px;background:var(--ink);color:var(--yellow);font-size:15px;font-weight:900}
.member-identity>div{display:grid;min-width:0}
.member-identity b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.member-identity small{color:#7e898f;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.member-identity em{width:max-content;margin-top:4px;color:#949da3;font-size:7px;font-style:normal;font-weight:900;letter-spacing:1px;text-transform:uppercase}
.member-joined,.member-progress{display:grid;gap:2px}
.member-joined small,.member-progress small{display:none;color:#909aa0;font-size:7px;font-weight:900;letter-spacing:1px}
.member-joined span{font-size:10px;font-weight:800}
.member-progress{grid-template-columns:auto 1fr;align-items:end;gap:5px}
.member-progress strong{font-size:24px;line-height:1}
.member-progress span{color:#838e94;font-size:8px;font-weight:800}
.member-progress small{grid-column:1/3}
.member-status-form{display:flex;justify-content:flex-end;align-items:end;gap:7px}
.member-status-form label{display:grid;gap:4px}
.member-status{display:flex;align-items:center;gap:6px;color:#7d888f;font-size:7px;font-weight:900;text-transform:uppercase}
.member-status i{width:6px;height:6px;border-radius:50%;background:#7d888f}
.member-status.status-active i{background:#42a56a}
.member-status.status-pending i{background:#e0b923}
.member-status.status-paused i{background:#dd8735}
.member-status.status-cancelled i{background:#c84f4f}
.member-status-form select{min-width:126px;padding:9px 28px 9px 10px;border:1px solid #cfd5d8;border-radius:5px;background:#fff;color:var(--ink);font:inherit;font-size:10px;font-weight:800;text-transform:capitalize}
.member-status-form button{padding:9px 12px;border:0;border-radius:5px;background:var(--yellow);cursor:pointer;font-size:9px;font-weight:900;text-transform:uppercase}
.member-fixed-status{display:grid;justify-items:end;gap:5px}
.member-fixed-status small{color:#929ca2;font-size:7px;font-weight:800;text-transform:uppercase}
.empty-register{margin:0;padding:50px;color:#7e898f;text-align:center}
.member-row[hidden]{display:none}
.member-identity a:hover b{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:3px}
.member-detail-summary{display:grid;grid-template-columns:180px 180px 1fr;gap:12px;margin:18px 0}
.member-detail-summary article{padding:22px 24px;border:1px solid #d9dee1;border-radius:8px;background:#fff}
.member-detail-summary small{display:block;margin-bottom:7px;color:#7f8a91;font-size:8px;font-weight:900;letter-spacing:1.2px}
.member-detail-summary strong{font-size:14px;word-break:break-word}
.member-system-progress{overflow:hidden;border:1px solid #d9dee1;border-radius:10px;background:#fff;box-shadow:0 10px 30px rgba(17,24,32,.05)}
.member-system-progress>header{padding:27px 29px;border-bottom:1px solid #dfe3e5}
.member-system-progress>header small{color:#7f8a91;font-size:8px;font-weight:900;letter-spacing:1.4px}
.member-system-progress>header h2{margin:4px 0 0;font-size:25px;text-transform:uppercase}
.member-system-row{display:grid;grid-template-columns:48px 1fr 60px;gap:18px;align-items:center;padding:23px 29px;border-top:1px solid #e2e6e8}
.member-system-row:first-of-type{border-top:0}
.member-system-number{display:grid;place-items:center;width:42px;height:42px;border-radius:6px;background:#eef1f2;font-size:10px;font-weight:900}
.member-system-row h3{margin:0;font-size:16px;text-transform:uppercase}
.member-system-row p{margin:4px 0 9px;color:#7d888f;font-size:9px}
.member-system-track{display:block;height:5px;overflow:hidden;border-radius:99px;background:#e5e8ea}
.member-system-track i{display:block;height:100%;border-radius:inherit;background:var(--yellow)}
.member-system-row>strong{text-align:right;font-size:18px}

@media(max-width:900px){
	.admin-metrics{grid-template-columns:1fr 1fr}
	.member-table-heading{display:none}
	.member-row{grid-template-columns:minmax(240px,1fr) 110px 200px}
	.member-joined{display:none}
	.member-detail-summary{grid-template-columns:1fr 1fr}
	.member-detail-summary article:last-child{grid-column:1/3}
}

@media(max-width:680px){
	.admin-page{padding-top:18px}
	.admin-shell{width:min(100% - 28px,560px)}
	.admin-hero{display:grid;padding:31px 27px}
	.admin-hero>a{width:max-content}
	.admin-metrics{gap:8px}
	.admin-metrics article{padding:20px}
	.member-register{overflow:visible;border:0;background:transparent;box-shadow:none}
	.register-heading{padding:22px 4px;border:0}
	.member-filters{grid-template-columns:1fr;padding:16px;border:1px solid #d9dee1;border-radius:8px;margin-bottom:10px}
	.memberlist{gap:10px}
	.member-row{grid-template-columns:1fr 80px;padding:19px;border:1px solid #d9dee1;border-radius:8px;background:#fff}
	.member-progress{justify-self:end}
	.member-status-form,.member-fixed-status{grid-column:1/3;justify-content:flex-start;justify-items:start;padding-top:13px;border-top:1px solid #e2e6e8}
	.member-detail-summary{grid-template-columns:1fr}
	.member-detail-summary article:last-child{grid-column:auto}
	.member-system-row{padding:20px 18px}
}

@media(max-width:420px){
	.admin-metrics{grid-template-columns:1fr 1fr}
	.admin-metrics strong{font-size:31px}
	.member-status-form{display:grid;grid-template-columns:1fr auto;width:100%}
	.member-status-form label,.member-status-form select{width:100%}
}
