:root{--ink:#20201f;--muted:#73736e;--paper:#fbfaf7;--white:#fff;--line:#e8e5df;--purple:#6846c7;--purple-dark:#4d319e;--coral:#df654f;--mint:#dcefe5;--peach:#f9ded1;--sky:#d8eaf2;--pink:#f4d9e4;--lilac:#e5ddf4;--butter:#f8e8b9;--lime:#e3edc7;--shadow:0 16px 40px rgba(43,35,26,.08)}*{box-sizing:border-box}body,html{background:#ece9e3}body{margin:0;color:var(--ink);font-family:Avenir Next,Avenir,Segoe UI,system-ui,sans-serif}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a,button{color:inherit}img{display:block;max-width:100%}.page-canvas{min-height:100vh;padding:28px}.phone-shell{position:relative;width:min(100%,480px);min-height:calc(100vh - 56px);margin:0 auto;overflow:hidden;background:var(--paper);border:1px solid rgba(32,32,31,.08);border-radius:34px;box-shadow:var(--shadow);padding:30px 26px 114px}.app-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:34px}.eyebrow{display:block;margin-bottom:8px;color:#807d77;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.eyebrow.purple{color:var(--purple)}.eyebrow.coral{color:var(--coral)}.location-button{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:transparent;font-size:13px;font-weight:700;line-height:1;cursor:pointer}.location-button>svg:first-child{flex:0 0 auto;color:var(--coral)}.location-button .location-chevron{flex:0 0 auto;margin-left:1px;color:currentColor}.icon-button,.round-action{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:hsla(0,0%,100%,.92);cursor:pointer}.notification{position:relative}.notification-dot{position:absolute;top:8px;right:8px;width:7px;height:7px;border:2px solid #fff;border-radius:50%;background:var(--coral)}.welcome-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.discover-intro h1,.title-block h1,.welcome-row h1{margin:0;letter-spacing:-.045em;line-height:1.05}.welcome-row h1{font-size:clamp(28px,7vw,36px)}.discover-intro p,.welcome-row p{margin:10px 0 0;color:var(--muted);font-size:13px}.child-avatar{flex:0 0 auto;display:grid;place-items:center;width:50px;height:50px;border:4px solid #fff;border-radius:50%;color:#59411d;background:#f5c976;box-shadow:0 0 0 1px var(--line);font-size:19px;font-weight:800;text-decoration:none;transition:transform .2s ease}.child-avatar:hover{transform:translateY(-2px)}.recommendation-hero{position:relative;min-height:390px;overflow:hidden;border-radius:27px;color:#fff;background:#173d4c;box-shadow:0 22px 42px rgba(21,55,69,.2)}.recommendation-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,43,58,.98) 4%,rgba(8,43,58,.84) 49%,rgba(8,43,58,.06) 85%),linear-gradient(0deg,rgba(8,43,58,.7),transparent 55%)}.recommendation-hero img{position:absolute;inset:0 0 0 auto;width:80%;height:100%;object-fit:cover}.recommendation-loading{background:linear-gradient(135deg,#173d4c,#2f6171)}.home-pick-tools{display:flex;align-items:center;gap:10px}.hero-content{position:relative;z-index:1;width:69%;padding:38px 0 32px 28px}.hero-kicker{font-size:10px;font-weight:800;letter-spacing:.12em;color:#f6cf6f}.hero-content h2{margin:30px 0 14px;font-size:40px;line-height:.98;letter-spacing:-.045em}.hero-content p{margin:0 0 24px;color:hsla(0,0%,100%,.82);font-size:13px;line-height:1.6}.light-button{display:inline-flex;align-items:center;gap:8px;padding:12px 14px;border-radius:100px;text-decoration:none;background:#fff;color:#183a48;font-size:11px;font-weight:800}.section-block{margin-top:42px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:16px}.details-section h2,.section-heading h2{margin:0;font-size:20px;letter-spacing:-.035em}.filter-link,.section-heading a{padding:0 0 3px;border:0;color:var(--purple);background:transparent;font-size:12px;font-weight:800;text-decoration:none;cursor:pointer}.class-card{display:grid;grid-template-columns:126px 1fr;grid-gap:0;gap:0;overflow:hidden;min-height:154px;border:1px solid var(--line);border-radius:20px;color:inherit;background:#fff;box-shadow:0 8px 22px rgba(50,43,36,.04);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.class-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(50,43,36,.09)}.class-image{position:relative;min-height:100%;overflow:hidden;background:var(--mint)}.class-image img{width:100%;height:100%;object-fit:cover}.category-tag{position:absolute;bottom:8px;left:8px;padding:5px 8px;border-radius:20px;background:hsla(0,0%,100%,.9);font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.class-card-copy{display:flex;flex-direction:column;min-width:0;padding:15px 14px}.class-card-topline{display:flex;justify-content:space-between;gap:6px}.class-card h3{overflow:hidden;margin:0 0 8px;font-size:14px;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.small-heart{color:var(--muted);font-size:21px;line-height:15px}.class-card p{margin:0 0 5px;color:var(--muted);font-size:10.5px}.class-card p span{padding:0 3px;color:#c3bfb7}.class-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}.class-card-meta .rating{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:700}.rating svg,.rating-line svg{color:#e9ab26;fill:#e9ab26}.class-card-meta strong{color:var(--purple);font-size:14px}.class-card-meta small{font-size:8px;font-weight:800;text-transform:uppercase}.class-card-compact{grid-template-columns:112px 1fr;min-height:135px}.category-strip{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:9px;gap:9px}.category-strip a{display:flex;align-items:center;flex-direction:column;gap:8px;color:var(--ink);font-size:9px;font-weight:700;text-align:center;text-decoration:none}.category-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;font-size:22px}.category-icon.peach,.category-tile.peach{background:var(--peach)}.category-icon.sky,.category-tile.sky{background:var(--sky)}.category-icon.pink,.category-tile.pink{background:var(--pink)}.category-icon.lilac,.category-tile.lilac{background:var(--lilac)}.category-icon.butter,.category-tile.butter{background:var(--butter)}.category-icon.lime,.category-tile.lime{background:var(--lime)}.trust-note{display:flex;align-items:center;gap:12px;margin-top:36px;padding:17px;border-radius:18px;color:#385746;background:var(--mint);text-decoration:none}.trust-note div{flex:1 1}.trust-note span,.trust-note strong{display:block;font-size:11px}.trust-note div span{margin-top:2px;opacity:.7;font-size:9px}.bottom-nav{position:absolute;z-index:10;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(6,1fr);padding:12px 8px 16px;border-top:1px solid var(--line);background:hsla(0,0%,100%,.94);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav a{display:flex;align-items:center;flex-direction:column;gap:5px;color:#8b8985;font-size:8px;font-weight:700;text-decoration:none}.bottom-nav a.active{color:var(--purple)}.bottom-nav a.active svg{stroke-width:2.5}.bottom-nav.provider-nav{grid-template-columns:repeat(4,1fr)}.discover-intro{margin-bottom:22px}.discover-intro h1{font-size:34px}.search-field{display:flex;align-items:center;gap:10px;height:52px;padding:0 14px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(40,35,30,.04)}.search-field svg{color:var(--purple)}.search-field input{min-width:0;flex:1 1;border:0;outline:0;background:transparent;font-size:12px}.search-field input::placeholder{color:#aaa6a0}.search-field kbd{padding:4px 6px;border:1px solid var(--line);border-radius:6px;color:#9b9790;background:var(--paper);font-family:inherit;font-size:8px}.filter-row{display:flex;gap:7px;margin:16px -26px 0;padding:0 26px 4px;overflow-x:auto;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.filter-row button{flex:0 0 auto;padding:8px 14px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--muted);font-size:10px;font-weight:700;cursor:pointer}.filter-row button.active{border-color:var(--purple);color:#fff;background:var(--purple)}.view-switcher{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:4px;gap:4px;margin-top:15px;padding:4px;border-radius:14px;background:#eeebe5}.view-switcher button{padding:9px 5px;border:0;border-radius:10px;color:var(--muted);background:transparent;font-size:10px;font-weight:800;cursor:pointer}.view-switcher button.active{color:var(--ink);background:#fff;box-shadow:0 3px 10px rgba(45,39,32,.08)}.quick-filters{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:-5px 0 16px;padding:12px;border:1px solid var(--line);border-radius:15px;background:#fff}.quick-filters strong{width:100%;font-size:10px}.quick-filters button{padding:7px 10px;border:1px solid var(--line);border-radius:99px;color:var(--muted);background:var(--paper);font-size:9px;font-weight:700;cursor:pointer}.quick-filters button.active{color:#fff;border-color:var(--purple);background:var(--purple)}.quick-filters button.done{margin-left:auto;color:var(--purple);border-color:#dcd1f4;background:#f2edfb}.discover-categories{margin-top:30px}.category-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.category-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:126px;padding:14px;border:0;border-radius:19px;text-align:left;cursor:pointer;transition:transform .2s}.category-tile:hover{transform:translateY(-2px)}.category-tile .category-icon{display:inline;width:auto;height:auto;margin-bottom:18px;font-size:21px}.category-tile strong{font-size:12px}.category-tile small{margin-top:3px;color:rgba(32,32,31,.6);font-size:9px}.category-tile .tile-arrow{position:absolute;right:14px;top:14px;font-size:12px;opacity:.5}.results-section{margin-top:36px}.class-list{display:grid;grid-gap:12px;gap:12px}.empty-state{padding:35px 20px;border:1px dashed #d5d0c6;border-radius:20px;text-align:center}.empty-state>span{color:var(--purple);font-size:25px}.empty-state h3{margin:9px 0 3px;font-size:15px}.empty-state p{margin:0;color:var(--muted);font-size:11px}.map-results-section{margin-top:30px}.discovery-map{position:relative;height:450px;overflow:hidden;border:1px solid #dedbd3;border-radius:22px;background:#e9e7de}.street{position:absolute;z-index:2;display:block;background:#fff;box-shadow:0 0 0 1px #ddd9cf}.street.horizontal{left:-10%;width:120%;height:14px}.street.horizontal.one{top:28%;transform:rotate(-7deg)}.street.horizontal.two{top:67%;transform:rotate(8deg)}.street.vertical{top:-10%;width:13px;height:120%}.street.vertical.one{left:30%;transform:rotate(10deg)}.street.vertical.two{left:72%;transform:rotate(-8deg)}.street.diagonal{top:43%;left:-20%;width:140%;height:18px;transform:rotate(-31deg)}.park{position:absolute;z-index:1;border-radius:30% 60% 42% 55%;background:#d6e3c4}.park-one{top:5%;right:8%;width:95px;height:88px}.park-two{bottom:12%;left:8%;width:105px;height:76px}.water{position:absolute;z-index:1;top:-30px;left:47%;width:45px;height:130%;border-radius:50%;background:#d6e7e9;transform:rotate(23deg)}.map-label{position:absolute;z-index:3;color:#9a968d;font-size:7px;letter-spacing:.04em}.label-one{top:18%;left:34%;transform:rotate(-7deg)}.label-two{top:53%;right:7%;transform:rotate(-31deg)}.label-three{bottom:16%;left:40%}.map-price-pin{position:absolute;z-index:6;padding:8px 10px;border:3px solid #fff;border-radius:99px;color:var(--ink);background:#fff;box-shadow:0 7px 18px rgba(55,48,40,.18);font-size:9px;font-weight:900;cursor:pointer;transform:translate(-50%,-50%)}.map-price-pin:after{content:"";position:absolute;bottom:-6px;left:50%;width:8px;height:8px;background:inherit;transform:translateX(-50%) rotate(45deg)}.map-price-pin.active{color:#fff;background:var(--purple);transform:translate(-50%,-50%) scale(1.08)}.you-are-here{position:absolute;z-index:5;top:49%;left:48%;display:grid;place-items:center;width:24px;height:24px;border:4px solid #fff;border-radius:50%;background:#4585d1;box-shadow:0 0 0 8px rgba(69,133,209,.16)}.you-are-here i{width:6px;height:6px;border-radius:50%;background:#fff}.map-preview{position:relative;z-index:8;margin:-118px 12px 0}.map-preview .class-card{box-shadow:0 18px 35px rgba(38,32,27,.18)}.real-map{isolation:isolate;background:#e9e7de}.real-map .maplibregl-canvas{outline:none}.real-map .maplibregl-ctrl-top-right{top:10px;right:8px}.real-map .maplibregl-ctrl-group{overflow:hidden;border-radius:12px;box-shadow:0 5px 16px rgba(40,34,29,.16)}.real-map .maplibregl-ctrl-attrib{font-size:7px}.real-map-price-pin{position:relative;padding:8px 10px;border:3px solid #fff;border-radius:99px;color:var(--ink);background:#fff;box-shadow:0 7px 18px rgba(55,48,40,.22);font-size:9px;font-weight:900;cursor:pointer;transition:transform .18s ease,background .18s ease}.real-map-price-pin:after{content:"";position:absolute;bottom:-5px;left:50%;width:8px;height:8px;background:inherit;transform:translateX(-50%) rotate(45deg)}.real-map-price-pin.active{color:#fff;background:var(--purple);transform:scale(1.1)}.details-page{padding:0 0 105px}.details-hero{position:relative;height:360px;background:var(--mint)}.details-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2),transparent 35%,transparent 70%,rgba(0,0,0,.22))}.details-hero>img{width:100%;height:100%;object-fit:cover}.details-actions{position:absolute;z-index:2;top:24px;right:22px;left:22px;display:flex;justify-content:space-between}.details-actions>div{display:flex;gap:9px}.details-actions a{color:inherit;text-decoration:none}.details-actions button{padding:0}.round-action.saved{color:#fff;border-color:var(--coral);background:var(--coral)}.round-action.saved svg{fill:currentColor}.booking-bar button:disabled,.round-action:disabled{cursor:wait;opacity:.58;box-shadow:none}.action-toast{position:fixed;z-index:70;top:18px;left:50%;width:min(340px,calc(100vw - 32px));padding:11px 14px;border-radius:12px;color:#8a4337;background:#fff1ed;box-shadow:var(--shadow);font-size:9px;font-weight:700;text-align:center;transform:translateX(-50%)}.hero-photo-count{position:absolute;z-index:2;right:22px;bottom:17px;padding:7px 10px;border-radius:99px;color:#fff;background:rgba(0,0,0,.46);font-size:9px;font-weight:700}.details-body{padding:28px 26px 50px}.title-block{padding-bottom:26px;border-bottom:1px solid var(--line)}.title-block h1{max-width:360px;font-size:34px}.title-block>p{margin:14px 0;color:var(--muted);font-size:13px;line-height:1.6}.rating-line{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:10px}.rating-line>span:first-child{display:flex;align-items:center;gap:4px;color:var(--ink);font-weight:800}.rating-line>button{padding:0;border:0;color:var(--ink);background:transparent;font-size:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.reason-card{margin-top:25px;padding:20px;border:1px solid #d7e5dc;border-radius:22px;background:#eff7f2}.reason-heading{display:flex;gap:12px}.reason-heading>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#37664d;background:#d4eade}.reason-heading small{color:#517261;font-size:8px;font-weight:900;letter-spacing:.12em}.reason-heading h2{margin:2px 0 0;font-size:17px;letter-spacing:-.025em}.reason-card ul{display:grid;grid-gap:12px;gap:12px;margin:18px 0 0;padding:16px 0 0;border-top:1px solid #d7e5dc;list-style:none}.reason-card li{display:flex;align-items:center;gap:10px;color:#556259;font-size:10px}.reason-card li svg{flex:0 0 auto;display:block;padding:2px;border-radius:50%;color:#fff;background:#6f9a80}.reason-card li strong{color:#2e4537}.details-section{margin-top:34px}.schedule-card{display:grid;grid-template-columns:52px 1fr auto;grid-gap:13px;gap:13px;margin-top:15px;padding:13px;border:1px solid var(--line);border-radius:18px}.date-tile,.schedule-card{align-items:center;background:#fff}.date-tile{display:flex;flex-direction:column;overflow:hidden;border:1px solid #edc4bb;border-radius:11px}.date-tile span{align-self:stretch;padding:3px;color:#fff;background:var(--coral);font-size:7px;font-weight:900;text-align:center}.date-tile strong{margin-top:2px;font-size:19px}.date-tile small{margin-bottom:3px;color:var(--muted);font-size:7px}.schedule-card>div:nth-child(2){min-width:0}.schedule-card>div:nth-child(2) span,.schedule-card>div:nth-child(2) strong{display:block}.schedule-card>div:nth-child(2) strong{font-size:11px}.schedule-card>div:nth-child(2) span{display:flex;align-items:center;gap:4px;overflow:hidden;margin-top:6px;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.schedule-card>a{color:var(--purple);font-size:23px;text-decoration:none}.mini-map{position:relative;height:125px;margin-top:10px;overflow:hidden;border-radius:18px;background:#e9e6db}.map-road{position:absolute;height:9px;border:3px solid #fff;border-right:0;border-left:0;background:#d9d4c4;transform-origin:left}.map-road.one{top:20px;left:-20px;width:160%;transform:rotate(12deg)}.map-road.two{top:90px;left:30px;width:130%;transform:rotate(-18deg)}.map-road.three{top:-20px;left:160px;width:100%;transform:rotate(78deg)}.map-pin{position:absolute;z-index:1;top:36px;left:54%;display:grid;place-items:center;width:39px;height:39px;border:4px solid #fff;border-radius:50%;color:#fff;background:var(--purple);box-shadow:0 6px 14px rgba(55,35,100,.25)}.mini-map>div:last-child{position:absolute;right:10px;bottom:9px;padding:8px 11px;border-radius:10px;background:hsla(0,0%,100%,.94)}.mini-map small,.mini-map strong{display:block}.mini-map strong{font-size:9px}.mini-map small{color:var(--muted);font-size:7px}.live-mini-map .discovery-map{height:125px;border:0;border-radius:18px}.live-mini-map .maplibregl-ctrl-top-right{display:none}.live-mini-map .real-map-price-pin{padding:6px 8px;font-size:8px}.mini-map .mini-map-caption{z-index:4}.included-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px;margin-top:15px}.included-grid>div{display:grid;grid-template-columns:32px 1fr;grid-column-gap:9px;column-gap:9px;padding:13px;border:1px solid var(--line);border-radius:15px;background:#fff}.included-grid>div>span{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:var(--purple);background:#f0ebf9}.included-grid strong{font-size:9px}.included-grid small{color:var(--muted);font-size:7px}.teacher-card{position:relative;display:grid;grid-template-columns:64px 1fr;grid-gap:13px;gap:13px;margin-top:34px;padding:16px;border-radius:19px;background:#f0eaf7}.teacher-card img{width:64px;height:76px;border-radius:14px;object-fit:cover}.teacher-card .eyebrow{margin-bottom:4px;font-size:7px}.teacher-card h3{margin:0;font-size:14px}.teacher-card p{margin:3px 0 6px;color:var(--muted);font-size:8px}.teacher-card small{font-family:Georgia,serif;font-size:9px;font-style:italic}.verified-badge{position:absolute;top:11px;right:11px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;color:#fff;background:var(--purple);font-size:10px}.booking-bar{position:absolute;z-index:5;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 20px 18px;border-top:1px solid var(--line);background:hsla(0,0%,100%,.96);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.booking-bar div>small,.booking-bar div>span{display:block}.booking-bar div>span{font-size:9px}.booking-bar div>span strong{font-size:18px}.booking-bar div>small{margin-top:3px;color:var(--muted);font-size:8px}.booking-bar div b{color:var(--coral)}.booking-bar button{min-width:150px;padding:14px 18px;border:0;border-radius:13px;color:#fff;background:var(--purple);box-shadow:0 8px 18px rgba(104,70,199,.25);font-size:12px;font-weight:800;cursor:pointer}.booking-bar button span{padding-left:8px}.booking-overlay{position:fixed;z-index:50;inset:0;display:flex;align-items:flex-end;justify-content:center}.overlay-backdrop{position:absolute;inset:0;width:100%;border:0;background:rgba(25,22,20,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.booking-sheet{position:relative;z-index:1;width:min(480px,100%);padding:34px 28px 28px;border-radius:28px 28px 0 0;background:#fff;text-align:center;box-shadow:0 -20px 50px rgba(0,0,0,.16);animation:sheet-in .25s ease-out}.sheet-close{position:absolute;top:14px;right:16px;width:34px;height:34px;border:0;border-radius:50%;color:var(--muted);background:#f3f1ed;font-size:22px;cursor:pointer}.success-mark{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 19px;border-radius:50%;color:#fff;background:#6c9a7d}.booking-sheet h2{margin:4px 0 12px;font-size:27px;line-height:1.08;letter-spacing:-.04em}.booking-sheet p{margin:0 0 20px;color:var(--muted);font-size:12px;line-height:1.6}.booking-sheet .booking-error{margin:9px 0 0;padding:9px;border-radius:9px;color:#974c3f;background:#fcede9;font-size:8px;line-height:1.4}.booking-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px;gap:7px;margin:14px 0;padding:0;border:0;text-align:left}.booking-options legend{grid-column:1/-1;margin-bottom:3px;color:var(--ink);font-size:9px;font-weight:800}.booking-options button{display:grid;grid-gap:2px;gap:2px;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff;font-size:9px;font-weight:750;cursor:pointer}.booking-options button.active{border-color:var(--purple);background:#f4effc;box-shadow:inset 0 0 0 1px var(--purple)}.booking-options button small{color:var(--muted);font-size:7px}.primary-wide{display:block;width:100%;padding:15px;border:0;border-radius:13px;color:#fff;background:var(--purple);font-size:12px;font-weight:800;text-align:center;text-decoration:none;cursor:pointer}.booking-sheet>small{display:block;margin-top:10px;color:var(--muted);font-size:8px}.app-overlay{position:fixed;z-index:60;inset:0;display:flex;align-items:flex-end;justify-content:center}.app-sheet{position:relative;z-index:1;width:min(480px,100%);max-height:78vh;overflow-y:auto;padding:27px 24px 25px;border-radius:28px 28px 0 0;background:#fff;box-shadow:0 -20px 50px rgba(0,0,0,.16);animation:sheet-in .25s ease-out}.sheet-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:17px}.sheet-heading h2{margin:0;font-size:24px;letter-spacing:-.04em}.sheet-heading>button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;color:var(--muted);background:#f3f1ed;font-size:21px;cursor:pointer}.notification-list{display:grid;grid-gap:9px;gap:9px}.notification-list article{display:grid;grid-template-columns:38px 1fr;grid-gap:11px;gap:11px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.notification-list article.unread{border-color:#dcd1f4;background:#f7f3fd}.notification-list article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:var(--purple);background:#fff}.notification-list p,.notification-list small,.notification-list strong{display:block}.notification-list strong{font-size:11px}.notification-list p{margin:3px 0 6px;color:var(--muted);font-size:9px;line-height:1.4}.notification-list small{color:#a29e97;font-size:7px}.secondary-wide{width:100%;margin-top:15px;padding:13px;border:1px solid #dcd1f4;border-radius:12px;color:var(--purple);background:#f7f3fd;font-size:10px;font-weight:800;cursor:pointer}.secondary-wide:disabled{color:var(--muted);border-color:var(--line);background:var(--paper);cursor:default}.customer-access-sheet>p{margin:-4px 0 20px;color:var(--muted);font-size:11px;line-height:1.6}.danger-wide{display:block;width:100%;padding:14px;border:0;border-radius:12px;color:#fff;background:#b95142;font-size:11px;font-weight:800;cursor:pointer}.danger-wide:disabled{cursor:wait;opacity:.6}.notification-empty p{margin:0 0 12px}.notification-sign-in{display:inline-block;padding:10px 13px;border-radius:10px;color:#fff;background:var(--purple);font-weight:800;text-decoration:none}.location-sheet>p{margin:-5px 0 16px;color:var(--muted);font-size:10px}.location-option{display:grid;grid-template-columns:30px 1fr auto;align-items:center;grid-gap:8px;gap:8px;width:100%;padding:13px 10px;border:0;border-top:1px solid var(--line);background:#fff;text-align:left;cursor:pointer}.location-option>svg{color:var(--coral)}.location-option>span{font-size:11px;font-weight:700}.location-option small{display:block;margin-top:2px;color:var(--muted);font-size:8px;font-weight:500}.location-option.active>svg:last-child{color:#5d936e}.reviews-sheet article{padding:16px 0;border-top:1px solid var(--line)}.reviews-sheet article strong{font-family:Georgia,serif;font-size:13px}.reviews-sheet article p{margin:7px 0;color:var(--muted);font-size:10px;line-height:1.5}.reviews-sheet article small{color:#8c8882;font-size:8px}.review-sheet{display:grid;grid-gap:16px;gap:16px}.review-rating-picker{display:flex;gap:5px;margin:0;padding:0;border:0}.review-rating-picker legend{width:100%;margin-bottom:7px;color:var(--muted);font-size:9px;font-weight:800}.review-rating-picker button{padding:2px;border:0;color:#cbc5bb;background:transparent;font-size:28px;cursor:pointer}.review-rating-picker button.active{color:#f3b61f}.review-booking-action{color:var(--purple)!important;border-color:#dcd1f4!important;background:#f7f3fd!important}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bookings-page>h1{margin:8px 0 12px;font-size:37px;line-height:1.04;letter-spacing:-.045em}.bookings-page>p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.bookings-list{display:grid;grid-gap:14px;gap:14px;margin-top:30px}.bookings-list .booked-card{margin-top:0}.booked-card{display:grid;grid-template-columns:58px 1fr;grid-gap:14px;gap:14px;margin-top:30px;padding:17px;border:1px solid var(--line);border-radius:21px;background:#fff;box-shadow:var(--shadow)}.booking-date{display:flex;align-items:center;flex-direction:column;align-self:start;overflow:hidden;border:1px solid #edc4bb;border-radius:12px}.booking-date span{align-self:stretch;padding:4px;color:#fff;background:var(--coral);font-size:7px;font-weight:900;text-align:center}.booking-date strong{margin:3px 0 0;font-size:22px}.booking-date small{margin-bottom:5px;color:var(--muted);font-size:7px}.status-pill{display:inline-block;margin-bottom:6px;color:#528066;font-size:8px;font-weight:900;letter-spacing:.1em}.booked-card h2{margin:0 0 6px;font-size:16px}.booked-card div>p,.booked-card div>small{color:var(--muted);font-size:9px}.booked-card div>p{margin:0 0 3px}.booking-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:3px}.booking-actions a,.booking-actions button{padding:11px;border:1px solid #dcd1f4;border-radius:11px;color:var(--purple);background:#f7f3fd;font-size:9px;font-weight:800;text-align:center;text-decoration:none;cursor:pointer}.booking-actions button{color:var(--muted);border-color:var(--line);background:var(--paper)}.status-pill.pending{color:#9b651d}.empty-bookings{display:flex;align-items:center;flex-direction:column;margin-top:32px;padding:45px 24px;border:1px dashed #d8d2ca;border-radius:24px;text-align:center}.empty-bookings>span{display:grid;place-items:center;width:70px;height:70px;border-radius:22px;color:var(--purple);background:var(--lilac)}.empty-bookings h2{margin:17px 0 5px;font-size:18px}.empty-bookings p{margin:0 0 18px;color:var(--muted);font-size:10px}.empty-bookings a{padding:12px 16px;border-radius:12px;color:#fff;background:var(--purple);font-size:10px;font-weight:800;text-decoration:none}.empty-bookings>button{max-width:220px}.timeline-intro h1{margin:7px 0 11px;font-size:35px;line-height:1.04;letter-spacing:-.045em}.timeline-intro>p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.timeline-tabs{display:flex;gap:4px;margin:25px -26px 0;padding:0 26px 10px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.timeline-tabs button{flex:1 0 auto;padding:8px 11px;border:0;border-radius:99px;color:var(--muted);background:transparent;font-size:9px;font-weight:800;cursor:pointer}.timeline-tabs button.active{color:#fff;background:var(--purple)}.timeline-date-row{display:flex;align-items:center;gap:12px;margin:20px 0 14px}.timeline-date-row>div{display:grid;grid-template-columns:1fr 1fr;width:54px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:center}.timeline-date-row>div span{grid-column:1/-1;padding:3px;color:#fff;background:var(--coral);font-size:7px;font-weight:900}.timeline-date-row>div strong{padding:4px 0;font-size:18px}.timeline-date-row>div small{align-self:center;color:var(--muted);font-size:7px}.timeline-date-row p span,.timeline-date-row p strong{display:block}.timeline-date-row p{margin:0}.timeline-date-row p strong{font-size:11px}.timeline-date-row p span{margin-top:2px;color:var(--muted);font-size:8px}.class-timeline{position:relative;padding-bottom:10px}.class-timeline:before{content:"";position:absolute;top:20px;bottom:35px;left:77px;width:2px;background:#d8d0e8}.timeline-event{position:relative;display:grid;grid-template-columns:58px 1fr;grid-gap:28px;gap:28px;padding:0 0 15px}.timeline-event time{padding-top:18px;color:var(--muted);font-size:8px;font-weight:800;text-align:right}.timeline-node{position:absolute;z-index:2;top:20px;left:72px;width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:#8971c7;box-shadow:0 0 0 1px #8971c7}.timeline-event>a{display:block;padding:15px;border:1px solid var(--line);border-radius:17px;background:#fff;text-decoration:none;box-shadow:0 7px 20px rgba(40,34,29,.04)}.timeline-event.recommended>a{border-color:#cee2d5;background:#edf6f0}.timeline-event.recommended .timeline-node{background:#5d9270;box-shadow:0 0 0 1px #5d9270}.recommendation-label{display:block;margin-bottom:7px;color:#568067;font-size:7px;font-weight:900;letter-spacing:.12em}.timeline-card-top{display:flex;justify-content:space-between;gap:8px}.timeline-card-top h2{margin:0 0 4px;font-size:12px}.timeline-card-top p{margin:0;color:var(--muted);font-size:8px}.timeline-card-top img{width:54px;height:45px;border-radius:10px;object-fit:cover}.timeline-reason{margin:10px 0 0;padding-top:9px;border-top:1px solid #d5e5da;color:#52705d;font-size:8px;line-height:1.45}.timeline-meta{display:flex;align-items:center;justify-content:space-between;margin-top:11px}.timeline-meta span{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:8px}.timeline-meta strong{color:var(--purple);font-size:9px}.timeline-empty{margin-top:20px}.timeline-empty a{margin-top:14px}.inline-cta,.timeline-empty a{display:inline-block;color:var(--purple);font-size:10px;font-weight:800}.inline-cta{margin-top:10px;text-decoration:none}.child-page>h1,.profile-page>h1{margin:8px 0 12px;font-size:35px;line-height:1.04;letter-spacing:-.045em}.child-page>p,.profile-page>p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.account-card,.child-profile-card,.customer-auth-form{margin-top:28px;padding:20px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.account-card{display:grid;grid-template-columns:54px 1fr;align-items:center;grid-gap:13px;gap:13px}.account-avatar{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;color:#fff;background:var(--purple);font-family:Georgia,serif;font-size:24px;font-weight:700}.account-card h2{margin:5px 0 1px;font-size:16px}.account-card p{margin:0;color:var(--muted);font-size:9px}.account-card>button{grid-column:1/-1;padding:12px;border:1px solid var(--line);border-radius:11px;color:var(--muted);background:var(--paper);font-size:9px;font-weight:800;cursor:pointer}.sync-pill{display:inline-flex;align-items:center;gap:3px;color:#518066;font-size:7px;font-weight:900;letter-spacing:.1em}.customer-auth-form{display:grid;grid-gap:14px;gap:14px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;padding:4px;border-radius:12px;background:var(--paper)}.auth-tabs button{padding:9px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-size:9px;font-weight:800;cursor:pointer}.auth-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px rgba(40,34,29,.08)}.child-profile-card label,.customer-auth-form label{display:grid;grid-gap:6px;gap:6px;color:var(--ink);font-size:9px;font-weight:800}.child-profile-card input,.customer-auth-form input{width:100%;padding:12px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fff;font:inherit;font-size:11px;outline:none}.child-profile-card input:focus,.customer-auth-form input:focus{border-color:#a994dc;box-shadow:0 0 0 3px #f1ecfb}.oidc-buttons{display:grid;grid-gap:8px;gap:8px;margin-top:24px}.oidc-buttons a{padding:12px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fff;box-shadow:var(--shadow);font-size:10px;font-weight:800;text-align:center;text-decoration:none}.form-error{margin:0;padding:10px;border-radius:10px;color:#9a493b;background:#fcede9;font-size:9px;line-height:1.45;overflow-wrap:anywhere}.primary-wide:disabled{cursor:wait;opacity:.65}.child-profile-card{display:grid;grid-gap:15px;gap:15px}.profile-card-heading{display:flex;align-items:center;gap:13px;padding-bottom:15px;border-bottom:1px solid var(--line)}.profile-card-heading h2{margin:0 0 4px;font-size:17px}.profile-card-heading small{display:flex;align-items:center;gap:3px;color:#64806e;font-size:7px}.child-switcher{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.child-switcher button{padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#fff;font-size:9px;font-weight:800;cursor:pointer}.child-switcher button.active{color:var(--purple);border-color:#cfc0ee;background:#f4effc}.child-profile-card fieldset{margin:0;padding:0;border:0}.child-profile-card legend{margin-bottom:8px;font-size:9px;font-weight:800}.child-profile-card fieldset>div{display:flex;flex-wrap:wrap;gap:6px}.child-profile-card fieldset button{padding:8px 11px;border:1px solid var(--line);border-radius:99px;color:var(--muted);background:#fff;font-size:8px;font-weight:700;cursor:pointer}.child-profile-card fieldset button.active{color:var(--purple);border-color:#cfc0ee;background:#f4effc}.notification-empty{margin:0;padding:24px 12px;color:var(--muted);font-size:10px;line-height:1.5;text-align:center}.account-feedback{max-width:680px;margin:18px 0 0}.auth-link{border:0;color:var(--purple);background:transparent;font-size:10px;font-weight:800;cursor:pointer}.email-unverified,.email-verified{margin-top:5px!important;font-size:9px!important;font-weight:800}.email-verified{color:#32704a!important}.email-unverified{color:#9a493b!important}body>section{min-height:100vh;padding:32px;color:#e7ecff;background:#0b1020}body>section button,body>section input,body>section select{padding:9px}@media (max-width:540px){body,html{background:var(--paper)}.page-canvas{padding:0}.phone-shell{width:100%;min-height:100vh;border:0;border-radius:0;box-shadow:none}.booking-bar,.bottom-nav{position:fixed;max-width:480px;margin:auto}}@media (max-width:370px){.phone-shell{padding-right:19px;padding-left:19px}.hero-content{width:76%;padding-left:21px}.hero-content h2{font-size:34px}.category-grid{gap:7px}.class-card{grid-template-columns:104px 1fr}.details-page{padding-right:0;padding-left:0}}.provider-page>h1{margin:8px 0 12px;font-size:35px;line-height:1.04;letter-spacing:-.045em}.provider-page>p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.provider-form{display:block}.provider-section{margin-top:30px;padding:20px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.provider-section .section-heading{margin-bottom:4px}.provider-fields{display:grid;grid-gap:18px;gap:18px;margin-top:14px}.provider-label{display:grid;grid-gap:6px;gap:6px;color:var(--ink);font-size:9px;font-weight:800}.provider-label>span{text-transform:uppercase;letter-spacing:.04em}.provider-label .req{color:var(--coral);font-style:normal}.provider-hint{color:var(--muted);font-size:9px;font-weight:500;line-height:1.45;text-transform:none;letter-spacing:0}.provider-label input,.provider-label textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fff;font:inherit;font-size:11px;outline:none;resize:vertical}.provider-label input:focus,.provider-label textarea:focus{border-color:var(--purple)}.provider-label input::placeholder,.provider-label textarea::placeholder{color:#aaa6a0}.provider-chips{display:flex;flex-wrap:wrap;gap:7px}.provider-chips .chip{padding:8px 13px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--muted);font-size:10px;font-weight:700;cursor:pointer;transition:transform .15s,border-color .15s}.provider-chips .chip:hover{transform:translateY(-1px)}.provider-chips .chip.active{border-color:var(--purple);color:#fff;background:var(--purple)}.provider-saved{display:flex;align-items:center;gap:6px;margin:16px 0 0;color:#3f7a56;background:var(--mint);font-weight:800}.provider-saved,.provider-status-line{padding:11px;border-radius:11px;font-size:10px}.provider-status-line{width:min(680px,100%);margin:16px auto 0;color:#4a3b7a;background:var(--lilac);text-transform:capitalize}.provider-workflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px;margin-top:22px}.provider-workflow a,.provider-workflow span{display:grid;grid-gap:3px;gap:3px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:8px;text-decoration:none}.provider-workflow strong{color:var(--purple);font-size:9px}.provider-workflow small{color:var(--muted);font-size:7px;line-height:1.35}.provider-workflow .active{border-color:#cfc0ee;background:#f4effc}.provider-account-choice{margin-top:28px;padding:20px;border:1px solid #d8ccef;border-radius:20px;background:#f7f3fd}.provider-account-choice h2{margin:0 0 7px;font-size:18px}.provider-account-choice p{margin:0 0 15px;color:var(--muted);font-size:10px;line-height:1.5}.provider-account-choice .secondary-wide{margin-top:8px}.provider-studio-link{width:min(680px,100%);margin:14px auto 0}.provider-gate{margin-top:28px;padding:24px;border:1px solid #d8ccef;border-radius:22px;background:#f7f3fd;text-align:center}.provider-gate h2{margin:8px 0;font-size:22px}.provider-gate p{margin:0 0 18px;color:var(--muted);font-size:10px;line-height:1.55}.provider-operations{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff}.provider-operations .section-heading{margin-bottom:12px}.provider-operations .section-heading h2{margin:4px 0 0}.provider-metrics{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.provider-metrics article{display:grid;grid-gap:5px;gap:5px;padding:12px;border-radius:13px;background:#f7f3fd}.provider-metrics small{color:var(--muted);font-size:8px}.provider-metrics strong{font-size:16px}.provider-earnings-copy{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;color:var(--muted);font-size:9px}.provider-earnings-copy button,.provider-session-list button,.provider-session-manager button{padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--purple);font-size:9px;font-weight:800}.provider-earnings-copy button:disabled{opacity:.45}.provider-payout-list{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.provider-payout-list span{padding:6px 9px;border-radius:999px;background:var(--mint);font-size:8px}.provider-session-list{display:grid;grid-gap:7px;gap:7px;margin-top:14px}.provider-session-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid var(--line);border-radius:13px}.provider-session-list article div{display:grid;grid-gap:3px;gap:3px}.provider-session-list small,.provider-session-list span{color:var(--muted);font-size:8px}.provider-session-manager{margin-top:14px;padding:14px;border-radius:15px;background:#faf8f4}.provider-session-manager>header{display:flex;align-items:flex-start;justify-content:space-between}.provider-session-manager>header div{display:grid;grid-gap:3px;gap:3px}.provider-session-manager>header span{color:var(--muted);font-size:9px}.provider-roster{display:grid;grid-gap:6px;gap:6px;margin:12px 0}.provider-roster article{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border-radius:11px;background:#fff}.provider-roster article>div:first-child{display:grid;grid-gap:2px;gap:2px}.provider-roster small,.provider-roster span{color:var(--muted);font-size:8px}.attendance-actions{display:flex;gap:4px}.attendance-actions button.active{color:#fff;background:var(--purple)}.session-change-form{display:grid;grid-gap:8px;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.session-change-form label{display:grid;grid-gap:5px;gap:5px;font-size:8px;font-weight:800}.session-change-form input{padding:10px;border:1px solid var(--line);border-radius:10px}.cancel-session-confirm button.danger,.session-change-form button.danger{color:#b43838}.cancel-session-confirm{display:grid;grid-template-columns:1fr auto auto;align-items:center;grid-gap:6px;gap:6px;color:#8c3030;font-size:8px}.provider-form .primary-wide{margin-top:22px}.trust-note.provider-cta{margin-top:12px;color:#4a3b7a;background:var(--lilac)}.provider-docs{display:grid;grid-gap:6px;gap:6px;margin:2px 0 0;padding:0;list-style:none}.provider-docs li{display:flex;align-items:center;gap:6px;padding:9px 11px;border-radius:10px;color:#3f7a56;background:var(--mint);font-size:10px;font-weight:700;overflow-wrap:anywhere}.provider-upload{display:inline-flex;align-items:center;justify-content:center;margin-top:2px;padding:12px;border:1px dashed #c7bbef;border-radius:12px;color:var(--purple);background:#f7f3fd;font-size:10px;font-weight:800;text-transform:none;letter-spacing:0;cursor:pointer}.provider-upload input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.provider-links{display:grid;grid-gap:12px;gap:12px}.home-loc-row{display:flex;flex-wrap:wrap;gap:7px}.home-loc-row input{flex:1 1 160px;padding:12px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fff;font:inherit;font-size:11px;outline:none}.home-loc-row input:focus{border-color:var(--purple)}.home-loc-btn{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;padding:0 14px;border:1px solid #dcd1f4;border-radius:11px;color:var(--purple);background:#f7f3fd;font-size:10px;font-weight:800;cursor:pointer}.home-loc-btn:disabled{opacity:.6;cursor:wait}.home-loc-results{display:grid;grid-gap:4px;gap:4px;margin:8px 0 0;padding:0;list-style:none}.home-loc-results button{display:flex;align-items:center;gap:6px;width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:10px;font-weight:600;text-align:left;cursor:pointer}.home-loc-results button:hover{border-color:var(--purple);background:#faf8ff}.home-loc-results svg{flex:0 0 auto;color:var(--coral)}.home-loc-coords{display:flex;align-items:center;gap:5px;margin:8px 0 0;color:#3f7a56;font-size:10px;font-weight:800}.venue-search .home-loc-results button{color:var(--ink)}.venue-selected{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;padding:11px 13px;border:1px solid #cbe3d5;border-radius:12px;background:var(--mint)}.venue-selected strong{display:block;font-size:11px;color:#2f5a44;overflow-wrap:anywhere}.venue-selected small{display:block;margin-top:2px;color:#3f6b52;font-size:9px;font-weight:700}.venue-clear{flex:0 0 auto;padding:7px 12px;border:1px solid #cbe3d5;border-radius:9px;background:#fff;color:#2f6a47;font-size:9px;font-weight:800;cursor:pointer}.avail-calendar{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));grid-gap:6px;gap:6px;max-height:232px;margin-top:4px;padding:4px;overflow-y:auto;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.avail-day{position:relative;display:grid;place-items:center;grid-gap:1px;gap:1px;padding:8px 2px;border:1px solid transparent;border-radius:11px;background:#fff;color:var(--ink);cursor:pointer;transition:transform .12s,border-color .12s}.avail-day:hover{transform:translateY(-1px)}.avail-day small{color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase}.avail-day strong{font-size:14px}.avail-day.selected{border-color:var(--purple);color:#fff;background:var(--purple)}.avail-day.selected small{color:hsla(0,0%,100%,.85)}.avail-day.open{box-shadow:0 0 0 2px var(--coral)}.avail-day-count{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:16px;height:16px;padding:0 3px;border-radius:99px;background:var(--coral);color:#fff;font-size:8px;font-weight:900}.avail-slots{margin-top:10px;padding:13px;border:1px solid #e4dcf5;border-radius:14px;background:#faf8ff}.avail-slots-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.avail-slots-head strong{font-size:12px}.avail-slots-actions{display:flex;gap:6px}.avail-slots-actions button{padding:5px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:8px;font-weight:800;cursor:pointer}.avail-slots-actions button:hover{border-color:var(--purple);color:var(--purple)}.avail-summary{margin-top:12px;padding:12px 14px;border-radius:13px;background:var(--mint)}.avail-summary-title{display:block;margin-bottom:6px;color:#2f6a47;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.avail-summary ul{display:grid;grid-gap:5px;gap:5px;margin:0;padding:0;list-style:none}.avail-summary li{display:flex;flex-wrap:wrap;gap:4px 8px;color:#2f5a44;font-size:10px}.avail-summary li strong{min-width:74px;font-size:10px}.avail-summary li span{color:#3f6b52;font-weight:600}.teacher-page>h1{max-width:440px;margin:8px 0 12px;font-size:38px;line-height:1.04;letter-spacing:-.045em}.teacher-lede{max-width:430px;margin:0;color:var(--muted);font-size:12px;line-height:1.55}.teacher-page .provider-form{display:grid;grid-gap:18px;gap:18px}.teacher-page .provider-section{display:grid;grid-gap:14px;gap:14px;margin-top:12px}.teacher-page .provider-section label{display:grid;grid-gap:6px;gap:6px;color:var(--ink);font-size:9px;font-weight:800}.teacher-page .provider-section input,.teacher-page .provider-section select,.teacher-page .provider-section textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fff;font:inherit;font-size:11px;outline:none}.teacher-page .provider-section input:focus,.teacher-page .provider-section select:focus,.teacher-page .provider-section textarea:focus{border-color:#a994dc;box-shadow:0 0 0 3px #f1ecfb}.form-step{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;color:var(--purple);background:var(--lilac);font-size:9px;font-weight:900}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.section-hint{margin:-4px 0 2px;color:var(--muted);font-size:9px;line-height:1.5}.schedule-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;align-items:center;grid-gap:7px;gap:7px;padding:10px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.schedule-repeat{color:#64806e;font-size:8px;font-weight:800;white-space:nowrap}.remove-row{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;color:#9a493b;background:#fcede9;cursor:pointer}.add-row{padding:11px;border:1px dashed #c7bbef;border-radius:11px;color:var(--purple);background:#f7f3fd;font-size:9px;font-weight:800;cursor:pointer}.keyword-preview{display:flex;flex-wrap:wrap;gap:6px;min-height:26px}.keyword-preview span{padding:6px 9px;border-radius:99px;color:var(--purple);background:var(--lilac);font-size:8px;font-weight:800}.class-image-upload span{display:grid;place-items:center;min-height:68px;padding:10px;border:1px dashed #c7bbef;border-radius:12px;color:var(--purple);background:#f7f3fd;font-size:9px;text-align:center;cursor:pointer}.class-image-upload input{position:absolute;width:1px!important;height:1px;padding:0!important;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0!important}.class-image-preview{width:100%;aspect-ratio:16/9;border-radius:13px;object-fit:cover}.form-success{margin:0;padding:11px;border-radius:11px;color:#3f7a56;background:var(--mint);font-size:9px;font-weight:700}.provider-list{margin-top:28px;padding:20px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.provider-list article{display:grid;grid-gap:3px;gap:3px;padding:13px 0;border-top:1px solid var(--line)}.provider-list article strong{font-size:12px}.provider-list article small{color:var(--muted);font-size:9px}.provider-class-copy{display:grid;grid-gap:6px;gap:6px}.provider-class-actions,.provider-statuses{display:flex;flex-wrap:wrap;gap:6px}.provider-statuses span{padding:5px 8px;border-radius:99px;color:#4a3b7a;background:var(--lilac);font-size:7px;font-weight:900;text-transform:uppercase}.provider-statuses span[data-status=active],.provider-statuses span[data-status=approved]{color:#32704a;background:var(--mint)}.provider-statuses span[data-status=rejected],.provider-statuses span[data-status=unpublished]{color:#9a493b;background:#fcede9}.provider-class-actions{justify-content:flex-end}.provider-class-actions button{padding:7px 10px;border:1px solid var(--line);border-radius:8px;color:var(--purple);background:#fff;font-size:8px;font-weight:800;cursor:pointer}.provider-class-actions button.danger{color:#9a493b}.moderation-reason{color:#9a493b!important}.class-timing-summary{display:flex;flex-wrap:wrap;gap:5px}.class-timing-summary span{padding:4px 8px;border-radius:99px;background:var(--paper);color:var(--ink);font-size:9px;font-weight:700}.class-timings-editor{display:grid;grid-gap:8px;gap:8px;margin-top:6px;padding:12px;border:1px dashed #c7bbef;border-radius:13px;background:#faf8ff}.class-timings-editor .schedule-row{display:flex;align-items:center;gap:7px}.class-timings-editor input[type=time],.class-timings-editor select{padding:8px;border:1px solid var(--line);border-radius:9px;font:inherit;font-size:11px}.class-timings-editor .add-row{justify-self:start;padding:7px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--purple);font-size:9px;font-weight:800;cursor:pointer}.class-timings-actions{display:flex;gap:8px}.class-timings-actions .primary-wide,.class-timings-actions .secondary-wide{margin-top:0;width:auto;flex:1 1;padding:10px}.provider-subnav{display:flex;gap:6px;margin-top:18px;padding:4px;border-radius:12px;background:var(--paper)}.provider-subnav a{flex:1 1;padding:9px;border-radius:9px;color:var(--muted);font-size:10px;font-weight:800;text-align:center;text-decoration:none}.provider-subnav a.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px rgba(40,34,29,.08)}.next-session-label{color:var(--purple)!important;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.provider-class-sessions{display:grid;grid-gap:12px;gap:12px;margin-top:16px}.provider-class-sessions>.section-heading h3{margin:0;font-size:14px}.provider-class-sessions>h3{margin:14px 0 2px;font-size:13px}.provider-class-block{display:grid;grid-gap:10px;gap:10px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff}.provider-class-block .provider-class-actions{justify-content:flex-start}.provider-class-session-rows{display:grid;grid-gap:6px;gap:6px;padding-left:10px;border-left:2px solid var(--lilac)}.provider-session-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:var(--paper)}.provider-session-row>div{display:grid;grid-gap:2px;gap:2px}.provider-session-row span{font-size:10px;font-weight:700}.provider-session-row small{color:var(--muted);font-size:8px}.provider-session-row button{flex:0 0 auto;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--purple);font-size:8px;font-weight:800;cursor:pointer}body>.admin-page{min-height:100vh;padding:clamp(24px,5vw,64px);color:#e7ecff;background:radial-gradient(circle at top right,#19264b,#0b1020 48%)}.admin-page h1{margin:0 0 28px;font-size:clamp(34px,4vw,54px);letter-spacing:-.04em}.admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;max-width:1200px}.admin-heading>div>span{color:#a9b8e8;font-size:11px;font-weight:900;letter-spacing:.12em}.admin-heading>button{padding:10px 14px;border:1px solid hsla(0,0%,100%,.16);border-radius:10px;color:#fff;background:transparent;cursor:pointer}.admin-error{max-width:760px;padding:12px 14px;border:1px solid hsla(0,91%,71%,.35);border-radius:12px;color:#fecaca;background:rgba(127,29,29,.24)}.admin-login{display:grid;grid-gap:20px;gap:20px;width:min(100%,430px);padding:24px;border:1px solid hsla(0,0%,100%,.12);border-radius:20px;background:rgba(17,24,39,.74);box-shadow:0 22px 55px rgba(0,0,0,.22)}.admin-login form,.admin-oidc{display:grid;grid-gap:10px;gap:10px}.admin-login a,.admin-login button,.admin-login input{min-height:46px;padding:11px 14px;border:1px solid hsla(0,0%,100%,.14);border-radius:10px}.admin-login input{color:#111827;background:#fff}.admin-login a,.admin-login button{color:#fff;background:var(--purple);font-weight:800;text-align:center;text-decoration:none;cursor:pointer}.admin-oidc>span{opacity:.72;font-size:12px}.admin-table-wrap{max-width:1100px;overflow-x:auto;border:1px solid hsla(0,0%,100%,.12);border-radius:18px;background:rgba(17,24,39,.72)}.admin-table{width:100%;border-collapse:collapse}.admin-table td,.admin-table th{padding:15px 18px;border-bottom:1px solid hsla(0,0%,100%,.1);text-align:left}.admin-table th{color:#a9b8e8;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.admin-table td{font-size:13px}.admin-table select{min-width:120px;border:0;border-radius:8px}.admin-workspace{display:grid;grid-gap:28px;gap:28px;max-width:1200px}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:14px;gap:14px}.admin-stats span{display:grid;grid-gap:4px;gap:4px;padding:18px;border:1px solid hsla(0,0%,100%,.12);border-radius:16px;background:rgba(17,24,39,.72);color:#a9b8e8;font-size:12px}.admin-stats strong{color:#fff;font-size:28px}.admin-section{display:grid;grid-gap:14px;gap:14px}.admin-section>header{display:flex;align-items:center;gap:9px}.admin-section h2{margin:0;font-size:22px}.admin-section>header>span{display:grid;place-items:center;min-width:25px;height:25px;padding:0 7px;border-radius:99px;color:#d8d0f3;background:rgba(138,109,202,.25);font-size:11px;font-weight:900}.admin-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));grid-gap:14px;gap:14px}.admin-review-card{display:grid;align-content:start;grid-gap:13px;gap:13px;padding:18px;border:1px solid hsla(0,0%,100%,.12);border-radius:16px;background:rgba(17,24,39,.72)}.admin-review-card h3{margin:8px 0 4px;font-size:18px}.admin-review-card p{margin:0;color:#b9c4e5;font-size:12px;line-height:1.5}.admin-review-card ul{margin:0;padding-left:18px;color:#d9e0f5;font-size:11px}.admin-review-card li a{margin-left:5px;color:#c4b5fd;font-weight:800}.admin-badge{display:inline-flex;padding:5px 8px;border-radius:99px;color:#d8d0f3;background:rgba(138,109,202,.25);font-size:9px;font-weight:900;text-transform:uppercase}.admin-note{color:#fdba74!important}.admin-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-actions button{padding:9px 12px;border:0;border-radius:8px;color:#fff;background:var(--purple);font-size:11px;font-weight:800;cursor:pointer}.admin-actions button.danger{background:#9f3f45}.admin-actions button:disabled{opacity:.55;cursor:wait}.admin-audit-list{display:grid;border:1px solid hsla(0,0%,100%,.12);border-radius:16px;background:rgba(17,24,39,.72);overflow:hidden}.admin-audit-list article{display:grid;grid-template-columns:1fr auto;grid-gap:5px 16px;gap:5px 16px;padding:14px 18px;border-bottom:1px solid hsla(0,0%,100%,.08)}.admin-audit-list article p,.admin-audit-list article span{color:#a9b8e8;font-size:11px}.admin-audit-list article p{grid-column:1/-1;margin:0}@media (max-width:700px){.admin-stats{grid-template-columns:1fr}.admin-table td,.admin-table th{padding:11px}}.details-page>.bottom-nav{display:none}@media (min-width:900px){body,html{background:#f0ede7}.page-canvas{padding:32px}.phone-shell{width:min(100%,1180px);min-height:calc(100vh - 64px);padding:112px 56px 56px;border-radius:28px}.app-header{margin-bottom:46px}.location-button{gap:8px;font-size:14px}.icon-button,.round-action{width:46px;height:46px}.bottom-nav{top:0;bottom:auto;grid-template-columns:minmax(210px,1fr) repeat(6,auto);align-items:center;gap:5px;min-height:76px;padding:12px 24px;border-top:0;border-bottom:1px solid var(--line)}.bottom-nav.provider-nav{grid-template-columns:minmax(210px,1fr) repeat(4,auto)}.bottom-nav:before{content:"LEARN & BUILD";padding-left:4px;color:var(--purple);font-size:13px;font-weight:900;letter-spacing:.12em}.bottom-nav a{flex-direction:row;gap:7px;padding:10px 13px;border-radius:12px;font-size:10px}.bottom-nav a.active{background:#f0ebf9}.bottom-nav a svg{width:18px;height:18px}.app-overlay,.booking-overlay{align-items:center;padding:28px}.app-sheet,.booking-sheet{width:min(540px,100%);max-height:min(760px,88vh);border-radius:28px;animation:desktop-modal-in .2s ease-out}@keyframes desktop-modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.home-page{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);grid-column-gap:36px;column-gap:36px;align-content:start}.home-page>.app-header,.home-page>.bottom-nav,.home-page>.welcome-row{grid-column:1/-1}.home-page>.welcome-row{margin-bottom:30px}.welcome-row h1{font-size:52px}.recommendation-hero{grid-column:1;grid-row:3/span 5;min-height:620px}.recommendation-hero img{width:88%}.hero-content{width:64%;padding:64px 0 48px 48px}.hero-content h2{margin-top:52px;font-size:62px}.hero-content p{font-size:15px}.home-page>.section-block:not(.category-strip-section){grid-column:2;margin-top:0}.home-page>.category-strip-section{grid-column:2;margin-top:30px}.home-page>.trust-note{grid-column:2;margin-top:20px}.home-page .class-card-compact{grid-template-columns:116px 1fr;min-height:142px}.discover-intro{max-width:760px}.discover-intro h1{font-size:50px}.search-field{height:60px;padding:0 20px}.view-switcher{max-width:520px}.filter-row{margin-right:0;margin-left:0;padding-right:0;padding-left:0}.category-grid{grid-template-columns:repeat(3,1fr);gap:16px}.category-tile{min-height:168px;padding:22px}.category-tile .category-icon{margin-bottom:34px;font-size:28px}.category-tile strong{font-size:15px}.class-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.class-card{grid-template-columns:155px 1fr;min-height:180px}.class-card-copy{padding:20px}.class-card h3{font-size:17px}.discovery-map{height:610px}.map-preview{width:min(450px,calc(100% - 48px));margin:-170px 24px 0 auto}.timeline-page{display:grid;grid-template-columns:230px minmax(0,1fr);grid-column-gap:48px;column-gap:48px;align-content:start}.timeline-page>.app-header,.timeline-page>.bottom-nav,.timeline-page>.timeline-intro,.timeline-page>.timeline-tabs{grid-column:1/-1}.timeline-intro h1{font-size:52px}.timeline-tabs{width:min(680px,100%);margin:34px 0 32px;padding:5px;border:0;border-radius:16px;background:#eeebe5}.timeline-tabs button{padding:11px 18px;font-size:10px}.timeline-date-row{align-self:start;margin:0;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff}.timeline-date-row>div{width:64px}.class-timeline{max-width:760px}.class-timeline:before{left:94px}.timeline-event{grid-template-columns:76px 1fr;gap:38px;padding-bottom:20px}.timeline-event time{font-size:10px}.timeline-node{left:89px}.timeline-event>a{padding:22px}.timeline-card-top h2{font-size:16px}.timeline-card-top p,.timeline-meta span,.timeline-meta strong,.timeline-reason{font-size:10px}.timeline-card-top img{width:82px;height:66px}.timeline-empty{grid-column:2}.details-page{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(440px,.95fr);grid-template-rows:auto auto;padding:76px 0 0}.details-page>.bottom-nav{display:grid}.details-hero{grid-column:1;grid-row:1/span 2;height:calc(100vh - 140px);min-height:680px}.details-body{grid-column:2;padding:48px 44px 42px}.title-block h1{max-width:520px;font-size:46px}.reason-card{padding:26px}.details-section{margin-top:42px}.booking-bar{position:-webkit-sticky;position:sticky;grid-column:2;right:auto;bottom:0;left:auto;border-radius:18px 18px 0 0}.bookings-page>h1,.child-page>h1,.profile-page>h1,.provider-page>h1,.teacher-page>h1{max-width:720px;font-size:52px}.bookings-page>p,.child-page>p,.profile-page>p,.provider-page>p,.teacher-lede{max-width:680px;font-size:14px}.empty-bookings{max-width:820px;min-height:380px;justify-content:center}.bookings-list{grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%}.booked-card{max-width:820px;grid-template-columns:74px 1fr;padding:24px}.account-card,.customer-auth-form{max-width:680px;padding:28px}.child-profile-card{grid-template-columns:1fr 1fr;max-width:880px;padding:30px;gap:22px}.child-profile-card .profile-card-heading,.child-profile-card fieldset,.child-profile-card>.primary-wide{grid-column:1/-1}.provider-page .customer-auth-form,.teacher-page .customer-auth-form{max-width:680px}.provider-page .provider-section{padding:30px}.provider-page .provider-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.provider-page .provider-label{align-content:start}.provider-page .provider-form>.form-error,.provider-page .provider-form>.primary-wide,.provider-page .provider-form>.provider-saved,.provider-page .provider-form>.secondary-wide{width:min(680px,100%);margin-right:auto;margin-left:auto}.teacher-page .provider-form{width:min(680px,100%);margin:24px auto 0;gap:20px}.teacher-page .provider-section{margin-top:0;padding:24px}.teacher-page .provider-form>.form-error,.teacher-page .provider-form>.form-success,.teacher-page .provider-form>.primary-wide,.teacher-page .provider-form>.secondary-wide{width:100%}.provider-list{margin-top:34px}.provider-list article{grid-template-columns:1fr auto;align-items:center}}@media (min-width:1280px){.page-canvas{padding:40px}.phone-shell{min-height:calc(100vh - 80px);padding-right:64px;padding-left:64px}}@media (max-width:560px){.provider-metrics{grid-template-columns:1fr}.provider-earnings-copy,.provider-roster article,.provider-session-list article{align-items:stretch;flex-direction:column}.cancel-session-confirm{grid-template-columns:1fr}}