:root{--font-sans: "NotionInter", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Lyon Text Web", "Lyon Text", Georgia, "Times New Roman", serif;--paper: #ffffff;--paper-soft: #f7f7f5;--surface: #ffffff;--surface-muted: #f7f7f5;--surface-warm: #fbf6ea;--ink: #111111;--ink-soft: #37352f;--ink-muted: #787774;--line: #e9e9e7;--line-strong: #d8d8d5;--sbi-green: #064f43;--sbi-green-dark: #03382f;--sbi-green-soft: #e8f4ef;--sbi-green-ring: #8fcab9;--sbi-saffron: #d99b22;--sbi-saffron-soft: #fbf2d7;--danger: #a64235;--success: #176a46;--shadow-soft: 0 1px 2px rgba(15, 15, 15, .04), 0 3px 12px rgba(15, 15, 15, .04);--shadow-lift: 0 4px 18px rgba(15, 15, 15, .08);font-family:var(--font-sans);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{border:0}button:disabled{cursor:not-allowed;opacity:.64}#root{min-height:100vh}.app-shell{min-height:100vh;background:var(--paper)}.app-main{animation:app-main-enter .18s ease-out}.app-shell--workspace{background:var(--paper-soft)}.app-shell--workspace .page{padding-top:32px}.app-shell--workspace .page-header{gap:8px;margin-bottom:24px}.app-shell--workspace .page-header h1{font-size:clamp(2.2rem,4vw,4rem);line-height:1.02}@keyframes app-main-enter{0%{opacity:.96;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.top-nav{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.top-nav__inner{display:flex;align-items:center;justify-content:space-between;width:min(1252px,calc(100% - 40px));min-height:58px;margin:0 auto;gap:14px}.workspace-bar{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.workspace-bar__inner{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;width:min(1252px,calc(100% - 40px));min-height:58px;margin:0 auto;gap:10px}.workspace-menu-button,.workspace-logout,.workspace-side-nav__close{border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--ink-soft);cursor:pointer;font-weight:800}.workspace-menu-button{display:inline-grid;width:36px;height:36px;place-items:center}.workspace-menu-button:hover,.workspace-logout:hover,.workspace-side-nav__close:hover{background:var(--surface-muted);color:var(--ink)}.workspace-menu-button__icon,.workspace-menu-button__icon:before,.workspace-menu-button__icon:after{display:block;width:15px;height:2px;border-radius:2px;background:currentColor;content:""}.workspace-menu-button__icon{position:relative}.workspace-menu-button__icon:before,.workspace-menu-button__icon:after{position:absolute;left:0}.workspace-menu-button__icon:before{top:-5px}.workspace-menu-button__icon:after{top:5px}.workspace-brand{display:inline-flex;align-items:center;min-width:112px}.workspace-brand__logo{display:block;width:112px;height:48px;object-fit:contain;object-position:left center}.workspace-context{display:grid;min-width:0;gap:1px}.workspace-context span,.workspace-account strong{color:var(--ink-muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.workspace-context strong{overflow:hidden;color:var(--ink);font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}.workspace-account{display:grid;min-width:0;gap:1px;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted);color:var(--ink);font-size:.8rem;font-weight:800;line-height:1.2}.workspace-account span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-logout{min-height:36px;padding:0 11px;font-size:.82rem}.workspace-side-nav{position:fixed;top:0;bottom:0;left:0;z-index:40;display:grid;align-content:start;width:min(276px,calc(100vw - 44px));gap:18px;padding:16px;border-right:1px solid var(--line);background:#fff;box-shadow:14px 0 34px #0f0f0f1a;transform:translate(-105%);transition:transform .18s ease-out}.workspace-side-nav--open{transform:translate(0)}.workspace-side-nav__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line);color:var(--ink-muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.workspace-side-nav__context{display:grid;min-width:0;gap:3px}.workspace-side-nav__context strong{overflow:hidden;color:var(--ink);font-size:.82rem;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.workspace-side-nav__close{min-height:32px;padding:0 9px;font-size:.76rem;text-transform:none}.workspace-side-nav nav{display:grid;gap:4px}.workspace-side-nav__link{padding:10px 11px;border-radius:7px;color:var(--ink-soft);font-size:.92rem;font-weight:800}.workspace-side-nav__link:hover,.workspace-side-nav__link.active{background:var(--sbi-green-soft);color:var(--sbi-green-dark)}.workspace-nav-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;border:0;background:#11111138;cursor:pointer}.brand{display:inline-flex;align-items:center;flex:0 0 auto;min-width:150px}.brand__logo{display:block;width:150px;height:56px;object-fit:contain;object-position:left center}.nav-context{display:inline-grid;flex:0 0 auto;gap:2px;min-width:142px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#fff,#f7f7f5)}.nav-context span{color:var(--ink-muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.nav-context strong{color:var(--ink);font-size:.86rem;line-height:1.15}.nav-context--student{border-color:#064f4329;background:linear-gradient(135deg,#fff,#f4faf7)}.nav-context--teacher{border-color:#064f433d;background:linear-gradient(135deg,#fff,#eef8f3)}.nav-context--platform{border-color:#d99b2224;background:linear-gradient(135deg,#fff,#fbf8ef)}.nav-links{display:flex;align-items:center;gap:3px;flex-wrap:wrap;justify-content:center}.nav-item{position:relative}.nav-item:hover .nav-menu,.nav-item:focus-within .nav-menu{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.nav-link{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:6px;color:var(--ink-soft);font-size:.9rem;font-weight:700}.nav-link:hover,.nav-link.active{background:#f1f1ef;color:var(--ink)}.nav-link.active{box-shadow:inset 0 0 0 1px #064f4314}.nav-menu{position:absolute;top:calc(100% + 14px);left:50%;z-index:20;display:grid;grid-template-columns:1fr 1fr;gap:48px;width:min(620px,calc(100vw - 48px));padding:28px 30px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#0f7a632e,#1111110f,#d99b2224) border-box;box-shadow:0 18px 40px #0f0f0f1a;opacity:0;pointer-events:none;transform:translate(-50%) translateY(8px);transition:opacity .16s ease,transform .16s ease}.nav-menu--compact{grid-template-columns:1fr;width:280px}.nav-menu:before{position:absolute;top:-14px;left:0;width:100%;height:14px;content:""}.nav-menu div{display:grid;align-content:start;gap:10px}.nav-menu a,.nav-menu span:not(.nav-menu__label){color:var(--ink);font-size:.98rem;font-weight:800;line-height:1.25}.nav-menu a:hover{color:var(--sbi-green-dark)}.nav-menu__label{color:var(--ink-muted);font-size:.84rem;font-weight:600}.nav-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:236px}.nav-action{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:8px;color:var(--ink);cursor:pointer;font-size:.92rem;font-weight:800}.nav-action--secondary:hover{background:#f1f1ef}.nav-action--secondary.active{background:var(--surface-muted);box-shadow:inset 0 0 0 1px var(--line)}.nav-user{display:inline-grid;gap:1px;max-width:180px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted);color:var(--ink);font-size:.82rem;font-weight:800;line-height:1.2}.nav-user strong{color:var(--ink-muted);font-size:.68rem;text-transform:uppercase}.nav-action--primary{background:var(--sbi-green);color:#fff;box-shadow:inset 0 -1px #0000002e}.nav-action--primary:hover{background:var(--sbi-green-dark)}.page{width:min(1252px,calc(100% - 40px));margin:0 auto;padding:44px 0 72px}.page-header{display:grid;gap:12px;max-width:820px;margin-bottom:32px}.eyebrow{margin:0;color:var(--ink-muted);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:1060px;margin-bottom:0;color:var(--ink);font-family:var(--font-sans);font-size:clamp(2.8rem,6vw,6.2rem);font-weight:800;line-height:.98}h2{margin-bottom:14px;color:var(--ink);font-size:1.34rem;font-weight:800}h3{margin-bottom:8px;color:var(--ink);font-size:1rem;font-weight:800}h4{margin:0 0 8px;color:var(--ink-soft);font-size:.92rem;font-weight:800}.lead{max-width:720px;margin-bottom:0;color:var(--ink-soft);font-size:1.08rem;line-height:1.58}.hero-grid{display:grid;grid-template-columns:1fr;gap:42px;align-items:start;min-height:auto;padding-top:64px}.hero-grid>div:first-child{display:grid;justify-items:center;gap:14px;max-width:1120px;margin:0 auto;text-align:center}.hero-highlight{position:relative;display:inline-flex;align-items:center;gap:.16em;padding:.06em .22em .1em;border:3px solid rgba(6,79,67,.2);border-radius:999px;background:linear-gradient(135deg,#e8f4effa,#c4e4d8f0) padding-box,linear-gradient(135deg,#064f4357,#8fcab92e) border-box;box-shadow:0 14px 34px #064f431f,inset 0 -.05em #03382f1f;transform-origin:center;animation:hero-highlight-breathe 4.2s ease-in-out infinite}.hero-highlight__dot{display:inline-block;width:.34em;height:.34em;border-radius:999px;background:var(--sbi-green);animation:hero-dot-pulse 1.8s ease-in-out infinite}@keyframes hero-highlight-breathe{0%,to{transform:translateY(0) rotate(-.4deg)}50%{transform:translateY(-4px) rotate(.4deg)}}@keyframes hero-dot-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.72);opacity:.72}}@media(prefers-reduced-motion:reduce){.app-main,.hero-highlight,.hero-highlight__dot{animation:none}}.hero-actions,.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.product-preview{display:grid;gap:18px;width:min(1080px,100%);margin:0 auto;padding:14px;border:1px solid transparent;border-radius:8px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#064f4347,#1111110f,#8fcab92e) border-box;box-shadow:0 16px 44px #0f0f0f1a}.preview-image{min-height:clamp(300px,44vw,500px);border-radius:8px;background:linear-gradient(90deg,transparent 26%,#e6e6e3 26% 26.4%,transparent 26.4%),linear-gradient(#111 0,#111 0) 28px 24px / 10px 10px no-repeat,linear-gradient(#c8c7c3 0,#c8c7c3 0) 50px 26px / 104px 7px no-repeat,linear-gradient(#fff 0,#fff 0) 28px 70px / 17% 14px no-repeat,linear-gradient(#deddda 0,#deddda 0) 28px 104px / 20% 9px no-repeat,linear-gradient(#deddda 0,#deddda 0) 28px 128px / 15% 9px no-repeat,linear-gradient(#e9f7f1 0,#e9f7f1 0) 28px 174px / 17% 78px no-repeat,linear-gradient(#fff 0,#fff 0) 30% 34px / 63% 40px no-repeat,linear-gradient(#deddda 0,#deddda 0) 30% 100px / 51% 11px no-repeat,linear-gradient(#f1f1ef 0,#f1f1ef 0) 30% 138px / 60% 96px no-repeat,linear-gradient(#d5f2e8 0,#d5f2e8 0) right 32px bottom 44px / 24% 104px no-repeat,var(--surface-muted);box-shadow:inset 0 0 0 1px var(--line)}.preview-metadata{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.preview-metadata span{display:grid;gap:4px;padding:12px;border-radius:6px;border:1px solid var(--line);background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#064f4329,#1111110a) border-box;color:var(--ink-muted);font-size:.78rem}.preview-metadata strong{color:var(--ink);font-size:.95rem;font-weight:800}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.stack{display:grid;gap:16px}.card{border:1px solid transparent;border-radius:8px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#064f4324,#1111110d,#8fcab91f) border-box;box-shadow:0 1px 2px #0f0f0f0a}.card__body{padding:22px}.card__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card p{color:var(--ink-soft);line-height:1.6}.primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:6px;background:var(--sbi-green);color:#fff;cursor:pointer;font-weight:800;transition:background .16s ease,transform .16s ease}.primary-button:hover{background:var(--sbi-green-dark);transform:translateY(-1px);box-shadow:0 8px 18px #03382f29}.primary-button:disabled,.primary-button:disabled:hover{border:1px solid var(--line);background:#e4e2dd;color:#8a8882;cursor:not-allowed;transform:none;box-shadow:none}.primary-button--secondary{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink)}.primary-button--secondary:hover{background:#f1f1ef}.primary-button--secondary:disabled,.primary-button--secondary:disabled:hover{border-color:var(--line);background:var(--surface-muted);color:var(--ink-muted)}.primary-button--danger{background:var(--danger)}.primary-button--danger:hover{background:#7f342b}.status-badge{display:inline-flex;align-items:center;width:fit-content;min-height:26px;padding:0 10px;border-radius:6px;border:1px solid rgba(6,79,67,.14);background:linear-gradient(135deg,#f5fbf8,#e4f3ed);color:var(--sbi-green-dark);font-size:.78rem;font-weight:800}.status-badge--warning{border-color:#ae75102e;background:linear-gradient(135deg,#fffaf0,#f7ebc8);color:#7a5516}.status-badge--success{border-color:#064f4338;background:linear-gradient(135deg,#eff9f4,#d9eee4);color:var(--sbi-green-dark)}.status-badge--neutral{border-color:var(--line);background:linear-gradient(135deg,#fff,#f5f5f3);color:var(--ink-soft)}.status-badge--danger{border-color:#a642352e;background:linear-gradient(135deg,#fff6f4,#f4ded9);color:#84342b}.login-panel{max-width:540px;margin:42px auto 0}.login-actions{display:grid;gap:12px;margin-top:22px}.signin-page{min-height:calc(100vh - 58px);display:grid;align-items:center}.signin-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.62fr);gap:28px;align-items:center}.signin-copy{display:grid;gap:16px;max-width:760px}.signin-copy h1{font-size:clamp(3rem,6vw,5.9rem)}.signin-highlights{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 0;padding:0;list-style:none}.signin-highlights li{padding:8px 11px;border:1px solid var(--line);border-radius:7px;background:linear-gradient(135deg,#fff,#f7f7f5);color:var(--ink-soft);font-size:.9rem;font-weight:800}.signin-panel{align-self:center}.teacher-signup-panel{width:100%;max-width:520px;justify-self:end}.teacher-signup-title{font-size:clamp(2rem,4vw,3.2rem)}.teacher-signup-panel--invalid{justify-self:center}.teacher-signup-panel--invalid .primary-button{margin-top:10px}.teacher-signup-footer{margin:20px 0 0;color:var(--ink-muted);font-size:.9rem;text-align:center}.teacher-signup-footer a{color:var(--sbi-green-dark);font-weight:800}.signin-form{display:grid;gap:14px;margin-top:22px}.admin-invitations-layout{display:grid;grid-template-columns:minmax(280px,.52fr) minmax(0,1fr);gap:24px;align-items:start}.admin-invite-card{position:sticky;top:78px}.admin-invite-form,.admin-invitation-list{display:grid;gap:14px;margin-top:20px}.admin-invite-result{display:grid;gap:12px;margin-top:18px;padding:14px;border:1px solid rgba(6,79,67,.18);border-radius:8px;background:var(--sbi-green-soft)}.admin-invite-result p{margin-bottom:0}.admin-invite-result__meta,.admin-invitation-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.admin-invite-result__meta span,.admin-invitation-details div{display:grid;gap:5px}.admin-invite-result__meta strong,.admin-invitation-details dt{color:var(--ink-muted);font-size:.75rem;font-weight:800;text-transform:uppercase}.admin-invitation-details dd{margin:0;color:var(--ink-soft);font-size:.9rem}.admin-invite-link{color:var(--sbi-green-dark);font-weight:800;text-decoration:underline;text-underline-offset:3px}.admin-invitation-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.admin-invitation-card__header h3,.admin-invitation-card__header p{margin-bottom:0}.admin-invitation-card__header p{margin-top:4px;color:var(--ink-muted);font-size:.88rem}.admin-invitation-card .admin-invitation-details{grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0}.field-group{display:grid;gap:7px}.field-label{color:var(--ink);font-size:.88rem;font-weight:800}.text-input{width:100%;min-height:46px;padding:0 13px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;color:var(--ink);outline:none;transition:border-color .16s ease,box-shadow .16s ease}.text-input::placeholder{color:#a7a59f}.text-input:focus{border-color:var(--sbi-green-ring);box-shadow:0 0 0 3px #064f431f}.signin-submit{width:100%;margin-top:6px}.signin-footer{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);color:var(--ink-muted);font-size:.9rem}.signin-footer a{color:var(--sbi-green-dark);font-weight:800}.demo-credentials{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.demo-credentials span{color:var(--ink-muted);font-size:.82rem;font-weight:800}.demo-credentials button{min-height:32px;padding:0 10px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;color:var(--ink);cursor:pointer;font-weight:800}.demo-credentials button:hover{background:var(--surface-muted)}.student-home{display:grid;gap:22px}.student-home__welcome .card__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,auto);gap:22px;align-items:center;padding:26px}.student-home__welcome{background:linear-gradient(135deg,#fff,#fbf8ef) padding-box,linear-gradient(135deg,#064f4333,#d99b2221,#1111110a) border-box}.student-home__welcome h2{margin-bottom:10px;font-size:1.55rem}.student-home__actions{display:grid;gap:10px;justify-items:stretch}.student-home__actions .primary-button{min-width:180px}.progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.progress-card .card__body{display:grid;gap:7px;min-height:150px}.progress-card span{color:var(--ink-muted);font-size:.82rem;font-weight:800}.progress-card strong{color:var(--ink);font-size:2rem;line-height:1}.progress-card p{margin-bottom:0;color:var(--ink-soft);font-size:.92rem}.dashboard-section{display:grid;gap:16px}.dashboard-section__header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.dashboard-section__header h2{margin-bottom:0}.activity-card .card__body{display:grid;align-content:start}.practice-history-list{display:grid;gap:10px}.practice-history-card{background:linear-gradient(135deg,#fff,#fbfaf5) padding-box,linear-gradient(135deg,#064f4324,#1111110d) border-box}.practice-history-card .card__body{display:grid;gap:14px;padding:16px}.practice-history-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-width:0}.practice-history-card__top h3{margin-bottom:0;color:var(--ink);font-size:1.02rem}.practice-history-card__meta{display:grid;gap:5px;color:var(--ink-muted);font-size:.88rem;font-weight:700}.practice-history-card__meta strong{color:var(--ink)}.practice-history-card__limit{color:var(--sbi-saffron)}.practice-history-attempts{display:grid;gap:8px;list-style:none;margin:0;padding:0}.practice-history-attempt{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,auto) minmax(120px,auto);gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px;background:#ffffffc7}.practice-history-attempt>div{display:grid;gap:3px;min-width:0}.practice-history-attempt strong{color:var(--ink)}.practice-history-attempt span:not(.status-badge){color:var(--ink-muted);font-size:.84rem;font-weight:700}.practice-history-attempt .primary-button{min-height:36px;padding:0 12px;white-space:nowrap}.practice-history-card__empty{margin:0;color:var(--ink-muted)}.practice-history-card__actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px}.practice-history-card__actions .primary-button{min-height:36px;padding:0 12px;white-space:nowrap}.student-retry-note .card__body{padding:14px 18px}.student-retry-note p{margin-bottom:0;color:var(--ink-soft)}.teacher-dashboard{display:grid;gap:22px}.teacher-dashboard__header{margin-bottom:10px}.teacher-authority-note{background:linear-gradient(135deg,#fff,#f6fbf8) padding-box,linear-gradient(135deg,#064f433d,#1111110d) border-box}.teacher-authority-note .card__body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;align-items:center}.teacher-authority-note h2{margin-bottom:0;font-size:1.2rem}.teacher-authority-note p:last-child{margin-bottom:0}.teacher-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.teacher-student-progress-note .card__body{padding:16px 18px}.teacher-assignment-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.teacher-assignment-progress-card .card__body{display:grid;gap:14px}.teacher-assignment-progress-card__top,.teacher-assignment-progress-card__footer{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.teacher-assignment-progress-card__top h3{margin-bottom:0;font-size:1.08rem}.teacher-assignment-progress-card__activity{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--surface-muted)}.teacher-assignment-progress-card__activity span{color:var(--ink-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.teacher-assignment-progress-card__footer{align-items:center}.teacher-assignment-progress-card__footer .primary-button{min-height:36px;padding:0 12px;white-space:nowrap}.teacher-assignment-progress-card__actions{display:flex;gap:8px;justify-content:flex-end}.teacher-student-progress-note p{margin-bottom:0;color:var(--ink-soft)}.teacher-roster-filter-bar{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(4,minmax(120px,1fr)) auto;gap:10px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted)}.teacher-roster-filter,.teacher-roster-filter-search{display:grid;gap:5px}.teacher-roster-filter span,.teacher-roster-filter-search span{color:var(--ink-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.teacher-roster-filter select{width:100%;min-height:42px;padding:0 10px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);color:var(--ink)}.teacher-roster-filter-search .text-input{min-height:42px}.teacher-roster-filter-clear{min-height:42px;padding:0 12px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);color:var(--ink-soft);font:inherit;font-size:.86rem;font-weight:800;white-space:nowrap;cursor:pointer}.teacher-roster-filter-clear:hover:not(:disabled){border-color:var(--sbi-green);color:var(--sbi-green-dark)}.teacher-roster-filter-count{margin:-8px 0 0;color:var(--ink-muted);font-size:.86rem;font-weight:700}.teacher-student-progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.teacher-student-progress-card{background:linear-gradient(135deg,#fff,#fbfaf5) padding-box,linear-gradient(135deg,#064f4329,#1111110d) border-box}.teacher-student-progress-card .card__body{display:grid;gap:14px}.teacher-student-progress-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.teacher-student-progress-card__top h3{margin-bottom:0;font-size:1.08rem}.teacher-student-progress-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.teacher-student-progress-metrics div{display:grid;gap:4px;padding:10px;border:1px solid var(--line);border-radius:7px;background:#ffffffb8}.teacher-student-progress-metrics dt{color:var(--ink-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.teacher-student-progress-metrics dd{margin:0;color:var(--ink);font-size:1.25rem;font-weight:850}.teacher-student-progress-latest{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--surface-muted)}.teacher-student-progress-latest span{color:var(--ink-muted);font-size:.82rem;font-weight:750}.teacher-student-progress-latest strong{color:var(--ink);line-height:1.35}.teacher-student-progress-card__footer{display:flex;gap:8px;justify-content:flex-end;padding-top:2px}.teacher-student-progress-card__footer .primary-button{min-height:36px;padding:0 12px}.teacher-student-detail-page{display:grid;gap:24px}.teacher-student-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.teacher-student-detail-header h1,.teacher-student-detail-header .lead{margin-bottom:8px}.teacher-student-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.teacher-student-profile-details{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}.teacher-student-profile-details div{display:grid;gap:3px;min-width:112px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-muted)}.teacher-student-profile-details dt{color:var(--ink-muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.teacher-student-profile-details dd{margin:0;color:var(--ink-soft);font-size:.88rem;font-weight:800}.teacher-student-detail-list{display:grid;gap:12px}.teacher-student-detail-item .card__body{display:grid;gap:16px}.teacher-student-detail-item__main,.teacher-student-detail-item__footer{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.teacher-student-detail-item__main h3{margin-bottom:0}.teacher-student-detail-item__footer{align-items:center;padding-top:12px;border-top:1px solid var(--line)}.teacher-student-activity-card .card__body{display:grid;gap:16px}.teacher-student-activity-card__badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.teacher-student-attempt-timeline{display:grid;gap:10px;padding-top:12px;border-top:1px solid var(--line)}.teacher-student-attempt-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 0}.teacher-student-attempt-row+.teacher-student-attempt-row{border-top:1px solid var(--line)}.teacher-student-attempt-row>div{display:grid;gap:4px}.teacher-student-attempt-row strong{color:var(--ink)}.teacher-student-attempt-row .muted{font-size:.86rem}.teacher-create-activity-card{background:linear-gradient(135deg,#fff,#f8fbf9) padding-box,linear-gradient(135deg,#064f4333,#1111110d) border-box}.teacher-create-student-card{background:linear-gradient(135deg,#fff,#f7fbf8) padding-box,linear-gradient(135deg,#064f4333,#8fcab929) border-box}.teacher-create-student-form{display:grid;gap:16px}.teacher-create-student-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.teacher-create-student-grid label{display:grid;gap:7px}.teacher-create-student-grid label span{color:var(--ink-muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.teacher-create-student-grid select{width:100%;min-height:46px;padding:0 12px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;color:var(--ink)}.teacher-create-student-actions{display:grid;grid-template-columns:minmax(160px,auto) minmax(0,1fr);gap:14px;align-items:center}.teacher-create-student-actions p,.teacher-create-student-success p{margin-bottom:0}.teacher-create-student-success{display:grid;gap:5px;margin-top:16px;padding:12px 14px;border:1px solid rgba(6,79,67,.18);border-radius:8px;background:var(--sbi-green-soft)}.teacher-create-activity-form{display:grid;gap:16px}.teacher-create-activity-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(120px,.6fr) repeat(2,minmax(118px,.45fr));gap:12px}.teacher-activity-taxonomy-fields{display:grid;gap:12px;margin:0;padding:14px;border:1px solid rgba(6,79,67,.24);border-radius:8px;background:var(--sbi-green-soft)}.teacher-activity-taxonomy-fields legend{padding:0 6px;color:var(--sbi-green-dark);font-size:.9rem;font-weight:850}.teacher-activity-taxonomy-fields p{margin-bottom:0}.teacher-create-activity-form label{display:grid;gap:7px}.teacher-create-activity-form label span,.teacher-rubric-picker legend{color:var(--ink-muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.teacher-create-activity-form textarea.text-input{min-height:92px;padding-top:11px;resize:vertical}.teacher-activity-image-editor,.teacher-activity-audio-editor{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted)}.teacher-activity-image-editor h3,.teacher-activity-image-editor h4,.teacher-activity-image-editor p,.teacher-activity-audio-editor h3,.teacher-activity-audio-editor h4,.teacher-activity-audio-editor p{margin-bottom:0}.teacher-activity-image-editor label,.teacher-activity-audio-editor label{display:grid;gap:7px}.teacher-activity-image-editor input[type=file],.teacher-activity-audio-editor input[type=file]{width:100%;padding:10px;border:1px dashed var(--line-strong);border-radius:7px;background:#fff;color:var(--ink-soft)}.teacher-activity-image-actions,.teacher-activity-audio-actions{display:flex;flex-wrap:wrap;gap:8px}.activity-image-local-preview{position:relative;display:grid;place-items:center;min-height:180px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff}.activity-image-local-preview img{display:block;width:100%;max-height:320px;object-fit:contain}.activity-image-local-preview span{position:absolute;right:8px;bottom:8px;padding:5px 8px;border-radius:6px;background:#24201cc7;color:#fff;font-size:.75rem;font-weight:800}.activity-audio-local-preview{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.activity-audio-local-preview span{overflow-wrap:anywhere;font-weight:750}.activity-audio-local-preview small{color:var(--ink-muted);font-weight:650}.activity-audio-local-preview audio,.activity-instruction-audio{width:100%}.teacher-rubric-picker{display:grid;gap:10px;margin:0;padding:0;border:0}.teacher-rubric-picker div{display:flex;flex-wrap:wrap;gap:8px}.teacher-rubric-picker label{display:flex;align-items:center;gap:7px;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink-soft);font-size:.84rem;font-weight:800}.teacher-rubric-picker input{accent-color:var(--sbi-green-dark)}.teacher-rubric-picker label span{color:inherit;font-size:inherit;font-weight:inherit;text-transform:none}.teacher-create-activity-actions{display:grid;grid-template-columns:minmax(150px,auto) minmax(0,1fr);gap:14px;align-items:center;padding-top:4px}.teacher-create-activity-actions p{margin-bottom:0}.teacher-activity-library-note .card__body{padding:16px 18px}.teacher-activity-library-note p{margin-bottom:0;color:var(--ink-soft)}.teacher-activity-taxonomy-filters .card__body{display:grid;gap:12px}.teacher-activity-taxonomy-filters__label,.teacher-activity-taxonomy-filters__controls span{color:var(--ink-muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.teacher-activity-taxonomy-filters__label{margin-bottom:4px}.teacher-activity-taxonomy-filters__controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.teacher-activity-taxonomy-filters__controls label{display:grid;gap:7px}.teacher-activity-taxonomy-filters__footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.teacher-activity-taxonomy-filters__footer .muted{margin:0}.teacher-activity-family-list{display:grid;gap:18px}.teacher-activity-family{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff}.teacher-activity-family--incomplete{border-style:dashed;background:var(--surface-muted)}.teacher-activity-family__header,.teacher-activity-route__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.teacher-activity-family__header h3,.teacher-activity-route__header h4,.teacher-activity-family__header p,.teacher-activity-route__header span{margin:0}.teacher-activity-family__header h3{font-size:1.05rem}.teacher-activity-family__code{color:var(--sbi-green-dark);font-size:.76rem;font-weight:850;letter-spacing:.08em}.teacher-activity-family__header .muted,.teacher-activity-route__header span{font-size:.8rem;font-weight:700}.teacher-activity-family__routes{display:grid;gap:14px}.teacher-activity-route{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--line)}.teacher-activity-route__header h4{color:var(--ink-soft);font-size:.9rem}.teacher-activity-route__header span{color:var(--ink-muted)}.teacher-activity-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.teacher-activity-card .card__body{display:grid;gap:14px}.teacher-activity-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.teacher-activity-card__top h3{margin-bottom:0;font-size:1.08rem}.teacher-activity-metadata-badges{display:flex;flex-wrap:wrap;gap:6px}.teacher-activity-taxonomy{margin:0;color:var(--sbi-green-dark);font-weight:800;line-height:1.45}.teacher-activity-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.teacher-activity-meta div{display:grid;gap:6px;padding:11px;border:1px solid var(--line);border-radius:7px;background:var(--surface-muted)}.teacher-activity-meta dt{color:var(--ink-muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.teacher-activity-meta dd{margin:0;color:var(--ink-soft);font-weight:750;line-height:1.4}.teacher-activity-actions,.teacher-edit-activity-actions{display:flex;flex-wrap:wrap;gap:8px}.teacher-activity-ownership{width:fit-content;margin:0;padding:5px 8px;border:1px solid rgba(6,79,67,.16);border-radius:999px;background:#064f430f;color:var(--ink-soft);font-size:.76rem;font-weight:800}.teacher-activity-actions .primary-button,.teacher-edit-activity-actions .primary-button{min-height:36px;padding:0 12px}.teacher-edit-activity-panel{display:grid;gap:14px;padding:14px;border:1px solid rgba(6,79,67,.14);border-radius:8px;background:#fbfdfb}.teacher-edit-activity-panel label{display:grid;gap:7px}.teacher-edit-activity-panel label span{color:var(--ink-muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.teacher-edit-activity-panel textarea.text-input{min-height:86px;padding-top:11px;resize:vertical}.teacher-assignment-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(94px,auto);gap:10px;align-items:end;padding-top:12px;border-top:1px solid var(--line)}.teacher-assignment-form label{display:grid;gap:7px}.teacher-assignment-form label span{color:var(--ink-muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.teacher-assignment-form .primary-button{min-height:42px}.teacher-assignment-modes{display:flex;flex-wrap:wrap;gap:8px 14px;margin:12px 0 0;padding:12px 0 0;border:0;border-top:1px solid var(--line)}.teacher-assignment-modes legend{width:100%;margin-bottom:4px;padding:0;color:var(--ink-muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.teacher-assignment-modes label,.teacher-bulk-student-list label{display:inline-flex;align-items:center;gap:7px;color:var(--ink-muted);font-size:.84rem}.teacher-bulk-assignment-panel{display:grid;gap:10px;margin-top:12px}.teacher-bulk-assignment-panel .muted,.teacher-bulk-filter-summary{margin:0}.teacher-bulk-filter-summary{color:var(--ink-muted);font-size:.82rem}.teacher-bulk-student-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:176px;overflow-y:auto;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfdfb}.teacher-bulk-assignment-panel .primary-button{justify-self:start}.teacher-queue-controls .card__body{display:grid;gap:14px}.teacher-queue-search{display:grid;gap:7px}.teacher-queue-search span{color:var(--ink-muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.teacher-filter-tabs{display:flex;flex-wrap:wrap;gap:8px}.teacher-queue-filter-group{display:grid;gap:7px}.teacher-queue-search+.teacher-queue-filter-group,.teacher-queue-filter-group+.teacher-queue-filter-group{padding-top:12px;border-top:1px solid var(--line)}.teacher-queue-filter-group__label{color:var(--ink-muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.teacher-queue-metadata-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.teacher-queue-metadata-filters label{display:grid;gap:7px}.teacher-queue-metadata-filters span{color:var(--ink-muted);font-size:.78rem;font-weight:800;text-transform:uppercase}@media(max-width:680px){.teacher-activity-taxonomy-filters__controls{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-activity-family__header,.teacher-activity-route__header{align-items:flex-start;flex-direction:column}.teacher-queue-metadata-filters{grid-template-columns:1fr}}.teacher-filter-tab{min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink-soft);cursor:pointer;font-size:.86rem;font-weight:800}.teacher-filter-tab:hover{background:var(--surface-muted);color:var(--ink)}.teacher-filter-tab--active{border-color:#064f433d;background:linear-gradient(135deg,#f4faf7,#e8f4ef);color:var(--sbi-green-dark)}.teacher-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.teacher-queue-list{display:grid;gap:12px}.teacher-queue-list--compact{align-content:start}.teacher-queue-card .card__body{display:grid;gap:14px}.teacher-queue-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.teacher-queue-card__top h3{margin-bottom:0;font-size:1.18rem}.teacher-queue-card__badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.teacher-queue-card__activity{margin-bottom:0;color:var(--ink);font-weight:800}.teacher-queue-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.teacher-queue-meta div{display:grid;gap:7px;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--surface-muted)}.teacher-queue-meta dt{color:var(--ink-muted);font-size:.78rem;font-weight:800}.teacher-queue-meta dd{margin:0}.teacher-queue-card__footer{grid-template-columns:minmax(0,1fr) minmax(116px,auto)}.teacher-recent-table{display:grid;overflow:hidden;border:1px solid transparent;border-radius:8px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#064f4324,#1111110d) border-box;box-shadow:0 1px 2px #0f0f0f0a}.teacher-recent-table__row{display:grid;grid-template-columns:1fr 1.3fr .8fr .8fr minmax(96px,auto);gap:14px;align-items:center;padding:14px 16px;border-top:1px solid var(--line)}.teacher-recent-table__row:first-child{border-top:0}.teacher-recent-table__head{background:var(--surface-muted);color:var(--ink-muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.teacher-recent-table__row:not(.teacher-recent-table__head) span{min-width:0;color:var(--ink-soft);line-height:1.4}.teacher-recent-table__row:not(.teacher-recent-table__head) span:first-child,.teacher-recent-table__row:not(.teacher-recent-table__head) span:nth-child(2){color:var(--ink);font-weight:800}.teacher-recent-table .primary-button{width:100%;min-height:36px}.activity-card__footer,.submission-card__footer{display:grid;grid-template-columns:minmax(140px,auto) minmax(0,1fr);align-items:center;gap:18px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.activity-card__footer .primary-button{width:100%;min-width:148px;white-space:nowrap}.activity-card__footer .muted,.submission-card__footer .muted{line-height:1.45}.muted{color:var(--ink-muted)}.error-text{color:var(--danger);font-weight:800;line-height:1.55}.success-text{color:var(--success);font-weight:800;line-height:1.55}.detail-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px;align-items:start}.prompt-visual{display:grid;place-items:end start;min-height:300px;padding:22px;border-radius:8px;background:linear-gradient(135deg,#1111111a,#11111105),var(--prompt-image);background-size:cover;background-position:center;color:#fff;overflow:hidden}.prompt-visual__label{max-width:300px;padding:12px 14px;border-radius:8px;background:#24201cc2;font-weight:800}.activity-visual-prompt{display:grid;place-items:center;min-height:220px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff}.activity-visual-prompt img{display:block;width:100%;height:100%;max-height:520px;object-fit:contain}.activity-visual-prompt--fallback{padding:24px;background:linear-gradient(135deg,#064f430a,#d99b220d),#fff;color:var(--ink-muted);text-align:center}.activity-visual-prompt--fallback span{max-width:300px;font-weight:750;line-height:1.5}.activity-visual-prompt--student{min-height:340px}.activity-visual-prompt--review{min-height:300px}.activity-visual-prompt--teacher-card{min-height:180px}.activity-visual-prompt--teacher-card img,.activity-visual-prompt--editor img{max-height:280px}.activity-instruction-audio-panel,.teacher-review-activity-media{display:grid;gap:10px}.activity-instruction-audio-panel{padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted)}.activity-instruction-audio--teacher-card{margin-top:2px}.activity-instruction-audio--status{min-height:54px;place-items:center;padding:12px;border:1px dashed var(--line-strong);border-radius:8px;background:#fff;color:var(--ink-muted);text-align:center}.audio-placeholder,.recording-panel,.student-audio{display:grid;gap:16px;padding:20px;border:1px solid transparent;border-radius:8px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#064f4324,#1111110d) border-box}.audio-placeholder__header{display:flex;align-items:center;gap:14px}.audio-placeholder__header span:last-child{display:grid;gap:2px}.audio-placeholder__header small{color:var(--ink-muted);font-size:.84rem;font-weight:600}.audio-placeholder__icon,.recording-panel__icon{position:relative;display:inline-grid;flex:0 0 auto;place-items:center;width:40px;height:40px;border:1px solid rgba(6,79,67,.18);border-radius:10px;background:linear-gradient(135deg,#f5fbf8,#e4f3ed)}.audio-placeholder__icon:before{width:12px;height:16px;border:2px solid var(--sbi-green-dark);border-radius:999px 999px 6px 6px;content:""}.audio-placeholder__icon:after{position:absolute;bottom:9px;width:16px;height:8px;border-bottom:2px solid var(--sbi-green-dark);border-left:2px solid var(--sbi-green-dark);border-right:2px solid var(--sbi-green-dark);border-radius:0 0 8px 8px;content:""}.audio-preview{display:grid;gap:8px;margin-top:8px}.audio-preview audio{width:100%}.recording-panel__intro{display:flex;align-items:flex-start;gap:14px}.recording-panel__intro p{margin-bottom:0;color:var(--ink);font-size:1rem;line-height:1.55}.recording-panel__icon:before{width:12px;height:18px;border:2px solid var(--sbi-green-dark);border-radius:999px;content:""}.recording-panel__icon:after{position:absolute;bottom:8px;width:16px;height:8px;border-bottom:2px solid var(--sbi-green-dark);border-left:2px solid var(--sbi-green-dark);border-right:2px solid var(--sbi-green-dark);border-radius:0 0 8px 8px;content:""}.recording-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.recording-controls .primary-button{width:100%}.recording-state{display:flex;align-items:center}.submit-panel{display:flex;margin-top:18px}.submit-panel .primary-button{min-width:190px}.audio-bars{display:flex;align-items:center;gap:6px;min-height:72px;padding:18px 20px;border-radius:12px;background:linear-gradient(90deg,rgba(6,79,67,.07),transparent 40%,rgba(6,79,67,.05)),#f8faf8}.audio-bars span{display:block;width:100%;max-width:28px;height:6px;border-radius:999px;background:linear-gradient(180deg,#0a5d4e,#064439);opacity:.72}.audio-bars span:nth-child(3n){height:28px;opacity:1}.audio-bars span:nth-child(3n+1){height:14px}.audio-bars span:nth-child(3n+2){height:22px}.response-prompt{padding:18px;border-left:4px solid var(--ink);border-radius:8px;background:var(--surface-muted)}.metric-list,.rubric-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.metric-list li,.rubric-list li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.metric-list li:last-child,.rubric-list li:last-child{border-bottom:0}.score{color:var(--ink);font-weight:800}.transcript-status{display:grid;gap:8px}.transcript-status p,.transcript-complete p{margin-bottom:0}.transcript-text{padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted);color:var(--ink-soft);white-space:pre-wrap}.transcript-metadata{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}.transcript-metadata div{display:grid;gap:3px;min-width:120px;padding:10px 12px;border-radius:6px;background:var(--surface-muted)}.transcript-metadata dt{color:var(--ink-muted);font-size:.78rem;font-weight:800}.transcript-metadata dd{margin:0;color:var(--ink);font-weight:800}.transcript-actions{display:grid;gap:8px;justify-items:start;margin-top:18px}.transcript-actions p{margin-bottom:0}.transcript-action-button{min-height:36px;padding:0 12px;font-size:.88rem}.draft-note{padding:12px 14px;border-left:4px solid var(--ink);border-radius:8px;background:var(--surface-muted);color:var(--ink-soft);font-weight:800}.ai-feedback-actions,.ai-feedback-status,.ai-feedback-content{display:grid;gap:14px}.ai-feedback-section{display:grid;gap:8px;padding-top:2px}.ai-feedback-section p,.ai-feedback-status p{margin-bottom:0}.ai-rubric-list{display:grid;gap:10px}.ai-rubric-item{display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted)}.ai-rubric-item p{margin-bottom:0}.ai-rubric-item span{color:var(--ink);font-weight:800}.ai-feedback-metadata{margin-top:0}.ai-draft-actions{display:flex;flex-wrap:wrap;gap:10px}.ai-draft-actions .primary-button{min-height:36px;padding:0 12px;font-size:.88rem}.inserted-draft-note{padding:12px 14px;border-left:4px solid var(--ink);border-radius:8px;background:var(--surface-muted);color:var(--ink-soft);font-weight:800}.quick-feedback-phrases{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#ffffffb8}.quick-feedback-phrases h3,.quick-feedback-phrases p{margin-bottom:0}.quick-feedback-categories{display:flex;flex-wrap:wrap;gap:8px}.quick-feedback-category{min-height:34px;padding:0 11px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--ink-soft);font:inherit;font-size:.84rem;font-weight:800;cursor:pointer}.quick-feedback-category[aria-pressed=true]{border-color:var(--sbi-green);background:var(--sbi-green-soft);color:var(--sbi-green-dark)}.quick-feedback-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-feedback-phrase{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:72px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted);color:var(--ink-soft);font:inherit;line-height:1.45;text-align:left;cursor:pointer}.quick-feedback-phrase:hover,.quick-feedback-phrase:focus-visible{border-color:var(--sbi-green);background:var(--sbi-green-soft)}.quick-feedback-phrase strong{color:var(--sbi-green-dark);font-size:.78rem;text-transform:uppercase}.inserted-template-note{margin-bottom:0;color:var(--sbi-green-dark);font-weight:800}.feedback-textarea{width:100%;min-height:180px;resize:vertical;padding:14px;border:1px solid var(--line-strong);border-radius:8px;color:var(--ink);background:var(--surface);line-height:1.55}.teacher-rubric-editor,.teacher-rubric-editor-list{display:grid;gap:14px}.teacher-rubric-editor{padding:16px;border:1px solid var(--line);border-radius:8px;background:#ffffffb8}.teacher-rubric-editor h3,.teacher-rubric-editor h4,.teacher-rubric-editor p,.teacher-rubric-editor-item p{margin-bottom:0}.teacher-rubric-editor-item{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted)}.teacher-rubric-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.teacher-rubric-editor-heading>div{display:grid;gap:5px}.teacher-rubric-ai-suggestion{display:grid;gap:7px;padding:12px;border-left:4px solid var(--ink);border-radius:7px;background:var(--surface);color:var(--ink-soft)}.teacher-rubric-ai-suggestion span{color:var(--ink);font-weight:800}.teacher-rubric-ai-suggestion .primary-button{justify-self:start}.teacher-rubric-feedback-textarea{min-height:112px}.feedback-list{display:grid;gap:12px;padding-left:18px;color:var(--ink-soft);line-height:1.6}.teacher-review-workspace{padding-top:36px}.teacher-review-header{max-width:980px}.review-header-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.review-header-meta span{display:inline-grid;gap:3px;min-width:150px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface-muted);color:var(--ink-soft);font-size:.9rem}.review-header-meta strong{color:var(--ink-muted);font-size:.74rem;text-transform:uppercase}.review-navigation{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.review-completion-card{border-color:color-mix(in srgb,var(--success) 35%,var(--line))}.teacher-review-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.34fr);gap:16px;align-items:start}.review-section-card .card__body{display:grid;gap:18px}.review-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.review-section-heading h2{margin-bottom:0;font-size:1.28rem;line-height:1.18}.student-response-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:16px;align-items:stretch}.student-response-grid .prompt-visual{min-height:260px}.student-response-panel{display:grid;gap:14px;align-content:start}.review-prompt-block{display:grid;gap:6px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted)}.review-prompt-block span{color:var(--ink-muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.review-prompt-block strong{color:var(--ink);line-height:1.5}.review-attempt-context{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-warm)}.review-attempt-context h3,.review-attempt-context p{margin-bottom:0}.review-attempt-context__previous{display:grid;gap:8px;justify-items:end;text-align:right}.review-attempt-context__previous p{color:var(--ink-soft);font-weight:700}.review-attempt-context__previous .primary-button{min-height:36px;padding:0 12px;white-space:nowrap}.review-dimension-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.review-dimension{display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#fff,#f7f7f5) padding-box,linear-gradient(135deg,#064f431f,#1111110a) border-box}.review-dimension h3,.review-dimension p{margin-bottom:0}.review-dimension p{color:var(--ink-soft);line-height:1.55}.ai-draft-card{background:linear-gradient(135deg,#fff,#fffaf0) padding-box,linear-gradient(135deg,#ae751029,#064f4314) border-box}.final-feedback-card{background:linear-gradient(135deg,#fff,#f5fbf8) padding-box,linear-gradient(135deg,#064f4338,#1111110a) border-box}.final-feedback-note{margin-bottom:0;padding:12px 14px;border-left:4px solid var(--sbi-green);border-radius:8px;background:var(--sbi-green-soft);color:var(--sbi-green-dark);font-weight:800;line-height:1.5}.teacher-review-sidebar{position:sticky;top:78px}.review-status-list{display:grid;gap:10px;margin:0}.review-status-list div{display:grid;gap:7px;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--surface-muted)}.review-status-list dt{color:var(--ink-muted);font-size:.78rem;font-weight:800}.review-status-list dd{margin:0}.teacher-authority-note--compact .card__body{grid-template-columns:1fr;gap:12px}.student-feedback-page{padding-top:36px}.student-feedback-header{max-width:920px}.student-feedback-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.36fr);gap:16px;align-items:start}.student-feedback-hero{background:linear-gradient(135deg,#fff,#fbf8ef) padding-box,linear-gradient(135deg,#064f4333,#d99b221f,#1111110a) border-box}.student-feedback-hero--approved{background:linear-gradient(135deg,#fff,#f4faf7) padding-box,linear-gradient(135deg,#064f4338,#1111110a) border-box}.student-feedback-hero .card__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,auto);gap:22px;align-items:center;padding:26px}.student-feedback-hero__content{display:grid;gap:12px}.student-feedback-hero__content h2,.student-feedback-hero__content p{margin-bottom:0}.student-feedback-hero__meta{display:grid;gap:10px}.student-feedback-hero__meta span{display:grid;gap:4px;min-width:180px;padding:12px;border:1px solid var(--line);border-radius:7px;background:#ffffffc7;color:var(--ink-soft);font-size:.92rem}.student-feedback-hero__meta strong{color:var(--ink-muted);font-size:.76rem;text-transform:uppercase}.student-feedback-card .card__body{display:grid;gap:16px}.student-feedback-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.student-feedback-section-heading h2{margin-bottom:0;font-size:1.24rem}.final-student-feedback-card{background:linear-gradient(135deg,#fff,#f5fbf8) padding-box,linear-gradient(135deg,#064f4333,#1111110a) border-box}.student-final-feedback{margin-bottom:0;padding:16px;border:1px solid rgba(6,79,67,.14);border-radius:8px;background:#fff;color:var(--ink);font-size:1.05rem;line-height:1.68;white-space:pre-wrap}.student-feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.student-feedback-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.student-feedback-list li{padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted);color:var(--ink-soft);line-height:1.55}.student-feedback-reassurance{background:linear-gradient(135deg,#fff,#f6fbf8) padding-box,linear-gradient(135deg,#064f432e,#1111110a) border-box}.speaking-practice-page{padding-top:36px}.speaking-practice-header{max-width:980px}.speaking-flow{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.speaking-flow span{padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:linear-gradient(135deg,#fff,#f7f7f5);color:var(--ink-soft);font-size:.85rem;font-weight:800}.speaking-practice-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.36fr);gap:16px;align-items:start}.speaking-task-card{background:linear-gradient(135deg,#fff,#fbf8ef) padding-box,linear-gradient(135deg,#064f432e,#d99b221f,#1111110a) border-box}.speaking-task-card .card__body{padding:18px}.speaking-task-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:18px;align-items:stretch}.speaking-task-grid .prompt-visual{min-height:340px}.speaking-task-copy{display:grid;gap:16px;align-content:center}.speaking-task-copy h2{font-size:1.7rem}.speaking-task-copy p{margin-bottom:0}.audio-placeholder--calm{background:linear-gradient(135deg,#fff,#f8faf8) padding-box,linear-gradient(135deg,#064f4324,#1111110a) border-box}.recording-workspace-card{background:linear-gradient(135deg,#fff,#f5fbf8) padding-box,linear-gradient(135deg,#064f4338,#1111110a) border-box}.recording-panel--calm{background:linear-gradient(135deg,#fff,#f8faf8) padding-box,linear-gradient(135deg,#064f4329,#1111110a) border-box}.speaking-timer{display:grid;gap:12px;padding:16px;border:1px solid rgba(6,79,67,.2);border-radius:10px;background:#ffffffc2}.speaking-timer__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.speaking-timer__header .eyebrow{margin-bottom:3px}.speaking-timer__header strong{font-size:clamp(1.7rem,5vw,2.35rem);font-variant-numeric:tabular-nums;letter-spacing:-.04em}.speaking-timer progress{width:100%;height:9px;overflow:hidden;border:0;border-radius:999px;accent-color:var(--sbi-green-dark)}.speaking-timer progress::-webkit-progress-bar{background:#e4ede9}.speaking-timer progress::-webkit-progress-value{background:var(--sbi-green-dark)}.speaking-timer p,.timer-announcement{margin-bottom:0}.timer-announcement{padding:10px 12px;border-radius:8px;background:#064f4314;color:var(--sbi-green-dark);font-weight:700}.recording-guidance{display:flex;flex-wrap:wrap;gap:8px}.recording-guidance span{padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:var(--surface-muted);color:var(--ink-soft);font-size:.84rem;font-weight:800}.recording-workspace-card .submit-panel{margin-top:0}.speaking-practice-sidebar{position:sticky;top:78px}.not-found{max-width:640px}@media(max-width:860px){.top-nav__inner{align-items:flex-start;flex-direction:column;padding:14px 0}.nav-links{justify-content:flex-start}.nav-context{width:100%}.nav-actions{justify-content:flex-start;min-width:0}.workspace-bar__inner{width:min(100% - 32px,1252px)}.nav-menu{left:0;grid-template-columns:1fr;width:min(420px,calc(100vw - 32px));transform:translateY(8px)}.nav-item:hover .nav-menu,.nav-item:focus-within .nav-menu{transform:translateY(0)}.hero-grid,.detail-layout,.grid,.grid--two,.signin-layout,.admin-invitations-layout,.student-home__welcome .card__body,.teacher-authority-note .card__body,.teacher-student-progress-grid,.teacher-assignment-progress-grid,.teacher-create-activity-grid,.teacher-create-student-grid,.teacher-activity-library-grid,.teacher-dashboard-grid,.teacher-review-shell,.student-response-grid,.review-dimension-grid,.student-feedback-layout,.student-feedback-hero .card__body,.student-feedback-grid,.speaking-practice-layout,.speaking-task-grid{grid-template-columns:1fr}.progress-grid,.teacher-metrics,.teacher-student-detail-summary,.teacher-roster-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-recent-table__row{grid-template-columns:1fr 1fr}.teacher-recent-table__head{display:none}.hero-grid{min-height:auto}.teacher-review-sidebar,.speaking-practice-sidebar,.admin-invite-card{position:static}}@media(max-width:560px){.page{width:min(100% - 24px,1252px);padding-top:24px}.top-nav__inner{width:min(100% - 24px,1252px)}.workspace-bar__inner{grid-template-columns:auto auto minmax(0,1fr) auto auto;width:min(100% - 24px,1252px);gap:6px}.workspace-brand{min-width:84px}.workspace-brand__logo{width:84px;height:44px}.workspace-context{display:none}.workspace-account{padding:5px 6px}.workspace-account span{display:none}.workspace-logout{padding:0 8px}.brand__logo{width:134px;height:50px}.nav-actions,.nav-action{width:100%}.nav-action{justify-content:center}.preview-metadata,.progress-grid,.teacher-metrics,.teacher-create-activity-actions,.teacher-create-student-actions,.teacher-activity-meta,.teacher-assignment-form,.teacher-queue-meta,.activity-card__footer,.submission-card__footer,.teacher-queue-card__footer,.teacher-recent-table__row,.teacher-student-attempt-row,.practice-history-attempt{grid-template-columns:1fr;align-items:stretch;flex-direction:column}.recording-controls{grid-template-columns:1fr}.submit-panel .primary-button{width:100%}.dashboard-section__header,.teacher-student-detail-header,.teacher-student-detail-item__main,.teacher-student-detail-item__footer,.practice-history-card__top,.teacher-student-progress-card__top,.teacher-assignment-progress-card__top,.teacher-assignment-progress-card__footer,.teacher-assignment-progress-card__actions,.teacher-queue-card__top,.review-section-heading,.review-attempt-context,.student-feedback-section-heading{align-items:flex-start;flex-direction:column}.review-attempt-context__previous{justify-items:start;text-align:left}.quick-feedback-options,.teacher-roster-filter-bar,.admin-invite-result__meta,.admin-invitation-card .admin-invitation-details{grid-template-columns:1fr}h1{font-size:2.25rem}.practice-history-card__actions{justify-content:stretch}.practice-history-card__actions .primary-button,.teacher-student-progress-card__footer,.teacher-student-progress-card__footer .primary-button,.teacher-student-detail-header .primary-button,.teacher-student-detail-item__footer .primary-button,.teacher-student-attempt-row .primary-button{width:100%}.teacher-student-activity-card__badges{justify-content:flex-start}.teacher-assignment-progress-card__footer .primary-button,.teacher-assignment-progress-card__actions{width:100%}}
