@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700&family=Figtree:wght@400;500;600;700;800&display=swap";
.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.class-management-page{color:var(--ink-900)}.class-management-header{gap:12px 20px}.class-management-main{align-items:flex-start}.class-management-shell{flex-direction:column;gap:18px;width:100%;display:flex}.class-management-intro{justify-content:space-between;align-items:flex-end;gap:24px;padding:8px 2px 2px;display:flex}.class-management-kicker,.class-editor-heading>span{color:var(--primo-blue);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:800;display:block}.class-management-intro h1,.class-editor-heading h1{color:var(--primo-navy);font-family:var(--font-display);margin:0;font-size:clamp(26px,3vw,36px);line-height:1.12}.class-management-intro p,.class-editor-heading p{max-width:760px;color:var(--ink-500);margin:7px 0 0;font-size:14px;font-weight:600;line-height:1.5}.class-management-intro__summary{border:1px solid var(--line-200);background:var(--surface-0);min-width:330px;box-shadow:var(--shadow-1);border-radius:14px;padding:12px 8px;display:flex}.class-management-intro__summary>div{border-right:1px solid var(--line-200);min-width:0;padding:2px 15px}.class-management-intro__summary>div:last-child{border-right:0}.class-management-intro__summary strong{color:var(--primo-navy);font-family:var(--font-display);font-size:28px;line-height:1;display:block}.class-management-intro__summary span{color:var(--ink-500);margin-top:5px;font-size:12px;font-weight:700;display:block}.class-management-page .class-management-panel,.class-management-page .class-editor-panel{gap:0;width:100%;padding:0;overflow:hidden}.class-management-toolbar{border-bottom:1px solid var(--line-200);justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.class-management-filters{flex-wrap:wrap;gap:7px;display:flex}.class-filter-pill{appearance:none;border:1px solid var(--line-200);background:var(--surface-0);min-height:36px;color:var(--ink-700);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:7px 11px;font-size:12.5px;font-weight:700;display:inline-flex}.class-filter-pill span{background:var(--surface-100);min-width:20px;height:20px;color:var(--ink-500);border-radius:999px;place-items:center;padding:0 5px;font-size:11px;display:inline-grid}.class-filter-pill:hover,.class-filter-pill:focus-visible{border-color:var(--primo-blue);color:var(--primo-navy);outline:none}.class-filter-pill.is-active{border-color:var(--primo-blue);color:var(--primo-blue);background:#eef4ff}.class-filter-pill.is-active span{background:var(--primo-blue);color:#fff}.class-management-search{flex:0 300px;min-width:220px}.class-management-search input{border:1.5px solid var(--line-200);background:var(--surface-0);width:100%;min-height:42px;color:var(--ink-900);font:inherit;border-radius:12px;padding:9px 13px;font-size:13.5px;font-weight:600}.class-management-search input:focus-visible{border-color:var(--primo-blue);box-shadow:var(--focus-ring);outline:none}.class-table{width:100%;overflow-x:auto}.class-table__row{min-width:1150px;min-height:76px;color:var(--ink-700);border-bottom:1px solid #edf1f8;grid-template-columns:minmax(190px,1.4fr) minmax(140px,1fr) minmax(130px,.85fr) minmax(150px,1fr) minmax(105px,.65fr) minmax(100px,.65fr) minmax(225px,auto);align-items:center;gap:14px;padding:14px 22px;font-size:13px;font-weight:600;display:grid}.class-table__row--head{background:var(--surface-50);min-height:auto;color:var(--ink-500);letter-spacing:.055em;text-transform:uppercase;padding-top:9px;padding-bottom:9px;font-size:11px;font-weight:800}.class-table__row:last-child{border-bottom:0}.class-table__row>span{overflow-wrap:anywhere;min-width:0}.class-table__identity,.class-table__row>span:nth-child(3){flex-direction:column;gap:3px;display:flex}.class-table__identity strong{color:var(--primo-navy);font-size:14px}.class-table__identity em,.class-table__row small{color:var(--ink-500);font-size:11.5px;font-style:normal;font-weight:650}.class-status{border-radius:999px;align-items:center;width:max-content;min-height:28px;padding:5px 9px;font-size:11.5px;font-weight:800;display:inline-flex}.class-status--draft{color:#8a5a00;background:#fff7df}.class-status--saved{color:#0245aa;background:#eaf1ff}.class-status--published{color:#0e8345;background:#e2f5e9}.class-status--in_editing{color:#b54708;background:#fdf0e3}.class-status--finished{color:#5c6b8a;background:#edf1f8}.class-table__actions{justify-content:flex-start;align-items:center;gap:11px;display:flex}.class-table__actions .ActionButton{min-height:36px;padding:6px 13px;font-size:12.5px}.ActionButton.is-disabled{border-color:var(--surface-100);color:var(--ink-300);pointer-events:none}.class-management-page .class-table__delete{color:var(--error-600)}.class-table__delete:disabled{color:var(--ink-300);cursor:not-allowed;text-decoration:none}.class-management-empty{color:var(--ink-500);flex-direction:column;align-items:center;gap:4px;padding:56px 24px;display:flex}.class-management-empty strong{color:var(--primo-navy);font-size:16px}.class-management-note{margin:0}.class-wizard-steps{border:1px solid var(--line-200);background:var(--surface-0);box-shadow:var(--shadow-1);border-radius:14px;grid-template-columns:repeat(6,minmax(0,1fr));display:grid;position:relative;overflow:hidden}.class-wizard-steps:after{width:var(--class-progress,0%);background:var(--primo-blue);content:"";height:3px;transition:width var(--dur-med) var(--ease-out);position:absolute;bottom:0;left:0;right:auto}.class-wizard-steps button{appearance:none;border:0;border-right:1px solid var(--line-200);min-height:54px;color:var(--ink-500);font:inherit;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:9px 12px;font-size:12.5px;font-weight:750;display:flex}.class-wizard-steps button:last-child{border-right:0}.class-wizard-steps button>span{background:var(--surface-100);width:24px;height:24px;color:var(--ink-500);border-radius:50%;flex:0 0 24px;place-items:center;font-size:11px;display:inline-grid}.class-wizard-steps button.is-active{color:var(--primo-blue);background:#eef4ff}.class-wizard-steps button.is-active>span{background:var(--primo-blue);color:#fff}.class-wizard-steps button.is-complete{color:#0e8345}.class-wizard-steps button.is-complete>span{color:#0e8345;background:#e2f5e9}.class-wizard-steps button:focus-visible{z-index:1;box-shadow:inset var(--focus-ring);outline:none;position:relative}.class-wizard-steps button:disabled{color:var(--ink-300);cursor:not-allowed}.class-wizard-steps button:disabled>span{background:var(--surface-50);color:var(--ink-300)}.class-management-page .class-editor-panel{padding:30px 34px 0;overflow:visible}.class-editor-heading{border-bottom:1px solid var(--line-200);padding-bottom:22px}.class-editor-heading h1{font-size:27px}.class-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:24px 0;display:grid}.class-form-field{flex-direction:column;gap:6px;min-width:0;display:flex}.class-form-field--wide{grid-column:1/-1}.class-form-row{flex-wrap:wrap;align-items:flex-start;gap:14px 20px;min-width:0;display:flex}.class-form-row input[type=date]{width:190px;max-width:100%}.class-end-field{flex-direction:column;gap:6px;min-width:0;display:flex}.class-end-field__control{align-items:center;gap:10px;min-width:0;display:flex}.class-end-field__label{color:var(--ink-700);letter-spacing:.055em;text-transform:uppercase;font-size:12px;font-weight:800}.class-end-field__open{border:1.5px dashed var(--line-200);background:var(--surface-50);width:190px;max-width:100%;min-height:44px;color:var(--ink-500);border-radius:12px;align-items:center;margin:0;padding:9px 12px;font-size:13px;font-weight:650;display:flex}.class-end-toggle{border:1.5px solid var(--line-200);background:var(--surface-0);color:var(--ink-500);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:7px;padding:4px 10px 4px 7px;font-size:11.5px;font-weight:700;display:inline-flex}.class-end-toggle:hover{border-color:var(--primo-blue);color:var(--ink-700)}.class-end-toggle--on{border-color:var(--primo-blue);color:var(--primo-blue);background:#eef4ff}.class-end-toggle input{width:15px;height:15px;min-height:15px;accent-color:var(--primo-blue);background:0 0;border:0;margin:0;padding:0}.class-form-field--name{width:min(420px,100%)}.class-form-field>span:first-child{color:var(--ink-700);letter-spacing:.055em;text-transform:uppercase;font-size:12px;font-weight:800}.class-form-field input,.class-form-field select,.class-form-field textarea,.class-end-field input[type=date],.class-module-table input{border:1.5px solid var(--line-200);background:var(--surface-0);width:100%;min-height:44px;color:var(--ink-900);font:inherit;border-radius:12px;padding:9px 12px;font-size:14px;font-weight:600}.class-form-field textarea{resize:vertical;line-height:1.5}.class-form-field input:focus-visible,.class-form-field select:focus-visible,.class-form-field textarea:focus-visible,.class-end-field input[type=date]:focus-visible,.class-module-table input:focus-visible{border-color:var(--primo-blue);box-shadow:var(--focus-ring);outline:none}.class-form-field input:disabled{background:var(--surface-50);color:var(--ink-300)}.class-form-field>small{color:var(--ink-500);font-size:11.5px}.class-field-error{color:var(--error-600);align-items:flex-start;gap:5px;margin:0;font-size:11.5px;font-weight:700;line-height:1.4;display:flex}.class-field-error:before{background:var(--error-600);color:#fff;content:"!";border-radius:50%;flex:0 0 13px;place-items:center;width:13px;height:13px;margin-top:1px;font-size:9px;font-weight:800;line-height:1;display:grid}.class-form-field--invalid>span:first-child,.class-form-field--invalid>small{color:var(--error-600)}.class-form-field--invalid input,.class-form-field--invalid select,.class-form-field--invalid textarea,.class-end-field--invalid input[type=date],.class-module-table input.is-invalid{border-color:var(--error-600);background:#fff9f9}.class-option-grid.has-error,.class-grade-pills.has-error,.class-student-list.has-error{outline:1.5px solid var(--error-border);outline-offset:6px;border-radius:12px}.class-grade-pills+.class-field-error,.class-student-list+.class-field-error{margin-top:12px}.class-wizard-steps button.has-error{color:var(--error-600)}.class-wizard-steps button.has-error>span{background:var(--error-100);color:var(--error-600)}.class-issue-alert{border:1px solid var(--error-border);border-left:3px solid var(--error-600);border-radius:var(--r-md);background:var(--error-100);align-items:flex-start;gap:11px;margin:4px 0 0;padding:13px 16px 14px;display:flex}.class-issue-alert__icon{background:var(--error-600);color:#fff;border-radius:50%;flex:0 0 19px;place-items:center;width:19px;height:19px;margin-top:1px;font-size:12px;font-weight:800;line-height:1;display:grid}.class-issue-alert__body{flex:auto;min-width:0}.class-issue-alert__title{color:var(--error-600);margin:0;font-size:13px;font-weight:800}.class-issue-alert__list{gap:5px;margin:0;padding:0;list-style:none;display:grid}.class-issue-alert__title+.class-issue-alert__list{margin-top:8px}.class-issue-alert__list li{color:var(--ink-900);flex-wrap:wrap;align-items:baseline;gap:2px 9px;padding-left:13px;font-size:12.5px;font-weight:600;line-height:1.45;display:flex;position:relative}.class-issue-alert__list li:before{background:var(--error-600);content:"";border-radius:50%;width:4px;height:4px;position:absolute;top:.55em;left:2px}.class-issue-alert__jump{appearance:none;color:var(--error-600);font:inherit;text-underline-offset:2px;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;font-size:11.5px;font-weight:750;text-decoration:underline}.class-issue-alert__jump:hover{color:var(--primo-navy)}.class-issue-alert__jump:focus-visible{box-shadow:var(--focus-ring);border-radius:4px;outline:none}.class-period-card__body>.class-issue-alert{margin-top:16px}.class-editor-panel>.class-issue-alert{margin-bottom:24px}.class-end-field input[type=date]{width:190px;max-width:100%}.class-editor-section{border-top:1px solid var(--line-200);padding:24px 0}.class-editor-section--first{border-top:0}.class-editor-section__head,.class-review-section__head,.class-upload-card__head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.class-editor-section__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.class-editor-section__actions>span{color:var(--ink-500);font-size:12px;font-weight:700}.class-editor-section__head h2,.class-review-section__head h2,.class-upload-card__head h3{color:var(--primo-navy);margin:0;font-size:17px;font-weight:800}.class-editor-section__head p,.class-upload-card__head span{color:var(--ink-500);margin:4px 0 0;font-size:12.5px;font-weight:600;line-height:1.45}.class-option-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-top:14px;display:grid}.class-option-card,.class-student-list label{border:1px solid var(--line-200);background:var(--surface-0);cursor:pointer;border-radius:12px;align-items:center;gap:10px;min-width:0;padding:12px;display:flex}.class-option-card:has(input:checked){background:#f2f6ff;border-color:#9db7e8}.class-student-list label:has(input:checked){background:#f2f6ff;border-color:#9db7e8}.class-option-card input,.class-student-list input{width:17px;height:17px;accent-color:var(--primo-blue);flex:0 0 17px}.class-option-card>span,.class-student-list label>span{flex-direction:column;min-width:0;display:flex}.class-option-card strong,.class-student-list strong{color:var(--primo-navy);font-size:13.5px}.class-option-card small,.class-student-list small{color:var(--ink-500);font-size:11.5px}.class-grade-pills{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.class-grade-pills label{border:1px solid var(--line-200);color:var(--ink-700);cursor:pointer;border-radius:999px;padding:8px 12px;font-size:12.5px;font-weight:750;position:relative}.class-grade-pills input{opacity:0;pointer-events:none;position:absolute}.class-grade-pills label.is-selected{border-color:var(--primo-blue);color:var(--primo-blue);background:#eef4ff}.class-grade-pills label:focus-within{box-shadow:var(--focus-ring)}.class-student-list{grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:8px;margin-top:14px;display:grid}.class-student-search{width:min(360px,100%);margin-top:18px;display:block}.class-student-search input{border:1.5px solid var(--line-200);background:var(--surface-0);width:100%;min-height:42px;color:var(--ink-900);font:inherit;border-radius:12px;padding:9px 12px;font-size:13px;font-weight:600}.class-student-search input:focus-visible{border-color:var(--primo-blue);box-shadow:var(--focus-ring);outline:none}.class-student-list__empty{background:var(--surface-50);color:var(--ink-500);text-align:center;border-radius:12px;grid-column:1/-1;margin:0;padding:18px;font-size:13px;font-weight:650}.class-upload-card{border:1px solid var(--line-200);background:var(--surface-50);border-radius:16px;margin-bottom:24px;padding:18px}.class-upload-card__files{flex-direction:column;gap:7px;margin-top:14px;display:flex}.class-upload-button{cursor:pointer;position:relative}.class-upload-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.class-upload-button:focus-within{box-shadow:var(--focus-ring)}.class-upload-card__files>div{border:1px solid var(--line-200);background:var(--surface-0);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:10px 12px;display:grid}.class-upload-card__files strong{min-width:0;color:var(--ink-700);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.class-upload-card__files small,.class-upload-card>p{color:var(--ink-500);font-size:11.5px}.class-period-list{flex-direction:column;gap:12px;padding:22px 0;display:flex}.class-period-card{border:1px solid var(--line-200);background:var(--surface-0);border-radius:14px;overflow:hidden}.class-period-card.is-open{border-color:#9db7e8}.class-period-card.has-error{border-color:var(--error-600)}.class-period-card__trigger small.class-period-card__error{color:var(--error-600);font-weight:750}.class-module-table__row.has-error{background:snow}.class-period-card__trigger{appearance:none;background:var(--surface-0);width:100%;min-height:64px;color:var(--ink-900);font:inherit;text-align:left;cursor:pointer;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.class-period-card.is-open .class-period-card__trigger{border-bottom:1px solid var(--line-200);background:#f6f9ff}.class-period-card__chevron{color:var(--primo-blue);transition:transform var(--dur-fast) var(--ease-out);font-size:25px;transform:rotate(0)}.class-period-card.is-open .class-period-card__chevron{transform:rotate(90deg)}.class-period-card__trigger>span:nth-child(2){flex-direction:column;gap:2px;display:flex}.class-period-card__trigger strong{color:var(--primo-navy);font-size:14px}.class-period-card__trigger small,.class-period-card__trigger em{color:var(--ink-500);font-size:11.5px;font-style:normal;font-weight:650}.class-period-card__body{padding:0 18px 18px}.class-module-table{width:100%;overflow-x:auto}.class-module-table__row{border-bottom:1px solid #edf1f8;grid-template-columns:44px minmax(180px,.9fr) minmax(220px,1.2fr) minmax(145px,.65fr) minmax(215px,.85fr) 48px;align-items:center;gap:10px;min-width:1010px;padding:11px 0;font-size:12.5px;font-weight:650;display:grid}.class-end-field--compact .class-end-field__control{gap:8px}.class-end-field--compact input[type=date]{flex:auto;width:auto;min-width:0}.class-end-field--compact .class-end-field__open{border-radius:9px;flex:auto;width:auto;min-width:0;min-height:38px;padding:7px 9px;font-size:11.5px}.class-end-field--compact .class-end-toggle{gap:6px;padding:2px 9px 2px 6px;font-size:10.5px}.class-end-field--compact .class-end-toggle input{width:13px;height:13px;min-height:13px}.class-module-table__row--head{color:var(--ink-500);letter-spacing:.055em;text-transform:uppercase;font-size:10.5px;font-weight:800}.class-module-table input{border-radius:9px;min-height:38px;padding:7px 9px;font-size:12px}.class-module-control{width:34px;height:34px;color:var(--error-600);font:inherit;cursor:pointer;background:#fff7f7;border:1px solid #f3b7b7;border-radius:9px;place-items:center;font-size:22px;line-height:1;display:inline-grid}.class-module-control:hover{border-color:var(--error-600);background:#fff0f0}.class-period-card__actions{justify-content:space-between;gap:10px;padding-top:16px;display:flex}.class-module-guideline-layout{grid-template-columns:260px minmax(0,1fr);gap:22px;padding:24px 0;display:grid}.class-module-nav{border:1px solid var(--line-200);border-radius:14px;align-self:start;overflow:hidden}.class-module-nav>div>strong{background:var(--surface-50);color:var(--ink-500);letter-spacing:.055em;text-transform:uppercase;padding:11px 13px;font-size:11px;display:block}.class-module-nav button{appearance:none;background:var(--surface-0);width:100%;min-height:44px;color:var(--ink-700);font:inherit;text-align:left;cursor:pointer;border:0;border-top:1px solid #edf1f8;align-items:center;gap:9px;padding:8px 12px;font-size:12.5px;font-weight:650;display:flex}.class-module-nav button>span{background:var(--surface-100);border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:10px;display:inline-grid}.class-module-nav button.is-active{color:var(--primo-blue);background:#eef4ff}.class-module-nav button.is-active>span{background:var(--primo-blue);color:#fff}.class-module-guideline-form{min-width:0}.class-module-guideline-form .class-form-grid{grid-template-columns:1fr}.class-guideline-picker{flex-wrap:wrap;gap:8px;display:flex}.class-guideline-picker .builder-std{max-width:100%}.class-guideline-picker__empty{color:var(--ink-500);margin:0;font-size:12.5px}.class-review-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;padding:24px 0;display:grid}.class-read-only-banner{align-items:center;gap:10px 16px;margin:0;display:flex}.class-read-only-banner span{font-size:13px}.class-review-grid>section,.class-review-structure{border:1px solid var(--line-200);border-radius:14px;padding:18px}.class-review-list{margin:14px 0 0}.class-review-list>div{border-bottom:1px solid #edf1f8;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:8px 0;display:grid}.class-review-list dt{color:var(--ink-500);font-size:12px;font-weight:700}.class-review-list dd{color:var(--ink-900);margin:0;font-size:13px;font-weight:650}.class-review-copy{margin-top:14px}.class-review-copy strong{color:var(--ink-500);letter-spacing:.045em;text-transform:uppercase;font-size:11px;display:block}.class-review-copy p{color:var(--ink-700);margin:4px 0 13px;font-size:13px;line-height:1.5}.class-review-copy small{color:var(--primo-blue);font-weight:700}.class-review-files{color:var(--ink-700);margin:6px 0 0;padding-left:18px;font-size:13px}.class-review-bullets{color:var(--ink-700);margin:4px 0 13px;padding-left:18px;font-size:13px;line-height:1.5}.class-review-bullets li{padding:2px 0}.class-review-empty{color:var(--ink-500);margin:4px 0 13px;font-size:13px}.class-review-files li{padding:3px 0}.class-review-files small{color:var(--ink-500);margin-left:4px}.class-review-section__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px 14px;display:flex}.class-review-structure{margin-bottom:24px}.class-review-period{border-bottom:1px solid #edf1f8;grid-template-columns:minmax(170px,.45fr) minmax(0,1fr);gap:20px;padding:15px 0;display:grid}.class-review-period:last-child{border-bottom:0}.class-review-period__summary{flex-direction:column;gap:3px;display:flex}.class-review-period__summary p{color:var(--ink-700);margin:7px 0 0;font-size:12.5px;line-height:1.45}.class-review-period strong{color:var(--primo-navy);font-size:14px}.class-review-period span,.class-review-period small{color:var(--ink-500);font-size:11.5px;font-weight:650}.class-review-period ul{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.class-review-period li{background:var(--surface-50);border-radius:9px;padding:8px 10px;display:block}.class-review-module__head{justify-content:space-between;gap:12px;display:flex}.class-review-module__head strong{color:var(--ink-700);font-size:12.5px}.class-review-period li>p{color:var(--ink-700);margin:5px 0 10px;font-size:12px;line-height:1.45}.class-review-module__guidelines{border-top:1px solid var(--line-200);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:0;padding-top:9px;display:grid}.class-review-module__guidelines dt{color:var(--ink-500);letter-spacing:.035em;text-transform:uppercase;font-size:10px;font-weight:800}.class-review-module__guidelines dd{color:var(--ink-700);white-space:pre-line;margin:3px 0 0;font-size:11.5px;line-height:1.4}.class-review-module__guidelines .class-review-bullets,.class-review-module__guidelines .class-review-empty{margin:3px 0 0;font-size:11.5px;line-height:1.4}.class-review-module__guidelines .class-review-bullets{padding-left:15px}.class-editor-footer{z-index:5;border-top:1px solid var(--line-200);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;border-radius:0 0 20px 20px;align-items:center;gap:12px;margin:0 -34px;padding:14px 34px;display:flex;position:sticky;bottom:0}.class-editor-footer>span{color:var(--ink-500);text-align:center;flex:1;font-size:11.5px;font-weight:600}.class-editor-footer__publish{gap:9px;display:flex}@media (max-width:900px){.class-management-toolbar{flex-direction:column;align-items:stretch}.class-management-search{flex-basis:auto;width:100%}.class-table{padding:0 18px 18px}.class-table__row--head{display:none}.class-table__row:not(.class-table__row--head){border:1px solid var(--line-200);background:var(--surface-0);min-width:0;box-shadow:var(--shadow-1);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px;margin-top:12px;padding:18px}.class-table__row:not(.class-table__row--head)>span:before{color:var(--ink-500);content:attr(data-label);letter-spacing:.055em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:800;display:block}.class-table__identity,.class-table__actions{grid-column:1/-1}.class-table__identity{border-bottom:1px solid #edf1f8;padding-bottom:12px}.class-table__identity:before{display:none!important}.class-table__actions{padding-top:3px}.class-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-module-guideline-layout{grid-template-columns:220px minmax(0,1fr)}.class-wizard-steps button{text-align:center;flex-direction:column;gap:4px;min-height:68px;font-size:11px}}@media (max-width:640px){.class-management-main{padding:18px 14px}.class-management-header .primo-header__actions{width:100%}.class-management-header .ActionButton{flex:1;padding-inline:12px}.class-management-intro{flex-direction:column;align-items:stretch}.class-management-intro__summary{width:100%;min-width:0}.class-management-intro__summary>div{flex:1;padding-inline:10px}.class-management-filters{flex-wrap:nowrap;padding-bottom:3px;overflow-x:auto}.class-filter-pill{flex:none}.class-table__row:not(.class-table__row--head){grid-template-columns:1fr}.class-table__identity,.class-table__actions{grid-column:auto}.class-table__actions{grid-column:1}.class-management-page .class-editor-panel{padding:22px 18px 0}.class-wizard-steps{display:flex;overflow-x:auto}.class-wizard-steps button{border-bottom:0;min-width:112px}.class-form-grid,.class-review-grid,.class-module-guideline-layout{grid-template-columns:1fr}.class-form-field--wide{grid-column:auto}.class-editor-section__head,.class-upload-card__head{flex-direction:column;align-items:stretch}.class-editor-section__actions{justify-content:flex-start}.class-period-card__trigger{grid-template-columns:auto minmax(0,1fr)}.class-period-card__trigger>em{grid-column:2}.class-period-card__actions,.class-editor-footer,.class-editor-footer__publish{flex-direction:column;align-items:stretch}.class-editor-footer{margin:0 -18px;padding:14px 18px;position:static}.class-editor-footer>span{order:-1}.class-editor-footer .ActionButton{width:100%}.class-review-period{grid-template-columns:1fr}.class-review-period li{flex-direction:column;align-items:flex-start}}:root{--primo-teal:#02a9b0;--primo-navy:#053d92;--primo-blue:#0245aa;--primo-pink:#e40966;--primo-red:#fb160c;--ink-900:#16233f;--ink-700:#3d4c6b;--ink-500:#5c6b8a;--ink-300:#b9c4d8;--line-200:#dde4ef;--surface-100:#edf1f8;--surface-50:#f5f7fb;--surface-0:#fff;--success-600:#0e8345;--success-100:#e2f5e9;--warning-700:#b54708;--warning-100:#fdf0e3;--error-600:#b3261e;--error-100:#fbeae9;--error-border:#f3c2be;--info-600:#0245aa;--info-100:#e7eefb;--practice-text:#02777c;--celebrate-pink-bg:#fce7f0;--celebrate-pink-text:#b00050;--fb-correct-text:#0e8345;--fb-correct-bg:#e2f5e9;--fb-correct-border:#9bd8b4;--fb-close-text:#b54708;--fb-close-bg:#fdf0e3;--fb-close-border:#edc49a;--fb-work-text:#6d3fc5;--fb-work-bg:#f0eafb;--fb-work-border:#cdb8f0;--fb-refine-text:#0245aa;--fb-refine-bg:#e7eefb;--fb-refine-border:#9bb8e8;--font-ui:"Figtree", "Avenir Next", "Segoe UI", sans-serif;--font-display:"Baloo 2", "Figtree", sans-serif;--text-xs:12px;--text-sm:14px;--text-md:16px;--text-lg:20px;--text-xl:26px;--text-2xl:34px;--text-display:56px;--r-sm:8px;--r-md:12px;--r-lg:20px;--r-pill:999px;--hit-min:44px;--ease-out:cubic-bezier(.22, 1, .36, 1);--dur-fast:.12s;--dur-med:.24s;--dur-slow:.42s;--focus-ring:0 0 0 3px #fff, 0 0 0 6px var(--primo-blue);--shadow-1:0 1px 3px #053d9214;--shadow-2:0 4px 14px #053d921a;--shadow-3:0 10px 32px #053d9224;--shadow-btn:0 4px 14px #053d922e;--bp-phone:640px;--bp-ipad:1180px;--bp-chromebook:1366px;--hit-primary:48px}*{box-sizing:border-box}html,body{background:var(--surface-50);min-height:100%;color:var(--ink-900);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}a{color:var(--primo-blue);text-decoration:none}a:hover{color:var(--primo-navy)}button{font:inherit}:focus-visible{box-shadow:var(--focus-ring);outline:none}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--primo-blue);box-shadow:var(--focus-ring);outline:none}select:not([multiple]):not([size]){appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%235C6B8A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-position:right 12px center!important;background-repeat:no-repeat!important;background-size:12px 8px!important;padding-right:36px!important}select:not([multiple]):not([size])::-ms-expand{display:none}.primo-page{background:var(--surface-50);flex-direction:column;min-height:100vh;display:flex}.primo-header{background:var(--surface-0);border-bottom:1px solid var(--line-200);z-index:40;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:12px 28px;display:flex;position:sticky;top:0}.primo-header__actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;margin-left:auto;display:flex}.user-menu{flex-shrink:0;position:relative}.primo-header>.user-menu{margin-left:auto}:is(.primo-header:has(.primo-header__actions)>.logout-header-btn,.primo-header:has(.teacher-header__actions)>.logout-header-btn,.primo-header:has(.org-header__actions)>.logout-header-btn,.primo-header:has(.roles-header-actions)>.logout-header-btn){margin-left:0}.user-menu__trigger{appearance:none;border:1.5px solid var(--line-200);background:var(--surface-0);max-width:220px;min-height:40px;color:var(--primo-navy);font:inherit;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 5px;font-size:13px;font-weight:700;display:inline-flex}.user-menu__trigger:hover,.user-menu__trigger[aria-expanded=true]{background:#eef4ff;border-color:#9db7e8}.user-menu__trigger:focus-visible{box-shadow:var(--focus-ring);outline:none}.user-menu__avatar{background:var(--primo-blue);color:#fff;letter-spacing:.03em;border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;font-size:11px;font-weight:800;display:inline-grid}.user-menu__trigger-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-menu__chevron{width:16px;height:16px;transition:transform var(--dur-fast) var(--ease-out);flex:0 0 16px}.user-menu__trigger[aria-expanded=true] .user-menu__chevron{transform:rotate(180deg)}.user-menu__panel{z-index:80;border:1px solid var(--line-200);background:var(--surface-0);width:min(290px,100vw - 24px);box-shadow:var(--shadow-2);border-radius:14px;padding:8px;position:absolute;top:calc(100% + 8px);right:0}.user-menu__account{flex-direction:column;gap:3px;padding:10px 11px 11px;display:flex}.user-menu__account-name{color:var(--ink-900);font-size:14px;font-weight:800;line-height:1.3}.user-menu__school{color:var(--ink-500);font-size:12.5px;line-height:1.35}.user-menu__separator{background:var(--line-200);height:1px;margin:0 4px 6px}.user-menu__item{appearance:none;width:100%;min-height:42px;color:var(--ink-700);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:8px 11px;font-size:13px;font-weight:700;display:flex}.user-menu__item svg{flex:0 0 18px;width:18px;height:18px}.user-menu__item:hover:not(:disabled),.user-menu__item:focus-visible{background:var(--surface-50);color:var(--primo-navy);outline:none}.user-menu__item:disabled{color:var(--ink-300);cursor:not-allowed}.user-menu__item--danger{color:var(--error-600)}.user-menu__item--danger:hover:not(:disabled),.user-menu__item--danger:focus-visible{color:var(--error-600);background:var(--error-100)}.account-dialog-backdrop{z-index:120;background:#16233f7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.account-dialog{border:1px solid var(--line-200);background:var(--surface-0);width:min(480px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow-2);border-radius:18px;padding:24px;overflow:auto}.account-dialog__head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.account-dialog__head h2{color:var(--primo-navy);margin:0;font-size:22px}.account-dialog__head p{color:var(--ink-500);margin:5px 0 0;font-size:14px;line-height:1.45}.account-dialog__close{appearance:none;border:1px solid var(--line-200);background:var(--surface-0);width:36px;height:36px;color:var(--ink-700);font:inherit;cursor:pointer;border-radius:10px;flex:0 0 36px;place-items:center;padding:0 0 2px;font-size:24px;line-height:1;display:grid}.account-dialog__close:hover:not(:disabled){background:var(--surface-50);border-color:#9db7e8}.account-dialog__close:focus-visible{box-shadow:var(--focus-ring);outline:none}.account-dialog__form{margin-top:22px}.account-dialog__actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}@media (max-width:640px){.user-menu__trigger-name{display:none}.user-menu__trigger{padding-right:7px}.account-dialog{padding:20px}.account-dialog__actions{flex-direction:column-reverse}.account-dialog__actions .ActionButton{width:100%}}.account-menu{position:relative}.account-menu__trigger{gap:10px}.account-menu__name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.account-menu__panel{z-index:50;background:var(--surface-0);border:1.5px solid var(--line-200);border-radius:var(--r-md);min-width:200px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 40px #053d922e}.account-menu__item{appearance:none;text-align:left;width:100%;color:var(--primo-navy);font-family:var(--font-ui);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:10px 12px;font-size:15px;font-weight:700;display:block}.account-menu__item:hover:not(:disabled){background:var(--surface-50)}.account-menu__item:disabled{color:var(--ink-300);cursor:not-allowed}.primo-header__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);font-size:12px;font-weight:700}.primo-header__title{color:var(--ink-900);font-size:16px;font-weight:700}.primo-header__brand{align-items:center;gap:16px;min-width:0;display:flex}.primo-header__brand-text{flex-direction:column;gap:2px;min-width:0;display:flex}.primo-logo{flex-shrink:0;width:auto;height:auto;display:block}.primo-logo--header{width:auto;max-width:120px;height:40px}.primo-logo--hero{width:auto;max-width:200px;height:64px}.primo-main{flex:1;justify-content:center;padding:24px 28px;display:flex}.primo-main--center{align-items:center}.gradebook-page{flex-direction:column;width:min(960px,100%);display:flex}.primo-content{flex-direction:column;gap:16px;width:min(880px,100%);display:flex}.primo-panel{background:var(--surface-0);width:min(880px,100%);box-shadow:var(--shadow-2);border-radius:20px;flex-direction:column;gap:28px;padding:36px 44px;display:flex}.grade-pill{background:var(--surface-100);border-radius:999px;flex-shrink:0;align-items:center;gap:10px;margin-left:auto;padding:6px 14px 6px 8px;display:flex}.grade-pill__value{font-family:var(--font-display);color:var(--primo-navy);font-size:17px;font-weight:700;line-height:1.05}.grade-pill__label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500);font-size:10.5px;font-weight:700}.ActionButton{appearance:none;min-height:var(--hit-min);border-radius:var(--r-md);font-family:var(--font-ui);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-size:15px;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.ActionButton--primary{min-height:var(--hit-primary);background:var(--primo-blue);color:#fff;box-shadow:var(--shadow-btn)}.ActionButton--primary:hover:not(:disabled){background:var(--primo-navy);color:#fff}.ActionButton--primary:focus-visible{box-shadow:var(--focus-ring);outline:none}.ActionButton--primary:disabled{background:var(--surface-100);color:var(--ink-300);box-shadow:none;cursor:not-allowed}.ActionButton--secondary{background:var(--surface-0);color:var(--primo-navy);border:1.5px solid var(--line-200)}.ActionButton--secondary:hover:not(:disabled){border-color:var(--primo-blue);background:var(--surface-50);color:var(--primo-navy)}.ActionButton--secondary:focus-visible{box-shadow:var(--focus-ring);outline:none}.ActionButton--secondary:disabled{background:var(--surface-0);color:var(--ink-300);border-color:var(--surface-100);cursor:not-allowed}a.ActionButton,a.ActionButton:hover,a.ActionButton:focus{text-decoration:none}a.ActionButton--primary,a.ActionButton--primary:hover,a.ActionButton--primary:focus{color:#fff}a.ActionButton--secondary,a.ActionButton--secondary:hover,a.ActionButton--secondary:focus{color:var(--primo-navy)}.LinkAction{color:var(--primo-blue);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font-ui);background:0 0;border:none;padding:0;text-decoration:none}.LinkAction:hover{color:var(--primo-navy);text-decoration:underline}.LinkAction:disabled{opacity:.45;cursor:not-allowed;text-decoration:none}.LinkAction:disabled:hover{color:var(--primo-blue);text-decoration:none}.ModeToggle{background:var(--surface-100);border-radius:var(--r-pill);align-self:flex-start;gap:2px;padding:4px;display:flex}.ModeToggle button{min-height:var(--hit-min);border-radius:var(--r-pill);color:var(--ink-500);font-family:var(--font-ui);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:none;padding:0 22px;font-size:14px;font-weight:800}.ModeToggle button.is-selected{background:var(--primo-blue);color:#fff;box-shadow:var(--shadow-1)}.ModeToggle button:focus-visible{box-shadow:var(--focus-ring);outline:none}.set-headline{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.set-headline h1{margin:0;font-size:24px;font-weight:800;line-height:1.25}.set-headline__meta{color:var(--ink-500);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;margin-left:auto;font-size:13.5px;font-weight:600;display:flex}.set-headline__remaining{color:var(--ink-500);white-space:nowrap;font-size:13.5px;font-weight:600}.set-copy{color:var(--ink-700);max-width:52rem;margin:0;font-size:14px;font-weight:500;line-height:1.5}.set-subhead{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.set-subhead .set-copy{flex:320px;min-width:0}.set-classification-filter{background:var(--surface-0);border:1.5px solid var(--line-200);border-radius:var(--r-pill);flex-shrink:0;align-items:center;gap:4px;margin-left:auto;padding:4px;display:inline-flex}.set-classification-filter__option{appearance:none;border-radius:var(--r-pill);font-family:var(--font-ui);color:var(--primo-navy);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;padding:8px 18px;font-size:14px;font-weight:700;line-height:1.2}.set-classification-filter__option:hover:not([aria-pressed=true]){background:var(--surface-50)}.set-classification-filter__option:focus-visible{box-shadow:var(--focus-ring);outline:none}.set-classification-filter__option[aria-pressed=true]{background:var(--primo-blue);color:#fff}.set-footnote{color:var(--ink-500);margin:0;font-size:12.5px;font-weight:600;line-height:1.45}.ActivityRow{appearance:none;border:1.5px solid var(--line-200);cursor:pointer;text-align:left;width:100%;color:inherit;box-shadow:none;box-sizing:border-box;background:#fff;border-radius:16px;align-items:center;gap:16px;padding:18px 22px;font-family:inherit;text-decoration:none;transition:border-color .12s,transform .12s,box-shadow .12s;display:flex}.ActivityRow:hover{border-color:var(--primo-blue);transform:translateY(-1px);box-shadow:0 4px 14px #053d921a}.ActivityRow:focus-visible{outline:3px solid var(--primo-blue);outline-offset:2px}.ActivityRow--current{border-color:var(--primo-blue);box-shadow:0 4px 14px #053d9224}.ActivityRow--reattempt{border-color:#d97706;box-shadow:0 4px 14px #b453091f}.ActivityRow--reattempt:hover{border-color:#b45309}.ActivityRow--closed{cursor:default;opacity:.78}.ActivityRow--closed:hover{border-color:var(--line-200)}.ActivityRow__name{color:var(--ink-900);font-size:15.5px;font-weight:800}.ActivityRow__meta{color:var(--ink-500);font-size:13px;font-weight:600}.ActivityRow__score{font-family:var(--font-display);color:var(--primo-navy);text-align:right;flex-shrink:0;min-width:36px;font-size:22px;font-weight:700}.ActivityRow__cta{color:var(--primo-blue);flex-shrink:0;font-size:13px;font-weight:700}.tag{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1.5px solid;border-radius:999px;flex-shrink:0;align-items:center;padding:4px 12px;font-size:11.5px;font-weight:800;display:inline-flex}.tag--graded{color:#053d92;background:#e7eefb;border-color:#b9c9e8}.tag--practice{color:#02777c;background:#e0f5f6;border-color:#9bdde0}.tag--dur{color:var(--ink-700);background:var(--surface-100);letter-spacing:0;text-transform:none;border-color:#0000;font-size:12.5px;font-weight:700}.tag--due{color:var(--ink-700);background:var(--surface-50);border-color:var(--line-200);letter-spacing:0;text-transform:none;gap:5px;font-size:12.5px;font-weight:700}.tag--due__icon{opacity:.85;flex-shrink:0}.tag--due-soon{color:var(--warning-700);background:#fdf4e6;border-color:#f0d5a8}.tag--due-urgent{color:var(--error-600);background:var(--error-100);border-color:var(--error-border);font-weight:800;animation:2.4s ease-in-out infinite due-urgent-pulse}@keyframes due-urgent-pulse{0%,to{box-shadow:0 0 #b3261e00}50%{box-shadow:0 0 0 4px #b3261e24}}@media (prefers-reduced-motion:reduce){.tag--due-urgent{animation:none}}.tag--due-late{color:#a33a11;background:#fdeee7;border-color:#f3c6b2}.tag--due-closed{color:var(--ink-500);background:var(--surface-100);border-color:#0000}.tag--complete{color:#0e8345;background:#e2f5e9;border-color:#a7e0bc}.tag--progress,.tag--attempting{color:#0245aa;background:#e7eefb;border-color:#b9c9e8}.tag--reattempting{color:#b45309;background:#fef3c7;border-color:#f5d08a}.tag--missing{color:#5c6b8a;background:#edf1f8;border-color:#d5dde9}.gradebook-modules{border-bottom:1px solid #edf1f8;margin-bottom:14px;padding-bottom:12px}.gradebook-modules__head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.gradebook-modules__label{letter-spacing:.08em;text-transform:uppercase;color:#5c6b8a;font-size:12px;font-weight:800}.gradebook-module-grid{scrollbar-gutter:stable;scrollbar-width:thin;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;max-height:min(42vh,420px);padding:2px 2px 4px;display:grid;overflow:hidden auto}.gradebook-mcard{--mcard-color:#94a3b8;--mcard-soft:#f8fafc;--mcard-badge:#edf1f8;text-align:left;border:1.5px solid color-mix(in srgb, var(--mcard-color) 45%, #dde4ef);background:#fff;border-radius:12px;flex-direction:column;gap:5px;min-width:0;padding:10px 12px;font-family:inherit;transition:border-color .12s,box-shadow .12s,transform .12s;display:flex}.gradebook-mcard__select{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:0;flex-direction:column;gap:5px;margin:0;padding:0;font-family:inherit;display:flex}.gradebook-mcard__select:focus-visible{outline-offset:2px;border-radius:8px;outline:3px solid #0245aa}.gradebook-mcard:hover{border-color:var(--mcard-color);transform:translateY(-1px);box-shadow:0 4px 14px #053d9214}.gradebook-mcard.is-selected{box-shadow:0 0 0 2px color-mix(in srgb, var(--mcard-color) 35%, transparent);border-color:var(--mcard-color);background:var(--mcard-soft)}.gradebook-mcard__top{grid-template-columns:22px 1fr auto;grid-template-areas:"icon.badge""title title title";align-items:center;gap:4px 8px;min-width:0;display:grid}.gradebook-mcard__icon{flex-shrink:0;grid-area:icon;justify-content:center;align-items:center;width:22px;height:22px;line-height:0;display:flex}.gradebook-mcard__icon svg{width:22px;height:22px;display:block}.gradebook-mcard__badge{box-sizing:border-box;letter-spacing:.03em;text-transform:uppercase;height:18px;color:var(--mcard-color);background:var(--mcard-badge);white-space:nowrap;border-radius:999px;flex-shrink:0;grid-area:badge;justify-content:center;justify-self:end;align-items:center;padding:0 7px;font-size:9px;font-weight:800;line-height:1;display:inline-flex}.gradebook-mcard__title{color:#0b1b3a;overflow-wrap:break-word;grid-area:title;min-width:0;font-size:13.5px;font-weight:800;line-height:1.3}.gradebook-mcard__meta{color:#5c6b8a;font-size:11.5px;font-weight:600;line-height:1.25}.gradebook-mcard__bar{background:#edf1f8;border-radius:999px;height:5px;margin:1px 0;overflow:hidden}.gradebook-mcard__bar-fill{border-radius:inherit;background:var(--mcard-color);height:100%;transition:width .4s cubic-bezier(.22,1,.36,1);display:block}.gradebook-mcard__foot{justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.gradebook-mcard__acts{color:#5c6b8a;min-width:0;font-size:11px;font-weight:600;line-height:1.25}.gradebook-mcard__grade{color:var(--mcard-color);flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.gradebook-mcard__grade-label{letter-spacing:.02em;text-transform:uppercase;color:#5c6b8a;font-size:10px;font-weight:700;line-height:1}.gradebook-mcard__grade-value{font-family:var(--font-display,inherit);font-size:20px;font-weight:800;line-height:1}.gradebook-mcard__grade-line{align-items:center;gap:4px;display:inline-flex}.gradebook-modules__legend{color:#5c6b8a;flex-wrap:wrap;justify-content:flex-end;gap:10px 14px;margin-top:8px;font-size:11px;font-weight:700;display:flex}.gradebook-modules__legend-item{align-items:center;gap:5px;display:inline-flex}.gradebook-modules__swatch{border-radius:50%;flex-shrink:0;width:7px;height:7px}.gradebook-modules__swatch--complete{background:#0e8345}.gradebook-modules__swatch--progress{background:#2563eb}.gradebook-modules__swatch--missing{background:#94a3b8}.gradebook-modules__overall{color:#053d92;align-items:center;gap:6px;font-size:13px;font-weight:800;display:inline-flex}.gradebook-info{flex-shrink:0;display:inline-flex;position:relative}.gradebook-info__btn{color:#5c6b8a;text-align:center;cursor:default;background:#fff;border:1.5px solid #9aa8c2;border-radius:50%;width:18px;height:18px;padding:0;font-family:inherit;font-size:11px;font-weight:800;line-height:15px}.gradebook-info__btn:hover,.gradebook-info:hover .gradebook-info__btn,.gradebook-info:focus-within .gradebook-info__btn{color:#0245aa;border-color:#0245aa}.gradebook-info__tip{z-index:4;color:#3d4c6b;width:min(240px,70vw);box-shadow:var(--shadow-2);pointer-events:none;background:#fff;border-radius:10px;margin:0;padding:10px 12px;font-size:12.5px;font-weight:600;line-height:1.4;display:none;position:absolute;top:calc(100% + 6px);right:0}.gradebook-info:hover .gradebook-info__tip,.gradebook-info:focus-within .gradebook-info__tip{display:block}.gradebook-info--compact .gradebook-info__tip{width:min(220px,70vw);inset:auto 0 calc(100% + 6px) auto;transform:none}.gradebook-empty{color:#5c6b8a;margin:8px 0 0;font-size:14px;font-weight:600}.gradebook-list-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.gradebook-list-toolbar .RoleCheckbox--chip{flex:none;min-width:0;min-height:42px}.gradebook-hidden-count{color:var(--ink-500);background:var(--surface-100);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;line-height:1.2}.gradebook-due-banner{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.gradebook-due-banner__copy{min-width:0;font-weight:600}.gradebook-due-banner .ActionButton{flex-shrink:0;min-height:40px;padding:8px 16px}.gradebook-mod{margin-top:4px}.gradebook-mod__rule{background:#edf1f8;height:1px;margin:10px 0 8px}.gradebook-mod__toggle{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;width:100%;min-height:40px;padding:8px 2px;font-family:inherit;display:flex}.gradebook-mod__toggle:focus-visible{outline-offset:2px;border-radius:8px;outline:3px solid #0245aa}.gradebook-mod__chevron{color:#5c6b8a;width:16px;font-size:14px}.gradebook-mod__title{color:#053d92;min-width:0;font-size:14px;font-weight:800}.gradebook-mod__summary{color:#5c6b8a;white-space:nowrap;margin-left:auto;font-size:12px;font-weight:700}.gradebook-rows{margin:0;padding:0;list-style:none}.gradebook-item{border-bottom:1px solid #edf1f8;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 4px;display:grid}.gradebook-item:last-child{border-bottom:0}.gradebook-item__body{min-width:0}.gradebook-item__title{color:#053d92;font-size:14.5px;font-weight:800;line-height:1.3;text-decoration:none;display:block}.gradebook-item__title:hover{text-decoration:underline}.gradebook-item__meta{color:#5c6b8a;margin-top:3px;font-size:12.5px;font-weight:600;line-height:1.4}.gradebook-due{color:var(--ink-500);white-space:nowrap;font-weight:700}.gradebook-due--soon{color:var(--warning-700);font-weight:800}.gradebook-due--urgent{color:var(--error-600);font-weight:800}.gradebook-due__icon{vertical-align:-1px;margin-right:4px;display:inline-block}.gradebook-item__aside{flex-shrink:0;align-items:center;gap:8px;display:flex}.gradebook-item__score{color:#053d92;text-align:right;min-width:2ch;font-family:"Baloo 2",sans-serif;font-size:20px;font-weight:700}.gradebook-item__go{min-height:36px;padding:6px 12px;font-size:13px}.gradebook-item__closed{color:#7b8aac;font-size:13px;font-weight:700}.gradebook-adjusted{color:#053d92;cursor:pointer;background:#e7eefb;border:1.5px solid #b9c9e8;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:4px 10px;font-family:inherit;font-size:13px;font-weight:800;display:inline-flex}.gradebook-adjusted:hover,.gradebook-adjusted:focus-visible{border-color:#0245aa;outline:none}.gradebook-adjusted__sep{color:#7b8aac;font-weight:700}.gradebook-adjusted--excused{color:#0245aa;background:#e8f0fc;border-color:#c7d9f5}@media (max-width:640px){.gradebook-due-banner{flex-direction:column;align-items:stretch}.gradebook-item{grid-template-columns:40px minmax(0,1fr)}.gradebook-item__aside{grid-column:2;justify-content:flex-start}.gradebook-mod__summary{display:none}}@media (max-width:560px){.gradebook-module-grid{grid-template-columns:1fr;max-height:min(36vh,320px)}}.CompletionRing{flex-shrink:0;width:44px;height:44px;position:relative}.CompletionRing__mark{justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex;position:absolute;inset:0}.step-label{letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:800}.step-label--listen{color:var(--primo-teal)}.step-label--speak{color:var(--primo-pink)}.step-label--grammar{color:var(--primo-blue)}.model-phrase{color:var(--ink-900);text-wrap:pretty;margin:0;font-size:32px;font-weight:700;line-height:1.25}.play-btn{background:var(--primo-blue);color:#fff;cursor:pointer;width:56px;height:56px;box-shadow:var(--shadow-btn);transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.play-btn:hover:not(:disabled){background:var(--primo-navy);transform:scale(1.05)}.play-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.play-btn:disabled{opacity:.55;cursor:not-allowed}.divider{background:var(--line-200);height:1px}.speak-zone{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:250px;display:flex}.RecordButton{cursor:pointer;color:#fff;width:112px;height:112px;transition:transform var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.RecordButton--ready{background:var(--primo-blue);box-shadow:0 10px 32px #053d9240}.RecordButton--ready:hover{background:var(--primo-navy);transform:scale(1.05)}.RecordButton:focus-visible{box-shadow:var(--focus-ring);outline:none}.RecordButton--recording{background:var(--primo-pink);box-shadow:0 10px 32px #e409664d}.RecordButton__pulse{background:var(--primo-pink);pointer-events:none;border-radius:50%;animation:1.4s ease-out infinite pulseRing;position:absolute;inset:0}.RecordButton__pulse--delay{animation-delay:.5s}.RecordButton__stop{background:#fff;border-radius:8px;width:32px;height:32px}.eq{align-items:flex-end;gap:5px;height:36px;display:flex}.eq span{background:var(--primo-pink);border-radius:3px;width:6px}.eq span:first-child{animation:.7s ease-in-out infinite eq1}.eq span:nth-child(2){animation:.6s ease-in-out infinite eq2}.eq span:nth-child(3){animation:.8s ease-in-out infinite eq3}.eq span:nth-child(4){animation:.75s ease-in-out infinite eq2}.eq span:nth-child(5){animation:.65s ease-in-out infinite eq1}.spinner{border:5px solid var(--line-200);border-top-color:var(--primo-blue);border-radius:50%;width:56px;height:56px;animation:.9s linear infinite spin}.ScoreDisplay{font-family:var(--font-display);color:var(--primo-navy);animation:popIn .42s var(--ease-out);font-size:56px;font-weight:700;line-height:1}.WordChip{min-height:var(--hit-min);border-radius:var(--r-sm);cursor:pointer;font-size:17px;font-weight:700;font-family:var(--font-ui);text-underline-offset:5px;animation:riseIn .3s var(--ease-out);background:#fff;border:1.5px solid;align-items:center;gap:7px;margin:0 6px 8px 0;padding:8px 14px;text-decoration-thickness:2px;display:inline-flex}.WordChip--correct{color:var(--fb-correct-text);border-color:var(--fb-correct-border);background:#fff;text-decoration:underline}.WordChip--correct.is-selected{background:var(--fb-correct-bg);border-color:var(--fb-correct-text)}.WordChip--close{color:var(--fb-close-text);background:var(--fb-close-bg);border-color:var(--fb-close-border);-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.WordChip--close.is-selected{border-color:var(--fb-close-text)}.WordChip--refine{color:var(--fb-refine-text);background:var(--fb-refine-bg);border-color:var(--fb-refine-border);text-decoration:underline}.WordChip--refine.is-selected{border-color:var(--fb-refine-text)}.WordChip--needs-work{color:var(--fb-work-text);background:var(--fb-work-bg);border-color:var(--fb-work-border);-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.WordChip--needs-work.is-selected{border-color:var(--fb-work-text)}.WordChip:focus-visible{box-shadow:var(--focus-ring);outline:none}.CelebrationPill{background:var(--success-100);color:var(--success-600);border-radius:var(--r-pill);animation:popIn .42s var(--ease-out);align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:800;display:inline-flex}.CelebrationPill--best{background:var(--celebrate-pink-bg);color:var(--celebrate-pink-text)}.DailyDebrief{background:var(--surface-0);width:min(640px,100%);box-shadow:var(--shadow-2);border-radius:18px;overflow:hidden}.DailyDebrief__body{flex-direction:column;gap:14px;padding:40px 44px 32px;display:flex}.DailyDebrief__pill{border-radius:var(--r-pill);background:var(--success-100);color:var(--success-600);align-self:flex-start;padding:4px 14px;font-size:13px;font-weight:800}.DailyDebrief h1{margin:4px 0 0;font-size:21px;line-height:1.35}.DailyDebrief__meaning{color:var(--ink-500);margin:-7px 0 2px;font-size:12.5px;font-weight:600}.DailyDebrief__reliability{border-radius:var(--r-md);background:var(--warning-100);color:var(--warning-700);padding:10px 12px;font-size:13px;font-weight:700}.DailyDebrief__focus{border:1px solid var(--line-200);background:#fbfcff;border-radius:15px;flex-direction:column;gap:7px;padding:18px 22px;display:flex}.DailyDebrief__eyebrow{color:var(--primo-blue);letter-spacing:.07em;text-transform:uppercase;font-size:12px;font-weight:900}.DailyDebrief__source{color:var(--ink-500);font-size:12px;font-weight:700}.DailyDebrief blockquote{color:var(--ink-900);margin:0;font-size:18px;font-weight:600;line-height:1.5}.DailyDebrief mark{color:var(--primo-pink);background:#fce7f0;border-radius:4px;padding:0 3px}.DailyDebrief__audio-row{align-items:center;gap:12px;margin-top:3px;display:flex}.DailyDebrief__audio-row p{color:var(--ink-500);margin:0;font-size:14px;font-weight:600;line-height:1.4}.DailyDebrief__play{background:var(--primo-blue);color:#fff;cursor:pointer;border:0;border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;padding:0 0 0 2px;font-size:14px;display:inline-grid}.DailyDebrief__success{align-items:flex-start;gap:12px;padding:5px 0;display:flex}.DailyDebrief__success>span{background:var(--success-100);width:25px;height:25px;color:var(--success-600);border-radius:50%;flex:0 0 25px;place-items:center;font-weight:900;display:inline-grid}.DailyDebrief__success p{margin:0;font-weight:600;line-height:1.45}.DailyDebrief__next{width:100%;margin-top:2px}.DailyDebrief__back{color:var(--ink-500);align-self:center;font-size:14px;font-weight:800}.DailyDebrief__progress{border-top:1px solid var(--line-200);background:#fbfcff;align-items:center;gap:10px;padding:16px 44px;font-size:13.5px;display:flex}.DailyDebrief__dots{gap:5px;display:inline-flex}.DailyDebrief__dots i{border:1.5px solid var(--primo-teal);border-radius:50%;width:9px;height:9px}.DailyDebrief__dots i.is-filled{background:var(--primo-teal)}@media (max-width:640px){.DailyDebrief__body{padding:26px 18px 24px}.DailyDebrief__progress{align-items:flex-start;padding:15px 18px}}.lesson-time{color:var(--ink-500);flex-shrink:0;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.lesson-time__dot{background:var(--ink-300);border-radius:50%;width:6px;height:6px}.lesson-listen{flex-direction:column;gap:14px;display:flex}.lesson-listen__row{align-items:center;gap:20px;display:flex}.lesson-listen__hint{color:var(--ink-500);margin-left:76px;font-size:13px;font-weight:600}.speak-zone__title{color:var(--ink-900);margin:0;font-size:17px;font-weight:700}.speak-zone__sub{color:var(--ink-500);margin:0;font-size:14px;font-weight:500}.lesson-feedback{width:100%;animation:riseIn .3s var(--ease-out);flex-direction:column;align-items:center;gap:18px;display:flex}.lesson-feedback__score-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;display:flex}.lesson-feedback__score{flex-direction:column;align-items:center;display:flex}.lesson-feedback__out-of{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);font-size:12px;font-weight:800}.lesson-feedback__headline-wrap{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.lesson-feedback__headline{color:var(--ink-900);font-size:20px;font-weight:800}.lesson-feedback__chips{flex-wrap:wrap;justify-content:center;gap:10px;max-width:640px;display:flex}.lesson-feedback__chips .WordChip{margin:0}.lesson-feedback__actions{flex-direction:column;align-items:center;gap:8px;margin-top:4px;display:flex}.lesson-feedback__buttons{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.lesson-feedback__note{color:var(--ink-500);text-align:center;font-size:13px;font-weight:600}.TipCard{background:var(--fb-work-bg);width:100%;max-width:560px;box-shadow:none;animation:riseIn .24s var(--ease-out);border:none;border-radius:12px;align-items:flex-start;gap:14px;padding:16px 20px;display:flex}.TipCard__word{font-family:var(--font-display);color:var(--fb-work-text);flex-shrink:0;font-size:22px;font-weight:700}.TipCard--correct{background:var(--fb-correct-bg)}.TipCard--correct .TipCard__word{color:var(--fb-correct-text)}.TipCard--close{background:var(--fb-close-bg)}.TipCard--close .TipCard__word{color:var(--fb-close-text)}.TipCard--refine{background:var(--fb-refine-bg)}.TipCard--refine .TipCard__word{color:var(--fb-refine-text)}.TipCard--needs-work{background:var(--fb-work-bg)}.TipCard--needs-work .TipCard__word{color:var(--fb-work-text)}.TipCard__body{flex-direction:column;gap:6px;min-width:0;display:flex}.TipCard h3{margin:0 0 6px;font-size:15px;font-weight:800}.TipCard p{color:var(--ink-900);margin:0;font-size:14.5px;font-weight:600}.TipCard__hear{min-height:32px;color:var(--primo-blue);font-family:var(--font-ui);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;padding:0;font-size:13.5px;font-weight:700;text-decoration:underline;display:inline-flex}.TipCard__hear:hover{color:var(--primo-navy)}.lesson-phone-only,.lesson-eyebrow--phone,.lesson-title--phone{display:none}.play-btn__stop{background:#fff;border-radius:4px;width:18px;height:18px}.play-btn__pause{justify-content:center;align-items:stretch;gap:5px;width:18px;height:18px;display:flex}.play-btn__pause:before,.play-btn__pause:after{content:"";background:#fff;border-radius:1.5px;width:5px;height:18px}.lesson-phrase-row{align-items:center;gap:20px;display:flex}.lesson-phrase-controls{flex-shrink:0;align-items:center;gap:12px;display:flex}.lesson-phrase-hint{color:var(--ink-500);margin-left:144px;font-size:13px;font-weight:600}.RecordButton__wrap{width:112px;height:112px;position:relative}.RecordButton__wrap .RecordButton{position:relative}.lesson-stack{background:var(--surface-0);width:min(860px,100%);box-shadow:var(--shadow-2);border-radius:20px;flex-direction:column;gap:28px;padding:36px 44px;display:flex}.lesson-card{flex-direction:column;gap:14px;display:flex}.lesson-card--speak .speak-zone{min-height:220px}.lesson-feedback__buttons .ActionButton{text-decoration:none}.TipCard--inline{justify-content:center;width:100%;display:flex}.TipSheet{display:none}.mic-denied{width:min(560px,100%);box-shadow:var(--shadow-3);text-align:center;background:#fff;border-radius:20px;flex-direction:column;align-items:center;gap:18px;padding:40px 44px;display:flex}.mic-denied__icon{background:var(--info-100);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.mic-denied h2{color:var(--ink-900);margin:0;font-size:24px;font-weight:800}.mic-denied p{color:var(--ink-700);max-width:420px;margin:0;font-size:15px;font-weight:500;line-height:1.55}.mic-denied ol{text-align:left;color:var(--ink-900);margin:0;padding:0 0 0 20px;font-size:14.5px;font-weight:600;line-height:2}.mic-denied__help{color:var(--ink-500);font-size:13px;font-weight:600}.mic-denied__help a{font-weight:700}.StepRail{align-items:center;gap:8px;margin-left:auto;display:flex}.StepRail__seg{background:var(--line-200);border-radius:999px;height:8px;transition:all .24s}.StepRail__seg.is-done{background:var(--primo-teal)}.StepRail__seg.is-current{background:var(--primo-blue)}.StepRail__label{color:var(--ink-500);margin-left:4px;font-size:13px;font-weight:600}.sort-it{flex-direction:column;gap:14px;display:flex}.sort-it__step{letter-spacing:.1em;text-transform:uppercase;color:#053d92;font-size:12px;font-weight:800}.sort-it__howto{color:#5c6b8a;margin:-6px 0 0;font-size:13.5px;font-weight:600;line-height:1.45}.sort-it__buckets{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.sort-it__bucket{color:#16233f;cursor:pointer;text-align:center;background:#fff;border:1.5px solid #dde4ef;border-radius:12px;min-height:64px;padding:14px 16px;font-family:inherit;font-size:16px;font-weight:700;line-height:1.25;transition:border-color .15s,background .15s,transform .12s}.sort-it__bucket:hover:not(:disabled){border-color:#0245aa;transform:translateY(-1px)}.sort-it__bucket:focus-visible{outline-offset:2px;outline:3px solid #0245aa}.sort-it__bucket.is-selected{color:#053d92;background:#e7eefb;border-color:#0245aa;box-shadow:0 0 0 3px #0245aa1f}.sort-it__bucket:disabled{cursor:default;opacity:.9}.sort-it__buckets.is-locked .sort-it__bucket:not(.is-selected){opacity:.65}.sort-it--empty .sort-it__empty-msg{color:#b54708;background:#fdf0e3;border-radius:12px;margin:0;padding:14px 16px;font-size:14px;font-weight:600}.flashcard-round{border-bottom:1px solid #e7ecf5;flex-wrap:wrap;align-items:baseline;gap:10px;padding-bottom:14px;display:flex}.flashcard-round__title{letter-spacing:.1em;text-transform:uppercase;color:#053d92;font-size:12px;font-weight:800}.flashcard-round__meta{color:#5c6b8a;font-size:13.5px;font-weight:600}.flashcard{cursor:pointer;text-align:center;background:#fff;border:1.5px solid #dde4ef;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:14px;width:100%;min-height:240px;padding:28px 32px;font-family:inherit;transition:border-color .15s,background .15s,transform .12s;display:flex;box-shadow:0 4px 14px #053d9214}.flashcard:hover{border-color:#0245aa;transform:translateY(-1px)}.flashcard:focus-visible{outline-offset:3px;outline:3px solid #0245aa}.flashcard.is-flipped{background:#f7f9fd;border-color:#b9c4d8}.flashcard__side-label{letter-spacing:.12em;text-transform:uppercase;color:#8a97b0;font-size:11px;font-weight:800}.flashcard__word{font-family:var(--font-display);color:#16233f;word-break:break-word;font-size:40px;font-weight:700;line-height:1.15}.flashcard__meaning{text-align:left;flex-direction:column;gap:10px;max-width:46ch;display:flex}.flashcard__meaning-line{color:#16233f;text-align:left;white-space:pre-wrap;overflow-wrap:break-word;font-size:19px;font-weight:600;line-height:1.4}.flashcard__meaning-line+.flashcard__meaning-line{color:#5c6b8a;font-size:15px;font-weight:600}.flashcard__hint{color:#0245aa;font-size:12.5px;font-weight:700}.flashcard-direction{color:#5c6b8a;margin-top:-6px;font-size:13.5px;font-weight:600}@media (max-width:640px){.flashcard{min-height:200px;padding:22px 18px}.flashcard__word{font-size:32px}.flashcard__meaning-line{font-size:17px}}.walkthrough-layer{z-index:1200;pointer-events:none;position:fixed;inset:0}.walkthrough-spotlight{pointer-events:none;border:3px solid #02a9b0;border-radius:16px;transition:top .22s,left .22s,width .22s,height .22s;position:fixed;box-shadow:0 0 0 9999px #053d9294}.walkthrough-prompt{color:#fff;pointer-events:none;background:#053d92;border-radius:14px;max-width:min(320px,100vw - 24px);padding:14px 16px;font-size:15px;font-weight:700;line-height:1.45;position:fixed;box-shadow:0 8px 28px #053d9247}.walkthrough-target{z-index:1201;pointer-events:auto;position:relative}.unscramble-walkthrough-intro,.sort-it-walkthrough-word{flex-direction:column;gap:14px;display:flex}.sort-it-walkthrough-footer,.unscramble-walkthrough-intro__footer,.unscramble-walkthrough-step__footer{border-top:none;justify-content:flex-end;margin-top:4px;padding-top:0;display:flex}.sort-it-walkthrough-footer .ActionButton,.unscramble-walkthrough-intro__footer .ActionButton,.unscramble-walkthrough-step__footer .ActionButton{border-radius:12px;min-height:48px;padding:12px 28px}.roleplay-walkthrough{flex-direction:column;gap:12px;height:100%;min-height:0;display:flex}.roleplay-walkthrough .flashcard-round{flex-shrink:0}.roleplay-walkthrough__lede{color:#5c6b8a;flex-shrink:0;margin:0;font-size:14px;font-weight:600}.roleplay-walkthrough__thread{flex-direction:column;flex:1;gap:14px;min-height:0;padding-bottom:12px;display:flex;overflow:auto}.roleplay-walkthrough__chip{color:#3d4c6b;background:#edf1f8;border-radius:999px;align-self:center;align-items:center;gap:10px;padding:6px 16px;font-size:12.5px;font-weight:600;display:flex}.roleplay-walkthrough__ai{gap:12px;max-width:78%;display:flex}.roleplay-walkthrough__avatar{color:#fff;background:#02a9b0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:800;display:flex}.roleplay-walkthrough__ai-col{flex-direction:column;gap:6px;min-width:0;display:flex}.roleplay-walkthrough__bubble{text-align:left;color:inherit;margin:0;padding:14px 18px;font-family:inherit;font-size:16px;font-weight:600;line-height:1.55}.roleplay-walkthrough__bubble p{margin:0}.roleplay-walkthrough__bubble--ai{background:#fff;border:1.5px solid #dde4ef;border-radius:4px 16px 16px;box-shadow:0 1px 3px #053d9214}button.roleplay-walkthrough__bubble--ai{cursor:pointer;appearance:none;width:100%;display:block}button.roleplay-walkthrough__bubble--ai:hover{border-color:#02a9b0}.roleplay-walkthrough__bubble--student{background:#e7eefb;border-radius:16px 4px 16px 16px}.roleplay-walkthrough__student{flex-direction:column;align-self:flex-end;gap:4px;max-width:78%;display:flex}.roleplay-walkthrough__meta{color:#5c6b8a;align-self:flex-end;font-size:12px;font-weight:700}.roleplay-walkthrough__next{justify-content:flex-start;margin-top:4px;display:flex}.roleplay-walkthrough__next .ActionButton,.roleplay-walkthrough__confirm .ActionButton{border-radius:12px;align-self:flex-start;min-height:48px;padding:12px 28px}.roleplay-walkthrough__confirm{flex-direction:column;align-self:stretch;gap:12px;display:flex}.WalkthroughHelpButton{color:#053d92;cursor:pointer;background:#fff;border:1.5px solid #dde4ef;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-family:inherit;font-size:18px;font-weight:800;line-height:1;transition:border-color .15s,background .15s,transform .12s;display:inline-flex}.WalkthroughHelpButton:hover{background:#f4f8ff;border-color:#0245aa;transform:translateY(-1px)}.WalkthroughHelpButton:focus-visible{outline-offset:2px;outline:3px solid #0245aa}.unscramble{flex-direction:column;gap:14px;display:flex}.unscramble__step{letter-spacing:.1em;text-transform:uppercase;color:#e40966;font-size:12px;font-weight:800}.unscramble__howto{color:#5c6b8a;margin:-6px 0 0;font-size:13.5px;font-weight:600;line-height:1.45}.unscramble__tray{background:#f5f7fb;border:2px dashed #b9c4d8;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;min-height:64px;padding:12px 16px;display:flex}.unscramble__tray-hint{color:#5c6b8a;font-size:14px;font-weight:600}.unscramble__tray-typed{color:#053d92;font-size:16px;font-weight:700}.unscramble__bank{flex-wrap:wrap;gap:8px;display:flex}.unscramble__type{flex-direction:column;gap:6px;display:flex}.unscramble__type-label{color:#5c6b8a;font-size:13px;font-weight:700}.unscramble__input{color:#16233f;background:#fff;border:1.5px solid #c5d0e4;border-radius:10px;width:100%;min-height:48px;padding:12px 14px;font-family:inherit;font-size:16px;font-weight:600}.unscramble__input:focus{border-color:#0245aa;outline:none;box-shadow:0 0 0 3px #0245aa26}.unscramble__input:disabled{color:#5c6b8a;background:#f5f7fb}.unscramble__chip{border-radius:8px;min-height:44px;padding:9px 16px;font-family:inherit;font-size:16px;font-weight:700;line-height:1.2}.unscramble__chip--bank{color:#16233f;cursor:pointer;background:#fff;border:1.5px solid #dde4ef}.unscramble__chip--bank:hover:not(:disabled){border-color:#0245aa;transform:translateY(-1px)}.unscramble__chip--bank:focus-visible{outline-offset:2px;outline:3px solid #0245aa}.unscramble__chip--bank:disabled{cursor:default;opacity:.85}.unscramble__chip--placed{color:#053d92;cursor:pointer;background:#e7eefb;border:1.5px solid #b9c9e8}.unscramble__chip--placed:hover:not(:disabled){color:#b3261e;border-color:#b3261e}.unscramble__chip--placed:disabled{cursor:default}.unscramble__chip--used{color:#b9c4d8;background:0 0;border:1.5px dashed #dde4ef;align-items:center;display:inline-flex}.unscramble__clear{color:#0245aa;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-family:inherit;font-size:13px;font-weight:700}.unscramble__clear:hover{color:#053d92;text-decoration:underline}.unscramble--empty .unscramble__empty-msg{color:#b54708;background:#fdf0e3;border-radius:12px;margin:0;padding:14px 16px;font-size:14px;font-weight:600}.choice-list{flex-direction:column;gap:10px;display:flex}.choice{border:1.5px solid var(--line-200);border-radius:var(--r-md);cursor:pointer;text-align:left;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);background:#fff;align-items:center;gap:12px;padding:14px 16px;font-weight:600;display:flex}.choice__label{text-align:left;white-space:pre-wrap;overflow-wrap:break-word;flex:auto;min-width:0}.choice:hover{border-color:var(--primo-blue)}.choice.is-selected{border-color:var(--primo-blue);background:var(--info-100)}.choice input{accent-color:var(--primo-blue)}.choice.is-correct{color:#0e8345;background:#e2f5e9;border-color:#0e8345}.choice.is-miss{color:#b54708;background:#fdf0e3;border-color:#edc49a}.choice.is-correct .choice__mark,.choice.is-miss .choice__mark{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:flex}.choice.is-correct .choice__mark{background:#0e8345;border:2px solid #0e8345}.choice.is-miss .choice__mark{background:#b54708;border:2px solid #b54708}.choice-list--revealed .choice{cursor:default;pointer-events:none}.choice-list--revealed .choice:not(.is-correct):not(.is-miss):not(.is-selected){opacity:.72}.player-score{background:#edf1f8;border-radius:999px;flex-shrink:0;align-items:center;gap:10px;padding:6px 14px;display:flex}.player-score__value{font-family:var(--font-display);color:var(--primo-navy);font-size:17px;font-weight:700;line-height:1}.player-score__label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500);font-size:10.5px;font-weight:700}.player-panel{box-sizing:border-box;background:#fff;border-radius:20px;flex-direction:column;gap:24px;width:min(820px,100%);padding:32px 40px;display:flex;box-shadow:0 4px 14px #053d921a}.player-step{flex-direction:column;gap:12px;display:flex}.player-listen-row{align-items:center;gap:18px;display:flex}.audio-restart-btn{background:var(--primo-blue);color:#fff;cursor:pointer;width:56px;height:56px;box-shadow:var(--shadow-btn);transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.audio-restart-btn svg{width:24px;height:24px}.audio-restart-btn:hover:not(:disabled){background:var(--primo-navy);transform:scale(1.05)}.audio-restart-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.audio-restart-btn:disabled{opacity:.55;cursor:not-allowed}.audio-restart-btn--md{width:var(--hit-min);height:var(--hit-min)}.audio-restart-btn--md svg{width:19px;height:19px}.audio-restart-btn--sm{width:32px;height:32px;box-shadow:0 1px 3px #053d922e}.audio-restart-btn--sm svg{width:15px;height:15px}.speak-zone__playback{align-items:center;gap:10px;display:flex}.roleplay-line-actions{align-items:center;gap:8px;padding-left:2px;display:flex}.roleplay-conversation-shell{height:100vh;overflow:hidden}.roleplay-conversation-shell>.primo-header{flex-shrink:0}.roleplay-conversation-main{flex:1;justify-content:center;min-height:0;padding:20px 28px 12px;display:flex}.roleplay-conversation-column{flex-direction:column;width:min(760px,100%);height:100%;min-height:0;display:flex}.roleplay-thread{flex-direction:column;flex:1;gap:14px;min-height:0;padding-bottom:12px;display:flex;overflow:auto}.roleplay-thread__chip{background:#edf1f8;border-radius:999px;align-self:center;align-items:center;gap:10px;padding:6px 16px;display:flex}.roleplay-thread__chip span{color:#3d4c6b;font-size:12.5px;font-weight:600}.roleplay-thread__ai{gap:12px;max-width:78%;display:flex}.roleplay-thread__avatar{color:#fff;background:#02a9b0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:800;display:flex}.roleplay-thread__ai-col{flex-direction:column;gap:6px;display:flex}.roleplay-thread__bubble p{margin:0;font-size:16px;font-weight:600;line-height:1.55}.roleplay-thread__bubble--ai{background:#fff;border:1.5px solid #dde4ef;border-radius:4px 16px 16px;padding:14px 18px;box-shadow:0 1px 3px #053d9214}.roleplay-thread__student{flex-direction:column;align-self:flex-end;gap:4px;max-width:78%;display:flex}.roleplay-thread__bubble--student{background:#e7eefb;border-radius:16px 4px 16px 16px;padding:14px 18px}.roleplay-thread__meta{color:#5c6b8a;align-self:flex-end;font-size:12px;font-weight:700}.roleplay-thread__thinking{align-items:center;gap:12px;display:flex}.roleplay-thread__notice{text-align:center;flex-direction:column;align-self:center;gap:12px;max-width:100%;margin-top:8px;display:flex}@media (max-width:640px){.roleplay-conversation-main{padding:12px 16px 10px}}.play-btn--sm{width:32px;height:32px;box-shadow:0 1px 3px #053d922e}.play-btn--sm svg{width:13px;height:14px}.play-btn--sm .play-btn__pause{gap:3px;width:11px;height:12px}.play-btn--sm .play-btn__pause:before,.play-btn--sm .play-btn__pause:after{width:3px;height:12px}.player-listen-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.player-listen-copy__title{color:var(--ink-900);font-size:15px;font-weight:700}.player-listen-copy__hint{color:var(--ink-500);font-size:13px;font-weight:600}.player-typed-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.player-typed-input{border:2px solid var(--line-200);max-width:380px;min-height:56px;font:inherit;letter-spacing:.04em;color:var(--ink-900);box-sizing:border-box;background:#f5f7fb;border-radius:12px;flex:1;padding:0 18px;font-size:22px;font-weight:700}.player-typed-input::placeholder{letter-spacing:.01em;color:var(--ink-500);opacity:1;font-size:15px;font-weight:600}.player-typed-input.is-ready{border-color:var(--primo-blue);background:#fff}.player-typed-input:focus{border-color:var(--primo-blue);box-shadow:none;outline:none}.player-typed-input:disabled{opacity:.85;cursor:default}.player-typed-hint{color:var(--ink-500);font-size:13px;font-weight:600}.spell-boxes{flex-wrap:wrap;align-items:center;gap:8px;max-width:100%;display:flex}.spell-boxes__input{border:2px solid var(--line-200);width:44px;height:52px;font:inherit;text-align:center;text-transform:none;color:var(--ink-900);box-sizing:border-box;caret-color:var(--primo-blue);background:#f5f7fb;border-radius:10px;padding:0;font-size:22px;font-weight:700}.spell-boxes.is-ready .spell-boxes__input{border-color:var(--primo-blue);background:#fff}.spell-boxes__input:focus{border-color:var(--primo-blue);outline:none;box-shadow:0 0 0 3px #053d921f}.spell-boxes.is-disabled .spell-boxes__input,.spell-boxes__input:disabled{opacity:.85;cursor:default}.spell-boxes__fixed{color:var(--ink-500);-webkit-user-select:none;user-select:none;font-size:22px;font-weight:700;line-height:52px}.spell-boxes__fixed--space{width:14px;height:52px}.player-feedback{flex-direction:column;gap:14px;animation:.3s cubic-bezier(.22,1,.36,1) riseIn;display:flex}.player-feedback__row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.player-feedback__chip{border-radius:8px;align-items:center;gap:8px;min-height:48px;padding:10px 18px;font-size:20px;font-weight:700;display:inline-flex}.player-feedback__chip--close{color:#b54708;text-underline-offset:5px;background:#fdf0e3;border:1.5px solid #edc49a;-webkit-text-decoration:underline dashed;text-decoration:underline dashed;text-decoration-thickness:2px}.player-feedback__chip--correct{color:#0e8345;background:#e2f5e9;border:1.5px solid #9bd8b4}.player-feedback__msg{color:var(--ink-900);font-size:15px;font-weight:700}.player-feedback__card{box-sizing:border-box;border-radius:12px;align-items:flex-start;gap:14px;width:100%;max-width:100%;padding:14px 18px;display:flex}.player-feedback__card--close{background:#fdf0e3}.player-feedback__card--correct{background:#e2f5e9}.player-feedback__answer{font-family:var(--font-display);color:#b54708;text-align:center;flex:none;max-width:2.5rem;font-size:20px;font-weight:700;line-height:1.3}.player-feedback__answer--correct{color:#0e8345}.player-feedback__card p{min-width:0;color:var(--ink-900);flex:auto;margin:0;font-size:13.5px;font-weight:600;line-height:1.5}.player-footer{border-top:1px solid var(--line-200);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-top:18px;display:flex}.player-footer__note{color:var(--ink-500);flex:1;min-width:200px;font-size:13px;font-weight:600;line-height:1.45}.player-footer .ActionButton{border-radius:12px;flex-shrink:0;min-width:168px;min-height:48px;margin-left:0;padding:12px 28px}.player-footer .ActionButton--primary{margin-left:auto}@media (max-width:640px){.player-panel{border-radius:16px;padding:24px 18px}.player-typed-input{width:100%;max-width:none;font-size:20px}.spell-boxes{gap:6px}.spell-boxes__input{width:38px;height:46px;font-size:20px}.spell-boxes__fixed{font-size:20px;line-height:46px}.player-footer .ActionButton{justify-content:center;width:100%;margin-left:0}}.confirm-dialog-backdrop{z-index:1000;background:#16233f73;justify-content:center;align-items:center;padding:20px;animation:.15s ease-out confirmFadeIn;display:flex;position:fixed;inset:0}.confirm-dialog{background:#fff;border-radius:16px;flex-direction:column;gap:12px;width:min(440px,100%);padding:24px 28px;animation:.18s ease-out confirmRiseIn;display:flex;box-shadow:0 12px 40px #053d922e}.confirm-dialog__title{color:#16233f;margin:0;font-size:18px;font-weight:800;line-height:1.3}.YourSounds{background:#fff;border-radius:18px;flex-direction:column;gap:16px;width:min(820px,100%);max-height:min(88vh,720px);padding:22px 24px;animation:.18s ease-out confirmRiseIn;display:flex;box-shadow:0 12px 40px #053d922e}.YourSounds__head{border-bottom:1px solid #edf1f8;justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:14px;display:flex}.YourSounds__title{font-family:var(--font-display);color:#16233f;margin:0;font-size:19px;font-weight:800}.YourSounds__lede{color:#5c6b8a;margin:4px 0 0;font-size:13px;font-weight:600}.YourSounds__close{color:#3d4c6b;cursor:pointer;background:#f0f3f9;border:0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;line-height:1;transition:background .15s;display:inline-flex}.YourSounds__close:hover{background:#e2e8f4}.YourSounds__close:focus-visible{outline:none;box-shadow:0 0 0 3px #0245aa40}.YourSounds__cols{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-height:0;display:grid}.YourSounds__overflow-practicing{flex-shrink:0;min-height:0;display:flex}.YourSounds__overflow-practicing .YourSounds__col{flex:1;min-height:0}.YourSounds__overflow-practicing .YourSounds__list{max-height:168px}.YourSounds__col{flex-direction:column;gap:8px;min-height:0;display:flex}.YourSounds__col-title{letter-spacing:.06em;text-transform:uppercase;color:#5c6b8a;align-items:center;gap:8px;margin:0;font-size:12px;font-weight:800;display:flex}.YourSounds__col-count{color:#3d4c6b;letter-spacing:0;background:#f0f3f9;border-radius:999px;padding:1px 8px;font-size:11px}.YourSounds__list{overscroll-behavior:contain;flex-direction:column;flex:1;gap:8px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.YourSounds__empty{color:#5c6b8a;margin:0;font-size:13px;font-weight:600}.YourSounds__row{text-align:left;cursor:pointer;background:#fff;border:1.5px solid #edf1f8;border-radius:12px;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 12px;font-family:inherit;transition:border-color .15s,background .15s;display:flex}.YourSounds__row:hover{background:#f8fafd;border-color:#cbd8ee}.YourSounds__row.is-selected{background:#f5f7fb;border-color:#0245aa}.YourSounds__row:focus-visible{outline:none;box-shadow:0 0 0 3px #0245aa38}.YourSounds__sym{color:#053d92;flex-shrink:0;width:42px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:14px;font-weight:700}.YourSounds__word{color:#5c6b8a;flex-shrink:0;width:74px;font-size:12px;font-weight:600}.YourSounds__bar{background:#edf1f8;border-radius:999px;flex:1;min-width:40px;height:10px;overflow:hidden}.YourSounds__bar-fill{border-radius:999px;height:100%;display:block}.YourSounds__status{text-align:right;flex-shrink:0;width:68px;font-size:11.5px;font-weight:800}.YourSounds__tip{background:#f0eafb;border-radius:14px;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 18px;display:flex}.YourSounds__tip-sym{color:#6d3fc5;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:19px;font-weight:700}.YourSounds__tip-text{color:#16233f;flex:1;min-width:160px;margin:0;font-size:13px;font-weight:600}.YourSounds__tip-cta{align-items:center;min-height:44px;font-size:13.5px;display:inline-flex}.YourSounds__hint{color:#5c6b8a;background:#f5f7fb;border-radius:14px;margin:0;padding:14px 18px;font-size:13px;font-weight:600}@media (max-width:640px){.YourSounds__cols{grid-template-columns:1fr}.YourSounds__list{max-height:220px}}.confirm-dialog__message{color:#3d4c6b;margin:0;font-size:14.5px;font-weight:600;line-height:1.55}.confirm-dialog__detail{color:#5c6b8a;margin:0;font-size:13.5px;font-weight:500;line-height:1.5}.confirm-dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.confirm-dialog__danger{background:#b3261e!important}.confirm-dialog__danger:hover:not(:disabled){background:#922018!important}.reattempt-confirm{flex-direction:column;gap:16px;width:min(480px,100%);display:flex}.reattempt-confirm__title{color:var(--primo-navy);margin:0;font-size:20px;font-weight:800;line-height:1.3}.reattempt-confirm__message{color:var(--ink-600);margin:0;font-size:14.5px;font-weight:600;line-height:1.55}.reattempt-confirm__score{text-align:center;align-self:stretch;padding:20px 24px}.reattempt-confirm__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.up-next{flex-direction:column;gap:16px;width:min(560px,100%);display:flex}.up-next__loading{align-items:center;gap:12px;display:flex}.up-next__spinner{border:2.5px solid var(--line-200);border-top-color:var(--primo-teal);border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:.7s linear infinite up-next-spin}@keyframes up-next-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.up-next__spinner{animation-duration:2s}}.up-next__result{align-items:center;gap:20px;display:flex}.up-next__score{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.up-next__score-readout{flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:absolute;inset:0}.up-next__score-value{color:var(--primo-navy);font-variant-numeric:tabular-nums;font-size:30px;font-weight:800;line-height:1}.up-next__score-unit{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-500);font-size:10px;font-weight:800}.up-next__result-copy{flex-direction:column;gap:8px;min-width:0;display:flex}.up-next__tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.up-next__saved,.up-next__tone{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:800;line-height:1.2;display:inline-flex}.up-next__saved{color:#0e8345;background:#e8f6ef}.up-next__saved-mark{font-size:11px}.up-next__tone--strong{color:#027a80;background:#e6f6f7}.up-next__tone--steady{color:var(--primo-navy);background:#eaf0fb}.up-next__tone--practice{color:#8a5300;background:#fdf2e3}.up-next__divider{background:var(--line-200);height:1px;margin:2px 0}.up-next__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--primo-navy);margin:0;font-size:11px;font-weight:800}.up-next__title{color:var(--primo-navy);text-align:left;margin:0;font-size:22px;font-weight:800;line-height:1.3}.up-next__message{color:var(--ink-600);text-align:left;margin:0;font-size:14.5px;font-weight:600;line-height:1.55}.up-next__card{border:1.5px solid var(--line-200);background:var(--surface-50);text-align:left;border-radius:16px;align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.up-next__card--action,.up-next__card--action:hover,.up-next__card--action:focus{color:inherit;align-items:center;text-decoration:none}.up-next__card--action{transition:border-color .14s,background .14s,transform .14s}.up-next__card--action:hover{border-color:var(--primo-blue);background:#fff;transform:translateY(-1px)}.up-next__card--action:focus-visible{box-shadow:var(--focus-ring);outline:none}.up-next__card-go{color:var(--primo-blue);flex-shrink:0;margin-left:auto;font-size:18px;font-weight:800}.up-next__card-icon{width:40px;height:40px;color:var(--type-icon,var(--primo-blue));background:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.up-next__card-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.up-next__card-title{color:var(--ink-900);font-size:16px;font-weight:800;line-height:1.3}.up-next__card-meta{color:var(--ink-500);font-size:13px;font-weight:600;line-height:1.35}.up-next__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:4px;display:flex}@media (max-width:560px){.up-next__result{flex-direction:column;align-items:flex-start;gap:14px}.up-next__actions{flex-direction:column-reverse}.up-next__action{text-align:center;justify-content:center;width:100%}}.speak-zone__notice{text-align:left;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.MicChip{border:1px solid var(--line-200);border-radius:var(--r-pill);background:var(--surface-0);max-width:100%;color:var(--ink-700);font:inherit;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);align-items:center;gap:8px;padding:7px 12px;font-size:12.5px;font-weight:700;display:inline-flex}.MicChip:hover:not(:disabled){border-color:var(--primo-blue);background:var(--surface-50)}.MicChip:focus-visible{outline:2px solid var(--primo-blue);outline-offset:2px}.MicChip:disabled{opacity:.5;cursor:default}.MicChip__label{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.MicChip__action{color:var(--primo-blue);flex-shrink:0;font-size:12px;font-weight:800}.mic-dialog-backdrop{z-index:1100;background:#16233f73;justify-content:center;align-items:center;padding:20px;animation:.15s ease-out confirmFadeIn;display:flex;position:fixed;inset:0}.mic-dialog{background:var(--surface-0);border-radius:16px;flex-direction:column;gap:16px;width:min(460px,100%);max-height:min(86vh,660px);padding:24px 26px;animation:.18s ease-out confirmRiseIn;display:flex;overflow:auto;box-shadow:0 12px 40px #053d922e}.mic-dialog__head{flex-direction:column;gap:6px;display:flex}.mic-dialog__title{color:var(--ink-900);margin:0;font-size:18px;font-weight:800;line-height:1.3}.mic-dialog__subtitle{color:var(--ink-500);margin:0;font-size:13.5px;font-weight:600;line-height:1.5}.mic-dialog__list{flex-direction:column;gap:8px;max-height:240px;display:flex;overflow-y:auto}.mic-dialog__empty{border-radius:var(--r-md);background:var(--surface-50);color:var(--ink-500);margin:0;padding:14px;font-size:13.5px;font-weight:600}.mic-option{width:100%;min-height:var(--hit-min);border:2px solid var(--line-200);border-radius:var(--r-md);background:var(--surface-0);color:var(--ink-700);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);align-items:center;gap:12px;padding:10px 14px;font-size:14px;font-weight:600;display:flex}.mic-option:hover{border-color:var(--ink-300);background:var(--surface-50)}.mic-option:focus-visible{outline:2px solid var(--primo-blue);outline-offset:2px}.mic-option.is-active{border-color:var(--primo-blue);background:var(--info-100);color:var(--ink-900);font-weight:700}.mic-option__icon{background:var(--surface-100);width:28px;height:28px;color:var(--ink-500);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.mic-option.is-active .mic-option__icon{background:var(--primo-blue);color:#fff}.mic-option__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.mic-option__check{color:var(--primo-blue);flex-shrink:0;font-weight:800}.mic-dialog__meter{border-radius:var(--r-md);background:var(--surface-50);flex-direction:column;gap:8px;padding:14px;display:flex}.mic-dialog__meter-track{border-radius:var(--r-pill);background:var(--surface-100);height:10px;overflow:hidden}.mic-dialog__meter-fill{border-radius:var(--r-pill);background:linear-gradient(90deg, var(--primo-teal), var(--primo-blue));transform-origin:0;width:100%;height:100%;transition:transform 80ms linear;display:block;transform:scaleX(0)}.mic-dialog__status{margin:0;font-size:13px;font-weight:700;line-height:1.45}.mic-dialog__status--muted{color:var(--ink-500)}.mic-dialog__status--ok{color:var(--success-600)}.mic-dialog__status--warn{color:var(--warning-700)}.mic-dialog__status--error{color:var(--error-600)}.mic-dialog__active{color:var(--ink-500);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;font-weight:600;overflow:hidden}.mic-dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}@media (max-width:640px){.mic-dialog{padding:20px 18px}.mic-dialog__actions .ActionButton{flex:1;justify-content:center}.MicChip__label{max-width:150px}}@media (prefers-reduced-motion:reduce){.mic-dialog,.mic-dialog-backdrop{animation:none}.mic-dialog__meter-fill,.MicChip{transition:none}}.score-history-dialog{width:min(480px,100%);max-height:min(80vh,640px);overflow:auto}.score-history-dialog__trail{background:#f4f7fc;border-radius:10px;flex-wrap:wrap;align-items:center;gap:4px;padding:10px 12px;display:flex}.score-history-dialog__chip{align-items:center;gap:4px;display:inline-flex}.score-history-dialog__arrow{color:#8a96b0;margin:0 2px;font-weight:700}.score-history-dialog__score{font-size:15px;font-weight:800}.score-history-dialog__score.is-past{color:#8a96b0;text-decoration:line-through}.score-history-dialog__score.is-current{color:#0e8345}.score-history-dialog__list{flex-direction:column;gap:10px;margin-top:4px;display:flex}.score-history-dialog__item{background:#fff;border:1px solid #dde4ef;border-radius:10px;padding:10px 12px}.score-history-dialog__item.is-active{background:#f3fbf6;border-color:#9fd4b5}.score-history-dialog__item-head{color:#16233f;justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.score-history-dialog__badge{color:#0245aa;flex-shrink:0;font-size:16px;font-weight:800}.score-history-dialog__meta{color:#5c6b8a;margin-top:4px;font-size:12px;font-weight:600}.score-history-dialog__reason{color:#3d4c6b;margin-top:6px;font-size:13px;font-weight:600;line-height:1.4}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmRiseIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.confirm-dialog-backdrop,.confirm-dialog,.org-tools-backdrop,.org-tools-panel--overlay{animation:none}}.choice.is-disabled,.choice-list.is-locked .choice{cursor:default;opacity:.85;background:#f5f7fb}.choice.is-disabled.is-selected,.choice-list.is-locked .choice.is-selected{background:#eef2f8;border-color:#b9c4d8}.choice-list.is-locked .choice.is-correct,.choice-list--revealed .choice.is-correct{opacity:1;color:#0e8345;background:#e2f5e9;border-color:#0e8345}.choice-list.is-locked .choice.is-miss,.choice-list--revealed .choice.is-miss{opacity:1;color:#b54708;background:#fdf0e3;border-color:#edc49a}.resume-review-hint{color:#053d92;background:#e7eefb;border-radius:999px;align-self:flex-start;margin:0;padding:4px 12px;font-size:12.5px;font-weight:700}.InlineAlert{border-radius:var(--r-md);background:var(--info-100);color:var(--ink-900);padding:14px 16px;font-size:14.5px;font-weight:500}.InlineAlert--info{background:var(--info-100);color:var(--ink-900)}.InlineAlert--success{background:var(--success-100);color:var(--success-600);font-weight:700}.InlineAlert--warning{background:var(--warning-100);color:var(--warning-700);font-weight:700}.InlineAlert--denied,.InlineAlert--error{background:var(--error-100);color:var(--error-600);border:1px solid var(--error-border);font-weight:700}.hub-back-link{display:none!important}.hub{max-width:960px;margin:0 auto;padding:32px 24px 64px}.cosmos-card{box-shadow:var(--shadow-2);background:#fff;border-radius:20px;overflow:hidden}.cosmos-card__bar{background:var(--primo-navy);color:#fff;letter-spacing:.04em;padding:14px 22px;font-size:14px;font-weight:700}.cosmos-card__body{padding:22px}.cosmos-assignment{border:1.5px solid var(--line-200);background:var(--surface-50);border-radius:12px;align-items:center;gap:16px;padding:16px 18px;display:flex}.demo-logins{border-collapse:collapse;width:100%;font-size:14px}.demo-logins th,.demo-logins td{text-align:left;border-bottom:1px solid var(--line-200);vertical-align:top;padding:10px 10px 10px 0}.demo-logins th{letter-spacing:.04em;text-transform:uppercase;color:#5c6b8a;font-size:12px}.demo-logins code{font-size:13px}@keyframes pulseRing{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.55)}}@keyframes eq1{0%,to{height:10px}50%{height:34px}}@keyframes eq2{0%,to{height:22px}50%{height:8px}}@keyframes eq3{0%,to{height:14px}50%{height:28px}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes popIn{0%{opacity:0;transform:scale(.7)}70%{transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.RecordButton__pulse{opacity:.2;background:var(--primo-pink);transform:none;animation:none!important}.RecordButton__pulse--delay{display:none}.eq span{animation:none!important}.eq span:first-child{height:12px}.eq span:nth-child(2){height:22px}.eq span:nth-child(3){height:16px}.eq span:nth-child(4){height:28px}.eq span:nth-child(5){height:10px}.spinner{border-top-color:var(--line-200);opacity:.85;animation:none!important}.ScoreDisplay,.WordChip,.TipCard,.lesson-feedback,.builder-ready{opacity:1;transform:none;animation:none!important}}@media (max-width:640px){.primo-header{padding:12px 16px}.primo-main{padding:16px}.primo-panel{padding:24px 18px}.model-phrase{font-size:22px}.ActivityRow{flex-wrap:wrap}.set-layout{grid-template-columns:1fr!important}.primo-page--lesson .lesson-desktop-only{display:none!important}.primo-page--lesson .lesson-eyebrow--desktop,.primo-page--lesson .lesson-title--desktop{display:none}.primo-page--lesson .lesson-eyebrow--phone,.primo-page--lesson .lesson-title--phone{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.primo-page--lesson .lesson-eyebrow--phone{letter-spacing:.06em;font-size:11px}.primo-page--lesson .lesson-title--phone{font-size:14px}.primo-page--lesson .primo-logo{display:none}.primo-page--lesson .primo-header--lesson{z-index:20;flex-wrap:nowrap;gap:10px;padding:10px 16px;position:sticky;top:0}.primo-page--lesson .primo-header__brand{flex:1;min-width:0}.primo-page--lesson .primo-header__actions{margin-left:0}.primo-page--lesson .grade-pill{gap:0;margin-left:0;padding:4px 10px}.primo-page--lesson .grade-pill svg,.primo-page--lesson .grade-pill__label{display:none}.primo-page--lesson .grade-pill__value{font-size:14px}.primo-page--lesson .lesson-main{align-items:stretch;padding:16px}.primo-page--lesson .lesson-stack{width:100%;box-shadow:none;background:0 0;border-radius:0;gap:14px;padding:0}.primo-page--lesson .lesson-card{background:var(--surface-0);box-shadow:var(--shadow-2);border-radius:16px;gap:12px;padding:18px}.primo-page--lesson .lesson-phrase-row{align-items:flex-start;gap:12px}.primo-page--lesson .play-btn,.primo-page--lesson .lesson-phrase-controls .audio-restart-btn{width:44px;height:44px}.primo-page--lesson .lesson-phrase-controls .audio-restart-btn svg{width:19px;height:19px}.primo-page--lesson .model-phrase{font-size:19px;line-height:1.35}.primo-page--lesson .lesson-phrase-hint{margin-left:0;font-size:12.5px}.primo-page--lesson .speak-zone{gap:12px;min-height:0}.primo-page--lesson .ScoreDisplay{font-size:40px}.primo-page--lesson .lesson-feedback__score-row{gap:12px}.primo-page--lesson .CelebrationPill{font-size:14px;font-weight:800;line-height:1.3}.primo-page--lesson .lesson-feedback__chips{gap:7px}.primo-page--lesson .lesson-feedback__chips .WordChip{text-underline-offset:4px;padding:8px 11px;font-size:14px}.primo-page--lesson .lesson-feedback__buttons{flex-direction:column;gap:8px;width:100%}.primo-page--lesson .lesson-feedback__buttons .ActionButton{width:100%;min-height:var(--hit-primary);font-size:15px}.primo-page--lesson .lesson-feedback__try{order:-1}.primo-page--lesson .lesson-feedback__note{font-size:12px}.primo-page--lesson .TipSheet.lesson-phone-only{display:block}.TipSheet__backdrop{z-index:50;cursor:pointer;background:#16233f66;border:none;margin:0;padding:0;position:fixed;inset:0}.TipSheet__panel{z-index:51;padding:12px 16px calc(16px + env(safe-area-inset-bottom,0px));background:var(--surface-0);max-height:min(70vh,480px);animation:tipSheetRise .24s var(--ease-out);border-radius:20px 20px 0 0;flex-direction:column;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:auto;box-shadow:0 -10px 32px #053d922e}.TipSheet__handle{background:var(--line-200);border-radius:999px;align-self:center;width:40px;height:4px}.TipSheet__close{min-height:var(--hit-min);align-self:stretch}.TipSheet__panel .TipCard{max-width:none;margin:0}@keyframes tipSheetRise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}}@media (prefers-reduced-motion:reduce){.TipSheet__panel{animation:none!important}}.set-module-pickers{flex-wrap:wrap;align-items:end;gap:10px;margin-top:2px;display:flex}.set-module-picker{flex-direction:column;gap:2px;min-width:min(220px,70vw);margin-top:2px;display:flex}.set-module-picker--module{flex:360px;min-width:min(420px,80vw)}.set-module-picker__label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500);font-size:11px;font-weight:700}.set-module-picker__select{border:1.5px solid var(--line-200);min-height:36px;font:inherit;color:var(--ink-900);cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%235C6B8A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 12px center/12px 8px no-repeat;border-radius:10px;max-width:100%;padding:4px 36px 4px 12px;font-size:16px;font-weight:700}.set-module-picker__select:focus-visible{border-color:var(--primo-blue);box-shadow:var(--focus-ring);outline:none}.set-list__type-filter{width:min(280px,100%);min-width:200px;min-height:36px;margin:0;font-size:13.5px;font-weight:600}.set-list__search:focus,.set-list__search:focus-visible{border-color:var(--line-200);box-shadow:none;outline:none}.set-page-main{flex-direction:column;justify-content:flex-start;align-items:stretch;width:100%}.set-layout{grid-template-columns:minmax(320px,1fr) minmax(0,1.6fr);align-items:start;gap:28px;width:100%;display:grid}.set-sidebar{border:1.5px solid var(--line-200);box-sizing:border-box;background:#fff;border-radius:16px;flex-direction:column;gap:18px;padding:24px 26px;display:flex;position:sticky;top:16px}.set-sidebar__summary{align-items:flex-start;gap:18px;display:flex}.set-sidebar__title{color:var(--ink-900);font-size:20px;font-weight:800;line-height:1.25}.set-sidebar__meta{color:#5c6b8a;margin-top:6px;font-size:14px;line-height:1.4}.set-sidebar__continue{text-align:center;justify-content:center;align-self:stretch}.set-sidebar__count{color:#5c6b8a;border-top:1px solid var(--line-200);padding-top:4px;font-size:13px;font-weight:700}.set-sidebar__filters-label{color:var(--ink-900);border-top:1px solid var(--line-200);padding-top:4px;font-size:14px;font-weight:800}.set-sidebar__filter-select-wrap{display:none}.set-sidebar__filter-select{width:100%;min-width:0;min-height:44px;font-size:16px}.set-sidebar__filters{grid-template-columns:1fr 1fr;gap:8px;display:grid}.set-sidebar__filters .ActionButton:first-child{grid-column:1/-1}.set-sidebar__filters .set-type-filter{text-align:left;border-radius:var(--r-pill);justify-content:flex-start;align-items:center;gap:8px;width:100%;min-height:44px;padding:8px 10px;font-size:12.5px}.set-type-filter__icon{color:var(--type-icon,var(--primo-blue));flex-shrink:0;display:inline-flex}.set-sidebar__filters .ActionButton--primary .set-type-filter__icon{color:#fff}.set-type-filter__label{flex:1;min-width:0;line-height:1.25}.set-type-filter__count{border-radius:var(--r-pill);font-variant-numeric:tabular-nums;background:var(--info-100);min-width:22px;height:22px;color:var(--primo-blue);flex-shrink:0;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex}.set-sidebar__filters .ActionButton--primary .set-type-filter__count{color:var(--primo-blue);background:#fff}.set-list{border:1.5px solid var(--line-200);box-sizing:border-box;background:#fff;border-radius:16px;flex-direction:column;gap:16px;min-width:0;padding:24px 26px 28px;display:flex}.set-list__items{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.set-list__row-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.set-list__row-meta{color:#5c6b8a;margin-top:4px;font-size:13px}.set-list__footer{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.set-list__empty{text-align:center;color:var(--ink-muted,#5c6b8a);background:var(--surface-50,#f5f7fb);border:1px solid var(--border-1,#dde4ef);border-radius:14px;margin:0;padding:28px 24px;font-size:14.5px;font-weight:600;line-height:1.55}@media (max-width:900px){.set-layout{grid-template-columns:1fr}.set-sidebar{gap:12px;padding:14px 16px;position:static}.set-sidebar__filters-label{color:var(--ink-500);border-top:none;padding-top:0;font-size:12px;font-weight:700}.set-sidebar__filter-select-wrap{display:block}.set-sidebar__filters{display:none}.set-list{padding:20px 18px 24px}}@media (max-width:640px){.set-sidebar__summary{gap:12px}.set-sidebar__title{font-size:16px}.set-sidebar__meta:nth-child(n+3){display:none}.set-sidebar__continue{min-height:40px}.set-classification-filter{justify-content:space-between;width:100%}.set-classification-filter__option{flex:1;padding:8px 10px}}.teacher-main{flex-direction:column;flex:1;gap:18px;width:100%;min-width:0;max-width:1366px;margin:0 auto;padding:22px 28px;display:flex}.teacher-settings{max-width:980px}.teacher-header__meta{color:var(--ink-500);white-space:nowrap;font-size:13px;font-weight:600}.teacher-header__actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex}.SummaryStrip{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.SummaryTile{background:var(--surface-0);box-shadow:var(--shadow-1);border-radius:16px;flex-direction:column;gap:2px;padding:16px 20px;display:flex}.SummaryTile__value{font-family:var(--font-display);color:var(--primo-navy);font-size:30px;font-weight:700;line-height:1.1}.SummaryTile__value--warn{color:var(--warning-700)}.SummaryTile__value span{font-size:16px}.SummaryTile__label{color:var(--ink-500);font-size:12.5px;font-weight:700}.FlagFilters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.FlagFilter{min-height:var(--hit-min);border-radius:var(--r-pill);border:1.5px solid var(--line-200);background:var(--surface-0);color:var(--ink-700);font:inherit;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);align-items:center;gap:8px;padding:8px 16px;font-size:13.5px;font-weight:700;display:inline-flex}.FlagFilter:hover{border-color:var(--primo-blue)}.FlagFilter:focus-visible{box-shadow:var(--focus-ring);outline:none}.FlagFilter[aria-pressed=true]{border-color:var(--primo-blue);background:var(--info-100);color:var(--primo-navy)}.FlagFilter__count{opacity:.75;font-weight:800}.FlagFilters__live{color:var(--ink-500);margin-left:auto;font-size:13px;font-weight:600}.RosterTable{background:var(--surface-0);box-shadow:var(--shadow-1);border-radius:20px;overflow:auto hidden}.RosterTable__head,.RosterRow{grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(90px,.8fr)) minmax(90px,.8fr) minmax(110px,.9fr) minmax(90px,.8fr) minmax(110px,.85fr) minmax(180px,1.3fr);align-items:center;gap:0 12px;padding:12px 20px;display:grid}.RosterTable__head{border-bottom:1px solid var(--line-200);background:var(--surface-50)}.RosterTable__head span{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500);font-size:12px;font-weight:800}.RosterRow{border:none;border-bottom:1px solid var(--surface-100);background:var(--surface-0);width:100%;min-height:56px;font:inherit;text-align:left;cursor:default;color:inherit;padding:10px 20px;text-decoration:none}.RosterRow--clickable{cursor:pointer}.RosterRow--clickable:hover{background:var(--surface-50)}.RosterRow:last-child{border-bottom:none}.RosterRow__student{align-items:center;gap:10px;min-width:0;display:flex}.RosterRow__avatar{background:var(--info-100);width:32px;height:32px;color:var(--primo-navy);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12.5px;font-weight:800;display:flex}.RosterRow__name{color:var(--ink-900);text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:700;overflow:hidden}.RosterRow__score{color:var(--ink-900);font-size:14.5px;font-weight:700}.RosterRow__score--empty{color:var(--ink-300)}.RosterRow__score--low{color:var(--warning-700)}.RosterRow__grade{color:var(--primo-navy);font-size:15px;font-weight:800}.RosterRow__comp{align-items:center;gap:8px;display:flex}.RosterRow__bar{background:var(--surface-100);border-radius:999px;flex:1;max-width:64px;height:6px;overflow:hidden}.RosterRow__bar>span{background:var(--primo-teal);border-radius:999px;height:100%;display:block}.RosterRow__compPct{color:var(--ink-500);font-size:12.5px;font-weight:700}.RosterRow__time{color:var(--ink-700);font-size:13.5px;font-weight:600}.RosterRow__racha{color:var(--ink-700);align-items:center;gap:8px;font-size:13.5px;font-weight:700;display:flex}.RachaRunBadge{color:#b0195c;background:#fdeaf3;border-radius:8px;justify-content:center;align-items:center;min-width:24px;min-height:24px;padding:2px 7px;font-size:13px;font-weight:850;display:inline-flex}.RosterRow__rachaEmpty{color:var(--ink-400,#8a97b1);font-weight:700}.RosterRow__flags{flex-wrap:wrap;gap:6px;display:flex}.FlagPill{white-space:nowrap;border-radius:999px;align-items:center;padding:3px 10px;font-size:11.5px;font-weight:800;display:inline-flex}.FlagPill--notstarted{color:#3d4c6b;background:#edf1f8}.FlagPill--stuck{color:#b54708;background:#fdf0e3}.FlagPill--mic{color:#053d92;background:#e7eefb}.FlagPill--verify{color:#6d3fc5;background:#f0eafb}.FlagPill--racha{color:#9d174d;background:#fce7f3}.teacher-footnote{color:var(--ink-500);margin:0;font-size:13px;font-weight:600}.teacher-activity-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.teacher-activity-toolbar__search{cursor:text;background-image:none;min-width:200px;max-width:320px;min-height:42px;padding-right:12px;font-weight:600}.teacher-activity-toolbar .RoleCheckbox--chip{flex:none;min-width:0;min-height:42px}.teacher-empty{background:var(--surface-0);max-width:560px;box-shadow:var(--shadow-2);text-align:center;border-radius:20px;flex-direction:column;align-items:center;gap:12px;margin:60px auto;padding:36px 40px;display:flex}.teacher-empty__zero{background:var(--info-100);width:64px;height:64px;font-family:var(--font-display);color:var(--primo-blue);border-radius:50%;justify-content:center;align-items:center;font-size:24px;font-weight:700;display:flex}@media (max-width:1180px){.SummaryStrip{grid-template-columns:repeat(2,1fr)}.RosterTable__head,.RosterRow{grid-template-columns:minmax(140px,1.2fr) repeat(3,minmax(70px,.7fr)) minmax(70px,.7fr) minmax(100px,.9fr) minmax(90px,.8fr) minmax(160px,1.2fr)}.RosterTable__head span:nth-child(7),.RosterRow>:nth-child(7){display:none}}@media (max-width:720px){.teacher-main{padding:16px}.RosterTable__head{display:none}.RosterRow{flex-direction:column;align-items:stretch;gap:10px;padding:14px 16px;display:flex}.RosterRow__comp .RosterRow__bar{max-width:none}.RosterRow__racha:before{content:"Racha";letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500);font-size:11px;font-weight:800}}.s10-main{flex:1;align-items:flex-start;gap:18px;width:100%;min-width:0;max-width:1366px;margin:0 auto;padding:22px 28px;display:flex}.s10-left{flex-direction:column;flex:1.5;gap:16px;min-width:0;display:flex}.s10-right{flex-direction:column;flex:1;gap:16px;min-width:300px;max-width:420px;display:flex}.s10-grades{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.RachaTeacherCard{border-top:4px solid #e73986}.RachaTeacherCard .s10-panel__head{align-items:center}.RachaTeacherCard .s10-panel__head>div>span{color:var(--ink-500);font-size:12.5px;font-weight:600;display:block}.RachaTeacherCard__stats{grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:14px;display:grid}.RachaTeacherCard__run{text-align:center;background:#fdeaf3;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:104px;padding:14px 16px;display:flex}.RachaTeacherCard__runValue{font-family:var(--font-display);color:#b0195c;font-size:30px;font-weight:800;line-height:1}.RachaTeacherCard__runLabel{color:#9d174d;font-size:11.5px;font-weight:700;line-height:1.3}.RachaTeacherCard__week{background:var(--surface-50);border-radius:16px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.RachaTeacherCard__weekHead{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.RachaTeacherCard__weekHead>span{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted,#5c6b8a);font-size:12px;font-weight:800}.RachaTeacherCard__weekHead>strong{color:#008f98;font-size:16px;font-weight:850}.RachaTeacherCard__week--met .RachaTeacherCard__weekHead>strong{color:#0e8345}.RachaTeacherCard__dots{flex-wrap:wrap;gap:6px;display:inline-flex}.RachaTeacherCard__dot{background:0 0;border:1.5px solid #02a9b0;border-radius:50%;width:10px;height:10px}.RachaTeacherCard__dot--on{background:#02a9b0}.RachaTeacherCard__week--met .RachaTeacherCard__dot{border-color:#0e8345}.RachaTeacherCard__week--met .RachaTeacherCard__dot--on{background:#0e8345}.RachaTeacherCard__weekNote{color:var(--ink-500);font-size:12.5px;font-weight:600}.RachaTeacherCard__note{color:var(--ink-muted,#5c6b8a);margin:0;font-size:12.5px;font-weight:600;line-height:1.45}.RachaTeacherCard__risk{color:#9d174d;background:#fce7f3;border-radius:12px;margin:0;padding:10px 14px;font-size:13px;font-weight:700;line-height:1.45}.RachaTeacherCard__risk--neutral{color:#8a5a20;background:#fff8ee}@media (max-width:560px){.RachaTeacherCard__stats{grid-template-columns:minmax(0,1fr)}}.SummaryTile--navy{background:var(--primo-navy)}.SummaryTile--navy .SummaryTile__value{color:#fff}.SummaryTile--navy .SummaryTile__label{color:#b9c9e8}.s10-panel{background:var(--surface-0);box-shadow:var(--shadow-1);border-radius:20px;flex-direction:column;gap:14px;padding:20px 24px;display:flex}.s10-panel h2{margin:0;font-size:17px;font-weight:800}.s10-panel__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.s10-panel__head>span{color:var(--ink-500);font-size:12.5px;font-weight:600}.roleplay-memory-panel{border-top:4px solid var(--primo-teal)}.roleplay-memory-panel__head{align-items:center;gap:10px}.roleplay-memory-panel__title{flex:1;min-width:0;margin:0}.roleplay-memory-panel__toggle{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;padding:8px 12px 8px 8px;transition:background .16s;display:flex}.roleplay-memory-panel__toggle:hover{background:var(--surface-50)}.roleplay-memory-panel__toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #02a9b040}.roleplay-memory-panel__icon{color:#067a7f;background:#e5f7f5;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:background .16s,transform .18s;display:inline-flex}.roleplay-memory-panel__icon svg{width:18px;height:18px;transition:transform .18s;transform:rotate(-90deg)}.roleplay-memory-panel__toggle[aria-expanded=true] .roleplay-memory-panel__icon svg{transform:rotate(0)}.roleplay-memory-panel__toggle:hover .roleplay-memory-panel__icon{background:#d3f1f0}.roleplay-memory-panel__label{min-width:0;color:var(--ink-900);gap:2px;font-size:17px;font-weight:800;display:grid}.roleplay-memory-panel__hint{color:var(--ink-500);font-size:12.5px;font-weight:600}.roleplay-memory-panel__state{color:#067a7f;letter-spacing:.02em;background:#e5f7f5;border-radius:999px;flex-shrink:0;margin-left:auto;padding:4px 12px;font-size:12px;font-weight:800}.roleplay-memory-panel__toggle:hover .roleplay-memory-panel__state{background:#d3f1f0}.roleplay-memory-panel--collapsed{gap:0}.roleplay-memory-panel__body{flex-direction:column;gap:14px;display:flex}.roleplay-memory-panel__body[hidden]{display:none}.roleplay-memory-panel__privacy{color:var(--ink-500);margin:0;font-size:12.5px;font-weight:600}.roleplay-memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.roleplay-memory-grid>div{background:var(--surface-50);border-radius:12px;gap:4px;padding:12px;display:grid}.roleplay-memory-grid strong{color:var(--ink-900);font-size:12px}.roleplay-memory-grid span{color:var(--ink-700);overflow-wrap:anywhere;font-size:14px;line-height:1.45}.roleplay-memory-form{gap:12px;display:grid}.roleplay-memory-form label{color:var(--ink-700);gap:6px;font-size:13px;font-weight:700;display:grid}.roleplay-memory-form input,.roleplay-memory-form textarea{border:1.5px solid var(--line-200);width:100%;min-height:44px;color:var(--ink-900);background:var(--surface-0);font:inherit;border-radius:12px;padding:11px 14px;font-size:14px;font-weight:500}.roleplay-memory-form input{font-weight:700}.roleplay-memory-form textarea{resize:vertical;min-height:90px;line-height:1.45}.roleplay-memory-form input:focus,.roleplay-memory-form input:focus-visible,.roleplay-memory-form textarea:focus,.roleplay-memory-form textarea:focus-visible{border-color:var(--primo-blue);box-shadow:var(--shadow-1);outline:none}.roleplay-memory-form input::placeholder,.roleplay-memory-form textarea::placeholder{color:var(--ink-500);font-weight:500}.roleplay-memory-form input[aria-invalid=true],.roleplay-memory-form textarea[aria-invalid=true],.roleplay-memory-form input[aria-invalid=true]:focus,.roleplay-memory-form input[aria-invalid=true]:focus-visible,.roleplay-memory-form textarea[aria-invalid=true]:focus,.roleplay-memory-form textarea[aria-invalid=true]:focus-visible{border-color:var(--error-600)}.roleplay-memory-form__hint{color:var(--ink-500);font-size:12px;font-weight:600;line-height:1.4}.roleplay-memory-form__hint--error{color:var(--error-600);font-weight:700}.roleplay-memory-form__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.roleplay-memory-panel__clear{color:var(--error-600);font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:13px;font-weight:700}.roleplay-memory-panel__clear:disabled{cursor:not-allowed;opacity:.55}@media (max-width:640px){.roleplay-memory-grid{grid-template-columns:1fr}.roleplay-memory-form__actions .ActionButton{flex:140px}}.AttemptList{flex-direction:column;gap:8px;display:flex}.AttemptRow{border:1.5px solid var(--surface-100);background:var(--surface-0);border-radius:14px;align-items:center;gap:14px;padding:12px 16px;display:flex}.AttemptRow--flag{background:#fdfbff;border-color:#cdb8f0}.AttemptRow__play{background:var(--primo-blue);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.AttemptRow__play:disabled{opacity:.35;cursor:not-allowed}.AttemptRow__play.is-playing{background:var(--primo-pink)}.AttemptRow__pause{gap:3px;width:14px;height:14px;display:flex}.AttemptRow__pause:before,.AttemptRow__pause:after{content:"";background:#fff;border-radius:2px;width:4px;height:14px}.AttemptRow__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.AttemptRow__item{color:var(--ink-900);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.AttemptRow__item--link{color:var(--primo-navy);text-decoration:none}.AttemptRow__item--link:hover{color:var(--primo-blue);text-decoration:underline}.AttemptRow__count{color:#5c6b8a;white-space:nowrap;font-size:12.5px;font-weight:700}.AttemptRow__meta{color:var(--ink-500);font-size:12.5px;font-weight:600}.AttemptRow__score{font-family:var(--font-display);color:var(--primo-navy);text-align:right;flex-shrink:0;min-width:36px;font-size:20px;font-weight:700}.AttemptRow__score--link{text-decoration:none}.AttemptRow__score--link:hover{text-decoration:underline}.AttemptRow__score.is-kept{color:var(--ink-500)}a.AttemptRow--link{color:inherit;text-decoration:none;transition:background .12s;display:flex}a.AttemptRow--link:hover{background:#f5f7fb}.AttemptRow__play--static{cursor:default;pointer-events:none;opacity:.7}.teacher-answer-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.teacher-answer-card{background:#fff;border:1.5px solid #edf1f8;border-radius:14px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.teacher-answer-card__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.teacher-answer-card__n{letter-spacing:.06em;text-transform:uppercase;color:#5c6b8a;font-size:12px;font-weight:800}.teacher-answer-card__prompt{color:#16233f;margin:0;font-size:15px;font-weight:700;line-height:1.45}.teacher-answer-card__prompt.muted{color:#5c6b8a;font-weight:600}.teacher-answer-card__lines{flex-direction:column;gap:6px;font-size:14px;display:flex}.teacher-answer-card__lines>div{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.teacher-answer-card__label{letter-spacing:.05em;text-transform:uppercase;color:#5c6b8a;min-width:72px;font-size:11.5px;font-weight:800}.AdjudicationCard{background:#f0eafb;border:1.5px solid #cdb8f0;border-radius:20px;flex-direction:column;gap:10px;padding:18px 22px;display:flex}.AdjudicationCard__title{color:#6d3fc5;font-size:14.5px;font-weight:800}.AdjudicationCard p{color:var(--ink-900);margin:0;font-size:13.5px;font-weight:500;line-height:1.55}.AdjudicationCard__actions{flex-wrap:wrap;gap:10px;display:flex}.OverrideForm{flex-direction:column;gap:10px;display:flex}.OverrideForm label{flex-direction:column;gap:5px;display:flex}.OverrideForm label>span{color:var(--ink-700);font-size:12.5px;font-weight:700}.OverrideForm__field,.OverrideForm__input{border:1.5px solid var(--line-200);min-height:44px;font:inherit;color:var(--ink-900);background:var(--surface-0);border-radius:12px;padding:11px 14px;font-size:14px;font-weight:700}.OverrideForm__input:focus,.OverrideForm__input:focus-visible{border-color:var(--primo-blue);box-shadow:var(--shadow-1);outline:none}.OverrideForm__select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 L6 6.5 L11 1.5' fill='none' stroke='%23053D92' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}.OverrideForm textarea.OverrideForm__input{resize:vertical;font-weight:500}.CoachGrowth__level{align-items:center;gap:14px;display:flex}.CoachGrowth__ring{background:var(--info-100);width:52px;height:52px;font-family:var(--font-display);color:var(--primo-navy);border-radius:50%;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex}.CoachGrowth__bars{flex-direction:column;gap:8px;display:flex}.CoachGrowth__row{align-items:center;gap:10px;display:flex}.CoachGrowth__sym{color:var(--primo-navy);width:38px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;font-weight:700}.CoachGrowth__label{color:var(--ink-700);text-align:right;width:70px;font-size:12.5px;font-weight:700}.CoachGrowth__exams{border-top:1px solid var(--line-200);flex-direction:column;gap:6px;padding-top:12px;display:flex}.CoachGrowth__exams>span:first-child{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500);font-size:12px;font-weight:800}.CoachGrowth__exams>div{flex-wrap:wrap;gap:14px;font-size:13.5px;font-weight:700;display:flex}.CoachGrowth__exams strong{color:var(--primo-navy)}@media (max-width:1180px){.s10-main{flex-direction:column}.s10-right{width:100%;max-width:none}.s10-grades{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.s10-main{padding:16px}}.builder-trail-row{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;margin-left:auto;display:flex}.builder-trail{flex-wrap:wrap;align-items:center;gap:0;min-width:0;display:flex}.builder-trail__toggle{font:inherit;color:inherit;cursor:pointer;text-align:left;min-height:var(--hit-min);background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:0;display:inline-flex}.builder-trail__toggle:focus-visible{box-shadow:var(--focus-ring);border-radius:10px;outline:none}.builder-trail__more{background:var(--surface-100);color:var(--ink-500);letter-spacing:.08em;border-radius:999px;margin-left:4px;padding:4px 8px;font-size:12px;font-weight:800}.builder-trail__item{align-items:center;display:flex}.builder-trail__pill{white-space:nowrap;color:var(--ink-500);border-radius:999px;padding:5px 10px;font-size:12.5px;font-weight:700}.builder-trail__pill.is-active{color:var(--primo-navy)}.builder-trail__pill.is-current{background:var(--info-100);color:var(--primo-navy)}.builder-trail__arrow{color:var(--ink-300);margin:0 4px;font-size:12px}.builder-saved{color:var(--ink-500);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.builder-saved__dot{background:var(--success-600);border-radius:50%;width:7px;height:7px}.builder-saved--in-trail{display:none}.builder-shell{flex:1;min-height:0;display:flex}.builder-progress{background:var(--surface-0);border-bottom:1px solid var(--line-200);padding:10px 28px 14px}.builder-progress__meta{color:var(--ink-700);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:13px;font-weight:700;display:flex}.builder-progress__sep{color:var(--ink-300);margin:0 6px;font-weight:600}.builder-progress__pct{color:var(--primo-blue);font-variant-numeric:tabular-nums}.builder-progress__track{background:var(--surface-100);border-radius:999px;height:8px;overflow:hidden}.builder-progress__fill{background:linear-gradient(90deg, var(--primo-blue), #3d7fd6);border-radius:999px;height:100%;transition:width .35s;display:block}.builder-progress__fill.is-busy{background-size:200% 100%;background-image:linear-gradient(90deg, var(--primo-blue) 0%, #5b9aef 45%, var(--primo-blue) 100%);animation:1.2s linear infinite builder-progress-shine}@keyframes builder-progress-shine{0%{background-position:100% 0}to{background-position:-100% 0}}.builder-progress--phone,.builder-phone-topline,.builder-phone-step-title,.builder-phone-footer{display:none}.builder-generation{gap:18px;max-width:none}.builder-generation__heading{color:var(--ink-900);align-items:center;gap:14px;font-size:18px;font-weight:800;display:flex}.builder-generation__track{background:var(--surface-100);border-radius:999px;width:100%;height:8px;overflow:hidden}.builder-generation__track>span{border-radius:inherit;background:var(--primo-blue);height:100%;transition:width .9s var(--ease-out);display:block}.builder-generation__stages{color:var(--ink-500);flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.builder-generation__stages>span{align-items:center;gap:7px;display:flex}.builder-generation__stages>.is-complete{color:var(--success-600)}.builder-generation__stages>.is-current{color:var(--primo-navy);font-weight:700}.builder-generation__stage-icon{text-align:center;flex:0 0 12px;width:12px}.builder-ready{border:1.5px solid var(--line-200);border-radius:var(--r-lg);animation:riseIn .24s var(--ease-out);background:#fff;flex-direction:column;gap:16px;padding:28px 32px;display:flex}.builder-ready h1{color:var(--ink-900);margin:0;font-size:24px;font-weight:800}.builder-ready__checks{color:var(--ink-700);flex-direction:column;gap:8px;font-size:14.5px;font-weight:600;display:flex}.builder-ready__hint{color:var(--ink-500);margin:0;font-size:13.5px;font-weight:500;line-height:1.5}.builder-ready__cta{min-height:var(--hit-primary);align-self:flex-start;padding:12px 30px;font-size:16px}.builder-ready--failed{background:var(--error-100);border-color:#e5b5b2;gap:10px}.builder-ready--failed h1{color:var(--error-600);font-size:18px}.builder-ready--failed p{color:var(--ink-900);margin:0;font-size:14.5px;font-weight:500;line-height:1.55}.builder-ready--failed .ActionButton{align-self:flex-start}.builder-rail{background:var(--surface-0);border-right:1px solid var(--line-200);flex-direction:column;flex-shrink:0;gap:4px;width:236px;padding:24px 16px;display:flex;overflow-y:auto}.builder-drafts{border-bottom:1px solid var(--line-200);margin-bottom:16px;padding-bottom:14px}.builder-drafts__head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.builder-drafts__empty{color:var(--ink-500);margin:0;font-size:12px;font-weight:600;line-height:1.4}.builder-drafts__list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.builder-drafts__item{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.builder-drafts__item:hover{background:var(--surface-50,#f5f7fb)}.builder-drafts__item.is-current{background:#0245aa12;border-color:#0245aa}.builder-drafts__title{color:var(--ink-900);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;font-weight:800;line-height:1.3;display:-webkit-box;overflow:hidden}.builder-drafts__meta{color:var(--ink-500);text-transform:capitalize;font-size:11px;font-weight:600}.builder-rail__step{text-align:left;cursor:default;min-height:44px;font:inherit;color:var(--ink-900);pointer-events:none;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;width:100%;padding:8px 12px;font-size:14px;font-weight:700;display:flex}.builder-rail__step.is-current{background:var(--info-100);color:var(--primo-navy)}.builder-rail__step.is-upcoming{color:var(--ink-500)}.builder-rail__num{width:26px;height:26px;color:var(--ink-500);background:#fff;border:1.5px solid #b9c4d8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.builder-rail__num.is-done{background:var(--success-600);color:#fff;border-color:var(--success-600)}.builder-rail__num.is-current{background:var(--primo-blue);color:#fff;border-color:var(--primo-blue)}.builder-rail__note{background:var(--info-100);color:var(--primo-navy);border-radius:12px;margin-top:auto;padding:12px 14px;font-size:12.5px;font-weight:600;line-height:1.5}.builder-main{flex:1;min-width:0;padding:28px 36px;overflow:auto}.builder-step,.builder-nav{width:100%;max-width:var(--builder-step-w,100%)}.builder-step h1{margin:0 0 4px;font-size:26px;font-weight:800}.builder-step>p{color:var(--ink-500);margin:0 0 20px;font-size:15px;font-weight:500}.builder-types{grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:14px;display:grid}.builder-type{border-radius:var(--r-lg);border:2px solid var(--line-200);cursor:pointer;text-align:left;font:inherit;transition:all var(--dur-fast);background:#fff;flex-direction:column;gap:10px;padding:16px;display:flex}.builder-type:hover{border-color:var(--primo-blue);box-shadow:var(--shadow-2);transform:translateY(-2px)}.builder-type.is-selected{border-color:var(--primo-blue);box-shadow:0 4px 14px #053d9224}.builder-type:focus-visible{box-shadow:var(--focus-ring);outline:none}.builder-type__glyph{width:40px;height:40px;font-family:var(--font-display);border-radius:12px;justify-content:center;align-items:center;font-size:17px;font-weight:700;display:flex}.builder-type__text{flex-direction:column;gap:4px;min-width:0;display:flex}.builder-type__name{font-size:15.5px;font-weight:800}.builder-type__desc{color:var(--ink-500);font-size:13px;font-weight:500;line-height:1.45}.builder-type__cat{letter-spacing:.06em;text-transform:uppercase;color:var(--primo-blue);font-size:11px;font-weight:800}.builder-manage{border-top:1px solid var(--line-200);margin-top:36px;padding-top:28px}.builder-manage__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.builder-manage__head h2{margin:0 0 6px;font-size:20px}.builder-manage__head p{max-width:640px;color:var(--ink-500);margin:0;font-size:13.5px;font-weight:600;line-height:1.45}.builder-manage__tools{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.builder-manage__search{align-items:center;display:inline-flex}.builder-manage__filters{background:#f5f7fb;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px;margin-bottom:10px;padding:12px;display:flex}.builder-manage__filters-selects{flex:420px;gap:8px;min-width:0;display:flex}.builder-manage__groupby{flex-direction:column;flex:none;gap:4px;display:flex}.builder-manage__groupby-label{color:var(--ink-500);font-size:12px;font-weight:800}.builder-manage__segments{gap:6px;display:inline-flex}.builder-manage__segments .ActionButton{min-height:44px;padding:8px 14px}.builder-ms{flex:1 1 0;min-width:140px;position:relative}.builder-ms--block{flex:none;width:100%}.builder-ms__label{color:var(--ink-500);margin-bottom:4px;font-size:12px;font-weight:800;display:block}.builder-ms__trigger{border:1.5px solid var(--line-200);width:100%;min-height:44px;font-family:var(--font-ui);color:var(--primo-navy);cursor:pointer;text-align:left;background:#fff;border-radius:12px;align-items:center;gap:8px;padding:0 12px;font-size:14px;font-weight:700;display:flex}.builder-ms__trigger:hover:not(:disabled){border-color:var(--primo-blue)}.builder-ms__trigger:disabled{opacity:.6;cursor:not-allowed}.builder-ms__trigger:focus-visible{box-shadow:var(--focus-ring);outline:none}.builder-ms__value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.builder-ms__chevron{color:var(--ink-500);flex-shrink:0;font-size:11px}.builder-ms__panel{z-index:30;border:1.5px solid var(--line-200);background:#fff;border-radius:12px;min-width:240px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 8px 24px #0a1f4d14}.builder-ms__list{max-height:280px;margin:0;padding:6px 0;list-style:none;overflow-y:auto}.builder-ms__option{min-height:40px;color:var(--ink-900,#0a1f4d);cursor:pointer;align-items:center;gap:10px;padding:0 12px;font-size:14px;font-weight:600;display:flex}.builder-ms__option:hover,.builder-ms__option.is-focus{background:#0245aa0d}.builder-ms__option input{width:16px;height:16px;accent-color:var(--primo-blue);flex-shrink:0}.builder-ms__footer{border-top:1px solid var(--line-200);background:#fff;justify-content:space-between;gap:8px;padding:8px;display:flex}.builder-ms__footer-btn{appearance:none;min-height:36px;font-family:var(--font-ui);color:var(--ink-500);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:800}.builder-ms__footer-btn:hover{color:var(--primo-navy);background:#0245aa0d}.builder-ms__footer-btn--done{color:var(--primo-blue)}.builder-manage__chips{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.builder-manage__chip{min-height:32px;color:var(--primo-navy);background:#e8f0fe;border-radius:999px;align-items:center;gap:4px;padding:4px 6px 4px 12px;font-size:13px;font-weight:700;display:inline-flex}.builder-manage__chip-x{appearance:none;width:28px;height:28px;color:var(--primo-navy);cursor:pointer;background:0 0;border:none;border-radius:999px;font-size:18px;line-height:1}.builder-manage__chip-x:hover{background:#0245aa1a}.builder-manage__clear{appearance:none;color:var(--primo-blue);font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;min-height:44px;padding:0 4px;font-size:13px;font-weight:800}.builder-manage__clear:hover{text-decoration:underline}.builder-manage__table-wrap{border:1px solid var(--line-200);background:var(--surface-0);border-radius:14px;max-height:min(70vh,720px);overflow:auto}.builder-manage__table{border-collapse:collapse;width:100%;font-size:13.5px}.builder-manage__table th,.builder-manage__table td{text-align:left;border-bottom:1px solid var(--line-200);vertical-align:top;padding:12px 14px}.builder-manage__table th{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500);background:var(--surface-50,#f5f7fb);z-index:3;font-size:11.5px;position:sticky;top:0}.builder-manage__table tr:last-child td{border-bottom:none}.builder-manage__table tr.is-current td{background:#0245aa0d}.builder-manage__title{color:var(--ink-900);font-weight:800}.builder-manage__sub{color:var(--ink-500);font-size:12px;font-weight:600}.builder-manage__status{text-transform:capitalize;color:#3d4c6b;background:#eef2f8;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800;display:inline-block}.builder-manage__status.is-draft{color:#9a6700;background:#fff6e8}.builder-manage__status.is-published{color:#0e8345;background:#e3f6ec}.builder-manage__status.is-generated,.builder-manage__status.is-in-review,.builder-manage__status.is-approved{color:#0245aa;background:#e8f0fe}.builder-manage__status.is-retired{color:#6b7280;background:#f3f4f6}.builder-manage__students-main{color:var(--ink-900,#0a1f4d);font-size:13px;font-weight:700}.builder-manage__students-sub{color:var(--ink-500);font-size:12px;font-weight:600}.builder-manage__actions{white-space:nowrap;flex-wrap:nowrap;gap:6px;display:flex}.builder-manage__actions .ActionButton{white-space:nowrap;flex-shrink:0;min-height:36px;padding:6px 10px}.builder-manage__group-row td{z-index:2;background:var(--surface-50,#f5f7fb);color:var(--primo-navy);box-shadow:0 1px 0 var(--line-200);padding:0;font-size:13px;font-weight:800;position:sticky;top:42px}.builder-manage__group-toggle{cursor:pointer;width:100%;min-height:44px;color:var(--primo-navy);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:800;display:flex}.builder-manage__group-toggle:hover{background:#0245aa0d}.builder-manage__group-toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.builder-manage__group-chevron{width:16px;color:var(--ink-500);flex-shrink:0;font-size:14px}.builder-manage__group-name{flex:1;min-width:0}.builder-manage__group-count{font-variant-numeric:tabular-nums;color:var(--ink-500)}.builder-manage__pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.builder-manage__pager-meta{color:var(--ink-500);font-size:13px;font-weight:600}.builder-manage__pager-btns{align-items:center;gap:10px;display:flex}.builder-manage__pager-page{color:var(--ink-700);text-align:center;min-width:7rem;font-size:13px;font-weight:700}.builder-panel{border:1.5px solid var(--line-200);border-radius:var(--r-lg);background:#fff;flex-direction:column;gap:16px;padding:20px 24px;display:flex}.builder-panel--settings{gap:20px;padding:24px}.builder-step--attach{flex-direction:column;gap:20px;display:flex}.builder-step--attach .builder-step__intro h1{margin:0 0 4px}.builder-step__lede{color:#5c6b8a;margin:0;font-size:15px;font-weight:500}.builder-counts-copy{flex-direction:column;gap:0;max-width:340px;display:flex}.builder-counts-copy__title{color:#16233f;font-size:15px;font-weight:700;line-height:1.4}.builder-counts-copy__detail{color:#5c6b8a;font-size:13px;font-weight:500;line-height:1.45}.builder-budget-block{flex-direction:column;gap:10px;display:flex}.builder-budget-block__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.builder-budget-block__title{color:#16233f;font-size:15px;font-weight:700}.builder-budget-block__label{color:#0e8345;white-space:nowrap;font-size:14px;font-weight:800}.builder-budget-block__label.is-over{color:#b42318}.builder-budget-block .builder-budget{margin-top:0}.builder-budget-block__legend{color:#3d4c6b;flex-wrap:wrap;gap:12px;font-size:12.5px;font-weight:600;display:flex}.builder-budget-block__legend>span{align-items:center;gap:6px;display:inline-flex}.builder-budget-block__swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.builder-publish{align-self:flex-start;min-height:48px;padding:12px 32px;font-size:16px}.builder-publish__hint{color:#5c6b8a;margin:-10px 0 0;font-size:13px;font-weight:600;line-height:1.45;display:block}.builder-field{flex-direction:column;flex:1;gap:6px;display:flex}.builder-field>span{color:var(--ink-700);font-size:13px;font-weight:700}.builder-select{border:1.5px solid var(--line-200);border-radius:var(--r-md);min-height:48px;color:var(--ink-900);cursor:pointer;width:100%;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:#fff;justify-content:space-between;align-items:center;padding:0 16px;font-family:inherit;font-size:15px;font-weight:700;display:flex}select.builder-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%235C6B8A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:12px 8px;padding-right:44px}.builder-select:hover:not(:disabled){border-color:var(--primo-blue)}.builder-select:focus,.builder-select:focus-visible{border-color:var(--primo-blue);box-shadow:var(--shadow-1);outline:none}.builder-vocab{color:var(--primo-navy);background:var(--info-100);border-radius:var(--r-pill);padding:5px 12px;font-size:13.5px;font-weight:600}.builder-vocab-more{appearance:none;font-family:var(--font-ui);color:var(--primo-blue);cursor:pointer;background:0 0;border:none;padding:5px 4px;font-size:13.5px;font-weight:700;text-decoration:none}.builder-vocab-more:hover{color:var(--primo-navy)}.builder-std{max-width:min(520px,100%);min-height:36px;color:var(--primo-navy);border-radius:var(--r-pill);cursor:pointer;font-size:13.5px;font-weight:700;font-family:var(--font-ui);text-align:left;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:#fff;border:1.5px solid #b9c4d8;align-items:center;gap:8px;padding:5px 12px;display:inline-flex}.builder-std__code{white-space:nowrap;flex-shrink:0}.builder-std__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.builder-std:hover{border-color:var(--error-600);color:var(--error-600)}.builder-std.is-off{color:var(--ink-500);background:var(--surface-50);border-style:dashed;font-weight:600}.builder-std.is-off:hover{border-color:var(--primo-blue);color:var(--primo-blue)}.builder-std:focus-visible{box-shadow:var(--focus-ring);outline:none}.builder-param{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.builder-param .muted,.muted{color:var(--ink-500);font-size:13px;font-weight:500}.builder-hr{border:none;border-top:1px solid var(--line-200);margin:0}.builder-param--voice{flex-wrap:nowrap;align-items:center}.builder-param__copy{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.builder-voice-select{border:1px solid var(--line-200);min-width:148px;max-width:100%;min-height:44px;font:inherit;color:var(--ink-900);background:#fff;border-radius:12px;flex:0 200px;padding:8px 12px;font-weight:700}.builder-voice-controls{flex-wrap:nowrap;flex:0 2 auto;align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.builder-voice-play{background:var(--primo-blue);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:flex}.builder-voice-play:hover:not(:disabled){background:var(--primo-navy)}.builder-voice-play:disabled{opacity:.4;cursor:not-allowed}.builder-voice-play.is-playing{background:var(--primo-pink)}.builder-voice-play__stop{background:#fff;border-radius:2px;width:12px;height:12px}.builder-deadline{flex-direction:column;gap:12px;padding:4px 0 8px;display:flex}.builder-deadline__field,.builder-deadline__penalty label{color:var(--ink-700);flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.builder-deadline__field .muted{font-weight:500}.builder-deadline input,.builder-deadline select{border:1.5px solid var(--line-200);min-height:40px;font:inherit;border-radius:8px;padding:8px 10px;font-weight:600}.builder-deadline__policies{border:1.5px solid var(--line-200);border-radius:12px;flex-direction:column;gap:8px;margin:0;padding:12px 14px;display:flex}.builder-deadline__policies legend{padding:0 6px;font-size:13px;font-weight:800}.builder-deadline__policies label,.builder-deadline__check{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.builder-deadline__penalty{grid-template-columns:1fr 1fr;gap:10px;display:grid}.builder-count{min-width:48px;min-height:var(--hit-min);border-radius:var(--r-md);border:2px solid var(--line-200);color:var(--ink-700);font:inherit;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:#fff;font-size:15px;font-weight:800}.builder-count:hover{border-color:var(--primo-blue)}.builder-count.is-selected{border-color:var(--primo-blue);background:var(--info-100);color:var(--primo-navy)}.builder-count:focus-visible{box-shadow:var(--focus-ring);outline:none}.builder-bands{background:var(--surface-100);border-radius:var(--r-md);gap:2px;padding:4px;display:flex}.builder-bands button{min-height:40px;color:var(--ink-500);font:inherit;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:none;border-radius:9px;padding:0 18px;font-size:14px;font-weight:700}.builder-bands button:hover:not(.is-selected){color:var(--primo-navy)}.builder-bands button.is-selected{color:var(--primo-navy);box-shadow:var(--shadow-1);background:#fff}.builder-bands button:focus-visible{box-shadow:var(--focus-ring);outline:none}.builder-spinner{border:4px solid var(--line-200);border-top-color:var(--primo-blue);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite spin}.builder-item{border:1.5px solid var(--line-200);transition:border-color var(--dur-fast) var(--ease-out);background:#fff;border-radius:16px;align-items:center;gap:16px;padding:14px 18px;display:flex}.builder-item:hover,.builder-item.is-busy{border-color:var(--primo-blue)}.builder-item__n{background:var(--surface-100);width:30px;height:30px;color:var(--ink-700);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.builder-item__title{color:var(--ink-900);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:700;overflow:hidden}.builder-item__meta{color:var(--ink-500);margin-top:2px;font-size:12.5px;font-weight:600;display:block}.builder-item--duplicate{border-color:#f0b354;box-shadow:inset 4px 0 #f0b354}.builder-item__warning{color:#8a4b08;white-space:normal;background:#fff6e8;border-radius:10px;margin:8px 0 0;padding:8px 10px;font-size:12.5px;font-weight:650;line-height:1.4}.builder-item__actions{flex-shrink:0;gap:6px;display:flex}.builder-item__btn{appearance:none;border:1.5px solid var(--line-200);min-height:40px;color:var(--ink-700);font-family:var(--font-ui);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);background:#fff;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex}.builder-item__btn:hover:not(:disabled){border-color:var(--primo-blue);color:var(--primo-blue)}.builder-item__btn:disabled{opacity:.55;cursor:not-allowed}.builder-item__btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.builder-item__rewriting{color:var(--primo-blue);white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.builder-item__rewriting-spin{border:3px solid var(--line-200);border-top-color:var(--primo-blue);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.9s linear infinite spin}.builder-review-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.builder-review-head h1{color:var(--ink-900);margin:0 0 4px;font-size:26px;font-weight:800}.builder-review-head p{color:var(--ink-500);margin:0;font-size:15px;font-weight:500}.builder-review-head p strong{color:var(--ink-900);font-weight:700}.builder-review-preview{flex-shrink:0;min-height:44px;padding:10px 20px;font-size:14px;text-decoration:none}.builder-budget{background:var(--surface-100);border-radius:999px;gap:2px;height:14px;margin-top:10px;display:flex;overflow:hidden}.builder-budget>span{border-radius:2px;display:block}.builder-nav{justify-content:space-between;align-items:flex-end;margin-top:24px;display:flex}.builder-nav--inline{margin-top:20px;margin-bottom:8px}.builder-nav--center{justify-content:center}.builder-nav__next{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.builder-nav__hint{white-space:nowrap;text-align:right;color:#5c6b8a;margin:0;font-size:12.5px;font-weight:600;line-height:1.35}.platform-status{border-radius:999px;align-items:center;gap:7px;padding:6px 14px;font-size:13px;font-weight:800;display:inline-flex}.platform-status.is-ok{color:var(--success-600);background:var(--success-100)}.platform-status>span{background:currentColor;border-radius:50%;width:8px;height:8px}.platform-page .platform-main{gap:18px}.platform-services-block{flex-direction:column;gap:8px;display:flex}.platform-services{grid-template-columns:repeat(5,1fr);gap:14px;display:grid}.platform-service{box-shadow:var(--shadow-1);border-top:3px solid var(--primo-teal);background:#fff;border-radius:16px;flex-direction:column;gap:6px;min-width:0;padding:14px 18px;display:flex}.platform-service__top{color:var(--ink-800);justify-content:space-between;align-items:center;font-size:13.5px;font-weight:800;display:flex}.platform-service__dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.platform-service__metric{font-family:var(--font-display);color:var(--primo-navy);word-break:break-word;font-size:22px;font-weight:700;line-height:1.15}.platform-service__detail{color:var(--ink-500);font-size:12px;font-weight:600;line-height:1.4}.platform-layout{align-items:flex-start;gap:18px;width:100%;display:flex}.platform-layout__main{flex:1.55;min-width:0}.platform-layout__aside{flex-direction:column;flex:0 0 360px;gap:16px;width:360px;max-width:100%;display:flex}.platform-admin-row{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:16px;width:100%;margin-top:18px;display:grid}.platform-admin-row>.platform-card{min-width:0}.platform-card{box-shadow:var(--shadow-1);overflow-wrap:anywhere;background:#fff;border:1px solid #e6ecf5;border-radius:16px;flex-direction:column;gap:14px;min-width:0;padding:18px 20px 20px;display:flex}.platform-card__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.platform-card__title{color:var(--primo-navy);letter-spacing:-.01em;margin:0;font-size:17px;font-weight:800}.platform-card__action{min-height:36px;padding:6px 14px;font-size:13px}.platform-schools{padding:16px 0 8px}.platform-schools .platform-card__head{padding:0 20px 4px}.platform-schools__table{flex-direction:column;display:flex}.platform-schools__row{color:var(--ink-800);border-top:1px solid #edf1f8;grid-template-columns:minmax(0,2.2fr) .9fr .85fr .95fr .85fr;align-items:center;gap:10px;padding:13px 20px;font-size:13.5px;font-weight:600;display:grid}.platform-schools__row--head{letter-spacing:.04em;text-transform:uppercase;color:#5c6b8a;border-top:none;padding-top:4px;padding-bottom:8px;font-size:11.5px;font-weight:800}.platform-schools__name{color:var(--primo-navy);font-size:14.5px;font-weight:800;display:block}.platform-schools__sub{color:#5c6b8a;margin-top:2px;font-size:12px;font-weight:600;display:block}.platform-schools__source{text-transform:lowercase;color:#3d4c6b}.platform-schools__empty{color:#5c6b8a;padding:20px;font-weight:600}.platform-status-pill{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.platform-status-pill--live{color:#0e8345;background:#e2f5e9}.platform-status-pill--pilot{color:#0245aa;background:#e8f0fc}.platform-status-pill--onboarding{color:#b54708;background:#fdf0e3}.platform-types__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.platform-types__meta{color:#5c6b8a;white-space:nowrap;font-size:12px;font-weight:700}.platform-type-chips{grid-template-columns:1fr 1fr;gap:8px 10px;margin:0;padding:0;list-style:none;display:grid}.platform-type-chip{min-height:36px;color:var(--primo-navy);background:#eef3fb;border:1.5px solid #b9c9e8;border-radius:999px;justify-content:space-between;align-items:center;gap:8px;padding:7px 11px;display:flex}.platform-type-chip__name{min-width:0;font-size:12.5px;font-weight:800;line-height:1.2}.platform-type-chip__ver{color:#3d6ec9;flex-shrink:0;font-size:11.5px;font-weight:700}.platform-types__hint{color:#5c6b8a;margin:0;font-size:12.5px;font-weight:600;line-height:1.45}.platform-types__manage{justify-content:center;align-self:flex-start;min-height:40px;text-decoration:none}.platform-type-chip.is-inactive{opacity:.62;background:#f5f7fb;border-style:dashed}.platform-type-chip.is-inactive .platform-type-chip__ver{color:#8a97b0}.platform-types-manage{padding:16px 0 8px}.platform-types-manage .platform-card__head,.platform-types-manage .platform-types__hint{padding-left:20px;padding-right:20px}.platform-types-table{flex-direction:column;display:flex}.platform-types-table__row{color:var(--ink-800);border-top:1px solid #edf1f8;grid-template-columns:minmax(0,2fr) .9fr .85fr .7fr;align-items:center;gap:10px;padding:13px 20px;font-size:13.5px;font-weight:600;display:grid}.platform-types-table__row--head{letter-spacing:.04em;text-transform:uppercase;color:#5c6b8a;border-top:none;padding-top:4px;padding-bottom:8px;font-size:11.5px;font-weight:800}.platform-types-table__row.is-inactive .platform-schools__name,.platform-types-table__row.is-inactive .platform-schools__sub{color:#8a97b0}.platform-switch{cursor:pointer;background:#c5cddc;border:0;border-radius:999px;flex-shrink:0;width:44px;height:26px;padding:0;transition:background .16s;position:relative}.platform-switch.is-on{background:var(--success-600)}.platform-switch:disabled{opacity:.55;cursor:wait}.platform-switch:focus-visible{outline-offset:2px;outline:3px solid #0245aa47}.platform-switch__thumb{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #16233f38}.platform-switch.is-on .platform-switch__thumb{transform:translate(18px)}.platform-viewas{container-type:inline-size}.platform-viewas__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 8px;display:flex}.platform-viewas .platform-card__title{white-space:nowrap;font-size:clamp(14.5px,5.2cqi,17px)}.platform-viewas__badge{letter-spacing:.04em;text-transform:uppercase;color:#6d3fc5;white-space:nowrap;background:#f0eafb;border-radius:999px;flex-shrink:0;padding:4px clamp(8px,3cqi,12px);font-size:clamp(9px,3cqi,11px);font-weight:800}.platform-viewas__label{color:#5c6b8a;margin:0;font-size:12.5px;font-weight:700}.platform-viewas__field{flex-direction:column;gap:8px;display:flex}.platform-viewas__roles{grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:8px;display:grid}.platform-viewas__role-skeleton{background:linear-gradient(90deg,#eef2f8,#f7f9fc,#eef2f8) 0 0/200% 100%;border-radius:12px;min-height:40px;animation:1.2s ease-in-out infinite viewas-skeleton}@keyframes viewas-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.platform-viewas__role-skeleton{animation:none}}.platform-viewas__role{color:#17315f;text-align:center;cursor:pointer;min-height:40px;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);background:#fff;border:1px solid #d5deee;border-radius:12px;padding:8px 12px;font-size:12.5px;font-weight:800;line-height:1.25}.platform-viewas__role:disabled{opacity:.55;cursor:not-allowed}.platform-viewas__role:hover:not(:disabled){border-color:var(--primo-blue);background:var(--surface-50)}.platform-viewas__role:focus-visible,.platform-viewas__search:focus-visible{box-shadow:var(--focus-ring);outline:none}.platform-viewas__role.is-active{color:#0245aa;background:#e7eefb;border-color:#0245aa}.platform-viewas__search{border:1px solid #d5deee;border-radius:12px;width:100%;min-height:40px;padding:8px 12px;font-size:14px}.platform-viewas__combo{flex-direction:column;gap:8px;display:flex;position:relative}.platform-viewas__list{z-index:20;background:#fff;border:1px solid #d5deee;border-radius:12px;max-height:220px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 10px 28px #17315f1f}.platform-viewas__list-empty{color:#5c6b8a;padding:10px 12px;font-size:13px;font-weight:600}.platform-viewas__option{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 10px;display:flex}.platform-viewas__option:hover,.platform-viewas__option:focus{background:#e7eefb}.platform-viewas__option-name{color:#17315f;font-size:13.5px;font-weight:800}.platform-viewas__option-meta{color:#5c6b8a;font-size:12px;font-weight:600}.platform-viewas__selected{background:#f5f7fb;border:1px solid #d5deee;border-radius:12px;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.platform-viewas__avatar{color:#0245aa;letter-spacing:.02em;background:#e7eefb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:12.5px;font-weight:800;display:inline-flex}.platform-viewas__selected-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.platform-viewas__selected-name{color:#17315f;overflow-wrap:anywhere;font-size:13.5px;font-weight:800}.platform-viewas__selected-meta{color:#5c6b8a;overflow-wrap:anywhere;font-size:12px;font-weight:600}.platform-viewas__change{min-height:32px;color:var(--primo-blue);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-shrink:0;align-self:flex-start;padding:5px 10px;font-size:12.5px;font-weight:800}.platform-viewas__change:hover:not(:disabled){background:#fff;border-color:#d5deee}.platform-viewas__change:focus-visible{box-shadow:var(--focus-ring);outline:none}.platform-viewas__change:disabled{opacity:.55;cursor:not-allowed}.platform-viewas__hint{color:#5c6b8a;overflow-wrap:anywhere;word-break:break-word;max-width:100%;margin:0;font-size:12.5px;font-weight:600;line-height:1.45}.platform-viewas__error{color:#b42318;overflow-wrap:anywhere;word-break:break-word;background:#fdeceb;border-radius:12px;max-width:100%;margin:0;padding:10px 12px;font-size:12.5px;font-weight:600;line-height:1.45}.platform-viewas__select{width:100%;min-height:40px}.platform-viewas__btn{border-radius:12px;justify-content:center;width:100%;min-height:40px;font-size:14px}.platform-viewas__btn-spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite viewas-spin}@keyframes viewas-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.platform-viewas__btn-spinner{animation-duration:2s}}.platform-viewas__note{color:#5c6b8a;overflow-wrap:anywhere;word-break:break-word;max-width:100%;margin:0;font-size:12.5px;font-weight:600;line-height:1.45}.support-session-bar{z-index:50;color:#3d246e;background:#f0eafb;border-bottom:1px solid #cdb8f0;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px;padding:10px 20px;display:flex;position:sticky;top:0}.support-session-bar__actions{flex-wrap:wrap;flex:none;gap:8px;display:flex}.support-session-bar__copy{flex:auto;min-width:0;margin:0;font-size:13.5px;font-weight:700}.support-session-bar .ActionButton{white-space:nowrap;min-height:36px;padding:6px 14px}.platform-onboard{background:var(--surface-50);border:1.5px solid #b9c9e8;border-radius:16px;flex-direction:column;gap:14px;margin:16px 24px 20px;padding:18px 22px;display:flex}.platform-onboard__grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.platform-onboard__step{border:1.5px solid var(--line-200);background:#fff;border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;font-size:12.5px;display:flex}@media (max-width:1180px){.platform-services{grid-template-columns:repeat(2,1fr)}.platform-layout{flex-direction:column}.platform-layout__aside{flex:auto;width:100%}.platform-admin-row{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-onboard__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.platform-services,.platform-admin-row,.schools-form{grid-template-columns:1fr}.platform-schools__row{grid-template-columns:1fr 1fr;gap:6px 12px}.platform-schools__row--head{display:none}.platform-type-chips{grid-template-columns:1fr}.platform-types-table__row{grid-template-columns:1fr 1fr;gap:6px 12px}.platform-types-table__row--head{display:none}}@media (max-width:1180px) and (min-width:641px){.primo-page--builder .builder-rail{width:200px;padding:20px 12px}.primo-page--builder .builder-types{grid-template-columns:repeat(3,minmax(0,1fr))}.primo-page--builder .builder-saved--actions{display:none}.primo-page--builder .builder-saved--in-trail{flex-shrink:0;font-size:12px;display:inline-flex}.primo-page--builder .builder-trail-row{max-width:min(520px,46vw)}}@media (max-width:1180px){.builder-manage__head{flex-direction:column}.builder-manage__tools{width:100%}.builder-manage__search,.builder-manage__search .set-module-picker__select{width:100%;min-width:0!important;max-width:none!important}.builder-manage__filters{align-items:stretch}.builder-manage__filters-selects{flex:100%;width:100%}.builder-manage__groupby{width:100%}.builder-ms{min-width:calc(33.33% - 6px)}}@media (max-width:900px){.primo-page--builder .builder-trail-row{order:3;width:100%;max-width:none;margin-left:0}.primo-page--builder .builder-trail{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.primo-page--builder .primo-header__actions{flex-wrap:wrap;order:4;width:100%;margin-left:0}}@media (max-width:640px){.builder-desktop-only{display:none!important}.primo-page--builder .primo-header--builder{z-index:30;flex-direction:column;align-items:stretch;gap:8px;padding:12px 16px;position:sticky;top:0}.primo-page--builder .primo-logo{display:none}.primo-page--builder .primo-header__brand,.primo-page--builder .primo-header__brand-text{width:100%}.builder-phone-topline{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.builder-phone-topline .builder-trail__pill{flex-shrink:0;padding:4px 10px;font-size:12px}.builder-progress--phone{background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:0;display:flex}.builder-progress--phone .builder-progress__track{flex:1;min-width:0;height:6px}.builder-progress__step{color:var(--ink-500);white-space:nowrap;flex-shrink:0;font-size:12px;font-weight:700}.builder-phone-step-title{color:var(--ink-900);margin:0;font-size:15px;font-weight:800;line-height:1.3;display:block}.builder-shell{flex-direction:column;padding-bottom:128px}.builder-rail{display:none}.builder-main{flex:auto;width:100%;min-width:0;padding:14px 16px 24px}.builder-step>h1{display:none}.builder-step>p{margin:0 0 14px;font-size:13.5px}.builder-types{grid-template-columns:1fr;gap:10px}.builder-type{border-radius:16px;flex-direction:row;align-items:center;gap:12px;min-height:68px;padding:14px}.builder-type__glyph{border-radius:10px;flex-shrink:0;width:36px;height:36px;font-size:15px}.builder-type__text{flex:1;gap:2px}.builder-type__name{font-size:14px}.builder-type__desc{font-size:12px}.builder-type__cat{display:none}.builder-phone-footer{z-index:40;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--surface-0);border-top:1px solid var(--line-200);flex-direction:column;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 14px #053d9214}.builder-phone-footer .ActionButton{width:100%;min-height:var(--hit-primary);font-size:15px}.builder-phone-footer .builder-nav__hint{white-space:normal;text-align:center}.builder-phone-footer__save{align-self:center;min-height:44px;padding:8px 12px;font-size:14px}.builder-phone-footer__save:disabled{opacity:.5;cursor:not-allowed}}.org-page .org-header{flex-wrap:wrap;gap:12px 20px;overflow:visible}.org-header__actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex;position:relative}.org-header__actions .ActionButton{font-size:14px}.org-header__actions .ActionButton--primary{min-height:44px}.org-tools-btn{position:relative}.org-tools-btn__dot{background:var(--warning-700);width:8px;height:8px;box-shadow:0 0 0 2px var(--surface-0);pointer-events:none;border-radius:50%;position:absolute;top:6px;right:6px}.org-tools-backdrop{z-index:800;background:#16233f73;justify-content:center;align-items:center;padding:24px;animation:.15s ease-out confirmFadeIn;display:flex;position:fixed;inset:0}.org-tools-panel{background:var(--surface-50);flex-direction:column;display:flex}.org-tools-panel--overlay{border-radius:16px;width:100%;max-width:min(1120px,100vw - 48px);max-height:calc(100vh - 48px);animation:.18s ease-out confirmRiseIn;overflow:hidden;box-shadow:0 12px 40px #053d922e}.org-tools-head{background:var(--surface-0);border-bottom:1px solid var(--line-200);border-radius:16px 16px 0 0;flex-shrink:0;align-items:flex-start;gap:16px;padding:18px 16px 16px 24px;display:flex}.org-tools-head__text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.org-tools-title{color:var(--ink-900);margin:0;font-size:18px;font-weight:800;line-height:1.3}.org-tools-subtitle{color:var(--ink-500);margin:0;font-size:13.5px;font-weight:600;line-height:1.45}.org-tools-close{border:1.5px solid var(--line-200);background:var(--surface-0);width:44px;height:44px;color:var(--primo-navy);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-size:22px;font-weight:600;line-height:1;display:inline-flex}.org-tools-close:hover{border-color:var(--primo-blue);background:var(--surface-50)}.org-tools-close:focus-visible{box-shadow:var(--focus-ring);outline:none}.org-tools-body{min-height:0;padding:18px;overflow:auto}.org-tools-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:16px;display:grid}.org-tools-grid .primo-panel{width:100%;height:auto}.org-racha{border-radius:18px;flex-direction:column;gap:12px;padding:18px 20px;display:flex}.org-racha .org-empty{background:var(--surface-50);border-radius:12px;padding:14px 16px}.org-racha__list{flex-direction:column;gap:8px;display:flex}.org-racha__row .org-exception__dot{background:#02a9b0}.org-racha__row .org-exception__body span{text-transform:capitalize}.org-racha-table{flex-direction:column;display:flex;overflow-x:auto}.org-racha-table__row{border-top:1px solid #edf1f8;grid-template-columns:minmax(0,1.4fr) minmax(0,1.3fr) minmax(108px,.9fr) minmax(108px,.9fr) 168px;align-items:center;gap:10px;min-width:680px;padding:12px 0;font-size:13.5px;font-weight:600;display:grid}.org-racha-table__row>span{overflow-wrap:anywhere;min-width:0}.org-racha-table__row--head{letter-spacing:.04em;text-transform:uppercase;color:#5c6b8a;border-top:none;align-items:end;font-size:11.5px;font-weight:800}.org-racha-table__row>span:last-child{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex;overflow:visible}.org-racha-table__row>span:last-child .ActionButton{min-height:36px;padding:6px 12px;font-size:13px}.org-racha-dialog{width:min(480px,100%)}.org-racha__form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:4px;display:grid}.org-racha__form--dialog{padding-top:0}.org-racha__field{flex-direction:column;gap:4px;min-width:0;display:flex}.org-racha__field--wide{grid-column:1/-1}.org-racha__field>span{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted,#5c6b8a);font-size:12px;font-weight:800}.org-racha__field input,.org-racha__field select{width:100%;min-height:42px;color:var(--primo-navy);background:#fff;border:1.5px solid #dde4ef;border-radius:12px;padding:9px 12px;font-family:inherit;font-size:14px;font-weight:600}.org-racha__field input:hover,.org-racha__field select:hover{border-color:var(--primo-blue)}.org-racha__field input:focus-visible,.org-racha__field select:focus-visible{border-color:var(--primo-blue);outline:none;box-shadow:0 0 0 3px #0245aa26}.org-racha__form .org-weights__save{grid-column:1/-1}.org-main{flex-direction:column;justify-content:flex-start;gap:12px;display:flex}.org-kpis{grid-template-columns:2fr 1fr 1fr;gap:12px;display:grid}.org-kpi{background:var(--surface-0);box-shadow:var(--shadow-1);border-radius:16px;flex-direction:column;gap:7px;min-width:0;padding:23px 20px 16px;display:flex}.org-kpi__value{font-family:var(--font-display);color:var(--primo-navy);overflow-wrap:anywhere;font-size:30px;font-weight:700;line-height:1.1}.org-kpi__value span{font-size:16px}.org-kpi__label{color:var(--ink-500);overflow-wrap:anywhere;font-size:12.5px;font-weight:700}.org-kpi--headline{background:var(--primo-navy);gap:4px}.org-kpi__status{align-items:center;gap:10px;display:flex}.org-kpi__dot{background:#5c6b8a;border-radius:50%;flex:none;width:12px;height:12px}.org-kpi__dot--on{background:#0e8345}.org-kpi__dot--behind{background:#b54708}.org-kpi__dot--nodata{background:#5c6b8a}.org-kpi__status-word{font-family:var(--font-display);color:#fff;overflow-wrap:anywhere;font-size:30px;font-weight:700;line-height:1.1}.org-kpi__caption{color:#b9c9e8;overflow-wrap:anywhere;font-size:12.5px;font-weight:700}.org-kpi__support{color:#fff;overflow-wrap:anywhere;margin-top:4px;font-size:13.5px;font-weight:700}@media (max-width:767.98px){.org-kpis{grid-template-columns:1fr 1fr}.org-kpi--headline{grid-column:1/-1}}.org-layout{flex-direction:column;gap:24px;width:100%;display:flex}.org-sections{gap:0;width:100%;min-width:0;padding:0;overflow:hidden}.org-sections__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 24px 8px;display:flex}.org-sections__head h2{margin:0;font-size:17px;font-weight:800}.org-sections__head>span,.org-sections__head>div>span{color:var(--ink-muted,#5c6b8a);font-size:12.5px;font-weight:600}.org-sections__head>div{flex-direction:column;gap:4px;min-width:0;display:flex}.org-sections__search{cursor:text;text-overflow:ellipsis;background-image:none;flex:0 300px;width:min(300px,100%);min-width:0;padding:4px 12px;font-size:13.5px;font-weight:600}.org-sections__grid--no-gradebook{grid-template-columns:1.3fr .7fr .9fr .85fr .85fr}.org-sections__grid{grid-template-columns:1.3fr .7fr .9fr .85fr .85fr auto;align-items:center;gap:0 12px;padding:16px 24px;display:grid}.org-sections__grid--head{border-bottom:1px solid var(--border-1,#dde4ef);background:var(--surface-1,#f5f7fb);padding:7px 24px}.org-sections__grid--head span{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted,#5c6b8a);font-size:12px;font-weight:800}.org-sections__row{border-bottom:1px solid #edf1f8;min-height:66px}.org-sections__pager{border-top:1px solid #edf1f8;margin-top:0;padding:14px 24px 16px}.org-sections__name{flex-direction:column;gap:0;display:flex}.org-sections__name strong{font-size:14px;font-weight:700;line-height:1.3}.org-sections__name em{color:var(--ink-muted,#5c6b8a);font-size:12px;font-style:normal;font-weight:600;line-height:1.3}.org-sections__action{justify-content:flex-end;display:flex}.org-sections__gradebook-btn{white-space:nowrap;min-height:36px;padding:6px 12px;font-size:12.5px;text-decoration:none}.org-sections__comp{color:var(--ink-muted,#5c6b8a);align-items:center;gap:8px;font-size:12.5px;font-weight:700;display:flex}.org-sections__bar{background:#edf1f8;border-radius:999px;flex:1;max-width:60px;height:6px;overflow:hidden}.org-sections__bar>span{background:var(--primo-teal);border-radius:999px;height:100%;display:block}.org-pace-pill{border-radius:999px;justify-self:start;align-items:center;padding:3px 9px;font-size:11px;font-weight:800;display:inline-flex}.org-viewas{border-radius:18px;gap:12px;padding:18px 20px}.org-rail{flex-direction:column;flex:1;gap:16px;min-width:0;max-width:418px;display:flex}.org-tools-grid .org-viewas.platform-card{box-shadow:none;overflow:visible}.org-viewas .platform-card__title{color:var(--ink-900);font-size:clamp(14.5px,5.2cqi,17px);font-weight:800}.org-exceptions,.org-weights,.org-viewas{flex-direction:column;gap:12px;display:flex}.org-exceptions{border-radius:18px;gap:10px;padding:22px 24px 24px}.org-exceptions__head{flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:2px;display:flex}.org-exceptions__head h2{color:var(--ink-900);margin:0;font-size:17px;font-weight:800}.org-exceptions__head>span{color:var(--ink-muted,#5c6b8a);font-size:12.5px;font-weight:600;line-height:1.35}.org-exceptions .org-empty{background:var(--surface-50);border-radius:12px;padding:14px 16px}.org-weights{border-radius:18px;gap:12px;padding:18px 20px}.org-weights__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.org-weights__head h2{color:var(--ink-900);margin:0;font-size:17px;font-weight:800}.org-empty{color:var(--ink-muted,#5c6b8a);margin:0;padding:0 24px 20px;font-size:13.5px;font-weight:600}.roleplay-alert-banner{background:#fff5f5;border:1.5px solid #f6cdcd;border-radius:14px;align-items:center;gap:14px;width:100%;padding:14px 20px;display:flex}.roleplay-alert-banner--idle{background:var(--surface-50,#f6f8fc);border-color:var(--line-200,#d7deeb)}.roleplay-alert-banner--idle .roleplay-alert-banner__copy strong{color:var(--primo-navy,#053d92)}.roleplay-alert-banner--idle .roleplay-alert-banner__cta{border-color:var(--line-200,#d7deeb);color:var(--primo-navy,#053d92)}.roleplay-alert-banner--idle .roleplay-alert-banner__cta:hover{background:#eef3fb}.roleplay-alert-banner--idle .roleplay-alert-banner__cta:focus-visible{box-shadow:0 0 0 3px #fff, 0 0 0 6px var(--primo-blue,#0245aa)}.roleplay-alert-banner__icon{color:#fff;background:#d92d20;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:17px;font-weight:800;display:inline-flex}.roleplay-alert-banner__copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.roleplay-alert-banner__copy strong{color:#b42318;font-size:15px}.roleplay-alert-banner__copy span{color:var(--ink-muted,#5c6b8a);font-size:13px;font-weight:600}.roleplay-alert-banner__cta{color:#b42318;min-height:40px;transition:background var(--dur-fast) var(--ease-out);background:#fff;border:1.5px solid #f0bcbc;border-radius:999px;flex:none;align-items:center;gap:6px;padding:9px 18px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.roleplay-alert-banner__cta:hover{background:#fdecec}.roleplay-alert-banner__cta:focus-visible{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 6px #b42318}.alerts-main{flex:1;padding:24px 28px;display:block}.alerts-page{flex-direction:column;gap:14px;width:min(1040px,100%);margin:0 auto;display:flex}@media (max-width:720px){.alerts-main{padding:16px}}.alerts-guide{background:var(--info-100);border-radius:var(--r-md);border:1px solid #d3e0f7;padding:16px 20px 15px}.alerts-guide__head{align-items:center;gap:10px;display:flex}.alerts-guide__icon{background:var(--primo-blue);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.alerts-guide__headline{color:var(--ink-900);font-family:var(--font-display);margin:0;font-size:16px;font-weight:700;line-height:1.3}.alerts-guide__steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 20px;margin:13px 0 0;padding:0;list-style:none;display:grid}.alerts-guide__steps li{color:var(--ink-700);align-items:flex-start;gap:9px;font-size:13.5px;font-weight:600;line-height:1.45;display:flex}.alerts-guide__num{background:var(--surface-0);width:20px;height:20px;color:var(--primo-blue);border:1.5px solid #c5d6f2;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-top:1px;font-size:11.5px;font-weight:800;display:inline-flex}.alerts-guide__note{color:var(--ink-500);border-top:1px solid #d3e0f7;margin:13px 0 0;padding-top:12px;font-size:12.5px;font-weight:600;line-height:1.5}@media (max-width:720px){.alerts-guide__steps{grid-template-columns:1fr}}.alerts-page__tabs{flex-wrap:wrap;gap:8px;display:flex}.alerts-page__tab{border:1.5px solid var(--line-200);min-height:40px;color:var(--ink-700,#33415c);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 18px;font-size:14px;font-weight:700;display:inline-flex}.alerts-page__tab:hover{background:var(--surface-50)}.alerts-page__tab[aria-selected=true]{border-color:var(--primo-blue);background:var(--primo-blue);color:#fff}.alerts-page__tab:focus-visible{box-shadow:var(--focus-ring);outline:none}.alerts-page__tab-count{color:#fff;background:#b42318;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 7px;font-size:12px;font-weight:800;display:inline-flex}.alerts-page__empty{border:1.5px dashed var(--line-200);color:var(--ink-muted,#5c6b8a);border-radius:14px;margin:0;padding:22px;font-size:14px;font-weight:600}.alerts-page__note{color:var(--ink-500);margin:0;font-size:12.5px;font-weight:600}.alerts-page__more{align-self:flex-start}.alerts-toolbar{background:var(--surface-0);border:1.5px solid var(--line-200);border-radius:var(--r-md);box-shadow:var(--shadow-1);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 20px;padding:14px 18px;display:flex}.alerts-toolbar__stats{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.alerts-stat{color:var(--ink-500);font-size:13px;font-weight:600}.alerts-stat strong{color:var(--ink-900);font-family:var(--font-display);margin-right:6px;font-size:20px}.alerts-stat--high strong{color:var(--error-600)}.alerts-toolbar__tools{flex-wrap:wrap;gap:8px;display:flex}.alerts-toolbar__search,.alerts-toolbar__select{border:1.5px solid var(--line-200);background:var(--surface-0);min-height:40px;color:var(--ink-900);font:inherit;border-radius:10px;padding:9px 14px;font-size:13.5px;font-weight:600}.alerts-toolbar__search{width:260px;max-width:100%}.roleplay-safety-alert{padding:16px 20px}.roleplay-safety-alert--card[data-severity=high]{--alert-sev:var(--error-600);--alert-sev-bg:var(--error-100);--alert-sev-border:var(--error-border)}.roleplay-safety-alert--card[data-severity=medium]{--alert-sev:var(--warning-700);--alert-sev-bg:var(--warning-100);--alert-sev-border:#edc49a}.roleplay-safety-alert--card[data-severity=low]{--alert-sev:var(--ink-700);--alert-sev-bg:var(--surface-100);--alert-sev-border:var(--line-200)}.roleplay-safety-alert--card{background:var(--surface-0,#fff);border:1.5px solid var(--line-200);box-shadow:var(--shadow-1);border-radius:16px;padding:0;display:flex;overflow:hidden}.roleplay-safety-alert__rail{background:var(--alert-sev,var(--ink-300));flex:0 0 5px}.roleplay-safety-alert__body{flex:1;min-width:0;padding:16px 20px}.roleplay-safety-alert__handled{color:var(--ink-muted,#5c6b8a);flex:none;font-size:13px;font-weight:700}.roleplay-safety-alert__meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.roleplay-safety-alert__avatar{background:var(--surface-100);width:38px;height:38px;color:var(--ink-700);font-family:var(--font-display);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:inline-flex}.roleplay-safety-alert__who{flex-direction:column;flex:1;min-width:0;display:flex}.roleplay-safety-alert__time{color:var(--ink-muted,#5c6b8a);flex:none;font-size:12.5px;font-weight:700}.roleplay-safety-alert__category{border:1.5px solid var(--alert-sev-border,var(--line-200));background:var(--alert-sev-bg,var(--surface-100));color:var(--alert-sev,var(--ink-700));letter-spacing:.02em;border-radius:999px;padding:4px 11px;font-size:11.5px;font-weight:800}.roleplay-safety-alert--approved.roleplay-safety-alert--card{--alert-sev:var(--success-600);--alert-sev-bg:#d1fadf;--alert-sev-border:#abefc6;background:var(--success-100);border-color:#abefc6}.roleplay-safety-alert--approved blockquote{background:#f6fef9}.roleplay-safety-alert--approved .roleplay-safety-alert__ack{background:var(--success-600)}.roleplay-safety-alert--approved .roleplay-safety-alert__ack:hover:not(:disabled){background:#067647}.roleplay-safety-alert--approved .roleplay-safety-alert__ack:focus-visible{box-shadow:0 0 0 3px #fff, 0 0 0 6px var(--success-600)}.roleplay-safety-alert__student{color:var(--ink-900);font-size:15px}.roleplay-safety-alert__where{color:var(--ink-muted,#5c6b8a);flex-direction:column;gap:3px;margin-top:3px;font-size:12.5px;font-weight:600;display:flex}.roleplay-safety-alert__where-row{overflow-wrap:anywhere;align-items:center;gap:7px;min-width:0;display:flex}.roleplay-safety-alert__where-icon{color:var(--ink-300);flex:none}.roleplay-safety-alert blockquote{border-left:3px solid var(--alert-sev,var(--ink-300));background:var(--surface-50);color:var(--ink-900);overflow-wrap:anywhere;border-radius:0 10px 10px 0;margin:12px 0 0;padding:12px 16px;font-size:15px;font-weight:600;line-height:1.5}.roleplay-safety-alert__response{color:var(--ink-muted,#5c6b8a);margin:10px 0 0;font-size:13px;line-height:1.5}.roleplay-safety-alert__response strong{color:var(--ink-900)}.roleplay-safety-alert__response-label{color:var(--ink-300);letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:800;display:block}.roleplay-safety-alert__actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;display:flex}.roleplay-safety-alert__actions details{flex:1;min-width:0}.roleplay-safety-alert__actions summary{cursor:pointer;color:var(--primo-blue);font-size:13.5px;font-weight:700;display:inline-block}.roleplay-safety-alert__ack{background:var(--primo-blue);color:#fff;cursor:pointer;min-height:38px;transition:background var(--dur-fast) var(--ease-out);border:0;border-radius:999px;flex:none;padding:9px 18px;font-size:14px;font-weight:700}.roleplay-safety-alert__ack:hover:not(:disabled){background:var(--primo-navy)}.roleplay-safety-alert__ack:focus-visible{box-shadow:var(--focus-ring);outline:none}.roleplay-safety-alert__ack:disabled{opacity:.55;cursor:not-allowed}.roleplay-safety-alert__transcript{background:var(--surface-50);border-radius:10px;margin-top:10px;padding:12px 14px;font-size:13.5px}.roleplay-safety-alert__transcript p{overflow-wrap:anywhere;margin:0 0 8px}.roleplay-safety-alert__transcript p:last-child{margin-bottom:0}@media (max-width:640px){.roleplay-safety-alert__actions{flex-direction:column;align-items:stretch}}.org-exception{border:1.5px solid #edf1f8;border-radius:12px;align-items:center;gap:12px;padding:10px 14px;display:flex}.org-exception__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.org-exception__body{flex-direction:column;flex:1;min-width:0;display:flex}.org-exception__body strong{text-transform:capitalize;font-size:13.5px;font-weight:700}.org-exception__body span{color:var(--ink-muted,#5c6b8a);font-size:12px;font-weight:600}.org-exception__btn{flex-shrink:0;min-height:36px;padding:7px 14px;font-size:12.5px;text-decoration:none}.org-audit-pill{letter-spacing:.06em;text-transform:uppercase;color:#6d3fc5;white-space:nowrap;background:#f0eafb;border-radius:999px;flex-shrink:0;padding:5px 12px;font-size:11px;font-weight:800}.org-weight-bar{gap:4px;height:14px;display:flex}.org-weight-bar>span{border-radius:999px;min-width:0}.org-weight-rows{flex-direction:column;gap:10px;display:flex}.org-weight-row{align-items:center;gap:10px;display:flex}.org-weight-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.org-weight-name{color:var(--ink-900);flex:1;font-size:14.5px;font-weight:700}.org-weight-stepper{align-items:center;gap:4px;display:flex}.org-weight-stepper button{width:34px;height:34px;color:var(--primo-navy);cursor:pointer;background:#fff;border:1.5px solid #dde4ef;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-size:16px;font-weight:800;display:inline-flex}.org-weight-stepper button:hover{border-color:var(--primo-blue)}.org-weight-stepper button:disabled{color:var(--ink-muted,#5c6b8a);background:var(--surface-50);cursor:not-allowed;border-color:#e6ebf4}.org-weight-stepper button:focus-visible{box-shadow:var(--focus-ring);outline:none}.org-weight-input-wrap{background:0 0;border:1.5px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:0;min-width:62px;height:34px;padding:0 4px;display:inline-flex}.org-weight-input-wrap:hover{border-color:#e6ebf4}.org-weight-input-wrap:focus-within{border-color:var(--primo-blue);background:#fff;box-shadow:0 0 0 3px #0245aa26}.org-weight-input{width:46px;color:var(--primo-navy);text-align:right;appearance:textfield;background:0 0;border:none;outline:none;padding:0;font-family:inherit;font-size:15.5px;font-weight:800}.org-weight-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.org-weight-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.org-weight-input--center{text-align:center;width:28px}.org-weight-input-wrap>span{color:var(--primo-navy);font-size:15.5px;font-weight:800}.org-weight-hint{color:var(--ink-muted,#5c6b8a);margin:0;font-size:12.5px;font-weight:600;line-height:1.45}.org-weights__footer{flex-direction:column;align-items:stretch;gap:12px;padding-top:4px;display:flex}.org-weights__save{border-radius:12px;align-self:stretch;min-height:44px;padding:12px 24px;font-size:14px}.org-weight-invalid{color:#b54708;background:#fdf0e3;border-radius:12px;padding:10px 14px;font-size:12.5px;font-weight:700}.SummaryTile--warn .SummaryTile__value{color:#b54708}.SummaryTile__value--good{color:#0e8345}@media (max-width:1180px){.org-layout{flex-direction:column}.org-tools-grid{grid-template-columns:1fr}.org-tools-backdrop{align-items:flex-start;padding:48px 16px 16px}.org-tools-panel--overlay{max-height:calc(100vh - 64px)}.org-tools-head{padding:16px 12px 14px 18px}.org-tools-body{padding:14px}}@media (max-width:720px){.org-sections__grid{grid-template-columns:1fr 1fr;gap:8px}.org-sections__grid--head{display:none}.org-sections__action{grid-column:1/-1;justify-content:flex-start;margin-top:4px}.org-weights,.org-exceptions,.org-viewas{padding:20px 18px 22px}.org-sections__grid{padding:12px 24px}}.RoleplaySpeakBar{background:#fff;border:1.5px solid #dde4ef;border-radius:20px;flex-shrink:0;align-items:center;gap:18px;margin-top:4px;padding:16px 24px;display:flex;box-shadow:0 4px 14px #053d921a}.RoleplaySpeakBar__mic{cursor:pointer;color:#fff;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .16s,background .16s;display:flex;position:relative}.RoleplaySpeakBar__mic:disabled{opacity:.45;cursor:not-allowed}.RoleplaySpeakBar__mic:focus-visible{outline-offset:3px;outline:3px solid #0245aa}.RoleplaySpeakBar__mic--ready{background:#0245aa;box-shadow:0 4px 14px #053d9240}.RoleplaySpeakBar__mic--ready:not(:disabled):hover{background:#053d92;transform:scale(1.05)}.RoleplaySpeakBar__mic--stop{z-index:1;background:#e40966;position:relative}.RoleplaySpeakBar__mic--stop:focus-visible{outline-color:#e40966}.RoleplaySpeakBar__mic--idle{color:#5c6b8a;cursor:default;box-shadow:none;background:#edf1f8}.RoleplaySpeakBar__spinner{box-sizing:border-box;border:5px solid #d5deef;border-top-color:#0245aa;border-radius:50%;flex-shrink:0;width:56px;height:56px;animation:.85s linear infinite spin}.RoleplaySpeakBar__spinner--soft{border-width:4px;border-top-color:#5c6b8a;width:48px;height:48px}.RoleplaySpeakBar__pulse{pointer-events:none;background:#e40966;border-radius:50%;animation:1.4s ease-out infinite pulseRing;position:absolute;inset:0}.RoleplaySpeakBar__stopIcon{background:#fff;border-radius:6px;width:20px;height:20px}.RoleplaySpeakBar__copy{flex-direction:column;flex:1;align-items:flex-start;gap:3px;min-width:0;display:flex}.RoleplaySpeakBar__copy .MicChip{margin-top:6px}.RoleplaySpeakBar__title{color:#e40966;margin:0;font-size:15px;font-weight:800;line-height:1.25}.RoleplaySpeakBar__title--neutral{color:#16233f;font-weight:700}.RoleplaySpeakBar__title--muted{color:#5c6b8a;font-weight:700}.RoleplaySpeakBar__sub{color:#5c6b8a;margin:0;font-size:13px;font-weight:600;line-height:1.35}.RoleplaySpeakBar__hint{color:#8a97b0;margin:0;font-size:12.5px;font-weight:600;line-height:1.35}.RoleplayLiveTranscript{color:#16233f;overflow-wrap:anywhere;width:100%;max-height:4.2em;margin:0;font-size:14px;font-weight:600;line-height:1.4;overflow-y:auto}.RoleplayLiveTranscript__interim{color:#5c6b8a;font-style:italic}.RoleplayLiveTranscript__waiting{color:#8a97b0;font-style:italic;font-weight:600}.RoleplaySpeakBar__help{color:#5c6b8a;white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:12.5px;font-weight:600}.RoleplaySpeakBar__help a{color:#0245aa;font-weight:700;text-decoration:none}.RoleplaySpeakBar__help a:hover{color:#053d92}@media (max-width:640px){.RoleplaySpeakBar{flex-wrap:wrap;gap:12px;padding:14px 16px}.RoleplaySpeakBar__help{text-align:center;width:100%;margin-left:0}}.roles-header-actions,.roles-list-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.roles-entry-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.roles-entry-actions .ActionButton{margin:0}.roles-toolbar{grid-template-columns:minmax(180px,1fr) 180px;align-items:end;gap:12px;margin:8px 0 16px;display:grid}.roles-table .roles-table__row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) .8fr .9fr .8fr minmax(148px,auto);align-items:center}.roles-table__actions{white-space:nowrap;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:8px;display:flex}.roles-table__actions .ActionButton,.roles-table__actions .platform-card__action{flex-shrink:0}.roles-pill{letter-spacing:.03em;text-transform:uppercase;color:#334155;background:#eef3fb;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex}.roles-pill--system{color:#0245aa;background:#e7eefb}.roles-editor__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.roles-sync__stats{color:#5c6b8a;align-items:center;gap:12px;min-height:40px;font-size:13px;font-weight:700;display:flex}.roles-sync__groups{flex-direction:column;gap:18px;margin-top:16px;display:flex}.roles-sync__group h3{color:var(--primo-navy);margin:0 0 8px;font-size:15px;font-weight:800}.RoleCheckbox{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:flex-start;align-items:center;gap:10px;margin:0;line-height:1;display:inline-flex;position:relative}.RoleCheckbox.is-disabled{opacity:.55;cursor:not-allowed}.RoleCheckbox__input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.RoleCheckbox__box{box-sizing:border-box;background:#fff;border:2px solid #b7c4db;border-radius:6px;flex:0 0 20px;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.RoleCheckbox__box.is-checked,.RoleCheckbox__box.is-indeterminate{background:var(--primo-blue);border-color:var(--primo-blue);color:#fff}.RoleCheckbox__mark{width:12px;height:12px;display:block}.RoleCheckbox__dash{background:#fff;border-radius:2px;width:10px;height:2px;display:block}.RoleCheckbox__input:focus-visible+.RoleCheckbox__box{box-shadow:var(--focus-ring)}.RoleCheckbox__label{color:var(--primo-navy);text-transform:capitalize;align-items:center;font-size:14px;font-weight:700;line-height:20px;display:inline-flex}.RoleCheckbox__text{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.RoleCheckbox__desc{color:#3d9b6c;font-size:12.5px;font-weight:600;line-height:1.3}.RoleCheckbox--permission{align-items:flex-start;width:100%;min-width:0}.RoleCheckbox--permission .RoleCheckbox__box{margin-top:1px}.RoleCheckbox--permission .RoleCheckbox__label{text-transform:none;font-size:14px;font-weight:800;line-height:1.25}.RoleCheckbox--chip{background:#f8fafc;border:1.5px solid #d7e0ef;border-radius:10px;justify-content:flex-start;width:auto;min-width:128px;min-height:42px;padding:0 14px}.RoleCheckbox--chip.is-on{background:#eaf1ff;border-color:#9db7e8}.roles-sync__hint{color:#5c6b8a;max-width:62ch;margin:6px 0 0;font-size:13px;font-weight:600}.roles-sync__hint a{color:var(--primo-blue);font-weight:800;text-decoration:none}.roles-sync__hint a:hover{text-decoration:underline}.roles-sync__hint code{background:#eef3fb;border-radius:6px;padding:1px 6px;font-size:12px}.roles-sync__empty{color:#5c6b8a;margin:0;font-size:13.5px;font-weight:600}.roles-sync__select-all{color:var(--primo-navy);align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.roles-sync__checks{flex-direction:column;gap:6px;max-height:280px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.roles-sync__checks li label{color:#334155;cursor:pointer;background:#f4f7fc;border:1px solid #e6ecf5;border-radius:10px;align-items:baseline;gap:8px;padding:8px 12px;font-size:12.5px;font-weight:600;display:flex}.roles-sync__checks strong{color:var(--primo-navy);min-width:110px}.roles-module__menu{letter-spacing:.04em;text-transform:uppercase;color:#0245aa;background:#e7eefb;border-radius:999px;margin-left:8px;padding:2px 7px;font-size:10px;font-weight:800}.roles-layout{grid-template-columns:minmax(260px,.9fr) minmax(0,1.4fr);align-items:start;gap:16px;margin-top:16px;display:grid}.roles-filter,.roles-field{letter-spacing:.04em;text-transform:uppercase;color:#5c6b8a;flex-direction:column;align-items:stretch;gap:6px;font-size:12px;font-weight:800;display:flex}.roles-field__label{align-items:center;gap:4px;display:inline-flex}.roles-field__required{color:var(--error-600);font-size:14px;font-weight:800;line-height:1}.roles-field__error{letter-spacing:0;text-transform:none;width:100%;color:var(--error-600);margin:0;font-size:12px;font-weight:700;display:block}.roles-editor-footer__left{align-items:center;gap:10px;min-height:32px;display:flex}.roles-issue-pill{min-height:32px;color:var(--error-600);background:#fce8e6;border-radius:999px;align-items:center;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.roles-filter input,.roles-filter select,.roles-field input,.roles-field select,.roles-field textarea{width:100%;min-height:40px;color:var(--primo-navy);text-transform:none;letter-spacing:0;background:#fff;border:1px solid #d5deec;border-radius:10px;padding:8px 12px;font-size:14px;font-weight:600}.roles-filter input:focus,.roles-filter input:focus-visible,.roles-filter select:focus,.roles-filter select:focus-visible,.roles-field input:focus,.roles-field input:focus-visible,.roles-field select:focus,.roles-field select:focus-visible,.roles-field textarea:focus,.roles-field textarea:focus-visible,.roles-assign__row input:focus,.roles-assign__row input:focus-visible,.roles-assign__row select:focus,.roles-assign__row select:focus-visible{box-shadow:none;border-color:#d5deec;outline:none}.roles-field.is-invalid input,.roles-field.is-invalid select,.roles-field.is-invalid textarea,.roles-field.is-invalid input:focus,.roles-field.is-invalid input:focus-visible,.roles-field.is-invalid select:focus,.roles-field.is-invalid select:focus-visible,.roles-assign__row input.is-invalid,.roles-assign__row select.is-invalid,.roles-assign__row input.is-invalid:focus,.roles-assign__row input.is-invalid:focus-visible,.roles-assign__row select.is-invalid:focus,.roles-assign__row select.is-invalid:focus-visible{border-color:var(--error-600);box-shadow:none;background:#fff8f7}.roles-list__items{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.roles-list__item{text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #e6ecf5;border-radius:12px;width:100%;padding:10px 12px}.roles-list__item.is-active,.roles-list__item:hover{background:#eef4ff;border-color:#9db7e8}.roles-list__name{color:var(--primo-navy);font-size:14px;font-weight:800;display:block}.roles-list__meta{color:#5c6b8a;margin-top:2px;font-size:12px;font-weight:600;display:block}.roles-editor{gap:16px}.roles-wide .teacher-main{width:100%;max-width:none;padding:20px 28px 108px}.roles-editor-shell{flex-direction:column;gap:20px;display:flex}.roles-editor-shell>.roles-assign-accordions{order:1}.roles-editor-shell>.roles-editor-top{order:2}.roles-editor-shell>.roles-editor-perms{order:3}.roles-editor-shell>.roles-editor-footer{order:4}.roles-editor-top,.roles-editor-perms{box-shadow:var(--shadow-1);background:#fff;border-radius:16px;padding:20px 22px}.roles-editor-top{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);align-items:start;gap:24px;display:grid}.roles-editor-top__fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.roles-editor-perms__head{margin-bottom:14px}.roles-perms{flex-direction:column;gap:14px;display:flex}.roles-perms__toolbar{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.roles-perms__search{min-width:220px;min-height:42px;color:var(--primo-navy);border:1px solid #d5deec;border-radius:10px;flex:1;padding:8px 14px;font-size:14px;font-weight:600}.roles-perms__count{color:#5c6b8a;white-space:nowrap;font-size:13px;font-weight:700}.roles-module-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.roles-accordion{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.roles-accordion__item{background:#fff;border:1px solid #e4ebf5;border-radius:14px;margin:0;overflow:hidden}.roles-accordion__item.is-partial{background:#fbfdff;border-color:#c5d6f4}.roles-accordion__item.is-complete{background:#f4f8ff;border-color:#9db7e8}.roles-accordion__row{align-items:center;gap:10px;padding:6px 8px 6px 14px;display:flex}.roles-accordion__trigger{cursor:pointer;text-align:left;min-height:48px;font:inherit;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:8px 10px;display:flex}.roles-accordion__title{color:var(--primo-navy);font-size:15px;font-weight:800}.roles-accordion__chevron{color:#5c6b8a;margin-left:auto;font-size:14px}.roles-accordion__body{flex-wrap:wrap;gap:10px;padding:0 16px 16px 44px;display:flex}.roles-perms .roles-accordion__body,.roles-sync .roles-accordion__body{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 20px;padding:4px 16px 18px 44px;display:grid}.roles-accordion__all{color:var(--primo-blue);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:800}.roles-module-card{background:#fff;border:1px solid #e4ebf5;border-radius:14px;flex-direction:column;gap:12px;min-height:148px;margin:0;padding:14px;display:flex}.roles-module-card.is-partial{background:#fbfdff;border-color:#c5d6f4}.roles-module-card.is-complete{background:#f4f8ff;border-color:#9db7e8}.roles-module-card__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.roles-module-card__meta{flex-shrink:0;align-items:center;gap:8px;display:flex}.roles-module-card__n{color:#5c6b8a;font-size:12px;font-weight:800}.roles-module-card__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.roles-assign-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.roles-assign-accordions{grid-template-columns:1fr 1fr;align-items:start;gap:12px 16px;display:grid}.roles-assign-accordions .roles-accordion__trigger{width:100%;padding:10px 16px}.roles-assign-accordions .roles-accordion__body{flex-direction:column;gap:8px;padding:0 16px 16px;display:flex}.roles-editor-footer{z-index:5;background:#fff;border:1px solid #e6ecf5;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;bottom:12px;box-shadow:0 10px 30px #0f285014}.roles-save-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.roles-perms__head{letter-spacing:.04em;text-transform:uppercase;color:#5c6b8a;margin:0;font-size:12px;font-weight:800}.roles-module{border:1px solid #e6ecf5;border-radius:12px;margin:0;padding:10px 12px 12px}.roles-module legend{color:var(--primo-navy);align-items:center;gap:6px;padding:0 6px;font-size:13.5px;font-weight:800;display:inline-flex}.roles-module legend label,.roles-module__actions label{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.roles-module__actions{color:#334155;text-transform:capitalize;flex-wrap:wrap;gap:10px 16px;font-size:13.5px;font-weight:600;display:flex}@media (max-width:900px){.roles-layout,.roles-editor__grid,.roles-toolbar,.roles-editor-top,.roles-editor-top__fields,.roles-assign-grid,.roles-assign-accordions{grid-template-columns:1fr}.roles-table{overflow-x:auto}.roles-table .roles-table__row{grid-template-columns:minmax(140px,1.2fr) minmax(120px,1fr) minmax(100px,.8fr) minmax(120px,.9fr) minmax(100px,.8fr) minmax(148px,auto);min-width:760px}.roles-module-card__actions,.roles-accordion{grid-template-columns:1fr}.roles-perms .roles-accordion__body,.roles-sync .roles-accordion__body{grid-template-columns:1fr 1fr}}@media (max-width:640px){.roles-perms .roles-accordion__body,.roles-sync .roles-accordion__body{grid-template-columns:1fr}}.roles-assign{flex-direction:column;gap:8px;display:flex}.roles-assign__row{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.roles-assign__row .roles-field{flex:1;min-width:220px}.roles-assign__row>.ActionButton{align-self:flex-start;margin-top:22px}.roles-assign__row input,.roles-assign__row select{min-width:220px;min-height:40px;color:var(--primo-navy);background:#fff;border:1px solid #d5deec;border-radius:10px;flex:1;padding:8px 12px;font-size:14px;font-weight:600}.users-form{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:start;gap:10px;display:grid}.users-form>.ActionButton{margin-top:18px}.users-form__hint{grid-column:1/-1;margin:0}.users-create-hint{white-space:nowrap;max-width:none}.users-create-accordions{flex-direction:column;gap:10px;display:flex}.users-create-tabs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.users-create-tab{min-height:32px;color:var(--primo-navy);cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d5deec;border-radius:999px;padding:5px 14px;font-size:13px;font-weight:700}.users-create-tab:hover{background:#fbfdff;border-color:#b8c9e6}.users-create-tab.is-active{color:var(--primo-blue);background:#f4f8ff;border-color:#9db7e8}.users-create-panel{background:#fbfdff;border:1px solid #e4ebf5;border-radius:12px;padding:16px 16px 14px}.users-create-panel .users-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:14px 16px;display:grid}.users-create-panel .users-form>.ActionButton{width:100%;min-height:44px;margin-top:24px}.users-create-panel .roles-field input,.users-create-panel .roles-field select,.users-create-panel .roles-field .auth-password input{min-height:44px;padding:10px 14px;font-size:15px}@media (max-width:1180px){.users-create-panel .users-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.users-create-panel .users-form{grid-template-columns:1fr}}.users-type-tabs{flex-wrap:wrap;gap:8px;display:flex}.users-list-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.users-withdrawn-filter{min-height:36px;color:var(--primo-navy);white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.users-withdrawn-filter input{width:16px;height:16px;accent-color:var(--primo-blue)}.users-list-search{width:260px;max-width:100%;min-height:36px;color:var(--primo-navy);background:#fff;border:1.5px solid #d5deec;border-radius:10px;padding:6px 12px;font-size:14px;font-weight:600}.users-list-search:focus,.users-list-search:focus-visible{border-color:var(--primo-blue);outline:none}.users-page-size{min-width:72px;min-height:36px;color:var(--primo-navy);background:#fff;border:1.5px solid #d5deec;border-radius:10px;padding:6px 10px;font-size:14px;font-weight:700}.users-table{flex-direction:column;display:flex}.users-table--directory{overflow-x:auto}.users-table--directory .users-table__row{grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,.65fr) minmax(0,.7fr) minmax(0,1fr) 132px;min-width:760px}.users-table--directory.users-table--with-section .users-table__row{grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,.65fr) minmax(0,.7fr) minmax(0,1fr) minmax(0,1.2fr) 132px;min-width:860px}.users-table__row{border-top:1px solid #edf1f8;grid-template-columns:minmax(0,1.2fr) minmax(0,1.3fr) minmax(0,.7fr) minmax(0,.8fr) minmax(0,1.2fr) 132px;align-items:center;gap:10px;padding:12px 0;font-size:13.5px;font-weight:600;display:grid}.users-table__row>span{text-align:left;overflow-wrap:anywhere;justify-self:stretch;min-width:0}.users-table__row--head{letter-spacing:.04em;text-transform:uppercase;color:#5c6b8a;border-top:none;align-items:end;font-size:11.5px;font-weight:800}.users-table__row--head>span{text-align:left;width:100%;display:block}.users-table__row>span:last-child{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex;overflow:visible}.users-table__row>span:last-child .ActionButton{gap:6px;min-height:36px;padding:6px 12px;font-size:13px}.schools-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.schools-form label{color:#5c6b8a;flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}.schools-form input,.schools-form select{min-height:40px;font:inherit;color:#17315d;background:#fff;border:1.5px solid #d5deee;border-radius:10px;padding:8px 12px;font-weight:600}.schools-form__actions{grid-column:1/-1;gap:8px;margin-top:4px;display:flex}.schools-manage-table{overflow-x:auto}.schools-manage-table .users-table__row{grid-template-columns:minmax(140px,1.6fr) .55fr minmax(120px,1fr) .7fr minmax(260px,1.4fr);align-items:center;min-width:720px}.schools-manage-table .users-table__row--head{align-items:center}.schools-manage-table .users-table__row>span,.schools-manage-table .users-table__row--head>span{text-align:left;justify-self:stretch}.schools-manage-table .users-table__row>span:last-child{width:100%;min-width:0;display:block;overflow:visible}.schools-manage-table__actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;width:100%;display:flex}.schools-manage-table__actions .ActionButton{white-space:nowrap;flex:none;min-height:36px;padding:6px 12px;font-size:13px}.users-icon-btn{width:36px;min-width:36px;padding:0;position:relative}.users-icon-btn--danger{color:var(--error-600);border-color:var(--error-600)}.users-icon-btn--danger:hover:not(:disabled){color:var(--error-600);border-color:var(--error-600);background:var(--error-100)}.users-icon-btn[data-tooltip]:after{content:attr(data-tooltip);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:5;background:#16233f;border-radius:8px;padding:5px 8px;font-size:12px;font-weight:700;line-height:1.2;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.users-icon-btn[data-tooltip]:before{content:"";opacity:0;pointer-events:none;z-index:5;border:6px solid #0000;border-top-color:#16233f;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)}.users-icon-btn[data-tooltip]:hover:after,.users-icon-btn[data-tooltip]:hover:before,.users-icon-btn[data-tooltip]:focus-visible:after,.users-icon-btn[data-tooltip]:focus-visible:before{opacity:1}.users-type-tab{min-height:36px;color:var(--primo-navy);cursor:pointer;background:#fff;border:1.5px solid #d5deec;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:700}.users-type-tab:hover{border-color:var(--primo-blue);background:#f4f8ff}.users-type-tab.is-active{background:var(--primo-blue);border-color:var(--primo-blue);color:#fff}.users-type-tab.is-active:hover{background:var(--primo-navy);border-color:var(--primo-navy);color:#fff}.users-type-tab:focus-visible{box-shadow:var(--focus-ring);outline:none}.users-table__email{text-overflow:ellipsis;white-space:nowrap;color:#334155;width:100%;font-weight:600;display:block;overflow:hidden}.users-table__row select{border:1px solid #d5deec;border-radius:10px;min-height:36px;padding:6px 10px;font-weight:600}.confirm-dialog-backdrop:has(.users-edit-dialog){z-index:1100}.confirm-dialog-backdrop--confirming{visibility:hidden;pointer-events:none}.swal2-container{z-index:2200!important}.users-edit-dialog{width:min(640px,100%)}.users-edit-dialog__form{grid-template-columns:1fr 1fr}.roles-field .auth-password{width:100%}.users-edit-dialog__actions{grid-column:1/-1;margin-top:4px}.users-section-picker{border:0;grid-column:1/-1;min-width:0;margin:0;padding:0}.users-section-picker>legend{margin-bottom:6px;padding:0}.users-section-picker__list{background:#fff;border:1px solid #d5deec;border-radius:10px;flex-direction:column;gap:2px;max-height:196px;padding:8px 10px;display:flex;overflow:auto}.users-section-picker__list .RoleCheckbox{width:100%}.users-section-picker .roles-sync__hint{margin:6px 0 0}.users-create-dialog{width:min(640px,100%);max-height:min(90vh,820px);overflow:auto}.change-password-dialog{width:min(460px,100%);max-height:min(90vh,780px);overflow:auto}.change-password-dialog__form{grid-template-columns:1fr;gap:14px;margin-top:6px}.change-password-dialog__form .password-requirements{margin-top:-6px}.password-requirements{grid-template-columns:1fr 1fr;gap:4px 12px;margin:0;padding:0;list-style:none;display:grid}.password-requirements__item{color:var(--ink-500);font-size:12px;font-weight:600;line-height:1.4}.password-requirements__item.is-met{color:#0e8345}.users-create-dialog .users-create-hint{white-space:normal}.users-create-dialog .users-create-panel{background:0 0;border:none;padding:0}.users-create-dialog .users-create-panel .users-form,.users-create-dialog__form{grid-template-columns:1fr 1fr}.users-create-dialog .users-create-dialog__form>.ActionButton,.users-create-dialog__form>.ActionButton{margin-top:0}.users-create-dialog__actions{grid-column:1/-1;margin-top:4px}.platform-card__head-start{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.users-action-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.users-action-cards>:only-child{grid-column:1/-1}.users-action-card{appearance:none;text-align:left;cursor:pointer;width:100%;min-height:132px;box-shadow:var(--shadow-1);transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:1px solid #0000;border-radius:16px;align-items:center;gap:16px;padding:18px 20px;font-family:inherit;display:flex;position:relative;overflow:hidden}.users-action-card:focus-visible{box-shadow:var(--focus-ring);outline:none}.users-action-card__icon{color:#fff;border-radius:50%;flex:0 0 56px;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;display:inline-flex}.users-action-card__body{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.users-action-card__title{color:var(--primo-navy);letter-spacing:-.01em;align-items:center;gap:8px;font-size:18px;font-weight:800;display:inline-flex}.users-action-card__badge{color:#fff;background:#ef8a2b;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.users-action-card__desc{color:#5c6b8a;font-size:13.5px;font-weight:600;line-height:1.4}.users-action-card__cta{border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:36px;margin-top:6px;padding:6px 14px;font-size:13px;font-weight:700;line-height:1.2;display:inline-flex}.users-action-card--create{background:#eaf3ff;border-color:#d4e4fb}.users-action-card--create:hover{background:#dfedff;border-color:#c4daf8}.users-action-card--create .users-action-card__icon{background:var(--primo-blue)}.users-action-card--create .users-action-card__cta{background:var(--primo-blue);color:#fff;box-shadow:var(--shadow-btn)}.users-action-card--create:hover .users-action-card__cta{background:var(--primo-navy)}.users-action-card--pending{background:#fff3e8;border-color:#f6ddc4}.users-action-card--pending:hover{background:#ffecda;border-color:#f0d0ae}.users-action-card--pending .users-action-card__icon{background:#ef8a2b}.users-action-card--pending .users-action-card__cta{color:#ef8a2b;background:#fff;border:1.5px solid #ef8a2b}.users-action-card--pending:hover .users-action-card__cta{background:#fff8f1}@media (max-width:860px){.users-action-cards{grid-template-columns:1fr}}.users-pending-dialog{width:min(980px,100%);max-height:min(90vh,860px);overflow:auto}.users-pending-dialog .users-create-hint{white-space:normal}.users-pending-dialog__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.users-pending-dialog__toolbar{justify-content:flex-end;display:flex}.users-pending-dialog .platform-pending__table{margin-top:4px}.users-pending-dialog .platform-pending__table .users-table__row{grid-template-columns:minmax(0,1.3fr) minmax(0,1.4fr) minmax(0,1.1fr) minmax(0,.7fr) minmax(0,1.1fr) 132px;align-items:start}.users-pending-dialog .platform-pending__table .users-table__email{text-overflow:unset;white-space:normal;overflow-wrap:anywhere;word-break:break-word;overflow:visible}@media (max-width:640px){.users-edit-dialog__form,.users-create-dialog .users-create-panel .users-form,.users-create-dialog__form{grid-template-columns:1fr}}.platform-perm-menu-row{flex-wrap:nowrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.platform-perm-menu{flex-wrap:wrap;align-content:center;align-items:center;gap:8px;min-width:0;display:flex}.platform-perm-menu-row .platform-perm-menu{flex:1}.platform-perm-menu-row .platform-perm-menu--end{flex:none;margin-left:auto}.platform-perm-menu a,.platform-perm-menu span,.platform-perm-menu button{min-height:34px;color:var(--primo-navy);cursor:pointer;background:#fff;border:1px solid #d5deec;border-radius:999px;flex:none;align-items:center;padding:4px 12px;font-family:inherit;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.platform-perm-menu a:hover,.platform-perm-menu button:hover{background:#eef4ff;border-color:#9db7e8}.platform-help-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.platform-help-item{border-top:1px solid #edf1f8;flex-direction:column;gap:4px;padding:12px 0;display:flex}.platform-help-item:first-child{border-top:none;padding-top:0}.platform-help-item__top{flex-wrap:wrap;align-items:baseline;gap:8px 12px;display:flex}.platform-help-item__top strong{color:var(--primo-navy)}.platform-help-item__meta{color:#5c6b8a;font-size:12.5px;font-weight:600}.platform-help-item__subject{color:var(--primo-navy);font-size:14px;font-weight:800}.platform-help-item__message{color:#3d4c6b;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-width:100%;margin:0;font-size:13.5px;font-weight:600;line-height:1.45}.platform-help-impersonate{display:inline-flex;position:relative}.platform-help-impersonate__button{color:#064ba8;background:#f7faff;border-color:#a9c4ef;align-items:center;gap:5px;display:inline-flex}.platform-help-impersonate__button:not(:disabled):hover{border-color:var(--primo-blue);background:#eef5ff}.platform-help-impersonate--disabled{cursor:help}.platform-help-impersonate--disabled .platform-help-impersonate__button{pointer-events:none}.platform-help-impersonate__reason{z-index:30;background:var(--ink-900);color:#fff;text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;border-radius:7px;width:max-content;max-width:240px;padding:7px 9px;font-size:11.5px;font-weight:650;line-height:1.35;transition:opacity .12s,transform .12s,visibility .12s;position:absolute;top:calc(100% + 7px);right:0;transform:translateY(-2px)}.platform-help-impersonate:hover .platform-help-impersonate__reason,.platform-help-impersonate:focus-visible .platform-help-impersonate__reason{opacity:1;visibility:visible;transform:translateY(0)}.platform-help-impersonate:focus-visible{box-shadow:var(--focus-ring);border-radius:8px;outline:none}.api-splash{z-index:10000;background:#fff;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.api-splash[hidden]{display:none!important}.api-splash__content{flex-direction:column;align-items:center;gap:28px;display:flex}.api-splash__logo{width:min(240px,62vw);height:auto}.api-splash__spinner{border:4px solid #d5deef;border-top-color:var(--primo-blue);box-sizing:border-box;border-radius:50%;width:52px;height:52px;animation:.85s linear infinite spin}@media (prefers-reduced-motion:reduce){.api-splash__spinner{border-top-color:var(--primo-blue);opacity:.7;animation:none}}.help-desk{flex-direction:column;gap:18px;width:min(1220px,100%);max-width:1220px;margin-inline:auto;display:flex}:is(.teacher-main:has(>.help-desk),.primo-main:has(>.help-desk)){max-width:none;padding-bottom:40px}.help-card__sub{max-width:620px;color:var(--ink-500);margin:4px 0 0;font-size:13px;font-weight:600;line-height:1.5}.help-layout{grid-template-columns:minmax(290px,358px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.help-layout--admin{grid-template-columns:minmax(330px,404px) minmax(0,1fr);align-items:stretch}.help-layout--admin .help-card{flex-direction:column;display:flex}.help-layout--admin .help-list{flex:1;max-height:min(620px,100dvh - 348px)}.help-layout--admin .help-detail--thread{flex:1}.help-layout--admin .help-pager{margin-top:auto}.help-card{box-shadow:var(--shadow-1);background:#fff;border:1px solid #e6ecf5;border-radius:16px;min-width:0}.help-card__head{flex-wrap:wrap;align-items:center;gap:12px;padding:18px 20px 16px;display:flex}.help-card__head+.help-card__tools,.help-card__head+.help-tabs,.help-card__head+.help-status-attention,.help-card__head+.help-status-tiles{padding-top:0}.help-card__title{color:var(--primo-navy);margin:0;font-size:17px;font-weight:800}.help-clear-filters{appearance:none;font:inherit;color:var(--primo-blue);white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:999px;margin-left:auto;padding:4px 10px;font-size:12px;font-weight:700}.help-clear-filters:hover{border-color:var(--primo-blue);background:var(--info-100)}.help-card__tools{align-items:center;gap:8px;padding:12px 20px 0;display:flex}.help-search{min-width:0;min-height:36px;font:inherit;color:var(--primo-navy);background:#fff;border:1px solid #dbe3ef;border-radius:10px;flex:1;padding:7px 12px;font-size:13.5px;font-weight:600}.help-search::placeholder{color:#9aa8c2}.help-pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 20px 20px;display:flex}.help-pager__meta{color:var(--ink-500);font-size:12.5px;font-weight:700}.help-pager__btns{align-items:center;gap:8px;display:flex}.help-pager__btns .ActionButton{min-height:32px;padding:5px 11px;font-size:12.5px}.help-pager__page{color:var(--ink-700);font-size:12.5px;font-weight:700}.help-tabs{border-bottom:1px solid var(--surface-100);gap:18px;padding:14px 20px 0;display:flex;overflow-x:auto}.help-tab{appearance:none;color:var(--ink-500);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2.5px solid #0000;padding:0 0 10px;font-size:13.5px;font-weight:700}.help-tab:hover{color:var(--primo-navy)}.help-tab.is-active{color:var(--primo-blue);border-bottom-color:var(--primo-blue)}.help-status-attention{background:var(--warning-100);width:calc(100% - 40px);color:var(--warning-700);font:inherit;text-align:left;cursor:pointer;border:1px solid #f3d3b0;border-radius:10px;margin:0 20px 8px;padding:7px 10px;font-size:12.5px;font-weight:800;display:block}.help-status-attention:hover{background:#fdeee0}.help-status-attention.is-active{outline:2px solid var(--warning-700);outline-offset:1px}.help-status-tiles{grid-template-columns:1fr 1fr;gap:6px;padding:0 20px 10px;display:grid}.help-status-tile{background:var(--surface-50);cursor:pointer;text-align:left;min-width:0;font:inherit;border:1px solid #e6ecf5;border-radius:9px;justify-content:space-between;align-items:center;gap:6px;padding:6px 9px;display:flex}.help-status-tile:hover{border-color:#c9d6ea}.help-status-tile.is-active{border-color:var(--primo-blue);background:var(--info-100)}.help-status-tile.is-empty{opacity:.55}.help-status-tile.is-active.is-empty{opacity:1}.help-status-tile__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-500);font-size:11.5px;font-weight:700;line-height:1.3;overflow:hidden}.help-status-tile__count{color:var(--primo-navy);flex:none;font-size:12.5px;font-weight:800;line-height:1.3}.help-status-tile.is-active .help-status-tile__label{color:var(--primo-blue)}.help-list{flex-direction:column;gap:8px;max-height:min(540px,100dvh - 292px);padding:12px 20px 20px;display:flex;overflow-y:auto}.help-item{text-align:left;cursor:pointer;background:#fff;border:1px solid #0000;border-radius:12px;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;padding:11px 12px;display:grid}.help-item:hover{background:var(--surface-50)}.help-item.is-active{box-shadow:inset 3px 0 0 var(--primo-blue);background:#f1f6ff;border-color:#bdd2f2}.help-item.is-unread .help-item__subject,.help-item.is-unread .help-item__who{color:var(--primo-navy);font-weight:800}.help-item.is-unread .help-item__preview{color:var(--ink-900);font-weight:800}.help-unread{color:#fff;background:#e0342c;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11.5px;font-weight:800;line-height:1;display:inline-flex}.help-item__avatar-wrap{flex-shrink:0;display:inline-flex;position:relative}.help-unread--dot{border:2px solid #fff;min-width:19px;height:19px;padding:0 5px;font-size:10.5px;position:absolute;top:-6px;right:-6px}.help-item:hover .help-unread--dot{border-color:var(--surface-50)}.help-item.is-active .help-unread--dot{border-color:#f1f6ff}.help-nav-button{position:relative;overflow:visible}.help-unread--pin{border:2px solid #fff;min-width:21px;height:21px;padding:0 6px;font-size:11px;position:absolute;top:-9px;right:-9px;box-shadow:0 2px 6px #e0342c59}.help-open-chip{color:#b7671a;letter-spacing:.01em;white-space:nowrap;background:#fdf0e0;border-radius:999px;align-items:center;margin-left:8px;padding:2px 9px;font-size:11.5px;font-weight:800;line-height:1.5;display:inline-flex}.help-item__when--unread{color:#e0342c;font-weight:800}.help-item__icon{width:38px;height:38px;color:var(--primo-blue);background:#eaf1fd;border-radius:11px;place-items:center;display:grid}.help-item__text{flex-direction:column;gap:2px;min-width:0;display:flex}.help-item__subject{color:var(--ink-900);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:800;overflow:hidden}.help-item__date{color:var(--ink-500);font-size:12px;font-weight:600}.help-item__chevron{color:var(--ink-300)}.help-item--inbox{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:11px;padding:11px 12px}.help-item__avatar{width:36px;height:36px;color:var(--primo-blue);background:#e7eefb;border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.help-item__body{flex-direction:column;gap:3px;min-width:0;display:flex}.help-item__top,.help-item__bottom{align-items:center;gap:8px;min-width:0;display:flex}.help-item__who{min-width:0;color:var(--ink-900);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:800;overflow:hidden}.help-item__when{color:var(--ink-500);white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:11.5px;font-weight:700}.help-item__preview{min-width:0;color:var(--ink-700);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:700;overflow:hidden}.help-item__flag{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:10.5px;font-weight:800}.help-item__flag--open{color:#c2610a;background:#fdeee0}.help-item__flag--review{color:#1d4ed8;background:#e4edfd}.help-item__flag--escalated{color:#6d28d9;background:#f1e6fd}.help-item__flag--closed{background:var(--success-100);color:var(--success-600)}.help-item__flag--priority-low{background:var(--surface-100);color:var(--ink-500)}.help-item__flag--priority-normal{color:var(--practice-text);background:#e4f6f7}.help-item__flag--priority-high{background:var(--celebrate-pink-bg);color:var(--primo-pink)}.help-item__flag--priority-urgent{background:var(--error-100);color:var(--error-600)}.help-item__pills{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.help-item__snippet{-webkit-line-clamp:2;color:var(--ink-500);-webkit-box-orient:vertical;font-size:12.5px;font-weight:600;line-height:1.45;display:-webkit-box;overflow:hidden}.help-empty{color:var(--ink-500);text-align:center;margin:0;padding:26px 20px 30px;font-size:13.5px;font-weight:700}.help-pill{white-space:nowrap;border-radius:999px;align-items:center;padding:3px 10px;font-size:11.5px;font-weight:800;display:inline-flex}.help-pill--open{color:#c2610a;background:#fdeee0}.help-pill--review{color:#1d4ed8;background:#e4edfd}.help-pill--escalated{color:#6d28d9;background:#f1e6fd}.help-pill--closed{background:var(--success-100);color:var(--success-600)}.help-pill--priority-low{background:var(--surface-100);color:var(--ink-500)}.help-pill--priority-normal{color:var(--practice-text);background:#e4f6f7}.help-pill--priority-high{background:var(--celebrate-pink-bg);color:var(--primo-pink)}.help-pill--priority-urgent{background:var(--error-100);color:var(--error-600)}.help-detail{flex-direction:column;gap:16px;padding:20px;display:flex}.help-detail--thread{min-height:340px;max-height:calc(100dvh - 176px)}.help-detail--empty{text-align:center;flex:1;justify-content:center;align-items:center;gap:6px;padding:48px 20px}.help-detail__empty-art{margin-bottom:10px;display:block}.help-detail__empty-title{letter-spacing:-.02em;color:var(--primo-navy);margin:0;font-size:20px;font-weight:800}.help-detail__empty-copy{max-width:420px;color:var(--ink-500);margin:6px 0 0;font-size:14.5px;font-weight:600;line-height:1.55}.help-detail__bar{flex-direction:column;gap:12px;min-width:0;display:flex}.help-detail__bar--staff{border-bottom:1px solid var(--surface-100);padding-bottom:4px}.help-detail__header-main{flex-direction:column;align-items:stretch;gap:14px;width:100%;min-width:0;display:flex}@media (min-width:860px){.help-detail__header-main{flex-flow:wrap;justify-content:space-between;align-items:flex-start;gap:20px}}.help-detail__heading{flex:16rem;min-width:min(100%,16rem)}.help-detail__toolbar{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;width:100%;max-width:100%;display:flex}@media (min-width:860px){.help-detail__toolbar{width:max-content;max-width:100%}}.help-detail__title-row{min-width:0}.help-detail__title-row--with-action{justify-content:space-between;align-items:center;gap:12px;display:flex}.help-detail__title-row--with-toggle{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.help-detail__title-row--with-action .ActionButton{white-space:nowrap}.help-detail__title-main{flex:auto;min-width:0}.help-detail__title-row .help-pill{vertical-align:middle;margin-left:10px}.help-detail__title-row .help-pill+.help-pill{margin-left:6px}.help-detail__title{letter-spacing:-.02em;color:var(--primo-navy);overflow-wrap:break-word;margin:0;font-size:18px;font-weight:800;line-height:1.35;display:inline}.help-detail__meta{color:var(--ink-500);flex-direction:column;align-items:flex-start;gap:6px;margin:8px 0 0;font-size:12.5px;font-weight:600;line-height:1.45;display:flex}.help-detail__meta-line{overflow-wrap:anywhere;max-width:100%;display:block}.help-detail__meta-extra{color:var(--ink-500);font-size:12px;display:block}.help-detail__view-toggle{color:var(--ink-700);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:600;display:inline-flex}.help-detail__view-toggle--corner{flex-shrink:0;margin-top:2px;font-size:12.5px}.help-detail__view-toggle input{flex-shrink:0}.help-detail__info{width:16px;height:16px;color:var(--ink-500);border:1px solid #c5d0e0;border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-style:italic;font-weight:800;line-height:1;display:inline-flex}.help-detail__actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:8px;width:auto;max-width:100%;display:flex}.help-detail__action-cluster{flex:none;align-items:center;gap:8px;display:inline-flex}.help-detail__status-field{flex-direction:column;flex:none;align-items:flex-start;gap:4px;width:max-content;max-width:min(100%,13.5rem);display:flex}.help-detail__status-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-500);font-size:11px;font-weight:800}.help-detail__status-select{width:auto;min-width:0;max-width:13.5rem;min-height:36px}.help-detail__status-field--inline .help-detail__status-select{max-width:11rem}.help-detail__bar .ActionButton{flex-shrink:0;min-height:36px;padding:7px 14px;font-size:13px}.help-messages{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:18px;min-height:0;padding:18px 2px 2px 0;display:flex;overflow-y:auto}.help-internal-note{background:#fff8ed;border:1px solid #f0ddb8;border-left:4px solid #e8a845;border-radius:12px;padding:14px 16px 12px}.help-internal-note__head{color:var(--ink-700);flex-wrap:wrap;align-items:baseline;gap:6px 8px;margin:0 0 8px;font-size:13px;font-weight:600;display:flex}.help-internal-note__badge{color:#b45309;font-weight:800}.help-internal-note__who{color:var(--ink-900);font-weight:800}.help-internal-note__time{color:var(--ink-500);font-size:12px;font-weight:600}.help-internal-note__body{color:var(--ink-700);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:600;line-height:1.5}.help-msg__content{min-width:0}.help-msg{grid-template-columns:38px minmax(0,1fr);gap:12px;display:grid}.help-msg__avatar{width:38px;height:38px;color:var(--primo-blue);background:#e7eefb;border-radius:50%;place-items:center;font-size:12.5px;font-weight:800;display:grid}.help-msg--support .help-msg__avatar{color:#02777c;background:#e0f1f5}.help-msg__head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.help-msg__who{color:var(--ink-900);font-size:13.5px;font-weight:800}.help-msg__time{color:var(--ink-500);font-size:12px;font-weight:600}.help-msg__bubble{background:var(--surface-50);color:var(--ink-700);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;margin:6px 0 0;padding:12px 14px;font-size:14px;font-weight:600;line-height:1.5}.help-msg--support .help-msg__bubble{background:#eef5ff}.help-msg--internal .help-msg__bubble{background:#fff6e8;border:1px solid #f0ddb8}.help-composer__tabs{border-bottom:1px solid var(--surface-100);flex-wrap:wrap;gap:4px 20px;margin:-2px 0 0;padding:0 2px;display:flex}.help-composer__tab{appearance:none;font:inherit;color:var(--ink-500);cursor:pointer;background:0 0;border:none;border-bottom:2.5px solid #0000;padding:8px 0;font-size:13px;font-weight:700}.help-composer__tab.is-active{color:var(--primo-blue);border-bottom-color:var(--primo-blue)}.help-composer{background:#fff;border:1px solid #dbe3ef;border-radius:12px;flex-direction:column;flex-shrink:0;align-items:stretch;gap:10px;padding:10px 12px;display:flex}.help-composer:focus-within{border-color:#a9c4ef}.help-composer textarea{width:100%;min-width:0;height:52px;min-height:52px;max-height:160px;font:inherit;color:var(--primo-navy);resize:vertical;background:0 0;border:none;padding:10px 4px;font-size:14.5px;font-weight:600;line-height:1.5}.help-composer textarea:focus-visible{box-shadow:none;border:none;outline:none}.help-composer .ActionButton{flex-shrink:0;min-height:38px;padding:8px 16px;font-size:13.5px}.help-composer__footer{border-top:1px solid var(--surface-50);flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:12px;width:100%;padding-top:4px;display:flex}.help-composer__footer .help-attach{flex-flow:wrap;flex:auto;align-items:center;gap:8px 12px;width:auto;min-width:0;max-width:none;display:flex}.help-composer__footer .help-attach__row{flex-wrap:nowrap;flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.help-composer__footer .help-attach__button{white-space:nowrap;flex-shrink:0}.help-composer__footer .help-attach__hint{white-space:normal;flex:auto;min-width:0}.help-composer__footer .help-attach__error,.help-composer__footer .help-attach__preview{flex:1 0 100%;margin-top:0}.help-composer__send{white-space:nowrap;flex-shrink:0;gap:8px;min-height:40px;margin-left:auto}.help-attach{flex-direction:column;gap:8px;width:100%;display:flex}.help-attach__row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.help-attach__button{border:1px solid var(--line-200);background:var(--surface-0);min-height:38px;color:var(--primo-navy);cursor:pointer;border-radius:999px;align-items:center;padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex}.help-attach__input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.help-attach__hint,.help-attach__meta{color:var(--ink-500);margin:0;font-size:12px;font-weight:600;line-height:1.45}.help-attach__error,.help-attach__removed{color:var(--error-600);margin:0;font-size:12px;font-weight:700}.help-attach__preview,.help-attach__sent{flex-direction:column;gap:10px;margin:8px 0 0;padding:0;list-style:none;display:flex}.help-attach__chip{background:var(--surface-50);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.help-attach__remove{color:var(--primo-navy);cursor:pointer;background:0 0;border:none;font-weight:800}.help-attach__media{background:#0b1224;border-radius:12px;max-width:min(420px,100%);max-height:280px;display:block}.help-attach__check{color:var(--ink-700);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.help-msg__bubble--internal{background:var(--warning-100)}.help-escalate__grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.help-thread-views{flex-direction:column;flex:auto;min-height:0;display:flex}.help-thread-views__bar{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px 10px;padding:8px 0 0;display:flex}.help-thread-views__tab{min-height:32px;font:inherit;color:var(--ink-700);cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:12.5px;font-weight:800;display:inline-flex}.help-thread-views__tab.is-active{border-color:var(--primo-blue);color:var(--primo-navy);background:#e4edfd}.help-thread-views__count{text-align:center;background:#fff;border-radius:999px;min-width:18px;padding:0 5px;font-size:11px;line-height:16px}.help-thread-views__summary{color:var(--ink-500);margin-left:auto;font-size:12px;font-weight:700}.help-thread-views__pane{flex-direction:column;flex:auto;min-height:0;display:flex}.help-thread-views__pane[hidden]{display:none}.help-thread-views__pane>.help-messages{flex:auto;min-height:0}.help-history{background:0 0;margin:0;padding:12px 2px 8px}.help-history__title{color:var(--primo-navy);margin:0 0 8px;font-size:13px;font-weight:800}.help-history__facts{flex-wrap:wrap;gap:8px 18px;margin:0 0 10px;display:flex}.help-history__facts div{gap:6px;font-size:13px;display:flex}.help-history__facts dt{color:var(--ink-700);font-weight:800}.help-history__facts dd{color:var(--primo-navy);margin:0;font-weight:650}.help-history__list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.help-history__item,.help-history__empty{color:var(--primo-navy);margin:0;font-size:13px;line-height:1.45}.help-history__when,.help-history__who,.help-history__detail{color:#64748b}.help-escalate{background:var(--surface-50);border:1px solid #dbe3ef;border-radius:12px;flex-direction:column;gap:14px;width:100%;margin-top:4px;padding:16px;display:flex}.help-escalate__field{flex-direction:column;gap:7px;display:flex}.help-escalate__label{color:var(--ink-700);font-size:13px;font-weight:700}.help-escalate .help-escalate__select,.help-escalate .help-escalate__textarea{width:100%;min-height:44px;font:inherit;color:var(--primo-navy);background:#fff;border:1px solid #dbe3ef;border-radius:10px;padding:11px 14px;font-size:14.5px;font-weight:600;line-height:1.5}.help-escalate .help-escalate__select{cursor:pointer}.help-escalate .help-escalate__textarea{resize:vertical;min-height:84px}.help-escalate .help-escalate__textarea::placeholder{color:#9aa8c2;font-weight:600}.help-escalate .help-escalate__select:focus-visible,.help-escalate .help-escalate__textarea:focus-visible{border-color:var(--primo-blue);box-shadow:var(--focus-ring);outline:none}.help-escalate__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.help-escalate-dialog{width:min(680px,100%);max-height:min(90vh,820px);overflow:hidden}.help-escalate-dialog__subject{color:var(--ink-500);margin:-4px 0 0;font-size:13.5px;font-weight:700}.help-escalate-dialog__body{flex:auto;min-height:0;padding-right:2px;overflow-y:auto}.help-escalate-dialog .help-escalate{background:0 0;border:none;margin:0;padding:0}@media (max-width:720px){.help-escalate__grid{grid-template-columns:1fr}}.help-card__tools--filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.help-filter-select,.help-filter-date{min-height:40px;font:inherit;color:var(--primo-navy);background:#fff;border:1px solid #dbe3ef;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600}.help-filter-date{min-width:140px}.help-create-panel{padding:4px 0 8px}.help-type-chooser{flex-direction:column;gap:16px;padding:8px 4px 12px;display:flex}.help-type-chooser__lead{color:var(--ink-700);margin:0;font-size:14px;font-weight:600;line-height:1.5}.help-type-chooser__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (max-width:720px){.help-type-chooser__grid{grid-template-columns:1fr}}.help-type-card{text-align:left;cursor:pointer;width:100%;min-height:148px;font:inherit;color:var(--primo-navy);background:#fff;border:1.5px solid #dbe3ef;border-radius:14px;flex-direction:column;align-items:flex-start;gap:10px;padding:18px 18px 16px;transition:border-color .12s,box-shadow .12s,background .12s;display:flex;position:relative}.help-type-card:hover{background:#f8fbff;border-color:#9db7e8;box-shadow:0 8px 24px #053d9214}.help-type-card.is-selected{border-color:var(--primo-blue);background:#f1f6ff;box-shadow:0 0 0 1px #053d921f}.help-type-card__check{color:var(--primo-blue);position:absolute;top:12px;right:12px}.help-type-chooser__grid--stack{grid-template-columns:1fr}.help-type-card__icon{width:44px;height:44px;color:var(--primo-blue);background:#eef4ff;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.help-type-card__title{font-size:16px;font-weight:800}.help-type-card__copy{color:var(--ink-500);font-size:13px;font-weight:600;line-height:1.45}.help-create-type-bar{flex-direction:column;gap:6px;padding-bottom:4px;display:flex}.help-create-type-bar__value{color:var(--primo-navy);flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:14px;font-weight:600;display:flex}.help-create-type-bar__change{font:inherit;color:var(--primo-blue);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:800;text-decoration:underline}.help-detail--create{gap:12px}.teacher-header__actions .help-nav-button+.help-nav-button{margin-left:0}.help-layout--teacher-inbox{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start}.help-layout--teacher-inbox .help-detail--thread,.help-layout--school-inbox .help-detail--thread{flex:0 auto;min-height:0;overflow:hidden}.help-layout--teacher-inbox .help-messages,.help-layout--school-inbox .help-messages{flex:auto;min-height:0}.help-desk--create{width:min(1220px,100%);max-width:1220px;margin-inline:auto}.help-card--create-screen{padding-bottom:12px}.help-card--create{align-self:start;max-height:calc(100dvh - 120px);padding-bottom:8px;position:sticky;top:12px;overflow:auto}.help-item__preview--title{color:var(--primo-navy);font-size:14px;font-weight:800}.help-item__body--desk .help-item__who{color:var(--ink-500);font-size:12.5px;font-weight:600}.help-item__body--desk{padding-bottom:24px;position:relative}.help-item__kind{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:10.5px;font-weight:800;display:inline-flex;position:absolute;bottom:0;right:0}.help-item__kind--student{color:var(--primo-blue);background:#eef4ff}.help-item__kind--teacher{color:#02777c;background:#e8f6f3}.help-item__kind--school_admin{color:#5b3cc4;background:#f3eefc}.help-audience-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 20px 12px;display:grid}.help-audience-tabs--three{grid-template-columns:repeat(3,minmax(0,1fr))}.help-audience-tabs--three .help-audience-tab{gap:6px;padding:8px 10px}.help-audience-tabs--three .help-audience-tab__label{font-size:12.5px}.help-audience-tabs--single{grid-template-columns:minmax(0,1fr)}.help-layout--school-inbox{grid-template-columns:minmax(340px,460px) minmax(0,1fr);align-items:start}.help-detail__status-field--inline{flex:none;width:max-content;max-width:min(100%,11rem)}.help-audience-tab{width:100%;min-height:48px;font:inherit;color:var(--primo-navy);cursor:pointer;text-align:left;background:#fff;border:1.5px solid #dbe3ef;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;transition:border-color .12s,background .12s,box-shadow .12s;display:flex}.help-audience-tab:hover{background:#f8fbff;border-color:#9db7e8}.help-audience-tab.is-active{border-color:var(--primo-blue);background:linear-gradient(#f1f6ff 0%,#fff 100%);box-shadow:0 0 0 1px #053d921a}.help-audience-tab__icon{color:var(--primo-blue);flex-shrink:0;display:inline-flex}.help-audience-tab__label{flex:1;min-width:0;font-size:13.5px;font-weight:800;line-height:1.25}.help-audience-tab__count{min-width:26px;color:var(--primo-blue);text-align:center;background:#eef4ff;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:12px;font-weight:800}.help-audience-tab.is-active .help-audience-tab__count{background:var(--primo-blue);color:#fff}.help-search--inbox{flex:100%;width:100%}.help-card--inbox .help-card__tools--filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 20px 12px;display:grid}.help-card--inbox .help-card__tools--filters .help-search--inbox{grid-column:1/-1}.help-card--inbox .help-card__tools--filters .help-filter-select,.help-card--inbox .help-card__tools--filters .help-filter-date{width:100%;min-width:0}.help-create-drawer{flex-direction:column;gap:16px;padding:20px;display:flex}.help-create-drawer__head{padding:16px 0 0}.help-create-drawer__step-title{color:var(--ink-700);margin:0 0 10px;font-size:13px;font-weight:800}.help-create-drawer__step--type .help-create-drawer__step-title{margin-top:0}.help-create-drawer .help-type-chooser{padding:0}.help-create-drawer .help-type-chooser__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.help-create-drawer .help-type-card{min-height:132px}@media (max-width:520px){.help-create-drawer .help-type-chooser__grid{grid-template-columns:1fr}}.help-create-drawer__actions{margin-top:4px}.help-create-routing-note{color:var(--ink-700);background:#eef4ff;border:1px solid #d7e4f7;border-radius:12px;margin:0;padding:12px 14px;font-size:12.5px;font-weight:600;line-height:1.5}.help-create-routing-note__link{font:inherit;color:var(--primo-blue);cursor:pointer;background:0 0;border:none;padding:0;font-weight:800;text-decoration:underline}.help-layout--teacher{grid-template-columns:minmax(228px,268px) minmax(300px,380px) minmax(0,1fr)}.help-card--nav{align-self:start;padding:4px 0 12px;position:sticky;top:12px}.teacher-help-section__title{color:var(--primo-navy);margin:0;padding:16px 18px 10px;font-size:15px;font-weight:800}.teacher-help-section__list{margin:0;padding:0 10px;list-style:none}.teacher-help-section__divider{background:var(--surface-100);height:1px;margin:8px 8px 10px}.teacher-help-section__group-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500);padding:0 10px 6px;font-size:11px;font-weight:800}.teacher-help-section__item{width:100%;color:var(--primo-navy);border:1px solid #0000;border-radius:12px;align-items:flex-start;gap:10px;padding:10px;font-size:13.5px;font-weight:700;line-height:1.35;text-decoration:none;display:flex;position:relative}.teacher-help-section__item:hover{background:var(--surface-50)}.teacher-help-section__item.is-active{box-shadow:inset 3px 0 0 var(--primo-blue);background:#f1f6ff;border-color:#bdd2f2}.teacher-help-section__item svg{color:var(--ink-500);flex-shrink:0;margin-top:2px}.teacher-help-section__item.is-active svg{color:var(--primo-blue)}.teacher-help-section__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.teacher-help-section__label{color:var(--primo-navy);font-weight:800}.teacher-help-section__hint{color:var(--ink-500);font-size:12px;font-weight:600;line-height:1.4}.teacher-help-section__item .help-unread--pin{box-shadow:none;border-color:#f1f6ff;align-self:center;margin-left:auto;position:static}.teacher-help-menu{display:inline-flex;position:relative}.teacher-help-menu__trigger{align-items:center;gap:8px;display:inline-flex}.teacher-help-menu__chevron{flex-shrink:0;transition:transform .15s}.teacher-help-menu__chevron.is-open{transform:rotate(180deg)}.teacher-help-menu__panel{z-index:40;width:min(320px,100vw - 24px);box-shadow:var(--shadow-2);background:#fff;border:1px solid #e6ecf5;border-radius:14px;padding:4px 0 8px;position:absolute;top:calc(100% + 8px);right:0}.teacher-help-menu__panel .teacher-help-section__title{padding-top:12px}@media (max-width:1100px){.help-layout--teacher-inbox,.help-layout--school-inbox{grid-template-columns:minmax(0,1fr)}.help-card--create{max-height:none;position:static}.help-layout--teacher{grid-template-columns:minmax(0,1fr)}.help-card--nav{position:static}}.help-form-body{flex-direction:column;gap:16px;display:flex}.help-field{flex-direction:column;gap:7px;display:flex}.help-field__label{color:var(--ink-900);font-size:14px;font-weight:700}.help-field__required{color:var(--error-600)}.help-field input,.help-field textarea,.help-field select{width:100%;font:inherit;color:var(--primo-navy);background:#fff;border:1px solid #dbe3ef;border-radius:12px;padding:12px 14px;font-size:14.5px;font-weight:600}.help-field select{cursor:pointer}.help-field textarea{resize:vertical;height:88px;min-height:88px;line-height:1.5}.help-field input::placeholder,.help-field textarea::placeholder,.help-composer textarea::placeholder{color:#9aa8c2;font-weight:600}.help-counter{color:var(--ink-300);align-self:flex-end;font-size:12px;font-weight:700}.help-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;display:flex}@media (max-width:1020px){.help-layout{grid-template-columns:1fr}.help-detail--thread{min-height:0;max-height:none}.help-messages{overflow-y:visible}}@media screen{.ssr{pointer-events:none;visibility:hidden;width:8.5in;position:absolute;top:0;left:-120vw}}.ssr{color:var(--ink-900);font-family:var(--font-ui);background:#fff}.ssr__header{border-bottom:4px solid var(--primo-teal);justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:16px;display:flex}.ssr__logo{object-fit:contain;flex-shrink:0;width:auto;height:52px}.ssr__header-text{text-align:right;min-width:0}.ssr__kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--primo-teal);margin:0 0 2px;font-size:11px;font-weight:800}.ssr__title{font-family:var(--font-display);color:var(--primo-navy);margin:0;font-size:22px;font-weight:700;line-height:1.2}.ssr__generated{color:var(--ink-500);margin:4px 0 0;font-size:12px;font-weight:600}.ssr__identity{justify-content:space-between;align-items:flex-end;gap:16px;padding:18px 0 8px;display:flex}.ssr__student{font-family:var(--font-display);color:var(--ink-900);margin:0;font-size:28px;font-weight:700;line-height:1.15}.ssr__meta{color:var(--ink-500);flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0;font-size:13px;font-weight:600;display:flex}.ssr__dot{background:var(--ink-300);border-radius:50%;width:4px;height:4px;display:inline-block}.ssr__progress{flex-shrink:0;gap:18px;display:flex}.ssr__progress>div{flex-direction:column;align-items:flex-end;gap:0;display:flex}.ssr__progress strong{font-family:var(--font-display);color:var(--primo-navy);font-size:20px;font-weight:700;line-height:1.1}.ssr__progress span{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-500);font-size:11px;font-weight:700}.ssr__scores{grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0 22px;display:grid}.ssr-score{border:1.5px solid var(--line-200);background:var(--surface-50);border-radius:12px;flex-direction:column;gap:2px;padding:12px 14px 10px;display:flex}.ssr-score__value{font-family:var(--font-display);color:var(--primo-navy);font-size:28px;font-weight:700;line-height:1.1}.ssr-score__label{color:var(--ink-700);font-size:12px;font-weight:800}.ssr-score__hint{color:var(--ink-500);font-size:11px;font-weight:600}.ssr-score--navy{background:var(--primo-navy);border-color:var(--primo-navy)}.ssr-score--navy .ssr-score__value,.ssr-score--navy .ssr-score__label,.ssr-score--navy .ssr-score__hint{color:#fff}.ssr-score--navy .ssr-score__hint{opacity:.8}.ssr__section{margin-top:8px}.ssr__keep{break-inside:avoid;page-break-inside:avoid}.ssr__h2{letter-spacing:.08em;text-transform:uppercase;color:var(--primo-navy);break-after:avoid;page-break-after:avoid;margin:0 0 10px;font-size:13px;font-weight:800}.ssr__h2+*{break-before:avoid;page-break-before:avoid}.ssr__empty{color:var(--ink-500);margin:0;font-size:13px;font-weight:600}.ssr-table{border-collapse:collapse;width:100%;font-size:12px}.ssr-table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--primo-navy);padding:8px 10px;font-size:10px;font-weight:800}.ssr-table th:first-child{border-radius:8px 0 0}.ssr-table th:last-child{border-radius:0 8px 0 0}.ssr-table td{border-bottom:1px solid var(--line-200);vertical-align:top;color:var(--ink-700);padding:8px 10px;font-weight:600}.ssr-table tbody tr:nth-child(2n) td{background:var(--surface-50)}.ssr-table__title{color:var(--ink-900);font-weight:700}.ssr-table__score{font-family:var(--font-display);color:var(--primo-navy);font-size:16px;font-weight:700}.ssr-notes{margin:0;padding:0;list-style:none;display:block}.ssr-notes__item{border:1.5px solid var(--line-200);background:var(--surface-50);break-inside:avoid;page-break-inside:avoid;border-radius:10px;padding:10px 12px}.ssr-notes__item+.ssr-notes__item,.ssr-notes+.ssr-notes{margin-top:10px}.ssr-notes__head{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:4px;display:flex}.ssr-notes__head strong{color:var(--ink-900);font-size:13px}.ssr-notes__head span{color:var(--ink-500);font-size:11px;font-weight:700}.ssr-notes__item p{color:var(--ink-700);overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:500}.ssr__footer{border-top:1.5px solid var(--line-200);color:var(--ink-500);justify-content:space-between;gap:12px;margin-top:22px;padding-top:10px;font-size:11px;font-weight:700;display:flex}@media print{@page{size:letter portrait;margin:.5in .55in .6in}html,body{color:var(--ink-900);background:#fff!important}.no-print,.support-session-bar,.primo-header,.teacher-header__actions,.confirm-dialog-backdrop{display:none!important}.primo-page{min-height:0;display:block;background:#fff!important}.ssr{-webkit-print-color-adjust:exact;print-color-adjust:exact;visibility:visible!important;pointer-events:auto!important;width:auto!important;position:static!important;left:auto!important}.ssr-table tr,.ssr-score,.ssr-notes__item,.ssr__keep,.ssr__header,.ssr__identity{break-inside:avoid;page-break-inside:avoid}.ssr__h2{break-after:avoid;page-break-after:avoid}.ssr__h2+*,.ssr-table{break-before:avoid;page-break-before:avoid}a{color:inherit!important;text-decoration:none!important}}.auth-shell.primo-page{background:var(--surface-50);min-height:100vh}.auth-shell .primo-main{width:100%}.auth-shell__back{color:var(--primo-blue);white-space:nowrap;font-size:14px;font-weight:600}.auth-card{background:var(--surface-0);width:min(540px,100%);box-shadow:var(--shadow-2);border-radius:24px;padding:72px 68px 68px}.auth-card__header{text-align:left}.auth-card__header .primo-logo{margin:0 auto 8px;display:block}.auth-card__title{color:var(--primo-navy);margin:8px 0;font-size:26px;font-weight:800;line-height:1.2}.auth-page__hint{color:#3d4c6b;font-size:14px}.auth-page__hint p{margin:0 0 8px}.auth-page__hint p:last-child{margin-bottom:0}.auth-page__actions{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.auth-page__alt-links{text-align:center;color:#3d4c6b;margin:12px 0 0;font-size:14px}.auth-card .ActionButton{white-space:nowrap;flex-shrink:0;min-height:52px;padding:12px 22px;font-size:16px}.auth-card .ActionButton--primary{margin-left:auto}.auth-form{text-align:left;flex-direction:column;gap:14px;margin-top:20px;display:flex}@media (max-width:640px){.auth-card{padding:68px 60px 64px}.auth-page__actions{flex-wrap:wrap}}.auth-form label,.auth-form-field{flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.auth-password-head{white-space:nowrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.auth-forgot-link{white-space:nowrap;margin-left:auto;font-size:13px;font-weight:600}.otp-boxes{justify-content:space-between;gap:8px;display:flex}.otp-box{text-align:center;width:48px;min-height:52px;padding:0;font-size:20px;font-weight:800}.auth-form input,.auth-form select{min-height:44px;font:inherit;background:#fff;border:1px solid #dde4ef;border-radius:10px;padding:8px 12px}.auth-school-select{z-index:1;font-weight:400;position:relative}.auth-school-select.is-open{z-index:20}.auth-school-select__control{border:1px solid var(--line-200);width:100%;min-height:44px;font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.auth-school-select.is-invalid .auth-school-select__control{border-color:var(--error-border)}.auth-school-select.is-open .auth-school-select__control,.auth-school-select__control:focus-visible{border-color:var(--primo-blue);box-shadow:var(--focus-ring)}.auth-school-select__placeholder{color:var(--ink-500)}.auth-school-select__value{color:var(--ink-900)}.auth-school-select__chevron{width:18px;height:18px;color:var(--ink-500);flex-shrink:0}.auth-school-select.is-open .auth-school-select__chevron{transform:rotate(180deg)}.auth-school-select__menu{z-index:20;border:1px solid var(--line-200);box-shadow:var(--shadow-2);background:#fff;border-radius:10px;padding:8px;position:absolute;top:calc(100% + 4px);left:0;right:0}.auth-school-select__search-wrap{margin:0 0 6px;position:relative}.auth-school-select__search-icon{width:16px;height:16px;color:var(--ink-500);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.auth-school-select__search,.auth-form .auth-school-select__search{width:100%;min-height:40px;font:inherit;border:1px solid var(--line-200);background:#fff;border-radius:10px;margin:0;padding:8px 12px 8px 34px;display:block}.auth-school-select__list{max-height:220px;margin:0;padding:0;list-style:none;overflow:auto}.auth-school-select__option{text-align:left;width:100%;font:inherit;color:var(--ink-900);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:500}.auth-school-select__option:focus-visible,.auth-school-select__option.is-active{background:var(--surface-50);box-shadow:none}.auth-school-select__option.is-selected{background:var(--info-100)}.auth-school-select__empty{color:var(--ink-500);padding:10px 12px;font-size:14px;font-weight:500}.auth-password{display:block;position:relative}.auth-password input{width:100%;padding-right:44px}.auth-password__toggle{color:#5c6b8a;cursor:pointer;background:0 0;border:0;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.auth-form__error{color:#b3261e;font-size:12px;font-weight:600}.users-status{letter-spacing:.02em;text-transform:uppercase;font-size:12px;font-weight:800;display:inline-block}.users-status--active{color:#0e8345}.users-status--pending{color:#0b6e99}.users-status--inactive{color:#b54708}.users-status--rejected{color:#b3261e}.users-status--dropped{color:#5f6368}.users-status--withdrawn{color:#b3261e}.roleplay-situation{gap:16px;display:grid}.roleplay-situation__field{color:#213253;gap:7px;font-size:13px;font-weight:700;display:grid}.roleplay-situation__field input:not([type=checkbox]),.roleplay-situation__field textarea,.roleplay-situation__field select{color:#14213d;width:100%;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;font-weight:500}.roleplay-situation__field textarea{resize:vertical;line-height:1.45}.roleplay-situation__field small,.roleplay-situation__trait small{color:#64748b;font-size:12px;font-weight:500}.roleplay-situation__field.is-invalid input:not([type=checkbox]),.roleplay-situation__field.is-invalid input:not([type=checkbox]):focus,.roleplay-situation__field.is-invalid input:not([type=checkbox]):focus-visible{border-color:var(--error-600)}.roleplay-situation__field small.roleplay-situation__error{color:var(--error-600);font-weight:600}.roleplay-situation__generated{background:#f7faff;border:1px solid #cbdcf7;border-radius:14px;gap:14px;padding:16px;display:grid}.roleplay-situation__trait{color:#19335f;background:#eaf1fd;border-radius:10px;gap:5px;padding:12px;display:grid}.roleplay-situation__trait textarea{resize:vertical;width:100%;color:inherit;font:inherit;background:#fff;border:1px solid #b8cae8;border-radius:8px;padding:9px 10px;line-height:1.4}.roleplay-situation__review{color:#17325d;align-items:flex-start;gap:9px;font-size:13px;font-weight:700;display:flex}.roleplay-situation__review input{flex:none;width:auto;margin-top:2px}.student-classes-main{width:min(1080px,100% - 32px);margin:0 auto}.student-classes-intro{margin:32px 0 24px}.student-classes-intro>span,.student-class-card__head>div:first-child>span{color:var(--ink-500);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.student-classes-intro h1{margin:6px 0}.student-classes-intro p,.student-class-card p,.student-classes-empty,.student-class-module>span,.student-class-module>small{color:var(--ink-500)}.student-class-list{gap:16px;padding-bottom:48px;display:grid}.student-class-card{padding:22px}.student-class-card.is-selected{border-color:var(--primo-blue)}.student-class-card__head{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.student-class-card h2{margin:4px 0}.student-class-card__actions{align-items:center;gap:14px;display:flex}.student-class-modules{border-top:1px solid var(--line-200);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:20px;padding-top:20px;display:grid}.student-class-module{border:1px solid var(--line-200);background:var(--surface-0);min-height:124px;color:inherit;text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;align-items:flex-start;gap:7px;padding:16px;display:flex}.student-class-module:hover:not(:disabled){border-color:var(--primo-blue);transform:translateY(-1px)}.student-class-module.is-locked{cursor:not-allowed;opacity:.68}.student-classes-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:150px;padding:24px;display:flex}@media (max-width:720px){.student-class-card__head,.student-class-card__actions{flex-direction:column;align-items:stretch}}
