:root{--alpha: #d0a749;--alpha-light: #d5b15d;--alpha-dark: #cb9e34;--alpha-pale: #ead8ae;--beta: #0984b9;--beta-light: #0a96d1;--beta-dark: #0873a1;--beta-pale: #9edffa;--light: #eff6fb;--light-light: #fff;--light-dark: #dbecf5;--light-pale: #aed4ea;--dark: #132c3a;--dark-light: #193b4d;--dark-dark: #0c1d27;--dark-pale: #b2d4e6;--black: #000;--white: #fff;--off-white: #f2f2f2;--border: #ccc;--success: #62b51f;--warning: #e4be4c;--error: #c82727;--body-font: "Poppins", Helvetica, Arial, sans-serif;--title-font: "Poppins", Times, "Times New Roman", serif;--hero-font: "Permanent Marker", "Poppins", Helvetica;--body-color: var(--dark);--body-font-size: 62.5%;--body-line-height: 1.5;--body-bg: #fff;--link-color: var(--beta);--link-color-hover: var(--beta-dark);--input-bg: var(--white);--input-border: #132d3b;--input-focus: var(--off-white)}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:first-child{margin-top:0}:last-child{margin-bottom:0}html{color:var(--body-color);font-family:var(--body-font);font-size:var(--body-font-size);line-height:var(--body-line-height);scroll-behavior:smooth}body,html{background:var(--body-bg)}body{font-size:clamp(1.6rem,2.5vw,1.6rem);overflow-x:hidden}.wrapper,main.content{width:calc(100% - 10vw);max-width:1200px;margin:0 auto}a{color:var(--link-color);font-weight:700;text-decoration:none;transition:all .25s}a:focus,a:hover{color:var(--link-color-hover)}strong{font-weight:700}blockquote,ol,p,ul{font-weight:300;margin:2.5rem 0}h1,h2,h3,h4,h5,h6{color:var(--beta);margin:3rem 0 2.5rem;line-height:1.1;text-transform:uppercase}.h1,h1{font-size:clamp(3.2rem,5vw,3.6rem)}.h2,h2{color:var(--beta);font-size:clamp(3.2rem,5vw,4.8rem)}.h3,h3{font-size:clamp(2.8rem,5vw,3.6rem)}.h4,h4{font-size:clamp(2rem,5vw,2.4rem)}.h5,h5{font-size:clamp(1.6rem,5vw,1.8rem)}.h6,h6{font-size:clamp(1.6rem,5vw,1.6rem)}header{border-bottom:1px solid #ccc;position:relative}header .wrapper{padding:2rem 0;display:flex;justify-content:space-between;align-items:center;z-index:9}header .logo{display:inline-block;width:17rem}header .logo img{width:100%;height:auto}@media (min-width: 1024px){header .logo{width:25rem}}header .nav-trigger{width:5rem;height:5rem;border:2px solid var(--beta);background:transparent;cursor:pointer}header .nav-trigger rect{transform-origin:center;transition:all .25s;fill:var(--beta)}header .nav-trigger rect:first-child{transform:translateY(-20px)}header .nav-trigger rect:nth-child(4){transform:translateY(20px)}header .nav-trigger.active rect:where(:first-child,:nth-child(4)){transform:translateY(0) scale(0)}header .nav-trigger.active rect:nth-child(2){transform:rotate(45deg)}header .nav-trigger.active rect:nth-child(3){transform:rotate(-45deg)}@media (min-width: 768px){header .nav-trigger{margin-left:2rem}}@media (min-width: 1024px){header .nav-trigger{display:none}}@media (min-width: 768px){header .navwrap{display:flex;align-items:center}}@media (min-width: 1024px){header .navwrap{display:block}}.topnav{display:none}@media (min-width: 1024px){.topnav{display:flex;align-items:center;justify-content:flex-end;margin-bottom:2.5rem}.topnav .social{list-style:none;margin:0;padding:0;display:flex}.topnav .social li{margin:0 2rem 0 0}.topnav .social li a{color:var(--beta);font-size:2rem}.topnav .social li a:focus,.topnav .social li a:hover{color:var(--alpha)}.topnav .action{align-items:center;display:flex;gap:1rem;margin-left:1rem}}nav ul{list-style:none;margin:0;padding:0}nav li{position:relative}nav a{display:block;text-decoration:none}nav.main{background:var(--beta);box-shadow:0 4rem 4rem -4rem #00000080;display:none;position:absolute;left:0;top:120px;width:100%;z-index:999}@media (min-width: 1024px){nav.main{display:block!important;position:inherit;left:auto;top:auto;background:transparent;width:auto;box-shadow:none}}nav.main ul{font-size:1.6rem}@media (min-width: 1024px){nav.main ul{font-size:1.4rem}}@media (min-width: 1280px){nav.main ul{font-size:1.6rem}}nav.main a{color:var(--white);cursor:pointer;line-height:1.2}@media (min-width: 1024px){nav.main>ul{display:flex;justify-content:flex-end}}nav.main>ul>li{text-transform:uppercase;position:relative;border-bottom:1px solid hsla(0,0%,100%,.2);z-index:99}@media (min-width: 1024px){nav.main>ul>li{margin-left:1.5rem;position:inherit;border:none}}@media (min-width: 1280px){nav.main>ul>li{margin-left:2rem}}nav.main>ul>li>a{display:block;padding:1.2rem 2rem}nav.main>ul>li>a.active{background:var(--beta-dark)}@media (min-width: 1024px){nav.main>ul>li>a{color:var(--dark);padding:0}nav.main>ul>li>a:focus,nav.main>ul>li>a:hover{color:var(--beta)}nav.main>ul>li>a.active{background:transparent}}nav.main .social-mobile{padding:1.2rem 0}@media (min-width: 1024px){nav.main .social-mobile{display:none}}nav.main .social-mobile>ul{align-items:center;background:var(--beta);display:flex}nav.main .social-mobile>ul a{font-size:2rem;padding:0 2rem}nav.main .action-mobile{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:1.2rem 2rem;text-align:center}@media (min-width: 500px){nav.main .action-mobile{flex-direction:row}}@media (min-width: 1024px){nav.main .action-mobile{display:none}}nav.main .action-mobile a{width:100%}.button{--btn-bg: var(--alpha);--btn-border: var(--alpha);--btn-color: #fff;--btn-bg-hover: var(--alpha-dark);--btn-border-hover: var(--alpha-dark);--btn-color-hover: #fff;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;height:50px;padding:0 22px;background:var(--btn-bg);border:2px solid var(--btn-border);border-radius:0;color:var(--btn-color);font-family:var(--body-font);font-size:1.6rem;font-weight:700;line-height:28px;min-width:150px;overflow:hidden;text-decoration:none;text-transform:uppercase;transform:translateZ(0);transition:all .25s;cursor:pointer}.button:before{content:"";display:block;position:absolute;z-index:-1;top:0;bottom:0;left:0;right:0;background:var(--btn-bg-hover);opacity:0;transform:scale(0);transition:all .25s}.button:focus,.button:hover{color:var(--btn-color-hover)}.button:focus:before,.button:hover:before{opacity:1;transform:scale(1)}.button.beta{background:var(--beta);border-color:var(--beta);color:var(--white)}.button.beta:before{background:var(--beta-dark)}.button.beta:focus,.button.beta:hover{border-color:var(--beta-dark);color:#fff}.button.ghost{background:transparent;color:var(--alpha)}.button.ghost:focus,.button.ghost:hover{color:var(--white)}.button.ghost.beta{color:var(--beta)}.button.ghost.beta:focus,.button.ghost.beta:hover{color:var(--white)}.button.white{background:#fff;color:var(--beta);border-color:#fff}.button.white:before{background:var(--dark)}.button.white:focus,.button.white:hover{border-color:var(--dark);color:#fff}label,legend{display:block;margin:0 0 .5rem;font-size:1.4rem;font-weight:700}input[type=email],input[type=text],input[type=password],input[type=tel],input[type=date],select,textarea{display:flex;align-items:center;width:100%;height:5rem;margin:0;padding:0 1rem;color:var(--body-color);background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:0;font-family:var(--body-font);font-size:1.6rem;font-weight:300;outline:0;transition:all .25s}input:focus,select:focus,textarea:focus{background-color:var(--input-focus)}textarea{align-items:flex-start;min-height:16rem;padding:1.5rem 1rem}select{-webkit-appearance:none;-moz-appearance:none;appearance:none}footer{background-color:var(--dark);border-top:10px solid var(--beta);color:var(--white);padding:5rem 0 0}@media (min-width: 768px){footer{padding:10rem 0 0}}footer p{line-height:20px}footer a{color:var(--white);font-size:1.4rem}footer a:hover{color:var(--beta)}footer h6{color:var(--alpha)}footer ul{list-style:none;padding:0}footer .footer-top{align-items:center;border-bottom:2px solid hsla(0,0%,100%,.2);display:flex;flex-direction:column-reverse;gap:0 10rem;justify-content:space-between;padding-bottom:5rem}@media (min-width: 768px){footer .footer-top{flex-direction:row}}footer .footer-top p{font-size:12px}footer .footer-top .logo{margin-bottom:4rem;width:308px}footer .footer-top .logo img{width:100%;height:auto}@media (min-width: 768px){footer .footer-top .logo{margin-bottom:0}}footer .footer-mid{display:grid;grid-gap:3rem;grid-template-columns:repeat(1,1fr);margin-top:5rem}@media (min-width: 1024px){footer .footer-mid{grid-template-columns:repeat(3,1fr)}}footer .footer-mid p{font-size:1.4rem;line-height:22px;margin:0}footer .footer-mid .col ul li{align-items:flex-start;display:flex;font-weight:300;margin-bottom:1.5rem}footer .footer-mid .col ul li a{font-weight:300;text-decoration:none;word-break:break-all}footer .footer-mid .col ul li .icon{color:var(--beta);font-size:2rem;margin:0 1.5rem 0 0;width:20px}footer .footer-mid .col ul li.address{margin-bottom:2.5rem}footer .footer-mid .col ul li.address a{font-size:1.2rem;font-weight:700}footer .footer-mid .col ul li.address .icon{margin-top:2px}footer .footer-mid .col ul li.email a{word-break:break-all}footer .footer-mid .col.menu-col ul li{margin-bottom:1rem}footer .footer-mid .col.menu-col ul li a{align-items:center;display:flex;font-weight:700}footer .footer-btm{display:grid;grid-gap:3rem;grid-template-columns:repeat(1,1fr);margin-top:2.5rem;padding-bottom:5rem}@media (min-width: 1024px){footer .footer-btm{grid-template-columns:repeat(3,1fr);padding-bottom:10rem}}footer .footer-btm .social-col ul{align-items:center;display:flex;list-style:none}footer .footer-btm .social-col ul li{margin-right:3.5rem}footer .footer-btm .social-col ul li a{color:var(--alpha);font-size:3.2rem}footer .footer-btm .social-col ul li a:hover{color:var(--beta)}footer .footer-btm .action-col{align-items:center;display:flex;gap:1rem;grid-column:1;text-align:center}@media (min-width: 1024px){footer .footer-btm .action-col{grid-column:3}}footer .footer-btm .action-col .button{font-weight:400;line-height:1.2}footer .credits{background-color:var(--white);color:var(--dark);font-size:1.4rem;padding:3rem 0}footer .credits .wrapper{align-items:flex-start;display:flex;flex-direction:column;gap:2rem;justify-content:space-between}@media (min-width: 768px){footer .credits .wrapper{align-items:center;flex-direction:row}}footer .credits a{color:var(--beta);text-decoration:none}footer .credits a:hover{color:var(--dark)}footer .credits p span{margin:0 1rem}footer .credits .mm-col a{color:var(--dark);font-weight:300}.skip-to-content{position:absolute;z-index:99999;top:0;left:5px;transform:translateY(-500%)}.skip-to-content:focus{transform:translateY(0)}img{display:block;max-width:100%}.dancer-icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;fill:currentColor}.dancer-icon-lg{width:4rem;height:4rem}.dancer-icon-hero{width:3rem;height:3rem}.user-greeting{display:inline-flex;align-items:center;gap:.6rem;font-size:1.3rem;font-weight:700;color:var(--dark);white-space:nowrap}.user-greeting i{font-size:1.6rem;color:var(--beta)}.user-greeting .greeting-student{font-weight:400;color:var(--alpha-dark);font-size:1.2rem}.user-greeting .greeting-link{display:inline-flex;align-items:center;gap:.6rem;color:var(--dark);text-decoration:none;transition:color .2s}.user-greeting .greeting-link:hover{color:var(--beta)}.user-greeting .greeting-link i{font-size:1.6rem;color:var(--beta)}nav.main .action-mobile .user-greeting{color:var(--white);font-size:1.4rem;padding:.5rem 0;justify-content:center;width:100%}nav.main .action-mobile .user-greeting i{color:var(--alpha)}nav.main .action-mobile .user-greeting .greeting-link{color:var(--white);text-decoration:none}nav.main .action-mobile .user-greeting .greeting-link i{color:var(--alpha)}nav.main .action-mobile .user-greeting .greeting-student{color:var(--alpha-pale)}main#content{padding:clamp(5rem,10vw,10rem) 0;min-height:60vh}#app{width:calc(100% - 10vw);max-width:1200px;margin:0 auto}.booking-hero{text-align:center;margin-bottom:5rem}.booking-hero h1{font-family:var(--hero-font);font-weight:400;font-size:clamp(4rem,5vw,7rem);margin:0 0 2rem}.booking-hero p{font-size:clamp(1.6rem,2.5vw,2rem);max-width:700px;margin:0 auto}.booking-steps{display:flex;justify-content:center;gap:1rem;margin-bottom:4rem;flex-wrap:wrap}.booking-step{display:flex;align-items:center;gap:.8rem;font-size:1.4rem;font-weight:700;text-transform:uppercase;color:var(--border);transition:color .3s}.booking-step.active{color:var(--beta)}.booking-step.completed{color:var(--success)}.booking-step .step-num{width:3.6rem;height:3.6rem;border-radius:50%;border:2px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:1.6rem}.booking-step.active .step-num{background:var(--beta);color:var(--white);border-color:var(--beta)}.booking-step.completed .step-num{background:var(--success);color:var(--white);border-color:var(--success)}.step-arrow{color:var(--border);font-size:1.4rem}.location-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:3rem;margin-bottom:4rem}.location-card{background:var(--light);padding:4rem 3rem;text-align:center;cursor:pointer;transition:all .3s;border:2px solid transparent;position:relative;width:320px;max-width:100%}.location-card:hover{border-color:var(--beta);transform:translateY(-3px);box-shadow:0 8px 20px #0000001a}.location-card .icon{font-size:4rem;color:var(--alpha);margin-bottom:1.5rem}.location-card h3{margin:0 0 1rem;font-size:2.4rem;font-family:Permanent Marker,cursive;color:var(--dark)}.location-card .location-address{font-size:1.4rem;color:var(--dark-light);margin:0 0 .5rem}.location-card .location-phone{font-size:1.3rem;color:var(--dark-light);margin:0}.location-card .location-phone i{margin-right:.4rem}.discipline-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2.5rem;margin-bottom:4rem}.discipline-card{background:var(--light);padding:3rem 2.5rem;text-align:center;cursor:pointer;transition:all .3s;border:2px solid transparent;position:relative}.discipline-card:hover{border-color:var(--beta);transform:translateY(-3px);box-shadow:0 8px 20px #0000001a}.discipline-card.selected{border-color:var(--beta);background:var(--light-dark)}.discipline-card.unavailable{opacity:.4;cursor:not-allowed;pointer-events:none}.discipline-card .icon{font-size:4rem;color:var(--alpha);margin-bottom:1.5rem}.discipline-card h4{margin:1rem 0;font-size:2rem}.discipline-card p{font-size:1.4rem;margin:0;color:var(--dark-light)}.discipline-card .badge{position:absolute;top:1rem;right:1rem;background:var(--beta);color:var(--white);font-size:1.1rem;padding:.3rem .8rem;font-weight:700;text-transform:uppercase}.discipline-card.unavailable .badge{background:var(--border)}.featured-teachers{margin-bottom:4rem;padding:3rem 0}.featured-heading{text-align:center;font-size:2.6rem;margin:0 0 .5rem}.featured-subheading{text-align:center;color:var(--dark-light);font-size:1.4rem;margin:0 0 3rem}.featured-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2.5rem}.featured-card{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #00000014;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}.featured-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.featured-headshot{width:100%;aspect-ratio:1;overflow:hidden;background:linear-gradient(135deg,var(--beta-pale),var(--light-dark))}.featured-headshot img{width:100%;height:100%;object-fit:cover;display:block}.featured-logo-bar{padding:2rem 2rem 0;text-align:center}.featured-logo-bar img{height:4.5rem;width:auto;opacity:1}.avatar .avatar-icon{font-size:3.2rem;color:var(--beta);opacity:.45}.featured-headshot.no-photo-placeholder{display:flex;align-items:center;justify-content:center}.featured-headshot.no-photo-placeholder i{font-size:6rem;color:var(--beta);opacity:.35}.featured-info{padding:2rem;flex:1;display:flex;flex-direction:column;gap:.8rem}.featured-info h3{margin:0;font-size:2rem;color:var(--dark)}.featured-disciplines{display:flex;flex-wrap:wrap;gap:.5rem}.featured-discipline-tag{display:inline-block;background:var(--alpha);color:var(--white);padding:.25rem .8rem;border-radius:2rem;font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.featured-locations{display:flex;flex-wrap:wrap;gap:.5rem}.featured-location-tag{display:inline-flex;align-items:center;gap:.3rem;font-size:1.15rem;color:var(--beta);font-weight:600}.featured-location-tag i{font-size:1rem}.featured-credentials{display:flex;flex-direction:column;gap:.3rem}.featured-credential{font-size:1.1rem;color:var(--dark-light)}.featured-credential i{color:var(--alpha);margin-right:.3rem;font-size:1rem}.featured-bio{font-size:1.25rem;color:var(--dark-light);font-style:italic;margin:0;line-height:1.5}.featured-rates{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}.featured-rate-tag{font-size:1.1rem;font-weight:600;color:var(--beta);background:var(--beta-pale);border-radius:2rem;padding:.25rem .8rem}.featured-rate-tag i{margin-right:.3rem}.featured-rate-tag.semi{color:var(--alpha);background:var(--alpha-pale)}.teacher-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:3rem;margin-bottom:4rem}.teacher-card{display:flex;gap:2rem;background:var(--light);padding:2.5rem;cursor:pointer;transition:all .3s;border:2px solid transparent}.teacher-card:hover{border-color:var(--beta);transform:translateY(-2px);box-shadow:0 8px 20px #0000001a}.teacher-card.selected{border-color:var(--beta);background:var(--light-dark)}.teacher-card.unavailable{opacity:.4;cursor:not-allowed;pointer-events:none}.teacher-card .avatar{width:8rem;height:8rem;border-radius:50%;background:var(--beta-pale);display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--beta);flex-shrink:0}.teacher-card .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.teacher-card .info h4{margin:0 0 .5rem}.teacher-card .info .disciplines-list{font-size:1.3rem;color:var(--alpha);font-weight:700;margin:0 0 1rem}.teacher-card .info p{font-size:1.4rem;margin:0}.teacher-card .info .teacher-bio-text{color:var(--dark-light);font-style:italic;margin-top:.8rem}.teacher-credentials{list-style:none;padding:0;margin:.8rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem}.teacher-credentials li{display:inline-flex;align-items:center;gap:.4rem;background:var(--light);border:1px solid var(--border);border-radius:2rem;padding:.3rem 1rem;font-size:1.2rem;font-weight:600;color:var(--dark)}.teacher-credentials li i{color:var(--alpha);font-size:1.1rem}.date-picker-row{display:flex;align-items:center;gap:2rem;margin-bottom:3rem;flex-wrap:wrap}.date-picker-row label{font-size:1.6rem}.date-picker-row input[type=date]{max-width:250px}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1.5rem;margin-bottom:4rem}.slot{padding:1.5rem 1rem;text-align:center;border:2px solid var(--beta);cursor:pointer;transition:all .3s;font-weight:700;font-size:1.4rem}.slot:hover,.slot.selected{background:var(--beta);color:var(--white)}.slot.unavailable{border-color:var(--border);color:var(--border);cursor:not-allowed;pointer-events:none;text-decoration:line-through;position:relative;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding-bottom:.6rem}.slot.unavailable:has(.slot-watch-btn){pointer-events:auto;cursor:default;text-decoration:none}.slot-time-label{text-decoration:line-through;color:var(--border);font-size:1.3rem}.slot-watch-btn{pointer-events:auto;display:inline-flex;align-items:center;gap:.3rem;font-size:1.1rem;padding:.3rem .8rem;border-radius:2rem;border:1.5px solid var(--border);background:var(--white);color:var(--text-muted, #888);cursor:pointer;transition:border-color .15s,color .15s,background .15s;white-space:nowrap}.slot-watch-btn:hover{border-color:var(--beta);color:var(--beta)}.slot-watch-btn.watching{border-color:var(--beta);color:var(--beta);background:var(--beta-light, #eef4ff)}.slot.semi-private-join{border-color:#27ae60;color:#27ae60;cursor:pointer;pointer-events:auto;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding-bottom:.8rem;position:relative}.slot.semi-private-join:hover{background:#27ae60;color:var(--white)}.slot.semi-private-join .slot-join-label{font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;opacity:.85}.slot-join-confirm{grid-column:1 / -1;background:#f0faf4;border:2px solid #27ae60;border-radius:8px;padding:2rem;margin-top:.5rem}.slot-join-confirm h4{margin:0 0 .8rem;color:#27ae60;font-size:1.6rem}.slot-join-confirm p{margin:.4rem 0;font-size:1.4rem}.slot-join-confirm .join-actions{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.booking-summary{background:var(--light);padding:3rem;margin-bottom:4rem}.booking-summary h3{margin-top:0}.booking-summary .summary-row{display:flex;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--border);font-size:1.6rem}.booking-summary .summary-row:last-child{border-bottom:none}.booking-summary .summary-row .label{font-weight:700;color:var(--dark)}.booking-summary .summary-row .value{color:var(--dark-light)}.booking-summary .total-row{font-size:2rem;color:var(--alpha);font-weight:700}.student-picker{padding:.6rem 1.2rem;font-size:1.5rem;font-weight:600;border:2px solid var(--beta);border-radius:.6rem;color:var(--dark);background:#fff;cursor:pointer;min-width:180px}.student-picker:focus{outline:none;border-color:var(--alpha);box-shadow:0 0 0 3px #d0a74933}.multi-date-section{margin-top:2rem;padding:2rem;background:var(--bg-alt, #f8f9fa);border:2px solid var(--border, #e0e0e0);border-radius:1rem}.multi-date-toggle{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.toggle-label{display:flex;align-items:center;gap:.8rem;font-size:1.6rem;font-weight:700;cursor:pointer;color:var(--dark)}.toggle-label input[type=checkbox]{width:2rem;height:2rem;cursor:pointer;accent-color:var(--beta)}.toggle-text{display:flex;align-items:center;gap:.6rem}.toggle-text i{color:var(--beta)}.multi-date-hint{font-size:1.3rem;color:var(--dark-light)}#multi-date-config{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border, #e0e0e0)}.multi-date-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}@media (max-width: 700px){.multi-date-layout{grid-template-columns:1fr}}.multi-date-calendar-wrap{background:#fff;border-radius:.8rem;padding:1.5rem;border:1px solid var(--border, #e0e0e0)}.multi-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.multi-cal-month{font-size:1.5rem;font-weight:700;color:var(--dark)}.multi-cal-arrow{background:none;border:1px solid var(--border, #ddd);border-radius:6px;width:3.2rem;height:3.2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--dark);transition:background .15s}.multi-cal-arrow:hover{background:var(--bg-alt, #f0f0f0)}.multi-cal-header{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}.multi-cal-day-header{text-align:center;font-size:1.1rem;font-weight:600;color:var(--dark-light);padding:.4rem 0}.multi-cal-body{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.multi-cal-cell{text-align:center;padding:.6rem .3rem;border-radius:6px;font-size:1.3rem;font-weight:500;cursor:default;transition:all .15s;-webkit-user-select:none;user-select:none}.multi-cal-cell.empty{visibility:hidden}.multi-cal-cell.past,.multi-cal-cell.unavailable{color:#ccc;cursor:default}.multi-cal-cell.available{background:#0984b914;color:var(--beta);cursor:pointer;font-weight:600}.multi-cal-cell.available:hover{background:#0984b92e}.multi-cal-cell.selected{background:var(--beta);color:#fff;cursor:pointer;font-weight:700}.multi-cal-cell.selected:hover{background:var(--beta-dark, #077aa6)}.multi-cal-cell.primary{background:var(--alpha);color:#fff;font-weight:700;cursor:default}.multi-cal-cell.primary:hover{background:var(--alpha)}.multi-cal-legend{display:flex;gap:1.2rem;margin-top:1rem;font-size:1.1rem;color:var(--dark-light);flex-wrap:wrap}.legend-dot{display:inline-block;width:1.2rem;height:1.2rem;border-radius:3px;vertical-align:middle;margin-right:.3rem}.legend-dot.available{background:#0984b933}.legend-dot.selected{background:var(--beta)}.legend-dot.unavailable{background:#eee}.multi-date-selection{background:#fff;border-radius:.8rem;padding:1.5rem;border:1px solid var(--border, #e0e0e0)}.multi-date-selection h4{font-size:1.4rem;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.multi-date-count{display:inline-flex;align-items:center;justify-content:center;background:var(--beta);color:#fff;width:2.2rem;height:2.2rem;border-radius:50%;font-size:1.2rem;font-weight:700}.multi-date-list{list-style:none;padding:0;margin:0;max-height:25rem;overflow-y:auto}.multi-date-item{display:flex;align-items:center;justify-content:space-between;padding:.7rem .8rem;border-radius:6px;font-size:1.25rem;border-bottom:1px solid var(--border, #eee)}.multi-date-item:last-child{border-bottom:none}.multi-date-item.primary-date{background:#d0a74914;font-weight:600}.multi-date-badge{font-size:1rem;background:var(--alpha);color:#fff;padding:.15rem .6rem;border-radius:4px;font-weight:600}.multi-date-remove{background:none;border:none;color:var(--error, #c82727);cursor:pointer;font-size:1.2rem;padding:.3rem .5rem;border-radius:4px;transition:background .15s}.multi-date-remove:hover{background:#c827271a}.multi-date-total{margin-top:1.2rem;padding-top:1rem;border-top:2px solid var(--border, #e0e0e0);font-size:1.6rem;color:var(--alpha);text-align:right}.modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;z-index:9999;align-items:center;justify-content:center;padding:1.6rem;overflow-y:auto}.modal-overlay.active{display:flex}.modal{background:var(--white);padding:4rem 3rem;max-width:480px;width:100%;position:relative;max-height:90vh;overflow-y:auto;border-radius:8px;margin:auto}.modal-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;font-size:2.4rem;cursor:pointer;color:var(--dark);padding:0}.modal h3{margin-top:0}.modal .input-wrap{margin-bottom:2rem}.modal .input-wrap label{margin-bottom:.8rem}.modal .form-toggle{text-align:center;font-size:1.4rem;margin-top:2rem}@media (max-width: 500px){.modal{padding:3rem 2rem;max-height:95vh}.modal-overlay{padding:.8rem;align-items:flex-start}}.bookings-list{display:flex;flex-direction:column;gap:2rem}.booking-item{display:flex;justify-content:space-between;align-items:center;background:var(--light);padding:2.5rem;flex-wrap:wrap;gap:1.5rem}.booking-item .details h4{margin:0 0 .5rem;font-size:1.8rem}.booking-item .details p{margin:0;font-size:1.4rem;color:var(--dark-light)}.booking-item .actions{display:flex;gap:1rem;flex-wrap:wrap}.booking-item .status{display:inline-block;padding:.3rem 1rem;font-size:1.2rem;font-weight:700;text-transform:uppercase}.booking-item .status.confirmed{background:var(--success);color:var(--white)}.booking-item .status.pending{background:var(--warning);color:var(--dark)}.booking-item .status.cancelled{background:var(--error);color:var(--white)}.booking-rows{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden}.booking-row{display:grid;grid-template-columns:7rem 1fr auto;align-items:center;gap:1.5rem;padding:1.4rem 1.8rem;background:var(--white);border-bottom:1px solid var(--border);transition:background .15s}.booking-row:last-child{border-bottom:none}.booking-row:hover{background:#f9f7f3}.booking-row--cancelled{opacity:.55}.booking-row--window{border-left:3px solid var(--warning)}.booking-row__date{display:flex;flex-direction:column;align-items:center;text-align:center;flex-shrink:0}.booking-row__dayname{font-size:1.1rem;font-weight:700;text-transform:uppercase;color:var(--dark-light);letter-spacing:.05em}.booking-row__datenum{font-size:1.6rem;font-weight:800;color:var(--dark);line-height:1.2}.booking-row__year{font-size:1.1rem;color:var(--dark-light)}.booking-row__info{min-width:0}.booking-row__title{font-size:1.5rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.3rem}.booking-row__meta{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;font-size:1.25rem;color:var(--dark-light)}.booking-row__badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.booking-row__badges .status{display:inline-block;padding:.2rem .8rem;font-size:1.1rem;font-weight:700;text-transform:uppercase;border-radius:4px}.booking-row__badges .status.confirmed{background:var(--success);color:#fff}.booking-row__badges .status.pending{background:var(--warning);color:var(--dark)}.booking-row__badges .status.cancelled{background:var(--error);color:#fff}.booking-row__actions{display:flex;gap:.5rem;flex-shrink:0;align-items:center}.booking-row__actions .icon-expand-btn{display:inline-flex;align-items:center;gap:0;overflow:hidden;white-space:nowrap;transition:gap .2s ease,padding-left .2s ease,padding-right .2s ease}.booking-row__actions .icon-expand-btn .btn-label{max-width:0;overflow:hidden;font-size:1.1rem;font-weight:600;opacity:0;transition:max-width .25s ease,opacity .2s ease,margin-left .2s ease;margin-left:0}.booking-row__actions .icon-expand-btn:hover .btn-label,.booking-row__actions .icon-expand-btn:focus .btn-label{max-width:180px;opacity:1;margin-left:.45rem}@media (max-width: 600px){.booking-row{grid-template-columns:5.5rem 1fr;grid-template-rows:auto auto}.booking-row__actions{grid-column:1 / -1;justify-content:flex-end}.booking-row__title{font-size:1.4rem}}.cal-add-buttons{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.cal-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem 1rem;border-radius:6px;font-size:1.15rem;font-weight:600;text-decoration:none;transition:all .2s ease;border:1.5px solid;cursor:pointer}.cal-btn svg,.cal-btn i{flex-shrink:0}.cal-btn-google{color:#4285f4;border-color:#4285f4;background:#4285f40f}.cal-btn-google:hover{background:#4285f426;color:#1a73e8}.cal-btn-apple{color:#333;border-color:#999;background:#00000008}.cal-btn-apple:hover{background:#0000001a;color:#000}.cal-btn-apple i{font-size:1.4rem}.notify-toggle-btn{color:var(--dark-light);border-color:var(--border);transition:color .2s,border-color .2s,background .2s}.notify-toggle-btn:hover{color:var(--beta);border-color:var(--beta)}.notify-toggle-btn.notify-on{color:var(--beta);border-color:var(--beta);background:color-mix(in srgb,var(--beta) 8%,transparent)}.alert{padding:1.5rem 2rem;margin-bottom:2rem;font-size:1.4rem;font-weight:700}.alert.success{background:var(--success);color:var(--white)}.alert.error{background:var(--error);color:var(--white)}.alert.info{background:var(--beta-pale);color:var(--dark)}.alert.warning{background:var(--warning);color:var(--dark)}.waitlist-banner{background:var(--alpha-pale);padding:3rem;text-align:center;margin:4rem 0}.waitlist-banner h4{color:var(--dark);margin:0 0 1rem}.waitlist-banner p{margin:0 0 2rem;font-size:1.4rem}.loading{text-align:center;padding:5rem;color:var(--beta);font-size:1.8rem}.loading .spinner{display:inline-block;width:4rem;height:4rem;border:4px solid var(--beta-pale);border-top-color:var(--beta);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:2rem}@keyframes spin{to{transform:rotate(360deg)}}.section-header{margin-bottom:3rem}.section-header h2{margin-bottom:1rem}.section-header .back-link{font-size:1.4rem;cursor:pointer}.section-header .back-link i{margin-right:.5rem}.account-page{max-width:900px;margin:0 auto}.account-header{margin-bottom:2rem}.account-header h2{font-family:var(--hero-font);font-weight:400;font-size:clamp(2.5rem,4vw,3.5rem);margin:0}.account-tabs{display:flex;gap:0;border-bottom:2px solid var(--light-dark);margin-bottom:2rem}.account-tab{padding:1rem 2rem;background:none;border:none;font-size:1.4rem;font-weight:600;color:var(--dark-light);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s;display:flex;align-items:center;gap:.5rem}.account-tab:hover{color:var(--beta)}.account-tab.active{color:var(--beta);border-bottom-color:var(--beta)}.account-tab i{font-size:1.3rem}.account-card{background:var(--white);border:1px solid var(--light-dark);border-radius:1rem;padding:2rem}.account-card h3{font-size:1.8rem;margin-bottom:1rem}.student-row{padding:1rem 1.5rem;border-bottom:1px solid var(--light)}.student-row:last-child{border-bottom:none}.student-row__view{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.student-name{font-size:1.5rem;font-weight:600;color:var(--dark)}.student-row__edit input,.student-row__edit select{font-size:1.3rem}@media (max-width: 600px){.account-tabs{overflow-x:auto}.account-tab{padding:.8rem 1.2rem;font-size:1.2rem;white-space:nowrap}.account-card{padding:1.5rem}}.reset-password-page{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:4rem 2rem}.reset-card{background:#fff;border-radius:1.2rem;box-shadow:0 2px 20px #00000014;padding:4rem 3rem;max-width:46rem;width:100%;text-align:center}.reset-card h2{font-family:var(--heading-font, "Permanent Marker", cursive);font-size:2.4rem;color:var(--dark);margin-bottom:.5rem}.reset-card p{font-size:1.4rem;color:var(--dark-light);margin-bottom:1rem}.reset-card .input-wrap{text-align:left;margin-bottom:1.5rem}.reset-card .input-wrap label{display:block;font-size:1.2rem;font-weight:600;margin-bottom:.4rem;color:var(--dark)}.reset-card .input-wrap input{width:100%;padding:1rem 1.2rem;border:1px solid #ddd;border-radius:.6rem;font-size:1.4rem;transition:border-color .2s}.reset-card .input-wrap input:focus{outline:none;border-color:var(--beta)}.reset-card .alert{padding:1rem;border-radius:.6rem;font-size:1.3rem;margin-bottom:1.5rem}.reset-card .alert.error{background:#ffeaea;color:#c0392b}.reset-card .alert.success{background:#eafff0;color:#27ae60}.schedule-calendar{padding:4rem 2rem;max-width:120rem;margin:0 auto}.schedule-heading{font-family:var(--heading-font, "Permanent Marker", cursive);font-size:2.4rem;color:var(--dark);margin-bottom:.5rem;text-align:center}.schedule-subheading{text-align:center;color:var(--dark-light);font-size:1.4rem;margin-bottom:2.5rem}.schedule-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem}.schedule-location-tabs{display:flex;gap:.5rem}.schedule-loc-btn{padding:.8rem 1.8rem;border:2px solid var(--beta);border-radius:3rem;background:transparent;color:var(--beta);font-weight:700;font-size:1.3rem;cursor:pointer;transition:all .2s}.schedule-loc-btn.active,.schedule-loc-btn:hover{background:var(--beta);color:#fff}.schedule-nav{display:flex;align-items:center;gap:1rem}.schedule-nav-btn{width:3.6rem;height:3.6rem;border:2px solid var(--border);border-radius:50%;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:1.4rem;color:var(--dark)}.schedule-table-wrap{overflow-x:auto;border-radius:.8rem;border:1px solid #e0e0e0}.schedule-table{width:100%;border-collapse:collapse;font-size:1.3rem}.schedule-table thead th{background:var(--dark);color:#fff;text-align:left;padding:1rem 1.4rem;font-weight:700;font-size:1.2rem;text-transform:uppercase;letter-spacing:.04em}.schedule-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .15s}.schedule-table tbody tr:last-child{border-bottom:none}.schedule-table tbody tr:hover{background:#f7fbff}.sched-row--watched{background:#fdf8ec!important}.schedule-table td{padding:1rem 1.4rem;color:var(--dark);vertical-align:middle}.schedule-empty{text-align:center;padding:4rem 2rem;color:var(--dark-light);font-size:1.4rem}.schedule-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--dark);color:#fff;padding:1.2rem 2.4rem;border-radius:3rem;font-size:1.3rem;font-weight:600;z-index:9999;animation:toastIn .3s ease;box-shadow:0 4px 20px #00000040}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 768px){.schedule-controls{flex-direction:column;align-items:stretch}.schedule-location-tabs{justify-content:center}}.card-on-file-section{background:#fff;border:1px solid #e0e0e0;border-radius:1rem;padding:2rem}.payment-choice{display:flex;align-items:center;gap:1.2rem;border:2px solid #e0e0e0;border-radius:.8rem;padding:1.2rem 1.4rem;margin-bottom:.8rem;cursor:pointer;transition:border-color .2s,background .2s;background:#fafafa}.payment-choice input[type=radio]{width:1.8rem;height:1.8rem;accent-color:var(--beta);flex-shrink:0}.payment-choice.selected{border-color:var(--beta);background:#f0f8ff}.payment-choice__icon{font-size:1.8rem;color:var(--beta);width:2.4rem;text-align:center}.payment-choice__label{flex:1;display:flex;flex-direction:column;gap:.2rem;font-size:1.4rem}.payment-choice__badge{background:var(--success, #27ae60);color:#fff;font-size:1.05rem;font-weight:700;padding:.2rem .7rem;border-radius:2rem;letter-spacing:.03em}.teacher-profile-booking{max-width:90rem;margin:0 auto;padding:3rem 2rem}.teacher-profile-booking>.back-link{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:2.5rem;font-size:1.4rem;color:var(--beta);text-decoration:none;font-weight:600}.teacher-profile-booking>.back-link:hover{text-decoration:underline}.tp-header{display:flex;gap:3rem;align-items:flex-start;margin-bottom:4rem;padding-bottom:3rem;border-bottom:1px solid var(--light-dark)}.tp-avatar{width:16rem;height:16rem;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--beta-pale);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0000001a}.tp-avatar img{width:100%;height:100%;object-fit:cover}.tp-avatar .avatar-icon{font-size:6rem;color:var(--beta);opacity:.4}.tp-info{flex:1}.tp-info h1{margin:0 0 1rem;font-size:3.2rem;color:var(--dark)}.tp-disciplines{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}.tp-credentials{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-bottom:1rem}.tp-credentials .featured-credential{font-size:1.5rem}.tp-credentials .featured-credential i{font-size:1.4rem}.tp-bio{font-size:1.5rem;color:var(--dark-light);font-style:italic;line-height:1.6;margin:0;max-width:60rem}.tp-booking-section h2{font-size:2.4rem;margin:0 0 2rem}.tp-filters{display:flex;flex-wrap:wrap;gap:2rem;align-items:flex-end;margin-bottom:3rem;padding:2rem;background:var(--light);border-radius:12px}.tp-filter-group{display:flex;flex-direction:column;gap:.6rem}.tp-filter-group label{font-size:1.3rem;color:var(--dark-light)}.tp-pill-row{display:flex;flex-wrap:wrap;gap:.5rem}.tp-pill{padding:.6rem 1.4rem;border:2px solid var(--light-dark);border-radius:2rem;background:var(--white);color:var(--dark);font-size:1.3rem;font-weight:600;cursor:pointer;transition:all .2s}.tp-pill:hover{border-color:var(--beta);color:var(--beta)}.tp-pill.active{background:var(--beta);border-color:var(--beta);color:var(--white)}.tp-date-input{padding:.6rem 1.2rem;border:2px solid var(--light-dark);border-radius:8px;font-size:1.4rem;font-family:inherit;color:var(--dark);background:var(--white)}.tp-day-list-wrap{margin-top:1.5rem}.tp-day-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;font-size:1.4rem}.tp-day-list{display:flex;gap:.8rem;overflow-x:auto;padding-bottom:1rem;scrollbar-width:thin}.tp-day-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-width:6.5rem;padding:1rem .8rem;border:2px solid #e0e0e0;border-radius:1rem;background:#fafafa;cursor:pointer;transition:all .18s;flex-shrink:0}.tp-day-btn:hover{border-color:var(--beta);background:#f0f8ff}.tp-day-btn.active{border-color:var(--beta);background:var(--beta);color:#fff}.tp-day-btn__day{font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.75}.tp-day-btn.active .tp-day-btn__day{opacity:1}.tp-day-btn__date{font-size:1.5rem;font-weight:800;line-height:1.1}.tp-day-btn__year{font-size:1rem;opacity:.6}.tp-rate{margin-bottom:2rem;font-weight:700;font-size:1.5rem}.tp-rate span{color:var(--alpha)}a.featured-card{text-decoration:none;color:inherit;cursor:pointer}a.featured-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}@media (max-width: 768px){.tp-header{flex-direction:column;align-items:center;text-align:center;gap:2rem}.tp-avatar{width:12rem;height:12rem}.tp-info h1{font-size:2.4rem}.tp-disciplines,.tp-credentials{justify-content:center}.tp-bio{text-align:center}.tp-filters{flex-direction:column;align-items:stretch}}.terms-page{max-width:80rem;margin:0 auto;padding:3rem 2rem 6rem;line-height:1.7}.terms-page>.back-link{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:2rem;font-size:1.4rem;color:var(--beta);text-decoration:none;font-weight:600}.terms-page>.back-link:hover{text-decoration:underline}.terms-page h1{font-size:3.2rem;color:var(--dark);margin:0 0 .5rem}.terms-page .terms-updated{color:var(--dark-light);margin-bottom:3rem;font-size:1.4rem}.terms-page h2{font-size:2rem;color:var(--dark);margin:3rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--light-dark)}.terms-page p,.terms-page li{font-size:1.5rem;color:var(--dark-light)}.terms-page ul{padding-left:2.5rem;margin:1rem 0}.terms-page ul li{margin-bottom:.5rem}.terms-page a{color:var(--beta)}.terms-page a:hover{text-decoration:underline}.gcal-connected p,.gcal-disconnected p{margin:.3rem 0}.gcal-cal-name{font-size:.95rem;margin-top:.5rem!important}.gcal-calendar-options{display:flex;flex-direction:column;gap:.5rem}.gcal-calendar-option{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:2px solid var(--gray-200, #e5e7eb);border-radius:8px;cursor:pointer;transition:border-color .2s,background .2s}.gcal-calendar-option:hover{border-color:var(--beta);background:var(--beta-light, rgba(9, 132, 185, .05))}.gcal-calendar-option.selected,.gcal-calendar-option:has(input:checked){border-color:var(--beta);background:var(--beta-light, rgba(9, 132, 185, .08))}.gcal-calendar-option input[type=radio]{accent-color:var(--beta);width:18px;height:18px;flex-shrink:0}.gcal-cal-info{display:flex;flex-direction:column;gap:.15rem}.gcal-cal-info strong{font-size:.95rem}.gcal-cal-info small{color:var(--dark-light, #6b7280);font-size:.8rem}.rehearsal-promo{margin:4rem 0}.rehearsal-promo-card{display:flex;align-items:center;gap:2.5rem;background:linear-gradient(135deg,var(--dark) 0%,#1a3d50 100%);color:#fff;border-radius:16px;padding:3rem;text-decoration:none;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 20px #00000026}.rehearsal-promo-card:hover{transform:translateY(-3px);box-shadow:0 8px 30px #00000040}.rehearsal-promo-icon{width:8rem;height:8rem;border-radius:50%;background:#d0a74933;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rehearsal-promo-icon i{font-size:3.2rem;color:var(--alpha)}.rehearsal-promo-info h3{margin:0 0 .8rem;font-size:2.2rem;color:#fff}.rehearsal-promo-info p{margin:0 0 1.2rem;color:#ffffffbf;font-size:1.5rem;line-height:1.5}.rehearsal-promo-locations{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.2rem}.rehearsal-promo-cta{display:inline-flex;align-items:center;gap:.5rem;color:var(--alpha);font-weight:700;font-size:1.5rem}@media (max-width: 640px){.rehearsal-promo-card{flex-direction:column;text-align:center;padding:2.5rem 2rem;gap:1.5rem}.rehearsal-promo-locations{justify-content:center}}.rehearsal-page{max-width:90rem;margin:0 auto;padding:2rem 0}.rehearsal-hero{text-align:center;margin-bottom:4rem}.rehearsal-hero-icon{width:8rem;height:8rem;border-radius:50%;background:linear-gradient(135deg,var(--alpha),#b88a2e);display:flex;align-items:center;justify-content:center;margin:0 auto 2rem}.rehearsal-hero-icon i{font-size:3.5rem;color:#fff}.rehearsal-hero h1{font-size:3.2rem;color:var(--dark);margin:0 0 1rem}.rehearsal-hero p{font-size:1.6rem;color:var(--dark-light);max-width:60rem;margin:0 auto}.rehearsal-filters{display:flex;gap:2rem;flex-wrap:wrap;align-items:flex-end;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--light-dark)}.rehearsal-studio-group{margin-bottom:3rem}.rehearsal-studio-group h3{margin:0 0 1.5rem;font-size:1.8rem;color:var(--dark)}.rehearsal-confirm-card{background:var(--light);border:2px solid var(--beta);border-radius:12px;padding:2.5rem;margin-top:3rem;max-width:50rem}.rehearsal-confirm-card h3{margin:0 0 1.5rem;font-size:1.8rem}.rehearsal-confirm-card p{margin:.5rem 0;font-size:1.5rem}.slot .slot-duration{display:block;font-size:1.1rem;color:var(--dark-light);margin-top:.2rem}.gcal-cal-info .badge-info{display:inline-block;font-size:.7rem;padding:.1rem .5rem;border-radius:4px;background:var(--beta);color:#fff;font-weight:600;width:fit-content}.crop-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s ease}.crop-modal{background:#fff;border-radius:16px;max-width:540px;width:100%;overflow:hidden;box-shadow:0 20px 60px #0006}.crop-modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.crop-modal-header h3{margin:0;font-size:1.15rem}.crop-modal-close{background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--dark-light);padding:.25rem;line-height:1}.crop-modal-close:hover{color:var(--error)}.crop-modal-body{padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.crop-container{width:100%;max-height:380px;background:#1a1a1a;border-radius:8px;overflow:hidden}.crop-container img{display:block;max-width:100%}.crop-controls{display:flex;align-items:center;gap:1rem;width:100%}.crop-controls i{color:var(--dark-light);font-size:.9rem;flex-shrink:0}.crop-zoom-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:3px;background:var(--border);outline:none}.crop-zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--beta);cursor:pointer;border:2px solid #fff;box-shadow:0 1px 4px #0000004d}.crop-zoom-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--beta);cursor:pointer;border:2px solid #fff;box-shadow:0 1px 4px #0000004d}.crop-hint{font-size:.85rem;color:var(--dark-light);text-align:center}.crop-modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:.75rem}.crop-modal-footer .button{margin:0}@media (max-width: 500px){.crop-container{max-height:280px}.crop-modal{border-radius:12px}}.admin-layout{display:grid;grid-template-columns:240px 1fr;gap:3rem;min-height:60vh}@media (max-width: 768px){.admin-layout{grid-template-columns:1fr;gap:2rem}}.admin-sidebar{background:var(--dark);padding:2.5rem 2rem;border-radius:0;position:sticky;top:2rem;align-self:start}.admin-sidebar h3{color:var(--alpha);font-size:1.6rem;margin:0 0 2rem;text-transform:uppercase;letter-spacing:.05em}.admin-sidebar h3 i{margin-right:.8rem}.admin-nav{display:flex;flex-direction:column;gap:.3rem}.admin-nav-link{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;color:var(--white);font-size:1.4rem;font-weight:400;text-decoration:none;transition:all .2s}.admin-nav-link:hover{background:var(--dark-light);color:var(--alpha)}.admin-nav-link.active{background:var(--beta);color:var(--white);font-weight:700}.admin-nav-link i{width:2rem;text-align:center}@media (max-width: 768px){.admin-sidebar{position:static}.admin-nav{flex-direction:row;flex-wrap:wrap;gap:.5rem}.admin-nav-link{padding:.8rem 1.2rem;font-size:1.3rem}}.admin-content{min-width:0}.admin-content h2{margin:0 0 2.5rem}.admin-content h3{margin:3rem 0 1.5rem}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem}.admin-header h2{margin:0}.admin-section{margin-bottom:4rem}.admin-empty{padding:3rem;text-align:center;background:var(--light);color:var(--dark-light);font-size:1.6rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2rem;margin-bottom:4rem}.stat-card{background:var(--light);padding:2rem;display:flex;align-items:center;gap:1.5rem;transition:transform .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-icon{width:5rem;height:5rem;display:flex;align-items:center;justify-content:center;background:var(--beta);color:var(--white);font-size:2rem;flex-shrink:0}.stat-value{font-size:2.4rem;font-weight:700;color:var(--dark);line-height:1}.stat-label{font-size:1.2rem;color:var(--dark-light);text-transform:uppercase;font-weight:700;margin-top:.3rem}.stat-breakdown{display:flex;flex-direction:column;gap:.2rem;margin-top:.5rem;font-size:1.1rem;color:var(--dark-light)}.stat-breakdown span strong{color:var(--dark)}.admin-table-wrap{overflow-x:auto;margin-bottom:2rem}.admin-table{width:100%;border-collapse:collapse;font-size:1.4rem}.admin-table thead{background:var(--dark);color:var(--white)}.admin-table th{padding:1.2rem 1.5rem;text-align:left;text-transform:uppercase;font-size:1.1rem;letter-spacing:.05em;white-space:nowrap}.admin-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--light-dark);vertical-align:middle}.admin-table tbody tr:hover{background:var(--light)}.admin-table strong{color:var(--dark)}.badge{display:inline-block;padding:.2rem .8rem;font-size:1.1rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.badge-confirmed,.badge-active{background:var(--success);color:var(--white)}.badge-pending{background:var(--warning);color:var(--dark)}.badge-cancelled,.badge-inactive{background:var(--error);color:var(--white)}.badge-private{background:var(--beta);color:var(--white)}.badge-semi-private{background:var(--alpha);color:var(--white)}.badge-oakville{background:var(--beta-pale);color:var(--dark)}.badge-burlington{background:var(--alpha-pale);color:var(--dark)}.badge-paid{background:var(--success);color:var(--white)}.badge-failed{background:var(--error);color:var(--white)}.badge-success{background:var(--success);color:var(--white)}.badge-danger{background:var(--error);color:var(--white)}.badge-accepted{background:var(--success);color:var(--white)}.badge-expired{background:#999;color:var(--white)}.badge-declined{background:var(--error);color:var(--white)}.btn-small{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;background:var(--beta);color:var(--white);border:none;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .2s;font-family:var(--body-font)}.btn-small:hover{opacity:.85}.btn-small.btn-danger{background:var(--error)}.btn-small.btn-success{background:var(--success)}.btn-small.btn-ghost{background:transparent;color:var(--beta);border:1px solid var(--beta)}.action-btns{display:flex;gap:.5rem;align-items:center}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:3.2rem;height:3.2rem;border-radius:.6rem;background:var(--beta);color:var(--white);border:none;font-size:1.3rem;cursor:pointer;transition:all .2s;position:relative}.btn-icon:hover{opacity:.85;transform:translateY(-1px)}.btn-icon.btn-icon-danger{background:var(--error)}.btn-icon.btn-icon-success{background:var(--success)}.btn-icon.btn-icon-warning{background:var(--warning)}.admin-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;z-index:9999;display:flex;align-items:center;justify-content:center}.admin-modal{background:var(--white);padding:3rem;max-width:640px;width:92%;max-height:90vh;overflow-y:auto;position:relative;border-radius:.6rem}.admin-modal-close{position:absolute;top:1rem;right:1.5rem;background:none;border:none;font-size:2.4rem;cursor:pointer;color:var(--dark);padding:0;line-height:1}.admin-modal h3{margin:0 0 2rem}.admin-modal textarea{min-height:8rem}.admin-modal .form-group label span{font-weight:400;text-transform:none;font-size:1.1rem;color:#888}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:end}@media (max-width: 500px){.form-row{grid-template-columns:1fr}}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-size:1.3rem;font-weight:700;text-transform:uppercase}.admin-filters{display:flex;gap:1.5rem;align-items:flex-end;margin-bottom:2.5rem;flex-wrap:wrap}.admin-filters .form-group{margin-bottom:0;min-width:140px}.admin-filters .form-group label{margin-bottom:.3rem}.admin-filters select,.admin-filters input{height:4rem;font-size:1.3rem}.google-status-card{background:var(--light);padding:2.5rem;margin-bottom:3rem}.google-connected,.google-disconnected{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.google-connected p,.google-disconnected p{font-size:1.3rem;margin:.5rem 0 0;color:var(--dark-light)}.google-connected strong,.google-disconnected strong{font-size:1.6rem}.google-connected .button,.google-disconnected .button{margin-left:auto}@media (max-width: 600px){.google-connected .button,.google-disconnected .button{margin-left:0;width:100%}}.studios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}.studio-card{background:var(--light);padding:2.5rem;transition:all .2s}.studio-card:hover{box-shadow:0 4px 12px #00000014}.studio-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.studio-card-header h4{margin:0;font-size:1.8rem}.studio-card p{font-size:1.4rem;margin:0 0 1.5rem;color:var(--dark-light)}.studio-meta{display:flex;gap:2rem;font-size:1.3rem;margin-bottom:1.5rem}.studio-meta span{display:flex;align-items:center;gap:.5rem}.studio-meta .fa-check-circle{color:var(--success)}.studio-meta .fa-times-circle{color:var(--border)}.studio-actions{display:flex;gap:.8rem;flex-wrap:wrap}.teacher-detail{margin-top:2rem}.teacher-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:3rem;padding-bottom:2rem;border-bottom:2px solid var(--border)}.back-link{color:var(--beta);text-decoration:none;font-size:1.3rem;display:inline-flex;align-items:center;gap:.5rem;transition:color .2s}.back-link:hover{color:var(--alpha)}.admin-section{margin-bottom:3rem;padding:2rem;background:var(--light);border-radius:var(--radius);border:1px solid var(--border)}.admin-section .admin-header{margin-bottom:1.5rem}.admin-section h3{margin:0;font-size:1.6rem;color:var(--dark)}.toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:1.3rem}.toggle-label input[type=checkbox]{width:1.6rem;height:1.6rem;accent-color:var(--beta)}.add-discipline-row,.add-avail-row{padding-top:1.5rem;border-top:1px solid var(--border)}.add-discipline-row h5,.add-avail-row h5{color:var(--dark-light);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:1.2rem}.day-checkboxes{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.day-checkboxes .day-check{display:flex;align-items:center;gap:.4rem;font-size:1.3rem;cursor:pointer}.day-checkboxes .day-check input[type=checkbox]{width:1.6rem;height:1.6rem;accent-color:var(--beta)}.calendar-option:hover{border-color:var(--beta)!important;background:var(--light)}.credentials-list{list-style:none;padding:0;margin:0 0 1rem}.credentials-list li{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid var(--border);font-size:1.4rem}.credentials-list li:last-child{border-bottom:none}.credentials-list li i.fa-award{font-size:1.6rem;flex-shrink:0}.credentials-list li span{flex:1}.credentials-list li .btn-icon{width:2.8rem;height:2.8rem;font-size:1.2rem;flex-shrink:0}.inline-rate-edit{display:flex;align-items:center;gap:.4rem}.inline-rate-edit .rate-prefix{font-weight:600;color:var(--text);font-size:1.4rem}.inline-rate-edit .input-rate{width:8rem;padding:.4rem .6rem;border:1px solid var(--border, #ccc);border-radius:6px;font-size:1.4rem;font-family:inherit;background:var(--bg, #fff);color:var(--text);transition:border-color .2s}.inline-rate-edit .input-rate:focus{outline:none;border-color:var(--alpha)}.inline-rate-edit .btn-save-rate{width:2.8rem;height:2.8rem;font-size:1.2rem;border:none;border-radius:6px;background:var(--alpha);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}.inline-rate-edit .btn-save-rate:hover{background:#b8922e}.pagination{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.pagination-info{font-size:1.3rem;color:var(--dark-light)}.pagination-btns{display:flex;gap:.5rem;flex-wrap:wrap}.pagination-btns .button{min-width:auto;padding:.6rem 1.2rem;font-size:1.2rem}
