@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#282c29;--muted:#858982;--line:#e8eae4;--green:#345e48;--bg:#f7f8f4}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15.3333px 'DM Sans',sans-serif}button,input,select{font:inherit}button,a,select{cursor:pointer}button{border:1px solid var(--line);background:white;border-radius:7px;padding:10px 14px;color:var(--ink)}button:hover{filter:brightness(.96)}aside{position:fixed;width:234px;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:33px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:var(--green);text-decoration:none;font-size:51.3333px;line-height:1;font-weight:800;letter-spacing:-5px}.brand>span{font-size:23.3333px;letter-spacing:-1px;color:var(--ink)}small{display:block}.brand small{font-size:9.3333px;letter-spacing:2px;margin-top:9px;color:var(--muted)}.studio{display:flex;gap:10px;border:1px solid var(--line);padding:13px 9px;border-radius:8px;margin:35px 0 26px;font-size:12.3333px}.studio small{color:var(--muted);margin-top:5px;font-size:11.3333px}.nav-label{font-size:10.3333px;letter-spacing:1.7px;color:var(--muted);padding:0 13px}nav button{width:100%;display:flex;align-items:center;text-align:left;border:0;margin:4px 0;padding:13px;gap:13px;background:transparent;color:#70766e}nav button.active{background:#edf2e9;color:var(--green);font-weight:700}nav button .count{margin-left:auto;background:#e3e9de;padding:2px 6px;font-size:11.3333px;border-radius:4px}.aside-bottom{margin-top:auto}.tip{padding:18px 12px;color:#5c6d59;background:#f7f8f2;border-radius:9px}.tip>span{display:block;font-size:26.3333px;margin-bottom:12px}.tip b{font-size:13.3333px;line-height:1.6}.tip p{font-size:11.3333px;line-height:1.7;color:#8c9587}.profile{display:flex;align-items:center;gap:10px;margin-top:25px;font-size:13.3333px}.profile i,.avatar{font-style:normal;background:#e8e9dd;border-radius:50%;padding:11px;font-size:12.3333px}.profile small{font-size:11.3333px;color:var(--muted);margin-top:5px}.profile>span:last-child{margin-left:auto}main{margin-left:234px}header{height:78px;background:#fff;border-bottom:1px solid var(--line);padding:0 39px;display:flex;justify-content:space-between;align-items:center;font-size:12.3333px;color:#8c9189}header b{margin:0 15px;color:#c4c7bf}header div{display:flex;align-items:center;gap:9px}.avatar{margin-left:16px;color:#4e5c43}.live-dot{height:6px;width:6px;border-radius:50%;background:#6e8b62}.page{padding:36px 38px 20px;max-width:1700px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:10.3333px;font-weight:700;letter-spacing:2px;color:#89917e;margin:0 0 12px}h1{font:700 32.3333px Manrope,sans-serif;letter-spacing:-1.3px;margin:0 0 10px}.heading p:last-child{font-size:13.3333px;color:var(--muted);margin:0}.primary{background:var(--green);color:white;border-color:var(--green);padding:12px 17px;font-size:13.3333px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin:29px 0}.stat{padding:20px;background:#fff;border:1px solid var(--line);border-radius:10px;position:relative}.stat .icon{position:absolute;right:16px;top:20px;background:#f1f3ed;border-radius:8px;padding:9px;color:#718469}.stat p{margin:0;color:#7c8277;font-size:12.3333px}.stat strong{display:block;font:700 30.3333px Manrope;margin:10px 0 6px}.stat small{font-size:11.3333px;color:#93988d}.stat small b{color:#667f52;font-weight:500}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.panel-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 20px}.tabs{display:flex;background:#f3f4f0;border-radius:6px;padding:3px;gap:3px}.tabs button{border:0;background:transparent;font-size:12.3333px;padding:8px 12px;color:#818779}.tabs button.active{background:#fff;color:#3c5737;box-shadow:0 1px 3px #0001}.subtle{font-size:11.3333px;color:#a1a599}.filters{display:flex;gap:8px;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line)}.filters label{display:flex;align-items:center;border:1px solid var(--line);padding:0 8px;border-radius:5px;color:#858c7e}.filters select{border:0;background:white;font-size:11.3333px;padding:9px 2px;color:#646c5e;max-width:130px}.filters button{border:0;color:#92998b;font-size:11.3333px;margin-left:auto;padding:5px}.calendar-top{padding:23px 20px;display:flex;align-items:center;justify-content:space-between}.calendar-top h3{margin:0;font:700 18.3333px Manrope;letter-spacing:-.5px}.calendar-top button{padding:5px 9px;font-size:12.3333px}.calendar-top>div{display:flex;gap:6px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday{text-align:center;font-size:10.3333px;letter-spacing:1px;padding:13px 0;color:#989e92;border-bottom:1px solid var(--line);background:#fcfcfa}.day{min-height:102px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 5px}.day:nth-child(7n){border-right:0}.day .num{display:inline-flex;font-size:11.3333px;color:#747d6b;margin:0 0 7px 5px;width:21px;height:21px;align-items:center;justify-content:center}.day.out{background:#fcfcfa}.day.out .num{color:#c9cdc4}.day.today .num{background:var(--green);color:#fff;border-radius:50%}.event-chip{display:block;width:100%;text-align:left;padding:6px 5px;margin:3px 0;background:#f0edf8;color:#8873a2;border:0;border-left:2px solid #a68ac1;border-radius:3px;font-size:9.3333px;line-height:1.6;overflow:hidden}.event-chip b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.event-chip.event{background:#fbefe5;color:#b58358;border-left-color:#d6a575}.feature{background:#e9eddf;border-radius:10px;padding:23px;position:relative;overflow:hidden}.pill{font-size:9.3333px;letter-spacing:1.4px;color:#70805c;position:relative;z-index:1}.feature h2{font:600 36.3333px Manrope;letter-spacing:-1.5px;line-height:1.15;margin:35px 0 14px;position:relative}.feature p{font-size:12.3333px;line-height:1.8;color:#7b856e;position:relative}.feature>div:not(.rings){font-size:11.3333px;color:#6d7d5e;margin:24px 0 19px}.feature button{width:100%;text-align:left;border-color:#cbd3bc;background:transparent;font-size:11.3333px;color:#5c7050}.feature button span{float:right}.feature-star{position:absolute;font-size:101.3333px;right:5px;top:47px;color:#bac9a2;transform:rotate(14deg)}.rings{position:absolute;width:200px;height:200px;border:1px solid #d1dabf;border-radius:50%;right:-90px;top:65px;box-shadow:0 0 0 24px #e3e9d6,0 0 0 25px #d3dcc4}.upcoming{margin-top:19px;padding:18px}.mini-heading{display:flex;justify-content:space-between;align-items:center}.mini-heading h3{font-size:13.3333px;margin:0}.mini-heading span{font-size:9.3333px;color:#9ba191}.up-item{display:flex;gap:11px;padding:18px 0;border-bottom:1px solid var(--line);cursor:pointer}.up-item:last-child{border:0;padding-bottom:0}.date-box{background:#f5f5ef;border-radius:5px;width:36px;min-width:36px;text-align:center;padding:6px;font-size:9.3333px;color:#9b9e90}.date-box b{display:block;font:600 17.3333px Manrope;color:#68745c}.up-item h4{font-size:11.3333px;margin:2px 0 6px}.up-item p{font-size:10.3333px;margin:0;color:#939a88}.legend{display:flex;gap:17px;font-size:10.3333px;color:#8a927f;margin:19px 0}.legend i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px}.purple{background:#a68ac1}.orange{background:#d6a575}.local-note{font-size:9.3333px;color:#a1a695}footer{display:flex;justify-content:space-between;color:#a5aa9e;font-size:10.3333px;padding:27px 0 0}footer span{font-size:9.3333px;letter-spacing:1px}.list{padding:10px 20px}.session-row{padding:18px 0;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:center}.session-row h4{margin:0 0 6px;font-size:14.3333px}.session-row p{margin:0;color:var(--muted);font-size:12.3333px}.session-row .status{margin-left:auto;font-size:11.3333px;background:#eef3e8;padding:7px;border-radius:5px;color:#688457}.session-row button{font-size:11.3333px;padding:7px}.directory{padding:20px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.person{border:1px solid var(--line);border-radius:8px;padding:20px;cursor:pointer}.person h3{font-size:16.3333px}.person p{font-size:12.3333px;color:var(--muted)}.person .avatar{margin:0;display:inline-block}.empty{padding:60px 25px;text-align:center;color:#8c9582;line-height:1.8}dialog{border:1px solid var(--line);border-radius:14px;width:470px;max-width:94vw;padding:25px;color:var(--ink)}dialog::backdrop{background:#18271966;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{font:700 22.3333px Manrope}.dialog-head button{border:0;font-size:26.3333px;padding:2px 8px}#fields label{display:block;margin:16px 0 7px;font-size:12.3333px;color:#737e6a}#fields input,#fields select,#fields textarea{width:100%;border:1px solid #dfe4d8;border-radius:6px;padding:11px;font:14.3333px 'DM Sans',sans-serif;background:white;color:var(--ink)}#fields select[multiple]{height:110px}#fields .hint{font-size:11.3333px;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:25px}#toast{position:fixed;bottom:25px;left:50%;background:#345e48;color:white;padding:13px 25px;border-radius:7px;display:none;z-index:5}.detail p{line-height:1.8;color:#75816c}.detail button{margin-top:15px}@media(min-width:1450px){.day{min-height:120px}.event-chip{font-size:11.3333px}}@media(max-width:1100px){aside{width:190px;padding:28px 15px}main{margin-left:190px}.page{padding:28px 22px}.workspace{grid-template-columns:minmax(0,1fr)}.right{display:grid;grid-template-columns:1fr 1fr;gap:20px}.upcoming{margin:0}.legend,.local-note{display:none}.feature h2{margin-top:20px}.feature{padding:20px}.feature>div:not(.rings){margin:15px 0}.heading h1{font-size:28.3333px}.subtle{display:none}}@media(max-width:700px){aside{position:static;width:auto;padding:16px}.brand{font-size:36.3333px}.brand>span{font-size:21.3333px}.studio,.nav-label,.aside-bottom{display:none}nav{display:flex;margin-top:15px;overflow:auto}nav button{width:auto;white-space:nowrap;padding:10px;font-size:12.3333px}nav .count{display:none}main{margin:0}header{display:none}.page{padding:24px 14px}.heading{align-items:flex-start;gap:10px}.heading h1{font-size:25.3333px}.heading p:last-child{font-size:11.3333px;max-width:230px}.primary{font-size:11.3333px;padding:11px;white-space:nowrap}.stats{gap:8px;grid-template-columns:repeat(2,1fr);margin:23px 0}.stat{padding:15px}.stat strong{font-size:26.3333px}.filters{padding:12px 8px;gap:4px;flex-wrap:wrap}.filters select{font-size:10.3333px;max-width:103px}.filters button{font-size:10.3333px}.calendar-top{padding:18px 12px}.day{min-height:90px;padding:5px 2px}.event-chip{font-size:8.3333px;padding:4px 2px}.weekday{font-size:9.3333px}.right{grid-template-columns:1fr 1fr;gap:10px}.feature{padding:15px}.feature h2{font-size:30.3333px}.upcoming{padding:14px}.mini-heading span{display:none}.up-item{gap:7px}.directory{grid-template-columns:1fr}footer span{display:none}.session-row{flex-wrap:wrap}.session-row .status{margin-left:0}}

