.public-site{color:#27322c;background:#f5f1e8;min-height:100vh;display:block;overflow:hidden}.public-header{border-bottom:1px solid #dcd7cb;justify-content:space-between;align-items:center;max-width:1180px;height:82px;margin:auto;padding:0 28px;display:flex}.public-brand{color:inherit;align-items:center;gap:12px;font:400 18px Georgia,serif;text-decoration:none;display:flex}.public-brand span{color:#fff;background:#405a47;border-radius:50% 50% 46% 46%;place-items:center;width:34px;height:40px;font-size:22px;font-style:italic;display:grid}.public-header nav{align-items:center;gap:27px;display:flex}.public-header nav a{color:#5f6861;font-size:12px;font-weight:700;text-decoration:none}.public-header nav .public-login{color:#405a47;border:1px solid #bfc8be;border-radius:6px;padding:10px 14px}.public-hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:84px;max-width:1180px;min-height:590px;margin:auto;padding:88px 28px 58px;display:grid}.public-kicker{color:#7b725f;letter-spacing:.17em;text-transform:uppercase;margin:0 0 16px;font-size:10px;font-weight:800}.public-hero h1{letter-spacing:-.045em;max-width:650px;margin:0;font:400 clamp(45px,6vw,76px)/1.02 Georgia,serif}.public-hero-copy>p:not(.public-kicker){color:#69716b;max-width:580px;margin:25px 0 0;font:400 18px/1.65 Georgia,serif}.public-actions{gap:11px;margin-top:34px;display:flex}.public-primary,.public-secondary{border-radius:6px;justify-content:center;align-items:center;padding:13px 18px;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex}.public-primary{color:#fff;background:#405a47}.public-secondary{color:#405a47;background:#ffffff45;border:1px solid #bfc5bb}.piano-panel{background:#dfe5d9;border:1px solid #c9d1c4;border-radius:180px 180px 10px 10px;min-height:430px;position:relative;overflow:hidden;box-shadow:0 24px 60px #405a4714}.piano-copy{text-align:center;padding:94px 52px 45px}.piano-copy span,.piano-copy strong,.piano-copy small{display:block}.piano-copy span{color:#6f776f;text-transform:uppercase;letter-spacing:.17em;font-size:10px}.piano-copy strong{margin:19px 0 13px;font:400 27px Georgia,serif}.piano-copy small{color:#667067;max-width:280px;margin:auto;font-size:12px;line-height:1.6}.piano-keys{background:#3c4840;grid-template-columns:repeat(9,1fr);gap:2px;height:112px;padding:0 2px 2px;display:grid;position:absolute;bottom:0;left:0;right:0}.piano-keys i{background:#fffdf8;border-radius:0 0 4px 4px;position:relative}.piano-keys i:nth-child(2):after,.piano-keys i:nth-child(3):after,.piano-keys i:nth-child(5):after,.piano-keys i:nth-child(6):after,.piano-keys i:nth-child(7):after{content:"";z-index:2;background:#27322c;border-radius:0 0 3px 3px;width:70%;height:65%;position:absolute;top:0;right:-36%}.public-section{background:#fffdf8;border-block:1px solid #ded9cf;padding:62px max(28px,50vw - 562px)}.public-section-heading{justify-content:space-between;align-items:end;margin-bottom:40px;display:flex}.public-section h2,.public-about h2,.public-contact h2{letter-spacing:-.025em;margin:0;font:400 clamp(32px,4vw,48px)/1.1 Georgia,serif}.lesson-options{border-top:1px solid #dad5ca;grid-template-columns:repeat(3,1fr);display:grid}.lesson-options article{border-right:1px solid #dad5ca;min-height:190px;padding:24px 28px 16px 0}.lesson-options article+article{padding-left:28px}.lesson-options article:last-child{border-right:0}.lesson-options span{color:#8b927e;font:400 12px Georgia,serif}.lesson-options h3{margin:32px 0 12px;font:400 23px Georgia,serif}.lesson-options p{color:#6a716b;max-width:290px;margin:0;font-size:13px;line-height:1.7}.public-about{grid-template-columns:.85fr 1.15fr;gap:100px;max-width:1124px;margin:auto;padding:82px 28px;display:grid}.public-about>div:last-child{border-top:1px solid #cfc9bd;padding-top:30px}.public-about>div:last-child p{color:#5d665f;margin:0;font:400 19px/1.8 Georgia,serif}.public-contact{color:#fff;background:#405a47;border-radius:10px;justify-content:space-between;align-items:end;gap:50px;max-width:1124px;margin:0 auto;padding:56px;display:flex}.public-contact .public-kicker{color:#ccd6ce}.public-contact p:not(.public-kicker){color:#d8dfda;max-width:610px;margin:18px 0 0;font-size:13px;line-height:1.7}.public-contact .public-secondary{color:#fff;border-color:#91a095;flex:none}.public-footer{color:#747b74;justify-content:space-between;max-width:1180px;margin:auto;padding:40px 28px 30px;font-size:10px;display:flex}.public-footer a{color:#59665c;text-decoration:none}.public-footer a:hover,.public-header a:hover{text-decoration:underline}@media (width<=800px){.public-header{height:auto;padding-block:18px}.public-header nav>a:not(.public-login){display:none}.public-hero{grid-template-columns:1fr;gap:50px;min-height:0;padding-top:52px;padding-bottom:52px}.piano-panel{width:100%;max-width:500px;min-height:360px;margin:auto}.public-section-heading,.public-contact{display:block}.lesson-options{grid-template-columns:1fr}.lesson-options article,.lesson-options article+article{border-bottom:1px solid #dad5ca;border-right:0;min-height:0;padding:25px 0}.lesson-options article:last-child{border-bottom:0}.lesson-options h3{margin-top:20px}.public-about{grid-template-columns:1fr;gap:42px;padding-block:64px}.public-contact{margin-inline:20px;padding:38px 28px}.public-contact .public-secondary{margin-top:28px}.public-footer{gap:15px;display:grid}.public-hero h1{font-size:48px}}@media (width<=480px){.public-brand strong{font-size:15px}.public-login{padding:9px!important;font-size:10px!important}.public-hero{padding-inline:20px}.public-actions{flex-direction:column;align-items:stretch}.piano-copy{padding-inline:28px}.public-section,.public-about{padding-inline:20px}.public-contact{margin-inline:12px}.public-hero h1{font-size:42px}}html[data-theme=dark] .public-site{color:#27322c;background:#f5f1e8}.public-contact{grid-template-columns:.9fr 1.1fr;align-items:start;gap:70px;display:grid}.public-contact-copy>p:not(.public-kicker){max-width:480px}.public-contact .public-secondary{margin-top:28px;display:inline-flex}.public-contact-form{gap:14px;display:grid}.public-contact-form>div{grid-template-columns:1fr 1fr;gap:12px;display:grid}.public-contact-form label{color:#dbe2dc;font-size:10px;font-weight:750;display:block}.public-contact-form input,.public-contact-form textarea{color:#27322c;background:#fff;border:1px solid #87998b;border-radius:6px;width:100%;margin-top:6px;padding:11px;display:block}.public-contact-form textarea{resize:vertical;min-height:112px;font:inherit;font-size:12px;line-height:1.5}.public-contact-form .public-primary{border:0;justify-self:start}.public-contact-form>p{color:#dce4de!important;margin:0!important;font-size:11px!important}.public-honeypot{position:absolute!important;left:-10000px!important}@media (width<=800px){.public-contact{display:block}.public-contact-form{margin-top:38px}}@media (width<=480px){.public-contact-form>div{grid-template-columns:1fr}}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAn4ABMAAAAAEwQAAAmOAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjQbgnQcLj9IVkFSgQEGYD9TVEFUgQIAgQovahEICok0h0ULIAAwhzoBNgIkAzwEIAWHJgeBDgwHG6QQUdRKTmoBFD8K42bniObKrG3LZFcMWZzFmrjTFhQ6TVTqPJcInrfrvzq3b2PGn1wwMiNYGTy9ViREYARlL1zAGcPdPqBt3gNWrfKthv4xnM+b9caw+wmjgEUVRjHXhS6jgCK6zf5HiWQacJpGdAgdrbV6g/Rf1BfxRqZVQnrxRVWSJb6RLFnyu0elilmjeoSQCKnxsmwLaddUMjnksriSYuuPl06EAl7KfAiWQjCUETz0zNZ3EII94CDQtzkMfZ/9IkkY8tZRZTDky5ZVwBAM+GYpdd4ZVAWYImnLkiTg48l79gGx3D+VBtLeyg8u7bJAd4uo0pFuQBFysE9C95l0W4Fkiao6GfrDbu77lVU7wk9cV3uqOsXmQiMkhVKl1ugjzUAJBSIkkVWHijkpkVSyUFsgVBuJMA0N+ZnXtyUv5yMigGdfQRmwL1AAjQ3YXG6iIFNSUdPQo8+AISPGAltBMDQRAtyf4ZspLlZkpyOVoMZPvFGWzvk8p5SUC/NWPMj6T2/Yas2EdlON5GkfdkeFwVGjta825H89NIenlLWAPAp5h1KDtRhCaAQWMsFKtEvOKpIhgLHlXPARokkgEGEOAkqxJRQpKYq4ezahIiLHP6hZpqMbV0pUF2vdvEimLEQ/iIUYLgYWs0VXGVlLTOPdaPmFfCC/XrtzqVo1ez7vz6+Kd2+7o11ZJ+4MreLbB5BKVGxobAq4jZYalZ5aX2CKJiwUuc9GNJyi4M8bGyKcdjSRrG4JohdF8buJfmQefbYYREnMFsOoiNliFDVxmRgL0XUmUMLqzW0A4gCQAhWGYCQpFNukwXhIkPMsbRI19ewtw8Cp2Wj/Ro5cM2OTAbJAvZ/L4opBXb9+UHscYuOKM/W8isgwN26Exexjizmfnlp9dE3hOSqdZ/F5QqbckIlPb+oKfXxd6hftJ7Sm/uyPYpONza84CRlMNk/uhOrLpyf53982++zRkXNu3g3VF8qFbx1+7fbHZ9DrB3VXWNSmhnT2vrwS1+1Z+kHGBaZIhnnvuLBTNDeA340D1DWu5/jEa9pVfl6+Jij+yo3EELNixXCLjr173Q5eDP7Y7/L4iQFHbjpaJLFoP4cCsYP6sAPL7gMHNg53yYjqxqTDrYqLDl5DzW/eTLjYxCvucprjI3yl2ykKowKUC2Ox2FJLFo6Fa1HBWLC2jMCIIBEmklkYhmkpmBhTm/LCvJAH5oGcMKcgFEP1xUdho8ANPa6RFD99/PN60fjj9eXy2Eex4B5MpmRapXidzFk1p4uLk3+hn6jAP9ovJcXPPwk8o/0ltizbdbnTprvx4PSxT0VZ3Xc772aN7RflgbXRYwc3hLNO+k878nxGwfuVM8m8Gs7WEoVGWLHwSpx4vNSHBCMNqJ4m15Kp/TfHHVkQd++eY7PGN4W5byTs+6Ft8Ozvb/D60btv37de8ER0mS3P/0sLW84qGjEVkwztPzz06eGUWwKLwPb0D/WFd3vltl2aP276KpM0JNz6AfnAnZ5ADlF2zVyZ2OkxHSMxWPMnSZLbbDR3F1UjPVqp4d68da13F1YZujdWw7271iecO2l9+/4p47Oztjck355/75wFOI+VdGDqbNGs+ISgxg3iB2jb2r+b0CWsNLHIM4sdv8SDSFBP/Oromz6FNCWw2iMTxV0R8QLyBTkpe0j5+pSSJOOTB5Mck/gh3IopuNQnhKj02t3FL80gGbEh89SZcwTxcYt5cZT/nMnB3uXfPy8BSpVMBuRx+ZhACGzDBmwHsJRAjhotOnzuj2wDz3ug2wOUAY2NgZln9/TK/enG/oE4rO1wxvGUFMAxsZ0qNjRC7hl9d17e7imbgDt6uJXhUobDg7v3RX/yRCKxgMhfyiKcZfbpk0wmCcdQlIAOHeakXLvCNt++WfKiozNqSZxxJotn+c0a7DdPsx7DPYgKIDxwwYUZDg9aJbxocTjcwovr9WAsVV32mQoiiIOCHc60Oltst9qCQYuCqN1yHo0Kj60OgI2OqmiuBUWrNA0NDhYCDcdpmMrs1fZZ0xdTzMr1HdPtIHstYhqaPDDA5YxUDx7J4fJiisBSDI/L6G/bn34GNy8Q2g044ZTulAdFLb0tI6NNxfj3DzLjWiNGxje1pz7aXOcNV68lDPEd2SXl6VfBuwmHzdf1gxFy1HvA7pD8I2BnnmyGw852Cg5XbgIdEEGE5UCzen5jTlG6JCU5iajlxVcsXvbcS0SAcg1dcesWJLVK8+hYHOYQ+Pjy+EyVGXP0aPTFagrV9E03hCQvYx+g47KGq+1GsLj8uBIyihNw33YUe8PNC4BOJ3Lm1AglLV3nCuvUdIP+v15tVGbWIwgxLVpPkfpthCGpTKG+oA/DQfsKKvxhScqaN6FuElAUtTKv2UYgOmQegsN/n7njHUju8wM4VTcm+Q8xfX9SFwjTzdVqu95UOWSIGOabH8OGBEba//8Yxl3GcPdP/dMBOoSX/0z5SZmBoLbaPs+9asaMpb36yknKaw6FqWZa6A5vDa02mhkOba1q6KtLV208xrkwmW5C4VD6n2fvRjADy2qDYYnNy+H10Fq0LMbNzS863gkO7iQ8eC48/Ny5m59tOcEso3u7Qg3yrqDL6eKXwJAuWnhylfbWrRObe66rzX59+XDtzusnL66dI/86ArmtLlzED860Ef3bFPV78OX/zFTA11fcBn2Vntb7qiGBSgLBHyuv/uEaqqoTgSpOyjlzh86me1Vriv7i9rLPLvtghWmSnblRbAsBJL/4dScSQTBxOivHMO5QvBBY0iheJvfwWLxLOGzYKZyM4zVc2Cll46zEpeUV4MqGEWZj22SdOxhGAjgs9AEnfT+RoiMfcDb0GS5NncKVxju4Nt/mRk13O9Gz3FLct5oCD6wkwUNrCfHIUg6SMf8LwQGyVaBUqpLPW5BaMpRshEpl8nS1qw5dgnzlik8QBXmdy5UrIH74heTKZKMSilQso4hsRiGraQZRzxpNGqlEJMsXuAU7GlcR8mWSykUpVkWGyIf0a8v4qEQp5CtGsMiZa+4ESYQy+WilCiguHzxMXO54ogShooTV2bj2z1zL6DYSoImoQ8lFUWxMLBNQQgLkV2tHYgUoIbkuREz+fJHKxxWBcnvu3KQppFCxLkguB1NyVSp/TknRvNwYlCdbblWu3ze6owHdWluhE5tgQ6ej2SV65CijijoaRfSiH4Nqz1OpfEW+WeI/oU0ly60zkV9YzOQSYtZVEGYmrysTZAJkY4qZtIBD9/LYTIK7Nww3vMiYBwA=)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-cyrillic-ext-wght-normal-YcVxMP-u.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-cyrillic-wght-normal-UWPuZLjM.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-math-wght-normal-sOy7rEfW.woff2)format("woff2-variations");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-symbols-wght-normal-DQ5VrUkH.woff2)format("woff2-variations");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-vietnamese-wght-normal-CfJ7gtf3.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-latin-ext-wght-normal-C2Wlntb9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-latin-wght-normal-BiLcIKcI.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.hidden{display:none}.inline{display:inline}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e8eee9;--muted:#aab5ad;--cream:#141a16;--paper:#1d2520;--sage:#92ad96;--sage-dark:#789b80;--line:#37423b;--coral:#df8067;--gold:#d0ac61;--blue:#89a2ba}body,.sidebar,.content,.portal-header,.mobile-head,.paper,.modal{transition:background-color .18s,color .18s,border-color .18s}:root{--ink:#25322c;--muted:#727870;--cream:#f4f0e7;--paper:#fffdf8;--sage:#66806a;--sage-dark:#405a47;--line:#ded9cd;--coral:#d96c50;--gold:#c19b50;--blue:#718ba3}*{box-sizing:border-box}html,body{background:var(--cream);min-height:100%;color:var(--ink);margin:0}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input,select{font:inherit;color:inherit}button{cursor:pointer}main{min-height:100vh;display:flex}.sidebar{z-index:10;background:#e7eadf;border-right:1px solid #d3d8cb;flex-direction:column;width:248px;padding:30px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0 8px;display:flex}.brand-mark{background:var(--sage-dark);color:#fff;border-radius:50% 50% 46% 46%;place-items:center;width:38px;height:44px;font-family:Georgia,serif;font-size:25px;font-style:italic;display:grid;box-shadow:inset 0 0 0 3px #ffffff26}.brand strong,.brand small{display:block}.brand strong{font-family:Georgia,serif;font-size:18px}.brand small{letter-spacing:.07em;color:#69736a;margin-top:2px;font-size:10px}.sidebar nav{gap:5px;margin-top:42px;display:grid}.sidebar nav button{text-align:left;color:#5c685e;background:0 0;border:0;border-radius:8px;align-items:center;gap:13px;padding:11px 12px;font-size:14px;font-weight:650;display:flex}.sidebar nav button>span{text-align:center;width:20px;font-size:17px}.sidebar nav button.active{background:var(--paper);color:var(--sage-dark);box-shadow:0 2px 8px #52644e12}.sidebar nav button b{background:var(--coral);color:#fff;border-radius:99px;margin-left:auto;padding:2px 6px;font-size:10px}.sidebar-calendar{border-top:1px solid #cfd5c9;margin-top:28px;padding-top:22px}.mini-calendar{font-size:11px}.calendar-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.calendar-head strong{font-family:Georgia,serif;font-size:13px}.calendar-head button{background:0 0;border:0;font-size:18px}.weekdays,.days{text-align:center;grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.weekdays{color:#8a9088;margin-bottom:5px}.days button,.days i{aspect-ratio:1;background:0 0;border:0;border-radius:50%;place-items:center;font-size:10px;font-style:normal;display:grid;position:relative}.days button.has-lesson:after{content:"";background:var(--sage);border-radius:50%;width:2px;height:2px;position:absolute;bottom:1px}.days button.selected{background:var(--sage-dark);color:#fff}.sidebar-footer{border-top:1px solid #cfd5c9;margin-top:auto;padding-top:16px}.sidebar-footer button{text-align:left;background:0 0;border:0;align-items:center;gap:9px;width:100%;display:flex}.sidebar-footer strong,.sidebar-footer small{font-size:11px;display:block}.sidebar-footer small{color:#777;margin-top:2px;font-size:9px}.sidebar-footer i{margin-left:auto}.avatar{color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:11px;font-weight:750;display:grid}.avatar.teacher{background:#4e6553}.content{background:radial-gradient(circle at 80% 5%,#fff8 0,transparent 28%),var(--cream);width:calc(100% - 248px);min-height:100vh;margin-left:248px}.page-wrap{max-width:1240px;margin:auto;padding:48px 52px 64px}.welcome-row{justify-content:space-between;align-items:flex-end;margin-bottom:32px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.17em;color:#8c8172;margin:0 0 8px;font-size:10px;font-weight:800}.welcome-row h1{letter-spacing:-.025em;margin:0;font-family:Georgia,serif;font-size:38px;font-weight:400}.lede{color:var(--muted);margin:9px 0 0;font-family:Georgia,serif;font-size:15px}.primary{background:var(--sage-dark);color:#fff;border:0;border-radius:7px;padding:12px 17px;font-size:13px;font-weight:700;box-shadow:0 6px 16px #405a4722}.primary:hover{background:#334a39}.primary span{margin-right:5px;font-size:18px}.paper{background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #4b514716}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:22px;display:grid}.schedule-card{padding:25px 27px 22px}.section-title{justify-content:space-between;align-items:end;display:flex}.section-title h2{margin:0;font-family:Georgia,serif;font-size:22px;font-weight:400}.text-button{color:var(--sage-dark);background:0 0;border:0;padding:5px 0;font-size:11px;font-weight:750}.lesson-list{margin-top:15px}.lesson{grid-template-columns:58px 3px 1fr 34px;align-items:center;gap:15px;min-height:91px;display:grid;position:relative}.lesson-time{text-align:right}.lesson-time strong,.lesson-time span{display:block}.lesson-time strong{font-family:Georgia,serif;font-size:17px}.lesson-time span{letter-spacing:.12em;color:#8a8a80;font-size:8px}.lesson-rule{border-radius:3px;height:50px}.lesson-rule.coral{background:var(--coral)}.lesson-rule.blue{background:var(--blue)}.lesson-rule.gold{background:var(--gold)}.lesson-main h3{margin:0 0 3px;font-family:Georgia,serif;font-size:17px}.lesson-main p{color:var(--muted);margin:0 0 7px;font-size:10px}.lesson-note{color:#6c6a62;background:#f1eee5;border-radius:4px;padding:4px 7px;font-size:9px;display:inline-block}.circle-button{border:1px solid var(--line);background:0 0;border-radius:50%;width:31px;height:31px}.staff-lines{background:#e9e5db;height:1px;position:absolute;bottom:0;left:73px;right:0}.next-gap{border-top:1px solid var(--line);align-items:center;gap:12px;margin-top:15px;padding:16px 9px 0;display:flex}.next-gap>span{font-size:22px}.next-gap strong{font-family:Georgia,serif;font-size:13px}.next-gap p{color:var(--muted);margin:3px 0 0;font-size:9px}.right-rail{gap:20px;display:grid}.summary-card,.note-card{padding:23px}.live-dot{color:var(--sage);font-size:9px;font-weight:700}.live-dot:before{content:"";background:#79a26e;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.stats{grid-template-columns:repeat(3,1fr);margin:22px 0 12px;display:grid}.stats div{border-right:1px solid var(--line);padding-left:12px}.stats div:first-child{padding-left:0}.stats div:last-child{border:0}.stats strong,.stats span{display:block}.stats strong{font-family:Georgia,serif;font-size:24px;font-weight:400}.stats span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:8px}.progress{background:#e9e7df;border-radius:10px;height:5px;overflow:hidden}.progress span{background:var(--sage);border-radius:10px;height:100%;display:block}.small-copy{color:var(--muted);margin:8px 0 0;font-size:9px}.note-card{background:#f1e6c8;position:relative;transform:rotate(.4deg)}.pin{color:#9c835a;font-size:11px;position:absolute;top:14px;right:19px}.note-card h3{margin:13px 0 8px;font-family:Georgia,serif}.note-card>p:not(.eyebrow){color:#6c6556;font-family:Georgia,serif;font-size:12px;line-height:1.5}.student-row{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px;display:grid}.student-row article{border-right:1px solid var(--line);grid-template-columns:36px 1fr;align-items:center;gap:9px;padding-right:10px;display:grid}.student-row article:last-child{border:0}.student-row h3{margin:0;font-family:Georgia,serif;font-size:13px}.student-row p{color:var(--muted);margin:3px 0;font-size:9px}.streak{color:var(--sage);grid-column:2;font-size:8px;font-weight:700}.mobile-head,.mobile-nav{display:none}.full-calendar{padding:24px}.calendar-toolbar{align-items:center;gap:12px;margin-bottom:22px;display:flex}.calendar-toolbar h2{font-family:Georgia,serif;font-weight:400}.calendar-toolbar>button:not(.outline){border:1px solid var(--line);background:0 0;border-radius:50%;width:30px;height:30px}.calendar-toolbar span{flex:1}.outline{border:1px solid var(--line);background:0 0;border-radius:6px;padding:9px 12px;font-size:11px;font-weight:700}.week-grid{grid-template-columns:58px repeat(5,1fr);display:grid}.week-grid>strong{text-align:center;padding-bottom:12px;font-size:11px}.calendar-row{display:contents}.calendar-row>span{color:var(--muted);padding-top:10px;font-size:9px}.slot{border-top:1px solid var(--line);border-left:1px solid #ebe7de;height:72px;padding:5px}.slot button{border:0;border-radius:5px;width:100%;height:100%;font-size:9px}.booked{color:#5c715e;background:#e2e7df}.available{color:#a25842;background:#f5e2d7;border:1px dashed #d48870!important}.privacy-note{background:#edf0e9;border-radius:7px;align-items:center;gap:11px;margin-top:20px;padding:12px 16px;display:flex}.privacy-note p{color:#647066;margin:0;font-size:10px}.privacy-note span{font-size:20px}.student-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.student-card{padding:21px;position:relative}.avatar.large{width:48px;height:48px;font-size:13px}.status{color:var(--sage);background:#e8eee5;border-radius:20px;padding:4px 8px;font-size:9px;position:absolute;top:18px;right:18px}.student-card h2{margin:17px 0 4px;font-family:Georgia,serif;font-size:20px;font-weight:400}.student-card>p{color:var(--muted);font-size:10px}.piece{background:#f2efe7;border-radius:6px;margin:16px 0;padding:10px}.piece span,.piece strong{display:block}.piece span{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:5px;font-size:8px}.piece strong{font-family:Georgia,serif;font-size:12px}.card-footer{color:var(--muted);justify-content:space-between;align-items:center;font-size:8px;display:flex}.card-footer button{color:var(--sage-dark);background:0 0;border:0;font-size:9px;font-weight:700}.payment-stats{grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:20px;display:grid}.payment-stats>div{padding:20px}.payment-stats span,.payment-stats strong,.payment-stats em{display:block}.payment-stats span{color:var(--muted);font-size:9px}.payment-stats strong{margin:7px 0;font-family:Georgia,serif;font-size:30px;font-weight:400}.payment-stats em{color:var(--sage);font-size:9px;font-style:normal}.payment-stats em.warm{color:var(--coral)}.ledger{padding:23px}.ledger-row{border-bottom:1px solid #ebe7de;grid-template-columns:36px 1fr 70px 90px 25px;align-items:center;gap:12px;padding:15px 0;display:grid}.ledger-row>div:nth-child(2) strong,.ledger-row>div:nth-child(2) span{display:block}.ledger-row>div:nth-child(2) strong{font-family:Georgia,serif;font-size:13px}.ledger-row>div:nth-child(2) span{color:var(--muted);margin-top:3px;font-size:8px}.avatar.small{width:32px;height:32px;font-size:9px}.ledger-row>strong{font-family:Georgia,serif}.pill{color:var(--sage);text-align:center;background:#e8eee5;border-radius:20px;padding:5px 8px;font-size:8px}.pill.due{color:#b85e44;background:#f6e1d7}.ledger-row>button{background:0 0;border:0}.inbox aside{border-right:1px solid var(--line);padding:9px}.inbox aside button{text-align:left;background:0 0;border:0;border-radius:7px;grid-template-columns:34px 1fr 30px;align-items:center;gap:9px;width:100%;padding:12px;display:grid}.inbox aside button.active{background:#edf0e9}.inbox aside strong,.inbox aside span{display:block}.inbox aside strong{font-family:Georgia,serif;font-size:12px}.inbox aside span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:8px;overflow:hidden}.inbox time{color:var(--muted);font-size:8px}.conversation{flex-direction:column;display:flex}.conversation-head{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:17px 21px;display:flex}.conversation h2{margin:0;font-family:Georgia,serif;font-size:17px}.conversation-head p{color:var(--muted);margin:3px 0 0;font-size:9px}.bubbles{flex-direction:column;flex:1;gap:12px;padding:30px;display:flex}.bubbles p{border-radius:9px;max-width:70%;margin:0;padding:11px 13px;font-size:11px;line-height:1.5}.bubbles .theirs{background:#eeeae1}.bubbles .mine{background:var(--sage-dark);color:#fff;align-self:flex-end}.conversation form{border-top:1px solid var(--line);gap:10px;padding:14px;display:flex}.conversation input{border:1px solid var(--line);background:#fff;border-radius:7px;flex:1;padding:10px}.modal-backdrop{z-index:30;background:#24332b88;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--paper);border-radius:12px;width:min(430px,100%);padding:29px;position:relative;box-shadow:0 24px 70px #1117}.modal h2{margin:0 0 22px;font-family:Georgia,serif;font-size:27px;font-weight:400}.close{background:0 0;border:0;font-size:24px;position:absolute;top:12px;right:16px}.modal label{margin-top:13px;font-size:10px;font-weight:750;display:block}.modal select,.modal input{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;margin-top:6px;padding:10px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal .check{align-items:center;gap:8px;font-weight:500;display:flex}.modal .check input{width:auto;margin:0}.wide{width:100%;margin-top:20px}.toast{background:var(--ink);color:#fff;z-index:50;border-radius:7px;padding:13px 17px;font-size:11px;position:fixed;bottom:25px;right:25px;box-shadow:0 9px 25px #1115}@media (width<=900px){.sidebar{width:210px}.content{width:calc(100% - 210px);margin-left:210px}.page-wrap{padding:36px 28px}.dashboard-grid{grid-template-columns:1fr}.right-rail,.student-row{grid-template-columns:1fr 1fr}.student-row article:nth-child(2){border:0}.student-grid{grid-template-columns:1fr 1fr}.inbox{grid-template-columns:220px 1fr}}@media (width<=680px){.sidebar{display:none}.content{width:100%;margin:0;padding-bottom:68px}.mobile-head{border-bottom:1px solid var(--line);z-index:10;background:#e7eadf;justify-content:space-between;align-items:center;height:64px;padding:10px 17px;display:flex;position:sticky;top:0}.mobile-head .brand-mark{width:29px;height:34px;font-size:18px}.mobile-head>span{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:10px}.page-wrap{padding:26px 17px}.welcome-row{display:block}.welcome-row h1{font-size:31px}.welcome-row .primary{margin-top:20px}.right-rail{grid-template-columns:1fr}.students-strip{display:none}.schedule-card{padding:20px 14px}.lesson{grid-template-columns:48px 3px 1fr 30px;gap:9px}.student-grid,.payment-stats{grid-template-columns:1fr}.inbox{grid-template-columns:1fr;min-height:auto}.inbox aside{border:0}.conversation{display:none}.ledger-row{grid-template-columns:32px 1fr 50px 78px}.ledger-row>button{display:none}.week-grid{min-width:650px}.full-calendar{overflow-x:auto}.mobile-nav{background:var(--paper);border-top:1px solid var(--line);z-index:20;padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(6,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:var(--muted);background:0 0;border:0;padding:8px 1px 7px;font-size:8px}.mobile-nav button span{margin-bottom:2px;font-size:17px;display:block}.mobile-nav button.active{color:var(--sage-dark);background:#edf0e9}.student-row,.form-row{grid-template-columns:1fr}}.week-grid{grid-template-columns:58px repeat(7,1fr)}.slot{height:36px}.empty-state{text-align:center;color:var(--muted);padding:42px}.empty-state h2{color:var(--ink);margin:0 0 8px;font-family:Georgia,serif;font-weight:400}.empty-state p{max-width:440px;margin:0 auto 18px;line-height:1.5}.empty-state.compact{padding:28px 16px}.inbox>.empty-state{grid-column:1/-1;align-self:center}button:disabled{cursor:not-allowed;opacity:.55}.recent-lessons article{border-bottom:1px solid var(--line);grid-template-columns:36px minmax(140px,1fr) 120px 170px auto;align-items:center;gap:14px;padding:12px 0;display:grid}.recent-lessons article:last-child{border-bottom:0}.recent-lessons article>strong{font-family:Georgia,serif;font-size:14px}.recent-lessons article>button{color:var(--sage-dark);background:0 0;border:0;font-size:10px;font-weight:750}.empty-lessons,.empty-history{color:var(--muted);padding:24px 8px;font-size:11px}.empty-lessons strong{color:var(--ink);font-family:Georgia,serif;font-size:16px}.empty-lessons p{margin:6px 0 0}@media (width<=680px){.students-strip.upcoming-week-card{display:block}.recent-lessons article{grid-template-columns:36px 1fr auto}.recent-lessons article>span:nth-of-type(2),.recent-lessons article>button{grid-column:2/-1}.recent-lessons article>span:first-of-type{justify-self:end}}.sidebar-footer i{color:var(--sage-dark);font-size:9px;font-style:normal;font-weight:750}.mobile-signout{color:var(--sage-dark);background:0 0;border:0;padding:8px;font-size:9px;font-weight:750}.teacher-home-button{background:var(--paper);margin-bottom:18px}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}.student-preview-button{text-align:left;background:#f7f7f1;border:1px solid #ccd3c8;border-radius:8px;align-items:center;gap:9px;margin-top:auto;margin-bottom:14px;padding:10px;display:flex}.student-preview-button>span:first-child{color:var(--sage);font-size:16px}.student-preview-button strong,.student-preview-button small{font-size:10px;display:block}.student-preview-button small{color:var(--muted);margin-top:2px;font-size:8px}.student-preview-button b{margin-left:auto}.nav-icon{flex:0 0 20px;place-items:center;height:20px;display:inline-grid;position:relative}.nav-icon-home:before{content:"";border-top:2px solid;border-left:2px solid;border-radius:2px 0 0;width:11px;height:11px;position:absolute;top:2px;left:4px;transform:rotate(45deg)}.nav-icon-home:after{content:"";border:2px solid;border-top:0;border-radius:0 0 3px 3px;width:12px;height:10px;position:absolute;bottom:1px;left:4px}.nav-icon-calendar{border:2px solid;border-radius:4px;height:18px;width:18px!important}.nav-icon-calendar:before{content:"";border-top:2px solid;position:absolute;top:4px;left:-2px;right:-2px}.nav-icon-calendar:after{content:"";background:currentColor;border-radius:50%;width:2px;height:2px;position:absolute;top:8px;left:3px;box-shadow:5px 0,10px 0,0 5px,5px 5px,10px 5px}.sidebar-footer{align-items:center;gap:8px;margin-top:0;display:flex}.sidebar-calendar{margin-top:18px;padding-top:16px}.sidebar{overflow-y:auto}.sidebar-week-heading{justify-content:space-between;align-items:baseline;padding:0 7px 8px;display:flex}.sidebar-week-heading strong{font:400 15px Georgia,serif}.sidebar-week-heading span{color:var(--muted);font-size:11px}.sidebar-week-days{gap:3px;display:grid}.sidebar-week-days button{text-align:left;background:0 0;border:0;border-radius:7px;grid-template-columns:48px 1fr auto;align-items:center;gap:7px;width:100%;min-height:42px;padding:5px 7px;display:grid}.sidebar-week-days button:hover,.sidebar-week-days button.today{background:color-mix(in srgb,var(--paper) 72%,transparent)}.sidebar-week-days button>span strong,.sidebar-week-days button>span small{display:block}.sidebar-week-days button>span:first-child strong{font-size:13px}.sidebar-week-days button>span:first-child small{color:var(--muted);margin-top:1px;font-size:11px}.sidebar-week-days button>span:nth-child(2) strong{font-size:12px}.sidebar-week-days button>span:nth-child(2) small{color:var(--muted);margin-top:1px;font-size:11px}.sidebar-week-days button>b{color:var(--sage-dark);font-size:18px;font-weight:400}.week-grid>strong.focused-day{color:var(--sage-dark);background:#e8efe4;border-radius:6px 6px 0 0}.full-calendar .slot.focused-day{background:#e8efe457}html[data-theme=dark] .week-grid>strong.focused-day,html[data-theme=dark] .sidebar-week-days button.today{color:#c7dfcb;background:#26382a}html[data-theme=dark] .full-calendar .slot.focused-day{background:#26382a61}.sidebar-owner{flex:1;align-items:center;gap:9px;min-width:0;display:flex}.sidebar-owner strong,.sidebar-owner small{font-size:11px;display:block}.sidebar-owner small{color:var(--muted);margin-top:2px;font-size:8px}.sidebar-footer .sidebar-signout{border:1px solid var(--line);background:var(--paper);width:auto;color:var(--sage-dark);text-align:center;border-radius:6px;flex:none;padding:6px 8px;font-size:8px;font-weight:750;display:inline-flex}.next-gap>span{border:1px solid var(--line);border-radius:50%;place-items:center;width:29px;height:29px;font-size:11px;font-weight:800;display:grid}.right-rail{align-self:start}.dashboard-grid>.right-rail{grid-auto-rows:1fr;align-self:stretch}.recent-lessons{margin-top:13px}.recent-lessons article{border-top:1px solid var(--line);grid-template-columns:36px 1fr 75px 65px 90px;align-items:center;gap:12px;min-height:51px;font-size:10px;display:grid}.recent-lessons article>strong{font:400 13px Georgia,serif}.recent-lessons article>span{color:var(--muted);font-size:9px}.recent-lessons article>button{color:var(--sage-dark);text-align:right;background:0 0;border:0;font-size:9px;font-weight:700}.empty-lessons{text-align:center;padding:36px 12px}.empty-lessons strong{font:400 17px Georgia,serif}.empty-lessons p,.empty-history{color:var(--muted);font-size:9px;line-height:1.55}.empty-history{margin:18px 0 4px}.student-portal{background:var(--cream);min-height:100vh;display:block}.portal-header{z-index:10;background:#e7eadf;border-bottom:1px solid #cfd5c9;align-items:center;gap:38px;height:76px;padding:0 36px;display:flex;position:sticky;top:0}.portal-header nav{gap:18px;margin-left:auto;display:flex}.portal-header nav button{color:#778078;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 2px;font-size:11px;font-weight:700}.portal-header nav button.active{color:var(--sage-dark);border-color:var(--sage-dark)}.portal-account{border-left:1px solid #cbd2c7;align-items:center;gap:9px;padding-left:22px;display:flex}.portal-account strong,.portal-account small{font-size:10px;display:block}.portal-account small{color:var(--muted);font-size:8px}.portal-account button{background:var(--paper);border:1px solid #c7cec2;border-radius:6px;margin-left:7px;padding:7px 9px;font-size:9px}.portal-wrap{max-width:920px;margin:auto;padding:46px 30px 70px}.portal-title{justify-content:space-between;align-items:end;margin-bottom:28px;display:flex}.portal-title h1{margin:0;font:400 39px Georgia,serif}.portal-title>div>p:last-child{color:var(--muted);margin:7px 0 0;font-size:12px}.student-history{padding:8px 28px}.student-history>.section-title{padding:20px 0 5px}.student-portal-layout{grid-template-columns:minmax(0,1.65fr) minmax(230px,.75fr);align-items:start;gap:18px;display:grid}.student-portal-aside{gap:18px;display:grid}.student-billing,.student-message{padding:22px}.student-billing strong,.student-billing span{display:block}.student-billing>strong{margin:13px 0 3px;font:400 32px Georgia,serif}.student-billing>span{color:var(--sage);margin-bottom:17px;font-size:9px}.student-message h2{margin:12px 0;font:400 18px Georgia,serif}.student-message textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:105px;font:inherit;background:#fff;border-radius:6px;margin-bottom:10px;padding:10px;font-size:10px}.portal-single{max-width:620px;margin:auto}.student-home-grid{grid-template-columns:minmax(0,1.6fr) minmax(220px,.7fr);align-items:start;gap:18px;display:grid}.student-home-main,.student-home-aside{gap:18px;display:grid}.next-lesson-card{border-left:4px solid var(--sage);grid-template-columns:1fr auto auto;align-items:center;gap:15px;padding:23px;display:grid}.next-lesson-card h2{margin:0 0 5px;font:400 23px Georgia,serif}.next-lesson-card p:not(.eyebrow){color:var(--muted);margin:0;font-size:10px}.confirmed-status{color:var(--sage-dark);background:#e8efe4;border-radius:20px;padding:6px 9px;font-size:8px;font-weight:750}.home-request-card{border-left:4px solid var(--gold);justify-content:space-between;align-items:center;gap:15px;padding:18px 21px;display:flex}.home-request-card h2{margin:0 0 4px;font:400 17px Georgia,serif}.home-request-card p:not(.eyebrow),.home-request-card>span{color:var(--muted);margin:0;font-size:9px}.home-request-card>span{color:#8b744c;background:#f3eee1;border-radius:20px;padding:6px 9px;font-weight:750}.home-history{padding:23px}.home-history article{border-bottom:1px solid var(--line);grid-template-columns:55px 1fr;gap:14px;padding:17px 0;display:grid}.home-history article:last-child{border-bottom:0;padding-bottom:0}.home-history time{color:var(--sage-dark);font:400 12px Georgia,serif}.home-history strong{font-size:10px}.home-history article p{color:var(--muted);margin:5px 0 0;font-size:9px;line-height:1.55}.home-shortcut{padding:21px}.home-shortcut>strong{margin:11px 0 3px;font:400 29px Georgia,serif;display:block}.home-shortcut>span{color:var(--sage);margin-bottom:12px;font-size:9px;display:block}.home-shortcut h2{margin:10px 0 7px;font:400 17px Georgia,serif}.home-shortcut>p:not(.eyebrow){color:var(--muted);font-size:9px;line-height:1.55}.home-calendar-action{width:100%}.student-week-calendar{margin-bottom:18px;padding:24px;overflow:hidden}.student-calendar-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:20px;display:flex}.student-calendar-heading h2{margin:0;font:400 20px Georgia,serif}.student-calendar-controls{align-items:center;gap:16px;display:flex}.calendar-hours{border:1px solid var(--line);color:var(--muted);background:#f1efe7;border-radius:20px;padding:6px 9px;font-size:8px;font-weight:750}.calendar-key{color:var(--muted);gap:14px;font-size:8px;display:flex}.calendar-key span{align-items:center;gap:5px;display:flex}.calendar-key i{border-radius:2px;width:8px;height:8px}.calendar-key .key-open{background:#dce8d8;border:1px solid #a9bda4}.calendar-key .key-busy{background:#eeeae1}.student-month-layout{grid-template-columns:minmax(360px,1.1fr) minmax(260px,.8fr);align-items:start;gap:22px;display:grid}.month-picker{min-width:0}.month-picker-head{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.month-picker-head strong{font:400 17px Georgia,serif}.month-picker-head button{border:1px solid var(--line);background:0 0;border-radius:50%;width:30px;height:30px;font-size:18px}.month-weekdays,.month-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.month-weekdays span{color:var(--muted);text-align:center;text-transform:uppercase;padding:5px 0;font-size:7px;font-weight:750}.month-days button,.month-days i{border:1px solid var(--line);text-align:center;background:#f1efe7;border-radius:6px;min-height:49px;padding:6px 3px;font-style:normal}.month-days button span,.month-days button small{display:block}.month-days button span{font:400 13px Georgia,serif}.month-days button small{color:var(--sage);margin-top:4px;font-size:6px;font-weight:750}.month-days button.has-openings{background:#e8efe4;border-color:#b8c9b3}.month-days button.selected{border-color:var(--sage-dark);background:var(--sage-dark);color:#fff}.month-days button.selected small{color:#dce8d8}.month-days button:disabled{color:#aaa49a;cursor:default;opacity:.65}.day-request{border-left:1px solid var(--line);padding-left:22px}.day-request h2{margin:0 0 15px;font:400 20px Georgia,serif}.day-request label{font-size:9px;font-weight:750;display:block}.day-request select{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;margin-top:6px;padding:9px;font-size:10px;display:block}.day-times{margin:17px 0}.day-times>strong{margin-bottom:8px;font-size:9px;display:block}.day-times>div{flex-wrap:wrap;gap:6px;max-height:190px;display:flex;overflow-y:auto}.day-times button{color:var(--sage-dark);background:#edf0e9;border:1px solid #cad3c7;border-radius:5px;padding:6px 8px;font-size:8px}.day-times button.selected{border:2px solid var(--sage-dark);background:var(--sage-dark);color:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--sage-dark) 22%,transparent);padding:5px 9px;font-weight:800}.day-times button.selected span{margin-right:4px}.day-times>p{color:var(--muted);font-size:9px}.day-request .primary{width:100%}.day-request .primary:disabled{cursor:not-allowed;opacity:.5}.student-calendar-scroll{border-top:1px solid var(--line);border-left:1px solid var(--line);max-height:520px;overflow:auto}.student-calendar-grid{grid-template-columns:64px repeat(7,minmax(105px,1fr));min-width:860px;display:grid}.student-calendar-grid>strong{z-index:3;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);text-align:center;padding:10px 5px;font-size:8px;position:sticky;top:0}.student-calendar-grid .corner{z-index:4;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;left:0}.student-calendar-row{display:contents}.student-calendar-row time{z-index:2;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);color:var(--muted);padding:9px 8px;font-size:8px;position:sticky;left:0}.student-calendar-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);place-items:center;min-height:48px;padding:6px;display:grid}.student-calendar-cell .open{width:100%;height:100%;min-height:23px;color:var(--sage-dark);background:#e8efe4;border:1px solid #b8c9b3;border-radius:4px;font-size:7px;font-weight:750}.student-calendar-cell .open:hover,.student-calendar-cell .open.selected{background:var(--sage-dark);color:#fff}.student-calendar-cell .unavailable{color:#999389;text-align:center;background:#eeeae1;border-radius:3px;width:100%;height:100%;min-height:23px;padding:5px 3px;font-size:6px}.student-schedule-grid{grid-template-columns:minmax(0,1.35fr) minmax(250px,.75fr);align-items:start;gap:18px;display:grid}.availability-list,.request-form{padding:24px}.availability-list article{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:12px;padding:17px 0;display:grid}.availability-list article>strong{font:400 13px Georgia,serif}.availability-list article div{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.availability-list article button{color:var(--sage-dark);background:#edf0e9;border:1px solid #cad3c7;border-radius:5px;padding:6px 8px;font-size:8px}.availability-list article button:hover,.availability-list article button.selected{background:var(--sage-dark);border-color:var(--sage-dark);color:#fff}.calendar-privacy{color:var(--muted);margin:15px 0 0;font-size:8px;line-height:1.5}.request-form h2{margin:0 0 17px;font:400 20px Georgia,serif}.request-form label{margin-top:12px;font-size:9px;font-weight:750;display:block}.request-form select{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;margin-top:6px;padding:10px;font-size:10px;display:block}.request-form .primary{width:100%;margin-top:17px}.student-request-status{background:#f3eee1;border-radius:6px;margin-bottom:15px;padding:10px}.student-request-status strong,.student-request-status span{font-size:9px;display:block}.student-request-status span{color:var(--muted);margin-top:4px;font-size:8px}.student-request-status.approved{color:var(--sage-dark);background:#e8eee5}.student-request-status.declined{color:#a3533c;background:#f6e1d7}.request-review{border-left:4px solid var(--gold);justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:17px 20px;display:flex}.calendar-request-panel{margin-bottom:14px;padding:14px 16px}.calendar-request-panel>header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;display:flex}.calendar-request-panel>header h2{margin:0;font-size:19px;font-weight:500}.calendar-request-panel>header>span{color:var(--muted);background:#edf0e9;border-radius:99px;flex:none;padding:5px 9px;font-size:12px;font-weight:750}.calendar-request-list{gap:6px;max-height:220px;padding-right:4px;display:grid;overflow-y:auto}.calendar-request-list .request-review{border:1px solid var(--line);border-left:3px solid var(--gold);background:color-mix(in srgb,var(--paper) 80%,var(--cream));box-shadow:none;border-radius:7px;gap:12px;margin:0;padding:9px 11px}.calendar-request-list .request-review.approved{border-left-color:var(--sage)}.calendar-request-list .request-review.declined{border-left-color:var(--coral)}.calendar-request-list .request-review .eyebrow{margin-bottom:2px;font-size:10px}.calendar-request-list .request-review h2{font-size:16px}.calendar-request-list .request-review p:not(.eyebrow){margin-top:2px;font-size:13px}.calendar-request-list .request-actions{gap:6px}.calendar-request-list .request-actions button{padding:7px 10px;font-size:12px}.calendar-request-list .request-status{padding:5px 8px;font-size:11px}html[data-theme=dark] .calendar-request-panel>header>span{background:#303831}@media (width<=680px){.calendar-request-panel{padding:12px}.calendar-request-list{max-height:260px}.calendar-request-list .request-review{flex-direction:column;align-items:flex-start}.calendar-request-list .request-actions{width:100%}.calendar-request-list .request-actions button{flex:1}}.request-review h2{margin:0;font:400 17px Georgia,serif}.request-review p:not(.eyebrow){color:var(--muted);margin:4px 0 0;font-size:9px}.request-actions{gap:8px;display:flex}.request-review.approved{border-left-color:var(--sage)}.request-review.declined{border-left-color:var(--coral)}.request-status{color:var(--sage-dark);text-transform:capitalize;background:#e8eee5;border-radius:20px;padding:6px 10px;font-size:9px;font-weight:750}.lesson-status{color:var(--sage-dark);text-transform:capitalize;background:#edf0e9;border-radius:20px;margin:0 6px 7px 0;padding:3px 6px;font-size:7px;font-weight:750;display:inline-block}.lesson-status.completed{background:#e1eddd}.lesson-status.canceled,.lesson-status.missed{color:#a3533c;background:#f6e1d7}.status.invited{color:#8b744c;background:#f3eee1}.status.archived{color:var(--muted);background:#ece9e2}.student-card.archived{opacity:.72}.student-card.archived .avatar{filter:grayscale()}.archive-warning{color:#796846;background:#f3eee1;border-radius:6px;margin:14px 0 0;padding:10px;font-size:8px;line-height:1.5}.modal-context{color:var(--muted);background:#f1efe7;border-radius:6px;margin:-12px 0 18px;padding:10px 12px;font-size:9px}.profile-account-card{grid-column:1/-1;padding:24px}.profile-account-card h2,.settings-card h2,.policies-page h2{margin:0 0 16px;font:400 21px Georgia,serif}.profile-account-card form{grid-template-columns:1.2fr 1.4fr 1fr .7fr auto;align-items:end;gap:10px;display:grid}.profile-account-card label,.settings-card label{font-size:9px;font-weight:750}.profile-account-card input,.profile-account-card select,.settings-card select{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;margin-top:6px;padding:9px;font-size:10px;display:block}.account-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;margin-top:15px;padding-top:15px;display:flex}.outline.danger{color:#a3533c;border-color:#d9b4a8}.series-note{color:var(--muted);margin:10px 0 0;font-size:8px;line-height:1.45}.series-cancel{margin-top:9px}.next-lesson-actions{gap:3px;display:grid}.settings-grid{grid-template-columns:.8fr 1.2fr;align-items:stretch;gap:18px;display:grid}.settings-card{padding:23px}.settings-card>p:not(.eyebrow){color:var(--muted);font-size:9px;line-height:1.55}.settings-toggle{align-items:center;gap:8px;margin-bottom:15px;display:flex}.settings-toggle input{accent-color:var(--sage-dark)}.email-settings-card,.reminder-settings-card{flex-direction:column;align-items:flex-start;display:flex}.email-settings-card>p:not(.eyebrow){margin:0 0 22px}.email-settings-card>.outline{margin-top:auto}.reminder-settings-card .settings-toggle{margin:0 0 20px}.reminder-timing{width:100%;margin-bottom:20px;display:block}.reminder-settings-card>p:not(.eyebrow){margin:0 0 22px}.reminder-settings-card>.outline{margin-top:auto}.policy-editor textarea{border:1px solid var(--line);resize:vertical;width:100%;min-height:180px;font:inherit;background:#fff;border-radius:6px;margin-bottom:12px;padding:11px;font-size:10px;line-height:1.55}.export-card{grid-column:1/-1}.export-card>div{flex-wrap:wrap;gap:8px;margin-top:15px;display:flex}.billing-notice{background:#e8efe4;border:1px solid #c8d5c4;border-radius:8px;justify-content:space-between;align-items:center;gap:15px;margin:-12px 0 18px;padding:13px 16px;font-size:10px;display:flex}.invoice-ledger{margin-top:16px}.invoice-record{border-top:1px solid var(--line);grid-template-columns:minmax(180px,1fr) 100px 70px auto;align-items:center;gap:14px;padding:15px 0;display:grid}.invoice-record strong,.invoice-record small{display:block}.invoice-record>div:first-child>strong{font:400 13px Georgia,serif}.invoice-record small{color:var(--muted);margin-top:4px;font-size:8px}.invoice-record>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.unbilled-ledger{margin-top:20px}.unbilled-groups{margin-top:16px}.unbilled-groups article{border-top:1px solid var(--line);grid-template-columns:minmax(180px,1fr) 100px auto;align-items:center;gap:14px;padding:15px 0;display:grid}.unbilled-groups article strong,.unbilled-groups article small{display:block}.unbilled-groups article small{color:var(--muted);margin-top:4px;font-size:9px}.invoice-status{text-transform:capitalize;border-radius:99px;justify-self:start;padding:5px 8px;font-size:8px;font-weight:750}.invoice-status.open{color:#a25842;background:#f6e1d7}.invoice-status.paid{color:var(--sage-dark);background:#e8efe4}.invoice-status.void{color:var(--muted);background:#ece9e2}.invoice-status.open:not(:empty){white-space:nowrap}.email-history{margin-top:20px;padding:23px}.email-tracking-note{border-radius:7px;margin:12px 0 0;padding:10px 12px;font-size:9px}.email-tracking-note.connected{color:var(--sage-dark);background:#e8efe4}.email-tracking-note.pending{color:#82682e;background:#f5ead2}.email-delivery-list{margin-top:15px}.email-delivery-list article{border-top:1px solid var(--line);grid-template-columns:minmax(220px,1fr) 130px 90px;align-items:center;gap:14px;padding:14px 0;display:grid}.email-delivery-list strong,.email-delivery-list small{display:block}.email-delivery-list strong{font-size:10px}.email-delivery-list small,.email-delivery-list time{color:var(--muted);margin-top:4px;font-size:8px}.email-delivery-list .email-error{color:#a3533c}.email-delivery-status{color:var(--muted);text-transform:capitalize;background:#ece9e2;border-radius:99px;justify-self:start;padding:5px 8px;font-size:8px;font-weight:750}.email-delivery-status.sent,.email-delivery-status.delivered{color:var(--sage-dark);background:#e8efe4}.email-delivery-status.failed,.email-delivery-status.bounced,.email-delivery-status.suppressed,.email-delivery-status.complained{color:#a25842;background:#f6e1d7}.policies-page{max-width:680px;margin:auto;padding:28px}.policies-page>p:not(.eyebrow){color:var(--muted);border-top:1px solid var(--line);padding:13px 0;font-size:11px;line-height:1.7}.modal textarea{border:1px solid var(--line);resize:vertical;width:100%;min-height:95px;font:inherit;background:#fff;border-radius:6px;margin-top:6px;padding:10px;font-size:10px}.availability-settings{border:1px solid var(--line);background:#f1efe7;border-radius:8px;grid-template-columns:minmax(300px,1fr) minmax(260px,.85fr);gap:20px;margin:-4px 0 24px;padding:22px;display:grid}.availability-settings h2{margin:0 0 15px;font:400 20px Georgia,serif}.availability-form label{font-size:9px;font-weight:750;display:block}.availability-form select,.availability-form input[type=time],.availability-form input[type=date]{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;margin-top:6px;padding:9px;font-size:10px;display:block}.availability-form .specific-date{margin:15px 0}.availability-form fieldset{border:0;margin:15px 0;padding:0}.availability-form legend{margin-bottom:7px;font-size:9px;font-weight:750}.availability-form fieldset{flex-wrap:wrap;gap:6px;display:flex}.availability-form fieldset label{position:relative}.availability-form fieldset input{opacity:0;pointer-events:none;position:absolute}.availability-form fieldset span{color:var(--muted);background:#fff;border:1px solid #cad0c6;border-radius:5px;padding:7px 9px;display:block}.availability-form fieldset input:checked+span{border-color:var(--sage-dark);background:var(--sage-dark);color:#fff}.availability-time-row{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px;display:grid}.availability-help{color:var(--muted);margin:0 0 15px;font-size:8px;line-height:1.5}.time-away-picker{border:1px solid var(--line);background:var(--paper);border-radius:8px;margin:15px 0 9px;padding:12px}.time-away-head{grid-template-columns:30px 1fr 30px;align-items:center;margin-bottom:8px;display:grid}.time-away-head strong{text-align:center;font:400 13px Georgia,serif}.time-away-head button{border:1px solid var(--line);width:28px;height:28px;color:var(--ink);background:0 0;border-radius:50%;font-size:17px}.time-away-weekdays,.time-away-days{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.time-away-weekdays span{color:var(--muted);text-align:center;padding:4px 0;font-size:7px;font-weight:750}.time-away-days button,.time-away-days i{min-height:31px;color:var(--ink);background:0 0;border:0;border-radius:5px;font-size:9px;font-style:normal}.time-away-days button:hover:not(:disabled){background:color-mix(in srgb,var(--sage) 18%,transparent)}.time-away-days button.in-range{background:color-mix(in srgb,var(--sage) 25%,transparent);border-radius:2px}.time-away-days button.range-start,.time-away-days button.range-end{background:var(--sage-dark);color:#fff;border-radius:6px;font-weight:800}.time-away-days button:disabled{color:var(--muted);opacity:.35}.time-away-summary{min-height:28px;color:var(--muted);margin:10px 2px 0;font-size:8px;line-height:1.45}.lesson-date-picker{margin-top:6px}.lesson-date-picker .time-away-summary{text-align:center;min-height:0;margin-bottom:0}.availability-rules article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.availability-rules article>div strong,.availability-rules article>div span{display:block}.availability-rules article strong{font:400 12px Georgia,serif}.availability-rules article span{color:var(--muted);margin-top:3px;font-size:8px}.availability-rules article.open strong{color:var(--sage-dark)}.availability-rules article.blocked strong{color:#a25842}.availability-rules article button{color:var(--muted);background:0 0;border:0;font-size:8px;text-decoration:underline}.message-actions{gap:9px;display:flex}.inbox{grid-template-columns:minmax(210px,.72fr) minmax(0,1.8fr);min-height:520px;display:grid;overflow:hidden}.inbox>aside{border-right:1px solid var(--line);padding:10px}.inbox>aside button{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:11px;display:flex}.inbox>aside button.active{background:#eef0e9}.inbox>aside button>span:last-child{min-width:0}.inbox>aside strong,.inbox>aside small{display:block}.inbox>aside small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:8px;overflow:hidden}.conversation{flex-direction:column;min-width:0;padding:22px;display:flex}.conversation header{border-bottom:1px solid var(--line);padding-bottom:14px}.conversation h2{margin:3px 0 0;font:400 20px Georgia,serif}.conversation .simple-thread{flex:1;max-height:420px;padding-right:4px;overflow-y:auto}.simple-thread article{flex-direction:column;max-width:78%;display:flex}.simple-thread article.mine{align-self:flex-end}.simple-thread article.theirs{align-self:flex-start}.simple-thread article p{max-width:100%}.simple-thread article time{color:var(--muted);margin-top:3px;font-size:7px}.simple-thread article.mine time{text-align:right}.message-composer{border-top:1px solid var(--line);padding-top:14px}.message-composer textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:88px;font:inherit;background:#fff;border-radius:6px;padding:10px;font-size:10px}.message-composer>div{justify-content:flex-end;align-items:center;gap:12px;margin-top:8px;display:flex}.message-composer>div span{color:#a25842;margin-right:auto;font-size:8px}.broadcast-success{color:var(--sage-dark);background:#e8efe4;border:1px solid #c8d5c4;border-radius:7px;margin:-14px 0 18px;padding:10px 13px;font-size:10px;font-weight:750}.broadcast-modal textarea{border:1px solid var(--line);resize:vertical;width:100%;min-height:120px;font:inherit;background:#fff;border-radius:6px;margin-top:6px;padding:10px;font-size:10px}.broadcast-audience{border:1px solid var(--line);background:#f1efe7;border-radius:7px;margin-bottom:15px;padding:12px}.broadcast-audience span,.broadcast-audience strong,.broadcast-audience small{display:block}.broadcast-audience span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:8px}.broadcast-audience strong{margin:4px 0;font:400 15px Georgia,serif}.broadcast-audience small{color:var(--muted);font-size:8px;line-height:1.45}.broadcast-warning{color:var(--muted);margin:12px 0 0;font-size:8px}.slot .recurring{font-weight:750}.slot .available.recurring{color:var(--sage-dark);background:#e8efe4;border:1px solid #b8c9b3!important}.slot .booked.recurring{color:#8f887d;background:#eeeae1}.full-calendar .slot{height:34px;padding:3px;position:relative;overflow:visible}.full-calendar .slot button{font-size:7px}.slot .availability-booking{z-index:1;width:calc(100% - 6px);color:var(--sage-dark);border:1px solid #b8c9b3;border-left:4px solid var(--sage);text-align:left;background:#e8efe4;border-radius:7px;flex-direction:column;align-items:flex-start;gap:3px;padding:7px 8px;display:flex;position:absolute;inset:3px 3px auto;overflow:hidden}.availability-booking strong{font-size:13px}.availability-booking small{color:inherit;opacity:.78;white-space:nowrap;font-size:11px}.slot .availability-booking.blocked{color:#716c64;background:#eeeae1;border-color:#d7d0c3 #d7d0c3 #d7d0c3 #a08f77}.slot .lesson-booking{z-index:2;width:calc(100% - 6px);color:var(--sage-dark);text-align:left;background:#dfe7dc;border-radius:7px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:2px;padding:7px 8px;font-weight:750;display:flex;position:absolute;inset:3px 3px auto;overflow:hidden;box-shadow:0 3px 9px #34483a24;border-left:4px solid var(--sage)!important}.lesson-booking strong,.lesson-booking span,.lesson-booking small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.lesson-booking strong{font-size:12px}.lesson-booking span{font-size:13px}.lesson-booking small{opacity:.78;margin-top:auto;font-size:10px}.lesson-color-0{--lesson-accent:#66806a;--lesson-fill:#dfe9dd}.lesson-color-1{--lesson-accent:#718ba3;--lesson-fill:#dfe8ef}.lesson-color-2{--lesson-accent:#b8894f;--lesson-fill:#f2e6d2}.lesson-color-3{--lesson-accent:#a06c7b;--lesson-fill:#eee0e5}.slot .lesson-booking[class*=lesson-color-]{background:var(--lesson-fill);color:#28372f;border-left-color:var(--lesson-accent)!important}.mobile-calendar-days,.mobile-day-agenda,.mobile-calendar-toggle,.mobile-day-timeline{display:none}.student-calendar-cell{min-height:31px;padding:4px}.invoice-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 80px 60px;align-items:center;gap:12px;margin:18px 0;padding:17px 0;display:grid}.invoice-row strong,.invoice-row small{font-size:10px;display:block}.invoice-row small{color:var(--muted);margin-top:3px;font-size:8px}.simple-thread{flex-direction:column;gap:9px;margin:18px 0;display:flex}.simple-thread p{border-radius:7px;max-width:78%;margin:0;padding:9px 11px;font-size:9px;line-height:1.5}.simple-thread .mine{background:var(--sage-dark);color:#fff;align-self:flex-end}.simple-thread .theirs{background:#eeeae1}.student-note{border-bottom:1px solid var(--line);grid-template-columns:84px 1fr;gap:22px;padding:25px 0;display:grid}.student-note:last-child{border-bottom:0}.student-note time{color:var(--sage-dark);font:400 14px Georgia,serif}.student-note h2{margin:0 0 8px;font:400 18px Georgia,serif}.student-note p{color:var(--muted);margin:0;font-size:11px;line-height:1.65}.theme-control{border:1px solid var(--line);background:color-mix(in srgb, var(--cream) 84%, var(--paper));border-radius:8px;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;display:grid}.theme-control button{color:var(--muted);background:0 0;border:0;border-radius:5px;padding:8px 12px;font-size:9px;font-weight:750}.theme-control button.active{background:var(--paper);color:var(--ink);box-shadow:0 2px 7px #18241d18}.theme-icon{display:none}.theme-control.compact{flex:none}.theme-control.compact button{padding:6px 8px;font-size:8px}.appearance-card .theme-control{margin:4px 0 13px}html[data-theme=dark] .sidebar,html[data-theme=dark] .mobile-head,html[data-theme=dark] .portal-header{border-color:var(--line);background:#18201b}html[data-theme=dark] .content{background:radial-gradient(circle at 80% 5%,#29352d88 0,transparent 28%),var(--cream)}html[data-theme=dark] .brand small,html[data-theme=dark] .sidebar nav button,html[data-theme=dark] .portal-header nav button{color:var(--muted)}html[data-theme=dark] .sidebar nav button.active,html[data-theme=dark] .mobile-nav button.active,html[data-theme=dark] .inbox aside button.active{color:#b9d0bd;background:#28332c}html[data-theme=dark] .student-preview-button,html[data-theme=dark] .piece,html[data-theme=dark] .lesson-note,html[data-theme=dark] .privacy-note,html[data-theme=dark] .availability-settings,html[data-theme=dark] .broadcast-audience,html[data-theme=dark] .month-days button,html[data-theme=dark] .month-days i,html[data-theme=dark] .calendar-hours{color:var(--muted);border-color:var(--line);background:#252d28}html[data-theme=dark] .note-card{background:#342f22}html[data-theme=dark] .note-card>p:not(.eyebrow){color:#d0c4a8}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea,html[data-theme=dark] .portal-account button,html[data-theme=dark] .availability-form fieldset span{border-color:var(--line);color:var(--ink);background:#222b25}html[data-theme=dark] .bubbles .theirs,html[data-theme=dark] .simple-thread .theirs,html[data-theme=dark] .unavailable,html[data-theme=dark] .student-calendar-cell .unavailable{color:var(--muted);background:#29312c}html[data-theme=dark] .confirmed-status,html[data-theme=dark] .lesson-status.completed,html[data-theme=dark] .billing-notice,html[data-theme=dark] .broadcast-success,html[data-theme=dark] .student-request-status.approved{color:#a8c8ad;background:#26382a;border-color:#405744}html[data-theme=dark] .home-request-card>span,html[data-theme=dark] .student-request-status,html[data-theme=dark] .status.invited{color:#d7bc84;background:#393225}html[data-theme=dark] .status.archived{color:var(--muted);background:#30332f}html[data-theme=dark] .archive-warning{color:#d7bc84;background:#393225}html[data-theme=dark] .modal-context{background:#252d28}html[data-theme=dark] .pill.due,html[data-theme=dark] .lesson-status.canceled,html[data-theme=dark] .lesson-status.missed{color:#efa38d;background:#452a24}html[data-theme=dark] .day-times button,html[data-theme=dark] .availability-list article button,html[data-theme=dark] .month-days button.has-openings,html[data-theme=dark] .student-calendar-cell .open,html[data-theme=dark] .slot .available.recurring{color:#a8c8ad;background:#26382a;border-color:#405744}html[data-theme=dark] .day-times button.selected{background:var(--sage-dark);color:#fff;border-color:#b6d0ba}html[data-theme=dark] .staff-lines,html[data-theme=dark] .progress{background:var(--line)}html[data-theme=dark] .availability-form fieldset input:checked+span{color:#142019;background:#a8c8ad;border-color:#d1e3d4;box-shadow:0 0 0 2px #a8c8ad38}html[data-theme=dark] .availability-form fieldset input:focus-visible+span{outline-offset:2px;outline:2px solid #d1e3d4}html[data-theme=dark] .availability-form input[type=time],html[data-theme=dark] .availability-form input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#edf3ee;-webkit-text-fill-color:#edf3ee;background-color:#222b25;border-color:#526158}html[data-theme=dark] .availability-form input[type=time]::-webkit-datetime-edit{color:#edf3ee}html[data-theme=dark] .availability-form input[type=date]::-webkit-datetime-edit{color:#edf3ee}html[data-theme=dark] .availability-form input[type=time]::-webkit-calendar-picker-indicator{filter:invert();opacity:.85}html[data-theme=dark] .availability-form input[type=date]::-webkit-calendar-picker-indicator{filter:invert();opacity:.85}html[data-theme=dark] .month-days button.selected,html[data-theme=dark] .day-times button.selected,html[data-theme=dark] .availability-list article button.selected,html[data-theme=dark] .student-calendar-cell .open.selected{color:#142019;background:#a8c8ad;border-color:#d1e3d4;box-shadow:0 0 0 2px #a8c8ad38}html[data-theme=dark] .month-days button.selected small{color:#314d39}html[data-theme=dark] .time-away-days button.range-start,html[data-theme=dark] .time-away-days button.range-end{color:#142019;background:#a8c8ad}.portal-wrap,.compact-portal{max-width:1080px;padding:34px 28px 52px}.welcome-row{margin-bottom:24px}.students-strip{margin-top:16px}.lede{font-size:17px;line-height:1.5}.paper p:not(.eyebrow),.paper small,.paper time,.small-copy,.calendar-privacy,.availability-help,.broadcast-warning,.series-note,.modal-context,.form-error{font-size:12px;line-height:1.55}.paper input,.paper select,.paper textarea,.modal input,.modal select,.modal textarea,.day-request select,.message-composer textarea{padding:11px 12px;font-size:14px}.day-availability-blocks button small,.student-calendar-grid>strong,.student-calendar-row time{font-size:12px}html[data-theme=dark] .simple-thread article.theirs{box-shadow:none;border:0;padding:0;background:0 0!important}@media (width<=680px){.mobile-nav button{grid-template-rows:22px auto;place-items:center;display:grid}.mobile-nav button .nav-icon{width:20px;height:20px;margin:0 auto 3px;display:inline-grid}.mobile-nav button .nav-icon-calendar{width:18px!important}.page-wrap,.portal-wrap{padding:20px 16px 32px}.paper,.settings-card,.student-billing,.student-message,.home-history,.home-shortcut,.availability-list,.request-form,.note-editor,.teacher-history{padding:17px}.portal-header .theme-control button{width:34px;padding:7px 4px;font-size:0}.portal-header .theme-control button:first-letter{font-size:13px}.portal-header .theme-label{display:none}.portal-header .theme-icon{font-size:18px;line-height:1;display:block}.calendar-key{justify-content:flex-start}}.content,.student-portal{font-size:15px}.page-wrap{max-width:none;padding:24px 28px 38px}.portal-wrap{max-width:1240px;padding:26px 24px 42px}.compact-portal{max-width:1120px}.welcome-row,.portal-title{margin-bottom:18px}.dashboard-grid,.student-grid,.student-home-grid,.student-home-main,.student-home-aside,.student-portal-aside,.settings-grid,.teacher-profile-grid{gap:14px}.students-strip{margin-top:14px;padding:18px 20px}.paper,.settings-card,.student-billing,.student-message,.home-history,.home-shortcut,.availability-list,.request-form,.note-editor,.teacher-history{padding:20px}.lede{font-size:18px}.sidebar nav button,.portal-header nav button{font-size:15px}.sidebar-owner strong,.portal-account strong{font-size:14px}.sidebar-owner small,.portal-account small,.sidebar-footer .sidebar-signout,.portal-account button{font-size:12px}.student-preview-button{border-radius:10px;padding:12px}.student-preview-button>span:first-child{font-size:19px}.student-preview-button strong{font-size:14px}.student-preview-button small{font-size:12px}.student-preview-button b{font-size:17px}.confirmed-status{padding:7px 11px;font-size:13px}.next-lesson-card p:not(.eyebrow),.home-request-card p:not(.eyebrow),.home-request-card>span,.home-history strong,.home-shortcut>span,.home-shortcut>p:not(.eyebrow),.recent-lessons article,.recent-lessons article>span,.recent-lessons article>button{font-size:14px}.home-history article{padding:13px 0}.home-request-card{padding:16px 20px}.calendar-hours,.calendar-key{font-size:13px}.calendar-key{flex-wrap:wrap;gap:16px}.calendar-key i{width:11px;height:11px}.student-week-calendar{margin-bottom:14px;padding:20px}.student-calendar-heading{margin-bottom:16px}.month-weekdays span{font-size:11px}.month-days button,.month-days i{min-height:60px}.month-days button span{font-size:17px}.month-days button small{font-size:11px}.student-request-status{padding:13px}.student-request-status strong{font-size:15px}.student-request-status span{font-size:13px}.day-availability-blocks button small,.student-calendar-grid>strong,.student-calendar-row time{font-size:12px}.student-calendar-cell .open,.student-calendar-cell .unavailable,.full-calendar .slot button{font-size:11px}.availability-list article button{font-size:13px}.theme-control button,.theme-control.compact button{padding:8px 11px;font-size:13px}.availability-rules article{padding:14px 0}.availability-rules article strong{font-size:16px}.availability-rules article span,.availability-rules article button{font-size:13px}.time-away-weekdays span{font-size:11px}.time-away-days button,.time-away-days i{min-height:38px;font-size:13px}.inbox>aside strong{font-size:15px}.inbox>aside small{font-size:13px}.simple-thread{gap:13px;margin:15px 0}.request-review p:not(.eyebrow),.request-status,.lesson-status,.invoice-status,.email-delivery-status,.email-delivery-list strong,.email-delivery-list small,.email-delivery-list time,.unbilled-groups article small,.invoice-row strong,.invoice-row small,.broadcast-audience span,.broadcast-audience small,.broadcast-warning,.message-composer>div span,.saved-status,.history-count,.note-entry strong,.note-entry p,.profile-heading p:last-child{font-size:13px}.settings-card{min-height:0}.email-settings-card>p:not(.eyebrow),.reminder-settings-card>p:not(.eyebrow){margin-bottom:16px}.reminder-settings-card .settings-toggle,.reminder-timing{margin-bottom:15px}@media (width<=680px){.page-wrap,.portal-wrap{padding:20px 16px 32px}.paper,.settings-card,.student-billing,.student-message,.home-history,.home-shortcut,.availability-list,.request-form,.note-editor,.teacher-history{padding:17px}.portal-header .theme-control button{width:34px;padding:7px 4px;font-size:0}.portal-header .theme-control button:first-letter{font-size:13px}.calendar-key{justify-content:flex-start}}.recent-lessons article,.recent-lessons article>span,.recent-lessons article>button,.home-history strong,.home-history article p,.home-shortcut>span,.home-shortcut>p:not(.eyebrow),.next-lesson-card p:not(.eyebrow),.request-review p:not(.eyebrow),.invoice-record small,.email-delivery-list small,.email-delivery-list time,.simple-thread article time,.simple-thread p{font-size:12px}.inbox>aside strong,.conversation h2,.student-message h2{font-size:15px}.inbox>aside small,.message-composer>div span{font-size:11px}.simple-thread p{padding:12px 14px;line-height:1.55}.conversation .simple-thread{max-height:520px}.message-composer textarea{min-height:112px}.next-lesson-card{padding:26px}.next-lesson-card .recurring-detail{color:var(--sage-dark);margin-top:9px}.day-times>strong{margin-bottom:10px;font-size:12px}.day-times>div.day-availability-blocks{border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr;gap:0;max-height:360px;display:grid;overflow-y:auto}.day-availability-blocks button{border:0;border-bottom:1px solid var(--line);text-align:left;border-radius:0;justify-content:space-between;align-items:center;width:100%;min-height:37px;padding:8px 11px;font-size:12px;display:flex}.day-availability-blocks button:last-child{border-bottom:0}.day-availability-blocks button.open{color:var(--sage-dark);background:#e8efe4}.day-availability-blocks button.unavailable{background:var(--paper);color:var(--muted);opacity:.55}.day-availability-blocks button.selected{border:0;border-bottom:1px solid var(--line);background:var(--sage-dark);color:#fff;padding:8px 11px;box-shadow:inset 4px 0 #dce8d8}.simple-payment-record{grid-template-columns:minmax(220px,1fr) 120px 90px auto}.payment-stats,.income-history,.income-history+.ledger{width:min(880px,100%)}.income-history{margin-bottom:18px;padding:22px 24px}.payment-stats>.paper{flex-direction:column;justify-content:center;min-width:0;min-height:132px;display:flex}.income-history .section-title{align-items:flex-start}.income-history .section-title>p{max-width:330px;color:var(--muted);text-align:right;margin:3px 0 0;font-size:14px}.income-bars{border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 39px,color-mix(in srgb,var(--line) 58%,transparent) 40px);grid-template-columns:repeat(6,1fr);align-items:end;gap:14px;min-height:190px;margin-top:16px;padding:8px 8px 0;display:grid}.income-month{text-align:center;grid-template-rows:25px 120px 24px;align-items:end;min-width:0;height:169px;display:grid}.income-month>strong{color:var(--sage-dark);text-overflow:ellipsis;white-space:nowrap;align-self:start;font-size:13px;overflow:hidden}.income-bar-track{justify-content:center;align-items:flex-end;height:120px;display:flex}.income-bar-track i{background:linear-gradient(180deg,var(--sage),var(--sage-dark));border-radius:7px 7px 2px 2px;width:min(54px,72%);min-height:0;display:block;box-shadow:0 5px 14px #405a4724}.income-month>span{color:var(--muted);align-self:center;font-size:13px;font-weight:750}html[data-theme=dark] .income-bar-track i{background:linear-gradient(#91ad95,#58745e)}@media (width<=680px){.income-history{padding:17px}.payment-stats,.income-history,.income-history+.ledger{width:100%}.income-history .section-title{display:block}.income-history .section-title>p{text-align:left;max-width:none;margin-top:7px}.income-bars{gap:7px;min-height:178px;padding-inline:2px}.income-month{grid-template-rows:24px 109px 24px;height:157px}.income-bar-track{height:109px}.income-month>strong{font-size:11px}.income-month>span{font-size:12px}}.student-profile{padding:28px}.student-profile h2{margin:0 0 20px;font:400 24px Georgia,serif}.student-profile label{margin-top:15px;display:block}.student-profile input{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;margin-top:7px;display:block}.student-profile input:disabled{color:var(--muted);background:#f1efe7}html[data-theme=dark] .day-availability-blocks button.open{color:#c7dfcb;background:#25362b}html[data-theme=dark] .day-availability-blocks button.unavailable,html[data-theme=dark] .student-profile input:disabled{background:#202622}.profile-heading{grid-template-columns:auto 52px 1fr;align-items:center;gap:16px;margin-bottom:28px;display:grid}.profile-heading .avatar{width:52px;height:52px}.profile-heading h1{margin:0;font:400 34px Georgia,serif}.profile-heading p:last-child{color:var(--muted);margin:5px 0 0;font-size:10px}.teacher-profile-grid{grid-template-columns:minmax(280px,.8fr) minmax(420px,1.5fr);gap:20px;display:grid}.note-editor,.teacher-history{padding:24px}.note-editor h2{margin:0 0 20px;font:400 21px Georgia,serif}.note-editor label{margin-top:13px;font-size:9px;font-weight:750;display:block}.note-editor input,.note-editor textarea{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:6px;margin-top:6px;padding:10px;font-size:10px;display:block}.note-editor textarea{resize:vertical;min-height:120px}.note-editor .primary{margin-top:17px}.saved-status{color:var(--sage);margin-left:10px;font-size:10px;font-weight:700}.form-error{color:#b2553e;margin:10px 0 0;font-size:9px;line-height:1.45}.form-error.inline{margin-left:10px;display:inline-block}.auth-shell{background:radial-gradient(circle at 78% 8%,#fff8 0,transparent 32%),var(--cream);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{width:min(430px,100%);padding:34px}.auth-brand{align-items:center;gap:12px;margin-bottom:36px;display:flex}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{font:400 18px Georgia,serif}.auth-brand small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:3px;font-size:9px}.auth-card h1{margin:0 0 10px;font:400 32px Georgia,serif}.auth-card>p:not(.eyebrow):not(.form-error):not(.auth-help){color:var(--muted);font-size:11px;line-height:1.6}.auth-card form{margin-top:24px}.auth-card label{font-size:10px;font-weight:750}.auth-card input{border:1px solid var(--line);background:var(--paper);border-radius:7px;width:100%;margin-top:7px;padding:12px;display:block}.auth-link{text-align:center;margin-top:10px;text-decoration:none;display:block}.auth-back{width:100%;margin-top:13px}.auth-help{border-top:1px solid var(--line);color:var(--muted);margin:25px 0 0;padding-top:18px;font-size:9px}.auth-card .auth-waiting{background:color-mix(in srgb,var(--sage) 12%,var(--paper));color:var(--sage-dark);border-radius:7px;margin:18px 0 0;padding:12px 14px;font-size:13px;font-weight:700}.loading-card{text-align:center}.loading-card .brand-mark{margin:auto}.loading-card h1{margin-top:18px;font-size:23px}html[data-theme=dark] .auth-shell{background:radial-gradient(circle at 78% 8%,#29352d88 0,transparent 32%),var(--cream)}.history-count{color:var(--muted);font-size:9px}.note-entry{border-bottom:1px solid var(--line);grid-template-columns:62px 1fr;gap:15px;padding:19px 0;display:grid}.note-entry time{color:var(--sage-dark);font:400 13px Georgia,serif}.note-entry strong{font-size:11px}.note-entry p{color:var(--muted);margin:6px 0 0;font-size:10px;line-height:1.55}@media (width<=680px){.invoice-record{grid-template-columns:1fr auto}.invoice-record>div:last-child{grid-column:1/-1;justify-content:flex-start}.email-delivery-list article{grid-template-columns:1fr auto}.email-delivery-status{grid-area:1/2}.unbilled-groups article{grid-template-columns:1fr auto}.unbilled-groups article button{grid-column:1/-1}.inbox{grid-template-columns:1fr;min-height:0}.inbox>aside{border-right:0;border-bottom:1px solid var(--line);display:flex;overflow-x:auto}.inbox>aside button{min-width:185px}.conversation{padding:16px}.portal-header{height:auto;padding:12px 16px}.portal-header nav,.portal-account>span:not(.avatar){display:none}.portal-account{border:0;margin-left:auto;padding:0}.portal-account button{margin-left:0}.portal-wrap{padding:26px 16px}.portal-title{display:block}.portal-title>.outline{margin-top:18px}.student-history{padding:4px 18px}.student-portal-layout,.student-schedule-grid,.student-month-layout{grid-template-columns:1fr}.day-request{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.student-home-grid{grid-template-columns:1fr}.next-lesson-card{grid-template-columns:1fr auto}.next-lesson-card>.outline{grid-column:1/-1}.student-week-calendar{overflow:hidden}.student-calendar-heading{align-items:flex-start;min-width:0}.student-calendar-controls{flex-direction:column;align-items:flex-end}.availability-list article{grid-template-columns:1fr}.portal-header nav{display:none}.request-review{flex-direction:column;align-items:flex-start}.message-actions{flex-wrap:wrap;margin-top:18px}.availability-settings{grid-template-columns:1fr;min-width:0}.student-note{grid-template-columns:1fr;gap:8px}.profile-heading{grid-template-columns:auto 46px 1fr}.profile-heading .avatar{width:46px;height:46px}.profile-heading h1{font-size:26px}.teacher-profile-grid{grid-template-columns:1fr}.profile-account-card{grid-column:auto}.profile-account-card form,.settings-grid{grid-template-columns:1fr}.export-card{grid-column:auto}.students-strip{display:block}.recent-lessons article{grid-template-columns:32px 1fr 60px}.recent-lessons article>span:nth-of-type(2),.recent-lessons article>button{display:none}.portal-header{gap:9px}.portal-header>.theme-control{margin-left:auto}.portal-header .portal-account .avatar{display:none}.portal-header .theme-control button{width:27px;padding:6px 4px;font-size:0;overflow:hidden}.portal-header .theme-control button:first-letter{font-size:9px}}.modal{max-height:calc(100vh - 40px);overflow-y:auto}.eyebrow{font-size:12px}.paper p:not(.eyebrow),.paper small,.paper time,.small-copy,.calendar-privacy,.availability-help,.broadcast-warning,.series-note,.modal-context,.form-error,.simple-thread p,.simple-thread article time,.invoice-record small,.home-history article p,.next-lesson-card p:not(.eyebrow){font-size:12px;line-height:1.55}.paper label,.modal label,.day-request label,.availability-form label,.profile-account-card label,.settings-card label{font-size:12px}.paper input,.paper select,.paper textarea,.modal input,.modal select,.modal textarea,.day-request select,.message-composer textarea{font-size:14px}.text-button,.outline,.primary,.eyebrow{font-size:13px}.paper p:not(.eyebrow),.paper small,.paper time,.small-copy,.calendar-privacy,.availability-help,.broadcast-warning,.series-note,.modal-context,.form-error,.invoice-record small,.home-history article p,.next-lesson-card p:not(.eyebrow),.settings-card>p:not(.eyebrow),.empty-lessons p,.empty-history,.archive-warning,.billing-notice,.email-tracking-note,.time-away-summary{font-size:14px;line-height:1.5}.paper label,.modal label,.day-request label,.request-form label,.availability-form label,.profile-account-card label,.settings-card label,.note-editor label,.availability-form legend{font-size:14px}.paper input,.paper select,.paper textarea,.modal input,.modal select,.modal textarea,.day-request select,.request-form select,.message-composer textarea,.availability-form select,.availability-form input[type=time],.availability-form input[type=date],.profile-account-card input,.profile-account-card select,.settings-card select,.policy-editor textarea,.note-editor input,.note-editor textarea{font-size:16px}.text-button,.outline,.primary,.recent-lessons article,.recent-lessons article>span,.recent-lessons article>button,.home-history strong,.home-shortcut>span,.home-shortcut>p:not(.eyebrow){font-size:14px}.profile-heading p:last-child,.saved-status,.history-count,.note-entry strong,.note-entry p{font-size:13px}.day-times>strong{font-size:14px}.day-availability-blocks button{min-height:42px;padding:9px 12px;font-size:14px}.day-availability-blocks button.selected{padding:9px 12px}.day-availability-blocks button small{font-size:12px}.simple-thread article.mine,.simple-thread article.theirs{background:0 0}.simple-thread article p{border-radius:17px;padding:12px 15px;font-size:15px;line-height:1.5}.simple-thread article.mine p{background:var(--sage-dark);color:#fff;border-bottom-right-radius:5px}.simple-thread article.theirs p{color:var(--ink);background:#eeeae1;border-bottom-left-radius:5px}.simple-thread article time{margin-top:6px;font-size:12px}html[data-theme=dark] .simple-thread article.theirs p{color:var(--ink);background:#303831}html[data-theme=dark] .slot .lesson-booking[class*=lesson-color-]{background:color-mix(in srgb,var(--lesson-accent) 28%,#202622);color:#f2f5f2}html[data-theme=dark] .slot .availability-booking.open{color:#c7dfcb;background:#26382a;border-color:#405744}html[data-theme=dark] .slot .availability-booking.blocked{color:#d0c8bd;background:#30332f;border-color:#4a4f49}.student-grid{grid-template-columns:repeat(auto-fill,minmax(250px,320px));align-items:start}.student-card{min-width:0;padding:17px 18px}.student-card-head{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.student-card-head h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:19px;overflow:hidden}.student-card-head .status{flex:none;font-size:11px;position:static}.student-card>p{margin:7px 0 0}.student-card .piece{min-width:0;margin:12px 0;padding:9px 10px}.student-card .piece strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:clamp(11px,1.05vw,14px);overflow:hidden}.student-card .card-footer{gap:14px}.student-card .card-footer button{font-size:12px}.message-composer{border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 70%,var(--cream));border-radius:14px;padding:12px;transition:border-color .15s,box-shadow .15s}.message-composer:focus-within{border-color:var(--sage);box-shadow:0 0 0 3px color-mix(in srgb,var(--sage) 18%,transparent)}.message-composer textarea,.student-message .message-composer textarea{background:0 0;border:0;border-radius:0;outline:0;min-height:76px;max-height:180px;margin:0;padding:2px;line-height:1.5}.message-composer>div{margin-top:8px}.message-composer .primary{min-height:38px;box-shadow:none;border-radius:9px;padding:8px 15px}html[data-theme=dark] .message-composer{background:#252c27}.full-calendar .slot .empty-slot-button,.mobile-timeline-slot .empty-slot-button{z-index:0;width:auto;height:auto;color:var(--sage-dark);opacity:0;background:0 0;border:1px dashed #0000;border-radius:6px;font-size:17px;font-weight:700;position:absolute;inset:2px}.full-calendar .slot .empty-slot-button:hover,.full-calendar .slot .empty-slot-button:focus-visible,.mobile-timeline-slot .empty-slot-button:hover,.mobile-timeline-slot .empty-slot-button:focus-visible{border-color:color-mix(in srgb,var(--sage) 50%,transparent);background:color-mix(in srgb,var(--sage) 12%,transparent);opacity:1;outline:0}.slot-action-modal h2{margin-bottom:18px;font-size:23px}.slot-action-options{gap:10px;display:grid}.slot-action-options button{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;width:100%;min-height:74px;padding:14px 16px;display:flex}.slot-action-options button strong,.slot-action-options button span{display:block}.slot-action-options button strong{font-size:15px}.slot-action-options button span{opacity:.78;font-size:12px;font-weight:500}.slot-action-modal .availability-time-row input{margin-top:6px}html[data-theme=dark] .full-calendar .slot .empty-slot-button,html[data-theme=dark] .mobile-timeline-slot .empty-slot-button{color:#a8c8ad}@media (width<=680px){.page-wrap,.portal-wrap{padding:20px 16px 32px}.paper,.settings-card,.student-billing,.student-message,.home-history,.home-shortcut,.availability-list,.request-form,.note-editor,.teacher-history{padding:17px}.portal-header .theme-control button{width:34px;padding:7px 4px;font-size:0}.portal-header .theme-control button:first-letter{font-size:13px}.full-calendar{padding:17px;overflow:visible}.full-calendar .week-grid{display:none}.calendar-toolbar{flex-wrap:wrap;margin-bottom:16px}.calendar-toolbar h2{font-size:20px}.calendar-toolbar .outline{flex-basis:100%}.mobile-calendar-days{grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:18px;display:grid}.mobile-calendar-days button{border:1px solid var(--line);min-width:0;color:var(--muted);background:0 0;border-radius:8px;padding:8px 2px}.mobile-calendar-days span,.mobile-calendar-days strong{display:block}.mobile-calendar-days span{font-size:11px}.mobile-calendar-days strong{margin-top:4px;font:400 17px Georgia,serif}.mobile-calendar-days button.selected{border-color:var(--sage-dark);background:var(--sage-dark);color:#fff}.mobile-calendar-toggle{border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 75%,transparent);border-radius:8px;width:max-content;margin:0 0 18px auto;padding:3px;display:flex}.mobile-calendar-toggle button{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:7px 13px;font-size:12px;font-weight:750}.mobile-calendar-toggle button.active{background:var(--sage-dark);color:#fff}.mobile-day-timeline{display:block}.mobile-timeline-grid{border-bottom:1px solid var(--line);margin-top:14px}.mobile-timeline-row{grid-template-columns:58px minmax(0,1fr);min-height:34px;display:grid}.mobile-timeline-row>time{color:var(--muted);text-align:right;padding:4px 9px 0 0;font-size:11px}.mobile-timeline-slot{border-top:1px solid var(--line);border-left:1px solid var(--line);min-height:34px;position:relative}.mobile-timeline-slot .empty-slot-button{min-height:30px;color:var(--muted);opacity:.42;place-items:center;font-size:14px;display:grid;inset:1px 4px}.mobile-timeline-slot .availability-booking,.mobile-timeline-slot .lesson-booking{z-index:1;text-align:left;border-radius:7px;flex-direction:column;align-items:flex-start;gap:2px;width:calc(100% - 8px);padding:7px 10px;display:flex;position:absolute;inset:3px 4px auto;overflow:hidden}.mobile-timeline-slot .availability-booking{color:var(--sage-dark);border:1px solid #b8c9b3;border-left:4px solid var(--sage);background:#e8efe4}.mobile-timeline-slot .availability-booking.blocked{color:#716c64;background:#eeeae1;border-color:#d7d0c3 #d7d0c3 #d7d0c3 #a08f77}.mobile-timeline-slot .lesson-booking{z-index:2;background:var(--lesson-fill);color:#28372f;border:1px solid color-mix(in srgb,var(--lesson-accent) 45%,var(--line));border-left:5px solid var(--lesson-accent);box-shadow:0 3px 9px #34483a24}.mobile-timeline-slot .lesson-booking strong,.mobile-timeline-slot .lesson-booking span,.mobile-timeline-slot .lesson-booking small,.mobile-timeline-slot .availability-booking strong,.mobile-timeline-slot .availability-booking small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.mobile-timeline-slot .lesson-booking strong,.mobile-timeline-slot .availability-booking strong{font-size:13px}.mobile-timeline-slot .lesson-booking span{font-size:14px}.mobile-timeline-slot .lesson-booking small,.mobile-timeline-slot .availability-booking small{opacity:.8;font-size:11px}html[data-theme=dark] .mobile-timeline-slot .availability-booking.open{color:#c7dfcb;background:#26382a;border-color:#405744}html[data-theme=dark] .mobile-timeline-slot .availability-booking.blocked{color:#d0c8bd;background:#30332f;border-color:#4a4f49}html[data-theme=dark] .mobile-timeline-slot .lesson-booking{background:color-mix(in srgb,var(--lesson-accent) 28%,#202622);color:#f2f5f2}.mobile-day-agenda{display:block}.mobile-agenda-heading{margin-bottom:8px}.mobile-agenda-heading h2{margin:0;font:400 22px Georgia,serif}.agenda-lesson{border:1px solid color-mix(in srgb,var(--lesson-accent) 45%,var(--line));border-left:5px solid var(--lesson-accent);background:var(--lesson-fill);text-align:left;border-radius:8px;grid-template-columns:minmax(120px,.8fr) 1fr;align-items:center;gap:4px 12px;width:100%;margin-top:10px;padding:13px 14px;display:grid}.agenda-lesson:hover,.agenda-lesson:focus-visible{border-color:var(--sage-dark);box-shadow:0 0 0 2px color-mix(in srgb,var(--sage) 25%,transparent)}.agenda-lesson time{color:#3c4c43;grid-row:1/3;font-size:14px;font-weight:750}.agenda-lesson strong{font:400 17px Georgia,serif}.agenda-lesson span{color:#58645d;font-size:13px}html[data-theme=dark] .agenda-lesson{background:color-mix(in srgb,var(--lesson-accent) 28%,#202622)}html[data-theme=dark] .agenda-lesson time,html[data-theme=dark] .agenda-lesson span{color:#d9e1db}.message-composer{grid-template-columns:minmax(0,1fr);gap:8px;padding:11px;display:grid}.message-composer textarea,.student-message .message-composer textarea{width:100%;min-height:72px;max-height:150px;margin:0}.message-composer>div{justify-content:flex-end;width:100%;margin:0}.message-composer>div span{margin-right:auto}.message-composer .primary{width:auto;min-width:0;min-height:38px;padding:8px 15px}}:root{--font-interface:"Manrope Variable", "Segoe UI", sans-serif;--font-heading:"Lora Variable", Georgia, serif}body,button,input,select,textarea{font-family:var(--font-interface)}h1,h2,h3,.brand strong,.auth-brand strong,.sidebar-week-heading strong,.lesson-time strong,.stats strong,.payment-stats strong,.student-billing>strong,.home-shortcut>strong,.calendar-head strong,.month-picker-head strong,.time-away-head strong,.note-entry time{font-family:var(--font-heading)}h1,h2,h3{text-transform:capitalize}body{font-optical-sizing:auto;letter-spacing:-.006em;font-weight:450}h1,h2,h3{font-optical-sizing:auto;letter-spacing:-.025em}button,input,select,textarea{letter-spacing:normal}.eyebrow,.public-kicker{letter-spacing:.14em}.privacy-page{width:min(760px,100% - 40px);margin:0 auto;padding:82px 0 96px}.privacy-page h1{letter-spacing:-.04em;max-width:700px;margin:0;font:400 clamp(42px,6vw,66px)/1.05 Georgia,serif}.privacy-updated{color:#747b74;margin:18px 0 55px;font-size:11px}.privacy-page section{border-top:1px solid #d7d1c5;padding:28px 0}.privacy-page h2{margin:0 0 13px;font:400 23px Georgia,serif}.privacy-page section p{color:#5f6861;margin:9px 0 0;font-size:13px;line-height:1.75}.privacy-page section a{color:#405a47;font-weight:700}@media (width<=480px){.privacy-page{padding-top:58px}.privacy-page h1{font-size:42px}}
