/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}.attendance-rate{color:var(--purple);font-size:2rem}.attendance-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;display:grid}.attendance-stat{background:var(--surface-soft);border-radius:var(--radius-sm);gap:.4rem;padding:.75rem;display:grid}.attendance-stat strong{font-size:1.25rem}.attendance-selector{flex-wrap:wrap;align-items:end;gap:1rem;display:flex}.attendance-selector .form-field{min-width:14rem}.attendance-table-scroll{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);overflow-x:auto}.attendance-table{border-collapse:collapse;text-align:left;width:100%}.attendance-table th,.attendance-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.85rem 1rem}.attendance-table th{color:var(--ink-soft);background:var(--surface-soft);letter-spacing:.04em;text-transform:uppercase;font-size:.8rem}.attendance-table tbody tr:last-child td{border-bottom:0}.attendance-table tbody tr[tabindex]:focus-visible{outline-offset:-3px;outline:3px solid #7256e859}.attendance-bulk-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);flex-wrap:wrap;align-items:end;gap:1rem;padding:1rem;display:flex}.attendance-bulk-bar label{gap:.35rem;min-width:12rem;font-weight:650;display:grid}.attendance-bulk-bar select,.attendance-selector input,.attendance-selector select{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:2.75rem;padding:.55rem .7rem}.attendance-pagination{justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.attendance-pagination>span:first-child{color:var(--ink-soft);margin-right:auto;font-size:.8rem;font-weight:650}.attendance-management-page>.page-header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3 78%);border-radius:var(--radius-lg);border:1px solid #e2dcfb;align-items:center;padding:1.5rem;position:relative;overflow:hidden}.attendance-session-picker{border-radius:var(--radius-lg);border-color:#ded7f7;padding:0;overflow:hidden;box-shadow:0 12px 30px #49379212}.attendance-session-picker__header{background:linear-gradient(120deg,#fff,var(--purple-soft));border-bottom:1px solid #e7e3fa;align-items:center;gap:.8rem;padding:1.15rem 1.25rem;display:flex}.attendance-session-picker__header h2{margin:0 0 .2rem;font-size:1.2rem}.attendance-session-picker__header p{color:var(--ink-muted);margin:0;font-size:.78rem}.attendance-session-picker__header .eyebrow{color:var(--purple-dark);margin-bottom:.25rem}.attendance-session-picker__icon,.attendance-session-summary__calendar{width:2.6rem;height:2.6rem;color:var(--purple-dark);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);background:#fff;border:1px solid #ded7f7;flex:none;place-items:center;display:grid}.attendance-session-picker__icon svg,.attendance-session-summary__calendar svg{width:1.25rem}.attendance-session-count{color:var(--purple-dark);white-space:nowrap;background:#ffffffbf;border:1px solid #ded7f7;border-radius:999px;margin-left:auto;padding:.35rem .65rem;font-size:.72rem;font-weight:750}.attendance-selector--connected{grid-template-columns:minmax(12rem,.8fr) minmax(20rem,1.8fr) minmax(12rem,.8fr);align-items:end;padding:1rem 1.25rem 1.25rem;display:grid}.attendance-selector--connected .form-field{min-width:0}.attendance-selector--connected select{background:#faf9ff;border-color:#d8d1f7;width:100%}.attendance-selector--connected select:focus{border-color:var(--purple);box-shadow:var(--shadow-focus);outline:none}.attendance-empty-card{place-items:center;min-height:22rem;display:grid}.attendance-session-summary{border-radius:var(--radius-lg);border-color:#ded7f7;grid-template-columns:minmax(0,1.4fr) minmax(20rem,1fr);align-items:center;gap:1.25rem;padding:1.1rem 1.25rem;display:grid}.attendance-session-summary__identity{align-items:center;gap:.8rem;min-width:0;display:flex}.attendance-session-summary__identity>div{min-width:0}.attendance-session-summary__identity h2{text-overflow:ellipsis;white-space:nowrap;margin:0 0 .25rem;font-size:1.18rem;overflow:hidden}.attendance-session-summary__identity p{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.78rem;overflow:hidden}.attendance-session-summary__identity .eyebrow{color:var(--purple-dark);margin-bottom:.25rem}.attendance-session-summary__identity>.badge{margin-left:auto}.attendance-roster-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.attendance-roster-metrics>div{background:var(--surface-soft);border-radius:var(--radius-sm);align-items:center;gap:.5rem;padding:.65rem;display:flex}.attendance-roster-metrics svg{width:1rem;color:var(--purple);flex:none}.attendance-roster-metrics span{display:grid}.attendance-roster-metrics small{color:var(--ink-muted);font-size:.62rem;line-height:1.2}.attendance-roster-card{border-radius:var(--radius-lg);border-color:#ded7f7;padding:0;overflow:hidden;box-shadow:0 12px 30px #49379212}.attendance-roster-card__header{background:linear-gradient(120deg,#fff,var(--purple-soft));border-bottom:1px solid #e7e3fa;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.15rem 1.25rem;display:flex}.attendance-roster-card__header h2{margin:0 0 .2rem;font-size:1.18rem}.attendance-roster-card__header p{color:var(--ink-muted);margin:0;font-size:.78rem}.attendance-roster-card__header>span,.attendance-roster-card__count{color:var(--purple-dark);background:#fff;border:1px solid #ded7f7;border-radius:999px;padding:.35rem .65rem;font-size:.72rem;font-weight:750}.attendance-roster-card__header-actions{align-items:center;gap:.65rem;display:flex}.attendance-roster-card .attendance-table-scroll{max-height:min(60vh,28rem);box-shadow:none;scrollbar-width:thin;scrollbar-color:#b4a7ec #f4f2fc;border:0;border-radius:0;overflow:auto}.attendance-roster-card .attendance-table-scroll::-webkit-scrollbar{width:8px;height:8px}.attendance-roster-card .attendance-table-scroll::-webkit-scrollbar-track{background:#f4f2fc;border-radius:999px}.attendance-roster-card .attendance-table-scroll::-webkit-scrollbar-thumb{background:#b4a7ec;border-radius:999px}.attendance-roster-card .attendance-table-scroll::-webkit-scrollbar-thumb:hover{background:var(--purple)}.attendance-header-save-group{align-items:center;gap:.5rem;display:flex}.attendance-header-status-select{min-height:2.25rem;color:var(--purple-dark);border-radius:var(--radius-sm);cursor:pointer;background:#fff;border:1px solid #cfc7f5;padding:.3rem .65rem;font-size:.78rem;font-weight:650;transition:border-color .15s,box-shadow .15s}.attendance-header-status-select:focus{border-color:var(--purple);box-shadow:var(--shadow-focus);outline:none}.attendance-roster-card .attendance-table thead th{z-index:2;position:sticky;top:0;box-shadow:0 1px #e7e3fa}.attendance-roster-table tbody tr{transition:background-color .16s}.attendance-roster-table tbody tr:hover,.attendance-roster-table tbody tr.is-selected{background:#faf9ff}.attendance-roster-table input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:var(--purple);cursor:pointer}.attendance-checkbox-column{text-align:center;width:3.25rem}.attendance-learner{align-items:center;gap:.65rem;min-width:13rem;display:flex}.attendance-learner__avatar{width:2.25rem;height:2.25rem;color:var(--purple-dark);background:var(--purple-soft);border:1px solid #ded7f7;border-radius:50%;flex:none;place-items:center;font-size:.7rem;font-weight:800;display:grid}.attendance-learner__identity{min-width:0;display:grid}.attendance-learner__identity strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.attendance-learner__identity small{max-width:22rem;color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.attendance-marked-at{color:var(--ink-soft);font-size:.78rem}.attendance-table-identity{min-width:10rem;display:grid}.attendance-table-identity strong{color:var(--ink);font-size:.84rem}.attendance-table-identity small{color:var(--ink-muted);font-size:.72rem}.attendance-roster-card .attendance-bulk-bar{z-index:3;background:#fcfbff;border:0;border-top:1px solid #e7e3fa;border-radius:0;margin:0;padding:.9rem 1.25rem;position:sticky;bottom:0;box-shadow:0 -4px 14px #291e5614}.attendance-roster-card .attendance-bulk-bar>span{color:var(--ink-soft);margin-right:auto;font-size:.78rem}.attendance-roster-card .attendance-pagination{border-top:1px solid var(--border);margin:0;padding:.85rem 1.25rem}.dialog-backdrop{z-index:50;background:#17181b61;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.attendance-dialog{width:min(32rem,100%);max-height:calc(100vh - 2rem);overflow-y:auto}.attendance-dialog .form-actions{justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}@media (prefers-reduced-motion:reduce){.card-skeleton .skeleton-line{animation:none}}.analytics-page{gap:1.25rem;display:grid}.analytics-updated{color:var(--ink-muted);font-size:.76rem;font-weight:650}.analytics-filters{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);gap:.85rem;padding:1rem 1.15rem;display:grid}.analytics-quick-periods{flex-wrap:wrap;gap:.35rem;display:flex}.analytics-quick-periods .button{min-height:2.75rem}.analytics-filter-fields{grid-template-columns:repeat(5,minmax(8rem,1fr)) auto;align-items:end;gap:.7rem;display:grid}.analytics-filter-fields label,.analytics-sort{color:var(--ink-soft);gap:.35rem;font-size:.7rem;font-weight:750;display:grid}.analytics-filter-fields input,.analytics-filter-fields select,.analytics-sort select{width:100%;min-height:2.75rem;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.55rem .65rem}.analytics-filter-fields .button{white-space:nowrap;min-height:2.75rem}.analytics-active-scope{color:var(--ink-muted);align-items:center;gap:.4rem;margin:0;font-size:.72rem;display:flex}.analytics-active-scope svg{width:1rem;color:var(--purple)}.analytics-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.analytics-kpi{align-items:flex-start;gap:.85rem;min-height:9rem;padding:1.1rem;display:flex}.analytics-kpi__icon{width:2.7rem;height:2.7rem;color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-sm);flex:none;place-items:center;display:grid}.analytics-kpi__icon svg{width:1.25rem}.analytics-kpi>div{gap:.22rem;min-width:0;display:grid}.analytics-kpi p{color:var(--ink-muted);margin:0;font-size:.72rem;font-weight:750}.analytics-kpi strong{color:var(--ink);font-size:1.7rem;line-height:1.25}.analytics-kpi small{color:var(--ink-soft);font-size:.68rem;line-height:1.45}.analytics-kpi--risk .analytics-kpi__icon{color:var(--red);background:#fff0f1}.analytics-kpi--warning .analytics-kpi__icon{color:var(--yellow);background:#fff7df}.analytics-chart-grid{grid-template-columns:1.25fr .75fr;gap:1rem;display:grid}.analytics-chart-card{min-width:0;padding:0;overflow:hidden}.audit-filter-row{align-items:center;margin:1rem 0;padding:0 1.15rem}.report-create-card .card__header{align-items:center;margin-bottom:1rem}.report-create-card .card__header>span{color:var(--ink-muted);font-size:.78rem}.report-create-fields{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.report-create-fields select{min-width:12rem;min-height:2.75rem}.report-create-fields select:nth-child(2){max-width:22rem}.report-exports-card{padding:0;overflow:hidden}.report-exports-card>.card__header{border-bottom:1px solid var(--border);align-items:center;margin:0;padding:1.2rem 1.35rem}.report-exports-card>.card__header h2{margin:0;font-size:1.2rem}.report-exports-card>.card__header .eyebrow{margin-bottom:.3rem}.report-exports-card th,.report-exports-card td{vertical-align:middle;padding:.85rem 1.35rem}.report-exports-card th:first-child{width:24%}.report-exports-card th:nth-child(2){width:38%}.report-exports-card th:nth-child(3){width:18%}.report-exports-card td{overflow-wrap:anywhere}.report-export-type{color:var(--ink);text-transform:capitalize;font-weight:700}.report-export-error{max-width:25rem;line-height:1.45}.report-exports-card td:last-child .filter-row{flex-wrap:wrap;gap:.5rem}.audit-filter-row label{align-items:center;min-width:min(22rem,100%);display:flex;position:relative}.audit-filter-row label svg{color:var(--ink-muted);pointer-events:none;position:absolute;left:.7rem}.audit-filter-row input{min-height:2.75rem;padding-left:2.2rem}.audit-filter-row select{min-height:2.75rem}.audit-filter-count{color:var(--ink-muted);white-space:nowrap;margin-left:auto;font-size:.72rem}.table-card td small{color:var(--ink-muted);margin-top:.2rem;font-size:.68rem;display:block}.analytics-chart-card .card__header,.analytics-table-card .card__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;margin:0;padding:1rem 1.15rem;display:flex}.analytics-chart-card .card__header h2,.analytics-table-card .card__header h2,.analytics-insights h2{margin:.15rem 0 0;font-size:1.08rem}.analytics-legend{color:var(--ink-muted);flex-wrap:wrap;justify-content:flex-end;gap:.65rem;font-size:.68rem;display:flex}.analytics-legend span{white-space:nowrap;align-items:center;gap:.35rem;display:inline-flex}.analytics-legend i{border-radius:999px;width:.7rem;height:.2rem}.analytics-chart-scroll{width:100%;padding:.7rem .8rem 0;overflow-x:auto}.analytics-chart{width:100%;min-width:34rem;height:auto;display:block}.analytics-chart text{fill:var(--ink-muted);font-size:11px}.analytics-grid line{stroke:var(--border);stroke-width:1px}.analytics-chart circle:focus{filter:drop-shadow(0 0 3px var(--purple));stroke-width:5px;outline:none}.analytics-chart-empty{min-height:14rem;color:var(--ink-muted);place-items:center;margin:0;display:grid}.analytics-data-toggle{min-height:2.75rem;color:var(--purple-dark);cursor:pointer;background:0 0;border:0;margin:.35rem 1.15rem 1rem;padding:0;font-weight:750}.analytics-data-toggle:focus-visible{outline-offset:3px;outline:3px solid #7256e847}.analytics-insights{grid-template-columns:minmax(12rem,.4fr) minmax(0,1fr);gap:1rem;padding:1.15rem;display:grid}.analytics-insights ul{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.analytics-insights li{color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.7rem .8rem;font-size:.76rem;display:grid}.analytics-insights li.is-clickable{cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast)}.analytics-insights li.is-clickable:hover{border-color:var(--purple-light);background:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #7256e814}.analytics-insights li.is-clickable:focus-visible{outline-offset:2px;outline:3px solid #7256e847}.analytics-insights li>svg{width:1rem;color:var(--blue)}.analytics-insights li.is-risk>svg{color:var(--red)}.analytics-insights a{width:2.75rem;height:2.75rem;color:var(--purple);border-radius:var(--radius-sm);transition:transform var(--transition-fast), color var(--transition-fast);place-items:center;display:grid}.analytics-insights a:hover{color:var(--purple-dark);transform:translate(3px)}.analytics-insights a:focus-visible{outline:3px solid #7256e847}.analytics-section-anchor{scroll-margin-top:5.5rem}.analytics-table-card{min-width:0;padding:0;scroll-margin-top:5.5rem;overflow:hidden}.analytics-section--targeted{transition:box-shadow .3s,outline .3s;outline:2px solid var(--purple)!important;box-shadow:0 0 0 4px #7256e838,0 8px 24px #7256e81f!important}.analytics-table-card.is-loading{opacity:.68}.analytics-sort{min-width:12rem}.analytics-table-scroll{overflow-x:auto}.analytics-table{border-collapse:collapse;text-align:left;width:100%}.analytics-table caption{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.analytics-table th,.analytics-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.8rem .85rem}.analytics-table thead th{color:var(--ink-soft);background:var(--surface-soft);letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;font-size:.68rem}.analytics-table tbody th,.analytics-table tbody td{color:var(--ink-soft);font-size:.75rem}.analytics-table tbody th{min-width:10rem;color:var(--ink)}.analytics-table th strong,.analytics-table th small,.analytics-table td small{display:block}.analytics-table th small,.analytics-table td small{color:var(--ink-muted);margin-top:.2rem;font-size:.65rem;font-weight:500}.analytics-table .progress-wrap{min-width:7.5rem}.analytics-table .progress__labels{font-size:.65rem}.analytics-table .text-link{white-space:nowrap;align-items:center;min-height:2.75rem;display:inline-flex}.analytics-badge-stack{flex-wrap:wrap;gap:.3rem;display:flex}.analytics-pagination{background:var(--surface-soft);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex}.analytics-pagination>span{color:var(--ink-muted);font-size:.7rem}.analytics-pagination>div{gap:.45rem;display:flex}.analytics-inline-error{margin:.8rem}.analytics-skeleton--summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.analytics-skeleton--summary .card{min-height:9rem}.analytics-skeleton--chart .card{min-height:20rem}.analytics-skeleton--table .card{min-height:18rem}.analytics-skeleton .card{background:var(--surface-soft);position:relative;overflow:hidden}.analytics-skeleton .card:after{content:"";background:linear-gradient(90deg,#0000,#ffffffb8,#0000);animation:1.4s infinite analytics-shimmer;position:absolute;inset:0}@keyframes analytics-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (max-width:70rem){.analytics-filter-fields{grid-template-columns:repeat(3,minmax(9rem,1fr))}.analytics-summary,.analytics-skeleton--summary{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-chart-grid{grid-template-columns:1fr}}@media (max-width:48rem){.analytics-filter-fields,.analytics-summary,.analytics-skeleton--summary,.analytics-insights{grid-template-columns:1fr}.analytics-quick-periods{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.analytics-quick-periods .button,.analytics-filter-fields .button{width:100%}.analytics-chart-card .card__header,.analytics-table-card .card__header{flex-direction:column;align-items:stretch}.analytics-legend{justify-content:flex-start}.analytics-sort{width:100%}.analytics-table-scroll{overflow:visible}.analytics-table,.analytics-table thead,.analytics-table tbody,.analytics-table tr,.analytics-table th,.analytics-table td{display:block}.analytics-table thead{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.analytics-table tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);margin:.75rem;padding:.45rem}.analytics-table td{border-bottom:1px solid var(--border);grid-template-columns:minmax(6.5rem,.7fr) minmax(0,1.3fr);gap:.65rem;display:grid}.analytics-table td:before{color:var(--ink-muted);content:attr(data-label);font-size:.68rem;font-weight:750}.analytics-pagination{flex-direction:column;align-items:stretch}.analytics-pagination>div,.analytics-pagination .button{width:100%}.analytics-pagination .button{flex:1}}@media (prefers-reduced-motion:reduce){.analytics-skeleton .card:after{animation:none}}html[data-reduce-motion=true] .analytics-skeleton .card:after{animation:none}@media (max-width:48rem){.attendance-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-selector,.attendance-bulk-bar{flex-direction:column;align-items:stretch}.attendance-selector--connected{grid-template-columns:1fr;display:grid}.attendance-selector .form-field,.attendance-bulk-bar label,.attendance-selector button,.attendance-bulk-bar button{width:100%}.attendance-session-picker__header,.attendance-session-summary,.attendance-session-summary__identity,.attendance-roster-card__header{align-items:flex-start}.attendance-session-summary{grid-template-columns:1fr}.attendance-session-summary__identity{flex-wrap:wrap}.attendance-session-summary__identity>.badge{margin-left:0}.attendance-roster-metrics{width:100%}.attendance-table-scroll{box-shadow:none;background:0 0;border:0;overflow:visible}.attendance-roster-card .attendance-table-scroll{max-height:min(65vh,28rem);overflow:auto}.attendance-table,.attendance-table thead,.attendance-table tbody,.attendance-table tr,.attendance-table th,.attendance-table td{display:block}.attendance-table thead{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.attendance-table tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);margin-bottom:.75rem;padding:.5rem}.attendance-table td{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.55rem .65rem;display:flex}.attendance-table td:last-child{border-bottom:0}.attendance-table td:before{color:var(--ink-soft);content:attr(data-label);font-weight:700}.attendance-roster-table td.attendance-checkbox-column{text-align:right;justify-content:space-between}.attendance-roster-table td[data-label=Learner]{align-items:flex-start}.attendance-pagination{flex-direction:column;align-items:stretch}.attendance-pagination .button{width:100%}}.results-page{gap:1rem}.result-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.result-summary-card{border-color:#e2def2;align-items:flex-start;gap:.8rem;min-height:8.5rem;padding:1rem;display:flex}.result-summary-card__icon{width:2.6rem;height:2.6rem;color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-sm);flex:none;place-items:center;display:grid}.result-summary-card__icon svg{width:1.25rem}.result-summary-card>div{gap:.2rem;min-width:0;display:grid}.result-summary-card span{color:var(--ink-muted);font-size:.72rem;font-weight:700}.result-summary-card strong{color:var(--ink);font-size:1.45rem}.result-summary-card small{color:var(--ink-soft);font-size:.68rem;line-height:1.4}.result-count{color:var(--ink-muted);margin:-.35rem 0 0;font-size:.75rem;font-weight:650}.result-list-card{padding:0;overflow:hidden}.result-table-scroll{overflow-x:auto}.result-table{border-collapse:collapse;text-align:left;width:100%}.result-table th,.result-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.85rem 1rem}.result-table th{color:var(--ink-soft);background:var(--surface-soft);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem}.result-table td{color:var(--ink-soft);font-size:.78rem}.result-table td>strong,.result-table td>small{display:block}.result-table td>strong{color:var(--ink);font-size:.84rem}.result-table td>small{color:var(--ink-muted);margin-top:.2rem;font-size:.68rem}.result-outcome{gap:.35rem;min-width:7.5rem;display:grid}.result-outcome>strong{color:var(--ink);font-size:.9rem}.result-outcome .progress__labels{display:none}.result-outcome .progress{height:.35rem}.result-outcome .badge{width:-moz-fit-content;width:fit-content}.result-pagination{background:var(--surface-soft);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex}.result-pagination>span{color:var(--ink-muted);font-size:.75rem}.result-pagination>div{gap:.4rem;display:flex}.result-back{width:-moz-fit-content;width:fit-content;min-height:2.75rem;color:var(--purple-dark);cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:0;font-weight:750;display:inline-flex}.result-back svg{width:1rem}.result-detail-actions{flex-wrap:wrap;gap:.55rem;display:flex}.result-detail-grid{grid-template-columns:minmax(16rem,.7fr) minmax(0,1.3fr);gap:1rem;display:grid}.result-score-card,.result-feedback-card{align-content:start;gap:.75rem;display:grid}.result-score-card .result-outcome>strong{font-size:1.65rem}.result-score-card .result-outcome .progress{height:.55rem}.result-state-line{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:.7rem;display:flex}.result-state-line>span{color:var(--ink-muted);font-size:.72rem}.result-feedback-card h2,.result-breakdown-card h2,.result-history-card h2{margin:0;font-size:1.08rem}.result-feedback-card p:last-child{color:var(--ink-soft);white-space:pre-wrap;line-height:1.65}.result-feedback-card .muted{color:var(--ink-muted)}.result-breakdown-card{padding:0;overflow:hidden}.result-breakdown-card .card__header,.result-history-card .card__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;display:flex}.result-breakdown-card dl{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.result-breakdown-card dl>div{border-right:1px solid var(--border);border-bottom:1px solid var(--border);gap:.25rem;padding:.9rem 1.15rem;display:grid}.result-breakdown-card dt{color:var(--ink-muted);text-transform:capitalize;font-size:.68rem;font-weight:700}.result-breakdown-card dd{color:var(--ink);margin:0;font-size:.82rem;font-weight:700}.result-history-card{padding:0;overflow:hidden}.result-history-card .card__header>svg{color:var(--purple)}.result-history-card ol{margin:0;padding:0;list-style:none;display:grid}.result-history-card li{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.8rem 1.15rem;display:grid}.result-history-card li:last-child{border-bottom:0}.result-history-card li>span{min-width:2.1rem;height:2.1rem;color:var(--purple-dark);background:var(--purple-soft);border-radius:50%;place-items:center;font-size:.68rem;font-weight:800;display:grid}.result-history-card li>div{gap:.15rem;display:grid}.result-history-card li strong{color:var(--ink);font-size:.8rem}.result-history-card li small,.result-history-empty{color:var(--ink-muted);font-size:.7rem}.result-history-empty{margin:0;padding:1.15rem}dialog.result-dialog,.result-dialog{overscroll-behavior:contain;width:min(46rem,100vw - 2rem);max-height:calc(100vh - 3rem);color:var(--ink);background:var(--surface);border:1px solid var(--border-soft,#e7e2f5);border-radius:var(--radius-lg);padding:0;position:fixed;inset:0;overflow-y:auto;box-shadow:0 24px 60px #18162638,0 0 0 1px #7256e81f;margin:auto!important}dialog.result-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1816268c;position:fixed;inset:0}.result-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1816268c;position:fixed;inset:0}dialog.marksheet-preview-modal::backdrop{-webkit-backdrop-filter:blur(5px)!important;backdrop-filter:blur(5px)!important;background:#0e0b1ab8!important}.result-dialog form{gap:1rem;padding:1.25rem;display:grid}.result-dialog__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.result-dialog__header h2{margin:0;font-size:1.3rem}.result-dialog form>p{color:var(--ink-soft);margin:0;font-size:.78rem;line-height:1.55}.result-dialog__scores{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.result-dialog label{color:var(--ink-soft);gap:.35rem;font-size:.75rem;font-weight:700;display:grid}.result-dialog input,.result-dialog textarea{width:100%;min-height:2.75rem;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.6rem .7rem}.result-dialog textarea{resize:vertical;min-height:6rem}.result-dialog__wide{grid-column:1/-1}.result-dialog__reason small{color:var(--ink-muted);font-weight:500}.result-dialog .form-actions{justify-content:flex-end;gap:.6rem;display:flex}@media (max-width:70rem){.result-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:48rem){.result-summary-grid,.result-detail-grid,.result-breakdown-card dl{grid-template-columns:1fr}.result-summary-card{min-height:auto}.result-detail-actions,.result-detail-actions .button{width:100%}.result-table-scroll{overflow:visible}.result-table,.result-table thead,.result-table tbody,.result-table tr,.result-table th,.result-table td{display:block}.result-table thead{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.result-table tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);margin:.75rem;padding:.45rem}.result-table td{border-bottom:1px solid var(--border);grid-template-columns:minmax(6.5rem,.65fr) minmax(0,1.35fr);align-items:start;gap:.7rem;padding:.6rem;display:grid}.result-table td:before{color:var(--ink-muted);content:attr(data-label);font-size:.68rem;font-weight:750}.result-table td:last-child{border-bottom:0}.result-table td .button{width:100%}.result-outcome{min-width:0}.result-pagination{margin-top:.5rem}.result-breakdown-card dl>div{border-right:0}.result-dialog__scores{grid-template-columns:1fr}.result-dialog__wide{grid-column:auto}.result-dialog .form-actions{flex-direction:column-reverse;align-items:stretch}.result-dialog .form-actions .button{width:100%}}.assessment-filter-card,.attempt-lookup-card{gap:1rem;display:grid}.attempt-lookup-card form{gap:.75rem;display:grid}.attempt-lookup-card form .form-field{margin:0}.attempt-lookup-card form .button{width:-moz-fit-content;width:fit-content}.assessment-catalog-toolbar{background:#faf9ff;border-bottom:1px solid #e7e3fa;justify-content:space-between;align-items:end;gap:1rem;padding:1rem 1.25rem;display:flex}.assessment-catalog-toolbar .form-field{width:min(18rem,100%)}.assessment-catalog-toolbar__count{color:var(--ink-muted);padding-bottom:.65rem;font-size:.75rem;font-weight:700}.assessment-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.assessment-table-scroll{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);overflow-x:auto}.assessment-table{border-collapse:collapse;text-align:left;width:100%}.assessment-table th,.assessment-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.85rem 1rem}.assessment-table th{color:var(--ink-soft);background:var(--surface-soft);letter-spacing:.04em;text-transform:uppercase;font-size:.8rem}.assessment-table tbody tr:last-child td{border-bottom:0}.assessment-pagination{justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.assessment-detail-card,.assessment-score-card{margin-top:1rem}.assessment-catalog-result{gap:.15rem;display:grid}.assessment-catalog-result strong{color:var(--purple-dark)}.assessment-catalog-result span{color:var(--ink-muted);font-size:.72rem}.assessment-completed-label{color:var(--ink-muted);font-size:.78rem;font-weight:750}.assessment-question-list{gap:1rem;margin-top:1rem;display:grid}.assessment-question-card fieldset,.question-editor fieldset{border:0;gap:1rem;margin:0;padding:0;display:grid}.assessment-question-card legend{gap:.35rem;width:100%;margin-bottom:1rem;font-size:1.05rem;display:grid}.assessment-question-card legend strong{color:var(--purple);text-transform:uppercase;font-size:.8rem}.assessment-question-instruction{color:var(--purple-dark);font-size:.72rem;font-weight:650}.assessment-options,.assessment-question-options{gap:.65rem;display:grid}.assessment-option{border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:.75rem;min-height:2.75rem;padding:.65rem .75rem;display:flex}.assessment-option:has(input:checked){border-color:var(--purple);background:var(--purple-soft)}.assessment-option>input[type=text],.assessment-option>input:not([type]){border:1px solid var(--border-strong);border-radius:var(--radius-xs);flex:1;min-height:2.4rem;padding:.5rem}.assessment-save-state{min-height:1.5rem;color:var(--ink-soft);font-size:.875rem}.assessment-score-card strong{color:var(--purple);font-size:2rem}.assessment-attempt-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.assessment-form,.question-editor{gap:1rem;display:grid}.question-editor{border-bottom:1px solid var(--border);padding-block:1rem}.question-editor:last-child{border-bottom:0}.assessment-question-readonly{border-bottom:1px solid var(--border);padding-block:1rem}.assessment-question-readonly:last-child{border-bottom:0}.assessment-confirm-dialog{width:min(30rem,100%)}.admin-attempt-detail{gap:1rem;margin-top:1rem;display:grid}.admin-attempt-detail .card__header{margin-bottom:0}.assessment-results-card{border-radius:var(--radius-lg);border-color:#ded7f7;overflow:hidden;box-shadow:0 12px 30px #49379212}.assessment-results-card__header{background:linear-gradient(120deg,#fff,var(--purple-soft));border-bottom:1px solid #e7e3fa;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;display:flex}.assessment-results-card__header h2{margin-bottom:.25rem}.assessment-results-card__header .muted-copy{margin-bottom:0;font-size:.78rem}.assessment-results-card__icon{width:2rem;height:2rem;color:var(--purple)}.assessment-results-metrics{border-bottom:1px solid var(--border);background:#fcfbff;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;padding:1rem 1.25rem;display:grid}.assessment-results-metrics>div{background:var(--surface);border-radius:var(--radius-sm);border:1px solid #e6e1f7;grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.75rem;display:grid}.assessment-results-metrics svg{width:1.1rem;color:var(--purple);grid-row:span 2}.assessment-results-metrics strong{color:var(--purple-dark);font-size:1.2rem}.assessment-results-metrics span{color:var(--ink-muted);font-size:.7rem}.assessment-results-table-scroll{box-shadow:none;border:0;border-radius:0}.assessment-results-table th,.assessment-results-table td{padding:.9rem 1.25rem}.assessment-results-table tbody tr{transition:background-color .16s}.assessment-results-table tbody tr:hover{background:#fcfbff}.assessment-results-table th:nth-child(3),.assessment-results-table td:nth-child(3){min-width:13rem}.assessment-result-learner{gap:.15rem;display:grid}.assessment-result-learner span{color:var(--ink-muted);font-size:.75rem}.assessment-result-score{--score-color:var(--purple);gap:.45rem;width:min(13rem,100%);display:grid}.assessment-result-score--strong{--score-color:var(--green)}.assessment-result-score--medium{--score-color:var(--yellow)}.assessment-result-score--low{--score-color:var(--red)}.assessment-result-score__summary{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.assessment-result-score__points{color:var(--ink-muted);white-space:nowrap;align-items:baseline;font-size:.72rem;display:inline-flex}.assessment-result-score__points strong{color:var(--ink);font-size:1rem;font-weight:800}.assessment-result-score__percentage{min-width:3rem;color:var(--score-color);background:var(--score-color);justify-content:center;padding:.2rem .45rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.assessment-result-score__percentage{background:color-mix(in srgb,var(--score-color) 10%,white)}}.assessment-result-score__percentage{border:1px solid var(--score-color)}@supports (color:color-mix(in lab, red, red)){.assessment-result-score__percentage{border:1px solid color-mix(in srgb,var(--score-color) 22%,white)}}.assessment-result-score__percentage{border-radius:999px;font-size:.72rem;font-weight:800;line-height:1.2}.assessment-result-score__track{background:var(--surface-soft);border-radius:999px;height:.42rem;overflow:hidden}.assessment-result-score__track>span{background:var(--score-color);border-radius:inherit;height:100%;transition:width .3s;display:block}.assessment-result-score-pending{color:var(--ink-muted);align-items:center;gap:.35rem;font-size:.75rem;font-weight:650;display:inline-flex}.assessment-result-score-pending svg{width:.9rem;height:.9rem}.assessment-result-grade{min-width:2.2rem;color:var(--purple-dark);background:var(--purple-soft);border:1px solid #ded7f7;border-radius:999px;justify-content:center;padding:.3rem .55rem;font-size:.78rem;font-weight:850;line-height:1;display:inline-flex}.assessment-result-grade--a,.assessment-result-grade--b{color:var(--green);background:var(--green-soft);border-color:#bfe4d4}.assessment-result-grade--c{color:var(--blue);background:var(--blue-soft);border-color:#c8e1f5}.assessment-result-grade--d{color:var(--yellow);background:var(--yellow-soft);border-color:#eedda8}.assessment-result-grade--f{color:var(--red);background:var(--red-soft);border-color:#efc7cc}.assessment-results-empty{text-align:center;color:var(--ink-muted);gap:.25rem;padding:2rem 1.25rem;display:grid}.assessment-results-empty strong{color:var(--ink)}.assessment-management-page>.page-header,.assessment-detail-page>.page-header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3 78%);border-radius:var(--radius-lg);border:1px solid #e2dcfb;align-items:center;padding:1.5rem;position:relative;overflow:hidden}.assessment-management-page>.page-header .eyebrow,.assessment-detail-page>.page-header .eyebrow,.assessment-management-page>.page-header h1,.assessment-detail-page>.page-header h1{margin-bottom:.45rem}.assessment-management-page>.page-header .page-header__actions .button,.assessment-detail-page>.page-header .page-header__actions .button{border-radius:var(--radius-md);min-height:2.9rem;padding-inline:1.15rem}.assessment-create-card,.assessment-filter-card,.assessment-list-card,.assessment-detail-card,.assessment-lifecycle-card,.assessment-questions-card{border-radius:var(--radius-lg);border-color:#ded7f7;overflow:hidden;box-shadow:0 12px 30px #49379212}.assessment-create-card,.assessment-filter-card,.assessment-list-card{padding:0}.assessment-create-card .card__header,.assessment-filter-card__heading,.assessment-list-card__heading{background:linear-gradient(120deg,#fff,var(--purple-soft));border-bottom:1px solid #e7e3fa;margin:0;padding:1.25rem}.assessment-create-card .card__header h2,.assessment-filter-card__heading h2,.assessment-list-card__heading h2{margin-bottom:.25rem;font-size:1.2rem}.assessment-create-card .card__header p:last-child,.assessment-filter-card__heading p:last-child{margin-bottom:0;font-size:.78rem}.assessment-create-card .assessment-form{padding:1.25rem}.unified-authoring-card{border-radius:var(--radius-lg);border-color:#ded7f7;padding:0;overflow:hidden;box-shadow:0 12px 30px #49379212}.unified-authoring-card>.card__header{background:linear-gradient(120deg,#fff,var(--purple-soft));border-bottom:1px solid #e7e3fa;margin:0;padding:1.25rem}.unified-authoring-card>.card__header h2{margin-bottom:.25rem;font-size:1.2rem}.unified-authoring-card>.card__header p:last-child{margin-bottom:0;font-size:.78rem}.unified-authoring-card__body{gap:1rem;padding:1.25rem;display:grid}.unified-authoring-card__body>.form-grid{margin:0}.unified-authoring-card__actions{border-top:1px solid #e7e3fa;margin-top:.25rem;padding-top:1rem}.unified-authoring-inline{display:contents}.unified-authoring-card>form{gap:1rem;padding:1.25rem;display:grid}.unified-authoring-card>form>footer{margin-top:.25rem}.assessment-filter-card__heading,.assessment-list-card__heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.assessment-filter-card__badge,.assessment-state-label,.assessment-editable-label{min-height:1.9rem;color:var(--purple-dark);background:var(--purple-soft);white-space:nowrap;border:1px solid #ded7f7;border-radius:999px;align-items:center;padding:.35rem .65rem;font-size:.7rem;font-weight:750;display:inline-flex}.assessment-filter-grid{padding:1rem 1.25rem 1.25rem}.assessment-filter-grid .form-field select{background:#faf9ff;border-color:#d8d1f7}.assessment-filter-grid .form-field select:focus{border-color:var(--purple);box-shadow:var(--shadow-focus);outline:none}.assessment-list-card__heading{align-items:flex-start}.assessment-list-card__heading .eyebrow{margin-bottom:.3rem}.assessment-list-card__metrics{flex-wrap:wrap;gap:.45rem;display:flex}.assessment-list-card__metrics span{min-height:2rem;color:var(--ink-soft);border-radius:var(--radius-sm);background:#ffffffbf;border:1px solid #e3def7;align-items:center;gap:.3rem;padding:.35rem .6rem;font-size:.7rem;display:inline-flex}.assessment-list-card__metrics span:last-child{color:var(--orange-dark);background:var(--orange-soft);border-color:#f5dcc5}.assessment-list-card__metrics strong{color:var(--purple-dark);font-size:.85rem}.assessment-list-card__metrics span:last-child strong{color:var(--orange-dark)}.assessment-list-card .assessment-table-scroll{box-shadow:none;border:0;border-radius:0}.assessment-list-card .assessment-table th{background:#faf9ff}.assessment-list-card .assessment-table tbody tr:hover{background:#fcfbff}.assessment-table td:first-child{min-width:11rem}.assessment-table td:first-child .text-link{color:var(--purple-dark);font-weight:750}.assessment-table td:first-child .text-link:hover{color:var(--orange-dark)}.assessment-card-metric{color:var(--purple-dark);font-size:.75rem;font-weight:750}.assessment-lifecycle-card .card__header,.assessment-questions-card .card__header{background:linear-gradient(120deg,#fff,var(--purple-soft));border-bottom:1px solid #e7e3fa;align-items:center;margin-bottom:0;padding:1.25rem}.assessment-lifecycle-card .card__header h2,.assessment-questions-card .card__header h2{margin-bottom:.25rem}.assessment-questions-card .card__header .muted-copy{margin-bottom:0;font-size:.78rem}.assessment-lifecycle-action-bar{background:linear-gradient(90deg,#fff,var(--orange-soft));justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;display:flex}.assessment-lifecycle-action-bar .form-actions{margin:0}.assessment-lifecycle-action-bar .button{border-radius:var(--radius-md);min-width:8.5rem;min-height:2.7rem}.assessment-lifecycle-hint{color:var(--ink-soft);margin:0;font-size:.78rem}.assessment-lifecycle-hint--blocked{color:var(--orange-dark);font-weight:650}.assessment-questions-card .question-editor,.assessment-questions-card .assessment-question-readonly{margin-inline:1.25rem}.assessment-type-help{max-width:34rem;color:var(--purple-dark);font-size:.7rem;line-height:1.45;display:block}.assessment-type-guide-card{border-radius:var(--radius-lg);border-color:#ded7f7;overflow:hidden;box-shadow:0 12px 30px #49379212}.assessment-type-guide-card .card__header{background:linear-gradient(120deg,#fff,var(--purple-soft));border-bottom:1px solid #e7e3fa;align-items:center;margin-bottom:0;padding:1.25rem}.assessment-type-guide-card .card__header h2{margin-bottom:.25rem}.assessment-type-guide-card>p{color:var(--ink-soft);margin:0;padding:1.25rem;font-size:.88rem}@media (max-width:48rem){.assessment-filter-grid{grid-template-columns:1fr}.assessment-table-scroll{box-shadow:none;background:0 0;border:0;overflow:visible}.assessment-table,.assessment-table thead,.assessment-table tbody,.assessment-table tr,.assessment-table th,.assessment-table td{display:block}.assessment-table thead{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.assessment-table tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);margin-bottom:.75rem;padding:.5rem}.assessment-table td{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.55rem .65rem;display:flex}.assessment-table td:last-child{border-bottom:0}.assessment-table td:before{color:var(--ink-soft);content:attr(data-label);font-weight:700}.assessment-table td[data-label=Actions]{justify-content:flex-end}.assessment-pagination{flex-direction:column;align-items:stretch}.assessment-pagination .button{width:100%}.assessment-attempt-header,.assessment-filter-card__heading,.assessment-list-card__heading,.assessment-lifecycle-action-bar{flex-direction:column;align-items:flex-start}.assessment-filter-card__badge,.assessment-list-card__metrics{width:100%}.assessment-results-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-results-card__header,.assessment-results-table td[data-label=Score]{align-items:flex-start}.assessment-results-table .assessment-result-score{width:min(14rem,65%)}.assessment-list-card__metrics span{flex:1;justify-content:center}.assessment-lifecycle-action-bar .form-actions,.assessment-lifecycle-action-bar .button{width:100%}.assessment-questions-card .question-editor,.assessment-questions-card .assessment-question-readonly{margin-inline:1rem}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#17181b;--ink-soft:#555a64;--ink-faint:#7b818c;--ink-muted:#7b818c;--page:#f7f7f8;--surface:#fff;--surface-soft:#f0f1f3;--surface-dark:#0c0e12;--border:#e3e4e8;--border-strong:#cfd1d7;--orange:#ff8a1f;--orange-dark:#d96000;--orange-soft:#fff2e5;--purple:#7256e8;--purple-dark:#5b3fd1;--purple-soft:#f0edff;--green:#16855b;--green-soft:#e8f7f0;--blue:#2176bd;--blue-soft:#eaf4fc;--yellow:#a56200;--yellow-soft:#fff5d8;--red:#b83b45;--red-soft:#fcecef;--radius-xs:.375rem;--radius-sm:.625rem;--radius-md:.875rem;--radius-lg:1.25rem;--radius-xl:1.75rem;--shadow-xs:0 1px 2px #1214190d;--shadow-sm:0 4px 12px #1214190f;--shadow-md:0 18px 45px #1214191a;--shadow-focus:0 0 0 3px #7256e838;--container:75rem;--sidebar:17.5rem;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:20rem;color:var(--ink);background:var(--page);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.55}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}svg{stroke-width:1.8px;flex:none;width:1.15rem;height:1.15rem}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);letter-spacing:-.035em;line-height:1.12}h1{margin-bottom:1rem;font-size:clamp(2.25rem,4.5vw,4.5rem);font-weight:760}h2{margin-bottom:.75rem;font-size:clamp(1.35rem,2.2vw,2rem);font-weight:720}h3{margin-bottom:.5rem;font-size:1.08rem;font-weight:700}p{color:var(--ink-soft);margin-bottom:1rem}:focus-visible{outline-offset:2px;outline:3px solid #7256e859}::selection{color:var(--ink);background:#ffcf9f}.container{width:min(calc(100% - 2.5rem), var(--container));margin-inline:auto}.page{padding-block:clamp(2.5rem,6vw,5.5rem)}.narrow-page{max-width:58rem}.section{padding-block:clamp(4rem,8vw,7rem)}.section--dark{color:#fff;background:var(--surface-dark)}.section--dark h2,.section--dark h3{color:#fff}.section--dark p{color:#aeb2bb}.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}.skip-link{z-index:100;color:#fff;background:var(--ink);border-radius:var(--radius-sm);padding:.65rem 1rem;transition:transform .15s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.eyebrow{color:var(--purple);letter-spacing:.11em;text-transform:uppercase;margin-bottom:.6rem;font-size:.75rem;font-weight:800}.back-link,.text-link{min-height:2.75rem;color:var(--ink-soft);align-items:center;gap:.45rem;font-size:.9rem;font-weight:650;display:inline-flex}.back-link:hover,.text-link:hover{color:var(--purple)}.spin{animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes skeleton-pulse{0%,to{opacity:.58}50%{opacity:1}}.button{border-radius:var(--radius-sm);cursor:pointer;text-align:center;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;min-height:2.75rem;padding:.65rem 1rem;font-weight:700;line-height:1;transition:transform .16s,color .16s,background .16s,border-color .16s,box-shadow .16s;display:inline-flex}.button__label{justify-content:center;align-items:center;gap:.5rem;min-width:0;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-2px)}.button:active:not(:disabled){transform:translateY(0)scale(.98)}.button:disabled{opacity:.48;cursor:not-allowed}.button--primary{color:#17120d;background:var(--orange);border-color:var(--orange);box-shadow:0 4px 10px #ff8a1f2e}.button--primary:hover:not(:disabled){background:#ff9c42;border-color:#ff9c42;box-shadow:0 8px 20px #ff8a1f38}.button--secondary{color:var(--ink);background:var(--surface);border-color:var(--border-strong)}.button--secondary:hover:not(:disabled){background:var(--surface-soft);border-color:#bcbfc7}.button--ghost{color:var(--ink-soft);background:0 0}.button--ghost:hover:not(:disabled){color:var(--ink);background:var(--surface-soft)}.button--danger{color:#fff;background:var(--red)}.button--sm{min-height:2.4rem;padding:.5rem .8rem;font-size:.875rem}.button--lg{min-height:3.15rem;padding:.85rem 1.25rem}.button--icon{width:2.75rem;padding:0}.button--icon>.button__label{display:none}.button-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.icon-button{width:2.75rem;height:2.75rem;color:var(--ink-soft);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;place-items:center;padding:0;display:inline-grid;position:relative}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:0;box-shadow:var(--shadow-xs);padding:1.35rem}.card--interactive{transition:border-color .18s,box-shadow .18s}.card--interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.card__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.2rem;display:flex}.card__header h2{margin-bottom:0;font-size:1.25rem}.card__header .eyebrow{margin-bottom:.35rem}.skeleton-line{background:var(--surface-soft);border-radius:var(--radius-xs);width:86%;height:.72rem;display:block}.card-skeleton .skeleton-line{animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-line--title{width:42%;height:1.1rem;margin-bottom:.6rem}.skeleton-line--button{width:5.5rem;height:2.4rem}.card-skeleton{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-height:10rem;box-shadow:var(--shadow-xs);gap:.75rem;padding:1.35rem;display:grid}.card-skeleton__actions{gap:.6rem;margin-top:.45rem;display:flex}.table-skeleton{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);overflow:hidden}.table-skeleton__header,.table-skeleton__row{border-bottom:1px solid var(--border);align-items:center;gap:1rem;min-height:3.25rem;padding:.75rem 1.15rem;display:flex}.table-skeleton__header{background:#fafafb}.table-skeleton__header span,.table-skeleton__row span{background:var(--surface-soft);border-radius:var(--radius-xs);height:.68rem;display:block}.table-skeleton__header span{height:.55rem}.form-skeleton{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);gap:1rem;padding:1.35rem;display:grid}.form-skeleton--2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-skeleton__field{gap:.45rem;display:grid}.skeleton-line--label{width:28%;height:.55rem}.skeleton-line--input{width:100%;height:2.65rem}.error-state{align-items:flex-start;gap:1rem;display:flex}.error-state__icon{border-radius:var(--radius-sm);flex:none;place-items:center;width:2.5rem;height:2.5rem;display:grid}.error-state__icon svg{width:1.2rem}.error-state__content{gap:.4rem;display:grid}.error-state__content h2{margin:0;font-size:1rem}.error-state__content p{color:var(--ink-soft);margin:0;font-size:.8rem}.error-state__content small{color:var(--ink-faint);font-size:.7rem}.error-state__actions{gap:.6rem;margin-top:.35rem;display:flex}.error-state--danger .error-state__icon{color:var(--red);background:var(--red-soft)}.error-state--warning .error-state__icon{color:var(--yellow);background:var(--yellow-soft)}.error-state--info .error-state__icon{color:var(--purple);background:var(--purple-soft)}.badge{width:-moz-fit-content;width:fit-content;min-height:1.65rem;color:var(--ink-soft);background:var(--surface-soft);letter-spacing:.015em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .58rem;font-size:.72rem;font-weight:760;display:inline-flex}.badge--sm{min-height:1.4rem;padding:.18rem .45rem;font-size:.66rem}.badge svg{width:.85rem;height:.85rem}.badge__dot{background:currentColor;border-radius:50%;width:.4rem;height:.4rem}.badge--success{color:var(--green);background:var(--green-soft)}.badge--secondary{color:var(--ink-soft);background:var(--surface-soft)}.badge--warning{color:var(--yellow);background:var(--yellow-soft)}.badge--danger{color:var(--red);background:var(--red-soft)}.badge--info{color:var(--purple-dark);background:var(--purple-soft)}.progress-wrap{gap:.4rem;display:grid}.progress__labels{color:var(--ink-soft);justify-content:space-between;gap:1rem;font-size:.78rem;font-weight:650;display:flex}.progress{background:var(--surface-soft);border-radius:999px;height:.42rem;overflow:hidden}.progress>span{background:var(--purple);border-radius:inherit;height:100%;transition:width .45s;display:block}.status-badge__label--sm{font-size:.66rem}.countdown-timer{font-variant-numeric:tabular-nums;justify-content:flex-end;min-width:7rem;display:inline-flex}.filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);padding:.8rem 1rem}.filter-bar__toggle{display:none}.filter-bar__controls{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.filter-bar__field{min-width:9rem;color:var(--ink-soft);flex:1;gap:.3rem;font-size:.7rem;font-weight:700;display:grid}.filter-bar__field--search{min-width:min(20rem,30%);position:relative}.filter-bar__field input,.filter-bar__field select{width:100%;min-height:2.65rem;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.55rem .75rem;font-size:.78rem}.filter-bar__field input:focus,.filter-bar__field select:focus{border-color:var(--purple);box-shadow:var(--shadow-focus);outline:none}.filter-bar__search-icon{color:var(--ink-faint);pointer-events:none;position:absolute;bottom:.68rem;left:.7rem}.filter-bar__search-icon svg{width:1rem;height:1rem}.filter-bar__field--search input{padding-left:2.2rem}.filter-bar__clear{flex:none}.file-attachment-list{gap:.75rem;display:grid}.file-attachment-list__upload{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem;padding-bottom:.75rem;display:flex}.file-attachment-list__upload>span{color:var(--ink-faint);font-size:.7rem}.file-attachment-list__errors{color:var(--red);background:var(--red-soft);border-radius:var(--radius-sm);padding:.65rem .75rem;font-size:.75rem}.file-attachment-list__errors p{color:inherit;margin:0}.file-attachment-list__items{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.file-attachment{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:flex-start;gap:.75rem;min-width:0;padding:.75rem;display:flex}.file-attachment--invalid{border-color:var(--red);background:var(--red-soft)}.file-attachment--uploaded{border-color:var(--green);background:var(--green-soft)}.file-attachment__icon{width:2.25rem;height:2.25rem;color:var(--purple);background:var(--purple-soft);border-radius:var(--radius-sm);flex:none;place-items:center;display:grid}.file-attachment__details{flex:1;gap:.15rem;min-width:0;display:grid}.file-attachment__details>span{color:var(--ink-faint);overflow-wrap:anywhere;font-size:.7rem}.file-attachment__details small{color:var(--red);font-size:.7rem}.file-attachment__name{width:-moz-fit-content;width:fit-content;max-width:100%;color:var(--ink);cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;font-size:.8rem;font-weight:700;overflow:hidden}.file-attachment__name:hover{color:var(--purple)}.file-attachment .button--icon{width:2.25rem;min-height:2.25rem}.deadline-banner{background:var(--surface);border:1px solid var(--border);border-left:.25rem solid var(--border-strong);border-radius:var(--radius-md);min-width:0;box-shadow:var(--shadow-xs);align-items:center;gap:.8rem;padding:.85rem 1rem;display:flex}.deadline-banner--due-soon{border-left-color:var(--yellow);background:var(--yellow-soft)}.deadline-banner--overdue{border-left-color:var(--red);background:var(--red-soft)}.deadline-banner--closed{border-left-color:var(--border-strong);background:var(--surface-soft)}.deadline-banner__icon{width:2.3rem;height:2.3rem;color:var(--purple);background:var(--purple-soft);border-radius:var(--radius-sm);flex:none;place-items:center;display:grid}.deadline-banner__content{flex:1;gap:.15rem;min-width:0;display:grid}.deadline-banner__content>span{color:var(--ink-soft);overflow-wrap:anywhere;font-size:.75rem}.deadline-banner__heading{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.deadline-banner__heading strong{font-size:.85rem}.deadline-banner__countdown{color:var(--ink);text-align:right;flex:none;font-size:.78rem;font-weight:700}.live-classes-page{gap:1.15rem}.live-classes-page>.page-header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3 78%);border-radius:var(--radius-lg);border:1px solid #e2dcfb;align-items:center;margin-bottom:.1rem;padding:1.5rem;position:relative;overflow:hidden}.live-classes-page>.page-header .eyebrow,.live-classes-page>.page-header h1{margin-bottom:.45rem}.live-classes-page>.page-header .page-header__actions{align-self:center}.live-classes-page>.page-header .page-header__actions .button{border-radius:var(--radius-md);min-height:2.9rem;padding-inline:1.15rem}.live-class-filter-bar{border-radius:var(--radius-lg);border-color:#dedaf0;padding:1rem 1.1rem;position:relative;overflow:hidden;box-shadow:0 8px 24px #4130820f}.live-class-filter-bar .filter-bar__field input,.live-class-filter-bar .filter-bar__field select{background:#fcfbff;border-color:#dcd7ee}.live-class-filter-bar .filter-bar__clear{color:var(--purple-dark)}.live-class-table-card{border-radius:var(--radius-lg);border-color:#dedaf0;position:relative;box-shadow:0 10px 28px #41308212}.live-class-table-card .table-toolbar{background:linear-gradient(120deg,#fbfaff,#fffaf5);border-top:0;border-bottom-color:#e8e3f6;padding:1.05rem 1.25rem .9rem}.live-class-table-card .table-search input{background:var(--surface);border-color:#d8d2ec}.live-class-table-card th{color:var(--purple-dark);background:#f7f4ff}.live-class-table-card tbody tr:hover{background:linear-gradient(90deg,#fbfaff,#fffaf7)}.live-class-table-card td:first-child strong{color:var(--ink);font-size:.8rem}.live-class-table-card td:last-child .button--secondary{color:var(--purple-dark);background:var(--purple-soft);border-color:#d4ccf5}.live-class-table-card td:last-child .button--secondary:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 7px 16px #7256e82e}.live-class-table-card td:last-child .button svg{color:var(--orange-dark)}.live-class-table-card .table-pagination,.live-class-table-card>.homework-pagination{background:#fcfbff}.live-class-conflicts-card{margin-top:.25rem}.live-class-conflicts-card>.card__header{background:linear-gradient(120deg,#fbfaff,#fffaf5);border-bottom:1px solid #e8e3f6;margin:0;padding:1.35rem}.live-class-state-card{border-radius:var(--radius-lg);border-color:#dedaf0;padding:0;position:relative;overflow:hidden;box-shadow:0 10px 28px #41308212}.live-class-state-card .app-loading{min-height:18rem}.live-class-state-card>.empty-state{border:0}.live-class-deadline{border:1px solid #ded7f7;border-left:.25rem solid var(--purple);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);background:linear-gradient(90deg,#fbfaff,#fffaf5);align-items:center;gap:.8rem;margin:0;padding:.9rem 1rem;display:flex}.live-class-deadline>svg{width:2.35rem;height:2.35rem;color:var(--purple);background:var(--purple-soft);border-radius:var(--radius-sm);flex:none;padding:.58rem}.live-class-deadline>div{flex:1;gap:.15rem;display:grid}.live-class-deadline>div span{color:var(--ink-soft);font-size:.76rem}.live-class-deadline>.countdown-timer{color:var(--ink);font-size:.78rem;font-weight:700}.live-class-notice{color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:.6rem;margin-top:1rem;padding:.8rem .9rem;font-size:.8rem;display:flex}.live-class-notice--success{color:var(--green);background:var(--green-soft);border-color:var(--green)}.live-class-notice--warning{color:var(--yellow);background:var(--yellow-soft);border-color:var(--yellow)}.live-class-notice--danger{color:var(--red);background:var(--red-soft);border-color:var(--red)}.live-class-actions{border-top:1px solid #e8e3f6;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:1rem;padding-top:1rem;display:flex}.live-class-actions .button{align-items:center;gap:.4rem;display:inline-flex}.live-class-actions .button svg,.button svg{width:1rem;height:1rem}.live-class-detail-page>.back-link{width:-moz-fit-content;width:fit-content;min-height:2.4rem;color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-sm);border:1px solid #d8d0f8;padding:.45rem .7rem}.live-class-detail-page>.back-link:hover{color:#fff;background:var(--purple);border-color:var(--purple)}.live-class-detail-page>.page-header{margin-top:0}.live-class-detail-page .homework-detail-grid,.live-class-detail-page .homework-detail-main,.live-class-detail-page .homework-detail-sidebar{gap:1.25rem}.live-class-detail-page .homework-detail-main>.card,.live-class-detail-page .homework-detail-sidebar>.card{border-radius:var(--radius-lg);border-color:#dedaf0;overflow:hidden;box-shadow:0 8px 24px #4130820f}.live-class-detail-page .homework-detail-main>.card:nth-child(odd){border-top:.22rem solid var(--purple)}.live-class-detail-page .homework-detail-main>.card:nth-child(2n){border-top:.22rem solid var(--orange)}.live-class-detail-page .homework-detail-main>.card h2,.live-class-detail-page .homework-detail-sidebar>.card h2{font-size:1.2rem}.live-class-detail-page .homework-detail-sidebar>.card{border-top:.22rem solid var(--orange);background:linear-gradient(145deg,#fbfaff,#fffaf5)}.live-class-detail-page .homework-info div{background:#fbfaff;border:1px solid #ebe7f8}.live-class-detail-page .homework-info div:nth-child(2n){background:#fffaf5;border-color:#f4e3d4}.live-class-detail-page .homework-info dt{color:var(--purple)}.live-class-detail-page .homework-info div:nth-child(2n) dt{color:var(--orange-dark)}.live-class-dialog{background:var(--surface)!important;border-color:#d9d2f6!important;flex-direction:column!important;width:min(100%,50rem)!important;max-height:calc(100vh - 3rem)!important;padding:0!important;display:flex!important;overflow:hidden!important;box-shadow:0 24px 65px #291e5633!important}.live-class-dialog>header{z-index:10!important;background:linear-gradient(120deg,var(--purple-soft),#fff9f3)!important;border-bottom:1px solid #e2dcfb!important;flex:none!important;justify-content:space-between!important;align-items:flex-start!important;gap:1rem!important;margin:0!important;padding:1.25rem 1.5rem!important;display:flex!important;position:relative!important;top:auto!important}.live-class-dialog>header h2{margin-bottom:.2rem;font-size:1.45rem}.live-class-dialog>header .eyebrow{margin-bottom:.35rem}.live-class-form{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.live-class-form__body,.live-class-dialog__body{scrollbar-width:thin;scrollbar-color:#c4bbf0 #f3f0fa;flex-direction:column;flex:auto;gap:1.25rem;min-height:0;padding:1.5rem;display:flex;overflow-y:auto}.live-class-form__body::-webkit-scrollbar{width:6px}.live-class-dialog__body::-webkit-scrollbar{width:6px}.live-class-form__body::-webkit-scrollbar-track{background:#f3f0fa}.live-class-dialog__body::-webkit-scrollbar-track{background:#f3f0fa}.live-class-form__body::-webkit-scrollbar-thumb{background:#c4bbf0;border-radius:999px}.live-class-dialog__body::-webkit-scrollbar-thumb{background:#c4bbf0;border-radius:999px}.live-class-dialog .form-actions,.live-class-form__actions{flex:none;z-index:5!important;background:#fcfbff!important;border-top:1px solid #e8e3f6!important;justify-content:flex-end!important;align-items:center!important;gap:.75rem!important;margin:0!important;padding:1rem 1.5rem!important;display:flex!important}.page-header{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2rem;display:flex}.page-header h1{max-width:48rem;margin-bottom:.6rem;font-size:clamp(2rem,4vw,3.25rem)}.page-header__description{max-width:44rem;margin-bottom:0;font-size:1.05rem}.page-header__actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.empty-state{text-align:center;background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);align-content:center;place-items:center;min-height:22rem;padding:3rem 1.5rem;display:grid}.card>.empty-state{border:0;border-radius:0}.empty-state__icon{width:3.25rem;height:3.25rem;color:var(--purple);background:var(--purple-soft);border-radius:50%;place-items:center;margin-bottom:1rem;display:grid}.empty-state h2{font-size:1.25rem}.empty-state p{max-width:28rem}.site-shell{background:var(--surface);min-height:100vh}.site-header{z-index:40;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border-bottom:1px solid #e3e4e8cc;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:2rem;min-height:4.6rem;display:flex}.logo{flex:none;align-items:center;display:inline-flex}.logo img{width:10.5rem;height:auto}.desktop-nav{align-items:center;gap:.25rem;display:flex}.desktop-nav>a:not(.button){min-height:2.55rem;color:var(--ink-soft);border-radius:var(--radius-sm);align-items:center;padding:.55rem .8rem;font-size:.9rem;font-weight:650;display:inline-flex;position:relative}.desktop-nav>a:not(.button):hover,.desktop-nav>a.is-active{color:var(--ink);background:var(--surface-soft)}.desktop-nav>a.is-active:after{background:var(--orange);content:"";height:2px;position:absolute;bottom:.32rem;left:.8rem;right:.8rem}.mobile-nav-trigger{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);place-items:center;width:2.75rem;height:2.75rem;padding:0;display:none}.mobile-nav{background:var(--surface);border-bottom:1px solid var(--border);max-height:calc(100dvh - 4.6rem);padding:0 1.25rem 1.25rem;display:none;overflow:hidden auto}.mobile-nav a{border-bottom:1px solid var(--border);align-items:center;min-height:2.9rem;padding-inline:.65rem;font-weight:650;display:flex}.mobile-nav a.active{color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-sm)}.site-footer{color:#c6c9d0;background:var(--surface-dark);padding:4.5rem 0 1.5rem}.footer-grid{grid-template-columns:1.5fr repeat(3,1fr);gap:3rem;display:grid}.footer-brand p{color:#9ca1ac;max-width:25rem;margin-top:1.3rem}.site-footer h2{color:#fff;letter-spacing:.09em;text-transform:uppercase;font-size:.8rem}.site-footer .footer-grid>div:not(.footer-brand,.footer-bottom){align-content:start;gap:.8rem;display:grid}.site-footer a:hover{color:var(--orange)}.site-footer p{color:#9ca1ac;margin:0}.footer-bottom{border-top:1px solid #252831;grid-column:1/-1;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding-top:1.5rem;font-size:.8rem;display:flex}.hero{background:radial-gradient(at 0 100%,#ff8a1f0f,#0000 45%),linear-gradient(#fff 0%,#faf9ff 75%,#fff 100%);padding:clamp(3rem,5vw,5rem) 0 4rem;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#7256e81a,#0000 65%);width:44rem;height:44rem;position:absolute;top:-18rem;left:40%}.hero__grid{grid-template-columns:minmax(0,1fr) minmax(26rem,1fr);align-items:center;gap:clamp(3rem,5vw,5rem);display:grid;position:relative}.hero__copy h1{text-wrap:balance;max-width:45rem;margin-top:1.25rem;font-size:clamp(3.1rem,5.3vw,4.5rem)}.hero__copy h1 span{color:var(--purple)}.hero__copy>p{max-width:34rem;margin-bottom:1.75rem;font-size:clamp(1rem,1.4vw,1.12rem);line-height:1.75}.hero__actions{flex-wrap:wrap;gap:.8rem;display:flex}.hero__proof{flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-top:1.75rem;display:flex}.hero__proof>span{color:var(--ink-soft);align-items:center;gap:.35rem;font-size:.73rem;font-weight:600;display:inline-flex}.hero__proof svg{width:1rem;height:1rem;color:var(--purple-dark)}.avatar-stack{display:flex}.avatar-stack span{color:#fff;background:var(--ink);border:2px solid #fff;border-radius:50%;place-items:center;width:2.15rem;height:2.15rem;margin-left:-.45rem;font-size:.65rem;font-weight:750;display:grid}.avatar-stack span:first-child{background:var(--purple);margin-left:0}.avatar-stack span:nth-child(2){background:var(--orange-dark)}.avatar-stack span:nth-child(3){background:var(--blue)}.hero__visual{min-width:0;position:relative}.hero__visual>img{aspect-ratio:1.05;object-fit:cover;object-position:100% center;border-radius:2rem;width:100%;box-shadow:0 35px 80px #221c422e}.floating-card{border-radius:var(--radius-md);min-width:13rem;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #fffc;align-items:center;gap:.7rem;padding:.85rem;display:flex;position:absolute}.floating-card>span{width:2.3rem;height:2.3rem;color:var(--purple);background:var(--purple-soft);border-radius:var(--radius-sm);place-items:center;display:grid}.floating-card small,.floating-card strong{display:block}.floating-card small{color:var(--ink-faint);font-size:.68rem}.floating-card strong{font-size:.82rem}.floating-card--progress{bottom:2rem;left:-2rem}.floating-card--mentor{top:2rem;right:-2rem}.trust-strip{border-block:1px solid var(--border)}.trust-strip .container{justify-content:space-between;align-items:center;gap:2rem;min-height:7rem;display:flex}.trust-strip p{margin:0;font-size:.78rem;font-weight:650}.trust-strip .container>div{color:var(--ink-soft);letter-spacing:-.02em;flex-wrap:wrap;align-items:center;gap:clamp(1.5rem,4vw,3.5rem);font-weight:750;display:flex}.learning-journey{padding-top:0;scroll-margin-top:6rem}.learning-journey__steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.learning-journey__steps>li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem}.learning-journey__step-top{justify-content:space-between;align-items:center;margin-bottom:1.75rem;display:flex}.learning-journey__icon{width:3rem;height:3rem;color:var(--purple-dark);background:var(--purple-soft);border:1px solid #e1dafa;border-radius:1rem;place-items:center;display:grid}.learning-journey__icon svg{width:1.4rem;height:1.4rem}.learning-journey__number{color:var(--ink-muted);font-variant-numeric:tabular-nums;letter-spacing:.1em;font-size:.8rem}.learning-journey__steps h3{margin-bottom:.75rem;font-size:1.2rem}.learning-journey__steps p{margin-bottom:0;font-size:.9rem;line-height:1.7}.learning-journey__steps>li:nth-child(2) .learning-journey__icon{color:var(--orange-dark);background:var(--orange-soft);border-color:#f7dec7}.learning-journey__steps>li:nth-child(3) .learning-journey__icon{color:var(--green);background:var(--green-soft);border-color:#cde9dc}@media (max-width:48rem){.learning-journey__steps{grid-template-columns:1fr}.learning-journey__steps>li{padding:1.25rem}.learning-journey__step-top{margin-bottom:1rem}}.section-heading{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.5rem;display:flex}.section-heading h2{max-width:44rem;margin-bottom:.55rem;font-size:clamp(2rem,4vw,3.25rem)}.section-heading p:not(.eyebrow){max-width:40rem;margin-bottom:0}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.course-card-link{min-width:0;height:100%;display:block}.course-card{height:100%;padding:0;overflow:hidden}.course-card__image{aspect-ratio:1.55;background:var(--surface-soft);position:relative;overflow:hidden}.course-card__image img{object-fit:cover;width:100%;height:100%;transition:transform .35s}.course-card:hover .course-card__image img{transform:scale(1.025)}.course-card__image .badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;position:absolute;top:.8rem;left:.8rem}.course-card__body{flex-direction:column;min-height:17rem;padding:1.25rem;display:flex}.course-card__meta{color:var(--ink-faint);gap:.45rem;margin-bottom:.75rem;font-size:.72rem;font-weight:650;display:flex}.course-card__body h2,.course-card__body h3{font-size:1.25rem}.course-card__body>p{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.9rem;display:-webkit-box;overflow:hidden}.course-card__footer{border-top:1px solid var(--border);color:var(--ink-soft);justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:1rem;font-size:.76rem;font-weight:650;display:flex}.course-card__footer svg{color:var(--purple)}.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;display:grid}.why-feature-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:stretch;gap:2rem;display:grid}.why-feature-media{border-radius:var(--radius-lg);background:#111319;border:1px solid #2b2e35;min-height:30rem;margin:0;position:relative;overflow:hidden}.why-feature-media img{object-fit:cover;width:100%;height:100%}.why-feature-media:after{content:"";pointer-events:none;background:linear-gradient(#0000 45%,#08090cc7);position:absolute;inset:0}.why-feature-media figcaption{z-index:1;color:#fff;font-size:.84rem;font-weight:700;position:absolute;bottom:1.25rem;left:1.25rem;right:1.25rem}.why-feature-layout .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:stretch}.feature-card{border-top:1px solid #2b2e35;padding:1.5rem 0}.feature-card>span{width:2.8rem;height:2.8rem;color:var(--orange);border-radius:var(--radius-sm);background:#1c1f26;place-items:center;margin-bottom:2rem;display:grid}.feature-card h3{font-size:1.15rem}.feature-card p{font-size:.88rem}.outcome-card{border-radius:var(--radius-xl);background:#f3f0ff;border:1px solid #e1dafa;grid-template-columns:1.2fr .8fr;gap:3rem;padding:clamp(2rem,5vw,4rem);display:grid}.outcome-card h2{max-width:38rem;margin-top:1rem;font-size:clamp(2rem,4vw,3.2rem)}.outcome-card>div:first-child>p{max-width:38rem}.outcome-card ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1.5rem 0 2rem;padding:0;list-style:none;display:grid}.outcome-card li{color:var(--ink-soft);align-items:center;gap:.5rem;font-size:.88rem;font-weight:620;display:flex}.outcome-card li svg{color:var(--green)}.outcome-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.outcome-metrics div{border-radius:var(--radius-md);background:#ffffffb3;border:1px solid #ded7f7;place-content:center;min-height:8rem;padding:1.15rem;display:grid}.outcome-metrics strong{letter-spacing:-.04em;font-size:2rem}.outcome-metrics span{color:var(--ink-soft);font-size:.74rem}.cta-section{color:#fff;background:var(--purple)}.cta-section .container>div{text-align:center}.cta-section h2{color:#fff;font-size:clamp(2.25rem,5vw,4rem)}.cta-section p{color:#e2ddff;font-size:1.1rem}.cta-section .eyebrow{color:#ffbd78}.cta-section .container>div>div{justify-content:center;gap:.8rem;margin-top:1.5rem;display:flex}.catalog-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);gap:1.2rem;padding:1.2rem;display:grid}.search-field,.table-search{align-items:center;display:flex;position:relative}.search-field svg,.table-search svg{color:var(--ink-faint);pointer-events:none;position:absolute;left:.85rem}.search-field input,.table-search input{background:var(--page);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:2.8rem;padding:.65rem .85rem .65rem 2.65rem}.filter-pills{flex-wrap:wrap;gap:.55rem;display:flex}.filter-pills button{min-height:2.35rem;color:var(--ink-soft);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:.5rem .75rem;font-size:.78rem;font-weight:650}.filter-pills button.is-active{color:#fff;background:var(--ink);border-color:var(--ink)}.result-count{margin:1.5rem 0 1rem;font-size:.8rem;font-weight:700}.story-grid{gap:1.25rem;display:grid}.story-grid>.card{background:var(--surface-dark);grid-template-columns:minmax(0,.9fr) minmax(24rem,1.1fr);align-items:stretch;gap:clamp(2rem,5vw,5rem);min-height:0;padding:clamp(2rem,4vw,3.5rem);display:grid}.story-grid>.card .story-copy{align-self:center}.story-grid>.card>img{object-fit:cover;border-radius:var(--radius-md);object-position:78% center;width:100%;height:clamp(24rem,32vw,30rem)}.story-grid>.card h2{color:#fff;max-width:14ch;font-size:clamp(2.25rem,3.6vw,3.7rem)}.story-grid>.card p:not(.eyebrow){color:#acb0b9}.principle-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;display:grid}.principle-grid .card{flex-direction:column;min-height:13rem;padding:1.5rem;display:flex}.principle-card__top{justify-content:space-between;align-items:center;margin-bottom:2.5rem;display:flex}.principle-card__top span{color:var(--ink-faint);letter-spacing:.12em;font-size:.72rem;font-weight:800}.principle-grid svg{width:2.5rem;height:2.5rem;color:var(--purple);background:var(--purple-soft);border-radius:var(--radius-sm);padding:.65rem}.principle-grid h3{margin-bottom:.55rem}.principle-grid p{margin:0;font-size:.82rem;line-height:1.6}.steps-grid{border-top:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.steps-grid article{border-right:1px solid var(--border);padding:1.5rem}.steps-grid article:last-child{border:0}.steps-grid article>span{color:var(--purple);margin-bottom:3.5rem;font-size:.75rem;font-weight:800;display:block}.steps-grid p{font-size:.85rem}.partner-panel{border-radius:var(--radius-lg);background:#d8ff71;justify-content:space-between;align-items:center;gap:3rem;margin-top:5rem;padding:3rem;display:flex}.partner-panel>div{max-width:44rem}.partner-panel strong{letter-spacing:-.06em;font-size:clamp(2rem,5vw,4rem)}.news-grid .card{overflow:hidden}.news-card__image{object-fit:cover;width:calc(100% + 2.5rem);height:14rem;margin:-1.25rem -1.25rem 1.25rem;display:block}.course-hero{background:#111319;padding-block:clamp(3rem,7vw,6rem)}.course-hero__grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:4rem;display:grid}.course-hero h1{color:#fff;max-width:52rem;margin-top:1rem}.course-hero p{color:#b6bac3;max-width:45rem;font-size:1.1rem}.course-hero .back-link{color:#b6bac3;margin-bottom:2rem}.course-hero__grid>img{aspect-ratio:1.25;object-fit:cover;border-radius:var(--radius-lg);width:100%}.course-facts{color:#d5d7dc;flex-wrap:wrap;gap:1.25rem;margin:1.5rem 0;font-size:.84rem;display:flex}.course-facts span{align-items:center;gap:.4rem;display:flex}.course-facts svg{color:var(--orange)}.course-body{grid-template-columns:minmax(0,1fr) 20rem;gap:4rem;padding-block:4.5rem;display:grid}.course-body main section+section{margin-top:4rem}.outcomes-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.outcomes-list p{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);gap:.65rem;margin:0;padding:1rem;font-size:.87rem;display:flex}.outcomes-list svg{color:var(--green)}.module-row{align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.module-row>span{width:2.5rem;height:2.5rem;color:var(--purple);background:var(--purple-soft);border-radius:var(--radius-sm);place-items:center;font-weight:750;display:grid}.module-row>div{flex:1}.module-row h3,.module-row p{margin:0}.module-row p{font-size:.78rem}.enrollment-card{position:sticky;top:6rem}.enrollment-card dl{gap:.9rem;margin:1.25rem 0;display:grid}.enrollment-card dl div{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding-bottom:.75rem;display:flex}.enrollment-card dt{color:var(--ink-soft);align-items:center;gap:.4rem;font-size:.8rem;display:flex}.enrollment-card dd{text-align:right;margin:0;font-size:.8rem;font-weight:700}.enrollment-card .button{width:100%}.enrollment-card>p{text-align:center;margin:.9rem 0 0;font-size:.7rem}.syllabus-list{gap:.75rem;display:grid}.syllabus-list details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.syllabus-list summary{cursor:pointer;align-items:center;gap:1rem;min-height:5rem;padding:1rem 1.25rem;list-style:none;display:flex}.syllabus-list summary>span{width:2.5rem;height:2.5rem;color:var(--purple);background:var(--purple-soft);border-radius:50%;place-items:center;font-size:.75rem;font-weight:750;display:grid}.syllabus-list summary>div{flex:1}.syllabus-list summary strong,.syllabus-list summary small{display:block}.syllabus-list summary small{color:var(--ink-faint);margin-top:.25rem}.syllabus-list details[open] summary>svg{transform:rotate(90deg)}.syllabus-list details>div{padding:0 1.25rem 1rem 4.75rem}.syllabus-list details>div p{border-top:1px solid var(--border);gap:.8rem;margin:0;padding:.8rem 0;display:flex}.syllabus-list details>div p>span:first-child{color:var(--ink-faint)}.syllabus-list details>div strong,.syllabus-list details>div small{display:block}.syllabus-list details>div small{color:var(--ink-faint);font-size:.72rem}.news-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.news-grid>a:first-child{grid-column:1/-1}.news-grid .card{flex-direction:column;min-height:20rem;display:flex}.news-grid .featured-story .card{color:#fff;background:var(--surface-dark);justify-content:end;min-height:26rem;padding:clamp(2rem,5vw,4rem)}.news-grid .featured-story h2{color:#fff;max-width:48rem;font-size:clamp(2rem,4vw,3.5rem)}.news-grid .featured-story p{color:#b6bac3;max-width:44rem}.news-grid footer{color:var(--ink-soft);border-top:1px solid var(--border);justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1.5rem;font-size:.78rem;font-weight:650;display:flex}.news-grid footer span{align-items:center;gap:.4rem;display:flex}.featured-story footer{color:#c4c7ce;border-color:#2b2e36}.article{max-width:60rem;padding-top:3.5rem}.article>.back-link{vertical-align:middle;margin-right:.55rem}.article>.badge{vertical-align:middle;margin-top:0}.article h1{letter-spacing:-.045em;max-width:56rem;margin-top:1.35rem;font-size:clamp(2.45rem,5vw,4.25rem);line-height:1.06}.article .article-lead{max-width:52rem}.article-lead{color:var(--ink);font-size:1.25rem;line-height:1.65}.article-meta{color:var(--ink-faint);flex-wrap:wrap;gap:1rem;font-size:.8rem;display:flex}.article hr{border:0;border-top:1px solid var(--border);margin:2rem 0}.article>p:not(.article-lead){color:#3f434b;font-size:1.05rem;line-height:1.8}.article>h2{margin-top:2.5rem}.article blockquote{color:var(--purple-dark);background:var(--purple-soft);border-left:4px solid var(--purple);border-radius:0 var(--radius-md) var(--radius-md) 0;margin:2.5rem 0;padding:1.5rem 2rem;font-size:1.35rem;font-weight:650;line-height:1.5}.article-cta{align-items:center;gap:1rem;margin-top:3rem;display:flex}.article-cta>svg{width:1.5rem;height:1.5rem;color:var(--purple)}.article-cta>div{flex:1}.article-cta h2,.article-cta p{margin:0}.auth-page{background:var(--surface);grid-template-columns:minmax(24rem,.9fr) minmax(30rem,1.1fr);min-height:calc(100vh - 4.6rem);display:grid}.auth-aside{color:#fff;background:var(--surface-dark);flex-direction:column;justify-content:space-between;min-height:44rem;padding:clamp(2rem,5vw,5rem);display:flex}.auth-aside .back-link{color:#c7cad1}.auth-aside>div{max-width:36rem}.auth-aside h1{color:#fff;margin-top:1rem;font-size:clamp(2.5rem,5vw,4.5rem)}.auth-aside p{color:#b6bac3;font-size:1.05rem}.auth-aside ul{color:#d5d7dc;gap:.75rem;margin-top:2rem;padding:0;list-style:none;display:grid}.auth-aside li{align-items:center;gap:.6rem;display:flex}.auth-aside li svg{color:var(--orange)}.auth-main{place-items:center;padding:3rem 1.5rem;display:grid}.auth-card{width:min(100%,28rem)}.auth-card__heading{text-align:center;margin-bottom:2rem}.auth-card__heading>span{width:3.25rem;height:3.25rem;color:var(--purple);background:var(--purple-soft);border-radius:var(--radius-md);place-items:center;margin:0 auto 1rem;display:grid}.auth-card__heading h2{margin-bottom:.45rem;font-size:1.8rem}.auth-card__heading p{font-size:.9rem}.auth-card form>.button{width:100%;margin-top:1.25rem}.form-field{min-width:0;margin-bottom:1rem}.form-field label,.form-field>span:first-child,.label-row label{color:var(--ink);margin-bottom:.38rem;font-size:.8rem;font-weight:700;display:block}.form-field input,.form-field select,.form-field textarea,.form-grid>input,.form-grid>select,.form-grid>textarea,.registration-form input,.registration-form select,.registration-form textarea{width:100%;min-height:2.8rem;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.65rem .8rem;transition:border .15s,box-shadow .15s}.form-field textarea{resize:vertical;min-height:7rem}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.form-grid>input:focus,.form-grid>select:focus,.form-grid>textarea:focus,.registration-form input:focus,.registration-form select:focus{border-color:var(--purple);box-shadow:var(--shadow-focus);outline:none}@keyframes field-error-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.field-error-highlight{animation:.35s ease-in-out field-error-shake!important}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true],.is-invalid,.form-field--error input,.form-field--error select,.form-field--error textarea{border-color:var(--red)!important;background-color:#fff8f8!important;box-shadow:0 0 0 2px #dc262629!important}input[aria-invalid=true]:focus,select[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus,.is-invalid:focus,.form-field--error input:focus,.form-field--error select:focus,.form-field--error textarea:focus{border-color:var(--red)!important;outline:none!important;box-shadow:0 0 0 3px #dc262647!important}.form-field small{color:var(--ink-faint);margin-top:.3rem;font-size:.7rem;display:block}.field-error,.form-field__error,.dynamic-field-error{margin-top:.35rem;font-size:.72rem;font-weight:650;line-height:1.3;display:block;color:var(--red)!important}.label-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.label-row a{color:var(--purple);font-size:.72rem;font-weight:700}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon>svg{color:var(--ink-faint);position:absolute;left:.8rem}.input-with-icon input{padding-left:2.45rem}.input-with-icon button{width:2.2rem;height:2.2rem;color:var(--ink-faint);border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;right:.4rem}.checkbox-field{color:var(--ink-soft);cursor:pointer;align-items:flex-start;gap:.65rem;font-size:.78rem;display:flex}.checkbox-field input{width:1rem;height:1rem;accent-color:var(--purple);margin:.15rem 0 0}.auth-switch{text-align:center;margin-top:1.5rem;font-size:.82rem}.form-alert{color:var(--red);background:var(--red-soft);border-radius:var(--radius-sm);border:1px solid #efcbd0;align-items:center;gap:.65rem;margin-bottom:1rem;padding:.85rem 1rem;font-size:.78rem;display:flex}.form-alert>span{flex:1}.form-alert>button{width:2rem;height:2rem;color:inherit;border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.preview-panel p{text-transform:uppercase;margin-bottom:.5rem;font-size:.7rem;font-weight:750}.preview-panel div{gap:.35rem;display:flex}.preview-panel button{border:1px solid var(--border);border-radius:var(--radius-xs);cursor:pointer;background:#fff;flex:1;min-height:2rem;font-size:.7rem}.registration-page{grid-template-columns:minmax(22rem,.7fr) minmax(38rem,1.3fr);min-height:calc(100vh - 4.6rem);display:grid}.registration-page>aside{background:#f1eeff;padding:clamp(2rem,5vw,5rem)}.registration-page>aside .badge{margin-top:3rem}.registration-page>aside h1{margin-top:1rem;font-size:clamp(2.5rem,5vw,4rem)}.registration-page>aside ol{gap:1.25rem;margin:3rem 0 0;padding:0;list-style:none;display:grid}.registration-page>aside li{gap:.8rem;display:flex}.registration-page>aside li>span{color:#fff;background:var(--purple);border-radius:50%;flex:none;place-items:center;width:2rem;height:2rem;font-size:.7rem;font-weight:750;display:grid}.registration-page>aside li strong,.registration-page>aside li p{display:block}.registration-page>aside li p{margin:.15rem 0 0;font-size:.8rem}.registration-page>main{background:var(--surface);padding:clamp(2rem,5vw,5rem)}.registration-form{max-width:45rem;margin-inline:auto}.registration-form header{margin-bottom:2rem}.registration-form header h2{font-size:2rem}.registration-form fieldset{border:0;margin:0 0 2rem;padding:0}.registration-form legend{border-bottom:1px solid var(--border);width:100%;margin-bottom:1rem;padding-bottom:.6rem;font-size:.82rem;font-weight:750}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;display:grid}.form-field--wide{grid-column:1/-1}.course-create-card{border-radius:var(--radius-lg);border-color:#dedaf0;margin-bottom:1rem;padding:0;overflow:hidden;box-shadow:0 12px 32px #49379214}.course-create-card__header{background:linear-gradient(120deg,#fbfaff,#fffaf5);border-bottom:1px solid #e8e3f6;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:1.35rem 1.5rem;display:flex}.course-create-card__heading{align-items:flex-start;gap:.85rem;display:flex}.course-create-card__icon{width:2.7rem;height:2.7rem;color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-sm);border:1px solid #ded7f7;flex:none;place-items:center;display:grid}.course-create-card__icon svg{width:1.25rem}.course-create-card__header .eyebrow{color:var(--purple-dark);margin:.05rem 0 .25rem}.course-create-card__header h2{letter-spacing:-.025em;margin:0 0 .3rem;font-size:1.45rem}.course-create-card__header p:last-child{max-width:42rem;color:var(--ink-muted);margin:0;font-size:.78rem}.course-create-card__status{color:var(--purple-dark);background:#fff;border:1px solid #ded7f7;border-radius:999px;padding:.38rem .65rem;font-size:.7rem;font-weight:750}.course-create-form{gap:1.25rem;padding:1.35rem 1.5rem 1.5rem;display:grid}.course-create-form__fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;display:grid}.course-create-form .form-field{margin-bottom:0}.course-create-form .form-field>span:first-child{color:var(--ink-soft);letter-spacing:.01em;margin-bottom:.45rem;font-size:.74rem}.course-create-form input:not([type=file]),.course-create-form select,.course-create-form textarea{border-radius:var(--radius-md);background:#fcfbff;border-color:#d9d4e8}.course-create-form input:not([type=file]){min-height:3rem}.course-create-form textarea{min-height:8.5rem}.course-create-form input::placeholder,.course-create-form textarea::placeholder{color:#a2a0aa}.course-create-form input:not([type=file]):hover,.course-create-form select:hover,.course-create-form textarea:hover{border-color:#bdb5dc}.course-create-form__description small{color:var(--ink-muted)}.course-create-form__footer{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.5rem;padding-top:1.25rem;display:grid}.course-create-form__media{gap:1rem;display:grid}.course-image-field>span:first-child{align-items:center;gap:.45rem;display:flex}.course-image-field em{color:var(--ink-faint);font-size:.68rem;font-style:normal;font-weight:550}.course-image-upload{min-height:3.65rem;color:var(--ink-soft);border-radius:var(--radius-md);cursor:pointer;background:#fcfbff;border:1px dashed #bcb4df;align-items:center;gap:.7rem;padding:.65rem .8rem;transition:background .16s,border-color .16s;display:flex;position:relative}.course-image-upload:hover{background:var(--purple-soft);border-color:var(--purple)}.course-image-upload>svg{width:1.2rem;color:var(--purple);flex:none}.course-image-upload>span{gap:.15rem;min-width:0;display:grid}.course-image-upload strong{color:var(--ink);font-size:.78rem}.course-image-upload small{color:var(--ink-muted);margin:0;font-size:.68rem}.course-image-upload input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;padding:0;position:absolute;inset:0}.course-create-form__actions{align-items:center;gap:.6rem;margin:0;display:flex}.course-create-form__actions .button{border-radius:var(--radius-md);min-height:3rem}.course-create-form__actions .button--primary{color:#fff;background:var(--purple);border-color:var(--purple);min-width:9.5rem;box-shadow:0 6px 16px #7256e82e}.course-create-form__actions .button--primary:hover:not(:disabled){background:var(--purple-dark);border-color:var(--purple-dark);box-shadow:0 9px 22px #7256e840}.course-edit-card__status{flex:none}.course-edit-card__status .badge{padding:.42rem .7rem}.course-edit-form .form-field>small{color:var(--ink-muted);margin-top:.35rem;font-size:.66rem;line-height:1.45}.course-edit-form__settings{border-top:1px solid var(--border);grid-template-columns:minmax(0,1.35fr) minmax(16rem,.65fr);align-items:stretch;gap:1rem;padding-top:1.25rem;display:grid}.course-edit-form__image-panel{border-radius:var(--radius-md);background:#faf9ff;border:1px solid #e7e3fa;grid-template-columns:minmax(18rem,1.15fr) minmax(13rem,.85fr);align-items:end;gap:1rem;min-width:0;padding:.9rem;display:grid}.course-image-framing{border-radius:var(--radius-md);background:#faf9ff;border:1px solid #e7e3fa;padding:1rem}.course-image-framing>span:first-child,.course-edit-form__framing>span:first-child{color:var(--ink-soft);margin-bottom:.45rem;font-size:.74rem;font-weight:700;display:block}.course-edit-form__preview{aspect-ratio:16/9;background:linear-gradient(135deg,var(--purple-soft),var(--orange-soft));border-radius:var(--radius-sm);border:1px solid #ded7f7;place-items:center;width:100%;display:grid;overflow:hidden}.course-edit-form__preview img{object-fit:cover;width:100%;height:100%}.course-edit-form__preview>span{color:var(--purple-dark);justify-items:center;gap:.35rem;display:grid}.course-edit-form__preview svg{width:1.4rem;height:1.4rem}.course-edit-form__preview small{color:var(--ink-muted);font-size:.62rem}.course-feature-toggle{border-radius:var(--radius-md);cursor:pointer;background:#fffaf5;border:1px solid #f1dfce;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:100%;padding:1rem 1.1rem;transition:border-color .16s,box-shadow .16s;display:grid;position:relative}.course-feature-toggle:hover{border-color:#e4b98f;box-shadow:0 7px 18px #ab5b1614}.course-feature-toggle>span:first-child{gap:.25rem;display:grid}.course-feature-toggle strong{color:var(--ink);font-size:.78rem}.course-feature-toggle small{color:var(--ink-muted);font-size:.67rem;line-height:1.5}.course-feature-toggle input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.course-feature-toggle__control{background:#d9d5e5;border-radius:999px;width:2.7rem;height:1.45rem;transition:background-color .16s;position:relative}.course-feature-toggle__control:after{content:"";background:#fff;border-radius:50%;width:1.08rem;height:1.08rem;transition:transform .16s;position:absolute;top:.18rem;left:.2rem;box-shadow:0 2px 5px #2b234a38}.course-feature-toggle input:checked+.course-feature-toggle__control{background:var(--purple)}.course-feature-toggle input:checked+.course-feature-toggle__control:after{transform:translate(1.2rem)}.course-feature-toggle input:focus-visible+.course-feature-toggle__control{box-shadow:var(--shadow-focus)}.course-edit-form__footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:1.5rem;padding-top:1.25rem;display:flex}.course-edit-form__footer>p{gap:.2rem;margin:0;display:grid}.course-edit-form__footer>p strong{color:var(--ink);font-size:.75rem}.course-edit-form__footer>p span{color:var(--ink-muted);font-size:.68rem}@media (max-width:48rem){.course-create-card__header{padding:1.15rem}.course-create-card__status{display:none}.course-create-form{padding:1.15rem}.course-create-form__fields,.course-create-form__footer{grid-template-columns:1fr}.course-create-form__actions{justify-content:stretch}.course-create-form__actions .button{flex:1}.course-edit-form__settings{grid-template-columns:1fr}.course-edit-form__image-panel{grid-template-columns:minmax(16rem,1fr) minmax(12rem,.75fr)}.course-edit-form__footer{flex-direction:column;align-items:stretch}}@media (max-width:30rem){.course-edit-form__image-panel{grid-template-columns:1fr}.course-edit-form__preview{width:min(100%,16rem)}}.segmented{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-bottom:1rem;display:grid}.segmented label{cursor:pointer}.segmented input{opacity:0;pointer-events:none;width:1px;height:1px;min-height:0;margin:0;padding:0;position:absolute;overflow:hidden}.segmented span{min-height:3rem;color:var(--ink-soft);border:1px solid var(--border);border-radius:var(--radius-sm);place-items:center;font-size:.8rem;font-weight:700;display:grid}.segmented input:checked+span{color:var(--purple-dark);background:var(--purple-soft);border-color:var(--purple)}.segmented input:focus-visible+span{border-color:var(--purple);box-shadow:var(--shadow-focus)}.registration-form form>.button{width:100%;margin-top:1rem}.form-footnote{justify-content:center;align-items:center;gap:.4rem;margin-top:.8rem;font-size:.7rem;display:flex}.confirmation-page{background:#f3f0ff;place-items:center;min-height:calc(100vh - 4.6rem);padding:4rem 1.25rem;display:grid}.confirmation-card{text-align:center;background:var(--surface);border-radius:var(--radius-xl);width:min(100%,40rem);box-shadow:var(--shadow-md);border:1px solid #ded7f7;padding:clamp(2rem,6vw,4rem)}.confirmation-card>span:first-child{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:4rem;height:4rem;margin:0 auto 1rem;display:grid}.confirmation-card h1{margin-top:1rem;font-size:clamp(2.2rem,5vw,3.5rem)}.next-steps{text-align:left;background:var(--page);border-radius:var(--radius-md);margin:2rem 0;padding:1.25rem}.next-steps h2{font-size:1rem}.next-steps ol{gap:1rem;padding:0;list-style:none;display:grid}.next-steps li{gap:.7rem;display:flex}.next-steps li>span{width:1.8rem;height:1.8rem;color:var(--purple);background:var(--purple-soft);border-radius:50%;flex:none;place-items:center;font-size:.7rem;font-weight:750;display:grid}.next-steps p{margin:.1rem 0 0;font-size:.78rem}.confirmation-card>div:not(.next-steps){justify-content:center;gap:.7rem;display:flex}.confirmation-card>small{color:var(--ink-faint);margin-top:1.5rem;display:block}.confirmation-card>small a{color:var(--purple)}.access-panel{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);justify-items:center;padding:3rem;display:grid}.access-panel>span{width:4rem;height:4rem;color:var(--yellow);background:var(--yellow-soft);border-radius:50%;place-items:center;margin-bottom:1rem;display:grid}.access-panel>div{text-align:left;background:var(--page);border-radius:var(--radius-sm);width:min(100%,30rem);margin:1.5rem 0;padding:1rem}.access-panel>div h2{font-size:1rem}.access-panel>div p{align-items:center;gap:.5rem;margin:.6rem 0;font-size:.8rem;display:flex}.portal-shell{grid-template-columns:var(--sidebar) minmax(0,1fr);background:var(--page);min-height:100vh;transition:grid-template-columns .22s;display:grid}.portal-shell.sidebar-collapsed{grid-template-columns:5.1rem minmax(0,1fr)}.desktop-sidebar{z-index:30;position:relative}.portal-sidebar{width:var(--sidebar);color:#d8dbe1;background:var(--surface-dark);border-right:1px solid #23262e;flex-direction:column;padding:1rem .75rem;transition:width .22s;display:flex;position:fixed;inset:0 auto 0 0}.portal-sidebar.is-collapsed{width:5.1rem}.portal-sidebar__top{justify-content:space-between;align-items:center;gap:.5rem;min-height:3.4rem;padding:.25rem .45rem;display:flex}.portal-sidebar .logo{transition:width .22s;overflow:hidden}.portal-sidebar .logo img{width:9.7rem;max-width:none}.portal-sidebar.is-collapsed .logo{width:0}.sidebar-collapse,.sidebar-close,.sidebar-open{color:#9da2ad;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #30333c;flex:none;place-items:center;width:2.45rem;height:2.45rem;padding:0;display:grid}.sidebar-close,.sidebar-open{display:none}.portal-role{color:#9b9faa;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;margin:.75rem .75rem 1rem;font-size:.65rem;font-weight:750}.portal-sidebar.is-collapsed .portal-role{opacity:0}.portal-nav{scrollbar-width:thin;gap:1.25rem;display:grid;overflow-y:auto}.nav-group{gap:.22rem;display:grid}.nav-group>p{color:#969ca9;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;margin:0 .75rem .3rem;font-size:.62rem;font-weight:750}.nav-group__toggle{color:#969ca9;cursor:pointer;letter-spacing:.1em;text-align:left;text-transform:uppercase;background:0 0;border:0;justify-content:space-between;align-items:center;min-height:2.75rem;padding:.35rem .75rem;font-size:.62rem;font-weight:750;display:flex}.nav-group__toggle svg{width:.9rem;transition:transform .16s}.nav-group--closed .nav-group__toggle svg{transform:rotate(-90deg)}.nav-group a,.nav-item-button,.portal-logout{color:#aeb2bb;border-radius:var(--radius-sm);white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:.75rem;min-height:2.75rem;padding:.65rem .75rem;font-size:.82rem;font-weight:620;display:flex}.nav-item-button{cursor:pointer;text-align:left;width:100%;font-family:inherit}.nav-item-badge{margin-left:auto;padding:.1rem .4rem;font-size:.68rem;line-height:1}.nav-group a:hover,.nav-group a.is-active,.nav-item-button:hover,.nav-item-button.is-active{color:#fff;background:#1b1e25}.nav-group a.is-active,.nav-item-button.is-active{box-shadow:inset 3px 0 var(--orange);border-color:#292d36}.nav-group a.is-active svg,.nav-item-button.is-active svg{color:var(--orange)}.portal-sidebar.is-collapsed .nav-group>p,.portal-sidebar.is-collapsed .nav-group a span,.portal-sidebar.is-collapsed .nav-item-button span,.portal-sidebar.is-collapsed .portal-logout span{display:none}.portal-sidebar.is-collapsed .nav-group__toggle{justify-content:center;padding-inline:0}.portal-sidebar.is-collapsed .nav-group__toggle span,.portal-sidebar.is-collapsed .nav-group__toggle svg{display:none}.portal-sidebar.is-collapsed .nav-group a,.portal-sidebar.is-collapsed .nav-item-button,.portal-sidebar.is-collapsed .portal-logout{justify-content:center;padding-inline:0;position:relative}.portal-sidebar.is-collapsed .nav-item-badge{border-radius:999px;min-width:.5rem;height:.5rem;margin-left:0;padding:0;font-size:0;position:absolute;top:.45rem;right:.75rem}.portal-logout{cursor:pointer;width:100%;margin-top:auto}.portal-logout:hover{color:#fff;background:#1b1e25}.portal-main{min-width:0}.portal-topbar{z-index:20;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;justify-content:flex-end;align-items:center;gap:.75rem;min-height:4.5rem;padding:.7rem 1.5rem;display:flex;position:sticky;top:0}.topbar-search{align-items:center;width:min(34vw,25rem);margin-right:auto;display:flex;position:relative}.topbar-search svg{color:var(--ink-faint);position:absolute;left:.75rem}.topbar-search input{background:var(--page);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:2.55rem;padding:.55rem .8rem .55rem 2.35rem;font-size:.8rem}.topbar-search input:focus{border-color:var(--purple);box-shadow:var(--shadow-focus);outline:none}.topbar-search input:placeholder-shown{padding-right:6.5rem}.search-shortcut{min-height:2rem;color:var(--ink-soft);background:var(--surface);border:1px solid var(--border-strong);cursor:pointer;border-radius:.35rem;place-items:center;padding:.2rem .45rem;display:grid;position:absolute;right:.5rem}.search-shortcut kbd{white-space:nowrap;font-family:inherit;font-size:.65rem}.search-shortcut:hover{color:var(--purple-dark);border-color:var(--purple)}@media (max-width:62rem){.search-shortcut{display:none}.topbar-search input:placeholder-shown{padding-right:.8rem}}.global-search-dropdown{z-index:70;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:min(34rem,100vw - 2rem);max-height:min(32rem,100vh - 6rem);box-shadow:var(--shadow-md);padding:.5rem;display:grid;position:absolute;top:calc(100% + .55rem);left:0;overflow-y:auto}.global-search-group{gap:.2rem;display:grid}.global-search-group+.global-search-group{border-top:1px solid var(--border);margin-top:.45rem;padding-top:.45rem}.global-search-group h2{color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;margin:.35rem .55rem;font-size:.65rem}.global-search-group button{min-height:2.75rem;color:inherit;border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:.65rem;padding:.55rem;display:flex}.global-search-group button:hover,.global-search-group button.is-active{background:var(--page)}.global-search-group button>svg{width:1rem;height:1rem;color:var(--purple);flex:none}.global-search-group button>span{gap:.15rem;min-width:0;display:grid}.global-search-group button strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.global-search-group button small{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.global-search-message{color:var(--ink-soft);padding:1rem .7rem;font-size:.78rem}.global-search-skeleton{gap:.7rem;padding:.7rem;display:grid}.global-search-skeleton span{background:var(--surface-soft);border-radius:var(--radius-sm);width:82%;height:2.25rem;display:block}.global-search-skeleton span:nth-child(2){width:68%}.global-search-skeleton span:nth-child(3){width:76%}.notification-menu{position:relative}.notification-count{border:2px solid var(--surface);justify-content:center;min-width:1.25rem;padding-inline:.3rem;position:absolute;top:-.35rem;right:-.35rem}.notification-panel{z-index:60;width:min(28rem,100vw - 2rem);max-height:calc(100vh - 6rem);box-shadow:var(--shadow-md);flex-direction:column;padding:0;display:flex;position:absolute;top:calc(100% + .75rem);right:0;overflow:hidden}.notification-panel__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.notification-panel__header .eyebrow{margin-bottom:.25rem}.notification-panel__header h2{margin:0;font-size:1.35rem}.notification-panel__error{color:var(--red);background:var(--red-soft);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:.75rem;margin:.75rem 1rem 0;padding:.7rem .8rem;font-size:.75rem;display:flex}.notification-list{gap:.35rem;max-height:min(31rem,100vh - 14rem);margin:0;padding:.65rem;list-style:none;display:grid;overflow-y:auto}.notification-item{border-radius:var(--radius-sm);align-items:flex-start;gap:.35rem;min-width:0;padding:.55rem;display:flex}.notification-item:hover,.notification-item--unread{background:var(--page)}.notification-item__main{min-width:0;color:inherit;text-align:left;border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:0;flex:1;align-items:flex-start;gap:.6rem;padding:.15rem;display:flex}.notification-item__main:disabled{cursor:wait}.notification-item__indicator{background:0 0;border-radius:50%;flex:none;width:.5rem;height:.5rem;margin-top:.45rem}.notification-item--unread .notification-item__indicator{background:var(--red)}.notification-item__copy{flex:1;gap:.18rem;min-width:0;display:grid}.notification-item__title-row{align-items:center;gap:.45rem;min-width:0;display:flex}.notification-item__title-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.notification-item__title-row .badge{flex:none}.notification-item__body{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.73rem;line-height:1.4;display:-webkit-box;overflow:hidden}.notification-item__timestamp{color:var(--ink-faint);font-size:.65rem}.notification-item__actions{flex:none;gap:.1rem;display:flex}.notification-item__actions .button--icon{width:2rem;min-height:2rem}.notification-item__actions svg{width:.95rem;height:.95rem}.notification-panel__more{align-self:center;margin:.1rem 1rem 1rem}.notification-list+.notification-panel__more{width:calc(100% - 2rem)}.notification-skeleton{gap:.65rem;padding:.75rem .55rem;display:flex}.notification-skeleton>span{background:var(--surface-soft);border-radius:50%;flex:none;width:.5rem;height:.5rem;margin-top:.4rem}.notification-skeleton>div{flex:1;gap:.45rem;display:grid}.notification-skeleton>div span,.notification-skeleton>div small{background:var(--surface-soft);border-radius:var(--radius-xs);height:.7rem;display:block}.notification-skeleton>div span:first-child{width:58%}.notification-skeleton>div span:nth-child(2){width:88%}.notification-skeleton>div small{width:22%;height:.5rem}.notification-panel>.empty-state{border:0;border-radius:0;min-height:15rem}.profile-menu{position:relative}.profile-menu>button{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:.65rem;min-height:2.75rem;padding:.25rem .45rem .25rem .25rem;display:flex}.profile-menu>button:hover{background:var(--surface-soft)}.avatar{color:#fff;background:var(--purple);border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;font-size:.68rem;font-weight:750;display:grid}.avatar--small{width:2rem;height:2rem;font-size:.6rem}.profile-copy{text-align:left;min-width:7rem;display:grid}.profile-copy strong{font-size:.74rem}.profile-copy small{color:var(--ink-faint);font-size:.65rem}.profile-menu>button>svg{width:.9rem}.profile-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:12rem;box-shadow:var(--shadow-md);padding:.35rem;display:grid;position:absolute;top:calc(100% + .45rem);right:0}.profile-dropdown button{text-align:left;border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:0;min-height:2.5rem;padding:.55rem .7rem;font-size:.78rem}.profile-dropdown button:hover{background:var(--surface-soft)}.portal-content{padding:1.75rem}.portal-page{gap:1rem;width:min(100%,90rem);min-width:0;margin-inline:auto;display:grid}.portal-page>*{min-width:0}.portal-page>.page-header{margin-bottom:1rem}.portal-page .page-header h1{font-size:clamp(1.85rem,3vw,2.7rem)}.portal-page .page-header__description{font-size:.92rem}.mobile-sidebar,.sidebar-backdrop{display:none}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}.stat-card{min-height:10.8rem}.stat-card__top{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.stat-icon{width:2.5rem;height:2.5rem;color:var(--purple);background:var(--purple-soft);border-radius:var(--radius-sm);place-items:center;display:grid}.stat-card__top button{width:2rem;height:2rem;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.stat-card>p{margin:0;font-size:.76rem}.stat-card>strong{letter-spacing:-.04em;margin:.25rem 0 .45rem;font-size:1.85rem;display:block}.trend{color:var(--ink-faint);align-items:center;gap:.3rem;font-size:.68rem;font-weight:650;display:flex}.trend svg{width:.85rem;height:.85rem}.trend--up,.trend--down{color:var(--green)}.dashboard-grid{grid-template-columns:1.25fr .75fr;gap:1rem;margin-bottom:1rem;display:grid}.dashboard-grid--secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-page{gap:1.25rem;display:grid}.dashboard-page>.page-header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3 78%);border-radius:var(--radius-lg);border:1px solid #e2dcfb;align-items:center;margin-bottom:0;padding:1.5rem;position:relative;overflow:hidden}.dashboard-page>.page-header .eyebrow,.dashboard-page>.page-header h1{margin-bottom:.45rem}.dashboard-page>.page-header__actions .button{border-radius:var(--radius-md);min-height:2.9rem;padding-inline:1.15rem}.dashboard-page>.dashboard-grid{align-items:stretch;gap:1.25rem;margin-bottom:0}.dashboard-section{background:var(--surface);border-radius:var(--radius-lg);min-width:0;min-height:100%;box-shadow:var(--shadow-xs);border:1px solid #dedaf0;flex-direction:column;display:flex;position:relative;overflow:hidden}.dashboard-section>.card__header{background:linear-gradient(120deg,#fbfaff,#fffaf5);border-bottom:1px solid #ebe7f8;align-items:center;min-height:4.65rem;margin:0;padding:1.15rem 1.25rem .9rem}.dashboard-section>.card__header>svg,.dashboard-section__header-meta>svg{width:2.35rem;height:2.35rem;color:var(--purple);background:var(--purple-soft);border-radius:var(--radius-sm);padding:.58rem}.dashboard-section__header-meta{align-items:center;gap:.55rem;display:flex}.dashboard-section>.card__header h2{margin:0;font-size:1.12rem}.dashboard-section>.card__header .eyebrow{margin-bottom:.25rem}.dashboard-section>.card,.dashboard-section>.error-state{margin:1rem}.dashboard-section>.dashboard-action-list,.dashboard-section>.milestone-grid{padding:1rem}.dashboard-section>.card+.dashboard-action-list{padding-top:0}.dashboard-action-list,.dashboard-metric-list,.dashboard-metric-grid{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.dashboard-action-list--limited{overscroll-behavior:contain;scrollbar-color:#a994f5 #f0edfb;scrollbar-gutter:stable;scrollbar-width:thin;max-height:26.05rem;overflow-y:auto}.dashboard-action-list--limited>li{height:4.25rem}.dashboard-action-list--limited>li>.card,.dashboard-action-list--limited .dashboard-action-link{height:100%}.dashboard-action-list--limited .dashboard-action-link{flex-wrap:nowrap}.dashboard-action-list--limited::-webkit-scrollbar{width:.55rem}.dashboard-action-list--limited::-webkit-scrollbar-track{background:#f0edfb;border-radius:999px;margin-block:.75rem}.dashboard-action-list--limited::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--purple),#a994f5);border:2px solid #f0edfb;border-radius:999px}.dashboard-action-list--limited:focus-visible{outline-offset:-3px;outline:3px solid #7256e847}.dashboard-list-overflow-hint{min-height:2.6rem;color:var(--ink-faint);background:linear-gradient(90deg,#faf9ff,#fffaf5);border-top:1px solid #e7e3fa;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 1.25rem;font-size:.68rem;display:flex}.dashboard-list-overflow-hint>span{align-items:center;gap:.4rem;display:inline-flex}.dashboard-list-overflow-hint>span:before{background:var(--purple);content:"";border-radius:50%;width:.45rem;height:.45rem}.dashboard-list-overflow-hint strong{color:var(--purple-dark);font-size:.68rem}.dashboard-action-list>li{min-width:0}.dashboard-action-list .card{box-shadow:none;border-color:#e5e1f5;padding:0;overflow:hidden}.dashboard-action-list .card--interactive:hover{border-color:#cfc7f5;box-shadow:0 8px 20px #49379217}.dashboard-action-link{min-height:4.25rem;color:inherit;border-radius:var(--radius-md);align-items:center;gap:.75rem;padding:.8rem 1rem;display:flex}.dashboard-action-link:hover{background:linear-gradient(90deg,var(--purple-soft),#fffaf5)}.dashboard-action-link>svg:last-child{width:1rem;color:var(--orange-dark);flex:none}.dashboard-action-link__copy{flex:1;gap:.2rem;min-width:0;display:grid}.dashboard-action-link__copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.dashboard-action-link__copy small{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.dashboard-action-link__icon{width:2.25rem;height:2.25rem;color:var(--purple);background:var(--purple-soft);border-radius:50%;flex:none;place-items:center;display:grid}.dashboard-action-link__icon--danger{color:var(--red);background:var(--red-soft)}.dashboard-action-link__icon svg{width:1rem}.dashboard-count{color:var(--orange-dark);background:var(--orange-soft);border:1px solid #f5dcc5;border-radius:999px;padding:.3rem .55rem;font-size:.7rem;font-weight:700}.dashboard-count--purple{color:var(--purple-dark);background:var(--purple-soft);border-color:#ded7f7}.dashboard-kicker{color:var(--purple);text-transform:uppercase;align-items:center;gap:.35rem;font-size:.72rem;font-weight:750;display:inline-flex}.dashboard-kicker svg{width:.85rem}.continue-learning-card{background:linear-gradient(135deg,#faf9ff,var(--purple-soft));border-color:#dcd5f8;min-height:10rem}.continue-learning-card__copy{align-content:start;gap:.7rem;display:grid}.continue-learning-card h3{margin:0;font-size:1.25rem}.continue-learning-card .progress-wrap{max-width:30rem}.continue-learning-card .button--primary{color:#fff;background:var(--purple);border-color:var(--purple);justify-self:start;box-shadow:0 6px 16px #7256e833}.continue-learning-card .button--primary:hover:not(:disabled){background:var(--purple-dark);border-color:var(--purple-dark);box-shadow:0 9px 22px #7256e840}.milestone-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.milestone-grid>div{border-radius:var(--radius-md);background:#fbfaff;border:1px solid #e5e1f5;gap:.5rem;padding:1rem;display:grid}.milestone-grid small{color:var(--ink-faint);font-size:.7rem;line-height:1.45}.dashboard-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding:0 1.25rem 1.25rem}.dashboard-metric-grid li,.dashboard-metric-list li{border-radius:var(--radius-sm);background:#fbfaff;border:1px solid #e5e1f5;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem;display:flex}.dashboard-metric-grid span,.dashboard-metric-list span{color:var(--ink-soft);font-size:.75rem}.dashboard-metric-grid strong,.dashboard-metric-list strong{color:var(--purple);font-size:1.5rem}.dashboard-metric-list{margin-bottom:1rem}.dashboard-metric-list li>a{justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}.dashboard-schedule-row{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:.8rem;padding:1rem;display:grid}.dashboard-schedule-row>div{gap:.25rem;min-width:0;display:grid}.dashboard-schedule-row a{color:inherit}.dashboard-schedule-row small,.dashboard-schedule-row__attendance{color:var(--ink-faint);font-size:.7rem}.dashboard-link-row{flex-wrap:wrap;gap:.65rem;display:flex}.dashboard-link-row a{min-height:2.6rem;color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-sm);border:1px solid #d8d0f8;align-items:center;padding:.65rem .85rem;font-size:.75rem;font-weight:700;transition:transform .16s,color .16s,background .16s,border-color .16s;display:inline-flex}.dashboard-link-row a:nth-child(2n){color:var(--orange-dark);background:var(--orange-soft);border-color:#f0d3b9}.dashboard-link-row a:hover{color:#fff;background:var(--purple);border-color:var(--purple);transform:translateY(-2px)}.dashboard-link-row a:nth-child(2n):hover{color:#17120d;background:var(--orange);border-color:var(--orange)}.dashboard-section .button--secondary{color:var(--purple-dark);border-color:#cfc7f5}.dashboard-section .button--secondary:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 7px 16px #7256e833}.continue-card{background:var(--surface-dark);grid-template-columns:1fr 14rem;gap:1.5rem;padding:0;display:grid;overflow:hidden}.continue-card>div{flex-direction:column;align-items:flex-start;padding:1.6rem 0 1.6rem 1.6rem;display:flex}.continue-card h2{color:#fff;margin-top:1.1rem;font-size:1.55rem}.continue-card p{color:#aeb2bb}.continue-card .progress-wrap{width:100%;margin:.6rem 0}.continue-card .progress__labels{color:#b6bac3}.continue-card .progress{background:#30333c}.continue-card>img{object-fit:cover;width:100%;height:100%}.lesson-meta{color:#aeb2bb;gap:1rem;margin:.7rem 0 1.1rem;font-size:.72rem;display:flex}.lesson-meta span{align-items:center;gap:.35rem;display:flex}.bar-chart{border-bottom:1px solid var(--border);justify-content:space-between;align-items:end;gap:.65rem;height:12rem;padding-top:1rem;display:flex}.bar-chart div{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:.35rem;height:100%;display:flex}.bar-chart span{background:var(--purple);border-radius:.35rem .35rem 0 0;width:min(100%,1.6rem);min-height:.35rem}.bar-chart small{color:var(--ink-faint);font-size:.65rem}.chart-summary{margin:.8rem 0 0;font-size:.75rem}.chart-summary strong{color:var(--ink)}.timeline-list,.activity-list{display:grid}.timeline-item,.activity-item{border-bottom:1px solid var(--border);align-items:center;gap:.8rem;min-height:4.6rem;display:flex}.timeline-item:last-child,.activity-item:last-child{border:0}.timeline-item>div,.activity-item>div{flex:1;display:grid}.timeline-item strong,.activity-item strong{font-size:.8rem}.timeline-item span:not(.date-chip),.activity-item span{color:var(--ink-faint);font-size:.7rem}.timeline-item>svg,.activity-item>svg{color:var(--ink-faint)}.date-chip{border-radius:var(--radius-sm);align-content:center;place-items:center;width:2.8rem;height:2.8rem;display:grid}.date-chip strong,.date-chip small{line-height:1.05}.date-chip small{text-transform:uppercase;font-size:.58rem}.date-chip--warning{color:var(--yellow);background:var(--yellow-soft)}.date-chip--info{color:var(--purple);background:var(--purple-soft)}.date-chip--success{color:var(--green);background:var(--green-soft)}.activity-icon{border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;display:grid}.activity-icon--success{color:var(--green);background:var(--green-soft)}.activity-icon--warning{color:var(--yellow);background:var(--yellow-soft)}.activity-icon--danger{color:var(--red);background:var(--red-soft)}.activity-icon--info{color:var(--purple);background:var(--purple-soft)}.line-chart{min-height:12rem;padding-top:1rem}.line-chart svg{width:100%;height:auto;overflow:visible}.chart-area{fill:#7256e81a}.chart-line{fill:none;stroke:var(--purple);stroke-width:3px;stroke-linecap:round}.line-chart--large{min-height:18rem}.funnel-list{gap:1rem;margin-top:2rem;display:grid}.funnel-list>div{grid-template-columns:5.5rem 1fr 2.5rem;align-items:center;gap:.7rem;font-size:.75rem;display:grid}.funnel-list>div>div{background:var(--surface-soft);border-radius:999px;height:.6rem;overflow:hidden}.funnel-list>div>div span{background:var(--purple);border-radius:inherit;height:100%;display:block}.donut-wrap{justify-content:center;align-items:center;gap:2rem;min-height:14rem;display:flex}.donut{--value:76;background:conic-gradient(var(--purple) calc(var(--value)*1%),var(--orange) 0 94%,var(--surface-soft) 0);border-radius:50%;place-items:center;width:9rem;height:9rem;display:grid}.donut:before{content:"";background:#fff;border-radius:50%;grid-area:1/1;width:6.4rem;height:6.4rem}.donut>span{z-index:1;place-items:center;display:grid}.donut strong{font-size:1.6rem}.donut small{color:var(--ink-faint);font-size:.65rem}.donut-wrap>div:last-child p{grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;margin-bottom:.55rem;font-size:.72rem;display:grid}.legend{border-radius:50%;width:.5rem;height:.5rem}.legend--purple{background:var(--purple)}.legend--orange{background:var(--orange)}.legend--gray{background:var(--border-strong)}.table-card{padding:0;overflow:hidden}.table-card>.card__header{padding:1.35rem 1.35rem 0}.data-table{min-width:0}.table-toolbar{border-block:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.15rem;display:flex}.table-search{width:min(100%,20rem)}.table-search input{min-height:2.5rem;font-size:.78rem}.table-toolbar>span{color:var(--ink-faint);font-size:.72rem}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid var(--border);padding:.85rem 1.15rem;font-size:.76rem}th{color:var(--ink-faint);letter-spacing:.03em;text-transform:uppercase;background:#fafafb;font-size:.68rem;font-weight:750}tbody tr:hover{background:#fbfbfc}.sort-button{min-height:2rem;color:inherit;cursor:pointer;font:inherit;text-transform:inherit;background:0 0;border:0;align-items:center;gap:.35rem;padding:0;display:inline-flex}.sort-button svg{width:.75rem;height:.75rem}.person-cell{align-items:center;gap:.6rem;display:flex}.table-progress{grid-template-columns:minmax(5rem,9rem) auto;align-items:center;gap:.6rem;display:grid}.table-progress .progress__labels{display:none}.row-action{width:2rem;height:2rem;color:var(--ink-faint);border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.row-action:hover{color:var(--purple);background:var(--purple-soft)}.table-empty{text-align:center;gap:.25rem;padding:2rem;display:grid}.table-empty span{color:var(--ink-faint)}.table-pagination{justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1.15rem;display:flex}.table-pagination>span{color:var(--ink-faint);font-size:.7rem}.table-pagination>div{gap:.4rem;display:flex}.filter-row{align-items:center;gap:.6rem;padding:1rem 1.15rem;display:flex}.filter-row select,.filter-row input{min-height:2.75rem;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.55rem .8rem;font-size:.75rem}.filter-row select:focus,.filter-row input:focus{border-color:var(--purple);box-shadow:var(--shadow-focus);outline:none}.filter-row>span{color:var(--ink-faint);margin-left:auto;font-size:.7rem}.role-permission-groups{gap:1rem;display:grid}.permission-table-scroll{margin:0 -1.35rem -1.35rem;overflow-x:auto}.permission-table{min-width:55rem}.permission-table th:first-child{width:16rem}.permission-table td:nth-child(2){max-width:28rem;color:var(--ink-soft)}.permission-table tbody th{color:var(--ink);background:var(--surface);letter-spacing:0;text-transform:none;font-size:.78rem;font-weight:700}.role-permissions-skeleton{gap:1rem;display:grid}.role-permissions-skeleton span{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);height:12rem;box-shadow:var(--shadow-xs);display:block}.form-success{color:var(--green);background:var(--green-soft);border-radius:var(--radius-sm);border:1px solid #bfe6d4;align-items:center;gap:.65rem;margin-bottom:1rem;padding:.85rem 1rem;font-size:.78rem;font-weight:700;display:flex}.form-success>span{flex:1}.form-success>button{width:2rem;height:2rem;color:inherit;border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c0e1294;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0;overflow-y:auto}.review-dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(100%,43rem);max-height:calc(100vh - 3rem);box-shadow:var(--shadow-md);padding:1.5rem;overflow-y:auto}.review-dialog>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;padding-bottom:1.1rem;display:flex}.review-dialog>header h2{margin-bottom:.2rem;font-size:1.45rem}.review-dialog>header .eyebrow{margin-bottom:.35rem}.review-dialog>header span{color:var(--ink-soft);font-size:.8rem}.review-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:0 0 1.25rem;display:grid}.review-summary>div{background:var(--page);border-radius:var(--radius-sm);min-width:0;padding:.8rem}.review-summary dt{color:var(--ink-faint);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.25rem;font-size:.66rem;font-weight:750}.review-summary dd{overflow-wrap:anywhere;margin:0;font-size:.8rem;font-weight:650}.review-dialog .form-field>span:first-child{color:var(--ink);font-size:.8rem;font-weight:700}.review-dialog .form-field textarea{min-height:5.5rem}.review-guidance{color:var(--ink-soft);background:var(--blue-soft);border-radius:var(--radius-sm);margin-bottom:1rem;padding:.75rem .85rem;font-size:.75rem}.review-dialog>footer{justify-content:flex-end;gap:.65rem;padding-top:.25rem;display:flex}.confirmation-dialog{width:min(100%,32rem)}.confirmation-dialog>p{color:var(--ink-soft);margin:0 0 1.25rem;font-size:.82rem;line-height:1.6}.review-decision{background:var(--surface-soft);border-radius:var(--radius-sm);gap:.3rem;padding:1rem;display:grid}.review-decision>span,.review-decision p{color:var(--ink-soft);margin:0;font-size:.78rem}.resource-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.resource-card{padding:0;overflow:hidden}.resource-card__media{padding:0;position:relative;overflow:hidden}.resource-card__media>img{aspect-ratio:1.9;object-fit:cover;width:100%;transition:transform .25s}.resource-card:hover .resource-card__media>img{transform:scale(1.025)}.resource-card__status{padding:0;position:absolute;top:.8rem;left:.8rem}.resource-card__status .badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-color:#ffffffbf;box-shadow:0 4px 14px #1214191f}.resource-card__body{gap:.7rem;padding:1.2rem;display:grid}.resource-card h2{margin:0;font-size:1.1rem}.resource-card p{min-height:3.6em;margin:0;font-size:.78rem}.resource-card__footer{color:var(--ink-faint);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding-top:.7rem;font-size:.7rem;display:flex}.resource-card__media-fallback{color:#fff;background:linear-gradient(135deg,#382680 0%,var(--purple) 58%,var(--orange) 140%);align-content:end;gap:.25rem;min-height:12rem;padding:1.4rem;display:grid}.resource-card__media-fallback:after{content:"";background:#ffffff1a;border-radius:50%;width:12rem;height:12rem;position:absolute;top:-4.5rem;right:-2.5rem}.resource-card__media-fallback>span{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff29;border:1px solid #ffffff3d;place-items:center;width:2.7rem;height:2.7rem;margin-bottom:1.25rem;display:grid}.resource-card__media-fallback>span svg{width:1.35rem}.resource-card__media-fallback small{z-index:1;color:#f0ecff;letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:750;position:relative}.resource-card__media-fallback strong{z-index:1;text-overflow:ellipsis;white-space:nowrap;max-width:90%;font-size:1.15rem;position:relative;overflow:hidden}.student-course-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-bottom:1rem;display:grid}.student-course-overview>div{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);border:1px solid #e2dcfb;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.9rem 1rem;display:grid}.student-course-overview>div>span{width:2.45rem;height:2.45rem;color:var(--purple);background:var(--purple-soft);border-radius:var(--radius-sm);place-items:center;display:grid}.student-course-overview>div:nth-child(2)>span{color:#b35a08;background:var(--orange-soft)}.student-course-overview svg{width:1.1rem}.student-course-overview small{color:var(--ink-soft);font-size:.7rem;font-weight:650}.student-course-overview strong{color:var(--purple-dark);font-size:1.2rem}.student-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-course-card{border-radius:var(--radius-lg);border-color:#dedaf0;box-shadow:0 10px 28px #41308212}.student-course-card .resource-card__body{gap:.8rem;padding:1.25rem}.student-course-card .resource-card__body>p{min-height:2.8em}.student-course-card .progress>span{background:linear-gradient(90deg,var(--purple),#8d73ee 68%,var(--orange))}.student-course-card__completion{color:var(--ink-faint);margin-top:-.3rem;font-size:.68rem}.student-course-card .resource-card__footer{margin-top:.15rem;padding-top:1rem}.student-course-card__action{border-radius:var(--radius-sm);min-height:2.35rem;padding-inline:.8rem}.course-management-page>.page-header,.registration-requests-page>.page-header,.enrollment-access-page>.page-header,.student-courses-page>.page-header,.trainer-students-page>.page-header,.student-progress-page>.page-header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3 78%);border-radius:var(--radius-lg);border:1px solid #e2dcfb;align-items:center;padding:1.5rem;position:relative;overflow:hidden}.course-management-page>.page-header .eyebrow,.registration-requests-page>.page-header .eyebrow,.enrollment-access-page>.page-header .eyebrow,.student-courses-page>.page-header .eyebrow,.trainer-students-page>.page-header .eyebrow,.student-progress-page>.page-header .eyebrow,.course-management-page>.page-header h1,.registration-requests-page>.page-header h1,.enrollment-access-page>.page-header h1,.student-courses-page>.page-header h1,.trainer-students-page>.page-header h1,.student-progress-page>.page-header h1{margin-bottom:.45rem}.course-management-page>.page-header .page-header__actions .button,.registration-requests-page>.page-header .page-header__actions .button,.enrollment-access-page>.page-header .page-header__actions .button,.student-courses-page>.page-header .page-header__actions .button,.trainer-students-page>.page-header .page-header__actions .button,.student-progress-page>.page-header .page-header__actions .button{border-radius:var(--radius-md);min-height:2.9rem;padding-inline:1.15rem}.trainer-students-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1rem;display:grid}.trainer-students-summary article{background:var(--surface);border-radius:var(--radius-md);min-width:0;box-shadow:var(--shadow-xs);border:1px solid #e2def4;align-items:center;gap:.8rem;padding:1rem;display:flex;position:relative;overflow:hidden}.trainer-students-summary__icon{border-radius:var(--radius-sm);flex:none;place-items:center;width:2.65rem;height:2.65rem;display:grid}.trainer-students-summary__icon svg{width:1.15rem;height:1.15rem}.trainer-students-summary__icon--purple{color:var(--purple-dark);background:var(--purple-soft)}.trainer-students-summary__icon--orange{color:var(--orange-dark);background:var(--orange-soft)}.trainer-students-summary article>span:last-child{gap:.15rem;min-width:0;display:grid}.trainer-students-summary small{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:700;overflow:hidden}.trainer-students-summary strong{color:var(--ink);font-size:1.45rem;line-height:1}.trainer-students-card{border-radius:var(--radius-lg);border-color:#dedaf0;box-shadow:0 12px 30px #49379212}.trainer-students-card__heading{background:linear-gradient(120deg,#fff,var(--purple-soft));border-bottom:1px solid #e7e3fa;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:1.2rem 1.25rem;display:grid}.trainer-students-card__icon{color:#fff;background:linear-gradient(135deg,var(--purple),#8d73ee);border-radius:var(--radius-md);place-items:center;width:2.7rem;height:2.7rem;display:grid;box-shadow:0 7px 18px #7256e838}.trainer-students-card__icon svg{width:1.2rem;height:1.2rem}.trainer-students-card__heading .eyebrow{margin-bottom:.2rem}.trainer-students-card__heading h2{margin:0 0 .2rem;font-size:1.22rem}.trainer-students-card__heading p:last-child{margin:0;font-size:.76rem}.trainer-students-card__count{min-height:2rem;color:var(--ink-soft);white-space:nowrap;background:#ffffffbf;border:1px solid #e1dcf7;border-radius:999px;align-items:center;gap:.28rem;padding:.35rem .65rem;font-size:.68rem;display:inline-flex}.trainer-students-card__count strong{color:var(--purple-dark);font-size:.82rem}.trainer-students-filter{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;padding:.9rem 1.25rem}.trainer-students-filter label{color:var(--ink-soft);align-items:center;gap:.5rem;font-size:.72rem;font-weight:700;display:flex}.trainer-students-filter label>svg{width:1rem;height:1rem;color:var(--purple)}.trainer-students-filter select{min-width:10.5rem;color:var(--purple-dark);background:var(--purple-soft);border-color:#d8d1f7;margin-left:.1rem;font-weight:700}.trainer-students-card .table-toolbar{background:#fff;border-top:0;padding:1rem 1.25rem}.trainer-students-card .table-search{width:min(100%,26rem)}.trainer-students-card .table-search input{background:#faf9ff;border-color:#ded7f7}.trainer-students-card .table-search input:focus{border-color:var(--purple);box-shadow:var(--shadow-focus);outline:none}.trainer-students-card table{min-width:58rem}.trainer-students-card th{background:#faf9ff}.trainer-students-card th:last-child,.trainer-students-card td:last-child{text-align:right;width:4.5rem}.trainer-students-card tbody tr{transition:background-color .16s}.trainer-students-card tbody tr:hover{background:#fcfbff}.trainer-student-identity{align-items:center;gap:.7rem;min-width:13rem;display:flex}.trainer-student-avatar{color:#fff;background:linear-gradient(135deg,var(--purple),var(--orange));border-radius:.75rem;flex:none;place-items:center;width:2.4rem;height:2.4rem;font-size:.68rem;font-weight:800;display:grid;box-shadow:0 5px 12px #7256e82e}.trainer-student-identity>span:last-child{gap:.12rem;min-width:0;display:grid}.trainer-student-identity strong,.trainer-student-identity small{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;overflow:hidden}.trainer-student-identity small{color:var(--ink-faint);font-size:.67rem}.trainer-student-course{min-width:10rem;color:var(--ink-soft);align-items:center;gap:.45rem;font-weight:650;display:inline-flex}.trainer-student-course svg{width:1rem;height:1rem;color:var(--orange-dark);flex:none}.trainer-student-progress{grid-template-columns:minmax(6rem,9rem) 2.4rem;align-items:center;gap:.55rem;display:grid}.trainer-student-progress .progress__labels{display:none}.trainer-student-progress .progress{background:#e8e3fa;height:.48rem}.trainer-student-progress .progress>span{background:linear-gradient(90deg,var(--purple),#8d73ee 72%,var(--orange))}.trainer-student-progress>strong{color:var(--purple-dark);font-size:.72rem}.trainer-student-open{color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-sm);border:1px solid #ded7f7;margin-left:auto}.trainer-student-open:hover{color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 6px 14px #7256e833}.student-progress-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1rem;display:grid}.student-progress-summary article{background:var(--surface);border-radius:var(--radius-md);min-width:0;box-shadow:var(--shadow-xs);border:1px solid #e2def4;align-items:center;gap:.8rem;padding:1rem;display:flex}.student-progress-summary__icon{border-radius:var(--radius-sm);flex:none;place-items:center;width:2.65rem;height:2.65rem;display:grid}.student-progress-summary__icon svg{width:1.15rem;height:1.15rem}.student-progress-summary__icon--purple{color:var(--purple-dark);background:var(--purple-soft)}.student-progress-summary__icon--orange{color:var(--orange-dark);background:var(--orange-soft)}.student-progress-summary__icon--danger{color:#a32935;background:var(--red-soft)}.student-progress-summary__icon--success{color:#14775a;background:var(--green-soft)}.student-progress-summary article>span:last-child{gap:.15rem;min-width:0;display:grid}.student-progress-summary small{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:700;overflow:hidden}.student-progress-summary strong{color:var(--ink);font-size:1.45rem;line-height:1}.student-progress-card{border-radius:var(--radius-lg);border-color:#dedaf0;box-shadow:0 12px 30px #49379212}.student-progress-card__heading{background:linear-gradient(120deg,#fff,var(--purple-soft));border-bottom:1px solid #e7e3fa;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:1.2rem 1.25rem;display:grid}.student-progress-card__icon{color:#fff;background:linear-gradient(135deg,var(--purple),#8d73ee);border-radius:var(--radius-md);place-items:center;width:2.7rem;height:2.7rem;display:grid;box-shadow:0 7px 18px #7256e838}.student-progress-card__icon svg{width:1.2rem;height:1.2rem}.student-progress-card__heading .eyebrow{margin-bottom:.2rem}.student-progress-card__heading h2{margin:0 0 .2rem;font-size:1.22rem}.student-progress-card__heading p:last-child{margin:0;font-size:.76rem}.student-progress-card__count{min-height:2rem;color:var(--ink-soft);white-space:nowrap;background:#ffffffbf;border:1px solid #e1dcf7;border-radius:999px;align-items:center;gap:.28rem;padding:.35rem .65rem;font-size:.68rem;display:inline-flex}.student-progress-card__count strong{color:var(--purple-dark);font-size:.82rem}.student-progress-filter{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;padding:.9rem 1.25rem}.student-progress-filter label{color:var(--ink-soft);align-items:center;gap:.5rem;font-size:.72rem;font-weight:700;display:flex}.student-progress-filter label>svg{width:1rem;height:1rem;color:var(--purple)}.student-progress-filter select{min-width:10.5rem;color:var(--purple-dark);background:var(--purple-soft);border-color:#d8d1f7;margin-left:.1rem;font-weight:700}.student-progress-card .table-toolbar{background:#fff;border-top:0;padding:1rem 1.25rem}.student-progress-card .table-search{width:min(100%,26rem)}.student-progress-card .table-search input{background:#faf9ff;border-color:#ded7f7}.student-progress-card .table-search input:focus{border-color:var(--purple);box-shadow:var(--shadow-focus);outline:none}.student-progress-card table{min-width:58rem}.student-progress-card th{background:#faf9ff}.student-progress-card th:last-child,.student-progress-card td:last-child{text-align:right;width:4.5rem}.student-progress-card tbody tr{transition:background-color .16s}.student-progress-card tbody tr:hover{background:#fcfbff}.student-progress-identity{align-items:center;gap:.7rem;min-width:13rem;display:flex}.student-progress-avatar{color:#fff;background:linear-gradient(135deg,var(--purple),var(--orange));border-radius:.75rem;flex:none;place-items:center;width:2.4rem;height:2.4rem;font-size:.68rem;font-weight:800;display:grid;box-shadow:0 5px 12px #7256e82e}.student-progress-identity>span:last-child{gap:.12rem;min-width:0;display:grid}.student-progress-identity strong,.student-progress-identity small{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;overflow:hidden}.student-progress-identity small{color:var(--ink-faint);font-size:.67rem}.student-progress-course{min-width:10rem;color:var(--ink-soft);align-items:center;gap:.45rem;font-weight:650;display:inline-flex}.student-progress-course svg{width:1rem;height:1rem;color:var(--orange-dark);flex:none}.student-progress-meter{grid-template-columns:minmax(6rem,9rem) 2.4rem;align-items:center;gap:.55rem;display:grid}.student-progress-meter .progress__labels{display:none}.student-progress-meter .progress{background:#e8e3fa;height:.48rem}.student-progress-meter .progress>span{background:linear-gradient(90deg,var(--purple),#8d73ee 72%,var(--orange))}.student-progress-meter>strong{color:var(--purple-dark);font-size:.72rem}.student-progress-open{color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-sm);border:1px solid #ded7f7;margin-left:auto}.student-progress-open:hover{color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 6px 14px #7256e833}.registration-requests-card{border-radius:var(--radius-lg);border-color:#dedaf0;box-shadow:0 10px 28px #41308212}.registration-queue-bar{background:linear-gradient(90deg,#faf9ff,#fffaf5);border-bottom:1px solid #e7e3fa;min-height:4.65rem;padding:.9rem 1.15rem}.registration-queue-metrics{align-items:center;gap:.5rem;display:flex}.registration-queue-metrics span{min-height:2.35rem;color:var(--ink-soft);border-radius:var(--radius-sm);background:#ffffffc7;border:1px solid #e3def7;align-items:center;gap:.35rem;padding:.45rem .7rem;font-size:.7rem;display:inline-flex}.registration-queue-metrics strong{color:var(--purple-dark);font-size:.88rem}.registration-queue-metrics span:first-child strong{color:var(--orange-dark)}.registration-requests-card .table-toolbar{background:var(--surface);border-top:0;padding-block:1rem}.registration-requests-card .table-search input{background:#faf9ff;border-color:#ded7f7}.registration-requests-card .table-search input:focus{border-color:var(--purple);box-shadow:var(--shadow-focus);outline:none}.registration-requests-card th{background:#faf9ff}.registration-requests-card tbody tr:hover{background:#fcfbff}.registration-person{align-items:center;gap:.65rem;min-width:11rem;display:flex}.registration-person__avatar{width:2.25rem;height:2.25rem;color:var(--purple-dark);background:var(--purple-soft);letter-spacing:.02em;border:1px solid #ddd6fb;border-radius:50%;flex:none;place-items:center;font-size:.68rem;font-weight:800;display:grid}.registration-review-button{min-width:9rem;color:var(--purple-dark);border-radius:var(--radius-sm);border-color:#cfc7f5}.registration-review-button:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 7px 16px #7256e833}.registration-review-button svg{order:2}.registration-requests-page .review-dialog{border-color:#d9d2f6;box-shadow:0 24px 65px #291e5633}.registration-requests-page .review-dialog>header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3);border-bottom-color:#e2dcfb;margin:-1.5rem -1.5rem 1.25rem;padding:1.5rem;position:relative}.registration-requests-page .review-summary>div{background:#faf9ff;border:1px solid #e8e4f8}.registration-requests-page .review-guidance{color:var(--purple-dark);background:var(--purple-soft);border-left:.2rem solid var(--orange)}.trainer-management-page>.page-header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3 78%);border-radius:var(--radius-lg);border:1px solid #e2dcfb;align-items:center;padding:1.5rem;position:relative;overflow:hidden}.trainer-management-page>.page-header .eyebrow,.trainer-management-page>.page-header h1{margin-bottom:.45rem}.trainer-management-page>.page-header .page-header__actions .button{border-radius:var(--radius-md);min-height:2.9rem;padding-inline:1.15rem}.trainer-management-card{border-radius:var(--radius-lg);border-color:#dedaf0;padding:0;overflow:hidden;box-shadow:0 12px 30px #49379212}.trainer-management-card__header{background:linear-gradient(120deg,#fff,var(--purple-soft));border-bottom:1px solid #e7e3fa;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.trainer-management-card__status{align-items:center;gap:.75rem;display:flex}.trainer-management-card__status>span{color:var(--ink-soft);font-size:.75rem}.trainer-management-card__status strong{color:var(--purple-dark)}.trainer-management-card__hint{color:var(--ink-faint);font-size:.72rem}.trainer-management-card .table-toolbar{background:#fff;padding:1rem 1.25rem}.trainer-management-card .table-search input{background:#faf9ff;border-color:#ded7f7}.trainer-management-card .table-search input:focus{border-color:var(--purple);box-shadow:var(--shadow-focus);outline:none}.trainer-management-card .table-scroll{overflow-x:auto}.trainer-management-card table{min-width:58rem}.trainer-management-card th{background:#faf9ff}.trainer-management-card tbody tr:hover{background:#fcfbff}.trainer-person-cell{align-items:center;gap:.65rem;min-width:11rem;display:flex}.trainer-person-cell__avatar{color:#fff;background:linear-gradient(135deg,var(--purple),var(--orange));border-radius:.7rem;flex:none;place-items:center;width:2.2rem;height:2.2rem;font-size:.68rem;font-weight:800;display:grid;box-shadow:0 5px 12px #7256e82e}.trainer-row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;min-width:16rem;display:flex}.trainer-row-action{border-radius:var(--radius-sm);min-height:2.35rem;padding:.5rem .7rem;font-size:.72rem}.trainer-row-action--assign{color:var(--purple-dark);background:var(--purple-soft);border-color:#d4ccf5}.trainer-row-action--assign:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 7px 16px #7256e833}.trainer-row-action--suspend:hover:not(:disabled){color:var(--red);background:var(--red-soft)}.trainer-row-action--activate:hover:not(:disabled){color:var(--green);background:var(--green-soft)}.trainer-row-action--archive:hover:not(:disabled){color:var(--orange-dark);background:var(--orange-soft)}.trainer-invite-card{border-radius:var(--radius-lg);border-color:#ded7f7;margin-top:1rem}.trainer-invite-card__header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3 82%);border-bottom:1px solid #e2dcfa;padding:1.35rem;position:relative}.trainer-invite-card__header h2{margin-bottom:.35rem;font-size:1.35rem}.trainer-invite-card__header p:last-child{margin-bottom:0;font-size:.82rem}.trainer-invite-card>.form-grid{padding:1.35rem}.category-management-page>.page-header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3 78%);border-radius:var(--radius-lg);border:1px solid #e2dcfb;align-items:center;padding:1.5rem;position:relative;overflow:hidden}.category-management-page>.page-header .eyebrow,.category-management-page>.page-header h1{margin-bottom:.45rem}.category-management-page>.page-header .page-header__actions .button{border-radius:var(--radius-md);min-height:2.9rem;padding-inline:1.15rem}.category-management-grid{grid-template-columns:minmax(20rem,.72fr) minmax(0,1.28fr);align-items:start;gap:1.25rem;display:grid}.category-editor-card,.category-catalog-card{border-radius:var(--radius-lg);border-color:#ded7f7;padding:0;overflow:hidden;box-shadow:0 12px 30px #49379212}.category-editor-card__header,.category-catalog-card__header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3 82%);border-bottom:1px solid #e2dcfa;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.35rem;display:flex;position:relative}.category-editor-card__icon{color:#fff;background:var(--purple);border-radius:var(--radius-md);flex:none;place-items:center;width:2.7rem;height:2.7rem;display:grid;box-shadow:0 8px 18px #7256e833}.category-editor-card__icon svg{width:1.3rem;height:1.3rem}.category-editor-card__header>div:last-child{flex:1;min-width:0}.category-editor-card__header h2,.category-catalog-card__header h2{margin-bottom:.35rem;font-size:1.35rem}.category-editor-card__header p:last-child,.category-catalog-card__header p:last-child{margin-bottom:0;font-size:.78rem}.category-editor-card__body{padding:1.35rem}.category-form{gap:1rem;display:grid}.category-form .form-field{margin:0}.category-editor-card__body .form-actions{justify-content:flex-start;gap:.65rem;margin-top:.1rem;padding-top:1rem;display:flex}.category-editor-card__body .form-actions .button{flex:1}.category-editor-card .form-field small{color:var(--ink-faint);font-size:.68rem;font-weight:500}.category-editor-card .form-field>span small{color:var(--ink-faint);margin-left:.25rem;font-size:.65rem;font-weight:600}.category-catalog-card__header{align-items:center}.category-catalog-card__tools{align-items:center;gap:.6rem;display:flex}.category-catalog-card__count{color:var(--purple-dark);white-space:nowrap;background:#ffffffb8;border:1px solid #ded7f7;border-radius:999px;padding:.4rem .65rem;font-size:.7rem}.category-catalog-card__count strong{color:var(--ink)}.category-catalog-card .table-scroll{overflow-x:auto}.category-catalog-card table{table-layout:fixed;min-width:46rem}.category-catalog-card th:first-child{width:28%}.category-catalog-card th:nth-child(2){width:19%}.category-catalog-card th:nth-child(3){width:12%}.category-catalog-card th:nth-child(4){width:15%}.category-catalog-card th:nth-child(5){text-align:right;width:26%}.category-catalog-card td{vertical-align:middle}.category-catalog-card td:last-child{text-align:right}.category-catalog-card th{background:#faf9ff}.category-catalog-card tbody tr:hover{background:#fcfbff}.category-name-cell{align-items:center;gap:.65rem;min-width:10rem;display:flex}.category-name-cell__index{width:2rem;height:2rem;color:var(--purple-dark);background:var(--purple-soft);border:1px solid #ded7f7;border-radius:.6rem;flex:none;place-items:center;font-size:.65rem;font-weight:800;display:grid}.category-slug{color:var(--ink-soft);font-family:var(--font-sans);font-size:.72rem}.category-position{min-width:2rem;height:2rem;color:var(--orange-dark);background:var(--orange-soft);border:1px solid #f2dcc8;border-radius:.6rem;place-items:center;font-size:.7rem;font-weight:800;display:inline-grid}.category-row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.category-edit-button{min-height:2.35rem;color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-sm);border:1px solid #d6cef8;padding:.5rem .7rem;font-size:.72rem}.category-edit-button:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 7px 16px #7256e833}.category-status-actions{align-items:center;gap:.3rem;padding:0;display:flex}.category-status-actions .button{border-radius:var(--radius-sm);min-height:2.35rem;padding:.5rem .7rem;font-size:.72rem}.category-status-actions .status-action--publish{color:var(--orange-dark);background:var(--orange-soft);border-color:#f5dcc5}.category-status-actions .status-action--publish:hover:not(:disabled){color:#17120d;background:var(--orange);border-color:var(--orange)}.category-status-actions .status-action--draft{color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--border)}.category-status-actions .status-action--draft:hover:not(:disabled){color:var(--purple-dark);background:var(--purple-soft);border-color:#d6cef8}.category-status-actions .status-action--archive{color:var(--orange-dark);border:1px solid #0000}.category-status-actions .status-action--archive:hover:not(:disabled){color:var(--orange-dark);background:var(--orange-soft);border-color:#f5dcc5}.notification-management-grid{grid-template-columns:minmax(34rem,.95fr) minmax(32rem,1.05fr);align-items:start;gap:1.25rem;display:grid}.notification-composer-card,.notification-history-card{border-radius:var(--radius-lg);border-color:#ded7f7;padding:0;overflow:hidden;box-shadow:0 12px 30px #49379212}.notification-card__header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3 82%);border-bottom:1px solid #e2dcfa;justify-content:space-between;align-items:flex-start;gap:1rem;min-height:8.8rem;padding:1.35rem 1.45rem;display:flex}.notification-card__identity{align-items:flex-start;gap:.85rem;min-width:0;display:flex}.notification-card__icon{color:#fff;background:var(--purple);border-radius:var(--radius-md);flex:none;place-items:center;width:2.7rem;height:2.7rem;display:grid;box-shadow:0 8px 18px #7256e833}.notification-card__icon svg{width:1.25rem}.notification-card__header .eyebrow{color:var(--purple-dark);margin:.05rem 0 .25rem}.notification-card__header h2{margin:0 0 .3rem;font-size:1.3rem}.notification-card__header p:last-child{max-width:30rem;color:var(--ink-muted);margin:0;font-size:.78rem;line-height:1.5}.notification-card__status,.notification-card__count{color:var(--purple-dark);white-space:nowrap;background:#ffffffc7;border:1px solid #ded7f7;border-radius:999px;padding:.38rem .65rem;font-size:.7rem;font-weight:750}.notification-card__count strong{color:var(--ink)}.notification-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.1rem;padding:1.35rem 1.45rem 1.45rem;display:grid}.notification-form .form-field{margin-bottom:1rem}.notification-form .form-field>span:first-child{color:var(--ink-soft);margin-bottom:.45rem;font-size:.74rem}.notification-form input,.notification-form select,.notification-form textarea{border-radius:var(--radius-md);background:#fcfbff;border-color:#d9d4e8}.notification-form input,.notification-form select{min-height:3rem}.notification-form textarea{resize:vertical;min-height:9rem}.notification-form input::placeholder,.notification-form textarea::placeholder{color:#a2a0aa}.notification-form input:hover,.notification-form select:hover,.notification-form textarea:hover{border-color:#bdb5dc}.notification-form__wide{grid-column:1/-1}.notification-form small{color:var(--ink-muted)}.notification-audience{border-radius:var(--radius-lg);background:#fbfaff;border:1px solid #e1dcf3;margin-bottom:1.1rem;overflow:hidden}.notification-audience__heading{background:linear-gradient(110deg,#f5f1ff,#fff);border-bottom:1px solid #e7e2f6;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.notification-audience__heading .eyebrow{color:var(--purple);margin:0 0 .18rem;font-size:.65rem}.notification-audience__heading h3{margin:0;font-size:1rem}.notification-audience__summary{max-width:20rem;color:var(--purple-dark);text-align:right;background:#fff;border:1px solid #dcd5f6;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .7rem;font-size:.7rem;font-weight:750;display:inline-flex}.notification-audience__summary svg{flex:none;width:.9rem;height:.9rem}.notification-audience__steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;padding:1rem;display:grid}.notification-picker{border:0;min-width:0;margin:0;padding:0}.notification-picker legend{grid-template-rows:auto auto;grid-template-columns:1.7rem minmax(0,1fr);align-items:center;column-gap:.5rem;width:100%;min-height:3.1rem;margin-bottom:.65rem;padding:0;display:grid}.notification-picker legend>span{color:#fff;background:var(--purple);border-radius:50%;grid-row:1/-1;place-items:center;width:1.65rem;height:1.65rem;font-size:.68rem;font-weight:800;display:grid}.notification-picker legend strong{color:var(--ink);grid-column:2;font-size:.8rem}.notification-picker legend small{text-align:left;grid-column:2;margin:0}.notification-picker__search{align-items:center;display:flex;position:relative}.notification-picker__search svg{width:1rem;height:1rem;color:var(--ink-faint);pointer-events:none;position:absolute;left:.75rem}.notification-picker__search input{border-radius:var(--radius-sm);background:#fff;min-height:2.6rem;padding-left:2.25rem}.notification-picker__list{border-radius:var(--radius-md);scrollbar-color:#cfc6ee transparent;scrollbar-width:thin;background:#fff;border:1px solid #ded9ee;align-content:start;height:12rem;margin-top:.5rem;padding:.3rem;display:grid;overflow:auto}.notification-picker__option,.notification-picker__all{width:100%;min-width:0;color:var(--ink-soft);border-radius:var(--radius-sm);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.55rem;padding:.55rem .6rem;font-size:.76rem;line-height:1.3;transition:background .15s,border-color .15s,transform .15s;display:flex}.notification-picker__option:hover,.notification-picker__all:hover{background:#f7f4ff;border-color:#e5dff9}.notification-picker__option.is-selected,.notification-picker__all.is-selected{color:var(--purple-dark);background:#f2eeff;border-color:#d7cef8}.notification-picker__option input{opacity:0;pointer-events:none;width:1px;height:1px;min-height:0;position:absolute;overflow:hidden}.notification-picker__check{color:#fff;background:#fff;border:1.5px solid #c8c1d9;border-radius:.28rem;flex:none;place-items:center;width:1.05rem;height:1.05rem;display:grid}.is-selected>.notification-picker__check{background:var(--purple);border-color:var(--purple)}.notification-picker__check svg{stroke-width:3px;width:.72rem;height:.72rem}.notification-picker__option>span:last-child,.notification-picker__all>span:last-child{gap:.08rem;min-width:0;display:grid}.notification-picker__option strong,.notification-picker__all strong{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.notification-picker__option small,.notification-picker__all small{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.65rem;overflow:hidden}.notification-picker__all{background:#faf9fe;border-color:#e5e1ef;min-height:3.5rem;margin-top:.5rem}.notification-picker__all>svg{width:1rem;height:1rem;color:var(--purple);flex:none}.notification-picker__avatar{width:1.75rem;height:1.75rem;color:var(--purple-dark);background:#e9e3ff;border-radius:50%;flex:none;place-items:center;font-size:.65rem;font-weight:800;display:grid!important}.notification-picker__empty{min-height:5rem;color:var(--ink-faint);text-align:center;place-items:center;margin:0;padding:1rem;font-size:.72rem;display:grid}.notification-picker__chips{flex-wrap:wrap;gap:.3rem;max-height:4.4rem;margin-top:.5rem;display:flex;overflow:auto}.notification-picker__chips span{max-width:100%;color:var(--purple-dark);text-overflow:ellipsis;white-space:nowrap;background:#eee9ff;border-radius:999px;padding:.25rem .5rem;font-size:.63rem;font-weight:700;overflow:hidden}.notification-form__actions{border-top:1px solid var(--border);grid-column:1/-1;justify-content:flex-end;gap:.6rem;margin:.25rem 0 0;padding-top:1.15rem;display:flex}.notification-form__actions .button{border-radius:var(--radius-md);min-height:3rem}.notification-form__actions .button--primary{color:#17120d;background:var(--orange);border-color:var(--orange);min-width:8.5rem;box-shadow:0 6px 16px #ff8a1f2e}.notification-form__actions .button--primary:hover:not(:disabled){background:#ff9c42;border-color:#ff9c42;box-shadow:0 9px 22px #ff8a1f3b}.notification-history-card__header{align-items:center}.notification-history-card__header>div{min-width:0}.notification-history-card__header h2{white-space:nowrap}.notification-history-card>.empty-state{border:0;border-radius:0;min-height:18rem;margin:0}.notification-history-card__loading{min-height:12rem;color:var(--ink-soft);place-items:center;font-size:.8rem;display:grid}.notification-history-pagination{border-top-color:#e7e3fa}.notification-history-card .table-scroll{overflow-x:auto}.notification-history-card table{table-layout:fixed;min-width:39rem}.notification-history-card th{background:#faf9ff}.notification-history-card th:first-child{width:35%}.notification-history-card th:nth-child(2){width:21%}.notification-history-card th:nth-child(3){width:14%}.notification-history-card th:nth-child(4){width:30%}.notification-history-card tbody tr:hover{background:#fcfbff}.notification-history-card td{vertical-align:middle}.notification-history-card td:first-child strong,.notification-history-card td:first-child small{display:block}.notification-history-card td:first-child strong{color:var(--ink);font-size:.8rem}.notification-history-card td:first-child small{color:var(--ink-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.25rem;font-size:.7rem;line-height:1.45;display:-webkit-box;overflow:hidden}.notification-history-card td:last-child .filter-row{justify-content:flex-end;gap:.3rem}.notification-history-card td:last-child .button{border-radius:var(--radius-sm);min-height:2.35rem;padding:.5rem .7rem;font-size:.72rem}.notification-history-card td:last-child .button--primary{color:var(--purple-dark);background:var(--purple-soft);box-shadow:none;border-color:#d6cef8}.notification-history-card td:last-child .button--primary:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple)}@media (max-width:70rem){.notification-management-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:48rem){.notification-card__header{min-height:0;padding:1.15rem}.notification-card__status{display:none}.notification-form{grid-template-columns:1fr;gap:0;padding:1.15rem}.notification-form__wide,.notification-form__actions{grid-column:auto}.notification-audience__heading{align-items:flex-start}.notification-audience__summary{max-width:11rem}.notification-audience__steps{grid-template-columns:1fr}.notification-form__actions{justify-content:stretch}.notification-form__actions .button{flex:1}.notification-history-card__header{align-items:flex-start}.notification-history-card__header .notification-card__count{margin-left:auto}.notification-history-card__header h2{white-space:normal}.notification-history-pagination{flex-direction:column;align-items:stretch}.notification-history-pagination>div{justify-content:space-between}.notification-history-pagination .button{flex:1}}.user-management-page>.page-header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3 78%);border-radius:var(--radius-lg);border:1px solid #e2dcfb;align-items:center;padding:1.5rem;position:relative;overflow:hidden}.user-management-page>.page-header .eyebrow,.user-management-page>.page-header h1{margin-bottom:.45rem}.user-management-page>.page-header .page-header__actions .button{border-radius:var(--radius-md);min-height:2.9rem;padding-inline:1.15rem}.user-management-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1rem;display:grid}.user-management-summary article{background:var(--surface);border-radius:var(--radius-md);min-width:0;box-shadow:var(--shadow-xs);border:1px solid #e2def4;align-items:center;gap:.8rem;padding:1rem;display:flex;position:relative;overflow:hidden}.user-management-summary__icon{border-radius:var(--radius-sm);flex:none;place-items:center;width:2.65rem;height:2.65rem;display:grid}.user-management-summary__icon svg{width:1.15rem;height:1.15rem}.user-management-summary__icon--purple{color:var(--purple-dark);background:var(--purple-soft)}.user-management-summary__icon--orange{color:var(--orange-dark);background:var(--orange-soft)}.user-management-summary article>span:last-child{gap:.15rem;min-width:0;display:grid}.user-management-summary small{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:700;overflow:hidden}.user-management-summary strong{color:var(--ink);font-size:1.45rem;line-height:1}.user-management-card{border-radius:var(--radius-lg);border-color:#dedaf0;box-shadow:0 12px 30px #49379212}.user-management-card__heading{background:linear-gradient(120deg,#fff,var(--purple-soft));border-bottom:1px solid #e7e3fa;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.user-management-card__heading .eyebrow{margin-bottom:.3rem}.user-management-card__heading h2{margin-bottom:.25rem;font-size:1.25rem}.user-management-card__heading p:last-child{margin:0;font-size:.78rem}.user-management-filter-row{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;padding:.9rem 1.25rem}.user-role-filter{color:var(--ink-soft);align-items:center;gap:.55rem;font-size:.74rem;font-weight:700;display:flex}.user-role-filter>svg{width:1rem;height:1rem;color:var(--purple)}.user-role-filter select{min-width:10rem;color:var(--purple-dark);background:var(--purple-soft);border-color:#d8d1f7;margin-left:.15rem;font-weight:700}.user-management-card .table-toolbar{background:#fff;border-top:0;padding:1rem 1.25rem}.user-management-card .table-search{width:min(100%,24rem)}.user-management-card .table-search input{background:#faf9ff;border-color:#ded7f7}.user-management-card .table-search input:focus{border-color:var(--purple);box-shadow:var(--shadow-focus);outline:none}.user-management-card table{min-width:52rem}.user-management-card th{background:#faf9ff}.user-management-card th:last-child,.user-management-card td:last-child{text-align:right}.user-management-card tbody tr:hover{background:#fcfbff}.user-person-cell{align-items:center;gap:.7rem;min-width:13rem;display:flex}.user-person-cell__avatar{color:#fff;background:linear-gradient(135deg,var(--purple),var(--orange));border-radius:.75rem;flex:none;place-items:center;width:2.35rem;height:2.35rem;font-size:.68rem;font-weight:800;display:grid;box-shadow:0 5px 12px #7256e82e}.user-person-cell__copy{gap:.12rem;min-width:0;display:grid}.user-person-cell__copy strong,.user-person-cell__copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-person-cell__copy small{color:var(--ink-faint);font-size:.68rem}.user-role-chip{min-height:1.75rem;color:var(--purple-dark);background:var(--purple-soft);border:1px solid #ded7f7;border-radius:999px;align-items:center;padding:.3rem .6rem;font-size:.68rem;font-weight:750;display:inline-flex}.user-role-chip--trainer{color:var(--orange-dark);background:var(--orange-soft);border-color:#f5dcc5}.user-role-chip--admin,.user-role-chip--super_admin{color:#fff;background:var(--purple);border-color:var(--purple)}.user-manage-button{min-height:2.4rem;color:var(--purple-dark);border-radius:var(--radius-sm);border-color:#cfc7f5}.user-manage-button:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 7px 16px #7256e833}.user-control-dialog{border-color:#ded7f7;padding:0;overflow:hidden}.user-control-dialog>header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3 82%);border-bottom-color:#e2dcfa;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;margin:0;padding:1.35rem;display:grid}.user-control-dialog__icon{background:var(--purple);border-radius:var(--radius-md);place-items:center;width:2.8rem;height:2.8rem;display:grid;box-shadow:0 8px 20px #7256e838;color:#fff!important}.user-control-dialog__icon svg{width:1.25rem;height:1.25rem}.user-control-dialog__heading{min-width:0}.user-control-dialog__heading>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.user-control-dialog__body{padding:1.35rem}.user-control-dialog__body>p{margin-bottom:1rem;font-size:.78rem}.user-control-dialog__footer{background:#faf9ff;border-top:1px solid #e7e3fa;align-items:center;justify-content:space-between!important;padding:1rem 1.35rem!important}.user-control-dialog__footer>div{align-items:center;gap:.65rem;display:flex}.cms-management-page>.page-header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3 78%);border-radius:var(--radius-lg);border:1px solid #e2dcfb;align-items:center;padding:1.5rem;position:relative;overflow:hidden}.cms-management-page>.page-header .eyebrow,.cms-management-page>.page-header h1{margin-bottom:.45rem}.cms-management-page>.page-header .page-header__actions .button{border-radius:var(--radius-md);min-height:2.9rem;padding-inline:1.15rem}.cms-management-layout{gap:1.15rem;display:grid}.cms-summary{border-radius:var(--radius-lg);background:linear-gradient(110deg,#fbfaff,#fffaf5);border:1px solid #e2dcfb;grid-template-columns:minmax(0,1.35fr) minmax(23rem,.65fr);gap:1rem;padding:1.25rem 1.35rem;display:grid}.cms-summary__intro{align-items:flex-start;gap:.85rem;min-width:0;display:flex}.cms-summary__icon{color:#fff;background:var(--purple);border-radius:var(--radius-md);flex:none;place-items:center;width:2.8rem;height:2.8rem;display:grid;box-shadow:0 8px 18px #7256e833}.cms-summary__icon svg{width:1.25rem}.cms-summary__intro h2{margin-bottom:.35rem;font-size:1.25rem}.cms-summary__intro p:last-child{max-width:38rem;margin:0;font-size:.78rem}.cms-summary__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.cms-summary__stats div{border-radius:var(--radius-sm);background:#ffffffc2;border:1px solid #e4def5;align-content:center;gap:.12rem;padding:.7rem .8rem;display:grid}.cms-summary__stats strong{color:var(--purple-dark);font-size:1.25rem;line-height:1}.cms-summary__stats span{color:var(--ink-faint);font-size:.66rem;font-weight:700}.cms-management-grid{grid-template-columns:minmax(22rem,.8fr) minmax(0,1.2fr);align-items:start;gap:1.15rem;display:grid}.cms-editor-card,.cms-records-card{border-radius:var(--radius-lg);border-color:#ded7f7;padding:0;overflow:hidden;box-shadow:0 12px 30px #49379212}.cms-panel-header,.cms-records-card__header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3 82%);border-bottom:1px solid #e2dcfa;align-items:flex-start;gap:.8rem;padding:1.25rem;display:flex}.cms-panel-header__icon{color:#fff;background:var(--purple);border-radius:var(--radius-sm);flex:none;place-items:center;width:2.45rem;height:2.45rem;display:grid}.cms-panel-header__icon svg{width:1.1rem}.cms-panel-header h2,.cms-records-card__header h2{margin-bottom:.28rem;font-size:1.25rem}.cms-panel-header p:last-child,.cms-records-card__header p:last-child{margin:0;font-size:.74rem}.cms-editor-card__body{padding:1.25rem}.cms-form{gap:1.15rem;display:grid}.cms-form__section{border-bottom:1px solid var(--border);padding-bottom:1.1rem}.cms-form__section--last{border-bottom:0;padding-bottom:0}.cms-form__section-heading{align-items:flex-start;gap:.65rem;margin-bottom:.9rem;display:flex}.cms-form__section-heading>span{width:1.8rem;height:1.8rem;color:var(--purple-dark);background:var(--purple-soft);border:1px solid #ded7f7;border-radius:.55rem;flex:none;place-items:center;font-size:.62rem;font-weight:850;display:grid}.cms-form__section-heading h3{margin:0 0 .12rem;font-size:.86rem}.cms-form__section-heading p{color:var(--ink-faint);margin:0;font-size:.7rem}.cms-form .form-field{margin-bottom:.85rem}.cms-form .form-field:last-child{margin-bottom:0}.cms-form .form-field>span:first-child{color:var(--ink-soft);font-size:.72rem}.cms-form .form-field>span small{color:var(--ink-faint);margin-left:.25rem;font-size:.64rem;font-weight:600;display:inline}.cms-form input:not([type=file]),.cms-form select,.cms-form textarea{border-radius:var(--radius-md);background:#fcfbff;border-color:#d9d4e8}.cms-form input:not([type=file]):hover,.cms-form select:hover,.cms-form textarea:hover{border-color:#bdb5dc}.cms-form textarea{min-height:6rem}.cms-form .form-field--wide textarea{min-height:7rem}.cms-form .form-actions{justify-content:flex-end;gap:.65rem;padding-top:.15rem;display:flex}.cms-form .form-actions .button{min-width:9.5rem}.cms-image-picker{gap:.45rem;display:grid}.cms-image-picker__frame{aspect-ratio:16/8;border-radius:var(--radius-md);cursor:crosshair;touch-action:none;background:#eeeafa;border:1px solid #d6cef8;width:100%;position:relative;overflow:hidden}.cms-image-picker__frame img{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%}.cms-image-picker__crosshair{width:1rem;height:1rem;box-shadow:0 0 0 2px var(--purple), 0 2px 8px #00000047;pointer-events:none;border:2px solid #fff;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.cms-image-picker__meta{color:var(--ink-faint);justify-content:space-between;align-items:center;gap:.75rem;font-size:.68rem;display:flex}.cms-image-picker__meta button{color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-xs);cursor:pointer;border:1px solid #d6cef8;padding:.25rem .5rem;font-size:.68rem;font-weight:750}.cms-upload-label{align-items:center;gap:.38rem;display:flex!important}.cms-upload-label svg{width:.9rem;color:var(--purple)}.cms-records-card__header{justify-content:space-between;align-items:center}.cms-records-card__header>span{color:var(--purple-dark);white-space:nowrap;background:#ffffffb8;border:1px solid #ded7f7;border-radius:999px;padding:.4rem .65rem;font-size:.68rem;font-weight:750}.cms-records-card .table-scroll{overflow-x:auto}.cms-records-card table{table-layout:fixed;min-width:52rem}.cms-records-card th{background:#faf9ff}.cms-records-card th:first-child{width:28%}.cms-records-card th:nth-child(2){width:11%}.cms-records-card th:nth-child(3){width:17%}.cms-records-card th:nth-child(4){width:12%}.cms-records-card th:nth-child(5){text-align:right;width:32%}.cms-records-card td{vertical-align:middle}.cms-records-card td:last-child{text-align:right}.cms-records-card tbody tr:hover{background:#fcfbff}.cms-records-card td:first-child strong,.cms-records-card td:first-child small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.cms-records-card td:first-child small{max-width:18rem;color:var(--ink-faint);margin-top:.2rem;font-size:.68rem}.cms-records-card td:nth-child(2){color:var(--purple-dark);text-transform:capitalize;font-size:.72rem;font-weight:750}.cms-records-card td:nth-child(3){color:var(--ink-soft);font-size:.72rem}.cms-records-card .filter-row{justify-content:flex-end;gap:.35rem}.cms-records-card .filter-row .button{border-radius:var(--radius-sm);min-height:2.3rem;padding:.5rem .65rem;font-size:.7rem}.cms-records-card .filter-row .button:first-child{color:var(--purple-dark);background:var(--purple-soft);border-color:#d6cef8}.cms-records-card .filter-row .button:first-child:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple)}.cms-public-page-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.cms-public-page-list>a{color:inherit;text-decoration:none}.cms-public-page-list .card{align-content:start;gap:.55rem;min-height:11rem;display:grid}.cms-public-page-list h2{margin:.2rem 0 0;font-size:1.15rem}.cms-public-page-list p{margin:0}.cms-public-page-list span{color:var(--purple-dark);align-items:center;gap:.35rem;margin-top:auto;font-size:.74rem;font-weight:750;display:inline-flex}.cms-public-page-list span svg{width:.9rem}.course-management-grid{align-items:stretch;gap:1.25rem}.course-management-card{border-radius:var(--radius-lg);border-color:#dedaf0;flex-direction:column;min-height:100%;display:flex;position:relative}.course-management-card:hover{border-color:#c9c0f5;box-shadow:0 16px 36px #4937921f}.course-management-card:focus{outline:none}.course-management-card.is-content-open{border-color:var(--purple);box-shadow:0 0 0 3px #7256e81f,0 18px 40px #49379226}.course-management-card.is-content-open .course-card__manage-button{color:#fff;background:var(--purple);border-color:var(--purple)}.course-management-card .resource-card__media{background:linear-gradient(135deg,var(--purple-soft),var(--orange-soft))}.course-management-card .resource-card__media>img{aspect-ratio:1.85}.course-management-card .resource-card__body{flex:1;grid-template-rows:auto auto minmax(3.6em,auto) auto auto 1fr;gap:.85rem;padding:1.25rem}.course-management-card h2{text-overflow:ellipsis;white-space:nowrap;font-size:1.22rem;line-height:1.25;overflow:hidden}.course-management-card>.resource-card__body>p{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:3.8em;line-height:1.65;display:-webkit-box;overflow:hidden}.course-management-card__meta{flex-wrap:wrap;gap:.4rem;min-width:0;margin:0;display:flex}.course-management-card__meta span{max-width:100%;color:var(--purple-dark);background:var(--purple-soft);text-overflow:ellipsis;white-space:nowrap;border:1px solid #e1dcfa;border-radius:999px;padding:.25rem .5rem;font-size:.65rem;font-weight:700;line-height:1.2;overflow:hidden}.course-management-card__meta span:nth-child(3){color:var(--orange-dark);background:var(--orange-soft);border-color:#f5dcc5}.course-card__readiness{border-radius:var(--radius-sm);background:#faf9ff;border:1px solid #e7e3fa;padding:.75rem}.course-card__readiness .progress__labels{color:var(--purple-dark);font-size:.7rem}.course-card__readiness .progress{background:#e8e3fa}.course-card__readiness .progress>span{background:linear-gradient(90deg,var(--purple),#8d73ee)}.course-card__outline-count{color:var(--ink-faint);align-self:start;font-size:.7rem}.course-management-card .resource-card__footer{grid-template-columns:minmax(0,1fr);align-self:end;width:100%;margin-top:.1rem;padding-top:.9rem;display:grid}.course-card__lesson-count{white-space:nowrap;align-items:center;gap:.35rem;display:inline-flex}.course-card__lesson-count svg{width:.9rem;height:.9rem;color:var(--orange-dark)}.course-card__actions{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;gap:.4rem;width:100%;min-width:0;display:grid}.course-card__actions>.button{min-width:0}.course-card__actions>.course-options{justify-self:end}.course-card__manage-button{min-height:2.45rem;color:var(--purple-dark);border-radius:var(--radius-sm);border-color:#cfc7f5;padding:.55rem .75rem;font-size:.76rem}.course-card__manage-button:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 7px 16px #7256e833}.course-card__edit-button{border-radius:var(--radius-sm);min-height:2.45rem;padding:.55rem .7rem;font-size:.76rem}.course-card__edit-button svg{width:.9rem;height:.9rem}.course-options{display:inline-flex;position:relative}.course-options__trigger{width:2.45rem;min-height:2.45rem;color:var(--purple-dark);background:var(--purple-soft);border:1px solid #ded7f7}.course-options__trigger:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple)}.course-options__menu{z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:10.5rem;box-shadow:var(--shadow-md);gap:.25rem;padding:.5rem;display:grid;position:absolute;bottom:calc(100% + .45rem);right:0}.course-options__menu .button{white-space:nowrap;justify-content:flex-start;width:100%}.course-options__menu .course-options__republish{color:#fff;background:var(--purple);border-color:var(--purple)}.course-options__menu .course-options__republish:hover:not(:disabled){background:var(--purple-dark);border-color:var(--purple-dark)}.course-options__menu .course-options__delete{color:var(--red)}.course-options__menu .course-options__delete:hover:not(:disabled){color:var(--red);background:var(--red-soft)}.course-delete-dialog{border-color:#ded7f7;width:min(100%,34rem)}.course-delete-dialog__warning{color:#8f2630;background:var(--red-soft);border-radius:var(--radius-sm);border:1px solid #f1c9cf;margin-bottom:1.15rem;padding:.9rem 1rem;font-size:.78rem;line-height:1.6}.course-delete-dialog .form-field{margin-bottom:1.25rem}.course-delete-dialog .form-field strong{color:var(--ink)}.course-content-workspace-anchor{scroll-margin-top:5.5rem}.course-content-workspace-anchor:focus{outline:none}.course-content-workspace{border-radius:var(--radius-lg);border-color:#ded7f7;margin-top:1.5rem;padding:0;overflow:hidden;box-shadow:0 18px 45px #41308217}.course-content-workspace__header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3 82%);border-bottom:1px solid #e2dcfa;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1.5rem;display:grid;position:relative}.course-content-workspace__icon{color:#fff;background:var(--purple);border-radius:var(--radius-md);place-items:center;width:3rem;height:3rem;display:grid;box-shadow:0 8px 20px #7256e838}.course-content-workspace__icon svg{width:1.35rem;height:1.35rem}.course-content-workspace__heading .eyebrow{margin-bottom:.35rem}.course-content-workspace__heading h2{margin-bottom:.4rem;font-size:clamp(1.4rem,2.5vw,2rem)}.course-content-workspace__heading>p:not(.eyebrow){max-width:48rem;margin-bottom:.8rem;font-size:.85rem}.course-content-workspace__summary{flex-wrap:wrap;gap:.5rem;display:flex}.course-content-workspace__summary>span{color:var(--purple-dark);background:#ffffffb3;border:1px solid #ded7f7;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .55rem;font-size:.7rem;display:inline-flex}.course-content-workspace__summary svg{width:.85rem;height:.85rem}.course-content-workspace__summary strong{color:var(--ink)}.course-content-workspace__close{border-color:#d4ccf5}.course-content-workspace__body{gap:1.25rem;padding:1.25rem;display:grid}.course-content-workspace__body>.form-success,.course-content-workspace__body>.form-alert{margin-bottom:0}.course-content-composer{grid-template-columns:minmax(15rem,.72fr) minmax(26rem,1.28fr);align-items:start;gap:1rem;display:grid}.content-composer-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:#fcfcfd;min-width:0;padding:1.15rem}.content-composer-panel--module{background:linear-gradient(145deg,#fbfaff,var(--surface));border-color:#dfd9f8}.content-composer-panel--lesson{background:linear-gradient(145deg,#fffaf5,var(--surface));border-color:#f0dfd0}.content-composer-panel--lesson.is-editing{background:linear-gradient(145deg,#faf8ff,var(--surface));border-color:#b9aaf1;box-shadow:0 0 0 3px #7256e814}.content-composer-panel>header{align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.content-composer-panel>header>span{width:2.35rem;height:2.35rem;color:var(--purple);background:var(--purple-soft);border-radius:var(--radius-sm);place-items:center;display:grid}.content-composer-panel--lesson>header>span{color:var(--orange-dark);background:var(--orange-soft)}.content-composer-panel>header h3{margin:0 0 .18rem;font-size:1rem}.content-composer-panel>header p{margin:0;font-size:.72rem}.lesson-editor-mode{color:var(--purple-dark);background:var(--purple-soft);text-transform:capitalize;border:1px solid #ddd5fa;border-radius:999px;margin-top:.5rem;padding:.25rem .5rem;font-size:.64rem;font-weight:750;display:inline-flex}.content-composer-panel__controls{gap:.75rem;display:grid}.content-composer-panel label:not(.lesson-upload-field){gap:.35rem;min-width:0;display:grid}.content-composer-panel label:not(.lesson-upload-field)>span{color:var(--ink);font-size:.7rem;font-weight:750}.content-composer-panel input:not([type=file]):not([type=checkbox]):not([type=radio]),.content-composer-panel textarea,.content-composer-panel select,.course-enrollment-panel__controls select{width:100%;min-height:2.75rem;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:inherit;padding:.6rem .75rem;font-size:.78rem;transition:border-color .15s,box-shadow .15s}.content-composer-panel textarea{resize:vertical;min-height:7rem;line-height:1.55}.content-composer-panel input:not([type=file]):not([type=checkbox]):not([type=radio]):focus,.content-composer-panel textarea:focus,.content-composer-panel select:focus,.course-enrollment-panel__controls select:focus{border-color:var(--purple);box-shadow:var(--shadow-focus);outline:none}.content-composer-panel__controls .button{width:100%}.lesson-composer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.lesson-composer-grid__content{grid-column:1/-1}.lesson-required-toggle{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;min-height:3.2rem;padding:.65rem .75rem;gap:.7rem!important;display:flex!important}.lesson-required-toggle:hover{background:#fbfaff;border-color:#cfc5f4}.lesson-required-toggle input[type=checkbox]{width:1.1rem;height:1.1rem;min-height:0;accent-color:var(--purple);box-shadow:none;flex:none;margin:0;padding:0}.lesson-required-toggle>span{gap:.08rem;display:grid;color:var(--ink)!important;font-size:inherit!important;font-weight:inherit!important}.lesson-required-toggle strong{font-size:.72rem}.lesson-required-toggle small{color:var(--ink-muted);font-size:.62rem;font-weight:500}.lesson-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.9rem;display:grid}.lesson-upload-field{background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;border:1px dashed #d5ccef;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;min-width:0;padding:.75rem;display:grid;position:relative}.lesson-upload-field:hover{border-color:var(--purple);background:#fbfaff}.lesson-upload-field__icon{width:2.25rem;height:2.25rem;color:var(--purple);background:var(--purple-soft);border-radius:var(--radius-xs);place-items:center;display:grid}.lesson-upload-field>span:nth-child(2){gap:.1rem;min-width:0;display:grid}.lesson-upload-field strong{font-size:.72rem}.lesson-upload-field small{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;overflow:hidden}.lesson-upload-field input{width:100%;min-width:0;color:var(--ink-soft);grid-column:1/-1;font-size:.68rem}.lesson-upload-field input::file-selector-button{color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-xs);cursor:pointer;border:0;margin-right:.55rem;padding:.45rem .6rem;font-weight:700}.content-composer-panel__actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.55rem;margin-top:1rem;padding-top:1rem;display:flex}.content-composer-panel__actions .button{min-width:9rem}.course-outline-workspace{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.course-outline-workspace>header{background:#faf9ff;border-bottom:1px solid #e7e3fa;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.1rem 1.2rem;display:flex}.course-outline-workspace>header .eyebrow{margin-bottom:.3rem}.course-outline-workspace>header h3{margin-bottom:.2rem;font-size:1.1rem}.course-outline-workspace>header p{margin:0;font-size:.72rem}.course-outline-workspace>header>span{color:var(--purple-dark);white-space:nowrap;font-size:.7rem;font-weight:750}.course-outline-workspace>.app-loading{min-height:12rem}.course-outline-empty{text-align:center;place-content:center;place-items:center;min-height:12rem;padding:2rem;display:grid}.course-outline-empty>span{width:3rem;height:3rem;color:var(--purple);background:var(--purple-soft);border-radius:50%;place-items:center;margin-bottom:.75rem;display:grid}.course-outline-empty p{margin:.3rem 0 0;font-size:.76rem}.module-workflow-list{background:#fafafb;gap:.75rem;padding:.9rem;display:grid}.module-workflow-node{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);transition:border-color .15s,box-shadow .15s,opacity .15s;overflow:hidden}.module-workflow-node.is-dragging{opacity:.45;border:1px dashed var(--purple);background:#fcfbfe}.module-workflow-node.is-drop-target-above{border-top:3px solid var(--purple)}.module-workflow-node.is-drop-target-below{border-bottom:3px solid var(--purple)}.module-workflow-node__header{grid-template-columns:auto minmax(8rem,1fr) auto auto;align-items:center;gap:.7rem;padding:.8rem;display:grid}.module-workflow-node__leading,.lesson-workflow-row__leading{align-items:center;gap:.35rem;display:inline-flex}.module-workflow-node__drag-handle,.lesson-workflow-row__drag-handle{border-radius:var(--radius-xs);width:1.75rem;height:1.75rem;color:var(--ink-faint);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex}.module-workflow-node__drag-handle:hover,.lesson-workflow-row__drag-handle:hover{color:var(--ink);background:var(--surface-muted);border-color:var(--border)}.module-workflow-node__drag-handle:active,.lesson-workflow-row__drag-handle:active{cursor:grabbing}.module-workflow-node__drag-handle:focus-visible,.lesson-workflow-row__drag-handle:focus-visible{outline:2px solid var(--purple);outline-offset:1px}.module-workflow-node__drag-handle:disabled,.module-workflow-node__drag-handle[aria-disabled=true],.lesson-workflow-row__drag-handle:disabled,.lesson-workflow-row__drag-handle[aria-disabled=true]{cursor:not-allowed;opacity:.4}.module-workflow-node__icon,.lesson-workflow-row__icon{width:2.25rem;height:2.25rem;color:var(--purple);background:var(--purple-soft);border-radius:var(--radius-xs);place-items:center;display:grid}.module-workflow-node__identity{gap:.1rem;min-width:0;display:grid}.module-workflow-node__identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.module-workflow-node__identity>span{color:var(--ink-faint);font-size:.65rem}.module-workflow-node__actions,.lesson-workflow-row__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.3rem;display:flex}.module-workflow-node__actions .button,.lesson-workflow-row__actions .button{min-height:2.1rem;padding:.42rem .6rem;font-size:.7rem}.workflow-publish-button{color:var(--purple-dark);background:var(--purple-soft);border-color:#d8d0f8}.workflow-publish-button:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple)}.lesson-workflow-list{border-top:1px solid var(--border)}.lesson-workflow-row{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(8rem,1fr) auto;align-items:center;gap:.7rem;padding:.7rem .8rem .7rem 1.4rem;transition:border-color .15s,background .15s,opacity .15s;display:grid}.lesson-workflow-row:last-child{border-bottom:0}.lesson-workflow-row.is-dragging{opacity:.45;background:#fcfbfe}.lesson-workflow-row.is-drop-target-above{border-top:2px solid var(--orange-dark)}.lesson-workflow-row.is-drop-target-below{border-bottom:2px solid var(--orange-dark)}.lesson-workflow-row__icon{width:2rem;height:2rem;color:var(--orange-dark);background:var(--orange-soft)}.lesson-workflow-row__icon svg{width:.95rem;height:.95rem}.lesson-workflow-row__identity{gap:.3rem;min-width:0;display:grid}.lesson-workflow-row__identity>strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.lesson-workflow-row__identity>span{flex-wrap:wrap;gap:.3rem;display:flex}.lesson-workflow-row__identity .badge{min-height:1.25rem;padding:.15rem .38rem;font-size:.6rem}.module-workflow-node__children{background:#faf9ff;border-top:1px solid #e7e3fa;gap:.6rem;padding:.7rem .7rem .7rem 1.8rem;display:grid}.course-enrollment-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.course-enrollment-panel>header{background:#fffaf5;border-bottom:1px solid #f1dfd0;align-items:flex-start;gap:.75rem;padding:1rem 1.15rem;display:flex}.course-enrollment-panel>header>span{width:2.4rem;height:2.4rem;color:var(--orange-dark);background:var(--orange-soft);border-radius:var(--radius-sm);place-items:center;display:grid}.course-enrollment-panel>header .eyebrow{color:var(--orange-dark);margin-bottom:.25rem}.course-enrollment-panel>header h3{margin-bottom:.2rem}.course-enrollment-panel>header p{margin:0;font-size:.72rem}.course-enrollment-panel>.form-alert,.course-enrollment-panel>.form-success{margin:.9rem .9rem 0}.course-enrollment-panel__controls{align-items:center;gap:.6rem;padding:.9rem 1.15rem;display:flex}.course-enrollment-panel__controls select{flex:1}.enrollment-access-workspace{gap:1rem;display:grid}.enrollment-access-workspace>.form-success,.enrollment-access-workspace>.form-alert{margin-bottom:0}.enrollment-access-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.enrollment-access-summary>div{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:0;box-shadow:var(--shadow-xs);align-items:center;gap:.75rem;padding:1rem;display:flex}.enrollment-access-summary>div>span:last-child{flex-direction:column-reverse;min-width:0;display:flex}.enrollment-access-summary small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:650;overflow:hidden}.enrollment-access-summary strong{color:var(--ink);font-size:1.45rem;line-height:1.1}.enrollment-course-navigator.card{border-radius:var(--radius-lg);border-color:#dedaf0;padding:0;overflow:hidden;box-shadow:0 10px 28px #41308212}.enrollment-course-navigator__header{background:linear-gradient(120deg,#faf9ff,#fffaf5);border-bottom:1px solid #e7e3fa;grid-template-columns:auto minmax(0,1fr) minmax(14rem,22rem);align-items:center;gap:.8rem;padding:1.05rem 1.2rem;display:grid}.enrollment-course-navigator__header>div{min-width:0}.enrollment-course-navigator__header .eyebrow{margin-bottom:.18rem}.enrollment-course-navigator__header h2{margin:0 0 .15rem;font-size:1.05rem}.enrollment-course-navigator__header p:not(.eyebrow){color:var(--ink-muted);margin:0;font-size:.68rem}.enrollment-course-navigator__icon{width:2.6rem;height:2.6rem;color:var(--purple);background:var(--purple-soft);border-radius:var(--radius-md);border:1px solid #ddd6fb;place-items:center;display:grid}.enrollment-course-navigator__icon svg{width:1.15rem;height:1.15rem}.enrollment-course-search,.enrollment-assignment-search,.enrollment-learner-search{min-width:0;display:block;position:relative}.enrollment-course-search>svg,.enrollment-assignment-search>svg,.enrollment-learner-search>svg{z-index:1;width:1rem;height:1rem;color:var(--purple);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.enrollment-course-search input,.enrollment-assignment-search input,.enrollment-learner-search input{border-radius:var(--radius-sm);background:#fff;border:1px solid #d8d1f7;width:100%;min-height:2.7rem;padding:.55rem .75rem .55rem 2.25rem;font-size:.74rem}.enrollment-course-search input:focus,.enrollment-assignment-search input:focus,.enrollment-learner-search input:focus{border-color:var(--purple);box-shadow:var(--shadow-focus);outline:none}.enrollment-course-switcher{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.6rem;max-height:14rem;padding:.85rem 1.2rem 1rem;display:grid;overflow-y:auto}.enrollment-course-switcher__item{min-width:0;color:var(--ink-soft);border-radius:var(--radius-md);font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #e3def4;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.7rem .75rem;transition:border-color .16s,background-color .16s,box-shadow .16s,transform .16s;display:grid}.enrollment-course-switcher__item:hover{box-shadow:var(--shadow-xs);border-color:#bdb0f0;transform:translateY(-1px)}.enrollment-course-switcher__item:focus-visible{box-shadow:var(--shadow-focus);outline:none}.enrollment-course-switcher__item.is-active{color:var(--purple-dark);background:linear-gradient(120deg,var(--purple-soft),#fff);border-color:var(--purple);box-shadow:inset .2rem 0 var(--purple),0 7px 18px #7256e81a}.enrollment-course-switcher__glyph{width:2rem;height:2rem;color:var(--orange-dark);background:var(--orange-soft);border-radius:var(--radius-sm);place-items:center;display:grid}.enrollment-course-switcher__glyph svg{width:.95rem;height:.95rem}.enrollment-course-switcher__item.is-active .enrollment-course-switcher__glyph{color:#fff;background:var(--purple)}.enrollment-course-switcher__item>span:nth-child(2){gap:.1rem;min-width:0;display:grid}.enrollment-course-switcher__item strong,.enrollment-course-switcher__item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.enrollment-course-switcher__item strong{color:var(--ink);font-size:.76rem}.enrollment-course-switcher__item small{color:var(--ink-muted);font-size:.62rem}.enrollment-course-switcher__count{min-width:1.8rem;height:1.8rem;color:var(--purple-dark);background:#fff;border:1px solid #ddd6fb;border-radius:999px;place-items:center;padding-inline:.35rem;font-size:.66rem;font-weight:800;display:grid}.enrollment-summary-icon{border-radius:var(--radius-sm);flex:none;place-items:center;width:2.6rem;height:2.6rem;display:grid}.enrollment-summary-icon--purple{color:var(--purple);background:var(--purple-soft)}.enrollment-summary-icon--orange{color:var(--orange-dark);background:var(--orange-soft)}.enrollment-summary-icon--warning{color:var(--yellow);background:var(--yellow-soft)}.enrollment-summary-icon--danger{color:var(--red);background:var(--red-soft)}.enrollment-course-list{gap:1rem;display:grid}.enrollment-course-card{border-radius:var(--radius-lg);border-color:#dedaf0;padding:0;overflow:hidden;box-shadow:0 10px 28px #41308212}.enrollment-course-card__header{background:linear-gradient(120deg,#faf9ff,#fffaf5);border-bottom:1px solid #e7e3fa;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.85rem;padding:1.2rem;display:grid;position:relative}.enrollment-course-card__icon{color:#fff;background:var(--purple);border-radius:var(--radius-md);place-items:center;width:2.8rem;height:2.8rem;display:grid;box-shadow:0 7px 18px #7256e833}.enrollment-course-card__heading{min-width:0}.enrollment-course-card__heading .eyebrow{margin-bottom:.25rem}.enrollment-course-card__heading h2{text-overflow:ellipsis;white-space:nowrap;margin-bottom:.25rem;font-size:1.18rem;overflow:hidden}.enrollment-course-card__heading>p:last-child{margin:0;font-size:.7rem}.enrollment-course-card__metrics{align-items:center;gap:.45rem;display:flex}.enrollment-course-card__metrics span{min-width:4.5rem;color:var(--ink-faint);border-radius:var(--radius-sm);text-align:center;background:#ffffffbf;border:1px solid #e5e0f8;padding:.45rem .6rem;font-size:.62rem;display:grid}.enrollment-course-card__metrics strong{color:var(--purple-dark);font-size:.9rem}.enrollment-assignment-bar{z-index:2;background:var(--surface);border-bottom:1px solid var(--border);grid-template-columns:minmax(11rem,.65fr) minmax(18rem,1.8fr) auto;align-items:center;gap:.75rem;padding:.85rem 1.15rem;display:grid;position:relative}.enrollment-assignment-bar__intro{align-items:center;gap:.6rem;min-width:0;display:flex}.enrollment-assignment-bar__intro>span:last-child{gap:.05rem;min-width:0;display:grid}.enrollment-assignment-bar__intro strong{font-size:.76rem}.enrollment-assignment-bar__intro small{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;overflow:hidden}.enrollment-assignment-bar__icon{width:2.2rem;height:2.2rem;color:var(--orange-dark);background:var(--orange-soft);border-radius:var(--radius-xs);flex:none;place-items:center;display:grid}.enrollment-assignment-combobox{min-width:0;position:relative}.enrollment-assignment-combobox>svg:first-child{z-index:2;width:1rem;height:1rem;color:var(--purple);pointer-events:none;position:absolute;top:50%;left:.8rem;transform:translateY(-50%)}.enrollment-assignment-combobox input{width:100%;min-height:2.7rem;color:var(--ink);border-radius:var(--radius-sm);background:#fff;border:1px solid #d8d1f7;padding:.55rem 2.4rem;font-size:.75rem}.enrollment-assignment-combobox input:focus{border-color:var(--purple);box-shadow:var(--shadow-focus);outline:none}.enrollment-assignment-chevron{z-index:2;width:1rem;height:1rem;color:var(--ink-muted);pointer-events:none;transition:transform .16s;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.enrollment-assignment-combobox:focus-within .enrollment-assignment-chevron{color:var(--purple);transform:translateY(-50%)rotate(180deg)}.enrollment-assignment-options{z-index:20;border-radius:var(--radius-md);background:#fff;border:1px solid #d8d1f7;max-height:18rem;padding:.35rem;position:absolute;top:calc(100% + .4rem);left:0;right:0;overflow-y:auto;box-shadow:0 16px 36px #3626732e}.enrollment-assignment-options>button{width:100%;color:var(--ink-soft);border-radius:var(--radius-sm);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.58rem .65rem;display:grid}.enrollment-assignment-options>button:hover,.enrollment-assignment-options>button[aria-selected=true]{color:var(--purple-dark);background:var(--purple-soft)}.enrollment-assignment-options>button>span:nth-child(2){gap:.08rem;min-width:0;display:grid}.enrollment-assignment-options strong,.enrollment-assignment-options small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.enrollment-assignment-options strong{color:var(--ink);font-size:.74rem}.enrollment-assignment-options small{color:var(--ink-muted);font-size:.62rem}.enrollment-assignment-options>button>svg{width:.95rem;color:var(--purple)}.enrollment-assignment-avatar{width:2rem;height:2rem;color:var(--purple-dark);background:#fff;border:1px solid #ded7f7;border-radius:50%;place-items:center;font-size:.58rem;font-weight:800;display:grid}.enrollment-assignment-options__empty{color:var(--ink-muted);text-align:center;padding:1.1rem .8rem;font-size:.7rem}.enrollment-assignment-bar__note{color:var(--yellow);grid-column:2/-1;margin-top:-.35rem;font-size:.65rem}.enrollment-learner-toolbar{background:linear-gradient(90deg,#faf9ff,#fffaf5);border-bottom:1px solid #e7e3fa;grid-template-columns:minmax(9rem,.65fr) minmax(12rem,1fr) repeat(3,minmax(8rem,.7fr)) auto;align-items:end;gap:.7rem;padding:.9rem 1.15rem 1rem;display:grid}.enrollment-learner-toolbar__heading{align-items:center;gap:.55rem;min-width:0;padding-bottom:.15rem;display:flex}.enrollment-learner-toolbar__heading>span{width:2.15rem;height:2.15rem;color:var(--purple);background:var(--purple-soft);border-radius:var(--radius-sm);flex:none;place-items:center;display:grid}.enrollment-learner-toolbar__heading svg{width:1rem;height:1rem}.enrollment-learner-toolbar__heading>div{min-width:0;display:grid}.enrollment-learner-toolbar__heading strong{font-size:.74rem}.enrollment-learner-toolbar__heading small{color:var(--ink-muted);font-size:.62rem}.enrollment-learner-toolbar>label:not(.enrollment-learner-search){gap:.3rem;min-width:0;display:grid}.enrollment-learner-toolbar>label>span{color:var(--purple-dark);font-size:.64rem;font-weight:750}.enrollment-learner-toolbar select{border-radius:var(--radius-sm);background:#fff;border:1px solid #d8d1f7;width:100%;min-height:2.7rem;padding:.5rem .65rem;font-size:.7rem}.enrollment-learner-toolbar select:focus{border-color:var(--purple);box-shadow:var(--shadow-focus);outline:none}.enrollment-learner-toolbar>.button{min-height:2.7rem}.enrollment-course-empty{text-align:center;place-content:center;place-items:center;min-height:10rem;padding:2rem;display:grid}.enrollment-course-empty>span{width:2.8rem;height:2.8rem;color:var(--purple);background:var(--purple-soft);border-radius:50%;place-items:center;margin-bottom:.65rem;display:grid}.enrollment-course-empty p{margin:.25rem 0 0;font-size:.72rem}.enrollment-access-table{min-width:54rem}.enrollment-access-table th{background:#faf9ff}.enrollment-access-table td{padding-block:.75rem}.enrollment-learner{align-items:center;gap:.6rem;min-width:12rem;display:flex}.enrollment-learner>span{width:2rem;height:2rem;color:var(--purple-dark);background:var(--purple-soft);border-radius:50%;flex:none;place-items:center;font-size:.62rem;font-weight:800;display:grid}.enrollment-learner>div{gap:.05rem;min-width:0;display:grid}.enrollment-learner strong,.enrollment-learner small{text-overflow:ellipsis;white-space:nowrap;max-width:13rem;overflow:hidden}.enrollment-learner small{color:var(--ink-faint);font-size:.64rem}.enrollment-progress{grid-template-columns:minmax(5.5rem,8rem) auto;align-items:center;gap:.5rem;display:grid}.enrollment-progress .progress__labels{display:none}.enrollment-progress>span{color:var(--purple-dark);font-size:.68rem;font-weight:750}.enrollment-access-actions{justify-content:flex-end;align-items:center;gap:.3rem;display:flex}.enrollment-access-actions .button{min-height:2.1rem;padding:.42rem .58rem;font-size:.68rem}.enrollment-approve-button{color:var(--purple-dark);border-color:#d4ccf5}.enrollment-approve-button:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple)}.enrollment-enable-button{color:var(--orange-dark);background:var(--orange-soft);border-color:#f0d3b9}.enrollment-enable-button:hover:not(:disabled){color:#17120d;background:var(--orange);border-color:var(--orange)}.enrollment-suspend-button{color:var(--red)}.enrollment-suspend-button:hover:not(:disabled){color:var(--red);background:var(--red-soft)}.enrollment-course-empty--filtered .button{margin-top:.8rem}.enrollment-learner-pagination{background:#fcfbff;border-top:1px solid #e7e3fa;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.15rem;display:flex}.enrollment-learner-pagination>span{color:var(--ink-soft);font-size:.68rem;font-weight:650}.enrollment-learner-pagination>div{align-items:center;gap:.55rem;display:flex}.enrollment-learner-pagination>div>span{min-width:5.5rem;color:var(--purple-dark);text-align:center;font-size:.68rem;font-weight:750}.enrollment-learner-pagination .button{min-height:2.25rem;color:var(--purple-dark);border-color:#cfc7f5}.enrollment-learner-pagination .button:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple)}.page-help{border-radius:var(--radius-sm);background:#f2f0ff;border:1px solid #e1dcfa;align-items:center;gap:.8rem;margin-top:1rem;padding:1rem;display:flex}.page-help>svg{color:var(--purple)}.page-help>div{flex:1;display:grid}.page-help strong{font-size:.78rem}.page-help span{color:var(--ink-soft);font-size:.7rem}.page-help a{color:var(--purple);align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;display:flex}.protected-action-note{color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-sm);border:1px solid #ded7f7;align-items:flex-start;gap:.65rem;margin-top:1rem;padding:.8rem .9rem;font-size:.78rem;display:flex}.protected-action-note svg{margin-top:.1rem}.protected-action-note span{gap:.1rem;display:grid}.homework-tabs{background:var(--surface-soft);border-radius:var(--radius-sm);scrollbar-width:thin;gap:.2rem;max-width:100%;margin:-1rem 0 1rem;padding:.25rem;display:flex;overflow-x:auto}.homework-tabs a{min-height:2.45rem;color:var(--ink-soft);border-radius:var(--radius-xs);align-items:center;padding:.55rem .8rem;font-size:.78rem;font-weight:700;display:inline-flex}.homework-tabs a:hover,.homework-tabs a.active{color:var(--ink);background:var(--surface);box-shadow:var(--shadow-xs)}.assignment-workspace-page{gap:1.25rem}.assignment-workspace-page>.page-header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3 78%);border-radius:var(--radius-lg);border:1px solid #e2dcfb;align-items:center;margin-bottom:0;padding:1.5rem;position:relative;overflow:hidden}.assignment-workspace-page>.page-header .eyebrow,.assignment-workspace-page>.page-header h1{margin-bottom:.45rem}.assignment-workspace-page>.page-header .button{border-radius:var(--radius-md);min-height:2.9rem;padding-inline:1.15rem}.assignment-workspace-page>.filter-bar{border-radius:var(--radius-lg);border-color:#dedaf0;padding:1rem 1.1rem;position:relative;overflow:hidden;box-shadow:0 8px 24px #4130820f}.assignment-workspace-page>.filter-bar .filter-bar__field input,.assignment-workspace-page>.filter-bar .filter-bar__field select{background:#faf9ff;border-color:#d8d1f7}.assignment-workspace-page>.filter-bar .filter-bar__clear{color:var(--purple-dark)}.assignment-workspace-page>.table-card:not(.assignment-workspace-list){border-radius:var(--radius-lg);border-color:#dedaf0;box-shadow:0 12px 30px #49379212}.assignment-workspace-page>.table-card:not(.assignment-workspace-list) .table-toolbar{background:#fff;border-top:0}.assignment-workspace-page>.table-card:not(.assignment-workspace-list) .table-search input{background:#faf9ff;border-color:#ded7f7}.assignment-workspace-page>.table-card:not(.assignment-workspace-list) .table-search input:focus{border-color:var(--purple);box-shadow:var(--shadow-focus);outline:none}.assignment-workspace-page>.table-card:not(.assignment-workspace-list) th{background:#faf9ff}.assignment-workspace-page>.table-card:not(.assignment-workspace-list) tbody tr:hover{background:#fcfbff}.assignment-workspace-tabs{border-radius:var(--radius-md);background:#ebe8f7;border:1px solid #ded9f0;gap:.35rem;margin:0;padding:.4rem}.assignment-workspace-tabs a{border-radius:var(--radius-sm);flex:1 0 auto;justify-content:center;gap:.45rem;min-height:2.7rem}.assignment-workspace-tabs a svg{width:1rem;height:1rem}.assignment-workspace-tabs a:hover{color:var(--purple-dark);background:#ffffffb8}.assignment-workspace-tabs a.active{color:#fff;background:var(--purple);box-shadow:0 7px 16px #7256e833}.assignment-workspace-filters{background:var(--surface);border-radius:var(--radius-lg);border:1px solid #dedaf0;grid-template-columns:minmax(14rem,2fr) minmax(9rem,1fr) minmax(12rem,1.25fr) auto;align-items:end;gap:.8rem;margin:0;padding:1.1rem 1.25rem 1.25rem;display:grid;overflow:hidden;box-shadow:0 10px 28px #4130820f}.assignment-workspace-filters--learner{grid-template-columns:minmax(14rem,1.6fr) repeat(2,minmax(10rem,1fr)) minmax(12rem,1.15fr) auto}.assignment-workspace-filters--learner .assignment-workspace-filters__heading{background:linear-gradient(120deg,#fff 60%,var(--orange-soft))}.assignment-workspace-filters--learner .assignment-workspace-filters__icon{color:var(--orange-dark);background:var(--orange-soft);border-color:#f1d6bc}.assignment-workspace-filters__heading{background:linear-gradient(120deg,#fff,var(--purple-soft));border-bottom:1px solid #e7e3fa;grid-column:1/-1;align-items:center;gap:.7rem;margin:-1.1rem -1.25rem .25rem;padding:.9rem 1.25rem;display:flex}.assignment-workspace-filters__icon{width:2.25rem;height:2.25rem;color:var(--purple-dark);border-radius:var(--radius-sm);background:#fff;border:1px solid #ded7f7;flex:none;place-items:center;display:grid}.assignment-workspace-filters__icon svg{width:1rem;height:1rem}.assignment-workspace-filters__heading>span:last-child{gap:.05rem;display:grid}.assignment-workspace-filters__heading strong{font-size:.82rem}.assignment-workspace-filters__heading small{color:var(--ink-faint);font-size:.68rem}.assignment-workspace-filters .form-field{margin:0}.assignment-workspace-filters .form-field>span:first-child{color:var(--ink-soft);font-size:.72rem}.assignment-workspace-filters input,.assignment-workspace-filters select{background:#faf9ff;border-color:#d8d1f7}.assignment-workspace-input{align-items:center;display:flex;position:relative}.assignment-workspace-input>svg{z-index:1;width:1rem;color:var(--purple);pointer-events:none;position:absolute;left:.8rem}.assignment-workspace-input input{padding-left:2.4rem}.assignment-workspace-filters .button{min-height:2.8rem;color:var(--purple-dark);border:1px solid #0000}.assignment-workspace-filters .button:hover:not(:disabled){background:var(--purple-soft);border-color:#d8d0f8}.assignment-workspace-filters--learner .button:hover:not(:disabled){color:var(--orange-dark);background:var(--orange-soft);border-color:#f1d2b3}.assignment-type-chooser{background:linear-gradient(120deg,#fff,var(--purple-soft));border-radius:var(--radius-lg);border-color:#ded7f7;grid-template-columns:minmax(15rem,.75fr) minmax(28rem,1.25fr);align-items:center;gap:1.25rem;margin:0;padding:1.25rem;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 30px #49379212}.assignment-type-chooser__heading{align-items:center;gap:.8rem;display:flex}.assignment-type-chooser__icon{color:#fff;background:var(--purple);border-radius:var(--radius-md);flex:none;place-items:center;width:2.8rem;height:2.8rem;display:grid;box-shadow:0 8px 18px #7256e833}.assignment-type-chooser__heading .eyebrow{margin-bottom:.25rem}.assignment-type-chooser h2{margin:0 0 .25rem;font-size:1.1rem}.assignment-type-chooser__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.assignment-type-action{min-width:0;min-height:2.8rem;color:var(--purple-dark);text-align:left;background:#fff;border-color:#d4ccf5;grid-template-columns:auto minmax(0,1fr) auto;justify-content:stretch;padding:.6rem .75rem;font-size:.75rem;display:grid}.assignment-type-action>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.assignment-type-action>svg{width:1rem;height:1rem}.assignment-type-action>svg:last-child{width:.85rem;color:var(--purple)}.assignment-type-action:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 7px 16px #7256e833}.assignment-type-action:hover:not(:disabled)>svg:last-child{color:#fff}.assignment-type-action--orange{color:var(--orange-dark);border-color:#f0d3b9}.assignment-type-action--orange>svg:last-child{color:var(--orange-dark)}.assignment-type-action--orange:hover:not(:disabled){color:#17120d;background:var(--orange);border-color:var(--orange);box-shadow:0 7px 16px #ff8a1f33}.assignment-type-action--orange:hover:not(:disabled)>svg:last-child{color:#17120d}.assignment-workspace-state{border-radius:var(--radius-lg);border-color:#dedaf0;place-items:center;min-height:16rem;display:grid}.assignment-workspace-state .app-loading{min-height:13rem}.assignment-workspace-list{border-radius:var(--radius-lg);border-color:#dedaf0;padding:0;overflow:hidden;box-shadow:0 12px 30px #49379212}.assignment-workspace-list__header{background:linear-gradient(120deg,#fff,var(--purple-soft));border-bottom:1px solid #e7e3fa;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.assignment-workspace-list__header>div{align-items:center;gap:.75rem;display:flex}.assignment-workspace-list__icon{width:2.45rem;height:2.45rem;color:var(--purple-dark);border-radius:var(--radius-sm);background:#fff;border:1px solid #ded7f7;place-items:center;display:grid}.assignment-workspace-list__icon svg{width:1.1rem}.assignment-workspace-list__header .eyebrow{margin-bottom:.15rem}.assignment-workspace-list__header h2{margin:0;font-size:1.15rem}.assignment-workspace-list__count{color:var(--ink-soft);white-space:nowrap;background:#ffffffc7;border:1px solid #ded7f7;border-radius:999px;padding:.35rem .65rem;font-size:.7rem}.assignment-workspace-list__count strong{color:var(--purple-dark)}.assignment-management-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.38rem;min-width:23.5rem;display:flex}.assignment-management-actions .button{white-space:nowrap;min-width:auto;min-height:2.35rem;box-shadow:none;border-radius:.7rem;padding:.48rem .68rem}.assignment-management-actions .button>svg{width:.92rem;height:.92rem}.assignment-management-actions--module{min-width:0}.assessment-table .assignment-management-actions--module{justify-content:flex-end;gap:.38rem}.assessment-table .assignment-management-actions--module .button{min-height:2.2rem;padding:.42rem .58rem}.assessment-table td:last-child:has(.assignment-management-actions){width:1%;min-width:20.5rem}.assessment-table .text-link{text-align:left}.assignment-management-action--view.button--secondary{color:var(--ink);background:#fff;border-color:#d8d4e2}.assignment-management-action--view.button--secondary:hover:not(:disabled){color:var(--purple-dark);background:#faf9ff;border-color:#c9bff5}.assignment-management-action--edit.button--secondary,.assignment-management-action--revise.button--secondary{color:var(--orange-dark);background:#fff9f3;border-color:#f0d2b7}.assignment-management-action--edit.button--secondary:hover:not(:disabled),.assignment-management-action--revise.button--secondary:hover:not(:disabled){color:#17120d;background:var(--orange);border-color:var(--orange);box-shadow:0 6px 14px #ff8a1f2e}.assignment-management-action--results.button--secondary{color:var(--purple-dark);background:var(--purple-soft);border-color:#d5cdf7}.assignment-management-action--results.button--secondary:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 6px 14px #7256e82e}.assignment-management-action--archive.button--ghost{color:var(--ink-faint);border:1px solid #0000}.assignment-management-action--archive.button--ghost:hover:not(:disabled){color:var(--purple-dark);background:#faf9ff;border-color:#ddd6f7}.assignment-management-action--approve.button--primary{color:#17120d;background:var(--orange);border-color:var(--orange)}.assignment-management-dialog{width:min(72rem,100vw - 2rem);max-height:min(54rem,100vh - 2rem);overflow:auto}.assignment-management-dialog>.filter-bar{margin:1rem 0}.assignment-results-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0 0 1rem;display:grid}.assignment-results-summary>span{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft);gap:.15rem;padding:.8rem 1rem;display:grid}.assignment-results-summary>span:nth-child(2){background:#fff8f1;border-color:#ffd5ad}.assignment-results-summary strong{color:var(--purple-dark);font-size:1.2rem}.assignment-results-summary>span:nth-child(2) strong{color:#d85b00}.assignment-results-summary small{color:var(--ink-soft)}.assignment-management-dialog .data-table{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.assignment-submission-learner{gap:.15rem;display:grid}.assignment-submission-learner small{color:var(--ink-soft);font-size:.76rem}.assignment-action-dialog{width:min(34rem,100vw - 2rem)}.assignment-action-dialog>.muted-copy{margin:.75rem 0 1rem;line-height:1.6}.assignment-action-dialog footer{border-top:1px solid var(--line);justify-content:flex-end;margin-top:1rem;padding-top:1rem}@media (max-width:42rem){.assignment-results-summary{grid-template-columns:1fr}}.assignment-workspace-list .assignment-table-scroll{box-shadow:none;border:0;border-radius:0;overflow-x:auto}.assignment-workspace-table{min-width:68rem}.assignment-workspace-table th{background:#faf9ff}.assignment-workspace-table tbody tr{transition:background-color .16s}.assignment-workspace-table tbody tr:hover{background:#fcfbff}.assignment-workspace-table .text-link{min-height:2.5rem;color:var(--ink);font-size:.8rem}.assignment-workspace-table .text-link:hover{color:var(--purple-dark)}.assignment-kind-icon{width:2rem;height:2rem;color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-xs);flex:none;place-items:center;display:grid}.assignment-kind-icon svg{width:.95rem;height:.95rem}.assignment-kind-icon--quiz,.assignment-kind-icon--project{color:var(--orange-dark);background:var(--orange-soft)}.assignment-row-action.button--secondary{min-width:7.5rem;color:var(--purple-dark);border-color:#cfc7f5}.assignment-row-action.button--secondary:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 7px 16px #7256e833}.assignment-row-action.button--primary{min-width:7.5rem}.assignment-workspace-list .homework-pagination{background:#fcfbff;border-top:1px solid #e7e3fa;padding:.9rem 1.25rem}.homework-pagination{justify-content:center;align-items:center;gap:.75rem;padding-top:1rem;display:flex}.homework-pagination span{color:var(--ink-soft);font-size:.82rem;font-weight:700}.homework-detail-page>.deadline-banner{margin-bottom:1rem}.homework-detail-grid{grid-template-columns:minmax(0,1fr) 18rem;align-items:start;gap:1rem;display:grid}.homework-detail-main,.homework-detail-sidebar{gap:1rem;min-width:0;display:grid}.trainer-project-detail-page>.page-header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3 78%);border-radius:var(--radius-lg);border:1px solid #e2dcfb;align-items:center;padding:1.5rem;position:relative;overflow:hidden}.trainer-project-detail-page>.page-header .eyebrow,.trainer-project-detail-page>.page-header h1{margin-bottom:.45rem}.trainer-project-detail-page>.page-header .button{border-radius:var(--radius-md);min-height:2.9rem;padding-inline:1.15rem}.trainer-project-detail-page>.deadline-banner{border-radius:var(--radius-md);box-shadow:var(--shadow-xs);border-color:#ded7f7}.trainer-project-detail-page .homework-detail-grid{grid-template-columns:minmax(0,1fr) 19rem;gap:1.25rem}.trainer-project-detail-page .homework-detail-main,.trainer-project-detail-page .homework-detail-sidebar{gap:1.25rem}.trainer-project-brief-card,.trainer-project-rubric-card,.trainer-project-submissions-card,.trainer-project-history-card{border-radius:var(--radius-lg);border-color:#dedaf0;overflow:hidden;box-shadow:0 12px 30px #49379212}.trainer-project-brief-card{border-top:.22rem solid var(--purple)}.trainer-project-rubric-card{border-top:.22rem solid var(--orange)}.trainer-project-brief-card>h2,.trainer-project-rubric-card>h2{margin-bottom:.65rem;font-size:1.2rem}.trainer-project-brief-card>h2:not(:first-of-type){border-top:1px solid #e7e3fa;margin-top:1.35rem;padding-top:1.2rem}.trainer-project-brief-card .homework-info div{background:#fbfaff;border:1px solid #ebe7f8}.trainer-project-brief-card .homework-info div:nth-child(2n){background:#fffaf5;border-color:#f4e3d4}.trainer-project-brief-card .homework-info dt{color:var(--purple)}.trainer-project-brief-card .homework-info div:nth-child(2n) dt{color:var(--orange-dark)}.trainer-project-rubric-card .homework-rubric>div{background:linear-gradient(135deg,#fbfaff,#fff);border:1px solid #e8e3fa}.trainer-project-rubric-card .homework-rubric>div:nth-child(2n){background:linear-gradient(135deg,#fffaf5,#fff);border-color:#f2dfcf}.trainer-project-submissions-card{padding:0}.trainer-project-detail-page>.trainer-project-submissions-card{margin-top:1.25rem}.trainer-project-submissions-card__header{background:linear-gradient(120deg,#fff,var(--purple-soft));border-bottom:1px solid #e7e3fa;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;margin:0;padding:1.2rem 1.25rem;display:grid}.trainer-project-section-icon{color:#fff;background:linear-gradient(135deg,var(--purple),#8d73ee);border-radius:var(--radius-md);place-items:center;width:2.8rem;height:2.8rem;display:grid;box-shadow:0 7px 18px #7256e838}.trainer-project-section-icon svg{width:1.25rem;height:1.25rem}.trainer-project-submissions-card__heading{min-width:0}.trainer-project-submissions-card__heading .eyebrow{margin-bottom:.2rem}.trainer-project-submissions-card__heading h2{margin:0 0 .2rem;font-size:1.22rem}.trainer-project-submissions-card__heading>p:last-child{color:var(--ink-muted);margin:0;font-size:.74rem}.trainer-project-submissions-card__count{min-height:2rem;color:var(--ink-soft);white-space:nowrap;background:#ffffffc7;border:1px solid #ded7f7;border-radius:999px;align-items:center;gap:.28rem;padding:.35rem .65rem;font-size:.68rem;display:inline-flex}.trainer-project-submissions-card__count strong{color:var(--purple-dark);font-size:.84rem}.trainer-project-submissions-workspace{min-width:0}.trainer-project-submission-summary{background:#fcfbff;border-bottom:1px solid #e7e3fa;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;padding:1rem 1.25rem;display:grid}.trainer-project-submission-summary article{background:var(--surface);border-radius:var(--radius-sm);min-width:0;box-shadow:var(--shadow-xs);border:1px solid #e4dff6;align-items:center;gap:.6rem;padding:.7rem;display:flex}.trainer-project-submission-summary__icon{border-radius:var(--radius-xs);flex:none;place-items:center;width:2.2rem;height:2.2rem;display:grid}.trainer-project-submission-summary__icon svg{width:1rem;height:1rem}.trainer-project-submission-summary__icon--purple{color:var(--purple-dark);background:var(--purple-soft)}.trainer-project-submission-summary__icon--orange{color:var(--orange-dark);background:var(--orange-soft)}.trainer-project-submission-summary article>span:last-child{gap:.1rem;min-width:0;display:grid}.trainer-project-submission-summary small{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;font-weight:700;overflow:hidden}.trainer-project-submission-summary strong{color:var(--ink);font-size:1.05rem;line-height:1}.trainer-project-submissions-card .table-toolbar{background:#fff;border-top:0;padding:.9rem 1.25rem}.trainer-project-submissions-card .table-search{width:min(100%,25rem)}.trainer-project-submissions-card .table-search input{background:#faf9ff;border-color:#ded7f7}.trainer-project-submissions-card .table-search input:focus{border-color:var(--purple);box-shadow:var(--shadow-focus);outline:none}.trainer-project-submissions-card table{min-width:56rem}.trainer-project-submissions-card th{background:#faf9ff}.trainer-project-submissions-card th:last-child,.trainer-project-submissions-card td:last-child{text-align:right}.trainer-project-submissions-card tbody tr{transition:background-color .16s}.trainer-project-submissions-card tbody tr:hover{background:#fcfbff}.trainer-project-submissions-card .table-pagination{background:#fcfbff;border-top:1px solid #e7e3fa;padding:.85rem 1.25rem}.trainer-project-student{align-items:center;gap:.65rem;min-width:12rem;display:flex}.trainer-project-student>span{color:#fff;background:linear-gradient(135deg,var(--purple),var(--orange));border-radius:.7rem;flex:none;place-items:center;width:2.3rem;height:2.3rem;font-size:.65rem;font-weight:800;display:grid;box-shadow:0 5px 12px #7256e82e}.trainer-project-student>div{gap:.08rem;min-width:0;display:grid}.trainer-project-student strong{text-overflow:ellipsis;white-space:nowrap;max-width:11rem;font-size:.78rem;overflow:hidden}.trainer-project-student small{color:var(--ink-faint);font-size:.64rem}.trainer-project-version{min-width:2.4rem;color:var(--purple-dark);background:var(--purple-soft);border:1px solid #ded7f7;border-radius:999px;justify-content:center;padding:.28rem .48rem;font-size:.68rem;font-weight:800;display:inline-flex}.trainer-project-submitted-at{color:var(--ink-soft);white-space:nowrap;align-items:center;gap:.35rem;display:inline-flex}.trainer-project-submitted-at svg{width:.9rem;height:.9rem;color:var(--orange-dark)}.trainer-project-decision{color:var(--ink-soft);font-size:.72rem;font-weight:700}.trainer-project-decision--pending{color:var(--orange-dark)}.trainer-project-grade{min-width:3.4rem;color:var(--purple-dark);align-items:center;gap:.3rem;font-size:.72rem;font-weight:800;display:inline-flex}.trainer-project-grade svg{width:.9rem;height:.9rem;color:var(--orange-dark)}.trainer-project-submission-actions{justify-content:flex-end;align-items:center;gap:.35rem;min-width:9.6rem;display:flex}.trainer-project-submission-actions .button{border-radius:var(--radius-sm);min-height:2.25rem;padding:.46rem .68rem;font-size:.72rem}.trainer-project-review-button{color:var(--purple-dark);border-color:#cfc7f5}.trainer-project-review-button:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 7px 16px #7256e833}.trainer-project-close-button{color:var(--orange-dark)}.trainer-project-close-button:hover:not(:disabled){color:#17120d;background:var(--orange-soft)}.trainer-project-history-card{background:linear-gradient(145deg,#fbfaff,#fffaf5);padding:0;position:sticky;top:1rem}.trainer-project-history-card__heading{border-bottom:1px solid #e7e3fa;align-items:center;gap:.7rem;padding:1rem;display:flex}.trainer-project-history-card__heading>span{width:2.35rem;height:2.35rem;color:var(--orange-dark);background:var(--orange-soft);border-radius:var(--radius-sm);flex:none;place-items:center;display:grid}.trainer-project-history-card__heading svg{width:1rem;height:1rem}.trainer-project-history-card__heading .eyebrow{margin-bottom:.15rem}.trainer-project-history-card__heading h2{margin:0;font-size:1rem}.trainer-project-history-card>.homework-audit-list{padding:1rem}.trainer-project-history-card .homework-audit-list li{border:0;padding:0 0 .9rem 1rem;position:relative}.trainer-project-history-card .homework-audit-list li:before{background:var(--purple);content:"";border:2px solid #e7e1ff;border-radius:50%;width:.45rem;height:.45rem;position:absolute;top:.2rem;left:0}.trainer-project-history-card .homework-audit-list li:after{content:"";background:#dcd5f6;width:1px;position:absolute;top:.9rem;bottom:.15rem;left:.27rem}.trainer-project-history-card .homework-audit-list li:last-child:after{display:none}.trainer-project-review-workspace{gap:.85rem;display:grid}.trainer-project-review-section{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fcfcfd;gap:.75rem;padding:1rem;display:grid}.trainer-project-review-section--content{background:linear-gradient(135deg,#fbfaff,#fff);border-color:#e1dcfa}.trainer-project-review-section--decision{background:linear-gradient(135deg,#fffaf5,#fff);border-color:#f1ddcc}.trainer-project-review-section h3,.trainer-project-review-section p,.trainer-project-review-section ul{margin:0}.trainer-project-review-section>ul{color:var(--ink-soft);gap:.4rem;padding-left:1.2rem;font-size:.76rem;display:grid}.trainer-project-review-section a{color:var(--purple-dark);overflow-wrap:anywhere;font-weight:700}.trainer-project-review-section__heading{align-items:center;gap:.65rem;display:flex}.trainer-project-review-section__heading>span{width:2.3rem;height:2.3rem;color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-sm);flex:none;place-items:center;display:grid}.trainer-project-review-section--decision .trainer-project-review-section__heading>span{color:var(--orange-dark);background:var(--orange-soft)}.trainer-project-review-section__heading svg{width:1rem;height:1rem}.trainer-project-review-section__heading>div{gap:.08rem;display:grid}.trainer-project-review-section__heading small{color:var(--ink-faint);letter-spacing:.05em;text-transform:uppercase;font-size:.62rem;font-weight:750}.trainer-project-review-section__heading h3{font-size:.95rem}.trainer-project-review-section--content>p{border-radius:var(--radius-xs);background:#ffffffb3;padding:.8rem;font-size:.8rem}.trainer-project-review-fields{grid-template-columns:minmax(8rem,.4fr) minmax(13rem,1fr);gap:.75rem;display:grid}.trainer-project-review-section .form-field{margin:0}.trainer-project-review-section textarea{min-height:7rem}.project-brief-image{object-fit:cover;border:1px solid var(--border,#e5e7eb);border-radius:.85rem;width:100%;max-height:22rem;margin:1rem 0;display:block}.homework-info{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1.25rem 0 0;display:grid}.homework-info div{background:var(--page);border-radius:var(--radius-sm);gap:.15rem;padding:.7rem;display:grid}.homework-info dt{color:var(--ink-faint);text-transform:uppercase;font-size:.64rem;font-weight:750}.homework-info dd{overflow-wrap:anywhere;margin:0;font-size:.78rem;font-weight:650}.homework-rubric{gap:.6rem;display:grid}.homework-rubric>div{background:var(--page);border-radius:var(--radius-sm);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.8rem;display:flex}.homework-rubric>div>div{gap:.15rem;min-width:0;display:grid}.homework-rubric strong{font-size:.8rem}.homework-rubric span{color:var(--ink-soft);font-size:.74rem}.muted-copy{color:var(--ink-faint);margin:0;font-size:.8rem}.rich-copy{white-space:pre-wrap;color:var(--ink-soft);line-height:1.7}.homework-submit-form{gap:1rem;display:grid}.homework-submit-form .form-field{margin:0}.homework-submit-form textarea{min-height:14rem}.assignment-detail-page{gap:1.25rem}.assignment-detail-back{width:-moz-fit-content;width:fit-content;min-height:2.4rem;color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-sm);border:1px solid #d9d1f7;padding:.45rem .7rem;font-size:.76rem}.assignment-detail-back svg{width:.95rem;height:.95rem;transition:transform .16s}.assignment-detail-back:hover{color:#fff;background:var(--purple);border-color:var(--purple);transform:translateY(-1px);box-shadow:0 7px 16px #7256e82e}.assignment-detail-back:hover svg{transform:translate(-.15rem)}.assignment-detail-page>.page-header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3 78%);border-radius:var(--radius-lg);border:1px solid #e2dcfb;align-items:center;margin-bottom:0;padding:1.5rem;position:relative;overflow:hidden}.assignment-detail-page>.page-header .eyebrow,.assignment-detail-page>.page-header h1{margin-bottom:.45rem}.assignment-detail-page>.page-header .page-header__actions .button{border-radius:var(--radius-md);min-height:2.9rem;padding-inline:1.15rem}.assignment-detail-page>.deadline-banner{border-color:#ded7f7;border-left-color:var(--orange);border-radius:var(--radius-lg);margin:0;box-shadow:0 8px 24px #4937920f}.assignment-detail-page .homework-detail-grid{grid-template-columns:minmax(0,1fr) 19rem;gap:1.25rem}.assignment-detail-page .homework-detail-main,.assignment-detail-page .homework-detail-sidebar{gap:1.25rem}.assignment-detail-page .homework-detail-sidebar{position:sticky;top:1rem}.assignment-detail-card{border-radius:var(--radius-lg);border-color:#dedaf0;position:relative;overflow:hidden;box-shadow:0 10px 28px #41308212}.assignment-detail-card>.card__header{background:linear-gradient(120deg,#fff,var(--purple-soft));border-bottom:1px solid #e7e3fa;align-items:center;margin:-1.35rem -1.35rem 1.2rem;padding:1.15rem 1.25rem;position:relative}.assignment-detail-card.assignment-output-card>.card__header,.assignment-detail-card.assignment-submission-card>.card__header{background:linear-gradient(120deg,#fff,#fff8f1);border-bottom-color:#f0dfcf}.assignment-detail-card>.card__header:before{width:2.35rem;height:2.35rem;color:var(--purple-dark);border-radius:var(--radius-sm);content:"✓";background:#fff;border:1px solid #ddd6fb;flex:none;place-items:center;font-size:.9rem;font-weight:850;display:grid}.assignment-detail-card.assignment-output-card>.card__header:before,.assignment-detail-card.assignment-submission-card>.card__header:before{color:var(--orange-dark);content:"→";background:#fff;border-color:#f2d6be}.assignment-detail-card.assignment-rubric-card>.card__header:before{content:"★"}.assignment-detail-card.assignment-submissions-card>.card__header:before{content:"✓"}.assignment-detail-card>.card__header>div{flex:1;min-width:0}.assignment-detail-card>.card__header .eyebrow{margin-bottom:.25rem}.assignment-detail-card>.card__header h2{font-size:1.16rem}.assignment-detail-card:not(.table-card)>.eyebrow:first-child{margin-bottom:.35rem}.assignment-detail-card:not(.table-card)>h2{margin-bottom:1rem;font-size:1.16rem}.assignment-detail-card .assignment-copy{border-radius:var(--radius-sm);background:#faf9ff;border:1px solid #e8e4f8;min-height:4rem;padding:.95rem 1rem}.assignment-detail-card.assignment-output-card .assignment-copy{background:#fffaf5;border-color:#f2dfce}.assignment-detail-card .homework-rubric>div{background:#faf9ff;border:1px solid #e7e3fa;padding:.9rem 1rem}.assignment-detail-card .homework-rubric>div:nth-child(2n){background:#fffaf5;border-color:#f1e0d2}.assignment-detail-card .homework-rubric>div>strong,.assignment-detail-card .homework-rubric>div>span:last-child{color:var(--purple-dark);flex:none}.assignment-detail-card .homework-info{margin-top:.9rem}.assignment-detail-card .homework-info div{background:#faf9ff;border:1px solid #e7e3fa}.assignment-overview-card .assignment-copy{margin-top:.75rem}.assignment-sidebar-card .homework-info{grid-template-columns:1fr}.assignment-sidebar-card .homework-info div:nth-child(2n){background:#fffaf5;border-color:#f1e0d2}.assignment-formats-card{background:linear-gradient(145deg,#fff,#fffaf5)}.assignment-formats-card .assignment-format-list li{border-radius:var(--radius-sm);background:#fff;border:1px solid #f0dfcf;padding:.6rem .7rem .6rem 1.8rem}.assignment-format-list li:before{top:.72rem;left:.7rem}.assignment-submission-card .homework-submit-form>.button--primary{border-radius:var(--radius-md);justify-self:end;width:-moz-fit-content;width:fit-content;min-width:11rem}.assignment-submissions-card.table-card>.card__header{margin:0;padding:1.15rem 1.25rem}.assignment-submissions-card .table-toolbar{background:#fff;border-top:0}.assignment-submissions-card .table-search input{background:#faf9ff;border-color:#ded7f7}.assignment-submissions-card .table-search input:focus{border-color:var(--purple);box-shadow:var(--shadow-focus);outline:none}.assignment-submissions-card th{background:#faf9ff}.assignment-submissions-card tbody tr:hover{background:#fcfbff}.assignment-submissions-card .button--secondary{color:var(--purple-dark);border-color:#cfc7f5}.assignment-submissions-card .button--secondary:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 7px 16px #7256e833}.assignment-audit-card{background:linear-gradient(145deg,#fff,var(--purple-soft))}.assignment-audit-card .homework-audit-list li{border-bottom-color:#ddd7f5;padding:.2rem 0 .85rem 1.25rem;position:relative}.assignment-audit-card .homework-audit-list li:before{background:var(--purple);content:"";border:.12rem solid #fff;border-radius:50%;width:.55rem;height:.55rem;position:absolute;top:.35rem;left:0;box-shadow:0 0 0 1px #cfc7f5}.assignment-audit-card .homework-audit-list li:nth-child(2n):before{background:var(--orange);box-shadow:0 0 0 1px #efd1b5}.assignment-copy{white-space:pre-wrap;min-height:3rem}.homework-attachment-viewer{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.75rem;margin-top:1rem;display:grid}.homework-attachment-card{background:var(--page);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:4rem minmax(0,1fr) auto;align-items:center;gap:.7rem;min-width:0;padding:.55rem;display:grid}.homework-attachment-card__preview{width:4rem;height:3.4rem;color:var(--purple);background:var(--purple-soft);border-radius:var(--radius-xs);place-items:center;display:grid;overflow:hidden}.homework-attachment-card__preview img,.homework-attachment-card__preview video{object-fit:cover;width:100%;height:100%}.homework-attachment-card__preview svg{width:1.35rem;height:1.35rem}.homework-attachment-card__meta{gap:.15rem;min-width:0;display:grid}.homework-attachment-card__meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.homework-attachment-card__meta small{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.63rem;overflow:hidden}.homework-github-link{color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-sm);border:1px solid #d9d1ff;align-items:center;gap:.7rem;padding:.75rem;display:flex}.homework-github-link:hover{color:#fff;background:var(--purple);border-color:var(--purple)}.homework-github-link>svg{flex:none;width:1.25rem;height:1.25rem}.homework-github-link>span{gap:.1rem;min-width:0;display:grid}.homework-github-link small{text-transform:uppercase;font-size:.62rem;font-weight:750}.homework-github-link strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.homework-github-field>span{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.homework-github-field>span svg{width:1rem;height:1rem;color:var(--purple)}.homework-github-field>span small{color:var(--ink-faint);font-weight:550}.homework-submission-review{gap:.85rem;display:grid}.homework-submission-review>p{white-space:pre-wrap;background:var(--page);border-radius:var(--radius-sm);margin:0;padding:.8rem}.assignment-format-list{gap:.55rem;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.assignment-format-list li{color:var(--ink-soft);padding-left:1.2rem;font-size:.74rem;position:relative}.assignment-format-list li:before{color:var(--orange);content:"•";font-size:1.1rem;line-height:.8;position:absolute;left:0}.homework-feedback{color:var(--green);background:var(--green-soft);border-radius:var(--radius-sm);margin-bottom:1rem;padding:.8rem;font-size:.78rem}.homework-feedback p{color:var(--ink-soft);white-space:pre-wrap;margin:.25rem 0 0}.homework-state{background:var(--page);border-radius:var(--radius-sm);justify-items:start;gap:.5rem;padding:1rem;display:grid}.homework-state p{margin:0;font-size:.78rem}.homework-dialog{width:min(100%,48rem);max-height:calc(100vh - 3rem)}.homework-create-dialog{width:min(100%,58rem)}.assignment-create-dialog{width:min(100%,64rem)}.assignment-create-dialog>header span,.assignment-grade-dialog>header span{color:var(--ink-faint);margin-top:.2rem;font-size:.7rem;display:block}.homework-dialog>form{gap:1rem;display:grid}.homework-dialog>header{z-index:1;background:var(--surface);position:sticky;top:0}.homework-fieldset{border:1px solid var(--border);border-radius:var(--radius-sm);gap:.75rem;padding:1rem;display:grid}.homework-fieldset legend{padding-inline:.35rem;font-size:.8rem;font-weight:750}.assignment-fieldset{background:linear-gradient(135deg,#fff 0%,#fbfaff 100%)}.assignment-fieldset--output{background:linear-gradient(135deg,#fff 0%,#fff9f3 100%);border-color:#f4d8ba}.assignment-fieldset textarea{min-height:8.5rem}.assignment-upload-heading{align-items:center;gap:.65rem;display:flex}.assignment-upload-heading>svg{width:2rem;height:2rem;color:var(--purple);background:var(--purple-soft);border-radius:var(--radius-xs);padding:.45rem}.assignment-fieldset--output .assignment-upload-heading>svg{color:var(--orange-dark);background:var(--orange-soft)}.assignment-upload-heading>span{gap:.1rem;display:grid}.assignment-upload-heading strong{font-size:.75rem}.assignment-upload-heading small{color:var(--ink-faint);font-size:.66rem}.assignment-grade-dialog{width:min(100%,62rem)}.assignment-review-section{background:var(--page);border:1px solid var(--border);border-radius:var(--radius-sm);gap:.75rem;padding:1rem;display:grid}.assignment-review-section h3,.assignment-review-section p{margin:0}.assignment-review-section>p{color:var(--ink-soft);white-space:pre-wrap;font-size:.8rem}.assignment-grade-fields{grid-template-columns:minmax(9rem,.3fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.assignment-grade-fields textarea{min-height:8rem}.rubric-editor{grid-template-columns:1fr 1.2fr 6rem auto;align-items:center;gap:.5rem;display:grid}.rubric-editor input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:2.5rem;padding:.5rem .7rem}.homework-dialog footer{border-top:1px solid var(--border);justify-content:flex-end;gap:.6rem;padding-top:1rem;display:flex}.homework-audit-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.homework-audit-list li{border-bottom:1px solid var(--border);gap:.15rem;padding-bottom:.75rem;display:grid}.homework-audit-list li:last-child{border-bottom:0;padding-bottom:0}.homework-audit-list strong{font-size:.76rem}.homework-audit-list span{color:var(--ink-faint);font-size:.7rem}.calendar-card{padding:0;overflow:hidden}.calendar-card>.card__header{align-items:center;margin-bottom:0;padding:1.25rem}.calendar-card>.card__header>div:last-child{align-items:center;gap:.4rem;display:flex}.calendar-card__status{color:var(--ink-faint);margin:.35rem 0 0;font-size:.72rem}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-grid>[role=row]{display:contents}.calendar-grid [role=columnheader]{color:var(--ink-faint);border-block:1px solid var(--border);text-align:center;text-transform:uppercase;background:#fafafb;padding:.65rem;font-size:.65rem;font-weight:750}.calendar-view-controls{gap:.5rem;padding:0 1.25rem 1rem;display:flex}.calendar-agenda{padding:0 1.25rem 1.25rem}.calendar-agenda>p{color:var(--ink-faint);padding-block:1rem}.calendar-agenda ul{margin:0;padding:0;list-style:none}.calendar-agenda li{border-top:1px solid var(--border);grid-template-columns:10rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding-block:1rem;display:grid}.calendar-agenda time,.calendar-agenda li>span{color:var(--ink-faint);font-size:.8rem}.calendar-agenda a{color:var(--purple-dark);overflow-wrap:anywhere;font-weight:650}.calendar-card>.form-alert{margin:0 1.25rem 1.25rem}@media (max-width:640px){.calendar-card>.card__header{flex-wrap:wrap;gap:1rem}.calendar-agenda li{grid-template-columns:1fr;gap:.4rem}.calendar-agenda a{padding-block:.5rem}}.calendar-day{background:var(--surface);border-right:1px solid var(--border);border-bottom:1px solid var(--border);align-content:start;gap:.45rem;min-width:0;min-height:7.5rem;padding:.7rem;display:grid}.calendar-day.is-outside{color:var(--ink-faint);background:#fafafb}.calendar-day.is-today>span{color:#fff;background:var(--purple);border-radius:50%;place-items:center;width:1.7rem;height:1.7rem;display:grid}.calendar-event{color:var(--purple-dark);background:var(--purple-soft);border-left:2px solid var(--purple);text-overflow:ellipsis;white-space:nowrap;border-radius:.25rem;padding:.35rem .4rem;font-size:.64rem;font-weight:650;line-height:1.25;overflow:hidden}.calendar-event:hover{color:var(--purple-dark);background:#e6dffd}.settings-layout{grid-template-columns:13rem minmax(0,1fr);gap:1rem;display:grid}.settings-layout>nav{align-content:start;gap:.2rem;display:grid}.settings-layout>nav button{min-height:2.6rem;color:var(--ink-soft);text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;padding:.55rem .75rem;font-size:.78rem}.settings-layout>nav button:hover,.settings-layout>nav button.is-active{color:var(--ink);background:var(--surface);box-shadow:var(--shadow-xs)}.settings-layout .card form{gap:2rem;display:grid}.settings-layout .card section+section{border-top:1px solid var(--border);padding-top:1.5rem}.settings-layout .card section>h2{font-size:1.1rem}.settings-layout .card section>p{font-size:.8rem}.settings-layout input[readonly]{color:var(--ink-soft);background:var(--page);cursor:not-allowed}.settings-state-card{min-height:20rem}.settings-load-error{text-align:center;align-content:center;place-items:center;gap:.75rem;min-height:20rem;display:grid}.settings-load-error h2,.settings-load-error p{margin:0}.settings-load-error p{max-width:34rem;color:var(--ink-soft);font-size:.8rem}.notification-preference-grid{border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:1.25rem;overflow:hidden}.notification-preference-grid__header,.notification-preference-row{grid-template-columns:minmax(0,1fr) 5.5rem 5.5rem;align-items:center;gap:.5rem;display:grid}.notification-preference-grid__header{color:var(--ink-faint);background:var(--page);text-transform:uppercase;letter-spacing:.06em;padding:.65rem .85rem;font-size:.67rem;font-weight:800}.notification-preference-grid__header span:not(:first-child){text-align:center}.notification-preference-grid__header span small{letter-spacing:0;text-transform:none;margin-top:.12rem;font-size:.55rem;display:block}.notification-preference-row{border-top:1px solid var(--border);padding:.85rem}.notification-preference-row>span:first-child{gap:.18rem;display:grid}.notification-preference-row strong{font-size:.78rem}.notification-preference-row small{color:var(--ink-faint);font-size:.68rem;line-height:1.45}.notification-preference-row>label{place-items:center;display:grid}.notification-preference-row input[role=switch]{width:2.4rem;height:1.3rem;accent-color:var(--purple);cursor:pointer}.notification-preference-row input[role=switch]:disabled{cursor:not-allowed;opacity:.45}.settings-sessions{border-top:1px solid var(--border);gap:1rem;margin-top:1.5rem;padding-top:1.5rem;display:grid}.settings-sessions__heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.settings-sessions__heading h3{margin:0;font-size:.95rem}.settings-sessions__heading p,.settings-sessions>p{color:var(--ink-soft);margin:.25rem 0 0;font-size:.76rem}.settings-session-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.settings-session-list li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--page);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem;display:flex}.settings-session-list li>div{gap:.2rem;min-width:0;display:grid}.settings-session-list strong{flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.78rem;display:flex}.settings-session-list small{color:var(--ink-faint);overflow-wrap:anywhere;font-size:.68rem}.settings-current-session{color:var(--success);background:var(--success);padding:.18rem .4rem}@supports (color:color-mix(in lab, red, red)){.settings-current-session{background:color-mix(in srgb, var(--success) 10%, transparent)}}.settings-current-session{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;font-size:.58rem;font-weight:800}.settings-layout .form-actions{margin-top:0}:root[data-reduce-motion=true] *,:root[data-reduce-motion=true] :before,:root[data-reduce-motion=true] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.toggle-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:2rem;padding:.9rem 0;display:flex}.toggle-row>span{display:grid}.toggle-row strong{font-size:.78rem}.toggle-row small{color:var(--ink-faint);font-size:.68rem}.toggle-row input{width:2.4rem;height:1.3rem;accent-color:var(--purple)}.form-actions{border-top:1px solid var(--border);gap:.6rem;padding-top:1.25rem;display:flex}.learning-workspace{background:var(--surface);grid-template-columns:17rem minmax(28rem,1fr) 19rem;min-height:100vh;display:grid}.learning-workspace--details-closed{grid-template-columns:17rem minmax(28rem,1fr)}.lesson-sidebar{background:#faf9ff;border-right:1px solid #dedaf0;min-width:0}.lesson-sidebar__header{background:linear-gradient(135deg,var(--purple-soft),#fff9f3);border-bottom:1px solid #ded7f7;padding:1.1rem;position:relative;overflow:hidden}.lesson-sidebar__header .button{color:var(--purple-dark);margin-bottom:.8rem}.lesson-sidebar__header .button:hover:not(:disabled){background:#ffffffb8}.lesson-sidebar__header h1{margin-bottom:.85rem;font-size:1.15rem}.course-completion-card{border-radius:var(--radius-md);background:#ffffffc7;border:1px solid #d9d1f5;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.7rem;margin-top:1rem;padding:.8rem;display:grid;box-shadow:0 8px 22px #49379214}.course-completion-card__icon{color:#fff;background:linear-gradient(135deg,var(--purple),#8b6cf3);border-radius:.7rem;place-items:center;width:2.4rem;height:2.4rem;display:grid;box-shadow:0 6px 15px #7256e83d}.course-completion-card__icon svg{width:1.15rem;height:1.15rem}.course-completion-card__copy{gap:.12rem;min-width:0;display:grid}.course-completion-card__copy strong{color:var(--ink);font-size:.76rem}.course-completion-card__copy small{color:var(--ink-faint);font-size:.62rem}.lesson-sidebar__header .course-completion-card__action{color:#17120d;background:var(--orange);border-color:var(--orange);grid-column:1/-1;width:100%;margin:0}.lesson-sidebar__header .course-completion-card__action:hover:not(:disabled){color:#17120d;background:#ff9c42;border-color:#ff9c42;box-shadow:0 7px 16px #ff8a1f33}.module-heading{background:#fff;border-bottom:1px solid #e7e3fa;gap:.25rem;padding:.9rem 1rem;display:grid}.module-heading span{color:var(--purple);text-transform:uppercase;font-size:.64rem;font-weight:750}.module-heading strong{font-size:.78rem}.lesson-sidebar nav{gap:.75rem;padding:.75rem;display:grid}.lesson-module{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);border:1px solid #e2def4;position:relative;overflow:hidden}.lesson-module__header{text-align:left;cursor:pointer;background:linear-gradient(120deg,#fbfaff,#fffaf5);border:0;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.55rem;width:100%;min-height:4.2rem;padding:.8rem;display:grid}.lesson-module__header:hover{background:linear-gradient(120deg,var(--purple-soft),var(--orange-soft))}.lesson-module__header:focus-visible{z-index:2;position:relative}.lesson-module__header>svg{width:.95rem;height:.95rem;color:var(--purple);transition:transform .18s}.lesson-module__header[aria-expanded=true]{border-bottom:1px solid #ebe7f8}.lesson-module__header[aria-expanded=true]>svg{transform:rotate(180deg)}.lesson-module__icon{width:2rem;height:2rem;color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-xs);place-items:center;display:grid}.lesson-module__icon svg{width:.95rem;height:.95rem}.lesson-module__identity{gap:.12rem;min-width:0;display:grid}.lesson-module__identity small{color:var(--orange-dark);letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.58rem;font-weight:800;overflow:hidden}.lesson-module__identity strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.76rem;line-height:1.25;display:-webkit-box;overflow:hidden}.lesson-module__count{min-width:1.55rem;height:1.55rem;color:var(--orange-dark);background:var(--orange-soft);border:1px solid #f5dcc5;border-radius:999px;place-items:center;padding-inline:.35rem;font-size:.62rem;font-weight:800;display:grid}.lesson-module__lessons{scrollbar-color:#cfc7f5 transparent;scrollbar-width:thin;max-height:min(52vh,32rem);padding:.35rem;display:grid;overflow-y:auto}.lesson-module__lessons>button{text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:.65rem;min-height:4rem;padding:.6rem;transition:color .16s,background .16s,box-shadow .16s;display:flex}.lesson-module__lessons>button:hover{background:#faf9ff}.lesson-module__lessons>button.is-active{background:linear-gradient(90deg,var(--purple-soft),#fffaf5);box-shadow:inset 3px 0 var(--orange)}.lesson-module__lessons>button>span:first-child{width:1.8rem;height:1.8rem;color:var(--ink-faint);background:var(--surface-soft);border-radius:50%;flex:none;place-items:center;font-size:.65rem;display:grid}.lesson-module__lessons>button>span.is-complete{color:#fff;background:var(--green)}.lesson-module__lessons>button.is-active>span:first-child{color:#fff;background:var(--purple)}.lesson-module__lessons>button>span:nth-child(2){flex:1;min-width:0;display:grid}.lesson-module__lessons>button strong{font-size:.72rem;line-height:1.3}.lesson-module__lessons>button small{color:var(--ink-faint);margin-top:.15rem;font-size:.62rem}.lesson-main{background:var(--page);min-width:0;overflow-y:auto}.lesson-main>header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3 82%);border-bottom:1px solid #ded7f7;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem;display:flex;position:relative;overflow:hidden}.lesson-main>header>div{min-width:0}.lesson-module-context{min-width:0;color:var(--purple-dark);align-items:center;gap:.4rem;margin:0 0 .65rem;font-size:.7rem;font-weight:750;display:flex}.lesson-module-context svg{width:.95rem;height:.95rem}.lesson-module-context span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lesson-main>header .lesson-details-toggle{color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 8px 20px #7256e838}.lesson-main>header .lesson-details-toggle:hover{color:#fff;background:var(--purple-dark);border-color:var(--purple-dark);box-shadow:0 10px 24px #7256e847}.lesson-main>header h2{margin:.7rem 0 .35rem}.lesson-main>header p:not(.lesson-module-context){margin:0;font-size:.82rem}.video-player{aspect-ratio:16/9;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:radial-gradient(circle,#222735,#08090c 70%);place-items:center;margin:1.5rem;display:grid}.video-player>div{color:#fff;justify-items:center;gap:1rem;display:grid}.video-player button{width:4.5rem;height:4.5rem;color:var(--ink);background:var(--orange);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid}.video-player button svg{fill:currentColor;width:1.6rem;height:1.6rem}.video-player span{font-size:.7rem}.video-player iframe,.video-player video{border-radius:inherit;border:0;width:100%;height:100%}.lesson-actions{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);border:1px solid #dedaf0;justify-content:space-between;align-items:center;gap:1rem;margin:0 1.5rem;padding:.75rem;display:flex}.lesson-actions>span{color:var(--ink-faint);font-size:.7rem}.lesson-actions .button--secondary{color:var(--purple-dark);border-color:#cfc7f5}.lesson-actions .button--secondary:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 7px 16px #7256e833}.lesson-complete-status{color:#12634d;border-radius:var(--radius-sm);background:#effaf5;border:1px solid #bfe5d6;align-items:center;gap:.65rem;min-width:10.5rem;padding:.45rem .75rem;display:flex}.lesson-complete-status>span{color:#fff;background:var(--green);border-radius:50%;flex:none;place-items:center;width:1.85rem;height:1.85rem;display:grid}.lesson-complete-status>span svg{stroke-width:3px;width:.95rem;height:.95rem}.lesson-complete-status>div{gap:.08rem;display:grid}.lesson-complete-status strong{font-size:.72rem;line-height:1.2}.lesson-complete-status small{color:#43816f;font-size:.6rem}.lesson-completion-error{margin:.75rem 1.5rem 0}.lesson-content{background:var(--surface);border-radius:var(--radius-lg);border:1px solid #dedaf0;margin:1.5rem;padding:2rem;box-shadow:0 12px 30px #49379212}.lesson-content [role=tabpanel]>p:not(.eyebrow),.lesson-content li{color:#454952;line-height:1.75}.lesson-content h3{margin-top:2rem}.lesson-content__toolbar{border-bottom:1px solid #e7e3fa;margin:-2rem -2rem 1.75rem;padding:.75rem 2rem 0}.lesson-content__nav{align-items:center;gap:1.5rem;display:flex}.lesson-content__nav-btn{min-height:2.9rem;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;align-items:center;gap:.45rem;padding:.2rem .1rem .75rem;font-size:.76rem;font-weight:700;transition:color .15s;display:inline-flex;position:relative}.lesson-content__nav-btn:after{content:"";background:0 0;border-radius:999px 999px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.lesson-content__nav-btn:hover,.lesson-content__nav-btn.is-active{color:var(--purple-dark)}.lesson-content__nav-btn.is-active:after{background:var(--purple)}.lesson-content__tab-count{min-width:1.25rem;height:1.25rem;color:var(--purple-dark);background:var(--purple-soft);border:1px solid #dcd5f7;border-radius:999px;place-items:center;padding-inline:.3rem;font-size:.58rem;font-weight:800;display:grid}.lesson-content__resource-view{gap:1rem;display:grid}.lesson-content__resource-view .learner-resource__preview{max-height:48rem}.callout{color:var(--yellow);background:var(--yellow-soft);border-radius:var(--radius-sm);gap:.8rem;margin:1.5rem 0;padding:1rem;display:flex}.callout p{color:#78500c;margin:.15rem 0 0;font-size:.8rem}.lesson-panel{background:#faf9ff;border-left:1px solid #dedaf0;min-width:0;overflow-y:auto}.lesson-panel__header{background:linear-gradient(120deg,var(--purple-soft),#fff9f3);border-bottom:1px solid #e2dcfa;justify-content:space-between;align-items:center;gap:.75rem;min-height:4.5rem;padding:.8rem 1rem;display:flex}.lesson-panel__header>div{gap:.12rem;min-width:0;display:grid}.lesson-panel__header span{color:var(--purple-dark);letter-spacing:.07em;text-transform:uppercase;font-size:.62rem;font-weight:800}.lesson-panel__header strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.lesson-panel__header .button{width:2.35rem;min-height:2.35rem;color:var(--purple-dark);flex:none}.lesson-panel-backdrop{display:none}.lesson-tabs{background:linear-gradient(120deg,#fbfaff,#fffaf5);border-bottom:1px solid #e7e3fa;grid-template-columns:repeat(2,1fr);padding:.5rem;display:grid}.lesson-tabs button{min-height:2.5rem;color:var(--ink-faint);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:.35rem;font-size:.7rem;display:flex}.lesson-tabs button.is-active{color:var(--purple-dark);background:var(--purple-soft);box-shadow:inset 0 -2px var(--orange)}.notes-panel{gap:.7rem;padding:1rem;display:grid}.lesson-note-intro{gap:.3rem;display:grid}.lesson-note-intro p{color:var(--ink-faint);margin:0;font-size:.68rem;line-height:1.55}.notes-panel label{font-size:.74rem;font-weight:700}.notes-panel textarea{border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;min-height:17rem;padding:.8rem;line-height:1.6}.notes-panel small{color:var(--ink-faint);font-size:.65rem}.lesson-ask-tara{gap:.7rem;padding:1rem;display:grid}.lesson-ask-tara__icon{width:2.5rem;height:2.5rem;color:var(--purple);background:var(--purple-soft);border-radius:.75rem;place-items:center;display:grid}.lesson-ask-tara>p,.lesson-ask-tara>small{color:var(--ink-faint);margin:0;font-size:.7rem;line-height:1.6}.lesson-ask-tara .button{width:100%}.resource-list{padding:.5rem;display:grid}.lesson-panel .learner-resource__header{grid-template-columns:auto minmax(0,1fr);padding:.75rem}.lesson-panel .learner-resource__actions{grid-column:1/-1;justify-content:stretch}.lesson-panel .learner-resource__actions button{flex:1}.lesson-panel .learner-resource__preview-shell>header{padding-inline:.75rem}.lesson-panel .learner-resource__preview{padding:.65rem}.resource-list a,.resource-list>button{width:100%;color:inherit;text-align:left;border:0;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;align-items:center;gap:.6rem;padding:.75rem;display:flex}.resource-list a>span,.resource-list>button>span{width:2.2rem;height:2.2rem;color:var(--purple);background:var(--purple-soft);border-radius:var(--radius-sm);place-items:center;display:grid}.resource-list a>div,.resource-list>button>div{flex:1;display:grid}.resource-list strong{font-size:.7rem}.resource-list small{color:var(--ink-faint);font-size:.62rem}.tara-prompt{background:#f3f0ff;margin:1rem}.tara-prompt>svg{color:var(--purple)}.tara-prompt h3{margin-top:.7rem}.tara-prompt p{font-size:.72rem}.tara-prompt .button{width:100%}.ask-header{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1rem;display:flex}.ask-header h1{margin:.7rem 0 .35rem;font-size:2.6rem}.ask-header p{margin:0}.ask-layout{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:18rem minmax(0,1fr);min-height:calc(100vh - 13rem);display:grid;overflow:hidden}.ask-layout>aside{border-right:1px solid var(--border);padding:1.25rem}.ask-layout>aside h2{font-size:1rem}.ask-layout dl{gap:.7rem;margin:1.25rem 0;display:grid}.ask-layout dl div{gap:.1rem;display:grid}.ask-layout dt{color:var(--ink-faint);text-transform:uppercase;font-size:.62rem}.ask-layout dd{margin:0;font-size:.72rem;font-weight:650}.ask-layout aside hr{border:0;border-top:1px solid var(--border);margin:1.25rem 0}.ask-layout aside h3{font-size:.8rem}.ask-layout aside>button:not(.button){text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;width:100%;min-height:2.7rem;padding:.55rem;font-size:.68rem;display:flex}.ask-layout aside>button:not(.button):hover{background:var(--surface-soft)}.ask-layout>main{flex-direction:column;min-width:0;display:flex}.conversation{flex:1;align-content:start;gap:1.2rem;padding:1.5rem;display:grid;overflow-y:auto}.message{gap:.7rem;max-width:44rem;display:flex}.message>span{color:#fff;background:var(--purple);border-radius:50%;flex:none;place-items:center;width:2rem;height:2rem;font-size:.62rem;font-weight:750;display:grid}.message>div{background:var(--page);border:1px solid var(--border);border-radius:0 var(--radius-md) var(--radius-md) var(--radius-md);padding:.8rem 1rem}.message strong{font-size:.68rem}.message p{color:#3f434b;margin:.25rem 0;font-size:.8rem;line-height:1.65}.message small{color:var(--purple);font-size:.62rem}.message--user{flex-direction:row-reverse;justify-self:end}.message--user>span{background:var(--ink)}.message--user>div{background:var(--purple-soft);border-radius:var(--radius-md) 0 var(--radius-md) var(--radius-md);border-color:#ddd6fb}.ask-composer{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin:1rem;padding:.7rem}.ask-composer:focus-within{border-color:var(--purple);box-shadow:var(--shadow-focus)}.ask-composer textarea{resize:none;border:0;outline:0;width:100%;min-height:4rem;padding:.4rem}.ask-composer>div{justify-content:space-between;align-items:center;gap:1rem;display:flex}.ask-composer>div>span{color:var(--ink-faint);font-size:.6rem}.ask-page{grid-template-rows:auto minmax(0,1fr);max-width:96rem;height:calc(100dvh - 8rem);min-height:0;margin-inline:auto;overflow:hidden}.ask-page .ask-header{align-items:center;margin-bottom:0;padding:0 .1rem .15rem}.ask-page .ask-header h1{letter-spacing:-.045em;margin:.35rem 0 .15rem;font-size:clamp(1.8rem,3vw,2.35rem)}.ask-page .ask-header p{color:var(--ink-muted);margin:0;font-size:.86rem}.ask-page .ask-header .badge{min-height:1.65rem;padding-inline:.65rem;font-size:.62rem}.ask-page .ask-header>.button{border-radius:.8rem;flex:none}.ask-page .ask-layout{border-color:#e1e3ec;border-radius:1.1rem;grid-template-columns:18rem minmax(0,1fr);min-height:0;box-shadow:0 16px 44px #1f223612}.ask-page .ask-layout>aside{scrollbar-width:none;background:linear-gradient(#fbfaff,#fff 60%);border-color:#e7e5ef;padding:1.15rem;overflow-y:auto}.ask-page .ask-layout>aside::-webkit-scrollbar{display:none}.ask-page .ask-layout>aside>.eyebrow{color:var(--purple);letter-spacing:.12em;margin:.1rem 0 .9rem;font-size:.64rem}.tara-context-field{gap:.3rem;margin-top:.65rem;display:grid}.tara-context-field>label{color:var(--ink-faint);letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;font-weight:750}.tara-context-field>div{position:relative}.tara-context-field select{width:100%;min-height:2.55rem;color:var(--ink);appearance:none;background:#fff;border:1px solid #e0e2ea;border-radius:.7rem;outline:0;padding:.5rem 2rem .5rem .7rem;font-size:.7rem;font-weight:650;transition:border-color .15s,box-shadow .15s}.tara-context-field select:focus{border-color:var(--purple);box-shadow:var(--shadow-focus)}.tara-context-field svg{pointer-events:none;width:.85rem;position:absolute;top:50%;right:.65rem;transform:translateY(-50%)}.tara-context-summary{color:#58566b;background:#f1effa;border:1px solid #e9e5f8;border-radius:.7rem;margin:.7rem 0 0;padding:.65rem .7rem;font-size:.65rem;line-height:1.5}.ask-page .ask-layout>aside hr{border-color:#e9e7ef;margin:1rem 0 .8rem}.ask-page .ask-layout>aside h3{letter-spacing:-.01em;margin-bottom:.35rem;font-size:.77rem}.ask-page .ask-layout>aside>button:not(.button){color:#55566a;border-radius:.65rem;gap:.55rem;min-height:2.35rem;padding:.4rem .45rem;font-size:.67rem;transition:color .15s,background .15s}.ask-page .ask-layout>aside>button:not(.button) svg{width:.9rem;color:var(--purple);flex:none}.ask-page .ask-layout>aside>button:not(.button):hover{color:var(--purple-dark);background:#f3f0ff}.tara-mode-picker{background:#fff;border-bottom:1px solid #ececf1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding:.75rem 1rem;display:grid}.tara-mode-picker>button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e6ed;border-radius:.85rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;min-width:0;min-height:3.55rem;padding:.55rem .7rem;transition:border-color .15s,box-shadow .15s,background .15s,transform .15s;display:grid}.tara-mode-picker>button:hover{border-color:#cfc5f6;transform:translateY(-1px)}.tara-mode-picker>button.is-active{background:#f5f2ff;border-color:#c8bbfb;box-shadow:inset 0 0 0 1px #7256e80f}.tara-mode-picker>button>span:first-child{width:2rem;height:2rem;color:var(--purple);background:#f5f3ff;border-radius:.65rem;place-items:center;display:grid}.tara-mode-picker>button.is-active>span:first-child{color:#fff;background:var(--purple)}.tara-mode-picker>button>span:nth-child(2){gap:.15rem;min-width:0;display:grid}.tara-mode-picker strong{font-size:.72rem}.tara-mode-picker small{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;overflow:hidden}.tara-mode-picker>button>svg{width:.9rem;color:var(--purple)}.ask-page .ask-layout>main{background:#fff;grid-template-rows:auto minmax(0,1fr) auto auto;min-height:0;display:grid;overflow:hidden}.ask-page .conversation{overscroll-behavior:contain;scrollbar-color:#d8d9e4 transparent;scrollbar-width:thin;background:#fff;min-height:0;padding:clamp(1rem,2.5vw,1.75rem)}.ask-page .message{gap:.65rem;width:min(52rem,91%);max-width:52rem}.ask-page .message>span{width:2rem;height:2rem;box-shadow:0 4px 12px #7256e826}.ask-page .message>span svg{width:1rem}.ask-page .message>div{border-radius:.95rem;width:100%;padding:.9rem 1rem;box-shadow:0 3px 12px #1c203008}.ask-page .message--assistant>div{background:#f7f8fb;border-color:#eceef3}.ask-page .message--user>div{background:#f1edff;border-color:#e1d9ff}.ask-page .message p{margin:.3rem 0;font-size:.82rem;line-height:1.7}.ask-page .message strong{font-size:.7rem}.ask-page .message>div>small{color:var(--purple-dark);margin-top:.55rem;font-size:.62rem;line-height:1.65;display:block}.ask-page .message--user p{white-space:pre-wrap}.tara-markdown{overflow-wrap:anywhere}.tara-markdown>:first-child{margin-top:.35rem}.tara-markdown>:last-child{margin-bottom:.35rem}.tara-markdown h1,.tara-markdown h2,.tara-markdown h3,.tara-markdown h4{color:var(--ink);margin:1rem 0 .4rem;line-height:1.35}.tara-markdown h1{font-size:1.2rem}.tara-markdown h2{font-size:1.05rem}.tara-markdown h3{font-size:.95rem}.tara-markdown h4{font-size:.85rem}.tara-markdown ul,.tara-markdown ol{gap:.28rem;margin:.5rem 0 .75rem;padding-left:1.4rem;display:grid}.tara-markdown li{color:#3f434b;font-size:.8rem;line-height:1.65}.tara-markdown li>p{margin:0}.tara-markdown blockquote{color:var(--ink-soft);border-left:3px solid var(--orange);margin:.65rem 0;padding:.35rem .8rem}.tara-markdown hr{border:0;border-top:1px solid var(--border);margin:.9rem 0}.tara-markdown a{color:var(--purple-dark);text-underline-offset:2px;text-decoration:underline}.tara-markdown code{background:#eeeafc;border-radius:.3rem;padding:.1rem .3rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78em}.tara-markdown pre{color:#f8f7ff;border-radius:var(--radius-sm);background:#17151f;margin:.65rem 0;padding:.8rem;overflow-x:auto}.tara-markdown pre code{color:inherit;background:0 0;padding:0;font-size:.72rem}.tara-markdown table{border-collapse:collapse;width:100%;margin:.65rem 0;font-size:.72rem;display:block;overflow-x:auto}.tara-markdown th,.tara-markdown td{text-align:left;border:1px solid var(--border);padding:.45rem .55rem}.tara-markdown th{background:var(--surface-soft)}.message--typing p{gap:.25rem;padding-block:.25rem;display:flex}.message--typing i{background:var(--purple);border-radius:50%;width:.38rem;height:.38rem;animation:1s ease-in-out infinite tara-bounce}.message--typing i:nth-child(2){animation-delay:.12s}.message--typing i:nth-child(3){animation-delay:.24s}@keyframes tara-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-.25rem)}}.tara-error{color:#8a3d19;border-radius:var(--radius-sm);background:#fff4e9;border:1px solid #f2d2ba;align-items:center;gap:.55rem;margin:0 1rem .5rem;padding:.7rem .85rem;font-size:.68rem;display:flex}.tara-error svg{flex:none;width:1rem}.ask-page .tara-error{margin:0 .9rem .35rem}.ask-page .ask-composer{border-color:#e0e2ea;border-radius:1rem;align-items:flex-end;gap:.45rem;margin:.25rem .75rem .55rem;padding:.35rem .45rem .35rem .7rem;display:flex;box-shadow:0 5px 18px #1c20300d}.ask-page .ask-composer textarea{flex:1;align-self:center;width:auto;min-width:0;height:auto;min-height:2.3rem;max-height:5.5rem;padding:.3rem .2rem;font-size:.8rem;line-height:1.45;overflow-y:auto}.ask-page .ask-composer>div{flex:none;gap:0}.ask-page .ask-composer .button--icon{border-radius:.7rem;width:2.35rem;min-height:2.35rem}.app-loading--contained{min-height:24rem}.app-loading,.not-found{text-align:center;align-content:center;place-items:center;min-height:100vh;display:grid}.app-loading span{border:3px solid var(--border);border-top-color:var(--purple);border-radius:50%;width:2.2rem;height:2.2rem;animation:.7s linear infinite spin}.app-loading p{margin-top:1rem;font-size:.8rem}.not-found>p{color:var(--purple);margin:0;font-size:5rem;font-weight:800}.not-found h1{font-size:2.5rem}.not-found>span{color:var(--ink-soft)}.not-found a{color:var(--purple);margin-top:1.5rem;font-weight:700}.attendance-management-page>.page-header .page-header__actions .button{border-radius:var(--radius-md);min-height:2.9rem;padding-inline:1.15rem}.card.attendance-session-picker,.card.attendance-roster-card,.card.attendance-filter-card,.card.attendance-report-card{border-radius:var(--radius-lg);border-color:#dedaf0;padding:0;position:relative;overflow:hidden;box-shadow:0 10px 28px #41308212}.attendance-session-picker__header,.attendance-roster-card__header,.attendance-filter-card__heading,.attendance-report-card__header{background:linear-gradient(120deg,#fbfaff,#fffaf5);border-bottom:1px solid #e7e3fa}.attendance-session-picker__header{min-height:6.4rem;padding:1.3rem 1.4rem 1.15rem}.attendance-session-picker__header h2,.attendance-roster-card__header h2,.attendance-filter-card__heading h2,.attendance-report-card__header h2{margin:0 0 .25rem;font-size:1.18rem}.attendance-session-picker__header p,.attendance-roster-card__header p,.attendance-filter-card__heading p{color:var(--ink-faint);margin:0;font-size:.76rem}.attendance-session-picker__header .eyebrow,.attendance-roster-card__header .eyebrow,.attendance-filter-card__heading .eyebrow,.attendance-report-card__header .eyebrow{color:var(--purple);margin-bottom:.28rem}.attendance-session-picker__icon,.attendance-filter-card__icon{width:2.75rem;height:2.75rem;color:var(--purple);background:var(--purple-soft);border-radius:var(--radius-md);box-shadow:none;border:1px solid #ded7f7;flex:none;place-items:center;display:grid}.attendance-session-picker__icon svg,.attendance-filter-card__icon svg{width:1.2rem;height:1.2rem}.attendance-session-count,.attendance-filter-card__count,.attendance-roster-card__header>span,.attendance-report-card__header>span{min-height:2rem;color:var(--orange-dark);background:var(--orange-soft);white-space:nowrap;border:1px solid #f1d5bb;border-radius:999px;align-items:center;gap:.35rem;padding:.38rem .7rem;font-size:.7rem;font-weight:760;display:inline-flex}.attendance-report-card__header>span svg{width:.9rem;height:.9rem}.attendance-selector--connected{background:var(--surface);gap:1rem;padding:1.15rem 1.4rem 1.4rem}.attendance-selector--connected .form-field{margin-bottom:0}.attendance-selector--connected .form-field>span:first-child,.attendance-filter-card .form-field>span:first-child,.attendance-bulk-bar label>span{color:var(--purple-dark);font-size:.75rem;font-weight:750}.attendance-selector--connected select,.attendance-filter-card select,.attendance-roster-card .attendance-bulk-bar select{border-radius:var(--radius-md);background:#faf9ff;border-color:#d8d1f7;min-height:3rem;padding-inline:.85rem}.attendance-selector--connected select:hover:not(:disabled),.attendance-filter-card select:hover:not(:disabled),.attendance-roster-card .attendance-bulk-bar select:hover:not(:disabled){border-color:#bdb0f0}.attendance-selector--connected select:focus,.attendance-filter-card select:focus,.attendance-roster-card .attendance-bulk-bar select:focus{background:var(--surface);border-color:var(--purple);box-shadow:var(--shadow-focus);outline:none}.attendance-session-summary.card{border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);background:linear-gradient(120deg,#fff 45%,#faf9ff);border-color:#dedaf0;padding:1.15rem 1.3rem;position:relative;overflow:hidden}.attendance-session-summary__calendar{width:2.75rem;height:2.75rem;color:var(--orange-dark);background:var(--orange-soft);border-radius:var(--radius-md);box-shadow:none;border-color:#f1d5bb}.attendance-roster-metrics{gap:.65rem}.attendance-roster-metrics>div{border-radius:var(--radius-md);background:#faf9ff;border:1px solid #e7e3fa;min-height:3.7rem;padding:.7rem .75rem}.attendance-roster-metrics>div:nth-child(2){background:#fffaf5;border-color:#f1dfd0}.attendance-roster-metrics>div:nth-child(2) svg,.attendance-roster-metrics>div:nth-child(2) strong{color:var(--orange-dark)}.attendance-roster-metrics>div:nth-child(3){background:var(--purple-soft);border-color:#ddd6fb}.attendance-roster-metrics strong{color:var(--purple-dark);font-size:1.12rem}.attendance-roster-card__header{min-height:5.6rem;padding:1.25rem 1.4rem 1rem}.attendance-roster-card .attendance-table th,.attendance-report-card .attendance-table th{color:var(--purple-dark);background:#faf9ff;border-bottom-color:#e7e3fa;padding-block:.78rem;font-size:.7rem}.attendance-roster-card .attendance-table td,.attendance-report-card .attendance-table td{padding-block:.9rem}.attendance-roster-table tbody tr:hover,.attendance-report-table tbody tr:hover{background:#fcfbff}.attendance-roster-table tbody tr.is-selected{background:var(--purple-soft);box-shadow:inset .22rem 0 var(--purple)}.attendance-roster-card .attendance-bulk-bar{z-index:3;background:linear-gradient(90deg,#faf9ff,#fffaf5);border-top:1px solid #e7e3fa;grid-template-columns:minmax(13rem,.85fr) minmax(13rem,1fr) auto;align-items:end;gap:1rem;padding:1rem 1.4rem;display:grid;position:sticky;bottom:0;box-shadow:0 -4px 14px #291e5614}.attendance-roster-card .attendance-bulk-bar label{min-width:0;margin:0}.attendance-roster-card .attendance-bulk-bar>span{color:var(--ink-soft);background:var(--surface);border:1px solid #e7e3fa;border-radius:999px;place-self:center start;margin:0;padding:.45rem .65rem}.attendance-roster-card .attendance-bulk-bar>span strong{color:var(--purple-dark)}.attendance-save-button{border-radius:var(--radius-md);min-width:10.5rem;min-height:3rem}.attendance-roster-card .attendance-pagination,.attendance-report-card .attendance-pagination{background:var(--surface);border-top-color:#e7e3fa;padding:.9rem 1.4rem}.attendance-roster-card .attendance-pagination .button--secondary,.attendance-report-card .attendance-pagination .button--secondary{color:var(--purple-dark);border-radius:var(--radius-sm);border-color:#cfc7f5}.attendance-roster-card .attendance-pagination .button--secondary:hover:not(:disabled),.attendance-report-card .attendance-pagination .button--secondary:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 7px 16px #7256e833}.attendance-filter-card__heading,.attendance-report-card__header{align-items:center;gap:.8rem;min-height:5.75rem;padding:1.25rem 1.4rem 1rem;display:flex}.attendance-filter-card__heading>div{min-width:0}.attendance-filter-card__count,.attendance-report-card__header>span{margin-left:auto}.attendance-filter-card .attendance-filter{width:min(22rem,100%);margin:0;padding:1.15rem 1.4rem 1.4rem}.attendance-filter-toolbar{background:var(--surface);grid-template-columns:minmax(11rem,.7fr) minmax(32rem,1.8fr);align-items:center;gap:1.25rem;padding:1.05rem 1.4rem 1.25rem;display:grid}.attendance-filter-toolbar__label{gap:.2rem;display:grid}.attendance-filter-toolbar__label strong{color:var(--ink);font-size:.8rem}.attendance-filter-toolbar__label span{color:var(--ink-muted);font-size:.68rem;line-height:1.4}.attendance-status-filters{justify-content:flex-end;align-items:center;gap:.45rem;min-width:0;display:flex}.attendance-status-filter{min-height:2.45rem;color:var(--ink-soft);background:var(--surface);font:inherit;white-space:nowrap;cursor:pointer;border:1px solid #dedaf0;border-radius:999px;justify-content:center;align-items:center;gap:.42rem;padding:.5rem .72rem;font-size:.72rem;font-weight:720;transition:color .16s,background-color .16s,border-color .16s,box-shadow .16s,transform .16s;display:inline-flex}.attendance-status-filter:hover{color:var(--purple-dark);background:#faf9ff;border-color:#bdb0f0;transform:translateY(-1px)}.attendance-status-filter:focus-visible{box-shadow:var(--shadow-focus);outline:none}.attendance-status-filter.is-active{color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 7px 16px #7256e838}.attendance-status-filter__dot{background:#8f96a3;border-radius:50%;flex:none;width:.42rem;height:.42rem}.attendance-status-filter__dot.is-present{background:#159b72}.attendance-status-filter__dot.is-late{background:var(--orange)}.attendance-status-filter__dot.is-absent{background:#d84756}.attendance-status-filter__dot.is-excused{background:#3f7fcb}.attendance-status-filter__dot.is-unmarked{background:#8f96a3}.attendance-status-filter.is-active .attendance-status-filter__dot{background:#fff;box-shadow:0 0 0 3px #fff3}.attendance-status-filter-select{border-radius:var(--radius-md);background:#faf9ff;border:1px solid #d8d1f7;width:100%;min-height:3rem;padding:.65rem .8rem;display:none}.attendance-report-card__header{justify-content:space-between}.attendance-report-card__header h2{margin-bottom:0}.attendance-report-card__header>.attendance-report-card__hint{color:var(--purple-dark);background:var(--purple-soft);border-color:#ddd6fb}.attendance-report-card>.attendance-table-scroll{box-shadow:none;border:0;border-radius:0}.attendance-report-table tbody tr{cursor:pointer;transition:background-color .16s,box-shadow .16s}.attendance-report-table tbody tr:hover{box-shadow:inset .2rem 0 var(--orange)}.attendance-report-learner{align-items:center;gap:.65rem;min-width:10.75rem;display:flex}.attendance-report-class{align-items:center;gap:.65rem;min-width:9.75rem;display:flex}.attendance-report-learner__avatar,.attendance-report-class__icon{border-radius:var(--radius-sm);flex:none;place-items:center;width:2.25rem;height:2.25rem;display:grid}.attendance-report-learner__avatar{color:var(--purple-dark);background:var(--purple-soft);border:1px solid #ddd6fb;border-radius:50%;font-size:.68rem;font-weight:820}.attendance-report-class__icon{color:var(--orange-dark);background:var(--orange-soft);border:1px solid #f1d5bb}.attendance-report-class__icon svg{width:1rem;height:1rem}.attendance-report-card .attendance-marked-at{min-width:8.75rem;color:var(--ink-soft);font-size:.76rem}.attendance-correction-reason{max-width:14rem;color:var(--ink-soft);font-size:.76rem;line-height:1.4}.attendance-action-column{text-align:right;width:6.75rem}.attendance-action-column .button{min-width:5.75rem;color:var(--purple-dark);border-radius:var(--radius-sm);background:#fff;border-color:#cfc7f5}.attendance-action-column .button:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 7px 16px #7256e833}.attendance-correction-card.card{border-radius:var(--radius-lg);border-color:#dedaf0;padding:0;overflow:hidden;box-shadow:0 22px 60px #1e163d33}.attendance-correction-card__header{background:linear-gradient(120deg,#fbfaff,#fff7ef);border-bottom:1px solid #e7e3fa;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;margin:0;padding:1.15rem 1.25rem;display:grid}.attendance-correction-card__header>div{min-width:0}.attendance-correction-card__header h2{margin:0;font-size:1.2rem}.attendance-correction-card__header p:not(.eyebrow){color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;margin:.2rem 0 0;font-size:.72rem;overflow:hidden}.attendance-correction-card__icon{width:2.65rem;height:2.65rem;color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-md);border:1px solid #ddd6fb;place-items:center;display:grid}.attendance-correction-card__icon svg{width:1.15rem;height:1.15rem}.attendance-correction-context-line{color:var(--ink-soft);background:#fcfbff;border-bottom:1px solid #ece9f8;align-items:center;gap:.5rem;margin:0;padding:.8rem 1.25rem;font-size:.74rem;display:flex}.attendance-correction-context-line:before{content:"";background:var(--orange);width:.45rem;height:.45rem;box-shadow:0 0 0 4px var(--orange-soft);border-radius:50%;flex:none}.attendance-correction-form{gap:1rem;padding:1.2rem 1.25rem 1.3rem;display:grid}.attendance-correction-form>.form-alert,.attendance-correction-form>.form-field{width:100%;margin:0}.attendance-correction-form>.form-field{gap:.45rem}.attendance-correction-form>.form-field>span:first-child{color:var(--ink);font-size:.75rem;font-weight:760}.attendance-correction-form select,.attendance-correction-form textarea{border-radius:var(--radius-md);border-color:#d8d1f7;width:100%}.attendance-correction-form select{background:#faf9ff;min-height:3rem}.attendance-correction-form textarea{resize:vertical;min-height:7.25rem;padding:.8rem .9rem;line-height:1.5}.attendance-correction-form select:hover,.attendance-correction-form textarea:hover{border-color:#bdb0f0}.attendance-correction-form select:focus,.attendance-correction-form textarea:focus{border-color:var(--purple);box-shadow:var(--shadow-focus);background:#fff;outline:none}.attendance-correction-form__reason-label{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.attendance-correction-form__reason-label small{color:var(--orange-dark);background:var(--orange-soft);white-space:nowrap;border-radius:999px;padding:.25rem .45rem;font-size:.61rem;font-weight:700}.attendance-correction-form__count{color:var(--ink-muted);text-align:right;font-size:.66rem}.attendance-correction-form__count.is-valid{color:#14775a;font-weight:700}.attendance-correction-card>.form-actions{background:linear-gradient(90deg,#faf9ff,#fffaf5);border-top:1px solid #e7e3fa;margin:1.1rem 0 0;padding:1rem 1.25rem}.attendance-correction-card>.form-actions .button{border-radius:var(--radius-sm);min-width:9.5rem;min-height:2.75rem}.attendance-correction-card>.attendance-correction-card__footer{margin-top:0}.attendance-correction-card__footer .button--secondary{color:var(--purple-dark);border-color:#cfc7f5}.attendance-correction-card__footer .button--secondary:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple)}.card.attendance-stats-card{border-radius:var(--radius-lg);border-color:#dedaf0;padding:0;position:relative;overflow:hidden;box-shadow:0 10px 28px #41308212}.attendance-stats-card>.card__header{background:linear-gradient(120deg,#fbfaff,#fffaf5);border-bottom:1px solid #e7e3fa;align-items:center;margin:0;padding:1.3rem 1.4rem 1rem}.attendance-stats-card .attendance-rate{color:var(--orange-dark);background:var(--orange-soft);border-radius:var(--radius-md);border:1px solid #f1d5bb;padding:.45rem .75rem;font-size:1.65rem;line-height:1}.attendance-stats-card .attendance-stat-grid{gap:.7rem;padding:1.1rem 1.4rem .8rem}.attendance-stats-card .attendance-stat{border-radius:var(--radius-md);background:#faf9ff;border:1px solid #e7e3fa;align-content:space-between;min-height:5.2rem;padding:.75rem}.attendance-stats-card .attendance-stat:nth-child(2n){background:#fffaf5;border-color:#f1dfd0}.attendance-stats-card .attendance-stat strong{color:var(--purple-dark)}.attendance-stats-card .attendance-stat:nth-child(2n) strong{color:var(--orange-dark)}.attendance-stats-card>.muted-copy{margin:0;padding:0 1.4rem 1.15rem;font-size:.72rem}.attendance-empty-card.card{border-radius:var(--radius-lg);border-color:#dedaf0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.card-skeleton .skeleton-line{animation:none}}@media (max-width:80rem){.category-management-grid{grid-template-columns:1fr}}@media (max-width:84rem){.learning-workspace{grid-template-columns:15rem minmax(28rem,1fr)}.learning-workspace--details-open .lesson-panel{z-index:80;width:min(22rem,100vw - 1rem);display:block;position:fixed;inset:0 0 0 auto;box-shadow:-18px 0 45px #1214192e}.learning-workspace--details-open .lesson-panel-backdrop{z-index:70;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#08090c6b;border:0;width:100%;padding:0;display:block;position:fixed;inset:0}}@media (max-width:75rem){.hero__grid{grid-template-columns:1fr 1fr;gap:3rem}.floating-card--mentor{right:.5rem}.floating-card--progress{left:.5rem}.feature-grid,.resource-card-grid,.enrollment-access-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-filter-toolbar{grid-template-columns:1fr;gap:.75rem}.attendance-status-filters{justify-content:flex-start;padding-bottom:.2rem;overflow-x:auto}.enrollment-course-navigator__header{grid-template-columns:auto minmax(0,1fr)}.enrollment-course-search{grid-column:1/-1}.enrollment-assignment-bar{grid-template-columns:minmax(12rem,.75fr) minmax(14rem,1fr)}.enrollment-assignment-bar>.button{grid-column:1/-1;width:100%}.enrollment-assignment-bar__note{grid-column:1/-1}.enrollment-learner-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.enrollment-learner-toolbar__heading,.enrollment-learner-search{grid-column:span 1}}@media (max-width:62rem){.desktop-nav{display:none}.mobile-nav-trigger,.mobile-nav{display:grid}.hero__grid,.why-feature-layout{grid-template-columns:1fr}.hero__copy{text-align:center}.hero__copy>p{margin-inline:auto}.hero__actions,.hero__proof{justify-content:center}.hero__visual{width:min(100%,38rem);margin-inline:auto}.trust-strip .container{flex-direction:column;justify-content:center;align-items:flex-start;padding-block:1.5rem}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:1/-1}.story-grid,.course-hero__grid,.course-body{grid-template-columns:1fr}.principle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.enrollment-card{position:static}.partner-panel{flex-direction:column;align-items:flex-start}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.assignment-type-chooser{grid-template-columns:1fr}.assignment-workspace-filters--learner{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-workspace-filters--learner .assignment-workspace-search{grid-column:1/-1}.assignment-workspace-filters--learner .button{width:100%}.portal-shell,.portal-shell.sidebar-collapsed{display:block}.desktop-sidebar{display:none}.sidebar-open{display:grid}.portal-topbar{padding-inline:1rem}.mobile-sidebar{z-index:60;width:var(--sidebar);display:block;position:fixed;inset:0 auto 0 0}.mobile-sidebar .portal-sidebar{width:100%;height:100%;position:static}.mobile-sidebar .sidebar-collapse{display:none}.mobile-sidebar .sidebar-close{display:grid}.sidebar-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#08090c8c;display:block;position:fixed;inset:0}.profile-copy{display:none}.learning-workspace{grid-template-columns:14rem minmax(28rem,1fr)}.user-management-summary,.trainer-students-summary,.student-progress-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.trainer-project-detail-page .homework-detail-grid{grid-template-columns:1fr}.trainer-project-history-card{position:static}.trainer-project-submission-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-page,.registration-page{display:block}.auth-aside{min-height:auto;padding:2.5rem 1.25rem;display:block}.auth-aside>div{margin-top:4rem}.auth-main,.registration-page>aside,.registration-page>main{padding:2.5rem 1.25rem}.filter-bar__toggle{display:inline-flex}.filter-bar__controls{flex-direction:column;align-items:stretch;padding-top:.75rem;display:none}.filter-bar__controls--open{display:flex}.filter-bar__field,.filter-bar__field--search{min-width:0}.filter-bar__clear{width:100%}}@media (max-width:48rem){.attendance-management-page>.page-header{padding:1.25rem}.attendance-session-picker__header,.attendance-roster-card__header,.attendance-filter-card__heading,.attendance-report-card__header{flex-wrap:wrap;align-items:flex-start;min-height:0;padding:1.15rem 1rem 1rem}.attendance-session-picker__header,.attendance-filter-card__heading{grid-template-columns:auto minmax(0,1fr);display:grid}.attendance-session-picker__header>div,.attendance-filter-card__heading>div{grid-column:2}.attendance-session-picker__header .attendance-session-count,.attendance-filter-card__heading .attendance-filter-card__count{grid-column:2;justify-self:start}.attendance-session-count,.attendance-filter-card__count,.attendance-report-card__header>span{margin-left:0}.attendance-selector--connected,.attendance-session-summary.card{grid-template-columns:1fr;padding:1rem}.attendance-roster-metrics{grid-template-columns:1fr}.attendance-roster-card .attendance-bulk-bar{grid-template-columns:1fr;padding:1rem}.attendance-roster-card .attendance-bulk-bar>span{justify-content:center;width:100%}.attendance-save-button{width:100%}.attendance-roster-card .attendance-pagination,.attendance-report-card .attendance-pagination,.attendance-filter-card .attendance-filter,.attendance-filter-toolbar{padding:1rem}.attendance-status-filters{display:none}.attendance-status-filter-select{display:block}.attendance-report-card__header>.attendance-report-card__hint{width:auto}.attendance-stats-card>.card__header{align-items:flex-start;padding:1.15rem 1rem 1rem}.attendance-stats-card .attendance-stat-grid{padding:1rem}.attendance-stats-card>.muted-copy{padding:0 1rem 1rem}.enrollment-course-navigator__header{grid-template-columns:auto minmax(0,1fr);padding:1rem}.enrollment-course-navigator__header>div{grid-column:2}.enrollment-course-search{grid-column:1/-1}.enrollment-course-switcher{grid-template-columns:1fr;padding:.8rem 1rem 1rem}.enrollment-assignment-bar,.enrollment-learner-toolbar{grid-template-columns:1fr;padding:1rem}.enrollment-assignment-bar>.button,.enrollment-learner-toolbar__heading,.enrollment-learner-search,.enrollment-assignment-bar__note{grid-column:auto}.enrollment-learner-pagination{flex-direction:column;align-items:stretch}.enrollment-learner-pagination>div{justify-content:space-between}.enrollment-learner-pagination .button{flex:1}.container{width:min(calc(100% - 1.5rem),var(--container))}.page{padding-block:2.5rem}.section{padding-block:4rem}.site-header__inner{min-height:4.1rem}.logo img{width:9rem}.hero{padding-top:2.5rem}.hero__copy h1{font-size:clamp(2.65rem,13vw,4rem)}.hero__visual>img{border-radius:var(--radius-lg)}.story-grid>.card{grid-template-columns:1fr;gap:1.5rem}.story-grid>.card>img{height:min(28rem,70vw)}.floating-card{display:none}.trust-strip .container>div{gap:1.25rem;font-size:.8rem}.section-heading,.page-header,.ask-header{flex-direction:column;align-items:flex-start}.section-heading .text-link{margin-top:-.8rem}.course-grid,.feature-grid,.outcome-card,.outcome-card ul,.news-grid,.principle-grid,.outcomes-list{grid-template-columns:1fr}.principle-grid .card{min-height:0}.principle-card__top{margin-bottom:1.75rem}.news-grid>a:first-child{grid-column:auto}.outcome-card{padding:1.5rem}.outcome-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.cta-section .container>div>div{flex-direction:column}.steps-grid{grid-template-columns:1fr}.steps-grid article{border-right:0;border-bottom:1px solid var(--border)}.steps-grid article>span{margin-bottom:1.5rem}.partner-panel{padding:1.5rem}.footer-grid{grid-template-columns:1fr;gap:2rem}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;align-items:flex-start}.course-hero__grid{gap:2rem}.milestone-grid,.dashboard-metric-grid{grid-template-columns:1fr}.dashboard-page>.page-header,.live-classes-page>.page-header{padding:1.25rem}.live-class-filter-bar{padding:.9rem}.live-class-dialog{max-height:calc(100vh - 1.5rem)!important}.live-class-dialog>header{margin:0!important;padding:1rem 1.25rem!important}.live-class-form__body,.live-class-dialog__body{padding:1rem 1.25rem!important}.live-class-dialog .form-actions,.live-class-form__actions{padding:.85rem 1.25rem!important}.live-class-deadline{flex-wrap:wrap;align-items:flex-start}.live-class-deadline>.countdown-timer{width:100%;padding-left:3.15rem}.dashboard-section>.card__header{min-height:4.25rem;padding-inline:1rem}.dashboard-section>.card,.dashboard-section>.error-state{margin:.8rem}.dashboard-section>.dashboard-action-list,.dashboard-section>.milestone-grid{padding:.8rem}.dashboard-action-link{flex-wrap:wrap}.dashboard-action-link__copy{min-width:11rem}.dashboard-action-list--limited .dashboard-action-link{gap:.5rem;padding-inline:.75rem}.dashboard-action-list--limited .dashboard-action-link__copy{min-width:0}.dashboard-schedule-row{grid-template-columns:1fr auto}.dashboard-schedule-row__attendance{grid-column:1/-1}.dashboard-schedule-row .button{width:100%}.course-body{gap:2rem;padding-block:2.5rem}.article{padding-top:2rem}.article h1{margin-top:1rem;font-size:clamp(2.1rem,10vw,3rem)}.article-cta{flex-direction:column;align-items:flex-start}.form-grid,.segmented{grid-template-columns:1fr}.form-field--wide{grid-column:auto}.confirmation-card{padding:2rem 1.25rem}.confirmation-card>div:not(.next-steps){flex-direction:column}.portal-content{padding:1rem}.topbar-search{flex-basis:100%;order:4;width:100%;margin-right:0;display:flex}.portal-topbar{flex-wrap:wrap;justify-content:flex-start}.global-search-dropdown{width:calc(100vw - 2rem)}.portal-topbar>.icon-button,.notification-menu{margin-left:auto}.notification-panel{width:min(28rem,100vw - 1.5rem);max-height:calc(100vh - 5rem);position:fixed;top:4.35rem;right:.75rem}.page-header__actions,.page-header__actions .button,.page-header__actions .button-group{width:100%}.registration-queue-bar{align-items:stretch}.registration-queue-metrics{width:100%}.registration-queue-metrics span{flex:1;justify-content:center}.registration-requests-page .review-dialog>header{margin:-1rem -1rem 1.25rem;padding:1rem}.category-management-grid{grid-template-columns:1fr}.category-catalog-card__header{flex-direction:column;align-items:flex-start}.category-catalog-card__tools{justify-content:space-between;width:100%}.category-catalog-card table{min-width:42rem}.trainer-management-card__header{flex-direction:column;align-items:flex-start}.trainer-management-card__hint{display:none}.trainer-row-actions{justify-content:flex-start;min-width:0}.trainer-management-card table{min-width:52rem}.stats-grid,.resource-card-grid,.student-course-overview{grid-template-columns:1fr}.student-course-card .resource-card__footer{flex-direction:column;align-items:stretch}.student-course-card__action{width:100%}.continue-card{display:block}.continue-card>div{padding:1.25rem}.continue-card>img{display:none}.dashboard-grid--secondary{grid-template-columns:1fr}.column-secondary{display:none}.table-toolbar,.filter-row{flex-direction:column;align-items:stretch}.trainer-students-card__heading{grid-template-columns:auto minmax(0,1fr);align-items:start;padding:1rem}.trainer-students-card__count{grid-column:1/-1;justify-content:center}.trainer-students-filter label{flex-direction:column;align-items:stretch}.trainer-students-filter label>svg{display:none}.trainer-students-filter select{width:100%;margin-left:0}.student-progress-card__heading{grid-template-columns:auto minmax(0,1fr);align-items:start;padding:1rem}.student-progress-card__count{grid-column:1/-1;justify-content:center}.student-progress-filter label{flex-direction:column;align-items:stretch}.student-progress-filter label>svg{display:none}.student-progress-filter select{width:100%;margin-left:0}.student-progress-card .table-scroll{background:#faf9ff;padding:.8rem;overflow:visible}.student-progress-card table,.student-progress-card thead,.student-progress-card tbody,.student-progress-card tr,.student-progress-card th,.student-progress-card td{min-width:0;display:block}.student-progress-card thead{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.student-progress-card tbody{gap:.75rem;display:grid}.student-progress-card tbody tr{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);border:1px solid #e2dcf7;overflow:hidden}.student-progress-card td,.student-progress-card td.column-secondary{border-bottom:1px solid var(--border);text-align:right;justify-content:space-between;align-items:center;gap:1rem;min-height:2.7rem;padding:.65rem .75rem;display:flex}.student-progress-card td:last-child{border-bottom:0;width:auto}.student-progress-card td:before{color:var(--ink-faint);content:attr(data-label);letter-spacing:.03em;text-transform:uppercase;flex:none;font-size:.65rem;font-weight:750}.student-progress-card td:last-child:before{display:none}.student-progress-card td:first-child{align-items:flex-start}.student-progress-card td:first-child:before{padding-top:.7rem}.student-progress-identity,.student-progress-course{justify-content:flex-end;min-width:0}.student-progress-meter{width:min(11rem,60vw)}.trainer-project-detail-page>.page-header{padding:1.25rem}.trainer-project-submissions-card__header{grid-template-columns:auto minmax(0,1fr);align-items:start;padding:1rem}.trainer-project-submissions-card__count{grid-column:1/-1;justify-content:center}.trainer-project-submission-summary{padding:.8rem}.trainer-project-submissions-card .table-toolbar{align-items:stretch}.trainer-project-review-fields{grid-template-columns:1fr}.trainer-project-submissions-card .table-scroll{background:#faf9ff;padding:.8rem;overflow:visible}.trainer-project-submissions-card table,.trainer-project-submissions-card thead,.trainer-project-submissions-card tbody,.trainer-project-submissions-card tr,.trainer-project-submissions-card th,.trainer-project-submissions-card td{min-width:0;display:block}.trainer-project-submissions-card thead{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.trainer-project-submissions-card tbody{gap:.75rem;display:grid}.trainer-project-submissions-card tbody tr{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);border:1px solid #e2dcf7;overflow:hidden}.trainer-project-submissions-card td,.trainer-project-submissions-card td.column-secondary{border-bottom:1px solid var(--border);text-align:right;justify-content:space-between;align-items:center;gap:1rem;min-height:2.7rem;padding:.65rem .75rem;display:flex}.trainer-project-submissions-card td:last-child{text-align:right;border-bottom:0;width:auto}.trainer-project-submissions-card td:before{color:var(--ink-faint);content:attr(data-label);letter-spacing:.03em;text-transform:uppercase;flex:none;font-size:.65rem;font-weight:750}.trainer-project-submissions-card td:first-child{align-items:flex-start}.trainer-project-submissions-card td:first-child:before{padding-top:.7rem}.trainer-project-submissions-card .trainer-project-student{justify-content:flex-end;min-width:0}.trainer-project-submissions-card .trainer-project-submission-actions{flex-wrap:wrap;min-width:0}.user-management-card__heading{flex-direction:column;align-items:flex-start}.user-role-filter{flex-direction:column;align-items:stretch}.user-role-filter>svg{display:none}.user-role-filter select{width:100%;margin-left:0}.deadline-banner{flex-wrap:wrap;align-items:flex-start}.deadline-banner__countdown{text-align:left;width:100%;padding-left:3.1rem}.table-search{width:100%}.filter-row>span{margin-left:0}.modal-backdrop{place-items:end center;padding:.75rem}.review-dialog{border-radius:var(--radius-md);max-height:calc(100vh - 1.5rem);padding:1rem}.review-summary{grid-template-columns:1fr}.review-dialog>footer{flex-direction:column-reverse;align-items:stretch}.user-control-dialog__footer>.button,.user-control-dialog__footer>div,.user-control-dialog__footer>div .button{width:100%}.homework-detail-grid,.assignment-detail-page .homework-detail-grid{grid-template-columns:1fr}.assignment-detail-page .homework-detail-sidebar{position:static}.assignment-detail-card>.card__header{align-items:flex-start}.assignment-submission-card .homework-submit-form>.button--primary{justify-self:stretch;width:100%}.assignment-workspace-filters{grid-template-columns:1fr;align-items:stretch}.assignment-workspace-filters .button{width:100%}.assignment-workspace-tabs{overflow-x:visible}.assignment-workspace-tabs a{flex:1 1 0;min-width:0;padding-inline:.35rem;font-size:.69rem}.assignment-workspace-tabs a svg{display:none}.assignment-workspace-list .assignment-table-scroll{overflow:visible}.assignment-workspace-table{min-width:0}.assignment-type-chooser{align-items:stretch}.assignment-type-chooser__actions{grid-template-columns:1fr}.homework-info,.rubric-editor{grid-template-columns:1fr 1fr}.rubric-editor input:nth-child(2){grid-column:1/-1}.homework-dialog{max-height:calc(100vh - 1.5rem);padding:1rem}.homework-attachment-viewer{grid-template-columns:1fr}.homework-attachment-card{grid-template-columns:3.5rem minmax(0,1fr) auto}.homework-attachment-card__preview{width:3.5rem}.assignment-grade-fields{grid-template-columns:1fr}.assignment-create-dialog>form{padding-bottom:env(safe-area-inset-bottom)}.resource-card__media>img{aspect-ratio:2}.page-help{align-items:flex-start}.page-help a{display:none}.calendar-grid{grid-template-columns:repeat(7,minmax(6rem,1fr));overflow-x:auto}.calendar-day{min-height:6rem}.settings-layout{grid-template-columns:1fr}.settings-layout>nav{display:flex;overflow-x:auto}.settings-layout>nav button{flex:none}.notification-preference-grid__header,.notification-preference-row{grid-template-columns:minmax(0,1fr) 4rem 4rem}.settings-sessions__heading,.settings-session-list li{flex-direction:column;align-items:stretch}.learning-workspace{display:block}.lesson-sidebar{display:none}.lesson-main>header{padding:1rem}.video-player,.lesson-actions,.lesson-content{margin:1rem}.lesson-completion-error{margin:-.25rem 1rem 0}.lesson-actions>span{display:none}.lesson-content{padding:1.25rem}.lesson-content__toolbar{margin:-1.25rem -1.25rem 1.25rem;padding:.55rem 1.25rem 0}.lesson-content__nav{gap:1rem;width:100%}.lesson-content__nav-btn{flex:1;justify-content:center}.ask-page{height:calc(100dvh - 11rem)}.ask-layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.ask-page .ask-layout>aside{border-right:0;border-bottom:1px solid var(--border);max-height:12rem;display:block}.tara-mode-picker{grid-template-columns:1fr}.ask-page .message{width:94%;max-width:94%}.message{max-width:90%}.course-content-workspace__header{grid-template-columns:auto minmax(0,1fr);padding:1.15rem}.course-content-workspace__close{width:100%}.course-content-workspace__actions{grid-column:1/-1;justify-content:stretch}.course-content-workspace__actions .button{flex:1}.course-content-workspace__body{padding:.85rem}.course-content-composer,.lesson-composer-grid,.lesson-resource-grid{grid-template-columns:1fr}.lesson-composer-grid__content{grid-column:auto}.content-composer-panel__actions .button{width:100%}.course-outline-workspace>header{flex-direction:column;align-items:flex-start}.module-workflow-node__header{grid-template-columns:auto minmax(0,1fr) auto}.module-workflow-node__actions{grid-column:1/-1;justify-content:flex-start}.lesson-workflow-row{grid-template-columns:auto minmax(0,1fr);padding-left:.8rem}.lesson-workflow-row__actions{grid-column:1/-1;justify-content:flex-start}.module-workflow-node__children{padding-left:.7rem}.course-enrollment-panel__controls{flex-direction:column;align-items:stretch}.course-enrollment-panel__controls .button{width:100%}.enrollment-course-card__header{grid-template-columns:auto minmax(0,1fr) auto}.enrollment-course-card__metrics{grid-column:1/-1;padding-left:3.65rem}.enrollment-assignment-bar{grid-template-columns:1fr}.enrollment-assignment-bar__note{grid-column:auto;margin-top:0}.enrollment-assignment-bar .button{width:100%}}@media (max-width:30rem){.lesson-actions{gap:.5rem}.lesson-complete-status{min-width:0;padding-inline:.55rem}.lesson-complete-status small{display:none}.user-management-summary,.trainer-students-summary,.student-progress-summary,.trainer-project-submission-summary{grid-template-columns:1fr}.registration-queue-metrics{flex-direction:column;align-items:stretch}.registration-review-button{width:100%}.course-management-card .resource-card__footer{flex-wrap:wrap;align-items:stretch}.course-card__lesson-count,.course-card__actions{width:100%}.course-card__actions{justify-content:stretch}.course-card__manage-button{flex:1}.enrollment-access-summary{grid-template-columns:1fr}.enrollment-course-card__header{grid-template-columns:auto minmax(0,1fr)}.enrollment-course-card__header>.badge{grid-column:1/-1;width:-moz-fit-content;width:fit-content;margin-left:3.65rem}.enrollment-course-card__metrics{padding-left:0}.enrollment-course-card__metrics span{flex:1}}.practice-page,.practice-workspace{--practice-purple:#6d4aff;--practice-orange:#ff8420}.practice-context-bar{color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-md);border:1px solid #ded7f7;align-items:center;gap:.65rem;margin:0 0 1rem;padding:.7rem .85rem;font-size:.8rem;font-weight:700;display:flex}.practice-context-bar span{flex:1}.course-content-workspace__actions{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.course-content-workspace__practice-link{white-space:nowrap;align-items:center;gap:.4rem;display:inline-flex}.course-content-workspace__practice-link svg{width:1rem;height:1rem}.practice-page>.page-header,.practice-workspace>.page-header{background:linear-gradient(135deg,#6d4aff1a,#ff842014);border:1px solid #6d4aff1f;border-radius:1.25rem;padding:1.4rem 1.5rem}.practice-layout{grid-template-columns:minmax(16rem,.8fr) minmax(0,1.4fr);align-items:start;gap:1.25rem;display:grid}.practice-list-heading,.practice-section-heading,.practice-problem-card__top,.practice-problem-card__footer{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.practice-list-heading{margin:1.5rem 0 .75rem}.practice-card-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;display:grid}.practice-table-card{margin-top:0}.practice-table-card .data-table td:last-child,.practice-table-card .data-table th:last-child{text-align:left}.practice-table-language{color:var(--purple-dark);background:var(--purple-soft);text-transform:capitalize;border:1px solid #ded7f7;border-radius:999px;padding:.3rem .55rem;font-size:.7rem;font-weight:700;display:inline-flex}.practice-final-score{color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:700}.practice-final-score.is-complete{color:var(--purple-dark)}.practice-problem-card{border:1px solid var(--border-subtle,#e7e4ef);padding:1.15rem}.practice-problem-card h3{margin:.85rem 0 .45rem}.practice-problem-card p{min-height:3rem;color:var(--text-muted,#6b6880);line-height:1.5}.practice-problem-card__footer{color:var(--text-muted,#6b6880);margin-top:1rem;font-size:.85rem}.practice-difficulty{color:var(--practice-purple);text-transform:capitalize;font-size:.78rem;font-weight:700}.practice-editor-card,.practice-review-card{padding:1.25rem}.practice-editor-card h2,.practice-review-card h2{align-items:center;gap:.45rem;margin:0;display:flex}.practice-authoring{align-content:start;gap:1rem;display:grid}.practice-authoring--full{margin-top:1.25rem;scroll-margin-top:1rem}.practice-management-page>.page-header{order:1}.practice-management-page>.assignment-workspace-tabs{order:2}.practice-management-page>.practice-authoring{order:3;margin-top:0}.practice-management-page>.practice-context-bar,.practice-management-page>.form-alert{order:4}.practice-management-page>.filter-bar{order:5}.practice-management-page>.practice-table-card,.practice-management-page>.empty-state{order:6}.practice-section-actions{justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.practice-authoring .practice-editor-card{border-radius:var(--radius-lg);border-color:#ded8f2;box-shadow:0 10px 26px #3c2c7e0f}.practice-authoring-notice{color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-md);border:1px solid #ddd5fb;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;margin:1rem 0;padding:.8rem .9rem;display:grid}.practice-authoring-notice--published{color:#8c4a0f;background:var(--orange-soft);border-color:#f1d0ad}.practice-authoring-notice>svg{width:1.1rem;height:1.1rem}.practice-authoring-notice p{color:var(--ink-soft);margin:.15rem 0 0;font-size:.72rem;line-height:1.45}.practice-authoring-notice .button{min-width:8.5rem}.practice-authoring-actions{border-top:1px solid #ebe7f7;align-items:center;margin-top:1.1rem;padding-top:1rem}.practice-authoring .form-field :disabled{color:var(--ink-faint);cursor:not-allowed;background:#f3f1f7}.practice-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1rem;display:grid}.practice-form-grid__wide{grid-column:1/-1}.practice-form-grid textarea,.practice-form-grid input,.practice-form-grid select,.practice-inline-form input{width:100%}.code-textarea,.practice-statement-preview,.practice-code-input{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.84rem;line-height:1.6}.practice-inline-form{grid-template-columns:1.2fr 1.2fr .6fr auto auto;gap:.6rem;margin:1rem 0;display:grid}.practice-test-row{border-top:1px solid var(--border-subtle,#e7e4ef);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;align-items:center;gap:.6rem;padding:.7rem 0;display:grid}.practice-row-actions{justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.practice-row-actions .button{min-width:5.25rem}.practice-json-hint{color:var(--ink-soft);border-radius:var(--radius-xs);background:#faf9ff;border:1px solid #ebe7fa;margin:-.35rem 0 .9rem;padding:.65rem .75rem;font-size:.7rem;line-height:1.5}.practice-json-hint code{color:var(--purple-dark);font-weight:750}.practice-inline-edit{border-radius:var(--radius-md);background:linear-gradient(120deg,#faf9ff,#fffaf5);border:1px solid #ded7f7;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 6rem auto minmax(11rem,auto);align-items:end;gap:.6rem;margin-top:.7rem;padding:.8rem;display:grid}.practice-inline-edit--example{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(11rem,auto)}.practice-inline-edit>label{min-width:0;color:var(--ink-soft);gap:.3rem;font-size:.68rem;font-weight:750;display:grid}.practice-inline-edit input{width:100%;min-width:0}.practice-inline-edit__checkbox{align-content:center;min-height:2.75rem}.practice-inline-edit__actions{justify-content:flex-end;gap:.4rem;display:flex}.practice-test-row code,.practice-example code{color:#3e2c8e;overflow-wrap:anywhere;background:#f7f5ff;border-radius:.5rem;padding:.4rem .55rem}.checkbox-field{white-space:nowrap;align-items:center;gap:.35rem;font-size:.85rem;display:flex}.practice-runner-notice{color:#8c4a0f;background:#fff6ec;border-radius:.75rem;gap:.7rem;margin-top:1rem;padding:.85rem;display:flex}.practice-runner-notice p{margin:.2rem 0 0;font-size:.85rem;line-height:1.45}.practice-execution-error{color:#9f1239;background:#fff1f2;border:1px solid #fecaca;border-radius:.75rem;align-items:flex-start;gap:.65rem;margin-top:1rem;padding:.85rem 1rem;font-size:.9rem;display:flex}.practice-results{background:#fff;border:1px solid #e5e0f5;border-radius:.9rem;margin-top:1rem;overflow:hidden}.practice-results-summary{background:#faf9ff;border-bottom:1px solid #ece8f8;align-items:center;gap:.8rem;padding:1rem;display:flex}.practice-results-summary h3{margin:.15rem 0 0;font-size:1rem}.practice-result-icon{border-radius:.7rem;flex:none;place-items:center;width:2.45rem;height:2.45rem;display:grid}.practice-result-icon--passed{color:#15803d;background:#dcfce7}.practice-result-icon--failed,.practice-result-icon--error{color:#be123c;background:#ffe4e6}.practice-result-icon svg{width:1.3rem;height:1.3rem}.practice-score-block{color:#504766;align-items:baseline;gap:.3rem;margin-left:auto;display:flex}.practice-score-block strong{color:#6c4cff;font-size:1.6rem;line-height:1}.practice-score-block span{font-size:.8rem;font-weight:700}.practice-case-list{gap:.65rem;padding:.8rem;display:grid}.practice-case{background:#fff;border:1px solid #ece8f8;border-left-width:3px;border-radius:.65rem;padding:.75rem .85rem}.practice-case--passed{border-left-color:#22c55e}.practice-case--failed{border-left-color:#f97316}.practice-case-heading,.practice-case-heading>span{align-items:center;gap:.45rem;display:flex}.practice-case-heading{justify-content:space-between;font-size:.86rem;font-weight:800}.practice-case--passed .practice-case-heading>span{color:#15803d}.practice-case--failed .practice-case-heading>span{color:#c2410c}.practice-case-heading small{color:#777083;font-weight:600}.practice-case-values{gap:.35rem;margin-top:.6rem;display:grid}.practice-case-values code,.practice-hidden-test{color:#625a70;margin:0;font-size:.8rem}.practice-case-error{white-space:pre-wrap;color:#9a3412;background:#fff7ed;border-radius:.5rem;max-height:10rem;margin:.6rem 0 0;padding:.65rem;font-size:.75rem;overflow:auto}.practice-workspace>.assignment-workspace-tabs{margin-bottom:.15rem}.practice-workspace-grid{grid-template-columns:minmax(22rem,.92fr) minmax(28rem,1.08fr);align-items:start;gap:1rem;display:grid}.practice-statement-card,.practice-code-card{border-radius:var(--radius-lg);border-color:#ded8f3;padding:0;overflow:hidden;box-shadow:0 12px 30px #372a6f12}.practice-panel-heading{background:linear-gradient(120deg,#fff,var(--purple-soft));border-bottom:1px solid #e8e3fa;justify-content:space-between;align-items:center;gap:1rem;min-height:5.25rem;padding:1rem 1.25rem;display:flex}.practice-panel-heading .eyebrow{color:var(--purple);margin-bottom:.2rem}.practice-panel-heading h2{margin:0;font-size:1.35rem}.practice-code-heading{background:linear-gradient(120deg,#fff 55%,var(--orange-soft))}.practice-code-heading .button{color:var(--purple-dark);border:1px solid #d9d1f8}.practice-code-heading .button:hover:not(:disabled){color:#fff;background:var(--purple);border-color:var(--purple)}.practice-challenge-meta{color:var(--ink-soft);background:#fcfbff;border-bottom:1px solid #eeeaf9;align-items:center;gap:.55rem;padding:.7rem 1.25rem;font-size:.72rem;font-weight:750;display:flex}.practice-challenge-meta span{text-transform:capitalize;background:#fff;border:1px solid #e5e0f5;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .55rem;display:inline-flex}.practice-challenge-meta svg{width:.85rem;height:.85rem;color:var(--purple)}.practice-challenge-meta .practice-challenge-difficulty{color:var(--orange-dark);background:var(--orange-soft);border-color:#f2d5b8}.practice-problem-section{border-bottom:1px solid #eeeaf7;padding:1.1rem 1.25rem}.practice-problem-section:last-child{border-bottom:0}.practice-problem-section h3{align-items:center;gap:.4rem;margin:0 0 .75rem;font-size:.88rem;display:flex}.practice-problem-section h3:before{content:"";background:var(--orange);border-radius:999px;width:.25rem;height:1rem}.practice-statement-card .practice-statement-preview{white-space:pre-wrap;min-height:0;color:var(--ink);border-radius:var(--radius-md);background:#fbfaff;border:1px solid #e7e1fb;margin:0;padding:1rem;font-family:inherit;font-size:.86rem;line-height:1.75;overflow:visible}.practice-examples-list{gap:.65rem;display:grid}.practice-examples-list .practice-example{border-radius:var(--radius-md);background:#faf9ff;border:1px solid #e7e1f8;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:.6rem;margin:0;padding:.7rem;display:grid}.practice-example>strong{color:var(--purple-dark);white-space:nowrap;align-self:center;font-size:.7rem}.practice-example>div{gap:.3rem;min-width:0;display:grid}.practice-example>div span{color:var(--ink-faint);letter-spacing:.04em;text-transform:uppercase;font-size:.62rem;font-weight:800}.practice-example>div code{color:#3e2c8e;border-radius:var(--radius-xs);background:#fff;border:1px solid #e2dcf6;min-height:2.25rem;padding:.55rem .65rem;font-size:.76rem}.practice-constraints-section ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.practice-constraints-section li{color:var(--ink-soft);align-items:flex-start;gap:.55rem;font-size:.8rem;display:flex}.practice-constraints-section li svg{width:1rem;height:1rem;color:var(--purple);flex:none;margin-top:.1rem}.practice-constraints-section code{overflow-wrap:anywhere;white-space:normal}.practice-editor-shell{border-radius:var(--radius-md);background:#151122;border:2px solid #34294f;margin:1rem 1.25rem 0;transition:border-color .18s,box-shadow .18s;overflow:hidden;box-shadow:0 12px 26px #140f272e}.practice-editor-shell:focus-within{border-color:var(--purple);box-shadow:0 0 0 3px #6d4aff29,0 16px 32px #140f2738}.practice-editor-toolbar{color:#d9d2ef;background:#211a35;border-bottom:1px solid #352a4d;align-items:center;gap:.65rem;min-height:2.75rem;padding:.55rem .8rem;font-size:.7rem;font-weight:750;display:flex}.practice-editor-toolbar>span{align-items:center;gap:.4rem;display:inline-flex}.practice-editor-toolbar svg{color:#a991ff;width:.9rem;height:.9rem}.practice-editor-toolbar .practice-editor-language{color:#ffe0c3;background:#ff842024;border:1px solid #ffa25338;border-radius:999px;padding:.25rem .5rem}.practice-editor-shortcut{color:#aaa1bf;margin-left:auto;font-weight:600}.practice-editor-body{background:#151122;grid-template-columns:3.25rem minmax(0,1fr);min-height:27rem;display:grid}.practice-editor-lines{color:#706786;text-align:right;-webkit-user-select:none;user-select:none;background:#110d1d;border-right:1px solid #2d2440;height:27rem;margin:0;padding:.9rem .7rem;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.82rem;line-height:1.65;overflow:hidden}.practice-code-input{resize:vertical;color:#f5f1ff;width:100%;height:27rem;min-height:27rem;caret-color:var(--orange);tab-size:4;background:0 0;border:0;border-radius:0;outline:none;margin:0;padding:.9rem 1rem;font-size:.82rem;line-height:1.65}.practice-code-input::selection{background:#6d4aff6b}.practice-editor-statusbar{color:#b9afcf;background:#211a35;border-top:1px solid #352a4d;justify-content:flex-end;align-items:center;gap:1rem;min-height:2rem;padding:.35rem .75rem;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.62rem;display:flex}.practice-editor-statusbar span:first-child{color:#f2ecff;margin-right:auto}.practice-run-actions{background:#fcfbff;border-bottom:1px solid #eeeaf8;justify-content:flex-end;align-items:center;gap:.65rem;margin:0;padding:1rem 1.25rem;display:flex}.practice-run-hint{color:var(--ink-faint);align-items:center;gap:.4rem;margin-right:auto;font-size:.68rem;font-weight:700;display:inline-flex}.practice-run-hint svg{width:.95rem;height:.95rem;color:var(--purple)}.practice-run-actions .button{min-width:6.5rem}.practice-run-actions .button--primary{color:#17120d;background:var(--orange);border-color:var(--orange);box-shadow:0 7px 16px #ff842033}.practice-run-actions .button--primary:hover:not(:disabled){background:#f5780c;border-color:#f5780c}.practice-code-card>.practice-runner-notice,.practice-code-card>.practice-execution-error{margin:1rem 1.25rem}.practice-code-card>.practice-results{margin:1rem 1.25rem 1.25rem}.practice-example{grid-template-columns:1fr 1fr;gap:.6rem;margin:.6rem 0;display:grid}.practice-review-meta{color:var(--text-muted,#6b6880);flex-wrap:wrap;gap:.8rem;margin:1rem 0;font-size:.9rem;display:flex}.practice-admin-toolbar{background:linear-gradient(120deg,#fff,var(--purple-soft));border-color:#ded7f7;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.practice-admin-toolbar .eyebrow{margin-bottom:.15rem}.practice-admin-toolbar .form-field{width:min(15rem,100%);margin:0}.practice-review-readonly{color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-sm);border:1px solid #ded7f7;align-items:center;gap:.55rem;margin-top:1rem;padding:.75rem .85rem;font-size:.78rem;display:flex}.practice-review-readonly svg{flex:none;width:1rem;height:1rem}@media (max-width:64rem){.practice-layout,.practice-workspace-grid{grid-template-columns:1fr}}@media (max-width:42rem){.practice-form-grid,.practice-inline-form,.practice-inline-edit,.practice-inline-edit--example{grid-template-columns:1fr}.practice-form-grid__wide{grid-column:auto}.practice-test-row,.practice-example,.practice-examples-list .practice-example{grid-template-columns:1fr}.practice-editor-shortcut,.practice-run-hint{display:none}.practice-editor-shell{margin-inline:.75rem}.practice-run-actions{padding-inline:.75rem}.practice-run-actions .button{flex:1;min-width:0}.practice-authoring-notice{grid-template-columns:auto minmax(0,1fr)}.practice-authoring-notice .button{grid-column:1/-1;width:100%}.practice-row-actions,.practice-inline-edit__actions{justify-content:stretch}.practice-row-actions .button,.practice-inline-edit__actions .button{flex:1;min-width:0}.practice-section-heading{align-items:flex-start}.practice-section-actions{flex-direction:column;align-items:flex-end}.practice-admin-toolbar{flex-direction:column;align-items:stretch}.practice-admin-toolbar .form-field{width:100%}}.portal-page>.page-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:center;margin-bottom:1rem;padding:1.5rem;position:relative;overflow:hidden}.portal-page.admin-dashboard-page{gap:1.25rem}.portal-page.admin-dashboard-page>.page-header{background:radial-gradient(circle at 92% 18%, #ff842021, transparent 24%), linear-gradient(120deg, var(--purple-soft), #fff 54%, #fff8f1);border-color:#ded7f7;margin-bottom:0;padding:1.5rem;box-shadow:0 10px 28px #49379212}.admin-dashboard-page>.page-header:after{content:"";pointer-events:none;background:radial-gradient(circle,#7256e81a,#0000 68%);border-radius:50%;width:14rem;height:14rem;position:absolute;bottom:-5.5rem;right:-3.5rem}.admin-dashboard-page>.page-header>*{z-index:1;position:relative}.admin-dashboard-page>.page-header .page-header__actions .dashboard-primary-action{border-radius:var(--radius-md);min-height:3rem;padding-inline:1.2rem;box-shadow:0 8px 18px #ff84203b}.admin-dashboard-page>.page-header .page-header__actions .dashboard-primary-action:hover{box-shadow:0 12px 24px #ff842047}.admin-dashboard-page .dashboard-section{border-color:#ded8f4;box-shadow:0 10px 28px #4937920f}.admin-dashboard-page .dashboard-section>.card__header{background:linear-gradient(120deg,#fff,#f8f5ff 70%,#fff8f1);border-bottom-color:#e8e3f6;min-height:5rem;padding:1.1rem 1.5rem}.admin-dashboard-page .dashboard-section>.card__header>svg{color:#fff;background:linear-gradient(135deg, var(--purple), #8d73ee);border-radius:var(--radius-md);width:2.55rem;height:2.55rem;padding:.65rem;box-shadow:0 7px 16px #7256e833}.admin-dashboard-page .dashboard-section--attention>.card__header>svg,.admin-dashboard-page .dashboard-section--modules>.card__header>svg{color:#39200b;background:linear-gradient(135deg, var(--orange), #ffad62);box-shadow:0 7px 16px #ff842033}.admin-dashboard-page .dashboard-section>.card__header h2{font-size:1.18rem}.admin-dashboard-page .dashboard-section>.card__header .eyebrow{margin-bottom:.2rem}.admin-dashboard-page .dashboard-metric-grid{gap:.9rem;padding:1.25rem 1.5rem 1.5rem}.admin-dashboard-page .dashboard-metric-grid li.dashboard-metric-card{align-items:center;justify-content:initial;border-radius:var(--radius-md);background:#fcfbff;border-color:#e2dcf7;grid-template-columns:auto minmax(0,1fr);gap:.85rem;min-height:6rem;padding:1rem;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;position:relative;overflow:hidden}.admin-dashboard-page .dashboard-metric-grid li.dashboard-metric-card--orange{background:#fffaf5;border-color:#f1ddcb}.admin-dashboard-page .dashboard-metric-grid li.dashboard-metric-card:hover{border-color:#cfc6f5;transform:translateY(-2px);box-shadow:0 10px 22px #49379217}.admin-dashboard-page .dashboard-metric-card__icon{width:2.65rem;height:2.65rem;color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-sm);place-items:center;display:grid}.admin-dashboard-page .dashboard-metric-card--orange .dashboard-metric-card__icon{color:var(--orange-dark);background:var(--orange-soft)}.admin-dashboard-page .dashboard-metric-card__icon svg{width:1.15rem;height:1.15rem}.admin-dashboard-page .dashboard-metric-card__copy{gap:.18rem;min-width:0;display:grid}.admin-dashboard-page .dashboard-metric-grid .dashboard-metric-card__copy>strong{color:var(--ink);font-size:1.65rem;line-height:1}.admin-dashboard-page .dashboard-metric-grid .dashboard-metric-card__copy>span{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:650;overflow:hidden}.admin-dashboard-page .dashboard-section>.dashboard-action-list{padding:1.25rem 1.5rem 1.5rem}.admin-dashboard-page .dashboard-action-list .card{border-radius:var(--radius-md)}.admin-dashboard-page .dashboard-action-link{min-height:4.5rem;padding:.9rem 1rem}.admin-dashboard-page .dashboard-action-link__action{min-height:2rem;color:var(--purple-dark);background:var(--purple-soft);border:1px solid #ded7f7;border-radius:999px;align-items:center;gap:.25rem;padding:.35rem .55rem;font-size:.68rem;font-weight:750;display:inline-flex}.admin-dashboard-page .dashboard-action-link__action svg{width:.8rem;height:.8rem}.admin-dashboard-page .dashboard-section--modules>.card{margin:1.25rem 1.5rem 1.5rem}.admin-dashboard-page .dashboard-link-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.admin-dashboard-page .dashboard-link-row a,.admin-dashboard-page .dashboard-link-row a:nth-child(2n){min-height:3.25rem;color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-md);border-color:#d8d0f8;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.7rem .8rem;display:grid}.admin-dashboard-page .dashboard-link-row a:nth-child(2n){color:var(--orange-dark);background:var(--orange-soft);border-color:#f0d3b9}.admin-dashboard-page .dashboard-link-row a>svg:first-child{width:1rem;height:1rem}.admin-dashboard-page .dashboard-link-row a>svg:last-child{width:.85rem;height:.85rem}.admin-dashboard-page .dashboard-link-row a:hover,.admin-dashboard-page .dashboard-link-row a:nth-child(2n):hover{color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 8px 18px #7256e833}.admin-dashboard-page .dashboard-link-row a:nth-child(2n):hover{color:#2a1808;background:var(--orange);border-color:var(--orange);box-shadow:0 8px 18px #ff842033}@media (max-width:64rem){.admin-dashboard-page .dashboard-metric-grid,.admin-dashboard-page .dashboard-link-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:42rem){.portal-page.admin-dashboard-page>.page-header,.admin-dashboard-page .dashboard-section>.card__header{padding-inline:1.15rem}.admin-dashboard-page .dashboard-metric-grid,.admin-dashboard-page .dashboard-link-row{grid-template-columns:1fr}.admin-dashboard-page .dashboard-metric-grid,.admin-dashboard-page .dashboard-section>.dashboard-action-list{padding:1rem 1.15rem 1.15rem}.admin-dashboard-page .dashboard-section--modules>.card{margin:1rem 1.15rem 1.15rem}.admin-dashboard-page .dashboard-action-link__action{padding-inline:.45rem}}.admin-project-rubric-card,.admin-project-versions-card,.admin-project-submission-status-card{border-radius:var(--radius-lg);border-color:#dedaf0}.admin-project-rubric-card>h2,.admin-project-submission-status-card>h2{margin:0 0 1rem;font-size:1.2rem}.admin-project-rubric-card>p:not(.eyebrow):not(.admin-project-rubric-empty){background:var(--purple-soft);border-radius:var(--radius-sm);border:1px solid #dfd8fb;justify-content:space-between;align-items:center;gap:1rem;margin:.6rem 0 0;padding:.85rem 1rem;display:flex}.admin-project-rubric-card>p:not(.eyebrow):not(.admin-project-rubric-empty):nth-of-type(odd){background:var(--orange-soft);border-color:#f1dac6}.admin-project-rubric-empty{color:var(--ink-soft);background:var(--page);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);margin:0;padding:1rem;font-size:.78rem}.admin-project-versions-card__header{align-items:center;margin-bottom:1rem}.admin-project-versions-card__header h2{margin:0;font-size:1.2rem}.admin-project-version-count{color:var(--ink-soft);background:var(--purple-soft);border:1px solid #ddd6fb;border-radius:999px;align-items:center;gap:.35rem;padding:.4rem .7rem;font-size:.72rem;display:inline-flex}.admin-project-version-count strong{color:var(--purple-dark);font-size:.85rem}.admin-project-student-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:.85rem;overflow:hidden}.admin-project-student-group__heading{background:#faf9ff;border-bottom:1px solid #e8e3fa;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.admin-project-student-group__heading>span{color:#fff;background:var(--purple);border-radius:var(--radius-sm);flex:none;place-items:center;width:2.35rem;height:2.35rem;font-size:.68rem;font-weight:800;display:grid}.admin-project-student-group__heading h3{margin:0 0 .15rem;font-size:.92rem}.admin-project-student-group__heading small{color:var(--ink-faint);font-size:.68rem}.admin-project-student-group .project-version-history{gap:0}.admin-project-student-group .project-version-history__item{border-bottom:1px solid var(--border);grid-template-columns:minmax(8rem,.8fr) auto minmax(10rem,1fr) minmax(9rem,.8fr);align-items:center;gap:.8rem;padding:.85rem 1rem}.admin-project-student-group .project-version-history__item:last-child{border-bottom:0}.project-version-history__topline{gap:.15rem;display:grid}.project-version-history__topline>span{color:var(--ink-faint);font-size:.68rem}.project-version-history__status{align-items:center;display:flex}.project-version-history__repository a{min-height:2.25rem;color:var(--purple-dark);background:var(--purple-soft);border-radius:var(--radius-sm);border:1px solid #d5cdf8;justify-content:center;align-items:center;padding:.45rem .75rem;font-size:.7rem;font-weight:800;display:inline-flex}.project-version-history__repository a:hover{color:#fff;background:var(--purple);border-color:var(--purple)}.project-version-history__decision{color:var(--ink-soft);font-size:.72rem;line-height:1.45}.admin-project-submission-status{color:var(--ink-soft);background:var(--page);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:.75rem;margin:.6rem 0 0;padding:.7rem;font-size:.72rem;font-weight:700;display:flex}@media (max-width:64rem){.admin-project-student-group .project-version-history__item{grid-template-columns:minmax(8rem,1fr) auto}.admin-project-student-group .project-version-history__repository,.admin-project-student-group .project-version-history__decision{grid-column:1/-1}}@media (max-width:36rem){.admin-project-student-group .project-version-history__item{grid-template-columns:1fr}.admin-project-student-group .project-version-history__repository,.admin-project-student-group .project-version-history__decision{grid-column:auto}.project-version-history__repository a{width:100%}}@media (max-width:70rem){.cms-management-grid{grid-template-columns:1fr}}@media (max-width:48rem){.cms-summary{grid-template-columns:1fr}.cms-summary__stats{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:36rem){.cms-summary__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-panel-header,.cms-records-card__header,.cms-editor-card__body{padding:1rem}.cms-form .form-grid{grid-template-columns:1fr}.cms-form .form-field--wide{grid-column:auto}.cms-form .form-actions{flex-direction:column-reverse}.cms-form .form-actions .button{width:100%}.cms-public-page-list{grid-template-columns:1fr}}@page{size:A4 portrait;margin:0!important}@media print{html,body{color:#111827!important;-webkit-print-color-adjust:exact!important;-moz-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;margin:0!important;padding:0!important}.no-print,.site-header,.site-footer,.portal-sidebar,.portal-header,.portal-nav,.banner,nav,button,.button,header:not(.statement-header){display:none!important}.container{max-width:100%!important;margin:0!important;padding:0!important}dialog[open]{width:100%!important;max-width:100%!important;box-shadow:none!important;background:0 0!important;border:none!important;margin:0!important;padding:0!important;display:block!important;position:static!important}.dialog-panel{box-shadow:none!important;border:none!important;max-width:100%!important;margin:0!important;padding:0!important}.statement-of-marks{box-shadow:none!important;page-break-inside:avoid!important;break-inside:avoid!important;box-sizing:border-box!important;border:2px solid #2b144d!important;max-width:200mm!important;margin:8mm auto!important;padding:10mm 12mm!important}dialog.marksheet-preview-modal,.marksheet-preview-modal{width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;box-shadow:none!important;background:0 0!important;border:none!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.marksheet-preview-modal>div{max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important}:is(body:has(dialog.marksheet-preview-modal[open]) .portal-page>:not(.marksheet-preview-modal),body:has(dialog.marksheet-preview-modal[open]) .semester-results-page>:not(.marksheet-preview-modal)){display:none!important}}.student-detail-dialog{width:min(100%,46rem)}.student-detail-dialog__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.student-detail-dialog__identity{align-items:center;gap:.9rem;display:flex}.student-detail-dialog__avatar{color:#fff;background:linear-gradient(135deg, var(--purple), var(--orange));border-radius:var(--radius-md);flex:none;place-items:center;width:3.2rem;height:3.2rem;font-size:1.05rem;font-weight:800;display:grid;box-shadow:0 6px 16px #7256e833}.student-detail-dialog__identity .eyebrow{color:var(--purple-dark);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem;font-size:.72rem;font-weight:700}.student-detail-dialog__identity h2{color:var(--ink);margin:0 0 .15rem;font-size:1.35rem}.student-detail-dialog__email{color:var(--ink-soft);font-size:.82rem}.student-detail-dialog__header-actions{align-items:center;gap:.65rem;display:flex}.student-detail-dialog__body{gap:1.15rem;display:grid}.student-detail-dialog__course-card{background:linear-gradient(120deg, var(--purple-soft), #fff 80%);border-radius:var(--radius-md);border:1px solid #e2def4;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;display:flex}.student-detail-dialog__course-info{align-items:center;gap:.75rem;display:flex}.student-detail-dialog__course-icon{width:2.3rem;height:2.3rem;color:var(--orange-dark);background:var(--orange-soft);border-radius:var(--radius-sm);flex:none;place-items:center;display:grid}.student-detail-dialog__course-info small{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;font-weight:700;display:block}.student-detail-dialog__course-info strong{color:var(--ink);font-size:.96rem}.student-detail-dialog__access-pill{color:var(--ink-faint);background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.student-detail-dialog__access-pill--active{color:#0f766e;background:#f0fdfa;border-color:#99f6e4}.student-detail-dialog__progress-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem 1.1rem}.student-detail-dialog__progress-header{color:var(--ink-soft);justify-content:space-between;align-items:center;margin-bottom:.55rem;font-size:.85rem;display:flex}.student-detail-dialog__progress-header strong{color:var(--purple-dark);font-size:1.1rem}.student-detail-dialog__metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.student-detail-dialog__metric-card{background:var(--surface);border-radius:var(--radius-md);border:1px solid #e4e0f4;align-items:flex-start;gap:.65rem;padding:.85rem;display:flex}.student-detail-dialog__metric-icon{border-radius:var(--radius-sm);flex:none;place-items:center;width:2.2rem;height:2.2rem;display:grid}.student-detail-dialog__metric-icon--purple{color:var(--purple-dark);background:var(--purple-soft)}.student-detail-dialog__metric-icon--orange{color:var(--orange-dark);background:var(--orange-soft)}.student-detail-dialog__metric-icon--success{color:#047857;background:#ecfdf5}.student-detail-dialog__metric-content{gap:.1rem;display:grid}.student-detail-dialog__metric-content small{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.02em;font-size:.66rem;font-weight:700}.student-detail-dialog__metric-content strong{color:var(--ink);font-size:1.15rem;line-height:1.2}.student-detail-dialog__metric-subtext{color:var(--ink-soft);font-size:.68rem}.student-detail-dialog__dates-card{border-radius:var(--radius-md);background:#faf9fd;border:1px solid #ebe6f8;padding:1rem 1.1rem}.student-detail-dialog__dates-card h4{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .75rem;font-size:.8rem;font-weight:700}.student-detail-dialog__dates-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0;display:grid}.student-detail-dialog__dates-grid dt{color:var(--ink-faint);font-size:.68rem;font-weight:700}.student-detail-dialog__dates-grid dd{color:var(--ink);margin:.2rem 0 0;font-size:.82rem;font-weight:600}.student-detail-dialog__footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1.25rem;padding-top:1rem;display:flex}button.student-detail-trigger{all:unset;cursor:pointer;text-align:left;border-radius:var(--radius-sm);transition:opacity .15s;display:flex}button.student-detail-trigger:hover strong{color:var(--purple-dark);text-decoration:underline}button.student-detail-trigger:focus-visible{outline:2px solid var(--purple);outline-offset:2px}@media (max-width:768px){.student-detail-dialog__metrics-grid,.student-detail-dialog__dates-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.course-status-filter-tabs{background:var(--surface-secondary,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-radius:var(--radius-lg,.75rem);flex-wrap:wrap;gap:.5rem;width:-moz-fit-content;width:fit-content;margin-bottom:1.5rem;padding:.25rem;display:flex}.course-status-tab{color:var(--text-secondary,#64748b);border-radius:var(--radius-md,.5rem);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s ease-in-out;display:inline-flex}.course-status-tab:hover{color:var(--text-primary,#0f172a);background:#0000000a}.course-status-tab.is-active{color:var(--primary-700,#4338ca);background:#fff;font-weight:600;box-shadow:0 1px 3px #0000001a}.course-status-tab .tab-count{color:#475569;background:#e2e8f0;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.course-status-tab.is-active .tab-count{color:#6366f1;background:#ede9fe}.course-status-tab .tab-count--alert{color:#b91c1c!important;background:#fee2e2!important}.course-filtered-empty{text-align:center;margin-bottom:2rem;padding:3rem 1.5rem}.course-card__review-banner{border-radius:var(--radius-md,.5rem);flex-direction:column;gap:.75rem;margin-block:.5rem .875rem;padding:.875rem 1rem;display:flex}.course-card__review-banner--admin{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.course-card__review-banner--trainer{color:#854d0e;background:#fefce8;border:1px solid #fef08a}.course-card__review-info{align-items:flex-start;gap:.625rem;font-size:.8125rem;line-height:1.4;display:flex}.course-card__review-info strong{margin-bottom:.125rem;font-size:.875rem;display:block}.course-card__review-actions{flex-wrap:wrap;gap:.5rem;display:flex}.course-card--highlighted{transition:box-shadow .3s ease-in-out;animation:1.5s ease-in-out infinite alternate course-card-glow;box-shadow:0 0 0 3px #6366f1,0 10px 25px -5px #6366f14d!important}@keyframes course-card-glow{0%{box-shadow:0 0 0 3px #6366f1,0 4px 12px #6366f133}to{box-shadow:0 0 0 4px #818cf8,0 8px 24px #6366f173}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