/* Madhu Dance Academy identity */
.brand{gap:10px;letter-spacing:0}.brand-logo{width:44px;height:52px;flex-shrink:0}.brand>span{font-size:26.3333px;letter-spacing:-.7px;line-height:1.1}.brand small{font-size:9.3333px;letter-spacing:1.4px;margin-top:7px;color:var(--green);white-space:nowrap}@media(max-width:1100px) and (min-width:701px){.brand{gap:7px}.brand-logo{width:34px;height:44px}.brand>span{font-size:23.3333px}.brand small{font-size:8.3333px;letter-spacing:1px}}

#fields .team-choices{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:6px;padding:8px 12px}#fields .team-choices label{display:flex;align-items:center;gap:8px;margin:10px 0;line-height:1.5}#fields .team-choices input{width:auto;flex-shrink:0}.person button{font-size:11.3333px;padding:7px 10px}

/* Academy supplied logo */
.brand-logo{width:58px;height:58px;object-fit:contain}@media(max-width:1100px) and (min-width:701px){.brand-logo{width:44px;height:44px}}

/* Standalone academy logo */
.brand{justify-content:center}.brand-logo{width:130px;height:130px}@media(max-width:1100px) and (min-width:701px){.brand-logo{width:110px;height:110px}}@media(max-width:700px){.brand-logo{width:90px;height:90px}}

