:root{--ink:#17221f;--muted:#7c8a86;--line:#e7ece8;--cream:#f7f8f4;--green:#215649;--green-2:#dfeee5;--orange:#f2784b;--yellow:#f4c464;--purple:#6358b5;--shadow:0 12px 32px rgba(29,53,44,.08)}
/* Sign-in is a standalone screen, so narrow phones never inherit the course rail. */
body:has(.auth-page) .sidebar,body:has(.auth-page) .topbar{display:none}
body:has(.auth-page) .app-shell{display:block;min-width:0}
body:has(.auth-page) .main-content{margin-left:0;width:100%;min-width:0}
body:has(.auth-page) .auth-page{width:100%;max-width:1000px;padding:clamp(24px,5vw,64px) clamp(16px,4vw,40px) 40px}
body:has(.auth-page) .auth-brand{display:flex;align-items:center;gap:12px;margin:0 0 36px;padding:0;font-size:23px}
body:has(.auth-page) .auth-brand>span:last-child{display:inline}
body:has(.auth-page) .view-title{display:block;margin-bottom:28px}
body:has(.auth-page) h1{font-size:clamp(30px,4vw,44px);line-height:1.18;overflow-wrap:anywhere}
body:has(.auth-page) .auth-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:24px}
body:has(.auth-page) .auth-card,body:has(.auth-page) .auth-explainer{min-width:0;padding:28px}
body:has(.auth-page) .auth-card h2{margin:0 0 10px;font-size:23px}
body:has(.auth-page) .auth-card>.auth-note{margin:0 0 24px;line-height:1.6}
body:has(.auth-page) .auth-form input{width:100%;min-width:0;min-height:48px;font-size:16px}
body:has(.auth-page) .auth-form button,body:has(.auth-page) .auth-sso-button{width:100%;min-height:48px;white-space:normal;font-size:15px}
body:has(.auth-page) .auth-explainer{background:linear-gradient(145deg,#eef6ef,#fff)}
@media(max-width:760px){
  body:has(.auth-page) .auth-grid{grid-template-columns:minmax(0,1fr)}
  body:has(.auth-page) .auth-explainer{display:none}
  body:has(.auth-page) .auth-brand{margin-bottom:28px}
  body:has(.auth-page) .auth-card{padding:24px 20px}
}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{width:260px;background:#fff;border-right:1px solid var(--line);padding:30px 18px 20px;display:flex;flex-direction:column}.brand{font:800 19px 'Plus Jakarta Sans';letter-spacing:-.8px;display:flex;align-items:center;gap:9px;padding:0 14px 36px}.brand-mark{display:grid;place-items:center;background:var(--green);color:#e7f8ec;border-radius:9px;width:30px;height:30px;font-family:Georgia;font-size:21px}.brand-dot{color:var(--orange)}.course-switcher{border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;align-items:center;gap:9px;margin-bottom:28px}.course-switcher small,.user-chip small{display:block;color:var(--muted);font-size:10px;margin-bottom:3px}.course-switcher strong{font-size:12px;display:block}.course-icon{background:#fdf0e7;color:var(--orange);font:500 11px 'DM Mono';padding:9px 6px;border-radius:8px}.chevron{margin-left:auto;color:var(--muted)}.nav-label{font:500 10px 'DM Mono';text-transform:uppercase;letter-spacing:1.1px;color:#a0aba7;padding:0 14px;margin:0 0 10px}.nav-label-spaced{margin-top:28px}.nav-item{height:42px;width:100%;display:flex;align-items:center;gap:12px;color:#6c7a76;padding:0 14px;border-radius:10px;text-align:left;font-size:13px;transition:.2s}.nav-item span{font-size:18px;width:16px;text-align:center}.nav-item:hover,.nav-item.active{background:#edf6ef;color:var(--green);font-weight:600}.nav-item b{margin-left:auto;background:#fdf0e7;color:var(--orange);font-size:10px;border-radius:7px;padding:3px 6px}.new-pill{margin-left:auto;font:500 8px 'DM Mono';color:#c38321;background:#fff2d9;padding:4px 5px;border-radius:4px}.sidebar-bottom{margin-top:auto}.help-card{display:flex;align-items:center;gap:9px;background:#f5f8f4;border:1px solid #e5eee6;border-radius:12px;padding:12px;margin:0 0 18px}.help-icon{display:grid;place-items:center;width:25px;height:25px;background:#dcece3;border-radius:50%;color:var(--green);font-weight:700}.help-card strong,.help-card small{display:block}.help-card strong{font-size:11px}.help-card small{font-size:10px;color:var(--muted);margin-top:3px}.arrow{margin-left:auto;color:var(--green)}.user-chip{width:100%;display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding:18px 3px 0;text-align:left}.avatar{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#e6ded9;color:#755c50;font:600 10px 'DM Mono'}.user-chip strong{display:block;font-size:11px}.more{margin-left:auto;color:#a4aeab;letter-spacing:2px;font-size:11px}.main-content{flex:1;min-width:0}.topbar{height:78px;padding:0 44px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(247,248,244,.7)}.breadcrumb{display:flex;gap:10px;color:#a0aaa6;font-size:12px}.breadcrumb strong{color:var(--ink)}.top-actions{display:flex;align-items:center;gap:20px}.icon-button{font-size:22px;position:relative;color:#84918c}.notification-dot{position:absolute;right:-1px;top:1px;width:6px;height:6px;border:1.5px solid var(--cream);background:var(--orange);border-radius:50%}.date-button{font-size:12px;color:#66736f}.date-button span{margin-left:8px;color:#8c9894}.page{max-width:1190px;margin:0 auto;padding:43px 44px 60px}.eyebrow{font:500 10px 'DM Mono';text-transform:uppercase;letter-spacing:1.4px;color:var(--orange)}h1,h2,h3,p{margin-top:0}h1{font:800 clamp(30px,4vw,43px) 'Plus Jakarta Sans';letter-spacing:-2px;line-height:1.1;margin:9px 0 12px}h2{font:700 18px 'Plus Jakarta Sans';letter-spacing:-.5px;margin-bottom:4px}.intro{font-size:14px;color:var(--muted);margin-bottom:35px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:35px}.stat-card{background:#fff;border:1px solid var(--line);padding:18px 19px;border-radius:13px;box-shadow:0 5px 14px rgba(29,53,44,.025)}.stat-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px;margin-bottom:13px}.stat-icon{font-size:18px}.stat-value{font:700 25px 'Plus Jakarta Sans';letter-spacing:-1px}.stat-note{font-size:10px;color:var(--muted);margin-left:5px}.progress-bar{height:5px;background:#edf0ed;border-radius:5px;margin-top:12px;overflow:hidden}.progress-fill{height:100%;border-radius:5px;background:var(--orange)}.content-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:22px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.section-heading a{color:var(--green);font-size:11px;font-weight:600}.card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.assignment-card{padding:2px 20px}.assignment-row{display:flex;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid #f0f2ef}.assignment-row:last-child{border:0}.assignment-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:9px;font-size:18px}.orange{background:#fff0e9;color:var(--orange)}.purple{background:#eeecfc;color:var(--purple)}.blue{background:#e7f0f5;color:#4f89a7}.assignment-info{flex:1}.assignment-info strong{font-size:12px;display:block;margin-bottom:6px}.assignment-info small{color:var(--muted);font-size:10px}.due{font:500 10px 'DM Mono';color:#8a9792;text-align:right}.due.soon{color:var(--orange)}.status{display:block;font:500 9px 'DM Mono';margin-top:5px}.status.open{color:var(--green)}.status.done{color:#72a078}.calendar-card{padding:18px 20px}.calendar-head{display:flex;justify-content:space-between;margin-bottom:14px}.calendar-head strong{font-size:12px}.calendar-head button{color:var(--muted);margin-left:8px}.week{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:6px;margin-bottom:8px}.week span{font:500 9px 'DM Mono';color:#a1ada8}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;font-size:10px}.days span{padding:7px 0;border-radius:7px;color:#586862}.days .dim{color:#cad2ce}.days .selected{background:var(--green);color:#fff;font-weight:700}.days .event{position:relative}.days .event:after{content:'';position:absolute;width:3px;height:3px;background:var(--orange);border-radius:50%;bottom:3px;left:50%;transform:translateX(-50%)}.tutor-banner{margin-top:22px;background:var(--green);color:#fff;border-radius:14px;padding:20px 22px;display:flex;align-items:center;gap:16px;overflow:hidden;position:relative}.tutor-banner:after{content:'✦';position:absolute;right:32px;top:-12px;color:#80ac96;font-size:100px;opacity:.3}.tutor-spark{font-size:24px;color:#a5dfb8}.tutor-banner p{color:#c1dace;font-size:11px;margin:5px 0 0}.tutor-banner button{margin-left:auto;color:var(--green);background:#e1f2e6;border-radius:8px;padding:10px 14px;font-size:11px;font-weight:700;z-index:1}.view-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.view-title p{color:var(--muted);font-size:13px;margin:8px 0 0}.simple-list{padding:8px 20px}.emptyish{padding:26px 0;color:var(--muted);font-size:13px}.grade-table{width:100%;border-collapse:collapse;font-size:12px}.grade-table th{text-align:left;font:500 10px 'DM Mono';color:#9ba7a2;text-transform:uppercase;padding:14px 20px;border-bottom:1px solid var(--line)}.grade-table td{padding:16px 20px;border-bottom:1px solid #f0f2ef}.grade{color:var(--green);font-weight:700}.tutor-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:20px}.topic-card{padding:21px}.topic-card p{color:var(--muted);font-size:12px;line-height:1.6}.topic-list button{display:block;width:100%;padding:11px;text-align:left;border-radius:8px;font-size:12px;margin-top:3px}.topic-list button:hover{background:#f0f6f1;color:var(--green)}.chat-card{padding:20px;display:flex;flex-direction:column;min-height:390px}.chat-messages{flex:1}.message{max-width:84%;padding:12px 14px;border-radius:12px;font-size:12px;line-height:1.55;margin-bottom:12px}.message.ai{background:#eef5ef;border-top-left-radius:4px}.message.user{margin-left:auto;background:var(--green);color:#fff;border-top-right-radius:4px}.chat-form{display:flex;border:1px solid var(--line);border-radius:10px;padding:5px;margin-top:14px}.chat-form input{border:0;outline:0;flex:1;padding:8px;font:12px 'DM Sans';background:transparent}.chat-form button{background:var(--orange);color:#fff;border-radius:7px;padding:0 13px;font-size:16px}
 .legacy-library{margin-top:28px}.library-subtitle{font-size:11px;color:var(--muted);margin:5px 0 0}.library-count{font:500 9px 'DM Mono';color:#74a078;background:#e9f4eb;border-radius:5px;padding:5px 7px}.library-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 12px}.library-tab{padding:8px 11px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:10px;background:#fff}.library-tab:hover,.library-tab.active{background:var(--green);border-color:var(--green);color:#fff}.problem-library-list{padding:2px 20px}.problem-group{padding:8px 0 4px}.problem-group+.problem-group{border-top:1px solid var(--line);margin-top:6px}.problem-group-heading{display:flex;align-items:baseline;justify-content:space-between;padding:10px 0 2px}.problem-group-heading h3{font:700 12px 'Plus Jakarta Sans';margin:0;color:var(--green)}.problem-group-heading span{font:500 9px 'DM Mono';color:var(--muted)}.problem-library-row{display:flex;align-items:center;width:100%;gap:14px;padding:15px 0;border-bottom:1px solid #f0f2ef;text-align:left}.problem-library-row:last-child{border:0}.problem-number{font:500 10px 'DM Mono';color:var(--orange);width:20px}.problem-library-row strong,.problem-library-row small{display:block}.problem-library-row strong{font-size:12px;margin-bottom:5px}.problem-library-row small{font-size:10px;color:var(--muted);line-height:1.4}.problem-arrow{margin-left:auto;color:var(--green)}
.player-backdrop{position:fixed;inset:0;background:rgba(20,34,31,.45);display:grid;place-items:center;padding:20px;z-index:20}.player-modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:28px;box-shadow:0 25px 80px rgba(0,0,0,.2);position:relative}.player-close{position:absolute;right:18px;top:14px;font-size:25px;color:var(--muted)}.player-body h1{font-size:27px;margin:12px 0}.player-prompt{font-size:13px;line-height:1.7;color:#66736f;white-space:pre-line}.variable-strip{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0;padding:12px;background:#f5f8f4;border-radius:10px}.variable-strip span{display:flex;flex-direction:column;padding:4px 9px;border-right:1px solid #dde7df}.variable-strip small{font:500 9px 'DM Mono';color:var(--muted)}.variable-strip strong{font-size:11px;color:var(--green);margin-top:3px}.player-part{border-top:1px solid var(--line);padding:17px 0}.player-part>div:first-child strong,.player-part>div:first-child small{display:block}.player-part>div:first-child strong{font-size:12px}.player-part>div:first-child small{font-size:10px;color:var(--muted);margin-top:5px}.answer-line{display:flex;gap:8px;margin-top:10px;align-items:start}.answer-line input{flex:1;border:1px solid var(--line);border-radius:8px;padding:10px;font:12px 'DM Sans'}.vector-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;flex:1}.vector-inputs input{min-width:0}.answer-line button{background:var(--green);color:#fff;border-radius:8px;padding:0 14px;font-size:11px;font-weight:700;min-height:36px}.answer-line button:disabled{opacity:.5}.part-feedback{font-size:11px;margin:9px 0 0}.part-feedback.correct{color:#579464}.part-feedback.incorrect{color:var(--orange)}
@media(max-width:900px){.sidebar{width:210px}.topbar{padding:0 25px}.page{padding:35px 25px}.stats{grid-template-columns:repeat(2,1fr)}.content-grid,.tutor-layout{grid-template-columns:1fr}}
@media(max-width:620px){.sidebar{width:62px;padding:20px 9px}.brand{padding:0 7px 25px}.brand>span:last-child,.course-switcher span:not(.course-icon),.course-switcher .chevron,.nav-label,.nav-item b,.new-pill,.help-card,.user-chip span:not(.avatar){display:none}.course-switcher{justify-content:center;padding:7px}.nav-item{justify-content:center;padding:0}.nav-item span{margin:0}.topbar{padding:0 16px;height:62px}.breadcrumb span{display:none}.page{padding:27px 16px}.stats{gap:8px}.stat-card{padding:14px}.stat-value{font-size:20px}.intro{margin-bottom:24px}.assignment-card{padding:2px 14px}.assignment-row{gap:8px}.due{font-size:9px}.tutor-banner{align-items:flex-start;flex-wrap:wrap}.tutor-banner button{margin-left:40px}.view-title{display:block}}
.problem-figure-wrap{margin:18px 0;text-align:center}.problem-figure{display:block;max-width:100%;max-height:320px;object-fit:contain;margin:0 auto;border-radius:10px;background:#f7f8f4;padding:8px}.problem-figure-wrap figcaption,.figure-fallback{font-size:10px;color:var(--muted);margin-top:6px}.part-figure{display:block;max-width:100%;max-height:240px;object-fit:contain;margin:0 0 8px;border-radius:8px;background:#f7f8f4;padding:6px}.part-figure-wrap{margin:0 0 14px}.part-figure-wrap .figure-fallback{display:block;color:var(--orange,#b65b3a);font-size:11px}
.clickable-review-card{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.clickable-review-card:hover,.clickable-review-card:focus{transform:translateY(-1px);box-shadow:0 8px 20px rgba(20,34,31,.08);outline:2px solid rgba(24,96,79,.18)}.studio-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0 4px;color:var(--muted);font-size:11px}.studio-pagination button:disabled{opacity:.45;cursor:not-allowed}
.chapter-validation-dashboard{margin:8px 0 20px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f7faf7}.validation-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.validation-heading h3{margin:0;font-size:15px;color:var(--green)}.validation-heading p{margin:4px 0 0;color:var(--muted);font-size:11px}.validation-heading>span{font:600 10px 'DM Mono';color:var(--muted);white-space:nowrap}.chapter-validation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.chapter-validation-card{display:grid;gap:3px;padding:10px;border:1px solid #e2ebe3;border-radius:9px;background:#fff}.chapter-validation-card strong{font-size:12px;color:var(--ink)}.chapter-validation-card span,.chapter-validation-card small{font-size:10px;color:var(--muted)}.chapter-validation-card small{color:#5b946b}.pool-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.pool-actions select{border:1px solid var(--line);border-radius:6px;padding:5px 7px;background:#fff;color:var(--ink);font-size:10px}.pool-action{border:1px solid var(--line);border-radius:6px;padding:5px 7px;background:#fff;color:var(--muted);font-size:10px;cursor:pointer}.pool-action:hover,.pool-action.active{border-color:var(--green);background:#edf6ef;color:var(--green)}.pool-action[data-pool-action="discard"]{color:#a35b52}.pool-action[data-pool-action="discard"].active{background:#fff1ef;border-color:#d59b93}
.nav-subitem{height:36px;padding-left:28px;font-size:12px}.nav-subitem span{font-size:15px}
.backup-progress{display:flex;align-items:center;gap:7px;min-width:220px;font:500 9px 'DM Mono';color:#65736e}.backup-progress-label{color:var(--green);white-space:nowrap}.backup-progress-track{width:72px;height:5px;background:#e5ece6;border-radius:5px;overflow:hidden}.backup-progress-fill{display:block;width:0;height:100%;background:var(--orange);border-radius:5px;transition:width .4s}.backup-progress.complete .backup-progress-fill{background:var(--green)}.backup-progress-value{white-space:nowrap}
.studio-grid{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}.studio-grid>.card{padding:20px}.review-queue{display:grid;gap:14px}.studio-summary{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 18px}.studio-filter{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:9px 12px;text-align:left}.studio-filter strong{font:700 15px 'Plus Jakarta Sans';color:var(--green)}.studio-filter span{font-size:11px;color:var(--muted)}.studio-filter.active,.studio-filter:hover{border-color:var(--green);background:#edf6ef}.review-group{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:#fbfcfa}.review-group-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:9px}.review-group-title h3{font:700 15px 'Plus Jakarta Sans';margin:0;color:var(--green);text-transform:capitalize}.review-group-title p{margin:4px 0 0;color:var(--muted);font-size:10px}.review-chapter+.review-chapter{border-top:1px solid var(--line);margin-top:6px}.review-chapter h4{font:700 11px 'Plus Jakarta Sans';margin:0;color:var(--ink)}.review-card{border-top:1px solid #eef1ee;padding:13px 0;display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.review-card:first-child{border-top:0}.review-card strong,.review-card small{display:block}.review-card strong{font-size:12px}.review-card small{color:var(--muted);margin-top:4px;font-size:10px}.review-card p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.review-card .secondary-button{white-space:nowrap}.authoring-card form{display:grid;gap:14px}.authoring-card label{display:grid;gap:6px;font-size:12px;color:var(--muted)}.authoring-card input,.authoring-card textarea,.authoring-card select{border:1px solid var(--line);border-radius:8px;padding:10px;font:inherit;color:var(--ink);background:#fff}.form-section{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:9px}.authoring-row,.authoring-part{display:grid;grid-template-columns:1.1fr 1.2fr 1fr .8fr .8fr 1fr;gap:6px}.authoring-part{grid-template-columns:1.3fr 1fr .8fr .7fr 1fr}.secondary-button,.primary-button{border:1px solid var(--line);border-radius:7px;padding:8px 11px;background:#fff;color:var(--ink);cursor:pointer;font:inherit}.primary-button{background:var(--green);border-color:var(--green);color:#fff;justify-self:start}.success-button{color:var(--green);border-color:var(--green)}.form-status{margin:0;color:var(--green);font-size:13px}@media(max-width:900px){.authoring-row,.authoring-part{grid-template-columns:1fr 1fr}.review-card{display:grid}.review-card .secondary-button{justify-self:start}}
.build-status{font:500 9px 'DM Mono';color:#a66b1e;background:#fff1d8;border-radius:5px;padding:6px 8px}.build-progress-card{padding:20px;margin-bottom:18px}.build-progress-card .section-heading{margin-bottom:8px}.build-progress-card strong{font:700 20px 'Plus Jakarta Sans';color:var(--green)}.build-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.build-stats .stat-card{display:grid;gap:7px}.build-stats .stat-card span{font-size:11px;color:var(--muted)}.build-stats .stat-card strong{font:700 24px 'Plus Jakarta Sans';color:var(--green)}.build-stats .stat-card small{font-size:10px;color:var(--muted)}.build-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.build-checklist,.build-chapters{padding:20px}.build-row{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:14px 0}.build-row>div{flex:1}.build-row strong,.build-row small{display:block}.build-row strong{font-size:12px}.build-row small{font-size:10px;color:var(--muted);margin-top:4px}.build-row em{font:500 9px 'DM Mono';color:var(--muted);font-style:normal}.build-dot{width:9px;height:9px;border-radius:50%;background:#d7dfda}.build-dot.in-progress{background:var(--orange)}.build-dot.next{background:var(--yellow)}.build-dot.started{background:#73a77f}.chapter-meter{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:20px 0}.chapter-meter span{display:grid;place-items:center;width:31px;height:31px;border-radius:8px;background:#edf0ed;color:var(--muted);font:500 10px 'DM Mono'}.chapter-meter span.ready{background:#dceee1;color:var(--green)}
.build-stats .stat-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.build-stats .stat-card span,.build-stats .stat-card strong,.build-stats .stat-card small{display:block}.build-stats .stat-card span{line-height:1.3}.build-stats .stat-card strong{margin-top:6px}.build-row em{white-space:nowrap;background:#f1f4f1;border-radius:999px;padding:5px 8px}.build-row em:first-letter{text-transform:uppercase}.build-dot{flex:0 0 9px}.build-chapters .secondary-button{margin-top:12px}.build-progress-card .progress-bar{height:8px;margin-top:12px}.build-progress-card .progress-fill{background:linear-gradient(90deg,var(--orange),#f5a05e)}
@media(max-width:1100px){.build-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.build-stats,.build-columns{grid-template-columns:1fr}.build-row{align-items:flex-start}.build-row em{margin-left:auto}.chapter-meter{grid-template-columns:repeat(7,31px)}}
.build-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.build-stats .stat-card{padding:16px 17px;gap:4px;min-height:108px}.build-stats .stat-card span{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.build-stats .stat-card strong{font-size:22px;line-height:1.1}.build-stats .stat-card small{line-height:1.35}.build-columns{align-items:start}.build-checklist,.build-chapters{box-shadow:0 8px 22px rgba(29,53,44,.05)}.build-checklist h2,.build-chapters h2{margin-bottom:12px}.build-row{min-height:58px;padding:11px 0}.build-row strong{font-size:11px;line-height:1.25}.build-row small{font-size:10px;line-height:1.35}.build-row em{font-size:8px}.chapter-meter{grid-template-columns:repeat(7,minmax(24px,1fr));gap:6px;margin:15px 0}.chapter-meter span{width:100%;height:28px}.build-chapters p{line-height:1.45}@media(max-width:1100px){.build-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.build-stats{grid-template-columns:1fr}.build-columns{grid-template-columns:1fr}.view-title{gap:14px}}
.build-note{display:flex;align-items:center;gap:7px;margin:13px 0 0;padding:10px 12px;border-radius:8px;background:#fff8ed;color:#765a32;font-size:11px;line-height:1.4}.build-note strong{font-size:11px!important;color:#765a32!important}.build-note-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--orange)}
.chapter-validation-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.chapter-validation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.chapter-validation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.validation-heading{display:grid}.studio-pagination{font-size:10px}}
.chapter-tab-strip{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 16px;padding:8px 0}.chapter-tab-strip>strong{font:600 10px 'DM Mono';text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-right:4px}.chapter-tab{border:1px solid var(--line);border-radius:7px;padding:6px 9px;background:#fff;color:var(--muted);font-size:10px}.chapter-tab:hover,.chapter-tab.active{background:var(--green);border-color:var(--green);color:#fff}.review-chapter[hidden]{display:none}
.variable-strip strong{font-size:12px}.player-part>div:first-child small{font-size:11px}.chapter-validation-card{cursor:pointer;transition:transform .15s,box-shadow .15s}.chapter-validation-card:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(29,53,44,.1)}
.math-authoring-hint{display:block;margin-top:-8px;color:var(--muted);font-size:10px;line-height:1.4}
.problem-actions{position:relative;margin-left:auto;align-self:flex-start}.problem-action{border:1px solid var(--line);border-radius:6px;padding:5px 7px;background:#fff;color:var(--muted);font-size:11px}.problem-action-menu{position:absolute;right:0;top:30px;z-index:3;display:grid;gap:3px;min-width:170px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.problem-action-menu[hidden]{display:none}.problem-action-menu .problem-action{text-align:left;border:0}.problem-action-menu .problem-action:hover{background:#edf6ef;color:var(--green)}
.review-diagnostic{margin-top:10px;padding:10px 11px;border:1px solid #e0e9e1;border-radius:9px;background:#f7faf7}.review-diagnostic-header,.review-diagnostic-meta,.review-diagnostic-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.review-diagnostic-header{justify-content:space-between}.review-diagnostic-title{font:700 10px 'DM Mono';letter-spacing:.04em;text-transform:uppercase;color:var(--green)}.review-diagnostic-status{border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700}.review-diagnostic-status.passed{background:#e5f3e9;color:#26714e}.review-diagnostic-status.needs-work{background:#fff0ed;color:#a4483d}.review-diagnostic-status.pending{background:#eef1f0;color:var(--muted)}.review-issue-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.review-issue-tag{border:1px solid #edcfc8;border-radius:999px;padding:3px 7px;background:#fff8f5;color:#8f493e;font-size:9px;font-weight:700}.review-diagnostic-note{margin:7px 0 0;color:var(--ink);font-size:11px;line-height:1.4}.review-diagnostic-meta{margin-top:7px;color:var(--muted);font-size:10px}.review-diagnostic-meta span+span:before{content:'·';margin-right:8px}.review-diagnostic-details{margin-top:8px;color:var(--muted);font-size:10px}.review-diagnostic-details summary{cursor:pointer;color:var(--green);font-weight:600}.review-diagnostic-block{margin-top:8px}.review-diagnostic-block strong{font-size:10px!important;color:var(--ink)}.review-diagnostic-block pre{max-height:160px;overflow:auto;margin:5px 0 0;padding:7px;border-radius:6px;background:#eef3ef;color:var(--ink);font:9px/1.4 'DM Mono',monospace;white-space:pre-wrap}.review-diagnostic-block ol{display:grid;gap:7px;margin:6px 0 0;padding-left:17px}.review-diagnostic-block li span,.review-diagnostic-block li small{display:block}.review-diagnostic-block li small{margin-top:2px;color:var(--muted);font-size:9px}.review-diagnostic-block li p{margin:3px 0 0;color:var(--ink);font-size:10px;line-height:1.35}.review-diagnostic-empty{margin:7px 0 0;color:var(--muted)}.review-diagnostic-actions{margin-top:9px}.review-note-button{padding:6px 8px;font-size:10px}.review-note-feedback{color:var(--green);font-size:10px}
.ta-beta-onboarding{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,2fr) auto;gap:18px;align-items:center;margin:0 0 18px;padding:20px 22px;background:linear-gradient(120deg,#f3faf5,#fffaf0);border-color:#d6e7dc}.ta-beta-onboarding h2{margin:5px 0 6px;font-size:18px}.ta-beta-onboarding p{margin:0}.ta-beta-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;counter-reset:beta-step}.ta-beta-steps li{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.8)}.ta-beta-steps li:before{counter-increment:beta-step;content:counter(beta-step);display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;font-weight:700;font-size:11px}.ta-beta-steps strong{font-size:11px}.ta-beta-steps span{font-size:10px;color:var(--muted);line-height:1.4}.problem-bug-report-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px;background:rgba(13,30,27,.32)}.problem-bug-report-dialog{width:min(560px,100%);max-height:min(720px,calc(100vh - 40px));overflow:auto;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(13,30,27,.22)}.problem-bug-report-dialog .section-heading{align-items:flex-start}.problem-bug-report-dialog form{display:grid;gap:16px}.problem-bug-report-dialog label{display:grid;gap:7px;font-size:12px;font-weight:600;color:var(--ink)}.problem-bug-report-dialog select,.problem-bug-report-dialog textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:9px;padding:11px;background:#fff;font:inherit;color:var(--ink)}.review-bug-report-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.review-bug-report-actions .review-note-feedback{flex:1;color:var(--muted);font-size:11px}.review-diagnostic-actions .review-note-feedback{font-size:11px;color:var(--muted)}
.assessment-plan{padding:16px 0;border-bottom:1px solid var(--line)}.assessment-plan-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.assessment-plan-head h3{margin:0 0 4px;color:var(--green);font-size:13px}.assessment-plan-head span{color:var(--muted);font-size:10px}.assessment-plan-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.assessment-plan-actions select{max-width:220px;border:1px solid var(--line);border-radius:7px;padding:8px;font:inherit;font-size:10px;background:#fff}.assessment-plan-actions .primary-button{padding:8px 10px;font-size:10px}.review-card>.secondary-button{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}.review-card>.secondary-button:hover{background:#173f35}.assessment-plan .problem-library-row{padding-left:8px}@media(max-width:700px){.assessment-plan-head{display:grid}.assessment-plan-actions{justify-content:flex-start}}
.build-roadmap{padding:20px;margin-bottom:18px}.build-category{border-top:1px solid var(--line);padding:18px 0}.build-category:first-of-type{border-top:0;padding-top:4px}.build-category-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.build-category-head strong{display:block;font-size:13px}.build-category-head small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.build-category-head b{font:700 19px 'Plus Jakarta Sans';color:var(--green)}.build-category>.progress-bar{margin-top:10px}.build-category>.progress-bar .progress-fill{background:var(--green)}.build-task-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin-top:13px}.build-task{display:flex;align-items:center;gap:8px;min-width:0}.build-task>div{flex:1;min-width:0}.build-task strong,.build-task small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.build-task strong{font-size:11px}.build-task small{font-size:9px;color:var(--muted);margin-top:3px}.build-task-percent{font:500 9px 'DM Mono';color:var(--green);white-space:nowrap}@media(max-width:760px){.build-task-list{grid-template-columns:1fr}.build-roadmap{padding:16px}}

.assessment-library-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.assessment-library-actions .secondary-button{font-size:10px;padding:7px 10px}
.auth-grid,.home-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:18px;align-items:start}.auth-card,.auth-explainer{padding:24px}.auth-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line,#dfe9e2);padding-bottom:12px;margin-bottom:20px}.auth-tab{border:0;background:transparent;padding:8px 12px;color:var(--muted,#6b7a72);font-weight:700;cursor:pointer}.auth-tab.active{color:var(--ink,#10211a);border-bottom:2px solid var(--green,#185c4a)}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:6px;font-size:13px;font-weight:700}.auth-form input{border:1px solid #d6e0d9;border-radius:10px;padding:11px 12px;font:inherit}.auth-note{font-size:12px;color:var(--muted,#6b7a72);line-height:1.5}.role-list{display:grid;gap:10px;margin-top:20px}.role-list span{display:grid;gap:3px;padding:11px 12px;background:#f5f8f5;border-radius:10px;font-size:12px;color:#65736c}.role-list b{color:#163b2e;font-size:13px}.content-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 18px}.chapter-pills{display:flex;gap:7px;flex-wrap:wrap}.chapter-pill{border:1px solid #d5e2da;background:#fff;border-radius:999px;padding:8px 12px;color:#5c6c63;cursor:pointer;font-weight:700;font-size:12px}.chapter-pill.active{background:#185c4a;color:#fff;border-color:#185c4a}.content-resource-list{display:grid;gap:18px}.resource-chapter{padding:20px}.resource-chapter-link{display:inline-flex;border:0;padding:0;background:transparent;color:#185c4a;font-size:10px;font-weight:700;cursor:pointer}.resource-chapter-link:hover{text-decoration:underline}.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.resource-card{display:flex;flex-direction:column;gap:8px;border:1px solid #dce7df;border-radius:12px;padding:15px;background:#fcfefc;text-decoration:none;color:inherit;min-height:145px}.resource-card:hover{border-color:#8db8a2;box-shadow:0 8px 18px rgba(35,76,54,.08);transform:translateY(-1px)}.resource-thumb{width:100%;height:110px;object-fit:cover;border-radius:8px;background:#eef4ef}.resource-type{font:10px 'DM Mono',monospace;color:#27745b;text-transform:uppercase;letter-spacing:.06em}.resource-card strong{font-size:14px;line-height:1.35}.resource-card small{color:#718078;line-height:1.4}.resource-open{margin-top:auto;color:#185c4a;font-weight:700;font-size:12px}.home-hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(120deg,#eef8f0,#fff7f0);border:1px solid #dfeae1;border-radius:18px;padding:32px;margin-bottom:18px}.home-hero h1{font-size:42px;max-width:620px;margin:0 0 12px}.hero-mark{font-size:110px;color:#185c4a;font-family:Georgia,serif;padding:0 50px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.home-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr)}.home-chapters{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:9px}.home-chapter{display:grid;text-align:left;gap:5px;border:1px solid #dce7df;background:#fff;border-radius:11px;padding:13px;cursor:pointer}.home-chapter:hover{border-color:#92b9a1;background:#f7fcf8}.home-chapter span{font:11px 'DM Mono',monospace;color:#ee634b}.home-chapter strong{font-size:12px;line-height:1.3}.home-chapter small{font-size:11px;color:#7a8881}.home-assessments{display:grid;gap:6px}.assessment-rhythm{display:flex;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #e8eee9}.assessment-rhythm:last-child{border-bottom:0}.assessment-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#eaf5ed;color:#185c4a;font-size:17px}.assessment-rhythm div{display:grid;gap:4px}.assessment-rhythm small{font-size:11px;color:#798880}.grade-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.grades-content .card{overflow:auto}.audit-button{margin-left:auto;align-self:center}.success-button{background:#e9f6ed!important;color:#1d6a47!important;border-color:#a8d2b5!important}.nav-item[data-view="content"]{font-weight:700}@media(max-width:800px){.auth-grid,.home-grid{grid-template-columns:1fr}.home-hero{padding:24px}.hero-mark{font-size:64px;padding:0 12px}.home-hero h1{font-size:32px}.content-toolbar{align-items:flex-start;flex-direction:column}.audit-button{margin-left:0}.grade-summary{grid-template-columns:1fr}}
.authoring-format-note{display:grid;gap:4px;padding:11px 13px;margin:0 0 16px;background:#eef7f0;border:1px solid #d6e9da;border-radius:10px;font-size:12px}.authoring-format-note span{color:#6d7c74;font-size:11px;line-height:1.4}.authoring-part select,.authoring-part textarea,.authoring-part input{font:inherit;border:1px solid #d6e0d9;border-radius:7px;padding:8px}.logic-actions{display:flex;gap:8px;margin:14px 0}.logic-panel{margin:12px 0;border:1px solid #dfe8e1;border-radius:10px;background:#f7faf7;padding:10px}.logic-panel summary{cursor:pointer;color:#185c4a;font-weight:700;font-size:12px}.logic-panel pre{white-space:pre-wrap;overflow:auto;font:11px 'DM Mono',monospace;color:#4b5c53;max-height:280px;margin:12px 0 0}.logic-inspector{padding:0;overflow:hidden;background:#fbfdfb}.logic-inspector summary{padding:13px 14px;background:#eef7f0;border-bottom:1px solid #dfe8e1;font-size:13px}.logic-inspector-note{display:grid;gap:3px;margin:14px;padding:11px 12px;border:1px solid #d8e8dc;border-radius:9px;background:#fff}.logic-inspector-note strong{font-size:11px;color:#185c4a}.logic-inspector-note span,.logic-inspector-section-title small,.logic-inspector-meta small,.logic-inspector-field small{color:#718078;font-size:10px;line-height:1.4}.logic-inspector-section{padding:0 14px 15px}.logic-inspector-section+.logic-inspector-section{border-top:1px solid #e4ebe5;padding-top:15px}.logic-inspector-section-title{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px}.logic-inspector-section-title>span{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#e6f2e8;color:#185c4a;font:600 10px 'DM Mono'}.logic-inspector-section-title>div{display:grid;gap:2px}.logic-inspector-section-title strong{font-size:12px;color:#21342c}.logic-inspector-variable-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.logic-inspector-variable,.logic-inspector-solution,.logic-inspector-part{display:grid;gap:9px;padding:11px;border:1px solid #dfe8e1;border-radius:9px;background:#fff}.logic-inspector-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.logic-inspector-heading strong{font-size:11px;color:#21342c}.logic-inspector-chip{border-radius:999px;padding:4px 7px;background:#edf5ee;color:#287253;font:600 9px 'DM Mono';white-space:nowrap}.logic-inspector-meta,.logic-inspector-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.logic-inspector-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.logic-inspector-meta span,.logic-inspector-detail-grid span{display:grid;gap:3px;min-width:0}.logic-inspector-meta b,.logic-inspector-detail-grid b{font-size:10px;color:#3e5148;overflow-wrap:anywhere}.logic-inspector-stack{display:grid;gap:8px}.logic-inspector-field{display:grid;gap:4px}.logic-inspector-field code{display:block;padding:7px 8px;border-radius:7px;background:#f2f6f2;color:#185c4a;font:10px 'DM Mono';overflow-wrap:anywhere}.logic-inspector-empty{margin:0;color:#718078;font-size:10px;line-height:1.45}.logic-inspector-part-prompt{margin:0;color:#4d6257;font-size:11px;line-height:1.45}.logic-inspector-choice-list{display:flex;gap:5px;flex-wrap:wrap}.logic-inspector-choice-list span{padding:5px 7px;border:1px solid #dfe8e1;border-radius:6px;background:#f8fbf8;color:#43574c;font-size:10px}.logic-inspector-field p{margin:0;color:#4d6257;font-size:10px;line-height:1.45}.logic-inspector-footer{margin:0;padding:11px 14px;border-top:1px solid #dfe8e1;color:#718078;font-size:10px;line-height:1.45}.logic-inspector-footer strong{color:#185c4a}@media(max-width:680px){.logic-inspector-variable-grid,.logic-inspector-meta,.logic-inspector-detail-grid{grid-template-columns:1fr}.logic-inspector-heading{align-items:flex-start;flex-direction:column}}
.problem-deck-import{margin-bottom:16px}.problem-deck-import>label{display:grid;gap:6px;color:var(--muted);font-size:11px}.problem-deck-import input[type=file]{border:1px dashed #b8cec0;border-radius:8px;padding:9px;background:#fbfefb;color:var(--ink);font:inherit}.problem-deck-status{margin-top:9px;color:var(--green);font-size:10px;line-height:1.4}.problem-deck-batch-actions{display:flex;align-items:end;gap:9px;flex-wrap:wrap;margin:12px 0}.problem-deck-batch-actions label{display:grid;gap:5px;color:var(--muted);font-size:10px}.problem-deck-batch-actions select{border:1px solid var(--line);border-radius:7px;padding:7px;background:#fff;color:var(--ink);font:inherit;font-size:10px}.problem-deck-slide-list{display:grid;gap:8px}.problem-deck-slide{display:grid;gap:7px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.problem-deck-slide>label{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.problem-deck-slide>label strong{font-size:11px}.problem-deck-slide>label small{color:var(--muted);font-size:9px}.problem-deck-slide>small{color:var(--muted);font-size:10px;line-height:1.35}.problem-deck-slide>span{color:var(--muted);font-size:9px}.problem-deck-review-flag{display:inline-block;margin-left:4px;padding:3px 6px;border-radius:999px;background:#fff2dd;color:#9b6422;font-style:normal;font-weight:700}.problem-deck-slide-actions{display:flex;gap:5px;flex-wrap:wrap}.problem-deck-slide-actions button{border:1px solid var(--line);border-radius:6px;padding:5px 7px;background:#fff;color:var(--muted);font-size:9px}.problem-deck-slide-actions button:hover:not(:disabled){border-color:var(--green);color:var(--green);background:#f3faf4}.problem-deck-slide-actions button:disabled{cursor:not-allowed;opacity:.45}.problem-deck-seed{color:var(--green)!important;font-weight:700}
.roles-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px;align-items:start}.roles-card{padding:20px}.roles-card h2{margin:4px 0 6px}.course-member-list{display:grid;gap:2px;margin-top:10px}.course-member-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.course-member-row:first-child{border-top:0}.course-member-row>div{flex:1;min-width:0}.course-member-row strong,.course-member-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-member-row strong{font-size:12px}.course-member-row small{font-size:10px;color:var(--muted);margin-top:3px}.member-role{font:500 9px 'DM Mono';color:var(--green);background:#e9f4eb;border-radius:999px;padding:6px 8px;white-space:nowrap}.role-assignment-form{display:grid;gap:12px;margin-top:16px}.role-assignment-form label{display:grid;gap:6px;font-size:12px;color:var(--muted)}.role-assignment-form input,.role-assignment-form select{border:1px solid var(--line);border-radius:8px;padding:10px;font:inherit;color:var(--ink);background:#fff}.role-assignment-form .primary-button{margin-top:4px}.role-permission-note{display:grid;gap:7px;margin-top:16px;padding:13px;border:1px solid #e2e9e2;border-radius:10px;background:#f6f9f6;color:var(--muted);font-size:12px;line-height:1.5}.role-permission-note strong{color:var(--ink);font-size:13px}.role-permission-note p{margin:0}@media(max-width:760px){.roles-grid{grid-template-columns:1fr}}
.integration-notice{padding:18px 20px;margin-bottom:18px;background:linear-gradient(120deg,#eef8f0,#fff8f0);border-color:#dbe9de}.integration-notice strong,.integration-notice p{display:block}.integration-notice strong{font-size:15px;margin-top:4px}.integration-notice p{color:var(--muted);font-size:12px;line-height:1.55;margin:7px 0 0;max-width:760px}.integration-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.integration-gate-card{padding:20px}.integration-gate-badge,.integration-map-status{font:600 10px 'DM Mono';border-radius:999px;padding:6px 9px;background:#fff1df;color:#99601d;white-space:nowrap}.integration-gate-badge.is-ready{background:#e6f4e9;color:#28724d}.integration-gate-badge.is-blocked{background:#fff1ed;color:#a44c40}.integration-check-list{display:grid;gap:8px;margin-top:16px}.integration-check{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border:1px solid #e4ebe5;border-radius:9px;background:#fbfdfb}.integration-check>span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:11px;font-weight:800;background:#e7f3e9;color:#28724d}.integration-check.blocked>span{background:#fff0ec;color:#a44c40}.integration-check strong,.integration-check small{display:block}.integration-check strong{font-size:11px}.integration-check small{color:var(--muted);font-size:10px;line-height:1.4;margin-top:3px}.integration-link-card,.integration-mapping-card{padding:20px;margin-bottom:18px}.integration-link-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.integration-link-form label,.integration-mapping-fields label{display:grid;gap:6px;font-size:11px;color:var(--muted)}.integration-link-form input,.integration-link-form select,.integration-mapping-fields input{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;color:var(--ink);font:inherit;font-size:11px}.integration-mapping-row{padding:17px 0;border-top:1px solid var(--line)}.integration-mapping-row:first-child{border-top:0}.integration-mapping-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.integration-mapping-heading h3{margin:4px 0;font-size:14px;color:var(--green)}.integration-mapping-heading small{font-size:10px;color:var(--muted)}.integration-map-status{background:#eef1ef;color:var(--muted)}.integration-mapping-row.is-mapped .integration-map-status{background:#e6f4e9;color:#28724d}.integration-mapping-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.integration-mapping-fields input[readonly]{background:#f4f7f4;color:var(--green);font-weight:700}.integration-mapping-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.integration-checkbox{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.integration-checkbox input{accent-color:var(--green)}.integration-mapping-actions .primary-button{padding:8px 12px;font-size:10px}.success-text{color:var(--green)}
.integration-acceptance-card{padding:20px;margin-bottom:18px;border-color:#e2e9df;background:linear-gradient(135deg,#fbfefb,#fffaf2)}.integration-acceptance-card .section-heading{align-items:flex-start;margin-bottom:16px}.integration-acceptance-card h2{margin:5px 0 6px}.integration-acceptance-card .library-count{margin-top:3px;background:#fff1df;color:#99601d;border-radius:999px;padding:6px 9px;font:700 9px 'DM Mono';white-space:nowrap}.integration-acceptance-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.integration-acceptance-item{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:8px;align-items:start;padding:10px 11px;border:1px solid #eadfd1;border-radius:9px;background:#fffaf4}.integration-acceptance-item>span{grid-row:span 2;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#fff0df;color:#9b6422;font-weight:800;font-size:11px}.integration-acceptance-item strong{font-size:11px;line-height:1.35}.integration-acceptance-item small{color:var(--muted);font-size:9px;line-height:1.35;margin-top:3px}.integration-acceptance-item.is-complete{border-color:#cfe5d4;background:#f5fbf5}.integration-acceptance-item.is-complete>span{background:#e0f1e3;color:#28724d}.integration-acceptance-note{margin:14px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.integration-acceptance-note code{color:var(--green);font-family:'DM Mono',monospace}@media(max-width:760px){.integration-acceptance-list{grid-template-columns:1fr}}
.beam-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;flex:1}.beam-inputs strong{grid-column:1/-1;color:var(--green);font-size:11px}.beam-inputs label{display:grid;gap:4px;color:var(--muted);font-size:10px}.beam-inputs input{width:100%;min-width:0}
#player{left:260px!important;background:#fff!important;display:block!important;pointer-events:auto!important;padding:0!important;z-index:60!important}#player>.player-modal{pointer-events:auto;width:100%;height:100vh;max-height:100vh;overflow:auto;background:#fff;border:0;border-radius:0;padding:28px;box-shadow:none;position:absolute;left:0;right:0;top:0}.player-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;position:sticky;top:-28px;padding:0 0 14px;background:#fff;z-index:2}.player-controls{display:flex;align-items:center;gap:10px}.player-close{position:static!important;font-size:25px;color:var(--muted);line-height:1}.player-close:hover{color:var(--ink)}.display-decimal{font-weight:900;font-size:1.3em;line-height:inherit;text-shadow:.3px 0 currentColor,-.3px 0 currentColor}@media(max-width:900px){#player{left:210px!important}}@media(max-width:620px){#player{left:62px!important}#player>.player-modal{padding:20px}.player-header{top:-20px}}
.problem-navigation{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 16px;padding:10px 12px;background:#f5f8f4;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:11px}.problem-navigation .secondary-button{min-height:30px;padding:5px 9px}.problem-navigation .secondary-button:disabled{opacity:.45;cursor:not-allowed}
.sidebar,.topbar{position:relative;z-index:25}

/* Persistent course navigation: keep the dashboard and workspace links available while page content scrolls. */
.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;height:100vh;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;flex:0 0 260px}
.main-content{margin-left:260px}
@media(max-width:900px){.main-content{margin-left:210px}}
@media(max-width:620px){.main-content{margin-left:62px}}
.feature-error{padding:24px}.feature-error h2{margin:2px 0 8px}.feature-error p{max-width:600px;color:var(--muted);font-size:12px;line-height:1.6}.feature-error .secondary-button{margin-top:4px}.nav-item[aria-current="page"]{box-shadow:inset 3px 0 0 var(--green)}
.faculty-upload-card {
  margin: 0 0 1.25rem;
  border: 1px solid rgba(38, 99, 88, .2);
  background: linear-gradient(135deg, #f5fbf8, #fff);
}

.faculty-upload-card summary {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  list-style: none;
  padding: 1rem 1.2rem;
}

.faculty-upload-card summary::-webkit-details-marker { display: none; }
.faculty-upload-card summary strong,
.faculty-upload-card summary small { display: block; }
.faculty-upload-card summary strong { margin: .2rem 0; font-size: 1.05rem; }
.faculty-upload-card summary small { color: var(--muted, #657878); }
.upload-summary-caret { color: #176255; font-size: 1.3rem; }

.faculty-upload-form {
  display: grid;
  gap: .8rem;
  padding: 0 1.2rem 1.2rem;
}

.faculty-upload-form label {
  display: grid;
  gap: .35rem;
  color: #1a3735;
  font-size: .84rem;
  font-weight: 700;
}

.faculty-upload-form label span { color: #81908d; font-weight: 500; }
.faculty-upload-form input:not([type="checkbox"]),
.faculty-upload-form select,
.faculty-upload-form textarea {
  width: 100%;
  border: 1px solid #d7e2de;
  border-radius: .65rem;
  padding: .7rem .75rem;
  background: #fff;
  color: #19312f;
  font: inherit;
}

.faculty-upload-row { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.faculty-upload-check { display: flex !important; grid-template-columns: auto 1fr; align-items: center; gap: .5rem !important; }
.faculty-upload-check input { width: 1rem; height: 1rem; }
.authoring-card .part-figure-upload { grid-column: 1 / -1; display: grid; gap: 5px; font-size: 10px; color: var(--muted); }
.authoring-card .part-figure-upload input[type="file"] { padding: 7px; font-size: 11px; }
.authoring-card .authoring-figure-preview { max-width: min(100%, 360px); max-height: 220px; object-fit: contain; border: 1px solid var(--line); border-radius: 8px; background: #f5f8f5; padding: 6px; }
.authoring-card .part-figure-upload .authoring-figure-preview { max-width: 180px; max-height: 120px; }
.authoring-card label > small { color: var(--muted); font-size: 10px; font-weight: 400; }
.faculty-upload-actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.faculty-upload-actions .form-status { margin: 0; color: #176255; }

.resource-image-frame-wrap {
  display: grid;
  place-items: center;
  min-height: 18rem;
  padding: 1rem;
  border: 1px solid #e1e9e6;
  border-radius: .8rem;
  background: #f7faf9;
}

.resource-image-frame {
  display: block;
  max-width: 100%;
  max-height: 72vh;
  object-fit: contain;
}

.slide-reader-canvas {
  position: relative;
  width: 100%;
  overflow: hidden;
  border: 1px solid #dce7e3;
  border-radius: .75rem;
  background: #fff;
  box-shadow: 0 .8rem 2rem rgba(26, 58, 52, .08);
}

.slide-reader-image-element,
.slide-reader-text-element {
  position: absolute;
  box-sizing: border-box;
}

.slide-reader-image-element { object-fit: contain; }
.slide-reader-text-element {
  overflow: hidden;
  white-space: pre-wrap;
  line-height: 1.15;
  color: #132b2c;
  font-family: Inter, system-ui, sans-serif;
}

.resource-draft-badge { color: #9a5d13; }

@media (max-width: 680px) {
  .faculty-upload-row { grid-template-columns: 1fr; }
.faculty-upload-card summary { align-items: flex-start; }
  .slide-reader-text-element { font-size: 8pt !important; }
}

.faculty-category-picker {
  display: grid;
  gap: .8rem;
  padding: 1rem 1.2rem;
  border-top: 1px solid #dce9e3;
  border-bottom: 1px solid #dce9e3;
  background: #f8fcf9;
}
.faculty-category-picker[hidden] { display: none; }
.faculty-category-picker label {
  display: grid;
  gap: .35rem;
  color: #1a3735;
  font-size: .84rem;
  font-weight: 700;
}
.faculty-category-picker select {
  width: 100%;
  border: 1px solid #d7e2de;
  border-radius: .65rem;
  padding: .7rem .75rem;
  background: #fff;
  color: #19312f;
  font: inherit;
}
.faculty-category-actions { display: flex; gap: .6rem; flex-wrap: wrap; }

.resource-upload-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: start center;
  overflow: auto;
  padding: 6vh 1.25rem;
  background: rgba(17, 35, 30, .32);
}
.resource-upload-dialog {
  width: min(720px, 100%);
  max-height: 88vh;
  overflow: auto;
  border: 1px solid #d3e3da;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(18, 42, 35, .24);
}
.resource-upload-dialog > header {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.35rem;
  border-bottom: 1px solid #e1ebe5;
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(8px);
}
.resource-upload-dialog > header h2 { margin: .2rem 0 .35rem; font-size: 1.25rem; }
.resource-upload-dialog > header p { margin: 0; color: var(--muted, #657878); font-size: .78rem; }
.resource-upload-dialog .faculty-upload-form { padding: 1.25rem 1.35rem 1.4rem; }
.resource-upload-dialog .player-close { flex: 0 0 auto; }

.resource-reader-backdrop {
  position: fixed;
  inset: 0;
  left: 260px;
  z-index: 60;
  display: block;
  padding: 0;
  background: #fff;
  pointer-events: auto;
}

/* Compact review actions without shrinking unrelated page controls. */
.review-card>.secondary-button,.review-card .review-diagnostic-actions>button{font-size:12px;line-height:1.25;padding:7px 10px;min-height:30px;border-radius:6px;align-self:start}
.review-card>.secondary-button:disabled{background:#f2f6f3;color:var(--muted);border-color:var(--line)}
.review-note-editor{flex-basis:100%;width:100%;display:grid;gap:8px;margin-top:10px}
.review-note-editor label{display:grid;gap:6px;font-size:12px}.review-note-editor textarea{width:100%;padding:9px;border:1px solid var(--line);border-radius:6px;font:inherit}.review-note-editor>div{display:flex;gap:7px}

/* Guided authoring keeps the student's problem visible beside staff controls. */
.authoring-card{grid-column:1/-1;min-width:0}
.studio-grid:has(>.authoring-card){grid-template-columns:minmax(0,1fr)}
.authoring-workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px;align-items:start;margin-top:18px}
.authoring-workspace form,.authoring-workspace label{min-width:0}
.authoring-workspace input,.authoring-workspace textarea,.authoring-workspace select{width:100%;min-width:0}
.builder-step-nav{display:flex;flex-wrap:wrap;gap:6px}
.builder-step-nav button{border:1px solid var(--line);border-radius:8px;padding:8px;background:#f1f7f3;font-size:12px;color:var(--green)}
.builder-step{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fbfdfb;scroll-margin-top:20px;min-width:0}
.builder-step>header{display:flex;align-items:flex-start;gap:10px}
.builder-step>header>span{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--green);color:#fff;font-weight:700}
.builder-step h3{font-size:16px;margin:2px 0 6px}.builder-step header p{font-size:12px;color:var(--muted);line-height:1.5;margin:0}
.builder-step .form-grid,.builder-step .variable-row,.builder-step .authoring-part,.builder-step .authoring-solution-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.builder-step [data-builder-row-title]{grid-column:1/-1;font-size:13px;color:var(--green)}
.builder-step .variable-row,.builder-step .authoring-part{padding:14px;margin-bottom:12px;border:1px solid var(--line);border-radius:10px;background:#fff}
.builder-step .form-section{border:0;padding:0}.builder-step .form-section>strong{display:none}
.builder-step label[hidden]{display:none!important}
.builder-step .authoring-part>label:has([name="part_text"]),.builder-step .authoring-part>label:has([name="part_formula"]){grid-column:1/-1}
.builder-advanced{padding:12px;border:1px solid var(--line);border-radius:9px;min-width:0}.builder-advanced summary{cursor:pointer;color:var(--green);font-size:12px;font-weight:600}.builder-advanced[open]>summary{margin-bottom:14px}
.builder-live-preview{position:sticky;top:20px;padding:22px;max-height:85vh;overflow:auto;min-width:0;overflow-wrap:anywhere}
.builder-live-preview h2{font-size:22px;margin:12px 0}.builder-live-preview small{font-size:11px;color:var(--muted)}
.builder-preview-statement{white-space:pre-wrap;font-size:14px;line-height:1.6;margin:20px 0}
.builder-live-preview img{display:block;max-width:100%;max-height:280px;object-fit:contain;margin:15px auto}
.builder-figure-placeholder{padding:30px;border:1px dashed var(--line);border-radius:10px;text-align:center;color:var(--muted);font-size:12px}
.builder-live-preview .variable-strip{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0;padding:12px}.builder-live-preview .variable-strip small,.builder-live-preview .variable-strip strong{display:block}
.builder-preview-part{display:grid;gap:10px;border-top:1px solid var(--line);padding:18px 0}.builder-preview-part>strong{font-size:14px;line-height:1.5;white-space:pre-wrap}
.builder-preview-answer input:not([type="radio"]):not([type="checkbox"]){width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f7f9f7}
.builder-preview-answer label{display:flex;align-items:center;gap:8px;margin:8px 0;color:var(--ink);font-size:13px}.builder-preview-answer input[type="radio"],.builder-preview-answer input[type="checkbox"]{width:auto}
.builder-preview-part p,.builder-preview-note{font-size:11px;color:var(--muted);line-height:1.5}
@media(max-width:1100px){.authoring-workspace{grid-template-columns:minmax(0,1fr)}.builder-live-preview{position:static;max-height:none}}
@media(max-width:620px){.builder-step .form-grid,.builder-step .variable-row,.builder-step .authoring-part,.builder-step .authoring-solution-row{grid-template-columns:minmax(0,1fr)}.builder-step,.builder-live-preview{padding:14px}}

.resource-reader {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  overflow: auto;
  pointer-events: auto;
  background: #fff;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.resource-reader-header {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.5rem 1rem;
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid #edf1ee;
  backdrop-filter: blur(8px);
}

.resource-reader-header strong { display: block; font: 700 1rem 'Plus Jakarta Sans', sans-serif; color: var(--ink); }
.resource-reader-controls { display: flex; align-items: center; gap: .5rem; }
.resource-reader-close { padding: 0 .2rem; color: var(--muted); font-size: 1.55rem; line-height: 1; }
.resource-reader-close:hover { color: var(--ink); }
.resource-reader-body { padding: 1.25rem 1.5rem 2rem; }
.resource-reader-heading { margin-bottom: 1rem; }
.resource-reader-heading h2 { margin-bottom: .35rem; }
.resource-reader-heading p { color: var(--muted); font-size: .8rem; }
.resource-pdf-frame { display: block; width: 100%; height: calc(100vh - 9rem); min-height: 34rem; border: 1px solid #e1e9e6; border-radius: .75rem; background: #f7faf9; }
.slide-reader-controls { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: .9rem; color: var(--muted); font: .7rem 'DM Mono', monospace; }
@media (max-width: 900px) {
  .resource-reader-backdrop { left: 210px; }
}
@media (max-width: 620px) {
  .resource-reader-backdrop { left: 62px; }
  .resource-reader-header, .resource-reader-body { padding-left: 1rem; padding-right: 1rem; }
}
.authoring-guide{display:grid;gap:8px;padding:14px 16px;background:linear-gradient(135deg,#eef7f0,#fffaf1);border:1px solid #dce9df;border-radius:12px}.authoring-guide strong{font:700 14px 'Plus Jakarta Sans';color:var(--ink)}.authoring-guide ol{margin:0;padding-left:20px;color:#53645b;font-size:11px;line-height:1.55}.authoring-guide p{margin:0;color:#6d7c74;font-size:11px;line-height:1.45}.authoring-guide code,.authoring-section-help code{font-family:'DM Mono',monospace;color:#185c4a}.authoring-section-help{display:block;color:#6d7c74;font-size:10px;line-height:1.4}.authoring-solutions-section>div:first-child{display:grid;gap:4px}.authoring-solution-row{display:grid;grid-template-columns:1fr .8fr 1.5fr;gap:6px}.authoring-solution-row input,.authoring-solution-row select{min-width:0}@media(max-width:900px){.authoring-solution-row{grid-template-columns:1fr 1fr}.authoring-solution-row input:last-child{grid-column:1/-1}}
.authoring-preview-panel{display:grid;gap:10px;padding:13px 14px;background:#f7faf7;border:1px solid #dce9df;border-radius:10px;font-size:11px}.authoring-preview-panel>div:first-child{display:grid;gap:4px}.authoring-preview-panel small{color:#6d7c74;line-height:1.4}.authoring-preview-panel p{margin:0;color:#6d7c74;line-height:1.45}.authoring-preview-variables{display:flex;gap:8px;flex-wrap:wrap}.authoring-preview-variables span{display:grid;gap:3px;padding:7px 9px;background:#fff;border:1px solid #e0e9e1;border-radius:8px}.authoring-preview-variables small{font:10px 'DM Mono',monospace;color:#6d7c74}.authoring-preview-variables strong{font-size:12px;color:var(--green)}.authoring-preview-parts{display:grid;gap:5px;margin:0;padding-left:19px}.authoring-preview-parts li{display:flex;justify-content:space-between;gap:12px;color:#52645a}.authoring-preview-parts li span{font-family:'DM Mono',monospace;color:var(--ink)}.authoring-preview-success{color:#287253!important}.authoring-preview-warning{color:#a56525!important;background:#fff4df;padding:8px;border-radius:7px}@media(max-width:680px){.authoring-preview-parts li{display:grid;gap:3px}}
.authoring-assessment-links{display:grid;gap:9px;margin:0;padding:12px;border:1px solid var(--line);border-radius:9px}.authoring-assessment-links legend{padding:0 5px;color:var(--ink);font-size:12px;font-weight:700}.authoring-assessment-links legend span{color:var(--muted);font-weight:400}.authoring-assessment-options{display:grid;gap:6px;max-height:210px;overflow:auto;padding-right:3px}.authoring-assessment-option{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:8px!important;padding:8px;background:#f7faf7;border:1px solid #e0e9e1;border-radius:8px}.authoring-assessment-option input{width:15px;height:15px;margin-top:2px;accent-color:var(--green)}.authoring-assessment-option span{display:grid;gap:2px}.authoring-assessment-option strong{color:var(--ink);font-size:11px}.authoring-assessment-option small{color:var(--muted);font-size:10px;line-height:1.35}@media(max-width:680px){.authoring-assessment-options{max-height:250px}}
.view-title-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-left:auto}.grades-empty-state{padding:28px}.grades-empty-state h2{margin:6px 0 8px}.grades-empty-state p{max-width:680px;color:var(--muted);font-size:13px;line-height:1.6}.grades-empty-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}@media(max-width:800px){.view-title-actions{justify-content:flex-start;margin:16px 0 0}.grades-empty-state{padding:22px}}
.assessment-settings-backdrop{position:fixed;inset:0;z-index:35;pointer-events:none;background:transparent}.assessment-settings-panel{position:absolute;top:0;right:0;width:min(470px,calc(100vw - 72px));height:100vh;overflow:auto;pointer-events:auto;background:#fff;border-left:1px solid var(--line);box-shadow:-18px 0 48px rgba(20,34,31,.16);padding:24px}.assessment-settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line)}.assessment-settings-header h2{margin:6px 0}.assessment-settings-header p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.assessment-settings-close{font-size:25px;color:var(--muted);line-height:1;padding:0}.assessment-settings-close:hover{color:var(--ink)}.assessment-settings-form{display:grid;gap:16px;padding-top:20px}.assessment-settings-form>label,.assessment-settings-row label{display:grid;gap:6px;color:var(--muted);font-size:12px}.assessment-settings-form input[type=number],.assessment-settings-form input[type=datetime-local]{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;font:inherit;color:var(--ink);background:#fff}.assessment-settings-form input:disabled{background:#f2f5f2;color:#9aa7a0}.assessment-settings-toggle{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;padding:12px;background:#f7faf7;border:1px solid #e0e9e1;border-radius:10px}.assessment-settings-toggle input{width:16px;height:16px;margin-top:2px;accent-color:var(--green)}.assessment-settings-toggle span{display:grid;gap:4px}.assessment-settings-toggle strong{color:var(--ink);font-size:12px}.assessment-settings-toggle small,.field-help,.assessment-settings-form label span{color:var(--muted);font-size:10px;line-height:1.45}.assessment-settings-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.assessment-settings-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.assessment-settings-status{min-height:18px}.assessment-settings-status.error{color:#a64f35}@media(max-width:700px){.assessment-settings-panel{left:62px;width:calc(100vw - 62px);padding:20px}.assessment-settings-row{grid-template-columns:1fr}}
.review-test-run-result,.review-copy-result{margin-top:10px;padding:11px 12px;border:1px solid #dce9df;border-radius:9px;background:#f7faf7;color:var(--ink);font-size:11px}.review-test-run-header{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.review-test-run-header strong,.review-copy-result strong{color:var(--green)}.review-test-run-header span,.review-test-run-variables,.review-copy-result p,.review-copy-result small{color:var(--muted)}.review-test-run-variables{margin:7px 0;line-height:1.45}.review-test-run-answers{display:grid;gap:5px;margin:8px 0;padding-left:18px}.review-test-run-answers li{display:flex;justify-content:space-between;gap:10px}.review-test-run-answers code{color:var(--green);font:10px 'DM Mono',monospace;overflow-wrap:anywhere}.review-test-run-result details{margin-top:7px}.review-test-run-result ul{margin:5px 0;padding-left:18px}.review-test-run-success{margin:7px 0;color:#287253}.review-test-run-empty,.review-copy-result p{margin:7px 0;line-height:1.4}.review-copy-result small{display:block;line-height:1.4}
.problem-deck-formula-review{display:grid;gap:6px;padding:9px;border:1px solid #eadfbd;border-radius:8px;background:#fffaf0}.problem-deck-formula-review span{color:#8a6a33;font:9px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.04em}.problem-deck-formula-review code{overflow:auto;color:#5f4a27;font:10px/1.4 'DM Mono',monospace;white-space:pre-wrap}.problem-deck-formula-copy{justify-self:start;border:1px solid #d8bd7d;border-radius:6px;padding:5px 7px;background:#fff;color:#765a32;font-size:9px}.problem-deck-formula-copy:hover{border-color:#a57927;background:#fff5dc}
.chapter-focus{display:grid;gap:4px;margin:14px 0 16px;padding:13px 15px;border:1px solid #dcebe0;border-left:3px solid #8db8a2;border-radius:11px;background:#f7fbf7}.chapter-focus strong{font-size:12px;color:#185c4a;letter-spacing:.02em}.chapter-focus span{font-size:13px;line-height:1.45;color:#33483d}.chapter-focus small{font-size:11px;line-height:1.4;color:#718078}
.resource-meta{display:block;color:#87968e;font:10px 'DM Mono',monospace;letter-spacing:.03em}
.resource-library-intro{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"kicker title" "kicker note";column-gap:14px;row-gap:4px;align-items:center;padding:16px 18px;margin-bottom:14px}
.resource-library-intro .resource-kicker{grid-area:kicker;align-self:start;padding-top:2px}
.resource-library-intro strong{grid-area:title;font-size:14px;line-height:1.35}
.resource-library-intro small{grid-area:note;color:var(--muted);font-size:11px;line-height:1.45}
@media(max-width:620px){.resource-library-intro{grid-template-columns:1fr;grid-template-areas:"kicker" "title" "note";row-gap:6px}}
.auth-form[hidden]{display:none!important}
.pool-filter-control{display:inline-flex;align-items:center;gap:6px;margin-left:auto;color:var(--muted);font:600 10px 'DM Mono';text-transform:uppercase;letter-spacing:.45px}.pool-filter-control select{border:1px solid var(--line);border-radius:7px;padding:6px 9px;background:#fff;color:var(--ink);font:500 11px 'Plus Jakarta Sans';text-transform:none;letter-spacing:0}.pool-filter-control select:focus{outline:2px solid rgba(33,101,88,.22);outline-offset:1px}@media(max-width:620px){.pool-filter-control{width:100%;margin-left:0}.pool-filter-control select{flex:1}}
.dashboard-stat-link{display:block;width:100%;text-align:left;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.dashboard-stat-link:hover,.dashboard-stat-link:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px rgba(29,53,44,.12);outline:2px solid rgba(33,86,73,.16)}
.gradebook-filter-grid{display:grid;grid-template-columns:1.4fr repeat(3,minmax(150px,1fr));gap:10px;padding:14px 0 18px;border-bottom:1px solid var(--line)}.gradebook-filter-grid label,.accommodation-form label,.student-preview-actions label{display:grid;gap:6px;color:var(--muted);font-size:10px;font-weight:700}.gradebook-filter-grid input,.gradebook-filter-grid select,.accommodation-form input,.accommodation-form select,.student-preview-actions select{border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff;color:var(--ink);font:inherit;min-width:0}.staff-grade-list-card-full{padding:20px}.gradebook-footer-actions{display:flex;align-items:center;gap:12px;padding-top:16px}.gradebook-footer-actions small{color:var(--muted);font-size:10px}.student-preview-banner{display:flex;justify-content:space-between;align-items:end;gap:18px;padding:18px 20px;margin-bottom:16px;border:1px solid #d9e9dc;border-radius:14px;background:linear-gradient(120deg,#eef8f0,#fff8ef)}.student-preview-banner h2{margin:5px 0}.student-preview-banner p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.student-preview-actions{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.student-preview-actions .secondary-button{white-space:nowrap}.member-identity{flex:1;min-width:140px}.accommodation-form{display:grid;grid-template-columns:90px 150px 100px auto auto;align-items:end;gap:7px;flex:2}.accommodation-form .accommodation-check{display:flex;align-items:center;gap:5px;white-space:nowrap}.accommodation-form .accommodation-check input{width:auto}.accommodation-form .form-status{font-size:10px;align-self:center}.course-member-row{align-items:flex-start;flex-wrap:wrap}.course-member-row>.member-role{align-self:center}.role-permission-note{margin-top:18px}
@media(max-width:1000px){.gradebook-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.accommodation-form{grid-template-columns:repeat(2,minmax(0,1fr));flex-basis:100%;padding-left:41px}.student-preview-banner{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.gradebook-filter-grid{grid-template-columns:1fr}.gradebook-footer-actions{align-items:flex-start;flex-direction:column}.accommodation-form{padding-left:0}.student-preview-actions{align-items:stretch;flex-direction:column;width:100%}}

/* Instructor gradebook: keep each metric readable at a glance and give the
   filters/table a clear workflow instead of making them look like raw data. */
.grades-page #staff-gradebook-content{display:grid;gap:18px}
.grades-page .grade-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.grades-page .grade-summary .stat-card{position:relative;display:grid;align-content:start;gap:7px;min-height:132px;padding:18px 18px 16px;overflow:hidden;background:linear-gradient(145deg,#fff,#f7fbf8);border-color:#dce8df;box-shadow:0 8px 22px rgba(29,53,44,.06)}
.grades-page .grade-summary .stat-card:after{content:'';position:absolute;right:-18px;bottom:-24px;width:78px;height:78px;border-radius:50%;background:#e8f3eb;opacity:.72}
.grades-page .grade-summary .stat-card:nth-child(2):after{background:#e8eef7}
.grades-page .grade-summary .stat-card:nth-child(3):after{background:#fff0e4}
.grades-page .grade-summary .stat-card:nth-child(4):after{background:#eeeafa}
.grades-page .grade-summary .stat-card span,.grades-page .grade-summary .stat-card strong,.grades-page .grade-summary .stat-card small{position:relative;z-index:1;display:block}
.grades-page .grade-summary .stat-card span{color:#697a72;font-size:11px;font-weight:700;line-height:1.35;letter-spacing:.01em}
.grades-page .grade-summary .stat-card strong{color:var(--green);font:800 27px/1.05 'Plus Jakarta Sans';letter-spacing:-1px;overflow-wrap:anywhere}
.grades-page .grade-summary .stat-card small{max-width:22ch;color:var(--muted);font-size:10px;line-height:1.45}
.grades-page .staff-grade-list-card{padding:22px 22px 18px;border-color:#dce8df;box-shadow:0 10px 28px rgba(29,53,44,.06)}
.grades-page .staff-grade-list-card .section-heading{align-items:flex-start;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid #edf1ed}
.grades-page .staff-grade-list-card .section-heading h2{margin:5px 0 6px;font-size:20px;letter-spacing:-.7px}
.grades-page .staff-grade-list-card .section-heading .library-count{margin-top:3px;background:#e8f4eb;color:#28724d;border-radius:999px;padding:6px 9px;font:700 9px 'DM Mono';white-space:nowrap}
.grades-page .gradebook-filter-grid{margin:0 0 16px;padding:13px 14px;border:1px solid #e2ebe3;border-radius:12px;background:#f7faf7;gap:11px}
.grades-page .gradebook-filter-grid label{font-size:10px;letter-spacing:.02em}
.grades-page .gradebook-filter-grid input,.grades-page .gradebook-filter-grid select{min-height:38px;border-color:#d6e2d8;border-radius:9px;background:#fff;padding:9px 10px}
.grades-page .gradebook-filter-grid input:focus,.grades-page .gradebook-filter-grid select:focus{outline:2px solid rgba(33,86,73,.18);outline-offset:1px;border-color:#8db8a2}
.grades-page .table-scroll{border:1px solid #e5ece6;border-radius:12px;background:#fff;overflow:auto}
.grades-page .staff-grade-table{min-width:920px}
.grades-page .staff-grade-table th{padding:12px 14px;background:#f7faf7;border-bottom-color:#dfe9e1;font-size:9px;letter-spacing:.08em;white-space:nowrap}
.grades-page .staff-grade-table td{padding:14px;border-bottom-color:#edf1ed;vertical-align:top;line-height:1.35}
.grades-page .staff-grade-table tbody tr:hover{background:#fbfdfb}
.grades-page .staff-grade-table td:first-child strong,.grades-page .staff-grade-table td:first-child small,.grades-page .staff-grade-table td:nth-child(2) small{display:block}
.grades-page .staff-grade-table td:first-child strong{color:var(--ink);font-size:12px}
.grades-page .staff-grade-table td:first-child small,.grades-page .staff-grade-table td:nth-child(2) small{margin-top:4px;color:var(--muted);font-size:10px}
.grades-page .staff-grade-table .grade{font-size:13px}
.grades-page .gradebook-footer-actions{margin-top:2px;padding-top:16px;border-top:1px solid #edf1ed}
.grades-page .gradebook-footer-actions small{line-height:1.45}
@media(max-width:1100px){.grades-page .grade-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.grades-page .grade-summary{grid-template-columns:1fr}.grades-page .staff-grade-list-card{padding:18px 14px 15px}.grades-page .staff-grade-list-card .section-heading{display:block}.grades-page .staff-grade-list-card .section-heading .library-count{display:inline-block;margin-top:8px}}
.integration-events-card{padding:20px;margin-bottom:18px}.integration-event-filter{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.integration-event-filter select{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;color:var(--ink);font:inherit}.integration-event-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px 16px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.integration-event-row:first-child{border-top:0}.integration-event-row strong,.integration-event-row small{display:block}.integration-event-row strong{font-size:12px;color:var(--green)}.integration-event-row small{font-size:10px;color:var(--muted);margin-top:4px}.integration-event-status{font:600 10px 'DM Mono';padding:5px 8px;border-radius:999px;background:#eef1ef;color:var(--muted);white-space:nowrap}.integration-event-status.status-sent,.integration-event-status.status-applied{background:#e6f4e9;color:#28724d}.integration-event-status.status-failed,.integration-event-status.status-conflict{background:#fff0ec;color:#a44c40}.integration-event-status.status-queued{background:#fff1df;color:#99601d}.integration-event-score{font:10px 'DM Mono';color:var(--muted);white-space:nowrap}.integration-event-error{grid-column:1/-1;margin:0;color:#a44c40;font-size:10px;line-height:1.45}.integration-events-card .emptyish{padding:16px 0}
.integration-event-retry{padding:6px 9px;font-size:10px;white-space:nowrap}
.integration-event-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.integration-event-actions .secondary-button{padding:6px 9px;font-size:10px}.integration-event-resolution{grid-column:1/-1;margin:0;color:var(--green);font-size:10px;line-height:1.45}
.roles-grid{grid-template-columns:1fr}.section-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;grid-column:1/-1}.accommodation-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.accommodation-form .section-pair{grid-column:1/-1}.grade-insights{margin:0 0 18px;padding:20px;border:1px solid #dce9df;border-radius:14px;background:linear-gradient(135deg,#f6fbf7,#fffaf2)}.grade-insights-heading h2{margin:5px 0 4px;font-size:18px}.grade-insights-heading p{margin:0;color:var(--muted);font-size:11px}.grade-insight-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.grade-insight-metrics>div,.grade-category-card{padding:12px;border:1px solid #e1eae2;border-radius:10px;background:rgba(255,255,255,.78)}.grade-insight-metrics span,.grade-insight-metrics small,.grade-category-card span,.grade-category-card small{display:block;color:var(--muted);font-size:10px}.grade-insight-metrics strong,.grade-category-card strong{display:block;margin:4px 0;font-size:20px;color:var(--green)}.grade-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}.grade-category-card strong{font-size:18px}.grade-record-tools{display:grid;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(150px,1fr));gap:10px;padding:14px 0}.grade-record-tools label,.gradebook-filter-grid label{display:grid;gap:6px;color:var(--muted);font-size:10px}.grade-record-tools input,.grade-record-tools select{border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff;color:var(--ink);font:inherit;font-size:11px}.faculty-upload-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px}.faculty-upload-toolbar>div{display:grid;gap:4px}.faculty-upload-toolbar strong{font-size:15px}.faculty-upload-toolbar small{color:var(--muted);font-size:11px;line-height:1.4}.faculty-upload-details{border-top:1px solid var(--line);padding:0 20px 18px}.faculty-upload-details summary{cursor:pointer;padding:12px 0;color:var(--green);font-weight:700;font-size:12px}.resource-add-button{border:1px solid #b8cec0;border-radius:999px;padding:5px 8px;background:#f5fbf6;color:var(--green);font:600 10px inherit;cursor:pointer}.resource-add-button:hover{background:#e6f4e9}.dashboard-progress-detail{display:block;margin-top:7px;color:var(--muted);font-size:9px;line-height:1.3}@media(max-width:900px){.accommodation-form{grid-template-columns:repeat(2,minmax(0,1fr))}.grade-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.section-pair,.grade-insight-metrics,.grade-category-grid,.grade-record-tools{grid-template-columns:1fr}.faculty-upload-toolbar{align-items:flex-start;flex-direction:column}}
.integration-link-actions{grid-column:1/-1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:4px}.integration-link-actions .form-status{margin:0}
.ta-beta-onboarding{grid-template-columns:1fr}@media(max-width:760px){.ta-beta-onboarding{grid-template-columns:1fr}.ta-beta-steps{grid-template-columns:1fr}}
.gradebook-weight-card{margin:18px 0;padding:22px;background:linear-gradient(135deg,#f4faf5,#fffaf1);border-color:#dce9df}.gradebook-weight-form{display:grid;gap:14px}.gradebook-weight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gradebook-weight-grid label{display:grid;gap:6px;font-size:11px;font-weight:700}.gradebook-weight-grid input{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;font:inherit}.gradebook-weight-grid small{font-size:9px;line-height:1.35;color:var(--muted);font-weight:400}.gradebook-weight-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.gradebook-weight-actions .form-status{font-size:11px;color:var(--green)}.gradebook-heading-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.grade-category-card{border:1px solid var(--line);border-radius:10px;padding:13px;text-align:left;background:#fff;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.grade-category-card:hover{transform:translateY(-1px);border-color:#9fc8aa;box-shadow:0 8px 18px rgba(29,53,44,.08)}.grade-category-card span,.grade-category-card strong,.grade-category-card small{display:block}.grade-attempt-button{padding:6px 8px;font-size:10px;white-space:nowrap}.grade-attempt-backdrop{position:fixed;inset:0;z-index:45;display:grid;place-items:center;padding:20px;background:rgba(13,30,27,.36)}.grade-attempt-dialog{width:min(760px,100%);max-height:min(820px,calc(100vh - 40px));overflow:auto;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(13,30,27,.24)}.grade-attempt-dialog .section-heading{align-items:flex-start}.grade-attempt-problem{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:14px;background:#fbfdfb}.grade-attempt-problem>div strong,.grade-attempt-problem>div small,.grade-attempt-part>div strong,.grade-attempt-part>div small{display:block}.grade-attempt-problem>div small,.grade-attempt-part>div small{margin-top:4px;color:var(--muted);font-size:10px}.grade-attempt-part{margin-top:12px;padding-top:11px;border-top:1px solid #edf1ed}.grade-attempt-part ol{display:grid;gap:6px;margin:9px 0 0;padding-left:18px}.grade-attempt-part li{display:flex;align-items:center;gap:8px;font-size:10px}.grade-attempt-part li code{flex:1;overflow:auto;padding:5px 7px;border-radius:6px;background:#f0f4f0;font:10px 'DM Mono'}.grade-attempt-part li span{font-weight:700}.grade-attempt-part li.is-correct span{color:#28764d}.grade-attempt-part li.is-incorrect span{color:#a0483e}@media(max-width:800px){.gradebook-weight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.gradebook-weight-grid{grid-template-columns:1fr}.grade-attempt-dialog{padding:16px}}
/* Explicit external identity linking stays staff-only and keeps provider subjects out of the listing. */
.logic-editor{background:#fff}.logic-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px;border-bottom:1px solid #dfe8e1;background:#eef7f0}.logic-editor-header>div{display:grid;gap:3px}.logic-editor-header strong{font-size:13px;color:#185c4a}.logic-editor-header small{color:#718078;font-size:10px;line-height:1.4}.logic-editor-card{display:grid;gap:10px;padding:11px;border:1px solid #dfe8e1;border-radius:9px;background:#fff}.logic-editor-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.logic-editor-card-heading strong{font-size:11px;color:#21342c}.logic-editor-grid{display:grid;gap:8px}.logic-editor-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.logic-editor-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.logic-editor label{display:grid;gap:4px;color:#718078;font-size:10px}.logic-editor input,.logic-editor textarea,.logic-editor select{width:100%;min-width:0;border:1px solid #d6e0d9;border-radius:7px;padding:8px;background:#fff;color:#21342c;font:inherit;font-size:10px;box-sizing:border-box}.logic-editor textarea{resize:vertical;line-height:1.35}.logic-editor-footer{display:grid;gap:8px}.logic-editor-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 14px 12px}.logic-editor-actions .primary-button{justify-self:auto}.logic-editor-footer>[data-logic-editor-status]{padding:0 14px;min-height:16px}.logic-editor .logic-inspector-footer{border-top:0;padding:0 14px}.logic-editor [data-logic-discard]{color:#596b61}.logic-editor [data-logic-save]:disabled{opacity:.6;cursor:wait}@media(max-width:680px){.logic-editor-grid-3,.logic-editor-grid-2{grid-template-columns:1fr}.logic-editor-card-heading,.logic-editor-header{align-items:flex-start;flex-direction:column}}
.external-identity-card{grid-column:1/-1;margin-top:0;background:linear-gradient(135deg,#fbfefb,#fffaf2)}.external-identity-form{display:grid;gap:14px;margin-top:16px}.external-identity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.external-identity-form label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:700}.external-identity-form input,.external-identity-form select{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;color:var(--ink);font:inherit;font-size:11px}.external-identity-confirm{display:flex!important;align-items:center;gap:8px;color:var(--ink)!important;font-weight:600!important}.external-identity-confirm input{width:auto}.external-identity-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.external-identity-actions .form-status{margin:0;color:var(--green)}.external-identity-links{display:grid;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.external-identity-row{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid #e1eae2;border-radius:8px;background:rgba(255,255,255,.76);font-size:10px}.external-identity-row span{color:var(--muted);text-align:right}@media(max-width:640px){.external-identity-grid{grid-template-columns:1fr}.external-identity-row{display:grid}.external-identity-row span{text-align:left}}
.integration-readonly-note{display:grid;gap:4px;margin:0 0 12px;padding:12px 14px;border:1px solid #e5e8df;border-radius:10px;background:#f7f9f4;color:var(--muted);font-size:11px;line-height:1.45}.integration-readonly-note strong{color:var(--ink);font-size:12px}
.integration-catalog-card{padding:20px;margin-bottom:18px;background:linear-gradient(135deg,#f8fbff,#fbfdf9)}.integration-catalog-card .section-heading{align-items:flex-start}.integration-catalog-card h2{margin:5px 0 6px}.integration-catalog-card .form-status{margin:12px 0 0;color:var(--muted);font-size:10px}.integration-catalog-list{margin-top:12px}.integration-catalog-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid var(--line);font-size:10px}.integration-catalog-row:first-child{border-top:0}.integration-catalog-row strong,.integration-catalog-row small{display:block}.integration-catalog-row strong{font-size:12px;color:var(--green)}.integration-catalog-row small{margin-top:3px;color:var(--muted);font-family:'DM Mono',monospace}.integration-catalog-row>span{color:var(--muted);white-space:nowrap}@media(max-width:760px){.integration-catalog-row{display:grid;gap:4px}.integration-catalog-row>span{white-space:normal}}
.integration-mapping-catalog{display:grid;gap:5px;margin-top:13px;padding:11px 12px;border:1px solid #dbe6ef;border-radius:9px;background:#f7fbff}.integration-mapping-catalog label{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,2fr);align-items:center;gap:10px;font-size:11px;color:var(--muted)}.integration-mapping-catalog select{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:#fff;color:var(--ink);font:inherit;font-size:11px}.integration-mapping-catalog small{color:var(--muted);font-size:9px;line-height:1.35}@media(max-width:760px){.integration-mapping-catalog label{grid-template-columns:1fr}}
.integration-verification-form{margin-top:18px;padding-top:18px;border-top:1px solid #eadfd1}.integration-verification-form .section-heading{margin-bottom:12px}.integration-verification-form h3{margin:4px 0;font-size:15px;color:var(--green)}.integration-verification-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.integration-verification-fields label{display:grid;gap:6px;font-size:11px;color:var(--muted)}.integration-verification-fields input,.integration-verification-fields select,.integration-verification-fields textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;color:var(--ink);font:inherit;font-size:11px}.integration-verification-notes{grid-column:1/-1}.integration-verification-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;padding:12px;border:1px solid #eadfd1;border-radius:9px;background:#fffaf4}.integration-verification-confirm{display:flex;align-items:flex-start;gap:8px;margin-top:14px;color:var(--ink);font-size:11px;line-height:1.4}.integration-verification-confirm input{margin-top:2px;accent-color:var(--green)}@media(max-width:760px){.integration-verification-fields,.integration-verification-checks{grid-template-columns:1fr}}
.integration-evidence-card{padding:20px;margin-bottom:18px;border-color:#dbe7e0;background:linear-gradient(135deg,#f7fcf8,#f7fbff)}.integration-evidence-card .section-heading{align-items:flex-start;margin-bottom:14px}.integration-evidence-card h2{margin:5px 0 6px}.integration-evidence-card .library-count{margin-top:3px;background:#eaf3ef;color:#28724d;border-radius:999px;padding:6px 9px;font:700 9px 'DM Mono';white-space:nowrap}.integration-evidence-meta{padding:10px 12px;border:1px solid #dce8e0;border-radius:9px;background:rgba(255,255,255,.7);color:var(--muted);font-size:10px}.integration-evidence-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.integration-evidence-item{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:start;padding:10px 11px;border:1px solid #e3e9e5;border-radius:9px;background:rgba(255,255,255,.7)}.integration-evidence-item>span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#f0f2ef;color:#77857c;font-weight:800;font-size:11px}.integration-evidence-item strong,.integration-evidence-item small{display:block}.integration-evidence-item strong{font-size:11px;line-height:1.35}.integration-evidence-item small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.35}.integration-evidence-item.is-observed{border-color:#cfe5d4;background:#f5fbf5}.integration-evidence-item.is-observed>span{background:#e0f1e3;color:#28724d}@media(max-width:760px){.integration-evidence-list{grid-template-columns:1fr}}
.integration-mapping-row.is-ready .integration-map-status{background:#e6f4e9;color:#28724d}.integration-mapping-row.is-mapped .integration-map-status{background:#fff1df;color:#99601d}
/* Free local tutor presentation and grounded-answer affordances. */
.tutor-auth-gate{padding:24px;background:linear-gradient(135deg,#f4fbf6,#fffaf4);border-color:#d9e9df}.tutor-auth-gate h2{margin:7px 0}.tutor-auth-gate p{max-width:620px}.tutor-auth-preview{margin-top:18px;padding:20px}.tutor-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.tutor-preview-grid span{display:grid;gap:5px;padding:13px;border:1px solid #e0e9e2;border-radius:10px;background:#fbfdfb}.tutor-preview-grid small{color:var(--muted);line-height:1.4}@media(max-width:760px){.tutor-preview-grid{grid-template-columns:1fr}}
.tutor-source-chip[href]{text-decoration:none}.tutor-source-chip[href]:hover{background:#e4f3e8;border-color:#a8d1b4}
.tutor-trust-strip{display:flex;align-items:center;gap:12px;margin:-10px 0 18px;padding:11px 14px;border:1px solid #dcebe2;border-radius:11px;background:#f3faf5;color:#587069;font-size:11px}.tutor-trust-strip strong{color:var(--green);font-size:12px}.tutor-mode-badge{margin-left:auto;font:600 9px 'DM Mono';letter-spacing:.7px;color:#286b58;background:#dff1e4;border-radius:999px;padding:5px 8px}.tutor-fbd-check{display:grid;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.tutor-fbd-check strong{font-size:12px}.tutor-fbd-check textarea{min-height:76px;width:100%;resize:vertical;border:1px solid var(--line);border-radius:9px;padding:10px;font:inherit;font-size:11px;color:var(--ink);background:#fbfcfa}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line)}.chat-header strong{display:block;font-size:13px;margin-top:4px}.tutor-status{font:500 9px 'DM Mono';color:var(--green);background:#edf7ef;border-radius:999px;padding:5px 8px}.tutor-sources{display:flex;flex-wrap:wrap;gap:6px;padding:10px 20px;border-bottom:1px solid var(--line);background:#fbfcfa}.tutor-source-chip{font-size:10px;color:#356b5d;border:1px solid #d8e9de;border-radius:999px;padding:5px 8px;background:#f1f9f3}.tutor-pending{opacity:.65}.message.ai{white-space:pre-wrap;line-height:1.55}.message.feature-error{color:#9a4c38;background:#fff4ef}.chat-card .chat-messages{min-height:350px;max-height:54vh;overflow:auto}
.tutor-retry-button{margin-top:10px;border:1px solid rgba(24,91,78,.3);border-radius:999px;padding:6px 12px;background:#fff;color:var(--ink);font:700 .82rem inherit;cursor:pointer}.tutor-retry-button:hover{border-color:var(--green);color:var(--green)}
.tutor-attach-button{padding:0 10px;border-left:1px solid var(--line);color:var(--green);font-size:10px;white-space:nowrap}.tutor-attachment-note{display:block;margin:7px 2px 0;color:var(--muted);font-size:9px}.tutor-response-images{display:grid;gap:10px;margin-top:12px}.tutor-response-images figure{margin:0;padding:8px;border:1px solid #d9e8dc;border-radius:9px;background:#fff}.tutor-response-images img{display:block;max-width:100%;max-height:300px;margin:auto;border-radius:6px;object-fit:contain}.tutor-response-images figcaption{margin-top:6px;color:var(--muted);font-size:9px}.tutor-sources .resource-kicker{width:100%}
.dashboard-announcements{display:grid;gap:16px}.announcement-feed{display:grid;gap:9px;max-height:360px;overflow:auto;padding-right:3px}.announcement-item{padding:14px;border:1px solid #dfeae1;border-radius:11px;background:#fbfdfb}.announcement-item.is-unread{border-left:4px solid #e27651;background:#fffdf9}.announcement-item-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.announcement-item-heading strong,.announcement-item-heading small{display:block}.announcement-item-heading strong{font-size:13px}.announcement-item-heading small{margin-top:4px;color:var(--muted);font-size:10px}.announcement-item p{margin:10px 0 7px;color:var(--ink);font-size:12px;line-height:1.5}.announcement-delivery,.announcement-read-label{font:600 9px 'DM Mono';color:var(--green);white-space:nowrap}.announcement-read-button{padding:5px 8px;font-size:10px}.announcement-form{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--line)}.announcement-form label,.gradebook-message-fields label{display:grid;gap:6px;color:var(--muted);font-size:10px;font-weight:700}.announcement-form input,.announcement-form textarea,.gradebook-message-fields input,.gradebook-message-fields textarea{border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff;color:var(--ink);font:inherit}.announcement-email-option{display:flex!important;align-items:center;gap:7px;color:var(--ink)!important;font-weight:600!important}.announcement-email-option input{width:auto}.announcement-form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dashboard-announcement-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dashboard-announcement-footer small{color:var(--muted);font-size:10px}.roster-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0;padding:12px;border:1px solid #e1eae2;border-radius:10px;background:#f7faf7}.roster-import-button{display:inline-flex!important;align-items:center;gap:5px;cursor:pointer}.roster-tools .form-status{font-size:10px}.gradebook-communication-card{margin:16px 0;padding:16px;border:1px solid #dce9df;border-radius:12px;background:linear-gradient(135deg,#f7fbf7,#fffaf3)}.gradebook-message-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}.gradebook-message-toolbar small{color:var(--muted);font-size:10px}.gradebook-recipient-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:170px;overflow:auto;padding:8px;border:1px solid #e4ece5;border-radius:9px;background:#fff}.gradebook-recipient{display:flex;align-items:flex-start;gap:7px;padding:8px;border:1px solid #edf1ed;border-radius:8px;font-size:10px;cursor:pointer}.gradebook-recipient input{margin-top:2px}.gradebook-recipient strong,.gradebook-recipient small{display:block}.gradebook-recipient small{margin-top:3px;color:var(--muted);font-size:9px}.gradebook-message-form{display:grid;gap:10px;margin-top:12px}.gradebook-message-fields{display:grid;grid-template-columns:1fr 2fr;gap:10px}.gradebook-message-form .form-status{font-size:10px}@media(max-width:900px){.gradebook-recipient-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.gradebook-recipient-list,.gradebook-message-fields{grid-template-columns:1fr}}
.announcement-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.announcement-toolbar[hidden]{display:none}.announcement-toolbar .form-status{font-size:11px}.announcement-history-dialog{width:min(680px,calc(100vw - 32px));max-height:min(78vh,720px);padding:22px;border:1px solid #dfeae1;border-radius:16px;box-shadow:0 24px 70px #102c2866;color:var(--ink);background:#fff}.announcement-history-dialog::backdrop{background:#17332d99}.announcement-history-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.announcement-history-heading h2{margin:4px 0}.announcement-history-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.announcement-history-list{max-height:min(55vh,520px)}
.roster-tools [data-roster-status]{flex-basis:100%;line-height:1.5}.roster-import-errors{margin-top:6px}.roster-import-errors summary{cursor:pointer;color:var(--green);font-weight:700}.roster-import-errors ol{max-height:180px;overflow:auto;margin:6px 0 0;padding-left:22px}.roster-import-errors li{margin:3px 0}
.classlist-communication{display:grid;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.classlist-communication h3{margin:2px 0;font-size:17px}.classlist-communication .gradebook-recipient-list{grid-template-columns:repeat(2,minmax(0,1fr))}.classlist-outbox{display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8faf8;font-size:11px}.classlist-outbox>div{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:6px}.classlist-outbox small{color:var(--muted)}@media(max-width:620px){.classlist-communication .gradebook-recipient-list{grid-template-columns:1fr}.classlist-outbox>div{display:grid}}
.classlist-outbox .classlist-outbox-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 12px}.classlist-outbox-item>span{font-weight:700}.classlist-outbox-item>small{grid-column:1}.classlist-outbox-item>button{grid-column:2;grid-row:1 / span 2}.classlist-delivery-details{grid-column:1 / -1;display:grid;gap:5px;margin-top:5px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.classlist-delivery-details[hidden]{display:none}.classlist-delivery-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:5px 0;border-top:1px solid var(--line)}.classlist-delivery-row small{text-align:right}@media(max-width:620px){.classlist-outbox .classlist-outbox-item{grid-template-columns:1fr}.classlist-outbox-item>small,.classlist-outbox-item>button{grid-column:1;grid-row:auto}.classlist-delivery-row{display:grid}.classlist-delivery-row small{text-align:left}}
.classlist-outbox-actions{grid-column:2;grid-row:1 / span 2;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.classlist-outbox-item>[data-outbox-action-status]{grid-column:1 / -1;font-weight:400}.classlist-outbox-item>[data-outbox-action-status]:empty{display:none}@media(max-width:620px){.classlist-outbox-actions{grid-column:1;grid-row:auto;justify-content:flex-start}}
.roster-add-student{margin:10px 0 18px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8faf8}.roster-add-student summary{cursor:pointer;font-weight:700;color:var(--green)}.roster-add-student form{display:grid;gap:12px;margin-top:14px}.roster-add-student-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.roster-add-student-fields label{display:grid;gap:5px;font-size:11px;font-weight:700}.roster-add-student-fields input{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;background:white}.roster-add-student small{display:block;margin-top:8px;color:var(--muted)}@media(max-width:620px){.roster-add-student-fields{grid-template-columns:1fr}}
.roster-review-badge{display:inline-flex;align-items:center;padding:4px 7px;border:1px solid #e8c994;border-radius:999px;background:#fff7e8;color:#7b4b0a;font:700 9px 'DM Mono';white-space:nowrap}
.communication-inbox{border-top:1px solid var(--line);padding-top:14px}.communication-inbox .section-heading{margin-bottom:0}.communication-inbox .section-heading h3{margin:3px 0 0;font-size:15px}
.problem-library-list .problem-group[hidden],.problem-library-list .assessment-plan[hidden],.problem-library-list .problem-library-row[hidden]{display:none!important}.library-pagination{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:14px 0 28px}.library-pagination span{font:500 11px 'DM Mono';color:var(--muted)}.library-pagination button:disabled{opacity:.45;cursor:not-allowed}
.library-pagination label{display:flex;align-items:center;gap:6px;font:500 11px 'DM Mono';color:var(--muted)}.library-pagination select{min-width:58px;padding:6px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--green)}.library-pagination + .problem-library-list{margin-top:0}
.announcement-course-picker:not(:empty){display:flex;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#f7faf7}.announcement-course-picker label{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;font-weight:700}.announcement-course-picker select{max-width:min(100%,360px);padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
.classlist-course-picker{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;font-weight:700}.classlist-course-picker select{max-width:240px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
.gradebook-course-picker{display:flex;align-items:center;gap:9px;margin-bottom:14px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#f7faf7;color:var(--muted);font-size:11px;font-weight:700}.gradebook-course-picker select{max-width:min(100%,360px);padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
.studio-dimensions{display:grid!important;gap:16px!important;align-items:start}.studio-dimensions fieldset{margin:0;padding:12px;border:1px solid var(--line);border-radius:12px;display:flex;gap:8px;flex-wrap:wrap;min-width:0}.studio-dimensions legend{font-weight:700;color:var(--green);padding:0 6px}.studio-dimension-filter{display:inline-flex;gap:8px;align-items:center;background:white;border:1px solid var(--line);border-radius:9px;padding:9px 12px;font-size:12px;color:var(--muted);cursor:pointer}.studio-dimension-filter strong{font-size:18px;color:var(--green)}.studio-dimension-filter.active{border-color:var(--green);background:#e9f3ee;color:var(--green)}.chapter-tab-strip label{display:flex;gap:8px;align-items:center;font-size:12px}.chapter-tab-strip select{max-width:210px;padding:6px}.studio-filter-description{font-size:13px;color:var(--muted)}.review-card .problem-actions{display:flex;gap:6px;position:relative;z-index:4}.review-card:focus-within{position:relative;z-index:5}.problem-action-menu{z-index:30;min-width:235px;max-width:calc(100vw - 40px)}.recycle-icon{color:#a33}.recycle-card small{display:block}.recycle-card p{font-size:13px}.studio-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:20px}.chapter-validation-card>button{font-size:11px;padding:5px 8px}.problem-bug-report-dialog form{display:grid;gap:15px}.problem-bug-report-dialog label{display:grid;gap:6px}
.review-card .problem-actions .problem-action-menu{z-index:30;min-width:235px}.review-card .problem-actions .recycle-icon{color:#a33}
.review-card .problem-actions .problem-action-menu .problem-action{color:var(--ink,#17221f);font-size:12px;padding:7px 8px}
.assignment-card{padding:0 18px;max-height:438px;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}
.assignment-card .assignment-row{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(82px,auto);align-items:center;gap:13px;width:100%;margin:0;padding:19px 0;border:0;border-bottom:1px solid #edf1ee;border-radius:0;background:transparent;text-align:left;color:var(--ink);font:inherit;cursor:pointer}
.assignment-card .assignment-row:last-child{border-bottom:0}
.assignment-card .assignment-row:hover{background:#f7faf8}
.assignment-card .assignment-row:focus-visible{outline:2px solid var(--green);outline-offset:-2px;border-radius:8px}
.assignment-card .assignment-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:16px}
.assignment-card .assignment-info{min-width:0}
.assignment-card .assignment-info strong{display:block;font-size:12px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.assignment-card .assignment-info small{display:block;margin-top:5px;font-size:10px;line-height:1.5;color:var(--muted)}
.assignment-card .due{max-width:125px;font:400 10px 'DM Mono',monospace;text-align:right;line-height:1.5;color:var(--muted)}
.assignment-card .due>span{display:block}
.assignment-card .due small{display:block;font:400 9px 'DM Mono',monospace;margin-top:5px;color:var(--green)}
.assignment-card .due.due-soon>span{color:#e66b46;font-weight:600}
@media(max-width:620px){.assignment-card{padding:0 12px}.assignment-card .assignment-row{grid-template-columns:29px minmax(0,1fr) minmax(70px,90px);gap:9px;padding:16px 0}.assignment-card .assignment-icon{width:29px;height:29px;font-size:14px}.assignment-card .assignment-info strong{font-size:11px}.assignment-card .due{font-size:9px}}
.grade-analysis-backdrop{position:fixed;inset:0;z-index:2100;background:rgba(12,30,24,.48);display:grid;place-items:center;padding:20px}.grade-analysis-dialog{width:min(1000px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;padding:24px;box-shadow:0 15px 60px #1235;color:#17221f}.grade-analysis-dialog header{display:flex;align-items:center;justify-content:space-between;gap:20px}.analysis-controls{display:flex;flex-wrap:wrap;gap:15px;margin:20px 0}.analysis-controls label{display:grid;gap:7px;flex:1;min-width:160px}.analysis-controls select{width:100%;padding:10px;border:1px solid #dce5df;border-radius:8px}.analysis-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.analysis-metrics>div{background:#f2f7f3;padding:15px;border-radius:10px}.analysis-metrics strong{display:block;margin-top:8px}.grade-histogram{width:100%;min-width:350px;max-height:340px}.grade-histogram text{font-size:12px;fill:#17221f}.analysis-bars>div{display:grid;grid-template-columns:150px 1fr 75px 75px;align-items:center;gap:10px;margin:12px 0}.analysis-bars meter{width:100%;height:24px;accent-color:#215649}.grade-metric-button{background:#fff;border:1px solid #dce5df;border-radius:10px;padding:15px;display:grid;gap:7px;text-align:left;color:#17221f;cursor:pointer}.grade-metric-button strong{font-size:22px}.grade-metric-button:hover,.grade-sort-button:hover{background:#edf6ef}.grade-sort-button{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;text-align:left;padding:8px 4px;cursor:pointer}.notification-count{font:700 10px sans-serif;min-width:17px;height:17px;padding:2px 4px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:#215649;color:white;position:absolute;right:-3px;top:-3px}.live-notice-list{list-style:none;padding:0}.live-notice-list li{border-bottom:1px solid #dce5df;padding:15px 0}.live-notice-list small{display:block;margin-top:7px}[data-software-version]{font-size:10px;color:#53685e!important;margin-top:5px;display:block}.grade-attempt-part time{display:block;font-size:11px;color:#53685e}.grade-insight-metrics button small{color:#63746c}.analysis-controls~div table{width:100%;border-collapse:collapse}.analysis-controls~div td,.analysis-controls~div th{padding:6px;text-align:left;border-bottom:1px solid #dce5df}@media(max-width:650px){.analysis-metrics{grid-template-columns:1fr}.analysis-bars>div{grid-template-columns:100px 1fr 55px}.analysis-bars small{display:none}.grade-analysis-dialog{padding:16px}.grade-analysis-backdrop{padding:8px}}
[data-semester-selector]{display:block;text-align:left;font-size:11px;color:#215649;padding:6px 0;line-height:1.5;text-decoration:underline;text-underline-offset:3px}.gradebook-bonus-card p,.semester-dialog p{line-height:1.6}.gradebook-bonus-fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;margin:18px 0}.gradebook-bonus-fields label,.semester-wizard label{display:grid;gap:7px;font-size:13px}.gradebook-bonus-fields select,.gradebook-bonus-fields input,.semester-wizard input,.semester-wizard select,.semester-wizard textarea{width:100%;min-width:0;padding:10px;border:1px solid #dce5df;border-radius:8px;background:white;color:#17221f}.gradebook-bonus-card .form-status{display:block;margin:10px 0}.semester-offering-list{display:grid;gap:12px;margin:20px 0}.semester-offering-list article{padding:16px;border:1px solid #dce5df;border-radius:10px;display:grid;gap:7px}.semester-offering-list small{color:#53685e}.semester-dialog details{margin:18px 0}.semester-safety{background:#fff5df;padding:14px;border-radius:8px;font-size:13px}.semester-wizard{border-top:1px solid #dce5df;margin-top:20px;padding-top:14px}.semester-wizard section:not([hidden]){display:grid;gap:16px}.semester-wizard-actions{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}.semester-wizard [hidden]{display:none!important}@media(max-width:650px){.gradebook-bonus-fields{grid-template-columns:1fr}}
#staff-gradebook-content{grid-template-columns:minmax(0,1fr)}#staff-gradebook-content>*{min-width:0;max-width:100%}#staff-gradebook-content .grade-summary{grid-template-columns:repeat(4,minmax(0,1fr))}#staff-gradebook-content .grade-summary>.stat-card{min-width:0}#staff-gradebook-content .table-scroll{max-width:100%;overflow-x:auto}#staff-gradebook-content select{max-width:100%}@media(max-width:1050px){#staff-gradebook-content .grade-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){#staff-gradebook-content .grade-summary{grid-template-columns:minmax(0,1fr)}}
.gradebook-bonus-card{padding:22px}.course-switcher:has([data-semester-selector])>.chevron{display:none}
.grading-policy-note{padding:12px;background:#fff5df;border-radius:8px;font-size:12px;line-height:1.6}.grading-category{border:1px solid #dce5df;border-radius:12px;padding:16px;margin:14px 0;background:#fff}.grading-category>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.grading-category summary span{font-size:11px;color:#53685e}.grading-category-fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:12px;align-items:end;margin:20px 0}.grading-category label,.grading-assign-controls label{display:grid;gap:7px;font-size:12px}.grading-category input,.grading-category select{min-width:0;width:100%;padding:9px;border:1px solid #dce5df;border-radius:7px;font:inherit;background:#fff;color:#17221f}.grading-subcategory{border:1px solid #dce5df;background:#f7faf7;border-radius:10px;padding:15px;margin:12px 0}.grading-subcategory-head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;gap:15px;align-items:end}.grading-calculated{display:grid;gap:6px;font-size:11px}.grading-calculated strong{font-size:20px;color:#215649}.grading-calculated small{color:#53685e;line-height:1.5}.grading-assigned-list{list-style:none;padding:0;margin:15px 0;max-height:235px;overflow:auto}.grading-assigned-list li{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid #dce5df;padding:8px 0;font-size:12px}.grading-assigned-list small{display:block;font-size:10px;color:#53685e;margin-top:3px}.grading-assign-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}.grading-category .secondary-button{font-size:11px;padding:8px 10px}.grading-allocation-summary{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;line-height:1.6;margin:18px 0}.grading-allocation-summary>span:last-child{flex-basis:100%;color:#53685e}.grading-structure-actions{display:flex;gap:10px;flex-wrap:wrap}.grading-replace{display:flex;gap:8px;font-size:12px;margin:16px 0}.grading-replace input{width:auto}#staff-gradebook-content .gradebook-weight-card{margin-top:0}.grading-category input:disabled,.grading-category select:disabled{color:#43574d;opacity:1}@media(max-width:850px){.grading-category-fields,.grading-subcategory-head{grid-template-columns:minmax(0,1fr)}.grading-assign-controls{grid-template-columns:minmax(0,1fr)}.grading-category>summary{align-items:flex-start;flex-direction:column}}[data-grading-status]{margin:15px 0 0;line-height:1.6}
.content-grid+[data-dashboard-announcements]{margin-top:28px}.grading-share-control{max-width:175px;min-width:125px;padding:8px;border-radius:8px}.grading-share-control.is-manual{background:#fff1d6;box-shadow:inset 3px 0 #cb8c23}.grading-share-control small{font-size:10px;color:#53685e}.grading-share-control.is-manual small{color:#805008;font-weight:700}.grading-share-control .secondary-button{padding:5px 7px;font-size:10px}.grading-assigned-list li>span:first-child{flex:1;min-width:90px}.workspace-dialog{max-width:980px;width:min(96vw,980px)}.workspace-form{display:grid;gap:15px}.workspace-form label{display:grid;gap:6px;font-size:12px}.workspace-form input,.workspace-form select{padding:10px;border:1px solid var(--line);border-radius:7px;max-width:100%;font:inherit}.workspace-form input[type=color]{width:72px;height:40px;padding:3px}.workspace-form p{font-size:12px;line-height:1.6}.workspace-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.workspace-card-actions button{padding:7px 9px;font-size:11px}.assignment-hub-card{min-width:0}.assignment-hub-card small{display:block}.practice-set-card{display:block}.practice-set-card p{font-size:12px;color:var(--muted);line-height:1.6}.practice-set-card .section-heading{margin-bottom:12px}[data-semester-selector]:not(button){display:block;font-size:11px;margin-top:5px;color:var(--green)}[data-live-calendar]>small{display:block;line-height:1.6;margin-top:12px;font-size:10px}.date-button[hidden]{display:none!important}@media(max-width:600px){.grading-assigned-list li{flex-wrap:wrap}.grading-share-control{max-width:100%;width:100%}.practice-set-card .section-heading{display:block}}
.player-practice-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:18px;margin-top:24px;border:1px solid var(--line);border-radius:12px;background:#f4f8f4}.player-practice-footer>div{flex:1;min-width:190px}.player-practice-footer small{display:block;line-height:1.6;color:var(--muted)}.player-practice-footer [data-practice-score]{font-size:13px;color:var(--green);line-height:1.6}.player-practice-footer [data-practice-redo-confirm]{flex-basis:100%;padding:14px;border:1px solid #d9bb78;border-radius:9px;background:#fff8e8;line-height:1.6}.player-practice-footer [data-practice-redo-confirm][hidden]{display:none}.player-practice-footer [data-practice-redo-confirm] button{margin:4px 8px 4px 0}.player-practice-footer [data-practice-redo-status]{flex-basis:100%;margin:0;font-size:12px;color:var(--green)}
