*{box-sizing:border-box}body{margin:0;background:#f8fbfe;color:#142c42;font:14px 'DM Sans',sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,p{margin:0}h1,h2{font-family:Fraunces,serif;letter-spacing:-1px}h1{font-size:48px;line-height:1.05}h1 em,h2 em{color:#079bd3;font-style:italic}.brand{font:700 22px Fraunces;display:flex;align-items:center;gap:8px}.brand i{font-style:normal;background:#079bd3;color:#ffffff;border-radius:8px;padding:1px 8px;font-size:24px}.eyebrow{font-size:10px;letter-spacing:1.2px;color:#5e7384}.primary{border:0;border-radius:8px;background:#079bd3;color:#fff;font-weight:700;padding:12px 17px}.text{border:0;background:none;color:#0579bd;font-weight:700}.intro{color:#5b7185;line-height:1.65}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#075e9c;color:#fff}.login section{padding:48px 11vw}.login .eyebrow{margin-top:105px;color:#d8f2ff}.login h1{margin:14px 0 20px;font-size:67px}.login .intro{color:#e1f4ff;max-width:430px}.login aside{position:relative}.orb{position:absolute;border:1px solid #81cef0;border-radius:50%;width:420px;height:420px;left:8%;top:23%}.orb:after{content:'✦';position:absolute;inset:118px;background:#079bd3;border-radius:50%;display:grid;place-items:center;color:#ffffff;font-size:40px;box-shadow:0 0 0 20px #147ab3}.roles{display:grid;gap:10px;margin-top:35px;max-width:440px}.roles button{background:#0874b3;border:1px solid #5bb6e3;color:#fff;padding:15px;border-radius:10px;text-align:left}.roles b,.roles span{display:block}.roles span{font-size:11px;color:#d9f2ff;margin-top:4px}.float{position:absolute;background:#fff;color:#142c42;border-radius:9px;padding:15px;box-shadow:0 12px 30px #083a6655;font-size:10px}.float b{display:block;font:16px Fraunces;margin-top:5px}.one{top:16%;right:14%}.two{bottom:18%;left:0}.auth{min-height:100vh;padding:35px 15%;background:#fff}.auth section{max-width:395px;margin:95px auto}.auth .eyebrow{margin-bottom:12px}.auth h1{margin-bottom:10px}.auth form,.formpage form{margin-top:28px}.auth label,.formpage label,.student label{display:block;margin:16px 0;font-size:12px;font-weight:700}.auth input,.formpage input,.formpage select,.formpage textarea,.student textarea{display:block;width:100%;padding:12px;margin-top:7px;border:1px solid #c9dce9;border-radius:7px}.auth .primary{width:100%;margin-bottom:16px}.shell{display:flex;min-height:100vh}.side{width:220px;background:#fff;border-right:1px solid #d9e7f0;padding:28px 16px;display:flex;flex-direction:column;gap:17px}.side p{margin-top:35px;font-size:10px;color:#5e7384}.side span,.side>b{padding:9px;color:#47667c}.side>b{background:#e7f5fc;border-radius:7px;color:#079bd3}.side footer{margin-top:auto;border-top:1px solid #d9e7f0;padding:17px 6px;font-size:11px}.side small{color:#7d8c88}.dash{flex:1;max-width:1100px;padding:38px 5%}.dash header,.result header,.student header{display:flex;justify-content:space-between;align-items:center}.dash h1{font-size:31px;margin-top:7px}.banner{margin:30px 0;background:#e3f4fc;border:1px solid #bae3f5;padding:14px 17px;border-radius:10px;display:flex;gap:13px;align-items:center}.banner span{flex:1}.banner b,.banner small{display:block}.banner small{font-size:11px;color:#41647a;margin-top:3px}.stats,.cards,.insights{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.stats article,.cards article{background:#fff;border:1px solid #d9e7f0;border-radius:10px;padding:17px}.stats b{font:26px Fraunces;display:block}.stats span{font-size:11px;color:#5e7384}.heading{margin:38px 0 14px}.heading h2{font-size:21px;margin-top:4px}.assessment{display:grid;grid-template-columns:34px 1.5fr .7fr 1fr .7fr auto;align-items:center;gap:14px;border:1px solid #d9e7f0;background:#fff;border-radius:10px;padding:15px}.assessment>i{font-style:normal;background:#dcedf7;color:#066eaa;border-radius:8px;padding:9px;text-align:center}.assessment b,.assessment small{display:block}.assessment small{font-size:10px;color:#60798c}.bar{height:5px;background:#dfeaf1;border-radius:9px}.bar i,.meter i{display:block;width:75%;height:100%;background:#079bd3;border-radius:9px}.tag{font-size:10px;background:#dff2fb;color:#0572ac;padding:4px 6px;border-radius:9px}.cards{grid-template-columns:1fr 1fr}.cards p{font-size:12px;color:#506d82;margin:12px 0}.formpage{padding:28px 7%;min-height:100vh}.formpage>.brand{position:absolute;top:26px;left:46%}.formpage>section{max-width:1050px;margin:75px auto;display:grid;grid-template-columns:1fr 1fr;gap:110px}.formpage form{background:#fff;border:1px solid #d9e7f0;border-radius:11px;padding:25px}.formpage textarea{min-height:90px;resize:vertical}.formpage form .primary{width:100%;margin-top:8px}.curriculum,.question2{margin-top:30px;background:#e7f5fc;padding:13px;border-radius:8px;font-size:11px}.question2{background:#f4f9fc;color:#506d82}.student{min-height:100vh}.student header{height:73px;padding:0 7%;border-bottom:1px solid #d9e7f0}.student section{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;max-width:1060px;margin:70px auto}.student h1{margin:12px 0 18px}.goal,.hint{background:#e7f5fc;padding:14px;border-radius:8px;margin-top:32px;font-size:12px;line-height:1.5}.student form{background:#fff;border:1px solid #d9e7f0;border-radius:11px;padding:30px}.student form h2{font-size:29px;margin:30px 0 12px}.student form>p:not(.eyebrow){color:#667974;line-height:1.6}.student textarea{height:145px;resize:vertical}.hint{background:#e6f5fc;color:#2e688a;margin:18px 0}.result{max-width:1250px;margin:auto;padding:28px 5%}.outline{background:#fff;color:#0579bd;border:1px solid #bbd7e8}.resulthead{display:flex;justify-content:space-between;align-items:end;margin:70px 0 35px}.resulthead h1{margin:10px 0}.score{background:#e7f5fc;border-radius:10px;padding:15px;font-size:10px;color:#24698f}.score b,.score small{display:block}.score b{font:38px Fraunces;color:#0579bd}.insights{grid-template-columns:1.3fr .7fr}.insights article{border:1px solid #d9e7f0;border-radius:11px;padding:25px;background:#fff}.insights h2{margin:7px 0}.meter{height:10px;background:#dbe9f1;border-radius:10px;margin:30px 0 8px}.split{display:flex;gap:42px;border-top:1px solid #d9e7f0;margin-top:23px;padding-top:14px}.split span{font-size:10px;color:#788986}.split b{display:block;font:20px Fraunces;color:#142c42}.insights .dark{background:#075e9c;color:#fff;border:0}.dark .eyebrow,.dark small{color:#d6effb}.dark p:not(.eyebrow){margin-top:17px;font-size:11px}.person{display:grid;grid-template-columns:1fr 1.5fr 1.5fr auto;gap:15px;align-items:center;border-top:1px solid #d9e7f0;padding:15px 5px;font-size:11px}.person small{display:block;color:#6a8091;font-size:9px;margin-bottom:4px}.person span{color:#0579bd;font-size:10px}@media(max-width:760px){.login{display:block}.login aside,.side{display:none}.login section{padding:30px}.login h1{font-size:50px}.formpage>section,.student section{grid-template-columns:1fr;gap:30px;margin:50px 0}.formpage>.brand{display:none}.assessment{grid-template-columns:35px 1fr auto}.assessment strong,.assessment .bar,.tag{display:none}.stats{gap:6px}.stats article{padding:10px}.cards,.insights{grid-template-columns:1fr}.resulthead{display:block;margin:45px 0 25px}.score{display:inline-block;margin-top:18px}.person{grid-template-columns:1fr auto}.person div{display:none}.student section{padding:0 20px}.student section>aside{display:none}.student form{padding:22px}.auth{padding:25px}.auth section{margin:70px auto}.dash{padding:25px 18px}}
.brand.logo{display:flex;align-items:center;background:#fff;border-radius:7px;padding:3px 6px;line-height:0}.brand.logo img{display:block;width:150px;height:auto}.side .brand.logo{margin-bottom:4px}.side .brand.logo img{width:172px}.formpage>.brand.logo{padding:3px 6px}.student header .brand.logo img{width:145px}@media(max-width:760px){.brand.logo img{width:128px}}.brand.logo{width:70px;height:70px;padding:0;overflow:hidden;justify-content:center;border-radius:10px}.brand.logo img,.side .brand.logo img,.student header .brand.logo img{width:70px;height:70px;object-fit:cover}.formpage>.brand.logo{padding:0}@media(max-width:760px){.brand.logo,.brand.logo img,.side .brand.logo img,.student header .brand.logo img{width:58px;height:58px}}.login .brand.logo{width:180px;height:180px;margin-bottom:22px}.login .brand.logo img{width:180px;height:180px}@media(max-width:760px){.login .brand.logo,.login .brand.logo img{width:145px;height:145px}}.site-nav{border:0;background:transparent;text-align:left;border-radius:7px;padding:10px;color:#47667c;font-weight:600}.site-nav.active{background:#e7f5fc;color:#0579bd}.school-list{border:1px solid #d9e7f0;border-radius:10px;background:#fff;overflow:hidden}.school-list article{display:grid;grid-template-columns:1.3fr 1fr auto;gap:16px;align-items:center;padding:17px;border-bottom:1px solid #d9e7f0}.school-list article:last-child{border:0}.school-list b{font-size:13px}.school-list p,.school-list span{font-size:11px;color:#60798c;margin:4px 0 0}.school-list span{margin:0}@media(max-width:760px){.school-list article{grid-template-columns:1fr auto}.school-list span{display:none}}.add-school-page{max-width:790px;margin:55px auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.add-school-page h1{margin:9px 0 15px}.add-school-page form{background:#fff;border:1px solid #d9e7f0;border-radius:11px;padding:25px}.add-school-page label{display:block;font-size:12px;font-weight:700;margin:16px 0}.add-school-page input{display:block;width:100%;padding:12px;margin-top:7px;border:1px solid #c9dce9;border-radius:7px}.add-school-page input[type=file]{padding:9px;background:#f4f9fc}.add-school-page small{display:block;color:#60798c;font-weight:400;margin-top:6px}.add-school-page .primary{width:100%;margin-top:8px}@media(max-width:760px){.add-school-page{grid-template-columns:1fr;gap:25px;margin:30px 0}}.school-list article{grid-template-columns:42px 1.3fr 1fr auto}.school-logo{width:38px;height:38px;object-fit:contain;border:1px solid #d9e7f0;border-radius:7px;background:#fff}.school-logo.placeholder{display:grid;place-items:center;background:#e7f5fc;color:#0579bd;font-size:10px;font-weight:700}@media(max-width:760px){.school-list article{grid-template-columns:42px 1fr auto}}.school-detail{max-width:900px;margin:35px auto}.school-detail-title{display:flex;gap:18px;align-items:center;margin-bottom:30px}.detail-school-logo{width:76px;height:76px;object-fit:contain;border:1px solid #d9e7f0;border-radius:12px;background:#fff}.detail-school-logo.placeholder{display:grid;place-items:center;background:#e7f5fc;color:#0579bd;font-size:18px;font-weight:700}.danger{border:1px solid #d44b4b;background:#fff;color:#b62828;border-radius:8px;padding:11px 14px;font-weight:700;margin-top:10px}.danger:hover{background:#fff0f0}@media(max-width:760px){.school-detail-title{align-items:flex-start}.detail-school-logo{width:58px;height:58px}}.school-detail label{display:block;font-size:11px;font-weight:700;margin:10px 0}.school-detail label input{display:block;width:100%;margin-top:5px;padding:9px;border:1px solid #c9dce9;border-radius:7px}.school-detail .primary{margin-top:4px}.invitation-list{border:1px solid #d9e7f0;border-radius:10px;background:#fff;overflow:hidden}.invitation-list article{display:grid;grid-template-columns:1fr auto auto auto;gap:14px;align-items:center;padding:14px 16px;border-bottom:1px solid #d9e7f0}.invitation-list article:last-child{border:0}.invitation-list b{font-size:12px}.invitation-list p{margin:4px 0 0;font-size:11px;color:#60798c}.invitation-list span{font-size:10px;background:#e7f5fc;color:#0579bd;padding:4px 7px;border-radius:99px}.empty-invitations{margin-top:24px;border:1px dashed #c9dce9;border-radius:9px;padding:14px;color:#60798c;font-size:12px}@media(max-width:760px){.invitation-list article{grid-template-columns:1fr auto}.invitation-list span{display:none}}.admin-assessment-list,.people-list{border:1px solid #d9e7f0;border-radius:10px;background:#fff;overflow:hidden}.admin-assessment-list .assessment{border:0;border-bottom:1px solid #d9e7f0;border-radius:0}.admin-assessment-list .assessment:last-child{border-bottom:0}.library-row{grid-template-columns:34px 1.25fr 1fr auto auto}.library-row>div small{display:block;margin:3px 0}.library-filters{display:flex;align-items:center;justify-content:space-between;margin:28px 0 14px;color:#5e7384;font-size:12px}.library-filters select,.account-form select{border:1px solid #c9dce9;border-radius:7px;padding:9px;background:#fff;color:#142c42}.assessment-detail{max-width:900px;margin:42px auto}.assessment-detail>h1{margin:8px 0}.assessment-detail .stats{margin:30px 0}.status-pill{display:inline-block;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;background:#e7f5fc;color:#0579bd}.status-pill.draft{background:#f4f0df;color:#806b16}.people-list{margin-top:28px}.people-row{display:grid;grid-template-columns:42px 1fr 160px auto;gap:15px;align-items:center;padding:14px 17px;border-bottom:1px solid #d9e7f0}.people-row:last-child{border-bottom:0}.people-row p{font-size:11px;color:#60798c;margin:4px 0 0}.people-row>span:not(.status-pill){font-size:11px;color:#506d82}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7f5fc;color:#0579bd;font-size:10px;font-weight:700}.empty-state{padding:30px;color:#60798c;font-size:12px;text-align:center}.account-form select{display:block;width:100%;margin-top:7px}.form-actions{display:flex;gap:10px;margin-top:20px}.form-actions .primary{margin:0;flex:1}.form-actions .outline{flex:1;border-radius:8px;font-weight:700}.assessment-builder{max-width:920px}.assessment-builder textarea{display:block;width:100%;padding:12px;margin-top:7px;border:1px solid #c9dce9;border-radius:7px;min-height:85px;resize:vertical}.school-admin-side .site-nav{font-weight:600}@media(max-width:760px){.library-row{grid-template-columns:34px 1fr auto}.library-row>div:nth-of-type(2),.library-row .status-pill{display:none}.people-row{grid-template-columns:42px 1fr auto}.people-row>span:not(.status-pill){display:none}.form-actions{flex-direction:column}}.assessment-status{grid-template-columns:repeat(2,1fr);max-width:680px}
.library-actions{margin:22px 0 0}.library-actions .outline{border-radius:8px;padding:10px 14px;font-weight:700}`n.library-actions{text-align:right}`n.library-actions{display:flex;justify-content:flex-end;width:100%}`n.audit-label{display:block;margin-top:20px}`n.people-row.staff-row{grid-template-columns:42px 1fr 190px auto auto}.role-select{display:block;margin:16px 0;font-size:12px;font-weight:700}.role-select select{display:block;width:100%;margin-top:7px;padding:10px;border:1px solid #c9dce9;border-radius:7px;background:#fff;color:#142c42}@media(max-width:760px){.people-row.staff-row{grid-template-columns:42px 1fr auto}.people-row.staff-row>span:not(.status-pill){display:none}}`n.teacher-options{display:grid;gap:9px;margin:16px 0}.teacher-check{font-size:12px;color:#506d82}.assessment-detail .people-row{grid-template-columns:42px 1fr 100px auto auto}`n.class-stats{grid-template-columns:repeat(2,1fr);max-width:680px}.teacher-search{display:block;font-size:12px;font-weight:700;margin:16px 0}.teacher-search input{display:block;width:100%;margin-top:7px;padding:10px;border:1px solid #c9dce9;border-radius:7px}.teacher-check.hidden{display:none}`n.class-teacher-card{grid-template-columns:1fr}`n.school-brand{width:70px;height:70px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #d9e7f0;border-radius:10px;background:#fff}.school-brand img{width:100%;height:100%;object-fit:contain}.school-brand.placeholder{background:#e7f5fc;color:#0579bd;font-weight:700;font-size:15px}.school-logo-preview{width:130px;height:130px;border:1px solid #d9e7f0;border-radius:14px;background:#fff;display:grid;place-items:center;overflow:hidden}.school-logo-preview img{width:100%;height:100%;object-fit:contain}.school-logo-preview span{font:32px Fraunces;color:#0579bd}@media(max-width:760px){.school-brand{width:58px;height:58px}}`n
.licence-panel{margin:24px 0;padding:21px;border:1px solid #d9e7f0;border-radius:11px;background:#fff}.licence-panel>p{margin:7px 0 17px;color:#506d82;font-size:12px;line-height:1.5}.licence-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:18px}.licence-fields label{display:block;font-size:11px;font-weight:700}.licence-fields input,.licence-fields select{display:block;width:100%;margin-top:7px;padding:10px;border:1px solid #c9dce9;border-radius:7px;background:#fff;color:#142c42}.licence-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:4px 0 18px}.licence-summary div{padding:13px;border-radius:8px;background:#e7f5fc}.licence-summary b,.licence-summary span{display:block}.licence-summary b{font:22px Fraunces;color:#0579bd}.licence-summary span{margin-top:3px;font-size:10px;color:#506d82}@media(max-width:760px){.licence-fields,.licence-summary{grid-template-columns:1fr}}
.student-class-select{display:block;font-size:10px;font-weight:700;color:#506d82}.student-class-select select{display:block;width:150px;margin-top:5px;padding:8px;border:1px solid #c9dce9;border-radius:7px;background:#fff;color:#142c42;font-size:11px}@media(max-width:760px){.student-class-select{display:none}}
.class-row-actions{display:flex;justify-content:flex-end;gap:8px;align-items:center}.delete-inactive-class{color:#b62828}@media(max-width:760px){.class-row-actions{gap:4px}.delete-inactive-class{display:none}}
.assessment-sections{display:grid;gap:18px;margin:28px 0}.section-adder,.section-card{background:#fff;border:1px solid #d9e7f0;border-radius:11px;padding:22px}.section-adder h2,.section-card h2{font-size:20px}.section-adder form,.question-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.section-adder label,.question-form label{display:block;font-size:11px;font-weight:700}.section-adder input,.section-adder select,.question-form input,.question-form select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #c9dce9;border-radius:7px;background:#fff}.section-adder .primary,.question-form .outline{align-self:end}.section-card-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.question-list{margin:18px 0;border-top:1px solid #d9e7f0}.question-list>div{display:grid;grid-template-columns:1fr auto;gap:4px;padding:12px 0;border-bottom:1px solid #d9e7f0}.question-list small{color:#60798c;font-size:10px}.question-list .text{grid-column:2;grid-row:1 / span 2}.question-note{grid-column:1/-1;padding:10px;background:#e7f5fc;border-radius:7px;color:#506d82;font-size:11px}.builder-actions{max-width:560px;margin:30px 0 50px}@media(max-width:760px){.section-adder form,.question-form{grid-template-columns:1fr}.section-card-head{display:block}.question-list>div{grid-template-columns:1fr}.question-list .text{grid-column:1;grid-row:auto;text-align:left}}
.image-upload small{display:block;margin-top:5px;color:#60798c;font-weight:400}.question-image-preview{grid-column:1/-1;position:relative;display:inline-block;width:fit-content;max-width:100%;min-height:0}.question-image-preview img{display:block;max-width:100%;max-height:280px;border:1px solid #d9e7f0;border-radius:8px;cursor:crosshair}.diagram-spots{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;background:#f4f9fc;border-radius:8px}.diagram-spots label{font-size:11px}.diagram-spots input{display:block;width:100%;margin-top:5px;padding:8px;border:1px solid #c9dce9;border-radius:6px}@media(max-width:760px){.diagram-spots{grid-template-columns:1fr}}
.diagram-target{position:absolute;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#079bd3;color:#fff;border:2px solid #fff;font-style:normal;font-size:10px;font-weight:700;pointer-events:none;box-shadow:0 1px 5px #075e9c55}
.assessment-preview{display:grid;gap:16px}.assessment-preview-question{display:grid;gap:9px;padding:16px 0;border-top:1px solid #d9e7f0}.assessment-preview-question img{max-width:100%;max-height:320px;border:1px solid #d9e7f0;border-radius:8px}.assessment-preview-question small{color:#60798c;font-size:11px}.preview-options{display:grid;gap:6px}.preview-options span{padding:8px 10px;border:1px solid #d9e7f0;border-radius:7px;font-size:12px}
.question-list .edit-question{grid-column:1;text-align:left;padding:0;color:#142c42;font-size:13px}.question-order{grid-column:2;grid-row:1 / span 2;display:flex;gap:6px;align-items:center}.question-order .text{padding:3px;color:#0579bd;font-size:10px}@media(max-width:760px){.question-order{grid-column:1;grid-row:auto;justify-content:flex-start}}
.question-form .question-prompt{grid-column:1/-1}.question-form textarea[name="prompt"]{display:block;width:100%;min-height:110px;margin-top:6px;padding:12px;border:1px solid #c9dce9;border-radius:7px;resize:vertical;line-height:1.5}
.question-actions{grid-column:1/-1;display:flex;gap:10px;align-items:center}.question-actions .outline{margin:0}.question-actions .text{padding:9px 4px}
.question-form label:has(select[name="questionType"]){order:1}.question-form .question-prompt{order:2}.question-form label:has(input[name="image"]){order:3;grid-column:1/-1}.question-form .question-image-preview{order:4}.question-form label:has(input[name^="option"]){order:5}.question-form label:has(select[name="correct"]){order:6;grid-column:1}.question-form label:has(input[name="marks"]){order:7;grid-column:1}.question-form .question-actions{order:8}
.question-form .type-fields{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;order:5}.question-form .type-fields[hidden]{display:none}.question-form .type-fields .question-note{margin:0}.question-form .question-marks{grid-column:1;order:7}@media(max-width:760px){.question-form .type-fields{grid-template-columns:1fr}}
.question-form .type-fields[data-question-type="Multiple choice"] label:has(select[name="correctMC"]){grid-column:1/-1;order:6}
.question-form .remove-question-image{justify-self:start;order:4;margin-top:-5px;padding:3px 0}.question-form .remove-question-image[hidden]{display:none}
.header-actions{display:flex;gap:10px;align-items:center}.header-actions .outline{padding:11px 15px;border-radius:8px;font-weight:700}.import-guide,.import-preview{margin-top:24px;padding:18px;border:1px solid #d9e7f0;border-radius:10px;background:#fff}.import-guide code{display:block;margin:10px 0;padding:10px;border-radius:6px;background:#f4f9fc;color:#0579bd;font-size:12px}.import-guide p,.import-preview p{margin-top:10px;color:#506d82;font-size:12px;line-height:1.5}.import-preview h2{font-size:20px}.import-preview .stats{margin:16px 0}@media(max-width:760px){.header-actions{margin-top:16px;width:100%;justify-content:space-between}.header-actions .primary,.header-actions .outline{padding:10px;font-size:12px}}
.import-guide .outline{margin-top:14px;padding:10px 14px;border-radius:8px;font-weight:700}.account-form .primary{margin-top:16px}
.class-header-actions{display:flex;gap:12px;align-items:end}.class-switcher{display:block;color:#506d82;font-size:10px;font-weight:700}.class-switcher select{display:block;min-width:175px;margin-top:5px;padding:10px;border:1px solid #c9dce9;border-radius:7px;background:#fff;color:#142c42;font-size:12px}@media(max-width:760px){.class-header-actions{width:100%;margin-top:16px;justify-content:space-between}.class-header-actions .primary{flex:1}.class-switcher select{min-width:140px}}
.bulk-selection-head{display:flex;justify-content:space-between;align-items:center;margin:22px 0 10px;padding:12px 14px;background:#e7f5fc;border-radius:8px;color:#506d82;font-size:12px}.bulk-selection-head span{font-weight:700;color:#0579bd}.bulk-class-choice{display:grid;grid-template-columns:auto 1fr;gap:4px;padding:15px 17px;border-bottom:1px solid #d9e7f0;font-size:12px;color:#142c42}.bulk-class-choice input{grid-row:1 / span 2;align-self:center}.bulk-class-choice small{grid-column:2;color:#60798c;font-size:10px}@media(max-width:760px){.bulk-selection-head{align-items:flex-start;gap:10px;flex-direction:column}}
.class-assessment-row{grid-template-columns:34px 1.35fr .8fr auto auto}.progress-status{display:inline-block;width:max-content;padding:4px 8px;border-radius:999px;background:#f4f0df;color:#806b16;font-size:10px;font-weight:700}.progress-status.complete,.progress-status.completed{background:#e3f5ec;color:#27724a}.progress-status.skipped{background:#f0f3f5;color:#506d82}.progress-status.in-progress,.progress-status.not-started{background:#e7f5fc;color:#0579bd}.progress-row{grid-template-columns:42px 1fr auto auto}.progress-actions{display:flex;gap:7px;align-items:center}.progress-actions .skip{color:#806b16}.progress-actions .remove-student-assessment-data{color:#b62828}@media(max-width:760px){.class-assessment-row{grid-template-columns:34px 1fr auto}.class-assessment-row>div:nth-of-type(2),.class-assessment-row .progress-status{display:none}.progress-row{grid-template-columns:42px 1fr auto}.progress-row .progress-status{display:none}.progress-actions{grid-column:2 / -1;justify-content:flex-start}}
.assessment-row-actions{display:flex;flex-direction:column;gap:5px;align-items:flex-end}.results-row{grid-template-columns:34px 1.35fr .8fr auto}.results-analysis{margin:26px 0}.results-analysis article{padding:20px;border:1px solid #bae3f5;border-radius:10px;background:#e7f5fc}.results-analysis h2{margin:6px 0}.results-analysis p{color:#506d82;font-size:12px;line-height:1.5}.result-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.result-columns>section{border:1px solid #d9e7f0;border-radius:10px;background:#fff;padding:17px}.result-columns h2{margin:5px 0 12px;font-size:18px}.result-student{padding:10px 0;border-top:1px solid #d9e7f0}.result-student b,.result-student small{display:block}.result-student small{margin-top:3px;color:#60798c;font-size:10px}@media(max-width:760px){.assessment-row-actions{grid-column:2 / -1;align-items:flex-start;flex-direction:row}.results-row{grid-template-columns:34px 1fr auto}.results-row>div:nth-of-type(2){display:none}.result-columns{grid-template-columns:1fr}}
.results-filter{margin:26px 0 14px;display:flex;justify-content:flex-end;gap:12px}.results-filter label{font-size:11px;font-weight:700;color:#506d82}.results-filter select{display:block;min-width:230px;margin-top:6px;padding:10px;border:1px solid #c9dce9;border-radius:7px;background:#fff;color:#142c42}.student-result-hidden{display:none}@media(max-width:760px){.results-filter{justify-content:stretch;flex-direction:column}.results-filter label,.results-filter select{width:100%}}
.student-dashboard{min-height:100vh;background:#f8fbfe}.student-dashboard header{display:flex;align-items:center;justify-content:space-between;padding:16px 7%;background:#fff;border-bottom:1px solid #d9e7f0}.student-school{display:flex;gap:10px;align-items:center}.student-school b,.student-school small{display:block}.student-school small{margin-top:2px;color:#60798c;font-size:10px}.student-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:#079bd3;color:#fff;font-weight:700}.student-home{max-width:1080px;margin:0 auto;padding:65px 5%;display:grid;grid-template-columns:.8fr 1.2fr;gap:75px}.student-welcome h1{margin:10px 0 17px;font-size:45px}.student-summary{display:grid;gap:10px;margin-top:28px}.student-summary span{padding:13px;border-radius:8px;background:#e7f5fc;color:#506d82;font-size:12px}.student-summary b{font:22px Fraunces;color:#0579bd;margin-right:6px}.student-workspace{min-width:0}.student-tabs{display:flex;gap:8px;margin-bottom:18px;border-bottom:1px solid #d9e7f0}.student-tabs button{padding:10px 13px;border:0;background:transparent;color:#60798c;font-weight:700}.student-tabs button.active{color:#0579bd;border-bottom:2px solid #079bd3}.student-assessment-list{display:grid;gap:10px}.student-assessment{display:grid;grid-template-columns:38px 1fr auto auto;gap:13px;align-items:center;padding:16px;border:1px solid #d9e7f0;border-radius:10px;background:#fff}.student-assessment>i{font-style:normal;background:#e7f5fc;color:#0579bd;border-radius:8px;padding:10px;text-align:center}.student-assessment b,.student-assessment small{display:block}.student-assessment small{margin-top:3px;color:#60798c;font-size:10px}.student-task{max-width:1060px;margin:60px auto;padding:0 5%;display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.student-task h1{margin:10px 0 17px;font-size:42px}.student-task form{padding:27px;background:#fff;border:1px solid #d9e7f0;border-radius:11px}.student-question{padding:24px 0;border-bottom:1px solid #d9e7f0}.student-question h2{margin:8px 0 16px;font-size:23px}.student-question textarea{display:block;width:100%;min-height:130px;padding:12px;border:1px solid #c9dce9;border-radius:7px;resize:vertical}.student-question img{display:block;max-width:100%;max-height:300px;margin:0 0 16px;border-radius:8px;border:1px solid #d9e7f0}.student-options{display:grid;gap:8px}.student-options label{padding:10px 12px;border:1px solid #d9e7f0;border-radius:7px;font-size:12px}.student-task form>.primary{width:100%;margin-top:24px}.student-empty{max-width:670px;margin:85px auto;padding:0 5%;text-align:center}.student-empty h1{margin:10px 0}.student-result-score{display:grid;gap:4px;margin:25px auto;width:max-content;padding:22px 36px;border-radius:10px;background:#e7f5fc}.student-result-score b{font:35px Fraunces;color:#0579bd}.student-result-score span{font-size:11px;color:#506d82}@media(max-width:760px){.student-home,.student-task{grid-template-columns:1fr;gap:30px;margin:35px auto}.student-welcome h1{font-size:37px}.student-assessment{grid-template-columns:38px 1fr auto}.student-assessment .progress-status{display:none}.student-dashboard header{padding:14px 20px}.student-task form{padding:20px}}
.student-assessment-fullscreen{min-height:100vh;background:#f8fbfe}.student-assessment-fullscreen header{display:flex;justify-content:space-between;align-items:center;padding:18px 7%;background:#fff;border-bottom:1px solid #d9e7f0;font-size:12px;font-weight:700}.student-question-progress{height:5px;background:#dbe9f1}.student-question-progress i{display:block;height:100%;background:#079bd3}.student-assessment-fullscreen>section{max-width:800px;margin:0 auto;padding:9vh 5%}.single-question{padding:0;border:0}.single-question h1{margin:10px 0 28px;font-size:35px;line-height:1.2}.single-question .student-options label{font-size:15px;padding:15px}.single-question textarea{min-height:190px;font-size:15px}.single-question .primary{display:block;width:100%;margin-top:30px;padding:15px}.single-question .primary:disabled{opacity:.5;cursor:not-allowed}.shell.manual-review-mode .side{display:none}.shell.manual-review-mode .dash{max-width:none;padding:0}.teacher-manual-review{min-height:100vh;background:#f8fbfe}.teacher-manual-review header{display:flex;justify-content:space-between;align-items:center;padding:18px 7%;background:#fff;border-bottom:1px solid #d9e7f0;font-size:12px;font-weight:700}.teacher-manual-review>section{max-width:800px;margin:0 auto;padding:9vh 5%}.teacher-manual-review h1{margin:10px 0 28px;font-size:35px;line-height:1.2}.teacher-manual-review .manual-review-form{margin-top:25px}.teacher-manual-review .manual-review-form label{display:block;font-size:16px;font-weight:700}.teacher-manual-review .manual-review-form input{display:block;width:100%;margin-top:9px;padding:14px;border:1px solid #c9dce9;border-radius:7px;background:#fff;font-size:16px}.teacher-manual-review .manual-review-form .primary{display:block;width:100%;margin-top:22px;padding:15px}.teacher-manual-review .manual-check-answer{padding:17px}.teacher-manual-review .manual-check-answer b{font-size:16px}.teacher-manual-review .manual-check-answer p{font-size:15px;line-height:1.55}.manual-review-diagram{margin-top:20px}.manual-review-answers{display:grid;gap:10px}@media(max-width:760px){.student-assessment-fullscreen header{padding:15px 20px}.student-assessment-fullscreen header span:nth-of-type(1){display:none}.student-assessment-fullscreen>section{padding-top:55px}.single-question h1{font-size:28px}.teacher-manual-review header{padding:15px 20px}.teacher-manual-review header span:nth-of-type(1){display:none}.teacher-manual-review>section{padding-top:55px}.teacher-manual-review h1{font-size:28px}}
.student-diagram{position:relative;margin:0 0 20px}.student-diagram img{display:block;width:100%;max-height:420px;object-fit:contain;border:1px solid #d9e7f0;border-radius:8px}.student-diagram .diagram-target{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#079bd3;color:#fff;border:2px solid #fff;font-style:normal;font-size:12px;font-weight:700;box-shadow:0 1px 5px #075e9c55}.student-label-fields{display:grid;gap:11px}.student-label-fields label{font-size:13px;font-weight:700}.student-label-fields input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #c9dce9;border-radius:7px;background:#fff}.manual-mark-form label,.manual-review-form label{display:block;font-size:12px;font-weight:700}.manual-mark-form input,.manual-review-form input{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #c9dce9;border-radius:7px}.manual-mark-form .primary,.manual-review-form .primary{display:block;margin-top:16px}.manual-check-answer{margin:14px 0;padding:13px;border-radius:8px;background:#f4f9fc}.manual-check-answer p{margin-top:5px;color:#506d82;font-size:12px}.manual-achievement-decision{margin:18px 0 0;padding:16px;border:1px solid #a8d8ee;border-radius:8px;background:#edf8fd}.manual-achievement-decision legend{padding:0 5px;color:#075e9c;font-size:15px;font-weight:700}.manual-achievement-decision .question-note{margin:3px 0 10px}.manual-achievement-decision label{margin-top:10px!important;padding:11px 12px;border:1px solid #c9dce9;border-radius:7px;background:#fff;font-size:14px!important;font-weight:600!important}.manual-achievement-decision input{display:inline-block!important;width:auto!important;margin:0 7px 0 0!important;padding:0!important}.results-outline{margin:0 0 26px;padding:22px;border:1px solid #a8d8ee;border-radius:10px;background:#f4fbfe}.results-outline h2{margin:3px 0 15px}.results-outline textarea{display:block;width:100%;min-height:300px;padding:15px;border:1px solid #c9dce9;border-radius:7px;background:#fff;color:#28495d;font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical;white-space:pre}.results-outline .outline{margin-top:13px}.result-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.result-actions .outline,.result-actions .danger{margin-top:0}.result-actions .outline{border-radius:8px;padding:11px 14px;font-weight:700}@media(max-width:760px){.result-actions{justify-content:flex-start;margin-top:14px}}

.student-results-filters{display:flex;gap:12px;margin:20px 0}.student-results-filters label{flex:1;color:#506d82;font-size:11px;font-weight:700}.student-results-filters select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #c9dce9;border-radius:7px;background:#fff;color:#142c42}@media(max-width:560px){.student-results-filters{flex-direction:column}}
.builder-metadata{display:grid;grid-template-columns:minmax(250px,1fr) 180px;gap:14px;max-width:680px;margin:16px 0}.builder-metadata label{color:#506d82;font-size:12px;font-weight:700}.builder-metadata input,.builder-metadata select{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #c9dce9;border-radius:7px;background:#fff;color:#142c42;font:inherit}@media(max-width:560px){.builder-metadata{grid-template-columns:1fr}}
.assessment-export-actions{display:flex;justify-content:flex-end;margin:0 0 16px}.assessment-export-actions .outline{padding:11px 14px;border-radius:8px;font-weight:700}@media(max-width:560px){.assessment-export-actions{justify-content:stretch}.assessment-export-actions .outline{width:100%}}
.class-insights{margin:30px 0}.class-insight-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.class-insight-groups article,.class-insight-columns article{padding:17px;border:1px solid #d9e7f0;border-radius:10px;background:#fff}.class-insight-groups article>b{display:block;color:#0579bd;font:30px Fraunces}.class-insight-groups article>span{display:block;margin-top:2px;color:#142c42;font-size:13px;font-weight:700}.class-insight-groups article>p{margin:4px 0 10px;color:#60798c;font-size:10px}.class-insight-groups article:nth-child(3){border-color:#efd9c7;background:#fffaf5}.class-insight-groups article:nth-child(3)>b{color:#b46227}.class-insight-groups article:nth-child(4){border-color:#eadfbf;background:#fffdf4}.class-insight-groups article:nth-child(4)>b{color:#806b16}.class-insight-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px}.class-insight-columns h3{margin:5px 0 12px;font-size:18px}.class-insight-list{display:grid;gap:7px}.class-insight-list span{padding:8px 10px;border-radius:6px;background:#f4f9fc;color:#506d82;font-size:11px;line-height:1.45}.class-insight-list b{color:#0579bd;margin-right:5px}@media(max-width:850px){.class-insight-groups{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.class-insight-groups,.class-insight-columns{grid-template-columns:1fr}}
.student-result-admin-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid #d9e7f0}.student-result-admin-actions .outline,.student-result-admin-actions .danger{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:178px;height:42px;margin-top:0;padding:0 14px;border-radius:8px;font-weight:700}.student-result-admin-actions .danger{width:210px;white-space:nowrap}.manual-check-panel{margin:2px 0 22px}
.curriculum-mapping{grid-column:1/-1;order:5;margin:4px 0 2px;padding:16px;border:1px solid #a8d8ee;border-radius:9px;background:#f4fbfe}.curriculum-mapping legend{padding:0 5px;color:#075e9c;font-size:13px;font-weight:700}.curriculum-mapping legend small{display:block;margin-top:4px;color:#60798c;font-weight:400}.curriculum-link{display:flex!important;gap:10px;align-items:flex-start;margin:12px 0!important;padding:11px!important;border:1px solid #d4e7f1;border-radius:7px;background:#fff;cursor:pointer}.curriculum-link input{width:auto!important;margin:3px 0 0!important}.curriculum-link b,.curriculum-link small{display:block}.curriculum-link b{font-size:12px;color:#28495d}.curriculum-link small{margin-top:4px;color:#60798c;font-size:11px;font-weight:400;line-height:1.4}.curriculum-mapping>a{display:inline-block;margin-top:4px;color:#0579bd;font-size:11px;font-weight:700}.curriculum-mapping.empty{display:grid;gap:5px}.curriculum-mapping.empty small{color:#60798c;line-height:1.45}
.curriculum-scope{margin:18px 0;padding:15px;border:1px solid #a8d8ee;border-radius:9px;background:#f4fbfe}.curriculum-scope legend{padding:0 4px;color:#075e9c;font-size:13px;font-weight:700}.curriculum-scope legend small{display:block;margin-top:4px;color:#60798c;font-weight:400}.curriculum-scope>label{display:inline-flex!important;align-items:center;gap:6px;margin:10px 12px 0 0!important;padding:8px 10px!important;border:1px solid #c9dce9;border-radius:7px;background:#fff;font-size:12px!important}.curriculum-scope input{display:inline-block!important;width:auto!important;margin:0!important}.curriculum-scope>small{display:block;color:#60798c;line-height:1.45}
.descriptor-select-label{display:block!important;margin:12px 0!important;color:#28495d;font-size:12px!important;font-weight:700}.descriptor-select-label select{display:block;width:100%;margin-top:7px;padding:11px 12px;border:1px solid #c9dce9;border-radius:7px;background:#fff;color:#142c42}.selected-curriculum-links{display:grid;gap:8px;margin:12px 0}.selected-curriculum-links>small{color:#60798c;font-size:11px}.selected-curriculum-link{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:start;padding:10px 11px;border:1px solid #d4e7f1;border-radius:7px;background:#fff;color:#506d82;font-size:11px;line-height:1.4}.selected-curriculum-link b{color:#0579bd}.selected-curriculum-link .text{padding:0;font-size:11px;white-space:nowrap}
.edit-curriculum-areas{margin:2px 0 0;padding:9px 12px;border-radius:8px;font-weight:700}.builder-curriculum-editor{max-width:680px;margin:12px 0;padding:16px;border:1px solid #a8d8ee;border-radius:9px;background:#f4fbfe}.builder-curriculum-editor p{display:grid;gap:4px;color:#28495d;font-size:13px}.builder-curriculum-editor p small{color:#60798c;font-weight:400;line-height:1.4}.builder-curriculum-options{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}.builder-curriculum-options label{padding:8px 10px;border:1px solid #c9dce9;border-radius:7px;background:#fff;color:#28495d;font-size:12px;font-weight:700}.builder-curriculum-options input{margin:0 5px 0 0}.builder-curriculum-editor .primary{margin-right:9px;padding:9px 12px}

/* Curriculum map and student sidebar */
.student-home{max-width:1400px;grid-template-columns:220px minmax(0,1fr);gap:28px;padding-top:32px}.student-welcome{grid-column:1;grid-row:1}.student-welcome h1{font-size:30px}.student-tabs{grid-column:1;grid-row:2;display:flex;flex-direction:column;align-self:start;border:0}.student-tabs button{text-align:left;border-radius:8px}.student-tabs button.active{background:#e7f5fc;border:0}.student-workspace{grid-column:2;grid-row:1 / span 2}.curriculum-map h1{font-size:36px;margin:12px 0}.map-filters{display:flex;gap:16px;margin:24px 0;flex-wrap:wrap}.map-filters label{display:grid;gap:8px;flex:1;min-width:180px}.map-filters select,#curriculumStudent{padding:12px;max-width:100%;border:1px solid #c9dce9;border-radius:8px;background:white}.map-summary{display:flex;gap:14px;flex-wrap:wrap;padding:20px;background:#e7f5fc;border-radius:12px}.map-summary progress{width:100%;accent-color:#087f68}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.map-strand h2{font-size:22px;margin:24px 0 12px}.map-statement{display:grid;gap:8px;width:100%;text-align:left;margin-bottom:10px;padding:18px;background:#fff;border:1px solid #d9e7f0;border-radius:10px;color:#23465d;line-height:1.5}.map-statement[aria-pressed=true]{outline:2px solid #087eb5}.map-statement.mastered{border-left:5px solid #087f68}.map-status{font-weight:700;color:#087f68}.map-statement small{color:#60798c}.map-detail{position:sticky;top:20px;background:white;border:1px solid #d9e7f0;border-radius:12px;padding:22px;max-height:85vh;overflow:auto;line-height:1.6}.map-detail h3{margin-top:24px}.map-detail li{margin-bottom:12px}.map-detail ul{padding-left:20px}.map-evidence{border-top:1px solid #d9e7f0;padding:16px 0}.map-evidence small{display:block}.map-answer{white-space:pre-wrap;overflow-wrap:anywhere}.curriculum-map button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:900px){.map-layout{grid-template-columns:1fr}.map-detail{position:static;max-height:none}}@media(max-width:760px){.student-home{grid-template-columns:1fr}.student-welcome,.student-tabs,.student-workspace{grid-column:1;grid-row:auto}.student-tabs{flex-direction:row;flex-wrap:wrap}}
.student-home{grid-template-rows:min-content 1fr;align-items:start}
.curriculum-review-filters{display:grid;grid-template-columns:auto minmax(140px,240px) auto minmax(180px,320px);align-items:center;gap:16px 24px;margin-bottom:28px}.curriculum-review-filters label{font-weight:600}.curriculum-review-filters select{width:100%;padding:12px;border:1px solid #c9dce9;border-radius:8px;background:#fff}@media(max-width:760px){.curriculum-review-filters{grid-template-columns:auto minmax(0,1fr);gap:12px 20px}}
.map-first-strand{font-size:22px;margin:24px 0 12px;max-width:calc((100% - 20px)/2)}@media(max-width:900px){.map-first-strand{max-width:none}}
.curriculum-queue{display:grid;gap:16px}.queue-card h2{font-size:22px;margin:0 0 10px}.queue-card p{line-height:1.6}.queue-card button{margin-top:12px}#backToCurriculumQueue{margin-bottom:20px}
.mastery-review-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.parent-student-list{display:grid;gap:18px;margin-top:24px}.parent-email-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.parent-email-fields label{display:grid;gap:8px}.parent-email-fields input,#parentStudentSearch{padding:12px;border:1px solid #c9dce9;border-radius:8px;width:100%}.parent-child-label{display:flex;align-items:center;gap:24px;margin-bottom:28px}.parent-child-label select{padding:12px;min-width:220px;border:1px solid #c9dce9;border-radius:8px}#parentContent>.section-card{margin-top:16px}#parentContent p{line-height:1.6}@media(max-width:760px){.parent-email-fields{grid-template-columns:1fr}}
.parent-csv-import{margin:20px 0}.parent-csv-import>label{display:grid;gap:10px;margin:20px 0}.parent-csv-table{overflow:auto;margin:16px 0}.parent-csv-table table{width:100%;border-collapse:collapse;text-align:left}.parent-csv-table th,.parent-csv-table td{padding:12px;border-bottom:1px solid #d9e7f0;vertical-align:top}.parent-csv-import button:disabled{opacity:.5;cursor:not-allowed}
.parent-invite-panel{margin:20px 0}.parent-invite-panel form{display:grid;gap:16px}.parent-invite-panel label{display:grid;gap:8px}.parent-invite-panel input,.parent-invite-panel select,#parentAssignmentFilter{padding:12px;border:1px solid #c9dce9;border-radius:8px}#parentAssignmentFilter{display:block;margin:8px 0 20px}.parent-assignment-status{font-weight:700;color:#087f68}
.child-autocomplete{position:relative}#inviteChildSuggestions{position:absolute;top:70px;left:0;right:0;z-index:5;max-height:260px;overflow-y:auto;background:#fff;border:1px solid #a8c9dc;border-radius:8px;box-shadow:0 8px 20px #15374d20}#inviteChildSuggestions [role=option]{padding:12px 16px;cursor:pointer;border-bottom:1px solid #e5eef4}#inviteChildSuggestions [role=option]:hover,#inviteChildSuggestions [aria-selected=true]{background:#e7f5fc}#inviteChildMatchStatus{font-size:12px;color:#60798c}
.student-allocation-search{margin:20px 0}.student-allocation-search label{display:grid;gap:8px}.student-allocation-search input{padding:12px;border:1px solid #c9dce9;border-radius:8px}.allocation-search-results{margin-top:12px}.allocation-search-results .people-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.teaching-roster{margin:24px 0}.teaching-roster label{display:grid;gap:8px;margin:12px 0}.teaching-roster input{padding:12px;border:1px solid #c9dce9;border-radius:8px}#teachingRoster .people-row{display:flex;justify-content:space-between;gap:16px}#teacherAddStudent{margin-top:20px;border-top:1px solid #d9e7f0;padding-top:16px}#rosterAddMatch{margin-top:12px}
.roster-autocomplete{position:relative}#rosterSuggestions{position:absolute;left:0;right:0;top:100%;z-index:5;max-height:260px;overflow:auto;background:#fff;border:1px solid #c9dce9;border-radius:8px;box-shadow:0 8px 20px #15374d20}#rosterSuggestions [role=option]{padding:12px;cursor:pointer}#rosterSuggestions [role=option]:hover,#rosterSuggestions [aria-selected=true]{background:#e7f5fc}#rosterPending p{padding:10px;background:#f4f9fc;border-radius:8px}#addPendingStudents:disabled{opacity:.5;cursor:not-allowed}
.curriculum-student-search{position:relative;min-width:0}.curriculum-student-search input{width:100%;padding:12px;border:1px solid #c9dce9;border-radius:8px}#curriculumStudentSuggestions{position:absolute;top:100%;left:0;right:0;z-index:10;background:white;border:1px solid #c9dce9;border-radius:8px;max-height:260px;overflow:auto;box-shadow:0 8px 20px #15374d20}#curriculumStudentSuggestions [role=option],#curriculumStudentSuggestions p{padding:12px;margin:0}#curriculumStudentSuggestions [role=option]{cursor:pointer}#curriculumStudentSuggestions [role=option]:hover,#curriculumStudentSuggestions [aria-selected=true]{background:#e7f5fc}
.side .workspace-sign-out,.student-tabs .workspace-sign-out{margin-top:auto;flex-shrink:0;text-align:left;width:100%;border-top:1px solid #c9dce9;border-radius:0;padding:16px 12px;color:#0579bd;background:transparent}
.side:has(.workspace-sign-out){display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;min-height:0;overflow-y:auto;align-self:start}
.side footer:has(+ .workspace-sign-out){margin-bottom:16px}
.auth label.remember-login{display:flex;align-items:center;gap:10px;margin-top:8px}
.auth .remember-login input{width:18px;height:18px;margin:0;flex:none}
.auth .remember-login-note{font-size:13px;color:#60798c;margin:0 0 12px}
.student-signin-options{display:grid;gap:12px;margin:24px 0}
.student-signin-options button:disabled{opacity:.55;cursor:not-allowed}
.student-directory{display:grid;gap:24px;max-width:1100px}
.student-directory>header{display:block;margin:0}
.student-directory h1{margin:10px 0 14px}
.student-directory p{color:#60798c;line-height:1.6}
.student-directory label{display:grid;gap:8px;font-size:12px;font-weight:700;color:#506d82}
.student-directory input{display:block;width:100%;min-width:0;padding:12px;border:1px solid #c9dce9;border-radius:7px;background:#fff;color:#142c42}
.student-directory input:focus{outline:2px solid #079bd3;outline-offset:2px}
.student-directory>label{max-width:560px}
.student-directory .section-card{margin:0;padding:24px;background:#fff;border:1px solid #d9e7f0;border-radius:10px}
.student-directory h2{font-size:24px;line-height:1.25}
#directoryList{display:grid;gap:18px}
.student-directory-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:end}
.student-directory-card h2,.student-directory-card>p{grid-column:1/-1}
.student-directory-card>p{margin-top:-8px}
.student-directory .outline{padding:12px 16px;border-radius:8px;font-weight:700;min-height:43px}
#directoryImport:empty,#directoryStatus:empty{display:none}
#directoryImport .section-card{display:grid;gap:16px}
#directoryImport .outline{justify-self:start}
#directoryImport label{max-width:560px}
#directoryImport input[type=file]{background:#f4f9fc;padding:10px}
#studentSsoPreview:empty{display:none}
#studentSsoPreview{display:grid;gap:16px;overflow-wrap:anywhere}
@media(max-width:760px){.student-directory-card{grid-template-columns:1fr}.student-directory .section-card{padding:18px}.student-directory-card h2,.student-directory-card>p{grid-column:auto}}
.demo-session-badge{padding:10px;border:1px solid #e2c575;border-radius:6px;background:#fff8df;color:#725d20;font-size:11px;line-height:1.4}
#secureLoginOptions{display:grid;gap:12px;margin:20px 0}

.growth-filters { flex-wrap:wrap; gap:20px; margin-top:24px; }
.growth-filters label { flex:1; min-width:220px; }
.growth-filters select { width:100%; max-width:100%; }
.growth-table-wrap { overflow-x:auto; background:white; border:1px solid #dce5e9; border-radius:16px; }
.growth-table { width:100%; border-collapse:collapse; text-align:left; }
.growth-table th,.growth-table td { padding:18px; border-bottom:1px solid #e6ecef; }
.growth-table thead { background:#f1f6f5; }
.growth-table small { display:block; margin-top:5px; color:#506d82; }

.formative-layout { display:grid; grid-template-columns:minmax(250px,1fr) minmax(0,2fr); gap:24px; align-items:start; }
.formative-layout label,.formative-detail>label { display:flex; flex-direction:column; gap:8px; margin:16px 0; }
.formative-layout .teacher-check { flex-direction:row; align-items:center; }
.formative-layout input:not([type=checkbox]),.formative-layout select,.formative-detail select,.formative-detail textarea { width:100%; min-width:0; padding:12px; border:1px solid #ccdadd; border-radius:10px; background:white; font:inherit; }
.formative-layout .map-filters { flex-wrap:wrap; }
.formative-layout .map-filters label { min-width:160px; flex:1; }
.formative-scroll { max-height:420px; overflow:auto; margin-top:16px; }
.formative-chip { margin:4px; padding:8px; }
.formative-detail { margin-top:24px; }
.formative-actions { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0; }
.formative-actions [hidden] { display:none; }
#formativeTargetText { padding:16px; background:#f1f6f5; border-radius:10px; line-height:1.6; }
@media(max-width:800px){.formative-layout{grid-template-columns:1fr;}}

.question-form .image-upload { padding:16px; border:1px dashed #9cb9c9; border-radius:10px; background:#f4f9fc; }
.question-form .image-upload input { display:block; width:100%; margin:12px 0 6px; }
.question-form:not([data-type="Diagram labels"]) .question-image-preview img { cursor:default; }
.student-question>img { display:block; max-width:100%; max-height:480px; object-fit:contain; margin:20px 0; }

.question-elaborations { width:100%; margin:12px 0; padding:12px; border:1px solid #d9e7f0; border-radius:8px; }
.question-elaborations label { display:flex; align-items:flex-start; gap:10px; margin-top:12px; font-weight:400; line-height:1.5; }
.question-elaborations input[type=checkbox] { flex:0 0 auto; width:auto; margin-top:4px; }
.map-detail li>button { display:block; margin:8px 0; }

.analysis-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:20px; }
.analysis-filters label,.analysis-attempt-row label { display:flex; flex-direction:column; gap:8px; min-width:0; }
.analysis-filters select,.analysis-filters input,.analysis-attempt-row select,#analysisStudentSearch { width:100%; min-width:0; border:1px solid #ccdadd; border-radius:8px; padding:12px; background:white; font:inherit; }
.analysis-class-list { display:flex; flex-wrap:wrap; gap:12px; margin:18px 0; }
.analysis-class-list label { display:flex; gap:8px; padding:10px; background:#f1f6f5; border-radius:8px; }
.analysis-attempt-row { display:grid; grid-template-columns:minmax(70px,.4fr) repeat(2,minmax(0,1fr)); gap:16px; align-items:center; padding:16px 0; border-bottom:1px solid #e6ecef; }
#analysisReport { margin-top:24px; }
#analysisReport .stats { display:flex; flex-wrap:wrap; }
#analysisReport .stats article { flex:1; min-width:160px; }
.analysis-graphs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.analysis-bar-row { display:grid; grid-template-columns:minmax(90px,1fr) minmax(80px,2fr) minmax(75px,1fr); gap:10px; align-items:center; margin:18px 0; font-size:13px; }
.analysis-bar-track { background:#edf2f4; height:22px; border-radius:4px; overflow:hidden; }
.analysis-bar { background:#327b97; height:100%; }
.analysis-bar.post { background:#278269; }
.analysis-notice { padding:14px; background:#fff5dc; border-radius:8px; }
#analysisReport>.section-card { margin-top:20px; }
@media(max-width:1000px){.analysis-graphs{grid-template-columns:1fr;}}
@media(max-width:700px){.analysis-filters,.analysis-attempt-row{grid-template-columns:1fr;}}
.paper-entry-dialog{width:min(850px,92vw);max-height:90vh;overflow:auto;border:1px solid #ccd9df;border-radius:16px;padding:28px}.paper-entry-dialog::backdrop{background:#172d4599}.paper-entry-dialog fieldset{margin:20px 0;padding:20px;border:1px solid #ccd9df;border-radius:10px}.paper-entry-dialog label{display:flex;flex-direction:column;gap:8px;margin:12px 0}

body.assessment-print-open{overflow:hidden}@media print{body.assessment-print-open{overflow:visible}body.assessment-print-open> :not(#assessmentPrintPreview){display:none!important}}
.rubric-scroll{overflow-x:auto;margin:24px 0}.rubric-grid{border-collapse:collapse;min-width:900px;width:100%;background:white}.rubric-grid th,.rubric-grid td{border:1px solid #d3dfe5;padding:16px;min-width:220px;vertical-align:top}.rubric-grid label{display:flex;flex-direction:column;gap:8px;margin:8px 0}.rubric-grid textarea{min-height:110px}.rubric-grid small{display:block;margin:8px 0}

.rubric-builder{min-width:0}.rubric-builder>header{margin-bottom:28px}.rubric-settings{margin-bottom:24px}.rubric-settings h2{margin-top:0}.rubric-settings .builder-metadata{display:grid;grid-template-columns:minmax(220px,2fr) minmax(160px,1fr);gap:24px;max-width:800px}.rubric-settings label{display:flex;flex-direction:column;gap:8px}.rubric-criteria>.heading{margin-top:0}.rubric-grid{text-align:left;font-size:14px}.rubric-grid thead th{background:#f3f7f8}.rubric-grid tbody th{background:#fafcfc;font-weight:400}.rubric-grid input,.rubric-grid select,.rubric-grid textarea{width:100%;box-sizing:border-box;font:inherit}.rubric-grid th,.rubric-grid td{min-width:240px}.rubric-builder .builder-actions{margin-top:24px}.rubric-link-dialog{width:min(960px,94vw);box-sizing:border-box;color:#233e52}.rubric-link-dialog h2{margin-top:8px}.rubric-statement-dropdown{border:1px solid #c8d6df;border-radius:10px;background:#fff;margin:24px 0}.rubric-statement-dropdown summary{display:flex;justify-content:space-between;gap:20px;padding:16px;cursor:pointer;font-weight:600;list-style:none}.rubric-statement-dropdown summary::-webkit-details-marker{display:none}.rubric-statement-dropdown summary:focus-visible,.rubric-statement-option:focus-visible{outline:3px solid #308c9c;outline-offset:-3px}.rubric-dropdown-panel{border-top:1px solid #d9e3e9;padding:0 16px 16px}.rubric-statement-options{max-height: min(380px,45vh);overflow-y:auto;overscroll-behavior:contain}.rubric-statement-option{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:6px;width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.6;border:0;border-bottom:1px solid #dce5e9;background:white;padding:16px 12px;font:inherit;color:#234256;cursor:pointer}.rubric-statement-option:hover,.rubric-statement-option:focus{background:#eef6f5}.rubric-statement-option small{color:#657b8b}.rubric-statement-option:disabled{opacity:.6;cursor:default}.rubric-link-dialog [data-selected] label{display:flex;flex-direction:row;align-items:flex-start;gap:12px;line-height:1.6}.rubric-link-dialog input[type=checkbox]{width:18px;min-width:18px;height:18px;margin-top:4px}.rubric-link-dialog .form-actions{position:sticky;bottom:-28px;background:white;padding:18px 0;margin-bottom:0}@media(max-width:700px){.rubric-settings .builder-metadata{grid-template-columns:1fr}.rubric-link-dialog{padding:20px}.rubric-statement-options{max-height:40vh}}
.curriculum-reference{margin-top:24px}.curriculum-reference summary{cursor:pointer;font-weight:600}.curriculum-reference p{white-space:pre-wrap;line-height:1.7}.curriculum-reference label{display:flex;flex-direction:column;gap:8px;margin:16px 0}.curriculum-reference [data-reference-results]{max-height:450px;overflow:auto}.curriculum-reference article{border-bottom:1px solid #dce5e9;padding:12px 0}

.side .workspace-report,.student-tabs .workspace-report{margin-top:auto;flex-shrink:0;width:100%;text-align:left;padding:16px 12px;border:0;border-top:1px solid #c9dce9;border-radius:0;background:transparent;color:#0579bd}
.side .workspace-report + .workspace-sign-out,.student-tabs .workspace-report + .workspace-sign-out{margin-top:0}
.report-dialog{border:1px solid #c9dce9;border-radius:18px;padding:28px;width:min(580px,calc(100vw - 32px));max-height:90dvh;overflow:auto;color:#17394c;background:#fff;box-shadow:0 20px 70px #1234}
.report-dialog::backdrop{background:#12394c80}
.report-dialog form{display:grid;gap:14px}.report-dialog label{display:grid;gap:6px}.report-dialog input,.report-dialog select,.report-dialog textarea{width:100%;box-sizing:border-box;font:inherit;padding:10px;border:1px solid #b9cfdd;border-radius:8px}.report-dialog textarea{resize:vertical}.report-heading,.report-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.report-heading h2{margin:0}.report-help{font-size:13px;margin:0;color:#526c7b}.report-dialog [data-preview] img{display:block;max-width:100%;max-height:180px}.report-dialog [data-status]{margin:0}.report-actions{justify-content:flex-end}
.learning-bars{display:grid;gap:16px}.learning-bars>div{display:grid;grid-template-columns:minmax(160px,1fr) 2fr 110px;gap:16px;align-items:center}.learning-track{height:20px;background:#edf2f5;border-radius:8px;overflow:hidden}.learning-fill{height:100%;min-width:0}.learning-status-0{background:#298366}.learning-status-1{background:#188ab1}.learning-status-2{background:#d39a31}.learning-status-3{background:#8a75b5}.learning-status-4{background:#8e9aa5}.learning-statement{padding:18px 0;border-bottom:1px solid #d7e3ea}.learning-statement summary{cursor:pointer;line-height:1.6}.learning-statement summary>span{display:block;color:#516777;font-size:14px;margin-left:16px}.learning-students{display:grid;gap:8px;margin-top:14px}.learning-students>div{display:grid;grid-template-columns:1fr 2fr 1fr;gap:12px;padding:12px;background:#f2f7fa;border-radius:8px}@media(max-width:700px){.learning-bars>div,.learning-students>div{grid-template-columns:1fr;gap:6px}}
.tg-statements{max-height:340px;overflow:auto;margin:16px 0}.tg-statements label{display:flex;align-items:start;gap:12px;padding:12px;border-bottom:1px solid #d7e3ea}.tg-statements input{width:auto;flex-shrink:0}.tg-group{border:1px solid #d7e3ea;border-radius:12px;padding:20px;margin:20px 0}.tg-group label,.tg-report>label{display:grid;gap:6px}.tg-group input,.tg-group textarea,.tg-report>label input{width:100%;box-sizing:border-box;padding:10px;font:inherit}.tg-member{background:#f1f6fa;padding:14px;margin:10px 0;border-radius:8px}.tg-member select{max-width:100%}.tg-evidence{white-space:pre-wrap;font-size:14px}.tg-report .report-actions{margin-top:20px}#teachingPlanPrint{position:fixed;inset:0;z-index:10000;background:white;overflow:auto;padding:32px;color:#162e3b}.tg-print-controls{display:flex;gap:12px}#teachingPlanPrint section{border-bottom:1px solid #bbb;padding:20px 0}@media print{body.teaching-plan-print>*:not(#teachingPlanPrint){display:none!important}#teachingPlanPrint{position:static;padding:0;overflow:visible}.tg-print-controls{display:none}#teachingPlanPrint li{break-inside:avoid}}

.credential-directory>header{display:flex;align-items:center;gap:24px;margin-bottom:24px}
.credential-directory>header .intro{margin-top:10px;max-width:560px}
.credential-school-code{margin-left:auto;background:#e7f5fc;border:1px solid #c6e6f5;border-radius:10px;padding:14px 20px;flex-shrink:0}
.credential-school-code span{display:block;font-size:11px;color:#506d82;margin-bottom:5px}
.credential-school-code strong{font-size:19px;letter-spacing:1px}
.credential-tools .account-filters{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 18px}
.credential-tools label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700}
.credential-tools input,.credential-tools select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #c9dce9;border-radius:8px;background:#fff}
.credential-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.credential-toolbar>span{margin-right:auto;color:#5b7185;font-size:13px}
.credential-more summary,.credential-import summary{cursor:pointer;color:#0579bd;font-weight:700}
.credential-more button{margin-top:12px}
.credential-note{color:#5b7185;font-size:12px;margin-top:16px;line-height:1.6}
.credential-roster{border:1px solid #d9e7f0;border-radius:12px;overflow:hidden;background:#fff;margin:20px 0}
.credential-row{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid #e5eef4}
.credential-row:last-child{border-bottom:0}
.credential-student{flex:1;min-width:160px}
.credential-student p{font-size:12px;color:#60798c;margin-top:5px;line-height:1.5}
.credential-row button,.credential-downloads button{padding:10px 14px;border-radius:8px}
.credential-downloads{background:#eef8fd;border-color:#b6dff1}
.credential-downloads p{margin:10px 0 16px;color:#506d82}
.credential-downloads button+button{margin-left:10px}
.credential-import>p{margin:16px 0;line-height:1.6}
#directoryStatus:empty{display:none}
@media(max-width:700px){.credential-directory>header{align-items:flex-start;flex-direction:column}.credential-school-code{margin-left:0}.credential-tools .account-filters{grid-template-columns:1fr}.credential-row{flex-wrap:wrap}.credential-student{flex-basis:100%}.credential-downloads button{margin:6px 0!important}}

/* Shared progressive controls for teaching and school setup. */
[hidden]{display:none!important}
.workflow-switch{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.workflow-switch button{padding:12px 18px;border-radius:8px}
.optional-controls{margin:16px 0;padding:12px 0;border-top:1px solid #e1ebf2}
.optional-controls summary{cursor:pointer;color:#0579bd;font-weight:600;font-size:13px}
.optional-controls[open]>summary{margin-bottom:14px}
.optional-controls label,.simple-class-step label,.analysis-simple label,#tgSavedPanel>label{display:flex;flex-direction:column;gap:8px;margin:14px 0;font-size:13px;font-weight:600}
.simple-class-step select,.analysis-simple select,.analysis-simple input,#tgSavedPanel select,.formative-simple select,.optional-controls textarea{padding:12px;border:1px solid #c9dce9;border-radius:8px;background:#fff;width:100%;font:inherit}
.simple-class-step label{max-width:420px}
.formative-layout.formative-simple{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}
#formativeSkillTarget>label{display:flex;flex-direction:column;gap:8px;margin-top:18px;font-weight:600}
#formativeTargetText{line-height:1.6;color:#506d82;margin-top:12px}
.workflow-step{padding:18px 0;border-bottom:1px solid #e1ebf2}
.workflow-step:first-child{padding-top:0}.workflow-step:last-child{border-bottom:0}
.workflow-step h2{margin-bottom:16px}
.analysis-simple .analysis-filters{margin:0}
.analysis-simple .outline,.optional-controls .outline{padding:10px 14px;border-radius:8px}
#tgSavedPanel h2{margin-bottom:16px}
#schoolDetailsPanel h2{margin-bottom:14px}
#schoolAdministratorsPanel form,#schoolCodePanel form{max-width:560px}
#schoolAdministratorsPanel label,#schoolCodePanel label{display:flex;flex-direction:column;gap:8px;margin:18px 0;font-weight:600}
#schoolAdministratorsPanel input,#schoolCodePanel input{padding:12px;border:1px solid #c9dce9;border-radius:8px}
@media(max-width:800px){.formative-layout.formative-simple{grid-template-columns:1fr}.workflow-switch button{flex:1}}

.school-administrator-table{width:100%;border-collapse:collapse;margin-top:16px;text-align:left}.school-administrator-table th,.school-administrator-table td{padding:12px 16px;border-bottom:1px solid #e2e8f0;overflow-wrap:anywhere}.school-administrator-table th{color:#526277;font-size:13px}

.site-admin-side .site-admin-brand{display:flex;justify-content:center;width:100%}.site-admin-side .brand.logo,.site-admin-side .brand.logo img{width:116px;height:116px}.site-admin-side .site-admin-caption{text-align:center;width:100%;margin-top:0}

.auth.sign-in-page section{margin:24px auto 60px}.sign-in-brand{display:flex;justify-content:center;margin-bottom:20px}.sign-in-brand .brand.logo,.sign-in-brand .brand.logo img{width:150px;height:150px}.sign-in-page section>.eyebrow,.sign-in-page section>h1{text-align:center}

.people-list .staff-row{grid-template-columns:42px minmax(0,1fr) auto auto;gap:18px;align-items:center;padding:20px}.staff-identity{min-width:0}.staff-identity p{overflow-wrap:anywhere}.staff-identity small{display:block;color:#60798c;margin-top:6px}.staff-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.staff-actions button{margin:0;white-space:nowrap}@media(max-width:760px){.people-list .staff-row{grid-template-columns:42px minmax(0,1fr)}.staff-row .staff-account-status{grid-column:2}.staff-actions{grid-column:2;justify-content:flex-start;flex-wrap:wrap}}

/* Staff invitations */
.staff-actions .send-invite{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:10px 15px;border:1px solid #d5e8f3;border-radius:10px;background:#eef7fc;color:#086b9e;font:600 13px/1.2 Inter,Arial,sans-serif;box-shadow:0 1px 2px #17394c08;transition:background .15s,border-color .15s,box-shadow .15s;cursor:pointer}
.staff-actions .send-invite::before{content:"";width:16px;height:16px;flex:none;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='3'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
.staff-actions .send-invite:hover:not(:disabled){background:#dfeff9;border-color:#a9d3e9;box-shadow:0 2px 5px #17394c12}
.staff-actions .send-invite:focus-visible{outline:3px solid #77bce1;outline-offset:3px}
.staff-actions .send-invite:disabled{opacity:.5;cursor:default;box-shadow:none}
@media(prefers-reduced-motion:reduce){.staff-actions .send-invite{transition:none}}

.dash>header.staff-page-header{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.staff-page-header .header-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px}.staff-page-header .header-actions button{margin:0}

.school-curriculum-settings{margin-top:32px}.school-curriculum-settings #schoolCurriculumDefault{appearance:none;display:block;width:100%;max-width:480px;min-height:48px;padding:12px 44px 12px 16px;border:1px solid #cbdde8;border-radius:12px;background:#f6fafc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23385c73' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;color:#17394c;font:500 14px/1.5 Inter,Arial,sans-serif;cursor:pointer;box-sizing:border-box}.school-curriculum-settings #schoolCurriculumDefault:hover{border-color:#7eb7d4;background-color:#eef7fc}.school-curriculum-settings #schoolCurriculumDefault:focus-visible{outline:3px solid #91c8e6;outline-offset:3px}
.school-curriculum-settings>h2{margin:0 0 16px}.school-curriculum-settings>p:not([role="status"]){margin:0 0 24px;line-height:1.6}.school-curriculum-settings>[role="status"]:empty{display:none}.school-curriculum-settings>[role="status"]:not(:empty){margin:16px 0 0}

/* Consistent spacing between student management sections. */
.credential-directory #directoryImport{display:grid;gap:24px;margin:24px 0}
.credential-directory #directoryImport>.section-card{margin:0}
.credential-directory .credential-tools{margin-top:24px;margin-bottom:24px}

.credential-import>p{margin:16px 0 20px;line-height:1.6}.credential-import .student-csv-upload{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:24px;font-weight:600}.credential-import .student-csv-upload input{margin:0;max-width:100%}

.class-header-actions #downloadClassLoginCards{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:11px 16px;margin:0;border:1px solid #d5e8f3;border-radius:10px;background:#eef7fc;color:#086b9e;font:600 13px/1.3 Inter,Arial,sans-serif;box-shadow:0 1px 2px #17394c08;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}
#downloadClassLoginCards::before{content:"";width:18px;height:18px;flex:none;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12m-4-4 4 4 4-4M5 16v4h14v-4'/%3E%3C/svg%3E") center/contain no-repeat}
.class-header-actions #downloadClassLoginCards:hover:not(:disabled){background:#dfeff9;border-color:#a9d3e9;box-shadow:0 2px 5px #17394c12}
.class-header-actions #downloadClassLoginCards:focus-visible{outline:3px solid #77bce1;outline-offset:3px}
.class-header-actions #downloadClassLoginCards:disabled{opacity:.5;cursor:default;box-shadow:none}
@media(prefers-reduced-motion:reduce){.class-header-actions #downloadClassLoginCards{transition:none}}

/* Shared action styles across administration, teaching and student workflows. */
:root{--action-blue:#086eaa;--action-blue-hover:#075c90;--action-soft:#eef6fb;--action-border:#cbdfea;--action-radius:10px;--action-focus:#73b9df}
#app button{touch-action:manipulation;transition:background-color .15s,border-color .15s,box-shadow .15s;color-scheme:light}
#app button:is(.primary,.outline,.danger){box-sizing:border-box;min-height:42px;padding:11px 16px;border-radius:var(--action-radius);font-weight:600;font-size:13px;line-height:1.4;letter-spacing:.01em;text-align:center;vertical-align:middle;white-space:normal}
#app button.primary{border:1px solid transparent;background:var(--action-blue);color:#fff;box-shadow:0 1px 2px #17394c14}
#app button.primary:hover:not(:disabled){background:var(--action-blue-hover);box-shadow:0 2px 5px #17394c1a}
#app button.outline{border:1px solid var(--action-border);background:var(--action-soft);color:#086491;box-shadow:0 1px 2px #17394c06}
#app button.outline:hover:not(:disabled){background:#dfedf7;border-color:#a2c8de}
#app button.danger{border:1px solid #edc9c9;background:#fff6f6;color:#ad3030;box-shadow:none}
#app button.danger:hover:not(:disabled){background:#fce8e8;border-color:#dc9d9d}
#app button.text{min-height:36px;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:#086b9e;font-size:13px;font-weight:600;line-height:1.4;text-align:inherit;white-space:normal}
#app button.text:hover:not(:disabled){background:#eef6fb;color:#07567e}
#app button.site-nav{min-height:42px;border-radius:10px;line-height:1.4}
#app button.site-nav:hover:not(:disabled){background:#f0f6fa;color:#185c82}
#app button.site-nav.active{background:#e5f1f9;color:#086491}
#app button:focus-visible{outline:3px solid var(--action-focus);outline-offset:3px}
#app button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
#app :is(.header-actions,.form-actions,.staff-actions,.assessment-row-actions,.progress-actions,.result-actions,.report-actions){gap:10px}
#app :is(.staff-actions,.assessment-row-actions,.progress-actions,.result-actions){display:flex;align-items:center;flex-wrap:wrap}
#app .question-order button.text{min-width:32px;min-height:32px;padding:5px;font-size:12px}
#app .selected-curriculum-link button.text{min-height:30px;padding:4px 8px;font-size:12px}
#app .student-result-admin-actions button{height:auto;min-height:42px}
#app input[type=file]::file-selector-button{font:600 13px/1.4 Inter,Arial,sans-serif;min-height:40px;margin-right:12px;padding:10px 14px;border:1px solid var(--action-border);border-radius:10px;background:var(--action-soft);color:#086491;cursor:pointer}
#app input[type=file]::file-selector-button:hover{background:#dfedf7}
@media(prefers-reduced-motion:reduce){#app button{transition:none}}

.credential-roster .status-pill.inactive{background:#f0f2f5;color:#647182}

/* Modern class detail layout, scoped to View class. */
.class-detail-page{max-width:1100px;margin:24px auto}
.class-detail-page>h1{margin:8px 0 24px}
.class-detail-page .class-stats{margin:0 0 24px;max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.class-detail-page .class-enrolment-sections{display:grid;gap:24px;margin-bottom:24px}
.class-detail-page .section-card,.class-detail-page .cards article{margin:0;padding:24px;border:1px solid #d9e7f0;border-radius:12px;background:#fff;min-width:0}
.class-detail-page .cards{display:grid;grid-template-columns:1fr;gap:24px;margin:0 0 24px}
.class-detail-page h2{margin:0 0 16px;font-size:20px}
.class-detail-page .heading{margin:24px 0 16px}
.class-detail-page .heading h2{margin:0}
.class-detail-page .section-card>p,.class-detail-page .cards article>p{margin:12px 0 20px;color:#60798c;line-height:1.6}
.class-detail-page label{display:grid;gap:8px;font-size:12px;font-weight:600;margin:0 0 20px}
.class-detail-page input,.class-detail-page select{display:block;width:100%;min-height:44px;margin:0;padding:11px 12px;border:1px solid #c9dce9;border-radius:10px;background:#fff;color:#142c42;font:inherit}
.class-detail-page #classAreaSaved:empty,.class-detail-page .teacher-results:empty,.class-detail-page #classStudentMatches:empty{display:none}
.class-detail-page .people-row{display:grid;grid-template-columns:42px minmax(0,1fr) 90px auto auto;align-items:center;gap:16px;padding:18px;border-bottom:1px solid #e4edf3}
.class-detail-page .people-row:last-child{border-bottom:0}
.class-detail-page .people-row>div{min-width:0}
.class-detail-page .people-row p{overflow-wrap:anywhere;margin:5px 0 0;color:#60798c}
.class-detail-page #classStudentMatches>p{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;margin:0;border-bottom:1px solid #e4edf3}
.class-detail-page .cards article>button{margin:8px 12px 0 0}
@media(max-width:760px){.class-detail-page .section-card,.class-detail-page .cards article{padding:20px}.class-detail-page .people-row{grid-template-columns:42px minmax(0,1fr);gap:12px}.class-detail-page .people-row>span,.class-detail-page .people-row>button{grid-column:2;justify-self:start}.class-detail-page .class-stats{gap:16px}.class-detail-page #classStudentMatches>p{flex-wrap:wrap}}

.class-detail-page .class-enrolment-sections>.class-teacher-card{margin:0}
.class-detail-page #detailLoginCardsStatus:empty{display:none}
.class-detail-page .heading{gap:16px;flex-wrap:wrap}

/* Match the parent import card to the student import card. */
#parentContent>.parent-csv-import{margin:24px 0;padding:24px;border-radius:10px}
.parent-csv-import .student-csv-upload{margin-bottom:0}
@media(max-width:760px){#parentContent>.parent-csv-import{padding:18px}}

/* One shared presentation for student and parent CSV imports. */
#app .section-card.credential-import{display:grid;gap:16px;padding:24px;background:#fff;border:1px solid #d9e7f0;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:14px;color:#142c42}
#app .section-card.credential-import>summary{font-family:inherit;font-size:14px;font-weight:700;line-height:1.5;color:#0579bd;cursor:pointer}
#app .section-card.credential-import>p{font-family:inherit;font-size:14px;font-weight:400;color:#60798c;line-height:1.6;margin:16px 0 20px}
#app .section-card.credential-import>.outline{justify-self:start}
#app .section-card.credential-import>.student-csv-upload{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:100%;max-width:560px;margin:24px 0 0;font-family:inherit;font-size:12px;font-weight:600;color:#506d82;line-height:1.5}
#app .section-card.credential-import input[type=file]{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin:0;padding:10px;border:1px solid #c9dce9;border-radius:7px;background:#f4f9fc;color:#142c42;font-family:inherit;font-size:12px}
#app .section-card.credential-import input[type=file]:focus{outline:2px solid #079bd3;outline-offset:2px}
#app .section-card.credential-import>[role=status]:empty{display:none}
@media(max-width:760px){#app .section-card.credential-import{padding:18px}}

.parent-directory-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}
.parent-directory-filters label{display:grid;gap:8px;font-size:12px;font-weight:600;color:#506d82}
.parent-directory-filters select{width:100%;min-width:0;min-height:44px;padding:11px 12px;border:1px solid #c9dce9;border-radius:10px;background:#fff;color:#142c42;font:inherit}
@media(max-width:760px){.parent-directory-filters{grid-template-columns:1fr}}

/* Consistent sizing across parent management controls. */
#app .parent-admin-page{max-width:1100px}
#app .parent-admin-page .section-card{box-sizing:border-box;width:100%;padding:24px;border:1px solid #d9e7f0;border-radius:10px;background:#fff}
#app .parent-admin-page>.section-card{margin:24px 0}
#app .parent-admin-page label{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;line-height:1.5;color:#506d82}
#app .parent-admin-page input:not([type=file]),#app .parent-admin-page select{display:block;box-sizing:border-box;width:100%;min-width:0;height:44px;margin:0;padding:10px 12px;border:1px solid #c9dce9;border-radius:10px;background:#fff;color:#142c42;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:400;line-height:1.5}
#app .parent-admin-page input:focus-visible,#app .parent-admin-page select:focus-visible{outline:2px solid #079bd3;outline-offset:2px}
#app .parent-admin-page .parent-directory-filters{align-items:start;gap:20px;margin:24px 0}
#app .parent-admin-page .parent-email-fields{gap:20px}
#app .parent-admin-page .parent-student-list{gap:24px;margin-top:24px}
#app .parent-admin-page .section-card h2{margin:0 0 16px;font-size:20px}
#app .parent-admin-page .section-card p{font-size:14px;line-height:1.6;color:#60798c;margin:12px 0 20px}
#app .parent-admin-page p[role=status]:empty{display:none}
#app .parent-admin-page .parent-assignment-status{color:#087f68}
@media(max-width:760px){#app .parent-admin-page .section-card{padding:18px}}

#tgCreatePanel>label,#tgFilters>label{display:grid;gap:8px;margin:20px 0;font-size:13px;font-weight:600}#tgCreatePanel select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #c9dce9;border-radius:10px;background:#fff;color:#142c42;font:inherit}.tg-additional{margin:16px 0 24px}.tg-additional summary{cursor:pointer;font-size:13px;color:#506d82}#tgCreatePanel{max-width:850px}.tg-group-count{color:#60798c;font-size:13px}.tg-report .tg-group{padding:24px;margin:24px 0;border:1px solid #d9e7f0;border-radius:12px}

.parent-learning-feedback{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}.parent-learning-feedback h2{margin:0 0 16px}.parent-learning-feedback ul{padding-left:20px;line-height:1.7}.parent-learning-feedback li+li{margin-top:12px}@media(max-width:760px){.parent-learning-feedback{grid-template-columns:1fr}}

.school-map-visibility{margin-top:24px}.school-map-visibility h2{margin:0 0 16px}.school-map-visibility>p{margin:0 0 20px;color:#60798c}.school-map-visibility label{display:flex;align-items:center;gap:12px;margin:16px 0;font-size:14px}.school-map-visibility input{width:18px;height:18px;accent-color:#086eaa}

.curriculum-evidence-count{display:block;width:100%;margin-top:8px;color:#60798c;line-height:1.5}.map-statement .curriculum-evidence-count{margin-top:0}

/* Keep curriculum selectors evenly spaced in maps and teacher review. */
.curriculum-map .map-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0;align-items:start}
.curriculum-map .map-filters label{display:grid;gap:10px;min-width:0;margin:0;font-size:12px;font-weight:600;line-height:1.5;color:#506d82}
.curriculum-map .map-filters select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:46px;margin:0;padding:12px;border:1px solid #c9dce9;border-radius:10px;background:#fff;color:#142c42;font-family:inherit;font-size:13px;line-height:1.5}
.curriculum-map .map-filters select:focus-visible{outline:2px solid #079bd3;outline-offset:2px}
@media(max-width:900px){.curriculum-map .map-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.curriculum-map .map-filters>label:first-child{grid-column:1/-1}}
@media(max-width:600px){.curriculum-map .map-filters{grid-template-columns:1fr;gap:20px}}

.rollover-page{max-width:1100px;display:grid;gap:24px}.rollover-page>header{margin:0}.rollover-page>.text{justify-self:start}.rollover-page .section-card{padding:24px}.rollover-page h2{margin:0 0 16px}.rollover-page p{line-height:1.6;color:#60798c}.rollover-page label{display:grid;gap:8px;font-size:13px;font-weight:600;margin:16px 0}.rollover-page input:not([type=checkbox]),.rollover-page select{box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;border:1px solid #c9dce9;border-radius:10px;background:#fff;font:inherit}.rollover-fields,.rollover-audit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.rollover-new-class{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:16px;align-items:center;border-bottom:1px solid #d9e7f0;padding:16px 0}.rollover-page .rollover-check{display:flex;align-items:center;gap:12px}.rollover-page [role=alert]{white-space:pre-line;color:#ae3030}.rollover-summary{padding:16px 0;border-bottom:1px solid #d9e7f0}.classes-page-header{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.classes-page-header .header-actions{display:flex;gap:12px;flex-wrap:wrap}@media(max-width:760px){.rollover-new-class,.rollover-fields,.rollover-audit{grid-template-columns:1fr;gap:12px}}
.rollover-teacher-picker{min-width:0;position:relative}.rollover-teacher-picker [data-teacher-matches]:not([hidden]){position:absolute;top:80px;left:0;right:0;z-index:10;max-height:240px;overflow:auto;padding:8px;background:#fff;border:1px solid #c9dce9;border-radius:10px;box-shadow:0 8px 24px #142c421a}.rollover-teacher-picker [data-teacher-matches] button{display:block;width:100%;text-align:left}.rollover-selected-teacher{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:6px 10px;margin-bottom:8px;background:#eef6fb;border-radius:8px;font-size:13px}
.question-library-dialog{width:min(1100px,94vw);max-height:90vh;box-sizing:border-box;padding:28px;border:1px solid #c9dce9;border-radius:16px;color:#142c42}.question-library-dialog::backdrop{background:#142c4266}.ql-heading,.ql-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ql-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.ql-filters label{display:grid;gap:8px;font-size:13px;font-weight:600}.ql-filters input,.ql-filters select{width:100%;min-width:0;box-sizing:border-box;padding:12px;border:1px solid #c9dce9;border-radius:10px;background:#fff;color:#142c42}.ql-question{margin:20px 0;line-height:1.6}.ql-question h3{white-space:pre-wrap}.ql-question img{max-width:100%;max-height:360px}.ql-question .ql-actions{justify-content:flex-start;margin-top:20px}.world-sharing{grid-column:1/-1;order:7;display:flex!important;align-items:center;gap:10px;font-size:13px}.world-sharing input{width:18px!important;height:18px;margin:0!important}.world-assessment-sharing{margin:24px 0;padding:20px;border:1px solid #d9e7f0;border-radius:10px}.world-assessment-sharing label{display:flex;align-items:center;gap:10px}.world-assessment-sharing p{color:#60798c;font-size:13px;line-height:1.6}@media(max-width:650px){.ql-filters{grid-template-columns:1fr}.question-library-dialog{padding:20px}}

.builder-save-status { flex-basis: 100%; margin: 12px 0; padding: 12px 16px; border-radius: 10px; background: #eff6ff; color: #1e4b75; font-size: 14px; line-height: 1.5; }

.ql-editor{display:grid;gap:20px}.ql-editor>p,.ql-editor h3{margin:0}.ql-editor label{display:grid;gap:8px;font-size:13px;font-weight:600}.ql-editor input:not([type=checkbox]),.ql-editor textarea,.ql-editor select{box-sizing:border-box;width:100%;min-width:0;padding:12px;border:1px solid #c9dce9;border-radius:10px;background:#fff;color:#142c42;font:inherit}.ql-editor textarea{resize:vertical}.ql-editor fieldset{min-width:0;border:1px solid #d9e7f0;border-radius:12px;padding:20px}.ql-editor .ql-elaboration{display:flex;align-items:flex-start;gap:10px;margin:12px 0;font-weight:400}.ql-editor .ql-elaboration input{flex-shrink:0;margin-top:4px}.ql-edit-link,.ql-label-target{padding:16px 0;border-bottom:1px solid #d9e7f0}.ql-label-target{display:grid;gap:16px}.ql-editor [role=alert]{color:#a83232}.ql-editor img{max-width:100%;max-height:300px}
.question-library-page{max-width:1200px;color:#142c42}.question-library-page>.ql-heading{margin-bottom:20px}.question-library-page>.ql-heading h2{font-size:30px;margin:8px 0}.question-library-page>.ql-heading+p{color:#60798c;line-height:1.6;margin-bottom:24px}

.deleted-assessment-card{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:24px;margin:16px 0;background:#fff;border:1px solid #d9e7f0;border-radius:14px}.deleted-assessment-info{display:grid;gap:10px;min-width:0;line-height:1.5}.deleted-assessment-info b{font-size:17px;color:#142c42;overflow-wrap:anywhere}.deleted-assessment-info small{display:block;font-size:13px;color:#60798c}.deleted-assessment-card button{flex-shrink:0;white-space:nowrap;min-height:44px;padding:12px 20px}@media(max-width:700px){.deleted-assessment-card{align-items:flex-start;flex-direction:column;gap:20px;padding:20px}.deleted-assessment-card button{align-self:flex-start}}
.parent-email-fields label{padding:16px;border:1px solid #d9e7f0;border-radius:12px;background:#f8fbfd}.parent-email-fields .parent-send-link{justify-self:start;margin-top:4px;min-height:40px}.parent-admin-page>button.primary{margin:0 0 24px}.parent-link-form .parent-email-fields{gap:20px}.parent-link-form>button[type=submit]{margin-top:12px}

/* A single reading order for recording classroom observations. */
#app .formative-workflow{max-width:1050px;margin:0 auto}
#app .formative-workflow>header{margin-bottom:28px}
#app .formative-workflow .section-card{padding:24px;margin:0 0 24px;border:1px solid #d9e7f0;border-radius:14px;background:#fff}
#app .formative-workflow h2{font-size:20px;margin:0 0 20px}
#app .formative-workflow .formative-layout{display:flex;flex-direction:column;gap:0}
#app .formative-workflow label:not(.teacher-check){display:grid;gap:9px;font-size:13px;font-weight:600;margin:0 0 18px}
#app .formative-workflow input:not([type=checkbox]),#app .formative-workflow select,#app .formative-workflow textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #c9dce9;border-radius:10px;background:#fff;color:#142c42;font:inherit;min-height:44px}
#app .formative-workflow .simple-class-step>label{max-width:460px;margin-bottom:0}
#app .formative-workflow .map-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0}
#app .formative-workflow .optional-controls{margin:12px 0 20px}
#app .formative-workflow summary{cursor:pointer;color:#506d82;font-size:13px;padding:8px 0}
#app .formative-workflow details[open]>label{margin-top:14px}
#app .formative-workflow #formativeStatements{max-height:350px;overflow:auto;padding:0 6px 0 0}
#app .formative-workflow .formative-chosen-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
#app .formative-workflow #formativeChosenSkill{border-top:1px solid #d9e7f0;padding-top:18px;margin:12px 0 20px;line-height:1.6}
#app .formative-workflow #formativeTargetText{padding:14px 16px;background:#eef6fb;border-radius:10px;line-height:1.6;margin-bottom:12px}
#app .formative-workflow #formativeStudents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:330px;overflow:auto;margin:16px 0 24px}
#app .formative-workflow .teacher-check{display:flex;align-items:center;gap:12px;padding:12px;margin:0;border:1px solid #d9e7f0;border-radius:10px;font-size:14px}
#app .formative-workflow .teacher-check small{margin-left:auto;color:#60798c}
#app .formative-workflow .formative-detail{padding:20px 0 0;margin:0;border:0;border-top:1px solid #d9e7f0;background:transparent;box-shadow:none}
#app .formative-workflow .formative-actions{display:flex;gap:12px;margin:18px 0}
#app .formative-workflow [hidden]{display:none!important}
#app .formative-workflow #formativeMessage:not(:empty){padding:16px;background:#eef6fb;border-radius:10px}
@media(max-width:650px){#app .formative-workflow .map-filters,#app .formative-workflow #formativeStudents{grid-template-columns:1fr}#app .formative-workflow .section-card{padding:20px}}

#app .formative-workflow .formative-layout{align-items:stretch}
#app .formative-workflow .formative-layout>*,
#app .formative-workflow label,
#app .formative-workflow select{min-width:0;max-width:100%}
#app .formative-workflow .teacher-check{overflow-wrap:anywhere}
#app .formative-workflow .teacher-check input{flex-shrink:0}
.katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden;padding:4px 0}
.student-history-record{margin-top:16px}
.student-history-record>summary{display:flex;flex-direction:column;gap:8px;cursor:pointer;line-height:1.5}
.student-history-record>summary span{font-size:.9rem;color:#526579}
.student-history-content{display:grid;gap:16px;margin-top:20px}
.history-question-image{max-width:100%;max-height:300px;object-fit:contain}

.curriculum-option-heading{padding:14px 16px;background:#edf3f8;color:#263e53;font-weight:700;line-height:1.5;border-bottom:1px solid #dce5ed;white-space:normal}.rubric-statement-options .curriculum-option-heading:not(:first-child){margin-top:12px}

.curriculum-subheading{font-size:1rem;line-height:1.5;color:#263e53;margin:20px 0 12px}.map-strand>.curriculum-subheading:first-child{margin-top:0}.curriculum-context{color:#526579;font-size:.9rem;line-height:1.6;margin:0 0 12px}.formative-workflow .curriculum-option-heading{font-size:.95rem;margin:16px 0 10px;border-radius:8px}

.workflow-save-status{padding:10px 16px;border-radius:8px;background:#eaf5ef;color:#23583b;font-size:.9rem;line-height:1.5}[data-curriculum-search]{margin-bottom:8px}

.curriculum-elaboration-heading{list-style:none;border:0!important;padding:12px 0 0!important}.curriculum-elaboration-heading h4{margin:0;color:#263e53}

.question-form-heading{grid-column:1/-1;margin:0 0 8px}.question-form>.workflow-save-status{grid-column:1/-1}

/* Keep each descriptor and its elaborations in one readable column. */
.question-form .selected-curriculum-links{gap:16px}
.question-form .selected-curriculum-link{grid-template-columns:minmax(0,1fr);gap:10px;padding:18px;font-size:13px;line-height:1.6}
.question-form .selected-curriculum-link> b{font-size:13px}
.question-form .selected-curriculum-link>.curriculum-context{margin:0;font-size:12px}
.question-form .selected-curriculum-link>span{display:block;color:#28495d;font-size:14px;line-height:1.65}
.question-form .selected-curriculum-link .question-elaborations{box-sizing:border-box;min-width:0;margin:6px 0 0;padding:16px}
.question-form .selected-curriculum-link>.remove-curriculum-link{justify-self:start;margin-top:2px}

/* Assessment progress: title and print action, then a separate access card. */
.assessment-progress-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}
.assessment-progress-intro{min-width:0;flex:1}
.assessment-progress-intro h1{margin:8px 0 12px}
.assessment-progress-intro .intro{margin:14px 0 0}
.assessment-progress-header>#printAssessment{flex-shrink:0;margin:0}
.assessment-progress-page .assessment-access-panel{margin:0 0 28px;padding:24px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;row-gap:12px;align-items:center}
.assessment-access-panel h2{margin:0;grid-column:1}
.assessment-access-panel>p:not([role=status]){grid-column:1;margin:0;line-height:1.6;max-width:760px}
.assessment-access-panel>[data-toggle-access]{grid-column:2;grid-row:1/3;align-self:center}
.assessment-access-panel>[role=status]{grid-column:1/-1;margin:0}
.assessment-access-panel>[role=status]:empty{display:none}
.assessment-progress-page>.stats{margin:0 0 28px}
.assessment-progress-page>.cards{gap:20px;margin:0 0 28px}
.assessment-progress-page>.cards>article{padding:24px}
.assessment-progress-page>.cards>article p{margin:12px 0 18px;line-height:1.6}
.assessment-progress-page>.heading{margin:28px 0 16px}
@media(max-width:700px){.assessment-progress-header{flex-direction:column;gap:16px}.assessment-progress-page .assessment-access-panel{grid-template-columns:1fr;padding:20px}.assessment-access-panel>[data-toggle-access]{grid-column:1;grid-row:auto;justify-self:start}.assessment-progress-page>.cards{grid-template-columns:1fr}}
.review-question-nav{display:flex;flex-wrap:wrap;gap:8px;padding:20px 24px 8px}.review-question-nav .review-question-number{min-width:42px;min-height:42px;border:1px solid #b8cfc3;border-radius:8px;font-weight:700;color:#234b36;background:#e4f3e9}.review-question-nav .needs-marking{background:#fff2be;border-color:#e2ca76;color:#705612}.review-question-nav [aria-current=step]{outline:3px solid #226d94;outline-offset:2px}.review-navigation-legend{margin:6px 24px 20px;color:#506778;font-size:13px}.review-next-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.review-next-actions>button{flex:1;padding:14px;min-width:190px}

.assessment-detail .assessment-export-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;align-items:stretch;margin:24px 0 32px}
.assessment-detail .assessment-export-actions>button{width:100%;min-height:48px;margin:0;padding:14px 20px;white-space:normal;line-height:1.5;text-align:center}
.review-next-actions{gap:20px;margin-top:26px}
@media(max-width:650px){.assessment-detail .assessment-export-actions{grid-template-columns:1fr;gap:12px}.review-next-actions{flex-direction:column}}

.formative-targets{margin:20px 0 0;padding:18px;border:1px solid #d9e7f0;border-radius:12px;min-width:0;background:#fff}
.formative-targets legend{padding:0 6px;font-weight:600;color:#263e53}
.formative-targets .teacher-check{display:flex;align-items:flex-start;gap:12px;padding:12px 0;line-height:1.6}
.formative-targets input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;margin:4px 0 0}
.formative-targets h4{margin:20px 0 8px;color:#263e53}

#classImportForm{display:flex;align-items:flex-end;flex-wrap:wrap;gap:20px;margin:24px 0}
#classImportForm label{display:grid;gap:10px;flex:1;min-width:220px}
#classImportMessage button{display:block;margin-top:16px}
.historical-results{margin-top:24px}
.historical-results>summary{font-weight:600;cursor:pointer;padding:6px 0}
.historical-results .results-row{margin-top:16px}
