:root{color:#0b0057;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--navy:#0b0057;--pink:#f33d5e;--pink-action:#ca2448;--blue:#29abe2;--purple:#662d91;--lime:#99c325;--yellow:#fbae17;--muted:#656477;--line:#e8e7f0;background:#f7f7fc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:3px solid #7955bb}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{letter-spacing:-.035em}h1{margin:0;font-size:clamp(1.75rem,2.8vw,2.5rem);line-height:1.2}h2{margin:0;font-size:1.22rem;line-height:1.35}h3{margin:0;font-size:1.05rem}p{line-height:1.65}svg{flex-shrink:0}button{border:0}input,select,textarea{width:100%;min-width:0;color:var(--navy);background:#fff;border:1px solid #d9d8e4;border-radius:9px;min-height:46px;padding:.78rem .85rem}input[readonly]{color:var(--muted);background:#f8f8fc}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#827f93;font-size:.875rem}label{font-size:.88rem;font-weight:650}small{color:var(--muted);font-size:.78rem;line-height:1.5}.logo{width:188px;height:auto;display:block}.eyebrow{letter-spacing:.13em;color:var(--purple);margin:0 0 .65rem;font-size:.68rem;font-weight:750}.lead{color:var(--muted);margin:.65rem 0 0;font-size:.94rem;line-height:1.65}.muted{color:var(--muted);font-size:.85rem;line-height:1.6}.button{border-radius:9px;justify-content:center;align-items:center;gap:.6rem;min-height:44px;padding:.72rem 1.1rem;font-size:.86rem;font-weight:650;line-height:1.5;text-decoration:none;transition:background .15s;display:inline-flex}.button-primary{color:#fff;background:var(--pink-action)}.button-primary:hover:not(:disabled){background:#ac1c3c}.button-secondary{color:var(--navy);background:#fff;border:1px solid #dedce9}.button-secondary:hover:not(:disabled){background:#f4f2fa}.button-light{color:var(--navy);background:#fff}.button-light:hover{background:#fff0f4}.full-width{width:100%}.text-link,.text-button{color:var(--purple);align-items:center;gap:.4rem;font-size:.83rem;font-weight:650;text-decoration:none;display:inline-flex}.text-button{background:0 0;text-decoration:underline}.text-link:hover{text-decoration:underline}.field{gap:.48rem;display:grid}.form-stack{gap:1.2rem;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:1.1rem 1.5rem;display:grid}.form-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.notice{border:1px solid #0000;border-radius:9px;margin:0 0 1rem;padding:.85rem 1rem;font-size:.875rem}.form-stack>.notice{margin:0}.notice-error{color:#a31535;background:#fff0f3;border-color:#f6d1dc}.notice-success{color:#245c3e;background:#edf8f1;border-color:#d1e9d9}.skip-link{z-index:50;background:#fff;padding:1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.boot-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.boot-screen .logo{margin-bottom:2rem}.login-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-story{background:#eeedf8;flex-direction:column;min-height:780px;padding:2.9rem 3.6rem;display:flex;position:relative;overflow:hidden}.login-story .logo{width:200px}.story-copy{z-index:1;margin-top:5rem;position:relative}.story-copy .eyebrow{color:#4c4089}.story-copy h1{letter-spacing:-.06em;font-size:clamp(3rem,4.5vw,4.6rem);font-weight:750;line-height:1.07}.story-copy h1 em{color:var(--pink-action);font-style:normal}.story-copy>p:last-child{color:#686183;margin-top:1.3rem;font-size:1.05rem}.story-footer{color:#5e537e;z-index:1;margin-top:auto;padding-top:13rem;font-size:.8rem;position:relative}.bloom-art{width:270px;height:270px;position:absolute;bottom:2.2rem;right:2.3rem;transform:rotate(-12deg)}.petal{border-radius:80px 80px 18px;width:132px;height:132px;position:absolute}.petal-one{background:var(--pink);top:0;left:0}.petal-two{background:var(--blue);top:0;right:0;transform:rotate(90deg)}.petal-three{background:var(--purple);bottom:0;left:0;transform:rotate(-90deg)}.petal-four{background:var(--lime);bottom:0;right:0;transform:rotate(180deg)}.bloom-center{background:var(--yellow);border:8px solid #eeedf8;border-radius:50%;width:49px;height:49px;position:absolute;top:111px;left:111px}.bloom-spark{color:var(--yellow);font-size:4.8rem;position:absolute;top:-70px;right:-8px;transform:rotate(12deg)}.login-form-side{background:#fff;flex-direction:column;justify-content:center;align-items:center;padding:5rem 2.5rem;display:flex;position:relative}.login-form-wrap{width:100%;max-width:380px}.login-icon{width:54px;height:54px;color:var(--pink-action);background:#fff0f3;border-radius:16px;place-items:center;margin-bottom:1.8rem;display:grid}.login-form-wrap h2{letter-spacing:-.05em;font-size:2rem}.login-form-wrap .form-stack{gap:1.35rem;margin-top:2rem}.password-input{position:relative}.password-input input{padding-right:5.6rem}.password-input button{color:var(--purple);background:0 0;border-radius:5px;padding:0 .7rem;font-size:.75rem;position:absolute;top:4px;bottom:4px;right:4px}.login-help{color:var(--muted);text-align:center;border-top:1px solid var(--line);margin-top:1.7rem;padding-top:1.45rem;font-size:.78rem;line-height:1.85}.login-help strong{color:#4d456e;font-weight:550}.login-copyright{color:var(--muted);text-align:center;margin:0;padding:0 1rem;font-size:.7rem;position:absolute;bottom:1.6rem}.app-shell{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;height:100vh;padding:2rem 1.2rem;display:flex;position:sticky;top:0}.brand-link{padding:.4rem .15rem 1rem;display:block}.sidebar .logo{width:184px;max-width:100%}.nav-caption{letter-spacing:.15em;color:#878197;margin:2rem 1rem 1rem;font-size:.59rem;font-weight:700}.sidebar nav{gap:.5rem;display:grid}.sidebar nav a{color:#6b6481;border-radius:9px;align-items:center;gap:.85rem;padding:.85rem .95rem;font-size:.84rem;font-weight:550;text-decoration:none;display:flex}.sidebar nav a.active{color:var(--pink-action);background:#fff0f3}.sidebar nav a:hover:not(.active){background:#f5f4fb}.sidebar-bottom{border-top:1px solid var(--line);margin-top:auto;padding:1.7rem 1rem .25rem}.sidebar-bottom p{color:#746c89;margin:.6rem 0 0;font-size:.73rem;line-height:1.8}.sidebar-bottom strong{color:#4c426e;font-weight:550}.small-brand-mark{color:var(--yellow);font-size:2rem}.workspace{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:1rem;height:84px;padding:0 2.5rem;display:flex}.academy-name{color:var(--muted);font-size:.8rem}.topbar-account{align-items:center;gap:1.1rem;min-width:0;display:flex}.account-link{align-items:center;gap:.65rem;min-width:0;font-size:.79rem;font-weight:600;text-decoration:none;display:flex}.account-link>span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.avatar{color:#5c3c94;letter-spacing:.02em;background:#efebfa;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:.73rem;font-weight:700;display:inline-grid}.avatar-large{width:72px;height:72px;font-size:1.4rem}.icon-button{border:1px solid var(--line);color:#797089;background:#f7f6fb;border-radius:9px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.icon-button:hover{color:var(--pink-action)}.badge{white-space:nowrap;border-radius:20px;align-items:center;padding:.3rem .65rem;font-size:.66rem;font-weight:650;line-height:1.6;display:inline-flex}.role-admin{color:#633c92;background:#f0eafa}.role-teacher{color:#256180;background:#eaf6fc}.role-student{color:#b32648;background:#fff0f3}.page{flex:1;width:100%;max-width:1260px;margin:0 auto;padding:2.5rem 2.5rem 3rem}.page-heading{justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem;display:flex}.page-heading>div{min-width:0}.page-heading>.button{flex-shrink:0}.page-heading .eyebrow{font-size:.62rem}.app-footer{border-top:1px solid var(--line);color:#777087;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:1.25rem 2.5rem;font-size:.67rem;display:flex}.card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:1.6rem}.welcome-card{background:var(--navy);color:#fff;border-radius:17px;justify-content:space-between;align-items:center;gap:1.5rem;padding:2.3rem 2.2rem;display:flex;overflow:hidden}.welcome-card>div:first-child{z-index:1;max-width:540px;position:relative}.welcome-label{letter-spacing:.15em;color:#f3aec2;font-size:.59rem;font-weight:700}.welcome-card h2{max-width:450px;margin:.75rem 0 .8rem;font-size:clamp(1.5rem,2.5vw,2.05rem);line-height:1.18}.welcome-card p{color:#d0c9e7;max-width:410px;margin:0 0 1.3rem;font-size:.87rem}.welcome-flower{color:var(--pink);padding-right:.6rem;font-size:12rem;font-weight:400;line-height:.9;transform:rotate(-12deg)}.section-heading{justify-content:space-between;align-items:baseline;gap:1rem;margin:2rem 0 1rem;display:flex}.section-heading h2{font-size:1.05rem}.section-heading .muted{font-size:.72rem}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:1fr auto;padding:1.2rem;display:grid}.stat-card strong{letter-spacing:-.05em;grid-area:1/1;font-size:2rem;line-height:1.1}.stat-card>span:last-child{color:#6d647f;grid-column:1;margin-top:.55rem;font-size:.77rem}.stat-icon{border-radius:13px;grid-area:1/2/3;align-self:center;place-items:center;width:45px;height:45px;display:grid}.tone-purple .stat-icon{color:#7442a8;background:#f0eafa}.tone-blue .stat-icon{color:#216b91;background:#eaf6fc}.tone-pink .stat-icon{color:var(--pink-action);background:#fff0f3}.stats-caption{color:var(--muted);margin:.75rem 0 0;font-size:.7rem}.home-bottom{grid-template-columns:1.2fr 1fr;gap:1.15rem;margin-top:1.6rem;display:grid}.home-bottom .section-heading{margin:0 0 1.5rem}.profile-identity{align-items:center;gap:1rem;display:flex}.profile-identity h3{margin-bottom:.5rem}.profile-preview>p{color:var(--muted);white-space:pre-wrap;margin-bottom:.5rem;font-size:.86rem}.profile-preview>.muted{overflow-wrap:anywhere;font-size:.73rem}.next-module{background:#f1f0f9;flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.mini-icon{width:37px;height:37px;color:var(--purple);background:#e4def1;border-radius:10px;place-items:center;margin-bottom:1.2rem;display:grid}.next-module .eyebrow{margin-bottom:.5rem;font-size:.57rem}.next-module h2{font-size:1.16rem}.next-module p:last-child{color:#6f6681;max-width:320px;margin-bottom:0;font-size:.82rem}.profile-grid{grid-template-columns:minmax(210px,.8fr) minmax(0,1.6fr);align-items:start;gap:1.4rem;display:grid}.identity-card{text-align:center;padding:2rem 1.4rem}.identity-card h2{margin:1rem 0 .65rem}.identity-card>p{color:var(--muted);margin-top:1rem;font-size:.79rem}.identity-detail{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:.4rem;margin:1.5rem 0;padding:1.3rem 0;display:grid}.identity-detail span{color:var(--muted);font-size:.73rem}.identity-detail strong{font-size:.83rem;font-weight:600}.identity-card .text-link{font-size:.74rem}.profile-form-card{padding:1.8rem}.profile-form-card>.muted{margin:.65rem 0 1.65rem;font-size:.76rem}.password-card{max-width:570px;padding:2rem}.create-user-panel{margin-bottom:1.5rem}.create-user-panel>.muted{margin-bottom:1.4rem}.create-user-panel .form-stack>p{margin:0;font-size:.75rem}.users-card{padding:0;overflow:hidden}.users-toolbar{justify-content:space-between;align-items:center;gap:1.2rem;padding:1.4rem 1.5rem;display:flex}.users-toolbar h2{align-items:center;gap:.65rem;font-size:1rem;display:flex}.count-pill{color:#76638f;background:#f0edf8;border-radius:7px;padding:.25rem .5rem;font-size:.67rem;font-weight:650}.search-form{gap:.5rem;max-width:390px;display:flex}.search-form input{max-width:210px;min-height:40px;font-size:.8rem}.search-form .button{min-height:40px;padding:.55rem .8rem;font-size:.74rem}.table-scroll{width:100%;position:relative;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:.8rem}th{color:#7b718d;letter-spacing:.03em;border-block:1px solid var(--line);background:#faf9fd;padding:.85rem 1.2rem;font-size:.64rem;font-weight:600}td{border-bottom:1px solid var(--line);padding:1.15rem 1.2rem}th:first-child,td:first-child{padding-left:1.5rem}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fdfcff}.table-person{align-items:center;gap:.7rem;min-width:180px;max-width:360px;display:flex}.table-person div{gap:.25rem;min-width:0;display:grid}.table-person strong{overflow-wrap:anywhere;font-size:.79rem;font-weight:600}.table-person div span{color:var(--muted);overflow-wrap:anywhere;font-size:.7rem}.table-person .avatar{width:34px;height:34px;font-size:.66rem}.account-status{color:#7c7387;white-space:nowrap;align-items:center;gap:.4rem;font-size:.71rem;display:inline-flex}.account-status>span{background:currentColor;border-radius:50%;width:5px;height:5px}.is-active{color:#337957}.manage-button{color:#5b427e;white-space:nowrap;background:#fff;border:1px solid #e3deed;border-radius:7px;padding:.45rem .65rem;font-size:.73rem;font-weight:550}.manage-button span{margin-left:.4rem}.pagination{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.5rem;display:flex}.pagination>span{color:var(--muted);font-size:.72rem}.pagination>div{gap:.5rem;display:flex}.pagination .button{min-height:36px;padding:.4rem .7rem;font-size:.72rem}.empty-state{text-align:center;color:var(--muted);padding:2rem;font-size:.87rem}.search-summary{color:var(--muted);margin:0;padding:0 1.5rem 1rem;font-size:.8rem}.users-card>.notice,.users-card>.button{margin:0 1.5rem 1rem}.access-dialog{border:1px solid var(--line);width:min(480px,100% - 2rem);max-height:90vh;color:var(--navy);border-radius:16px;padding:2rem;box-shadow:0 20px 80px #0b005733}.access-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#100b3266}.dialog-name{margin:1rem 0 .1rem;font-size:.97rem;font-weight:600}.access-dialog>.muted{margin:.1rem 0 1.5rem}.access-dialog .form-stack>.muted{margin:0;font-size:.78rem}.checkbox-field{align-items:center;gap:.7rem;display:flex}.checkbox-field input{width:19px;height:19px;min-height:19px;accent-color:var(--purple)}@media (width>=1600px){.login-story{padding-left:12%}.story-copy{margin-top:7rem}.bloom-art{bottom:8%;right:14%}}@media (width<=1100px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding:1.5rem .85rem}.sidebar .logo{width:174px}.topbar{padding:0 1.5rem}.page{padding:2rem 1.5rem}.academy-name{display:none}.topbar{justify-content:flex-end}.users-toolbar{flex-wrap:wrap}.welcome-flower{font-size:9rem}.welcome-card{padding:1.8rem}.home-bottom{grid-template-columns:1fr 1fr}.page-heading{flex-wrap:wrap}.login-story{padding:2.5rem}.bloom-art{width:235px;height:235px;bottom:3rem;right:1.8rem}.petal{width:115px;height:115px}.bloom-center{top:94px;left:94px}.story-footer{padding-top:16rem}.story-copy{margin-top:4rem}}@media (width<=800px){.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;padding:1rem 1.25rem 0;position:static}.brand-link{padding:0 0 1rem}.sidebar .logo{width:160px}.nav-caption,.sidebar-bottom{display:none}.sidebar nav{flex-wrap:wrap;gap:.3rem;padding-bottom:.9rem;display:flex}.sidebar nav a{gap:.45rem;padding:.65rem .75rem;font-size:.75rem}.sidebar nav svg{width:17px;height:17px}.topbar{height:64px}.topbar-account{gap:.7rem}.account-link>span:last-child{max-width:190px}.page{padding:1.7rem 1.25rem 2.5rem}.page-heading{gap:1rem;margin-bottom:1.5rem}.welcome-flower{font-size:8rem}.app-footer{padding:1.2rem}.login-story{min-height:700px;padding:2rem}.login-form-side{padding:4rem 1.7rem}.story-copy h1{font-size:3.05rem}.login-form-wrap h2{font-size:1.7rem}.bloom-art{right:0;transform:scale(.8)rotate(-12deg)}.story-footer{font-size:.69rem}.profile-grid{grid-template-columns:1fr 1.7fr;gap:1rem}.identity-card{padding:1.5rem 1rem}}@media (width<=600px){.login-page{background:#fff;display:block}.login-story{min-height:0;padding:1.3rem 1.5rem 1.6rem}.login-story .logo{width:163px}.story-copy{margin-top:1.8rem}.story-copy h1{font-size:2.1rem}.story-copy .eyebrow,.story-copy>p:last-child,.story-footer{display:none}.bloom-art{transform-origin:50%;width:200px;height:200px;top:-35px;bottom:auto;right:-20px;transform:scale(.38)rotate(-12deg)}.petal{width:97px;height:97px}.bloom-center{width:47px;height:47px;top:77px;left:77px}.bloom-spark{font-size:3.7rem;top:-55px}.login-form-side{padding:2.2rem 1.5rem 4.5rem}.login-icon{display:none}.login-form-wrap{max-width:420px}.login-form-wrap h2{font-size:1.75rem}.login-form-wrap .form-stack{margin-top:1.6rem}.login-copyright{font-size:.64rem;bottom:1.3rem}.login-help{font-size:.74rem}.topbar{padding:0 1.25rem}.topbar-account{justify-content:flex-end;width:100%}.topbar-account>.badge{margin-right:auto;font-size:.6rem}.account-link>span:last-child{max-width:110px;font-size:.73rem}.page-heading .eyebrow{font-size:.56rem}.lead{font-size:.85rem}.welcome-card{padding:1.6rem;position:relative}.welcome-card>div:first-child{max-width:100%}.welcome-flower{opacity:.2;font-size:10rem;position:absolute;bottom:-28px;right:-20px}.welcome-card h2{max-width:250px;font-size:1.6rem}.welcome-card p{max-width:270px;font-size:.83rem}.welcome-card .button{font-size:.78rem}.stats-grid{gap:.6rem}.stat-card{flex-direction:column;align-items:flex-start;padding:1rem .75rem;display:flex}.stat-card strong{order:1;font-size:1.6rem}.stat-icon{border-radius:9px;order:0;align-self:flex-start;width:32px;height:32px;margin-bottom:.8rem}.stat-icon svg{width:18px}.stat-card>span:last-child{order:2;font-size:.66rem}.section-heading{flex-wrap:wrap;gap:.5rem}.section-heading .muted{font-size:.66rem}.home-bottom{grid-template-columns:1fr}.card{padding:1.3rem}.users-card{padding:0}.profile-grid{grid-template-columns:1fr}.identity-card .avatar-large{width:64px;height:64px}.identity-detail{margin:1rem 0;padding:.9rem 0}.identity-card{padding:1.5rem}.profile-form-card{padding:1.4rem}.form-grid{grid-template-columns:1fr}.users-toolbar{gap:1rem;padding:1.1rem}.search-form{width:100%;max-width:none}.search-form input{max-width:none}.pagination{flex-wrap:wrap;gap:.75rem;padding:1rem}.table-person{min-width:180px;max-width:220px}td,th{padding:1rem}td:first-child,th:first-child{padding-left:1.1rem}.password-card{padding:1.5rem}.access-dialog{padding:1.4rem}.form-actions>.button-primary{flex:1}.app-footer{font-size:.6rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.table-hint{display:none}@media (width<=600px){.table-hint{color:var(--muted);margin:0 0 .9rem;padding:0 1.1rem;font-size:.68rem;display:block}}.loading-card{color:var(--muted);text-align:center;padding:2.5rem;font-size:.9rem}.back-link{color:#726785;margin:0 0 1.5rem;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-block}.back-link:hover{color:var(--purple)}.heading-actions{flex-wrap:wrap;gap:.65rem;display:flex}.learning-form{margin-bottom:1.6rem;padding:1.7rem}.learning-form>.muted{margin:.6rem 0 1.4rem}.form-note{color:#61516f;background:#f5f3fb;border-radius:9px;margin:0;padding:1rem;font-size:.82rem}.list-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1.5rem;display:flex}.learning-search{flex:1;gap:.5rem;min-width:0;max-width:450px;display:flex;position:relative}.learning-search input{background:#fff;font-size:.83rem}.list-options{flex-shrink:0;align-items:center;gap:.9rem;display:flex}.list-options select{width:130px;font-size:.8rem}.result-count{white-space:nowrap;color:var(--muted);font-size:.75rem}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.course-tile{border:1px solid var(--line);background:#fff;border-radius:15px;flex-direction:column;min-width:0;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden}.course-tile:hover{transform:translateY(-2px);box-shadow:0 10px 30px #0b00570e}.course-cover{color:#fff;flex-direction:column;justify-content:space-between;align-items:flex-start;height:148px;padding:1.2rem 1.4rem;display:flex;position:relative;overflow:hidden}.cover-navy{background:#211667}.cover-purple{background:#663e85}.cover-blue{background:#286b88}.course-category{letter-spacing:.1em;z-index:1;overflow-wrap:anywhere;max-width:100%;font-size:.64rem;font-weight:650;line-height:1.4}.cover-flower{opacity:.24;font-size:11rem;line-height:1.25;position:absolute;bottom:-42px;right:-13px;transform:rotate(-15deg)}.archive-label{color:#73617d;background:#fff;border-radius:20px;padding:.3rem .7rem;font-size:.67rem;position:absolute;bottom:1rem;right:1rem}.course-tile-body{flex-direction:column;flex:1;min-width:0;padding:1.3rem;display:flex}.course-tile h2{letter-spacing:-.02em;font-size:1.07rem;line-height:1.4}.course-tile-body>p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.7em;margin:.65rem 0 1.1rem;font-size:.8rem;line-height:1.7;display:-webkit-box;overflow:hidden}.course-teacher{align-items:center;gap:.7rem;min-width:0;margin-top:auto;display:flex}.course-teacher>div{flex-direction:column;gap:.2rem;min-width:0;display:flex}.course-teacher small{color:var(--muted);font-size:.61rem}.course-teacher strong{overflow-wrap:anywhere;font-size:.76rem;font-weight:600}.course-teacher .avatar{width:32px;height:32px;font-size:.64rem}.course-tile-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:.5rem;margin:1.2rem 0 0;padding-top:1rem;font-size:.66rem;display:flex}.course-tile-footer>span:last-child{color:var(--purple);align-items:center;gap:.35rem;font-weight:650;display:flex}.learning-pagination{border-top:0;padding:1.5rem 0 .4rem}.learning-empty{text-align:center;flex-direction:column;align-items:center;padding:3rem 1.5rem;display:flex}.empty-icon{color:#795d9a;background:#f0ecf8;border-radius:20px;place-items:center;width:65px;height:65px;margin-bottom:1.2rem;display:grid}.learning-empty h2{font-size:1.2rem}.learning-empty p{color:var(--muted);max-width:490px;margin:.6rem 0 0;font-size:.86rem}.picker{gap:.6rem;max-width:620px;display:grid}.picker-search{gap:.5rem;display:flex}.picker-search input{min-height:38px;font-size:.78rem}.picker-search .button{min-height:38px;padding:.5rem .85rem;font-size:.76rem}.picker-pages{align-items:center;gap:.6rem;font-size:.75rem;display:flex}.picker-pages small{margin-right:auto}.picker-pages button{border:1px solid var(--line);color:var(--purple);background:#fff;border-radius:6px;min-width:32px;min-height:30px}.course-detail-grid{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:1.3rem;display:grid}.course-description{padding:2rem}.course-description .eyebrow{font-size:.63rem}.course-description>p:not(.eyebrow){color:#686077;white-space:pre-wrap;margin-top:1rem;font-size:.9rem;line-height:1.9}.detail-teacher{border-top:1px solid var(--line);margin-top:1.8rem;padding-top:1.5rem}.detail-teacher .avatar{width:48px;height:48px;font-size:.95rem}.detail-teacher strong{font-size:.9rem}.detail-teacher small{font-size:.72rem}.course-resources{background:#eeedf8;flex-direction:column;justify-content:center;align-items:flex-start;padding:1.8rem;display:flex}.course-resources h2{font-size:1.1rem}.course-resources p{color:#6c6180;margin-bottom:0;font-size:.85rem}.course-group-list{gap:.75rem;display:grid}.course-group-row{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:1rem;min-width:0;padding:1.1rem 1.3rem;text-decoration:none;display:flex}.course-group-row:hover{border-color:#c9b9df}.course-group-row .mini-icon{flex-shrink:0;margin:0}.course-group-row>strong{overflow-wrap:anywhere;flex:1;font-size:.85rem}.course-group-row>svg:last-child{color:var(--purple)}.badge-archived{color:#716077;background:#f1eef4}.group-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;display:grid}.group-tile{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;padding:1.4rem;text-decoration:none;display:block}.group-tile:hover{border-color:#c9b9df}.group-tile-heading{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.group-tile .mini-icon{color:#32728e;background:#e9f5fb;margin-bottom:1.2rem}.group-tile .eyebrow{letter-spacing:.08em;font-size:.56rem;line-height:1.65}.group-tile h2{font-size:1.15rem;line-height:1.4}.group-tile>.muted{margin-top:.65rem;font-size:.78rem}.group-tile-footer{border-top:1px solid var(--line);color:var(--purple);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.3rem;padding-top:1rem;font-size:.69rem;display:flex}.group-overview{grid-template-columns:1.35fr 1fr;gap:2rem;padding:1.7rem;display:grid}.group-overview .eyebrow{font-size:.58rem}.group-course-title{overflow-wrap:anywhere;align-items:center;gap:.7rem;font-size:1.1rem;font-weight:650;line-height:1.4;text-decoration:none;display:inline-flex}.group-overview .course-teacher{margin-top:1.1rem}.group-overview-note{border-left:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:.45rem;padding-left:2rem;display:flex}.group-overview-note .mini-icon{margin:0 0 .2rem}.group-overview-note>strong{font-size:.9rem}.group-overview-note>span:last-child{color:var(--muted);font-size:.78rem;line-height:1.6}.roster-card{padding:0;overflow:hidden}.roster-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.roster-toolbar .search-form{position:relative}.segmented-control{background:#f4f1fa;border:1px solid #e5dfee;border-radius:9px;gap:.2rem;padding:.25rem;display:inline-flex}.segmented-control button{color:#726380;background:0 0;border-radius:6px;padding:.6rem .75rem;font-size:.75rem;font-weight:550}.segmented-control button[aria-pressed=true]{color:var(--purple);background:#fff;box-shadow:0 1px 4px #28124715}.date-cell{white-space:nowrap;color:var(--muted);font-size:.76rem}.roster-card .learning-pagination{border-top:1px solid var(--line);padding:1rem 1.3rem}.roster-card>.card{box-shadow:none;margin:0 1rem 1rem}.student-group-note{margin-top:1.5rem}.student-group-note p{color:var(--muted);font-size:.88rem}.manual-reset-action{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.2rem}.manual-reset-action button{font-size:.8rem}.password-reset-note{color:#715124;background:#fff4e5;border-radius:9px;padding:.9rem;font-size:.8rem}@media (width<=1150px){.course-grid,.group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-detail-grid{grid-template-columns:1.5fr 1fr}.course-description{padding:1.6rem}}@media (width<=600px){.list-toolbar{flex-direction:column;align-items:stretch;gap:.85rem}.learning-search{flex:auto;max-width:none}.learning-search .button{padding:.6rem .8rem;font-size:.75rem}.list-options{justify-content:space-between}.list-options select{width:150px;min-height:40px}.course-grid,.group-grid{grid-template-columns:1fr}.course-cover{height:140px}.course-tile-body{padding:1.3rem}.course-tile h2{font-size:1.18rem}.course-teacher strong{font-size:.83rem}.course-tile-footer{font-size:.72rem}.course-detail-grid{grid-template-columns:1fr}.course-resources{padding:1.4rem}.learning-form{padding:1.3rem}.group-overview{grid-template-columns:1fr;gap:1.4rem;padding:1.4rem}.group-overview-note{border-left:0;border-top:1px solid var(--line);padding-top:1.2rem;padding-left:0}.roster-toolbar{padding:1.1rem}.roster-toolbar .search-form{width:100%;max-width:none}.roster-toolbar .search-form input{max-width:none}.heading-actions{width:100%}.heading-actions>.button{flex:1;font-size:.76rem}.course-group-row{flex-wrap:wrap;gap:.65rem;padding:1rem}.course-group-row>strong{min-width:130px}.course-group-row>.badge{font-size:.6rem}.section-heading>.button{font-size:.76rem}.picker-search .button{padding:.5rem .65rem}.group-tile{padding:1.4rem}.learning-pagination{gap:.7rem}.course-summary{margin-top:1.6rem}}.avatar{overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.avatar-editor{border-top:1px solid var(--line);text-align:left;width:100%;min-width:0;margin-top:1.4rem;padding-top:1.3rem}.avatar-editor .form-stack{gap:.8rem}.avatar-editor input{min-width:0;padding:.55rem;font-size:.69rem}.avatar-editor label{font-size:.8rem}.avatar-editor small{font-size:.7rem}.avatar-editor .button{width:100%;font-size:.73rem}.avatar-editor>.text-button{margin:1rem auto;font-size:.74rem;display:block}.avatar-editor .notice{margin-top:.9rem;font-size:.73rem}input[type=file]::file-selector-button{color:var(--purple);font:inherit;cursor:pointer;background:#efebf7;border:0;border-radius:5px;margin-right:.55rem;padding:.55rem .65rem}.course-resources .text-link{margin-top:1rem}.lessons-section{scroll-margin-top:1.5rem}.lesson-list{gap:.7rem;display:grid}.lesson-row{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:1.15rem;min-width:0;padding:1.2rem 1.4rem;display:flex}.lesson-number{color:#6b4898;background:#f0ecfa;border-radius:12px;flex-shrink:0;place-items:center;width:46px;height:46px;font-size:.83rem;font-weight:700;display:grid}.lesson-row-main{flex:1;min-width:0;text-decoration:none}.lesson-row-main h3{font-size:.95rem;line-height:1.5}.lesson-row-main:hover h3{color:var(--purple)}.lesson-row-main>span{color:var(--muted);margin-top:.35rem;font-size:.73rem;display:block}.lesson-order{gap:.4rem;display:flex}.lesson-order button{background:#fff;width:33px;height:33px;font-size:1.1rem}.lesson-open{color:var(--purple);place-items:center;width:32px;height:36px;display:grid}.lesson-reading{padding:2rem}.lesson-reading-top{align-items:center;gap:1rem;display:flex}.lesson-reading-top .mini-icon{background:#f1edf9;flex-shrink:0;margin:0}.lesson-reading-top .eyebrow{margin:0 0 .25rem;font-size:.57rem}.lesson-reading h2{font-size:1.1rem}.lesson-text{white-space:pre-wrap;overflow-wrap:anywhere;color:#504765;max-width:850px;margin-top:1.75rem;font-size:.95rem;line-height:1.95}.lesson-context{flex-wrap:wrap;gap:.5rem;margin-top:1.3rem;display:flex}.resource-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1.15rem;display:grid}.resource-card{border:1px solid var(--line);background:#fff;border-radius:13px;min-width:0;overflow:hidden}.resource-card-body{padding:1.3rem}.resource-type{letter-spacing:.1em;color:var(--purple);font-size:.57rem;font-weight:700}.resource-card h3{margin:.6rem 0;font-size:1rem;line-height:1.5}.resource-info{color:var(--muted);margin:.5rem 0 1.1rem;font-size:.7rem;line-height:1.7}.resource-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.6rem;padding-top:1rem;display:flex}.resource-actions .text-button,.resource-actions .text-link{font-size:.75rem}.resource-preview{background:#f2eff8;justify-content:center;align-items:center;height:175px;display:flex;overflow:hidden}.resource-preview img{object-fit:contain;width:100%;height:100%}.resource-preview .muted{padding:1rem}.resource-pdf .resource-card-body{border-top:4px solid #f0a3b4}.resource-link .resource-card-body{border-top:4px solid #9bcee4}.resource-kind{margin:0 0 1.4rem}.publication-panel>.muted{margin:-.2rem 0 1.3rem}.publication-card{padding:0;overflow:hidden}.publication-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:1rem;padding:1.3rem 1.5rem;display:flex}.publication-row:last-child{border:0}.publication-group{flex-direction:column;flex:1;gap:.4rem;min-width:180px;display:flex}.publication-group strong{overflow-wrap:anywhere;font-size:.85rem}.publication-group .muted{font-size:.72rem}.publication-controls{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.publication-controls label{align-items:center;gap:.5rem;font-size:.77rem;display:flex}.publication-controls input{width:18px;height:18px;min-height:18px;accent-color:var(--purple);margin:0}.publication-controls .button{min-height:38px;padding:.5rem .8rem;font-size:.76rem}.publication-row .notice{width:100%;margin:0;font-size:.76rem}@media (width<=1150px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.resource-grid{grid-template-columns:1fr}.lesson-row{flex-wrap:wrap;gap:.7rem;padding:1rem}.lesson-number{border-radius:9px;width:34px;height:36px;font-size:.74rem}.lesson-row-main{flex-basis:calc(100% - 90px)}.lesson-row-main h3{font-size:.88rem}.lesson-row-main>span{font-size:.66rem}.lesson-order{margin-left:auto}.lesson-reading{padding:1.35rem}.lesson-text{font-size:.88rem;line-height:1.9}.lesson-reading-top{gap:.7rem}.lesson-reading h2{font-size:1.03rem}.lesson-context .badge{white-space:normal}.publication-row{gap:1rem;padding:1.15rem}.publication-group{flex-basis:100%;min-width:0}.publication-controls{gap:.8rem;width:100%}.publication-controls .button{margin-left:auto}.resource-preview{height:195px}.avatar-editor{max-width:100%}.avatar-editor .button{width:auto}.avatar-editor>.text-button{margin-left:0}.resource-kind button{font-size:.73rem}}.visio-card{border-top:3px solid var(--purple);margin-top:1.3rem}.visio-main{align-items:flex-start;gap:1rem;display:flex}.visio-main>div{min-width:0}.visio-main p{margin:.45rem 0 .8rem}.visio-icon{width:54px;height:54px;color:var(--purple);background:#efe9f8;border-radius:14px;flex-shrink:0;place-items:center;display:grid}.visio-join{flex-direction:column;flex-shrink:0;align-items:center;gap:.55rem;margin-left:auto;padding-top:.4rem;display:flex}.visio-ready{color:#245375;background:#edf4ff;align-items:center;gap:.3rem;display:inline-flex}.visio-availability{background:#f6f3fb;border-radius:9px;padding:.85rem 1rem;font-size:.85rem}.visio-guidance{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.25rem;padding-top:.4rem;display:grid}.visio-guidance p,.visio-management-body p{color:var(--muted);font-size:.83rem}.visio-guidance strong{color:var(--navy);font-size:.9rem}.visio-management{border-top:1px solid var(--line);padding-top:1rem}.visio-management summary,.activity-details summary{cursor:pointer;color:var(--purple);font-size:.85rem;font-weight:650}.visio-management-body{max-width:850px}.visio-management-body .heading-actions{margin-top:1rem}.visio-fallback{background:#f5f3fb;border-radius:9px;padding:1rem}.visio-fallback p{margin:0 0 .6rem}.upcoming-badges{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.activity-home-link{align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.activity-home-link p{color:var(--muted);margin:.35rem 0 0;font-size:.85rem}.activity-home-link>.button{flex-shrink:0;margin-left:auto}.activity-filters{margin-bottom:1.6rem}.activity-filter-grid{grid-template-columns:minmax(140px,.7fr) minmax(140px,.7fr) minmax(190px,1.2fr) minmax(190px,1.2fr);align-items:start;gap:1rem;display:grid}.activity-filter-grid>*{min-width:0}.activity-filter-grid select{font-size:.85rem}.activity-filter-footer{justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.activity-filter-footer p{color:var(--muted);margin:0;font-size:.78rem}.activity-count{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;font-size:.88rem;display:flex}.activity-count span{color:var(--muted);font-size:.77rem}.activity-list{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.activity-event{gap:1rem;padding:1.3rem 1.5rem;display:flex}.activity-mark{width:38px;height:38px;color:var(--purple);background:#f1edfa;border-radius:11px;flex-shrink:0;place-items:center;display:grid}.activity-video{color:#176684;background:#eaf6fc}.activity-event-body{flex:1;min-width:0}.activity-event-heading{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.4rem;display:flex}.activity-event-heading .eyebrow{margin:0;font-size:.63rem}.activity-event-heading time{color:var(--muted);font-size:.74rem}.activity-event h2{letter-spacing:-.02em;font-size:1rem}.activity-author{color:var(--muted);margin:.35rem 0 .6rem;font-size:.8rem}.activity-author strong{color:var(--navy);font-weight:600}.activity-target{overflow-wrap:anywhere;max-width:100%;font-size:.85rem}.activity-unavailable{margin:0;font-size:.78rem}.activity-details{margin-top:.75rem}.activity-details summary{font-size:.78rem}.activity-details dl{background:#faf9fc;border-radius:8px;margin-bottom:0;padding:.8rem;font-size:.8rem}.activity-details dl>div{grid-template-columns:minmax(100px,.5fr) 1fr;gap:.7rem;padding:.2rem 0;display:grid}.activity-details dt{color:var(--muted)}.activity-details dd{overflow-wrap:anywhere;margin:0}.activity-empty{text-align:center;padding:2.5rem 1rem}.activity-empty svg{color:var(--purple);margin-bottom:1rem}.activity-empty p{color:var(--muted);font-size:.85rem}.activity-caption{color:var(--muted);max-width:940px;margin-top:1.5rem;font-size:.78rem;line-height:1.7}@media (width<=1250px){.activity-filter-grid{grid-template-columns:1fr 1fr}.visio-main{flex-wrap:wrap}.visio-join{align-items:flex-start;margin-left:70px}.activity-home-link{flex-wrap:wrap}.activity-home-link>.button{margin-left:0}}@media (width<=600px){.visio-card{padding:1.2rem}.visio-icon{width:40px;height:40px}.visio-main{gap:.75rem}.visio-main>div:not(.visio-join){flex:1}.visio-join{width:100%;margin-left:0}.visio-join .button{width:100%}.visio-guidance{grid-template-columns:1fr;gap:0}.visio-guidance p{margin:.5rem 0}.visio-management{margin-top:.7rem}.activity-filter-grid{grid-template-columns:1fr}.activity-filter-footer{flex-direction:column;align-items:stretch}.activity-count{flex-direction:column;align-items:flex-start;gap:.25rem}.activity-event{gap:.65rem;padding:1rem}.activity-mark{border-radius:8px;width:30px;height:30px}.activity-event-heading{flex-direction:column;align-items:flex-start;gap:.25rem}.activity-details dl>div{grid-template-columns:1fr;gap:.1rem}.activity-details dl>div+div{margin-top:.5rem}.activity-home-link>.button{width:100%}.activity-home-link>div{flex:1;min-width:0}.activity-actor-picker .picker-search{flex-wrap:wrap}}.calendar-context{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin:-.5rem 0 1.3rem;display:flex}.calendar-context p{color:var(--muted);align-items:center;gap:.6rem;margin:0;font-size:.82rem;display:flex}.calendar-filters{margin-bottom:1.3rem;padding:1rem 1.3rem}.calendar-filters>summary{cursor:pointer;color:var(--purple);min-height:25px;font-size:.85rem;font-weight:650}.calendar-filter-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin:1.25rem 0 .8rem;display:grid}.calendar-picker{min-width:0}.calendar-picker select{font-size:.8rem}.calendar-picker .picker-pages,.picker-refine{margin-top:.6rem}.picker-refine summary{color:var(--muted);cursor:pointer;font-size:.72rem}.picker-refine .picker-search{margin-top:.6rem}.calendar-card{min-width:0;padding:1.35rem;overflow:hidden}.calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.calendar-toolbar h2{text-transform:capitalize;text-align:center;flex:1;min-width:150px;font-size:1.2rem}.calendar-navigation{align-items:center;gap:.45rem;display:flex}.calendar-navigation .button{min-height:38px;padding:.5rem .8rem;font-size:.75rem}.calendar-views{flex-shrink:0}.calendar-views button{min-height:34px;padding:.45rem .65rem}.calendar-fetch-state{color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;min-height:25px;margin:0 0 1rem;font-size:.73rem;display:flex}.calendar-fetch-state .text-button{font-size:.74rem}.calendar-frame{min-width:0;color:var(--navy);--fc-monarch-primary:#662d91;--fc-monarch-primary-foreground:#fff;--fc-monarch-primary-over:#783ba4;--fc-monarch-primary-down:#572376;--fc-monarch-secondary:#ede7f6;--fc-monarch-secondary-foreground:#4f2872;--fc-monarch-secondary-over:#e4dbf0;--fc-monarch-secondary-down:#d8cbe8;--fc-monarch-foreground:#160e43;--fc-monarch-border:#e8e7f0;--fc-monarch-faint:#f8f6fc;--fc-monarch-muted:#eeebf5;--fc-monarch-muted-foreground:#656477;--fc-monarch-now:#ca2448;--fc-monarch-selected:#662d91;--fc-monarch-selected-foreground:#fff;--fc-monarch-background:#fff;padding-bottom:.2rem;overflow-x:auto}.calendar-frame a{text-decoration:none}.calendar-frame table{font-size:.77rem}.calendar-frame button{font-family:inherit}.calendar-grid-frame>div{min-width:620px}.rb-calendar-event{white-space:normal;flex-direction:column;gap:.15rem;min-width:0;padding:.28rem .35rem;line-height:1.35;display:flex}.rb-calendar-event strong{overflow-wrap:anywhere;font-size:.72rem}.rb-calendar-event>span{overflow-wrap:anywhere;font-size:.64rem}.rb-calendar-event .rb-event-time{font-size:.65rem;font-weight:700}.rb-cancelled-event{opacity:.9}.rb-cancelled-event strong{text-decoration:line-through}.calendar-legend{flex-wrap:wrap;gap:.65rem 1.2rem;margin:1.3rem .2rem;display:flex}.calendar-legend>span{color:var(--muted);align-items:center;gap:.45rem;font-size:.73rem;display:flex}.calendar-legend i{border-radius:3px;flex-shrink:0;width:9px;height:9px;display:inline-block}.calendar-caption{color:var(--muted);margin:1.25rem .1rem;font-size:.72rem;line-height:1.8}.class-form-card{max-width:940px;padding:2rem}.class-form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.3rem;display:grid}.class-form-card .field,.class-form-grid>*{min-width:0}.class-form-card .muted{margin:0;font-size:.79rem}.class-group-context{color:#655472;background:#f8f6fc;border-radius:9px;align-items:center;gap:.6rem;margin:0;padding:.8rem 1rem;font-size:.8rem;display:flex}.class-time-preview{color:#5a327d;background:#f7f3fc;border:1px solid #e3d9f0;border-radius:10px;align-items:center;gap:.8rem;padding:1rem;display:flex}.class-time-preview strong{font-size:.78rem}.class-time-preview p{margin:.3rem 0 0;font-size:.78rem}.class-status-line{align-items:center;gap:.6rem;margin:-.65rem 0 1.5rem;display:flex}.class-badge{color:#245c3e;background:#edf8f1}.class-badge.class-cancelled{color:#575064;background:#f0edf5}.class-cancellation{color:#a12646;background:#fff4f7;border:1px solid #edcfda;border-radius:12px;margin:0 0 1.5rem;padding:1.2rem 1.4rem}.class-cancellation strong{font-size:.9rem}.class-cancellation p{margin:.4rem 0 0;font-size:.85rem}.class-detail-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1.4rem;display:grid}.class-time-card h2{margin:1rem 0 1.3rem}.class-time-card dl{gap:1.1rem;margin:0;display:grid}.class-time-card dt{color:var(--muted);margin-bottom:.35rem;font-size:.72rem}.class-time-card dd{overflow-wrap:anywhere;margin:0;font-size:1.02rem;font-weight:650;line-height:1.7}.class-timezone{color:var(--purple);margin:1.3rem 0 0;font-size:.75rem}.class-origin-time{border-top:1px solid var(--line);margin-top:1rem;padding-top:.8rem;font-size:.75rem}.class-group-card{flex-direction:column;align-items:flex-start;gap:.6rem;display:flex}.class-group-card .eyebrow{margin:0}.class-group-card h2{margin:.15rem 0 .9rem}.class-group-link{color:var(--navy);align-items:center;gap:.7rem;font-size:.95rem;font-weight:650;text-decoration:none;display:flex}.class-group-card .course-teacher{border-top:1px solid var(--line);width:100%;margin-top:1rem;padding-top:1.2rem}.class-instructions{margin-top:1.4rem}.class-instructions>p{color:#605675;font-size:.9rem;line-height:1.9}.class-lesson-link{border-top:1px solid var(--line);align-items:center;gap:.9rem;margin-top:1.3rem;padding-top:1.3rem;display:flex}.class-lesson-link>div{gap:.4rem;display:grid}.upcoming-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem;display:grid}.upcoming-card{border-top:4px solid var(--group-color);min-width:0;padding:1.4rem;text-decoration:none;transition:box-shadow .15s;position:relative}.upcoming-card:hover{box-shadow:0 5px 20px #2414540c}.upcoming-card h3{margin:.9rem 0 .5rem;line-height:1.5}.upcoming-card p{color:var(--muted);margin:.4rem 0 .9rem;font-size:.76rem}.upcoming-card time{font-size:.83rem;font-weight:650;line-height:1.6;display:block}.upcoming-card>.text-link{margin-top:1.15rem;font-size:.74rem;display:flex}.upcoming-empty{background:#fcfbfe;flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.upcoming-empty>svg{color:var(--purple)}.upcoming-empty p{color:var(--muted);flex:1;min-width:170px;margin:0;font-size:.84rem}.course-calendar-link{margin-top:1.4rem}@media (width<=1150px){.calendar-toolbar h2{flex-basis:100%;order:-1}.upcoming-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.calendar-context{flex-direction:column;align-items:flex-start}.calendar-context p{font-size:.75rem}.calendar-context .text-link{font-size:.73rem}.calendar-filters{padding:1rem}.calendar-filter-grid{grid-template-columns:minmax(0,1fr)}.calendar-card{padding:.8rem}.calendar-toolbar{justify-content:center;gap:.8rem}.calendar-toolbar h2{font-size:1.1rem}.calendar-navigation,.calendar-views{justify-content:center;width:100%}.calendar-views button{flex:1;min-height:39px}.calendar-fetch-state{gap:.5rem;font-size:.64rem}.calendar-fetch-state .text-button{font-size:.68rem}.calendar-legend{gap:.6rem 1rem}.calendar-legend>span{font-size:.66rem}.class-form-card{padding:1.2rem}.class-form-grid,.class-detail-grid,.upcoming-grid{grid-template-columns:minmax(0,1fr)}.class-time-preview{align-items:flex-start}.class-time-preview p{font-size:.72rem}.class-time-card dd{font-size:.93rem}.class-group-card,.class-time-card,.class-instructions{padding:1.3rem}.class-form-card .form-actions>.button{width:100%;font-size:.77rem}.upcoming-section .section-heading{flex-direction:column;align-items:flex-start;gap:.6rem}.upcoming-empty{padding:1.25rem}.upcoming-empty p{flex-basis:calc(100% - 48px);min-width:0}.upcoming-empty .button{width:100%;font-size:.75rem}}.tracking-course-filter{max-width:620px;margin-bottom:1.25rem}.tracking-group-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;display:grid}.tracking-group-card{border-top:4px solid var(--group-color);flex-direction:column;min-width:0;text-decoration:none;display:flex}.tracking-group-card:hover{box-shadow:0 8px 26px #0b00570d}.tracking-card-top{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.2rem;display:flex}.tracking-group-card>.text-link{margin-top:auto;padding-top:1.5rem}.tracking-group-card>.muted{margin:.6rem 0 1.4rem}.tracking-group-totals{gap:.2rem;display:grid}.tracking-group-totals strong{font-size:2rem}.tracking-group-totals span{font-size:.85rem}.tracking-group-totals small{margin-top:.4rem}.tracking-explanation{color:var(--muted);margin:1.1rem 0 0;font-size:.8rem;line-height:1.7}.progress-meter{min-width:0}.progress-meter-heading{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.progress-meter-heading strong{white-space:nowrap;letter-spacing:-.06em;font-size:2.3rem}.progress-meter-heading span{color:var(--muted);text-align:right;font-size:.85rem}.progress-meter progress{appearance:none;background:#eeebf5;border:0;border-radius:20px;width:100%;height:9px;margin-top:.8rem;display:block;overflow:hidden}.progress-meter progress::-webkit-progress-bar{background:#eeebf5;border-radius:20px}.progress-meter progress::-webkit-progress-value{background:var(--purple);border-radius:20px}.progress-meter progress::-moz-progress-bar{background:var(--purple);border-radius:20px}.progress-compact .progress-meter-heading strong{font-size:1.5rem}.progress-compact .progress-meter-heading span{font-size:.75rem}.progress-summary{margin-bottom:1.3rem}.progress-not_started,.attendance-not_recorded{color:#605d70;background:#f0eff4}.progress-in_progress,.attendance-late{color:#735009;background:#fff3d7}.progress-completed,.attendance-present{color:#246343;background:#e9f5ee}.attendance-absent{color:#a11d3b;background:#ffedf0}.attendance-excused{color:#604785;background:#eeebfa}.lesson-list-progress{flex-wrap:wrap;gap:.5rem;max-width:300px;display:flex}.lesson-list-progress>span{gap:.25rem;display:grid}.lesson-progress-panel{margin-top:1.6rem}.lesson-progress-panel>.field{max-width:500px;margin-bottom:1.3rem}.lesson-progress-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.15rem;display:flex}.lesson-progress-actions>div:first-child{flex:1;min-width:180px}.lesson-progress-actions p{color:var(--muted);margin:.4rem 0 0;font-size:.85rem}.progress-lesson-list{gap:.8rem;display:grid}.progress-lesson{justify-content:space-between;align-items:center;gap:1rem;display:flex}.progress-lesson h2{font-size:1.02rem}.progress-lesson p:not(.eyebrow){color:var(--muted);margin:.5rem 0 0;font-size:.8rem}.progress-lesson-state{flex-shrink:0;justify-items:end;gap:.9rem;display:grid}.tracking-visibility{max-width:390px;margin:1.3rem 0}.report-period{margin-bottom:1.25rem}.report-period-fields{flex-wrap:wrap;align-items:end;gap:1rem;display:flex}.report-period-fields>.field{flex:1;min-width:140px;max-width:250px}.report-period>p{color:var(--muted);margin:.8rem 0 0;font-size:.8rem}.report-period>.notice{margin-top:.8rem}.tracking-roster-filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:1.3rem 0;display:flex}.tracking-roster-filters>.list-toolbar{flex:1;min-width:220px;max-width:500px;margin:0}.segmented-control{border:1px solid var(--line);background:#efedf6;border-radius:10px;flex-wrap:wrap;gap:.3rem;padding:.3rem;display:inline-flex}.segmented-control button{color:var(--muted);background:0 0;border-radius:7px;min-height:40px;padding:.65rem .85rem;font-size:.8rem}.segmented-control button[aria-pressed=true]{color:var(--purple);background:#fff;font-weight:700}.tracking-roster{padding:0;overflow:hidden}.tracking-roster>.tracking-explanation{border-bottom:1px solid var(--line);margin:0;padding:1rem 1.3rem}.tracking-roster .table-scroll{width:100%;overflow:auto}.tracking-roster table{border-collapse:collapse;width:100%;min-width:710px}.tracking-roster td,.tracking-roster th{text-align:left;border-bottom:1px solid var(--line);padding:1.1rem 1.3rem}.tracking-roster th{color:var(--muted);background:#fcfbff;font-size:.75rem}.tracking-roster td{font-size:.85rem}.tracking-roster td:nth-child(2){min-width:210px}.tracking-roster tbody tr:last-child td{border-bottom:0}.tracking-roster td:last-child{white-space:nowrap}.tracking-roster .table-person{align-items:center;gap:.7rem;min-width:180px;display:flex}.tracking-roster .table-person>div{gap:.3rem;display:grid}.tracking-cell-note{min-width:125px;margin-top:.4rem;display:block}.tracking-history-note{border-left:3px solid var(--purple);background:#f4f1fb;border-radius:0 7px 7px 0;padding:.9rem 1rem;font-size:.85rem;line-height:1.6}.attendance-summary{margin-bottom:1.3rem}.tracking-numbers{grid-template-columns:1.7fr repeat(5,1fr);gap:1rem;display:grid}.tracking-numbers>div{border-left:1px solid var(--line);flex-direction:column;justify-content:center;gap:.5rem;min-width:0;padding-left:1rem;display:flex}.tracking-numbers>.tracking-rate{border:0;padding:0}.tracking-numbers strong{letter-spacing:-.05em;font-size:1.7rem}.tracking-numbers span{color:var(--muted);font-size:.78rem}.tracking-rate strong{font-size:2.6rem;line-height:1.2}.attendance-records{gap:.85rem;display:grid}.attendance-record{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.attendance-record p:not(.eyebrow){color:var(--muted);margin:.5rem 0;font-size:.85rem}.attendance-record time{font-size:.8rem;font-weight:650}.attendance-record-state{text-align:right;justify-items:end;gap:.65rem;max-width:270px;display:grid}.own-attendance{margin-top:1.3rem}.own-attendance>.badge{margin-top:1rem}.own-attendance>p{color:var(--muted);font-size:.85rem}.attendance-context{margin-bottom:1.3rem}.attendance-context p{color:var(--muted);font-size:.85rem}.attendance-context strong{color:var(--navy)}.attendance-search{max-width:600px;margin-bottom:1.2rem}.attendance-entry-list,.attendance-preview{gap:.9rem;display:grid}.attendance-person{align-items:center;gap:.85rem;margin-bottom:1.2rem;display:flex}.attendance-person>div{flex:1;min-width:0}.attendance-person h2{font-size:1.05rem}.attendance-person .text-button{min-height:44px}.attendance-fields{grid-template-columns:minmax(160px,1fr) minmax(240px,2fr);gap:1.2rem;display:grid}.attendance-last-change{color:var(--muted);margin:.8rem 0 0;font-size:.77rem}.attendance-save{border-top:3px solid var(--purple);margin-top:1.25rem}.attendance-save>.form-actions{margin-top:.5rem}.attendance-preview-row{align-items:center;gap:1rem;display:flex}.attendance-preview-row strong{overflow-wrap:anywhere;flex:1;font-size:.9rem}.pagination-locked{opacity:.5}.attendance-history{gap:1rem;margin:1.3rem 0;padding:0;list-style:none;display:grid}.attendance-history li{border-left:3px solid #e7def4;gap:.4rem;padding-left:1rem;display:grid}.attendance-history strong{font-size:.88rem}.attendance-history span{color:var(--muted);font-size:.8rem}@media (width<=1100px){.tracking-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tracking-numbers{grid-template-columns:repeat(3,minmax(0,1fr))}.tracking-numbers>.tracking-rate{border-bottom:1px solid var(--line);grid-column:span 3;padding-bottom:1rem}.tracking-numbers>div{border:0;padding:.2rem 0}}@media (width<=600px){.tracking-group-grid{grid-template-columns:1fr}.report-period-fields>.field{flex:100%;min-width:0;max-width:none}.report-period-fields>.button{width:100%}.progress-lesson,.attendance-record{flex-direction:column;align-items:stretch}.progress-lesson-state,.attendance-record-state{text-align:left;justify-items:start;max-width:none}.progress-lesson-state{flex-wrap:wrap;justify-content:space-between;display:flex}.progress-meter-heading{align-items:center}.progress-meter-heading span{max-width:170px}.lesson-progress-actions>.button{width:100%}.lesson-list-progress{grid-column:2/-1;max-width:none}.tracking-roster-filters{align-items:stretch}.tracking-roster-filters>.list-toolbar{min-width:0}.tracking-numbers{gap:1.2rem .65rem}.tracking-numbers span{font-size:.75rem}.attendance-fields{grid-template-columns:1fr}.attendance-person{flex-wrap:wrap}.attendance-person>div{min-width:130px}.attendance-person .text-button{margin-left:auto}.attendance-preview-row{flex-wrap:wrap}.attendance-preview-row>.badge{margin-left:3.1rem}.attendance-save .button{width:100%}.segmented-control{justify-content:space-between;width:100%}.segmented-control button{padding:.55rem .7rem}}
