@import "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&display=swap";.auth-page{background:linear-gradient(135deg,#edf2f5,#f8f5ec);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #dce4e8;border-radius:16px;width:min(100%,440px);padding:40px;box-shadow:0 24px 60px #102a4f1f}.auth-card .brand{color:#102a4f;margin:0 0 44px;padding:0}.auth-card h1{letter-spacing:-.05em;margin:0 0 14px;font-size:28px;line-height:1.05}.auth-card>p:not(.eyebrow){color:#667781;margin-bottom:25px;line-height:1.6}.auth-card .primary{width:100%;padding:12px}.auth-card .primary:disabled{cursor:not-allowed;opacity:.55}.auth-card small{color:#78858e;margin-top:14px;line-height:1.45;display:block}.auth-loading{color:#546570;font-weight:600}:root{color:#172533;background:#f3f5f7;font-family:Geist,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;font-size:14px}button,input{font:inherit}.skip{position:absolute;left:-999px}.skip:focus{z-index:9;background:#fff;padding:10px;top:16px;left:16px}.shell{min-height:100vh;display:flex}.rail{color:#c9d5e2;background:#102a4f;flex-direction:column;width:240px;padding:25px 14px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#fff;align-items:center;gap:9px;margin-bottom:42px;padding:0 10px;font-weight:600;text-decoration:none;display:flex}.brand b{color:#102a4f;background:#e4b33e;border-radius:7px;place-items:center;width:29px;height:29px;font-size:11px;display:grid}.rail nav{gap:4px;display:grid}.rail nav button{color:#b8c7d7;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;gap:12px;padding:10px;display:flex}.rail nav i{color:#7f95af;width:18px;font-size:10px;font-style:normal}.rail nav button:hover,.rail nav .active{color:#fff;background:#1d3d68}.rail nav .active i{color:#e4b33e}.user{border-top:1px solid #2d4a6d;align-items:center;gap:10px;margin-top:auto;padding:16px 6px 0;display:flex}.user>span{background:#41678f;border-radius:8px;place-items:center;width:29px;height:29px;font-size:11px;display:grid}.user small{font-size:11px;line-height:1.4}.surface{width:calc(100% - 240px);margin-left:240px}.top{z-index:3;background:#fff;border-bottom:1px solid #e1e6e8;justify-content:space-between;align-items:center;height:84px;padding:0 clamp(28px,4vw,60px);display:flex;position:sticky;top:0}.top p{color:#7b8790;text-transform:uppercase;letter-spacing:.08em;margin:0 0 5px;font-size:10px}.top p span{padding:0 5px}.top h1{letter-spacing:-.04em;margin:0;font-size:20px}.top>div:last-child{gap:8px;display:flex}.date,.search,.editor button,.report button,.schedule header button{color:#4b5c67;background:#fff;border:1px solid #d7dfe3;border-radius:6px;padding:9px 11px;font-size:12px}.search{color:#7a878e}.search kbd{border:1px solid #dce2e5;border-radius:3px;margin-left:10px;padding:1px 4px}.primary{cursor:pointer;font-weight:600;color:#fff!important;background:#14345d!important;border-color:#14345d!important}.primary:hover{background:#204675!important}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #e4b33e}main{max-width:1400px;margin:auto;padding:42px clamp(28px,4vw,60px) 66px}.heading{justify-content:space-between;align-items:end;margin-bottom:23px;display:flex}.eyebrow{letter-spacing:.09em;text-transform:uppercase;color:#7d8990;margin:0 0 7px;font-size:10px;font-weight:700}.heading h2,.planner h2,.report h2{letter-spacing:-.045em;margin:0;font-size:24px}.heading span,.planner header>div>span{color:#74818a;margin-top:7px;display:block}.link{color:#1a496f;background:0 0;border:0;font-size:12px;font-weight:600}.grid{grid-template-columns:minmax(0,1fr) 320px;gap:20px;display:grid}.panel{background:#fff;border:1px solid #e0e6e8;border-radius:10px;box-shadow:0 9px 24px #102a4f09}.schedule>header,.summary>header,.planner>header,.report>header{justify-content:space-between;align-items:start;display:flex}.schedule>header{padding:22px 24px 19px}.schedule h3,.summary h3{margin:0;font-size:15px}.schedule header p{color:#77848d;margin:5px 0 0;font-size:12px}.day{background:#f7f9fa;border-block:1px solid #ebeff1;gap:14px;padding:11px 24px;font-size:12px;display:flex}.day span{color:#85919a;width:48px}.lesson{border-bottom:1px solid #edf0f2;grid-template-columns:65px 1fr auto;align-items:center;gap:15px;padding:17px 24px;display:grid}.lesson:first-of-type{border-left:3px solid #e4b33e;padding-left:21px}.lesson>div{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.lesson small{color:#89959d;margin-top:3px;font-size:11px;font-weight:400;display:block}.lesson p{color:#657681;margin:0 0 4px;font-size:11px}.lesson p i{color:#94a0a7;margin-left:6px;font-style:normal}.lesson h4{letter-spacing:-.015em;margin:0 0 5px;font-size:13px}.lesson section>span{color:#82909a;font-size:11px}.lesson button{color:#1c4b73;background:#fff;border:1px solid #ccd6db;border-radius:5px;padding:8px 10px;font-size:11px;font-weight:600}.summary{padding:22px}.summary header button{color:#7b8992;letter-spacing:2px;background:0 0;border:0}.chart{align-items:center;gap:17px;padding:22px 0;display:flex}.chart>div{background:radial-gradient(closest-side,#fff 76%,transparent 78%),conic-gradient(#e4b33e 50%,#ecf0f1 0);text-align:center;border-radius:50%;place-content:center;width:94px;height:94px;display:grid}.chart strong{letter-spacing:-.05em;font-size:18px}.chart small{color:#78858e;font-size:9px}.chart p{color:#6c7b84;font-size:12px;line-height:1.6}.chart b{color:#172533;font-size:19px}.summary dl{border-block:1px solid #edf0f2;margin:0;padding:14px 0}.summary dl div{justify-content:space-between;padding:6px 0;display:flex}.summary dt{color:#65757e;font-size:12px}.summary dd{margin:0;font-weight:600}.summary i,.table i,.saved i,.done i,.toast i{background:#bcc6cb;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.summary .gold,.partial{background:#e4b33e}.summary .green,.yes,.saved i,.done i,.toast i{background:#4c8b7b}.summary article{background:#fff8e7;border:1px solid #f0dfae;border-radius:6px;margin-top:18px;padding:13px}.summary article b{font-size:12px}.summary article p{color:#71726b;margin:7px 0;font-size:11px;line-height:1.5}.summary article button{color:#285b82;background:0 0;border:0;padding:0;font-size:11px;font-weight:600}.planner{margin-top:25px;padding:25px}.planner>header{border-bottom:1px solid #e9edef;padding-bottom:21px}.saved{color:#75828b;font-size:11px}.planner-grid{grid-template-columns:1.15fr .85fr;gap:40px;padding-top:25px;display:grid}.curriculum{border-right:1px solid #e9edef;padding-right:40px}.curriculum header{justify-content:space-between;gap:15px;display:flex}.curriculum header p{color:#78858e;margin:0 0 8px;font-size:11px}.curriculum h3,.editor h3{letter-spacing:-.03em;margin:0;font-size:17px}.curriculum header button{color:#315c82;text-underline-offset:4px;background:0 0;border:0;font-size:11px;text-decoration:underline}.curriculum>p,.editor>p{color:#687781;font-size:12px;line-height:1.65}.curriculum a{color:#805e17;background:#fff2ce;border:1px solid #f2dfaa;border-radius:4px;margin:10px 6px 20px 0;padding:6px 7px;font-size:10px;font-weight:600;text-decoration:none;display:inline-block}.curriculum footer{border-top:1px solid #edf0f2;gap:5px;padding-top:17px;display:grid}.curriculum footer span{text-transform:uppercase;color:#86929a;letter-spacing:.07em;font-size:10px}.curriculum footer b{font-size:12px}.editor label{font-size:12px;font-weight:600;display:block}.editor input[type=text],.editor input:not([type]){border:1px solid #cbd5da;border-radius:5px;width:100%;margin-top:7px;padding:10px;display:block}.check{align-items:start;gap:9px;margin-top:17px;font-weight:400!important;display:flex!important}.check input{margin-top:2px}.check b,.check small{display:block}.check small{color:#79868f;margin-top:4px;font-weight:400}.inherit{background:#f5f7f8;border-radius:5px;padding:10px;font-size:11px!important}.actions{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.blocks{gap:6px;margin:20px 0;display:flex}.blocks b{background:#f5f7f8;border:1px solid #dbe2e5;border-radius:4px;padding:6px 8px;font-size:10px;font-weight:500}.done{color:#376f61;background:#eff7f4;border:1px solid #d2e8df;border-radius:5px;margin:18px 0;padding:12px;font-size:13px;font-weight:600}.done span{color:#688077;font-size:11px;font-weight:400}.toast{color:#376f61;background:#eff7f4;border:1px solid #d2e8df;border-radius:6px;margin-top:18px;padding:10px 12px;font-size:12px}.report{margin-top:25px;padding:25px}.report header{align-items:end;margin-bottom:21px}.table{border:1px solid #e5eaec;border-radius:7px;overflow:hidden}.table>div{border-bottom:1px solid #edf0f2;grid-template-columns:1.2fr 1fr 1fr 1fr;align-items:center;min-height:47px;padding:0 16px;font-size:12px;display:grid}.table>div:last-child{border:0}.table>div:first-child{color:#7d8992;text-transform:uppercase;letter-spacing:.06em;background:#f7f9fa;min-height:34px;font-size:9px}.table span{color:#65747e}.app-footer{color:#81909a;border-top:1px solid #e1e6e8;gap:16px;margin:0 clamp(28px,4vw,60px);padding:20px 0;font-size:11px;display:flex}@media (width<=900px){.rail{width:64px;padding:17px 9px}.brand{margin:0 auto 30px;padding:0}.brand span,.rail nav button span,.user small{display:none}.rail nav button{justify-content:center}.rail nav i{width:auto}.user{justify-content:center;padding-inline:0}.surface{width:calc(100% - 64px);margin-left:64px}.grid,.planner-grid{grid-template-columns:1fr}.curriculum{border-bottom:1px solid #e9edef;border-right:0;padding:0 0 22px}}@media (width<=620px){.top{align-items:start;height:auto;padding-block:15px}.top .date,.top .search{display:none}.heading{display:block}.heading .link{margin-top:15px}.lesson{grid-template-columns:50px 1fr}.lesson button{grid-column:2;justify-self:start}.saved{display:none}.planner,.report{padding:18px}.table{overflow:auto}.table>div{min-width:560px}.app-footer{flex-direction:column;gap:5px}}