/* Black, gold, and white academy theme */
:root{--ink:#211e17;--muted:#827b6c;--line:#e8e0cf;--green:#98721e;--bg:#f8f7f3}
body{background:var(--bg)}
aside{background:#11110f;border-color:#302b1f;color:#f8f3e7}
.brand{color:#e9c467}
.studio{background:#1c1b16;border-color:#3b3423;color:#f1dc9f}
.studio small,.nav-label{color:#b5a681}
nav button{color:#c3bcad}
nav button:hover{background:#242117}
nav button.active{background:#e8c368;color:#17150e}
nav button .count{background:#393121;color:#f5d985}
nav button.active .count{background:#d5ab4c;color:#17150e}
.tip{background:#211e16;color:#e6c775}
.tip p{color:#b6aa8b}
.profile{color:#f0e7d3}
.profile small{color:#b6aa8b}
.profile i,.avatar{background:#eee0ba;color:#62490f}
header{background:#fff;border-bottom-color:var(--line);color:#80755e}
header b{color:#c4b48e}
.live-dot{background:#b58b2b}
.eyebrow{color:#94701f}
.primary{background:#171611;border-color:#171611;color:#f6d579}
.primary:hover{background:#30291a;filter:none}
.stat .icon{background:#f8efd9;color:#9b741e}
.stat p,.stat small{color:#827861}
.stat small b{color:#96701e}
.tabs{background:#f2eee4}
.tabs button{color:#83765c}
.tabs button.active{color:#755617;background:#fff;box-shadow:0 1px 4px #35260014}
.filters label{color:#9d7a2d}
.filters select{color:#65583b}
.filters button{color:#8b7444}
.weekday{background:#faf8f1;color:#94815c}
.day.out{background:#fcfbf8}
.day.out .num{color:#c8bfae}
.day .num{color:#7c6c4b}
.day.today .num{background:#171611;color:#f6d579}
.event-chip{background:#f5eedc;color:#6f571f;border-left-color:#bc9437}
.event-chip.event{background:#252117;color:#f0d487;border-left-color:#d4ab49}
.feature{background:#171611;color:#f9efd3;border:1px solid #493c20}
.pill{color:#e7c368}
.feature h2{color:#fff4d3}
.feature p{color:#c7b88f}
.feature>div:not(.rings){color:#e0c477}
.feature button{border-color:#6b5528;color:#f0d487;background:#ffffff05}
.feature-star{color:#6a5424}
.rings{border-color:#665126;box-shadow:0 0 0 24px #201d14,0 0 0 25px #493d21}
.date-box{background:#f5eedc;color:#8d6c25}
.session-row .status{background:#f5eedc;color:#7d601e}
.legend i.purple{background:#b9933c}
.legend i.orange{background:#252117}
#toast{background:#171611;color:#f5d681;border:1px solid #9b792d}
dialog::backdrop{background:#12100888}
#fields input,#fields select,#fields textarea{border-color:#ddd1b6;color:var(--ink)}
.detail p{color:#7c6b45}
.empty{color:#8b7a55}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #c99b30;outline-offset:3px}

.access{display:none;max-width:700px;margin:8vh auto;padding:32px}.signed-out>aside,.signed-out>main{display:none}.signed-out .access{display:block}.access label{display:block;margin:18px 0}.access input,#parent-url{display:block;width:100%;padding:12px;margin-top:6px}#access-error,#form-error{color:#b42318;white-space:pre-wrap}.access article{border-top:1px solid #ddd;padding:12px 0}#parent-url{box-sizing:border-box}#signout{margin-left:12px}

.class-legend{display:flex;flex-wrap:wrap;gap:9px 16px;padding:14px 20px;border-bottom:1px solid var(--line);font-size:11px;color:#5e625b;background:#fdfcf8}.class-legend[hidden]{display:none}.class-legend-title{width:100%;font-size:10px;letter-spacing:1.3px;font-weight:700;color:#777263}.class-legend>span:not(.class-legend-title){display:inline-flex;align-items:center;gap:6px}.class-legend i{width:8px;height:8px;border-radius:50%;flex-shrink:0}.event-chip.regular-class{background:var(--class-background);color:var(--class-color);border-left:3px solid var(--class-color)}.event-chip.regular-class b{white-space:normal;line-height:1.35;font-weight:700;margin-bottom:4px}.event-chip.regular-class span{display:block;line-height:1.4}.regular-class-row{border-left:3px solid var(--class-color);padding-left:12px}.class-badge{display:inline-block;padding:6px 10px;border-radius:5px;background:var(--class-background);color:var(--class-color);font-size:12px;font-weight:700}.filters{flex-wrap:wrap}@media(max-width:700px){.class-legend{padding:12px 10px;gap:8px 12px;font-size:10px}.event-chip.regular-class{padding:5px 3px;font-size:9px}.day{min-height:110px}}
