/* v40.28: consistent application surfaces; worksheet page overlays remain isolated. */
body.app28{--app-line:#45606d;--app-muted:#b8c8d1;--accent:var(--color-accent);background:#1d323d!important;color:#eef4f7!important;color-scheme:dark;margin:0!important;font-family:Manrope,Arial,sans-serif!important}
body.app28::before,body.app28::after{display:none!important}
body.app28 *,body.app28 *::before,body.app28 *::after{box-sizing:border-box}
body.app28 .topbar{position:relative!important;inset:auto!important;display:flex!important;align-items:center!important;gap:12px!important;margin:0!important;padding:12px 22px!important;width:100%!important;max-width:none!important;min-height:72px;border:0!important;border-bottom:1px solid var(--app-line)!important;border-radius:0!important;background:#203641!important;box-shadow:none!important;overflow:visible!important;z-index:80}
body.app28 .topbar .brand{font-size:22px!important;white-space:nowrap}
body.app28 :is(.teacher-account,.student-account){margin-left:auto!important;display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
body.app28 .teacher-role{display:none!important}
body.app28 :is(.teacher-sidebar,.student-sidebar){position:absolute!important;top:72px!important;left:0!important;width:215px!important;padding:14px!important;margin:0!important;border:0!important;border-right:1px solid var(--app-line)!important;border-radius:0!important;background:#1a2f39!important;box-shadow:none!important;min-height:calc(100vh - 72px)}
body.app28 :is(.teacher-sidebar,.student-sidebar) a{display:flex!important;align-items:center!important;gap:10px!important;padding:10px 8px!important;margin:2px 0!important;border:0!important;border-radius:6px!important;box-shadow:none!important;background:transparent!important;font-size:13px!important;line-height:1.4!important;color:#dce8ef!important}
body.app28 :is(.teacher-sidebar,.student-sidebar) a[aria-current=page]{background:#74304966!important;color:white!important}
body.app28 .teacher-sidebar>p{font-size:10px!important;color:#b6a6b0!important;margin:18px 8px 5px!important;letter-spacing:1px}
body.app28 :is(.teacher-sidebar,.student-sidebar) svg{width:22px!important;height:22px!important;flex:0 0 22px!important}
body.app28 .student-sidebar a small{display:none!important}
body.app28 .student-sidebar a strong{font-size:13px!important}
body.app28 :is(.primary-student-nav){display:block!important}
body.app28 .shell{margin:0!important;padding:24px!important;width:auto!important;max-width:none!important;background:transparent!important;box-shadow:none!important;border:0!important;min-width:0}
body.app28:is(.teacher-layout,.student-layout)>.shell{margin-left:215px!important}
body.app28 :is(.panel,.theme-panel,.dashboard-pane,.work-card,.diag-card,.catalog-row,.timeline-row,.ws-panel,.ws-card){background:#283e4a!important;border:1px solid var(--app-line)!important;border-radius:9px!important;box-shadow:none!important;backdrop-filter:none!important;min-width:0}
body.app28 :is(h1,.page-title){font-size:28px!important;line-height:1.25!important;letter-spacing:-.5px;margin:0 0 8px!important}
body.app28 h2{font-size:19px!important}body.app28 h3{font-size:16px!important}
body.app28 :is(.page-sub,.hint,small){color:var(--app-muted)}
body.app28 :is(.btn-primary,.btn-ghost,.btn-secondary,.theme-action){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px!important;padding:8px 12px!important;border-radius:7px!important;font-size:13px!important;line-height:1.3!important;box-shadow:none!important;white-space:normal;word-break:normal!important;overflow-wrap:normal!important}
body.app28 .btn-primary{background:var(--color-accent)!important;border:1px solid #cb4976!important;color:#fff!important}
body.app28 :is(.btn-ghost,.btn-secondary){background:#ffffff03!important;color:#e3edf3!important;border:1px solid var(--app-line)!important}
body.app28 :is(input,select,textarea){background:#1c303a!important;color:#eef4f7!important;border-color:var(--app-line)!important;min-width:0;max-width:100%}
body.app28 :is(button,a,summary):focus-visible{outline:2px solid #f3acc5;outline-offset:3px}
body.app28 .person-avatar{aspect-ratio:1!important;flex-shrink:0!important;padding:0!important;overflow:hidden!important;border-radius:50%!important}
body.app28 .topbar .person-avatar{display:inline-flex!important;align-items:center;justify-content:center;width:32px!important;height:32px!important;min-width:32px!important;max-width:32px!important;min-height:32px!important;max-height:32px!important;flex:0 0 32px!important;font-size:23px!important}
body.app28 .person-avatar img{width:100%!important;height:100%!important;object-fit:cover!important}
body.app28 .profile28{position:relative;margin:0!important;border:0!important;padding:0!important;background:none!important}
body.app28 .profile28>summary{display:flex;gap:7px;align-items:center;list-style:none;border:1px solid var(--app-line);border-radius:8px;padding:4px 8px;min-height:44px;font-size:13px;cursor:pointer}
body.app28 .profile28>summary::-webkit-details-marker{display:none}
body.app28 .profile28-items{position:absolute;right:0;top:calc(100% + 8px);width:210px;max-width:calc(100vw - 24px);padding:8px;background:#253e4b;border:1px solid var(--app-line);border-radius:8px;box-shadow:0 12px 24px #0006;z-index:120}
body.app28 .profile28-items>*{display:flex!important;width:100%!important;margin:4px 0!important;justify-content:flex-start!important}
body.app28 .profile28-items .person-avatar{display:none!important}
body.app28 .teacher-overview{display:flex!important;flex-wrap:wrap!important;gap:18px!important}
body.app28 .teacher-overview-column{display:contents!important}
body.app28 :is(.teacher-review-card,.teacher-schedule){flex:1 1 320px!important;padding:18px!important}
body.app28 .teacher-students{flex:1 0 100%!important;order:3;display:block!important;padding:16px!important;overflow:visible!important}
body.app28 .teacher-quick{order:4;flex:1 0 100%;display:flex!important;flex-wrap:wrap;gap:10px;padding:10px!important}
body.app28 .teacher-quick h2{display:none!important}
body.app28 .teacher-quick .theme-action{flex:1 1 150px;margin:0!important;background:none!important;border:0!important;text-align:left}
body.app28 .students28-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
body.app28 .students28-heading h2{margin:0!important;margin-right:auto!important}
body.app28 .students28-heading input{width:220px!important;margin:0!important;min-height:40px}
body.app28 .students28-heading #manage-toggle{margin:0!important;align-self:center!important}
body.app28 #student-list{display:flex!important;flex-wrap:nowrap!important;gap:10px!important;overflow-x:auto!important;border-radius:0!important;mask:none!important;clip-path:none!important;padding:4px 2px 10px!important;margin:0!important}
body.app28 #student-list .student-pill{flex:0 0 160px!important;display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;padding:10px!important;border-radius:8px!important;text-align:left!important;min-height:64px!important}
body.app28 #student-list .student-pill>div{min-width:0}
body.app28 #student-list .person-avatar{width:38px!important;height:38px!important;min-width:38px!important;font-size:26px!important}
body.app28 .teacher-workspace{display:block!important;margin-top:18px!important}
body.app28 .selected-student-bar{position:static!important;display:flex!important;align-items:center!important;gap:12px!important;padding:14px!important;margin:0 0 12px!important;background:#243d49!important;border:1px solid var(--app-line)!important;border-radius:8px!important}
body.app28 .selected-student-actions{display:flex!important;gap:8px!important;margin-left:auto!important;flex-wrap:wrap;justify-content:flex-end}
body.app28 .selected-student-bar strong{font-size:22px!important}
body.app28 .feed-grid{display:block!important}
body.app28 .row28{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;align-items:center!important;gap:6px 12px!important;padding:14px!important;margin:8px 0!important;width:100%!important;min-width:0!important}
body.app28 .row28>.row28-icon{grid-column:1;grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;background:#57465f66;border-radius:7px;align-self:center}
body.app28 .row28-icon svg{width:23px;height:23px}
body.app28 .row28>.row28-copy{grid-column:2;grid-row:1/3;min-width:0;overflow-wrap:break-word}
body.app28 .row28-copy :is(h3,p,small){margin:3px 0!important;line-height:1.4!important}
body.app28 .row28-copy small{display:block;font-size:12px!important}
body.app28 .row28>.row28-actions{grid-column:3;grid-row:2;display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;max-width:340px;margin:0!important}
body.app28 .row28>.row28-state{grid-column:3;grid-row:1;justify-self:end;margin:0!important;font-size:11px!important;padding:3px 8px!important;border-radius:6px;max-width:200px;line-height:1.4;background:#63ad9220;color:#b2e4cd;border:1px solid #5c9d8360}
body.app28 .row28 :is(.compact-icon,.task-remove){width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;padding:9px!important;flex:0 0 40px!important;aspect-ratio:1!important}
body.app28 .row28-actions svg{width:20px;height:20px}
body.app28 .row28>.row28-extra,body.app28 .row28>.work-controls{grid-column:1/-1!important;min-width:0!important;width:100%!important}
body.app28 .row28>.embedded-game{grid-column:1/-1!important;width:100%!important;min-width:0!important;margin:4px 0 0!important;background:none!important;border:0!important;padding:0!important}
body.app28 .embedded-game>summary{display:table!important;width:auto!important;max-width:100%;margin-left:auto!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;min-height:40px!important;padding:8px 12px!important;border:1px solid var(--app-line)!important;background:#344f5d!important;color:#eef4f7!important;border-radius:7px!important;font-size:13px!important;line-height:1.5!important}
body.app28 .embedded-game iframe{display:block;width:100%!important;max-width:100%;min-height:420px;margin-top:12px;border:0}
body.app28 .catalog-row{display:grid!important;grid-template-columns:40px minmax(180px,1fr) auto!important;align-items:center!important;gap:12px!important;padding:16px!important}
body.app28 .catalog-row h3{margin:0!important;word-break:normal!important;overflow-wrap:break-word!important;min-width:0}
body.app28 .catalog-tools{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;gap:6px!important;margin:0!important;max-width:680px}
body.app28 .catalog-row>.private-files-preview,body.app28 .catalog-row>p{grid-column:2/-1;min-width:0}
body.app28 .catalog-tools :is(button,a,select){width:auto!important;min-width:0!important;max-width:100%;margin:0!important;min-height:40px}
body.app28 .private-files-preview{overflow-wrap:anywhere}
body.app28 .work-actions{display:flex!important;flex-wrap:wrap!important;gap:6px!important;justify-content:flex-end!important}
body.app28 .dates28{font-size:12px;grid-column:1/-1;margin:6px 0;color:var(--app-muted)}
body.app28 .timeline-filters{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;gap:12px!important;align-items:end}
body.app28 .timeline-filters label{min-width:0!important;margin:0!important}
body.app28 .timeline-filters :is(input,select){width:100%!important;min-width:0!important;max-width:100%!important}
body.app28 .timeline-row{grid-template-columns:minmax(0,1fr) auto!important;gap:4px 12px!important;padding:14px!important;align-items:center!important}
body.app28 .timeline-type{grid-column:1;font-size:11px!important}
body.app28 .timeline-row>div{grid-column:1;min-width:0}
body.app28 .timeline-row>.btn-ghost{grid-column:2;grid-row:1/3;justify-self:end!important;font-size:12px!important;max-width:140px}
body.app28 .notice-toolbar{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
body.app28 #notices-status{flex:1 1 200px!important;margin:0!important}
body.app28 .notice-settings{margin:0!important}
body.app28 #notices-refresh{width:40px;height:40px;padding:9px!important}
body.app28 #notices-refresh svg{width:22px;height:22px}
body.app28 .notice-settings-content{max-width:calc(100vw - 24px)}
body.app28 .word-resume button{width:auto!important;min-height:42px!important;padding:10px 14px!important;background:var(--color-accent)!important;border:1px solid #cb4976!important;border-radius:7px!important;color:white!important;font-size:14px!important}
body.app28 .bottom28{display:none}
body.app28 .teacher-sidebar .site28{position:static!important;inset:auto!important;transform:none!important;margin:18px 0!important;padding:0!important;max-width:100%!important}
body.app28 .site28 nav{position:static!important;background:transparent!important;box-shadow:none!important;padding:0!important}
body.app28.teacher-layout .homework-chat-bubble{display:none!important}
body.app28 .student-bottom-nav{background:#203641!important;border-top:1px solid var(--app-line)!important}
body.app28 .student-bottom-nav .nav-icon{display:flex!important;align-items:center;justify-content:center;white-space:nowrap!important;width:24px!important;height:24px!important;font-size:20px!important}
body.app28.chat-screen>.shell{margin:0!important;padding:12px!important}
body.app28.chat-screen :is(.teacher-sidebar,.student-sidebar,.bottom28){display:none!important}
body.app28 .back28{flex-shrink:0}
@media(max-width:1100px){body.app28 .catalog-row{grid-template-columns:36px minmax(0,1fr)!important}body.app28 .catalog-tools{grid-column:2/-1!important;max-width:none}body.app28 .row28-actions{max-width:220px!important}}
@media(max-width:700px){
body.app28 .topbar{min-height:64px!important;padding:10px!important;gap:6px!important}
body.app28 .topbar .brand{font-size:17px!important}
body.app28 :is(.teacher-account,.student-account){gap:5px!important}
body.app28 .notification-bell{width:36px!important;height:40px!important;padding:6px!important}
body.app28:is(.teacher-layout,.student-layout)>.shell,body.app28 .shell{margin-left:0!important;padding:16px 12px 100px!important}
body.app28 .teacher-sidebar{display:none!important;position:fixed!important;top:64px!important;bottom:74px!important;left:8px!important;width:calc(100% - 16px)!important;min-height:0!important;overflow-y:auto!important;z-index:90;border:1px solid var(--app-line)!important;border-radius:8px!important}
body.app28 .teacher-sidebar.is-open{display:block!important}
body.app28 .student-sidebar{display:none!important}
body.app28 .bottom28{position:fixed;bottom:0;left:0;right:0;display:flex!important;background:#203641;border-top:1px solid var(--app-line);padding:8px 4px calc(8px + env(safe-area-inset-bottom));z-index:100;gap:3px}
body.app28 .bottom28>*{display:flex!important;flex:1!important;min-width:0!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;padding:4px!important;font-size:10px!important;line-height:1.3!important;background:transparent!important;border:0!important;border-radius:0!important;color:#dce8ee!important;text-decoration:none!important;margin:0!important}
body.app28 .bottom28 svg{width:24px!important;height:24px!important;flex-shrink:0}
body.app28 .students28-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
body.app28 .students28-heading h2{grid-column:1;grid-row:1;font-size:17px!important}
body.app28 .students28-heading #manage-toggle{grid-column:2;grid-row:1;max-width:160px;font-size:11px!important}
body.app28 .students28-heading input{grid-column:1/-1;width:100%!important}
body.app28 .teacher-students{padding:12px!important}
body.app28 .selected-student-bar{align-items:center!important;gap:8px!important;padding:10px!important}
body.app28 .selected-student-bar strong{font-size:19px!important}
body.app28 .selected-student-bar small{display:none!important}
body.app28 .selected-student-actions{gap:5px!important;max-width:180px}
body.app28 .selected-student-actions button{font-size:11px!important;min-height:36px!important;padding:6px 9px!important}
body.app28 .row28{grid-template-columns:32px minmax(0,1fr) auto!important;gap:5px 8px!important;padding:10px!important}
body.app28 .row28>.row28-icon{width:32px;height:32px;align-self:start;grid-row:1}
body.app28 .row28>.row28-copy{grid-column:2;grid-row:1/3}
body.app28 .row28-copy h3{font-size:14px!important}
body.app28 .row28-copy :is(p,small){font-size:11px!important}
body.app28 .row28>.row28-actions{max-width:130px!important;gap:5px;align-self:center}
body.app28 .row28-actions :is(a,button){font-size:11px!important;padding:7px 9px!important;min-height:40px!important}
body.app28 .row28>.row28-state{max-width:120px;font-size:10px!important}
body.app28 .row28 :is(.compact-icon,.task-remove){padding:9px!important}
body.app28 .timeline-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
body.app28 .timeline-row>.btn-ghost{max-width:105px;font-size:11px!important}
body.app28 .catalog-row{padding:12px!important}
body.app28 .catalog-tools{grid-column:1/-1!important}
body.app28 #notices-status{flex-basis:100%!important}
body.app28 #notices-read-all{margin-left:auto;font-size:12px!important}
body.app28 .notice-toolbar{justify-content:flex-end!important}
body.app28.chat-screen .topbar .brand{display:none!important}
body.app28 h1{font-size:25px!important}
}
body.app28 .app-nudge{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;background:#293f4a!important;border:1px solid var(--app-line)!important;border-radius:8px!important;padding:12px!important;margin:0 0 18px!important;box-shadow:none!important}
body.app28 .app-nudge strong{font-size:15px}body.app28 .app-nudge p{font-size:12px;margin:4px 0;color:var(--app-muted)}body.app28 .nudge-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
body.app28 .lesson-pane{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:7px 14px;align-items:center;padding:14px!important}
body.app28 .lesson-pane>.eyebrow{display:none!important}
body.app28 .lesson-pane h2{grid-column:1;margin:0!important;font-size:17px!important}
body.app28 #lesson-status{grid-column:1;margin:0!important;font-size:13px;color:var(--app-muted)}
body.app28 #lesson-content{grid-column:1/-1;min-width:0}body.app28 #lesson-content:empty{display:none}
body.app28 .lesson-pane>.quiet-link{grid-column:2;grid-row:1/3;justify-self:end;margin:0!important;font-size:12px;text-align:right;max-width:120px}
body.app28 .collection-grid>button{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:7px!important;text-align:left!important;padding:16px!important;border-radius:8px!important;background:#293f4a!important;border:1px solid var(--app-line)!important}
body.app28 .collection-grid strong{font-size:18px!important;line-height:1.4!important}body.app28 .collection-grid small{font-size:12px!important;line-height:1.5!important}
body.app28.app28 #student-list{flex-direction:row!important;align-items:stretch!important;max-height:none!important;height:auto!important}
body.app28.app28 #student-list .student-pill{width:160px!important;height:68px!important;min-height:68px!important;max-height:68px!important;flex:0 0 160px!important;flex-direction:row!important;justify-content:flex-start!important}
body.app28.app28 .row28>.row28-icon{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;max-width:38px!important;max-height:38px!important;align-self:center!important;grid-row:1/3!important}
body.app28.app28 .row28>.row28-copy{align-self:center!important}
body.app28 .teacher-assignment-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 0}
body.app28 .teacher-assignment-row>[data-open-assignment]{min-width:0!important;width:100%!important;padding:12px!important;text-align:left!important}
body.app28 .teacher-assignment-row>.task-remove{width:40px!important;height:40px!important;min-height:40px!important;padding:9px!important}
body.app28 .student-dashboard-grid{display:grid!important;grid-template-columns:minmax(0,1fr) 320px;gap:18px!important;align-items:start}
body.app28 .lesson-pane{grid-column:1/-1!important;grid-row:1!important}
body.app28 .homework-pane{grid-column:1!important;grid-row:2/4!important;padding:14px!important}
body.app28 .feedback-pane{grid-column:2!important;grid-row:2!important;padding:16px!important}
body.app28 .student-dashboard-grid>#dashboard{grid-column:2!important;grid-row:3!important}
body.app28 .student-bottom-nav{left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:none!important;border-radius:0!important;transform:none!important;box-shadow:none!important;margin:0!important;padding:8px 4px calc(8px + env(safe-area-inset-bottom))!important}
body.app28 .student-bottom-nav .more-toggle .nav-icon{letter-spacing:2px!important;line-height:1!important;font-size:16px!important}
@media(max-width:1000px){body.app28 .student-dashboard-grid{grid-template-columns:minmax(0,1fr)!important}body.app28 .student-dashboard-grid>*{grid-column:1!important;grid-row:auto!important}body.app28 .lesson-pane{order:-1}body.app28 .student-dashboard-grid>#dashboard{order:5}}
@media(max-width:700px){body.app28.app28 .row28>.row28-icon{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important}body.app28 .row28>.row28-copy{grid-column:2!important}body.app28 .row28>.row28-actions{grid-column:3!important}}
body.app28.app28 .row28>.row28-actions{display:flex!important;flex-direction:row!important;width:auto!important;min-width:0!important;justify-content:flex-end!important;grid-column:3!important;grid-row:2!important}
body.app28.app28 .row28-actions>:is(a,button){width:auto!important;flex:0 0 auto!important;max-width:100%!important;margin:0!important}
body.app28 .page-head{padding:0!important;margin:0 0 20px!important;min-height:0!important}
body.app28 .students28-heading .search28{width:40px!important;height:40px!important;padding:8px!important}
body.app28 .search28 svg{width:22px;height:22px}
body.app28 .students28-heading input{flex-basis:100%;width:100%!important}
body.app28 .row28[data-review-state=reviewed]>.row28-state{background:#7395ad20;color:#c4ddec;border-color:#7395ad60}
body.app28 .row28[data-review-state=submitted]>.row28-state{background:#c5a65a20;color:#f5d898;border-color:#c5a65a60}
body.app28 .row28[data-review-state=revision]>.row28-state{background:#cb719820;color:#f2b7d0;border-color:#cb719860}
body.app28.compact-login .login-card{background:#283e4a!important;border:1px solid var(--app-line)!important;border-radius:10px!important;box-shadow:none!important}
body.app28.compact-login .login-loading{background:transparent!important;box-shadow:none!important;border:0!important}
@media(max-width:700px){body.app28 .students28-heading{grid-template-columns:minmax(0,1fr) 40px auto}body.app28 .students28-heading .search28{grid-column:2;grid-row:1}body.app28 .students28-heading #manage-toggle{grid-column:3;max-width:140px}body.app28 .students28-heading input{grid-column:1/-1}}
@media(max-width:1000px){body.app28.app28 .student-dashboard-grid{display:flex!important;flex-direction:column!important;align-items:stretch!important}body.app28.app28 .student-dashboard-grid>*{width:100%!important;max-width:none!important;min-width:0!important;align-self:stretch!important}}
body.app28 .work-controls>p:empty{display:none!important}body.app28 .work-controls:empty{display:none!important}
body.app28 .row28>.work-controls{margin:0!important;padding:0!important}
body.app28 .row28 .dates28{font-size:11px!important;margin:5px 0!important}
body.app28 .catalog-row>.catalog-tools{grid-column:3;grid-row:1}
@media(max-width:1100px){body.app28 .catalog-row>.catalog-tools{grid-column:2/-1!important;grid-row:auto!important}}
@media(max-width:700px){body.app28 .catalog-row>.catalog-tools{grid-column:1/-1!important}}
body.app28 .teacher-assignment-row>[data-open-assignment]{display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;gap:8px!important;align-items:center!important}
body.app28 .assignment28-icon{grid-column:1;grid-row:1/4;display:grid;place-items:center;width:32px;height:32px;border-radius:7px;background:#57465f66}
body.app28 .assignment28-icon svg{width:22px;height:22px}
body.app28 .teacher-assignment-row .item-main{grid-column:2;min-width:0}
body.app28 .teacher-assignment-row .status{grid-column:2;justify-self:end}
body.app28 .diag-library{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
body.app28 .diag-library>article{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center;gap:4px 12px!important;padding:14px!important}
body.app28 .diag-library>article>:not(button){grid-column:1;min-width:0;margin:3px 0!important}
body.app28 .diag-library>article>button{grid-column:2;grid-row:1/4;justify-self:end}
body.app28 .teacher-assignment-row .item-right{grid-column:2;justify-self:end;text-align:right;min-width:0}
body.app28 .private-files-preview:empty{display:none!important}
body.app28.student-layout .work-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px 12px!important;padding:14px!important;align-items:center}
body.app28.student-layout .work-card>:is(h2,small,.homework-due){grid-column:1;margin:0!important}
body.app28.student-layout .work-card>.work-actions{grid-column:2;grid-row:1/4;max-width:230px;margin:0!important}
body.app28.student-layout .work-card>:is(.feedback-note,.work-history){grid-column:1/-1}
@media(max-width:700px){body.app28.student-layout .work-card>.work-actions{max-width:125px}body.app28.student-layout .work-actions>:is(a,button){font-size:11px!important;min-height:40px!important;padding:7px 9px!important}body.app28.student-layout .work-card h2{font-size:16px!important}}
/* v40.29: explicit component boundaries and quieter secondary controls. */
html:has(body.app28){background:#1d323d!important;min-height:100%}
body.app28:not(.chat-screen){min-height:100vh;min-height:100dvh}
body.app28.teacher-layout .site-navigation{display:none!important}
body.app28 .diag-library{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))!important;gap:12px!important;max-width:1100px}
body.app28 .diag-library>article{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important;padding:16px!important}
body.app28 .diag-library>article>h3{font-size:16px!important;line-height:1.4!important}
body.app28 .diag-library>article>p{font-size:13px!important;color:var(--app-muted)}
body.app28 .diag-library>article>button{margin-top:auto!important;align-self:flex-end!important;min-height:36px!important;padding:7px 12px!important}
body.app28.chat-screen .chat-layout{grid-template-columns:260px minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;min-height:0!important}
body.app28.chat-screen .chat-layout>aside{grid-column:1!important;grid-row:1!important;min-width:0!important}
body.app28.chat-screen .chat-main{grid-column:2!important;grid-row:1!important;min-width:0!important;width:100%!important;margin:0!important;border-radius:9px!important}
body.app28.chat-screen #chat-form{flex:none!important;width:100%!important}
body.app28.chat-screen #chat-text{width:100%!important;min-width:0!important}
@media(min-width:881px){body.app28.chat-screen .chat-picker{display:none!important}}
@media(max-width:880px){body.app28.chat-screen .chat-layout{display:flex!important;flex-direction:column!important}body.app28.chat-screen .chat-picker{display:flex!important;flex:none!important}body.app28.chat-screen .chat-main{flex:1!important;min-height:0!important}body.app28.chat-screen .chat-layout>aside:not(.is-open){display:none!important}}
body.app28 [data-review-state=assigned] :is(.row28-state,.status-badge,.badge){background:#d8a84a20!important;color:#f3d389!important;border:1px solid #bb974860!important}
body.app28 [data-review-state=reviewed] :is(.row28-state,.status-badge,.badge){background:#63ad9220!important;color:#a8e1c5!important;border:1px solid #5c9d8360!important}
body.app28 [data-review-state=submitted] :is(.row28-state,.status-badge,.badge){background:#719dc520!important;color:#b5d8f8!important;border:1px solid #719dc560!important}
body.app28 .vocab-view-tabs{display:flex!important;gap:4px!important;border-bottom:1px solid var(--app-line);margin:12px 0!important}
body.app28 .vocab-view-tabs>button{background:transparent!important;border:0!important;border-radius:0!important;font-size:12px!important;padding:8px!important;min-height:40px!important;color:var(--app-muted)!important}
body.app28 .vocab-view-tabs>button[aria-pressed=true]{border-bottom:2px solid #ed9fbc!important;color:#fff!important}
body.app28 :is(#all,#none){font-size:11px!important;background:none!important;border-color:transparent!important;padding:6px!important;min-height:40px!important;width:auto!important}
body.app28 .collection-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))!important;gap:10px!important}
body.app28 .collection-grid>button{padding:12px!important;gap:3px!important}
body.app28 .collection-grid>button[aria-pressed=true]{border-color:#ed9fbc!important;background:#354853!important}
body.app28 #count{font-size:12px!important;color:var(--app-muted);margin:8px 0!important}
body.app28 .timeline-filters{gap:8px!important;margin:14px 0!important;max-width:780px}
body.app28 .timeline-filters label{font-size:12px!important}
body.app28 .timeline-filters :is(select,input){font-size:13px!important;min-height:40px!important;height:40px!important;padding:6px 9px!important;margin-top:4px!important}
body.app28 .timeline-filters button{font-size:11px!important;min-height:36px!important;justify-self:end;width:auto!important;padding:6px 10px!important}
body.app28 .timeline-row{padding:10px 12px!important;margin:7px 0!important}
body.app28 .timeline-row :is(h2,h3){font-size:16px!important;margin:3px 0!important}
body.app28 .timeline-row>.btn-ghost{background:transparent!important;border-color:transparent!important;min-height:40px!important;padding:5px 8px!important}
body.app28 .timeline-row>.btn-ghost:hover{border-color:var(--app-line)!important}
body.app28 .timeline-type{font-size:10px!important;color:var(--app-muted)!important}
body.app28 .material-dialog29{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;background:#283e4a;color:#eef4f7;border:1px solid var(--app-line);border-radius:10px;padding:20px}
body.app28 .material-dialog29::backdrop{background:#07131bbb}
body.app28 .material-dialog29 input{width:100%}
body.app28 .location29{border:1px solid var(--app-line);border-radius:7px;padding:12px;margin:12px 0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
body.app28 .location29 legend{font-size:12px;color:var(--app-muted)}
body.app28 .location29 label{font-size:12px;min-width:0;margin:0}
body.app28 .location29 select{width:100%;font-size:13px;min-height:40px}
body.app28 .location29 p{grid-column:1/-1;font-size:12px;margin:0}
body.app28 .edit29{width:40px!important;height:40px!important;min-height:40px!important;padding:10px!important;flex:0 0 40px!important}
body.app28 .edit29 svg{width:18px;height:18px}
body.app28 .linked29{display:flex;align-items:center;gap:8px;padding:10px!important}
body.app28 .linked29 strong{flex:1;min-width:0;overflow-wrap:anywhere}
body.app28 .word-history29{background:none!important;border:0!important;border-top:1px solid var(--app-line)!important;border-radius:0!important;padding:12px 0!important;margin-top:16px!important;font-size:12px!important}
body.app28 .word-history29>summary{font-size:12px!important;font-weight:400!important;color:var(--app-muted)!important}
body.app28 .teacher-assignment-row{grid-template-columns:minmax(0,1fr) 40px 40px!important}
body.app28 .teacher-assignment-row>button:not(.task-remove):not(.edit29){grid-column:2/-1;justify-self:end}
body.app28 .work-card>.edit29{justify-self:end}
body.app28.app28 .teacher-assignment-row{display:grid!important;grid-template-columns:minmax(0,1fr) 40px 40px!important;grid-template-rows:auto!important;width:100%!important;min-width:0!important;align-items:center!important;gap:8px!important}
body.app28.app28 .teacher-assignment-row>[data-open-assignment]{grid-column:1!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important}
body.app28.app28 .teacher-assignment-row>.task-remove{grid-column:2!important;grid-row:1!important}
body.app28.app28 .teacher-assignment-row>.edit29{grid-column:3!important;grid-row:1!important}
body.app28.app28 .teacher-assignment-row>button:not([data-open-assignment]):not(.task-remove):not(.edit29){grid-column:2/-1!important;grid-row:2!important;justify-self:end!important}
body.app28 [data-task-root29]{display:flex;flex-direction:column;align-items:stretch}
body.app28 [data-task-root29]>.list{display:contents!important}
body.app28 [data-task-root29]>.list>section{order:1}
body.app28 [data-task-root29]>section{order:2}
body.app28 [data-task-root29]>.list>[data-group29=reviewed]{order:10;margin-top:16px}
body.app28.app28 .teacher-assignment-row{background:#283e4a!important;border:1px solid var(--app-line)!important;border-radius:9px!important;padding:10px!important;margin:8px 0!important}
body.app28.app28 .teacher-assignment-row>[data-open-assignment]{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important}
body.app28 [data-review-state=assigned] .diag-result{background:#d8a84a20!important;color:#f3d389!important}
body.app28 [data-review-state=reviewed] .diag-result{background:#63ad9220!important;color:#a8e1c5!important}
body.app28 [data-review-state=submitted] .diag-result{background:#719dc520!important;color:#b5d8f8!important}
/* v40.30: align only the reported components; preserve the library's light surfaces. */
body.app28.app28 .teacher-assignment-row.assignment30{grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;gap:6px 12px!important;padding:14px!important}
body.app28.app28 .assignment30>[data-open-assignment]{grid-column:1!important;grid-row:1/3!important;align-self:center!important}
body.app28.app28 .assignment30>.assignment-state30{grid-column:2!important;grid-row:1!important;justify-self:end!important;align-self:center!important;margin:0!important;font-size:11px!important;font-weight:400!important;padding:3px 8px!important;border-radius:6px!important;line-height:1.4!important;max-width:160px}
body.app28.app28 .assignment30>.assignment-actions30{grid-column:2!important;grid-row:2!important;display:flex!important;gap:6px!important;justify-content:flex-end!important;align-items:center!important;flex-wrap:wrap!important;max-width:340px}
body.app28.app28 .assignment30 .item-right{display:block!important;text-align:left!important;margin:5px 0 0!important;font-size:12px!important;color:var(--app-muted)!important}
body.app28 .assignment-actions30>.task-remove{width:40px!important;height:40px!important;padding:9px!important;min-height:40px!important}
body.app28 .assignment-actions30 svg{width:20px;height:20px}
body.app28.app28 .work-card.work30{display:grid!important;grid-template-columns:24px minmax(0,1fr) auto!important;gap:6px 12px!important;align-items:center!important;padding:16px!important}
body.app28.app28 .work30>*{grid-column:2/-1!important;grid-row:auto!important;margin:0!important;min-width:0}
body.app28.app28 .work30>small{grid-column:2!important;grid-row:1!important}
body.app28.app28 .work30>h2{grid-column:2!important;grid-row:2!important;align-self:center!important}
body.app28.app28 .work30>.work-select{grid-column:1!important;grid-row:2!important;position:static!important;padding:0!important;align-self:center!important}
body.app28.app28 .work30>.work-actions{grid-column:3!important;grid-row:2!important;align-self:center!important;max-width:460px!important;display:flex!important;align-items:center!important;gap:6px!important}
body.app28.app28 .work30>.work-actions>*{margin:0!important;position:static!important;align-self:center!important}
body.app28.library-page :is(.catalog-layout>nav,.library-card,.library-empty,.library-dialog){background:#f3f6f8!important;color:#303c48!important;border-color:#d4dde4!important;color-scheme:light}
body.app28.library-page :is(.tree-book,.tree-unit,.library-resource){background:transparent!important;color:#303c48!important;border-color:#ccd6df!important}
body.app28.library-page :is(.catalog-layout>nav,.library-card,.library-empty,.library-dialog) :is(p,small,label,h2,h3,h4,strong,summary,.tree-file,.tree-empty){color:#303c48!important;opacity:1!important}
body.app28.library-page :is(.catalog-layout>nav,.library-card,.library-dialog) :is(.btn-ghost,.btn-secondary,a:not(.btn-primary)){background:transparent!important;color:#344f60!important;border-color:#98aeba!important}
body.app28.library-page :is(.catalog-layout>nav,.library-card,.library-dialog) :is(input,select,textarea){background:#fff!important;color:#303c48!important;border-color:#98aeba!important;color-scheme:light}
body.app28.library-page .library-dialog .dialog-actions{background:transparent!important}
body.app28.library-page .tree-book[open]>summary,body.app28.library-page .tree-unit[open]>summary{background:#8000200d!important;color:#800020!important}
body.app28.library-page .library-card .library-error,body.app28.library-page .library-dialog .library-error{color:#92233f!important}
@media(max-width:700px){body.app28.app28 .assignment30>.assignment-actions30{max-width:130px!important}body.app28.app28 .assignment30>.assignment-state30{font-size:10px!important;max-width:120px}body.app28.app28 .work30>.work-actions{max-width:130px!important}body.app28.app28 .work30>.work-actions :is(button,a){font-size:11px!important;padding:7px 9px!important}body.app28.app28 .work-card.work30{grid-template-columns:20px minmax(0,1fr) auto!important;gap:6px 8px!important;padding:10px!important}}
body.app28.app28 .teacher-assignment-row.assignment30{grid-template-rows:min-content 1fr!important}
body.app28.app28 .assignment30>.assignment-state30{align-self:start!important}
body.app28.app28 .work30>h2{align-self:start!important;padding-top:8px!important;line-height:24px!important}
body.app28.app28 .work30>.work-actions{align-self:start!important}

.work-event-dates,.work-review-editor{grid-column:1/-1;min-width:0}.work-event-dates summary{cursor:pointer;font-size:14px}.work-event-dates>.work-dates{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0}.work-event-dates>small{display:block;opacity:.7;font-size:12px}.work-review-editor a{display:inline-flex;align-items:center}

/* Equal mobile gutters override the older student dashboard margins. */
@media(max-width:900px){body.glass-cabinet.app28:not(.chat-screen)>.shell{box-sizing:border-box!important;margin-left:0!important;margin-right:0!important;width:100%!important;max-width:100%!important;padding-left:max(16px,env(safe-area-inset-left))!important;padding-right:max(16px,env(safe-area-inset-right))!important}}
