@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap";.neo-sidebar{display:flex;flex-direction:column;min-height:100%;padding:var(--s4) var(--s3);color:var(--ink);transition:padding .21s var(--ease-bounce),gap .21s var(--ease-bounce)}.neo-sidebar__top{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s6);min-width:0;transition:margin-bottom .21s var(--ease-bounce),gap .21s var(--ease-bounce)}.neo-sidebar__school,.neo-sidebar__user{display:flex;align-items:center;gap:var(--s3);min-width:0;width:100%;border:var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-md);padding:var(--s3);transition:width .21s var(--ease-bounce),min-height .21s var(--ease-bounce),padding .21s var(--ease-bounce),box-shadow .12s ease,transform .12s ease}.neo-sidebar__school{flex:1 1 auto;width:auto;padding:var(--s2) var(--s3)}.neo-sidebar__school-mark,.neo-sidebar__user-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:var(--border-strong);font-family:var(--font-display);font-weight:800;line-height:1;transition:width .21s var(--ease-bounce),height .21s var(--ease-bounce),border-width .21s var(--ease-bounce)}.neo-sidebar__school-mark{width:38px;height:38px;border-radius:10px;background:var(--primary-tint);color:var(--primary-strong);transform:rotate(-2deg)}.neo-sidebar__user-mark{width:40px;height:40px;border-radius:var(--radius-pill);background:var(--primary);color:var(--on-primary);font-size:13px}.neo-sidebar__title{display:block;overflow:hidden;color:var(--ink);font-family:var(--font-display);font-size:15px;font-weight:800;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.neo-sidebar__school .neo-sidebar__title{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.neo-sidebar__subtitle{display:block;overflow:hidden;color:#1d1b20b8;font-size:12px;font-weight:700;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.neo-sidebar__pin{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:42px;height:42px;border:var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm)}.neo-sidebar__nav{display:flex;flex:0 0 auto;flex-direction:column;gap:var(--s2);min-height:0}.neo-sidebar__link{display:flex;align-items:center;gap:var(--s3);min-height:56px;padding:var(--s3) var(--s4);border:var(--border-strong);border-color:transparent;border-radius:var(--radius);color:var(--ink);font-family:var(--font-display);font-size:16px;font-weight:800;text-align:left;transition:min-height .21s var(--ease-bounce),width .21s var(--ease-bounce),padding .21s var(--ease-bounce),background .12s ease,box-shadow .12s ease,transform .12s ease}.neo-sidebar__link:hover{background:#ffffff73;box-shadow:none;transform:none;text-decoration:none}.neo-sidebar__link.active{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-md)}.neo-sidebar__link.active:hover{box-shadow:var(--shadow-sm);transform:translate(2px,2px)}.neo-sidebar__link svg{flex:0 0 auto}.neo-sidebar__link-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.neo-sidebar__group-label{margin:var(--s4) var(--s3) var(--s1);color:#1d1b20b8;font-family:var(--font-display);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.neo-sidebar__footer{display:flex;flex-direction:column;gap:var(--s3);margin-top:auto;padding-top:var(--s5)}.neo-sidebar__hub{display:inline-flex;align-items:center;gap:var(--s3);min-height:44px;padding:var(--s2) var(--s4);border:var(--border-strong);border-color:transparent;border-radius:var(--radius);color:var(--ink);font-family:var(--font-display);font-weight:800}.neo-sidebar__hub:hover{background:#ffffff6b;text-decoration:none}.neo-sidebar__language{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.neo-sidebar__language-label{color:#1d1b20b8;font-family:var(--font-display);font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase}.neo-sidebar__language-toggle{display:inline-flex;padding:3px;border:var(--border);border-radius:var(--radius-pill);background:#334155}.neo-sidebar__language-option{min-width:38px;padding:5px 9px;border:none;border-radius:var(--radius-pill);background:transparent;color:#ffffff73;font-family:var(--font-display);font-size:12px;font-weight:800;text-align:center;cursor:pointer}.neo-sidebar__language-option.is-active{background:#1e3a5f;color:#fff;box-shadow:1px 1px #000}.neo-sidebar--collapsed .neo-sidebar__label,.neo-sidebar--collapsed .neo-sidebar__title-wrap,.neo-sidebar--collapsed .neo-sidebar__group-label,.neo-sidebar--collapsed .neo-sidebar__language,.neo-sidebar--collapsed .neo-sidebar__hub-label{display:none}.neo-sidebar--collapsed .neo-sidebar__top,.neo-sidebar--collapsed .neo-sidebar__footer{align-items:center}.neo-sidebar--collapsed .neo-sidebar__top{flex-direction:column;gap:var(--s2);margin-bottom:var(--s5)}.neo-sidebar--collapsed .neo-sidebar__school,.neo-sidebar--collapsed .neo-sidebar__user,.neo-sidebar--collapsed .neo-sidebar__hub,.neo-sidebar--collapsed .neo-sidebar__link{justify-content:center;width:48px;min-height:48px;padding:var(--s2)}.neo-sidebar--collapsed .neo-sidebar__school{height:48px;padding:4px}.neo-sidebar--collapsed .neo-sidebar__school-mark{width:32px;height:32px;border-width:3px}.neo-sidebar--collapsed .neo-sidebar__pin{width:40px;height:40px}@media (max-width: 860px){.neo-sidebar,.neo-sidebar__nav{flex-direction:row;align-items:center;min-height:100%}.neo-sidebar{width:max-content;padding:0}.neo-sidebar__top,.neo-sidebar__footer,.neo-sidebar__group-label{display:none}.neo-sidebar__link{flex-direction:column;justify-content:center;gap:var(--s1);min-width:76px;min-height:56px;padding:var(--s2);border-width:2px;white-space:nowrap;font-size:11px;text-align:center}.neo-sidebar__link.active{box-shadow:var(--shadow-sm)}.neo-sidebar__link svg{display:block;width:20px;height:20px}.neo-sidebar__link-label{max-width:68px}}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);border:var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-family:var(--font-display);font-weight:800;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-md);transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.ui-btn:not(:disabled):hover,.ui-btn:not(:disabled):active{transform:translate(2px,2px);box-shadow:var(--shadow-sm)}.ui-btn:disabled,.ui-btn[aria-disabled=true]{cursor:not-allowed;opacity:.55;box-shadow:var(--shadow-sm);transform:none}.ui-btn--sm{padding:var(--s1) var(--s3);font-size:12px}.ui-btn--md{padding:var(--s2) var(--s4);font-size:14px}.ui-btn--lg{padding:var(--s3) var(--s5);font-size:16px}.ui-btn--full{width:100%}.ui-btn--primary{background:var(--primary);color:var(--on-primary)}.ui-btn--primary:not(:disabled):hover{background:var(--primary-strong)}.ui-btn--secondary{background:var(--surface);color:var(--ink)}.ui-btn--secondary:not(:disabled):hover{background:var(--surface-tint)}.ui-btn--danger{background:var(--danger);color:#fff}.ui-btn--danger:not(:disabled):hover{background:#b91c1c}.ui-btn--ghost{border-color:transparent;background:transparent;box-shadow:none;color:var(--ink)}.ui-btn--ghost:not(:disabled):hover{background:var(--primary-tint);border-color:var(--line);box-shadow:var(--shadow-sm)}.ui-btn--ghost:disabled,.ui-btn--ghost[aria-disabled=true]{box-shadow:none}.ui-btn__icon{display:inline-flex;align-items:center;font-size:1.05em}.ui-btn__spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-pill);animation:ui-btn-spin .6s linear infinite}@keyframes ui-btn-spin{to{transform:rotate(360deg)}}.ui-card{background:var(--surface);border:var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.ui-card--tint{background:var(--surface-tint)}.ui-card--interactive{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.ui-card--interactive:hover{transform:translate(2px,2px);box-shadow:var(--shadow-sm)}.ui-card__header{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:var(--border);background:var(--surface)}.ui-card__header-text{flex:1;min-width:0}.ui-card__title{font-family:var(--font-display);font-weight:800;font-size:18px;line-height:1.2;margin:0;color:var(--ink)}.ui-card__subtitle{margin:var(--s1) 0 0;font-size:13px;font-weight:500;color:var(--muted)}.ui-card__header-actions{display:flex;align-items:center;gap:var(--s2);flex:0 0 auto}.ui-card__body{padding:var(--s5)}.ui-card__footer{display:flex;align-items:center;gap:var(--s2);padding:var(--s4) var(--s5);border-top:var(--border);background:var(--surface-strong)}@media (max-width: 560px){.ui-card{border-width:3px;box-shadow:var(--shadow-sm)}.ui-card__header,.ui-card__body,.ui-card__footer{padding-left:var(--s4);padding-right:var(--s4)}}.ui-badge{display:inline-flex;align-items:center;gap:var(--s1);padding:2px var(--s2);border:var(--border);border-radius:var(--radius-pill);font-family:var(--font-display);font-weight:700;font-size:12px;line-height:1.4;white-space:nowrap}.ui-badge--neutral{background:var(--surface-tint);color:var(--ink)}.ui-badge--primary{background:var(--primary-tint);color:var(--primary-strong)}.ui-badge--success{background:var(--success-tint);color:var(--success)}.ui-badge--warn{background:var(--warn-tint);color:var(--warn)}.ui-badge--danger{background:var(--danger-tint);color:var(--danger)}.ui-badge--info{background:var(--info-tint);color:var(--info)}.ui-badge__dot{width:6px;height:6px;border-radius:var(--radius-pill);background:currentColor;flex:0 0 auto}.ui-chip{display:inline-flex;align-items:center;gap:var(--s1);padding:var(--s1) var(--s3);border:var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font-family:var(--font-display);font-weight:700;font-size:12px;line-height:1.4;white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .06s ease,box-shadow .06s ease,background .06s ease}.ui-chip:not(:disabled):hover{transform:translate(1px,1px);box-shadow:1px 1px #000}.ui-chip--pressed{transform:translate(1px,1px);box-shadow:1px 1px #000;background:var(--primary);color:var(--on-primary)}.ui-chip--pressed:not(:disabled):hover{background:var(--primary-strong)}.ui-chip:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:var(--shadow-sm)}.ui-section__head{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s3)}.ui-section__title{margin:0;font-family:var(--font-display);font-size:18px;font-weight:800}.ui-section__action{margin-left:auto;display:flex;align-items:center;gap:var(--s2)}.ui-stack{display:flex;flex-direction:column;gap:var(--ui-gap, var(--s4))}.ui-row{display:flex;flex-direction:row;align-items:var(--ui-align, center);justify-content:var(--ui-justify, flex-start);gap:var(--ui-gap, var(--s3))}.ui-row--wrap{flex-wrap:wrap}.ui-grid{display:grid;grid-template-columns:repeat(var(--ui-cols, 2),minmax(0,1fr));gap:var(--ui-gap, var(--s4))}.ui-section{margin-bottom:var(--s6)}.ui-section:last-child{margin-bottom:0}.ui-page-header{display:flex;align-items:flex-end;gap:var(--s4);margin-bottom:var(--s5);padding:var(--s4) 0 var(--s2)}.ui-page-header__text{flex:1;min-width:0}.ui-page-header__eyebrow{display:inline-block;font-family:var(--font-display);font-weight:800;font-size:11px;letter-spacing:0;text-transform:uppercase;color:var(--primary-strong);margin-bottom:var(--s1)}.ui-page-header__title{font-family:var(--font-display);font-weight:800;font-size:28px;line-height:1.1;letter-spacing:0;margin:0;color:var(--ink)}.ui-page-header__subtitle{margin:var(--s2) 0 0;font-size:14px;font-weight:500;color:var(--muted)}.ui-page-header__actions{display:flex;align-items:center;gap:var(--s2);flex:0 0 auto}.ui-divider{border:0;border-top:var(--border);margin:var(--s4) 0}.ui-divider--vertical{border-top:0;border-left:var(--border);align-self:stretch;margin:0 var(--s2);height:auto}@media (max-width: 720px){.ui-grid{grid-template-columns:1fr}.ui-page-header{align-items:flex-start;flex-direction:column;gap:var(--s3)}.ui-page-header__actions{width:100%;flex-wrap:wrap}.ui-page-header__actions>*{flex:1 1 auto}}.ui-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s2);padding:var(--s7) var(--s5);border:var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md)}@media (max-width: 560px){.ui-empty{padding:var(--s6) var(--s4);border-width:3px;box-shadow:var(--shadow-sm)}}.ui-empty--error{background:var(--danger-tint)}.ui-empty__icon{font-size:40px;line-height:1}.ui-empty__title{font-family:var(--font-display);font-weight:800;font-size:18px;margin:0;color:var(--ink)}.ui-empty__hint{margin:0;max-width:42ch;font-size:14px;font-weight:500;color:var(--muted)}.ui-empty__actions{display:flex;align-items:center;gap:var(--s2);margin-top:var(--s2)}.ui-field{display:block;margin-bottom:var(--s4, 16px)}.ui-field:last-child{margin-bottom:0}.ui-field__label{display:block;font-family:var(--font-display);font-weight:700;font-size:.8125rem;color:var(--ink, #1d1b20);margin-bottom:var(--s1, 4px);line-height:1.3}.ui-field__req{color:var(--danger, #dc2626);margin-left:2px}.ui-field__hint{font-size:.75rem;color:var(--muted, #494551);margin-top:var(--s1, 4px);line-height:1.4}.ui-field__error{font-family:var(--font-display);font-weight:700;font-size:.75rem;color:var(--danger, #dc2626);margin-top:var(--s1, 4px);line-height:1.4}.ui-input,.ui-textarea{width:100%;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--ink, #1d1b20);background:var(--surface, #fff);border:2px solid var(--line, #000);border-radius:var(--radius, .625rem);padding:var(--s2, 8px) var(--s3, 12px);line-height:1.4;transition:box-shadow .08s ease,transform .08s ease,border-color .08s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--muted, #494551);opacity:.7}.ui-input:focus,.ui-textarea:focus{outline:none;box-shadow:var(--shadow-sm, 2px 2px 0 0 rgba(0, 0, 0, 1));border-color:var(--primary-strong, #4f378a)}.ui-input:disabled,.ui-textarea:disabled{background:var(--surface-tint, #f8f2fa);color:var(--muted, #494551);cursor:not-allowed;box-shadow:none}.ui-input--invalid,.ui-textarea--invalid{border-color:var(--danger, #dc2626)}.ui-input--invalid:focus,.ui-textarea--invalid:focus{border-color:var(--danger, #dc2626);box-shadow:2px 2px 0 0 var(--danger, #dc2626)}.ui-textarea{min-height:96px;resize:vertical}.ui-input--number{font-variant-numeric:tabular-nums}.ui-checkbox{display:inline-flex;align-items:flex-start;gap:var(--s2, 8px);cursor:pointer;font-family:var(--font-body);font-size:.875rem;color:var(--ink, #1d1b20);line-height:1.4}.ui-checkbox--disabled{cursor:not-allowed;color:var(--muted, #494551)}.ui-checkbox__box{flex:0 0 auto;width:20px;height:20px;border:2px solid var(--line, #000);border-radius:6px;background:var(--surface, #fff);display:inline-flex;align-items:center;justify-content:center;transition:box-shadow .08s ease,transform .08s ease,background .08s ease;margin-top:1px}.ui-checkbox__native{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.ui-checkbox__native:focus-visible+.ui-checkbox__box{box-shadow:var(--shadow-sm, 2px 2px 0 0 rgba(0, 0, 0, 1))}.ui-checkbox__native:checked+.ui-checkbox__box{background:var(--primary, #6750a4);color:var(--on-primary, #fff)}.ui-checkbox__check{width:12px;height:12px;display:block}.ui-checkbox--disabled .ui-checkbox__box{background:var(--surface-tint, #f8f2fa)}.ui-radiogroup{display:flex;flex-direction:column;gap:var(--s2, 8px)}.ui-radiogroup--row{flex-direction:row;flex-wrap:wrap;gap:var(--s3, 12px)}.ui-radio{display:inline-flex;align-items:flex-start;gap:var(--s2, 8px);cursor:pointer;font-family:var(--font-body);font-size:.875rem;color:var(--ink, #1d1b20);line-height:1.4}.ui-radio--disabled{cursor:not-allowed;color:var(--muted, #494551)}.ui-radio__dot{flex:0 0 auto;width:20px;height:20px;border:2px solid var(--line, #000);border-radius:9999px;background:var(--surface, #fff);display:inline-flex;align-items:center;justify-content:center;transition:box-shadow .08s ease;margin-top:1px}.ui-radio__native{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.ui-radio__native:focus-visible+.ui-radio__dot{box-shadow:var(--shadow-sm, 2px 2px 0 0 rgba(0, 0, 0, 1))}.ui-radio__native:checked+.ui-radio__dot:after{content:"";width:10px;height:10px;border-radius:9999px;background:var(--primary, #6750a4)}.ui-radio--disabled .ui-radio__dot{background:var(--surface-tint, #f8f2fa)}.md-field{display:flex;flex-direction:column;gap:var(--s3)}.md-field__preview{padding:var(--s3);border:var(--border);border-radius:var(--radius);background:var(--surface-tint)}.md-field__eyebrow{display:block;margin-bottom:var(--s2);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.md-field__body{font-size:14px;line-height:1.6}.md-field__empty{margin:0;color:var(--muted);font-size:13px}.ui-select2{position:relative;display:block;width:100%}.ui-select2__trigger{display:flex;align-items:center;gap:var(--s2, 8px);width:100%;min-height:38px;text-align:left;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--ink, #1d1b20);background:var(--surface, #fff);border:2px solid var(--line, #000);border-radius:var(--radius, .75rem);padding:var(--s2, 8px) var(--s3, 12px);cursor:pointer;box-shadow:var(--shadow-sm, 2px 2px 0 0 rgba(0, 0, 0, 1));transition:transform .08s ease,box-shadow .08s ease,border-color .08s ease}.ui-select2__trigger:not(:disabled):hover{transform:translate(2px,2px);box-shadow:none}.ui-select2--open .ui-select2__trigger:not(:disabled){border-color:var(--primary-strong, #4f378a);transform:translate(2px,2px);box-shadow:none}.ui-select2__trigger:focus-visible{outline:none;border-color:var(--primary-strong, #4f378a)}.ui-select2__trigger:disabled{cursor:not-allowed;background:var(--surface-tint, #f8f2fa);color:var(--muted, #494551);box-shadow:none;transform:none}.ui-select2__trigger--invalid{border-color:var(--danger, #dc2626)}.ui-select2__body{flex:1 1 auto;min-width:0;display:flex;align-items:center}.ui-select2__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select2__placeholder{color:var(--muted, #494551);opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select2__chevron{flex:0 0 auto;color:var(--ink, #1d1b20);transition:transform .12s ease}.ui-select2--open .ui-select2__chevron{transform:rotate(180deg)}.ui-select2__trigger:disabled .ui-select2__chevron{color:var(--muted, #494551)}.ui-select2__chips{display:flex;flex-wrap:wrap;gap:var(--s1, 4px)}.ui-select2__chip{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-display);font-weight:700;font-size:.75rem;line-height:1;color:var(--ink, #1d1b20);background:var(--primary-tint, #e9ddff);border:1.5px solid var(--line, #000);border-radius:var(--radius-pill, 9999px);padding:3px 4px 3px 8px}.ui-select2__chip-label{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select2__chip-x{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:var(--radius-pill, 9999px);color:var(--ink, #1d1b20);cursor:pointer}.ui-select2__chip-x:hover{background:var(--primary, #4f378a);color:var(--on-primary, #fff)}.ui-select2__panel{position:fixed;z-index:1001;max-height:260px;overflow-y:auto;background:var(--surface, #fff);border:2px solid var(--line, #000);border-radius:var(--radius, .75rem);box-shadow:var(--shadow-md, 4px 4px 0 0 rgba(0, 0, 0, 1));padding:var(--s1, 4px)}.ui-select2__empty{padding:var(--s2, 8px) var(--s3, 12px);font-size:.8125rem;color:var(--muted, #494551)}.ui-select2__option{display:flex;align-items:center;gap:var(--s2, 8px);padding:var(--s2, 8px) var(--s2, 8px);border-radius:calc(var(--radius, .75rem) - 4px);font-size:.875rem;font-weight:500;color:var(--ink, #1d1b20);cursor:pointer;-webkit-user-select:none;user-select:none}.ui-select2__option+.ui-select2__option{margin-top:2px}.ui-select2__option--active{background:var(--primary-tint, #e9ddff)}.ui-select2__option--selected{font-weight:700}.ui-select2__option--selected.ui-select2__option--active{background:var(--primary-tint, #e9ddff)}.ui-select2__option--disabled{color:var(--muted, #494551);opacity:.5;cursor:not-allowed}.ui-select2__option-copy{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.ui-select2__option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select2__option-description{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;white-space:normal;color:var(--muted, #494551);font-size:.6875rem;line-height:1.25;font-weight:500}.ui-select2__mark{flex:0 0 auto;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--primary-strong, #4f378a)}.ui-select2__box{width:18px;height:18px;border:2px solid var(--line, #000);border-radius:5px;background:var(--surface, #fff);display:inline-flex;align-items:center;justify-content:center}.ui-select2__box--on{background:var(--primary, #4f378a);color:var(--on-primary, #fff)}.ui-tabs{display:flex;flex-direction:column;gap:var(--s4, 16px)}.ui-tablist{display:flex;flex-wrap:wrap;gap:var(--s2, 8px);border-bottom:2px solid var(--line, #000);padding-bottom:var(--s2, 8px)}.ui-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:var(--font-display);font-weight:800;font-size:.875rem;color:var(--muted, #494551);background:var(--surface, #fff);border:2px solid var(--line, #000);border-radius:var(--radius, .625rem);padding:var(--s2, 8px) var(--s4, 16px);cursor:pointer;line-height:1.2;transition:transform .08s ease,box-shadow .08s ease,background .08s ease,color .08s ease;box-shadow:var(--shadow-sm, 2px 2px 0 0 rgba(0, 0, 0, 1))}.ui-tab:hover:not(:disabled):not(.ui-tab--active){transform:translate(1px,1px);box-shadow:1px 1px #000;background:var(--surface-tint, #f8f2fa)}.ui-tab:focus-visible{outline:none;box-shadow:var(--shadow-md, 4px 4px 0 0 rgba(0, 0, 0, 1))}.ui-tab:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.ui-tab--active{background:var(--primary, #6750a4);color:var(--on-primary, #fff);transform:translate(1px,1px);box-shadow:1px 1px #000}.ui-tab__count{margin-left:var(--s1, 4px);font-size:.75rem;font-weight:700;opacity:.85}.ui-tabpanel{outline:none}.ui-tabpanel[hidden]{display:none}.ui-segmented{display:inline-flex;align-items:stretch;gap:0;padding:3px;background:var(--surface-tint, #f8f2fa);border:2px solid var(--line, #000);border-radius:var(--radius-pill, 9999px);box-shadow:var(--shadow-md, 4px 4px 0 0 rgba(0, 0, 0, 1))}.ui-segmented--block{display:flex;width:100%}.ui-segmented__option{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1 1 auto;white-space:nowrap;font-family:var(--font-display);font-weight:800;font-size:.8125rem;color:var(--muted, #494551);background:transparent;border:2px solid transparent;border-radius:var(--radius-pill, 9999px);padding:var(--s1, 4px) var(--s4, 16px);cursor:pointer;line-height:1.3;display:inline-flex;align-items:center;justify-content:center;gap:var(--s1, 4px);transition:transform .08s ease,box-shadow .08s ease,background .08s ease,color .08s ease}.ui-segmented__option:hover:not(:disabled):not(.ui-segmented__option--active){color:var(--ink, #1d1b20)}.ui-segmented__option:focus-visible{outline:none;box-shadow:var(--shadow-sm, 2px 2px 0 0 rgba(0, 0, 0, 1))}.ui-segmented__option:disabled{opacity:.5;cursor:not-allowed}.ui-segmented__option--active{background:var(--surface, #fff);color:var(--primary-strong, #4f378a);border-color:var(--line, #000);box-shadow:var(--shadow-sm, 2px 2px 0 0 rgba(0, 0, 0, 1))}.ui-segmented__icon{display:inline-flex;font-size:.9em}.ui-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:var(--s6, 32px) var(--s4, 16px);overflow-y:auto;background:#1d1b2073;animation:ui-modal-fade .12s ease}@keyframes ui-modal-fade{0%{opacity:0}to{opacity:1}}.ui-modal__panel{position:relative;width:100%;max-width:520px;margin:auto;background:var(--surface, #fff);border:var(--border-strong);border-radius:var(--radius-lg, .875rem);box-shadow:var(--shadow-lg, 6px 6px 0 0 rgba(0, 0, 0, 1));display:flex;flex-direction:column;max-height:100%;animation:ui-modal-pop .12s ease}@keyframes ui-modal-pop{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.ui-modal--sm{max-width:400px}.ui-modal--lg{max-width:720px}.ui-modal__header{display:flex;align-items:flex-start;gap:var(--s3, 12px);padding:var(--s4, 16px) var(--s5, 24px);border-bottom:2px solid var(--line, #000)}.ui-modal__title{flex:1;margin:0;font-family:var(--font-display);font-weight:800;font-size:1.125rem;line-height:1.25;color:var(--ink, #1d1b20)}.ui-modal__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface, #fff);border:2px solid var(--line, #000);border-radius:var(--radius, .625rem);cursor:pointer;color:var(--ink, #1d1b20);box-shadow:var(--shadow-sm, 2px 2px 0 0 rgba(0, 0, 0, 1));transition:transform .08s ease,box-shadow .08s ease;line-height:1}.ui-modal__close:hover{transform:translate(1px,1px);box-shadow:1px 1px #000}.ui-modal__close:focus-visible{outline:none;box-shadow:var(--shadow-md, 4px 4px 0 0 rgba(0, 0, 0, 1))}.ui-modal__body{padding:var(--s5, 24px);overflow-y:auto;color:var(--ink, #1d1b20);font-size:.875rem;line-height:1.5}.ui-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--s2, 8px);padding:var(--s4, 16px) var(--s5, 24px);border-top:2px solid var(--line, #000)}@media (max-width: 560px){.ui-modal__overlay{padding:var(--s3)}.ui-modal__panel{border-width:3px}.ui-modal__header,.ui-modal__body,.ui-modal__footer{padding-left:var(--s4);padding-right:var(--s4)}}.ui-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;display:inline-flex;align-items:center;padding:0;background:none;border:none;cursor:pointer}.ui-switch--disabled{cursor:not-allowed}.ui-switch__track{position:relative;display:inline-flex;align-items:center;width:44px;height:26px;border:var(--border);border-radius:var(--radius-pill);background:var(--surface-strong);box-shadow:var(--shadow-sm);transition:background .12s ease,box-shadow .1s ease}.ui-switch__knob{position:absolute;top:50%;left:3px;width:16px;height:16px;transform:translateY(-50%);border:var(--border);border-radius:var(--radius-pill);background:var(--surface);transition:left .14s ease}.ui-switch--on .ui-switch__track{background:var(--primary)}.ui-switch--on .ui-switch__knob{left:21px;background:var(--on-primary)}.ui-switch:not(.ui-switch--disabled):hover .ui-switch__track{box-shadow:none;transform:translate(1px,1px)}.ui-switch:focus-visible{outline:none}.ui-switch:focus-visible .ui-switch__track{border-color:var(--primary-strong);box-shadow:0 0 0 3px var(--primary-tint)}.ui-switch--disabled .ui-switch__track{opacity:.55;box-shadow:none;transform:none}.ui-switch-row{display:inline-flex;align-items:center;gap:var(--s3);cursor:pointer}.ui-switch-row--disabled{cursor:not-allowed}.ui-switch-row__text{display:flex;flex-direction:column;gap:2px;min-width:0}.ui-switch-row__label{font-family:var(--font-display);font-weight:700;font-size:.9375rem;color:var(--ink)}.ui-switch-row__hint{font-size:.8125rem;color:var(--muted)}.ui-datepicker{position:relative;display:block;width:100%}.ui-datepicker__trigger{display:flex;align-items:center;gap:var(--s2);width:100%;min-height:38px;text-align:left;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--ink);background:var(--surface);border:var(--border);border-radius:var(--radius);padding:var(--s2) var(--s3);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .08s ease,box-shadow .08s ease,border-color .08s ease}.ui-datepicker__trigger:not(:disabled):hover{transform:translate(2px,2px);box-shadow:none}.ui-datepicker--open .ui-datepicker__trigger:not(:disabled){border-color:var(--primary-strong);transform:translate(2px,2px);box-shadow:none}.ui-datepicker__trigger:focus-visible{outline:none;border-color:var(--primary-strong)}.ui-datepicker__trigger:disabled{cursor:not-allowed;background:var(--surface-tint);color:var(--muted);box-shadow:none;transform:none}.ui-datepicker__trigger--invalid{border-color:var(--danger)}.ui-datepicker__icon{flex:0 0 auto;color:var(--primary-strong)}.ui-datepicker__value{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-datepicker__value--empty{color:var(--muted);opacity:.75}.ui-datepicker__clear{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-pill);color:var(--muted);cursor:pointer}.ui-datepicker__clear:hover{background:var(--primary);color:var(--on-primary)}.ui-datepicker__panel{position:fixed;z-index:1001;width:268px;max-width:calc(100vw - var(--s4) * 2);background:var(--surface);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:var(--s3)}.ui-datepicker__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);margin-bottom:var(--s2)}.ui-datepicker__month{font-family:var(--font-display);font-weight:800;font-size:.875rem;color:var(--ink)}.ui-datepicker__nav{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--surface);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--ink);cursor:pointer;transition:transform .08s ease,box-shadow .08s ease}.ui-datepicker__nav:hover{transform:translate(1px,1px);box-shadow:none}.ui-datepicker__nav:focus-visible{outline:none;border-color:var(--primary-strong)}.ui-datepicker__weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:2px}.ui-datepicker__weekday{text-align:center;font-family:var(--font-display);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:4px 0}.ui-datepicker__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.ui-datepicker__day{-webkit-appearance:none;-moz-appearance:none;appearance:none;aspect-ratio:1;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:var(--ink);background:var(--surface);border:2px solid transparent;border-radius:var(--radius);cursor:pointer;transition:background .08s ease,border-color .08s ease,color .08s ease}.ui-datepicker__day:hover{background:var(--primary-tint)}.ui-datepicker__day:focus-visible{outline:none;border-color:var(--primary-strong)}.ui-datepicker__day--outside{color:var(--muted);opacity:.45}.ui-datepicker__day--today{border-color:var(--line)}.ui-datepicker__day--selected,.ui-datepicker__day--selected:hover{background:var(--primary);color:var(--on-primary);border-color:var(--line)}.ui-datepicker__time{display:flex;align-items:center;gap:var(--s2);margin-top:var(--s3);padding-top:var(--s3);border-top:var(--border)}.ui-datepicker__time-label{font-family:var(--font-display);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.ui-datepicker__time-input{flex:1 1 auto;min-width:0;font-family:var(--font-body);font-size:.875rem;font-weight:600;color:var(--ink);background:var(--surface);border:var(--border);border-radius:var(--radius);padding:6px var(--s2)}.ui-datepicker__time-input:focus-visible{outline:none;border-color:var(--primary-strong)}.ui-datepicker__done{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;font-family:var(--font-display);font-weight:800;font-size:.8125rem;color:var(--on-primary);background:var(--primary);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:6px var(--s3);cursor:pointer;transition:transform .08s ease,box-shadow .08s ease}.ui-datepicker__done:hover{transform:translate(1px,1px);box-shadow:none}.ui-datepicker__done:focus-visible{outline:none;border-color:var(--line)}.ui-banner{display:flex;align-items:flex-start;gap:var(--s3, 12px);border:2px solid var(--line, #000);border-radius:var(--radius, .625rem);padding:var(--s3, 12px) var(--s4, 16px);box-shadow:var(--shadow-sm, 2px 2px 0 0 rgba(0, 0, 0, 1));font-size:.875rem;line-height:1.45;color:var(--ink, #1d1b20)}.ui-banner--info{background:var(--info-tint, #eff6ff)}.ui-banner--success{background:var(--success-tint, #ecfdf5)}.ui-banner--warn{background:var(--warn-tint, #fffbeb)}.ui-banner--danger{background:var(--danger-tint, #fef2f2)}.ui-banner__icon{flex:0 0 auto;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill, 9999px);margin-top:1px;font-weight:800;font-size:.8rem;font-family:var(--font-display);color:var(--surface, #fff)}.ui-banner--info .ui-banner__icon{background:var(--info, #2563eb)}.ui-banner--success .ui-banner__icon{background:var(--success, #059669)}.ui-banner--warn .ui-banner__icon{background:var(--warn, #d97706)}.ui-banner--danger .ui-banner__icon{background:var(--danger, #dc2626)}.ui-banner__main{flex:1;min-width:0}.ui-banner__title{font-family:var(--font-display);font-weight:800;font-size:.875rem;margin:0 0 2px;line-height:1.3}.ui-banner--info .ui-banner__title{color:var(--info, #2563eb)}.ui-banner--success .ui-banner__title{color:var(--success, #059669)}.ui-banner--warn .ui-banner__title{color:var(--warn, #d97706)}.ui-banner--danger .ui-banner__title{color:var(--danger, #dc2626)}.ui-banner__body{color:var(--ink, #1d1b20)}.ui-banner__actions{display:flex;gap:var(--s2, 8px);margin-top:var(--s2, 8px)}.ui-banner__dismiss{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:2px solid var(--line, #000);border-radius:var(--radius, .625rem);cursor:pointer;color:var(--ink, #1d1b20);transition:transform .08s ease,box-shadow .08s ease;margin-top:-1px}.ui-banner__dismiss:hover{transform:translate(1px,1px);box-shadow:1px 1px #000}.ui-banner__dismiss:focus-visible{outline:none;box-shadow:var(--shadow-sm, 2px 2px 0 0 rgba(0, 0, 0, 1))}.ui-toast__host{position:fixed;z-index:1100;bottom:var(--s5, 24px);right:var(--s5, 24px);display:flex;flex-direction:column;gap:var(--s2, 8px);max-width:min(360px,calc(100vw - 32px));pointer-events:none}.ui-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--s2, 8px);background:var(--surface, #fff);border:2px solid var(--line, #000);border-radius:var(--radius, .625rem);box-shadow:var(--shadow-md, 4px 4px 0 0 rgba(0, 0, 0, 1));padding:var(--s2, 8px) var(--s3, 12px);font-size:.8125rem;line-height:1.4;color:var(--ink, #1d1b20);animation:ui-toast-in .14s ease}@keyframes ui-toast-in{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.ui-toast__dot{flex:0 0 auto;width:14px;height:14px;border-radius:var(--radius-pill, 9999px);border:2px solid var(--line, #000);margin-top:2px}.ui-toast--success .ui-toast__dot{background:var(--success, #059669)}.ui-toast--danger .ui-toast__dot{background:var(--danger, #dc2626)}.ui-toast--info .ui-toast__dot{background:var(--info, #2563eb)}.ui-toast--warn .ui-toast__dot{background:var(--warn, #d97706)}.ui-toast__msg{flex:1;min-width:0;font-weight:500}.ui-toast__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;background:transparent;border:none;cursor:pointer;color:var(--muted, #494551);font-size:.9rem;line-height:1;padding:0 0 0 var(--s1, 4px)}.ui-toast__close:hover{color:var(--ink, #1d1b20)}.ui-table-scroll{overflow-x:auto;border:var(--border-strong);border-radius:var(--radius-lg, .875rem);box-shadow:var(--shadow-md, 4px 4px 0 0 rgba(0, 0, 0, 1));background:var(--surface, #fff)}.ui-table{border-collapse:collapse;width:100%;font-size:.8125rem;color:var(--ink, #1d1b20)}.ui-table th,.ui-table td{border-right:2px solid var(--line, #000);border-bottom:2px solid var(--line, #000);padding:var(--s2, 8px) var(--s3, 12px);text-align:left;vertical-align:middle}.ui-table th:last-child,.ui-table td:last-child{border-right:none}.ui-table tr:last-child td{border-bottom:none}.ui-table thead th{font-family:var(--font-display);font-weight:800;font-size:.75rem;letter-spacing:0;text-transform:uppercase;background:var(--primary-tint, #ece6ee);color:var(--ink, #1d1b20);position:sticky;top:0;z-index:2}.ui-table tbody tr:nth-child(2n) td{background:var(--surface-tint, #f8f2fa)}.ui-table--hover tbody tr:hover td{background:var(--primary-tint, #ece6ee)}.ui-th--num,.ui-td--num{text-align:right;font-variant-numeric:tabular-nums}.ui-th--center,.ui-td--center{text-align:center}.ui-table--sticky-first th:first-child,.ui-table--sticky-first td:first-child{position:sticky;left:0;z-index:1;background:var(--surface, #fff);border-right-width:2px}.ui-table--sticky-first thead th:first-child{z-index:3;background:var(--primary-tint, #ece6ee)}.ui-table--sticky-first tbody tr:nth-child(2n) td:first-child{background:var(--surface-tint, #f8f2fa)}.ui-cell-edit{padding:0}.ui-cell-edit__input{width:100%;min-width:56px;border:none;background:transparent;font:inherit;font-variant-numeric:tabular-nums;color:var(--ink, #1d1b20);padding:var(--s2, 8px) var(--s3, 12px);text-align:center;outline:none}.ui-cell-edit__input:focus{background:var(--accent, #ffd166);box-shadow:inset 0 0 0 2px var(--line, #000)}.ui-cell-edit__input:disabled{color:var(--muted, #494551);cursor:not-allowed}.ui-cell-edit--dirty .ui-cell-edit__input{background:var(--warn-tint, #fffbeb)}.ui-cell-edit--saved .ui-cell-edit__input{background:var(--success-tint, #ecfdf5)}@media (max-width: 560px){.ui-table-scroll{border-width:3px;box-shadow:var(--shadow-sm)}.ui-table th,.ui-table td{padding:var(--s2)}}.ui-spinner{display:inline-block;box-sizing:border-box;border-style:solid;border-color:var(--primary-tint, #e9ddff);border-top-color:var(--primary, #4f378a);border-right-color:var(--primary, #4f378a);border-radius:0;animation:ui-spin .8s steps(8,end) infinite;vertical-align:middle;flex:0 0 auto}.ui-spinner--sm{width:16px;height:16px;border-width:3px}.ui-spinner--md{width:22px;height:22px;border-width:4px}.ui-spinner--lg{width:30px;height:30px;border-width:5px}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-loading{display:flex;align-items:center;justify-content:center;gap:var(--s3, 12px);padding:var(--s5, 24px);color:var(--ink, #1d1b20)}.ui-loading--block{flex-direction:column;gap:var(--s4, 16px);padding:var(--s6, 32px)}.ui-loading__blocks{display:inline-flex;align-items:flex-end;gap:6px;flex:0 0 auto}.ui-loading__block{width:14px;height:14px;border:var(--border, 2px solid #000);background:var(--primary-tint, #e9ddff);box-shadow:var(--shadow-sm, 2px 2px 0 0 #000);animation:ui-block-hop .6s steps(2,end) infinite alternate}.ui-loading__block:nth-child(2){animation-delay:.15s}.ui-loading__block:nth-child(3){animation-delay:.3s}.ui-loading--lg .ui-loading__block,.ui-loading--block .ui-loading__block{width:18px;height:18px}@keyframes ui-block-hop{0%{transform:translateY(0);background:var(--primary-tint, #e9ddff)}to{transform:translateY(-10px);background:var(--primary, #4f378a)}}.ui-loading__label{font-family:var(--font-display);font-weight:800;font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink, #1d1b20)}@media (prefers-reduced-motion: reduce){.ui-spinner,.ui-loading__block{animation-duration:1.6s}}.ui-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:2px solid var(--line, #000);border-radius:var(--radius, .625rem);background:var(--primary-tint, #ece6ee);color:var(--primary-strong, #4f378a);font-family:var(--font-display);font-weight:800;line-height:1;overflow:hidden;-webkit-user-select:none;user-select:none}.ui-avatar--round{border-radius:var(--radius-pill, 9999px)}.ui-avatar--xs{width:24px;height:24px;font-size:.625rem}.ui-avatar--sm{width:32px;height:32px;font-size:.75rem}.ui-avatar--md{width:40px;height:40px;font-size:.875rem}.ui-avatar--lg{width:56px;height:56px;font-size:1.125rem}.ui-avatar__img{width:100%;height:100%;object-fit:cover;display:block}.ui-avatar--accent{background:var(--accent, #ffd166);color:var(--ink, #1d1b20)}.ui-avatar--success{background:var(--success-tint, #ecfdf5);color:var(--success, #059669)}.ui-avatar--info{background:var(--info-tint, #eff6ff);color:var(--info, #2563eb)}.ui-avatar--neutral{background:var(--surface-tint, #f8f2fa);color:var(--ink, #1d1b20)}.neo-profile-menu{position:relative;width:100%}.neo-profile-menu .neo-sidebar__user{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;text-align:left;font:inherit}.neo-profile-menu__pop{position:absolute;bottom:calc(100% + var(--s2));left:0;right:0;z-index:30;display:flex;flex-direction:column;gap:var(--s1);padding:var(--s2);border:var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-md)}.neo-profile-menu__item{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:44px;padding:var(--s2) var(--s3);border:var(--border-strong);border-color:transparent;border-radius:var(--radius);background:transparent;color:var(--ink);font-family:var(--font-display);font-size:15px;font-weight:800;text-align:left;cursor:pointer}.neo-profile-menu__item:hover{background:#ffffff8c}.neo-profile-menu__item svg{flex:0 0 auto}.neo-profile-menu__section-label{padding:var(--s1) var(--s3);color:#1d1b2099;font-family:var(--font-display);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.neo-profile-menu__item--active{background:#ffffff8c}.neo-profile-menu__item--active span{color:var(--ink)}.neo-profile-menu__divider{height:0;margin:var(--s1) 0;border:none;border-top:var(--border)}.neo-profile-menu__identity{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s4)}.neo-profile-menu__identity-text{display:flex;flex-direction:column;gap:2px;min-width:0}.neo-profile-menu__identity-name{color:var(--ink);font-family:var(--font-display);font-size:16px;font-weight:800;line-height:1.2}.neo-profile-menu__identity-email{color:#1d1b20b8;font-size:13px;font-weight:700;line-height:1.3}.neo-sidebar--collapsed .neo-profile-menu__pop{left:0;right:auto;min-width:180px}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:var(--s3) var(--s5);border-bottom:var(--border-strong);background:var(--surface);color:var(--ink);position:sticky;top:0;z-index:30}.topbar__crumbs{display:flex;align-items:center;gap:var(--s2);min-width:0;color:var(--muted);font-family:var(--font-display);font-size:14px;font-weight:800}.topbar__crumb{display:inline-flex;align-items:center;min-width:0;color:inherit}.topbar__crumb:hover{color:var(--primary-strong);text-decoration:none}.topbar__crumb--current{color:var(--ink)}.topbar__crumb-text{display:block;overflow:hidden;max-width:220px;text-overflow:ellipsis;white-space:nowrap}.topbar__chevron{flex:0 0 auto;color:var(--primary-strong)}.topbar__chip{display:inline-flex;align-items:center;gap:var(--s1);min-height:26px;max-width:160px;padding:2px var(--s2);border:var(--border);border-radius:var(--radius-pill);background:var(--primary-tint);color:var(--ink);font-family:var(--font-display);font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar__actions{display:flex;align-items:center;gap:var(--s3);flex:0 0 auto}.topbar__icon-button,.topbar__preview{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;border:var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm)}.topbar__icon-button{position:relative;width:44px;height:44px}.topbar__badge{position:absolute;top:-8px;right:-8px;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border:var(--border);border-radius:var(--radius-pill);background:var(--info);color:#fff;font-family:var(--font-display);font-size:11px;font-weight:800}.topbar__preview{min-height:40px;gap:var(--s2);padding:var(--s2) var(--s3);border-color:transparent;box-shadow:none;background:transparent;font-family:var(--font-display);font-size:14px;font-weight:800}.topbar__preview:hover{background:var(--surface-tint);border-color:var(--line);box-shadow:var(--shadow-sm);text-decoration:none}.topbar__role-switch{min-width:176px}@media (max-width: 860px){.topbar{position:static;min-height:auto;align-items:flex-start;flex-wrap:wrap;gap:var(--s3);padding:var(--s3) var(--s4)}.topbar__crumbs{flex:1 1 100%;order:1}.topbar__actions{order:2;width:100%;justify-content:space-between}.topbar__role-switch{flex:1 1 auto;min-width:0}.topbar__crumb-text{max-width:190px}}@media (max-width: 560px){.topbar{padding:var(--s3)}.topbar__preview span{display:none}.topbar__crumb-text{max-width:145px}}.auth-screen{min-height:100%;display:flex;align-items:center;justify-content:center;padding:var(--s5)}.auth-panel{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--s5)}.auth-brand{display:flex;align-items:center;gap:var(--s3)}.auth-brand__mark{display:grid;place-items:center;width:48px;height:48px;flex:0 0 auto;border:var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:var(--rail);font-family:var(--font-display);font-weight:800;font-size:22px;line-height:1;color:var(--ink)}.auth-brand__text{display:flex;flex-direction:column;min-width:0}.auth-brand__name{font-family:var(--font-display);font-weight:800;font-size:18px;line-height:1.1;color:var(--ink)}.auth-brand__tag{font-size:12px;font-weight:600;color:var(--muted)}.auth-eyebrow{display:inline-block;font-family:var(--font-display);font-weight:800;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--primary-strong);margin-bottom:var(--s1)}.auth-links{margin-top:var(--s1)}@media (max-width: 560px){.auth-screen{padding:var(--s4);align-items:flex-start;padding-top:var(--s7)}}.student-home .ui-section{margin-bottom:0}.course-tile{display:block;height:100%;color:inherit;text-decoration:none}.course-tile:hover{text-decoration:none}.course-tile__card{display:flex;flex-direction:column;height:100%;overflow:hidden}.course-tile__visual{position:relative;min-height:136px;border-bottom:var(--border-strong);background:var(--course-tint);overflow:hidden}.course-tile__class{position:absolute;top:var(--s4);left:var(--s4);z-index:2;display:inline-flex;align-items:center;min-height:32px;max-width:calc(100% - 32px);padding:4px var(--s3);border:var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font-family:var(--font-display);font-size:13px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-tile__graphic{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--course-accent);opacity:.9}.course-tile__graphic svg{width:70px;height:70px;stroke-width:2.5}.course-tile__body{padding:var(--s4);background:var(--surface)}.course-tile__title{display:-webkit-box;margin:0 0 var(--s1);color:var(--ink);font-family:var(--font-display);font-size:19px;font-weight:800;line-height:1.18;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.course-tile__meta{color:var(--muted);font-size:14px;font-weight:700}.course-hero{position:relative;overflow:hidden;border:var(--border-strong);border-radius:var(--radius-lg);background:var(--course-tint);box-shadow:var(--shadow-md);color:var(--ink)}.course-hero__content{position:relative;z-index:2;padding:var(--s4) var(--s5)}.course-hero__chips{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s2)}.course-hero__chip{display:inline-flex;align-items:center;gap:var(--s1);min-height:30px;padding:3px var(--s3);border:var(--border);border-radius:var(--radius-pill);background:#ffffffb8;color:var(--ink);font-family:var(--font-display);font-size:12px;font-weight:800}.course-hero__title{margin:0;max-width:720px;color:var(--ink);font-family:var(--font-display);font-size:28px;font-weight:800;line-height:1.05}.course-hero__subtitle{margin:var(--s1) 0 0;color:#1d1b20bd;font-size:14px;font-weight:800}.course-hero__graphic{position:absolute;right:var(--s4);top:50%;color:var(--course-accent);opacity:.2;transform:translateY(-50%) rotate(-4deg)}.course-hero__graphic svg{width:104px;height:104px;stroke-width:2.2}@media (max-width: 720px){.course-tile__visual{min-height:112px}.course-hero__content{padding:var(--s3) var(--s4)}.course-hero__title{font-size:24px;max-width:16ch}.course-hero__graphic{right:var(--s3)}.course-hero__graphic svg{width:84px;height:84px}}.student-course-timeline{display:flex;flex-direction:column;gap:var(--s4)}.student-theme{overflow:hidden;border:var(--border-strong);border-radius:var(--radius-lg);background:var(--blue-tint);box-shadow:var(--shadow-md)}.student-theme__header{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s4);border-bottom:var(--border);background:var(--blue-tint-strong)}.student-theme__header h2,.student-theme__header p,.student-theme__idea,.student-session h3,.student-session p{margin:0}.student-theme__header h2{font-size:22px}.student-theme__header p,.student-theme__idea,.student-session header span,.student-session__empty,.student-activity-row small{color:var(--muted);font-size:13px;font-weight:650}.student-theme__idea{padding:var(--s3) var(--s4) 0}.student-session-rail{position:relative;display:flex;flex-direction:column;gap:var(--s4);padding:var(--s4) var(--s4) var(--s4) 58px}.student-session-rail__line{position:absolute;top:var(--s4);bottom:var(--s4);left:30px;width:4px;border-radius:var(--radius-pill);background:var(--line)}.student-session{position:relative}.student-session__number{position:absolute;left:-42px;top:14px;z-index:1;width:30px;height:30px;display:grid;place-items:center;border:var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);font-family:var(--font-display);font-size:12px;font-weight:800}.student-session__card{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4);border:var(--border);border-radius:var(--radius-lg);background:#ffffffa3;box-shadow:var(--shadow-sm)}.student-session header{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.student-session h3{font-size:16px}.student-activity-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s3);border:var(--border);border-left-width:5px;border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.student-activity-row:hover{transform:translate(1px,1px);box-shadow:var(--shadow-xs);background:var(--blue-faint);text-decoration:none}.student-activity-row--read{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:var(--s2);padding:var(--s3) var(--s1);border:none;background:transparent;box-shadow:none;cursor:default}.student-activity-row--read:hover{transform:none;box-shadow:none;background:transparent}.student-instruction__body{color:var(--muted);font-size:13.5px;line-height:1.55}.student-instruction__body .md__ul,.student-instruction__body .md__ol{margin-top:var(--s1)}.student-instruction__resources{display:flex;flex-direction:column;gap:var(--s2)}.student-activity-row span{min-width:0}.student-activity-row__main{display:flex;align-items:center;gap:var(--s2);min-width:0}.student-activity-row__icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:28px;height:28px;border:var(--border);border-radius:var(--radius);background:var(--primary-tint);color:var(--primary-strong)}.student-activity-row__main>strong,.student-activity-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 640px){.student-session-rail{padding-left:48px}.student-session-rail__line{left:24px}.student-session__number{left:-36px}.student-session header,.student-activity-row{align-items:flex-start;flex-direction:column}}.instruction-editor__card{border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:var(--surface);overflow:hidden}.instruction-editor__card-head{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:var(--border);color:var(--muted)}.instruction-editor__card-title{font-size:13px;font-weight:700;color:var(--ink)}.instruction-editor__card-body{padding:var(--s4)}.instruction-editor__body{min-height:11rem;line-height:1.6}.instruction-player{background:var(--blue-tint)}.instruction-player .ui-card__header{background:var(--surface)}.instruction-player .ui-card__body{padding:var(--s5)}.instruction-player__body{font-size:1rem;line-height:1.6}.instruction-player__empty{margin:0;color:var(--muted)}.instruction-player__resource{padding-top:var(--s2);border-top:var(--border)}.instruction-player__note{margin:0;font-size:12px;color:var(--muted)}.aw-card{background:var(--surface);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.aw-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:var(--border)}.aw-card__title{display:inline-flex;align-items:center;gap:var(--s2);margin:0;font-family:var(--font-display);font-size:14px;font-weight:800;color:var(--ink)}.aw-card__title svg{flex:0 0 auto;color:var(--primary-strong)}.aw-card__sub{flex:0 0 auto;font-size:12px;font-weight:500;color:var(--muted)}.aw-card__body{padding:var(--s4)}.assignment-submission{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s3)}.assignment-submission__card{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;flex-direction:column;align-items:flex-start;gap:var(--s2);text-align:left;padding:var(--s3);background:var(--surface);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:pointer;color:var(--ink);transition:transform .08s ease,box-shadow .08s ease,background .08s ease}.assignment-submission__card:hover{background:var(--surface-tint)}.assignment-submission__card:focus-visible{outline:none;box-shadow:var(--shadow-md)}.assignment-submission__card--selected{background:var(--primary-tint);box-shadow:var(--shadow-md);transform:translate(-1px,-1px)}.assignment-submission__icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 auto;border:var(--border);border-radius:var(--radius);background:var(--surface);color:var(--primary-strong)}.assignment-submission__card--selected .assignment-submission__icon{background:var(--primary);color:var(--on-primary)}.assignment-submission__text{display:flex;flex-direction:column;gap:2px;min-width:0}.assignment-submission__label{font-family:var(--font-display);font-size:13px;font-weight:800;color:var(--ink)}.assignment-submission__desc{font-size:12px;color:var(--muted);line-height:1.35}.assignment-submission__sep{display:flex;align-items:center;gap:var(--s3);margin:var(--s4) 0 var(--s3);color:var(--muted);font-family:var(--font-display);font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.assignment-submission__sep:before,.assignment-submission__sep:after{content:"";flex:1;border-top:var(--border);border-color:#0000002e}.assignment-submission__card--offline{flex-direction:row;align-items:center;width:100%}@media (max-width: 640px){.assignment-submission{grid-template-columns:minmax(0,1fr)}}.assignment-player__prompt{margin:0;color:var(--ink);white-space:pre-wrap}.assignment-player__file{display:flex;align-items:center;gap:var(--s3)}.assignment-player__file-note{color:var(--muted);font-size:13px}.reflection-section{background:var(--surface);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.reflection-section__head{padding:var(--s3);border-bottom:var(--border)}.reflection-section__title{display:inline-flex;align-items:center;gap:var(--s2);margin:0;font-family:var(--font-display);font-size:14px;font-weight:800;color:var(--ink)}.reflection-section__title svg{flex:0 0 auto;color:var(--primary-strong)}.reflection-section__count{margin-left:var(--s1)}.reflection-section__subtitle{margin:var(--s1) 0 0;color:var(--muted);font-size:13px;line-height:1.4}.reflection-section__body{padding:var(--s3)}.reflection-prompt{display:flex;align-items:flex-start;gap:var(--s2)}.reflection-prompt__field{flex:1 1 auto;min-width:0}.reflection-prompt__num{flex:0 0 auto;margin-top:var(--s1)}.reflection-answer__prompt{margin:0;font-weight:600;line-height:1.3}.disc-card{background:var(--surface);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.disc-card__head{padding:var(--s3);border-bottom:var(--border)}.disc-card__title{display:inline-flex;align-items:center;gap:var(--s2);margin:0;font-family:var(--font-display);font-size:14px;font-weight:800;color:var(--ink)}.disc-card__title svg{flex:0 0 auto;color:var(--primary-strong)}.disc-card__subtitle{margin:var(--s1) 0 0;font-size:12px;color:var(--muted)}.disc-card__body{padding:var(--s3)}.disc-editor__replies{max-width:12rem}.discussion-player__spacer{flex:1}.discussion-player__post{width:100%}.discussion-player__post-body{min-width:0}.discussion-player__time{font-size:12px;color:var(--muted)}.discussion-player__replies{margin-top:var(--s3);padding-left:var(--s4);border-left:var(--border)}.discussion-player__reply{padding-top:var(--s2)}.discussion-player__reply+.discussion-player__reply{border-top:var(--border-width) solid var(--surface-strong)}.quiz-q__index{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;padding:0 var(--s2);border:var(--border);border-radius:var(--radius-pill);background:var(--surface-tint);font-family:var(--font-display);font-weight:800;font-size:13px;font-variant-numeric:tabular-nums}.quiz-choice{display:flex;align-items:center;gap:var(--s2)}.quiz-choice__grow{flex:1;min-width:0}.quiz-choice__mark{display:inline-flex;align-items:center;flex:none}.quiz-points{width:6.5rem;flex:none}.quiz-add{display:flex;align-items:flex-end;gap:var(--s3);flex-wrap:wrap}.quiz-add__type{flex:1 1 14rem;min-width:0}.quiz-add__btn{flex:0 0 auto}.quiz-attempts{width:9rem;max-width:100%}.quiz-option{display:flex;align-items:flex-start;gap:var(--s2);padding:var(--s2) var(--s3);border:var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer}.quiz-option--picked{background:var(--primary-tint)}.quiz-option--disabled{cursor:default;opacity:.85}.quiz-option__input{margin-top:2px;flex:none}.quiz-option__text{flex:1;min-width:0}.quiz-q__prompt{margin:0;font-weight:600}.quiz-num{font-variant-numeric:tabular-nums}.aw__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--s5);background:#1d1b2073;animation:aw-fade .12s ease}@keyframes aw-fade{0%{opacity:0}to{opacity:1}}.aw__panel{position:relative;width:100%;max-width:960px;height:auto;max-height:90vh;background:var(--surface);border:var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:aw-pop .12s ease}@keyframes aw-pop{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.aw__header{flex:0 0 auto;display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-bottom:var(--border);background:var(--surface)}.aw__header-left{display:flex;align-items:center;gap:var(--s3);min-width:0}.aw__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:var(--border);border-radius:var(--radius);cursor:pointer;color:var(--ink);box-shadow:var(--shadow-sm);transition:transform .08s ease,box-shadow .08s ease}.aw__close:hover{transform:translate(1px,1px);box-shadow:var(--shadow-xs)}.aw__close:focus-visible{outline:none;box-shadow:var(--shadow-md)}.aw__type{display:inline-flex;align-items:center;gap:var(--s2);min-width:0}.aw__type-icon{flex:0 0 auto;display:inline-flex;color:var(--primary-strong)}.aw__type-label{font-family:var(--font-display);font-weight:800;font-size:.95rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aw__header-right{display:flex;align-items:center;gap:var(--s2);margin-left:auto}.aw__body{flex:1 1 auto;display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:0;overflow:hidden}.aw__content{min-width:0;overflow-y:auto;padding:var(--s5);background:var(--surface)}.aw__sidebar{min-width:0;overflow-y:auto;padding:var(--s4);border-left:var(--border);background:var(--surface-tint)}@media (max-width: 760px){.aw__body{grid-template-columns:minmax(0,1fr);overflow-y:auto}.aw__content,.aw__sidebar{overflow-y:visible}.aw__sidebar{border-left:none;border-top:var(--border)}}@media (max-width: 640px){.aw__overlay{padding:0}.aw__panel{max-width:none;width:100%;height:100%;max-height:100%;border-radius:0;border-width:0;box-shadow:none}.aw__content,.aw__sidebar{padding:var(--s4)}}.grading-switch{flex-direction:row-reverse;align-items:flex-start;justify-content:space-between;width:100%;gap:var(--s3)}.grading-switch .ui-switch-row__text{flex:1 1 auto;min-width:0}.grading-summary{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3);border:var(--border);border-radius:var(--radius);background:var(--surface-tint)}.grading-summary__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}.grading-summary__label{font-family:var(--font-display);font-size:13px;font-weight:900}.grading-summary__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2);margin:0}.grading-summary__stats div{display:flex;flex-direction:column;gap:2px;min-width:0;padding:var(--s2);border:var(--border);border-radius:calc(var(--radius) - 2px);background:var(--surface)}.grading-summary__stats dt{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.grading-summary__stats dd{margin:0;font-family:var(--font-display);font-size:17px;font-weight:900}.grading-summary__link{display:inline-flex;align-items:center;gap:var(--s1);flex:0 0 auto;margin:0;padding:0;border:none;background:none;cursor:pointer;font:inherit;font-size:12px;font-weight:800;color:var(--primary-strong);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.grading-summary__link:hover{text-decoration-style:solid}.grading-summary__link svg{flex:0 0 auto}.settings-sidebar{display:flex;flex-direction:column;gap:0}.settings-section{display:flex;flex-direction:column;gap:var(--s2)}.settings-section+.settings-section{margin-top:var(--s4);padding-top:var(--s4);margin-inline:calc(-1 * var(--s4));padding-inline:var(--s4);border-top:var(--border)}.settings-section__label{display:flex;align-items:center;gap:var(--s2);margin:0;font-family:var(--font-display);font-size:11px;font-weight:900;letter-spacing:.02em;text-transform:uppercase;color:var(--ink)}.settings-section__scope{margin-left:auto;flex:0 0 auto;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--primary-strong)}.settings-section__body{display:flex;flex-direction:column;gap:var(--s2)}.settings-sidebar .ui-field{margin-bottom:var(--s2)}.settings-sidebar .ui-field__hint{margin-top:2px;line-height:1.25}.settings-sidebar .settings-field--hint-loose .ui-field__hint{margin-top:var(--s2)}.settings-sidebar .ui-field__label{margin-bottom:3px}.settings-compact-stack{gap:var(--s2)}.settings-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2);align-items:start}.settings-two-col .ui-field{margin-bottom:0}.settings-two-col .ui-select2__panel{width:180%;max-width:min(18rem,90vw);right:auto}.settings-two-col .ui-field:nth-child(2) .ui-select2__panel{left:auto;right:0}.settings-section__note{margin:0;color:var(--muted);font-size:13px}.activity-resource{display:flex;flex-direction:column;gap:var(--s2)}.activity-resource__header{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);min-height:24px}.activity-resource__title{color:var(--ink);font-family:var(--font-display);font-size:11px;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.activity-resource__header .ui-btn{padding-inline:var(--s2)}.activity-resource__actions{display:inline-flex;align-items:center;gap:var(--s2);margin-left:auto}.activity-resource__list{display:flex;flex-direction:column;gap:var(--s2)}.activity-resource__item{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s2);border:var(--border);border-radius:var(--radius);background:#ffffff59}.activity-resource--inline .activity-resource__header{justify-content:flex-start}.activity-resource--inline .activity-resource__item{background:transparent}.activity-resource__item-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}.activity-resource__item-head .ui-btn{padding-inline:var(--s2)}.activity-resource__grid{display:grid;grid-template-columns:minmax(92px,.55fr) minmax(0,1fr);gap:var(--s2);align-items:end}.activity-resource__grid .ui-field{margin-bottom:0}.activity-resource__preview{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s2);padding:var(--s2);border:var(--border);border-radius:var(--radius);background:var(--surface-tint)}.activity-resource__preview-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:var(--border);border-radius:var(--radius);background:var(--surface);color:var(--primary-strong)}.activity-resource__preview-copy{display:flex;min-width:0;flex-direction:column;gap:1px;font-size:12px;color:var(--muted)}.activity-resource__preview-copy strong,.activity-resource__preview-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-resource__preview-copy strong{color:var(--ink);font-family:var(--font-display);font-size:13px;font-weight:800}.activity-resource__preview-eyebrow{font-size:10px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.activity-resource__preview-open{display:inline-flex;align-items:center;gap:var(--s1);color:var(--primary-strong);font-size:12px;font-weight:800;text-decoration:none}.activity-resource__preview-open:hover{text-decoration:underline;text-underline-offset:3px}.groups-panel__add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s2);align-items:center}.groups-panel__add .ui-field__control,.groups-panel__add .ui-input{min-width:0}@media (max-width: 760px){.settings-two-col,.activity-resource__grid,.groups-panel__add{grid-template-columns:1fr}.settings-two-col .ui-select2__panel{width:100%;max-width:none}}.att-wrap{display:flex;flex-direction:column;gap:var(--s3)}.att{display:flex;align-items:center;gap:var(--s3);width:100%;padding:var(--s3);border:var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--ink);text-align:left;text-decoration:none;justify-content:space-between}.att--interactive{font:inherit;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.att--interactive:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 0 var(--line);background:var(--surface-tint);text-decoration:none}.att__lead{display:flex;align-items:center;gap:var(--s3);flex:1;min-width:0}.att__media{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;border:var(--border);border-radius:var(--radius);background:var(--primary-tint);color:var(--primary-strong)}.att__main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.att__meta{color:var(--muted);font-size:12px;font-weight:800}.att__line{display:flex;align-items:center;gap:var(--s2);min-width:0}.att__label{font-weight:700;font-size:14px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att__link{display:inline-flex;align-items:center;gap:var(--s1);min-width:0;color:var(--primary-strong);font-weight:700;font-size:14px;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att__link:hover{text-decoration:underline}.att__pill{display:inline-flex;align-items:center;gap:var(--s1);flex:0 0 auto;padding:var(--s1) var(--s3);border:var(--border);border-radius:var(--radius-pill);background:var(--accent);color:var(--ink);font:inherit;font-weight:700;font-size:13px}.att__toggle{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.att__toggle:hover{transform:translate(1px,1px);box-shadow:1px 1px 0 0 var(--line)}.att__embed{border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;background:var(--ink)}.att__frame{display:block;width:100%;aspect-ratio:16 / 9;border:0}.att--compact{gap:var(--s2);min-height:44px;padding:var(--s2) var(--s3);background:var(--primary-tint);box-shadow:var(--shadow-xs)}.att--compact.att--interactive:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 0 var(--line)}.att--compact .att__media{width:28px;height:28px;background:var(--surface)}.att--compact .att__label{font-size:13px}.student-activity-shell{max-width:840px;margin-inline:auto}.student-activity-hero{display:flex;flex-direction:column;gap:var(--s4);padding:var(--s4);border:var(--border-strong);border-radius:var(--radius-lg);background:var(--blue-tint);box-shadow:var(--shadow-md);overflow:hidden}.activity-back{display:inline-flex;align-items:center;gap:var(--s2);align-self:flex-start;padding:var(--s1) var(--s3);border:var(--border);border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--ink);font-weight:700;font-size:13px;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.activity-back:hover{transform:translate(1px,1px);box-shadow:var(--shadow-xs);background:var(--surface-tint);text-decoration:none}.student-activity-hero__copy{min-width:0}.student-activity-hero__copy h1{margin:0;font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.05;color:var(--ink)}@media (max-width: 640px){.student-activity-hero{padding:var(--s3)}}.player-prompt{margin:0;font-size:15px;line-height:1.55;color:var(--ink);white-space:pre-line}.resource-list{display:flex;flex-direction:column;gap:var(--s3)}.cal-month{display:flex;flex-direction:column;gap:var(--s4)}.cal-month__bar{flex-wrap:wrap}.cal-month__label{font-family:var(--font-display);font-weight:800;font-size:18px;color:var(--ink);min-width:9.5rem;text-align:center}.cal-month__scroll{overflow-x:auto;border:var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:var(--surface)}.cal-month__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:44rem}.cal-month__weekday{font-family:var(--font-display);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:center;padding:var(--s2) var(--s2);background:var(--surface-strong);border-bottom:var(--border)}.cal-month__weekday:not(:last-child){border-right:var(--border)}.cal-month__cell{min-height:6.5rem;padding:var(--s2);display:flex;flex-direction:column;gap:var(--s1);background:var(--surface)}.cal-month__cell:not(:nth-child(7n)){border-right:var(--border)}.cal-month__cell:not(:nth-child(n+43)){border-bottom:var(--border)}.cal-month__cell--muted{background:var(--surface-tint)}.cal-month__cell--muted .cal-month__date{color:var(--muted);opacity:.6}.cal-month__cell--today{background:var(--rail-soft)}.cal-month__date{font-weight:700;font-size:13px;color:var(--ink);display:flex;justify-content:flex-end;line-height:1.4}.cal-month__today-pill{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 var(--s1);background:var(--primary);color:var(--on-primary);border:var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm)}.cal-month__events{display:flex;flex-direction:column;gap:var(--s1);min-width:0}.cal-event{display:flex;align-items:baseline;gap:var(--s1);min-width:0;padding:2px var(--s1);background:var(--primary-tint);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--ink);font-weight:600;text-decoration:none;transition:transform .1s ease,box-shadow .1s ease}.cal-event:hover{transform:translate(1px,1px);box-shadow:var(--shadow-xs);text-decoration:none}.cal-event__time{flex:0 0 auto;font-size:10px;font-weight:700;color:var(--primary-strong)}.cal-event__title{flex:1 1 auto;min-width:0;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-month__more{align-self:flex-start;font-size:10px}@media (max-width: 560px){.cal-month__scroll{border-width:3px;box-shadow:var(--shadow-sm)}.cal-month__cell{min-height:5.5rem}}.inbox-row{cursor:pointer}.inbox-row--unread{border-left-width:var(--border-width-strong);border-left-color:var(--primary)}.inbox-row__title{font-weight:700;color:var(--ink)}.inbox-row__time{font-size:12px;color:var(--muted)}.inbox-row__body{margin:var(--s1) 0 0;color:var(--muted)}.inbox-row__link{margin-top:var(--s1);font-size:12px;font-weight:600;color:var(--primary-strong)}.teacher-course-main{min-width:0}.course-detail-tabs{display:inline-flex;align-items:center;gap:var(--s2);padding:var(--s1);border:var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.course-detail-tab{display:inline-flex;align-items:center;gap:var(--s2);min-height:38px;padding:var(--s2) var(--s3);border:0;border-radius:var(--radius);background:transparent;color:var(--ink);font-family:var(--font-display);font-weight:800;cursor:pointer}.course-detail-tab--active{border:var(--border);background:var(--surface-tint);box-shadow:var(--shadow-sm)}.students-panel{overflow:hidden;border:var(--border-strong);border-radius:var(--radius-lg);background:var(--blue-tint);box-shadow:var(--shadow-md)}.students-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);padding:var(--s4);border-bottom:var(--border);background:var(--blue-tint-strong)}.students-panel__header h2,.students-panel__header p{margin:0}.students-panel__header p{margin-top:var(--s1);color:var(--muted);font-size:13px;font-weight:650}.students-panel__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);padding:var(--s4);border-bottom:var(--border)}.students-panel__stats>div{padding:var(--s3);border:var(--border);border-radius:var(--radius);background:#ffffff8c}.students-panel__stats span,.students-panel__stats strong{display:block}.students-panel__stats span{color:var(--muted);font-size:12px;font-weight:700}.students-panel__stats strong{margin-top:var(--s1);font-family:var(--font-display);font-size:24px}.students-table{display:grid;padding:var(--s4)}.students-table__head,.students-table__row{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(160px,1fr) minmax(120px,auto) minmax(120px,auto);gap:var(--s3);align-items:center;padding:var(--s3);border-right:var(--border);border-left:var(--border);border-bottom:var(--border);background:#ffffff9e}.students-table__head{border-top:var(--border);border-radius:var(--radius) var(--radius) 0 0;background:var(--blue-deep);color:var(--muted);font-family:var(--font-display);font-size:12px;font-weight:800;text-transform:uppercase}.students-table__row:last-child{border-radius:0 0 var(--radius) var(--radius)}.students-table__row>span{min-width:0;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1080px){.students-table{overflow-x:auto}.students-table__head,.students-table__row{min-width:720px}}@media (max-width: 720px){.students-panel__header,.students-panel__header .ui-row{align-items:stretch;flex-direction:column}.students-panel__stats{grid-template-columns:1fr}}.teach-plan__intro{color:var(--muted)}.teach-plan__title{display:grid;gap:6px}.teach-plan__title .teach-plan__intro{max-width:760px;font-family:var(--font-sans);font-size:13px;font-weight:600;line-height:1.45}.teach-plan-workspace{max-width:960px;width:min(100%,960px)}.teach-plan-workspace .ui-modal__body{padding:0}.teach-plan-workspace .ui-modal__footer{background:var(--surface)}.plan-picker{min-height:0}.plan-picker>.ui-banner,.plan-picker>.ui-empty,.plan-picker>.ui-loading{margin:var(--s4) var(--s5)}.plan-picker__workspace{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);height:clamp(360px,58vh,680px);overflow:hidden}.plan-picker__shelf,.plan-picker__preview{min-width:0;min-height:0;overflow-y:auto}.plan-picker__shelf{display:grid;border-right:var(--border);background:color-mix(in srgb,var(--surface-tint) 55%,white)}.plan-picker__shelf-scroll{display:grid;align-content:start;gap:var(--s4);min-height:0;overflow-y:auto;padding:var(--s4)}.plan-picker__group{display:grid;gap:var(--s2)}.plan-picker__group-head{display:flex;align-items:center;gap:var(--s2)}.plan-picker__group-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:13px}.plan-picker__theme-list{display:grid;gap:8px}.plan-picker__theme{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--s2);padding:10px 12px;border:var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;box-shadow:var(--shadow-xs)}.plan-picker__theme:hover{transform:translate(1px,1px);box-shadow:none}.plan-picker__theme.is-active{background:var(--blue-tint);box-shadow:var(--shadow-sm)}.plan-picker__theme.is-muted{opacity:.72;cursor:not-allowed}.plan-picker__theme-main{min-width:0;display:grid;gap:3px}.plan-picker__theme-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:14px;font-weight:800}.plan-picker__theme-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px;font-weight:750}.plan-picker__theme-state{display:inline-flex;color:var(--primary-strong)}.plan-picker__preview{padding:var(--s5);background:var(--surface)}.plan-preview__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4)}.plan-preview__title-block{min-width:0}.plan-preview__eyebrow{color:var(--primary-strong);font-family:var(--font-display);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.plan-preview__title-block h3{margin:2px 0 0;font-family:var(--font-display);font-size:22px;line-height:1.15}.plan-preview__title-block p{margin:var(--s2) 0 0;color:var(--muted);font-weight:650;line-height:1.45}.plan-preview__action{flex:0 0 auto}.plan-preview__section{display:grid;gap:var(--s2);padding-top:var(--s4);border-top:var(--border)}.plan-preview__sessions{display:grid;gap:var(--s3)}.plan-picker__preview .plan-zone__pillars--cards{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-picker__preview .plan-zone__pillars--cards .plan-pillar{gap:5px;padding:10px 12px;border:var(--border);border-radius:var(--radius);background:var(--surface-tint)}.plan-picker__preview .plan-zone__pillars--cards .plan-pillar dd{font-size:10px;line-height:1.35}.plan-theme__meta{display:block;margin-top:3px;font-size:12px;font-weight:800;color:var(--muted)}.plan-theme__added{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;color:var(--success)}.plan-theme__zones{display:grid;gap:var(--s3);border-top:var(--border);padding-top:var(--s2)}.plan-zone{display:grid;gap:var(--s2)}.plan-zone__label{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.plan-zone__goals{margin:0;padding-left:18px;display:grid;gap:2px;font-size:13px;font-weight:600}.plan-zone__goals li::marker{color:var(--primary)}.plan-zone__pillars{margin:0;display:grid;gap:8px}.plan-pillar{display:grid;gap:1px}.plan-pillar dt{font-size:11px;font-weight:800;letter-spacing:.03em;color:var(--primary)}.plan-pillar dd{margin:0;font-size:13px;font-weight:500;color:var(--ink)}.plan-session{border:var(--border);border-radius:var(--radius);background:var(--surface-tint);padding:var(--s2);display:grid;gap:var(--s2)}.plan-session__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}.plan-session__title{font-weight:900;font-size:13px}.plan-session__dur{color:var(--muted);font-weight:700}.plan-activity-list{display:grid;gap:6px;padding-left:var(--s2)}.plan-activity{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:6px 8px;border:var(--border);border-radius:var(--radius);background:var(--surface)}.plan-activity__body{min-width:0;display:grid;gap:3px}.plan-activity__title{font-size:13px;font-weight:700}.plan-activity__tags{display:inline-flex;flex-wrap:wrap;gap:4px}.plan-theme__footnote{margin:0;font-size:12px;font-weight:600;color:var(--muted)}.plan-group{display:grid;gap:var(--s2)}.plan-group__head{display:flex;align-items:center;gap:var(--s2)}.plan-group__head strong{font-family:var(--font-display);font-size:15px}.plan-theme{border:var(--border);border-radius:var(--radius);background:var(--surface);padding:var(--s3);display:grid;gap:var(--s2)}.plan-theme--muted{background:var(--surface-tint);opacity:.85}.plan-theme__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3)}.plan-theme__copy{min-width:0}.plan-theme__title{font-family:var(--font-display);font-size:15px}.plan-theme__idea{margin:4px 0 0;color:var(--muted);font-size:13px;font-weight:600;line-height:1.45}.plan-theme__action{flex:0 0 auto}.plan-theme__pending{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:12px;font-weight:800}.plan-theme__criteria{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.plan-theme__criteria--cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px}.plan-theme__criteria-label{font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.plan-theme__chip{font-size:12px;font-weight:700;background:var(--surface-tint);border:var(--border);border-radius:var(--radius);padding:1px 8px}.plan-criterion{display:grid;gap:4px;padding:8px 10px;border:var(--border);border-radius:var(--radius);background:var(--surface-tint)}.plan-criterion__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s2);font-size:12px}.plan-criterion__head span{color:var(--muted);font-weight:800}.plan-criterion p{margin:0;color:var(--muted);font-size:11px;font-weight:600;line-height:1.35}.plan-theme__view{display:inline-flex;align-items:center;gap:3px;margin-left:auto;padding:0;border:0;background:transparent;color:var(--primary-strong);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.plan-theme__view svg{transition:transform .12s ease}.plan-theme__view.is-open svg{transform:rotate(180deg)}.plan-theme__preview{border-top:var(--border);padding-top:var(--s2)}.plan-theme__preview dl{margin:0;display:grid;gap:4px}.plan-theme__preview dt{font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.plan-theme__preview dd{margin:0 0 var(--s2);font-size:13px;font-weight:600}.plan-theme__preview ul{margin:0;padding-left:18px;display:grid;gap:2px}.plan-theme__preview li::marker{color:var(--primary)}.plan-blank{border-top:var(--border);padding-top:var(--s3)}@media (max-width: 860px){.plan-picker__workspace{grid-template-columns:minmax(0,1fr);height:auto;max-height:none;overflow:visible}.plan-picker__shelf{border-right:0;border-bottom:var(--border)}.plan-picker__shelf,.plan-picker__preview,.plan-picker__shelf-scroll{overflow:visible}}@media (max-width: 560px){.teach-plan-workspace{width:100%}.plan-picker__preview{padding:var(--s4)}.teach-plan__title .teach-plan__intro{font-size:12px}.plan-picker__preview .plan-zone__pillars--cards,.plan-theme__criteria--cards{grid-template-columns:minmax(0,1fr)}.plan-preview__head,.plan-session__head,.plan-activity{align-items:flex-start;flex-direction:column}.plan-preview__action,.plan-theme__action{width:100%}}.course-timeline{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}.course-timeline__toolbar{display:flex;align-items:center;gap:var(--s4);padding:var(--s4) var(--s5);margin-bottom:var(--s4);border:var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md)}.course-timeline__toolbar-text{flex:1;min-width:0}.course-timeline__toolbar h2{margin:0;font-size:18px}.course-timeline__toolbar p{margin:var(--s1) 0 0;color:var(--muted);font-size:13px;font-weight:650}.course-timeline__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--s2);flex-wrap:wrap}.course-timeline__body{padding:0;background:transparent}.course-timeline__sections{display:flex;flex-direction:column;gap:var(--s4)}.theme-timeline{border:var(--border);border-radius:var(--radius-lg);background:var(--blue-tint);box-shadow:var(--shadow-md);overflow:hidden}.theme-timeline__header{display:flex;align-items:center;gap:var(--s3);padding:var(--s3);border-bottom:var(--border);background:var(--blue-tint-hover)}.theme-timeline--collapsed .theme-timeline__header{border-bottom:0}.theme-timeline--dragging{opacity:.72}.theme-timeline__drag,.theme-timeline__toggle{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border:var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease}.theme-timeline__drag{cursor:grab}.theme-timeline__drag:active{cursor:grabbing}.theme-timeline--collapsed .theme-timeline__toggle svg{transform:rotate(-90deg)}.theme-timeline__title-button{min-width:0;flex:1;border:0;padding:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.theme-timeline__title{display:block;font-family:var(--font-display);font-size:18px;font-weight:800;line-height:1.15}.theme-timeline__meta{display:block;margin-top:var(--s1);color:var(--muted);font-size:12px;font-weight:700}.theme-timeline__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--s2);flex-wrap:wrap}.theme-timeline__icon-action{width:32px;height:32px;display:grid;place-items:center;border:var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.theme-timeline__icon-action:hover{transform:translate(1px,1px);box-shadow:var(--shadow-xs);background:var(--surface-tint);text-decoration:none}.theme-timeline__icon-action--danger{background:var(--danger);color:var(--surface)}.theme-timeline__icon-action--danger:hover{background:var(--danger-strong)}.theme-timeline__hover-action{opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s ease,transform .12s ease,box-shadow .12s ease,background .12s ease}.theme-timeline__header:hover .theme-timeline__hover-action,.theme-timeline__header:focus-within .theme-timeline__hover-action,.session-timeline__header:hover .theme-timeline__hover-action,.session-timeline__header:focus-within .theme-timeline__hover-action,.activity-row:hover .theme-timeline__hover-action,.activity-row:focus-within .theme-timeline__hover-action{opacity:1;visibility:visible}.theme-timeline__hover-action:focus-visible{opacity:1;visibility:visible}.theme-timeline__content{padding:var(--s4)}.theme-timeline__eyebrow{display:block;margin-bottom:2px;color:var(--primary-strong);font-family:var(--font-display);font-size:11px;font-weight:800;text-transform:uppercase}.theme-timeline__eyebrow-toggle{border:0;padding:0;background:transparent;cursor:pointer;text-align:left}.theme-timeline__bigidea-input{display:block;width:100%;margin-top:var(--s1);padding:2px 0;border:0;border-radius:var(--radius);background:transparent;color:var(--muted);font-family:inherit;font-size:13px;font-weight:550;line-height:1.4;cursor:text;resize:none;overflow:hidden;field-sizing:content;min-height:1.4em;transition:background .12s ease}.theme-timeline__bigidea-input::placeholder{color:var(--muted);opacity:.7}.theme-timeline__bigidea-input:hover{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.theme-timeline__bigidea-input:focus{outline:none;text-decoration:none;padding:var(--s1) var(--s2);border:var(--border);border-color:var(--primary-strong);background:var(--surface);box-shadow:var(--shadow-sm)}.theme-timeline__title--editable,.session-timeline__title--editable,.activity-row__title--editable{cursor:text;border-radius:var(--radius)}.theme-timeline__title--editable:hover,.session-timeline__title--editable:hover,.activity-row__title--editable:hover{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.inline-title-input{width:100%;min-width:0;padding:var(--s1) var(--s2);border:var(--border);border-color:var(--primary-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-family:var(--font-display);font-weight:800}.inline-title-input:focus{outline:none}.inline-title-input--theme{font-size:18px;line-height:1.15}.inline-title-input--activity{font-size:14px}.session-rail{position:relative;display:flex;flex-direction:column;gap:var(--s4);padding-left:42px}.session-rail__line{position:absolute;top:14px;bottom:14px;left:14px;width:4px;border-radius:var(--radius-pill);background:var(--line)}.session-rail__empty{border:var(--border);border-radius:var(--radius-lg);background:var(--surface)}.session-timeline{position:relative}.session-timeline__number{position:absolute;left:-42px;top:18px;z-index:1;width:30px;height:30px;display:grid;place-items:center;border:var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--ink);font-family:var(--font-display);font-size:12px;font-weight:800;line-height:1}.session-timeline__card{border:var(--border);border-radius:var(--radius-lg);background:#ffffffb8;box-shadow:var(--shadow-md);overflow:hidden}.session-timeline__header{display:flex;align-items:center;gap:var(--s3);padding:var(--s4)}.session-timeline__grip{flex:0 0 auto}.session-timeline__card--collapsed .session-timeline__header{padding:var(--s3) var(--s4)}.session-timeline__title-wrap{min-width:0;flex:1}.session-timeline__title{display:inline-block;max-width:100%;color:var(--ink);font-family:var(--font-display);font-size:15px;font-weight:800;line-height:1.2}.session-timeline__meta{display:block;margin-top:var(--s1);color:var(--muted);font-size:12px;font-weight:650}.session-timeline__setup{margin:0 var(--s4) var(--s3);padding:var(--s2) var(--s3);border:var(--border);border-radius:var(--radius);background:var(--warn-tint);color:var(--warn-ink);font-size:12px;font-weight:700}.add-row-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);width:100%;min-height:42px;border:2px dashed var(--primary-strong);border-radius:var(--radius);background:#ffffff6b;color:var(--ink);font-family:var(--font-display);font-weight:800;cursor:pointer;box-shadow:none;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.add-row-button:hover{border-style:solid;border-color:var(--line);background:var(--surface-tint)}.add-row-button--activity{margin:0 var(--s4) var(--s4);width:calc(100% - (var(--s4) * 2))}.add-row-button--session{margin-top:var(--s1)}.quick-create-form label,.quick-create-form span{display:block}.quick-create-form span{margin-bottom:var(--s2);font-family:var(--font-display);font-size:13px;font-weight:800}.activity-type-modal{background:var(--blue-tint)}.activity-type-modal__intro{margin:0;color:var(--muted);font-weight:650}.activity-type-group{display:grid;gap:var(--s2)}.activity-type-group h3{margin:0;color:var(--primary-strong);font-family:var(--font-display);font-size:12px;font-weight:800;text-transform:uppercase}.activity-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}.activity-type-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s3);min-height:92px;padding:var(--s3);border:var(--border);border-radius:var(--radius);background:#ffffff94;color:var(--ink);text-align:left;cursor:pointer;box-shadow:var(--shadow-sm)}.activity-type-card__icon{width:34px;height:34px;display:grid;place-items:center;border:var(--border);border-radius:var(--radius);background:var(--primary-tint)}.activity-type-card strong,.activity-type-card small{display:block}.activity-type-card strong{font-family:var(--font-display);font-weight:800}.activity-type-card small{margin-top:var(--s1);color:var(--muted);font-size:12px;font-weight:650}.activity-list{display:flex;flex-direction:column;gap:var(--s2);padding:0 var(--s4) var(--s4)}.activity-list__empty{margin:0;color:var(--muted);font-size:13px;font-weight:650}.activity-row{display:flex;align-items:stretch;gap:var(--s1);border:var(--border);border-left-width:5px;border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.activity-row:hover{transform:translate(2px,2px);box-shadow:none;background:var(--surface-tint)}.activity-row--instruction{border-color:transparent;border-left-width:0;background:transparent;box-shadow:none}.activity-row--instruction:hover{transform:none;box-shadow:none;background:transparent}.activity-row__grip{align-self:center;margin-left:var(--s2);flex:0 0 auto}.activity-row__delete{align-self:center;margin-right:var(--s3)}.activity-row__open{display:flex;align-items:center;gap:var(--s3);flex:1;min-width:0;flex-wrap:wrap;padding:var(--s3);padding-left:var(--s2);border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:default}.activity-row:not(.activity-row--instruction) .activity-row__open{cursor:pointer}.activity-row__icon{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border:var(--border);border-radius:var(--radius);background:var(--primary-tint)}.activity-row__body{flex:1 1 200px;min-width:0}.activity-row__topline{display:flex;align-items:center;gap:var(--s2);min-width:0;overflow:visible}.activity-row__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-weight:800;color:var(--ink)}.activity-row__meta{display:flex;align-items:center;gap:var(--s1);margin-top:var(--s1);padding-block:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px;font-weight:600}.activity-row__meta--editable{cursor:pointer;border-bottom:2px dotted transparent;width:fit-content;max-width:100%}.activity-row__meta--editable:hover,.activity-row__meta--editable:focus-visible{border-bottom-color:var(--primary);outline:0}.activity-row__meta-item{display:inline-flex;align-items:center;min-width:0;gap:var(--s1)}.activity-row__meta-item+.activity-row__meta-item:before{content:"·";color:var(--muted)}.activity-row__meta-action{display:inline-flex;align-items:center;padding:0;border:0;border-bottom:2px dotted transparent;background:transparent;color:inherit;font:inherit;cursor:pointer}.activity-row__meta-action:hover,.activity-row__meta-action:focus-visible,.activity-row__meta-action--active{border-bottom-color:var(--primary);color:var(--ink);outline:0}.activity-row__offline-chip{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;padding:2px 8px;border:var(--border);border-radius:var(--radius-pill);background:var(--rail-soft);color:var(--ink);box-shadow:var(--shadow-xs);font-family:var(--font-display);font-weight:800;font-size:11px;white-space:nowrap}.activity-row__weight-chip{display:inline-flex;align-items:center;flex:0 0 auto;padding:2px 8px;border:var(--border);border-radius:var(--radius-pill);background:var(--surface-tint);color:var(--primary-strong);box-shadow:var(--shadow-xs);font-family:var(--font-display);font-weight:800;font-size:11px;white-space:nowrap}.activity-row__instruction-body{color:var(--muted);font-size:13px;font-weight:500}.teacher-instruction{display:flex;flex-direction:column;gap:var(--s2);margin-top:var(--s2);max-width:min(680px,100%)}.teacher-instruction__body{display:block;width:100%;padding:0 0 var(--s1);border:0;border-bottom:2px dotted transparent;background:transparent;color:inherit;font:inherit;text-align:left;cursor:text}.teacher-instruction__body:hover,.teacher-instruction__body:focus-visible{border-bottom-color:var(--primary);outline:0}.teacher-instruction__editor{width:100%;min-height:0;max-height:360px;overflow:auto;resize:vertical}.teacher-instruction__empty{color:var(--muted);font-size:13px;font-weight:600}.teacher-instruction .activity-resource{max-width:100%}.teacher-instruction .activity-resource__header{justify-content:flex-start}.teacher-instruction .activity-resource__title{color:var(--muted)}.teacher-instruction__resources{display:flex;flex-direction:column;gap:var(--s2)}.teacher-instruction__resource-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);width:100%;color:var(--muted);font-family:var(--font-display);font-size:11px;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.teacher-instruction__resource-head .ui-btn{padding-inline:var(--s2)}.teacher-instruction__resource-list{display:flex;flex-direction:column;gap:var(--s2)}.teacher-instruction-settings{width:min(540px,100%);margin-top:var(--s2)}.teacher-instruction-settings .ui-field{min-width:0;margin:0}.teacher-instruction-settings .ui-field__label{margin-bottom:3px}.teacher-instruction-settings .ui-input,.teacher-instruction-settings .ui-select2__trigger,.teacher-instruction-settings .ui-datepicker__trigger{min-height:36px}.teacher-instruction-settings__sheet{display:flex;flex-direction:column;gap:2px;width:100%;padding:var(--s2);border:var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-md)}.teacher-instruction-settings__option{display:grid;grid-template-columns:24px minmax(0,1fr);gap:var(--s2);width:100%;padding:var(--s2);border:0;border-radius:var(--radius);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.teacher-instruction-settings__option:hover,.teacher-instruction-settings__option:focus-visible,.teacher-instruction-settings__option--selected{background:var(--primary-tint);outline:0}.teacher-instruction-settings__mark{display:inline-flex;align-items:center;justify-content:center;min-height:22px;color:var(--primary-strong)}.teacher-instruction-settings__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.teacher-instruction-settings__label{font-weight:800}.teacher-instruction-settings__description{color:var(--muted);font-size:12px;font-weight:600}@media (max-width: 980px){.teacher-instruction-settings{width:100%}}.session-timeline__date-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:transparent;cursor:pointer}.session-timeline__date-trigger:focus-visible{outline:0}.session-timeline__date-trigger:focus-visible .ui-badge{border-color:var(--primary)}.session-timeline__date-picker{width:190px}.activity-row__badges{display:flex;align-items:center;justify-content:flex-end;gap:var(--s2);flex:0 0 auto;flex-wrap:nowrap;margin-left:auto}.activity-row__grade-cta{white-space:nowrap}.ui-modal__overlay:has(.course-drawer){justify-content:flex-end;padding:0}.course-drawer{width:clamp(360px,40vw,640px);max-width:100vw;height:100dvh;max-height:none;margin:0;border-top:0;border-right:0;border-bottom:0;border-radius:0;box-shadow:none;background:var(--blue-tint)}.course-drawer--wide{width:min(100vw,640px);max-width:640px}.course-drawer .ui-modal__header{background:var(--blue-tint-strong);border-bottom:var(--border)}.course-drawer .ui-modal__body{overflow:auto}.course-drawer .ui-stack{gap:var(--s6)}.course-drawer .ui-modal__footer{background:var(--blue-tint-strong)}.course-drawer__eyebrow{color:var(--primary-strong);font-family:var(--font-display);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.course-drawer__title{margin:var(--s1) 0 0;font-size:22px}.course-drawer__subtle{margin:var(--s1) 0 0;color:var(--muted);font-weight:650}.course-drawer__section{padding-top:var(--s5);border-top:var(--border)}.course-drawer__section h3{margin-bottom:var(--s3);font-size:14px;letter-spacing:.12em;text-transform:uppercase}.course-drawer__section p{color:var(--ink);font-size:14px;font-weight:550}.course-drawer__section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3)}.course-drawer__section-head h3{margin-bottom:var(--s3)}.course-drawer__edit{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:none;cursor:pointer;font:inherit;font-size:12px;font-weight:800;color:var(--primary-strong);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;white-space:nowrap}.course-drawer__edit:hover{text-decoration-style:solid}.drawer-session-list{display:flex;flex-direction:column;gap:var(--s3)}.drawer-session{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s3);padding:var(--s3);border:var(--border);border-radius:var(--radius);background:#ffffff94}.drawer-session__number{width:30px;height:30px;display:grid;place-items:center;border:var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);font-family:var(--font-display);font-weight:800}.drawer-session h4{margin:0;font-size:15px}.drawer-session p{margin:var(--s1) 0 var(--s2);color:var(--muted);font-size:12px}.drawer-activity-chips{display:flex;flex-wrap:wrap;gap:var(--s2)}@media (max-width: 720px){.course-timeline__toolbar,.theme-timeline__header,.session-timeline__header{align-items:stretch;flex-direction:column}.course-timeline__actions,.theme-timeline__actions{width:100%}.course-timeline__actions{align-items:stretch;flex-direction:column}.theme-timeline__content{padding:var(--s3)}.activity-type-grid{grid-template-columns:1fr}.session-rail{padding-left:34px}.session-rail__line{left:12px}.session-timeline__number{left:-34px}.activity-row__badges{flex-basis:100%;justify-content:flex-start}.course-drawer,.course-drawer--wide{width:100vw;max-width:100vw}}.theme-timeline__goals{margin-top:8px;display:grid;gap:3px}.theme-timeline__goals-label{font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.theme-timeline__goals ul{margin:0;padding-left:16px;display:grid;gap:2px}.theme-timeline__goals li{font-size:12px;font-weight:600;color:var(--ink)}.theme-timeline__goals li::marker{color:var(--primary)}.activity-row__tags{font-size:10px;font-weight:600;color:#494551b3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-goals{margin:0;padding-left:18px;display:grid;gap:3px;font-size:14px}.drawer-goals li::marker{color:var(--primary)}.drawer-pillars{margin:0;display:grid;gap:10px}.drawer-pillars--cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.drawer-pillar{display:grid;gap:2px}.drawer-pillars--cards .drawer-pillar{gap:5px;padding:10px 12px;border:var(--border);border-radius:var(--radius);background:#ffffff94}.drawer-pillar dt{font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--primary)}.drawer-pillar dd{margin:0;font-size:10px;line-height:1.35;color:var(--ink)}.drawer-rubrics{display:grid;gap:10px}.drawer-rubric__name{font-weight:800;font-size:13px}.drawer-rubric__criteria{margin:0;padding:0;display:grid;gap:8px;font-size:13px;list-style:none}.drawer-rubrics--cards .drawer-rubric__criteria li{display:grid;gap:3px;padding:8px 10px;border:var(--border);border-radius:var(--radius);background:#ffffff94}.drawer-rubric__meta,.drawer-rubric__weight{color:var(--muted);font-size:12px;font-weight:700}@media (max-width: 720px){.drawer-pillars--cards{grid-template-columns:minmax(0,1fr)}}.drag-handle{display:grid;place-items:center;flex:0 0 auto;color:var(--ink);cursor:grab}.drag-handle:active{cursor:grabbing}.drag-handle--boxed{width:34px;height:34px;border:var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease}.drag-handle--bare{width:26px;height:30px;border:0;background:transparent;color:var(--blue-muted);border-radius:var(--radius)}.drag-handle:focus-visible{outline:var(--border-width) solid var(--primary);outline-offset:2px}.drag-handle--bare:focus-visible{color:var(--primary);background:var(--primary-tint)}.reorder-target{position:relative}.reorder-target--before:before,.reorder-target--after:after{content:"";position:absolute;left:0;right:0;height:4px;border-radius:var(--radius-pill);background:var(--primary);box-shadow:var(--shadow-sm);z-index:3;pointer-events:none}.reorder-target--before:before{top:calc(var(--s2) * -1)}.reorder-target--after:after{bottom:calc(var(--s2) * -1)}.theme-timeline.reorder-target--before:before{top:0}.theme-timeline.reorder-target--after:after{bottom:0}.reorder-active{opacity:.45}.reorder-row{transition:transform .16s cubic-bezier(.2,.8,.2,1),opacity .12s ease}.reorder-collapsible[data-collapsed=true]>.reorder-collapsible__body{display:none}@media (prefers-reduced-motion: reduce){.reorder-row{transition:none}}.weight-total{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s3);border:var(--border);border-radius:var(--radius);background:var(--warn-tint);color:var(--warn-ink)}.weight-total--ok{background:var(--success-tint);color:var(--success-ink)}.weight-total strong,.weight-total span{font-family:var(--font-display);font-size:13px;font-weight:800}.weight-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap}.weight-guidance{margin:0;padding:var(--s2) var(--s3);border:var(--border);border-radius:var(--radius);background:var(--info-tint);color:var(--ink);font-size:12px;font-weight:600}.weight-guidance strong{font-family:var(--font-display);font-weight:800}.weight-row__controls{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;justify-content:flex-end}.weight-row__rubric{display:inline-flex;flex-direction:column;gap:var(--s1);min-width:0}.weight-row__rubric-label{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.weight-row__rubric-select{min-width:180px;max-width:240px}.weight-table{border:var(--border);border-radius:var(--radius);background:var(--surface)}.weight-group+.weight-group{border-top:var(--border)}.weight-group__header{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s3);background:var(--blue-deep)}.weight-group:first-child .weight-group__header{border-radius:calc(var(--radius) - 2px) calc(var(--radius) - 2px) 0 0}.weight-group:last-child .weight-session:last-child .weight-row:last-child{border-radius:0 0 calc(var(--radius) - 2px) calc(var(--radius) - 2px)}.weight-group__header strong,.weight-session__label{font-family:var(--font-display);font-weight:800}.weight-group__header span{color:var(--muted);font-size:12px;font-weight:700}.weight-session__label{padding:var(--s2) var(--s3);border-top:var(--border);background:#ffffff5c;color:var(--muted);font-size:12px}.weight-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--s3);padding:var(--s3);border-bottom:var(--border)}.weight-row:last-child{border-bottom:0}.weight-row--disabled{color:var(--muted);background:#ffffff73}.weight-row strong,.weight-row span{min-width:0}.weight-row__copy span{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s1)}.weight-row strong{overflow:hidden;font-family:var(--font-display);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.weight-row span{color:var(--muted);font-size:12px;font-weight:650}.weight-row__input{display:inline-flex;align-items:center;gap:var(--s2);font-family:var(--font-display);font-weight:800}.weight-row__input input{width:74px;padding:var(--s2);border:var(--border);border-radius:var(--radius);background:var(--blue-wash);color:var(--ink);font:inherit;text-align:center}.grading-hub{display:flex;flex-direction:column;gap:var(--s5)}.grading-hub__section{padding:var(--s4) var(--s5);border:var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md)}.grading-hub__head{margin-bottom:var(--s4);padding-bottom:var(--s3);border-bottom:var(--border)}.grading-hub__head h2{margin:var(--s1) 0 0;font-size:20px}.grading-hub__head p{margin:var(--s2) 0 0;max-width:64ch;color:var(--muted);font-size:13px;font-weight:600}.grading-hub__eyebrow{color:var(--primary-strong);font-family:var(--font-display);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.grading-hub__panel h3{margin:0 0 var(--s3);font-size:14px;letter-spacing:.12em;text-transform:uppercase}.grading-hub__save{display:flex;justify-content:flex-end}.alignment-matrix{display:grid;grid-template-columns:minmax(170px,1.2fr) repeat(var(--matrix-cols),minmax(120px,1fr));overflow:auto;border:var(--border);border-radius:var(--radius);background:var(--surface)}.alignment-matrix__head{min-width:0;padding:var(--s3);border-right:var(--border);border-bottom:var(--border);background:var(--blue-deep);font-family:var(--font-display);font-size:12px;font-weight:800}.alignment-matrix__head:last-child{border-right:0}.alignment-matrix__row{display:contents}.alignment-matrix__activity,.alignment-matrix__check{min-height:54px;padding:var(--s3);border-right:var(--border);border-bottom:var(--border);background:#ffffff8a}.alignment-matrix__row--disabled .alignment-matrix__activity,.alignment-matrix__row--disabled .alignment-matrix__check{opacity:.62;background:#ffffff52}.alignment-matrix__activity strong,.alignment-matrix__activity span{display:block}.alignment-matrix__activity strong{overflow:hidden;font-family:var(--font-display);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.alignment-matrix__activity span{margin-top:var(--s1);color:var(--muted);font-size:11px;font-weight:700}.alignment-matrix__check{display:grid;place-items:center}.alignment-matrix__check input{width:22px;height:22px;accent-color:var(--primary)}.amx-theme{display:grid;gap:var(--s3);padding-top:var(--s3);border-top:var(--border)}.amx-theme:first-of-type{border-top:none;padding-top:0}.amx-theme__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3);flex-wrap:wrap}.amx-theme__title{margin:0;font-family:var(--font-display);font-size:18px;font-weight:800}.amx-theme__sub{margin:2px 0 0;color:var(--muted);font-size:12px;font-weight:600}.amx-theme__foot{display:flex}.amx-scroll{position:relative;isolation:isolate;overflow-x:auto;border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:var(--surface)}.amx-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:620px}.amx-th,.amx-td{border-bottom:var(--border);border-right:var(--border);padding:var(--s2);text-align:center;vertical-align:middle}.amx-table tr>*:last-child{border-right:none}.amx-table tbody tr:last-child .amx-td{border-bottom:none}.amx-th{background:var(--surface-tint);font-family:var(--font-display);font-size:12px;font-weight:800;position:sticky;top:0;z-index:3}.amx-th__hint{display:block;margin-top:2px;font-family:var(--font-body, inherit);font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.amx-th--act,.amx-td--act{text-align:left;width:220px;min-width:220px;position:sticky;left:0;z-index:4;background:var(--surface);border-right:none}.amx-th--act{background:var(--surface-tint);z-index:6}.amx-th--act:after,.amx-td--act:after{content:"";position:absolute;top:0;right:calc(0px - var(--border-width));bottom:0;width:var(--border-width);background:var(--line);pointer-events:none}.amx-th--grade,.amx-td--grade{width:88px;min-width:88px}.amx-th--wt,.amx-td--wt{width:104px;min-width:84px}.amx-th--crit,.amx-td--cell{width:140px;min-width:112px}.amx-act-row{display:flex;align-items:center;gap:var(--s2);min-width:0}.amx-act{display:grid;gap:1px;min-width:0}.amx-act__title{font-weight:700;font-size:13px;line-height:1.2}.amx-act__type{color:var(--muted);font-size:11px;font-weight:700;text-transform:capitalize}.amx-row--ungraded{opacity:.6}.amx-row--ungraded:hover{opacity:1}.amx-crit-label{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;cursor:pointer;font:inherit;font-weight:800;color:var(--ink);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;padding:0;display:inline-flex;align-items:center;justify-content:center;gap:var(--s1)}.amx-crit-label:hover{color:var(--primary-strong, var(--primary))}.amx-crit-wt{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:4px}.amx-crit-wt__of{font-size:9px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.amx-num{display:inline-flex;align-items:center;gap:2px}.amx-num__input{text-align:center;padding-left:4px;padding-right:4px}.amx-num__suffix{font-weight:800;font-size:11px;color:var(--muted)}.amx-dash{color:var(--muted);font-weight:800}.amx-coverage .amx-td{background:var(--rail-soft)}.amx-coverage .amx-td--act{font-weight:800;font-family:var(--font-display);font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.amx-coverage .amx-td--wt{padding-left:var(--s1);padding-right:var(--s1)}.amx-graded-total{color:var(--muted);font-family:var(--font-display);font-size:11px;font-weight:900;white-space:nowrap}.amx-weight-total{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;max-width:92px;padding:2px 5px;border:var(--border);border-radius:var(--radius-pill);background:var(--success-tint);color:var(--success);font-family:var(--font-display);font-size:10px;font-weight:900;white-space:nowrap}.amx-weight-total--warn{background:var(--warn-tint);color:var(--warn)}.amx-weight-total__sub{display:block;margin-top:2px;color:var(--muted);font-size:10px;font-weight:800;line-height:1.2}.amx-weight-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--s2);flex-wrap:wrap;margin-top:calc(var(--s2) * -1);padding:var(--s2);border:var(--border);border-radius:var(--radius);background:var(--warn-tint);font-size:12px;font-weight:800}.amx-weight-actions button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--primary);font:inherit;font-weight:900;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;cursor:pointer}.amx-cov{font-weight:800;font-variant-numeric:tabular-nums}.amx-add-row{display:flex;align-items:center;justify-content:center;gap:var(--s2);flex:1;width:100%;min-height:42px;padding:var(--s2);color:var(--primary-strong);background:var(--surface-tint);border:var(--border-width) dashed var(--primary-strong);border-radius:var(--radius);font-family:var(--font-display);font-size:14px;font-weight:800;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease,background .1s ease}.amx-add-row:hover:not(:disabled){background:var(--primary-tint);transform:translate(1px,1px);box-shadow:var(--shadow-xs)}.amx-add-row:disabled{cursor:wait;opacity:.7}.amx-define{margin-top:var(--s1)}.rubrics-editor{min-width:0}.rubrics-picker{background:var(--surface-tint)}.criterion-card__index{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:32px;height:32px;border:var(--border);border-radius:var(--radius);background:var(--rail-soft);box-shadow:var(--shadow-sm);font-family:var(--font-display);font-weight:800;font-size:13px;color:var(--ink)}.criterion-card__footer{margin-top:var(--s2);padding-top:var(--s3);border-top:var(--border)}.criterion-card__levels{display:grid;gap:var(--s2)}.criterion-card__levels-label{font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.level-row{display:grid;grid-template-columns:132px 1fr;align-items:center;gap:var(--s2)}.level-row__badge{display:inline-flex;align-items:baseline;gap:4px;padding:4px 8px;border:var(--border);border-radius:var(--radius);background:var(--surface-tint);font-family:var(--font-display);font-weight:800;font-size:13px}.level-row__score{color:var(--muted);font-weight:700;font-size:12px;font-variant-numeric:tabular-nums}.level-row .ui-field{margin:0}@media (max-width: 560px){.level-row{grid-template-columns:1fr;gap:4px}}.gp-map{margin-top:var(--s1)}.gp-map__hint{color:var(--muted);font-size:12px;font-weight:600}.gp-map__selected{border-top:var(--border);padding-top:var(--s2);display:grid;gap:4px}.gp-map__selected-label{font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.gp-map__selected ul{margin:0;padding-left:18px;display:grid;gap:2px;font-size:13px;font-weight:600}.gp-map__selected li::marker{color:var(--primary)}.gp-map__profile{font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--primary-strong)}.grade-immersive{width:100%}.grade-banner{position:relative;overflow:hidden;border:var(--border-strong);border-radius:var(--radius-lg);background:var(--rail-soft);box-shadow:var(--shadow-md)}.grade-banner__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;padding:var(--s4);border-bottom:var(--border);background:var(--rail)}.grade-banner__heading{display:flex;flex-direction:column;gap:var(--s2);min-width:0}.grade-banner__chips{display:flex;flex-wrap:wrap;gap:var(--s2)}.grade-banner__title{margin:0;font-family:var(--font-display);font-size:20px;font-weight:800;line-height:1.15}.grade-activity-tabs{display:flex;gap:var(--s2);padding:var(--s2) var(--s3);overflow-x:auto}.grade-activity-tabs__notice{margin:var(--s2) var(--s3) 0;padding:4px var(--s2);border:var(--border);border-radius:var(--radius-pill);background:var(--warn-tint);color:var(--warn);font-family:var(--font-display);font-size:11px;font-weight:800;width:fit-content}.grade-activity-tabs button{display:grid;gap:2px;align-items:center;min-width:210px;max-width:280px;flex:0 0 auto;padding:var(--s2) var(--s3);border:var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;font-weight:800;cursor:pointer;box-shadow:var(--shadow-md);transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.grade-activity-tabs button:hover{transform:translate(2px,2px);box-shadow:var(--shadow-sm)}.grade-activity-tabs button.is-active{background:var(--primary);color:var(--on-primary);transform:translate(2px,2px);box-shadow:var(--shadow-sm)}.grade-activity-tab__chip--editable{display:inline-flex;align-items:center;gap:3px;cursor:pointer;border-style:dashed}.grade-activity-tab__chip-pencil{opacity:.6}.grade-activity-tab__chip--editable:hover{background:var(--primary);color:var(--on-primary);border-style:solid}.grade-activity-tabs button.is-active .grade-activity-tab__chip--editable:hover{background:#ffffff4d}.grade-activity-tab__weight-edit{display:inline-flex;align-items:center;gap:1px}.grade-activity-tab__weight-input{width:40px;padding:0 4px;border:var(--border);border-color:var(--primary-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font-family:var(--font-display);font-size:10px;font-weight:800;line-height:1.6;text-align:center;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.grade-activity-tab__weight-input:focus{outline:none;box-shadow:var(--shadow-sm)}.grade-activity-tab__weight-input::-webkit-outer-spin-button,.grade-activity-tab__weight-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.grade-activity-tab__weight-pct{font-family:var(--font-display);font-size:10px;font-weight:800;color:var(--primary)}.grade-activity-tabs button.is-active .grade-activity-tab__weight-pct{color:var(--on-primary)}.grade-activity-tab__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800;font-size:13px}.grade-activity-tab__chips{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.grade-activity-tab__chip{display:inline-flex;align-items:center;padding:1px 6px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-tint);color:var(--ink);font-family:var(--font-display);font-size:10px;font-weight:700;line-height:1.4;white-space:nowrap}.grade-activity-tab__chip--weight{border-color:var(--line);background:var(--primary-tint);color:var(--primary)}.grade-activity-tab__chip--group{border-color:var(--line);background:var(--warn-tint);color:var(--warn)}.grade-activity-tabs button.is-active .grade-activity-tab__chip{border-color:#ffffff80;background:#ffffff26;color:var(--on-primary)}.grade-activity-tabs button.is-active .grade-activity-tab__chip--weight{border-color:#ffffffb3;background:#ffffff4d;color:var(--on-primary)}.grade-activity-tabs button.is-active .grade-activity-tab__chip--group{border-color:#fff9;background:#ffffff40;color:var(--on-primary)}.grade-activity-tab__dates{display:flex;flex-wrap:wrap;gap:0;min-width:0;font-size:10px;font-weight:500;color:var(--muted);line-height:1.4}.grade-activity-tab__dates span+span:before{content:" · ";opacity:.5}.grade-activity-tabs button.is-active .grade-activity-tab__dates{color:#ffffffb3}.grade-student__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:var(--s5);align-items:start}.grade-student__work{min-width:0}.grade-student__side{position:sticky;top:var(--s4);min-width:0}.grade-student__side>.ui-stack{padding:var(--s4);border:var(--border);border-radius:var(--radius);background:var(--surface)}.grade-peek__field{font-size:13px}.grade-peek__field-name{color:var(--muted);font-size:12px;font-weight:700}.grade-criterion__title{font-family:var(--font-display);font-size:15px;font-weight:900}.grade-criterion__gp{cursor:help;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;text-decoration-color:var(--muted)}.grade-criterion__num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 auto;border:var(--border);border-radius:var(--radius-sm, 6px);background:var(--surface);box-shadow:var(--shadow-sm);font-family:var(--font-display);font-size:15px;font-weight:900;color:var(--ink)}.grade-criterion__num--lead{background:var(--primary);color:var(--on-primary)}.grade-criterion__selected{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}.grade-criterion__selected-lead{font-family:var(--font-display);font-weight:800;color:var(--ink)}.grade-criterion__selected-tag{margin:0 6px;padding:0 6px;border:var(--border);border-radius:var(--radius-pill);background:var(--primary-tint);color:var(--primary);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.grade-criterion__selected-desc:before{content:" — "}.grade-criterion__level-list{display:grid;gap:var(--s2);margin:0;padding:0;list-style:none}.grade-criterion__level-item{display:flex;gap:var(--s2);padding:var(--s2);border:var(--border);border-radius:var(--radius);background:var(--surface)}.grade-criterion__level-item.is-active{background:var(--primary-tint);box-shadow:var(--shadow-sm)}.grade-criterion__level-item-body{min-width:0}.grade-criterion__level-item-head{margin:0 0 2px;font-family:var(--font-display);font-size:12px;font-weight:800;color:var(--ink)}.grade-criterion__level-item-score{color:var(--muted);font-weight:700}.grade-criterion__level-item-text{margin:0;font-size:12px;line-height:1.55;color:var(--muted)}.grade-criterion__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);flex-wrap:wrap}.grade-criterion__toggle{flex:0 0 auto;padding:2px 0;border:0;background:transparent;color:var(--primary);font-family:var(--font-display);font-size:12px;font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;white-space:nowrap;cursor:pointer}.grade-criterion__levels{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s2)}.grade-criterion__levels .ui-btn{min-height:54px;padding:6px;align-items:center}.grade-criterion__level-inner{display:flex;flex-direction:column;align-items:center;gap:1px;text-align:center}.grade-criterion__level-code{font-family:var(--font-display);font-size:19px;font-weight:900;line-height:1}.grade-criterion__level-sub{font-size:11px;font-weight:700;opacity:.8;line-height:1.2}@media (max-width: 560px){.grade-criterion__levels{grid-template-columns:repeat(2,1fr)}}.grade-criterion__score-row{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.grade-criterion__score-label{font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap}.grade-criterion__score-input{width:80px}.grade-rubric-group-head{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;padding-bottom:var(--s2);border-bottom:var(--border)}.grade-hint{color:var(--muted);font-size:12px;font-weight:600}.grade-savebar{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}.grade-savebar>.ui-btn{flex:1 1 160px}@media (max-width: 560px){.grade-banner{border-width:3px;box-shadow:var(--shadow-sm)}.grade-banner__title{font-size:18px}.grade-savebar>.ui-btn{flex:1}}@media (max-width: 900px){.grade-student__layout{grid-template-columns:1fr}.grade-student__side{position:static}}.subv__item{display:flex;flex-direction:column;gap:var(--s2)}.subv__label{align-self:flex-start}.subv__text{margin:0;padding:var(--s3);border:var(--border);border-radius:var(--radius);background:var(--surface-tint);color:var(--ink);font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.subv__discussion{display:grid;gap:var(--s3)}.subv__discussion-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);flex-wrap:wrap;padding-bottom:var(--s2);border-bottom:var(--border)}.subv__discussion-head strong{font-family:var(--font-display)}.subv__discussion-head div{display:grid;gap:2px}.subv__discussion-head em{color:var(--muted);font-size:12px;font-style:normal;font-weight:800}.subv__discussion-head span{color:var(--muted);font-size:12px;font-weight:800}.subv__discussion-post{display:grid;gap:var(--s2);padding:var(--s3);border:var(--border);border-radius:var(--radius);background:var(--surface-tint)}.subv__discussion-post--reply{margin-left:var(--s4);background:var(--surface)}.subv__discussion-post p{margin:0;line-height:1.55}.subv__discussion-meta{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.subv__discussion-meta strong{font-size:13px;font-weight:900}.subv__discussion-meta span{color:var(--muted);font-size:12px;font-weight:800}.grade-walklist{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4);border:var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.grade-walklist__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s3);flex-wrap:wrap}.grade-walklist__head h3,.grade-walklist__head p{margin:0}.grade-walklist__head h3{font-family:var(--font-display);font-size:18px}.grade-walklist__head p{color:var(--muted);font-size:13px;font-weight:700}.grade-walklist__search{display:flex;align-items:center;gap:var(--s2);min-width:min(100%,320px)}.grade-walklist__buckets{display:grid;gap:var(--s3)}.grade-walklist__bucket{display:grid;gap:var(--s2)}.grade-walklist__bucket-title{display:flex;align-items:center;gap:var(--s2);color:var(--muted);font-size:12px;text-transform:uppercase}.grade-walklist__people{display:flex;flex-wrap:wrap;gap:var(--s2)}.grade-walklist__people .ui-btn{gap:var(--s2);min-height:38px}.grade-group-adjust{display:grid;gap:var(--s2)}.grade-group-adjust__head{display:flex;align-items:center;gap:var(--s2)}.grade-group-adjust__head strong{font-family:var(--font-display);font-size:15px}.grade-group-adjust__sub{margin:0;color:var(--muted);font-size:12px;font-weight:700;line-height:1.4}.grade-group-adjust__base{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s2);padding:var(--s2) 0;border-top:var(--border);border-bottom:var(--border)}.grade-group-adjust__base span{color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.grade-group-adjust__base strong{font-family:var(--font-display);font-size:18px;font-variant-numeric:tabular-nums}.grade-group-adjust__table{display:grid;border:var(--border);border-radius:var(--radius);overflow:hidden}.grade-group-adjust__row{display:grid;grid-template-columns:minmax(72px,1fr) 40px auto;gap:var(--s2);align-items:center;padding:var(--s2);background:var(--surface)}.grade-group-adjust__row+.grade-group-adjust__row{border-top:var(--border)}.grade-group-adjust__row.is-active{background:var(--primary-tint)}.grade-group-adjust__row--head{background:var(--surface-tint);color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.grade-group-adjust__name{padding:0;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:900;text-align:left;cursor:pointer;min-width:0;overflow:hidden;text-overflow:ellipsis}.grade-group-adjust__row.is-active .grade-group-adjust__name{color:var(--primary-strong)}.grade-group-adjust__row>strong{justify-self:end;font-variant-numeric:tabular-nums}.grade-group-adjust__final--adj{color:var(--primary-strong)}.grade-group-adjust__row .ui-field{margin:0}.grade-group-adjust__row .ui-input{min-height:32px;padding:4px;text-align:center}.grade-group-adjust__stepper{display:flex;align-items:center;gap:4px}.grade-group-adjust__stepper .ui-field{width:48px;flex:0 0 auto}.grade-group-adjust__step{display:inline-flex;align-items:center;gap:1px;height:32px;padding:0 6px;flex:0 0 auto;border:var(--border)!important;border-radius:var(--radius);background:var(--surface)!important;color:var(--ink)!important;box-shadow:var(--shadow-sm);font-weight:900;font-variant-numeric:tabular-nums;cursor:pointer}.grade-group-adjust__step:hover{background:var(--primary-tint)!important}.grade-group-adjust__note-toggle{display:grid;place-items:center;width:30px;height:32px;flex:0 0 auto;border:var(--border)!important;border-radius:var(--radius);background:var(--surface)!important;color:var(--muted)!important;box-shadow:var(--shadow-sm);cursor:pointer}.grade-group-adjust__note-toggle:hover,.grade-group-adjust__note-toggle.is-on{background:var(--primary-tint)!important;color:var(--primary-strong)!important}.grade-group-adjust__note{grid-column:1 / -1}.grade-group-adjust__note .ui-textarea{min-height:52px;resize:vertical}.grade-group-adjust__privacy{margin:0;color:var(--muted);font-size:11px;font-weight:700}.gradebook-course-picker{position:relative;z-index:20;overflow:visible}.gradebook-course-picker .ui-card__body{overflow:visible}.gradebook-course-picker .ui-select2__panel{z-index:60}.gradebook-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}.gradebook-toolbar__picker{min-width:220px;flex:1;max-width:360px}.gradebook-legend{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center}.gradebook-legend__item{display:inline-flex;align-items:center;gap:var(--s1);color:var(--muted);font-size:12px;font-weight:700}.gradebook-legend__swatch{width:16px;height:16px;border:var(--border);border-radius:4px}.gradebook-legend__swatch--saved{background:var(--success-tint)}.gradebook-legend__swatch--saving{background:var(--warn-tint)}.gradebook-legend__swatch--group{background:var(--info-tint)}.gradebook-name{display:inline-flex;align-items:center;gap:var(--s2);white-space:nowrap}.gradebook-cell{padding:0}.gradebook-cell__shell{position:relative;display:flex;align-items:stretch}.gradebook-cell__input{flex:1;padding-right:26px}.gradebook-cell:focus-within{outline:3px solid var(--primary);outline-offset:-3px}.gradebook-cell--group .gradebook-cell__input{background:var(--info-tint)}.gradebook-cell--error .gradebook-cell__input{background:var(--danger-tint);box-shadow:inset 0 0 0 2px var(--danger)}.gradebook-cell__open{position:absolute;top:50%;right:4px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;gap:2px;width:20px;height:20px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer;opacity:.45;transition:opacity .12s ease,background .12s ease,color .12s ease}.gradebook-cell__shell:hover .gradebook-cell__open,.gradebook-cell__open:focus-visible{opacity:1;background:var(--surface);color:var(--ink)}.gradebook-cell--rubric{background:var(--surface-tint)}.gradebook-cell__rubric-link{display:flex;align-items:center;justify-content:center;gap:var(--s2);width:100%;min-height:52px;padding:var(--s2);border:0;background:transparent;color:var(--ink);font:inherit;cursor:pointer}.gradebook-cell__rubric-link:hover,.gradebook-cell__rubric-link:focus-visible{background:var(--primary-tint)}.gradebook-cell__rubric-link span:first-child{font-weight:800}.gradebook-cell__dot{width:6px;height:6px;border-radius:50%;background:var(--success)}.gradebook-cell__saved{position:absolute;top:4px;left:4px;width:6px;height:6px;border-radius:50%;background:var(--success)}@media (max-width: 560px){.gradebook-toolbar{align-items:stretch}.gradebook-toolbar__picker{max-width:none}}.gradebook-weighting{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--s2) var(--s3);margin-bottom:var(--s3)}.gradebook-weighting__label{font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.gradebook-weighting__total{font-family:var(--font-display);font-variant-numeric:tabular-nums}.gradebook-weighting__total--ok{color:var(--success)}.gradebook-weighting__total--bad{color:var(--warn-strong, var(--ink))}.gradebook-weighting__hint{font-size:12px;font-weight:700;color:var(--muted)}.gradebook-weighting__action{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:none;background:none;color:var(--primary);font:inherit;font-weight:900;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;cursor:pointer}.gradebook-grid>.ui-banner{margin-bottom:var(--s3)}.gradebook-grid .ui-table-scroll{position:relative;isolation:isolate}.gradebook-grid .ui-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1200px}.gradebook-grid .ui-table th:first-child,.gradebook-grid .ui-table td:first-child{width:200px;border-right:none}.gradebook-grid .ui-table--sticky-first th:first-child,.gradebook-grid .ui-table--sticky-first td:first-child{z-index:4}.gradebook-grid .ui-table--sticky-first thead th:first-child{z-index:6}.gradebook-grid .ui-table--sticky-first th:first-child:after,.gradebook-grid .ui-table--sticky-first td:first-child:after{content:"";position:absolute;top:0;right:calc(0px - var(--border-width));bottom:0;width:var(--border-width);background:var(--line);pointer-events:none}.gradebook-head{width:112px;min-width:112px;text-align:center}.gradebook-head__title{display:-webkit-box;min-height:30px;overflow:hidden;font-size:11px;line-height:1.18;overflow-wrap:break-word;text-align:center;text-overflow:ellipsis;text-transform:none;-webkit-box-orient:vertical;-webkit-line-clamp:2}.gradebook-head__meta{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:6px;font-weight:600;font-size:11px;color:var(--muted);text-transform:none;letter-spacing:0}.gradebook-head__weight{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border:var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--ink);font:inherit;font-weight:800;font-variant-numeric:tabular-nums;cursor:pointer}.gradebook-head__weight:hover{background:var(--primary-tint)}.gradebook-head__weight:disabled{opacity:.6;cursor:default}.gradebook-head__weight-input{width:56px;min-height:28px;padding:2px 4px;text-align:center}.import-grid{display:grid;grid-template-columns:1fr;gap:var(--s3)}@media (min-width: 720px){.import-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.plan-card__head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--s2)}.plan-card__title-block{min-width:0;flex:1 1 auto}.plan-card__actions{display:flex;gap:var(--s2);flex-shrink:0}.seed-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2)}@media (min-width: 440px){.seed-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.seed-stat{border:var(--border);border-radius:var(--radius);background:var(--surface-tint);padding:var(--s2) var(--s3);display:grid;gap:2px}.seed-stat__value{font-family:var(--font-display);font-weight:800;font-size:20px;line-height:1;font-variant-numeric:tabular-nums}.seed-stat__label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.seed-list{margin:0;padding-left:18px;display:grid;gap:4px}.seed-list li::marker{color:var(--primary)}.gp-headlines{display:grid;grid-template-columns:1fr;gap:var(--s3)}@media (min-width: 560px){.gp-headlines--pair{grid-template-columns:1fr 1fr}}.gp-bar__track{height:18px;border:var(--border);border-radius:var(--radius-pill);background:var(--surface-tint);overflow:hidden}.gp-bar__fill{height:100%;border-radius:var(--radius-pill);transition:width .25s ease}.gp-bar__fill--strong{background:var(--success)}.gp-bar__fill--weak{background:var(--danger)}.gp-bar__fill--mid{background:var(--primary)}.gp-picker{width:100%;max-width:340px}.gp-num{font-variant-numeric:tabular-nums}.scale-screen{min-width:0}.scale-chain{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}.scale-chain__step{display:inline-flex;align-items:center;padding:var(--s1) var(--s3);border:var(--border);border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-sm);font-family:var(--font-display);font-weight:700;font-size:12px;color:var(--ink)}.scale-chain__arrow{flex:none;color:var(--muted)}.scale-grid{display:grid;grid-template-columns:1fr;gap:var(--s4)}@media (min-width: 720px){.scale-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.scale-level__head{display:flex;align-items:center;gap:var(--s2)}.scale-level__key{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:44px;height:36px;padding:0 var(--s2);border:var(--border);border-radius:var(--radius);background:var(--rail-soft);box-shadow:var(--shadow-sm);font-family:var(--font-display);font-weight:800;font-size:14px;color:var(--ink)}.scale-level__key--best{background:var(--rail)}.gp-screen{min-width:0}.gp-create{background:var(--surface-tint)}.gp-row__order{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:38px;height:38px;padding:0 var(--s2);border:var(--border);border-radius:var(--radius);background:var(--rail-soft);box-shadow:var(--shadow-sm);font-family:var(--font-display);font-weight:800;font-size:14px;color:var(--ink)}.gp-row__footer{margin-top:var(--s3);padding-top:var(--s3);border-top:var(--border)}:root{--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Plus Jakarta Sans", var(--font-body);--bg: #fdf7ff;--surface: #ffffff;--surface-tint: #f8f2fa;--surface-strong: #f2ecf4;--rail: #e7c365;--rail-soft: #ffdf93;--ink: #1d1b20;--muted: #494551;--line: #000000;--primary: #4f378a;--primary-strong: #4f378a;--primary-tint: #e9ddff;--on-primary: #ffffff;--accent: #ffd166;--blue-tint: #dbeaff;--blue-tint-strong: #cfe3ff;--blue-tint-hover: #d7e8ff;--blue-deep: #c8d8f4;--blue-faint: #f8fbff;--blue-wash: #eef5ff;--blue-muted: #9db7d5;--success: #059669;--success-tint: #ecfdf5;--success-ink: #166534;--warn: #d97706;--warn-tint: #fffbeb;--warn-ink: #854d0e;--danger: #dc2626;--danger-tint: #fef2f2;--danger-strong: #b91c1c;--info: #2563eb;--info-tint: #eff6ff;--shadow-xs: 1px 1px 0 0 rgba(0, 0, 0, 1);--shadow-sm: 2px 2px 0 0 rgba(0, 0, 0, 1);--shadow-md: 4px 4px 0 0 rgba(0, 0, 0, 1);--shadow-lg: 6px 6px 0 0 rgba(0, 0, 0, 1);--ease-bounce: cubic-bezier(.18, .89, .32, 1.18);--border-width: 2px;--border-width-strong: 4px;--border: var(--border-width) solid var(--line);--border-strong: var(--border-width-strong) solid var(--line);--radius: .75rem;--radius-lg: 1rem;--radius-pill: 9999px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--s8: 64px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);font-size:14px;line-height:1.5;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:800;line-height:1.15;letter-spacing:0;color:var(--ink);margin:0 0 var(--s3)}h1{font-size:28px}h2{font-size:22px}h3{font-size:18px}h4{font-size:16px}p{margin:0 0 var(--s3)}a{color:var(--primary-strong);text-decoration:none;font-weight:600}a:hover{text-decoration:underline}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}button,input,select,textarea{font-family:inherit}:focus-visible{outline:var(--border-width) solid var(--primary);outline-offset:2px}.ui-tactile{transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}.ui-tactile--pressable:not(:disabled):hover{transform:translate(1px,1px);box-shadow:var(--shadow-sm)}.ui-tactile--pressable:not(:disabled):active{transform:translate(2px,2px);box-shadow:none}.ui-tactile--tint:not(:disabled):hover{background:var(--surface-tint);border-color:var(--line)}.ui-hover-lift{transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}.ui-hover-lift:not(:disabled):hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.md__p{margin:0 0 var(--s2)}.md__p:last-child{margin-bottom:0}.md__ul,.md__ol{margin:0 0 var(--s2);padding-left:1.4em}.md__ul:last-child,.md__ol:last-child{margin-bottom:0}.md__ul li,.md__ol li{margin:2px 0}.md strong{font-weight:800}.md em{font-style:italic}.app-shell{position:relative;display:grid;grid-template-columns:264px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"nav content" "nav content";height:100dvh;min-height:100%;overflow:hidden;background:var(--bg);transition:grid-template-columns .21s var(--ease-bounce)}.app-content{grid-area:content;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.app-nav{grid-area:nav;position:relative;z-index:20;width:264px;height:100dvh;min-height:0;border-right:var(--border-strong);background:var(--rail);overflow-y:auto;transition:width .21s var(--ease-bounce),flex-basis .21s var(--ease-bounce)}.app-main{flex:1;min-width:0;min-height:0;padding:var(--s6);overflow-y:auto}.app-main>*{width:100%;max-width:1120px;margin-inline:auto}.app-shell--nav-collapsed{grid-template-columns:76px minmax(0,1fr)}.app-shell--nav-collapsed .app-nav{width:76px;flex-basis:76px}.app-shell--nav-floating .app-nav{position:absolute;top:0;left:0;width:264px;flex-basis:264px;z-index:60}.app-shell--immersive{grid-template-columns:minmax(0,1fr);grid-template-areas:"content" "content"}.app-shell--immersive .app-main{padding:var(--s5)}.app-shell--immersive .app-main>*{max-width:1180px}.auth-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:var(--s5)}@media (max-width: 860px){.app-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"topbar" "main";transition:none}.app-content{display:contents}.topbar{grid-area:topbar}.app-nav{position:fixed;inset:auto 0 0;z-index:40;width:100%;height:76px;display:flex;overflow-x:auto;overflow-y:hidden;gap:var(--s2);padding:var(--s2) var(--s3) calc(var(--s2) + env(safe-area-inset-bottom));border-right:0;border-top:var(--border-strong);border-bottom:0;scrollbar-width:none;transition:none}.app-nav>.neo-sidebar{margin-inline:auto}.app-nav::-webkit-scrollbar{display:none}.app-shell--nav-collapsed{grid-template-columns:minmax(0,1fr)}.app-shell--nav-collapsed .app-nav{width:100%;flex-basis:auto}.app-shell--nav-floating .app-nav{position:fixed;inset:auto 0 0;top:auto;width:100%;flex-basis:auto;box-shadow:none;z-index:40}.app-main{grid-area:main;padding:var(--s4);padding-bottom:calc(92px + env(safe-area-inset-bottom))}}@media (max-width: 560px){.app-main{padding:var(--s3)}}
