:root{--crimson:#9b1c2e;--gold:#c8922a;--ivory:#faf6ef;--charcoal:#1c1410;--smoke:#f0ebe1;--copper:#b5541c;--midnight:#0e0a07;--muted:#7a6a5a;--ff-display:"Cormorant Garamond", Georgia, serif;--ff-body:"DM Sans", system-ui, sans-serif;--ff-dev:"Noto Serif Devanagari", serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--ff-body);background:var(--ivory);color:var(--charcoal);font-size:16px;line-height:1.6;overflow-x:hidden}.site nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c0805eb;border-bottom:1px solid #c8922a40;justify-content:space-between;align-items:center;height:64px;padding:0 5vw;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{flex-direction:column;gap:0;display:flex}.nav-logo .dev{font-family:var(--ff-dev);color:var(--gold);letter-spacing:.05em;font-size:13px;line-height:1}.nav-logo .eng{font-family:var(--ff-display);color:var(--ivory);letter-spacing:.08em;font-size:17px;font-weight:300;line-height:1.2}.nav-links{gap:28px;list-style:none;display:flex}.nav-links a{color:#faf6efbf;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;font-size:12.5px;font-weight:500;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--gold)}.nav-cta{background:var(--crimson);border-radius:2px;padding:8px 18px;color:var(--ivory)!important}.nav-cta:hover{background:#b52234;color:var(--ivory)!important}.nav-portal-btn{text-transform:uppercase;border:1px solid #c8922a80;border-radius:2px;padding:7px 16px;color:var(--gold)!important}.nav-portal-btn:hover{background:var(--gold);color:var(--midnight)!important}.hero{background:var(--midnight);grid-template-columns:1fr 1fr;min-height:100vh;display:grid;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(60% 80% at 70%,#9b1c2e2e 0%,#0000 70%),radial-gradient(40% 60% at 30% 60%,#c8922a14 0%,#0000 60%);position:absolute;inset:0}.hero-mandala{opacity:.07;pointer-events:none;width:580px;height:580px;position:absolute;top:50%;right:-80px;transform:translateY(-50%)}.hero-mandala svg{width:100%;height:100%}.hero-left{z-index:2;flex-direction:column;justify-content:center;padding:120px 5vw 80px 8vw;display:flex;position:relative}.hero-eyebrow{font-family:var(--ff-body);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);align-items:center;gap:12px;margin-bottom:20px;font-size:11px;font-weight:500;display:flex}.hero-eyebrow:before{content:"";background:var(--gold);width:32px;height:1px;display:block}.hero-headline{font-family:var(--ff-display);color:var(--ivory);letter-spacing:-.01em;font-size:clamp(3rem,5.5vw,5.2rem);font-weight:300;line-height:1.05}.hero-headline em{color:var(--gold);font-style:italic}.hero-sub{font-family:var(--ff-dev);color:#c8922ab3;letter-spacing:.05em;margin-top:10px;font-size:18px}.hero-body{color:#faf6efa6;max-width:400px;margin-top:28px;font-size:15.5px;font-weight:300;line-height:1.75}.hero-actions{flex-wrap:wrap;gap:16px;margin-top:40px;display:flex}.btn-primary{background:var(--crimson);color:var(--ivory);cursor:pointer;font-family:var(--ff-body);letter-spacing:.12em;text-transform:uppercase;border:none;padding:14px 32px;font-size:12.5px;font-weight:500;text-decoration:none;transition:background .2s,transform .15s;display:inline-block}.btn-primary:hover{background:#b52234;transform:translateY(-1px)}.btn-outline{color:#faf6efcc;font-family:var(--ff-body);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #faf6ef40;padding:14px 32px;font-size:12.5px;font-weight:500;text-decoration:none;transition:border-color .2s,color .2s;display:inline-block}.btn-outline:hover{border-color:var(--gold);color:var(--gold)}.hero-right{justify-content:center;align-items:center;display:flex;position:relative}.dancer-container{z-index:2;width:380px;height:520px;position:relative}.dancer-svg{filter:drop-shadow(0 0 40px #9b1c2e66);width:100%;height:100%}.hero-stats{z-index:2;border-top:1px solid #c8922a33;gap:40px;padding-top:28px;display:flex;position:absolute;bottom:40px;left:8vw;right:5vw}.stat{flex-direction:column;gap:4px;display:flex}.stat-num{font-family:var(--ff-display);color:var(--gold);font-size:2rem;font-weight:600;line-height:1}.stat-label{letter-spacing:.12em;text-transform:uppercase;color:#faf6ef73;font-size:11px;font-weight:500}.site section{padding:100px 8vw}.section-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);align-items:center;gap:12px;margin-bottom:16px;font-size:11px;font-weight:500;display:flex}.section-eyebrow:before{content:"";background:var(--gold);width:24px;height:1px;display:block}.section-title{font-family:var(--ff-display);color:var(--charcoal);margin-bottom:16px;font-size:clamp(2rem,3.5vw,3.2rem);font-weight:300;line-height:1.1}.section-title em{color:var(--crimson);font-style:italic}.about{background:var(--ivory)}.about-grid{grid-template-columns:5fr 4fr;align-items:start;gap:80px;margin-top:60px;display:grid}.about-text p{color:var(--muted);margin-bottom:20px;font-size:15.5px;font-weight:300;line-height:1.85}.about-pillars{grid-template-columns:1fr 1fr;gap:24px;margin-top:36px;display:grid}.pillar{border-left:2px solid var(--gold);padding-left:16px}.pillar-title{font-family:var(--ff-display);color:var(--charcoal);margin-bottom:4px;font-size:1.1rem;font-weight:600}.pillar-desc{color:var(--muted);font-size:13px;line-height:1.6}.about-aside{background:var(--charcoal);padding:40px;position:sticky;top:80px}.aside-quote{font-family:var(--ff-display);color:var(--ivory);margin-bottom:20px;font-size:1.5rem;font-style:italic;font-weight:300;line-height:1.4}.aside-attr{letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-size:12px}.aside-divider{background:var(--gold);width:40px;height:1px;margin:20px 0}.aside-fact{margin-bottom:14px}.aside-fact strong{font-family:var(--ff-display);color:var(--gold);font-size:1.8rem;font-weight:600;line-height:1;display:block}.aside-fact span{color:#faf6ef8c;letter-spacing:.08em;font-size:12px}.teacher{background:var(--smoke)}.teacher-grid{grid-template-columns:1fr 2fr;align-items:start;gap:72px;margin-top:56px;display:grid}.teacher-portrait{position:relative}.portrait-frame{aspect-ratio:3/4;background:linear-gradient(145deg, var(--crimson) 0%, #5a0f1a 100%);justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.portrait-frame:before{content:"";pointer-events:none;border:1px solid #c8922a66;position:absolute;inset:12px}.portrait-svg{opacity:.85;width:70%}.portrait-badge{background:var(--gold);letter-spacing:.12em;text-transform:uppercase;color:var(--midnight);padding:12px 20px;font-size:11px;font-weight:600;position:absolute;bottom:-16px;right:-16px}.teacher-bio .bio-name{font-family:var(--ff-display);color:var(--charcoal);margin-bottom:6px;font-size:2.4rem;font-weight:300;line-height:1.1}.teacher-bio .bio-title{letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:28px;font-size:12.5px;font-weight:500}.bio-body{color:var(--muted);margin-bottom:16px;font-size:15px;font-weight:300;line-height:1.85}.credentials{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.credential{color:var(--charcoal);background:#fff;border:1px solid #9b1c2e26;align-items:center;gap:8px;padding:10px 18px;font-size:12.5px;font-weight:500;display:flex}.credential:before{content:"✦";color:var(--gold);font-size:10px}.classes{background:var(--charcoal)}.classes .section-title{color:var(--ivory)}.classes .section-eyebrow{color:var(--gold)}.classes-intro{color:#faf6ef8c;max-width:560px;margin-bottom:56px;font-size:15px;font-weight:300;line-height:1.75}.classes-grid{grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.class-card{cursor:pointer;background:#ffffff0a;border-top:2px solid #0000;padding:36px 32px;transition:border-color .2s,background .2s;position:relative;overflow:hidden}.class-card:after{content:"";opacity:0;background:linear-gradient(135deg,#9b1c2e1f 0%,#0000 60%);transition:opacity .3s;position:absolute;inset:0}.class-card:hover{border-color:var(--gold);background:#ffffff12}.class-card:hover:after{opacity:1}.class-age{background:var(--crimson);color:var(--ivory);letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px;padding:4px 12px;font-size:10.5px;font-weight:600;display:inline-block}.class-name{font-family:var(--ff-display);color:var(--ivory);margin-bottom:12px;font-size:1.55rem;font-weight:400;line-height:1.2}.class-desc{color:#faf6ef80;margin-bottom:24px;font-size:13.5px;font-weight:300;line-height:1.7}.class-meta{border-top:1px solid #ffffff14;padding-top:20px}.class-meta-row{color:#faf6ef66;letter-spacing:.04em;justify-content:space-between;margin-bottom:8px;font-size:12px;display:flex}.class-meta-row strong{color:var(--gold);font-weight:500}.schedule{background:var(--ivory)}.schedule-note{color:var(--muted);align-items:center;gap:8px;margin-bottom:44px;font-size:13.5px;font-weight:300;display:flex}.schedule-note:before{content:"ℹ";color:var(--gold);font-size:15px}.schedule-table-wrap{overflow-x:auto}.site table{border-collapse:collapse;width:100%;font-size:14px}.site thead tr{background:var(--charcoal)}.site thead th{text-align:left;font-family:var(--ff-body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);padding:14px 20px;font-size:10.5px;font-weight:600}.site tbody tr{border-bottom:1px solid #0000000f}.site tbody tr:nth-child(2n){background:var(--smoke)}.site tbody tr:hover{background:#9b1c2e0a}.site td{color:var(--charcoal);padding:16px 20px;line-height:1.4}.site td:first-child{font-weight:500}.tag{letter-spacing:.1em;text-transform:uppercase;border-radius:1px;padding:3px 10px;font-size:10.5px;font-weight:600;display:inline-block}.tag-beginners{color:var(--copper);background:#c8922a26}.tag-intermediate{color:var(--crimson);background:#9b1c2e1f}.tag-advanced{color:var(--charcoal);background:#0e0a0714}.tag-all{color:#7a5010;background:#c8922a33}.locations{background:var(--smoke)}.locations-grid{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px;display:grid}.location-card{border-bottom:3px solid var(--crimson);background:#fff;padding:36px;position:relative}.location-city{font-family:var(--ff-display);color:var(--charcoal);margin-bottom:6px;font-size:1.5rem;font-weight:400}.location-addr{color:var(--muted);margin-bottom:20px;font-size:14px;line-height:1.6}.location-days{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.day-chip{background:var(--smoke);color:var(--charcoal);border:1px solid #00000014;padding:5px 12px;font-size:11.5px;font-weight:500}.location-note{color:var(--muted);font-size:12.5px;font-weight:300}.location-icon{opacity:.25;font-size:24px;position:absolute;top:32px;right:32px}.curriculum{background:var(--midnight)}.curriculum .section-title{color:var(--ivory)}.curriculum .section-eyebrow{color:var(--gold)}.curriculum-intro{color:#faf6ef80;max-width:540px;margin-bottom:60px;font-size:15px;font-weight:300;line-height:1.75}.curr-grid{background:#ffffff0f;grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.curr-item{background:var(--midnight);border-top:1px solid #c8922a26;padding:32px 28px}.curr-num{font-family:var(--ff-display);color:#c8922a33;margin-bottom:16px;font-size:2.8rem;font-weight:300;line-height:1}.curr-title{font-family:var(--ff-display);color:var(--ivory);margin-bottom:10px;font-size:1.1rem;font-weight:600}.curr-desc{color:#faf6ef66;font-size:13px;font-weight:300;line-height:1.65}.materials{background:var(--ivory)}.materials-grid{grid-template-columns:repeat(3,1fr);gap:28px;margin-top:56px;display:grid}.material-card{background:#fff;border:1px solid #00000014;padding:32px;transition:box-shadow .2s}.material-card:hover{box-shadow:0 8px 32px #9b1c2e14}.material-icon{background:#9b1c2e14;border-radius:0;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:20px;font-size:20px;display:flex}.material-title{font-family:var(--ff-display);color:var(--charcoal);margin-bottom:10px;font-size:1.2rem;font-weight:600}.material-desc{color:var(--muted);font-size:13.5px;font-weight:300;line-height:1.7}.material-access{letter-spacing:.1em;text-transform:uppercase;color:var(--crimson);align-items:center;gap:6px;margin-top:20px;font-size:11.5px;font-weight:600;text-decoration:none;display:flex}a.material-access:hover{color:#b52234}.register{background:var(--crimson)}.register-inner{grid-template-columns:1fr 1fr;align-items:start;gap:80px;display:grid}.register .section-title{color:var(--ivory)}.register .section-eyebrow{color:#fff9}.register .section-eyebrow:before{background:#fff6}.register-body{color:#ffffffb3;margin-bottom:32px;font-size:15px;font-weight:300;line-height:1.8}.register-steps{flex-direction:column;gap:16px;display:flex}.reg-step{align-items:flex-start;gap:16px;display:flex}.reg-step-num{color:#fffc;letter-spacing:.05em;border:1px solid #fff6;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;font-size:11px;font-weight:600;display:flex}.reg-step-text{color:#ffffffb3;font-size:14px;font-weight:300;line-height:1.5}.reg-step-text strong{color:#fff;font-weight:500}.reg-form{background:#fff;padding:40px}.form-title{font-family:var(--ff-display);color:var(--charcoal);margin-bottom:28px;font-size:1.6rem;font-weight:400}.form-error{color:#a02020;background:#9b1c2e14;border:1px solid #9b1c2e40;margin-bottom:16px;padding:10px 14px;font-size:13.5px}.form-success{color:var(--charcoal);background:#c8922a2e;border:1px solid #c8922a66;padding:16px;font-size:14px;line-height:1.6}.form-group{margin-bottom:20px}.site label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:600;display:block}.site input,.site select,.site textarea{width:100%;font-family:var(--ff-body);color:var(--charcoal);background:var(--ivory);appearance:none;border:1px solid #0000001f;border-radius:0;outline:none;padding:12px 14px;font-size:14px;transition:border-color .2s}.site input:focus,.site select:focus,.site textarea:focus{border-color:var(--crimson)}.site textarea{resize:vertical;min-height:80px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.btn-submit{background:var(--crimson);color:#fff;width:100%;font-family:var(--ff-body);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:none;padding:16px;font-size:12.5px;font-weight:600;transition:background .2s}.btn-submit:hover{background:#b52234}.faq{background:var(--smoke);padding:80px 8vw}.faq-grid{grid-template-columns:1fr 1fr;gap:32px;margin-top:56px;display:grid}.faq-item{border-top:1px solid #0000001a;padding-top:24px}.faq-q{font-family:var(--ff-display);color:var(--charcoal);margin-bottom:10px;font-size:1.05rem;font-weight:600;line-height:1.3}.faq-a{color:var(--muted);font-size:14px;font-weight:300;line-height:1.75}.site footer{background:var(--midnight);border-top:1px solid #c8922a33;padding:64px 8vw 32px}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:56px;display:grid}.footer-brand .dev{font-family:var(--ff-dev);color:var(--gold);margin-bottom:4px;font-size:15px;line-height:1}.footer-brand .eng{font-family:var(--ff-display);color:var(--ivory);letter-spacing:.06em;margin-bottom:16px;font-size:1.4rem;font-weight:300}.footer-tagline{color:#faf6ef66;max-width:280px;font-size:13px;font-weight:300;line-height:1.6}.footer-col-title{letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;font-size:10.5px;font-weight:600}.footer-col ul{list-style:none}.footer-col li{margin-bottom:10px}.footer-col a{color:#faf6ef73;cursor:pointer;font-size:13.5px;font-weight:300;text-decoration:none;transition:color .2s}.footer-col a:hover{color:var(--ivory)}.footer-contact-item{color:#faf6ef73;margin-bottom:10px;font-size:13.5px;font-weight:300;line-height:1.5}.footer-contact-item strong{color:#faf6efb3;display:block}.footer-bottom{border-top:1px solid #ffffff12;justify-content:space-between;align-items:center;padding-top:24px;display:flex}.footer-copy{color:#faf6ef4d;font-size:12px}.footer-social{gap:16px;display:flex}.social-link{color:#faf6ef73;cursor:pointer;border:1px solid #ffffff1f;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;text-decoration:none;transition:border-color .2s,color .2s;display:flex}.social-link:hover{border-color:var(--gold);color:var(--gold)}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(24px)}.reveal.in{opacity:1;transform:translateY(0)}@media (width<=960px){.hero{grid-template-columns:1fr}.hero-right{display:none}.hero-stats{flex-wrap:wrap;margin-top:40px;position:relative;bottom:auto;left:auto;right:auto}.about-grid,.teacher-grid,.register-inner,.footer-grid{grid-template-columns:1fr;gap:40px}.classes-grid,.curr-grid{grid-template-columns:1fr 1fr}.locations-grid,.materials-grid,.faq-grid{grid-template-columns:1fr}.nav-links{display:none}.hero-left{padding:100px 6vw 60px}.site section{padding:72px 6vw}}@media (width<=600px){.classes-grid,.curr-grid,.form-row{grid-template-columns:1fr}.footer-bottom{flex-direction:column;align-items:flex-start;gap:16px}}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.hamburger span{background:var(--ivory);width:24px;height:1.5px;display:block}@media (width<=960px){.hamburger{display:flex}}:root{--admin-bg:#f3f4f6;--admin-panel:#fff;--admin-border:#e5e7eb;--admin-text:#1f2430;--admin-text-muted:#6b7280;--admin-sidebar:#14110d;--admin-sidebar-text:#faf6ef99;--admin-radius:10px;--admin-shadow:0 1px 2px #10141e0a, 0 1px 8px #10141e0a;--admin-row-hover:#9b1c2e05;--admin-accent-card-bg:linear-gradient(160deg, #fffdf8 0%, #fff9ee 100%);--admin-accent-card-border:#c8922a59}html[data-admin-theme=dark]{--admin-bg:#15171c;--admin-panel:#1d2027;--admin-border:#2c3038;--admin-text:#e7e8ec;--admin-text-muted:#9aa0ac;--admin-shadow:0 1px 2px #0000004d, 0 1px 8px #00000040;--admin-row-hover:#c8922a0f;--admin-accent-card-bg:linear-gradient(160deg, #241d14 0%, #1d2027 100%);--admin-accent-card-border:#c8922a4d}.admin-login-page{background:var(--admin-sidebar);background-image:radial-gradient(60% 60% at 50% 0,#c8922a14 0%,#0000 70%);justify-content:center;align-items:center;min-height:100vh;display:flex}.admin-login-card{border-radius:var(--admin-radius);background:#1c1712;border:1px solid #c8922a33;width:100%;max-width:380px;padding:44px;box-shadow:0 20px 60px #0006}.admin-login-title{font-family:var(--ff-display);color:var(--gold);margin-bottom:8px;font-size:1.7rem}.admin-login-sub{color:#faf6ef8c;margin-bottom:28px;font-size:13.5px;line-height:1.6}.admin-login-card label{color:#faf6ef8c}.admin-login-card input{color:var(--ivory);background:#ffffff0d;border:1px solid #ffffff24;border-radius:6px}.admin-login-card input:focus{border-color:var(--gold)}.admin-login-card .btn-submit{border-radius:6px}.form-error{color:#a02020;background:#9b1c2e14;border:1px solid #9b1c2e40;border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:13.5px}.form-success{color:var(--charcoal);background:#c8922a2e;border:1px solid #c8922a66;border-radius:6px;padding:16px;font-size:14px;line-height:1.6}.admin-login-card .form-error{color:#ff9a9a;background:#9b1c2e26}html[data-admin-theme=dark] .admin-shell .form-error{color:#f87171;background:#ef44441a;border-color:#ef444440}html[data-admin-theme=dark] .admin-shell .form-success{color:var(--admin-text);background:#c8922a24;border-color:#c8922a4d}.admin-enroll-error{margin:10px 0 0}.admin-shell{background:var(--admin-bg);min-height:100vh;font-family:var(--ff-body);color:var(--admin-text);display:flex}.admin-sidebar{background:var(--admin-sidebar);flex-direction:column;width:232px;min-width:232px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.admin-brand{border-bottom:1px solid #c8922a26;flex-direction:column;margin-bottom:20px;padding:8px 12px 24px;display:flex}.admin-brand-dev{font-family:var(--ff-dev);color:var(--gold);font-size:14px;line-height:1.3}.admin-brand-eng{font-family:var(--ff-display);color:var(--ivory);letter-spacing:.1em;text-transform:uppercase;opacity:.6;margin-top:2px;font-size:13px}.admin-nav{flex-direction:column;flex:1;gap:2px;display:flex}.admin-nav-link{color:var(--admin-sidebar-text);border-radius:8px;align-items:center;gap:12px;padding:10px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.admin-nav-link svg{opacity:.8;flex-shrink:0}.admin-nav-link:hover{color:var(--ivory);background:#ffffff0d}.admin-nav-link.active{color:var(--gold);background:#c8922a24}.admin-nav-link.active svg{opacity:1}.admin-logout{cursor:pointer;color:var(--admin-sidebar-text);background:0 0;border:none;border-top:1px solid #ffffff14;border-radius:8px;align-items:center;gap:12px;margin-top:12px;padding:18px 12px 10px;font-size:13.5px;font-weight:500;display:flex}.admin-logout:hover{color:#ff9a9a}.admin-content{flex-direction:column;flex:1;min-width:0;display:flex}.admin-topbar{background:var(--admin-panel);border-bottom:1px solid var(--admin-border);justify-content:space-between;align-items:center;height:64px;padding:0 32px;display:flex}.admin-topbar h1{font-family:var(--ff-display);color:var(--admin-text);font-size:1.4rem;font-weight:500}.admin-theme-toggle{border:1px solid var(--admin-border);background:var(--admin-bg);width:36px;height:36px;color:var(--admin-text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:color .15s,border-color .15s;display:flex}.admin-theme-toggle:hover{color:var(--gold);border-color:var(--gold)}.admin-main{width:100%;max-width:1280px;margin:0 auto;padding:28px 32px}.admin-overview{flex-direction:column;gap:24px;display:flex}.stat-cards{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.stat-card{background:var(--admin-panel);border:1px solid var(--admin-border);border-radius:var(--admin-radius);box-shadow:var(--admin-shadow);padding:20px 22px}.stat-card.accent{border-color:var(--admin-accent-card-border);background:var(--admin-accent-card-bg)}.stat-card-label{letter-spacing:.04em;color:var(--admin-text-muted);text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:600}.stat-card-value{font-family:var(--ff-display);color:var(--admin-text);font-size:2.1rem;font-weight:600;line-height:1}.stat-card-sub{color:var(--admin-text-muted);margin-top:8px;font-size:12.5px}.admin-panel{background:var(--admin-panel);border:1px solid var(--admin-border);border-radius:var(--admin-radius);box-shadow:var(--admin-shadow);padding:24px}.admin-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.admin-panel-header h2{font-family:var(--ff-display);color:var(--admin-text);font-size:1.35rem;font-weight:500}.admin-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-filters input,.admin-filters select{border:1px solid var(--admin-border);background:var(--admin-bg);color:var(--admin-text);border-radius:6px;padding:8px 12px;font-size:13px}.admin-filters input:focus,.admin-filters select:focus{border-color:var(--crimson);outline:none}.admin-search-input{border:1px solid var(--admin-border);background:var(--admin-bg);color:var(--admin-text-muted);border-radius:6px;align-items:center;gap:8px;padding:0 10px;display:flex}.admin-search-input input{color:var(--admin-text);background:0 0;border:none;padding:8px 0;font-size:13px}.admin-search-input input:focus{outline:none}.admin-muted{color:var(--admin-text-muted);font-size:13.5px}.admin-empty-cell{color:var(--admin-text-muted);text-align:center;font-size:13.5px;padding:32px 0!important}.btn-outline-admin{border:1px solid var(--crimson);color:var(--crimson);cursor:pointer;background:0 0;border-radius:6px;padding:8px 16px;font-size:12.5px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:inline-block}.btn-outline-admin:hover{background:var(--crimson);color:#fff}.btn-link-admin{cursor:pointer;color:var(--crimson);background:0 0;border:none;padding:4px 8px;font-size:12.5px;font-weight:600}.btn-link-admin.danger{color:#a02020}.btn-link-admin:hover{text-decoration:underline}.admin-table{border-collapse:collapse;width:100%;font-size:13.5px}.admin-table thead tr{border-bottom:1px solid var(--admin-border)}.admin-table th{text-align:left;color:var(--admin-text-muted);text-transform:uppercase;letter-spacing:.06em;padding:0 14px 12px;font-size:11px;font-weight:600}.admin-table td{border-bottom:1px solid var(--admin-border);vertical-align:top;padding:14px}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:var(--admin-row-hover)}.admin-table select{border-radius:5px;padding:4px 8px;font-size:12.5px}.admin-table-compact tbody tr{cursor:pointer}.admin-table-compact tbody tr:hover{background:var(--admin-row-hover)}.admin-row-active{background:#c8922a14!important}.admin-row-actions{white-space:nowrap;gap:4px;display:flex}.admin-portal-cell{white-space:nowrap;align-items:center;gap:8px;display:flex}.badge-blue{color:#23558f;background:#2864b41f}html[data-admin-theme=dark] .badge-green{color:#4ade80;background:#22c55e29}html[data-admin-theme=dark] .badge-amber{color:#fbbf24;background:#eab30829}html[data-admin-theme=dark] .badge-blue{color:#60a5fa;background:#3b82f629}html[data-admin-theme=dark] .badge-red{color:#f87171;background:#ef444429}html[data-admin-theme=dark] .badge-gray{color:#b0b7c3;background:#949eaf29}.status-select{cursor:pointer;font-weight:600;border:1px solid #0000!important}.status-select.status-pending{color:#8a5c10!important;background:#c8922a2e!important}.status-select.status-trial{color:#23558f!important;background:#2864b41f!important}.status-select.status-enrolled{color:#1a7a4c!important;background:#228b571f!important}.status-select.status-inactive{color:#4b5160!important;background:#6b728024!important}html[data-admin-theme=dark] .status-select.status-pending{color:#fbbf24!important;background:#eab30829!important}html[data-admin-theme=dark] .status-select.status-trial{color:#60a5fa!important;background:#3b82f629!important}html[data-admin-theme=dark] .status-select.status-enrolled{color:#4ade80!important;background:#22c55e29!important}html[data-admin-theme=dark] .status-select.status-inactive{color:#b0b7c3!important;background:#949eaf29!important}html[data-admin-theme=dark] .status-select option{background:var(--admin-panel);color:var(--admin-text)}.admin-expand-row td{background:var(--admin-bg)}.admin-enroll-panel{flex-wrap:wrap;gap:32px;padding:12px 4px;display:flex}.admin-enroll-current ul{margin-top:8px;list-style:none}.admin-enroll-current li{align-items:center;gap:10px;margin-bottom:6px;font-size:13px;display:flex}.admin-enroll-add{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.admin-enroll-add select{border:1px solid var(--admin-border);border-radius:6px;min-width:260px;padding:6px 10px;font-size:13px}.admin-split{grid-template-columns:1.4fr 1fr;align-items:start;gap:20px;display:grid}.admin-detail-pane{background:var(--admin-bg);border-radius:var(--admin-radius);border:1px solid var(--admin-border);padding:22px}.admin-detail-pane h3{font-family:var(--ff-display);margin-bottom:4px;font-size:1.25rem}.admin-roster-list{margin-top:16px;list-style:none}.admin-roster-list li{border-bottom:1px solid var(--admin-border);justify-content:space-between;align-items:center;gap:10px;padding:10px 0;font-size:13.5px;display:flex}.admin-roster-list li:last-child{border-bottom:none}.admin-attendance-actions{gap:10px;margin-bottom:16px;display:flex}.admin-attendance-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-bottom:20px;list-style:none;display:grid}.admin-attendance-list label{background:var(--admin-bg);border:1px solid var(--admin-border);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:13.5px;display:flex}.admin-attendance-list label span:first-of-type{flex:1}.admin-attendance-list li.is-present label{border-color:#228b574d}.admin-attendance-list li.is-absent label{border-color:#9b1c2e26}.admin-save-btn{border-radius:6px;width:auto;padding:10px 24px}.admin-payment-summary{color:var(--admin-text-muted);gap:24px;margin-bottom:20px;font-size:14px;display:flex}.admin-payment-summary strong{color:var(--admin-text)}.admin-amount-input{border:1px solid var(--admin-border);border-radius:6px;width:90px;padding:6px 8px}.admin-paid-toggle{cursor:pointer;align-items:center;gap:10px;display:flex}@media (width<=1000px){.stat-cards{grid-template-columns:repeat(2,1fr)}.admin-split{grid-template-columns:1fr}}@media (width<=780px){.admin-shell{flex-direction:column}.admin-sidebar{flex-direction:row;align-items:center;width:100%;min-width:0;height:auto;padding:12px 16px;position:static}.admin-brand{border:none;margin:0 16px 0 0;padding:0}.admin-nav{flex-direction:row;overflow-x:auto}.admin-nav-link span{display:none}.admin-logout{border:none;margin:0;padding:10px}.admin-logout span{display:none}.stat-cards{grid-template-columns:1fr}.admin-main{padding:20px 16px}.admin-topbar{padding:0 16px}}.portal-login-page{background:var(--midnight);background-image:radial-gradient(60% 60% at 50% 0,#c8922a14 0%,#0000 70%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.portal-login-card{background:#1c1712;border:1px solid #c8922a33;border-radius:10px;width:100%;max-width:400px;padding:44px;box-shadow:0 20px 60px #0006}.portal-login-title{font-family:var(--ff-display);color:var(--gold);margin-bottom:8px;font-size:1.6rem}.portal-login-sub{color:#faf6ef8c;margin-bottom:28px;font-size:13.5px;line-height:1.6}.portal-login-card label{color:#faf6ef8c;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.portal-login-card input{width:100%;color:var(--ivory);background:#ffffff0d;border:1px solid #ffffff24;border-radius:6px;outline:none;padding:12px 14px;font-size:14px}.portal-login-card input:focus{border-color:var(--gold)}.portal-login-card .btn-submit{border-radius:6px;margin-top:8px}.portal-login-help{color:#faf6ef66;text-align:center;margin-top:20px;font-size:12.5px;line-height:1.6}.portal-shell{background:var(--smoke);min-height:100vh;font-family:var(--ff-body)}.portal-header{background:var(--midnight);border-bottom:1px solid #c8922a33;justify-content:space-between;align-items:center;height:72px;padding:0 32px;display:flex}.portal-brand{flex-direction:column;display:flex}.portal-brand-dev{font-family:var(--ff-dev);color:var(--gold);font-size:14px;line-height:1.2}.portal-brand-eng{font-family:var(--ff-display);color:var(--ivory);letter-spacing:.08em;text-transform:uppercase;opacity:.7;font-size:13px}.portal-header-right{align-items:center;gap:16px;display:flex}.portal-greeting{color:#faf6efb3;font-size:13.5px}.btn-outline-portal{color:var(--gold);cursor:pointer;background:0 0;border:1px solid #c8922a80;border-radius:6px;padding:8px 16px;font-size:12.5px;font-weight:600;transition:background .15s,color .15s}.btn-outline-portal:hover{background:var(--gold);color:var(--midnight)}.portal-tabs{background:var(--ivory);border-bottom:1px solid #00000014;gap:4px;padding:16px 32px 0;display:flex;overflow-x:auto}.portal-tab{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 18px;font-size:13.5px;font-weight:500}.portal-tab.active{color:var(--crimson);border-color:var(--crimson);font-weight:600}.portal-tab:hover{color:var(--crimson)}.portal-main{max-width:1000px;margin:0 auto;padding:32px}.portal-panel{background:#fff;border:1px solid #00000014;border-radius:10px;padding:28px;box-shadow:0 1px 8px #10141e0a}.portal-panel h2{font-family:var(--ff-display);color:var(--charcoal);margin-bottom:20px;font-size:1.4rem;font-weight:500}.portal-muted{color:var(--muted);font-size:13.5px}.portal-reminder{border-radius:8px;margin-bottom:20px;padding:14px 18px;font-size:13.5px}.portal-reminder-due{color:#9b1c2e;background:#9b1c2e14;border:1px solid #9b1c2e40}.portal-reminder-list{flex-direction:column;gap:10px;list-style:none;display:flex}.portal-reminder-list li{color:var(--charcoal);background:var(--smoke);border-radius:8px;padding:12px 16px;font-size:13.5px}.portal-reminder-list strong{color:var(--crimson)}.portal-class-list{flex-direction:column;gap:12px;list-style:none;display:flex}.portal-class-card{background:var(--smoke);border-left:3px solid var(--gold);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:16px 20px;display:flex}.portal-class-name{font-family:var(--ff-display);color:var(--charcoal);font-size:1.1rem}.portal-class-meta{color:var(--muted);flex:1;margin-left:16px;font-size:12.5px}.portal-table{border-collapse:collapse;width:100%;font-size:13.5px}.portal-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #00000014;padding:10px 14px;font-size:11px}.portal-table td{color:var(--charcoal);border-bottom:1px solid #0000000f;padding:12px 14px}.portal-materials-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;display:grid}.portal-material-card{background:var(--smoke);border-radius:8px;padding:20px}.portal-material-icon{margin-bottom:10px;font-size:22px}.portal-material-card h3{font-family:var(--ff-display);color:var(--charcoal);margin-bottom:8px;font-size:1.05rem}.portal-material-card p{color:var(--muted);font-size:12.5px;line-height:1.6}.badge{letter-spacing:.03em;text-transform:capitalize;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;line-height:1.6;display:inline-block}.badge-green{color:#1a7a4c;background:#228b571f}.badge-amber{color:#8a5c10;background:#c8922a2e}.badge-red{color:#9b1c2e;background:#9b1c2e1a}.badge-gray{color:#4b5160;background:#6b728024}@media (width<=700px){.portal-header{padding:0 16px}.portal-tabs{padding:12px 16px 0}.portal-main{padding:20px 16px}.portal-class-meta{width:100%;margin-left:0}}
