/* CN visual identity: original white emblem, black/green, Inter interface typography. */
:root{--radius:12px;--brand-deep:#006e30;--brand-line:#148b42;--brand-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
body{font-family:var(--brand-font);background:#070b08;color:#f5f6f4;letter-spacing:.1px;font-size:16px}.shell{background:radial-gradient(ellipse at 98% 0%,#0d211380,transparent 40%),#070b08}.demo{font-size:12px;letter-spacing:.4px;min-height:35px}.demo button{font-size:12px;color:#d9e6dc}.demo-dot{background:#168c43}.sidebar{padding:24px 22px;background:linear-gradient(180deg,#080e0a,#0b140d 65%,#080e0a);border-right-color:#203926}.brand{flex-direction:column;align-items:flex-start;gap:8px;letter-spacing:.5px;line-height:1.1}.academy-logo{display:block;width:134px;height:134px;object-fit:contain;margin:-6px 0 -5px -12px}.brand-name{font-size:17px;font-weight:700;line-height:1.12;letter-spacing:.25px}.brand-name small{display:block;font-size:12px;color:#bac5bc;font-weight:400;letter-spacing:1.1px;margin-top:7px}.side-label{margin:34px 0 12px;font-size:10px;letter-spacing:2.2px;color:#8da393}.nav-link{font-size:15px;border-radius:6px;padding:13px 12px;gap:12px}.nav-link.active{background:linear-gradient(90deg,#10341c,#102618);color:#f2f6f2;box-shadow:inset 3px 0 #159345}.nav-link.active svg{color:#26a154}.side-bottom{padding-top:32px}.side-motto{font-size:15px;line-height:1.65;letter-spacing:.5px;font-weight:700}.side-motto em{color:#21964a}.version{font-size:9px;letter-spacing:1.3px;color:#809686;margin-top:20px}.topbar{height:86px;border-bottom-color:#233c2a;background:#0b130dd9}.breadcrumb{font-size:14px}.breadcrumb b{color:#eef2ed}.role-select label{font-size:12px}.role-select select{font-size:14px;border-radius:6px;border-color:#31533a;background:#102017;padding-top:8px;padding-bottom:8px}.avatar{background:#153b22;border-color:#2d6040;color:#e4eee6;font-weight:600;font-size:14px}.eyebrow{font-size:11px;letter-spacing:2px;color:#27994e;font-weight:600}.page-top{margin-bottom:26px}.page-top h1{font-family:var(--brand-font);font-size:clamp(32px,3.1vw,44px);line-height:1.05;letter-spacing:.1px;text-transform:uppercase;font-weight:700;margin:11px 0 10px}.page-top .sub{font-size:15px}.date-label{font-size:13px}.card{border-color:#263b2b;background:linear-gradient(140deg,#111a13,#0d150f);border-radius:12px}.hero{background:linear-gradient(110deg,#07120b 8%,#0c2514 67%,#10351d);border-color:#245333;border-top:3px solid #13813a;min-height:332px;padding:27px;isolation:isolate}.hero:after{content:'';height:20px;width:92px;position:absolute;bottom:29px;right:28px;background:repeating-linear-gradient(120deg,transparent 0,transparent 9px,#117537 9px,#117537 13px);opacity:.7;z-index:-1}.hero .eyebrow{color:#c0d0c4;font-size:10px;letter-spacing:2.2px;position:relative;z-index:1}.card.hero h2{font-family:var(--brand-font);font-weight:700;text-transform:uppercase;font-size:clamp(39px,4vw,57px);line-height:.98;letter-spacing:.3px;max-width:430px;margin:22px 0 16px;color:#f3f5f1}.brand-accent{color:#169548}.hero p{font-size:14px;line-height:1.55;color:#c4d0c6;max-width:330px;margin-bottom:23px}.hero .btn{position:relative}.hero-num{font-family:var(--brand-font);right:30px;bottom:-24px;font-size:150px;color:#569c6010;z-index:-1}.brand-watermark{width:235px;height:235px;position:absolute;right:2px;top:33px;object-fit:contain;opacity:.10;z-index:-1;pointer-events:none}.pitch{opacity:.4;right:-170px;top:45px;z-index:-1}.btn{font-family:var(--brand-font);font-size:14px;font-weight:600;border-radius:5px;padding:10px 17px;letter-spacing:.2px;min-height:43px;border-color:#375b40;background:#112017}.btn.primary{background:#087c35;color:#fff;border-color:#15883f}.btn.primary:hover{background:#119041;border-color:#29a050}.btn:hover{background:#153720}.btn.small{font-size:12px;min-height:35px}.btn.booked{color:#d8e9db;border-color:#24683a;background:#103c20}.btn.booked svg{color:#2eab5b}.text-btn{font-size:13px;color:#36a25b;font-weight:600}.tag{font-size:10px;font-weight:600;background:#12391f;color:#c4ddcb;letter-spacing:.8px;border-radius:4px;padding:4px 8px}.tag.outline{color:#abbdae;border-color:#35583e}.card h2,.section-title{font-family:var(--brand-font);font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:20px}.card-head .muted{font-size:12px}.sub{font-size:14px}.session-feature{position:relative;border-top:3px solid #284e31}.session-feature .session-time{font-family:var(--brand-font);font-weight:700;font-size:47px;letter-spacing:0;margin-top:26px}.session-feature .session-time span{font-size:15px;font-weight:400}.session-feature h3{font-size:18px;font-weight:600;margin-top:20px}.session-feature p{font-size:14px}.session-feature .session-foot{margin-top:27px}.session-feature .session-foot>span{font-size:12px!important}.brand-values{display:flex;align-items:center;gap:17px;border-bottom:1px solid #25472f;padding:18px 2px 14px;font-weight:600;font-size:12px;letter-spacing:1.8px;color:#b6c8bb}.brand-values i{height:11px;width:2px;background:#15833e;transform:skew(-20deg);flex-shrink:0}.brand-values span:first-child{color:#2a9e51}.brand-values b{font-size:10px;font-weight:400;margin-left:auto;color:#799381;letter-spacing:1.5px}.stats{margin:20px 0 26px}.stat{background:linear-gradient(110deg,#111c14,#0c150e);border-color:#273e2d;border-radius:8px}.stat b{font-family:var(--brand-font);font-weight:700;font-size:29px;line-height:1}.stat span{font-size:12px;color:#b0bdb2;margin-top:5px}.stat-icon{background:#10361e;color:#239c4c;border-radius:6px;border:1px solid #1b472b}.note-head b{font-size:14px;font-weight:600}.note-head small{font-size:12px}.mini-avatar{color:#dbe6dd;background:#1d3a26;border:1px solid #355a3d;font-size:13px}.quote{font-size:15px;line-height:1.65;color:#d2ddd4;border-color:#138840}.note-bottom{font-size:12px}.skill{margin:22px 0}.skill-label{font-size:14px}.skill-label b{font-weight:600;color:#3aa060}.skill-label b .muted{color:#9dad9f}.bar{height:5px;background:#28382c}.bar i{background:linear-gradient(90deg,#006c2f,#168e43)}.feed-number{font-family:var(--brand-font);font-weight:700;font-size:16px;color:#17873f;padding-top:0}.feed-item h3{font-size:15px;font-weight:600}.feed-item p{font-size:14px;line-height:1.6}.feed-item time{font-size:10px;letter-spacing:1px;color:#92a997}.goal{font-size:14px;line-height:1.45;border-radius:6px;padding:13px}.goal.done .check-box{background:#087c35;color:#fff;border-color:#16853d}.goal.done .goal-text{color:#96ac9b}.goal small{font-size:12px}.check-box{border-radius:3px;border-color:#46694f}.page-note{font-size:12px;color:#a3b4a7;line-height:1.6}.segmented{border-radius:6px;border-color:#31523a}.segmented button{font-size:13px;border-radius:4px}.segmented button.active{background:#124b27;color:#f1f5ef}.toolbar select{font-size:14px;border-radius:5px;background:#102017;border-color:#36533f}.session-row{border-radius:8px;border-color:#2a4231;background:#0f1912}.date-box b{font-family:var(--brand-font);font-weight:700;font-size:34px}.date-box span{font-size:11px}.session-info h3{font-size:17px;font-weight:600}.session-info p{font-size:13px}.time-box{font-weight:600;font-size:25px}.time-box small{font-size:12px;font-weight:400}.session-action small{font-size:11px}.callout{background:linear-gradient(100deg,#0d2314,#0c190f);border-color:#2c633c;border-radius:8px}.callout h3{font-weight:700;text-transform:uppercase;letter-spacing:.4px;font-size:20px}.callout p{font-size:14px}.profile-hero{border-radius:10px}.profile-hero h2{font-size:25px}.profile-hero p{font-size:14px}.profile-avatar{border-radius:8px;border:1px solid #28663b;background:#103c20;color:#dbeade;font-weight:600}.pill{font-size:11px;color:#becfc2;border-color:#385b42}.notice{background:#12261a;border-left:2px solid #13833a;border-radius:4px;font-size:13px;color:#b6c8bb;line-height:1.6}.resource span{font-size:15px}.resource small{font-size:12px}.resource svg{color:#299b51}.event-card{background:linear-gradient(120deg,#07150c,#11381e);border-top:3px solid #13883c}.event-card h2{font-size:45px;line-height:1.02;letter-spacing:.3px;position:relative;z-index:1;max-width:350px}.event-card p{font-size:15px;line-height:1.6;position:relative;z-index:1}.event-mark{width:210px;height:210px;object-fit:contain;right:-16px;bottom:50px;opacity:.1;pointer-events:none}.event-card .btn,.event-meta{position:relative;z-index:1}.roster-row .person{font-size:15px}.roster-row small{font-size:12px}.attendance{border-radius:5px;font-size:12px;min-width:100px;color:#b2c1b5}.attendance.on{background:#104522;color:#daeadf;border-color:#2f7343}.request-item b{font-size:15px}.request-item p{font-size:14px}.request-item small{color:#31a159;font-size:11px}.empty{font-size:14px;line-height:1.7}.form-field{font-size:14px}.form-field input,.form-field textarea,.form-field select{font-size:15px;border-radius:5px;background:#0b170f;border-color:#365a41}.form-field input:focus,.form-field textarea:focus{border-color:#359953}.form-footer{font-size:12px;color:#acbdb0}.checkbox-label{font-size:14px}.toast{background:#e7f0e8;border-color:#5c9b6d;color:#102716;font-family:var(--brand-font);font-size:14px;border-radius:8px}dialog{background:linear-gradient(130deg,#111f15,#0d1710);border-radius:12px;border-top:3px solid #138b42;border-color:#326441;padding:28px}dialog h2{font-family:var(--brand-font);font-weight:700;font-size:33px;line-height:1.05;text-transform:uppercase;letter-spacing:.3px}dialog p,dialog li{font-size:15px;line-height:1.65;color:#cbd8ce}.icon-btn{border-color:#36553d}.icon-btn:hover{color:#fff}footer{align-items:center;min-height:90px;background:#08100b;border-top-color:#294530}.footer-brand{display:flex;gap:10px;align-items:center}.footer-brand img{width:50px;height:50px;object-fit:contain}.footer-brand span{font-size:10px;line-height:1.4;color:#b5c3b8;letter-spacing:1px}footer .footer-motto{font-size:11px;letter-spacing:1.6px;color:#809d88}
@media(min-width:1500px){.card.hero h2{font-size:62px}.hero{min-height:355px}.brand-watermark{width:270px;height:270px;top:28px;right:10px}.card{padding:27px}}
@media(max-width:1100px){.sidebar{padding:24px 16px}.academy-logo{width:125px;height:125px}.brand-name{font-size:15px}.brand-name small{font-size:11px;letter-spacing:.5px}.side-motto{font-size:13px}.nav-link{font-size:14px}.hero{padding:22px;min-height:330px}.card.hero h2{font-size:47px;max-width:330px}.brand-watermark{width:195px;height:195px;right:-22px;top:58px}.hero p{max-width:275px;font-size:14px}.card h2{font-size:19px}.session-feature .session-time{font-size:39px}.session-feature .session-time span{font-size:14px;margin-left:6px}.session-feature .session-foot{flex-wrap:wrap;gap:10px;margin-top:20px}.stat b{font-size:28px}.stat span{font-size:11px}.brand-values{font-size:11px;gap:13px;letter-spacing:1.2px}.hero:after{right:20px;width:65px}.event-card h2{font-size:42px}}
@media(max-width:850px){.topbar{height:85px;padding:0 23px;gap:12px}.mobile-brand{display:flex;align-items:center;gap:8px;margin-right:auto;font-style:normal;letter-spacing:.1px;font-weight:700;font-size:16px;line-height:1.03}.mobile-brand img{display:block;width:62px;height:62px;object-fit:contain;margin-left:-6px}.mobile-brand span{font-size:16px;letter-spacing:.2px;font-style:normal;color:#f5f6f3;margin:0}.mobile-brand small{display:block;font-weight:400;font-size:9px;letter-spacing:.6px;margin-top:5px;color:#b5c6ba}.mobile-nav{background:#0b170ff5;border-color:#2c4c35}.mobile-nav a{font-size:11px;gap:5px;border-radius:5px;min-width:73px}.mobile-nav a.active{color:#e7f0e8;background:#12341e}.mobile-nav a.active svg{color:#249b4d}.demo{padding-left:18px;padding-right:18px}.demo button{font-size:11px}.brand-values b{display:none}.footer-brand img{width:45px;height:45px}.footer-brand span{font-size:9px}footer .footer-motto{font-size:10px;letter-spacing:.7px}.pitch{right:-210px}}
@media(max-width:620px){main{padding:25px 18px 30px}.topbar{padding:0 18px;height:84px;gap:11px}.mobile-brand{gap:6px}.mobile-brand img{width:58px;height:58px;margin-left:-7px}.mobile-brand span{font-size:15px}.mobile-brand small{font-size:8px;letter-spacing:.3px}.role-select select{font-size:13px;padding:8px 6px;border-radius:5px;max-width:91px}.avatar{width:31px;height:31px;font-size:12px}.page-top h1{font-size:34px;line-height:1.02;max-width:360px}.page-top .sub{font-size:14px;max-width:330px}.eyebrow{font-size:10px;letter-spacing:1.6px}.hero{min-height:334px;padding:24px}.card.hero h2{font-size:49px;max-width:330px;margin:21px 0 17px;line-height:1}.hero p{font-size:14px;line-height:1.55;max-width:285px}.hero .eyebrow{font-size:9px;letter-spacing:1.7px}.brand-watermark{width:210px;height:210px;right:-23px;top:75px;opacity:.08}.hero:after{bottom:29px;right:17px;width:60px;height:17px;opacity:.5}.brand-values{justify-content:space-between;gap:8px;font-size:11px;letter-spacing:.6px;padding:17px 1px 13px}.brand-values i{width:2px;height:9px}.card{padding:21px;border-radius:10px}.session-feature .session-time{font-size:45px;margin-top:19px}.session-feature .session-time span{font-size:16px;margin-left:10px}.session-feature h3{font-size:18px;margin-top:17px}.session-feature .session-foot{flex-wrap:nowrap;margin-top:21px}.session-feature .session-foot>span{font-size:11px!important}.card h2{font-size:20px;line-height:1.15}.card-head{gap:10px}.stats{gap:8px;margin:16px 0 24px}.stat{padding:16px 11px}.stat b{font-size:30px}.stat span{font-size:11px;line-height:1.3}.quote{font-size:15px;line-height:1.7}.note-bottom{font-size:11px}.note-head b{font-size:14px}.note-head small{font-size:11px}.tag{font-size:9px;letter-spacing:.5px}.tag.outline{font-size:9px}.skill-label{font-size:13px}.feed-item h3{font-size:15px}.feed-item p{font-size:14px}.goal{font-size:14px}.btn{font-size:14px;min-height:43px}.btn.small{font-size:12px;min-height:36px}.text-btn{font-size:12px}.page-top .btn{font-size:12px}.date-box b{font-size:33px}.date-box span{font-size:10px}.session-info h3{font-size:16px}.session-info p{font-size:12px;line-height:1.4}.time-box{font-size:24px}.time-box small{font-size:11px}.session-action .btn{font-size:13px;min-height:39px}.session-action small{font-size:10px}.segmented button{font-size:13px}.toolbar select{font-size:13px}.profile-hero h2{font-size:24px}.profile-hero p{font-size:12px}.callout h3{font-size:21px}.callout p{font-size:14px}.event-card{padding:25px}.event-card h2{font-size:43px;line-height:1.03}.event-card p{font-size:14px}.event-mark{width:190px;height:190px;right:-20px;bottom:100px}.roster-row .person{font-size:14px}.roster-row small{font-size:11px}.attendance{font-size:11px;min-width:90px}.form-field input,.form-field textarea,.form-field select{font-size:16px}.footer-brand img{width:42px;height:42px}.footer-brand span{font-size:8px;letter-spacing:.5px}footer{gap:15px;padding:15px 18px;min-height:85px}footer .footer-motto{max-width:85px;font-size:9px;line-height:1.5;text-align:right;letter-spacing:.5px}.demo{font-size:11px;letter-spacing:.3px}.demo button{font-size:11px}.toast{font-size:14px}.brand-values span{white-space:nowrap}}
@media(max-width:380px){.avatar{display:none}.mobile-brand img{width:54px;height:54px}.card.hero h2{font-size:43px}.hero p{max-width:245px}.hero:after{width:40px}.brand-values{font-size:10px;letter-spacing:.3px;gap:5px}.page-top h1{font-size:31px}.stat span{font-size:10px}.session-feature .session-time{font-size:40px}.session-feature .session-time span{font-size:15px}}
@media(max-width:850px){.mobile-nav a span{white-space:nowrap}footer{margin-bottom:calc(82px + env(safe-area-inset-bottom,0px))}.toast{bottom:calc(88px + env(safe-area-inset-bottom,0px))}}

.session-action .btn:disabled{opacity:.55;cursor:default}

.weekly-details{margin-bottom:28px}.weekly-details>summary{font-size:20px;font-weight:600;cursor:pointer;padding:0 0 16px;color:#d7e7dc}.weekly-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.weekly-card{border-top:2px solid #167c3c;padding:23px}.weekly-card h2{margin:10px 0 7px;font-size:23px}.weekly-card .sub{font-size:14px}.weekly-times{margin-top:20px;border-top:1px solid #2c4e37}.weekly-times>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #203f2b}.weekly-times span{color:#bdcec3;font-size:15px}.weekly-times b{font-size:26px;line-height:1.2;color:#edf3ef;font-weight:700}.time-box small{white-space:normal}.session-info p{overflow-wrap:anywhere}@media(max-width:620px){.weekly-grid{grid-template-columns:1fr;gap:12px}.weekly-card{padding:21px}.weekly-card h2{font-size:24px}.weekly-details>summary{font-size:19px}.weekly-times b{font-size:29px}}

.sbp-payment{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:22px 0;background:linear-gradient(110deg,#10341d,#0d1b12);border-color:#2d6040}.sbp-payment>div{min-width:0}.sbp-payment h2{font-size:24px;margin:9px 0 10px}.sbp-payment p{color:#d0dfd5;font-size:15px;margin:0 0 8px}.sbp-payment small{color:#abc3b3;font-size:12px;display:block}.sbp-payment .btn{flex-shrink:0}.payment-total .sbp-method{font-size:29px}@media(max-width:620px){.sbp-payment{align-items:stretch;flex-direction:column;gap:19px}.sbp-payment .btn{width:100%}.sbp-payment h2{font-size:25px}}
