: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}}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;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%}.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}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-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}.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:0 0 1rem;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)}.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}.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}.recurring-option{margin-top:2rem;padding:2rem;background:var(--bg-alt, #f8f9fa);border:2px solid var(--border, #e0e0e0);border-radius:1rem}.recurring-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)}.recurring-hint{font-size:1.3rem;color:var(--dark-light)}#recurring-config{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border, #e0e0e0)}.recurring-weeks-row{display:flex;align-items:center;gap:1.5rem;margin-bottom:1rem}.recurring-weeks-row label{font-size:1.4rem}.recurring-total{font-size:1.6rem;color:var(--alpha);margin-bottom:1rem}.recurring-note{font-size:1.2rem;color:var(--dark-light);line-height:1.5}.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}.modal-overlay.active{display:flex}.modal{background:var(--white);padding:4rem 3rem;max-width:480px;width:90%;position:relative}.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}.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)}.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}.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}.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)}.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)}.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}
